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



Documentos relacionados
Organização e Arquitetura de Computadores I

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

DataPath II Tomando o controle!

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

Capítulo MC10 Organização Básica de Processadores

O Processador: Via de Dados e Controle

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

Pipelining - analogia

Organização e Arquitetura de Computadores I

Relembrando desempenho...

Relembrando desempenho...

Índice. Tudo! (datapath de um ciclo)

Arquitetura de Computadores. Prof. Alexandro Baldassin. 1o semestre/2018

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

Organização ou MicroArquitectura

Infra-estrutura de Hardware

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

Arquiteturas de Computadores

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

Infra-estrutura de Hardware

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

Organização de Unidades de Processamento

Caminho dos Dados e Atrasos

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

MODOS DE ENDEREÇAMENTO

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

RISC simples. Aula de Março de

Organização e Arquitetura de Computadores I

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

Organização e Arquitetura de Computadores I

Arquiteturas de Computadores

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

SSC0114 Arquitetura de Computadores

Parte Operativa e Parte de Controle do MIPS

Capítulo 4. O Processador

Visão Geral de Pipelining

Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática

Capítulo 5. O Processador: Datapath & Controle

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

Anotações da 2a Edição

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

ARQUITECTURA DE COMPUTADORES

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

SSC0611 Arquitetura de Computadores

Conjunto de Instruções e Arquitectura p.1

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

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto:

Arquiteturas de Computadores

Organização e Arquitetura de computadores

Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I

ção de Computadores II

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

Arquitetura de Computadores

Arquitetura de Computadores I

SSC0112 Organização de Computadores Digitais I

Arquitetura de Computadores. Ivan Saraiva Silva

Especificação, síntese e implementação em VHDL de um. processador MIPS Single Cycle Simplificado

Aula 14: Instruções e Seus Tipos

Capítulo 6 Pipeline Morgan Kaufmann Publishers

Introdução à Arquitetura de Computadores

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

Organização e Arquitetura de Computadores I. de Computadores

MELHORAMENTO NO PROCESSADOR SIMPLES

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial

Unidade Central de Processamento

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

Microcontroladores e Interfaces

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Organização de um processador

Desenho do Processador

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

Arquitetura de Computadores

Organização de Computadores

Infraestrutura de Hardware. Instruindo um Computador

Tiago Alves de Oliviera

O Processador: Caminho de Dados e Controle

2. Relativamente ao datapath de ciclo único do MIPS podemos dizer que:

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

Conjunto de Instruções MIPS

Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1

Data Path / Control Path Controle do MIPS

Computador Cleópatra

PSI3441 Arquitetura de Sistemas Embarcados

Computadores de Programação (MAB353)

MIPS ISA (Instruction Set Architecture)

Computador: Hardware + Software

Componentes do Computador e. aula 3. Profa. Débora Matos

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

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

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

Arquitetura de Computadores I

Organização e Arquitetura de Computadores I

Curso de Engenharia de Computação DESENVOLVIMENTO DE UM PROCESSADOR RISC EM VHDL

Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios

Organização e Arquitetura de Computadores I

AULA 05: LINGUAGEM DE MONTAGEM: SUPORTE A PROCEDIMENTOS

Computadores de Programação (MAB353)

UM PROCESSADOR SIMPLES

Transcrição:

Universidade Federal de Campina Grande Unidade cadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e rquitetura de Computadores I Organização e rquitetura Básicas B de Computadores (Parte IV - Microarquitetura) Prof a Joseana Macêdo Fechine Régis de raújo joseana@computacao.ufcg.edu.br Carga Horária: 6 horas

Tópicos Microarquitetura forma como está implementada a arquitetura em hardware. 2

Microarquitetura pplication Software Operating Systems rchitecture Microarchitecture Logic Digital Circuits nalog Circuits Devices programs device drivers instructions registers datapaths controllers adders memories ND gates NOT gates amplifiers filters transistors diodes Physics electrons 3

Microarquitetura Múltiplas implementações para uma mesma arquitetura: Single-cycle Cada instrução é executada em um único ciclo Multicycle execução de cada instrução é dividida em uma série de passos menores Pipelined execução de cada instrução é dividida em uma série de passos menores Múltiplas instruções (parte de) executando ao mesmo tempo. 4

Microarquitetura - MIPS Datapath Unidade de Controle 3:26 5: MemtoReg Control MemWrite Unit Branch LUControl 2: Op LUSrc Funct RegDst RegWrite PCSrc PC' PC Instruction Instr 25:2 2:6 2 3 WD3 WE3 Register File 2 Src SrcB LU Zero LUResult WriteData WE Data WD ReadData 4 + PCPlus4 2:6 5: 5: WriteReg 4: Sign Extend SignImm <<2 + PCBranch Result 5

Control Unit Control Unit Opcode 5: Main Decoder MemtoReg MemWrite Branch LUSrc RegDst RegWrite LUOp : Funct 5: LU Decoder LUControl 2: 6

MIPS Single-Cycle LU F 2: Function N B N & B B + B LU N Y 3 F not used & ~B ~B - B SLT 7

LU N B N N N F 2 C out + [N-] S Zero Extend N N N N 2 3 2 F : Y N 8

LU Decoder LUOp : Meaning dd Control Unit MemtoReg Subtract Opcode 5: Main Decoder MemWrite Branch LUSrc RegDst RegWrite Look at Funct Not Used LUOp : Funct 5: LU Decoder LUControl 2: LUOp : Funct X LUControl 2: (dd) X X (Subtract) X (add) (dd) X (sub) (Subtract) X (and) (nd) X (or) (Or) X (slt) (SLT) 9

Processador Funcionalidades SignImm Instruction + 4 3 WD3 2 WE3 2 Sign Extend Register File Data WD WE PC PC' Instr 25:2 2:6 5: 5: SrcB 2:6 5: <<2 + LUResult ReadData WriteData Src PCPlus4 PCBranch WriteReg 4: Result 3:26 RegDst Branch MemWrite MemtoReg LUSrc RegWrite Op Funct Control Unit Zero PCSrc LUControl 2: LU 25: <<2 27: 3:28 PCJump Jump

Processador Decodificador Principal XX X X X X j Jump addi X X beq X X sw lw R-type LUOp : MemtoReg MemWrite Branch lusrc RegDst RegWrite Op 5: Instruction

Microarquitetura - MIPS Estado da rquitetura Determina o estado do Processador em um dado instante de tempo (PC, 32 registradores, Memória) PC' PC 5 5 2 WE3 2 32 32 32 32 Instruction 32 32 5 32 3 WD3 Register File 32 32 Data WD WE 32 2

Microarquitetura - MIPS Subconjunto das instruções MIPS: instructions: lw, sw R-type instructions: and, or, add, sub, slt Branch instructions: beq 3

Execução de lw [rt] = [ddress] : Fetch da Instrução PC' PC Instruction Instr 2 3 WD3 WE3 Register File 2 Data WD WE Importante: [reg]: contents of the register imm: 6-bit immediate field of the I-type instruction addr: 26-bit address field of the J-type instruction SignImm: sign-extended immediate {{6{imm[5]}}, imm} ZeroImm: zero-extended immediate {6b, imm} ddress: [rs] = SignImm [ddress]: contents of memory location ddress 4

Execução de lw 2: Lê o operando fonte do RF PC' PC Instruction Instr 25:2 2 3 WD3 WE3 Register File 2 Data WD WE 5

Execução de lw 3: Sign-extend o imediato PC' PC Instruction Instr 25:2 2 3 WD3 WE3 Register File 2 Data WD WE 5: Sign Extend SignImm 6

Execução de lw 4: Calcula o endereço efetivo de memória LUControl 2: PC' PC Instruction Instr 25:2 2 3 WD3 WE3 Register File 2 Src SrcB LU Zero LUResult Data WD WE 5: Sign Extend SignImm 7

Execução de lw 5: Lê o dado da memória e o escreve no RF PC' PC Instruction Instr 25:2 2:6 2 3 WD3 RegWrite WE3 Register File 2 LUControl 2: Src SrcB LU Zero LUResult WE Data WD ReadData 5: Sign Extend SignImm 8

Execução de lw 6: Determina o endereço da próxima instrução PC' PC Instruction Instr 25:2 2:6 2 3 WD3 RegWrite WE3 Register File 2 LUControl 2: Src SrcB LU Zero LUResult Data WD WE ReadData 4 + PCPlus4 5: Sign Extend SignImm Result 9

Execução de sw Precisa escrever o valor do registrador na memória PC' PC Instruction Instr 25:2 2:6 2:6 2 3 WD3 RegWrite WE3 Register File 2 LUControl 2: Src SrcB LU Zero LUResult WriteData MemWrite WE Data WD ReadData 4 + PCPlus4 5: Sign Extend SignImm Result 2

Instruções R-Type: add, sub, and, or,. Escrever LUResult no RF Escreve emrd e não emrt PC' PC Instruction Instr 25:2 2:6 RegWrite RegDst LUSrc LUControl 2: MemWrite MemtoReg varies 2 3 WD3 WE3 Register File 2 Src SrcB LU Zero LUResult WriteData WE Data WD ReadData 4 + PCPlus4 2:6 5: 5: WriteReg 4: Sign Extend SignImm Result 2

Instruçãobeq Determina se os conteúdos dos registradores são iguais Calcula o endereço alvo do desvio (sign-extended immediate + PC+4) PCSrc PC' PC Instruction Instr 25:2 2:6 RegWrite RegDst LUSrc LUControl 2: Branch MemWrite MemtoReg x x 2 3 WD3 WE3 Register File 2 Src SrcB LU Zero LUResult WriteData WE Data WD ReadData 4 + PCPlus4 2:6 5: 5: WriteReg 4: Sign Extend SignImm <<2 + PCBranch Result 22

Desempenho: Quão rápido é o processador? Cycle time: limitado pelo caminho crítico -lw 3:26 5: MemtoReg Control MemWrite Unit Branch LUControl 2: Op LUSrc Funct RegDst RegWrite PCSrc PC' PC 4 Instruction + PCPlus4 Instr 25:2 2:6 2:6 5: 5: 2 3 WD3 WE3 Register File 2 WriteReg 4: Sign Extend SignImm Src SrcB <<2 Zero LU + LUResult WriteData PCBranch Data WD WE ReadData Result 23

MIPS Single- Cycle Caminho crítico T c = t pcq_pc + t mem + max(t RFread, t sext ) + t mux + t LU + t mem + t mux + t RFsetup Na maioria das implementações os caminhos limitantes são: memória, LU, register file. ssim, T c = t pcq_pc + 2t mem + t RFread + 2t mux + t LU + t RFsetup 24

Element Register clock-to-q Register setup Multiplexer LU read Register file read Register file setup Parameter t pcq_pc t setup t mux t LU t mem t RFread t RFsetup Delay (ps) 3 2 25 2 25 5 2 T c = t pcq_pc + 2t mem + t RFread + 2t mux + t LU + t RFsetup = [3 + 2(25) + 5 + 2(25) + 2 + 2] ps = 95 ps 25

Para um programa com bilhões de instruções executando em um processador MIPS single-cycle, Execution Time = (# instructions)(cycles/instruction)(seconds/cycle) = ( 9 )()(95-2 s) = 95 seconds Program execution time Execution Time = (# instructions)(cycles/instruction)(seconds/cycle) Cycles/instruction = CPI Seconds/cycle = clock period /CPI = Instructions/cycle = IPC 26

es Intel Evolução dos Microprocessadores Intel 27

Microarquitetura Desafios na implementação de uma microarquitetura Custo Power Desempenho 28