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 Memória (Instrução) Contador Programa Adicionador

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

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

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

18 Infra-estrutura de Hardware Componentes Básicos: Operações Aritméticas ALU control ALU result ALU b. ALU Zero : 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 (+)

20 Infra-estrutura de Hardware Busca e Execução de Instruções Aritméticas/Lógicas PC Instruction memory Read address Instruction 4 Add add $1, $2, $3

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

22 Infra-estrutura de Hardware Componentes Básicos: Acesso à memória MemRead MemWrite Data memory Write data Read data Address 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

24 Infra-estrutura de Hardware Instruções Load/Store MemRead MemWrite RegWrite ALU operation 3 lw $8, desl($9) 8D28 04B B B B

25 Infra-estrutura de Hardware Instruções Load/Store MemRead MemWrite RegWrite ALU operation 3 sw $t0, desl($t1) AB28 04B B B B

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 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 D28 04B B B B lw $8, desl($9)

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 b b C C4 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

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] 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] 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] 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] 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] 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] 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] 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] 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