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 Morgan Kaufmann Publishers MIPS MULTICICLO Fluxo de Dados e Controle

2 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 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 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 CICLOS! Cinco passos de Execução

5 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 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 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 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 Morgan Kaufmann Publishers Reg[IR[20-16]]= MDR; E as outras instruções? Passo Write-back

10 Morgan Kaufmann Publishers Resumo:

11 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 Morgan Kaufmann Publishers Implementação: Máquina de estado finito para controle (controle hardwired, controle fixo)

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

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

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