Capítulo 4. O Processador
|
|
- Vitorino Palma Miranda
- 6 Há anos
- Visualizações:
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:
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 maisCAPÍ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 maisRelembrando 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 maisRelembrando 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 maisArquitetura 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
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 maisO 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 maisOrganizaçã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 maisExercí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 maisPARTE 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 maisOrganizaçã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 maisUNIVERSIDADE 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 maisSistemas 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 maisSistemas 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 maisArquitetura 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 maisPipelines. 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 maisSistemas 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 maisTiago 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 maisOrganizaçã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 maisARQUITECTURA 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 maisArquitetura 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 maisImplementaçã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 maisPipelining - 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 maisVisã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 maisAula 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 mais1. 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 maisOrganizaçã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 maisArquitetura 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 maisTodo 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 maisOrganizaçã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 maisSSC0611 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 maisWilliam 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 maisAULA 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 maisOrganizaçã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 maisConceitos 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 maisAula 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 maisCPU 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 maisSSC0611 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 maisRegistradores 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 maisO 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 maisProcessador: 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 maisORGANIZAÇÃ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 maisSSC510 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 maisX 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 maisData 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 maisORGANIZAÇÃ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 maisInstruçõ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 maisAula 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 maisArquitetura 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.
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 maisUnidade 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 maisARQUITETURA 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 maisArquitetura 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 maisParte 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 maisOrganizaçã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 maisOrganizaçã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
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
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 maisOrganizaçã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 maisOrganizaçã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 maisMelhorando 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 mais3 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 maisELETRÔ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 maisARQUITETURA 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 maisUM 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 maisUniv 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 maisEA869 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 maisProf. 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 maisDisciplina: 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 maisMicroprocessadores. 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 maisFigura 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 maisProcessador. 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 maisProf. 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 maisAULA 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 maisSSC0112 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 maisArquitetura 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 maisIntroduçã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 maisNí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 maisProf. 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 maisUniversidade 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 maisNEANDERWIN. 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 maisOrganizaçã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 maisWilliam 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 mais4. 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 maisInstruçõ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 maisOrganizaçã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 maisOrganizaçã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 maisArquitetura 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 maisO 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 maisPIPELINE. 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 maisMicro-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 mais2. 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 maisPCS-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 maisO 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 maisULA. 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 maisCaminho 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 maisComputador 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 maisUnidade 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 maisOrganizaçã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 maisDepartamento 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