Organização de um processador

Documentos relacionados
Organização de um processador

Licenciatura em Engenharia Informática e Computação. Arquitectura de Computadores Exame Modelo

Licenciatura em Engenharia Informática e Computação. Arquitectura de Computadores Exame

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

Execução concorrente de instruções

Desenho do Processador

Infra-estrutura de Hardware

Caminho de Dados e Unidade de Controle

Processador MIPS. Datapath e Unidade de Controle. Componente do processador que realiza operações aritméticas

5. O Processador Datapath e Unidade de Controle

Organização de Unidades de Processamento

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

Introdução I. Organização e Arquitetura de Computadores. Sequência 15 Parte Operativa do MIPS - I. Introdução II.

Infra-estrutura de Hardware

Arquitectura de Computadores II. Revisão e implementação do datapath do MIPS

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

3. Considere o seguinte código executado no processador pipeline da figura abaixo.

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

Arquiteturas de Computadores

O Processador: Via de Dados e Controle

Processador executa instruções

Arquiteturas de Computadores

Arquiteturas de Computadores

Arquitectura de Computadores II. Pipelining (execução encadeada de instruções)

O Porcessador: Via de Dados e Controle (Parte B: multiciclo) 1998 Morgan Kaufmann Publishers Ch5B 1

Arquitectura de Computadores II. Revisão e implementação do datapath do MIPS

Organização ou MicroArquitectura

DataPath II Tomando o controle!

Datapath do MIPS. 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 (Parte C: microprogramação)

Microcontroladores e Interfaces

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

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

Organização de Computadores

O Processador: Blocos de Dados e de Controle. Capítulo 5 (Livro Texto P & H) Elementos de Estado. Mais Detalhes de Implementação

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

ção de Computadores II

Relembrando desempenho...

Relembrando desempenho...

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

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

Arquitetura e Organização de Processadores. Aula 3. Processador MIPS Bloco operacional

Arquiteturas de Computadores

Tiago Alves de Oliviera

Arquiteturas de Computadores

SSC0114 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores

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

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

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

Infraestrutura de Hardware. Instruindo um Computador

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)

6. Pipelining. Figura Lavanderia analogia com o pipelining

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

SSC0112 Organização de Computadores Digitais I

Organização e Arquitetura de Computadores I

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

Nível Máquina Formatos de Instruções

MIPS ISA (Instruction Set Architecture)

Pipelining. Luís Nogueira. Departamento Engenharia Informática Instituto Superior de Engenharia do Porto. Pipelining p.

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

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados

Arquitectura de Computadores

Sistemas de Computação. Instruções de Linguagem de Máquina

UCP: Construindo um Caminho de Dados (Parte I)

Arquitectura de Computadores II. Exercícios sobre pipelining

Organização e Projetos de Computadores. Capítulo 2. Organização e Projetos de Computadores. Instruções

Infra-estrutura de Hardware

Capítulo 6. Idéia básica

Conjunto de Instruções

Organização e Arquitetura de Computadores I

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas

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

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

Arquitecturas Alternativas. Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining

Arquitetura e Organização de Processadores. Aula 4. Pipelines

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

ORGANIZAÇÃO DE COMPUTADORES

Parte Operativa e Parte de Controle do MIPS

SSC510 Arquitetura de Computadores 1ª AULA

Capítulo 6 Pipeline Morgan Kaufmann Publishers

4. Modelo de Programação do DLX Introdução

Prof. Gustavo Oliveira Cavalcanti

Organização de Computadores μarquitetura. Na Aula Anterior... Introdução. Nesta Aula. MIPS-Monociclo. Formas de Organização 17/10/2016

Pipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap.

Sistemas de Microprocessadores DEP. DE ENG.ª ELECTROTÉCNICA E DE COMPUTADORES FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE DE COIMBRA.

Especificação do Projeto de Processador RISC

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

Capítulo 4. O Processador

Microprocessadores. Plano de Aula 22:43

O Funcionamento do Processador

Instruções de Máquina

UNIOESTE Universidade Estadual do Oeste do Paraná Departamento de Engenharias e Ciências Exatas Campus de Foz do Iguaçu. Pipeline Conflitos

Conjunto de Instruções. Prof. Leonardo Barreto Campos 1

Arquitectura de Computadores

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

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

Transcrição:

Organização de m processador João Canas Ferreira Arqitectra de Comptadores FEUP/LEIC Contém figras de Compter Organization and Design (cap. 5), D. Patterson & J. Hennessey, 3ª. ed., KP Tópicos Introdção 2 Caminho de dados (path) 3 Unidade de controlo niciclo Unidade de controlo mlticiclo ArqComp: Organização de m processador 2/ 26-3-3

Introdção 2 Caminho de dados (path) 3 Unidade de controlo niciclo Unidade de controlo mlticiclo ArqComp: Organização de m processador 3/ 26-3-3 Generalidades O desempenho do processador depende do número de instrções eectadas, do CPI e do período do relógio. Período de relógio e CPI dependem da organização do processador. Organização do processador depende do conjnto de instrções a sportar. RISC = Redced Instrction Set Compter: instrções simples, qe facilitam o projecto do CPU, beneficiando CPI e período de relógio em detrimento do nº de instrções: IPS, Alpha, Sparc. CISC = Comple Instrction Set Compter: instrções mais poderosas, cja implementação é mais complicada: Intel IA-32. CPU = caminho de dados + nidade de controlo ArqComp: Organização de m processador / 26-3-3

Instrções sportadas Instrções lógico-aritméticas add $t3, $t2, $t $t3 = $t2 + $t addi $t, $t5, 2 $t = $t5 + 2 Valor imediato de 6 bits (com sinal): sofre etensão de sinal para 32 bits. Instrções de acesso a memória (load/store) lw $t, 5($t) $t mem[$t+] sw $t, 5($t) mem[$t+] $t Deslocamento (imediato) de 6 bits (sofre etensão de sinal). Saltos condicionais e incondicionais beq $t, $t, 5 + + (5 << 2) Deslocamento relativo é número de 6 bits (com sinal); sofre etensão para 32 bits após deslocamento de 2 bits. j +; {[3:28],26 d << 2} ArqComp: Organização de m processador 5/ 26-3-3 Codificação das instrções sportadas Instrções tipo R 3 26 25 2 2 6 5 6 5 opcode rs rt rd shamt fnct add $t, $t, $t2 com $t: rd, $t: rs, $t2: rt Instrções do tipo I 3 26 25 2 2 6 5 opcode rs rt imediato addi $t, $t, 87 lw $t, 5($t) Instrções do tipo J 3 opcode j 26 25 endereço com $t: rt, $t: rs com $t: rt, $t: rs ArqComp: Organização de m processador 6/ 26-3-3

Aspectos comns Obs: Para já, ignorar a instrção de salto incondicional. Os dois primeiros passos do tratamento de todas as instrções são idênticos:. Enviar o conteúdo do contador de programa () para a memória de instrções e obter a instrção. 2. Ler m o dois registos (sando os campos da instrção para os seleccionar). A instrção de load apenas necessita de ler m registo. As acções sbseqentes dependem da instrção, mas são semelhantes para instrções da mesma classe. esmo instrções de classes diferentes têm semelhanças. Por eemplo, todas (ecepto o salto incondicional) tilizam a : lógico-aritméticas: efecta a operação; load/store: é sada para cálclo do endereço efectivo; salto condicional: é sada para efectar a comparação. ArqComp: Organização de m processador 7/ 26-3-3 Vista geral do processador IPS básico ress Instrction Instrction Register # ress Register # Register # Diagrama abstracto (algmas entradas estão ligadas a várias fontes). ArqComp: Organização de m processador 8/ 26-3-3

Organização do processador IPS básico Branch operation ress Instrction Instrction Register # em ress Register # Register # Reg em Control ArqComp: Organização de m processador 9/ 26-3-3 Introdção 2 Caminho de dados (path) 3 Unidade de controlo niciclo Unidade de controlo mlticiclo ArqComp: Organização de m processador / 26-3-3

Elementos para obtenção de instrções Instrction address Instrction Sm Instrction a. emória de instrções b. Contador de programa c. Somador ArqComp: Organização de m processador / 26-3-3 Obtenção de instrções address Instrction Instrction ArqComp: Organização de m processador 2/ 26-3-3

Elementos para instrções do tipo R 5 operation Register nmbers 5 5 2 reslt 2 Reg a. Banco de registos b. ArqComp: Organização de m processador 3/ 26-3-3 Elementos para cálclo de endereços em ress 6 32 etend em a. emória de dados b. Unidade de etensão de sinal ArqComp: Organização de m processador / 26-3-3

Elementos para avaliação da condição de salto + Sm Destino do salto Instrção 2 2 operation Para controlo do salto Reg 6 32 etend ArqComp: Organização de m processador 5/ 26-3-3 Instrções tipo R e acessos a memória Instrção 2 Reg 2 Src operation reslt ress em emtoreg 6 32 etend em ArqComp: Organização de m processador 6/ 26-3-3

Caminho de dados (qase) completo Src reslt address Instrction Instrction 2 Reg 2 Src operation reslt ress em emtoreg 6 32 etend em Ainda não incli sporte para saltos incondicionais (j). ArqComp: Organização de m processador 7/ 26-3-3 Introdção 2 Caminho de dados (path) 3 Unidade de controlo niciclo Unidade de controlo mlticiclo ArqComp: Organização de m processador 8/ 26-3-3

Controlo da opcode rs rt rd shamt fnct Controlador principal Op Controlador da Sinais de controlo gerais Sinais de controlo para A fnciona em três contetos diferentes.. instrções lógico-aritméticas: Op= 2. cálclo de endereços: Op= 3. comparação: Op= ArqComp: Organização de m processador 9/ 26-3-3 Especificação do controlador da A especificação detalhada do controlador de é a seginte: opcode Op Operação Fnct Op. Ctrl lw load word XXXXXX soma sw store word XXXXXX soma beq branch eqal XXXXXX sbtracção R soma soma R sbtracção sbtracção R AND e-lógico R OR o-lógico R set on less than set on less than A colna Ctrl especifica os valores qe a entrada de controlo da deve receber, por forma a qe este componente eecte a operação apropriada a cada conteto. ArqComp: Organização de m processador 2/ 26-3-3

Observações gerais sobre a descodificação Os bits 3:26 da instrção contêm sempre o código da instrção. Os dois registos a serem lidos são sempre especificados pelos campos rs e rt (posições 25:2 e 2:6). [Instrções tipo R, beq e sw] O registo de base para acessos a memória esta sempre nas posições 25:2 (rs). [Instrções lw e sw] A constante de 6 bits ocpa sempre as posições 5:. [Instrções beq, lw e st] O registo de destino está em ma de das posições:. posição 2:6 (rt)) [ instrção lw] 2. posição 5: (rd) [instrção R] É necessário acrescentar m mltipleador para seleccionar entre as das fontes. ArqComp: Organização de m processador 2/ 26-3-3 Caminho de dados com mltipleadores e controlo Src reslt Reg address Instrction Instrction Instrction [25:2] Instrction [2:6] 2 [3:] 2 reslt Instrction [5:] RegDst Src em ress emtoreg Instrction [5:] 6 32 etend control em Instrction [5:] Op ArqComp: Organização de m processador 22/ 26-3-3

Especificação dos sinais de controlo O efeito dos 8 sinais de controlo é o seginte: Nome Efeito se = Efeito se = RegDst O endereço do registo a alterar vem da posição 2:6 (rt) O endereço do registo a alterar vem da posição 5: (rd) Reg Nenhm O registo especificado por RegDst é alterado para o valor presente na entrada Src 2º operando da vem da saída 2 do banco de registos. 2º operando da é a constante inclída na instrção Src assme valor + assme valor prodzido por somador do endereço. em Nenhm emória fornece valor pedido. emwrite Nenhm emória garda valor especificado por entrada emtoreg O valor a escrever no banco de registos provem da O Valor a escrever no banco de registos provem da memória Branch Instrção não é beq Instrção é beq ArqComp: Organização de m processador 23/ 26-3-3 Detalhes das ligações da nidade de controlo reslt RegDst Branch Instrction [3Ð26] Control em emtoreg Op em Src Reg address Instrction [3Ð] Instrction Instrction [25Ð2] Instrction [2Ð6] Instrction [5Ð] 2 2 reslt ress Instrction [5Ð] 6 32 etend control Instrction [5Ð] ArqComp: Organização de m processador 2/ 26-3-3

Especificação do controlador principal Instrção RegDst Src emtoreg Reg R lw sw X X beq X X Instrção em em Branch op[] op[] R lw sw beq Para obter tabelas de verdade reglares, basta sbstitir o nome das instrções pelo se código nmérico. ArqComp: Organização de m processador 25/ 26-3-3 Tratamento de instrções do tipo R reslt RegDst Instrction [3 26] Control Branch em emtoreg Op em Src Reg Instrction [25 2] address Instrction [2 6] Instrction 2 [3 ] reslt Instrction 2 Instrction [5 ] ress Instrction [5 ] 6 32 etend control Instrction [5 ] ArqComp: Organização de m processador 26/ 26-3-3

Tratamento de instrções de load reslt RegDst Branch Instrction [3-26] Control em emtoreg Op em Src Reg address Instrction Instrction Instrction [25-2] Instrction [2-6] 2 [3-] 2 reslt Instrction [5-] ress Instrction [5-] 6 32 etend control Instrction [5-] ArqComp: Organização de m processador 27/ 26-3-3 Tratamento da instrção de salto condicional reslt RegDst Instrction [3-26] Control Branch em emtoreg Op em Src Reg address Instrction [3-] Instrction Instrction [25-2] Instrction [2-6] Instrction [5-] 2 2 reslt ress Instrction [5 ] 6 32 etend control Instrction [5-] ArqComp: Organização de m processador 28/ 26-3-3

Tratamento da instrção de salto incondicional Instrction [25-] Jmp address [3-] 26 28 + [3-28] reslt RegDst Jmp Branch Instrction [3Ð26] Control em emtoreg Op em Src Reg address Instrction [3-] Instrction Instrction [25-2] Instrction [2-6] Instrction [5-] 2 2 reslt ress Instrction [5-] 6 32 etend control Instrction [5-] ArqComp: Organização de m processador 29/ 26-3-3 Limitações da implementação niciclo Unidades de controlo niciclo não são sadas em processadores actais. O período de relógio é determinado pela instrção mais demorada (provavelmente a instrção de load). CPI=, mas período de relógio demorado. Para CPUs mito simples, pode ser m abordagem viável. Para CPUs com instrções de compleidade mito diferente, não é ma boa abordagem. Eemplos: divisão inteira é mito mais demorada qe soma operações de vírgla fltante são mito mais demoradas qe operações sobre inteiros Esta abordagem não permite segir a regra: redzir o tempo de processamento dos casos mais comns Alternativa: dividir tratamento de instrções em etapas e sar m período de relógio mais crto (m ciclo por etapa). ArqComp: Organização de m processador 3/ 26-3-3

Introdção 2 Caminho de dados (path) 3 Unidade de controlo niciclo Unidade de controlo mlticiclo ArqComp: Organização de m processador 3/ 26-3-3 Características de ma implementação mlticiclo O tratamento de cada instrção é dividido em etapas. O número de etapas varia com o tipo de instrção, mas é sempre o mesmo para ma dada instrção. Drante m ciclo de relógio, o processador eecta apenas ma etapa. Uma nidade fncional pode ser sada mais qe ma vez drante o processamento de ma instrção, desde qe seja em etapas diferentes. É necessário inrodzir registos internos para preservar os sinais prodzidos nma dada etapa e qe sejam necessários nma etapa sbseqente da mesma instrção. Dados necessários para instrções sbseqentes devem ser preservados em elementos de memória visíveis ao programador: banco de registos, o memória. ArqComp: Organização de m processador 32/ 26-3-3

path para implementação mlticiclo ress Instrction A emory Instrction or emory Register # Register # Register # B Ot ma única nidade de memória ma única (em vez de ma e dois somadores) registos internos adicionais: registo de instrções (IR), registo de dados de memória (DR), saída da (Ot), entradas da (A e B). ArqComp: Organização de m processador 33/ 26-3-3 path para instrções básicas Instrction ress [25-2] emory em Instrction [2-6] Instrction [5-] Instrction Instrction [5-] Instrction [5-] 2 2 A B 2 3 reslt Ot emory 6 32 etend (faltam algns elementos para o tratamento de saltos) mltipleador adicional na entrada sperior da mltipleador : na entrada inferior da ArqComp: Organização de m processador 3/ 26-3-3

path com sinais de controlo IorD em em IR RegDst Reg SrcA Instrction [25 2] ress A Instrction emory [2 6] 2 em Instrction [5 ] Instrction Instrction [5 ] Instrction [5 ] 2 B 2 3 reslt Ot emory 6 32 etend control Instrction [5 ] emtoreg SrcB Op ArqComp: Organização de m processador 35/ 26-3-3 Processador mlticiclo completo Cond Sorce Instrction [3-26] Instrction ress [25-2] emory em Instrction [2-6] Instrction [5-] Instrction Instrction [5-] emory IorD em em emtoreg IR Instrction [25-] Instrction [5-] Otpts Control Op [5-] Op SrcB SrcA Reg RegDst 2 6 32 etend 2 A B 2 3 26 28 [3-28] control reslt Jmp address [3-] Ot 2 Instrction [5-] ArqComp: Organização de m processador 36/ 26-3-3

Especificação dos sinais de controlo (/2) Sinais de controlo de bit: Nome Efeito se = Efeito se = RegDst Destino de escrita no RF é especificado por rt Destino de escrita no RF é especificado por rd Reg Nada Efecta-se escrita no RF SrcA º operando da é º operando vem do registo A em Nada emória fornece item de dados em Nada emória garda item de dados emtoreg Valor a escrever em RF vem de Ot Valor a escrever em RF vem de DR IorD fornece endereço de memória Ot fornece endereço de memória IR Nada Saída de memória escrita em IR Nada actalizado WRiteCond Nada actalizado se saída da estiver activa ArqComp: Organização de m processador 37/ 26-3-3 Especificação dos sinais de controlo (2/2) Sinais de controlo de 2 bits: Nome Valor Efeito op soma sbtrai O campo fnct determina a operação da SrcB 2ª entrada da provém de B 2ª entrada da é 2ª entrada da é IR[5:], c/ etensão de sinal 2ª entrada da é IR[5:], c/ etensão de sinal e deslocamento de 2 bits à esqerda Sorce Saída da é enviada para Valor de Ot é enviado para Destino de salto incondicional enviado para ArqComp: Organização de m processador 38/ 26-3-3

Etapas do processamento de instrções Etapa Tipo R em Branch Jmp IR em[]; + 2 A reg[ir[25:2]]; B reg[ir[2:6]]; Ot + EtSin(IR[5:]) << 2 3 Ot A op B Ot A + EtSin(IR[5:]) Reg[IR[5:]] Ot Load: DR em[ot] o Store: em[ot] B 5 Load: Reg[IR[2:6]] DR if (A==B) Ot {[3:28], IR[25:], } Banco de registos é lido em todos os ciclos, mas desde qe IR não se modifiqe, os valores à saída do banco são sempre os mesmos (qalqer actalização só acontece na etapa final do tratamento da instrção). ArqComp: Organização de m processador 39/ 26-3-3 Obtenção de instrções e descodificação Start Instrction fetch Instrction decode/ Register fetch em SrcA = IorD = IR SrcB = Op = SrcA = SrcB = Op = Sorce = (Op = 'LW') or (Op = 'SW') (Op = R-type) (Op = 'BEQ') (Op = 'J') emory-reference FS R-type FS Branch FS Jmp FS ArqComp: Organização de m processador / 26-3-3

Acessos a memória From state (Op = 'LW') or (Op = 'SW') 2 emory address comptation SrcA = SrcB = Op = 3 (Op = 'LW') emory access (Op = 'SW') 5 emory access em IorD = em IorD = emory read completion step Reg emtoreg = RegDst = To state (Figre 5.32) ArqComp: Organização de m processador / 26-3-3 Instrções do tipo R From state (Op = R-Type) 6 Eection SrcA = SrcB = Op = 7 R-type completion RegDst = Reg emtoreg = To state (Figre 5.32) ArqComp: Organização de m processador 2/ 26-3-3

Instrções de salto Condicional Incondicional From state From state (Op = 'BEQ') (Op = 'J') Branch completion Jmp completion 8 SrcA = 9 SrcB = Op = Cond Sorce = Sorce = To state To state (Figre 5.32) (Figre 5.32) ArqComp: Organização de m processador 3/ 26-3-3 Unidade de controlo completa Start Instrction fetch em SrcA = IorD = IR SrcB = Op = Sorce = Instrction decode/ fetch SrcA = SrcB = Op = (Op = 'LW') or (Op = 'SW') (Op = R-type) (Op = 'BEQ') (Op = 'J') emory address comptation Eection Branch completion Jmp completion 2 6 8 9 SrcA = SrcB = Op = (Op = 'SW') SrcA = SrcB = Op = SrcA = SrcB = Op = Cond Sorce = Sorce = (Op = 'LW') emory access emory access R-type completion 3 5 7 em IorD = em IorD = RegDst = Reg emtoreg = emory read completon step RegDst = Reg emtoreg = ArqComp: Organização de m processador / 26-3-3