Your SlideShare is downloading. ×
0
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Arm Cortex
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Arm Cortex

481

Published on

Descrição arquitetura processador Armx Cortex

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
481
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
36
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. ● AGU (Adress Generation Unit). *Imagem feita no Paint.
  • 15. É implementado 2 estruturas de desvio: ● GHB (Global History Buffer). ● BTB (BranchTarget Buffer). ● Componentes da BTB. *Imagem feita no Paint.
  • 16. ● RAM (Random Acess Memory). ● TLB (Translation Lookaside Buffer). *Imagem feita no Paint.
  • 17. ● 12 Entradas. *Imagem feita no Paint.
  • 18. *Imagem feita no Paint.
  • 19. *Imagem feita no Paint.
  • 20. *Imagem feita no Paint.
  • 21. ● 2 ALU Pipe Sysmetric. ● LS Pipe. ● O pipeline executa. *Imagem feita no Paint.
  • 22. ● Branch Mispredict Penalty *Imagem feita no Paint.
  • 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. 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. 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. 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. ●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. 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. 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. *Imagem feita no Paint.

×