cap_05_-_cpu
TRANSCRIPT
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 1/55
Unidade Central deProcessamento
Organização de Computadores
Faculdade de Tecnologia Senac Goiás
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 2/55
Fotos
Primeiro microprocessador da
história: Intel 4004 (1971)
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 3/55
Fotos
Placa mãe emicroprocessador
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 4/55
Fotos
Wafer de microprocessadores
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 5/55
Fotos Arquitetura interna de um
microprocessador dedicado paraprocessamento de imagens deressonância magnética, afotografia foi aumentada 600vezes, sob luz ultravioleta para se
"Die" de microprocessador Cyrix 8x86
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 6/55
Fotos
Chip Pentium 4.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 7/55
Família de processadores Intel
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 8/55
Introdução
A CPU é responsável pela realização de qualquer operação realizada porum computador.
Além de executar as instruções, ela emite os sinais de controle para osdemais componentes do computador.
ara rea zar operaç es com a os, o processa or necess a n erpre arque tipo de operação é a que ele irá executar.
Todo processador é construído de modo a realizar algumas operações(primitivas), tais como: operações aritméticas, movimentar dados,transferir valores, operações lógicas.
A sequência de 0s e 1s que formaliza uma determinada operação a serrealizada pelo processador denomina-se instrução de máquina .
Uma instrução de máquina é a identificação formal do tipo de operação aser realizada, contendo um grupo de bits que identifica a operação e outro
grupo de bits que permite a localização e acesso aos dados que serãomanipulados na referida operação.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 9/55
De Linguagem de Alto Nívelpara Linguagem de Máquinavoid swap (int
v[], int k){
int temp;
temp = v[k];
v[k] = v[k+1];
=
swap:
muli $2, $5,4
add $2, $4,$2
Assembly:
representaçãosimbólica dasinstruções de
máquina
}lw $15, 0($2)
lw $16, 4($2)
sw $16, 0($2)
sw $15, 4($2)
jr $31
00000000101000010000000000011000
00000000000110000001100000100001
10001100011000100000000000000000
10001100111100100000000000000100
10101100111100100000000000000000
1010110001100010000000000000010000000011111000000000000000001000
Compilador
Montador(Assembler)
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 10/55
Execução de instrução
As etapas acima compõem o que se denomina um ciclo de instrução .
Este ciclo se repete indefinidamente até que:
O sistema seja desligado
Ocorra algum tipo de erro
Seja encontrada uma instrução de parada.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 11/55
Funções
As atividades realizadas pela CPU podem ser divididas em duas grandescategorias funcionais: Função de processamento
Atividades relacionadas com a efetiva execução de uma operação.
Função de controle Atividades de busca, interpretação e controle da execução das instruções.
Controle da ação dos demais componentes do sistema (memória, E/S).
Computadores modernos são montados em torno de processadores quebuscam maior velocidade na realização de suas tarefas.
Pipeline
Um dos processos mais usados para o aumento de velocidade. A CPU se divide em várias partes funcionais distintas, cada uma correspondendo a
uma determinada atividade. Várias instruções são realizadas de forma simultânea, embora em estágios diferentes
(linha de montagem).
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 12/55
Paralelismo
Paralelismo no nível de instrução o paralelismo é explorado dentro de instruções
individuais para obter da máquina mais instruções por
segun o p pe n ng .
Paralelismo no nível de processador várias CPUs trabalham juntas no mesmo problema.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 13/55
Paralelismo no nível deinstrução
Pipeline de cinco estágios.
Estado de cada estágio em função do tempo. São ilustrados nove ciclosde relógio.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 14/55
Paralelismo de processador
(a) Multiprocessador com barramento único. É um sistema fortemente acoplado (duas ou mais CPUs têm a capacidade de interagir de
perto). Multiprocessadores são mais fáceis de programar.
(b) Multicomputador com memórias locais. É um sistema fracamente acoplado (as CPUs se comunicam enviando mensagens umas
às outras). Multicomputadores são mais fáceis de construir.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 15/55
Arquiteturas paralelas
Considera-se um computador equipado com mais de umprocessador
Flynn: SISD, SIMD, MISD, MIMD baseada nos fluxos de instruções e dados dentro do processador
Foi considerada insuficiente por não abranger algumas arquiteturasmodernas, como as máquinas de fluxo de dados e os processadoresvetoriais
Não apresenta uma hierarquia
Duncan: Arquiteturas Síncronas e Assíncronas Mais complexa e abrangente
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 16/55
SISDSingle Instruction Single Data
É o caso dos computadores seriais convencionais com uma unidade deprocessamento com uma unidade de controle
Um único fluxo de instruções opera sobre um único fluxo de dados Corresponde ao processamento seqüencial da máquina de von Neumann
pesar os programas es arem organ za os a rav s e ns ruç es
seqüenciais, elas podem ser executadas de forma sobreposta ( pipelining ) Possuem uma única unidade de controle podendo possuir mais de uma
unidade funcional Um computador SISD pode ter várias unidades funcionais, mas se todas
estão sob o comando de uma unidade de controle única, o fluxo deinstruções é único
Exemplos: IBM PC, SUN Sparc
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 17/55
SISDSingle Instruction Single Data
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 18/55
SIMDSingle Instruction Multiple Data
O computador tem vários processadores comandados por uma unidade decontrole
Todos os processadores recebem a mesma instrução da UC, mas operamsobre diferentes dados lidos de sua memória privadas
uma instrução O programa ainda segue uma organização seqüencial Para possibilitar o acesso a múltiplos dados é preciso uma organização de
memória em diversos módulos
A unidade de controle é única e existem diversas unidades funcionais. Nesta classe estão os processadores vetoriais e matriciais.
Exemplos: MPP, Connection Machine, MasPar
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 19/55
SIMDSingle Instruction Multiple Data
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 20/55
MISDMultiple Instruction Single Data
O computador tem vários processadores completos operando sobre umúnico fluxo de dados, ou seja, múltiplas unidades de controle executandoinstruções distintas sobre o mesmo dado
é impraticável tecnologicamente
Seria o caso de um pipeline de processadores, aonde os dados vão sendoprocessados e passados para o processador seguinte
A proposta de implementação que mais se aproxima desta categoria é a damáquina de fluxo de dados (dataflow ).
Exemplos: Não há
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 21/55
MISDMultiple Instruction Single Data
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 22/55
MIMDMultiple Instruction Multiple Data
O computador tem vários processadores completos operando independentemente Várias instruções podem ser executadas ao mesmo tempo em unidades de processamento
diferentes controladas por unidades de controle independentes (uma para cada unidadede processamento)
Acesso a vários módulos de memória ons uem a ase a ma or a os compu a ores para e os mo ernos
Cada um dos nós da máquina executa seus programas independentemente e sãocomputadores completos
Esta classe é bastante genérica envolvendo o processamento de múltiplos dados por partede múltiplas instruções
Qualquer grupo de máquinas operando como uma unidade enquadra-se como MIMD
Alguns representantes desta categoria são os servidores multiprocessados, as redes deestações e as arquiteturas massivamente paralelas.
Exemplos: IBM SP2, Cray T, IBM PCs com 4 processadores
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 23/55
MIMDMultiple Instruction Multiple Data
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 24/55
MIMDMultiple Instruction Multiple Data
Modelos Básicos de Máquinas MIMD Memória Compartilhada:
Todos os processadores têm acesso a toda memória
compartilhadas Mais fácil de programar
Mais difícil de construir.
Troca de Mensagens: Cada processador tem a sua memória privada Quando é necessário acesso a dados que estão na memória de
outro processador ocorrem trocas de mensagens
São mais difíceis de programar
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 25/55
Funções da CPU – Processamento
Processamento de dados: ação de manipular um oumais valores em uma certa sequência de ações demodo a produzir um resultado útil.
ea za o pe a .
Processamentos mais comuns:
Operações aritméticas
Operações lógicas
Movimentação de dados
Desvios (alteração de sequência de execução deinstruções)
Operações E/S
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 26/55
Esquema da CPU
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 27/55
ULA
Dispositivo da CPU que executa as operaçõesmatemáticas e lógicas. Algumas das operações mais comuns:
soma subtração multiplicação divisão
operação lógica AND operação lógica OR
operação lógica XOR
operação complemento
deslocamento à direita deslocamento à esquerda
incremento decremento
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 28/55
ULA
Arquitetura simplificada do Pentium
BIU – interface do barramentoCache – 8KB cada
ALU I(1) e I(2) – unidades aritméticas inteiras
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 29/55
Registradores Para que um dado seja transferido para a ULA, é necessário que ele
permaneça armazenado em um registrador. O resultado da operação, se existir, também deve ser armazenado em um
registrador.
Registradores de dados têm uma largura igual ao tamanho de umapa avra.
Alguns registradores são de uso geral, enquanto que outros sãoespecializados. Exemplos: PC – program counter
IR – instruction register
SP – stack pointer A quantidade e o emprego dos registradores variam bastante de modelo
para modelo de CPU.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 30/55
Registradores
Diagrama simplificado em bloco da CPU Intel 8085, apenas com os
dispositivos básicos da área de processamento
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 31/55
Registradores
Diagrama simplificado em bloco da CPU Intel 8086, apenas com os
dispositivos básicos da área de processamento
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 32/55
Funções da CPU – controle
A área de controle realiza as atividades de:
Busca da instrução que será executada.
Interpretação das ações a serem desencadeadas com aexecução da instrução (essas duas instruções denomina-se
fetch cycle – ou ciclo de busca da instrução). Geração dos sinais de controle apropriados para ativação das
atividades requeridas para a execução da instrução. Essa etapaé denominada execute cycle – ou ciclo de execução dainstrução.
Ou seja: a área de controle é projetada para entender o quefazer, como fazer e comandar quem vai fazer no momentoadequado.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 33/55
Esquema da CPU
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 34/55
Elementos da CPU – controle
Registrador de Instrução (IR)
Armazena a instrução a ser executada pela CPU.
Contador de instrução (PC)
.
Decodificador de instrução Identifica que operação será realizada, correlacionada à
instrução cujo código de operação foi decodificado.
Registrador de dados de memória (RDM)
Possui um tamanho igual ao do barramento de dados.
Registrador de Endereços de memória (REM)
Possui um tamanho igual ao dos endereços da memória.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 35/55
Unidade de controle
Dispositivo mais complexo da CPU.
Possui a lógica necessária para realizar a movimentação dedados e de instruções de e para a CPU, através dos sinais de
.
Os sinais de controle ocorrem em vários instantes durante operíodo de realização de um ciclo de instrução.
Os microeventos ou microoperações comandadas pela UC
podem ser iniciados segundo um de dois princípios dearquitetura:
Por microprogramação.
Por programação prévia diretamente no hardware.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 36/55
Unidade de controle
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 37/55
Unidade de controle
O modo pelo qual o sistema conduz a execução dasinstruções, resulta em diversos tipos de arquitetura deprocessadores:
exclusivamente sequencial ou serial (SISD). Processadores que executam instruções de modo
concorrente, ou tipo pipeline ou por linha de montagem.
Processadores que executam várias instruçõessimultaneamente ou por processamento paralelo.
Processadores que realizam processamento vetorial.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 38/55
Relógio
Dispositivo gerador de pulsos cuja duração é chamada de ciclo.
Frequência: quantidade de vezes em que esse pulso básico serepete em um segundo.
Um ciclo de relógio ou de máquina é o intervalo de tempo entre oinício de um pulso e o início do seguinte.
Este ciclo está relacionado à realização de uma operaçãoelementar, durante o ciclo de uma instrução.
Como essa operação não se realiza em um só passo, costuma-sedividir o ciclo de máquina em ciclos menores (subciclos), defasadosno tempo.
Se as operações duram um tempo definido por um ou mais pulsosdo relógio, mais operações podem ser realizadas na mesmaunidade de tempo se o ciclo de relógio for diminuído (overclocking ).
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 39/55
Relógio
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 40/55
Relógio
Uma das características de processadores mais conhecida dosusuários é justamente a frequência do relógio da CPU(atualmente na casa dos GHz).
Ela ode ser considerada um indicador de desem enho.
No entanto, não é sempre verdadeiro que um processadorcom velocidade de relógio maior que outro seja maiseficiente que aquele.
A tecnologia e a arquitetura do projeto do processador
podem torná-lo mais eficiente que um outro, mesmo quefuncionando com velocidade de relógio menor.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 41/55
Instruções de máquina
Formalização de uma operação básica (ou primitiva) que ohardware é capaz de realizar diretamente.
O projeto de um processador é centrado no conjunto de instruçõesde máquina que se deseja que ele execute.
Análises e decisões do projeto envolvem o tamanho e acomplexidade do conjunto de instruções.
Quanto menor e mais simples o conjunto de instruções, mais rápidoé o ciclo de tempo do processador.
Dados históricos dos processadores da Intel: 8080: 78 instruções 8088: 117 instruções 80486: 286 instruções
Pentium II: 217 instruções
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 42/55
Instruções de máquina
Há duas tecnologias de projeto de processadores empregadas pelos
fabricantes: Sistemas com conjunto de instruções complexo (CISC) Sistemas com conjunto de instruções reduzido (RISC)
Definir o conjunto de instruções: qual o formato e tamanho de cada uma, quais asoperações a realizar. Implementar os componentes do processador em função da definição anterior: ULA,
registradores, barramentos, ...
Do ponto de vista físico (hardware), uma instrução de máquina é um grupo
de bits que indica ao processador uma operação ou ação que ele deverealizar.
Funcionalmente, um processador possui instruções capazes de realizar osseguintes tipos de operações: matemáticas, movimentação de dados, E/S,
controle.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 43/55
Formato das instruções
Podemos separar o grupo de bits queconstitui a instrução em duas partes: Código de operação (opcode ):
Cada operação possui um único código (númerointeiro).
Campo do(s) operando(s): Indica a localização do dados (ou dados) que será
manipulado durante a realização da operação. Zero, um ou mais campos.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 44/55
Formato das instruções
Quatro formatos comuns de instrução:(a) Instrução sem endereço. (c) Instrução com dois endereços.(b) Instrução com um endereço. (d) Instrução com três endereços.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 45/55
Formato das instruções
Algumas relações possíveis entre comprimentode instrução e de palavra.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 46/55
Ciclo da instrução A base do projeto de uma CPU é a escolha do conjunto de
instruções que ela irá executar. Iremos mostrar em detalhe as etapas requeridas para o
processador completar a execução de uma instrução de.
Vamos utilizar um subsistema CPU/MP hipotético (ver figurapróximo slide).
Depois faremos algumas considerações sobre o conjunto deinstruções dos processadores reais.
Para explicação, consideraremos a execução de duasinstruções:
LDA Op e ADD Op
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 47/55
Ciclo da instrução
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 48/55
Ciclo da instrução
O fluxo ao lado pode ser
descrito em Linguagemde Transferência entreRegistradores, de modoque possamosacompan ar a
movimentação deinformações:
RI←←←← (CI)
(CI)←←←←
(CI) + 1Interpretar o C.Op.
Buscar Op. (se houver)
Executar a instrução
Retornar
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 49/55
Ciclo da instrução
Ao iniciar aexecução doprimeiro ciclo de
A instrução LDAestá armazenadana MP, noendereço 0216.
A instrução ADDestá armazenadano endereço 0316.
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 50/55
Ciclo da instrução: LDA
Fluxo dedados e deendereços
realização dociclo de buscada instruçãoLDA:
RI←←←← (CI)
(CI) ←←←← (CI) + 1
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 51/55
Ciclo da instrução: LDA
Decodificaçãodo ciclo de
LDA:
Resultado: decodificador←←←← 116
Se tiver operandos, buscá-los(não há operandos)
Executar operação: ACC = 1A7
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 52/55
Ciclo da instrução: ADD
Fluxo dedados e deendereços
ciclo de buscada instrução ADD:
RI←←←← (CI)
(CI) ←←←← (CI) + 1
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 53/55
Ciclo da instrução: ADD
Decodificaçãodo ciclo deo era ão
LDA:Resultado: decodificador←←←← 316
Buscar operandos:REM←←←← Op.
RDM←←←← (M(REM))ULA ←←←← ACC [1º operando]
ACC ←←←← RDM
ULA ←←←← ACC [2º operando]
Executar operação: ACC = 224
Linguagem de montagem
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 54/55
Linguagem de montagem
(Assembly) A linguagem de máquina (0s e 1s) é a mais elementar, mas a mais
complicada para o programador. Uma ligeira melhoria de apresentação para o programador consiste
em substituir os valores binários por números hexadecimais. A primeira evolução para tornar os programas mais representativos
para o programa or o o emprego e s m o os a anum r cos em
vez de números. Desenvolveu-se então a linguagem de montagem (assembly ). O
compilador chama-se assembler . Uma linha de instrução assembly pode conter até quatro campos:
Rótulo (label ): endereço significativo no programa. Operação: mnemônico predefinido simbolizando a operação. Operando: endereços de memória ou registradores utilizados pela
instrução. Comentário: ignorado durante o processamento do programa.
Linguagem de montagem
5/11/2018 Cap_05_-_CPU - slidepdf.com
http://slidepdf.com/reader/full/cap05-cpu 55/55
Linguagem de montagem
(Assembly): exemplo