Infra-estrutura de Hardware

Documentos relacionados
Infra-estrutura de Hardware

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

Infra-estrutura de Hardware

Arquiteturas de Computadores

O Processador: Via de Dados e Controle

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

Organização de Computadores

Relembrando desempenho...

Organização ou MicroArquitectura

Relembrando desempenho...

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

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

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

SSC0114 Arquitetura de Computadores

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

Infraestrutura de Hardware. Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento

DataPath II Tomando o controle!

SSC0611 Arquitetura de Computadores

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

Infraestrutura de Hardware. Instruindo um Computador

ARQUITETURA DO PROCESSADOR MIPS

ção de Computadores II

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

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

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

Especificação do Projeto de Processador RISC

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

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

Arquiteturas de Computadores

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

MIPS ISA (Instruction Set Architecture)

Organização de Unidades de Processamento

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

Computador: Hardware + Software

Arquitetura de Computadores. Prof. João Bosco Jr.

Organização de um processador

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

Desenho do Processador

Microcontroladores e Interfaces

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

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

Organização de um processador

Organização e Arquitetura de Computadores I

Tiago Alves de Oliviera

Organização e Arquitetura de Computadores I

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

Capítulo 6 Pipeline Morgan Kaufmann Publishers

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

Arquitetura de Computadores

Escreva um programa em código assembly correspondente ao seguinte programa C.

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

UCP: Construindo um Caminho de Dados (Parte I)

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

Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1

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

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

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

Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO

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

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

3. INSTRUÇÕES. Instrução é uma palavra da linguagem de máquina. Instruction Set do MIPS ( usado pela NEC, Nintendo, Silicon Graphics e Sony.

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

Infraestrutura de Hardware. Funcionamento de um Computador

Unidade Central de Processamento UCP (CPU)

AULA 05: LINGUAGEM DE MONTAGEM: SUPORTE A PROCEDIMENTOS

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

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

Organização e Arquitetura de Computadores I

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

Capítulo 4. O Processador

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski

Arquitetura de Computadores. Linguagem de Máquina

MIPS. Prof. Carlos Bazilio

Caminho de Dados e Unidade de Controle

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

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

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

Prof. Gustavo Oliveira Cavalcanti

William Stallings Computer Organization and Architecture

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

PSI3441 Arquitetura de Sistemas Embarcados

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

PSI3441 Arquitetura de Sistemas Embarcados

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade

Organização e Arquitetura de Computadores I

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

Infraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW

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

Conjunto de Instruções

Figura 1. Datapath do MIPS Superescalar Especulativo CES SE

Organização e Projeto de Computadores

Processador. Processador

ARQUITETURA DO PROCESSADOR MIPS/ RISC V

PSI3441 Arquitetura de Sistemas Embarcados

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA VII

Organização e Arquitetura de Computadores I

Aula 19: UCP: Construindo um Caminho de Dados (Parte III)

SSC0112 Organização de Computadores Digitais I

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Transcrição:

CPU: Estrutura e Funcionalidade

Roteiro da Aula Ciclo de Instrução Projeto de uma CPU simples: conceitos Componentes básicos Leitura da instrução Operação entre registradores Acesso à memória Implementação ono-ciclo Leitura da Instrução Operações Aritméticas Leitura + Operação entre registradores Acesso à emória Desvio Condicional Visualizando a execução da instrução Análise de Desempenho

Como um documento é processado? - Busca documento 2 - Identifica tipo de transação 3 - Verifica se saldo é positivo 4 - Efetiva transação e atualiza saldo

Componentes de um computador CPU Execução das instruções de um programa emória Programas + Dados E/S Vídeo Teclado Infra-estrutura de Buffers Hardware

Unidade Central de Processamento Unidade de controle Dados IRReg. FLAGS Reg. PC Gerais AR BR Endereço Controle Unidade de processamento

Ciclo de Instrução Busca instrução Incrementa PC Decodifica instrução Busca operando Executa instrução Armazena ado

Projeto de uma Arquitetura Conjunto de registradores Tipos de Dados Formato e Repertório de instruções

Instruções Tipos de instruções Processamento: 6 5 5 5 5 6 aritméticas e lógicas F Opcode rs rt rd shamt funct Armazenamento F2 Opcode rs rt Endereço E/S 6 5 5 6 Controle: teste e desvio

IPS Instrução Descrição nop No operation lw reg, desl(reg_base) reg. = mem (reg_base+desl) sw reg, desl(reg_base) em(reg_base+desl) = reg lui reg, constante reg(3..6) = constante add regi, regj,regk Regi. <- Regj. + Regk addi regi, regj, cte Regi = regj + cte sub regi, regj, regk Regi. <- Regj. Regk and regi, regj,regk Regi. <- Regj. and Regk andi regi, regj, cte Regi = regj and cte shfrl regd, regs, n Desloca regs para direita n vezes (Lógico) e armazena valor deslocado em regd. shfra regd, regs, n Desloca regs para dir. n vezes (aritmético), armazena valor deslocado em regd. shfl regd, regs, n Desloca regs para esquerda n vezes, armazena valor deslocado em regd. rotr regd, regs, n Rotaciona regs para direita n vezes, armazena valor deslocado em regd. rotl regd, regs, n Rotaciona regs para esquerda n vezes, armazena valor deslocado em regd. beq regi, regj, end Desvia para end. se regi = regj bne regi, regj, end Desvia para end se regi <> regj slt regi, regj, regk Regi = se regj < regk senão regi= slti regi, regj, cte Regi = se regj < cte senão regi= j end Desvio para end jr regi PC = (regi) jal end Arquitetura Infra-estrutura de Computadores Hardware R3 = PC; PC = end break 29 Para a execução do programa

Projeto: uma CPU simples... Instrução LW rt, desl(rs) SW rt, desl(rs) ADD rd, rs, rt SUB rd, rs, rt AND rd, rs, rt BEQ rs, rt, end Descrição Carrega palavra de mem em rs Armaz. Reg. na memória rd <- rs + rt rd <- rs rt rd <- rs and rt Desvio se rs = rt Aritm Opcode rs rt rd shamt funct lw/sw Opcode rs rt Endereço beq Opcode rs rt Endereço

IPS - Visão Abstrata Register # PC ress Registers Register # Register # ress

Relógio - Clock S tate elem ent Com binational logic State elem ent 2 Clock cycle

ono-ciclo Início Busca a próxima instrução Executa a instrução Término Clock cycle Busca - Executa

8 2482 8 4 84 Componentes Básicos: Busca de Instrução Contador Programa address PC Sum emória (Instrução) Adicionador

2482 8 8 84 Busca de Instrução 4 PC address

Componentes Básicos: Operações Aritméticas Register numbers 5 5 5 register register 2 Registers register 4 2 2 4 2 Reg Banco de registradores Leitura

Componentes Básicos: Operações Aritméticas Register numbers 5 5 5 6 register 6 register 4 2 Registers 2 register 2 Reg Banco de registradores Escrita

Componentes Básicos: Operações Aritméticas 4 +: 3 control Zero 6 2 b.

Instruções Aritméticas/Lógicas (+) register 6 register 4 2 2 Registers register Reg 4 2 2 3 operation Zero 6

8 Busca e Execução de Instruções Aritméticas/Lógicas 2482 84 add $, $2, $3 PC address 4 + 3 operation register 6 4 4 register 2 2 Registers Zero 6 register 22 Reg

8C Componentes Básicos: Acesso à memória em ress 5 5 em emória de Dados - Leitura

8 Componentes Básicos: Acesso à memória em ress 7 5 7 em emória de Dados - Escrita

Componentes Básicos: Acesso à memória FFFD 6 Sign 32 FFFFFFFD extend 2 2 Extensão de Sinal

8D28 4B Instruções Load/Store lw $8, desl($9) register register 2 Registers register 2 2 88 Reg 4B 6 Sign 32 extend 88 3 + operation Zero 4B 84B8 ress em 2 em 2

AB28 4B Instruções Load/Store sw $8, desl($9) register register 2 Registers 5 register 88 2 Reg 4B 6 Sign 32 extend 88 3 + operation Zero 5 4B 84B8 ress em 5 em

2482 Instruções Aritméticas e de Load/Store add $, $2, $3 6 register register 2 2 Re gisters W rite 2 reg ister W rite 6 4 Reg 6 32 Sign extend 4 Src 3 + operation Zero 2 6 resu lt ress u x em mem ory em emtoreg u x 6

8D28 4B Instruções Aritméticas e de Load/Store lw $8, desl($9) register register 2 W rite reg ister W rite Reg 4B Re gisters 6 4 5 88 2 6 32 Sign extend Src 3 operation 88 Zero 84B8 resu lt ress u u x x 4B em emtoreg 5 mem ory 5 em 5

Instruções Aritméticas e de Load/Store register register 2 Registers register Reg 2 Src u x 3 operation Zero ress em emtoreg u x 6 32 Sign extend Instrução Função da alu Controle da em Load word lw Store word sw Sub Sub And and Infra-estrutura Slt de Hardware Set on less than Beq sub

Instrução de Branch on equal Beq $,$2, end. PC + 4 from instruction path register 6 register 6 2 Registers register 2 5 Reg 4b 84 82C4 2C 6 Sign 32 extend Shift left 2 6 6 3 Sum operation Zero Branch target To branch control logic Endereçamento relativo 4b comp

Unidade de Processamento PCSrc 4 Reg Shift left 2 PC address [3 ] [25 2] [2 6] [5 ] RegDst [5 ] register register 2 register 2 Registers 6 Sign 32 extend Src control Zero em ress em emtoreg [5 ] Op

4 Unidade de Processamento Aritm lw/sw beq Opcode rs rt rd shamt Opcode rs rt Reg Shift left 2 Endereço PCSrc funct 3-26 25-2 2-6 5- -6 5-3-26 25-2 2-6 5- Opcode rs rt Endereço 3-26 25-2 2-6 5- PC address [3 ] [25 2] [2 6] [5 ] RegDst [5 ] register register 2 register 2 Registers 6 Sign 32 extend Src control Zero em ress em emtoreg [5 ] Op

Unidade de Controle 4 [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PCSrc PC address [3 ] [25 2] [2 6] [5 ] [5 ] register register 2 Registers 2 register 6 Sign 32 extend control Zero ress [5 ]

Busca de instrução 4 [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PCSrc PC address [3 ] [25 2] [2 6] [5 ] [5 ] register register 2 Registers 2 register 6 Sign 32 extend control Zero ress [5 ]

Leitura de registradores 4 [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PCSrc PC address [3 ] [25 2] [2 6] [5 ] [5 ] register register 2 Registers 2 register 6 Sign 32 extend control Zero ress [5 ]

Instr. Aritmética: Operação com 4 [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PCSrc PC address [3 ] [25 2] [2 6] [5 ] [5 ] register register 2 Registers 2 register 6 Sign 32 extend control Zero ress [5 ]

Instr. Aritmética: Escrita Reg. 4 [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PCSrc PC address [3 ] [25 2] [2 6] [5 ] [5 ] register register 2 Registers 2 register 6 Sign 32 extend control Zero ress [5 ]

Lw/Sw: Operação com (cálculo do endereço) 4 [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PCSrc PC address [3 ] [25 2] [2 6] [5 ] [5 ] register register 2 Registers 2 register 6 Sign 32 extend control Zero ress [5 ]

Lw: Leitura de emória 4 [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PCSrc PC address [3 ] [25 2] [2 6] [5 ] [5 ] register register 2 Registers 2 register 6 Sign 32 extend control Zero ress [5 ]

Lw: Escrita em Registrador 4 [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PCSrc PC address [3 ] [25 2] [2 6] [5 ] [5 ] register register 2 Registers 2 register 6 Sign 32 extend control Zero ress [5 ]

Sw: Escrita de emória 4 [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PCSrc PC address [3 ] [25 2] [2 6] [5 ] [5 ] register register 2 Registers 2 register 6 Sign 32 extend control Zero ress [5 ]

Beq: Operação com (comparação) e cálculo de endereço de desvio 4 [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 PCSrc PC address [3 ] [25 2] [2 6] [5 ] [5 ] register register 2 Registers 2 register 6 Sign 32 extend control Zero ress [5 ]

Análise de Desempenho ono-ciclo: Período do relógio definido em função da duração da instrução mais lenta 8ns (5ns) Implementação pouco eficiente CPU time = nr. Instruções x período_clock Como melhorar o desempenho na execução de várias instruções? ulti-ciclo: cada estágio é executado em um ciclo do relógio. Começar uma instrução ANTES da última instrução iniciada terminar.