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

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

MIPS MULTICICLO Fluxo de Dados e Controle

Apresentações semelhantes


Apresentação em tema: "MIPS MULTICICLO Fluxo de Dados e Controle"— Transcrição da apresentação:

1 MIPS MULTICICLO Fluxo de Dados e Controle

2 Usa máquina de estado finito para controle
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)

3 Técnica multiciclo 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

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

5 Passo 1: Busca da instrução (Instruction Fetch)
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?

6 Passo 2: Decod. da Instrução e Busca de Registradores
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)

7 Passo 3 (dependente da instrução)
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;

8 Passo 4 (R-type ou acesso à memória)
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

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

10 Resumo:

11 Implementando o Controle
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.

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

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

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

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

16 Microprogramação 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?

17 Comparação: Controle fixo e Microprogramado
- 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 Comparação: Controle fixo e Microprogramado


Carregar ppt "MIPS MULTICICLO Fluxo de Dados e Controle"

Apresentações semelhantes


Anúncios Google