quarta-feira, 12 de janeiro de 2011

Pipeline

Introdução

             Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal das diversas fases de execução das instruções.

             Aumenta o número de instruções executadas simultaneamente e a taxa de instruções iniciadas e terminadas por unidade de tempo.

              O pipeline não reduz o tempo gasto para completar cada instrução individualmente.

Exemplo

Vamos supor uma lavandaria, em que cada etapa possa ser realizada em 30 minutos:

1) Colocar a roupa na máquina de lavar
2) Depois de lavada, colocá-la na máquina de secar roupa
3) Depois de seca, passar a ferro
4) Depois de passada, arrumá-la no armário

Instrução sem pipeline
Instrução com pipeline



Supondo-se que cada uma destas etapas leve 30 minutos para ser realizada, a lavagem de um cesto de roupas continuará levando 2 horas para ser realizada.

Entretanto, podemos iniciar a lavagem de um cesto de roupas a cada 30 minutos, até que tenhamos 4 cestos sendo lavados simultaneamente, um em cada etapa do “pipeline”.

Depois das primeiras 2 horas, teremos um cesto de roupa lavada a cada 30 minutos. Ao final do dia teremos lavado muito mais cestos de roupa do que sem o uso de pipeline.

Formula de pipeline



Síntese final

Não melhora a latência de cada tarefa individualmente.

Melhora o throughput de todo o trabalho.

Várias tarefas executam simultaneamente usando recursos diferentes.

Speedup potencial = número de estágios do pipeline.





sexta-feira, 10 de dezembro de 2010

CPU - Central Processing Unit


CPU

A Central Processing Unit (Unidade central de processamento, em português) ou o processador é a parte de um sistema de computador que executa as instruções de um programa de computador, e é o elemento primordial na execução das funções de um computador.
Este termo tem sido usado na indústria de computadores pelo menos desde o início dos anos 1960.
A forma, desenho e implementação de CPUs têm mudado dramaticamente desde os primeiros exemplos, mas o seu funcionamento fundamental permanece o mesmo.


ALU


A Unidade lógica e aritmética (ULA) ou em inglês Arithmetic Logic Unit (ALU) é a unidade do processador (Central Processing Unit, ou simplesmente CPU), que realmente executa as operações aritméticas e lógicas referenciadas pelos opcodes.

 UC


A UC é o dispositivo mais complexo do processador.

Ele possui a lógica necessária para realizar a movimentação de dados e instruções “de” e “para” o processador, através dos sinais de controle que emite em instantes de tempo determinados conforme uma programação prévia.


Registadores utilizados no CPU


Principais elementos:

Um ciclo do relógio (clock clycle) é o intervalo de tempo entre o início de um pulso e o início do seguinte.
Um período (cycle time ou period) é o intervalo de tempo gasto para ser obter um ciclo do sinal do relógio.
Usualmente medido em unidades de tempo em nanossegundos.

Seguidores