1998 Morgan Kaufmann Publishers Ch5B-1 O Processador: Via de Dados e Controle (Parte C: microprogramação)

Slides:



Advertisements
Apresentações semelhantes
Chapter Five The Processor: Datapath and Control (Parte B: multiciclo)
Advertisements

PIPELINE (continuação).
CPU: Controle e processamento
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 06: Funções.
Fig. 2 Pontos críticos na característica de transferência vo(vi) de um inversor genérico. Microelectronic Circuits - Sedra/Smith (resumo sobre circuitos.
Arquitetura e organização de computadores
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 Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 03: Computador.
ARQUITETURAS RISC E CISC
Unidades de Execução e de Controle Sistemas Digitais.
Exemplo de arquitetura registrador-registrador- MIPS
MIPS PIPELINE.
MIPS MULTICICLO Fluxo de Dados e Controle
Processador Fluxo de Dados e Controle
AULA 06 - MIPS PIPELINE.
Circuitos Lógicos Sequenciais
Arquitetura de Sistemas Operacionais
MC542 Organização de Computadores Teoria e Prática
Processador Intel Itanium
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.
CISC e RISC.
Organização e Arquitetura de Computadores I Parte de Controle
Dados do Grupo. 1) Apresentação do Testbench Desenvolvido:
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Esquema básico do hardware
Implementando um Montador com LEX e YACC - 3
UNIDADE DE CONTROLE MICROPROGRAMADA PARA O FEMTOJAVA
Componentes do Computador e noções de Arquitetura de Computadores
Arquitetura de Computadores
Processadores – Aula 3 Professor: André Luis Meneses Silva
Simplificação de Expressões Booleanas e Circuitos Lógicos
Processadores – Aula 3 Professor: André Luis Meneses Silva
Introdução à Programação
Arquitectura de Computadores II
Prof.Corradi Finite State Machines.
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)
Complex Instruction Set Computer
SISTEMAS OPERACIONAIS
Unidade Central de Processamento UCP
Conceitos de Lógica Digital
Sistemas Operacionais
Sistemas Operacionais I
Organização e Arquitetura de Computadores
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Agenda Modos de Endereçamento.
Processamento de dados na UCP e memória UCP
Memória Principal.
Unidade Central De Processamento: Processador
Organização e Arquitetura de Computadores
Unidade Central De Processamento: Processador
Capítulo 4 Nível da Microarquitetura
Microprocesadores x Microcontroladores
Tudo sobre o Processador
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
Engenharia de Sistemas Embarcados Aula 5: Um Conjunto Básico de Ferramentas.
Arquitetura de computadores
Por: Lucas da Silva Montes, Marcos Ghesla e Vinícius Randon.
 Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN)  Surgimento de novos paradigmas como a OO, Orientação.
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:

1998 Morgan Kaufmann Publishers Ch5B-1 O Processador: Via de Dados e Controle (Parte C: microprogramação)

1998 Morgan Kaufmann Publishers Ch5B-2 Possibilidades para o projeto de UCs Initial representation Finite state diagram Microprogram Sequencing control Explicit next state function Microprogram counter + dispatch ROMS Logic representation Logic equations Truth tables Implementation technique Programmable logic array Read only memory Ler Historical perspective and further reading RISC x CISC Controle hardwired microprogramado (firmware)

1998 Morgan Kaufmann Publishers Ch5B-3 Valores dos sinais de controle dependem de: –Qual instrução está sendo executada –Que passo está sendo processado Especificar a máquina de estados finitos graficamente, ou Usar microprogramação Implementação pode ser derivada da especificação Implementando o controle

1998 Morgan Kaufmann Publishers Ch5B-4 Quantos bits de estado serão necessários? Especificação gráfica da MEF PCWrite PCSource = 10 ALUSrcA = 1 ALUSrcB = 00 ALUOp = 01 PCWriteCond PCSource = 01 ALUSrcA =1 ALUSrcB = 00 ALUOp= 10 RegDst = 1 RegWrite MemtoReg = 0 MemWrite IorD = 1 MemRead IorD = 1 ALUSrcA = 1 ALUSrcB = 10 ALUOp = 00 RegDst=0 RegWrite MemtoReg=1 ALUSrcA = 0 ALUSrcB = 11 ALUOp = 00 MemRead ALUSrcA = 0 IorD = 0 IRWrite ALUSrcB = 01 ALUOp = 00 PCWrite PCSource = 00 Instruction fetch Instruction decode/ register fetch Jump completion Branch completionExecution Memory address computation Memory access Memory access R-type completion Write-back step ( O p = ' L W ' ) o r ( O p = ' S W ' ) ( O p = R - t y p e ) ( O p = ' B E Q ' ) ( O p = ' J ' ) ( O p = ' S W ' ) ( O p = ' L W ' ) Start

1998 Morgan Kaufmann Publishers Ch5B-5 MEF para controle PCWrite PCWriteCond IorD MemtoReg PCSource ALUOp ALUSrcB ALUSrcA RegWrite RegDst NS3 NS2 NS1 NS0 O p 5 O p 4 O p 3 O p 2 O p 1 O p 0 S 3 S 2 S 1 S 0 State register IRWrite MemRead MemWrite Instruction register opcode field Outputs Control logic Inputs

1998 Morgan Kaufmann Publishers Ch5B-6 Implementação via PLA

1998 Morgan Kaufmann Publishers Ch5B-7 ROM = "Read Only Memory" Uma ROM pode ser usada para implementar uma tabela-verdade –Se o endereço possui m-bits, pode-se endereçar 2 m entradas na ROM. –A saída são os bits de dados que o endereço aponta m é a altura, e n é a largura Implementação via ROM mn

1998 Morgan Kaufmann Publishers Ch5B-8 Quantas entradas? 6 bits para opcode, 4 bits para estado = 10 bits de endereço (i.e., 2 10 = 1024 endereços diferentes) Quantas saídas? 16 saídas para controle da via de dados, 4 bits de estado= 20 bits de saída ROM é 2 10 x 20 = 1K x 20 bits Ocupa muita área! Implementação via ROM

1998 Morgan Kaufmann Publishers Ch5B-9 Divisão da tabela em duas partes 4 bits de estado indicam 16 saídas, 2 4 x 16 bits da ROM 10 bits tell you the 4 next state bits, 2 10 x 4 bits da ROM Total: 4.3K bits de ROM PLA é muito menor Pode compartilhar termos de produtos Necessita apenas de entradas que produzem uma saída ativa Pode levar em conta sinais do tipo don't care Tamanho é (#inputs #product-terms) + (#outputs #product-terms) Para o nosso exemplo = (10x17)+(20x17) = 460 células de PLA ROM vs PLA

1998 Morgan Kaufmann Publishers Ch5B-10 Instruções complexas: o próximo estado é o estado atual + 1 Outro estilo de implementação AddrCtl Outputs PLA or ROM State Address select logic O p [ 5 – 0 ] Adder Instruction register opcode field 1 Control unit Input PCWrite PCWriteCond IorD MemtoReg PCSource ALUOp ALUSrcB ALUSrcA RegWrite RegDst IRWrite MemRead MemWrite BWrite

1998 Morgan Kaufmann Publishers Ch5B-11 Visão geral Memória de MicroControle PC INCR CC (tabelas) IR OP End Dados seq Unidade de controle programado IR

1998 Morgan Kaufmann Publishers Ch5B-12 controle

1998 Morgan Kaufmann Publishers Ch5B-13 Microprogramação O que são as microinstruções?

1998 Morgan Kaufmann Publishers Ch5B-14 Diagrama de transição de estados PCWrite PCSource = 10 ALUSrcA = 1 ALUSrcB = 00 ALUOp = 01 PCWriteCond PCSource = 01 ALUSrcA =1 ALUSrcB = 00 ALUOp= 10 RegDst = 1 RegWrite MemtoReg = 0 MemWrite IorD = 1 MemRead IorD = 1 ALUSrcA = 1 ALUSrcB = 10 ALUOp = 00 RegDst=0 RegWrite MemtoReg=1 ALUSrcA = 0 ALUSrcB = 11 ALUOp = 00 MemRead ALUSrcA = 0 IorD = 0 IRWrite ALUSrcB = 01 ALUOp = 00 PCWrite PCSource = 00 Instruction fetch Instruction decode/ register fetch Jump completion Branch completionExecution Memory address computation Memory access Memory access R-type completion Write-back step ( O p = ' L W ' ) o r ( O p = ' S W ' ) ( O p = R - t y p e ) ( O p = ' B E Q ' ) ( O p = ' J ' ) ( O p = ' S W ' ) ( O p = ' L W ' ) Start

1998 Morgan Kaufmann Publishers Ch5B-15 Um microprograma horizontal

1998 Morgan Kaufmann Publishers Ch5B-16 Uma metodologia de especificação –Apropriada se centenas de opcodes, modos, ciclos, etc. –Sinais especificados simbolicamente usando microinstruções Duas implementações da mesma arquitetura possuem o mesmo microcódigo? Microprogramação

Formato das microinstruções

1998 Morgan Kaufmann Publishers Ch5B-18 Não codificado –1 bit para cada operação da via de dados –Mais rápido, requer mais memória (lógica) –Usado pelo Vax 780 incríveis 400K de memória! Codificado –Enviar microinstruções e obter sinais de controle –Usa menos memória mas é mais lento Contexto histórico de CISC: –Muita lógica de controle para colocar em um único chip –Utilizar uma ROM (ou mesmo uma RAM) para manter o microcódigo –A adição de novas instruções é mais simples Codificação x Não codificação

1998 Morgan Kaufmann Publishers Ch5B-19 Microcódigo A distinção entre especificação e implementação é, algumas vezes, difícil de encontrar Vantagens da especificação: –Fácil de projetar e escrever –Projetar arquitetura e microcódigo em paralelo Vantagens da implementação (ROM) –Fácil de modificar uma vez que os valores estão em uma memória –Pode emular outras arquiteturas –Pode fazer uso de registradores internos Desvantagens da implementação : –Controle é implementado no mesmo chip como o processador –ROM não é mais rápida que uma RAM