Apresentação do PowerPoint

Propaganda
ORGANIZAÇÃO E ARQUITETURA DE
COMPUTADORES I
AULA 07: ESTRUTURA E FUNCIONAMENTO DE
UMA CPU MULTICICLO
Prof. Max Santana Rolemberg Farias
[email protected]
Colegiado de Engenharia de Computação
ANALISE DE UMA CPU MONOCICLO
• Vantagem:
– Simplicidade de implementação
• Datapath e Controle
• Desvantagens:
– Custo de hardware
• Duplicação de componentes devido a restrição de um ciclo para o
processamento de instruções.
– Desempenho
• Ciclo de clock longo para comportar instrução mais lenta
• Instruções que demandam menos tempo deixam CPU ociosa
• Implementação pouco eficiente
COMO MELHORAR O DESEMPENHO NA
EXECUÇÃO DE VÁRIAS INSTRUÇÕES?
COMO MELHORAR O DESEMPENHO
• Dividir processamento de instrução em diferentes estágios.
• Executar cada estágio da CPU em um ciclo de relógio.
– Ciclo pode ser menor
• Reutilizar componentes de hardware.
– Componente de hardware pode ser utilizado em estágios diferentes.
• Começar uma instrução antes da última instrução terminar.
– Diferentes instruções requerem quantidade de estágios diferentes.
– Algumas instruções podem ser processadas em menos tempo
– Tempo médio de processamento pode melhorar.
CPU MULTICICLO
COMO DIVIDIR O PROCESSAMENTO DE
UMA INSTRUÇÃO EM ESTÁGIOS?
PROCESSAMENTO EM ESTÁGIOS
• Estágios
–
–
–
–
–
Busca
Sempre executado
Decodifica
Opera com ALU
Depende da instrução,
Acesso a memória
pode não ser executado.
Escreve em registradores
VISÃO ABSTRATA DE UMA
CPU MONOCICLO
Duplicação de componentes para
realizar soma
Memória diferentes para instruções
e dados
Clock
Busca - Decodifica - Executa
VISÃO ABSTRADA DE UMA
CPU MULTICICLO
Memória única para instruções e dados
Componente único para realizar operações
VISÃO ABSTRADA DE UMA
CPU MULTIMODO (MAIS REGISTRADORES)
Registradores auxiliares entre unidades funcionais maiores
Serão usados na mesma instrução, mais em ciclo de clock diferente
IMPLEMENTAÇÃO DE UMA
CPU MULTICICLO
• Um ciclo de clock pode acomodar uma das operações:
– Acesso de memória
– Acesso ao banco de registradores (2 leitura ou 1 escrita)
– Operação da ALU.
• Unidades funcionais só podem ser utilizadas uma vez durante um
ciclo:
– ALU, memória, registradores auxiliares
– Exceção: registradores auxiliares
•
•
•
•
IR: Armazena instruções lida da memória
MDR: Armazena dado lido da memória
A e B: Armazenam operandos lidos do banco de registradores
ALUOut: Armazena saída da ALU
IMPLEMENTAÇÃO DE UMA
CPU MULTICICLO
• Dados de uma instrução que precisam ser utilizados em
outra instrução são armazenados nas unidades visível ao
programador.
– Memória
– Banco de registardores
– PC
• Dados necessários entre estágios (ciclo) diferentes de
uma mesma instrução
ESTRUTURA DE UMA
CPU MONOCICLO
UNIDADE DE PROCESSAMENTO DE
UMA CPU MULTICICLO
Mais multiplexadores ou multiplexadores expandido
ENTRADA DE ENDEREÇO DE
UMA CPU MULTICICLO
Escolha entre endereço de instrução (PC) ou endereço de dado (ALUOut)
PRIMEIRO OPERANDO DA ALU DE
UMA CPU MULTICICLO
Escolha entre endereço de instrução (PC) ou operando de saída do banco de
registrador (A)
SEGUNDO OPERANDO DA ALU DE
UMA CPU MULTICICLO
Escolha entre saída do banco de registradores (B), a constante 4 (para
incrementar o PC), o sinal estendido de deslocamento de 2 bits (para BEQ) e o
sinal simplesmente estendido (para LW/SW)
SEGUNDO OPERANDO DA ALU DE
UMA CPU MULTICICLO
Os registradores auxiliares não precisam de sinal de controle de escrita porque
são atualizados em todo ciclo de clock
UNIDADE DE PROCESSAMENTO COM
CONTROLE UMA CPU MULTICICLO
UNIDADE DE CONTROLE UMA
CPU MULTICICLO (SINAIS DE 1 BIT)
UNIDADE DE CONTROLE UMA
CPU MULTICICLO (SINAIS DE 2 BIT)
Download