Você está na página 1de 11

1

UNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA

Arquitetura de Processadores ARM

Claudio Lucas Loup Carvalho

Guilherme Costa Oliveira

Harilson Pires de Oliveira

Jequié – BA

Novembro - 2019
2

Arquitetura de Processadores ARM


Claudio Lucas Loup Carvalho, Guilherme Costa Oliveira, Harilson Pires de Oliveira.

Os microprocessadores CISC de 16 bits que estavam


Resumo—Os processadores ARM são amplamente utilizados disponíveis na época eram mais lentos do que os componentes da
atualmente, eles compõem diversos dispositivos, através de memória padrão da máquina desktop projetada. Eles também
sistemas embarcados aplicados em aparelhos eletrônicos. Por conta tinham instruções que levaram muitos ciclos de clock para se
da sua versatilidade e diversidade de recursos, o uso do processador completarem, provocando longas latências de interrupção. Diante
ARM é a solução ideal quando se trata de um hardware desses empecilhos, foi estudada a possibilidade de criação de um
compacto e voltado para a economia de energia. Este artigo tem novo microprocessador. Porém, a Acorn temia que esse projeto
por finalidade apresentar uma visão geral sobre a arquitetura não obtivesse sucesso, visto que a empresa ainda não era de grande
ARM, abordando sua história, características, e aplicações. porte (apenas 400 empregados) e a pesquisa de novos
microprocessadores já havia custado diversos anos de vários
Termos de Indexação—Arquitetura ARM; Processador ARM;
RISC [2]
cientistas ao redor do mundo. Seria um risco muito grande para a
empresa investir em uma área que não tinha experiência. Foi
I. INTRODUÇÃO descoberto que alguns estudantes de pós-graduação da Berkeley
A utilização de processadores teve um aumento University desenvolveram em menos de um ano um
significativo nos últimos anos; e a cada atualização novas microprocessador que conseguia competir com os existentes do
características são incorporadas, melhorando sua velocidade e mercado e que possuía uma arquitetura mais simples, então não
consumo energético. Os processadores são responsáveis pela havia instruções complexas capazes de arruinar a latência de
execução de cálculos, aceleração, endereçamento e também por interrupção. Além do mais, poderia apontar para um futuro
tomar todas as decisões lógicas do computador. Existem promissor, apesar das apostas acadêmicas não significarem o
diversos tipos de processadores, com características e sucesso no comércio. Com isso, a ARM surge em meio a esse
funcionalidades diferentes de acordo com a necessidade do aglomerado de fatores, se tornando o componente principal da linha
usuário. de produtos da Acorn. A empresa lança seu primeiro processador
O processador é o principal componente na arquitetura Acorn RISC Machine (ARM) de 26 bits, que introduziu o uso da
dos computadores, pois realiza o processamento de tecnologia RISC em aplicações comerciais. Usou menos de 25.000
informações de entrada e retorna uma saída. Ele possui transistores – apesar de um número muito pequeno, mesmo para
características particulares, como a frequência das operações 1985, se mostrou competitivo e até superou o processador Intel
(clock), largura do barramento de dados, e a capacidade 80286, que surgiu no mesmo período.[2] Atualmente a ARM projeta
máxima de memória [1]. A arquitetura de computadores é tecnologia de microprocessador para vários dispositivos, incluindo
baseada na organização dos seus componentes eletrônicos. desde telefones celulares e câmeras digitais a consoles de jogos e
Com o passar dos anos, os processadores sofreram sistemas automotivos, e é fornecedora líder de propriedade
diversas evoluções tecnológicas, proporcionando aumento de intelectual (IP) de alto desempenho, baixo custo e baixo consumo
potencia e flexibilidade de uso. Atualmente, diversos modelos de energia.[2]
disputam este mercado. Dentre eles se destaca a arquitetura
ARM, um processador compacto e de baixo custo que
consegue aliar a alta performance com o baixo consumo de III. EVOLUÇÃO
energia. A arquitetura V1 foi criada em 1985 e implementada
apenas na CPU ARM-1, porém não chegou a ser comercializada.
II. HISTÓRIA Já a arquitetura V2 deu origem aos primeiros processadores
A arquitetura de processadores ARM - surge em embarcados. Esses primeiros processadores possuíam 32 bits de
barramento de dados e 26 bits de barramento de endereço. Em
outubro de 1983, quando a empresa britânica Acorn
1987, o ARM-2 foi implementado com sucesso, no computador
Computers deu início a criação do seu primeiro processador
chamado Acorn Archimedes.
projetado para funcionar na sua próxima máquina desktop,
uma vez que os microprocessadores da época não satisfaziam
as suas necessidades.
A principal atualização implementada na versão 2 do  ARM9 - Processadores ARM926EJ-S™,
ARM foi o suporte ao co-processador. Em seguida, foi ARM946E-S™ e ARM968E-S™;[3]
introduzido o ARM Architecture V3, que incluiu muitas  ARM11 - Processadores ARM1136J(F)-S™,
mudanças em relação a seus predecessores, entre elas o cache ARM1156T2(F)-S™, ARM1176JZ(F)-S™ e
on-chip. Essas alterações resultaram em um processador [3]
ARM11™ MPCore™.
compacto e com baixo consumo de energia, adequado para
sistemas embarcados, podendo operar a 25 MHz.[3]

Fig. 2. História da arquitetura ARM

IV. ARQUITETURA DE PROCESSADORES ARM


O objetivo principal da criação da arquitetura ARM é
desenvolver hardware simples e que possa oferecer alta
eficiência no consumo, com baixo aquecimento ou aumento
nos gastos de energia, além de custar menos financeiramente.
Por isso, utiliza-se muito em aparelhos compactos, como
smartphones, tablets, roteadores e calculadoras.
A empresa proprietaria da patente desta arquitetura não
fabrica os processadores, apenas os projeta. Seus projetos
Fig. 1. Visão interna do ARM-1 originais contêm apenas os núcleos de processamento. Os
demais componentes ficam por conta da empresa fabricante do
Em virtude do sucesso do Acorn Archimedes e da alta SoC (System on Chip). Logo, a função da ARM Holdings é
demanda por microprocessadores RISC, a empresa Apple desenhar um padrão e autorizar o desenvolvimento aos
Computers decide encomendar a Acorn um processador para o fabricantes, de modo qual se adeque melhor aos seus produtos.
[5]
projeto do Apple Newton. A partir daí, nasce uma parceria de
três empresas – Acorn, VLSI e Apple, que originou a empresa
Advanced RISC Machine, ou ARM Ltd. Como ponta pé inical
A. Características Gerais
para a nova identidade, a ARM alterou o ARM3, que passou a
ser chamado de ARM6. Em 1994 foi lançado o ARM7, um
processador que fez um grande sucesso na epoca. ] Esse  37 registradores, sendo apenas 17(ou 18, em
período foi marcado pela revolução de dispositivos mobile. alguns modos de operação) acessíveis a cada
Nessa época, o ARM7 foi utilizado em larga escala, momento.
[5]
principalmente no celular com tecnologia GSM chamado
Nokia 6110. Devido a isso, o ARM7 tornou-se uma referência  Arquitetura de Load/Store: as instruções só
nesse segmento e se consolidou definitivamente. Atualmente, processam os valores que estiverem nos
o processador mais vendido no mercado tem como core o registradores e os resultados serão armazenados
clássico ARM7TDMI®, alcançando a marca de mais de 1 em algum registrador; [5]
bilhão de dispositivos.[3]  Instruções fixas de 32 bits de largura, com exceção
das instruções Thumb compactas de 16 bits. [5]
Abaixo são listados as famílias e dispositivos que  Formato de instruções de 3 endereços, os dois
continuam sendo licenciados: registradores operandos e o registrador de
 ARM7 - Processadores ARM7TDMI-S™ resultado são independentemente especificados. [5]
e ARM7EJ-S™;[3]  Pipelines de 3 a 15 estágios. [5]
 Conjunto de instruções aberto a extensões e
modificações através de coprocessador, incluindo a
adição de novos registradores e tipos de dados a
criterio do programador
B. Extensões C. Pipeline e instruções

De acordo com a sua utilização, o processador Um ponto central para processadores RISC é o
ARM ganhou abrangência e foram desenvolvidas pipeline, as instruções de tamanho fixo, a simplicidade das
extensões para a arquitetura. As principais extensões são: instruções, e o uso de apenas instruções Load/Store para lidar
1) NEON: trata-se de uma unidade SIMD projetada para a com a memória são algumas das características que
série Cortex-A e apresenta 32 registradores de 64 bits, que contribuem para o desempenho e facilidade de construção do
podem ser usados como 16 registradores de 128 bits, pipeline. A arquitetura do pipeline muda de um processador
organizados em vetores e acessados aos pares ARM para outro. [5]
simultaneamente, procedimento ilustrado na figura 8. O
NEON permite executar instruções SIMD de 64 e 128 bits, e 1) Busca de Instruções: A unidade de busca pode ser vista na
acelera operações de manipulação de áudio e vídeo; [5] figura 5. Nos estágios F0, F1 e F2, ocorre a busca de
instruções, começando pela previsão de desvio. Em F0,
calcula-se o endereço da instrução a ser buscada no nível 1 de
memória cache. Em paralelo ao cálculo de endereço, verifica-
se se, na busca da próxima instrução, a previsão de desvio que
deve ser utilizada. Em F2, a instrução obtida é colocada em
uma fila, que pode ter até 12 instruções, e que envia 2
instruções por vez para a unidade de decodificação. É
importante notar que o buffer de instruções contém instruções
cuja execução não é garantida, dada a possibilidade de
desvios, e subsequente esvaziamento do
pipeline. A previsão de desvios é feita com duas estruturas,
Fig. 3. Operação com dados de 128 bits no NEON um buffer de alvos de desvio e um buffer de histórico. [5]

2) VFP: unidade de processamento de ponto flutuante,


seguindo o padrão IEEE 754. É utilizada em controle
automotivo,
[5] gráficos 3D, controle industrial e tratamento de
imagens;

3) DSP: inclui instruções para processamento de sinais


digitais, mas mpactar o mínimo possível em consumo de
energia e acelerar aplicações que usem sinais; [5]

4) Jazelle: implementação em hardware da máquina virtual


Java, permitindo a execução direta de bytecodes (DBX (Direct
Bytecode eXecution)). Além da implementação em hardware,
há um conjunto de softwares que dá suporte para o uso
eficiente da extensão; [5]

5) big.Little: Combinação de hardware e software para


processamento mais eficiente em processadores multicore
heterogêneos. Essa tecnologia permite distribuir as aplicações
entre cores de diferentes velocidades, e consumos de energia,
para que os processos sejam executados rapidamente com o
menor consumo possível de energia. GPUs também podem ser
alocadas; [5]
Fig. 4. Intercâmbio de modos de operação para segurança
6) TrustZone: Conjunto de hardware e software para proteger
aplicações de ataques, colocando-as em ambientes de
execução isolados por meio de modos de exceção apropriados.
[5]
Fig. 5. Estágios de busca do pipeline

2) Decodificação de instruções: A unidade de


decodificação pode ser vista na figura 6 e contém dois
canais que trabalham em paralelo. O canal 0 contém
sempre a instrução anterior a àquela que está no canal 1, e a
execução é sempre feita em ordem, ou seja, a instrução
decodificada no canal 1, só será repassada ao pipeline de
execução, se a instrução do canal 0 for executada. Essa
abordagem evita problemas do tipo WAR, e facilita o
tratamento de WAW. Os estágios de decodificação são: [5]
 D0: as instruções Thumb são convertidas em
instruções de 32 bits, e uma função inicial de
decodificação é aplicada; [5]
 D1: operandos de origem e destino são
calculados, assim como os requisitos de
execução. Instruções que demoram mais de um
ciclo para serem executadas, são divididas em
instruções menores; [5]
 D2: instruções são armazenadas em uma fila, ou
lidas desta. A fila contém instruções que ainda não
puderam ser executadas, ou cuja execução não pôde
ser completada, devido à falta de um operando, caso
em que a instrução sofre replay; [5]
 D3: É prevista a disponibilidade de registradores e
dos dados de entrada para as instruções
decodificadas, assim como são verificados os
hazards de pipeline; [5]
 D4: Decodificação final de sinais de controle para a
execução nos canais de leitura/escrita, e execução de
inteiros. O uso da fila de instruções pendentes
garante que, caso não haja falhas na previsão de
desvios, os estágios de execução sempre terão
trabalho a fazer. Além disso, a penalidade por
atrasos de leitura de operandos da memória fica
limitado ao estágio D0, uma vez que instruções que
sofrem replay não precisam ser lidas novamente da
memória. [5]

Fig. 6. Estágios de decodificação


da cache L2, caso necessária, ocorre no pipeline de
3) Execução de Instruções: A unidade de execução pode ser
leitura/escrita; [5]
vista na figura 7 e apresenta dois canais de para execução de
 E5: resultados das operações são colocados nos
operações com inteiros, um canal de instruções Load/Store, e
um canal de instruções de multiplicação. Os estágios desta registradores. [5]
etapa são: [5]
 E0: leitura/escrita no conjunto de registradores, As instruções de ponto flutuante e SIMD são tratadas
previamente pelos canais de do pipeline de inteiros, e então
permitindo até seis leituras para duas instruções; [5]
enviadas para o coprocessador VFP, no caso de ponto
 E1: nos pipelines ALU e Load/Store, ocorrem
flutuante e para a unidade NEON no caso de SIMD. A
operações de deslocamento de dados e geração de
unidade NEON, e o coprocessador VFP serão vistos mais
endereços de memória; [5]
adiante, e o esquema de uso dessas unidades pode ser visto na
 E2: unidades ALU executam as instruções de inteiros
figura abaixo. [5]
e lógicas, o primeiro estágio do primeiro pipeline de
multiplicação é executado, e a tradução de endereços
ocorre no pipeline de leitura/escrita; [5]
 E3: unidades ALU executam as instruções de
saturação aritmética (valores teto e piso), o segundo
estágio do primeiro pipeline de multiplicação é
executado. No pipeline de leitura/escrita, se houver
uma escrita, o dado é formatado e enviado à unidade
no pipeline em que será usado. Em caso de escrita, os
dados são preparados para escrita em cache; [5]
 E4: canais ALU verificam tratam a ocorrência de
alterações no fluxo de execução, o pipeline de
multiplicação efetua etapas de adição, e a atualização

Fig. 7. Estágios de execução do pipeline

Fig. 8. Estágios de SIMD e ponto flutuante de pipeline do ARM

4) Tipos de Instruções: Existem os seguintes tipos de


instrução: [5]
 Load/Store: instruções de carregamento e escrita de
dados na memória. Podem ler/escrever palavras
inteiras (32 bits), meias-palavras (16 bits), bytes sem
sinal, e podem ler e estender o sinal de meias-
palavras; [5]
 Load/Store em blocos: são instruções que permitem
definir a leitura/escrita de blocos de até 16
registradores em uma única instrução. Isso é feito
com uma máscara de 16 bits na instrução que define
quais registradores serão usados, e permite atingir
uma banda de comunicação 4x maior do que uma
instrução que usa um único registrador. Essas
instruções podem
ser usadas para início e retorno de chamadas, assim V. APLICAÇÕES
como para ler blocos de memória. [5]
 Desvio: permitem desvio condicional de, no máximo
32MB, para frente ou para trás. A condição é dada  Smartphones [6]
por um campo de 4 bits; [5]  Notebooks [6]
 Processamento de Dados: operações de adição e  Smart TVs [6]
subtração, operações lógicas AND, OR e XOR, além  Roteadores [6]
de instruções de comparação e teste; [5]  Vídeo Games portáteis [6]
 Multiplicação de inteiros: podem ser feitas com
operandos de 32 ou 16 bits, e o resultado pode FABRICANTES
ocupar 32 ou 64 bits; [5]
 Adição/Subtração paralelas: permitem aplicar a  Qualcomm [6]
operação em partes dos operandos, de forma  Mediatek [6]
paralela. Um exemplo é a instrução ADD16, que
 Nvidia [6]
adiciona as primeiras meias-palavras dos operandos
para formar a meia palavra superior do resultado,  Samsung [6]
enquanto faz o mesmo com as meias-palavras  Apple [6]
inferiores para formar a parte inferior do resultado.
Essas instruções são úteis para processamento de
imagens; [5] VI. FAMÍLIA ARM
 Extensão: Extensões são instruções para reagrupar Mediante ao grande sucesso e ao avanço das
dados; [5] tecnologias, novas linhas de processadores foram surgindo.
 Acesso a registrador de estado: O registrador de Dentre elas, as principais são:
estado permite ler e escrever em algumas de suas
A. ARM7
partes; [5]
 Interface para coprocessadores: Existe um grupo de
instruções para troca de dados com coprocessadores, 1) ARM7TDMI: Possui núcleo baseado na quarta versão da
assim como para controle destes. O tratamento de arquitetura ARM. Contem um cache unificado, bem como a
ponto flutuante é feito por um coprocessador. A extensão Thumb, o que possibilita operações em 32 e 16 bits,
presença desse coprocessador nos chips é opcional; além de significar que qualquer código escrito para esse
[5] núcleo será compatível com novas versões, como o ARM9 ou
 Intercâmbio com Thumb: como será visto adiante, há o ARM10, por exemplo. o ARM7TDI possui a extensão de
um subconjunto de instruções de 16 bits chamado debug on-chip e é bem- sucedido principalmente por causa do
Thumb. Existem instruções para indicar se as seu tamanho extremamente pequeno, mas de alto desempenho,
instruções executadas serão de 16 ou 32 bits. [5] possuindo mais de 70.000 transistores com consumo de
energia muito baixo. [4]

Fig. 9. Buffer de escrita

Fig. 11. Núcleo ARM7TDMI

2) ARM7TDMI-S: É uma versão sintetizável do


ARM7TDMI e compatível com a arquitetura ARM v4T. [4]

Fig. 10. mapeamento de endereço para páginas pequenas


3) ARM720T: O núcleo ARM720T oferece 8 KB de cache especificamente para garantir a segurança dos dados do
unificado de instruções de dados, além de uma memória de sistema operacional e dos aplicativos. O SC100 executa todas
unidade de gestão (MMU, na sigla em inglês) que oferece as implementações do software ARM JavaCard existentes.
tradução de endereços virtuais para físicos, tabelas de página Futuros processadores SecurCore incluirão a tecnologia
de dois níveis armazenadas na memória e navegação de Jazelle da ARM para execução direta de códigos de byte Java
tabelas de páginas de hardware. Este processador permite até para permitir aplicações JavaCard de baixo desempenho e
16 domínios, cada um com direitos de acesso individuais O baixo consumo de energia. As vantagens sobre uma máquina
ARM720T foi projetado para ser flexível e específico para virtual JavaCard puramente emulada por software são claras:
aplicativos, especialmente para sistemas operacionais redução significativa no tempo de execução, melhor
complexos, como Linux, Windows CE, Symbian OS ou capacidade de resposta e consumo de energia
PalmOS. Inclui um coprocessador de controle do sistema para significativamente menor. A família de processadores
cache e inicialização do sistema e o AMBA Advanced System SecurCore também inclui uma interface de coprocessador
Bus, ou ASB. [4] padrão para incorporação simples de coprocessadores
criptográficos. Um coprocessador pode ser projetado para um
propósito muito específico e pode conter quantos registros e
caminhos de dados forem necessários para implementar as
funções específicas. Para fornecer uma solução, o ARM
integrou no núcleo do SC100 um acelerador criptográfico, o
Montgomery Multiplier Engine (MME). Esse mecanismo é
otimizado para cálculos de RSA, fornecendo cinco vezes o
desempenho de soluções de software sem quaisquer restrições
no tamanho da chave. A família SecurCore oferece todos os
benefícios da arquitetura de alto desempenho e baixa potência
líder de mercado da ARM, com diferenças significativas de
design que tornam a abordagem ARM ideal para aplicações
seguras. [4]

Fig. 12. Núcleo ARM720T

4) ARM7EJ: O ARM7EJ é um CPU compacto projetado


exclusivamente para executar aplicações que exigem baixa
potência. Possui a interface de memória idêntica à do
ARM7TDMI-S. Ele apresenta instruções de arquitetura da
versão V5TEJ, incluindo extensões DSP. [4]

Fig. 14. Núcleo ARM SC100 Secure Code

B. ARM9

1) ARM9TDMI: O ARM9TDMI representa uma nova família


de tecnologia de CPU. Esse núcleo apresenta desempenho 2x
melhor se comparado aos processadores da família
ARM7TDMI. [4]

2) ARM940T Macrocell: O ARM940T representa a primeira


Fig. 13. Núcleo ARM7EJ amostra de um núcleo ARM9 habilitado para cache. Este
núcleo contém 4 KB de cache de instruções e dados, com um
5) ARM SC100 Secure Code: A família SC100 Secure Code MPU para uso em tempo real. Este sistema faz do 940T um
é baseada em RISC de 32 bits e oferece aos designers um processador ideal para aplicações de controle embarcadas,
sistema privilegiado de acesso aos núcleos do processador como dispositivos de rede sem fio, impressoras ou dispositivos
ARM. A flexível Unidade de Proteção de Memória foi de controle automotivos. As unidades de proteção permitem a
projetada
definição de oito regiões de memória, cada uma com cache desempenho, MMU e cache desse núcleo o tornam ideal para
independente e permissões de acesso. A unidade de proteção é
Assistentes Digitais Pessoais e smartphones. [4]
configurada usando registros no chip, que fornece um modelo
simples de programação. Isso elimina a necessidade de tabelas
de mapeamento de página armazenado na memória. [4]

Fig. 17. Núcleo ARM920T

4) ARM922T: O núcleo ARM922T foi criado com metade da


Fig. 15. Núcleo ARM940t Macrocell quantidade de cache de instruções e dados do 920T, resultando
em menor sobrecarga. Além dessa simples diferença, os dois
O processador de núcleo é cerca de um terço do núcleos são fundamentalmente idênticos. [4]
tamanho da matriz. Quando outros componentes são
incorporados - o co-processador de controle do sistema,
controle de barramento, unidade de proteção de memória e o
cache em si - a unidade inteira se torna insignificante na área
total da matriz. Este núcleo tem 4 KB de cache, a menor
quantidade de cache usada em toda a família de produtos.
Pode-se visualizar quão pequena esta unidade inteira e lógica
de cache torna-se quando integrado com periféricos
sintetizados e os outros recursos que completam o design do
system-on-chip (SoC). [4]

Fig. 18. Núcleo ARM922T

5) ARM966E-S: O núcleo ARM966E-S foi projetado com


aplicações em tempo real como objetivo principal. A principal
característica deste CPU sobre a base ARM9E-S é a interface
de memória fortemente acoplada que permite tamanhos
SRAM selecionáveis de até 64 MB. [4]

6) ARM946E-S: O núcleo ARM946E-S contém


características do 966E-S, além de cache de dados e instruções
Fig. 16. Estrutura dos núcleos ARM940T selecionáveis. A sua unidade de proteção de memória está
integrada ao cache, portanto, esse processador é uma excelente
3) ARM920T Macrocell: O ARM920T foi criado para solução de alto desempenho para aplicativos embarcados em
atender às necessidades de sistemas mais complexos usando tempo real, como sistemas de gerenciamento de motores em
uma plataforma de sistema operacional, como o Windows CE automóveis e dispositivos de rede. [4]
ou Symbian OS. Este núcleo substitui o MPU do 940T por
uma unidade de gerenciamento de memória e aumenta os 7) ARM926EJ-S: O núcleo ARM926EJ-S introduz uma nova
tamanhos de cache de instrução e de dados para 16 KB para geração de dispositivos habilitados para Internet. Este
cada. O processador pode ser comparado com os núcleos ARM920T
ou
922T em sua funcionalidade e desempenho. Agora, com os
 Cache de hit-under-miss;
aprimoramentos adicionados do Jazelle, as funções Java
 Buffer de gravação;
podem ser executadas sem a necessidade de coprocessadores
 Suporta até 8 palavras duplas (16 valores de
complicados ou implementações de software lentas. [4]
registro);
 Novos modos de economia de energia.

1) ARM1020E e ARM1022E: Os núcleos do processador


ARM1020E e ARM1022E oferecem o mais alto desempenho
por unidade de qualquer processador de 32 bits que esteja
acima de 200 MHz. Seu gerenciamento de memória e caches
são comparáveis aos ARM920T, ARM922T e ARM720T -
garantindo a portabilidade do código e a proteção dos
investimentos em software existentes. Futuras implementações
nestas famílias também integrarão os aprimoramentos Jazelle
Java estabelecidos pelo família ARM9EJ-S. [4]

Fig. 19. Núcleo ARM926EJ-S

C. ARM10
A família ARM10 foi desenvolvida antecipando as
necessidades do mercado de dispositivos digitais e multimídia.
A compatibilidade foi mantida com o ARMv5TE e v4T para
facilitar a migração de código. Os aprimoramentos de
desempenho incluem um buffer de gravação aprimorado que
armazena até oito palavras duplas e uma unidade de carga
armazenamento separada. Esses recursos melhoram o Fig. 20. Núcleo ARM1020E
desempenho do código, diminuindo a média de número de
ciclos por instrução do processador e também ajuda quando o
código é altamente dependente de operações de cache. Como 2) Vector Floating Point (VFP10): Muitas aplicações de
um aprimoramento adicional, a arquitetura, os circuitos, o controle em tempo real nos campos industrial e automotivo se
layout e o desligamento controlado por software foram beneficiam do alcance dinâmico e precisão do ponto flutuante
desenvolvidos especificamente para alcançar uma operação de oferecido pelo ARM VFP10. Incorporando o ARM VFP10 em
um design do SoC pode reduzir o tempo de desenvolvimento e
baixa potência em alta performance. [4]
fornecer um desempenho confiável. A capacidade de
processamento do ARM VFP10 também oferece maior
O ARM10E também é a primeira família de
desempenho para aplicativos de imagem, como
processadores projetados com um barramento de dados de 64
dimensionamento, transformações e geração de fontes usadas
bits. Este recurso combina as características de potência e
tamanho de matriz de uma CPU de 32 bits com a largura de na impressão, transformações 3D, FFT e filtragem gráfica. [4]
banda de sistemas de alto desempenho. A interface do co-
processador de 64 bits também permite o aumento do D. ARM AMBA
desempenho de operações de ponto flutuante quando  barramento on-chip "Advanced Micro-controller Bus
combinado com o coprocessador Vector Floating Point-10. [4] Architecture" ( Arquitetura avançada de barramento de micro
controladores ) oferece uma especificação aberta e
Características gerais da arquitetura ARM10E: estabelecida que serve como estrutura para projetos de SoC. [4]
Benefícios de uma solução System-on-Chip (SoC):
 Suporta conjunto de instruções v5TE;  Baixo consumo de energia;
 Lógica de debug EmbeddedICERTII;  Pequena área de silício;
 Totalmente compatível com arquitetura v4T;  Baixo custo de produção para grandes quantidades;
 Unidade de carga / armazenamento separada;  Exemplos que incluem AMBA:
 Caminho de 64 bits para registrar banco - carrega o EPXA10 (SoC configurável);
dois registradores simultaneamente;
o EP7209 (MP3);
REFERÊNCIAS

[1] Ferlin, P. E. (2004). O avanço tecnológico dos processadores e sua


utilização pelo software. Da Vinci. 1. pp. 43-60. Disponível:
VII. CONCLUSÃO https://www.up.edu.br/davinci/pdf03.pdf
A arquitetura ARM, trouxe avanços muito importantes
[2] Ryzhyk, Leonid (2016, Julho). The ARM Architecture. ResearchGate.
para a computação, que possibilitaram a criação de novos Disponível: https://www.researchgate.net/publication/228392292
dispositivos e a melhorar os dispositivos ja existentes. Apesar
da simplicidade dos seus componentes, esses processadores se
tornaram bastante eficientes. Graças ao seu baixo consumo de [3] Garcia, F. D. (2017, Março). Breve história da ARM. Embarcados.
Disponível: https://www.embarcados.com.br/breve-historico-da-arm/
energia e tamanho compacto, esta arquitetura revolucionou a
industria de sistemas embarcados e dispositivos moveis como [4] Ioannis, Skazikis. The ARM Processor Architecture. Technischen
os smartphones, tornando-os mais potentes, compactos e com Hochschule Mittelhessen. Disponível: https://homepages.thm.de/~hg
10013/Lehre/MMS/WS0304_SS04/Ioannis/PDF/arm.pdf
maior eficiência energética.

[5] Forte, C.H.V. (2015). Processadores ARM: visão geral e aplicações.


Disponível:https://www.dcce.ibilce.unesp.br/~aleardo/cursos/arqcomp/S
emin_ARM.pdf

[6] Disponível: http://www.smartche.com.br/2014/05/arquitetura-arm.html

[7] Boccato, Levy. EA869 Processador ARM. Disponível:


http://www.dca.fee.unicamp.br/~lboccato/topico_3.1_processador_ARM
.pdf

Você também pode gostar