Organização ou MicroArquitectura

Slides:



Advertisements
Apresentações semelhantes
Chapter Six Pipelining
Advertisements

Chapter Five The Processor: Datapath and Control (Parte B: multiciclo)
1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2004s2 Ch5A-1 Chapter Five The Processor: Datapath and Control.
MC542 Organização de Computadores Teoria e Prática
PIPELINE (continuação).
CPU: Controle e processamento
Fernando Moraes, Ney Calazans 26/10/2005
Exemplo de arquitetura registrador-registrador- MIPS
MIPS PIPELINE.
Processador Fluxo de Dados e Controle
AULA 06 - MIPS PIPELINE.
MC542 Organização de Computadores Teoria e Prática
MO401 Arquitetura de Computadores I
VHDL - Tipos de dados e operações
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
1998 Morgan Kaufmann Publishers Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Ch6-1 Chapter Six Pipelining.
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
Dados do Grupo. 1) Apresentação do Testbench Desenvolvido:
Joao Cláudio Soares Otero
Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador - Parte A Capítulo 5.
Sistemas Operacionais
SISTEMA BINÁRIO Hardware de Computadores. SISTEMA BINÁRIO Hardware de Computadores.
FORTRAN 90 Denise Yumi Takamura.
Arquiteturas de 4, 3, 2, 1 e 0 endereços.
1. Equivalência entre portas 2. Derivação de expressões booleanas 3
Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)
Agrupando flip-flops e portas para criar registradores
Teste Estrutural de Software
A Arquitetura: conjunto de instruções
Gustavo Vieira Pereira
Geração de Código Algoritmo de Escalonamento de instruções – List Scheduling.
1998 Morgan Kaufmann Publishers Ch5B-1 O Processador: Via de Dados e Controle (Parte C: microprogramação)
Arquitetura de Computadores I
O Fluxo de Testes © Alexandre Vasconcelos
Campus de Sorocaba UNIVERSIDADE ESTADUAL PAULISTA Recursos Computacionais Antonio Martins.
Funções de um computador
Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.
ARQUITETURA DE COMPUTADORES ANEXO-1: INSTRUÇÕES (LOGICAS) AND DE DADOS ENTRE REGISTRADORES REG 0 :AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI,SP,BP,CS, DS,ES,SS.
OTIMIZAÇÃO DE DESEMPENHO
OTIMIZAÇÃO DE DESEMPENHO
Organização de Sistemas de Computadores
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
Pipeline É possível obter maior desempenho computacional com:
Marco Antonio Montebello Júnior
LINGUAGENS DE PROGRAMAÇÃO
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
Autor: Fernando de Mesentier Silva
Nível Máquina Formatos de Instruções
Funcionamento básico de um computador
Infra-estrutura de Hardware
IMM Instalação e Manutenção de Microcomputadores Pedro Amaro –
Parte 3 Seção de Dados e Unidade de Controle
1  1998 Morgan Kaufmann Publishers Paulo C. Centoducatte – MC542 - IC/Unicamp- 2006s Prof. Paulo Cesar Centoducatte
Estrutura do Processador
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
TRABALHO AVALIATIVO ALUNO: FRANCISCO HELIÉSUS DE MEDEIROS MATÉRIA: ORGANIZAÇÃO DE COMPUTADORES.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
PSI3441 – Arquitetura de Sistemas Embarcados
Banco de Registradores e ALU
Computador MIPS Organização básica e conjunto de instruções.
Caminho de Dados (aula passada)
Arquitetura e Assembly*
Arquitetura e Assembly*
Funcionamento básico de um processador de 8 bits
Determinou o endereço de A
Instruções de Acesso à Memória e de Desvio Condicional
PSI3441 – Arquitetura de Sistemas Embarcados
Chapter Six Pipelining Harzard
Conjunto de instruções
Transcrição da apresentação:

Organização ou MicroArquitectura DataPath MIPS32 AC1 –Micro-Arquitectura: DataPath do MIPS

Datapath e Controlpath Datapath – circuito percorrido pelas instruções, endereços e resultados IP Inst. Mem. Data. Register File Execution Unit Controlpath – circuito percorrido pelos sinais que controlam o datapath IP Inst. Mem. Data. Register File Execution Unit Unidade Controlo AC1 –Micro-Arquitectura: DataPath do MIPS

Datapath Intel Pentium 4 Baseado num esquema do Prof. João Luís Sobral AC1 –Micro-Arquitectura: DataPath do MIPS

Elementos Combinatórios As saídas destes elementos reagem sempre a variações nas entradas, após um certo atraso (delay) de propagação. EXEMPLOS: um multiplexer, a ALU ALU Operation se (d==0) c=a senão c=b AC1 –Micro-Arquitectura: DataPath do MIPS

Elementos sequenciais As saídas destes elementos só reagem a variações nas entradas quando se verifica um pulso do clock. São estes elementos que memorizam dados, determinando o estado do CPU. EXEMPLOS: os registos, a memória Convenção de temporização – os elementos sequenciais só são escritos no pulso descendente do clock. Ignoram-se os atrasos. out in RegWr clock 1 Reg in out RegWr clock AC1 –Micro-Arquitectura: DataPath do MIPS

Datapath MIPS32 – ciclo único Implementação de ciclo único: Todas as instruções demoram exactamente um único ciclo do relógio O período do clock tem que ser igual à instrução mais demorada Nenhum componente do datapath pode ser usado mais do que uma vez durante a mesma instrução Sub conjunto de instruções do MIPS: Acesso à memória – lw e sw Lógico-aritméticas – add, addi, sub, and, andi, or, ori, slt e slti Controlo de fluxo – beq AC1 –Micro-Arquitectura: DataPath do MIPS

Datapath : fetch da instrução Instruções lidas do endereço apontado pelo PC. O PC é incrementado 4 no fim do ciclo. A mémória mantêm a instrução na saída até ao fim do ciclo. Não são apresentados sinais de controlo da memória porque esta é só de leitura. Esta ALU apenas realiza adições, não precisa de sinais de controlo. A memória é dedicada a instruções, porque cada componente só pode ser usado uma vez em cada ciclo. A memória de dados será outro componente. AC1 –Micro-Arquitectura: DataPath do MIPS

Datapath para instruções tipo R OpCode Rs Rt Rd ShAmt Function As instruções R lêem 2 registos (Rs, Rt) e escrevem num terceiro (Rd). O campo Funct da instrução vai ser usado para gerar o sinal ALUoperation. O sinal de controlo RegWrite indica se o resultado deve ser escrito num registo. AC1 –Micro-Arquitectura: DataPath do MIPS

Datapath para lw e sw OpCode Rs Rt Imediato I n s t r u c i o 1 6 3 2 R e g W a d D m y S x A L U l Z M p 32 Cálculo do endereço - O offset imediato é estendido (32 bits) e somado ao registo base (Rs) lw – Os sinais MemRead e RegWrite são activados para que os dados sejam escritos no registo endereçado no campo Rt sw – O sinal MemWrite é activado para que o valor do registo endereçado no campo Rt seja escrito na memória AC1 –Micro-Arquitectura: DataPath do MIPS

Datapath para beq 1 6 3 2 S i g n e x t d Z r o A L U u m h f l T b a c B P C + 4 s p I R W 32 Os registos Rs e Rt são comparados activando a saída Zero da ALU O offset do campo imm da instrução é estendido para 32 bits, multiplicado por 4 e somado ao PC O PC só é carregado com este valor se a saída Zero da ALU estiver a 1 AC1 –Micro-Arquitectura: DataPath do MIPS

Datapath do MIPS M e m t o R g a d W r i A L U S c D s P C I n u y [ 3 1 – ] 2 6 5 4 x l Z h f ALU operation (Rs) (Rt) (Rd) (Imm) U.C. Instruction [31-26] (op) RegDst – O registo a escrever pode ser o Rd (tipo-R) ou o Rt (tipo-I) AluSrc – O operando pode ser um registo (tipo-R) ou uma constante (tipo-I) MemtoReg – O valor a escrever num registo pode vir da ALU ou da memória (lw) PCSrc – O valor a escrever no PC pode ser PC+4 ou o PC+4+offset de beq NOTA: Falta gerar os sinais de controlo, que entre outros, se baseiam no Opcode (Instruction[31-26]) e no Funct (Instruction[5-0]) AC1 –Micro-Arquitectura: DataPath do MIPS

Instrução do Tipo-R (fetch) M e m t o R g a d W r i A L U S c D s P C I n u y [ 3 1 – ] 2 6 5 4 x l Z h f ALU operation (Rs) (Rt) (Rd) (Imm) U.C. Instruction [31-26] (op) A instrução apontada pelo PC é lida e o valor do PC é incrementado de 4 (mas não é escrito no registo) AC1 –Micro-Arquitectura: DataPath do MIPS

Instrução do Tipo-R (decode/operand fetch) M e m t o R g a d W r i A L U S c D s P C I n u y [ 3 1 – ] 2 6 5 4 x l Z h f ALU operation (Rs) (Rt) (Rd) (Imm) U.C. Instruction [31-26] (op) RegDst RegWrite 1 ALUSrc MemWrite MemRead MemtoReg ALU operation ??? PCSrc A unidade de controlo descodifica a instrução e gera os sinais de controlo. Os registos são lidos. AC1 –Micro-Arquitectura: DataPath do MIPS

Instrução do Tipo-R (execute) M e m t o R g a d W r i A L U S c D s P C I n u y [ 3 1 – ] 2 6 5 4 x l Z h f ALU operation (Rs) (Rt) (Rd) (Imm) U.C. Instruction [31-26] (op) RegDst RegWrite 1 ALUSrc MemWrite MemRead MemtoReg ALU operation ??? PCSrc A ALU realiza a operação. AC1 –Micro-Arquitectura: DataPath do MIPS

Instrução do Tipo-R (writeback) M e m t o R g a d W r i A L U S c D s P C I n u y [ 3 1 – ] 2 6 5 4 x l Z h f ALU operation (Rs) (Rt) (Rd) (Imm) U.C. Instruction [31-26] (op) RegDst RegWrite 1 ALUSrc MemWrite MemRead MemtoReg ALU operation ??? PCSrc Apenas no fim do ciclo é que os registos são escritos (PC inclusive). É possível distinguir 4 fases diferentes de execução, mas todas são realizadas no mesmo ciclo do clock. AC1 –Micro-Arquitectura: DataPath do MIPS

Instrução lógico-aritmética (Tipo I) execute M e m t o R g a d W r i A L U S c D s P C I n u y [ 3 1 – ] 2 6 5 4 x l Z h f ALU operation (Rs) (Rt) (Rd) (Imm) fetch U.C. Instruction [31-26] (op) decode/operand fetch writeback RegDst 1 RegWrite ALUSrc MemWrite MemRead MemtoReg ALU operation ??? PCSrc AC1 –Micro-Arquitectura: DataPath do MIPS

Instrução beq U.C. fetch decode/operand fetch execute writeback RegDst M e m t o R g a d W r i A L U S c D s P C I n u y [ 3 1 – ] 2 6 5 4 x l Z h f ALU operation (Rs) (Rt) (Rd) (Imm) fetch U.C. Instruction [31-26] (op) execute decode/operand fetch RegDst X RegWrite ALUSrc 1 MemWrite MemRead MemtoReg ALU operation 110 PCSrc Zero??? AC1 –Micro-Arquitectura: DataPath do MIPS

Instrução lw U.C. fetch decode/operand fetch M e m t o R g a d W r i A L U S c D s P C I n u y [ 3 1 – ] 2 6 5 4 x l Z h f ALU operation (Rs) (Rt) (Rd) (Imm) execute fetch U.C. Instruction [31-26] (op) writeback decode/operand fetch mem RegDst 1 RegWrite ALUSrc MemWrite MemRead MemtoReg ALU operation 010 PCSrc Exige 5 fases, todas executadas no mesmo ciclo AC1 –Micro-Arquitectura: DataPath do MIPS

Datapath MIPS – 5 fases fetch decode/ operand fetch execute mem U.C. g a d W r i A L U S c D s P C I n u y [ 3 1 – ] 2 6 5 4 x l Z h f ALU operation (Rs) (Rt) (Rd) (Imm) U.C. Instruction [31-26] (op) fetch decode/ operand fetch execute mem writeback Ocorre no pulso descendente do relógio, resultando na escrita do PC e dos registos AC1 –Micro-Arquitectura: DataPath do MIPS

Datapath ciclo único - Resumo Existem 5 fases de execução: fetch, decode/operand fetch, execute, memory, writeback Todos os sinais de controlo são gerados na fase de decode Todas as instruções demoram exactamente um ciclo a executar O ciclo tem que ser suficientemente longo para permitir a execução de todas as fases Apenas as instruções do tipo load/store necessitam da fase memory. Corolários Todas as instruções levam tanto tempo como a instrução mais longa Cada componente do CPU só pode ser usado uma vez por ciclo AC1 –Micro-Arquitectura: DataPath do MIPS

Sumário Tema H & P Datapath single cycle Sec. 5.1, 5.2, 5.3 (ignorar o controlo) AC1 –Micro-Arquitectura: DataPath do MIPS