• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Arm Cortex
 

Arm Cortex

on

  • 330 views

Descrição arquitetura processador Armx Cortex

Descrição arquitetura processador Armx Cortex

Statistics

Views

Total Views
330
Views on SlideShare
330
Embed Views
0

Actions

Likes
0
Downloads
11
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Arm Cortex Arm Cortex Presentation Transcript

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