MC542 Organização de Computadores Teoria e Prática

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
PIPELINE (continuação).
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
CPU: Controle e processamento
INFORMAÇÕES COMPLEMENTARES
Palestras, oficinas e outras atividades
A busca das mulheres para alcançar seu espaço dentro das organizações
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Operadores e Funções do LINGO
Investor Relations4Q07 | 1. Investor Relations4Q07 | 2 2.
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Aula 06: Introdução ao Pipelining, Hazards Estruturais e Forwarding
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
Exemplo de arquitetura registrador-registrador- MIPS
MIPS MULTICICLO Fluxo de Dados e Controle
Processador Fluxo de Dados e Controle
Curso de ADMINISTRAÇÃO
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
EXPRESSÕES ARITMÉTICAS
Rganização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de.
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Paulo Sérgio Rodrigues PEL205
Implementando um Montador com LEX e YACC - 3
Aula 4 Nomes, Vinculações, Tipos e Escopos
EXEMPLOS DE ESTRUTURAS PROTENDIDAS
Nossa Velha - Nova Cruz Alta Parte 31.
Provas de Concursos Anteriores
Renda até 2 SM.
Introdução à Programação
Diagnósticos Educativos = Diagnósticos Preenchidos 100% = 1.539
(CESPE/ Técnico Judiciário do TRT 17ª Região/ES) O Superior Tribunal de Justiça entende que o candidato aprovado em concurso público dentro do limite.
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Bolha Posição de máx. W2 Ponto de Estagnação
1 CENTRO DE DESENVOLVIMENTO E PLANEJAMENTO REGIONAL – 2006 P Ó S-GRADUA Ç ÃO EM ECONOMIA Microeconomia I Prof.: Edson Domingues Cap í tulo II: Escolha.
CATÁLOGO GÉIA PÁG. 1 GÉIA PÁG. 2 HESTIA PÁG. 3.
PROCESSOS PRINCIPAIS Alunos - Grau de Satisfação 4971 avaliações * Questões que entraram em vigor em 2011 ** N.A. = Não Aplicável Versão: 07/02/2012 INDICADORES.
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO IV – Nº 06.
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO IV – Nº 11.
Trabalho sobre Cor Thiago Marques Toledo.
FISCALIZAÇÃO DIRECIONADA CONDUTA - AUXILIAR ANO III – Nº 05.
Coordenação Geral de Ensino da Faculdade
Múltiplos de um número Sonia Regina de Souza Guedes.
Plataforma Brasil – Submissão de pesquisa
Tributação da Exportação nas Empresas optantes pelo Simples Nacional
Estudo dos Gases Prof. Fabio Costa.
Arquitetura de computadores
Projeto Marcas que Eu Gosto 1 PROJETO MARCAS QUE EU GOSTO Estudos Quantitativo de Consumidores Janeiro / 2005.
Núcleo de Mídia – Comercial Ranking Nacional de Circulação - Domingos Evolução Mês* 3,38% 2,20% 1,39% 1,13% -4,84% 0,49% -6,16% -0,07% -0,71% 0,27% 0,43%
Projeto Medindo minha escola.
C ORROPIOS, C ARDINCHAS E C ÃES G RANDES O LIVRO de José Paixão em imagens – com pistas de leitura propostas por por www.joraga.net.
Nossa Velha - Nova Cruz Alta Parte 21.
CÁLCULO MENTAL Conjunto de saberes e processos mentais que um indivíduo mobiliza, objectiva e subjectivamente para: Desenvolver estratégias pessoais de.
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Estatística Aula 9 – 28/02/2011.
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
CONCEITOS FUNDAMENTAIS
Olhe fixamente para a Bruxa Nariguda
Máquina de Turing Universal
Equipe Bárbara Régis Lissa Lourenço Lucas Hakim Ricardo Spada Coordenador: Gabriel Pascutti.
AM020C A interface entre Meio Ambiente, Sociedade e Economia Indicadores de produtividade e empregabilidade da agricultura do Brasil. Aluna Andressa Santos.
1  1998 Morgan Kaufmann Publishers Paulo C. Centoducatte – MC542 - IC/Unicamp- 2006s Prof. Paulo Cesar Centoducatte
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Transcrição da apresentação:

MC542 Organização de Computadores Teoria e Prática 2007 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br www.ic.unicamp.br/~ducatte Review today, not so fast in future

MC542 Arquitetura de Computadores Micro-Arquitetura “DDCA” - (Capítulo 7) “COD” - (Capítulo) Review today, not so fast in future

Micro-Arquitetura Micro-Arquitetura Introdução Recursos MIPS Mono-Ciclo Lw Sw R-Type Beq j MIPS Múlti-Ciclos

Introdução Physics Devices Analog Circuits Digital Logic Micro- architecture Architecture Operating Systems Application Software electrons transistors diodes amplifiers filters AND gates NOT gates adders memories datapaths controllers instructions registers device drivers programs Micro-arquitetura: como está implementada a arquitetura em hardware Processador: Datapath: blocos funcionais Controle: sinais de controle

Micro-Arquitetura Múltiplas implementações para uma mesma arquitetura: Single-cycle Cada instrução é executada em um único ciclo Multicycle A execução de cada instrução é dividida em uma série de passos menores Pipelined Múltiplas instruções (parte de) executando ao mesmo tempo.

Micro-Arquitetura Program execution time Definições: Execution Time = (# instructions)(cycles/instruction)(seconds/cycle) Definições: Cycles/instruction = CPI Seconds/cycle = clock period 1/CPI = Instructions/cycle = IPC Desafios na implementação de uma micro-arquitetura Custo Power Desempenho

Micro-Arquitetura Processador MIPS (Microprocessor without Interlolocked Pipeline Stages) Vamos implementar um sub conjunto das instruções MIPS: R-type instructions: and, or, add, sub, slt Memory instructions: lw, sw Branch instructions: beq

Micro-Arquitetura PC 32 registradores Memória Estado da Arquitetura Determina o estado do Processador em um dado instante de tempo PC 32 registradores Memória

Micro-Arquitetura Elementos de estados do MIPS: CLK A RD Instruction Memory A1 A3 WD3 RD2 RD1 WE3 A2 Register File Data WD WE PC PC' 32 5

Processador MIPS Single-Cycle Datapath Controle

Processador MIPS Single-Cycle Execução de lw 1: Fetch da Instrução

Processador MIPS Single-Cycle Execução de lw 2: Lê o operando fonte do RF

Processador MIPS Single-Cycle Execução de lw 3: Sign-extend o imediato

Processador MIPS Single-Cycle Execução de lw 4: Calcula o endereço efetivo de memória

Processador MIPS Single-Cycle Execução de lw 5: Lê o dado da memória e o escreva no RF

Processador MIPS Single-Cycle Execução de lw 6: Determina o endereço da próxima instrução

Processador MIPS Single-Cycle Execução de sw Precisa escrever o valor do registrador na memória

Processador MIPS Single-Cycle Instruções R-Type: add, sub, and, or, …. Escrever ALUResult no RF Escreve em rd e não em rt

Processador MIPS Single-Cycle Instrução beq Determina se os conteúdos dos registradores são iguais Calcula o endereço alvo do desvio (sign-extended immediate + PC+4)

Processador MIPS Single-Cycle - or

Processador MIPS Single-Cycle - sw

Processador MIPS Single-Cycle Unidade de Controle

Processador MIPS Single-Cycle Control Unit

Processador MIPS Single-Cycle ALU F2:0 Function 000 A & B 001 A | B 010 A + B 011 not used 100 A & ~B 101 A | ~B 110 A - B 111 SLT

Processador MIPS Single-Cycle ALU

Processador MIPS Single-Cycle ALU Decoder ALUOp1:0 Meaning 00 Add 01 Subtract 10 Look at Funct 11 Not Used ALUOp1:0 Funct ALUControl2:0 00 X 010 (Add) X1 110 (Subtract) 1X 100000 (add) 100010 (sub) 100100 (and) 000 (And) 100101 (or) 001 (Or) 101010 (slt) 111 (SLT)

Processador MIPS Single-Cycle Decodificador Principal Instruction Op5:0 RegWrite RegDst AluSrc Branch MemWrite MemtoReg ALUOp1:0 R-type 000000 1 10 lw 100011 00 sw 101011 X beq 000100 01

Processador MIPS Single-Cycle Extendendo a Funcionalidade: addi

Processador MIPS Single-Cycle Decodificador Principal Instruction Op5:0 RegWrite RegDst AluSrc Branch MemWrite MemtoReg ALUOp1:0 R-type 000000 1 10 lw 100011 00 sw 101011 X beq 000100 01 addi 001000

Processador MIPS Single-Cycle Extendendo a Funcionalidade: j

Processador MIPS Single-Cycle Extendendo a Funcionalidade: j

Processador MIPS Single-Cycle Decodificador Principal Instruction Op5:0 RegWrite RegDst AluSrc Branch MemWrite MemtoReg ALUOp1:0 Jump R-type 000000 1 10 lw 100011 00 sw 101011 X beq 000100 01 addi 001000 j XX

Processador MIPS Single-Cycle Desempenho: Quão rápido é o processador?

Processador MIPS Single-Cycle O cycle time é limitado pelo caminho crítico: lw

Processador MIPS Single-Cycle Caminho crítico Tc = tpcq_PC + tmem + max(tRFread, tsext) + tmux + tALU + tmem + tmux + tRFsetup Na maioria das implementações os caminhos limitantes são: memória, ALU, register file. Assim, Tc = tpcq_PC + 2tmem + tRFread + 2tmux + tALU + tRFsetup

Processador MIPS Single-Cycle Element Parameter Delay (ps) Register clock-to-Q tpcq_PC 30 Register setup tsetup 20 Multiplexer tmux 25 ALU tALU 200 Memory read tmem 250 Register file read tRFread 150 Register file setup tRFsetup Tc = tpcq_PC + 2tmem + tRFread + 2tmux + tALU + tRFsetup = [30 + 2(250) + 150 + 2(25) + 200 + 20] ps = 950 ps

Processador MIPS Single-Cycle Para um programa 100 bilhões de instruções executando em um processador MIPS single-cycle, Execution Time = (# instructions)(cycles/instruction)(seconds/cycle) = (100 × 109)(1)(950 × 10-12 s) = 95 seconds

Processador MIPS Multicycle Datapath Controle

Processador MIPS Multicycle Blocos Básicos Restrição de Projeto: Somente 1 bloco acima pode ser usado por vez

Processador MIPS Multicycle Datapath datapath para o lw Exemplo: lw $s4, 27($t2) Fetch da Instrução

Processador MIPS Multicycle Leitura do operando fonte do RF (rs)

Processador MIPS Multicycle Sign-Extend o Imediato

Processador MIPS Multicycle Soma do Base Address ao Offset

Processador MIPS Multicycle Carga do dado a partir da Memória

Processador MIPS Multicycle Escrita do Dado no Register File

Processador MIPS Multicycle Incremento do PC de 4

Processador MIPS Multicycle Datapath também para sw

Processador MIPS Multicycle Datapath para instruções R-Type

Processador MIPS Multicycle Datapath para beq

Processador MIPS Multicycle Datapath para o Processador Multicycle

Processador MIPS Multicycle Controle para o Processador Multicycle

Processador MIPS Multicycle Unidade de controle

Processador MIPS Multicycle Unidade de Controle Finite State Machine Diagrama de transição de estados para lw

Processador MIPS Multicycle Fetch da Instrução

Processador MIPS Multicycle Decodificação da Instrução

Processador MIPS Multicycle Cálculo do endereço efetivo

Processador MIPS Multicycle Leitura da Memória e Escrita no RF

Processador MIPS Multicycle Diagrama de transição de estados para sw

Processador MIPS Multicycle Diagrama de transição de estados para R-type

Processador MIPS Multicycle Diagrama de transição de estados para beq

Processador MIPS Multicycle FSM de Controle

Processador MIPS Multicycle Extendendo a Funcionalidade para addi

Processador MIPS Multicycle FSM de Controle para addi

Processador MIPS Multicycle Extendendo a Funcionalidade para j

Processador MIPS Multicycle FSM de Controle para j

Processador MIPS Multicycle Desempenho: Quão rápido é o processador? Instruções gastam números diferentes de ciclos: 3 ciclos: beq, j 4 ciclos: R-Type, sw, addi 5 ciclos: lw O CPI deve ser a média ponderada SPECINT2000 benchmark: 25% loads 10% stores 11% branches 2% jumps 52% R-type Average CPI = (0.11 + 0.2)(3) + (0.52 + 0.10)(4) + (0.25)(5) = 4.12

Processador MIPS Multicycle Caminho Crítico Tc = tpcq_PC + tmux + max(tALU + tmux, tmem) + tsetup

Processador MIPS Multicycle Element Parameter Delay (ps) Register clock-to-Q tpcq_PC 30 Register setup tsetup 20 Multiplexer tmux 25 ALU tALU 200 Memory read tmem 250 Register file read tRFread 150 Register file setup tRFsetup Tc = tpcq_PC + tmux + max(tALU + tmux, tmem) + tsetup = tpcq_PC + tmux + tmem + tsetup = [30 + 25 + 250 + 20] ps = 325 ps

Processador MIPS Multicycle Para um programa que executa 100 bilhões de instruções em um MIPS multicycle, CPI = 4.12 Tc = 325 ps Execution Time = (# instructions) × CPI × Tc = (100 × 109)(4.12)(325 × 10-12) = 133.9 seconds Ele é mais lento do que o MIPS single-cycle (95 segundos). Por que? Os passos não tem o mesmo tamanho Overhead do seqüenciamento de cada passo (tpcq + tsetup= 50 ps)

Revisão: Processador MIPS Single Cycle

Revisão: Processador MIPS Multicycle