Arquitetura de Computadores - Operação da Unidade de Controle por Helcio Wagner da Silva
Microoperações Execução de programa... Ciclo de instrução Ciclo de instrução Ciclo de instrução Busca Indireto Execução interrupção µo µo µo µo µo 2
O Ciclo de Busca MAR MBR PC IR AC 0000000001100100 MAR MBR PC IR AC 0000000001100100 0001000000100000 0000000001100100 (a) Início (c) Segundo Passo MAR MBR PC IR AC 0000000001100100 0000000001100100 MAR MBR PC IR AC 0000000001100100 0001000000100000 0000000001100100 0001000000100000 (b) Primeiro Passo (d) Terceiro Passo 3
O Ciclo de Busca Seqüência de eventos t1: MAR PC t2: MBR Memória PC PC + 1 t3: IR MBR Seqüência de eventos alternativa t1: MAR PC t2: MBR Memória t3: PC PC + 1 IR MBR µos executadas simultaneamente µos executadas simultaneamente 4
O Ciclo Indireto Após a instrução ter sido buscada, o próximo passo é buscar os operandos Seqüência de eventos t1: MAR IR(Endereço) t2: MBR Memória t3: IR(Endereço) MBR(Endereço) 5
O Ciclo de Interrupção Seqüência de eventos t1: MBR PC t2: MAR Endereço de salvamento PC Endereço da rotina t3: Memória MBR µos executadas simultaneamente 6
O Ciclo de Execução Ciclo complexo e imprevisível Em uma máquina com N códigos de operação distintos, poderão existir N seqüência de µo Exemplo #01 ADD R1, X Seqüência de eventos t1: MAR IR(Endereço) t2: MBR Memória t3: R1 R1 + MBR 7
O Ciclo de Execução Exemplo #02 ISZ X // o conteúdo da posição de memória X é incrementado de 1 e, se o resultado é zero, a próxima instrução será saltada Seqüência de eventos t1: MAR IR(Endereço) t2: MBR Memória t3: MBR MBR + 1 t4: Memória MBR If (MBR = 0) then (PC PC + 1) 8
O Ciclo de Execução Exemplo #03 BSA X // o endereço da instrução que segue a instrução BSA é armazenado na memória e a execução reinicia a partir do endereço X + 1 Seqüência de eventos t1: MAR IR(Endereço) MBR PC t2: PC IR(Endereço) Memória MBR t3: PC PC + 1 9
O Ciclo de Instrução 11 (Interrupção) 10 (Execução) ICC? 00 (Busca) 01 (Indireto) Trata interrupção Código de operação? Lê endereço Obtém instrução ICC = 00 Sim Executa instrução Interrupção? Não ICC = 10 Não ICC = 11 ICC = 00 ICC = 10 Endereçamento indireto? ICC = 01 Sim 10
Controle do Processador Elementos básicos ULA Registradores Caminhos de dados internos Caminhos de dados externos Unidade de Controle Funções da Unidade de Controle 1. Seqüenciamento 2. Execução 11
Modelo da Unidade de Controle Registrador de instrução Sinais de controle Internos ao µp Códigos de condição relógio... Unidade de Controle Sinais de controle do barramento Sinais de controle para o barramento Barramento de controle 12
Sinais de Controle C5 C12 M B R C8 C1 C3 C4 C10 AC C11 PC IR C7 C9 C0 M A R C2 C13 C6 ULA Sinais de controle relógio Unidade de Controle Códigos de condição Sinais de controle 13
Sinais de Controle ciclo de busca C5 C12 M B R C8 C1 C3 C4 C10 AC C11 PC IR C7 C9 C0 M A R C2 C13 C6 ULA Sinais de controle t1: MAR PC C2 t2: MBR Memória PC PC + 1 C5,CR relógio Unidade de Controle Sinais de controle Códigos de condição t3: IR MBR C4 14
Sinais de Controle ciclo indireto C5 C12 M B R C8 C1 C3 C4 C10 AC C11 PC IR C7 C9 C0 M A R C2 C13 C6 ULA Sinais de controle t1: MAR IR(Endereço) C8 t2: MBR Memória C5,CR relógio Unidade de Controle Códigos de condição t3: IR(Endereço) MBR(Endereço) C4 Sinais de controle 15
Sinais de Controle ciclo de interrupção C5 C12 M B R C8 C1 C3 C4 C10 AC C11 PC IR C7 C9 C0 M A R C2 C13 C6 ULA Sinais de controle t1: MBR PC C1 t2: MAR End. Salvam. PC End. rotina C5,CR t3: Memória MBR C12,CW relógio Unidade de Controle Sinais de controle Códigos de condição 16
Organização Interna do Processador relógio Unidade de Controle Linhas de endereçamento Linhas de dados ULA IR PC MAR MBR AC Y Z Barramento Interno 17
Organização Interna do Processador relógio Unidade de Controle Linhas de endereçamento Linhas de dados ULA IR PC MAR MBR AC Y Z Barramento Interno t1: MAR IR(Endereço) t2: MBR Memória t3: Y MBR t4: Z AC + Y t5: AC Z 18
Implementação da Unidade de Controle Implementação por HW Unidade de Controle é reduzida a um circuito combinacional Sinais lógicos de entrada são transformados em um conjunto de sinais lógicos de saída os sinais de controle Implementação microprogramada 19
Implementação por HW Registrador de intrução I1 I2 I3... Ik decodificador O1 O2 O3... Om Relógio Gerador de sinais de temporização (contador) T1 T2 T3... Tm Unidade de Controle Códigos de condição C1 C2 C3... Cw 20
Implementação por HW ENTRADAS SAÍDAS I1 I2 I3 I4 O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 O11 O12 O13 O14 O15 O16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21
Implementação por HW Sinais de Controle P e Q PQ = 00 (Ciclo de busca) PQ = 01 (Ciclo indireto) PQ = 10 (Ciclo de execução) PQ = 11 (Ciclo de interrupção) Expressão booleana para C 5 C 5 P Q T2 P Q T2 Considerando que C 5 também é necessário durante o ciclo de instrução As instruções LDA, ADD e AND façam uso da memória C 5 P Q T2 P Q T2 P Q LDA ADD AND) ( T 2 22