Índice. Tudo! (datapath de um ciclo)



Documentos relacionados
RISC simples. Aula de Março de

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

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

Organização e Arquitetura de Computadores I

Organização ou MicroArquitectura

Pipelining - analogia

Microcontroladores e Interfaces

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

Organização e Arquitetura de Computadores I

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

DataPath II Tomando o controle!

Organização e Arquitetura de Computadores I

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

O Processador: Via de Dados e Controle

Implementação de pipelines

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

Conflitos. Aula de Março de

Organização e Arquitetura de Computadores I

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

Parte Operativa e Parte de Controle do MIPS

Organização de Computadores

Computadores de Programação (MAB353)

Aula 14: Instruções e Seus Tipos

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

Sistemas Operacionais Aula 2

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

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

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

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

3º Trabalho de Laboratório. Unidade de Controlo Microprogramada

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

MODOS DE ENDEREÇAMENTO

Arquitetura de Computadores - Revisão -

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

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Conjunto de Instruções e Arquitectura p.1

Visão Geral de Pipelining

ARQUITECTURA DE COMPUTADORES

Organização de Computadores

O Processador: Caminho de Dados e Controle

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

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

Arquitectura de Computadores II

Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE

Anotações da 2a Edição

12. PDS8_V Ciclos de acesso a dispositivos Ciclo de leitura Ciclo de escrita

Nível da Microarquitetura

SSC0112 Organização de Computadores Digitais I

Arquitetura de Computadores. Ivan Saraiva Silva

CISC - Complex Instruction Set Computer

Arquiteturas de Computadores

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

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

Arquitetura de Computadores I

SSC0611 Arquitetura de Computadores

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

Estrutura de um Computador

Organização e Arquitetura de computadores

Sistemas Operacionais. Conceitos de Hardware

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

Disciplina: Laboratório de Circuitos Digitais

SSC0114 Arquitetura de Computadores

RISC X CISC - Pipeline

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Arquitetura de Computadores I

Introdução à Arquitetura de Computadores

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

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

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

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel

Funcionamento básico de um computador

Índice. Modelos e Procedimentos

Arquitetura de Computadores

Objetivos. Arquitetura RISC vs. CISC. Evolução Da Arquitetura De Computadores. Roteiro. Evolução Da Arquitetura De Computadores CISC

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

INF1004 e INF1005: Programação 1. Introdução à Programação

Relembrando desempenho...

Paralelismo a Nível de Instrução

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

SSC510 Arquitetura de Computadores. 2ª aula

Figura 1 - O computador

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas

Computadores de Programação (MAB353)

Edeyson Andrade Gomes

ção de Computadores II

Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans lui+ori syscall 1. .text 2. main: $s0, string 3.

Transcrição:

Índice Sumário Instrução com atraso maior no datapath de um ciclo. Datapath multiciclo: introdução. 4. O Processador: Unidades de Caminho de Dados e de o 4.1 Diagrama de Blocos de um Processador 4.2 Unidade de Caminho de Dados 4.3 Unidade de o 4.4 Ciclo do Processador 4.5 Pipelining 4.6 Aspectos Relacionados com Pipelining na Execução de um Programa 4.7 Caso de Estudo: O MIPS R2000 e o Pentium Pro 1 Aula baseada no curso: CS152 Computer Architecture and Engineering, Dave Patterson, UCB, USA Tudo! (datapath de um ciclo) op 6 Instr<31:26> 2 busw 1 Mux 0 Rs Rt RegWr 5 5 5 Clk Main Rd imm16 Instr<15:0> Rt Rw Ra Rb -bit Registers 16 op : busb Extender busa Clk 3 0 Mux 1 Unit func Instr<5:0> 6 Data In Clk Zero <31:0> Rt <21:25> WrEn Rs <16:20> Adr Data ory Rd <11:15> 3 <0:15> Imm16 0 Mux 1 toreg 1

Clk Rs, Rt, Rd, Op, Func Atraso maior (load) Clk-to-Q oey Access Time Delay through Logic RegWr busa busb toreg Delay through Extender & Mux Register Write Occurs Register File Access Time Delay Address Data ory Access Time busw New 3 4 Desvantagens do processador de um ciclo Tempo do Ciclo longo: Tempo do ciclotem de ser suficiente para a instrução load: s Clock -to-q + ory Access Time + Register File Access Time + Delay (address calculation) + Data ory Access Time + Register File Setup Time + Clock Skew O tempo de ciclo para o load é muito maior do que o necessário para as outras instruções 2

Visionamento abstracto do nosso processador uniciclo op Main fun control Zero Rd RegWr Next Register Ext Access Reg. Wrt Data Result Store 5 Processador Multiciclo Descodifica OPcode Lógica de o / Store (PLA, ROM) Instrução Condições Pontos de o microinstrução Datapath exactamente um comando de controlo ou micro-instrução Em geral, o controlador é uma máquina de estados finitos Micro-instruções também podem controlar a sequência (ver mais 6 tarde) 3

Onde estamos agora? Processor ory Input Datapath Output Tópico das próximas 2 aulas: Projecto do datapath para um datapath multiciclo 7 O que há de errado com o nosso processador de 1 ciclo? Arithmetic & Logical Inst ory Reg File mux mux setup Load Instory Reg File mux Data mux setup Critical Path Store Instory Reg File mux Data Branch Inst ory Reg File cmp mux Tempo de ciclo longo Todas as instruções demoram o mesmo tempo do que as instruções mais lentas órias reais não são tão convenientes como a memória ideal: Nem sempre conseguem ter o trabalho feito num único ciclo de 8 curta duração 4

Tempo de Acesso a órias Física => memórias rápidas são pequenas (memórias grandes são lentas) address address decoder Storage Array selected word line storage cell bit line sense amps Utilização de hierarquias de memórias 9 Processador Cache 1 ciclo proc. bus L2 Cache mem. bus ória 2-3 ciclos 20-50 ciclos Redução do tempo de ciclo Dividir o datapath e inserir registos entre cortes Ex.: fazer o mesmo trabalho em 2 ciclos rápidos em vez de 1 ciclo lento Lógica combinatória Acíclica => Lógica combinatória Acíclica (A) Lógica combinatória Acíclica (B) 10 5

Lógica do próximo endereço <= branch? + offset : + 4 Busca da instrução Reg <= [] Acesso aos registos A <= R[rs] Operação da R <= A + B Limites básicos no tempo de ciclo zero Rd RegWr Next Operand Exec Access Reg. File 11 Transformação do datapath de um ciclo em datapath multiciclo Adicionar registos entre os passos mais pequenos Next zero Rd RegWr Operand Exec Access Reg. File 12 6

Ex.: datapath multiciclo zero Rd ToReg RegWr Next IR Reg File Operand A B Ext R Access M Data Reg. File Result Store Caminho crítico? 13 Nome do passo Busca da Instrução Descodificação da Inst./busca de registos Execução, calculo do endereço, resolução do salto Acesso à memória, finalização de instruções R-type Escreve Resultado 14 Passos de Execução no datapath multiciclo Acções para instruções R- type out = A op B; Reg[IR[15:11]] = out; Acções para instruções com acesso a memória IR = MEM[]; = + 4; A = Reg[IR[25:21]]; B = Reg[IR[20:16]]; Target = + (SignEx(IR[15:0]) << 2); out = A + SignEx(IR[15:0]); Load: mem -data = MEM[out]; ou Store: MEM[out] = B; Load: Reg[IR[20:16]] = mem-data; Acções para saltos condicionais If(A == B) then = Target Tempo 7

Nome do passo Passos de Execução no datapath multiciclo Acções para saltos incondicionais (jump) Busca da Instrução Descodificação da Inst./busca de registos Execução, calculo do endereço, resolução do salto Acesso à memória, finalização de instruções R-type IR = MEM[]; = + 4; A = Reg[IR[25:21]]; B = Reg[IR[20:16]]; Target = + (SignEx(IR[15:0]) << 2); = [31:28] IR[25:0] 00; Tempo Escreve Resultado 15 representa a concatenação 8