A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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 –

Apresentações semelhantes


Apresentação em tema: "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 –"— Transcrição da apresentação:

1 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

2 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

3 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

4 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

5 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

6 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

7 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...

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

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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

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

18 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

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

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

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

22 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

23 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 0111 0100 + 0111 0010 + 0110 + 1000 0000 + 0001 0001 + 0010 1000 0110 1000 1001 0100 0000 0101 0000 + 0011 0011 + 0101 1000 0000 + 1001 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

24 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)

25 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 000010estado1PróximoEstado9 (1001) 000100estado1PróximoEstado8 (1000) XXXXXXestado6PróximoEstado7 (0111) 000000estado1PróximoEstado6 (0110) 101011estado2PróximoEstado5 (0101) XXXXXXestado3PróximoEstado4 (0100) 100011estado2PróximoEstado3 (0011) 100011 + 101011estado1PróximoEstado2 (0010) XXXXXXestado0PróximoEstado1 (0001) XXXXXXestado4 +estado5 + estado7 + estado8 + estado9 PróximoEstado0 (0000) Estado(s) Corrente(s) Saída (PE3 PE2 PE1 PE0)

26 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 000010estado1PróximoEstado9 (1001) 000100estado1PróximoEstado8 (1000) XXXXXXestado6PróximoEstado7 (0111) 000000estado1PróximoEstado6 (0110) 101011estado2PróximoEstado5 (0101) XXXXXXestado3PróximoEstado4 (0100) 100011estado2PróximoEstado3 (0011) 100011 + 101011estado1PróximoEstado2 (0010) XXXXXXestado0PróximoEstado1 (0001) XXXXXXestado4 +estado5 + estado7 + estado8 + estado9 PróximoEstado0 (0000) Estado(s) Corrente(s) Saída (PE3 PE2 PE1 PE0)

27 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 000010estado1PróximoEstado9 (1001) 000100estado1PróximoEstado8 (1000) XXXXXXestado6PróximoEstado7 (0111) 000000estado1PróximoEstado6 (0110) 101011estado2PróximoEstado5 (0101) XXXXXXestado3PróximoEstado4 (0100) 100011estado2PróximoEstado3 (0011) 100011 + 101011estado1PróximoEstado2 (0010) XXXXXXestado0PróximoEstado1 (0001) XXXXXXestado4 +estado5 + estado7 + estado8 + estado9 PróximoEstado0 (0000) Estado(s) Corrente(s) Saída (PE3 PE2 PE1 PE0)

28 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 000010estado1PróximoEstado9 (1001) 000100estado1PróximoEstado8 (1000) XXXXXXestado6PróximoEstado7 (0111) 000000estado1PróximoEstado6 (0110) 101011estado2PróximoEstado5 (0101) XXXXXXestado3PróximoEstado4 (0100) 100011estado2PróximoEstado3 (0011) 100011 + 101011estado1PróximoEstado2 (0010) XXXXXXestado0PróximoEstado1 (0001) XXXXXXestado4 +estado5 + estado7 + estado8 + estado9 PróximoEstado0 (0000) Estado(s) Corrente(s) Saída (PE3 PE2 PE1 PE0)

29 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 000010estado1PróximoEstado9 (1001) 000100estado1PróximoEstado8 (1000) XXXXXXestado6PróximoEstado7 (0111) 000000estado1PróximoEstado6 (0110) 101011estado2PróximoEstado5 (0101) XXXXXXestado3PróximoEstado4 (0100) 100011estado2PróximoEstado3 (0011) 100011 + 101011estado1PróximoEstado2 (0010) XXXXXXestado0PróximoEstado1 (0001) XXXXXXestado4 +estado5 + estado7 + estado8 + estado9 PróximoEstado0 (0000) Estado(s) Corrente(s) Saída (PE3 PE2 PE1 PE0)

30 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

31 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 10000001000000001001 01000000101001001000 00000000000000110111 00000000010001000110 00101000000000000101 00000010000000100100 00110000000000000011 00000000000101000010 00000000000110000001 10010100000010000000 Conteúdo da palavra da ROM (bits 19-4) 4 bits menos significativos do endereço (estado corrente) Tabela C.12

32 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 ilegal0000 1001 ilegal0000 1000 ilegal0000 0111 ilegal0111 0110 ilegal0000 0101 ilegal0000 0100 ilegal0100 0011 ilegal01010011XXXX 0010 ilegal0010 1000100101100001 0000 Qualquer outro valor 101011 (sw) 100011 (lw) 000100 (beq) 000010 (jmp) 000000 (Tipo R) Estado corrente S[3-0] Op[5-0] Fig. C-13

33 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?

34 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

35 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)

36 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

37 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

38 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

39 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

40 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

41 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

42 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

43 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

44 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

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

46 Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 46 Tabelas de Despacho Tabela de Despacho 1 0010sw101011 0010lw100011 1000beq000100 1001jmp000010 0110Tipo R000000 Valor armazenado na tabela (próxima µ-instrução) Nome da InstruçãoOperação (Opcode) Tabela de Despacho 2 0101sw101011 0011lw100011 Valor armazenado na tabela (próxima µ-instrução) Nome da InstruçãoOperação (Opcode)

47 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)

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

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

50 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

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

52 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)

53 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

54 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 0 9 00 Subst. o número do estado por 0 8 00 Subst. o número do estado por 0 7 11 Use o estado incrementado 6 00 Subst. o número do estado por 0 5 00 Subst. o número do estado por 0 4 11 Use o estado incrementado 3 10 Use a tabela de despacho 2 2 01 Use a tabela de despacho 1 1 11 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)

55 Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 55 Conteúdo da memória de controle 00 1000000100000000 9 00 0100000010100100 8 00 0000000000000011 7 11 0000000001000100 6 00 0010100000000000 5 00 0000001000000010 4 11 0011000000000000 3 10 0000000000010100 2 01 0000000000011000 1 11 1001010000001000 0 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)

56 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

57 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

58 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

59 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

60 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

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

62 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

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

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

65 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

66 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: – www.inf.ufg.br/~fmc/orgcomp/simuladores O trabalho consistirá em implementar o projeto do Capítulo 5 (Patterson&Hennessy) utilizando um destes simuladores


Carregar ppt "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 –"

Apresentações semelhantes


Anúncios Google