Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Slides:



Advertisements
Apresentações semelhantes
Contadores e Registradores
Advertisements

Organização e Arquitetura de Computadores I Microarquitetura
Organização de Computadores I
CPU: Controle e processamento
Arquitetura de Computadores
O Sistema de Computação
Arquitetura e organização de computadores
Arquitetura e organização de computadores.
Autor: Salvador P. Gimenez
Arquitetura de Computadores
A Arquitetura: conjunto de instruções
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução à arquitectura de microprocessadores - 1 Introdução à arquitectura de microprocessadores.
Unidade Lógica e Aritmética Introdução à Ciência da Computação
Exemplo de arquitetura registrador-registrador- MIPS
MIPS MULTICICLO Fluxo de Dados e Controle
Processador Fluxo de Dados e Controle
Processo de Pipelining (exemplo da lavanderia)
Pipeline.
Organização de Computadores Inserindo o Controle Identifica pontos de controle no caminho de dados – Busca da instrução – Operações lógicas e aritméticas.
Organização e Arquitetura de Computadores I Parte de Controle
Dados do Grupo. 1) Apresentação do Testbench Desenvolvido:
Maria Aparecida Castro Livi
Introdução à Informática
Rganização de Computadores A Interface entre o Processador e os Periféricos Capítulo 8 – Patterson & Hennessy (seções 8.4 e 8.5) Organização de Computadores.
Rganização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de.
Rganização de Computadores Multiprocessadores Capítulo 9 – Patterson & Hennessy Organização de Computadores Multiprocessadores Capítulo 9 – Patterson &
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Rganização de Computadores Hierarquia de Memórias Capítulo 7 – Patterson & Hennessy (seções 7.1 a 7.3) Organização de Computadores Hierarquia de Memórias.
Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador - Parte A Capítulo 5.
Professor: Erivelto Tschoeke – UDESC/CEPLAN
O MICROPROCESSADOR INTEL 8080
Implementando um Montador com LEX e YACC - 3
UNIDADE DE CONTROLE MICROPROGRAMADA PARA O FEMTOJAVA
Processadores – Aula 3 Professor: André Luis Meneses Silva
Arquitetura de Computadores
Processadores – Aula 3 Professor: André Luis Meneses Silva
Introdução à Programação
Processadores Livro Introdução à Organização de Computadores Capítulo: 6 – Processadores.
Índice SUMÁRIO Introdução ao projeto de lógica seqüencial.
Unidade Central de Processamento
Unidade Central de Processamento
Arquitetura Cleópatra Bloco de Controle (Instruções e Microinstruções)
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Computador Cleópatra Arquitetura e Programação.
Pipeline O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline. Todos os estágios devem estar prontos ao mesmo.
Organização de Computadores
Arquiteturas Von Neumann e Harvard Computador Cleópatra
Sistemas Operacionais I
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Pet computação UFPE Aula de apoio aos feras: Arquitetura de Computadores.
Processamento de dados na UCP e memória UCP
Arquitetura de Computadores
Unidade Central De Processamento: Processador
Organização e Arquitetura de Computadores
GINÁSTICA LABORAL UM NOVO CAMINHO.
Capítulo 4 Nível da Microarquitetura
Organização e Arquitetura de Computadores
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.
Tudo sobre o Processador
Curso: Sistemas de Informação Tópico 5
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos.
Componentes básicos de um computador
Afonso Ferreira Miguel
Arquitetura de Microcomputadores
Arquitetura de computadores
Pet computação UFPE Arquitetura Von Neumann. pet computação UFPE 1.Definição e tipos de arquitetura Quando falamos em arquitetura temos dois tipos a considerar:
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Caminho de Dados (aula passada)
Transcrição da apresentação:

Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 – Patterson & Hennessy Organização de Computadores Organização do Processador Parte B Capítulo 5 – Patterson & Hennessy

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 2 Implementação Muticiclo Dividir a execução de uma instrução em passos Cada passo gasta 1 ciclo de relógio Permite que uma mesma unidade funcional seja usada mais de uma vez por uma instrução: – uma única memória para dados e instruções – uma única UAL (sem os somadores especiais) Elementos de estado são escritos na transição do relógio

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 3 Visão geral do caminho de dados multiciclo Fig. 5.30

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 4 Elementos de estado intermediárioas Armazenam um valor produzido durante um ciclo para uso no próximo ciclo (dentro da mesma instrução) – IR: instrução buscada da memória – MDR: dados lidos da memória – A e B: dados a serem alimentados nas entradas respectivas da UAL – UALSaída: resultado produzido pela UAL

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 5 Caminho de dados detalhado (sem os sinais de controle) Fig. 5.31

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 6 Caminho de dados com os sinais de controle Fig. 5.32

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 7 Caminho de dados completo com a UC e lógica de atualização do PC...

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 8 Caminho de dados Fig. 5.33

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 9 Passos na execução de instruções...

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 10 Passos na execução de instruções Regs[IR[20-16]] = MDR; MDR = Mem[UALSaída] UALSaída = A + extensão_sinal( IR[15-0]); LW PC = PC[31-28] || (IR[25-0]<<2); J if (A==B) PC=UALSaída; BEQ Mem[UALSaída] = B; SW Regs[IR[15-11]] = UALSaída; UALSaída = A op B; A = Regs[IR[25-21]]; B = Regs[IR[20-16]]; UALSaída = PC + extensão_sinal( IR[15-0]) << 2; IR = Mem[PC]; PC = PC+ 4; Tipo R Passo 5: Escrita de resultado para a instrução LW Passo 4: Escrita de resultado para instruções tipo R e SW Passo 3: Execução, cálculo de endereço de memória, desvio condicional Passo 2: Decodificação e Busca de Registradores Passo 1: Busca da Instrução

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 11 Exercício Analisar a possibilidade de: – Executar a instrução J em apenas dois ciclos/passos – Executar a instrução LW em apenas quatro ciclos/passos

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 12 Implementação da Unidade de Controle Duas alternativas: – Máquina de estados – Microprogramação

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 13 Implementação com máquina de estados: Visão geral Fig. 5.36

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 14 Máquina de estados: Busca e Decodificação Fig.5.37

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 15 Máquina de Estados: LW e SW Fig. 5.38

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 16 Máquina de estados: Instruções Tipo R Fig. 5.39

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 17 Máquina de estados: BEQ Fig. 5.40

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 18 Máquina de estados: Desvio incondicional (J) Fig. 5.41

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 19 Máquina de Estados Completa...

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 20 Fig. 5.42

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 21 Esboço da implementação Fig. 5.43

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 22 Sinais de Entrada e Saída da UC Fig. C.7

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 23 Equações lógicas da UC: Quais sinais são ativados em cada estado Binário (S3 S2 S1 S0)Simbólico XXXXXXestado7RegDst XXXXXXestado4 + estado7EscReg XXXXXXestado2 + estado6 + estado8UALFonteA XXXXXXestado0 + estado1UALFonteB0 XXXXXXestado1 + estado2UALFonteB1 XXXXXXestado8UALOp0 XXXXXXestado6UAL0p1 XXXXXXestado8FontePC0 XXXXXXestado9FontePC1 XXXXXXestado4MemParaReg XXXXXXestado0IREsc XXXXXXestado5EscMem XXXXXXestado0 + estado3LerMem XXXXXXestado3 + estado5IouD XXXXXXestado8PCEscCond XXXXXXestado0 + estado9PCEsc OperaçãoEquação lógica em função do(s) estado(s) corrente(s)Saída

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 24 Sinais de controle em função do estado corrente (Exercício: completar a tabela)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 25 Equações lógicas da UC: Determinação do próximo estado (1) (Op5... Op0)Simbólico (Op = ´jmp´) (Op = ´beq´) - (Op = ´tipo R´) (Op = ´sw´) - (Op = ´lw´) (Op = ´lw´) + (Op = ´sw´) - - Operação estado1PróximoEstado9 (1001) estado1PróximoEstado8 (1000) XXXXXXestado6PróximoEstado7 (0111) estado1PróximoEstado6 (0110) estado2PróximoEstado5 (0101) XXXXXXestado3PróximoEstado4 (0100) estado2PróximoEstado3 (0011) estado1PróximoEstado2 (0010) XXXXXXestado0PróximoEstado1 (0001) XXXXXXestado4 +estado5 + estado7 + estado8 + estado9 PróximoEstado0 (0000) Estado(s) Corrente(s) Saída (PE3 PE2 PE1 PE0)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 26 Equações lógicas da UC: Determinação do próximo estado (2) (Op5... Op0)Simbólico (Op = ´jmp´) (Op = ´beq´) - (Op = ´tipo R´) (Op = ´sw´) - (Op = ´lw´) (Op = ´lw´) + (Op = ´sw´) - - Operação estado1PróximoEstado9 (1001) estado1PróximoEstado8 (1000) XXXXXXestado6PróximoEstado7 (0111) estado1PróximoEstado6 (0110) estado2PróximoEstado5 (0101) XXXXXXestado3PróximoEstado4 (0100) estado2PróximoEstado3 (0011) estado1PróximoEstado2 (0010) XXXXXXestado0PróximoEstado1 (0001) XXXXXXestado4 +estado5 + estado7 + estado8 + estado9 PróximoEstado0 (0000) Estado(s) Corrente(s) Saída (PE3 PE2 PE1 PE0)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 27 Equações lógicas da UC: Determinação do próximo estado (3) (Op5... Op0)Simbólico (Op = ´jmp´) (Op = ´beq´) - (Op = ´tipo R´) (Op = ´sw´) - (Op = ´lw´) (Op = ´lw´) + (Op = ´sw´) - - Operação estado1PróximoEstado9 (1001) estado1PróximoEstado8 (1000) XXXXXXestado6PróximoEstado7 (0111) estado1PróximoEstado6 (0110) estado2PróximoEstado5 (0101) XXXXXXestado3PróximoEstado4 (0100) estado2PróximoEstado3 (0011) estado1PróximoEstado2 (0010) XXXXXXestado0PróximoEstado1 (0001) XXXXXXestado4 +estado5 + estado7 + estado8 + estado9 PróximoEstado0 (0000) Estado(s) Corrente(s) Saída (PE3 PE2 PE1 PE0)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 28 Equações lógicas da UC: Determinação do próximo estado (4) (Op5... Op0)Simbólico (Op = ´jmp´) (Op = ´beq´) - (Op = ´tipo R´) (Op = ´sw´) - (Op = ´lw´) (Op = ´lw´) + (Op = ´sw´) - - Operação estado1PróximoEstado9 (1001) estado1PróximoEstado8 (1000) XXXXXXestado6PróximoEstado7 (0111) estado1PróximoEstado6 (0110) estado2PróximoEstado5 (0101) XXXXXXestado3PróximoEstado4 (0100) estado2PróximoEstado3 (0011) estado1PróximoEstado2 (0010) XXXXXXestado0PróximoEstado1 (0001) XXXXXXestado4 +estado5 + estado7 + estado8 + estado9 PróximoEstado0 (0000) Estado(s) Corrente(s) Saída (PE3 PE2 PE1 PE0)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 29 Equações lógicas da UC: Determinação do próximo estado (5) (Op5... Op0)Simbólico (Op = ´jmp´) (Op = ´beq´) - (Op = ´tipo R´) (Op = ´sw´) - (Op = ´lw´) (Op = ´lw´) + (Op = ´sw´) - - Operação estado1PróximoEstado9 (1001) estado1PróximoEstado8 (1000) XXXXXXestado6PróximoEstado7 (0111) estado1PróximoEstado6 (0110) estado2PróximoEstado5 (0101) XXXXXXestado3PróximoEstado4 (0100) estado2PróximoEstado3 (0011) estado1PróximoEstado2 (0010) XXXXXXestado0PróximoEstado1 (0001) XXXXXXestado4 +estado5 + estado7 + estado8 + estado9 PróximoEstado0 (0000) Estado(s) Corrente(s) Saída (PE3 PE2 PE1 PE0)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 30 Implementação da lógica de controle através de uma ROM Endereços: serão as entradas da lógica de controle – 6 bits de OpCode (bits 9-4) + 4 bits do estado corrente (bits 3-0) – i.e.: 10 bits: 2 10 = 1024 palavras (i.e. 1K palavras) Palavras – 16 bits de sinais de controle do caminho de dados (bits 19-4) – 4 bits indicadores do próximo estado (bits 3-0) – Total: 20 bits Tamanho da ROM: 1024 x 20 = 20Kbits – Obs.: muitas palavras serão desperdiçadas, por não corresponderem a entradas significativas

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 31 Conteúdo da ROM (1): Sinais de controle em função do estado corrente Conteúdo da palavra da ROM (bits 19-4) 4 bits menos significativos do endereço (estado corrente) Tabela C.12

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 32 Conteúdo da ROM (2): Próximo estado em função do estado corrente e do opcode ilegal ilegal ilegal ilegal ilegal ilegal ilegal ilegal XXXX 0010 ilegal Qualquer outro valor (sw) (lw) (beq) (jmp) (Tipo R) Estado corrente S[3-0] Op[5-0] Fig. C-13

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 33 Otimização da implementação via ROM Separar em duas ROMs: – Uma para conter os bits 19-4 da palavra de controle Endereçada com os 4 bits menos significativos do endereço (estado corrente) – Outra ROM para conter os 4 bits menos significativos da palavra de controle Endereçada com os 10 bits completos de endereço (6 do OpCode e 4 do estado corrente) Qual o tamanho total das duas ROMs? Qual o design?

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 34 Implementação da lógica de controle com um PLA

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 35 Microprogramação Simplifica o projeto do controle quando – O número de instruções é muito alto (centenas) – Há instruções complexas, que consomem vários ciclos Uma forma textual de expressar a lógica de controle – Microprograma: seqüência de micro-instruções representadas simbolicamente Micro-instruções: determinam os sinais de controle que devem estar ativos em cada ciclo (i.e., estado) da execução de uma instrução – Também determinam a próxima micro-instrução a ser executada: seqüenciamento – São armazenadas em uma memória de controle (ROM)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 36 Formato das micro-instruções Especifica como escolher a próxima micro-instrução a ser executada Seqüenciamento Especifica a fonte do valor que será escrito no PCControle de PCEsc Especifica a leitura ou escrita na memória, bem como a fonte do endereço; se leitura, especifica também o registrador de destino Memória Especifica a leitura ou escrita no banco de registradores; se escrita, especifica também a fonte do valor a ser escrito Controle de registrador Especifica a fonte do segundo operando da UALSRC2 Especifica a fonte do primeiro operando da UALSRC1 Especifica a operação a ser realizada pela UAL no ciclo de relógio atual. Controle da UAL Função do campoNome do campo

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 37 Valores dos campos de uma micro- instrução (1) Escrita a partir do MDR Escrita a partir da UAL LeituraControle de registrador Estendido / deslocado Estendido 4 BSRC2 A PCSRC1 Código de função Subtração SomaControle da UAL String - Nome da micro-instrução, usada para indicar a próxima micro-instrução a executar Identificação Valores possíveisNome do campo

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 38 Valores dos campos de uma micro- instrução (2) Despacho i – usa o opcode e a tabela de despacho i para determinar a próxima micro- instrução a ser executada Busca – inicia a busca da próx. instrução ISA Seq – execução seqüencialSeqüenciamento O endereço de desvio incondicional é usado para atualizar o PC UALSaidaCond – escreve UALSaída no PC se o flag Zero estiver ativo UAL – escreve a saída da UAL no PCControle PCEsc Escrita, com endereço fornecido pela UAL Leitura, com endereço fornecido pela UAL Leitura, com endereço fornecido pelo PCMemória Valores possíveisNome do campo

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 39 Seqüenciamento de micro-instruções Seqüencial: a próxima micro-instrução a ser executada está no endereço seguinte na ROM de controle – Apenas incrementa-se o endereço Busca: a próxima micro-instrução é a que executa a busca da próxima instrução ISA a ser executada – Ao término da seqüência de micro-instruções que executou uma dada instrução ISA Despacho: a próxima instrução é escolhida com base no Opcode da instrução ISA sendo executada – Usado para indexar uma tabela de despacho, que contém o endereço efetivo da próxima micro-instrução Tabelas de despacho: uma para cada estado com mais de uma transição – Ex.: transições que partem do estado 1 na máq. de estados

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 40 Microprograma: Busca de instruções Despa- cho 1 LeituraExtensão do sinal e desloca- mento de 2 bits à esquerda PCAdd SeqUALLer endereço especific. a partir do PC 4PCAddBusca Seqüen- ciamento Controle de PCEsc MemóriaControle dos regis- tradores SRC2SRC1Controle da UAL Identificação

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 41 Microprograma: Instruções de acesso à memória BuscaEscrita a partir do MDR SeqLeitura do endereço especific. a partir da UAL LW2 BuscaEscrita no endereço especific. a partir da UAL SW2 Despacho 2 Extensão do sinal AAddMem1 Seqüen- ciamento Controle de PCEsc MemóriaControle dos regis- tradores SRC2SRC1Controle da UAL Identificação

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 42 Microprograma: Instruções Tipo R BuscaEscrita a partir da UAL SeqBACódigo da função (funct) RFormat1 Seqüen- ciamento Controle de PCEsc MemóriaControle dos regis- tradores SRC2SRC1Controle da UAL Identificação

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 43 Microprograma: Instrução de desvio condicional BuscaUALSaída Cond BASubtBEQ1 Seqüen- ciamento Controle de PCEsc MemóriaControle dos regis- tradores SRC2SRC1Controle da UAL Identificação

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 44 Microprograma: Instrução de desvio incondicional BuscaEndereço de desvio incondic. JUMP1 Seqüen- ciamento Controle de PCEsc MemóriaControle dos regis- tradores SRC2SRC1Controle da UAL Identificação

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 45 Microprograma completo

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 46 Tabelas de Despacho Tabela de Despacho sw lw beq jmp Tipo R Valor armazenado na tabela (próxima µ-instrução) Nome da InstruçãoOperação (Opcode) Tabela de Despacho sw lw Valor armazenado na tabela (próxima µ-instrução) Nome da InstruçãoOperação (Opcode)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 47 Implementação do microprograma Duas partes: – Método para armazenar a função de controle principal ROM, cujas palavras determinam: – o valor das linhas de controle do caminho de dados – como selecionar a próxima micro-instrução – Função de seqüenciamento incrementador (semelhante ao PC)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 48 Implementação do microprograma

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 49 Detalhamento... (memória de controle) Fig. C.15

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 50 Composição da Palavra de Controle 18 bits: bits 17-2: controle do caminho de dados – Mesmos bits da Tabela C.12 (implementação da máquina de estados em ROM)Tabela C.12 bits 1-0: indicam como determinar a próxima micro-instrução a ser executada

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 51 Detalhamento... (memória de controle)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 52 Lógica de seleção do endereço da próxima micro-instrução (função de seqüenciamento)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 53 Significado dos bits AddrCtl (EndCtl) (bits 0 e 1 da palavra de controle) Utilizar a saída do contador como o endereço da próxima µ-instrução 11 Obter endereço da próxima µ-instrução na tabela de despacho 2 10 Obter endereço da próxima µ-instrução na tabela de despacho 1 01 Ir para o estado 0 (busca) 00 AçãoValor de AddrCtl

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 54 Valores dos bits AddrCtl (EndCtl) para cada micro-instrução (bits 0 e 1 da palavra de controle) 00 Subst. o número do estado por Subst. o número do estado por Subst. o número do estado por Use o estado incrementado 6 00 Subst. o número do estado por Subst. o número do estado por Use o estado incrementado 3 10 Use a tabela de despacho Use a tabela de despacho Use o estado incrementado 0 Valor de AddrCtl (EndCtl) Ação da lógica de controle de endereço Número do estado (µ-instrução)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 55 Conteúdo da memória de controle Bits 1-0 da palavra de controle Bits 17-2 da palavra de controle (ver Tabela C.12)Tabela C.12 Número do estado (µ-instrução)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 56 Micromontador Permite a codificação simbólica do microprograma – nomes simbólicos para as micro-instruções – rótulos em lugar de endereços Gera o código binário que constituirá as palavras de controle armazenadas na memória de controle Pode otimizar o uso de endereços seqüenciais para µ-instruções que executam em seqüência – Otimiza o uso do contador de micro-programa (µ-PC) – i.e., mais µ-instruções vão ser seqüenciadas com base apenas no incremento do contador

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 57 Outras otimizações Codificação do micro-programa – Combinando linhas de controle mutuamente exclusivas com o uso de decodificadores Ex.: 8 bits de controle que nunca são ativados simultaneamente podem ser substituídas por 3 bits e um decodificador 3:8 – Permite reduzir o tamanho da palavra de controle (i.e., das micro-instruções) Uso de vários formatos de micro-instruções Tarefa que pode ser realizada pelo micro- assembler

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 58 Tratamento de Exceções Eventos inesperados que mudam o fluxo normal de execução de instruções Dois tipos: – Exceções: geradas internamente ao processador Overflow aritimético Instrução inválida Chamada ao sistema operacional feita por um programa do usuário – Interrupções: originadas externamente Utilizadas por dispositivos de E/S para se comunicar com o processador Mau funcionamento do hardware

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 59 Duas abordagens alternativas Registrador de Causa (MIPS) – 32 bits – Armazena o tipo da exceção ocorrida – Desvio para uma área da memória que contém código genérico de tratamento da exceção – O tratamento específico é feito com base no tipo da exceção Vetor de Interrupções (x86) – Cada exceção causa um desvio para um endereço particular da memória, o qual contém código específico para o seu tratamento

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 60 Caminho de Dados com Tratamento de Exceções (Abordagem do MIPS)... Dois registradores adicionais: – EPC: guarda o endereço da instrução interrompida Usado apenas se o tratamento da exceção permite a retomada da execução normal a partir do ponto onde foi interrompida Não aplicável no MIPS simplificado – Causa: guarda o código da interrupção 0 = instrução indefinida 1 = overflow aritimético O valor desse registrador é decodificado pelo código genérico de tratamento de interrupções para definir a rotina de tratamento específica a ser aplicada

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 61

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 62 Controle do Tratamento de Exceções - Dois novos estados: PCSource

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 63 Máquina de Estados com Tratamento de Exceções...

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 64

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 65 Resumo das Alternativas de Implementação da Lógica de Controle

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 66 Trabalho - Preparativos Estudar os dois simuladores de circuitos digitais disponíveis – Digital Works – Circuit Maker Ambos disponíveis em: – O trabalho consistirá em implementar o projeto do Capítulo 5 (Patterson&Hennessy) utilizando um destes simuladores