A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Infra-estrutura de Hardware. CPU: Estrutura e Funcionalidade.

Apresentações semelhantes


Apresentação em tema: "Infra-estrutura de Hardware. CPU: Estrutura e Funcionalidade."— Transcrição da apresentação:

1 Infra-estrutura de Hardware

2 CPU: Estrutura e Funcionalidade

3 Infra-estrutura de Hardware 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 Mono-ciclo –Leitura da Instrução –Operações Aritméticas –Leitura + Operação entre registradores –Acesso à Memória –Desvio Condicional Visualizando a execução da instrução Análise de Desempenho

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

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

6 Infra-estrutura de Hardware Unidade Central de Processamento PC Reg. IR MAR MBR nUnidade de processamento nUnidade de controle ALU Gerais Reg. FLAGS Dados Endereço Controle

7 Infra-estrutura de Hardware Ciclo de Instrução Busca instrução Executa instrução Busca operando Decodifica instrução Armazena resultado Incrementa PC

8 Infra-estrutura de Hardware Projeto de uma Arquitetura Conjunto de registradores Tipos de Dados Formato e Repertório de instruções Conjunto de registradores Tipos de Dados Formato e Repertório de instruções

9 Infra-estrutura de Hardware Instruções Tipos de instruções –Processamento: aritméticas e lógicas –Armazenamento –E/S –Controle: teste e desvio 5 Opcode 6 rs rtrd 55 F1 shamt 16 EndereçoOpcode rs 56 F2 rt 5 funct 65

10 Infra-estrutura de Hardware Projeto: uma CPU simples... Opcode rs rtrd shamt Endereço Opcoders rt funct Endereço Opcoders rt Aritm lw/sw beq

11 Infra-estrutura de Hardware MIPS - Visão Abstrata Registers Register # Data Register # Data memory Address Data Register # PCInstructionALU Instruction memory Address

12 Infra-estrutura de Hardware Relógio - Clock Clock cycle State element 1 Combinational logic State element 2

13 Infra-estrutura de Hardware Mono-ciclo Clock cycle Busca a próxima instrução Busca a próxima instrução Executa a instrução Início Término Busca - Executa

14 Infra-estrutura de Hardware Componentes Básicos: Busca de Instrução PC Instruction memory Instruction address Instruction AddSum 80000000 02480020 00000004 80000000 80000004 Memória (Instrução) Contador Programa Adicionador

15 Infra-estrutura de Hardware Busca de Instrução PC Instruction memory Read address Instruction 4 Add 80000000 80000004 02480020

16 Infra-estrutura de Hardware Componentes Básicos: Operações Aritméticas RegWrite Registers Write register Read data 1 Read data 2 Read register 1 Read register 2 Write data Data Data Register numbers Banco de registradores Leitura 5 5 5 00010 00011 00000004 00000002 00000004 00000002

17 Infra-estrutura de Hardware Componentes Básicos: Operações Aritméticas RegWrite Registers Write register Read data 1 Read data 2 Read register 1 Read register 2 Write data Data Data Register numbers Banco de registradores Escrita 5 5 5 00001 00000006 00000004 00000002 00000006 1

18 Infra-estrutura de Hardware Componentes Básicos: Operações Aritméticas ALU control ALU result ALU b. ALU Zero 3 00000004 00000002 00000006 +: 001 ALU

19 Infra-estrutura de Hardware Instruções Aritméticas/Lógicas Instruction Registers Write register Read data 1 Read data 2 Read register 1 Read register 2 Write data ALU result ALU Zero RegWrite ALU operation 3 0000000001000011000010000100000 00010 00011 00000004 00000002 00000004 000000002 001 (+) 00000006 00001 1 00000006

20 Infra-estrutura de Hardware Busca e Execução de Instruções Aritméticas/Lógicas PC Instruction memory Read address Instruction 4 Add 80000000 02480020 80000004 00010 00011 00000004 000000002 00000006 00001 00000004 00000002 00000006 + 1 add $1, $2, $3

21 Infra-estrutura de Hardware Componentes Básicos: Acesso à memória MemRead MemWrite Data memory Write data Read data Address 8000000C 00000005 1 Memória de Dados - Leitura 00000005 0

22 Infra-estrutura de Hardware Componentes Básicos: Acesso à memória MemRead MemWrite Data memory Write data Read data Address 80000010 00000007 00000005 00000007 1 0 Memória de Dados - Escrita

23 Infra-estrutura de Hardware Componentes Básicos: Acesso à memória 1632 Sign extend Extensão de Sinal FFFD FFFFFFFD 0002 00000002

24 Infra-estrutura de Hardware Instruções Load/Store MemRead MemWrite RegWrite ALU operation 3 lw $8, desl($9) 8D28 04B0 01001 01000 04B0 80000008 000004B0 800004B8 00000002 1 + 1 0 80000008 00000002

25 Infra-estrutura de Hardware Instruções Load/Store MemRead MemWrite RegWrite ALU operation 3 sw $t0, desl($t1) AB28 04B0 01001 01000 04B0 80000008 000004B0 800004B8 00000005 + 1 0 80000008 00000005

26 Infra-estrutura de Hardware Instruções Aritméticas e de Load/Store Instruction 1632 Registers Write register Read data 1 Read data 2 Read register 1 Read register 2 Data memory Write data Read data M u x M u xWrite data Sign extend ALU result Zero ALU Address RegWrite ALU operation 3 MemRead MemWrite ALUSrc MemtoReg 02480020 00010 00011 00000004 000000002 00000006 00000004 00000002 00000006 00001 1 0 + 00000006 1 add $1, $2, $3

27 Infra-estrutura de Hardware Instruções Aritméticas e de Load/Store Instruction 1632 Registers Write register Read data 1 Read data 2 Read register 1 Read register 2 Data memory Write data Read data M u x M u xWrite data Sign extend ALU result Zero ALU Address RegWrite ALU operation 3 MemRead MemWrite ALUSrc MemtoReg 00000004 00000006 8D28 04B0 01001 01000 04B0 80000008 000004B0 800004B8 00000005 1 0 lw $8, desl($9) 1 0 00000005 1

28 Infra-estrutura de Hardware Instruções Aritméticas e de Load/Store Instruction 1632 Registers Write register Read data 1 Read data 2 Read register 1 Read register 2 Data memory Write data Read data M u x M u xWrite data Sign extend ALU result Zero ALU Address RegWrite ALU operation 3 MemRead MemWrite ALUSrc MemtoReg

29 Infra-estrutura de Hardware Instrução de Branch on equal register 1 Read register 2 Write data RegWrite ALU operation 3 Endereçamento relativo Beq $1,$2, end. 00000006 00000005 00001 00010 00000006 04b0 000004b0 000012C0 80000004 800012C4 comp

30 Infra-estrutura de Hardware Unidade de Processamento 1 0 M u x 1 0 M u x 1 Instruction [15–11] ALU control Shift left 2 PCSrc ALU Add ALU result

31 Infra-estrutura de Hardware Unidade de Processamento 1 0 M u x 1 0 M u x 1 Instruction [15–11] ALU control Shift left 2 PCSrc ALU Add ALU result Opcode rs rtrd shamt Endereço Opcoders rt funct Endereço Opcoders rt Aritm lw/sw beq 31-2625-2120-1615-1110-65-0 31-2625-2120-16 15-0 31-26 25-21 20-16 15-0

32 Infra-estrutura de Hardware Unidade de Controle

33 Infra-estrutura de Hardware Busca de instrução PC Instruction memory Read address Instruction [31–0] Instruction [20 16] Instruction [25 21] Add Instruction [5 0] MemtoReg ALUOp MemWrite RegWrite MemRead Branc ad register 2 Sign extend M u x 1 ALU result Zero PCSrc Data memory Write data Read data M u x 1 Instruction [15 11] ALU control Shift left 2 ALU Address

34 Infra-estrutura de Hardware Leitura de registradores PC Instruction memory Read address Instruction [31–0] Instruction [20 16] Instruction [25 21] Add Instruction [5 0] MemtoReg ALUOp MemWrite RegWrite MemRead Branch RegDst ALUSrc Instruction [31 26] 4 1632 Instruction [15 0] 0 0 M u x 0 1 Control Add ALU result M u x 0 1 Registers Write register Write data Read data 1 Read data 2 Read register 1 Read register 2 Sign extend M u x 1 ALU result Zero PCSrc Data memory Write data Read data M u x 1 Instruction [15 11] ALU control Shift left 2 ALU Address

35 Infra-estrutura de Hardware Instr. Aritmética: Operação com ALU PC Instruction memory Read address Instruction [31–0] Instruction [20 16] Instruction [25 21] Add Instruction [5 0] MemtoReg ALUOp MemWrite RegWrite MemRead Branch RegDst ALUSrc Instruction [31 26] 4 1632 Instruction [15 0] 0 0 M u x 0 1 Control Add ALU result M u x 0 1 Registers Write register Write data Read data 1 Read data 2 Read register 1 Read register 2 Sign extend M u x 1 ALU result Zero PCSrc Data memory Write data Read data M u x 1 Instruction [15 11] ALU control Shift left 2 ALU Address

36 Infra-estrutura de Hardware Instr. Aritmética: Escrita Reg. PC Instruction memory Read address Instruction [31–0] Instruction [20 16] Instruction [25 21] Add Instruction [5 0] MemtoReg ALUOp MemWrite RegWrite MemRead Branch RegDst ALUSrc Instruction [31 26] 4 1632 Instruction [15 0] 0 0 M u x 0 1 Control Add ALU result M u x 0 1 Registers Write register Write data Read data 1 Read data 2 Read register 1 Read register 2 Sign extend M u x 1 ALU result Zero PCSrc Data memory Write data Read data M u x 1 Instruction [15 11] ALU control Shift left 2 ALU Address

37 Infra-estrutura de Hardware Lw/Sw: Operação com ALU (cálculo do endereço) PC Instruction memory Read address Instruction [31–0] Instruction [20 16] Instruction [25 21] Add Instruction [5 0] MemtoReg ALUOp MemWrite RegWrite MemRead Branch RegDst ALUSrc Instruction [31 26] 4 1632 Instruction [15 0] 0 0 M u x 0 1 Control Add ALU result M u x 0 1 Registers Write register Write data Read data 1 Read data 2 Read register 1 Read register 2 Sign extend M u x 1 ALU result Zero PCSrc Data memory Write data Read data M u x 1 Instruction [15 11] ALU control Shift left 2 ALU Address

38 Infra-estrutura de Hardware Lw: Leitura de Memória PC Instruction memory Read address Instruction [31–0] Instruction [20 16] Instruction [25 21] Add Instruction [5 0] MemtoReg ALUOp MemWrite RegWrite MemRead Branch RegDst ALUSrc Instruction [31 26] 4 1632 Instruction [15 0] 0 0 M u x 0 1 Control Add ALU result M u x 0 1 Registers Write register Write data Read data 1 Read data 2 Read register 1 Read register 2 Sign extend M u x 1 ALU result Zero PCSrc Data memory Write data Read data M u x 1 Instruction [15 11] ALU control Shift left 2 ALU Address

39 Infra-estrutura de Hardware Lw: Escrita em Registrador PC Instruction memory Read address Instruction [31–0] Instruction [20 16] Instruction [25 21] Add Instruction [5 0] MemtoReg ALUOp MemWrite RegWrite MemRead Branch RegDst ALUSrc Instruction [31 26] 4 1632 Instruction [15 0] 0 0 M u x 0 1 Control Add ALU result M u x 0 1 Registers Write register Write data Read data 1 Read data 2 Read register 1 Read register 2 Sign extend M u x 1 ALU result Zero PCSrc Data memory Write data Read data M u x 1 Instruction [15 11] ALU control Shift left 2 ALU Address

40 Infra-estrutura de Hardware Sw: Escrita de Memória PC Instruction memory Read address Instruction [31–0] Instruction [20 16] Instruction [25 21] Add Instruction [5 0] MemtoReg ALUOp MemWrite RegWrite MemRead Branch RegDst ALUSrc Instruction [31 26] 4 1632 Instruction [15 0] 0 0 M u x 0 1 Control Add ALU result M u x 0 1 Registers Write register Write data Read data 1 Read data 2 Read register 1 Read register 2 Sign extend M u x 1 ALU result Zero PCSrc Data memory Write data Read data M u x 1 Instruction [15 11] ALU control Shift left 2 ALU Address

41 Infra-estrutura de Hardware Beq: Operação com ALU (comparação) e cálculo de endereço de desvio PC Instruction memory Read address Instruction [31–0] Instruction [20 16] Instruction [25 21] Add Instruction [5 0] MemtoReg ALUOp MemWrite RegWrite MemRead Branch RegDst ALUSrc Instruction [31 26] 4 1632 Instruction [15 0] 0 0 M u x 0 1 Control Add ALU result M u x 0 1 Registers Write register Write data Read data 1 Read data 2 Read register 1 Read register 2 Sign extend M u x 1 ALU result Zero PCSrc Data memory Write data Read data M u x 1 Instruction [15 11] ALU control Shift left 2 ALU Address

42 Infra-estrutura de Hardware Análise de Desempenho Mono-ciclo: –Período do relógio definido em função da duração da instrução mais lenta 8ns (5ns) Implementação pouco eficiente Como melhorar o desempenho na execução de várias instruções? –Multi-ciclo: cada estágio é executado em um ciclo do relógio. –Começar uma instrução ANTES da última instrução iniciada terminar.


Carregar ppt "Infra-estrutura de Hardware. CPU: Estrutura e Funcionalidade."

Apresentações semelhantes


Anúncios Google