segunda-feira, 13 de dezembro de 2010

Pipeline

Introdução 

Na década de 70 surge uma nova técnica chamada pipeline, onde a execução das instruções é dividida em várias fases consecutivas e o processador é organizado em estágios correspondentes para execução dessas instruções.
Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal de diversas fases de execução de instruções.

Em outras palavras, é uma técnica de projeto onde o hardware processa mais de uma instrução de cada vez sem esperar que uma instrução termine antes de começar a outra.

Exemplo da lavandaria 





Calculo do tempo de uma instrução com pipeline






Síntese final

Em suma, o pipeline melhora o desempenho por meio do aumento do throughput das instruções, ou seja, aumento o número de instruções executadas na unidade de tempo, e não pela diminuição do tempo de execução de uma instrução individual.

Speedup ideal é o número de estágios no pipeline.
Throughput (ou taxa de transferência) é a quantidade de dados transferidos de um lugar a outro, ou a quantidade de dados processados em um determinado espaço de tempo.
Speedup potencial = número de estágios do pipeline.

CPU - Instruções

Definição de Instruções de Máquina

A operação de uma UCP é determinada pelas instruções que ela executa, conhecidas como instruções de máquina. A coleção das diferentes instruções que a UCP é capaz de executar é conhecida como o conjunto de instruções do processador, o qual pode variar de um fabricante para outro e mesmo de um modelo para outro de processador.

Cada instrução deve conter toda a informação necessária para permitir sua execução pela UCP. Essa informação necessária compreende:
 
• Código de operação: especifica a operação a ser realizada
• Operando fonte*: operandos que constituem dados de entrada para a operação
• Operando de destino*: resultado que pode ser produzido pela operação
• Endereço da próxima instrução: local onde deve ser buscada a instrução seguinte (em alguns casos), após o término da corrente

Definição de CISC e RISC 

Reduced Instruction Set Computer ou Computador com um Conjunto Reduzido de Instruções (RISC), é uma linha de arquitetura de processadores que favorece um conjunto simples e pequeno de instruções que levam aproximadamente a mesma quantidade de tempo para serem executadas. A maioria dos microprocessadores modernos são RISCs, por exemplo DEC Alpha, SPARC, MIPS, e PowerPC. O tipo de microprocessador mais largamente usado em desktops, o x86, é mais CISC do que RISC, embora chips mais novos traduzam instruções x86 baseadas em arquitetura CISC em formas baseadas em arquitetura RISC mais simples, utilizando prioridade de execução.

CISC (sigla para Complex Instruction Set Computer, ou, em uma tradução literal, "Computador com um Conjunto Complexo de Instruções"): é uma linha de arquitetura de processadores capaz de executar centenas de instruções complexas diferentes sendo, assim, extremamente versátil. Exemplos de processadores CISC são os 386 e os 486 da Intel.

Tipos de instruções 

Instruções aritméticas
Instruções lógicas (ou booleanas)
Instruções de memória
Instruções de E/S
Instruções de teste
Instruções de desvio

Ciclo de Instrução

 


segunda-feira, 6 de dezembro de 2010

CPU - Central Processing Unit

O processador é responsável pela actividade fim do sistema, isto é, computar, calcular, processar.

É responsável pela realização de qualquer operação realizada por um computador.

Comanda não somente as acções efectuadas internamente, como também em decorrência de interpretação de uma determinada instrução, ele emite sinais de controle para os demais componentes do computador agirem e realizarem alguma tarefa.




Definição de ALU ou ULA 

A ULA (“ALU”) é o dispositivo do processador que efectivamente executa as operações matemáticas com os dados. Tais operações podem ser, por exemplo:
Soma, subtração, multiplicação e divisão;
Operação lógica AND, OR, XOR;
Deslocamento à direita, deslocamento à esquerda; Entre outros

Ela é composta por dispositivos lógicos digitais simples, capazes de armazenar bits e efetuar operações simples de lógica booleana.

Os dados são fornecidos à ULA em registadores e uma vez processados eles são armazenados novamente em registadores.

Os registadores são interligados a ULA por meio de caminhos de sinal.

A ULA também pode activar bits especiais (flags) para indicar o estado de uma operação.

A Unidade de Controle fornece sinais para controlar a operação da ULA e a transferência de dados entre a ULA e os registradores.



Definição de UC e sua função no CPU



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.

A figura abaixo mostra o diagrama em bloco simplificado da função controle:


A Unidade de Controle – UC é responsável por:

Controlar a transferência de dados e instruções para dentro e fora da CPU;

Controlar a operação da ULA;

Controlar a execução de instruções;

Gerar sinais de controle externos ao processador para comandar a transferência de dados entre o processador e a memória ou módulos de entrada / saída;

O relógio (clock) é um dispositivo gerador de pulsos cuja duração é chamada de ciclo.
A quantidade de vezes em que este pulso básico se repete em um segundo define a unidade de media do relógio denominada freqüência, a qual também é utilizada para definir a velocidade da UCP. Servem para:

Sincronizar, ou seja, permitir que duas ou mais acções ocorram no mesmo instante de tempo.

Cadenciar as ações realizadas em um determinada positivo, ou seja, controlar a velocidade com que elas ocorrem.


 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.
Freqüência (frequency ou clock rate) é a quantidade de ciclos por segundo de um relógio. É o inverso do período.
A unidade de medida utilizada para a freqüência é o Hertz(Hz) onde, 1 Hz = 1 ciclo por segundo.
Assim, se um processador funciona com um clock de 25 milhões de vezes por segundo, isto é, 25MHz, e sendo seu período de duração o inverso da freqüência, então cada ciclo será igual a 1/25000000, ou 0,00000004 ou 40 nano segundos (nS).

Registadores utilizados no CPU



Registrador de Dados da Memória – RDM (Memory Buffer Register MBR)

É utilizado pela UCP para a transferência de informações entre esta e o barramento de dados. No ciclo de busca de uma instrução, assume a função de armazenar temporariamente a instrução a ser executada, a qual foi trazida, via barramento de dados, da memória, e na sequência é transferida para o RI.

O RDM tem tamanho (em bits) geralmente igual ao do barramento de dados, sendo que o tamanho deste último tem tamanho múltiplo do tamanho da palavra do processador.

Registrador de Endereços da Memória – REM (Memory Address Register MAR)

Armazena o endereço da memória onde a informação deve ser lida ou escrita. No ciclo de busca de uma instrução, armazena o endereço da memória onde se encontra a instrução a ser executada, fornecido pelo CI.
Tem tamanho (em bits) igual ao tamanho dos endereços de memória e ao tamanho do barramento de endereços.


quinta-feira, 2 de dezembro de 2010

Processadores AMD

Processadores para Desktop


Existem mais variantes de processadores:





Processadores Laptop


Processadores servers




Existes mais variantes: