Buscar

IAC-INF1029-Vol3-Estrutura e Função do Processador

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 84 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 84 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 84 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Introdução à Arquitetura de 
Computadores
Anderson Oliveira da Silva
Ph. D. Ciências em Informática
Engenheiro de Computação
anderson@inf.puc-rio.br
Departamento de Informática
PUC-Rio
2
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte II –
Unidade Central de Processamento
Estrutura e Função do Processador
– Organização do Processador
» UC, ALU, Registradores, Barramento Interno
– Organização dos Registradores
» Registradores visíveis ao usuário x Registradores de controle e estado
– Ciclo da Instrução
» Buscar, Executar e Interromper
– Pipeline de Instruções
» Estratégia do pipeline
» Desempenho do pipeline
» Hazards do pipeline
– Família de Processadores x86
– Processadores ARM
3
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Unidade Central 
de Processamento
4
Estrutura e Função do Processador
Operações básicas do processador
– Busca da instrução: o processador lê uma instrução da 
memória (registrador, cache, memória principal).
– Interpretação da instrução: a instrução é decodificada para 
determinar qual ação é necessária.
– Busca dos dados: a execução de uma instrução pode 
necessitar a leitura de dados da memória ou de um módulo de 
E/S.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
5
Estrutura e Função do Processador
Operações básicas do processador
– Processamento dos dados: a execução de uma instrução 
pode necessitar efetuar alguma operação aritmética ou lógica 
com os dados.
– Escrita dos dados: os resultados de uma execução podem 
necessitar escrever dados para a memória ou para um módulo 
de E/S.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
6
Estrutura e Função do Processador
Organização do processador
– CPU com barramento do sistema:
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Unidade
de Controle Registradores
ALU
Barramento de 
Controle
Barramento de 
Dados
Barramento de 
Endereço
Barramento do 
Sistema
7
Estrutura e Função do Processador
Organização do processador
– Estrutura interna da CPU:
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Unidade Lógica e Aritmética
Arimética
e Lógica 
Booleana
Complementador Deslocador Flags de estado
Barramento Interno da CPU
Unidade de 
Controle
Registradores
...
Linhas de 
Controle
8
Estrutura e Função do Processador
Organização dos registradores
– Os registradores no processador são divididos em dois grupos:
– Registradores visíveis ao usuário: possibilitam que o 
programador de linguagem de máquina ou de montagem 
minimize as referências à memória principal, maximizando o 
uso dos registradores.
– Registradores de controle e de estado: usados pela unidade 
de controle para controlar a operação do processador e por 
programas privilegiados do Sistema Operacional para controlar 
a execução de programas.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
9
Estrutura e Função do Processador
Registradores visíveis ao usuário
– São aqueles que podem ser referenciados pelos recursos da 
linguagem de máquina que o processador executa. 
– Podem ser divididos nas seguintes categorias:
» Uso geral: atribuídos a uma variedade de funções (operandos).
» Dados: usados apenas para guardar dados.
» Endereços: ponteiros de segmento, registradores de índice e ponteiros 
de pilha.
» Códigos condicionais (flags): resultado de operações (positivo, 
negativo, zero ou overflow).
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
10
Estrutura e Função do Processador
Registradores de controle e de estado
– Quatro registradores são essenciais:
» Contador de programas (PC): contém o endereço de uma instrução a 
ser lida (também conhecido como ponteiro de instrução – IP).
» Registrador da instrução (IR): contém a instrução mais recentemente 
lida.
» Registrador de endereço de memória (MAR): contém o endereço de 
um local de memória.
» Registrador de buffer de memória (MBR): contém uma palavra de 
dados para ser escrita na memória ou a palavra mais recentemente lida.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
11
Estrutura e Função do Processador
Registradores de controle e de estado
– Muitos modelos de processador incluem um registrador ou 
conjunto de registradores que contém códigos condicionais e 
outras informações de estado, geralmente conhecido como 
palavra de estado do programa (PSW – Program Status 
Word), 
– Campos comuns ou flags presentes, são:
» Sinal: contém o bit de sinal do resultado da última operação aritmética.
» Zero: definido em 1 quando o resultado é 0.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
12
Estrutura e Função do Processador
Registradores de controle e de estado
– Campos comuns ou flags incluem:
» Carry: definido em 1 se uma operação resultou em um carry ou um 
empréstimo de um bit de ordem maior (vai um). 
» Igual: definido em 1 se uma comparação lógica resultou em igualdade.
» Overflow: usado para indicar overflow aritmético.
» Habilitar/desabilitar interrupção: usado para habilitar ou desabilitar 
interrupções.
» Supervisor: indica se o processador está executando no modo 
supervisor ou usuário.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
13
Estrutura e Função do Processador
Exemplos de organização de registradores:
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 2018 
14
Estrutura e Função do Processador
Ciclo da instrução
– Inclui os seguintes estágios:
– Buscar: lê a próxima instrução da memória para dentro do 
processador.
– Executar: interpreta opcode e efetua a operação indicada.
– Interromper: se as interrupções estão habilitadas e uma 
interrupção ocorre, salva o estado do processo atual e atende 
a interrupção.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
15
Estrutura e Função do Processador
Diagrama de estado do ciclo de instrução
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 2018 
16
Estrutura e Função do Processador
Fluxo de dados do ciclo de busca
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
CPU
MAR
PC
Barramento de 
Endereço
Barramento de 
Dados
Barramento de 
Controle
UCMBR
IR
Memória
MBR = Registrador de Buffer de Memória
MAR = Registrador de Endereço de Memória
IR = Registrador de Instrução
PC = Contador de Programa
UC = Unidade de Controle
17
Estrutura e Função do Processador
Fluxo de dados do ciclo indireto
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
CPU
MAR
Barramento de 
Endereço
Barramento de 
Dados
Barramento de 
Controle
UCMBR
Memória
MBR = Registrador de Buffer de Memória
MAR = Registrador de Endereço de Memória
UC = Unidade de Controle
18
Estrutura e Função do Processador
Fluxo de dados do ciclo de interrupção
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
CPU
MAR
PC
Barramento de 
Endereço
Barramento de 
Dados
Barramento de 
Controle
UCMBR
Memória
MBR = Registrador de Buffer de Memória
MAR = Registrador de Endereço de Memória
PC = Contador de Programa
UC = Unidade de Controle
19
Estrutura e Função do Processador
Pipeline de instruções
– É semelhante ao uso de uma linha de montagem numa planta 
industrial.
– Pode ser aplicado à execução da instrução pois uma instrução 
possui vários estágios.
– O pipeline possui dois estágios independentes.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
20
Estrutura e Função do Processador
Pipeline de instruções: dois estágios independentes
– O primeiro estágio obtém a instrução e a coloca no buffer.
– Quando o segundo estágio está livre, o primeiro estágio passa 
a instrução do buffer para o segundo.– Enquanto o segundo estágio está executando a instrução, o 
primeiro estágio aproveita qualquer ciclo de memória não 
utilizado para buscar a próxima instrução e colocá-la no buffer. 
– Essa operação é chamada de busca antecipada (prefetch) 
ou busca sobreposta.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
21
Estrutura e Função do Processador
Pipeline de instruções de dois estágios
– Se os estágios de leitura e execução forem de duração igual, 
o ciclo da instrução será reduzida pela metade.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
22
Estrutura e Função do Processador
Pipeline de instruções de dois estágios
– Porém, dobrar a taxa de execução é pouco provável pois:
1. O tempo de execução normalmente será maior que o tempo de busca.
2. Uma instrução de desvio condicional faz com que o endereço da próxima 
instrução a ser obtida não seja conhecido antecipadamente.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
23
Estrutura e Função do Processador
Pipeline de instruções (aceleração)
– Para obter mais aceleração, o pipeline deve ter mais estágios.
» Buscar Instrução (FI – Fetch Instruction)
» Decodificar Instrução (DI – Decode Instruction)
» Calcular Operandos (CO – Calculate Operands)
» Buscar Operandos (FO – Fetch Operands)
» Executar Instrução (EI – Execute Instruction)
» Escrever Operando (WO – Write Operand)
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
24
Estrutura e Função do Processador
Diagrama de tempo para operação do pipeline de 
instrução
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Se as nove instruções fossem executadas em sequência sem o pipeline, a execução terminaria 
em t=54 (6 ciclos x 9 instruções), ou seja, a execução seria 3,8 vezes mais lenta!
1. Buscar Instrução (FI – Fetch Instruction)
2. Decodificar Instrução (DI – Decode Instruction)
3. Calcular Operandos (CO – Calculate Operands)
4. Buscar Operandos (FO – Fetch Operands)
5. Executar Instrução (EI – Execute Instruction)
6. Escrever Operando (WO – Write Operand)
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 2018 
FI DI CO FO EI WO
1 2 3 4 5 6 7 8 9 10 11 12 13 14
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI FO EI
Linha do Tempo
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO EI WO
WO
Instrução 1
Instrução 2
Instrução 3
Instrução 4
Instrução 5
Instrução 6
Instrução 7
Instrução 8
Instrução 9
CO
25
Estrutura e Função do Processador
Efeito de um desvio condicional na operação do 
pipeline de instrução
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
1. Buscar Instrução (FI – Fetch Instruction)
2. Decodificar Instrução (DI – Decode Instruction)
3. Calcular Operandos (CO – Calculate Operands)
4. Buscar Operandos (FO – Fetch Operands)
5. Executar Instrução (EI – Execute Instruction)
6. Escrever Operando (WO – Write Operand)
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 2018 
FI DI CO FO EI WO
1 2 3 4 5 6 7 8 9 10 11 12 13 14
FI DI CO FO EI WO
FI DI CO FO
FI DI CO
FI DI
FI
Linha do Tempo
Penalidade por 
desvio
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO EI WO
Instrução 1
Instrução 2
Instrução 3
Instrução 4
Instrução 5
Instrução 6
Instrução 7
Instrução 15
Instrução 16
A penalidade pelo desvio é alta. No mesmo período de 14 unidades de tempo, apenas 5 
instruções serão executadas. Além disso, o pipeline precisará ser esvaziado antes do 
desvio efetivamente acontecer. 
26
Estrutura e Função do Processador
Outros efeitos que prejudicam a operação do pipeline 
de instrução
– O estágio CO (Calculate Operand) pode depender do 
conteúdo de um registrador que pode ser alterado por uma 
instrução anterior que ainda esteja no pipeline.
– Outros conflitos de registradores e memória desse tipo podem 
ocorrer com outras instruções que estão no pipeline.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
27
Estrutura e Função do Processador
Pipeline de instrução 
de seis estágios 
(fluxograma)
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 2018 
28
Estrutura e Função do Processador
Pipeline de instrução 
de seis estágios 
(visualização vertical)
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 2018 
29
Estrutura e Função do Processador
Desempenho do pipeline
– O tempo de ciclo t de um pipeline de instrução é o tempo 
necessário para que a instrução avance um estágio dentro do 
pipeline.
– Seja Ƭk,n o tempo total necessário para que um pipeline com k
estágios processe n instruções. Então, 
Por exemplo, para t = 1, k = 6, n = 9, Ƭ6,9 = 14.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 2018 
30
Estrutura e Função do Processador
Desempenho do pipeline
– Considere agora um processador com funções equivalentes, 
mas sem pipeline, e suponha que o tempo do ciclo da 
instrução seja kt. 
– O fator de aceleração para o pipeline de instruções 
comparado com a execução sem pipeline é definido como
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 2018 
31
Estrutura e Função do Processador
Desempenho do pipeline
– Conforme esperado, no limite (n → ), temos uma aceleração 
pelo fator k.
– Sendo assim, quanto maior o número de estágios do 
pipeline, maior o potencial para aceleração.
– Porém, na prática, os ganhos potenciais dos estágios 
adicionais do pipeline são confrontados pelo aumento do 
custo, ou seja, pelas demoras entre estágios e pelo fato de 
que os desvios irão requerer o esvaziamento do pipeline.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
32
Estrutura e Função do Processador
Desempenho do pipeline
– Fator de aceleração com pipeline de instrução.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 2018 
Para grandes sequências de instruções sem desvio e com pouca dependência entre si, a 
quantidade de estágios provoca um ganho de aceleração quase de 1 para 1, enquanto que 
para pequenas sequências de instruções com desvio ou com interdependência, o ganho 
de aceleração é proporcionalmente bem menor.
33
Estrutura e Função do Processador
Hazards do pipeline
– Ocorre quando o pipeline, ou alguma parte dele, deve parar 
porque as condições não permitem a execução contínua. 
– Tal parada do pipeline é também conhecida como
bolha de pipeline. 
– Existem três tipos de hazards: 
» Recursos;
» Dados; e
» Controle.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
34
Estrutura e Função do Processador
Hazards de Recursos
– Ocorre quando duas ou mais instruções que já estão no 
pipeline precisam do mesmo recurso.
– O resultado é que as instruções devem ser executadas em 
série em vez de em paralelo para uma parte do pipeline.
– Também é chamado de hazard estrutural.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
35
Estrutura e Função do Processador
Hazards de Recursos
– Exemplo: FO não pode ocorrer em paralelo com FI.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
Operando de I2 está na memóriaPipeline de 5 estágios, caso ideal
36
Estrutura e Função do Processador
Hazards de Dados
– Ocorre quando há um conflito no acesso de um local de 
operando.
– Por exemplo, duas instruçõesem um programa estão em 
sequência e ambas acessam um determinado operando em 
memória ou registrador.
– O programa poderá produzir um resultado incorreto se não 
ocorrer um atraso proposital no pipeline.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
37
Estrutura e Função do Processador
Hazards de Dados
– Leitura após escrita ou dependência verdadeira
» O hazard ocorre quando a operação de leitura acontece antes da escrita 
ter sido completada.
– Escrita após leitura ou antidependência
» O hazard ocorre se a operação de escrita é completada antes da 
operação de leitura.
– Escrita após escrita ou dependência de saída
» O hazard ocorre se as operações de escrita acontecerem na sequência 
inversa da esperada.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
38
Estrutura e Função do Processador
Hazards de Dados
– Exemplo de leitura após escrita (dependência verdadeira).
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
Registrador EAX é alterado pelo ADD, do qual o SUB depende
39
Estrutura e Função do Processador
Hazards de Controle
– Ocorre quando o pipeline toma uma decisão errada ao prever 
um desvio e assim acaba trazendo instruções dentro do 
pipeline que precisam ser descartadas logo em seguida.
– Também conhecido como hazard de desvio.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
40
Estrutura e Função do Processador
Hazards de Controle
– Exemplo: desvio ocorre após o ciclo da 3ª instrução.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
1. Buscar Instrução (FI – Fetch Instruction)
2. Decodificar Instrução (DI – Decode Instruction)
3. Calcular Operandos (CO – Calculate Operands)
4. Buscar Operandos (FO – Fetch Operands)
5. Executar Instrução (EI – Execute Instruction)
6. Escrever Operando (WO – Write Operand)
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 2018 
FI DI CO FO EI WO
1 2 3 4 5 6 7 8 9 10 11 12 13 14
FI DI CO FO EI WO
FI DI CO FO
FI DI CO
FI DI
FI
Linha do Tempo
Penalidade por 
desvio
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO EI WO
Instrução 1
Instrução 2
Instrução 3
Instrução 4
Instrução 5
Instrução 6
Instrução 7
Instrução 15
Instrução 16
A penalidade pelo desvio é alta. O pipeline precisará ser 
esvaziado antes do desvio efetivamente acontecer. 
41
Estrutura e Função do Processador
Lidando com desvios
– Um dos principais problemas ao se projetar um pipeline de 
instruções é garantir um fluxo estável de instruções para os 
estágios iniciais do pipeline.
– Uma série de abordagens foram implementadas para lidar 
com desvios condicionais:
» Múltiplos fluxos;
» Busca antecipada do alvo do desvio;
» Buffer de loops;
» Previsão de desvios; e
» Desvios atrasados.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
42
Estrutura e Função do Processador
Lidando com desvios
– Múltiplos fluxos
» Um pipeline simples tem penalidades na execução de uma instrução de 
desvio. 
» Uma abordagem tipo força bruta é replicar as partes iniciais do pipeline e 
permitir que o pipeline busque as duas instruções, fazendo assim uso de 
dois fluxos.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
43
Estrutura e Função do Processador
Lidando com desvios: Múltiplos Fluxos
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Instrução 3
FI DI CO FO EI WO
1 2 3 4 5 6 7 8 9 10 11 12 13 14
FI DI CO FO EI WO
FI DI CO FO
FI DI CO
FI DI
FI
Linha do Tempo
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO EI WO
Instrução 1
Instrução 2
Instrução 3
Instrução 4
Instrução 5
Instrução 6
Instrução 7
Instrução 15
Instrução 16
FI DI CO FO EI WO
1 2 3 4 5 6 7 8 9 10 11 12 13 14
FI DI CO FO EI WO
Linha do Tempo
FI DI CO FO EI WO
Instrução 1
Instrução 2
Pipeline Ativo: 
Fluxo 1 
carregado
Pipeline 
Alternativo: 
Fluxo 2 
carregado
44
Estrutura e Função do Processador
Lidando com desvios: Múltiplos Fluxos
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
FI DI CO FO EI WO
1 2 3 4 5 6 7 8 9 10 11 12 13 14
FI DI CO FO EI WO
FI DI CO FO
FI DI CO
FI DI
FI
Linha do Tempo
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO EI WO
Instrução 1
Instrução 2
Instrução 3
Instrução 4
Instrução 5
Instrução 6
Instrução 7
Instrução 15
Instrução 16
FI DI CO FO EI WO
1 2 3 4 5 6 7 8 9 10 11 12 13 14
FI DI CO FO EI WO
Linha do Tempo
FI DI CO FO EI WO
Instrução 1
Instrução 2
Instrução 3
Pipeline 
Alternativo: 
Fluxo 1 
será 
descartado
Pipeline 
Ativo: 
Fluxo 2 
será 
executado
45
Estrutura e Função do Processador
Lidando com desvios
– Busca antecipada do alvo do desvio
» Quando um desvio condicional é reconhecido, o alvo do desvio é lido 
antecipadamente, além da instrução que segue o desvio. Esse alvo é 
então salvo até que a instrução de desvio seja executada.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
FI DI CO FO EI WO
1 2 3 4 5 6 7 8
FI DI CO FO EI WO
FI DI CO FO
FI DI CO
FI DI
FI
Linha do Tempo
FI DI CO FO EI WO
Instrução 1
Instrução 2
Instrução 3
Instrução 4
Instrução 5
Instrução 6
Instrução 7
Cache L1 – Instrução
I1
I2
I3
I4
I5
I6
I7
I8
I9
I10
I11
I12
I13
I14
46
Estrutura e Função do Processador
Lidando com desvios
– Busca antecipada do alvo do desvio
» Quando um desvio condicional é reconhecido, o alvo do desvio é lido 
antecipadamente, além da instrução que segue o desvio. Esse alvo é 
então salvo até que a instrução de desvio seja executada.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
FI DI CO FO EI WO
1 2 3 4 5 6 7 8
FI DI CO FO EI WO
FI DI CO FO
FI DI CO
FI DI
FI
Linha do Tempo
FI DI CO FO EI WO
Instrução 1
Instrução 2
Instrução 3
Instrução 4
Instrução 5
Instrução 6
Instrução 7
Cache L1 – Instrução
I1
I2
I3
I4
I5
I6
I7
I15
I16
I17
I18
I19
I20
I21
47
Estrutura e Função do Processador
Lidando com desvios
– Buffer de loops
» O buffer de loops é semelhante, em princípio, a uma cache dedicada 
para instruções, mantida pelo estágio do pipeline de busca de instruções, 
e contém as n instruções mais recentemente lidas na sequência.
» Se um desvio está para ser tomado, o hardware primeiro verifica se o 
alvo do desvio já está no buffer. Se estiver, a próxima instrução é 
buscada do buffer.
» Também é bastante útil para ocorrências muito comuns das sequências 
IF-THEN e IF-THEN-ELSE.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
48
Estrutura e Função do Processador
Lidando com desvios: Buffer de loops
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Cache do Estágio 
da Pipeline
I1
I2
I3
I4
I5
I6
I7
Cache L1
Instruções
FI DI CO FO EI WO
1 2 3 4 5 6 7 8
FI DI CO FO EI WO
FI DI CO FO EI
FI DI CO FO
Linha do Tempo
FI DI CO FO EI WO
Instrução 1
Instrução 2
Instrução 3
Instrução 4
Instrução 5
6 7 8
WO
EI WO
FI DI CO FO EI WO
FI DI CO FO EI
FI DI CO FO
FI DI CO FO EI WO
WO
EI WO
Instrução 2
Instrução 3
Instrução 4
Instrução 5
9 10 11
49
Estrutura e Função do Processador
Lidando com desvios
– Previsão de desvios
» Várias técnicas podem ser usadas para prever se um desvio será tomado.
» Previsão nunca tomada: a suposição é que o desvio nunca acontecerá.
» Previsão sempre tomada: a suposição é que o desvio sempre acontecerá.
» Previsão por opcode: decidido em função do opcode da instrução.
» Estas três primeiras abordagens são estáticas e não dependem do histórico 
da execução até o momento da previsão.
» Segundo Stallings, (LILIA, 1988) afirma que os desvios condicionais são 
tomados em mais de 50% das vezes.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
50
Estrutura e Função do Processador
Lidando com desvios
– Previsão de desvios
» Várias técnicas podem ser usadas para prever se umdesvio será tomado.
» Chave tomada/não tomada: associa bits de histórico de desvio às 
instruções para auxiliar na tomada de decisão em uma nova execução.
» Tabela de histórico de desvio: mantém uma tabela de histórico de desvios 
com três elementos: o endereço da instrução de desvio, bits de histórico de 
desvios e informação sobre a instrução alvo (seu endereço ou a própria 
instrução).
» Essas duas abordagens são dinâmicas e dependem do histórico da 
execução.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
51
Estrutura e Função do Processador
Lidando com desvios
– Previsão de desvios: Chave tomada/não tomada
» Se a decisão for fazer o desvio, a instrução alvo deverá ser buscada na 
memória.
– Previsão de desvios:Tabela de histórico de desvio
» Se a decisão for fazer o desvio, a instrução alvo está na tabela.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Chave Instrução
110 JZ
Endereço da
Instrução de Desvio
Bits de 
histórico
Instrução Alvo
0x024f0100 110 MOV EAX,EBX
52
Estrutura e Função do Processador
Lidando com desvios
– Desvios atrasados
» É possível melhorar o desempenho do pipeline rearranjando 
automaticamente as instruções dentro de um programa, atrasando a 
execução de algumas instrução para evitar a bolha no pipeline.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
53
Estrutura e Função do Processador
Pipeline no Intel 80486
– Implementa um pipeline de cinco estágios:
» Busca: o objetivo é preencher um de dois buffers de busca antecipada com 
dados novos assim que os dados antigos tenham sido consumidos pelo 
decodificador da instrução.
» Estágio de decodificação 1: toda a informação de opcode e modo de 
endereçamento é decodificada no estágio D1.
» Estágio de decodificação 2: o estágio D2 traduz cada opcode em sinais 
de controle para ALU.
» Execução: este estágio inclui operações da ALU, acesso à cache e 
atualização de registradores.
» Write back: este estágio, se necessário, atualiza registradores e flags de 
estado modificados durante o processo da execução anterior.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
54
Estrutura e Função do Processador
Pipeline no Intel 80486
– Situação 1:
» Não há atraso para carregar dados no pipeline quando é necessário fazer 
um acesso à memória( ex: dados estão na cache).
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
55
Estrutura e Função do Processador
Pipeline no Intel 80486
– Situação 2:
» Pode haver atraso para valores usados para calcular endereço de memória 
(atraso para carregar o ponteiro).
» Para compensar o atraso, o estágio WB da primeira instrução alimenta o 
estágio D2 da instrução seguinte, o que acelera o processamento.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
56
Estrutura e Função do Processador
Pipeline no Intel 80486
– Situação 3:
» Temporização da instrução de desvio, supondo que o desvio seja tomado.
» O estágio WB da instrução de comparação alimenta o estágio EX da 
instrução de desvio que, por sua vez, alimenta o estágio Fetch da instrução 
alvo, o que acelera o processamento.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
57
Família de Processadores x86
Registradores do processador x86
– Unidade de inteiros no modo 32-bits:
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
58
Família de Processadores x86
Registradores do processador x86
– Unidade de inteiros no modo 64-bits:
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
59
Família de Processadores x86
Registradores do processador x86
– Unidade de ponto flutuante:
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
60
Família de Processadores x86
Registrador EFLAGS do x86
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
61
Família de Processadores x86
Registradores de 
controle do x86
» Usa 4 registradores
de controle (CR0, 
CR2, CR3 e CR4).
» O registrador CR0
é usado para o 
controle do modo e 
indica estados que 
se aplicam ao 
processador em vez 
da execução e uma 
determinada tarefa.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
62
Família de Processadores x86
Registradores MMX
– Mapeamento de registradores 
MMX em registradores de 
ponto flutuante:
» Utilizados pelas instruções MMX que 
fazem uma execução SIMD (Single 
Instruction Multiple Data) simples capaz 
de processar dados inteiros, empacotados 
em registradores de 64 bits.
» Os pacotes são formados por inteiros de 
8, 16 ou 32 bits, empacotados em grupos 
de 8, 4 ou 2 elementos.
» Quando um valor é escrito no registrador 
MMX, os bits [79:64] do registrador FP 
correspondente são definidos com o valor 1.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
63
Família de Processadores x86
Instruções MMX
– As 47 instruções MMX (com exceção da EMMS) utilizam o 
prefixo P e podem ser agrupadas em:
» instruções aritméticas
» instruções de comparação
» instruções de conversão
» instruções lógicas
» instruções de deslocamento
» instruções de transferência de dados
» instrução de inicialização (EMMS)
– Por causa da sobreposição dos registradores, instruções MMX 
não podem ser executadas em paralelo com instruções de ponto 
flutuante.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
64
Família de Processadores x86
Processamento de interrupções
– Existem duas origens das interrupções e duas origens das 
exceções:
» Interrupções mascaráveis: recebidas no pino INTR do processador.
» Interrupções não mascaráveis: recebidas no pino NMI do processador.
» Exceções detectadas pelo processador: quando o processador encontra 
um erro enquanto tenta executar uma instrução.
» Exceções programadas: instruções que geram exceção (ex: INTO, INT3, 
INT e BOOUND).
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
65
Família de Processadores x86
Tabela de vetores 
de interrupções e 
exceções para x86
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
66
Família de Processadores x86
Tratamento de interrupções
– Quando ocorre uma interrupção reconhecida, uma sequência de 
eventos acontece.
» Se houver mudança de privilégio, os valores dos registradores de segmento 
de pilha (SS) e ponteiro estendido de pilha (ESP) são colocados na pilha.
» O valor do registrador EFLAGS é colocado na pilha.
» Flags de interrupção (IF) e trap (TF) são colocadas em zero, o que desabilita 
interrupções INTR e o trap ou recurso de passo único (depuração).
» O ponteiro de segmento de código (CS)e o ponteiro da instrução (IP ou EIP) 
são colocados na pilha.
» Se a interrupção tem um código de erro, então esse código é empilhado.
» O conteúdo do vetor de interrupção é carregado nos registradores CS e IP 
ou EIP, o que passa a execução para a rotina que atende a interrupção.
» A rotina que atende a interrupção encerra com IRET, o que restaura os 
valores salvos na pilha e a execução a partir do ponto de interrupção.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
67
Família de Processadores x86
Codinomes dos processadores
– Historicamente, a Intel designa codinomes com base em nomes 
de cidades, rios e montanhas próximos da localidade onde os 
projetos dos processadores são elaborados.
List of Intel CPU microarchitectures – Wikipedia
URL: https://en.wikipedia.org/wiki/List_of_Intel_CPU_microarchitectures
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Year Micro-
architecture
L1
cache
L2
cache
L3
cache
Max. 
Clock
Cores Tech 
Process
2008 Nehalem 64 KB 256 KB 4 MB to 24 MB shared 3.60 GHz 2/4/6/10 45 nm
2010 Westmere 64 KB 256 KB 4 MB to 30 MB shared 3.73 MHz 2/4/6/8/10 32 nm
2011 Sandy Bridge 64 KB 256 KB 3 MB to 20 MB shared 3.60 GHz 2/4/6/8 32 nm
2012 Ivy Bridge 64 KB 256 KB 2 MB to 8 MB shared 4.10 GHz 2/4/6/10/12/15 22 nm
2013 Haswell 64 KB 256 KB 2 MB to 45 MB shared 4.40 GHz 2/4/6/8/18 22 nm
68
Família de Processadores x86
Codinomes dos processadores
List of Intel CPU microarchitectures – Wikipedia
URL: https://en.wikipedia.org/wiki/List_of_Intel_CPU_microarchitectures
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Year Micro-
architecture
L1
cache
L2
cache
L3
cache
Max.
Clock
Cores Tech 
Process
2014 Broadwell 64 KB 256 KB 2 MB to 6 MB shared 3.7 MHz 2/4/6/8/10/12/16 14 nm
2015 Skylake 64 KB 256 KB 1 MB to 2 MB shared 4.2 GHz 2/4/6/8/10/12/14/16/18 14 nm
2016 Kaby Lake 64 KB 256 KB Up to 8 MB shared 4.5 GHz 2/4 14 nm
2017 Coffe Lake 64 KB 256 KB Up to 16 MB shared 5.0 GHz 2/4/6/8 14 nm
2019 Ice Lake 80 KB 512 KB Up to 16 MB shared 2.3 GHz 2/4 (mobile) 10 nm
2020 Cooper Lake 64 KB 1 MB Up to 38.5 MB shared 4.3 GHz 8/16/18/20/24/28 14 nm
2021 Ice Lake - SP 80 KB 50 MB Up to 60 MB shared 3.7 GHz 8/10/12/16/20/24/28/32
/36/38/40
10 nm
69
Família de Processadores x86
Linha Intel Core i3/i5/i7/i9
– Nomenclatura básica dos processadores:
Saiba mais sobre os números de processadores Intel – Intel
URL: https://www.intel.com.br/content/www/br/pt/processors/processor-numbers.html
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
70
Família de Processadores x86
Linha Intel Core i3/i5/i7/i9
– Nomenclatura básica dos processadores:
» U (Ultra Low Power): consumo de energia ultra baixo.
» Y (Low Power): consumo de energia extremamente baixo.
» T (Power Optimized): alta eficiência energética.
» Q (Quad-Core): possui quatro núcleos físicos de processamento.
» H (High-Performance Graphics): possui GPU embutida.
» K (Unlocked): desbloqueado (suporta overclock).
» G (Graphics Performance): identificador do desempenho gráfico.
Saiba mais sobre os números de processadores Intel – Intel
URL: https://www.intel.com.br/content/www/br/pt/processors/processor-numbers.html
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
71
Processador ARM
Organização do processador
– Organização simplificada:
» Rm – registrador de origem
» Rn – registrador de origem
» Rd – registrador de destino
» Acc registrador acumulador
» CPSR – registrador de estado
» Deslocador – unidade que 
pode deslocar ou rotacionar o
valor de Rm antes de entrar 
na ALU.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
72
Processador ARM
Modos do processador
– A arquitetura ARM suporta sete modos de execução.
– A maioria dos programas aplicativos executa em modo usuário. 
» Enquanto o processador está no modo usuário, o programa sendo 
executado é incapaz de acessar os recursos protegidos do sistema ou de 
alterar o modo, causando uma exceção nesse caso.
– Os seis modos de execução restantes são referidos como 
modos privilegiados e são usados para executar o software 
do sistema.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
73
Processador ARM
Modos do processador
– Os modos de exceção têm acesso total aos recursos do 
sistema e podem mudar os modos livremente:
» Modo supervisor: modo em que o SO é executado; é ativado quando se 
executa uma instrução de interrupção de software.
» Modo aborto de acesso: ativado como resposta a falhas de memória.
» Modo indefinido: ativado quando se tenta executar uma instrução não 
conhecida pelo core principal ou por um dos coprocessadores.
» Modo interrupção rápida: ativado quando se recebe um sinal de 
interrupção a partir de uma fonte designada de interrupção rápida e não 
pode ser interrompida, embora possa interromper uma interrupção normal.
» Modo interrupção: ativado quando se recebe um sinal de interrupção de 
qualquer outra origem e só pode ser interrompida por uma interrupção 
rápida.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
74
Processador ARM
Modos do processador
– O modo privilegiado restante é o modo sistema. 
– Esse modo é usado para executar certas tarefas privilegiadas 
do sistema operacional.
– Não é ativado por nenhuma exceção e usa os mesmos 
registradores disponíveis no modo usuário.
– As tarefas desse modo podem ser interrompidas por qualquer 
uma das cinco categorias de exceções.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
75
Processador ARM
Organização dos registradores
– Possui 37 registradores de 32 bits visíveis ao usuário, arranjados 
em bancos parcialmente sobrepostos e o modo atual do 
processador define qual banco está disponível.
» 31 registradores são classificados como sendo de uso geral, embora alguns 
tenham propósito específico, como contadores de programa.
» 6 registradores são de estado de programa.
» Os registradores R0 a R7, registrador R15 (PC – Program Counter) e 
registrador de estado de programa (CPSR – Current Program Status 
Register) são visíveis e compartilhados por todos os modos.
» Os demais registradores possuem versões acessíveis apenas em 
determinado modo do processador.
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
76
Processador ARM
Organização dos 
registradores
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
77
Processador ARM
Processamento de interrupções
– A arquitetura ARM suporta sete tipos de exceções e cada tipo é 
processado em um modo do processador específico. 
– Quando uma exceção ocorre, a execução é forçada de um 
endereço fixo de memória correspondente ao tipo de exceção. 
– Esses endereços fixos são chamados de vetores de exceção.
– Se mais do que uma interrupção está aguardando, elas são 
tratadas em ordem de prioridade. 
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
78
Processador ARM
Processamento de interrupções
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Fonte: Arquitetura e Organização de Computadores, 
Willian Stallings, 10a edição - Editora Pearson - 201 
79
Família de Processadores ARM
ARM Holdings licencia a arquitetura ARM– Inúmeros fabricantes criam suas linhas e famílias de 
processadores baseados na arquitetura ARM.
» Snapdragon (Qualcomm)
» Exynos (Samsung)
» Axx Bionic (Apple)
– Estão presentes em diferentes tipos de dispositivos: 
» celulares, consoles de vídeo games, automóveis, dispositivos IoT, leitores e-
reader, televisores, etc
– Segundo a empresa, de 2013 a 2017, foram comercializados 
50 bilhões de processadores em todo o mundo.
Arm Processors for the Widest Range of Devices – from Sensors to Servers – ARM
URL: https://www.arm.com/products/silicon-ip-cpu
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
80
Família de Processadores ARM
Snapdragon (Qualcomm)
– Todos os membros da família Snapdragon integram a GPU, os circuitos 
para GPS e o modem para as redes GSM e CDMA.
– Também encontram-se integrados atualmente os circuitos para câmera 
digital, Wi-Fi, Bluetooth e codecs para áudio e vídeo.
» Snapdragon 8cx Gen 2 5G Compute Platform (8 series Platform)
• 5G Chipset, Qualcomm Kryo 495 CPU (octa-core), Qualcomm Adreno 680 GPU
• 5G Chipset, Qualcomm Kryo 490 CPU (octa-core), Qualcomm Adreno 675 GPU
• Qualcomm AI Engine (4th Gen)
» Snapdragon 7c Gen 2 Compute Platform (7 Series Platform)
• Up to 2.5 GHz, Qualcomm Kryo 468 CPU (octa-core), Qualcomm Adreno 692 GPU
• Qualcomm AI Engine (5th Gen) – 5 TOPS (Trillion Operations Per Second)
» Snapdragon 675 Mobile Platform (6 Series Platform)
• Up to 2.0 GHz, Qualcomm Kryo 460 CPU (octa-core), Qualcomm Adreno 610 GPU
Mobile PCs – Powering a new era of computing – Qualcomm
URL: https://www.qualcomm.com/products/mobile-computing/mobile-pcs
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
81
Família de Processadores ARM
Exynos (Samsung)
– Todos os membros da família Exynos integram múltiplos 
processadores e a GPU (SoCs – System-on-Chips).
» Exynos 9825 (9 Series) – 7nm EUV
• Custom CPU Dual + Cortex-A75 Dual + Cortex-A55 Quad, Mali G76 MP12 GPU
• AI Engine with NPU and DSP
» Exynos 8 Octa (8890) – 14nm FinFET
• Custom CPU 2.3GHz Quad + Cortex-A53 1.6GHz Quad, Mali T880 MP12 GPU
» Exynos 7 Octa (7420) – 14nm FinFET
• Ciotex-A57 2.1GHz Quad + Cortex-A53 1.5GHz Quad, Mali T760 MP8 GPU
Samsung Exynos – Samsung
URL: https://www.samsung.com/semiconductor/minisite/exynos/products/all-processors
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
82
Família de Processadores ARM
A12 Bionic (Apple)
– Design da Apple e fabricado pela TSMC (Taiwan Semiconductor
Manufactoring Company).
– A12 Bionic – iPhone XS, XS Max e XR
» ARMv8.3-A six-core CPU – 64 bits (7nm FinFET), com 2 cores de alto 
desempenho de 2.49GHz (Vortex) e 4 cores com eficiência de energética 
(Tempest).
» Integrado com uma GPU de 4 cores Apple G11P (desenvolvida pela Apple).
» Integrado com 8 núcleos para processamento de Inteligência Artificial (Neural 
Engine).
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
https://en.wikipedia.org/wiki/Apple_A12
83
Família de Processadores ARM
A13 Bionic (Apple)
– Design da Apple e fabricado pela TSMC (Taiwan Semiconductor
Manufactoring Company).
– A13 Bionic – iPhone 11 (Pro/Pro Max) e SE (2nd Gen)
» ARMv8.4-A six-core CPU – 64 bits (7nm N7P), com 2 cores de alto 
desempenho de 2.65GHz (Lightning), com blocos AMX (Machine Learning 
Accelerators), e 4 cores com eficiência de energética (Thunder).
» Integrado com uma GPU de 4 cores Apple (desenvolvida pela Apple).
» Integrado com 8 núcleos para processamento de Inteligência Artificial (Neural 
Engine).
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
https://en.wikipedia.org/wiki/Apple_A13
84
Família de Processadores ARM
A14 Bionic (Apple)
– Design da Apple e fabricado pela TSMC (Taiwan Semiconductor
Manufactoring Company).
– A14 Bionic – iPhone 12 (Mini/Pro/Pro Max) e iPad Air (4th Gen)
» ARMv8.5-A six-core CPU – 64 bits (5nm N5), com 2 cores de alto 
desempenho de 2.65GHz (Firestorm), com blocos AMX (Machine Learning 
Accelerators – 2nd Gen), e 4 cores com eficiência de energética (Icestorm).
» Integrado com uma GPU de 4 cores Apple (desenvolvida pela Apple).
» Integrado com 16 núcleos para processamento de Inteligência Artificial 
(Neural Engine).
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
https://en.wikipedia.org/wiki/Apple_A13

Continue navegando