Capítulo 4. O Processador

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

Download "Capítulo 4. O Processador"

Transcrição

1 Capítulo 4 O Processador

2 Introdução Fatores de desempenho da CPU Contagem de instrução Determinado pelo ISA e compilador CPI e tempo de ciclo Determinado pelo hardware da CPU Nós examinaremos duas implementações do MIPS Uma versão simplificada Uma versão de pipeline mais realista Subconjunto simples, mostra a maioria dos aspectos Referência de memória: lw, sw Aritmética/lógica: add, sub, and, or, slt Transferência de controle: beq, j

3 Execução da Instrução (1) Para cada instrução, os dois primeiros passos são idênticos: Envia o contador de programa (PC) para a memória que contém o código busca a instrução a partir daquela memória Lê um ou dois registradores, usando os campos da instrução para selecionar os registradores para ler Para a instrução de carregar a palavra, nós precisamos ler somente um registrador A maioria das outras instruções exigem que se leia dois registradores Após estas etapas, as ações para completar a instrução depende da classe de instrução

4 Execução da Instrução (2) Dependendo da classe de instrução Usa a unidade lógica aritmética (ULA) para calcular Endereço da memória para instruções load/store Resultado aritmético para a execução da operação Comparações para o endereço alvo de desvio Instrução de referência de memória precisa ter acesso a memória para ler/escrever dados Instruções de lógica aritmética deve escrever dados a partir da ULA ou memória no registrador Instruções de desvio precisam alterar o próximo endereço de instrução baseado na comparação PC endereço alvo ou PC + 4

5 Visão Geral da CPU PC+4 Linhas interligando as unidades funcionais representam barramentos Fornece endereço da instrução - endereço de memória (resultado da ULA ou memória no reg.) - resultado aritmético (escreve resultado da ULA no reg.) - comparação (PC e offset do desvio são somados)

6 Multiplexadores Vindo de dois somadores Não pode simplesmente juntar os fios Use multiplexadores ULA / mem. dados reg. / campo imediato da instrução Deve-se acrescentar um elemento lógico que escolhe entre as várias fontes e dirige uma dessas fontes para o seu destino

7 Exercício Considere um pequeno multiplexador com 4 entradas de dados de 1 bit a) Este bloco contém somente lógica, somente flipflops, ou ambos? b) Mostre como este bloco pode ser implementado. Use somente AND, OR, NOT c) Estenda a letra b) com buffers tri-state A intenção do estado Z é permitir que diversos circuitos compartilhem o mesmo barramento de dados, sem afetar umas as outras Entrada Saída A B C 0 0 Z 1 0 Z

8 Controle regs. devem escrever em uma instrução de load e aritmética Memória de dados deve ler em um load e escrever em um store estas operações são dirigidas pelas linhas de controle que são definidas em função de vários campos da instrução

9 Exercício Diferentes instruções utilizam diferentes blocos de hardware na implementação básica do ciclo único Instrução Interpretação a. AND Rd, Rs, Rt Reg[Rd] = Reg[Rs] AND Reg[Rt] b. SW Rt, Offs(Rs) Mem[Reg[Rs] + Offs] = Reg[Rt] a) Quais são os valores dos sinais de controle gerados pelo controle do slide anterior? b) Quais recursos (blocos) executam uma função útil?

10 Fundamentos de Lógica Os dados são codificados em binário Baixa tensão = 0, Alta tensão = 1 Um fio por bit Dados de múltiplos bits codificados em barramentos de mútiplos fios Elemento combinacional Opera em dados Saída é uma função da entrada Elementos de estado (sequencial) Armazena dados

11 Elementos Combinacionais Porta AND Y = A & B Somador Y = A + B A B + Y A B Y Multiplexador Y = S? I1 : I0 Unidade lógica/aritmética Y = F(A, B) I0 I1 M u x Y A ALU Y S B F

12 Elementos Sequenciais (1) Registrador: armazena dados num circuito Usa um sinal de relógio para determinar quando atualizar o valor armazenado Disparado pela borda: atualiza quando Clk muda de 0 para 1 Clk D Q D Q Clk Clk D Q Comentário 0 X Q ant Nenhuma mudança Reseta Seta

13 Elementos Sequenciais (2) Registrador com controle de escrita Somente atualiza na borda do relógio quando a entrada do controle de escrita é 1 Usado quando o valor armazenado é solicitado mais tarde Clk D Write Clk Q Write D Q

14 Metodologia de Relógio Lógica combinacional transforma dados durante ciclos de relógio Entre as bordas do relógio Entrada a partir de elementos de estado, saída para elemento de estado Atraso mais longo determina o período de relógio Uma metodologia de disparo de bordas permite que um elemento de estado possa ser lido e escrito no mesmo ciclo de relógio, sem criar uma corrida que poderia levar a valores de dados indeterminados

15 Construindo Caminho de Dados Caminho de dados Elementos que processam dados e endereços na CPU Registradores, ULAs, muxes, memórias, Nós vamos construir um caminho de dados do MIPS de forma incremental Refinando o design geral Unidade de memória: armazena as instruções de um programa e fornece as instruções dado um endereço Contador de programa (PC): armazena o endereço da instrução atual Somador: incrementa o endereço de PC para o endereço da próxima instrução

16 Busca Instrução Registrador de 32 bits fornece as instruções dado um endereço Incrementa por 4 para próxima instrução

17 Instruções do Format-R Lê dois operandos de registrador (Read Register) Executa operação lógica/aritmética Escreve resultado no registrador (Write Register) No total, tem-se 32 regs (i.e., 2 5 ) Fornece dado a ser escrito no registrador add, sub, AND, OR e slt O barramento da entrada e saída de dados são de 32 bits op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits

18 Instruções de Load/Store Lê operandos do registrador Calcula endereço usando um deslocamento de 16 bits Usa ULA, mas com deslocamento de sinal estendido Load: Lê memória offset ($t2) e atualiza registrador ($t1) Store: Escreve valor do registrador ($t1) para memória offset ($t2) Usado pelo store Soma registrador base ($t2) ao campo offset de 16 bits sinalizado Usado pelo load lw $t1,offset_value($t2) sw $t1,offset_value ($t2)

19 Instruções de Desvio (1) Lê operandos do registrador Compara operandos Usa ULA, subtrai e checa saída Zero Calcula endereço alvo Deslocamento de extensão do sinal Desloca 2 casas para esquerda (aumenta o intervalo efetivo do offset por um fato de 4) Adiciona ao PC + 4 Já calculado pela busca de instrução beq $t1,$t2,offset offset offset de 16 bits sinalizado op rs rt constante ou endereço 6 bits 5 bits 5 bits 16 bits

20 Instruções de Desvio (2) Somente redireciona fios O deslocamento vai jogar fora somente os bits de sinal Usa ULA para avaliar a condição do desvio Um somador para calcular o alvo de desvio como a soma do PC incremento e a extensão do sinal Saída zero é true se os dois valores forem iguais Dobra a quantidade de fios Fio do bit de sinal replicado A unidade shift-left 2 é simplesmente um roteamento dos sinais entre a entrada e saída que adiciona 00 aos bits menos significativos da extensão do sinal de offset

21 Compondo os Elementos O caminho de dados tenta executar todas as instruções em um único ciclo de relógio Nenhum dos recursos do caminho de dados pode ser usado mais de uma vez por cada instrução de modo que, qualquer elemento necessário mais do que uma vez, deve ser duplicado Por isso, precisamos de uma memória de instruções separada da memória de dados Compartilhar elemento do caminho de dados entre duas diferentes classes de instrução Usar multiplexadores e sinal de controle para selecionar entre as múltiplas entradas

22 Caminho de Dados Tipo-R/Load/Store Instruções tipo-r usam dois regs load load/store usam um reg + offset Instruções tipo load/store usam sign-extended O valor armzenado no registrador de destino vem da ULA (p/ uma instrução do tipo-r) ou da memória (p/ um instrução do tipo load) Tipo-R

23 O Caminho de Dados Completo

24 Exercício 1 Quais das seguintes frases estão corretas para uma instrução load? Consulte o slide anterior a) MemtoReg deve ser setado para fazer com que o dado da memória seja enviado para o arquivo de registrador b) MemtoReg deve ser setado para fazer com que o registrador de destino correto seja enviado para o arquivo de registrador c) Nós não nos importamos sobre a definição de MemtoReg para loads

25 Exercício 2 O caminho de dados de ciclo único, descrito conceitualmente até aqui, deve ter memória de instruções e dados separada, porque a) O formato das instruções e dos dados são diferentes no MIPS, e deste modo diferentes memórias são necessárias b) Tendo memórias separadas é menos dispendioso c) O processador opera em um ciclo e não pode usar uma memória de única porta para dois acessos diferentes dentro desse ciclo

26 Exercício 3 Diferentes unidades de execução e blocos de lógica digital têm diferentes latências (tempo necessário para realizar o trabalho). I-Mem Add Mux ULA Regs D-Mem Control a. 200ps 70ps 20ps 90ps 90ps 250ps 40ps b. 750ps 200ps 50ps 250ps 300ps 500ps 300ps Qual é o tempo necessário para executar as instruções AND,LOAD e BEQ? Responda esta questão com base no circuito do slide 8

27 Controle da ULA (1) ULA usada para Load/Store: F = adiciona Desvio: F = subtrai Tipo-R: F = depende do campo funct Controle da ULA Função 0000 AND 0001 OR 0010 add 0110 subtract 0111 set-on-less-than 1100 NOR

28 Controle da ULA (2) Assume ALUOp de 2-bit derivado a partir do opcode Lógica combinacional deriva o controle da ULA opcode ALUOp Operação funct Função da ULA Controle da ULA lw 00 load word XXXXXX add 0010 sw 00 store word XXXXXX add 0010 beq 01 branch equal XXXXXX subtract 0110 R-type 10 add add 0010 subtract subtract 0110 AND AND 0000 OR OR 0001 set-on-less-than set-on-less-than 0111

29 Controle da ULA (3) Tabela da verdade para os 4 bits de controle da ULA As entradas são ALUOp e o campo de código de função Don t care terms = X Os dois primeiros campos do campo de função são sempre 10

30 Controle da ULA (4) Gera os 4 bits de controle baseado nos bits da ALUOp e o código de função

31 Exercício Projete um circuito lógico com três entradas A, B e C, cuja saída será nível alto apenas quando a maioria das entradas for nível alto

32 A Unidade de Controle Principal Sinais de controle derivados a partir da instrução Tipo-R Load/ Store Desvio 0 rs rt rd shamt funct 31:26 25:21 20:16 15:11 10:6 5:0 35 or 43 rs rt endereço 31:26 25:21 20:16 15:0 4 rs rt endereço 31:26 25:21 20:16 15:0 opcode sempre lê lê, exceto p/ load escrita p/ tipo-r e load sign-extend e add

33 Caminho de Dados com Controle

34 Instruções do Tipo-R

35 Instruções Load

36 Instruções Branch-on-Equal

37 Finalizando o Controle (1) A função de controle pode ser precisamente definida usando a seguinte tabela: Instruções do formato-r (add, sub, AND, OR, and slt): Possuem regs fontes rs e rt e reg de destino rd Define como ALUSrc e RegDst são setados Usam RegWrite=1, mas nunca lêem nem escrevem na memória de dados

38 Finalizando o Controle (2) Quando o sinal de controle de branch é zero, o PC é substituído de forma incondicional por PC+4 Caso contrário, o PC é substituído pelo alvo de desvio se a saída Zero da ULA for também alto O campo ALUOp para instruções do tipo-r é setado para 10 para indicar que o controle da ULA deve ser gerado a partir do campo funct Instruções do formato load/store usam ALUSrc e ALUOp para executar o cálculo do endereço MemRead e MemWrite são setados para executar acesso a memória RegDst e RegWrite são setados para um load para fazer com que o resultado seja armazenado em rt

39 Finalizando o Controle (3) A instrução de desvio envia os regs rs e rt para a ULA (similar ao formato-r) ALUOp é setado para uma subtração (Controle da ULA = 01), que é usado para teste de igualdade MemtoReg é irrelevante quando o sinal RegWrite é zero (uma vez que o registrador não está sendo escrito) RegDst é também irrelevante quando RegWrite é 0

40 Finalizando o Controle (4) A função de controle para uma implementação de um único ciclo

41 Finalizando o Controle (5) Implementação estruturada da função de controle

42 Exercício A latência de componentes individuais do caminho de dados afetam o tempo de ciclo de relógio de todo caminho de dados I-Mem Add Mux ULA Regs D-Mem Signextend Shiftleft-2 a. 200ps 70ps 20ps 90ps 90ps 250ps 15ps 10ps b. 750ps 200ps 50ps 250ps 300ps 500ps 100ps 5ps a) Qual é o tempo de ciclo de relógio se somente as instruções do tipo ULA (add, AND, etc.) são executdas? b) Qual é o tempo de ciclo de relógio se somente instruções LW são suportadas? c) Qual é o tempo de ciclo de relógio se somente instruções ADD, BEQ, LW e SW são suportadas?

43 Implementando Jumps Jump endereço 31:26 25:0 Jump usa endereço de palavra Atualiza PC com concatenação de Os 4 bits superiores do PC atual + 4 (estes são os bits 31:28 da instrução de endereço seguinte) Endereço de jump de 26 bits Os bits 00 2 Precisa de um sinal de controle extra (Jump) decodificado a partir do opcode

44 Caminho de Dados com Jumps Adicionados

45 Aspectos de Desempenho Atraso mais longo determina período de relógio Caminho crítico: instrução de load Memória de instrução registrador ULA memória de dados registrador Não é viável variar período para diferentes instruções O ciclo de relógio deve ter a mesma duração para cada instrução neste projeto de ciclo único Viola princípio de projeto Fazendo o caso comum rápido Melhorar o desempenho através do pipeline

46 Analogia do Pipeline Lavanderia pipelined: sobreposição de execução Paralelismo melhora o desempenho Quatro cargas: Aceleração = 8/ Dependendo do número de cargas, aceleração pode ser igual ao número de estágios no pipeline

47 Pipeline do MIPS Cinco estágios, um passo por estágio 1. IF: Busca instrução da memória 2. ID: Decodifica instrução & lê registrador 3. EX: Executa operação ou calcula endereço 4. MEM: Acessa o operando de memória 5. WB: Escreve o resultado de volta para o registrador

48 Desempenho do Pipeline (1) Suponha que o tempo para os estágios é: 100ps para escrita e leitura do registrador 200ps para os outros estágios Compara um caminho de dados com pipeline e com único ciclo Instr Busca Instr Leitura do reg Operação ULA Acesso a memória Escrita do reg Tempo total lw 200ps 100 ps 200ps 200ps 100 ps 800ps sw 200ps 100 ps 200ps 200ps 700ps R-format 200ps 100 ps 200ps 100 ps 600ps beq 200ps 100 ps 200ps 500ps

49 Desempenho do Pipeline (2) Único ciclo (T ciclo = 800ps) Pipeline (T ciclo = 200ps)

50 Aceleração do Pipeline Se todos os estágios estiverem balanceados i.e., todos têm o mesmo tempo Tempo entre instruções pipelined = Tempo entre instruções nonpipelined Número de estágios Se não estiver balanceado, aceleração é menor Aceleração devido ao aumento da taxa de transferência (throughput) T p = 800ps = 160ps 5 Latência (tempo para cada instrução) não diminui Sob condições ideais e com um grande número de instruções, a aceleração (com o pipeline) é igual ao número de estágios

51 Pipelining e Projeto do ISA ISA do MIPS foi projetado para pipelining Todas as instruções são de 32 bits Mais fácil de buscar e decodificar em um ciclo c.f. x86: instruções de 1 byte a 17 bytes Implementações recentes do x86 traduzem as instruções em operações mais simples, parecido com o MIPS Poucos e regulares formatos de instruções e.g., o campo dos registradores fontes estão sempre localizados no mesmo lugar em cada instrução Pode decodificar e ler registradores em um passo Endereçamento de load/store Operandos de memória somente aparecem no load/store Pode calcular endereço no 3 rd estágio, acessar memória no 4 th estágio Alinhamento de operandos de memória Acesso a memória leva somente um ciclo

52 Perigos Situações que impeçam de iniciar a próxima instrução no próximo ciclo Perigo estrutural O hardware não suporta a combinação de instruções que desejamos executar no mesmo ciclo de relógio Um recurso necessário está ocupado Perigo de dados Precisa esperar pela instrução anterior para completar a sua leitura / escrita de dados Perigo de controle Decidir sobre a ação de controle depende da instrução anterior

53 Perigo Estrutural (1) Conflito por utilização de um recurso e.g., usar uma combinação de máquina de lavar e secar em vez de uma lavadora e secadora separado No pipeline do MIPS, suponha uma única memória e uma quarta instrução No mesmo ciclo, uma instrução estaria acessando o dado da memória, enquanto a quarta instrução estaria buscando uma instrução da mesma memória

54 Perigo Estrutural (2) Load/store exigem acesso aos dados Busca da instrução teria que parar para aquele ciclo Causaria uma bolha no pipleline Deste modo, o caminho de dados no pipeline exige memórias de instruções e dados separados Caso contrário, pode-se ter um perigo estrutural Ocorre quando uma instrução planejada não pode executar no ciclo de relógio apropriado, pois o hardware não suporta a combinação de instruções que são definidas para executar

55 Perigo de Dados Uma instrução depende da conclusão do acesso de dados por uma instrução anterior add $s0, $t0, $t1 sub $t2, $s0, $t3 Não escreve o resultado até o quinto estágio Desperdiçaria 3 ciclos de relógio

56 Emcaminhamento (Bypassing) Usar resultado quando estiver calculado Não esperar para ser armazenado em um registrador Assim que a ULA produz a soma, pode-se fornecer o resultado como entrada para a subtração Exige conexões extras no caminho de dados

57 Perigo de Dados no Uso do Load Nem sempre é possível evitar atrasos através do encaminhamento Se o valor não for calculado, quando necessário Não é possível encaminhar para trás no tempo! Disponível somente depois do quarto estágio Ainda existe atraso de um estágio

58 Escalonamento para Evitar Atrasos Reordenar o código para evitar o uso de resultados do load na próxima instrução Código C para A = B + E; C = B + F; parada parada lw $t1, 0($t0) lw $t2, 4($t0) add $t3, $t1, $t2 sw $t3, 12($t0) lw $t4, 8($t0) add $t5, $t1, $t4 sw $t5, 16($t0) 13 ciclos lw $t1, 0($t0) lw $t2, 4($t0) lw $t4, 8($t0) add $t3, $t1, $t2 sw $t3, 12($t0) add $t5, $t1, $t4 sw $t5, 16($t0) 11 ciclos

59 Perigos de Controle Precisa realizar uma decisão baseado nos resultados de uma instrução Enquanto as demais estão executando Desvio determina o fluxo de controle Busca pela próxima instrução depende do resultado do desvio No pipeline nem sempre é possível buscar a próxima instrução logo após uma instrução de desvio Pois o processador ainda estará trabalhando no estágio ID do desvio No pipeline do MIPS Precisa comparar registradores e calcular alvo no início do pipeline Adicionar hardware para fazê-lo no estágio do ID

60 Parada no Desvio Espera até que o resultado do desvio seja determinado Antes de buscar a próxima instrução para executar Hardware extra para testar regs, calcular o endereço de desvio e atualizar o PC no segundo estágio do pipeline

61 Previsão de Desvio Pipelines mais longos não podem facilmente determinar o resultado do desvio mais cedo Pena por parada torna-se inaceitável Prever o resultado do desvio Prevê sempre que os desvios não serão tomados Apenas pára se a previsão estiver errada Caso contrário, o pipeline continua na velocidade máxima No pipeline do MIPS Pode prever desvios que não foram tomados Busca instrução depois do desvio, sem atraso

62 MIPS com Previsão Previsão correta Quando o desvio não é realizado Previsão incorreta Quando o desvio é realizado

63 Previsão de Desvio mais Realística Previsão de desvio estático Baseado no comportamento de desvio típico Exemplo: desvios de laço e instruções if Laços são desvios que pulam para o topo do laço uma vez que são susceptíveis de serem tomados e que se desviam para trás, poderia prever que os desvios são tomados e que pulam para um endereço anterior Previsão de desvio dinâmico Hardware mensura o comportamento real do desvio e.g., registra história recente de cada desvio Assume que o comportamento futuro continuará a tendência Quando errado, pára enquanto busca instrução, e atualiza história

64 Resumo de Pipeline The BIG Picture Pipeline melhora o desempenho, aumentando a taxa de instrução Executa múltiplas instruções em paralelo Cada instrução tem a mesma latência Não reduz o tempo que uma instrução individual leva para completar Sujeio a riscos Estrutura, dado e controle Projeto do conjunto de instrução afeta a complexidade da implementação do pipeline

65 Exercício 1 Examinaremos como pipeline afeta o tempo de ciclo do processador. Assuma as seguintes latências de cada estágio individual: IF ID EX MEM WB a. 250ps 350ps 150ps 300ps 200ps b. 200ps 170ps 220ps 210ps 150ps a) Qual é o tempo de ciclo de relógio em um processador com e sem pipeline? b) Qual é o tempo entre instruções (T p )? c) Qual é o desempenho de três instruções LW indep. em um processador com e sem pipeline?

66 Exercício 2 Para as seguintes instruções, assuma que elas são executadas em um caminho de dados com 5 estágios de pipeline a) ADD R5, R2, R1 LW R3, 4(R5) LW R2, 0(R2) OR R3, R5, R3 SW R3, 0(R5) b) LW R2, 0(R1) AND R1, R2, R1 LW R3, 0(R2) LW R1, 0(R1) SW R1, 0(R2) a) Quais são os perigos que podemos encontrar? b) Como eles podem ser resolvidos?

67 Exercício 3 Para cada sequência de código abaixo, declare se o mesmo deve parar, pode evitar paradas usando encaminhamento ou pode executar sem parar ou encaminhar Sequência 1 lw $t0, 0($t0) add $t1, $t0, $t0 Sequência 2 add $t1, $t0, $t0 addi $t2, $t0, #5 addi $t4, $t1, #5 Sequência 3 addi $t1, $t0, #1 addi $t2, $t0, #2 addi $t3, $t0, #2 addi $t3, $t0, #4 addi $t5, $t0, #5

68 Caminho de Dados - Pipeline do MIPS Perigo de dados apenas as instruções posteriores no pipeline são influenciadas por esses movimentos de dados reverso MEM Fluxo da direita para a esquerda leva a riscos WB Instruções e dados se movem geralmente da esquerda para direita através dos cinco estágios Perigo de controle

69 Registradores do Pipeline Precisa de registradores entre estágios Para manter a informação produzida no ciclo anterior Analogia com a lavanderia: Ter um cesto entre cada par de estágios para guardar as roupas para o próximo passo

70 Operação do Pipeline Fluxo ciclo-por-ciclo de instruções através do caminho de dados com pipeline Diagrama do pipeline com ciclo de relógio único Mostra o uso do pipeline num único ciclo Destaca recursos utilizados c.f. diagrama de mútiplos ciclos de relógio Gráfico de operações ao longo do tempo Nós vamos olhar para os diagramas de ciclo de relógio único para o load & store Pois os mesmos são ativos em todos os cincos estágios

71 IF para o Load, Store, O endereço incrementado é salvo no registrador IF/ID caso seja necessário para uma instrução posterior (e.g., beq) Destaca a metade direita quando está sendo lido e destaca a metade esquerda quando está sendo escrito

72 ID para o Load, Store, Escreve no registrador ID/EX o valor de PC incrementado, os dois registradores e o sinal estendido Destaca a metade direita quando está sendo lido e destaca a metade esquerda quando está sendo escrito

73 EX para o Load Lê o conteúdo do reg. 1 e o sinal estendido a partir do reg. ID/EX e os adiciona usando a ULA Destaca a metade direita quando está sendo lido e destaca a metade esquerda quando está sendo escrito O resultado da soma é colocado no reg. EX/MEM

74 MEM para o Load Lê a memória de dados usando o endereço a partir do reg. EX/MEM e carrega o dado no reg. MEM/WB Destaca a metade direita quando está sendo lido e destaca a metade esquerda quando está sendo escrito

75 WB para o Load Lê o dado a partir do reg. MEM/WB e o escreve no registrador mostrado no meio da figura Número do registrador incorreto A instrução no reg. IF/ID fornece o número do registrador de escrita; esta informação ocorre consideravelmente depois da instrução de load

76 Caminho de Dados Corrigido para o Load O número do registrador de escrita agora vem a partir do reg. MEM/WB juntamente com o dado O número do registrador é passado a partir do estágio do ID até alcançar o reg/ MEM/WB

77 EX para o Store O endereço efetivo é colocado no registrador EX/EM Destaca a metade direita quando está sendo lido e destaca a metade esquerda quando está sendo escrito

78 MEM para o Store Mostra o dado sendo escrito na memória A única maneira de ter o dado disponível durante o estágio MEM é colocar o dado no EX/MEM no estágio EX Destaca a metade direita quando está sendo lido e destaca a metade esquerda quando está sendo escrito

79 WB para o Store Nada acontece no ciclo do write-back, pois cada instrução atrás do store já está em progresso (não existe maneira de acelerar aquelas instruções) Destaca a metade direita quando está sendo lido e destaca a metade esquerda quando está sendo escrito

80 Diagrama de Pipeline de Múltiplos-Ciclos Pipeline é difícil de entender, pois várias instruções estão executando simultaneamente Destaca a metade direita quando está sendo lido e destaca a metade esquerda quando está sendo escrito Mostra o uso de recursos

81 Diagrama de Pipeline de Múltiplos-Ciclos Forma tradicional (usa o nome em cada estágio em vez do uso de recursos)

82 Diagrama de Pipeline de um Único Ciclo Estado do pipeline em um dado ciclo Diagrama correspondente ao ciclo de relógio (CC) 5

83 Controle do Pipeline (Simplificado) identificação dos sinais de controle em azul

84 Controle do Pipeline (1) Podemos dividir as linhas de controle em cinco grupos de acordo com o estágio do pipeline IF: Sinais de controle para ler a memória de instrução e escrever no PC (não existe controle especial) ID: Como no estágio anterior, a mesma coisa acontece em todo ciclo de relógio EX: Os sinais para setar são RegDst, ALUOp e ALUSrc MEM: Os sinais para setar são Branch, MemRead e MemWrite WB: Os dois sinais de controle são MemtoReg e RegWrite

85 Controle do Pipeline (2) Sinais de controle derivados a partir da instrução Como uma implementação de ciclo único O PC é escrito em cada ciclo de relógio Não existem sinais de escrita separados para os registradores de pipeline (IF/ID, ID/EX, EX/MEM e MEM/WB), pois os registradores são escritos durante cada ciclo de relógio

86 Controle do Pipeline (3) EX: RegDst, ALUOp e ALUSrc MEM: Branch, MemRead e MemWrite WB: MemtoReg e RegWrite

87 Perigo de Dados em Instruções da ULA Considere a seguinte sequência de código: As últimas 4 instruções são dependents do resultado no registrador $2 sub $2, $1,$3 and $12,$2,$5 or $13,$6,$2 add $14,$2,$2 sw $15,100($2) Nós podemos resolver perigos com o encaminhamento Como é que podemos detectar quando encaminhar?

88 Dependências & Encaminhamento O valor apropriado do reg. $2 só está disponível no CC5

89 Detectar a necessidade de encaminhamento (1) Passe o número dos registradores ao longo do pipeline e.g., ID/EX.RegisterRs = número do registrador para Rs definido no registrador do pipeline ID/EX Os números do registrador do operando da ULA no estágio EX são dados por ID/EX.RegisterRs, ID/EX.RegisterRt Perigo de dados quando 1a. EX/MEM.RegisterRd = ID/EX.RegisterRs 1b. EX/MEM.RegisterRd = ID/EX.RegisterRt 2a. MEM/WB.RegisterRd = ID/EX.RegisterRs 2b. MEM/WB.RegisterRd = ID/EX.RegisterRt Enc. a partir do reg. pipeline EX/MEM Enc. a partir do reg. pipeline MEM/WB

90 Detectar a necessidade de encaminhamento (2) Mas somente se a instrução de encaminhamento for escrever no registrador! EX/MEM.RegWrite, MEM/WB.RegWrite E somente se Rd para aquela instrução não for $zero EX/MEM.RegisterRd 0, MEM/WB.RegisterRd 0 No nosso exemplo, temos um perigo quando a instrução add está no estágio EX e a instrução anterior está no estágio MEM (condição 1a) EX/MEM.RegisterRd = ID/EX.RegisterRs=$2

91 Exercício 1 Neste exercício, desenhe o diagrama de execução do pipeline para este código: Sequência de código 1 lw $t0, 1200($t1) add $t0, $s2, $t0 sw $t0, 1200($t1) Sequência de código 2 Label1: LW R2, 0(R2) BEQ R2, R0, Label1; taken once, then not taken OR R2, R2, R3 SW R2, 0(R5) Assuma um processador com pipeline de 5 estágios, encaminhamento completo, previsor de desvio

92 Exercício 2 Classifique as dependências nesta sequência: sub $2, $1, $3 and $12, $2, $5 or $13, $6, $2 add $14, $2, $2 sw $15, 100($2)

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas:

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas: CAPÍTULO 5 PIPELINE Introdução Ciclo único versus pipeline Projetando o conjunto de instruções Pipeline Hazards Caminho de dados usando o pipeline Diagramas de Pipeline Controle do Pipeline Hazard de dados

Leia mais

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE Introdução Uma implementação MIPS básica Sinopse da implementação Sinais de controle Multiplexadores (muxes) Implementação monociclo Metodologia de clocking Construindo

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Cap. 06 Pipeline Prof. M.Sc. Bruno R. Silva Plano de aula Visão geral de pipelining Um caminho de dados usando pipelie Controle de um pipeline Hazards de dados e forwarding

Leia mais

ção de Computadores II

ção de Computadores II Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores II Aula 2 2. MIPS monociclo:

Leia mais

O Processador: Via de Dados e Controle

O Processador: Via de Dados e Controle O Processador: Via de Dados e Controle Ch5A Via de Dados e Controle Implementação da arquitetura MIPS Visão simplificada de uma arquitetura monociclo Instruções de memória: lw, sw Instruções lógicas aritméticas:

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

Exercícios resolvidos (aula de 4 de Maio) Resolução:

Exercícios resolvidos (aula de 4 de Maio) Resolução: Exercícios resolvidos (aula de 4 de Maio) 1. Um microprocessador gera endereços de memória de 14 bits. Desenhe um mapa de memória dos seus endereços de memória fronteira especificados em hexadecimal. Uma

Leia mais

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n

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

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Arquiteturas de Computadores Turma :A1 Lista 1 Profa.: Simone Martins 1. Tentando projetar o futuro: a) Em

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

Sistemas de Computação. Instruções de Linguagem de Máquina

Sistemas de Computação. Instruções de Linguagem de Máquina Instruções de Linguagem de Máquina Linguagem de montagem do processador MIPS Operações aritméticas Instrução Exemplo Significado soma add a, b, c a = b + c subtração sub a, b, c a = b - c Compilação de

Leia mais

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aulas 06 e 07 Superescalaridade 1. Introdução princípios

Leia mais

Pipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap.

Pipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. Pipelines João Canas Ferreira Mar-Abr 2004 Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. 6) c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 1/52 Conceitos básicos

Leia mais

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

Sistemas Processadores e Periféricos Aula 2 - Revisão Sistemas Processadores e Periféricos Aula 2 - 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

Tiago Alves de Oliviera

Tiago Alves de Oliviera Tiago Alves de Oliviera 1 Capítulo 6 do Livro do Mario Monteiro Capítulo 5 (5.1, 5.2, 5. e 5.4) do Livro do Patterson 2 Processador executa instruções CPU (central processing unit) UCP (unidade central

Leia mais

Organização de Computadores μarquitetura. Na Aula Anterior... Introdução. Nesta Aula. MIPS-Monociclo. Formas de Organização 17/10/2016

Organização de Computadores μarquitetura. Na Aula Anterior... Introdução. Nesta Aula. MIPS-Monociclo. Formas de Organização 17/10/2016 GBC06 Arq. e Org. de Computadores I 17/10/2016 Organização de Computadores μarquitetura Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior...

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

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo

Leia mais

Implementação da UCP. Construção do caminho de dados Controle Implementação monociclo. Organização de Computadores

Implementação da UCP. Construção do caminho de dados Controle Implementação monociclo. Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo Conceitos Gerais para Implementação do Processador Conceito de caminho de dados e controle Caminho dos bits de instrução

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

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

Aula 21: UCP: Instrução Jump, Monociclo vs. Multiciclo, Pipeline

Aula 21: UCP: Instrução Jump, Monociclo vs. Multiciclo, Pipeline Aula 21: UCP: Instrução Jump, Monociclo vs Multiciclo, Pipeline Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline

Leia mais

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é 1. A pastilha do processador Intel 80486 possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é organizado com mapeamento associativo por conjuntos de quatro

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

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani) Arquitetura de Computadores Professor: Vilson Heck Junior (Material: Douglas Juliani) Agenda Conceitos Componentes Funcionamento ou tarefas Otimização e desempenho Conceitos Componente de Hardware que

Leia mais

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Somar e subtrair Mover um dado de um local de armazenamento para outro Transferir um dado para um dispositivo

Leia mais

Organização e Projetos de Computadores. Capítulo 2. Organização e Projetos de Computadores. Instruções

Organização e Projetos de Computadores. Capítulo 2. Organização e Projetos de Computadores. Instruções Capítulo 2 Hennessy Patterson 1 Instruções Linguagem da máquina Vamos trabalhar com a arquitetura do conjunto de instruções MIPS (Micrrocessor without interlocked pipeline stages Micrrocessador sem estágios

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 10ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Dependências ou Conflitos (Hazards) Conflitos Estruturais Pode haver acessos simultâneos à memória

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 12 Estrutura e função do processador slide 1 Estrutura da CPU CPU precisa: Buscar instruções. Interpretar instruções. Obter

Leia mais

AULA DE REVISÃO 3 ILP

AULA DE REVISÃO 3 ILP AULA DE REVISÃO 3 ILP Exercício 1: Considere um bloco de código com 15 instruções cada uma com tempo de execução Tex. Elas são executadas numa unidade pipeline de 5 estágios. Os overheads do pipeline são

Leia mais

Organização de Sistemas de Computadores

Organização de Sistemas de Computadores Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =

Leia mais

Conceitos Básicos Processador

Conceitos Básicos Processador Infra-Estrutura de Hardware Conceitos Básicos Processador Prof. Edilberto Silva www.edilms.eti.br edilms@yahoo.com Sumário Conceitos básicos Organização da CPU Execução das Instruções RISC x CISC Paralelismo

Leia mais

Aula 16: UCP: Conceitos Básicos e Componentes

Aula 16: UCP: Conceitos Básicos e Componentes Aula 16: UCP: Conceitos Básicos e Componentes Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 1 / 34

Leia mais

CPU Implementação. Multiciclo. Prof. Carlos Bazilio

CPU Implementação. Multiciclo. Prof. Carlos Bazilio CPU Implementação Multiciclo Prof. Carlos Bazilio bazilio@ic.uff.br Até então, tínhamos t... Problemas com Implementação Monociclo Ciclo de clock tem o mesmo tamanho para todas as instruções implementadas;

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 2ª e 3ª Aulas Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Arquitetura MIPS MIPS: Microprocessor

Leia mais

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture Registradores na Arquitetura MIPS 29/4/2016 MIPS - Instruction Set Architecture 1 Mapa de Memória da Arq. MIPS 2 GB 2 GB 256 MB 64 KB 2 GB 64 KB 256 4 MB 4 MB 29/4/2016 MIPS - Instruction Set Architecture

Leia mais

O Porcessador: Via de Dados e Controle (Parte B: multiciclo) 1998 Morgan Kaufmann Publishers Ch5B 1

O Porcessador: Via de Dados e Controle (Parte B: multiciclo) 1998 Morgan Kaufmann Publishers Ch5B 1 O Porcessador: Via de Dados e Controle (Parte B: multiciclo) 998 organ Kaufmann Publishers Ch5B Abordagem ulticiclo Dividir a instrução em passos, cada passo corresponde a um ciclo Balancear a quantidade

Leia mais

Processador: Conceitos Básicos e Componentes

Processador: Conceitos Básicos e Componentes Processador: Conceitos Básicos e Componentes Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF)

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira julianasteixeira@hotmail.com INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

X Y Z A B C D

X Y Z A B C D 29) A seguinte tabela verdade corresponde a um circuito combinatório de três entradas e quatro saídas. Obtenha a tabela de programação para o circuito em um PAL e faça um diagrama semelhante ao apresentado

Leia mais

Data Path / Control Path Controle do MIPS

Data Path / Control Path Controle do MIPS Organização e Arquitetura de Computadores Unidade de Controle Uniciclo A unidade de controle deve, a partir do código da instrução, fornecer os sinais que realizam as instruções na unidade operativa. Sequência

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Conhecida como Processador ou é o cerebro do computador Unifica todo sistema e

Leia mais

Instruções de Máquina

Instruções de Máquina Instruções de Máquina Operação básica (primitiva) que o hardware é capaz de executar diretamente Conjunto de bits que indica ao processador uma operação que ele deve realizar O projeto de um processador

Leia mais

Aula 15: Ciclo de Execução e Introdução ao Pipeline

Aula 15: Ciclo de Execução e Introdução ao Pipeline Aula 15: Ciclo de Execução e Introdução ao Pipeline Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Ciclo de Execução; Intro ao Pipeline FAC

Leia mais

Arquitetura de Computadores. Ciclo de Busca e Execução

Arquitetura de Computadores. Ciclo de Busca e Execução Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções

Leia mais

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador. Universidade Estácio de Sá Curso de Informática Disciplina de Organização de Computadores II Prof. Gabriel P. Silva - 1 o Sem. / 2005 2 ª Lista de Exercícios 1) O que é o relógio de um sistema digital?

Leia mais

Unidade Central de Processamento UCP (CPU)

Unidade Central de Processamento UCP (CPU) Unidade Central de Processamento UCP (CPU)! Arquitetura Convencional (Von Neumann) UCP BARRAMENTO MEMÓRIA PRINCIPAL ENTRADA E SAÍDA ! Visão geral da CPU UC - UNIDADE DE CONTROLE REGISTRADORES A B C D ALU

Leia mais

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio ARQUITETURA DE COMPUTADORES Organização de Sistemas Computacionais Prof.: Agostinho S. Riofrio Agenda 1. Unidade Central de Processamento 2. Organização da CPU 3. Interpretador 4. RISC x CISC 5. Principios

Leia mais

Arquitetura e Organização de Processadores. Aula 3. Processador MIPS Bloco operacional

Arquitetura e Organização de Processadores. Aula 3. Processador MIPS Bloco operacional niversidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação rquitetura e Organização de Processadores ula 3 Processador IPS loco operacional CP237 1. loco

Leia mais

Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho

Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho 1 Melhorando o Desempenho com Pipelining Baseado nas anotações do Livro do Hennessey & Patterson e no material do Prof. José Luís

Leia mais

Organização de computadores. Aula 05

Organização de computadores. Aula 05 Organização de computadores Aula 05 2 Níveis de um computador Computadores possuem uma série de níveis Cada um construído sobre seus antecessores Cada um representa uma abstração distinta com diferentes

Leia mais

Organização e Arquitetura de Computadores INTRODUÇÃO

Organização e Arquitetura de Computadores INTRODUÇÃO Organização e Arquitetura de Computadores INTRODUÇÃO A Arquitetura de Computadores trata do comportamento funcional de um sistema computacional, do ponto de vista do programador (ex. tamanho de um tipo

Leia mais

ção de Computadores I

ção de Computadores I Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 4 1. Projeto da Arquitetura

Leia mais

ção de Computadores I

ção de Computadores I Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 2 1. Projeto da Arquitetura

Leia mais

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos

Leia mais

Organização de Sistemas Computacionais Processadores: Organização da CPU

Organização de Sistemas Computacionais Processadores: Organização da CPU Universidade Paulista UNIP Curso: Ciências da Computação Turma: CCP30 Turno: Noturno Disciplina: Arquitetura de Computadores Professor: Ricardo Loiola Alunos: Thiago Gomes dos Santos Matrícula: C63873-0

Leia mais

Melhorando o Desempenho com Pipelining

Melhorando o Desempenho com Pipelining Melhorando o Desempenho com Pipelining Baseado nas anotações do Livro do Hennessey & Patterson e no material do Prof. José Luís Güntzel [www.ufpel.edu.br/~guntzel/aoc2/aoc2.html] 1 Relembrando desempenho...

Leia mais

3 a Lista de Exercícios

3 a Lista de Exercícios Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Ciências da Computação INE 5406 - Sistemas Digitais - semestre 2010/2 Prof. José Luís Güntzel guntzel@inf.ufsc.br

Leia mais

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR ELETRÔNICA DIGITAL II AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR acjunior@facthus.edu.br 1º SEMESTRE 2009 CONTEÚDO PROGRAMADO: 1 O que é um computador digital? 2 Como funcionam os computadores 3 O agente

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores

Leia mais

UM PROCESSADOR SIMPLES

UM PROCESSADOR SIMPLES UM PROCESSADOR SIMPLES Versão 2013 RESUMO Esta experiência tem como objetivo o desenvolvimento do projeto de um núcleo de um processador simples. Na parte experimental este projeto deverá ser sintetizado

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

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof.

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. EA869 Pipeline Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Objetivos Conhecer técnicas de como melhorar o desempenho de um processador.

Leia mais

Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Linguagem de Montagem Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO 1 Introdução Independente da linguagem de programação utilizada, todo programa

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

Leia mais

Microprocessadores. Execução em Paralelo Pipelines

Microprocessadores. Execução em Paralelo Pipelines Execução em Paralelo Pipelines António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Pipelines de Instrucções Instrucções são divididas em diferentes Estágios Pipelines

Leia mais

Figura 1. Datapath do MIPS Superescalar Especulativo CES SE

Figura 1. Datapath do MIPS Superescalar Especulativo CES SE Especificação do Projeto Simulador MIPS Superescalar Especulativo CES- 25 Arquiteturas para Alto Desempenho Prof. Paulo André Castro Equipe: até quatro alunos 1. Objetivo Exercitar e fixar conhecimentos

Leia mais

Processador. Processador

Processador. Processador Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1 Processador Organização básica de um computador: 2 Processador

Leia mais

Prof. Frank Sill Torres DELT Escola de Engenharia UFMG

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

Leia mais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

SSC0112 Organização de Computadores Digitais I

SSC0112 Organização de Computadores Digitais I SSC0112 Organização de Computadores Digitais I 3ª Aula Visão Geral e Conceitos Básicos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Copyright William Stallings & Adrian J Pullin Tradução, revisão e

Leia mais

Arquitetura e organização de computadores

Arquitetura e organização de computadores Arquitetura e organização de computadores 3º. Semestre - Sistemas de informação Prof. Emiliano S. Monteiro Classificação de computadores Grande porte: Supercomputadores e Mainframes Médio porte: Minicomputadores

Leia mais

Introdução à Computação: Arquitetura von Neumann

Introdução à Computação: Arquitetura von Neumann Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Nível da Lógica Digital

Nível da Lógica Digital Nível da Lógica Digital (Aula 7) Circuitos Lógicos Digitais Básicos Circuitos Integrados CIs (chips/pastilhas) Agrupa portas lógicas Pastilhas de silício DIP (Dual Inline Package) Invóculo c/ 2 linhas

Leia mais

Prof. Leonardo Augusto Casillo

Prof. Leonardo Augusto Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 2 Estrutura de um processador Prof. Leonardo Augusto Casillo Arquitetura de Von Neumann: Conceito de programa armazenado; Dados

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

NEANDERWIN. Algumas características do processador Neander são:

NEANDERWIN. Algumas características do processador Neander são: NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 28 Operação da Unidade de Controle Rodrigo Hausen 17 de novembro de 2011 http://cuco.pro.br/ach2034 1/44 Apresentação 1. Bases Teóricas 2. Organização de computadores...

Leia mais

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle William Stallings Organização de computadores digitais Capítulo 14 Operação da Unidade de Controle Microoperações o A execução de um programa em um computador se faz através: o do ciclo de Busca e Execução.

Leia mais

4. Modelo de Programação do DLX Introdução

4. Modelo de Programação do DLX Introdução 4. Modelo de Programação do DLX Quero que o matemático Beremiz Samir nos conte uma lenda, ou uma simples fábula, na qual apareça uma divisão de 3 por 3 indicada, mas não efetuada, e outra de 3 por 2, indicada

Leia mais

Instruções. Maicon A. Sartin

Instruções. Maicon A. Sartin Instruções Maicon A. Sartin SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem Introdução a Linguagem de Montagem Níveis

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

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

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

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho Ciência da Computação Arq. e Org. de Computadores Avaliando e Compreendendo o Desempenho O Que Veremos Avaliando e compreendendo o desempenho: Introdução Definindo desempenho Medindo o desempenho e seus

Leia mais

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações Arquitetura de Computadores Introdução ao Pipeline PIPELINE Linha de Montagem A produção é dividida em várias etapas Produtos em etapas distintas podem ser desenvolvidos separadamente Pode ser Aplicado

Leia mais

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa DCC-IM/NCE UFRJ Pós-Graduação em Informática Micro-Arquiteturas de Alto Desempenho Introdução Gabriel P. Silva Ementa Revisão de Organização de Computadores Hierarquia de Memória Memória Virtual Memória

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra PROCESSAMENTO 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante

Leia mais

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca PCS-2529 Introdução aos Processadores Prof. Dr. Paulo Sérgio Cugnasca 1 2 Existem 4 esquemas diferentes de E/S possíveis, cada um se aplicando em uma determinada situação. E/S Programada. E/S Acionada

Leia mais

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. PROCESSADOR ULA Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. ULA Uma ULA típica pode realizar as operações artiméticas: - adição; - subtração; E lógicas: - comparação

Leia mais

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

Computador Cleópatra

Computador Cleópatra ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Computador Cleópatra Interface Hardware e Software Alexandre Amory Edson Moreno 2 / 9 Nas Aulas Anteriores Vimos como descrever e implementar circuitos combinacionais

Leia mais

Unidade de Controle. Sinais e temporização da busca de instrução. Prof. Eduardo Appel

Unidade de Controle. Sinais e temporização da busca de instrução. Prof. Eduardo Appel Unidade de Controle Prof Eduardo Appel appel@upftchebr Uma CPU de um microprocessador pode interpretar o conteúdo de uma palavra de memória como sendo o código de instrução Mas pergunta-se: Qual o número

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

Leia mais

Departamento de Sistemas de Computação - SSC. Sistemas Digitais. 2 o Semestre Projeto CPU. Data da apresentação: 26/27 de outubro

Departamento de Sistemas de Computação - SSC. Sistemas Digitais. 2 o Semestre Projeto CPU. Data da apresentação: 26/27 de outubro UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação - SSC Sistemas Digitais 2 o Semestre Projeto CPU Data da apresentação: 26/27 de outubro

Leia mais