Vous êtes sur la page 1sur 21

Sistemas Digitais II 1

SISTEMAS DIGITAIS II
NOME DA DISCIPLINA

Fernando
NOME Antônio Camargo
DO PROFESSOR
Sidney José Montebeller
Arquiteturas dos Computadores

Arquitetura Harvard Arquitetura von Neumann


• Acessos diferenciados às • Acessos comum às
memórias de dados e de memórias de dados e de
programa. programa.
• Utilizado em muitos • Utilizado nos computadores
microcontroladores (ex: PIC) e processadores (ex: x86)

Sistemas Digitais II 3
RISC x CISC

As duas principais arquiteturas de computador são:


• RISC = Reduced Instruction Set Computer
• Arquitetura simples.
• Conjunto simples de instruções
• Grande número de registradores
• Unidade de Controle simples, barata e menor consumo
• CISC = Complex Instruction Set Computer
• Arquitetura complexa
• Maior variedade de instruções e acesso à memória
• Poucos registradores
• Unidade de Controle complexa, mais custosa e maior consumo

Sistemas Digitais II 4
Exemplo de CISC

Os processadores da INTEL são exemplos de arquitetura CISC:


• Várias opções de acesso a registradores e/ou memória
• Variedade de tipos de dados
• Variáveis na memória são operados diretamente
• Instruções mais complexas
• Estágios de pipeline: 20 a 30
• Dependência entre instruções seguintes dificulta pipeline
• Para maior performance, executa instruções fora de ordem

Sistemas Digitais II 5
Exemplo de CISC - continuação

Os processadores da INTEL são exemplos de arquitetura CISC:


• Possuem bilhões de transistores
• Intel Core i7-6950X tem 4,7 bilhões de transistores
• Os chips possuem mais de 1000 pinos
• Precisam de algum tipo de refrigeração

Sistemas Digitais II 6
Exemplo de RISC

Os processadores ARM são exemplos de arquitetura RISC:


• Poucas opções de endereçamento
• Maioria das operações são entre registradores
• Instruções mais simples
• Estágios de pipeline: 4 a 10
• Maior previsibilidade com ganho no pipeline

Sistemas Digitais II 7
Exemplo de RISC - continuação

Os processadores da QUALCOMM são exemplos de arquitetura RISC:


• Possuem milhões de transistores
• ARM Cortex 9 tem 26 milhões de transistores
• A maioria das implementações são SoC (System-on-Chip)
• A maioria das implementações dispensam refrigeração

Sistemas Digitais II 8
Breve História do ARM

ARM é um acrônimo de Advanced RISC Machine


• 1983~1985, Acorn Computers Limited (Inglaterra) desenvolve o
primeiro RISC comercial (arquitetura 32-bits)
• Baseado no baseado no processador Berkeley RISC I
• 1985, protótipos do ARM1 são fabricados pela VLSI Technilogy
• ARM2 lançado com funcionalidades adicionais (ex: multiplicação)
• 1989, lançado ARM3
• Clock maior e cache
• 1990, fundada a Advanced ARM Ltd
• Junção da Acorn com a Apple Computer e a VLSI Technology.
• 1991, produção do ARM6 com 35.000 transistores
• Suporte a endereçamento de 32-bits e coprocessador (ponto flutuante)
• Apple utilizou no seu primeiro tablet: Newton
• 1994, produção do ARM7 – mais eficiente que o ARM6
• Consumia 50% menos e tinha uma performance de 50%~100% maior
• Início da revolução dos produtos “mobile”

Sistemas Digitais II 9
Breve História do ARM - continuação

ARM é um acrônimo de Advanced RISC Machine


• 1994, lançado o ARM7TDMI com 3 estágios de pipeline
• Alta performance com baixo consumo (usado Game Boy Advance, iPod)
• 1995, a DEC produz o StrongARM sob licença
• 1996, lançado o ARM8 com 5 estágios de pipeline
• 2000, lançado o ARM9TDMI com 5 estágios de pipeline
• Utilizado em calculadoras HP
• 2001, lançado o ARM9E com instruções para DSP e Thumb
• Thumb oferece um set de instruções de 16-bits
• Utilizado em videogames da Nintendo e telefones (ex: Sony Ericson)
• 2002, lançado o ARM10E com 6 estágios de pipeline e cache maior
• 2006, a Intel lança o Xscale – baseado na tecnologia do StrongARM

Sistemas Digitais II 10
ARM

Família Versão MIPS @ Características


MHz
ARM1 ARMv1 16 registradores; 32 bits de dados; 26 bits de
endereço
ARM2 ARMv2 7 MIPS @ Multiplicador; suporte a coprocessador; bancos
12 MHz de registradores para interrupções rápidas (FIQ)
ARM3 ARMv2 12 MIPS @ Primeira cache interna (4KB)
25 MHz

ARM6 ARMv3 28 MIPS @ 32 bits de endereço; multiplicação longo


33 MHz (32x32=64)

ARM7 ARMv3 40 MHz Registradores de estado da CPU; novos modos


de execução da CPU; cache 8KB

Sistemas Digitais II 11
ARM (continuação)

Família Versão MIPS @ Características


MHz
ARM7T ARMv4T 63 DMIPS Instruções de 16 bits (“Thumb”); pipeline de 3
@ 70 MHz estágios
ARM8 ARMv4 84 MIPS @ Pipeline de 5 estágios; “branch prediction”;
72 MHz cache de 8KB/8KB com MMU
ARM9E ARMv5TE 220 MIPS Novas instruções; módulo de acelerador Java;
@ 200 MHz instruções para processamento DSP

ARM10E ARMv5TE Pipeline de 6 estágios; cache de 32KB/32KB


com MMU

ARM11 ARMv6 965 DMIPS Pipeline de 8 estágios; Melhor suporte à


@ 772 MHz memória, gerenciamento de exceções e
multiprocessamento; introdução do Thumb-2
Sistemas Digitais II 12
CORTEX

Família Versão Características Uso principal


Cortex-A ARMv7-A Altíssima Automotiva
(32 bits) performance Mobile
ARMv8-A Medica
(32/64 bits)
Cortex-R ARMv7-R Processamento em Automotiva
ARMv8-R tempo real Indústria
Câmeras
Cortex-M ARMv6-M Baixo consumo e Automotiva
ARMv7-M baixo custo Dispositivos inteligentes
ARMv7E-M Aplicações seguras
SecurCore Resistente à Resistente à Sistemas de pagamento
adulteração adulteração SIM
(“Tamper”) (“Tamper”) Smartcards

Sistemas Digitais II 13
Cortex A

Agora com suporte à arquitetura de 64 bits (AArch64) além da de 32


bits (AArch32)

Sistemas Digitais II 14
Cortex R

As novas funções incluem memória determinística, unidade de proteção


de memória (MPU), e suporte ao conjunto de instruções A32 e T32

Sistemas Digitais II 15
Cortex M

Para sistemas embarcados de baixo custo, baixa latência no


processamento de interrupções. Novo modelo de tratamento de exceções
e suporte ao conjunto de instruções T32

Sistemas Digitais II 16
Principais Características do ARM

• Instruções fixas de 32 bits de largura alinhadas em 4 bytes


consecutivos da memória
• Instruções Thumb compactas de 16 bits
• Execução condicional
• Capacidade de executar operações de deslocamento e na ULA com uma
única instrução executada em um ciclo de clock
• Arquitetura Load-Store: as instruções somente processarão valores
que estiverem nos registradores e sempre armazenarão os
resultados em algum registrador.
• Formato de instruções de 3 endereços (isto é, os dois registradores
operandos e o registrador de resultado são independentemente
especificados
• Instruções de carga e armazenamento de múltiplos registradores
• 15 registradores de 32 bits para uso geral
• Manipulação de periféricos de I/O como dispositivos mapeados
na memória, com suporte à interrupções

Sistemas Digitais II 17
Modos da CPU

• Modo Usuário: O único modo não privilegiado


• Modo FIQ: Modo privilegiado para interrupção rápida (Fast Interrupt Requests)
• Modo IRQ: Modo privilegiado ao aceitar uma interrupção
• Modo Supervisor (SVC): Modo privilegiado ao inicializar a CPU ou executou a instrução SVC
• Modo de anulação: Modo privilegiado da exceção de anulação automática ou anulação de dados.
• Modo indefinido: Modo privilegiado da exceção de instrução indefinida.
• Modo Sistema (ARMv4 e acima): Modo privilegiado ao executar uma instrução que grava no CPSR
(Current Program Status Register) de outro modo privilegiado
• Modo monitor (ARMv6 e ARMv7 Security Extensions, ARMv8 EL3): Suportar a extensão TrustZone
em núcleos ARM.
• Modo Hyp (ARMv7 Virtualization Extensions, ARMv8 EL2): Modo de hipervisor que suporta os
requisitos de virtualização de Popek e Goldberg para a operação não segura da CPU
• Modo thread (ARMv6-M, ARMv7-M, ARMv8-M): Modo que pode ser especificado como privilegiado
ou não privilegiado, enquanto o MSP (Main Stack Pointer) ou PSP (Process Stack Pointer) é usado.
• Modo do manipulador (ARMv6-M, ARMv7-M, ARMv8-M): Um modo dedicado para tratamento de
exceções (exceto o RESET que é tratado no modo Thread). O modo manipulador sempre usa o MSP
e funciona em nível privilegiado.

Sistemas Digitais II 18
Registradores

Sistemas Digitais II 19
Registradores

• Registradores R0 a R7 são os mesmos em todos os modos de CPU; eles nunca


são acumulados.

• Registradores R8 a R12 são os mesmos em todos os modos de CPU, exceto no


modo FIQ. O modo FIQ possui seus próprios registros R8 a R12.

• R13 e R14 são colocados em todos os modos de CPU privilegiados, exceto o


modo de sistema. Ou seja, cada modo que pode ser inserido devido a uma
exceção tem seu próprio. Esses registradores geralmente contêm o ponteiro da
pilha e o endereço de retorno das chamadas de função, respectivamente.

• R13 também é conhecido como SP, o Stack Pointer.


• R14 também é conhecido como LR, o registro de links.
• R15 também é referido como PC, o contador de programas.

Sistemas Digitais II 20
Apresentar arquivo

Mostrar o conteúdo do arquivo “ARM System Developer's Guide”


• Apresentar o índice
• Identificar os principais elementos
• Relacionar tópicos com objetos de aprendizados anteriores
• Ex: processador do Arduino
• Enfatizar a importância de assimilar os conceitos
• Cada fabricante pode dar nomes diferentes, mas os principais elementos estão
sempre presentes

Sistemas Digitais II 21

Vous aimerez peut-être aussi