Autor Tópico: Understanding ARM architecture  (Lida 285 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

f0nt_Drk

  • Newbie
  • *
  • Posts: 17
  • Reputa +0/-0
  • lo fece natura, e poi ruppe lo stampo .
    • Ver perfil
    • Masterplan
Understanding ARM architecture
« Online: 03 de Janeiro , 2011, 12:34:31 pm »


Breve Introdução da Arquitetura ARM .

Começando com uma linha basica de raciocinio e ideia vamos iniciar com o simples conceito de sistema operacional, que espero eu, todos já estejam cansados de ouvir, ler e concerteza, saber .
A ARM (antes: Acorn RISC Machine, atualmente: Advanced RISC Machine) é a arquitetura de um processador de 32 bits. Muito famoso por sua carcteristica de oferecer um alto desempenho em pouco espaço requerido pela maquina, Observando isto percebemos a ligaçao entre ARM e RISC (Reduced Instruction Set Computer) que vem a ser um conjunto reduzido de instruções em um computador .
Na epoca do inicio da ARM a maioria dos processadores precisavam de apenas 13 bits para alocar todas as constantes de um programa, mas, se uma vez utilizada em um sistema com 32 bits ela já estaria armazenada em 'cache' para que pudesse ser executada mais rapidamente da proxima vez.
Logo isto define o porque a Arquitetura ARM trabalha com 32 Bits .



Registradores   


Além de Trabalhar também com 16 Registradores que os principais são :

   
  • PSR   Program Status Register
  • SP   Stack Pointer
  • PC   Program Counter
  • LR   Link Register



Declarados como mais principais ainda são os :

  • Link Register (LR) -R14- > Cujo Contém o endereço da proxima instrução a ser executada, após uma sub-rotina - Branch And Link -
  • Program Counter (PC) -R15- > Cujo Contém também o endereço da proxima instrução a ser executada, mas pelo Processador .


Instruções .




Lembre-se que a arquitetura ARM foi desenvolvida para dar mais velocidade e consumir menos energia . Por isso carrega a linha de processadores RISC , que logo recebe o adjetivo de 'Instruções Reduzidas'. Mas tomemos cuidado ao dizer isto, pois quando nos refirimos a Instruçoes Reduzidas, não quer dizer que propriamente ditos os numeros de instruções são menos do que o de um CISC por exemplo, o que acontece é que as instruçoes são executadas com no maximo um ciclo de memoria além de obter muito menos dados carregados nas instruções. Mas muitos RISC's tem até mais instruções que alguns CISC's
Outras caracteristicas das instruções são :

  • Modos de endereçamento Simples.
  • Arquitetura LOAD / STORE, assim as operaçoes interagem com o conteudo dos Registradores, não com o da memoria diretamente
  • Tamanho fixo dos campos das instruções.
  • Instruções múltiplas de LOAD / STORE para melhorar a performace .

Continuando o assunto de Instruções designaremos seus tipos .

Classificando-as em 6 classes, muitas vezes denominadas de "Large Classes"
Instruções de Branch > Troca de fluxos de instruções escrevendo endereços dentro do Program Counter (PC)
Instruções de Processamento de Dados > Responsavel por instrunções logicas . ex : instruçoes aritmeticas . Vejam todas logo mais abaixo :


  • Instruções para tranferencia de registradores de status > Possuem duas, sendo elas : MRS ; MSR, a primeira move um PRS para um de nivel geral, e o segundo faz o contrario .
  • Instruções LOAD / STORE > são divididas em três : faz L/S de um unico registrador ou faz L/S para um Geral e o que troca o endereço do registrador pelo da memoria .
  • Instruções de co-processador > são operações que se iniciam no co-processador que pode trandeferir dados para a memoria e a memoria para ele .
  • Instruções de geraçao de exceções > A instrução SWI realiza uma interrupçao no software muitas vezes uasada para realizar uma chamada ao SO .


Modos de operações da Arquitetura ARM

  • User > Execução comum de programas e com limitações ao acesso dos Registradores .
  • FIQ (Fast Interrupt) > Transferencia Rapida de Dados .
  • IRQ (Interrupt) > Interrupções em Geral.
  • Supervisor > Modo Restrito/Protegido para com o acesso do Sistema Operacional.
  • Abort > Implementa e/ou protege a Memoria Virtual .
  • Undefined > Suporte para emulação de co-processadores .
  • System > A partir da versao quatro a ARM implementou esse modo para executar tarefas de privilegio do Sistema Operacional .





Memoria .
Os processadores ARM foram feitos para serem endereçados de byte em byte .
Além de ser dividida em duas Partes : a RAM e a ROM .
Na primeira e principal é onde tem-se : Cache de instrução e dados separados, ́areas separadas de memoria para instruções e dados, sistema DMA para acessar a memória, buffer de escrita e duas micro-TLBs.






Referencias

http://pt.wikipedia.org/wiki/RISC
http://pt.wikipedia.org/wiki/Arquitetura_ARM
http://books.google.com.br/booksid=vdk4ZGRqMskC&printsec=frontcover&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false



- null -

Fiquem na paz , qualquer duvida, estamos ae !

[]'s
Remember, remember, the 5th of November
The gunpowder treason and plot;
I know of no reason why the gunpowder treason
Should ever be forgot.