INTRODUÇÃO
A arquitetura ARM (Advanced RISC Machines) começou como um projeto em 1983 na Arcon Computers de Cambridge, Inglaterra, para desenvolver um processador que fosse similar ao já usado MOS Technology 6502. O desenvolvimento da primeira versão foi terminado em 1985, chamado ARM1. Esta arquitetura não chegou ao mercado e a Arcon continuou no desenvolvimento, terminando no ano seguinte a segunda versão, chamada de ARM2. Além do 6502, a arquitetura ARM tem uma grande herança do processador Berkeley RISC1, como instruções de tamanho fixo (32 bits), formato das instruções e a arquitetura load-store. Apesar disso, a Arcon optou por ter instruções multi-ciclo, ao contrario do RISC1. Em sua época, o ARM2 era o processador de 32 bits mais simples no mercado, com apenas 30.000 transistores, mas ainda assim superava o desempenho de muitos processadores (RISC ou CISC) mais complexos, como o 286 da Intel.
O desenvolvimento continuou, e o nome original (Arcon RISC Machine) deixado de lado quando a ARM Ltda. Foi criada e assumiu as patentes e o desenvolvimento da arquitetura ARM. A arquitetura já conta com sua 11ª versão (2014), mas as versões antigas ainda são usadas e desenvolvidas, já que o uso de cada família é voltado para um nicho de mercado. Existem também várias extensões especializadas para alguma função ou processamento, como o Jazelle e o Thumb.
PRINCIPAIS CARACTERÍSTICAS DA ARQUITETURA:
• Processador de 32 bits;
• 16 registradores de uso geral;
• Conjunto de instruções extensível com o uso de co-processadores;
• Instruções básicas similares ao 6502;
• Arquitetura de LOAD / STORE. Operações de processamento de dados não operam diretamente com o
conteúdo da memória, somente com o conteúdo de registradores;
• Modos de endereçamento simples, com todos endereços de load / store sendo determinados a partir dos registradores ou pelos campos da instrução;
• Uniformidade e tamanho fixo dos campos das instruções para simplificar a decodificação de instruções;
• Controle sobre a ALU e sobre o shifter (deslocador) em todas as instruções de processamento de dados;
• Auto incremento e decremento dos endereços das instruções;
• Instruções de múltiplos loads / stores para maximizar a performance;
• Execução condicional da maioria das instruções.
PRINCIPAIS USOS
TABELA COMPARATIVA RISC X CISC X ARM
TABELA COMPARATIVA RISC X CISC X ARM
RISC(Reduced
Instruction Set Computer)
|
CISC(Complex
Instruction Set Computer)
|
ARM(Advanced
Risc Machine)
|
||||||||||||
-
Instruções reduzidas
-
Menor numero de circuitos
-
Endereço de instruções em um registrador
-
Instrução executada por hardware
-
Operandos em registradores
-
Freqüência mais alta
|
-
Guarda o endereço de instruções na Stack
-
Operando em memória
-
Instruções complexas
-
Possui micro programação para aumento da
quantidade de instruções incluindo novos modos de endereçamento,
de forma a diminuir a complexidade dos compiladores e em
conseqüência permitir linguagens de alto nível com comandos
poderosos para facilitar a vida dos programadores.
-
Facilita o trabalho dos programadores, melhor para programar por
ser complexo.
-
Outra vantagem da arquitetura CISC é que já temos muitas das
instruções guardadas no próprio processador, o que facilita o
trabalho dos programadores de linguagem de máquina.
|
•
Processador
de 32 bits
•
16
registradores de uso geral
•
Conjunto
de instruções extensível com o uso de coprocessadores
• Instruções
básicas similares ao 6502
•
Arquitetura
de LOAD / STORE. Operações de processamento
de
dados não operam diretamente com o
conteúdo
da memória, somente com o conteúdo de registradores;
•
Modos
de endereçamento simples, com todos endereços de load / store
sendo determinados a partir dos registradores
ou
pelos campos da instrução;
•
Uniformidade
e tamanho fixo dos campos das instruções para simplificar a
decodificação de instruções;
•
Controle
sobre a ALU e sobre o shifter (deslocador)
em
todas instruções de processamento de dados;
•
Auto
incremento e decremento dos endereços das instruções;
•
Instruções
de múltiplos loads / stores para maximizar a performance;
• Execução
condicional da maioria das instruções.
|
Nenhum comentário:
Postar um comentário