MIPS MULTICICLO Fluxo de Dados e Controle

Slides:



Advertisements
Apresentações semelhantes
Organização e Arquitetura de Computadores I Microarquitetura
Advertisements

Sistemas Operacionais
Ch Morgan Kaufmann Publishers Paulo C. Centoducatte – MC542 - IC/Unicamp- 2004s2 Desempenho.
Chapter Five The Processor: Datapath and Control (Parte B: multiciclo)
PIPELINE (continuação).
Sistemas Digitais Projeto RTL – Unidade de Controle
Arquitetura de Computadores
WebDesign Redes de Computadores Aula 07
Ch Morgan Kaufmann Publishers Paulo C. Centoducatte Desempenho.
Arquitetura e organização de computadores
Arquitetura e organização de computadores.
Autor: Salvador P. Gimenez
Arquitetura de Computadores
A Arquitetura: conjunto de instruções
Software Básico Silvio Fernandes
Unidade Lógica e Aritmética Introdução à Ciência da Computação
Fernando Moraes, Ney Calazans 26/10/2005
Sistemas Digitais Projeto RTL – Unidade de Execução
Unidades de Execução e de Controle Sistemas Digitais.
Exemplo de arquitetura registrador-registrador- MIPS
MIPS PIPELINE.
Processador Fluxo de Dados e Controle
AULA 06 - MIPS PIPELINE.
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
Sistemas Operacionais
Organização de Computadores Inserindo o Controle Identifica pontos de controle no caminho de dados – Busca da instrução – Operações lógicas e aritméticas.
Dados do Grupo. 1) Apresentação do Testbench Desenvolvido:
Maria Aparecida Castro Livi
Introdução à Informática
Mais sobre potência: As novas idéias CMP502 Profs. Luigi e Flávio.
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 –
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Implementando um Montador com LEX e YACC - 3
João Cláudio Otero MIPS Multiciclo João Cláudio Otero
1998 Morgan Kaufmann Publishers Ch5B-1 O Processador: Via de Dados e Controle (Parte C: microprogramação)
Arquitetura de Computadores
Processadores – Aula 3 Professor: André Luis Meneses Silva
Processadores – Aula 3 Professor: André Luis Meneses Silva
Introdução à Programação
Unidade Central de Processamento
Unidade Central de Processamento
Unidade Central de Processamento
Funcionamento básico de um computador
Arquitetura Cleópatra Bloco de Controle (Instruções e Microinstruções)
Pipeline O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline. Todos os estágios devem estar prontos ao mesmo.
UCP Memória Principal Controladores E/S
Computador Simplificado Conceitos p.ex. FLUXO de execução
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Processamento de dados na UCP e memória UCP
Contextualização de Paralelismo em nível de instrução
Arquitetura de Computadores
Unidade Central De Processamento: Processador
Organização e Arquitetura de Computadores
Unidade Central De Processamento: Processador
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.
Parte 3 Seção de Dados e Unidade de Controle
1  1998 Morgan Kaufmann Publishers Paulo C. Centoducatte – MC542 - IC/Unicamp- 2006s Prof. Paulo Cesar Centoducatte
Estrutura do Processador
Processador MAC-1 Arquitectura.
Afonso Ferreira Miguel
Arquitetura de computadores
Pet computação UFPE Arquitetura Von Neumann. pet computação UFPE 1.Definição e tipos de arquitetura Quando falamos em arquitetura temos dois tipos a considerar:
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
TRABALHO AVALIATIVO ALUNO: FRANCISCO HELIÉSUS DE MEDEIROS MATÉRIA: ORGANIZAÇÃO DE COMPUTADORES.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Transcrição da apresentação:

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) 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 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 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) 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 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) 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) 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 Reg[IR[20-16]]= MDR; E as outras instruções?

Resumo:

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 Quantos bits de estado são necessários?

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

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

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

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?

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.

Comparação: Controle fixo e Microprogramado