SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Aula 06 barramentos e recursos onboard
Aula 06 barramentos e recursos onboardAula 06 barramentos e recursos onboard
Aula 06 barramentos e recursos onboardAlexandrino Sitoe
 
Sistemas Digitais - Aula 04 - Internet das Coisas
Sistemas Digitais - Aula 04 - Internet das CoisasSistemas Digitais - Aula 04 - Internet das Coisas
Sistemas Digitais - Aula 04 - Internet das CoisasSuzana Viana Mota
 
Processadores - CPU
Processadores - CPUProcessadores - CPU
Processadores - CPURoney Sousa
 
Aula 04 isc - a informação e sua representação
Aula 04   isc - a informação e sua representaçãoAula 04   isc - a informação e sua representação
Aula 04 isc - a informação e sua representaçãoFábio Andrade
 
Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresWellington Oliveira
 
Algoritimo de threads
Algoritimo de threadsAlgoritimo de threads
Algoritimo de threadsIsraelCunha
 
Introdução à Segurança de Redes
Introdução à Segurança de RedesIntrodução à Segurança de Redes
Introdução à Segurança de RedesSofia Trindade
 
Aula 09 - Memórias do Computador
Aula 09 - Memórias do ComputadorAula 09 - Memórias do Computador
Aula 09 - Memórias do ComputadorSuzana Viana Mota
 
Aula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - WindowsAula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - WindowsSuzana Viana Mota
 
Barramentos clock interno
Barramentos clock internoBarramentos clock interno
Barramentos clock internocabaldreams
 
Arquitetura de Computadores: Sistemas de numeração
Arquitetura de Computadores: Sistemas de numeraçãoArquitetura de Computadores: Sistemas de numeração
Arquitetura de Computadores: Sistemas de numeraçãoAlex Camargo
 
Aula 4 - História e evolução dos Computadores
Aula 4 - História e evolução dos ComputadoresAula 4 - História e evolução dos Computadores
Aula 4 - História e evolução dos ComputadoresVitor Hugo Melo Araújo
 

Was ist angesagt? (20)

Aula 06 barramentos e recursos onboard
Aula 06 barramentos e recursos onboardAula 06 barramentos e recursos onboard
Aula 06 barramentos e recursos onboard
 
Sistemas Digitais - Aula 04 - Internet das Coisas
Sistemas Digitais - Aula 04 - Internet das CoisasSistemas Digitais - Aula 04 - Internet das Coisas
Sistemas Digitais - Aula 04 - Internet das Coisas
 
Processadores - CPU
Processadores - CPUProcessadores - CPU
Processadores - CPU
 
Aula 08 - Placa Mãe
Aula 08 - Placa MãeAula 08 - Placa Mãe
Aula 08 - Placa Mãe
 
Aula 01 chipset
Aula 01   chipsetAula 01   chipset
Aula 01 chipset
 
Barramentos
Barramentos Barramentos
Barramentos
 
Aula 04 isc - a informação e sua representação
Aula 04   isc - a informação e sua representaçãoAula 04   isc - a informação e sua representação
Aula 04 isc - a informação e sua representação
 
Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de Computadores
 
Algoritimo de threads
Algoritimo de threadsAlgoritimo de threads
Algoritimo de threads
 
Memoria principal
Memoria principalMemoria principal
Memoria principal
 
Introdução à Segurança de Redes
Introdução à Segurança de RedesIntrodução à Segurança de Redes
Introdução à Segurança de Redes
 
Memórias
MemóriasMemórias
Memórias
 
Aula 09 - Memórias do Computador
Aula 09 - Memórias do ComputadorAula 09 - Memórias do Computador
Aula 09 - Memórias do Computador
 
Processadores
ProcessadoresProcessadores
Processadores
 
Disco rígido
Disco rígidoDisco rígido
Disco rígido
 
Aula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - WindowsAula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - Windows
 
Aula 15 processadores
Aula 15 processadoresAula 15 processadores
Aula 15 processadores
 
Barramentos clock interno
Barramentos clock internoBarramentos clock interno
Barramentos clock interno
 
Arquitetura de Computadores: Sistemas de numeração
Arquitetura de Computadores: Sistemas de numeraçãoArquitetura de Computadores: Sistemas de numeração
Arquitetura de Computadores: Sistemas de numeração
 
Aula 4 - História e evolução dos Computadores
Aula 4 - História e evolução dos ComputadoresAula 4 - História e evolução dos Computadores
Aula 4 - História e evolução dos Computadores
 

Ähnlich wie Arm Cortex

Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core DuoSamuel Bié
 
Apresentacao
ApresentacaoApresentacao
Apresentacaopcassio23
 
Processadores core i3 e amd
Processadores core i3 e amdProcessadores core i3 e amd
Processadores core i3 e amdMario Kleber
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadoresmiroslayer
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoFabio Souza
 
Pentium pro trabalho
Pentium pro   trabalhoPentium pro   trabalho
Pentium pro trabalhoRafael Cruz
 
Sistemas embarcados: motivação e primeiros passos
Sistemas embarcados: motivação e primeiros passosSistemas embarcados: motivação e primeiros passos
Sistemas embarcados: motivação e primeiros passosMarcelo Barros de Almeida
 
10 apostila microcontroladores
10  apostila microcontroladores10  apostila microcontroladores
10 apostila microcontroladoresAlyson Cavalcante
 
Hardware apresentação 5 - cpu e sockets
Hardware   apresentação 5 - cpu e socketsHardware   apresentação 5 - cpu e sockets
Hardware apresentação 5 - cpu e socketsLuiz Pereira de Souza
 
Descrição dos componentes
Descrição dos componentesDescrição dos componentes
Descrição dos componentesTiago
 
Hardware
HardwareHardware
HardwareTiago
 
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009 Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009 ASUS Brazil
 
Aula 04 barramentos de expansão
Aula 04   barramentos de expansãoAula 04   barramentos de expansão
Aula 04 barramentos de expansãoMarcos Basilio
 
Placa mãe e barramentos
Placa mãe e barramentosPlaca mãe e barramentos
Placa mãe e barramentosNeil Azevedo
 

Ähnlich wie Arm Cortex (20)

G20 arm
G20 armG20 arm
G20 arm
 
Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core Duo
 
Apresentacao
ApresentacaoApresentacao
Apresentacao
 
Processadores core i3 e amd
Processadores core i3 e amdProcessadores core i3 e amd
Processadores core i3 e amd
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadores
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - Introdução
 
Pentium pro trabalho
Pentium pro   trabalhoPentium pro   trabalho
Pentium pro trabalho
 
Resumo x86
Resumo x86Resumo x86
Resumo x86
 
Ac16 conjunto de instruções v2
Ac16   conjunto de instruções v2Ac16   conjunto de instruções v2
Ac16 conjunto de instruções v2
 
Sistemas embarcados: motivação e primeiros passos
Sistemas embarcados: motivação e primeiros passosSistemas embarcados: motivação e primeiros passos
Sistemas embarcados: motivação e primeiros passos
 
Unitec processador
Unitec processadorUnitec processador
Unitec processador
 
10 apostila microcontroladores
10  apostila microcontroladores10  apostila microcontroladores
10 apostila microcontroladores
 
Hardware apresentação 5 - cpu e sockets
Hardware   apresentação 5 - cpu e socketsHardware   apresentação 5 - cpu e sockets
Hardware apresentação 5 - cpu e sockets
 
Programando microcontroladores pic março
Programando microcontroladores pic marçoProgramando microcontroladores pic março
Programando microcontroladores pic março
 
Descrição dos componentes
Descrição dos componentesDescrição dos componentes
Descrição dos componentes
 
Hardware
HardwareHardware
Hardware
 
Resumo arm
Resumo arm Resumo arm
Resumo arm
 
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009 Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
 
Aula 04 barramentos de expansão
Aula 04   barramentos de expansãoAula 04   barramentos de expansão
Aula 04 barramentos de expansão
 
Placa mãe e barramentos
Placa mãe e barramentosPlaca mãe e barramentos
Placa mãe e barramentos
 

Mehr von Laís Berlatto

Cucumber - Um breve Review
Cucumber - Um breve ReviewCucumber - Um breve Review
Cucumber - Um breve ReviewLaís Berlatto
 
Testes de usabilidade
Testes de usabilidade Testes de usabilidade
Testes de usabilidade Laís Berlatto
 
Specificationby example
Specificationby example Specificationby example
Specificationby example Laís Berlatto
 
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...Laís Berlatto
 
Programação Diversitária
Programação DiversitáriaProgramação Diversitária
Programação DiversitáriaLaís Berlatto
 
Cucumber: um breve review
Cucumber: um breve reviewCucumber: um breve review
Cucumber: um breve reviewLaís Berlatto
 
Specification By Example: Estudo de caso em uma software house
Specification By Example: Estudo de caso em uma software houseSpecification By Example: Estudo de caso em uma software house
Specification By Example: Estudo de caso em uma software houseLaís Berlatto
 
Data encryption standard DES & 3DES
Data encryption standard DES & 3DESData encryption standard DES & 3DES
Data encryption standard DES & 3DESLaís Berlatto
 
Como o Cucumber Funciona
Como o Cucumber FuncionaComo o Cucumber Funciona
Como o Cucumber FuncionaLaís Berlatto
 
Histórico da informática
Histórico da informáticaHistórico da informática
Histórico da informáticaLaís Berlatto
 
Especificações da ISO para gestão de Segurança da Informação
Especificações da ISO para gestão de Segurança da InformaçãoEspecificações da ISO para gestão de Segurança da Informação
Especificações da ISO para gestão de Segurança da InformaçãoLaís Berlatto
 
Modelos de Previsão para sistemas de turbulência
Modelos de Previsão para sistemas de turbulênciaModelos de Previsão para sistemas de turbulência
Modelos de Previsão para sistemas de turbulênciaLaís Berlatto
 

Mehr von Laís Berlatto (20)

Cucumber - Um breve Review
Cucumber - Um breve ReviewCucumber - Um breve Review
Cucumber - Um breve Review
 
Testes de usabilidade
Testes de usabilidade Testes de usabilidade
Testes de usabilidade
 
Specificationby example
Specificationby example Specificationby example
Specificationby example
 
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
 
Ruby
RubyRuby
Ruby
 
E-business
E-businessE-business
E-business
 
Programação Diversitária
Programação DiversitáriaProgramação Diversitária
Programação Diversitária
 
Cucumber: um breve review
Cucumber: um breve reviewCucumber: um breve review
Cucumber: um breve review
 
Specification By Example: Estudo de caso em uma software house
Specification By Example: Estudo de caso em uma software houseSpecification By Example: Estudo de caso em uma software house
Specification By Example: Estudo de caso em uma software house
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Data encryption standard DES & 3DES
Data encryption standard DES & 3DESData encryption standard DES & 3DES
Data encryption standard DES & 3DES
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
Amostragem
AmostragemAmostragem
Amostragem
 
Estudo de caso
Estudo de casoEstudo de caso
Estudo de caso
 
Como o Cucumber Funciona
Como o Cucumber FuncionaComo o Cucumber Funciona
Como o Cucumber Funciona
 
Ética hacker
Ética hackerÉtica hacker
Ética hacker
 
Histórico da informática
Histórico da informáticaHistórico da informática
Histórico da informática
 
Especificações da ISO para gestão de Segurança da Informação
Especificações da ISO para gestão de Segurança da InformaçãoEspecificações da ISO para gestão de Segurança da Informação
Especificações da ISO para gestão de Segurança da Informação
 
Modelos de Previsão para sistemas de turbulência
Modelos de Previsão para sistemas de turbulênciaModelos de Previsão para sistemas de turbulência
Modelos de Previsão para sistemas de turbulência
 

Arm Cortex

  • 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.
  • 10. 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].
  • 11. 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
  • 12. 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.
  • 13. 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;
  • 14. 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.
  • 15. ● AGU (Adress Generation Unit). *Imagem feita no Paint.
  • 16. É implementado 2 estruturas de desvio: ● GHB (Global History Buffer). ● BTB (BranchTarget Buffer). ● Componentes da BTB. *Imagem feita no Paint.
  • 17. ● RAM (Random Acess Memory). ● TLB (Translation Lookaside Buffer). *Imagem feita no Paint.
  • 18. ● 12 Entradas. *Imagem feita no Paint.
  • 22. ● 2 ALU Pipe Sysmetric. ● LS Pipe. ● O pipeline executa. *Imagem feita no Paint.
  • 23. ● Branch Mispredict Penalty *Imagem feita no Paint.
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. ●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
  • 29. 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)
  • 30. 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.