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

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

1 1998 Morgan Kaufmann Publishers MIPS MULTICICLO Fluxo de Dados e Controle.

Apresentações semelhantes


Apresentação em tema: "1 1998 Morgan Kaufmann Publishers MIPS MULTICICLO Fluxo de Dados e Controle."— Transcrição da apresentação:

1 1 1998 Morgan Kaufmann Publishers MIPS MULTICICLO Fluxo de Dados e Controle

2 2 1998 Morgan Kaufmann Publishers Máquinas de estado finito: –Um conjunto de estados e –Função próximo estado (determinado pelo estado atual e entrada) –Função de saída (determinada pelo estado atual e possivelmente entrada) Usaremos uma máquina Moore (saída baseada somente no estado atual) Usa máquina de estado finito para controle

3 3 1998 Morgan Kaufmann Publishers Quebrar as instruções em passos, cada passo leva um ciclo –Balancear a quantidade de trabalhos a realizar –Restringir cada ciclo para usar somente uma unidade funcional No fim de um ciclo –Armazenar valores para serem usados nos ciclos posteriores –introduzir registradores internos adicionais Técnica multiciclo

4 4 1998 Morgan Kaufmann Publishers Busca da instrução (Instruction Fetch) Decodificação da instrução e busca do registrador Execução, Computação do endereço de memória, ou conclusão de uma instrução de branch Acesso à memória ou conclusão de uma instrução R-type Passo de Write-back INSTRUÇÕES LEVEM DE 3 - 5 CICLOS! Cinco passos de Execução

5 5 1998 Morgan Kaufmann Publishers Usar o PC para a leitura da instrução e carga da mesma no registrador de instrução (Instruction Register). Incrementar o valor do PC por 4 e carregar o resultado no PC. Pode ser descrito sucintamente usando RTL "Register-Transfer Language" IR = Memory[PC]; PC = PC + 4; Podemos obter os valores dos sinais de controle? Quais as vantagens de atualizar o PC neste passo? Passo 1: Busca da instrução (Instruction Fetch)

6 6 1998 Morgan Kaufmann Publishers Leitura dos registradores rs e rt Computar o endereço de branch no caso da instrução de branch RTL: A = Reg[IR[25-21]]; B = Reg[IR[20-16]]; ALUOut = PC + (sign-extend(IR[15-0]) << 2); Estamos acionando as linhas de controle baseadas no tipo de instrução (a instrução está sendo "decodificada" na lógica de controle) Passo 2: Decod. da Instrução e Busca de Registradores

7 7 1998 Morgan Kaufmann Publishers ALU está realizando uma das três funções, baseadas no tipo de instrução Referência à memória: ALUOut = A + sign-extend(IR[15-0]); R-type: ALUOut = A op B; Branch: if (A==B) PC = ALUOut; Passo 3 (dependente da instrução)

8 8 1998 Morgan Kaufmann Publishers Acesso à memória através de loads e stores MDR = Memory[ALUOut]; or Memory[ALUOut] = B; Fim das instruções R-type Reg[IR[15-11]] = ALUOut; A escrita é realizada no fim do ciclo, na borda Passo 4 (R-type ou acesso à memória)

9 9 1998 Morgan Kaufmann Publishers Reg[IR[20-16]]= MDR; E as outras instruções? Passo Write-back

10 10 1998 Morgan Kaufmann Publishers Resumo:

11 11 1998 Morgan Kaufmann Publishers Para os dois primeiros passos, os sinais de controle são iguais para todas as instruções. A partir do passo 3, os sinais de controle são dependentes de: –Que instrução está sendo executada –Que passo está sendo realizada Usar as informações acumuladas para especificar uma máquina de estado finito –Especificar uma máquina de estado finito: 1) para os dois primeiros passos correspondem dois estados da máquina 2) a partir do passo 3, cada combinação de instrução e passo resulta num estado diferente. Implementando o Controle

12 Quantos bits de estado são necessários? Especificação da FSM

13 13 1998 Morgan Kaufmann Publishers Implementação: Máquina de estado finito para controle (controle hardwired, controle fixo)

14 14 1998 Morgan Kaufmann Publishers Implementação em PLA da lógica de controle

15 15 1998 Morgan Kaufmann Publishers Controle microprogramado – uso de memória de microprograma (microcódigo) O que são microinstruções ?

16 16 1998 Morgan Kaufmann Publishers Uma metodologia de especificação –Apropriado se centenas de opcodes, modos, ciclos, etc. –sinais especificados simbolicamente usando microinstruções Duas implementações da mesma arquitetura tem o mesmo microcódigo? O que faria um microassembler? Microprogramação

17 17 1998 Morgan Kaufmann Publishers Comparação: Controle fixo e Microprogramado Controle fixo: - complexidade do circuito cresce linearmente com o número de instruções. - após a construção é difícil a alteração do conjunto de instruções implementado - apresenta melhor desempenho Controle Microprogramado: –a complexidade do circuito não muda enquanto usar a mesma memória de microcódigo –é fácil mudar o conteúdo da memória de microprograma e portanto alterar o conjunto de instruções implementado –o desempenho é menor em relação ao controle fixo.

18 18 1998 Morgan Kaufmann Publishers Comparação: Controle fixo e Microprogramado


Carregar ppt "1 1998 Morgan Kaufmann Publishers MIPS MULTICICLO Fluxo de Dados e Controle."

Apresentações semelhantes


Anúncios Google