Conflitos. Aula de Março de

Tamanho: px
Começar a partir da página:

Download "Conflitos. Aula 9. 31 de Março de 2005 1"

Transcrição

1 Conflitos Aula 9 31 de Março de

2 Estrutura desta aula Taxonomia dos conflitos Dependências entre instruções Conflitos num pipeline Conflitos estruturais Conflitos de dados Conflitos de controlo Ref: Hennessy e Patterson, A2, A4 Patterson e Hennessy, de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

3 Taxonomia dos conflitos 3 diferentes tipos de conflitos ( hazards ) podem atrasar a execução das instruções no pipeline: Conflitos estruturais: uma instrução no pipeline necessita de um recurso que está a ser usado por outra instrução no pipeline Conflitos de dados: uma instrução no pipeline tem a sua execução dependente dos resultados de outras instruções anteriores que estão no pipeline => dependência de instruções que podem ou não gerar conflitos de dados Conflitos de controlo: alterações ao fluxo normal do programa só conhecidas em andares posteriores do pipeline e o fetch de uma instrução é feito no primeiro andar por exemplo, BEQ R1,R2,offset só faz o teste à igualdade ou desigualdade entre R1 e R2 no andar EX do pipeline 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

4 Conflitos estruturais (1) Conflito estrutural quando duas ou mais instruções no pipeline querem utilizar o mesmo recurso de hardware no mesmo ciclo de relógio Exemplos: Um único somador serve para os Branches e para a Múltiplos acessos a uma Memória única Múltiplos acessos à Register File Soluções Provocar uma bolha (stall) no pipeline (veremos à frente como implementar uma bolha) A bolha atrasa a instrução que se segue no pipeline e todas as instruções posteriores (mais à frente no programa) Replicar os recursos de hardware envolvidos no conflito 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

5 Conflitos estruturais (2) Exemplo 1: Sem o ADDER#2, o cálculo do endereço e o processamento aritmético precisariam do acesso À no mesmo ciclo de relógio => obviamente impossível! 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

6 Conflitos estruturais (3) Exemplo 2: Duas instruções precisam de aceder à memória no mesmo ciclo de relógio O conflito apenas existe se a memória for única, como indica o acetato a seguir 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

7 Conflitos estruturais (4) Execução do programa Tempo Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 LW R2,10(R4) R DSUB R5,R6,R7 R DADD R10,R11,R12 R DADD R12,R10,R11 R 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

8 Conflitos estruturais (5) Solução 1: Inserir uma bolha (fazer o stall do pipeline durante 1 ciclo de relógio) Atrasa a instrução que entra no pipeline e todas as que se lhe seguem no programa Pode ser implementada com uma instrução NOP 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

9 Conflitos estruturais (6) Execução do programa Tempo Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 LW R2,10(R4) R DSUB R5,R6,R7 R DADD R10,R11,R12 R STALL (NOP) bubble bubble bubble bubble bubble DADD R12,R10,R11 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

10 Conflitos estruturais (7) Solução 2: Replicar o recurso Esta é a razão pela qual se usam, em geral, duas memórias separadas, uma Memória de Instruções (IM) e uma Memória de Dados (DM) 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

11 Conflitos estruturais (8) Exemplo 3: a Register File é pretendida por duas instruções no pipeline Escrita na Register File em R1 DADD R1,R2,R3 IF ID EX MEM WB... IF ID EX MEM WB... IF ID EX MEM WB SW R2,500(R5) IF ID??? Leitura de R5 da Register File 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

12 Conflitos estruturais (9) Solução 2: Replicar o recurso Usar uma Register File que permita escritas na primeira metade do período de relógio e leituras na segunda metade Fácil de fazer se utilizarmos flip-flops edge-triggered Daqui para a frente, admitiremos que temos sempre esta situação 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

13 Conflitos estruturais (10) Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 DADD R1,R2,R3 R... R... R SW R2,500(R5) R Não há conflito estrutural 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

14 Dependências de dados - RAW Conflitos Read After Write (RAW) A InstrJ tenta ler um operando antes de a InstrI o escrever I: daddi R1,R0,10 J: daddi R4,R1,17 I J RAW R1 Estas dependências são inerentes ao programa, representando o seu fluxo de instruções => dependências verdadeiras Se as instruções forem suficientemente próximas por forma a coexistirem no pipeline, e se nada for feito, existe um conflito de dados que conduz à incorrecta execução da InstrJ 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

15 RAW Outro exemplo (2) Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 DADD R1,R2,R3 R Há RAW DSUB R4,R1,R3 R Não há RAW AND R6,R1,R7 R OR R8,R1,R9 R XOR R10,R1,R11 Reparar como só há RAW se a seta estiver para trás no tempo 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

16 Dependências de nome Dependências que não exigem a produção de resultados Apenas devem preservar a ordem Antidependências Dependências de saída Não são dependências verdadeiras, por isso também se designam por dependências falsas 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

17 Antidependências WAR (1) Conflitos Write After Read (WAR) A InstrI deve ler um operando antes de a InstrJ o actualizar I: daddi R2,R1,10 J: daddi R1,R4,17 I J WAR R1 Conflitos WAR só podem ocorrer em pipelines em que os andares de escrita (em registos ou em memória) antecedem um andar de leitura do mesmo recurso 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

18 Antidependências WAR (2) O pipeline do MIPS, com 5 andares, não pode gerar um conflito WAR porque Todas as instruções usam os 5 andares para serem executadas (mesmo as que só necessitam de 3 ou 4 ciclos de relógio) As leituras só ocorrem no andar 2, ID As escritas são sempre no andar 5, WB 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

19 Dependências de saída WAW (1) Conflitos Write After Write (WAW) A InstrI deve escrever um resultado antes de a InstrJ o actualizar I: daddi R1,R2,10 J: daddi R1,R4,17 I J WAW R1 Conflitos WAW só podem ocorrer em pipelines que escrevem (em registos ou memória) em mais do que um andar O pipeline do MIPS não gera conflitos deste tipo 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

20 Dependências de saída WAW (2) O pipeline do MIPS, com 5 andares, não pode gerar um conflito WAR porque Todas as instruções usam os 5 andares para serem executadas (mesmo as que só necessitam de 3 ou 4 ciclos de relógio) As escritas são sempre no andar 5, WB Veremos mais à frente no curso que os conflitos WAR e WAW ocorrem em pipelines mais complexos, quando existir execução fora de ordem O objectivo, nesses casos, é melhorar o CPI O pipeline do MIPS apenas admite execução em ordem 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

21 RAR? E RAR? RAR não é uma dependência, logo não é geradora de conflitos 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

22 Dependências RAW (1) R4 <--- R1... R1 < I: daddi R1,R0,10 J: daddi R4,R1,17 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

23 Dependências RAW (2)... IF ID EX MEM WB DADDI R1,R0,10 IF ID EX MEM WB DADDI R4,R1,17 IF ID EX MEM... IF ID EX MEM WB... IF ID EX Dependência RAW 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

24 Soluções para as dependências RAW Solução 1: Bloqueio (stall) dos andares do pipeline, até que o dado correcto esteja disponível (este bloqueio também é designado por interlocking) Solução 2: Se o dado correcto existir algures no pipeline, estabelece-se um bypass para o andar correcto (esta técnica também é conhecida por forwarding) Solução 3: o forwarding nem sempre resolve os conflitos RAW, como veremos mais tarde. Nesses casos tem que se usar bloqueio e forwarding Solução 4: escalonar (ordenar) as instruções Escalonamento estático pelo compilador Escalonamento dinâmico pelo hardware 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

25 Bloqueio do pipeline (1) Vamos ver como bloquear o pipeline e, em seguida, vamos passar aos conflitos de controlo O forwarding será estudado mais tarde, para podermos ter uma visão global dos problemas do pipeline típico com 5 andares que estamos a analisar Para que o bloqueio funcione, é necessário que a instrução no andar i+1 possa ser completada sem interferência das instruções nos andares 1 a i Bloqueia-se o pipeline no andar ID inserindo um NOP nesse andar O NOP vai-se propagar no pipeline até ao fim 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

26 Bloqueio do pipeline (2)... IF ID EX MEM WB DADDI R1,R0,10 IF ID EX MEM WB DADDI R4,R1,17 IF stall stall stall ID EX MEM... stall stall stall IF ID EX... stall stall stall IF ID Iremos ver já a seguir como é que o NOP (stall) é inserido no pipeline em ID e se propaga até ao fim 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

27 Bloqueio do pipeline (3) O princípio é o seguinte: Detecta-se a dependência e gera-se feedback para os andares anteriores do pipeline, por forma a fazer o bloqueio das instruções que se encontram nesses andares 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

28 Bloqueio do pipeline (4) Inserção do NOP no andar ID Bloqueio da actualização do PC Bloqueio da instrução no andar ID 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

29 Bloqueio do pipeline (5) I1: DADDI R1,R0,10 I2: DADDI R4,R1,17 I3: I4: I5: Utilização dos recursos 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

30 Bloqueio do pipeline (6) Comparam-se os registos fonte da instrução no andar ID com o registo destino da instrução que está a fazer o WB. Só no WB? E para todas as instruções? 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

31 Bloqueio do pipeline (7) Comparação dos registos fonte e destino para todas as instruções? Nem todas as instruções escrevem num reg. destino we Nem todas as instruções usam registos fonte re Registo destino no andar WB... IF ID EX MEM WB DADDI R1,R0,10 IF ID EX MEM WB DADDI R4,R1,17 IF stall stall stall ID EX MEM... stall stall stall IF ID EX Registo... fonte no andar ID stall stall stall IF ID 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

32 Bloqueio do pipeline (8) Só fazemos bloqueio nestas condições 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

33 Bloqueio do pipeline (9) 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

34 Bloqueio do pipeline (10) Apenas parte do problema! 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

35 Bloqueio do pipeline (11) Vamos ver o que se passa com os Loads e Stores Por exemplo, a sequência de instruções SD R2,7(R1) LD R4,5(R3) gera uma dependência de dados se R1+7 = R3+5 (isto é, se os endereços forem iguais) Contudo, não existe conflito RAW se a Memória de Dados completar as operações de escrita num único ciclo para já, este é o modelo (simplificado) que estamos a usar para a Memória de Dados e de Instruções mas mais à frente no curso iremos ter que que usar um modelo muito mais complexo, quando falarmos em Memória Virtual e caches 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

36 Cálculo do CPI com bloqueios Começar com o CPI de base Adicionar bloqueios (stalls) CPI = CPI CPI stall = base STALL + CPI stall type 1 freqtype 1 + STALLtype 2 freqtype 2 Suponhamos: CPI base =1 Freq branch =20%, freq load =30% Os Branches causam sempre 1 ciclo de stall Os Loads causam um stall com 100 ciclos 1% das vezes Então: CPI = 1 + (1 0.20) + ( ) = de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

37 Conflitos de controlo (1) 304 Um Jump elimina (não bloqueia) a instrução que se segue Como? 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

38 Conflitos de controlo (2) 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

39 Conflitos de controlo (3) 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

40 Conflitos de controlo (4) E os branches? A condição do branch só é conhecida no andar EX. Que acção tomar no andar ID? 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

41 Conflitos de controlo (5) 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

42 Conflitos de controlo (6) br PC de I 3 = de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

43 Conflitos de controlo (7) O sinal de stall tem de vir modificado por causa dos branches que saltam para o endereço alvo Não fazer o stall se o branch se efectuar para o endereço alvo. Porquê? A instrução no andar ID não é válida num BEQZ que salta. Queremos eliminá-la Mas é uma instrução válida no caso de um conflito RAW. Neste caso, queremos apenas bloqueá-la (stall) 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

44 Conflitos de controlo (8) Equações de controlo dos muxs Dar prioridade à instrução mais antiga, a que se encontra no andar EX, sobre a que está no andar ID 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

45 Conflitos de controlo (9) 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

46 Conflitos de controlo (10) Podemos remover uma bolha se usarmos um comparador suplementar no andar ID Nesse caso, o diagrama do pipeline fica igual ao dos Jumps 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

47 Conflitos de controlo (11) Podemos resolver os conflitos de controlo deixando-os para o compilador Muda-se o fluxo de instruções do programa, de modo a que a instrução que se segue a um Jump ou a um Branch é sempre executada O compilador deve escolher a instrução a colocar no slot de atraso, substituindo a bolha que o hardware lá colocaria O slot de atraso vem prenchido com uma instrução que é executada independentemente do resultado do Branch Outra técnica usa Predição de Saltos (Branch Prediction), que pode reduzir significativamente a penalização associada aos Branches para mais tarde no curso 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

48 Forwarding para conflitos RAW (1) Retomemos um exemplo anterior: DADD R1,R2,R3 DSUB R4,R1,R3 AND R6,R1,R7 OR R8,R1,R9 XOR R10,R1,R11 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

49 Forwarding para conflitos RAW (2) Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 DADD R1,R2,R3 R Há RAW DSUB R4,R1,R3 R Não há RAW AND R6,R1,R7 R OR R8,R1,R9 R XOR R10,R1,R11 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

50 Forwarding para conflitos RAW (3) Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 DADD R1,R2,R3 R Há RAW DSUB R4,R1,R3 R AND R6,R1,R7 R OR R8,R1,R9 R XOR R10,R1,R11 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

51 Forwarding para conflitos RAW (4) DADD R1,R2,R3 R Já não há RAW DSUB R4,R1,R3 R AND R6,R1,R7 R OR R8,R1,R9 R XOR R10,R1,R11 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

52 Bypassing (1) Cada bloqueio (stall) ou eliminação (kill) introduz uma bolha no pipeline CPI > 1 Uma modificação do datapath, designado por bypass ou forwarding, pode obter o resultado à saída da e colocá-lo à sua entrada (não precisa de esperar pelo WB) 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

53 Bypassing (2) Acrescentando um bypass 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

54 Bypassing (3) Em que situações é que o bypass ajuda? DADDI R1,R0,10 DADDI R4,R1,17 Sim 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

55 Bypassing (4) Em que situações é que o bypass ajuda? LD R1,10(R0) DADDI R4,R1,17 Não 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

56 Bypassing (5) Em que situações é que o bypass ajuda? JAL 500 DADDI R4,R31,17 Não 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

57 Bypassing (6) Obtenção do sinal de bypass a partir do sinal de stall Estará correcto? Não, porque apenas as instruções e I podem beneficiar deste bypass (apenas consideramos, para já, bypasses provenientes da ) Solução: partir we E em dois componentes, we-bypass e we-stall 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

58 Bypassing (7) Partir we E em dois componentes: we-bypass e we-stall 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

59 Bypassing (8) Datapath completo com bypass Vamos agora considerar bypasses com origem nos andares MEM e WB, para além do andar EX (o bypass anterior) 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

60 Bypassing (9) Datapath completo com bypass 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

61 Bypassing (10) E o sinal de stall? Reduz-se a: Ainda temos de fazer stalls por causa dos Loads (ver 2 acetatos à frente) 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

62 Bypassing (11) Porque é que não conseguimos fazer sair para o exterior do pipeline ( dispatch ) uma instrução em cada ciclo de relógio? Ou seja, Porque é que não conseguimos um CPI = 1? O bypass completo pode ser muito dispendioso Tipicamente, apenas se incluem os caminhos de bypass mais frequentes Alguns caminhos de bypass pouco frequentes podem aumentar a duração do ciclo de relógio, e desta forma diminuir realmente o benefício pretendido da redução do CPI Os Branches podem causar bolhas Temos de eliminar a instrução (ou as duas instruções) que se segue(m) ao Branch, no caso de se efectivar o salto As alternativas são os slots de atraso ou a predição de saltos 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

63 Bypassing (12) Porque é que não conseguimos um CPI = 1? Mesmo com bypass, os Loads têm uma latência igual a 2 ciclos A instrução depois de um Load não pode utilizar o resultado do Load, como vimos atrás 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

64 Conflito de dados, mesmo com forwarding A instrução que se segue a um Load não pode utilizar o resultado do Load, mesmo com bypass LD R1,0(R2) R Há RAW DSUB R4,R1,R3 R Não precisa de forwarding AND R6,R1,R7 R OR R8,R1,R9 Com forwarding não há RAW R 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

65 Próxima aula Excepções Arquitecturas multi-ciclo 31 de Março de 2005 Arquitectura de Computadores 2004/ Aula 9

Caminho dos Dados e Atrasos

Caminho dos Dados e Atrasos Caminho dos Dados e Atrasos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline MIPS O MIPS utiliza um pipeline com profundidade 5, porém

Leia mais

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB 2.3 Dependências de dados (Data Hazards) Ocorre quando uma instrução depende do resultado de outra instrução que ainda está no pipeline. Este tipo de dependência é originado na natureza seqüencial do código

Leia mais

RISC simples. Aula 7. 31 de Março de 2005 1

RISC simples. Aula 7. 31 de Março de 2005 1 RISC simples Aula 7 31 de Março de 2005 1 Estrutura desta aula Principais características dos processadores RISC Estrutura de um processador (MIPS) sem pipeline, de ciclo único O datapath ou circuito de

Leia mais

Implementação de pipelines

Implementação de pipelines Implementação de pipelines João Canas Ferreira Novembro de 2005 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3ª. ed., MKP JCF, 2005 AAC (FEUP/LEIC) Implementação

Leia mais

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Assunto: Pipeline Aula #5 28 Mar 06 Revisão Na implementação

Leia mais

Visão Geral de Pipelining

Visão Geral de Pipelining Pipeline Visão Geral de Pipelining Instruções MIPS têm mesmo tamanho Mais fácil buscar instruções no primeiro estágio e decodificar no segundo estágio IA-32 Instruções variam de 1 byte a 17 bytes Instruções

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline -- Conflito de dados paradas e adiantamentos -- Conflito de controle detecção de desvios e descarte de instruções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno

Leia mais

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ Microarquiteturas de Alto Desempenho Pipeline Gabriel P. Silva Introdução Pipeline é uma técnica de implementação de processadores

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Organização do MIPS: pipeline Visão geral do pipeline Analogia com uma Lavanderia doméstica 1

Leia mais

Pipelining - analogia

Pipelining - analogia PIPELINE Pipelining - analogia Pipelining OBJECTIVO: Aumentar o desempenho pelo aumento do fluxo de instruções Program execution Time order (in instructions) lw $1, 100($0) Instruction fetch ALU Data access

Leia mais

Sequenciamento dinâmico

Sequenciamento dinâmico Sequenciamento dinâmico João Canas Ferreira Outubro de 2004 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3 a. ed., MKP c JCF, 2004 AAC (FEUP/LEIC) Sequenciamento

Leia mais

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores. Ivan Saraiva Silva Arquitetura de Computadores MIPS Pipeline Ivan Saraiva Silva Pipeline 4 pessoas (A, B, C, D) possuem sacolas de roupa para lavar, secar e dobrar A B C D Lavar leva 30 minutos Secar leva 40 minutos Dobrar

Leia mais

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES CAPÍTULO IV AULA II Maio 2014 Índice Processadores Revisões Pipelining Pipeline hazards Hazard estrutural Hazard de dados Hazard de controlo Pipelining datapath Pipelined control

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados

Leia mais

Arquitetura e Organização de Computadores 2

Arquitetura e Organização de Computadores 2 Arquitetura e Organização de Computadores 2 Escalonamento Estático e Arquiteturas VLIW Dynamic Scheduling, Multiple Issue, and Speculation Modern microarchitectures: Dynamic scheduling + multiple issue

Leia mais

Arquitectura de Computadores II

Arquitectura de Computadores II Departamento de Ciências e Tecnologias da Informação Arquitectura de Computadores II Textos de apoio Pipelines Versão 0.02 Junho de 2010 Tomás Brandão. ISCTE-IUL - DCTI 2 Índice 1. ITRODUÇÃO... 5 2. FUCIOAMETO...

Leia mais

Introdução ao Processamento Paralelo

Introdução ao Processamento Paralelo Introdução ao Processamento Paralelo Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Introdução Crescente aumento de desempenho dos PCs (máquinas convencionais). Existem aplicações que requisitam

Leia mais

Infraestrutura de Hardware. Revisão Pipeline, Superescalar e Multicores

Infraestrutura de Hardware. Revisão Pipeline, Superescalar e Multicores Infraestrutura de Hardware Revisão Pipeline, Superescalar e Multicores Pipeline Pipeline é uma técnica que visa aumentar o nível de paralelismo de execução de instruções ILP (Instruction-Level Paralellism)

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64 Arquitecturas Alternativas Pipelining Super-escalar VLIW IA-64 Pipeline de execução A execução de uma instrução passa por várias fases: Vimos o ciclo: fetch, decode, execute fetch decode execute instrução

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline -- Execções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Exceções Exceções (ou interrupções ou falta) Desvio para um endereço que não faz

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

Sistemas Processadores e Periféricos Aula 5 - Revisão

Sistemas Processadores e Periféricos Aula 5 - Revisão Sistemas Processadores e Periféricos Aula 5 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

Revisão dependências de dados

Revisão dependências de dados Revisão dependências de dados Dependências de dados resolvidas com adiantamento (quase sempre) Deve garantir que instruções anteriores escreverão resultado, destino é mesmo que fonte, e instrução anterior

Leia mais

Arquitectura de Computadores II. Exercícios sobre pipelining

Arquitectura de Computadores II. Exercícios sobre pipelining Arqitectra de Comptadores II LESI - 3º Ano Eercícios sobre pipelining Departamento do Informática Universidade do inho Abril 22 Considere o modelo de ma arqitectra IPS com o pipeline da figra em aneo,

Leia mais

Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva

Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva Arquitetura de Computadores - Processadores Superescalares por Helcio Wagner da Silva Introdução O Pipeline é uma técnica desenvolvida para a melhoria do desempenho frente à execução seqüencial de instruções

Leia mais

Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática

Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática Francisco Carlos Silva Junior 1, Ivan Saraiva Silva 1 1 Departamento de Computação Universidade Federal do Piauí (UFPI) Caixa Postal

Leia mais

O Processador: Caminho de Dados e Controle

O Processador: Caminho de Dados e Controle 22 Capítulo 3 O Processador: Caminho de Dados e Controle O desempenho de um computador é determinado por três fatores principais: o número de instruções executadas, o período do clock e o número de ciclos

Leia mais

Execução concorrente de instruções

Execução concorrente de instruções Execução concorrente de instruções Aspectos avançados João Canas Ferreira 2007-10-29 Tópicos de Arquitectura de Computadores Assuntos Tópicos 1 Sequenciamento dinâmico 2 Algoritmo de Tomasulo 3 Previsão

Leia mais

Predição de Desvios e Processadores Superescalares Especulativos

Predição de Desvios e Processadores Superescalares Especulativos Predição de Desvios e Processadores Superescalares Especulativos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Tomasulo Especulativo Se os

Leia mais

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas Conjunto de instruções O Conjunto de Instruções ISA Instruction Set Architecture Alguns conceitos... Linguagem máquina Combinação de 0 s e 1 s organizados segundo palavras que são as instruções que o processador

Leia mais

Execução concorrente de instruções

Execução concorrente de instruções Execução concorrente de instruções Aspectos avançados João Canas Ferreira Outubro de 2010 João Canas Ferreira (FEUP) ILP Outubro de 2010 1 / 58 Assuntos 1 Previsão dinâmica de saltos 2 Sequenciamento dinâmico

Leia mais

Para os problemas seguintes considere os 5 andares de pipelining do MIPS:

Para os problemas seguintes considere os 5 andares de pipelining do MIPS: A. Pipelining Para os problemas seguintes considere os 5 andares de pipelining do MIPS: ETCH () ID (I) EXEC (E) MEM (M) WR (W) Para resolução dos problemas utilize a tabela em anexo, na qual deve indicar

Leia mais

Índice. Tudo! (datapath de um ciclo)

Índice. Tudo! (datapath de um ciclo) Índice Sumário Instrução com atraso maior no datapath de um ciclo. Datapath multiciclo: introdução. 4. O Processador: Unidades de Caminho de Dados e de o 4.1 Diagrama de Blocos de um Processador 4.2 Unidade

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores 1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de

Leia mais

Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano

Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano Arquitetura e Organização de Computadores 1 Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano Objetivo: Apresentar as funções o mecanismo de atuação da

Leia mais

MODOS DE ENDEREÇAMENTO

MODOS DE ENDEREÇAMENTO UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO MODOS DE ENDEREÇAMENTO MARINGÁ 2014 SUMÁRIO 6 MODOS DE ENDEREÇAMENTO...2 6.1 ENDEREÇAMENTO

Leia mais

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2) Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance

Leia mais

Arquitectura de Computadores II. Medição de desempenho

Arquitectura de Computadores II. Medição de desempenho Arquitectura de Computadores II LESI - 3º Ano Medição de desempenho João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Abril 2002 1. Introdução A medição de desempenho pretende

Leia mais

Organização de Computadores 2005/2006 Processamento Paralelo

Organização de Computadores 2005/2006 Processamento Paralelo Organização de Computadores 2005/2006 Processamento Paralelo Paulo Ferreira paf a dei.isep.ipp.pt Maio de 2006 Introdução 2 Porquê?...........................................................................................

Leia mais

MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico

MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Controlo Conjunto de Instruções Unidade Central de Processamento (CPU)

Leia mais

Pipelining. Professor: Carlos Bazilio. Pólo Universitário rio de Rio das Ostras

Pipelining. Professor: Carlos Bazilio. Pólo Universitário rio de Rio das Ostras Pipelining Professor: Carlos Bazilio Contextualizando Após apresentação da arquitetura interna de processadores Memória de Controle Microprograma Linguagem de Máquina... Motivação Idéia Geral Estágios

Leia mais

SSC510 Arquitetura de Computadores. 2ª aula

SSC510 Arquitetura de Computadores. 2ª aula SSC510 Arquitetura de Computadores 2ª aula PROFA. SARITA MAZZINI BRUSCHI CISC E RISC ARQUITETURA MIPS PIPELINE Arquitetura CISC CISC Complex Instruction Set Computer Computadores complexos devido a: Instruções

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Universidade Federal do Pampa Campus-Bagé Arquitetura e Organização de Computadores Aula 2 Revisão de Conceitos e Introdução a Desempenho Prof. Julio Saraçol juliosaracol@gmail.com Slide1 Aula 2 REVISANDO

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Unidade cadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e rquitetura de Computadores I Nível da Microarquitetura (Parte

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 6: 27 de abril de 2010 1 Recaptulando operações já estudadas Operações lógicas 2 3 Exercícios Referências bibliográficas Recaptulando operações já estudadas Operações

Leia mais

Entradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão

Entradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão Entradas/Saídas Programação por interrupções Conceitos gerais Programação da porta série Transmissão Problemas a resolver Como identificar a interrupção? Motivo da interrupção Que rotina executar? Como

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Avaliação de desempenho Introdução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Adaptado do material de aula de Hennessy e Patterson Desempenho Meça,

Leia mais

ArchC. Wesley Nunes Gonçalves

ArchC. Wesley Nunes Gonçalves Implementação do Processador ARM7 em ArchC Wesley Nunes Gonçalves 23 de novembro de 2007 ARM7 Instruções Implementadas O ARM possui 37 registradores, sendo 31 registradores de propósito geral e 6 registradores

Leia mais

7-1. Parte 6 Otimizações da Arquitetura

7-1. Parte 6 Otimizações da Arquitetura 7-1 Parte 6 Otimizações da Arquitetura 7-2 Bibliografia [1] Miles J. Murdocca e Vincent P. Heuring, Introdução à Arquitetura de Computadores [2] Andrew S. Tanenbaum, Modern Operating Systems [3] William

Leia mais

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel O Nível ISA Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel Nível ISA (Instruction Set Architecture) Tipos de dados Inteiros (1, 2, 4 ou 8 bytes) Servem também para representar

Leia mais

Organização e Arquitetura de Computadores. Capítulo 13 Paralelismo no nível de instruções

Organização e Arquitetura de Computadores. Capítulo 13 Paralelismo no nível de instruções Organização e Arquitetura de Computadores Capítulo 13 Paralelismo no nível de instruções O que é Superescalar? As arquiteturas superescalares são aquelas capazes de buscar, decodificar, executar e terminar

Leia mais

Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE

Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE Ano Lectivo: 200/2009 Data: 6 de Janeiro de 2006 INFORMAÇÕES GERAIS Duração: 2h00 1. Mantenha na secretária apenas a sua identificação e uma caneta

Leia mais

Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva

Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM Arquitetura de Computadores II Pipeline Introdução Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal

Leia mais

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Os textos nestas caixas foram adicionados pelo Prof. Joubert William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 4 Memória cache Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Características Localização. Capacidade.

Leia mais

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação. Universidade Federal de Campina Grande Unidade cadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e rquitetura de Computadores I Organização e rquitetura Básicas

Leia mais

Conjunto de Instruções e Arquitectura p.1

Conjunto de Instruções e Arquitectura p.1 Conjunto de Instruções e Arquitectura Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Conjunto de Instruções e Arquitectura p.1 Organização

Leia mais

RISC - Reduced Instruction Set Computer

RISC - Reduced Instruction Set Computer Arquietura MAC 412- Organizãção de Computadores - Siang W. Song Baseado no livro de Tanenbaum - Structured Computer Organization Arquietura Índice 1 Avaliação da arquitetura CISC (microprogramada) Críticas

Leia mais

Componentes do Computador e. aula 3. Profa. Débora Matos

Componentes do Computador e. aula 3. Profa. Débora Matos Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Sistema Operacional Processo e Threads Introdução a Processos Todos os computadores modernos são capazes de fazer várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador pode

Leia mais

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 Introdução à Organização de Computadores Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 Tópicos Processadores Memória Principal Memória Secundária Entrada e

Leia mais

Intel Pentium 4 vs Intel Itanium

Intel Pentium 4 vs Intel Itanium Intel Pentium 4 vs Intel Itanium Tiago Manuel da Cruz Luís Instituto Superior Técnico Grupo 10 53871 tmcl@mega.ist.utl.pt João Miguel Coelho Rosado Instituto Superior Técnico Grupo 10 53929 jmcro@mega.ist.utl.pt

Leia mais

Arquiteturas que Exploram Paralismos: VLIW e Superscalar. Ch9 1

Arquiteturas que Exploram Paralismos: VLIW e Superscalar. Ch9 1 Arquiteturas que Exploram Paralismos: VLIW e Superscalar Ch9 1 Introdução VLIW (Very Long Instruction Word): Compilador empacota um número fixo de operações em uma instrução VLIW As operações dentro de

Leia mais

Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I

Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO Rafael Vargas Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Universidade Federal de Santa Catarina Centro Tecnológico Curso de Pós-Graduação em Ciência da Computação Aula 2 Arquitetura do Processador MIPS: características gerais, registradores, formatos de instrução,

Leia mais

Arquitectura de Computadores II. Multiprocessadores

Arquitectura de Computadores II. Multiprocessadores Arquitectura de Computadores II LESI - 3º Ano Multiprocessadores João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Janeiro 2002 Uma forma lógica de aumentar o desempenho de uma

Leia mais

Ultimate Pipeline Simulator: Simulador do Pipeline do MIPS

Ultimate Pipeline Simulator: Simulador do Pipeline do MIPS Ultimate Pipeline Simulator: Simulador do Pipeline do MIPS Cézar da Cunha Barcellos¹, Henrique Magalhães Simões² Pontifícia Universidade Católica de Minas Gerais {cezar.opaleiro¹, henriquems²}@gmail.com

Leia mais

Funcionamento básico de um computador

Funcionamento básico de um computador Funcionamento básico de um computador Processador Unidade de dados Unidade de controlo Arquitetura de computador básica Linguagem assembly Exemplos Arquitetura de Computadores Funcionamento básico de um

Leia mais

Previsão do Desempenho. AC1 13ª aula Previsão do Desempenho 1

Previsão do Desempenho. AC1 13ª aula Previsão do Desempenho 1 Previsão do Desempenho AC1 13ª aula Previsão do Desempenho 1 De que depende T exec? Um programa necessita de um determinado número de ciclos do CPU para executar (clockcycles). Cada ciclo tem uma duração

Leia mais

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Interrupções. As interrupções são casos especiais de chamadas de procedimentos. Interrupções Uma interrupção é equivalente a uma chamada de procedimento. A chamada é equivalente a um CALL gerado pela execução de uma instrução. As interrupções são casos especiais de chamadas de procedimentos.

Leia mais

Processador ARM Cortex-A9

Processador ARM Cortex-A9 Erick Nogueira Nascimento (032483) Franz Pietz (076673) Lucas Watanabe (134068) 11 de junho de 2012 Introdução Alto desempenho e economia de energia Arquitetura ARMv7-A Características do processador super-escalável

Leia mais

Trabalho sobre Escalonamento Estático

Trabalho sobre Escalonamento Estático Disciplina Arquitetura de Computadores II Bacharelado em Ciência da Computação DCC/IM-UFRJ Prof.: Gabriel P. Silva Data: 05/04/2008 1. Introdução Trabalho sobre Escalonamento Estático O programa Livermore

Leia mais

Introdução. introdução. tópicos. referência. INF1005 Programação I Prof. Hélio Lopes 8/7/12

Introdução. introdução. tópicos. referência. INF1005 Programação I Prof. Hélio Lopes 8/7/12 Introdução INF005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC introdução tópicos modelo de computador o que é um programa um programa na memória decifrando um código referência Capítulo

Leia mais

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir. O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline Todos os estágios devem estar prontos ao mesmo tempo para prosseguir O tempo requerido para mover uma instrução

Leia mais

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar Componentes de um Computador (5) Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) 2007/01 - INF02597 Com slides de Roberta Lima Gomes

Leia mais

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

28/9/2010. Paralelismo no nível de instruções Processadores superescalares Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados

Leia mais

Arquitectura de Computadores Unidade de Processamento

Arquitectura de Computadores Unidade de Processamento Sistemas Digitais Complexos: + Unidade de Controlo (Datapath): Módulo responsável pela execução das operações de processamento de dados. Unidade de Controlo: Módulo responsável pelo controlo da sequência

Leia mais

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy) Capítulo 4 João Lourenço Joao.Lourenco@di.fct.unl.pt Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2007-2008 MARIE (Machine Architecture Really Intuitive and Easy) Adaptado dos transparentes

Leia mais

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Computacionais II Professor Frederico Sauer Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não

Leia mais

Capítulo MC10 Organização Básica de Processadores

Capítulo MC10 Organização Básica de Processadores 1 IC-UNICAMP MC 602 Circuitos Lógicos e Organização Computadores IC/Unicamp Prof Mario Côrtes Capítulo MC10 Organização Básica Processadores Tópicos Níveis abstração Máquina programa armazenado / Von Neumann

Leia mais

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Primeiros computadores digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna Execução de um O executa um Quais os seus componentes? Como estes se organizam e interactuam? entrada de dados processador, memória, input bits periféricos,etc bits saída de dados output Primeiros "es"

Leia mais

Conjunto de. Instrução MIPS. Parte II. Instruções MIPS. Instruções MIPS. Instruções MIPS :: Instruções lógicas. :: Instruções lógicas

Conjunto de. Instrução MIPS. Parte II. Instruções MIPS. Instruções MIPS. Instruções MIPS :: Instruções lógicas. :: Instruções lógicas Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Conjunto de Pae II Transferência de Dados Lógicas Controle Supoe a procedimentos Prof. Sérgio Adaptado dos slides de Sistemas Processadores

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 8: 04 de maio de 2010 1 Formatos de instruções MIPS 2 Endereçamento de operandos imediatos de 32 bits Endereçamento em desvios Modos de endereçamento do MIPS 3

Leia mais

Sistemas Operativos I

Sistemas Operativos I Componentes de um Sistema Operativo Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 Sistema Operativo Um Sistema Operativo pode ser visto como um programa de grande complexidade, responsável

Leia mais

DISCIPLINA: Arquitetura e Organização de Computadores II 2ECOM.027

DISCIPLINA: Arquitetura e Organização de Computadores II 2ECOM.027 DISCIPLINA: Arquitetura e Organização de Computadores II CÓDIGO: 2ECOM.027 Validade: a partir do 1º semestre de 2007 Carga Horária: Total: 0 h/a Semanal: 04 aulas Créditos: 04 Modalidade: Teórica Classificação

Leia mais

Parte Operativa e Parte de Controle do MIPS

Parte Operativa e Parte de Controle do MIPS Capítulo Parte Operativa e Parte de Controle do IPS Ricardo Jacobi niversidade de Brasília Departamento de Ciencia da Computacao Adaptado de Bruno Cunha e Carlos Llanos, IESB Introdução O desempenho de

Leia mais

Curso de Engenharia de Computação DESENVOLVIMENTO DE UM PROCESSADOR RISC EM VHDL

Curso de Engenharia de Computação DESENVOLVIMENTO DE UM PROCESSADOR RISC EM VHDL Curso de Engenharia de Computação DESENVOLVIMENTO DE UM PROCESSADOR RISC EM VHDL José Carlos Pereira Itatiba São Paulo Brasil Dezembro de 2006 ii Curso de Engenharia de Computação DESENVOLVIMENTO DE UM

Leia mais

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento CPU - Significado CPU Central Processing Unit Unidade Central de Processamento CPU - Função Na CPU são executadas as instruções Instrução: comando que define integralmente uma operação a ser executada

Leia mais

28/9/2010. Unidade de Controle Funcionamento e Implementação

28/9/2010. Unidade de Controle Funcionamento e Implementação Arquitetura de Computadores Unidade de Controle Funcionamento e Implementação Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Operação da Unidade de Controle Unidade de controle: parte do

Leia mais

Anotações da 2a Edição

Anotações da 2a Edição Anotações da 2a Edição OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson. Supõe-se que os estudantes tenham noções de lógica digital e linguagem

Leia mais

Professores: Aula 10. Lúcia M. A. Drummond Simone de Lima Martins. Conteúdo: Arquiteturas Avançadas. - Arquiteturas RISC - Processamento Paralelo

Professores: Aula 10. Lúcia M. A. Drummond Simone de Lima Martins. Conteúdo: Arquiteturas Avançadas. - Arquiteturas RISC - Processamento Paralelo 1 Professores: Aula 10 Lúcia M. A. Drummond Simone de Lima Martins Conteúdo: Arquiteturas Avançadas - Arquiteturas RISC - Processamento Paralelo 2 Arquiteturas RISC Reduced Instruction Set Computer se

Leia mais

Nível da Microarquitetura

Nível da Microarquitetura Nível da Microarquitetura (Aula 10) Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Agradecimentos: Camilo Calvi - LPRM/DI/UFES Máquina de Vários Níveis Modernas (ISA)

Leia mais

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 1 Processadores Computador Processador ( CPU ) Memória E/S Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 2 Pastilha 3 Processadores (CPU,, Microcontroladores)

Leia mais

Informática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1

Informática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Informática I Aula 5 http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

INF1004 e INF1005: Programação 1. Introdução à Programação

INF1004 e INF1005: Programação 1. Introdução à Programação INF1004 e INF1005: Programação 1 Introdução à Programação Tópicos Principais Modelo de um Computador Um computador hipotético Ciclo de Desenvolvimento Modelo de um Computador Modelo de um Computador A

Leia mais

Organização e Arquitetura de computadores

Organização e Arquitetura de computadores Organização e Arquitetura de computadores O processador: o caminho de dados e o controle Prof. Dr. Luciano José Senger Introdução O desempenho de um programa depende: Número de instruções (depende do set

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

Microarquiteturas Avançadas

Microarquiteturas Avançadas Univ ersidade Federal do Rio de Janei ro Info rmátic a DCC/IM Arquitetura de Computadores II Microarquiteturas Avançadas Gabrie l P. Silva Introdução As arquiteturas dos processadores têm evoluído ao longo

Leia mais

Reconhecer a estrutura de um sistema operativo. Definir um plano de instalação de um servidor de rede local.

Reconhecer a estrutura de um sistema operativo. Definir um plano de instalação de um servidor de rede local. FICHA TÉCNICA Exercício nº 7 Data de Aplicação 12/02/2009 NOME DO EXERCÍCIO Selecção de Hardware para Rede Local 773 DESTINATÁRIOS Duração Pré Requisitos Recursos / Equipamentos Orientações Pedagógicas

Leia mais