Buscar

Arquitetura ARM

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CENTRO UNIVERSITÁRIO ESTÁCIO - UNISEB 
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 
BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO 
 
 
 
 
 
 
ESTUDO DIRIGIDO DA ARQUITETURA ARM 
 
 
Arthur Pereira 
Gabriel Mini 
Igor Lollato 
Matheus Franco 
Yuri Ferreira 
 
Prof. Ms. Paulo César de Carvalho Dias 
 
 
 
RIBEIRÃO PRETO 
2016 
 
Orientações: Utilize o artigo A Arquitetura ARM e pesquise na internet as seguintes 
1. Qual foi a motivação para o desenvolvimento do ARM1? 
A arquitetura ARM possibilita implementações enxutas e com bom desempenho. 
Também possui baixo consumo de energia, ideal para dispositivos móveis. 
 
2. O texto cita as filosofias de projeto RISC e CISC (Veja o Artigo RISC VS 
CISC). Explique o que elas significam. 
A arquitetura RISC move todas as funções para software, enquanto a CISC move para o 
hardware qualquer função. O problema é que 75% das instruções da CISC não são 
utilizadas. 
 
3. O que é uma arquitetura de LOAD / STORE? O PIC é LOAD/STORE? 
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. O 
PIC não é LOAD/STORE. 
 
4. O que são e para que servem os modos de operação do ARM? 
Possui 7 modos, que são funções, mostrados a seguir: 
- User Mode(USR): modo normal de execução do ARM, utilizado para executar a 
maioria dos programas aplicativos 
- Fast Interrupt (FIQ): suporta transferência de dados 
- Interrupt (IRQ): modo usado para tratar interrupção de propósito geral 
- Supevisor (SVC): modo protegido para sistema operacional 
- Abort (ABT): modo usado depois que uma busca de dados ou instrução é abortada 
- Undefined (UND): modo utilizado quando uma instrução não definida é executada 
- System (SYS): modo usuário privilegiado para o sistema operacional 
 
5. Visite a página (http://www.arm.com/products/processors/index.php) e liste as 
aplicações dos processadores Cortex-A, Contex-R, Cortex-M e SecurCore. 
Cortex-A: Smartphones, Feature Phones (celulares mais simples mas que acessam a 
internet, por exemplo), Tablets/eReaders, Media Players Pessoais (mp3, mp4, ipod, etc), 
Televisões digitais, receptores de satélites, impressoras de alto desempenho, , 
servidores, GPS, empreendimentos. 
Cortex-R: Controle de sistema automotivo, redes de sensores com fio e sem fio, 
estruturas base wireless, controles de armazenamento massa, impressoras, dispositivos 
de rede. 
Cortex-M: processadores comerciais, controle de sistemas automotivos, controle de 
sistema do motor, controladores de eletrodomésticos, medidores inteligentes, sensores, 
coisas da internet. 
SecurCore: Simuladores, cartões inteligentes, sistemas de pagamento avançado, 
passaportes eletrônicos, bilhetes eletrônicos e de transportes. 
 
 
 
 
 
 
 
6. Liste e explique sumariamente os tipos de instruções ARM. 
O conjunto de instruções ARM pode ser dividido em 6 classes: 
 
• Instruções de Branch; 
 Essas instruções possibilitam a troca do fluxo de instruções escrevendo um endereço 
no PC. 
• Instruções de processamento de dados; 
Fazem operações lógicas e aritméticas com até dois operandos de origem, escrevendo 
o resultado em um terceiro operando de destino. 
• Transferência de registradores de status; 
Existem duas instruções (MRS e MSR) que podem transferir dados do registrador de 
status. A primeira move o conteúdo do registrador de status para um registrador de 
propósito geral e a segunda faz o inverso. 
• Instruções de Load / Store; 
 Troca o conteúdo de um registrador com um endereço da memória. 
• Instruções de co-processador; 
São instruções que podem iniciar uma operação no coprocessador, podem também 
transferir dados deste último para a memória e vice-versa, e ainda podem ser usadas 
para transferir dados entre registradores do ARM e do seu co-processador. 
• Instruções de geração de exceções. 
 Causa uma interrupção no sistema 
 
7. A arquitetura ARM utiliza o formato de dados Little Endian ou Big Endian. O 
que significam estes formatos. 
As duas arquiteturas que se referem à ordem na qual os bytes são armazenados na 
memória. Na arquitetura big-endian os bytes mais significativos vêm primeiro e depois 
os dados menos significativos (ordem decrescente). Na little-endian, ocorre o inverso, 
os bytes menos significativos vêm primeiro (ordem crescente) e depois os bytes mais 
significativos. 
Ex: Data em Little-Endian (DD/MM/AAAA) 
 Data em Big-Endian (AAAA/MM/DD) 
 
8. A arquitetura ARM é Harvard ou Von Neumann? Como estas arquitetura 
influencia a organização da memória cache? 
ARM é arquitetura Harvard. Nesta arquitetura, a cache é separada por módulos 
associados a instruções e dados. 
 
9. Qual o tipo de mapeamento de cache utilizado (direto, associativo ou associativo 
em conjunto)? 
A cache no ARM é full associative, o que signifca que ela é associativa por conjunto de 
N vias, sendo N o número total de linhas de cache, assim, qualquer busca na cache 
precisa checar cada linha de cache. A cache é também mapeada diretamente, com um 
conjunto de m blocos e uma entrada pode residir em qualquer bloco dentro desse 
conjunto. 
 
10. O que faz a MMU? O que é a tradução de endereço virtual e endereço físico? 
A MMU controla o acesso à memória externa e é responsável pela tradução do endereço 
virtual em endereço físico, assim como a checagem de permissão de acesso. 
Mapeamento de endereço virtual para físico é quando a MMU identifica o endereço 
físico que está localizado na memória principal e está sendo acessada visando reduzir o 
custo médio de acesso a memória. 
 
 
11. O que são e para que servem os Translation Lookaside Buffers (TLB)? Quantos 
TLBs existem e para quais funções? 
É um dispositivo destinado a tradução de endereços lineares em endereços físicos. 
Facilita o acesso. Existem dois tipos de TLB, Data TLB e Instruction TLB. Contém 
endereços virtuais para físicos mais recentes e associam o ASID (identifica todos os 
processos ativos) com todas as entradas. 
 
12. Quais são as extensões da arquitetura ARM? 
Thumb 
As instruções Thumb são na verdade instruções ARM codificadas para aumentar a 
performance do processador em certas aplicações, utilizando um barramento de dados 
mais simples (de apenas 16 bits) e criando uma melhor densidade dos códigos. 
 
Thumb2 
Esse tipo novo de instrução foi implementado inicialmente no núcleo ARM1156 (em 
2003). Ele extende o limite de 16 bits do modo Thumb com algumas instruções 
adicionais de 32 bits, para dar um melhor fôlego para aplicações totalmente escritas em 
modo Thumb. 
 
Jazelle 
Essa tecnologia permite a execução nativa em hardware de bytecodes Java. 
 
Thumb2EE 
Também conhecido como Jazelle RCT, essa tecnologia foi lançada nesse ano, 
primeiramente no núcleo Cortex-A8. O Thumb-2EE extende o Thumb-2 com um 
conjunto de instruções particularmente úteis para códigos gerados em tempo de 
execução, como ocorre com os compiladores JIT do Java e C#. Outras linguagens que 
podem obter vantagens da tecnologia são Perl e Phyton. Com o Thumb-2EE códigos 
mais compactos podem ser criados, sem que isso impacte na performance da aplicação. 
 
NEON 
É um conjunto de instruções do tipo SIMD (Single Instruction Multiple Data) de 64 e 
128 bits criado especialmente para acelerar aplicações multimidia e de processamento 
de sinais. A tecnologia possui um novo conjunto de instruções, um conjunto separado 
de registradores e um hardware de execução independente. 
 
VFP - Vector Floating Point Processor 
É um coprocessador que extende as instruções ARM para o cálculo de ponto flutuante 
de precisãosimples e dupla, totalmente compatível com o padrão ANSI/IEEE 754.

Outros materiais