Articles

GeeksforGeeks

To improve the performance of a CPU we have two options:
1) Improve the hardware by introducing faster circuits.
2) organizar o hardware de modo que mais de uma operação pode ser realizada ao mesmo tempo.

Uma vez que existe um limite na velocidade do hardware e o custo dos circuitos mais rápidos é bastante elevado, temos que adotar a segunda opção.Pipelining : Pipelining é um processo de arranjo de elementos de hardware da CPU de modo que seu desempenho global é aumentado. A execução simultânea de mais de uma instrução ocorre em um processador pipelined.vejamos um exemplo da vida real que funciona no conceito de operação pipelinada. Considere uma fábrica de embalagem de garrafas de água. Que haja 3 fases através das quais uma garrafa deve passar, inserindo a garrafa(I), enchendo a água na garrafa(F), e selando a(s) garrafa (s). Consideremos estas fases, respectivamente, a fase 1, a fase 2 e a fase 3. Que cada etapa leve um minuto para completar a sua operação.agora, em uma operação não pipelinada, uma garrafa é inserida pela primeira vez na planta, após 1 minuto é movida para a Fase 2, onde a água é enchida. Agora, na fase 1 não está a acontecer nada. Da mesma forma, quando a garrafa passa para a fase 3, tanto a Fase 1 como a fase 2 ficam ociosas. Mas em operação tubular, quando a garrafa estiver na fase 2, Outra garrafa pode ser carregada na Fase 1. Da mesma forma, quando a garrafa está na Fase 3, pode haver uma garrafa cada na Fase 1 e na Fase 2. Depois de cada minuto, compramos uma garrafa nova no final da Fase 3. Por isso, o tempo médio gasto para a fabricação de 1 garrafa é :

Sem pipelining = 9/3 minutos = 3m

I F S | | | | | || | | I F S | | || | | | | | I F S (9 minutes)

Com pipelining = 5/3 minutos = 1.67 m

I F S | || I F S || | I F S (5 minutes)

Assim, a conduta de operação aumenta a eficiência de um sistema.

Design of a basic pipeline

  • In a pipelined processor, a pipeline has two ends, the input end and the output end. Entre estes fins, existem vários estágios / segmentos de modo que a saída de um estágio é conectada à entrada do próximo estágio e cada estágio realiza uma operação específica.
  • registradores de Interface são usados para manter a saída intermediária entre duas fases. Estes registros de interface também são chamados de fechamento ou buffer. todas as fases do gasoduto, juntamente com os registos de interface, são controladas por um relógio comum.

Execution in a pipelined processor
Execution sequence of instructions in a pipelined processor can be visualized using a space-time diagram. Por exemplo, considere um processador com 4 estágios e deixe haver 2 instruções para serem executadas. Podemos visualizar a sequência de execução através dos seguintes diagramas espaço-tempo:execução não sobreposta:

Stage / Cycle 1 2 3 4 5 6 7 8
S1 I1 I2
S2 I1 I2
S3 I1 I2
S4 I1 I2

Total time = 8 Cycle

Overlapped execution:

Stage / Cycle 1 2 3 4 5
S1 I1 I2
S2 I1 I2
S3 I1 I2
S4 I1 I2

Total time = 5 Cycle

Pipeline Stages

RISC processor has 5 stage instruction pipeline to execute all the instruction set in the RISC instruction set. A seguir estão os 5 estágios do pipeline RISC com suas respectivas operações:

  • Fase 1 (Instruction Fetch)
    nesta fase, a CPU lê instruções a partir do endereço de memória cujo valor está presente no contador de programa.
  • Stage 2 (Instruction Decode)
    nesta fase, instrução é decodificada e o arquivo de registro é acessado para obter os valores dos registros usados na instrução. nesta fase, são realizadas operações ALU.
  • Stage 4 (Memory Access)
    Neste estágio, operandos de memória são lidos e escritos de/para a memória que está presente na instrução.
  • Stage 5 (Write Back)
    nesta fase, o valor calculado/obtido é escrito de volta para o registo presente nas instruções.

Performance of a pipelined processor
considerate a’ k ‘segment pipeline with clock cycle time as ‘Tp’. Que haja tarefas ‘n’ a serem completadas no processador pipelined. Agora, a primeira instrução vai tomar ciclos ” k “para sair do pipeline, mas as outras instruções” n – 1 “levará apenas ciclos” 1 “cada, i. e., Um total de ciclos “n – 1”. Assim, é o tempo levado para executar ‘n’ instruções em um pipeline do processador:

 ETpipeline = k + n – 1 cycles = (k + n – 1) Tp

No mesmo caso, para um não-pipeline do processador, o tempo de execução de ‘n’ instruções serão:

 ETnon-pipeline = n * k * Tp

Então, speedup (S) do pipeline do processador mais sem pipeline do processador, quando ” n ” tarefas são executadas no mesmo processador é:

 S = Performance of pipelined processor / Performance of Non-pipelined processor

Como o desempenho de um processador é inversamente proporcional ao tempo de execução, o que temos,

 S = ETnon-pipeline / ETpipeline => S = / S = / 

Quando o número de tarefas ‘n’ são significativamente maiores do que k, que é, n >> k

 S = n * k / n S = k

, onde ” k ” é o número de estágios no pipeline.

além disso, Eficiência = Dado acelerar / Max speed up = S / Smax
sabemos que, Smax = k

Então, Eficiência = S / k

a taxa de transferência = Número de instruções / tempo Total para completar as instruções

Assim, a taxa de transferência = n / (k + n – 1) * Tp

Nota: Os ciclos por instrução (CPI) do valor de um ideal de conduta do processador é de 1

por Favor, consulte Set 2 Dependências de Dados e de Perigo e Definir 3 Tipos de pipeline e de Adiamento.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *