Arm Cortex

1,123 views

Published on

Descrição arquitetura processador Armx Cortex

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,123
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
132
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Arm Cortex

  1. 1. Arm Cortex Felipe Haack Schmitz Henrique Becker Isabella Czamanski Rota Laís Berlatto Universidade de Passo Fundo Instituto de Geociências e Ciências Exatas Ciência da Computação
  2. 2. O que é ARM? ●ARM significava Acorn RISC Machine, depois Advanced Risc Machine, e hoje há duvidas sobre se o significado permanece. ●A arquitetura é licenciada pela ARM Holdings, ela a projeta, e vende os direitos para quem está disposto a fabricá-la. ●Em 2007, cerca de 98% dos mais de um bilhão de celulares vendidos usa pelo menos um processador ARM.
  3. 3. O que é Cortex? ●Cortex é uma linha de processadores ARM formada por três famílias. ●Cortex-A são usados principalmente em smartphones, como processadores de aplicativos, Cortex-R, são usados para aplicações de tempo real, e Cortex-M em microcontroladores. ●O cortex-A8 é considerado o processador mainstream da família, usado principalmente em smartphones. Ele tem maior poder de processamento que o A5 (focado no baixo consumo), e menor consumo que o A9 (multicore de alto desempenho).
  4. 4. Security Extensions ●Propagandeado como "Trust Zone". Objetiva oferecer uma arquitetura que facilite o desenvolvimento de aplicações seguras. ●Existem dois estados, o seguro e o inseguro. A maioria das aplicações roda no modo inseguro, e tem de pedir para entrar em modo seguro. ●Existe um Kernel Seguro, que roda em conjunto com o SO do dispositivo, esse kernel tem maiores privilégios que o SO e roda em modo seguro, enquanto o SO em inseguro.
  5. 5. VFP ●Um coprocessador de ponto flutuante totalmente aderente a especificação do padrão IEEE 754. Mas que pode ser configurado para ignorar detalhes do padrão a fim de executar mais rápido. ●Possui um banco de registradores que ele vê como 32 registradores de onto flutuante de 64 bits ou 32 de 32 bits, ou uma combinação de ambos. ●Pode executar certas instruções sobre até 8 intruções de precisão simples, ou 4 intruções de precisão dupla.
  6. 6. Advanced SIMD Architecture ●Outro co-processador, este SIMD, propagandeado como NEON. ●Compartilha o banco de registradores do VPF e o vê como 16 registradores de uso geral de 128 bits ou 32 de 64 bit, ou uma combinação de ambos. ●Possui um pipeline de inteiros, um pipeline de ponto flutuante de precisão simples e dupla, um pipeline de Load/Store, e o VFP é considerado parte dele também.
  7. 7. Thumb-2 ●É um conjunto de intruções em que a maioria das instruções tem 16 bits de tamanho. ●O processador pode ser alternado para estado Thumb, a partir daí ele passa entender o que é buscado como instruções Thumb de 16 bits(ou 32bits). ●Adiciona intruções redundantes como "Compare com Zero e Desvie".
  8. 8. ThumbEE ●Propagandeado como Jazelle RCT. É uma união do Jazelle com o Thumb-2. ●É outro conjunto de intruções, assim como o Jazelle Original e o Thumb-2, e mais um estado para o processador. ●Compartilha grande parte das intruções com o modo Thumb- 2. Visa oferecer intruções especializadas em pequenos conjuntos de operações gerados por compiladores JIT e replicadas em muitas partes do código.
  9. 9. Registradores O processador tem no total 40 registradores: ● 33 registradores de 32 bits de uso geral; ● 7 registradores de 32 bits de estado. * Estes registradores não estão todos disponíveis ao mesmo tempo. O estado do processador e o modo de operação determinam os registradores que estão disponíveis para o programador. ● Program Counter [R15]; ● Link Register [R14].
  10. 10. Modos de Operação A arquitetura do processador ARM Cortex A-8 suporta até 8 modos de operações: 1. User; 2. FIQ (Fast Interrupt); 3. IRQ (Interrupt); 4. Supervisor; 5. Abort; 6. Undefined; 7. System; 8. Secure Monitor; Imagem retirada de :Cortex™-A8Revision: r3p2 Technical Reference Manual
  11. 11. Conjunto de Instruções da Arquitetura Arm O conjunto de instruções ARM pode ser dividido em 6 grandes classes: 1. Instruções de Branch; 2. Instruções de Processamento de Dados; 3. Transferência de Registradores de Status; 4. Instruções de Load / Store; 5. Instruções de Co-Processado; 6. Instruções de Geração de Exceções. * Uma característica muito importante das instruções diz respeito as bits de condições. ● Quase todas as instruções ARM possuem 4 bits condicionais que especificam se a instrução será executada ou não, a partir da situação em que os bits de flag se encontram.
  12. 12. Considerações ● Possui auto incremento e auto decremento dos endereços das instruções ; ● Possui execução condicional da maioria das instruções; ●Uniformidade e tamanho fixo dos campos das instruções para simplificar sua decodificação; ●Capacidade de executar instruções de 16 bits usando a arquitetura Thumb;
  13. 13. Pipeline ● Quantidades de estagios. ● Ordem de execução das instrução. ● Mecanismos dentro da Busca da Instrução. ● Decodificação da instrução. ● ULA, MUL e LOAD/STORE.
  14. 14. ● AGU (Adress Generation Unit). *Imagem feita no Paint.
  15. 15. É implementado 2 estruturas de desvio: ● GHB (Global History Buffer). ● BTB (BranchTarget Buffer). ● Componentes da BTB. *Imagem feita no Paint.
  16. 16. ● RAM (Random Acess Memory). ● TLB (Translation Lookaside Buffer). *Imagem feita no Paint.
  17. 17. ● 12 Entradas. *Imagem feita no Paint.
  18. 18. *Imagem feita no Paint.
  19. 19. *Imagem feita no Paint.
  20. 20. *Imagem feita no Paint.
  21. 21. ● 2 ALU Pipe Sysmetric. ● LS Pipe. ● O pipeline executa. *Imagem feita no Paint.
  22. 22. ● Branch Mispredict Penalty *Imagem feita no Paint.
  23. 23. Sistema de Memória ●Requisitos de memórias variáveis entre os modelos de processadores Arm. ○Múltiplos tipos de memória ○Caches ○Buffers de escrita ○Memória Virtual ○Técnicas de mapeamento
  24. 24. Memória Cache Os processadores ARM dividem sua memória cache em duas partes. ● L1 ○ 64 KB, dividido em dois blocos de 32 KB (dados e instruções), 4-way set associative ○ Linhas de tamanho 64 bytes ○ O conteúdo da cache de instrução de nível 1 é um subconjunto do cache de nível 2 ○ O conteúdo da cache de dados de nível 1 é exclusivo em relação a cache de nível 2 ○ Política de substituição pseudo-aleatória ○ Cache de intruções é virtualmente indexada ○ Cache de dados é fisicamente indexada
  25. 25. Memória Cache ● L2 ○ 256 KB, que pode ser expandido para até 1 MB de acordo com o nível de desempenho desejado pelo fabricante, 8-way set associative ○ Linhas de tamanho 64 bytes ○ Indexada fisicamente ○ Política de substituição pseudo-aleatória ○ Intimamente ligado ao cache L1 de dados e cache de instrução L1
  26. 26. Gerenciamento de Memória ●Ao ser gerado um acesso a memória pelo processador ARM Cortex, a MMU procura o endereço virtual de acesso na TLB (ou nas TLBs) ●Caso a TLB não contenha a entrada para o endereço virtual, o hardware é invocado, retornando a tradução e a permissão de acesso da tabela de tradução na memória principal ●Política de substituição Round-Robin ●32 entradas de dados e intruções, full associative
  27. 27. ●O Cortex A8 possui frequencias que variam entre os fabricantes. ●Em 2009, a Samsung lançou um A8, o Hummingbird, com 1GHz capaz de lidar com até 2 bilhões de instruções por segundo. ●Frequencias maiores de clock são inviáveis por enquanto para processadores de dispositivos móveis. ●O Cortex A9 trabalha com clock de 2 GHz. Frequencia de Clock
  28. 28. Onde achar? ●Cortex A5: smartphones da Nokia E62,E61,E61i e game mobile como Nintendo DS, entre outros ●Cortex A8: mais utilizado em aparelhos móveis ●Cortex A9: utilizado no iPad (no SOC Apple A4)
  29. 29. Fontes bibliográficas http://www.gdhpress.com.br/blog/cortex-a8/ http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344k/index.html http://www.enlight.ru/docs/cpu/risc/arm/CodeExamples.txt http://en.wikipedia.org/wiki/ARM_architecture http://www.ic.unicamp. br/~rodolfo/Cursos/mc722/2s2005/Trabalho/g20-arm-apresentacao. pdf Cortex-A8 Technical Reference Manual http://www.design-reuse.com/articles/11580/architecture-and- implementation-of-the-arm-cortex-a8-microprocessor.html http://www.jp.arm.com/products/processors/pdf/tiger_whitepaper_final. pdf http://www.elook.org/computing/advanced-risc-machine.htm Cortex™-A8 Technical Reference Manual Revision: r3p2 Copyright © 2006-2010 ARM Limited. All rights reserved.
  30. 30. *Imagem feita no Paint.

×