Tiago Alves de Oliviera

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

Organização de Computadores

Processador executa instruções

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

ção de Computadores II

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

Processador. Processador

Arquiteturas de Computadores

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

Unidade Central de Processamento UCP (CPU)

Relembrando desempenho...

O Processador: Via de Dados e Controle

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

Relembrando desempenho...

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

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

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

2. A influência do tamanho da palavra

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

DataPath II Tomando o controle!

TCC Organização de Computadores I Turma :A1 Lista 3-GABARITO. 1. A figura abaixo mostra o diagrama da implementação para a UCP estudada em sala.

ção de Computadores I

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

Conceitos Básicos Processador

SSC0114 Arquitetura de Computadores

Fundamentos de Arquiteturas de Computadores Turma :A1 Lista 3 Profa.: Simone Martins

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

Organização e Arquitetura de Computadores I

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

Disciplina: Arquitetura de Computadores

Organização de Unidades de Processamento

ORGANIZAÇÃO DE COMPUTADORES

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

O Computador Neander Neander - Computador Hipotético Didático

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

UCP: Construindo um Caminho de Dados (Parte I)

Infra-estrutura de Hardware

Instruções de Máquina

Arquitetura de Computadores. Ciclo de Busca e Execução

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

A Arquitetura: conjunto de instruções

Processador: Conceitos Básicos e Componentes

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

Arquitetura de Computadores Aula 10 - Processadores

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

UCP: Construindo um Caminho de Dados (Parte III)

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

2. A influência do tamanho da palavra

SSC510 Arquitetura de Computadores 1ª AULA

Arquiteturas de Computadores

Conteúdos: Debora, Edcarllos, livros! slides disponíveis!

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

Organização e Arquitetura de Computadores INTRODUÇÃO

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

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

Infra-estrutura de Hardware

Válido Rótulo Bloco bits 8 bits 8 bits 8 bits

Organização de Computadores Aula 05

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

Arquitetura e Organização de Computadores

Conjunto de Instruções

Aula 17: Organização de Computadores

Arquitetura de Computadores Unidade Central de Processamento CPU

Solução Lista de Exercícios Processadores

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 7

Especificação do Projeto de Processador RISC

Aula 16: UCP: Conceitos Básicos e Componentes

Pipeline. Prof. Leonardo Barreto Campos 1

Instruções. Maicon A. Sartin

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

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

Organização e Projeto de Computadores

UCP: Caminho de Dados (Parte II)

Microcontroladores e Interfaces

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

RELOGIO MEMÓRIA USO DA NUMERAÇÃO BINÁRIA. 02. Explique a função do barramento de endereços no Modelo Barramento de Sistemas.

FUNCIONAMENTO DO COMPUTADOR. Adão de Melo Neto

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

Célula, Palavra, Ciclo de Instruções e Lógica Temporizada

UCP 8051 (parte 02) Professor Adão de Melo Neto

Capítulo 3 Organização Interna de um Computador

Organização de Computadores

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

Algoritmos Computacionais

Estrutura da CPU Organização de registradores Ciclo de instrução

PSI3441 Arquitetura de Sistemas Embarcados

COMPUTADOR. Adão de Melo Neto

SSC0112 Organização de Computadores Digitais I

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

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Sistemas Operacionais

COMPUTADOR. Adão de Melo Neto

Organização e Arquitetura de Computadores I

Prof. Leonardo Augusto Casillo

Nível da Microarquitetura

Unidade Central de Processamento 2. Registradores

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PROF. DEJAIR PRIEBE

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

Transcrição:

Tiago Alves de Oliviera 1

Capítulo 6 do Livro do Mario Monteiro Capítulo 5 (5.1, 5.2, 5. e 5.4) do Livro do Patterson 2

Processador executa instruções CPU (central processing unit) UCP (unidade central de processamento)

4 Endereço da instrução está no Registrador PC (program counter) Conteúdo da instrução está no Registrador IR (instruction register)

Funções de processamento Funções de controle 5

Unidade Lógica e Aritmética (ULA, UAL, ALU) Registradores de dados e registradores especiais 6 de estado (PSW program status word)

7 Unidade de controle, relógio (clock) Registradores especiais PC program counter (CI contador de instruções) IR instruction register (RI registrador de instrução) REM registrador de endereços de memória (MAR) RDM registrador de dados de memória (MDR)

8

9 MP

10 MP

11 MP

Construção do caminho de dados Controle Implementação monociclo 12

Conceito de caminho de dados e controle Caminho dos bits de instrução e dados Utilização de clock, lógica combinacional e seqüencial Começa com uma implementação simples e iterativamente vai melhorando 1

Medida de performance baseada em: número de instruções período do clock ciclos de clock por instrução (CPI) O primeiro é um fator do programa, mas os dois últimos são baseados na implementação do processador 14

Para simplificar o estudo do projeto do processador, o foco será dado em um subconjunto de instruções do MIPS: Memória: lw e sw Aritmética: add e addi Desvio: beq 15

R-FORMAT (tipo R registrador) add rega regb destreg 1 25 24 22 21 19 18 16 15 2 0 0 rd op rega regb 0 destreg 7 bits bits bits bits 1 bits bits op: código de operação rega: registrador com primeiro operando fonte regb: registrador com segundo operando fonte destreg: registrador que guarda resultado da operação 16

I-Format (tipo I imediato) lw rega regb imm sw rega regb imm beq rega regb imm addi rega regb imm Desvio utiliza endereço PC relativo (PC + 1 + imm) 1 25 24 22 21 19 18 16 15 0 0 op rega regb imm 7 bits bits bits bits 16 bits 17

Buscar uma instrução na memória Interpretar qual operação é representada pela instrução Trazer (se for o caso) os operandos para a CPU Executar a operação Armazenar (se for o caso) os dados de saída Repetir o processo com uma nova instrução etapas do Ciclo de Instrução 18

Duas definições importantes Elemento Combinacional - saída depende somente das entradas Exemplo: ALU Elemento Seqüencial: elementos contêm informações de estado Exemplo: Registradores 19

Select Somador Soma A B M u x C Controle da UAL UAL Zero Resultado da UAL 20

Contém 8 registradores Dois barramentos de bits de saída Dado lido #1 e Dado lido #2 Um barramento de bits de entrada Dado a ser escrito Registrador 0 tem o valor 0 Registrador selecionado por lido #1 lido #2 Número dos registradores escrito seleciona registrador que recebe Dado a ser escrito quando EscReg=1 Dado lido #1 lido #2 escrito Dado de escrita EscReg Dado lido #1 Dado lido #2 Dados 21

Um barramento de entrada: Dado a ser escrito Um barramento de saída: Dado lido Seleção de endereço Endereço seleciona a palavra a EscMem Endereço Dado a ser escrito Dado lido ser colocada em Dado lido LerMem Para escrever no endereço, seta EscMem para 1 Para ler do endereço, seta LerMem para 1 22

De acordo com a arquitetura do conjunto de instruções, define-se uma estrutura organizacional macro (número de unidades funcionais, por exemplo) Essa estrutura é refinada para definir os componentes do caminho de dados, sua interconexão e pontos de controle Estrutura de controle é definida O projeto do caminho de dados e controle é refinado para projeto físico e validação funcional 2

Busca a instrução na memória, cujo endereço está no contador de programa PC Incrementa o contador de programa PC de 1 PC Endereço de leitura 1 Somador Instrução Memória de Instruções 24

add rega regb destreg Mem[PC] R[destreg] de soma PC PC + 1 Obtém instrução da memória R[regA] + R[regB] Executa operação Calcula próximo endereço 25

R[destreg] R[regA] op R[regB] Controle da UAL e de EscReg baseado na instrução decodificada lido #1, lido #2, Reg a ser escrito são rega, regb, destreg Registradores lido #1 Dado lido #1 lido #2 escrito Dado Dado de lido #2 escrita Operação da UAL Zero UAL Resultado da UAL EscReg 26

lw rega regb imm mem[pc] memória End R[regA]+SignExt(imm) memória R[regB] Mem[End] registrador PC PC+1 endereço Busca instrução na Calcula o endereço da Carrega os dados no Calcula o próximo 7 bits bits bits bits 16 bits 0 op rega regb imediato 27

Instrução Registradores são de sinal Operação da UAL Dado lido #1 Zero lido #2 Dado Resultado escrito Dado de lido #2 da UAL escrita UAL EscMem Memória de dados Endereço Dado a ser escrito Dado lido LerMem EscReg 28

sw rega regb imm mem[pc] Busca instrução na memória End memória R[regA]+SignExt(imm) Calcula o endereço da Mem[End] memória R[regB] Carrega os dados na PC PC+1 Calcula o próximo endereço 7 bits bits bits bits 16 bits 0 op rega regb imediato 29

Registradores Operação da UAL Instrução Dado lido #1 lido #1 lido #2 Dado escrito lido #2 Dado de escrita EscReg 1 6 Exten- são de sinal Zero Resultado da UAL UAL EscMem Memória de dados Endereço Dado lido Dado a ser escrito LerMem 0

beq rega regb imm mem[pc] memória Cond R[regA]-R[regB] desvio if (Cond eq 0) else PC PC+1 + SignExt(imm) PC PC+1 Busca instrução na Calcula a condição de Calcula endereço PC relativo Calcula o próximo endereço 7 bits bits bits bits 16 bits 0 op rega regb imediato 1

PC+1 vindo do caminho de dados de busca de uma instrução Somador Soma Endereço alvo do desvio condicional Instrução Registradores lido #1 lido #2 escrito Dado de escrita Dado lido #1 Ddo lido #2 Operação da UAL UAL Zero Para a lógica de controle do desvio condicional EscReg 16 Extensão de sinal

PC 1 Endereço de leitura Instrução Memória de Instruções Somador M U X RegDst Registradores lido #1 lido #2 escrito Dado de escrita EscReg 16 Exten- são de sinal UAL fonte Operação da UAL M ux Zero Resultado da UAL UAL EscMem Memória de dados EndereçoDado lido Dado a ser escrito LerMem M M ux ULAparaReg

FontePC M ux 1 Somador Resultado da UAL PC Endereço de leitura Instrução Memória de Instruções M U X RegDst Registradores lido #1 lido #2 escrito Dado de escrita 16 EscReg Exten- são de sinal UAL fonte M ux Somador Operação da UAL Zero Resultado da UAL UAL Dado a ser escrito EscMem Memória de dados EndereçoDado lido LerMem ULAparaReg M ux 4

PC incrementado normalmente Se instrução for beq pode adicionar imm a PC + 1 M ux 1 Somador Resultado da UAL PC Endereço de leitura Instrução Memória de Instruções M U X RegDst Registradores lido #1 lido #2 escrito Dado de escrita EscReg 16 Exten- são de sinal UAL fonte M ux Somador Operação da UAL Zero Resultado da UAL UAL DvC 5

PC 1 Endereço de leitura Instrução Memória de Instruções Somador PC +1 Registradores Somador Operação da UAL lido #1 UAL fonte lido #2 Zero U Resultado X M escrito ux da UAL Dado de escrita UAL RegDst EscReg 16 Exten- são de sinal Resultado da UAL 0 M u x 1 DvC Memória EndereçoDado dados Dado a ser escrito EscMem lido LerMem M u x ULAparaReg 6

Identifica pontos de controle no caminho de dados Busca da instrução Operações lógicas e aritméticas Memória Identifica tipo de controle do sinal Fluxo de dados através de multiplexadores Escrita de dados Deriva sinais de controle para cada instrução Coloca todos os sinais juntos 7

PC +1 M ux 1 Somador Resultado da UAL PC Endereço de leitura Instrução Memória de Instruções M U X RegDst Registradores lido #1 lido #2 escrito Dado de escrita EscReg 16 Exten- são de sinal UAL fonte M ux Somador Operação da UAL Zero Resultado da UAL UAL Don t care (X) DvC= 0 8

PC +1 M ux 1 Somador Resultado da UAL PC Endereço de leitura Instrução Memória de Instruções M U X RegDst =1 Registradores lido #1 lido #2 escrito Dado de escrita EscReg =1 16 Exten- são de sinal UAL fonte =0 M ux Somador Operação da UAL =op Zero Resultado da UAL UAL DvC =0 Memória de dados EndereçoDado lido Dado a ser escrito EscMem =0 LerMem =0 ULAparaReg =1 0 M ux1 9

PC +1 M ux 1 Somador Resultado da UAL PC Endereço de leitura Instrução Memória de Instruções M U X RegDst =0 Registradores lido #1 lido #2 escrito Dado de escrita EscReg =1 16 Exten- são de sinal UAL fonte =1 0 M u x 1 Somador Operação da UAL =Add Zero Resultado da UAL UAL DvC =0 Memória de dados EndereçoDado lido Dado a ser escrito EscMem =0 LerMem =1 0 M ux 1 ULAparaReg =0 40

PC +1 M ux 1 Somador Resultado da UAL PC Endereço de leitura Instrução Memória de Instruções M U X RegDst =X Registradores lido #1 lido #2 escrito Dado de escrita EscReg =0 16 Exten- são de sinal UAL fonte =1 0 M ux 1 Somador Operação da UAL =Add Zero Resultado da UAL UAL EscMem DvC =1 =0 ULAparaReg Memória =X de dados Endereço Dado lido M ux Dado a ser escrito LerMem =0 41

PC+1 M ux 1 Somador Resultado da UAL PC Endereço de leitura Instrução Memória de Instruções M U X RegDst =X Registradores lido #1 lido #2 escrito Dado de escrita EscReg =0 16 Exten- são de sinal UAL fonte =0 M ux Somador Operação da UAL =Sub Zero Resultado da UAL UAL DvC =1 Memória de dados EndereçoDado lido Dado a ser escrito EscMem =0 LerMem =0 M ux ULAparaReg =X 42

PC +1 M ux 1 Somador Resultado da UAL PC Endereço de leitura Instrução Memória de Instruções M U X RegDst Registradores lido #1 lido #2 escrito Dado de escrita EscReg 16 Exten- são de sinal UAL fonte M ux Somador Operação da UAL Zero Resultado da UAL UAL DvC Memória de dados EndereçoDado lido Dado a ser escrito EscMem LerMem M ux ULAparaReg 4

44

45

46

Entradas Op2 Op1 Op0 Saídas Formato R Iw sw beq RegDst UALfonte ULAparaReg EscReg LerMem EscMem DvC UALOp2 47

PC +1 M ux 1 Somador Resultado da UAL Instr [24:22] op PC Controle Principal Endereço de leitura Instrução Memória de Instruções RegDst UALfonte ULAparaReg EscReg LerMem EscrMem M U X RegDst Registradores lido #1 lido #2 escrito Dado de escrita EscReg 16 Exten- são de sinal UAL fonte M ux Somador Operação da UAL Zero Resultado da UAL UAL DvC Memória de dados EndereçoDado lido Dado a ser escrito EscMem LerMem M ux ULAparaReg DvC UAL Op2 48

Vantagens Um ciclo de relógio por instrução torna lógica mais simples Desvantagens Ciclo de clock determinado pela instrução que leva maior tempo Instrução de carga utiliza cinco unidades funcionais em série tempo de acesso à memória de instruções + tempo de acesso ao banco de registradores + retardo da UAL + tempo de acesso à memória de dados + tempo de estabilidade dos dados para o banco de registradores Duplicação de unidades funcionais 49