Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Bruno Iran Ferreira Maciel
Capítulo 02 - Pipeline Arquitetura de Computadores Aula 01 28/08/2012 Bruno Iran Ferreira Maciel Mestrando em Ciências da Computação – Cin/UFPE
2
Revisão da aula passada
Memória Cache Partição de memória Paginação e Segmentação
3
Aula de hoje Hoje vamos ver Pipeline Implementação de pipeline
Problemas com o uso de pipeline
4
Pipeline
5
Pipeline É uma técnica para aumento de desempenho de arquiteturas de processadores.
6
Pipeline Algumas verdades
Aumenta o número de instruções executadas simultaneamente e a taxa de instruções iniciadas e terminadas por unidade de tempo. Pipeline não reduz o tempo gasto para completar cada instrução individualmente.
7
Pipeline Algumas verdades
Aumenta o número de instruções executadas simultaneamente e o tempo do ciclo do relógio do processador deve ser igual ou maior que o tempo de execução do estágio mais lento do "pipeline". Deve-se procurar dividir a execução da instrução em estágios com o mesmo tempo. O pipeline deve ser mantido sempre "cheio" para que o desempenho máximo seja alcançado.
8
Pipeline Algumas verdades
De um modo gera, com o uso do pipeline, cada instrução ainda leva o mesmo tempo para ser executada. Algumas instruções contudo podem ter o seu tempo de execução aumentado, pois atravessam estágios em que não realizam nenhuma operação útil.
9
Implementação de Pipeline
10
Pipeline Exemplo
11
Pipeline Exemplo
12
Pipeline Exemplo
13
Pipeline Exemplo
14
Pipeline Exemplo *Throughput (ou taxa de transferência) é a quantidade de dados transferidos de um lugar a outro.
15
Pipeline Throughput (ou taxa de transferência) é a quantidade de dados transferidos de um lugar a outro.
16
Pipeline O tempo usado pelo processamento de X instruções em um pipeline com N estágios e ciclo de máquina igual a t é dado por: T = [ N + (X-1)] * t Se X >> N (Caso comum), T é aproximadamente X * t
17
Pipeline O tempo usado pelo processamento de instruções em um pipeline com 6 estágios e ciclo de máquina igual a é dado por: T = [6 + ( )] * = ~ 10006*106 (com pipeline) T = (6* ) * =~ 60006*106 (sem pipeline)
18
Pipeline
19
Pipeline
20
Pipeline CPU 2,6ns 1,4ns 2,5ns 3ns 1,5ns
21
Pipeline Exemplo 1: Um computador é construído usando a arquitetura de 5 estágios. Os atrasos de tempo das unidades individuais são dados por a)Qual a frequência do clock f1 necessária pelo método de uma única instrução por período de clock (sem pipeline)? b)Suponha que o clock seja utilizado em cada estágio simultaneamente (com pipeline). Qual seria a freqüência de clock f2 neste caso? 1,8ns 1,2ns 3,5ns 4ns 1,5ns
22
Pipeline a) T = 1,8 + 1,2 + 3,5 + 4 + 1,5 = 12ns f = 1 / T
f = 1 / (12 * 10-9) = 0,08333 * 109 = 83,33 * 106 = 83,33 MHz b) T = 4ns (parte mais lenta do pipeline) f = 1 / (4 * 10-9) = 0,25 * 109 = 250 * 106 = 250 MHz 1Gb = 109 1MHz = 106 1ns = 10-9
23
Pipeline Exemplo 2: Considere um sistema que possua instruções, uma frequência de 200 MHz e uma arquitetura da pipeline de 8 estágios. Calcule o tempo necessário para executar uma instrução; Calcule o tempo necessário para executar todo o programa sem utilizar a técnica de pipeline; Calcule o tempo necessário para executar todo o programa utilizando a técnica de pipeline;
24
Pipeline a) f = 1 / T T1instr = T * NumEstag b)
TsemPIPE = T * NumEstag * NumInstr c) TcomPIPE = T ( NumInstr + NumEstag - 1)
25
Problemas com Pipeline
26
Pipeline
27
Pipeline
28
Perguntas ?
29
Exercício 1) Um computador é construído usando a arquitetura de 5 estágios. Os atrasos de tempo das unidades individuais são dados por a) Qual a freqüência do clock f1 necessária pelo método de uma única instrução por período de clock (sem pipeline)? b) Suponha que o clock seja utilizado em cada estágio simultaneamente (com pipeline). Qual seria a freqüência de clock f2 neste caso? 2) Considere um sistema que possua instruções, uma frequência de 900 MHz e uma arquitetura da pipeline de 6 estágios. a) Calcule o tempo necessário para executar uma instrução; b) Calcule o tempo necessário para executar todo o programa sem utilizar a técnica de pipeline; c) Calcule o tempo necessário para executar todo o programa utilizando a técnica de pipeline; 2,8ns 3,2ns 1,5ns 1,8ns 0,6ns
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.