William Stallings Organização de computadores digitais

Propaganda
William Stallings
Organização de
computadores digitais
Capítulo 14
Operação da Unidade de Controle
Microoperações
o A execução de um programa em um computador
se faz através:
o do ciclo de Busca e Execução.
o Cada ciclo é composto de diversos passos:
o chamados microoperações.
o Cada passo faz uma pequena porção do trabalho:
o operação Atômica da CPU.
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Elementos Constituintes da
execução de um programa
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Ciclo de busca - 4 Registradores
Ocorre no início de cada ciclo de instrução, fazendo com
que a instrução seja obtida da memória. Envolve 4
registradores:
o Memory Address Register (MAR)
o Conectado ao barramento de endereços
o Especifica o endereço para operações de leitura e escrita
o Memory Buffer Register (MBR)
o Conectado ao barramento de dados
o Armazena temporariamente os dados para escrita ou o
último dado lido
o Program Counter (PC)
o Armazena o endereço da próxima instrução a ser lida
o Instruction Register (IR)
o Armazena o última instrução lida
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Sinais de controle
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Ciclo de busca
o O endereço da próxima instrução está no PC
o O endereço (MAR) é colocado no barramento de
endereços
o A unidade de controle fornece o comando READ
o Como conseqüência o dado da memória aparece no
barramento de dados
o O dado do barramento de dados é copiado no MBR
o Incrementa-se o PC de 1 (em paralelo com o ciclo de
busca de dados na memória)
o Move-se o dado (instrução) do MBR para o IR
o O MBR está agora livre para buscar novos dados
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Seqüência de busca
(fetch sequence) - esquema
Temporização
Sinais de controle ativos
o t1: MAR <- (PC)
C2
o t2: MBR <- (memory)
C5, Cr
PC <- (PC) +1
o t3: IR <- (MBR)
C4
t = unidade de tempo (ciclo de clock)
ou
o t1: MAR <- (PC)
C2
o t2: MBR <- (memory)
Cr
o t3: PC <- (PC) +1
C5, C4
IR <- (MBR)
Cr – sinal de controle de leitura para o barramento
Cw – sinal de controle de escrita para o barramento
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Sinais de controle
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Regras para o agrupamento
de ciclos de Clock
o A seqüência correta deve ser seguida
o MAR <- (PC) deve preceder MBR <- (memory)
o Conflitos devem ser evitados
o Não se deve fazer a leitura e a escrita ao mesmo tempo
o MBR <- (memory) & IR <- (MBR) não podem estar no
mesmo ciclo
o Além disso: PC <- (PC) +1 envolve uma adição
o Utilizará a ALU?
o Neste caso necessitará microoperações adicionais
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Ciclo Indireto
Uma vez que a instrução tenha sido buscada, o próximo passo
é buscar os operandos. Se a instrução pede um endereço
indireto, é necessário um ciclo indireto.
Temporização
Sinais de controle ativos
o t1: MAR <- (IRaddress) - campo de endereço do IR,
o t2: MBR <- (memory) – obtêm-se o endereço do operando,
o t3: IRaddress <- (MBRaddress) – IR tem o endereço direto ,
C8
C5, Cr
C4
o IR está agora no mesmo estado como se o endereçamento
direto tivesse sido utilizado
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Ciclo de Interrupção
Depois de completado o ciclo de execução, faz-se o
teste para verificar a ocorrência de interrupção.
o
o
o
o
o
t1: MBR <-(PC)
C1
t2: MAR <- save-address
PC <- routine-address
t3: memory <- (MBR)
C12, Cw
Isto seria o mínimo
o Pode ser necessário microoperações adicionais
para obter endereços
o Nota: salvar o contexto é função do
manipulador da rotina de interrupção, não das
microoperações
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Ciclo de Execução (ADD)
o O ciclo de instrução é diferente para
cada instrução
o e.g. ADD R1,X – adiciona o conteúdo da
posição X ao Registrador 1, mantendo o
resultado em R1
o t1: MAR <- (IRaddress)
o t2: MBR <- (memory)
o t3: R1 <- R1 + (MBR)
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Ciclo de Execução (ISZ)
o ISZ X – soma e pula se zero (increment and skip
if zero)
o t1:
MAR <- (IRaddress)
o t2:
MBR <- (memory)
o t3:
MBR <- (MBR) + 1
o t4:
memory <- (MBR)
if (MBR) == 0 then PC <- (PC) + 1
o Notas:
o if é uma única microoperação
o Microoperação feitas durante t4
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Requisitos Funcionais
o Define os elementos básicos do
processador
o Descreve as microoperações que o
processador realiza
o Determine as funções que a unidade
de controle deve realizar
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Elementos básicos do processador
o ALU
o Registradores
o Caminhos (barramentos?) internos
de dados
o Caminhos (barramentos?) externos
de dados
o Unidade de controle
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Tipos de Microoperações
o Transferência de dados entre
registradores
o Transferência de dados dos
registradores para o exterior
o Transferência de dados do exterior
para os registradores
o Microoperações aritméticas ou lógicas
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Funções da unidade de controle
o Seqüenciamento
o Faz com que a CPU vá passo a passo
através de uma série de
microoperações
o Execução
o Faz com que cada microoperação
seja executada
o Tudo isso é feito através de sinais
de controle
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Sinais de controle (1)
o Relógio (clock)
o Uma microinstrução (ou um conjunto de
microinstruções paralelas) por ciclo de
clock
o Registrador de instrução
o Código de operação para a instrução
corrente
o Determina qual microinstrução será
executada
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Diagrama da unidade de
controle
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Sinais de controle (2)
o Flags
o Estado da CPU
o Resultados das operações anteriores
o Do barramento de controle
o Interrupções
o Reconhecimento (acknowledgements)
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Sinais de controle - saída
o Dentro da CPU
o Causa o movimento de dados
o Ativa funções específicas
o Através do barramento de controle
o Para a memória
o Para módulos de I/O
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Exemplo de uma seqüência de
sinais de controle - busca
o MAR <- (PC)
o A unidade de controle ativa sinais para
abrir gates entre o PC e o MAR
o MBR <- (memory)
o Abre gates entre o MAR e o barramento
de endereços
o Memory read control signal (sinal de
controle da leitura da memória)
o Abre gates entre o barramento de dados e
o MBR
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Sinais de controle
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Organização interna
o Em geral um único barramento interno
o Os gates controlam o movimento de dados
para e do barramento
o Sinais de controle controlam a
transferência de dados para e do sistema
de barramentos externos
o São necessários registradores
temporários para a operação apropriada
da ALU
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
CPU com bus interno
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Hardwired Implementation (1)
o Entradas da unidade de controle
o Barramento de controle e sinais de flags
o Cada bit tem seu significado
o Registrador de instrução
o Op-code geram sinais de controle
diferentes para cada instrução diferente
o Lógica específica para cada op-code
o O decodificador produz uma única saída
para cada entrada
o n entradas binárias e 2n saídas
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Hardwired Implementation (2)
o Relógio (clock)
o Seqüência repetitiva de pulsos
o Útil para medir a duração das micro-ops
o Deve ser longo o suficiente para permitir a
propagação dos sinais
o Diferentes sinais de controle a diferentes
momentos dentro do ciclo de instrução
o É necessário um contador com sinais de
controle distintos para t1, t2 etc.
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Problemas com o projeto
Hardwired
o Seqüenciamento complexo da lógica
de microoperações
o Dificuldade de projeto e teste
o Projeto pouco flexível
o Dificuldade para adicionar novas
instruções
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Leitura recomendada
o Stallings capítulo 14
OCD – Organização de Computadores Digitais - 2009
Prof. Camilo Rodrigues Neto
Download