Mips multiciclo fluxo de dados e controle
Download
1 / 18

MIPS MULTICICLO Fluxo de Dados e Controle - PowerPoint PPT Presentation


  • 107 Views
  • Uploaded on

MIPS MULTICICLO Fluxo de Dados e Controle. 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)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' MIPS MULTICICLO Fluxo de Dados e Controle' - cynthia-salinas


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Mips multiciclo fluxo de dados e controle

MIPS MULTICICLOFluxo de Dados e Controle


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


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


Cinco passos de execu o
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 3 - 5 CICLOS!


Passo 1 busca da instru o instruction fetch
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?


Passo 2 decod da instru o e busca de registradores
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)


Passo 3 dependente da instru o
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;


Passo 4 r type ou acesso mem ria
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


Passo write back
Passo Write-back

  • Reg[IR[20-16]]= MDR;

    E as outras instruções?



Implementando o controle
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.


Especifica o da fsm
Especificação da FSM

  • Quantos bits de estado são necessários?


M quina de estado finito para controle controle hardwired controle fixo
Máquina de estado finito para controle (controle hardwired, controle fixo)

  • Implementação:



Controle microprogramado uso de mem ria de microprograma microc digo
Controle microprogramado – uso de memória de microprograma (microcódigo)

  • O que são “microinstruções” ?


Microprograma o
Microprogramação microprograma (microcódigo)

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


Compara o controle fixo e microprogramado
Comparação: Controle fixo e Microprogramado microprograma (microcódigo)

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


Compara o controle fixo e microprogramado1
Comparação: Controle fixo e Microprogramado microprograma (microcódigo)


ad