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 


Processo, sem aplicação de pipeline.    


  
Processo, com aplicação de pipeline.

Calculo do tempo das instruções pipeline


Fórmula



Pipeline aplicado no processador


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

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 colecçã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.
 
CISC
 
CISC (sigla para Complex Instruction Set Computer, ou, em uma tradução literal, "Computador com um Conjunto Complexo de Instruções"): é uma linha de arquitectura 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.
 
RISC
 
Reduced Instruction Set Computer ou Computador com um Conjunto Reduzido de Instruções (RISC), é uma linha de arquitectura 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.

Formato das Instruções

Cada instrução consiste num grupo de bits que pode ser dividido em duas partes:
 
• a primeira parte indica o que é a instrução e como será executada, sendo constituída de um só campo;
 
• a segunda parte referese ao(s) dado(s) que será(ão) manipulado(s) na operação, podendo ser constituída por mais de um campo.


Tamanho das Instruções

A definição dos códigos de operação do conjunto de instruções de um processador pode ser feita por duas maneiras: 

• instruções com C.Op. de tamanho fixo;
• instruções com C.Op. de tamanho variável.
 
No primeiro caso, todas as instruções têm um C.Op. com a mesma quantidade de bits. A implementação das instruções e sua manipulação durante a execução de um programa são facilitadas, ao passo que o tamanho do C.Op., e da própria instrução tende a aumentar, influenciando no aumento do tamanho ocupado pelo programa na MP.

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

CPU

O processador é responsável pela atividade fim do sistema, isto é, computar, calcular, processar.
Um processador tem, por propósito, realizar operações com dados (que denominamos processamento) normalmente numéricos.
Ele é projectado e fabricado com o propósito único de executar sucessivamente pequenas operações matemáticas ou outras manipulações de dados, na ordem e na sequência definidas pela organização do sistema.
Portanto, o processador não somente realiza o processamento, como também controla todo o funcionamento do sistema.

ULA

A ULA (“ALU”) é o dispositivo do processador que efetivamente 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 registradores e uma vez processados eles são armazenados novamente em registradores. Os registradores são interligados a ULA por meio de caminhos de
sinal.
A ULA também pode ativar bits especiais (flags) para indicar o estado bde 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.

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.A figura abaixo mostra o diagrama em bloco simplificado da função controle.

Funções:

 - 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;
 - gerar sinais de controle internos ao processador para mover dados entre registradores;
 -gerar sinais de controle internos ao processador para comandar a ULA na execução de uma determinada função;


Relógio

O relógio (clock) é um dispositivo gerador de pulsos cuja duração é chamada de ciclo.

Funçoes:

Sincronizar, ou seja, permitir que duas ou mais açõ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.
Pode ser entendido com um dispositivo de controle.
Em geral o relógio é formado por um cristal de quartzo.

Registadores


Registrador de Instrução – RI (Instruction Register – IR)

Tem a função de armazenar a instrução a ser executada pela UCP. No início do ciclo de instrução a UC emite sinais de controle sequenciados no tempo para a realização do ciclo de leitura, no qual a instrução é buscada na memória e armazenada no RI, via barramento de dados e RDM.



Contador de Instrução – CI (Program Counter – PC)

Armazena o endereço da próxima instrução a ser executada, sendo crucial para o processo de controle e de sequenciamento da execução dos programas. Assim que a instrução a ser executada é lida da memória para a UCP, o conteúdo do CI é automaticamente modificado, sendo nele armazenado o endereço da próxima instrução na sequência.



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.



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.

quinta-feira, 2 de dezembro de 2010

Processadores actuais: AMD


Desktop

Clique na imagem para ampliar


Existe várias variantes de processadores.A ver no site (AMD)


Laptop


Clique na imagem para ampliar



Servers



AMD Opteron™ 6000 Series Platform


Clique na imagem para ampliar


Existe várias variantes de processadores.A ver no site (AMD)