Arquiteturas de Computadores

Documentos relacionados
O Processador: Via de Dados e Controle (Parte C: microprogramação)

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

SSC0112 Organização de Computadores Digitais I

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

CPU Implementação. Multiciclo. Prof. Carlos Bazilio

DataPath II Tomando o controle!

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS

O Processador: Via de Dados e Controle

lw, sw add, sub, and, or, slt beq, j

Relembrando desempenho...

Data Path / Control Path Controle do MIPS

Prof. Frank Sill Torres DELT Escola de Engenharia UFMG

Capítulo 5. O Processador: Datapath & Controle

Mapeando o Controle no Hardware

Exercícios resolvidos (aula de 4 de Maio) Resolução:

Arquitectura de Computadores II. Execução de Instruções em Vários Ciclos Máquina

Organização de Computadores

Sistemas Processadores e Periféricos Aula 5 - Revisão

ção de Computadores II

Aula 21: UCP: Instrução Jump, Monociclo vs. Multiciclo, Pipeline

Unidade Central de Processamento

Tiago Alves de Oliviera

Subtrator R 3. Figura 1: Circuito de dados do divisor do exercício 1

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas:

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Parte Operativa e Parte de Controle do MIPS

SSC0611 Arquitetura de Computadores

Arquitectura de Computadores MEEC (2014/15 2º Sem.)

Nível da Microarquitetura

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

SSC0114 Arquitetura de Computadores

SSC0902 Organização e Arquitetura de Computadores

Unidade Central de Processamento UCP (CPU)

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

Capítulo 4. O Processador

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

Implementação da UCP. Construção do caminho de dados Controle Implementação monociclo. Organização de Computadores

18/10/2010. Unidade de Controle Controle. UC Microprogramada

Microcontroladores e Interfaces

Prova 1 Eng. Elétrica Arquitetura de Computadores Prof. Celso A. Saibel Santos Nome: Data:

Arquitetura de Computadores - Controle Microprogramado. por Helcio Wagner da Silva

SSC0611 Arquitetura de Computadores

Organização ou MicroArquitectura

Organização de Computadores

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Introdução à Computação: Máquinas Multiníveis

Arquitetura de Computadores I

Pipelining - analogia

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

O Funcionamento do Processador

Questionário Arquitetura e Organização de Computadores

ORGANIZAÇÃO DE COMPUTADORES

Organização e Projeto de Computadores

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

Lab 9 Implementação do MIPS em VHDL e teste na FPGA

Organização e Arquitetura de Computadores I

Capítulo 4 Nível da microarquitetura

Departamento de Engenharia Elétrica e de Computação SEL 606 Laboratório de Sistemas Digitais Prof. Dr. Maximiliam Luppe

Aula 17: UCP: Construindo um Caminho de Dados (Parte I)

Infraestrutura de Hardware. Funcionamento de um Computador

Organização de Sistemas de Computadores

O Nível da Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura

Organização de Computadores (revisão) André Tavares da Silva

ORGANIZAÇÃO DE COMPUTADORES

Introdução à Computação: Arquitetura von Neumann

Aula 16: UCP: Conceitos Básicos e Componentes

18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados

Organização de um processador

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro

Projetos Digitais e Microprocessadores 2 o Semestre de 2013 Prof. Luis Allan Künzle Exercícios sobre Datapath 24/11/2013

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

Aula 15: Ciclo de Execução e Introdução ao Pipeline

Processador. Processador

A Arquitetura: conjunto de instruções

Transcrição:

Arquiteturas de Computadores Implementação de MIPS multiciclo (cont.) Fontes dos slides: Patterson & Hennessy book website (copyright Morgan Kaufmann) e Dr. Sumanta Guha

CPI em uma CPU multiciclo Assuma O projeto de controle mostrado Uma mistura de instruções com 22% loads, 11% stores, 49% tipo R, 16% desvios, e 2% saltos Qual a CPI assumindo que cada passo necessita de um ciclo de relógio? Solução: Número de ciclos de relógio para cada instrução: loads 5, stores 4, instruções do tipo R 4, desvios 3, saltos 3 CPI = número de ciclos de relógio / número de instruções = (número de instruções class i CPI class i ) / número de instruções = (número de instruções class i / número de instruções) CPI class I = 0.22 5 + 0.11 4 + 0.49 4 + 0.16 3 + 0.02 3 = 4.04

Implementação do controle FSM Control logic PCWrite PCWriteCond IorD MemRead MemWrite IRWrite MemtoReg PCSource Outputs ALUOp ALUSrcB ALUSrcA RegWrite RegDst Inputs NS3 NS2 NS1 NS0 Op5 Op4 Op3 Op2 Op1 Op0 S3 S2 S1 S0 Instruction register opcode field State register 4 bits para 10 estados Entradas para o bloco de lógica combinacional são o número do estado corrente e os bits do opcode; saídas são o número do próximo estado e sinais de controle para garantir a ida para o próximo estado

Op5 Op4 Op3 Op2 Op1 Op0 S3 S2 S1 S0 PCWrite PCWriteCond IorD MemRead MemWrite IRWrite MemtoReg PCSource1 PCSource0 ALUOp1 ALUOp0 ALUSrcB1 ALUSrcB0 ALUSrcA RegWrite RegDst NS3 NS2 NS1 NS0 Parte de cima é o plano do AND que calcula todos os produtos. Os produtos são carregados Para a parte de baixo do plano OR pelas linhas verticais. A soma dos termos para cada saída é dada pela linha horizontal correspondente E.g., IorD = S0.S1.S2.S3 + S0.S1.S2.S3

Implementação por ROM ROM (Read Only Memory) Os valores das posições de memória são fixados antes do tempo Uma ROM pode ser usada para implementar uma tabela verdade Se temos m-bits para endereços, podemos endereçar 2 m entradas na ROM As saídas são os bits do conteúdo o endereços aponta address output m n ROM m = 3 n = 4 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1

Controle FSM: ROM vs. PLA Melhore a utilização da ROM: quebre a tabela em 2 partes 4 bits de estado dão 16 sinais de saída 2 4 x 16 bits de ROM Os 10 bits de entrada geram 4 bits do próximo estado 2 10 x 4 bits de ROM Total 4.3K bits de ROM PLA é muito menor Pode compartilhar termos do produto Somente necessita de entradas que forneçam uma saída ativa Podem usar don t cares Tamanho PLA = (#inputs #product-terms) + (#outputs #productterms) PLA = (10x17)+(20x17) = 460 células PLA Células PLA usualmente do tamanho da célula ROM

Microprogramação Microprogramação é um método para especificar controle FSM que lembra uma linguagem de programação textual ao invés de gráfica É apropriada quando a FSM se torna muito grande, e.g., se o conjunto de instruções é grande ou/e o número de ciclos por instrução é grande Nestes casos a representação gráfica se torna difícil porque podem ter milhares de estados e ainda mais arcos os unindo um microprograma é uma especificação: implementação é em ROM ou PLA Um microprograma é uma sequência de microinstruções cada microinstrução possui oito campos (label + 7 funcionais) Label: usado para controlar o sequenciamento do microcódigo Controle da ALU: especifica operação a ser realizada pela ALU SRC1: especifica fonte do primeiro operando da ALU SRC2: especifica fonte do segundo operando da ALU Controle de registrador: especifica leitura/escrita de registrador Memória: especifica leitura/escrita para memória Controle PCWrite : especifica escrita de PC Sequenciamento: especifica escolha da próxima microinstrução

Microprogramação O valor do campo Sequencing determina a ordem de execução do microprograma: valor Seq : passa o controle para a próxima instrução sequencial valor Fetch : desvia para a primeira microinstrução para iniciar a próxima instrução MIPS, i.e., a primeira microinstrução do microprograma valor Dispatch i : desvia para uma microinstrução baseado na entrada de controle e tabela de despacho : A tabela de despacho é indexada pela entrada de controle e suas entradas são labels de microinstrução. Podem existir várias tabelas, sendo que o índice i indica a tabela a ser usada

Controle de microprograma O microprograma abaixo corresponde à FSM ostrada anteriormente graficamente: Label ALU control SRC1 SRC2 Register control Memory PCWrite control Sequencing Fetch Add PC 4 Read PC ALU Seq Add PC Extshft Read Dispatch 1 Mem1 Add A Extend Dispatch 2 LW2 Read ALU Seq Write MDR Fetch SW2 Write ALU Fetch Rformat1 Func code A B Seq Write ALU Fetch BEQ1 Subt A B ALUOut-cond Fetch JUMP1 Jump address Fetch Microprograma contendo 10 microinstruções Dispatch ROM 1 Op Opcode name Value 000000 R-format Rformat1 000010 jmp JUMP1 000100 beq BEQ1 100011 lw Mem1 101011 sw Mem1 Tablea de Despacho 1 Dispatch ROM 2 Op Opcode name Value 100011 lw LW2 101011 sw SW2 Tabela de Despacho 2

Microcódigo:Prós e contras Vantagens de especificação Fácil de projetar e escrever Tipicamente o fabricante projeta arquitetura e microcódigo em paralelo Vantagens de implementação Fácil de modificar porque os valores estão na memória (e.g., off-chip ROM) Podem emular outras arquiteturas Podem usar registradores internos Desvantagens de implementação Atualmente controle é implementado dentro do chip então não existe a vantagem de estar for a do chip ROM não é mais rápida que caches Existe pouca necessidade de troca de microcódigo porque computadores hoje em dia são mais de uso geral do que projetados para aplicações específicas

Resumo Caminhos de dados multiciclos oferecem duas vantagens sabre monociclo Unidades funcionais podem ser reutilizadas em uma única instrução se forem acessadas em ciclos diferentes reduz a necessidade de replicar lógica cara Instruções com caminhos de execução menores podem completar mais rapidamente consumindo menos ciclos de relógio Computadores modernos utilizam o conceito de multiciclo para atingir maiores vazões de instruções: pipelining