quinta-feira, 20 de outubro de 2011

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. 

Analogia com uma lavandaria (sem a utilização de Pipeline)

Analogia com uma lavandaria (com a utilização de Pipeline)

 Divisão da Instrução em estágios

Formula : 

Tradicionalmente as instruções do MIPS são executadas até cinco passos:
  1. Busca Instrução na memória;
  2. Leitura dos registadores e descodificação de instruções;
  3. Execução de operação ou cálculo de endereço;
  4. Acesso a operando na memória;
  5. Escrita do resultado em registador



Ordem de execução de programas:



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.

quarta-feira, 19 de outubro de 2011

CPU - Instruções

Definição de instruções de máquina : O conjunto de instruções que um processador desenvolve é conhecido como instruções de máquina ou em inglês instruction set.
Cada instrução deve conter os seguintes parâmetros : 
  • Código de operação : Especifica a operação realizada;
  • Operando fonte : Que constituem dados de entrada para a operação;
  • Operando de destino : Resultado obtido pela operação;
  • Endereço da próxima instrução : Local onde se procura a informação seguinte.
Num processador quanto menor e mais simples for o conjunto de instruções , mais rápido será o seu ciclo de tempo.

Definição de Cisc (Complex Instruction Set Computer) : Cisc é um conjunto de instruções complexo executadas pelo computador.

É um processador capaz de executar centenas de instruções complexas diferentes, grande parte dos microprocessadores Intel e Motorola têm um desenho CISC,sendo assim extremamente versátil. A vantagem de uma arquitetura CISC é que já temos muitas das instruções guardadas no próprio processador, o que facilita o trabalho dos programadores de linguagem de máquina, dispondo assim de praticamente todas as instruções que serão usadas nos seus programas. 

Definição de Risc (Reduced Instruction Set Computer) :  Risc é um conjunto de instruções reduzidas executadas pelo computador.

O desenvolvimento de sistemas com arquitectura RISC começou no fim da década de 70, na Universidade de Stanford, anos 80 da IBM. A motivação básica para as pesquisas sobre o assunto era baseado na ideia de que os programas não  faziam o uso mais eficiente possível do hardware à sua disposição.
Os processadores RISC,arquitectura de UCP, são capazes de executar apenas  poucas instruções simples e menor que o das máquinas CISC de mesma capacidade. Justamente por isso, os chips baseados nesta arquitectura são mais simples e muito mais baratos.

Formato de Instruções :
Exemplos:
Instrução para adição de dois valores (operandos 1 e 2), indicando o endereço
(operando 3) a ser armazenado o resultado: OP3 ← OP1 + OP2


Instrução para adição de dois valores (operandos 1 e 2), armazenando se
o resultado no local do operando 1: OP1 ← OP1 + OP2


Utilizando se o acumulador para armazenar inicialmente um dos operandos e
depois armazenar o resultado da soma: ACC ← ACC + OP


Tamanho de Instruções :
Existe duas formas de executar um conjunto de instruções realizadas por um processador sendo elas as seguintes : 
  • Instruções com C.Op. de tamanho fixo;
  • Instruções com C.Op. de tamanho variável.
O número de bits do C.Op.
Também indica o número máximo de instruções passíveis de implementação (no exemplo, 256 instruções
C.Op. no máximo).

Tipos de Instruções :

Classificação :
  • Processamento de dados: instruções aritméticas e lógicas;
  • Armazenamento de dados: instruções de memória;
  • Movimentação de dados: instruções de E/S;
  • Controle: instruções de teste e desvio. 
Tipos : 
  • 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.

quinta-feira, 13 de outubro de 2011

CPU - Central Processing Unit

A Unidade Central de Processamento - UCP (em inglês, Central Processing Unity - CPU) é a responsável pelo processamento e execução dos programas armazenados na memória principal. As funções da UCP são: executar as instruções e controlar as operações no computador.

A UCP é composta de duas partes:

UAL - Unidade Aritmética e Lógica - tem por função a efetiva execução das instruções

UC - Unidade de Controle - tem por funções a busca, interpretação e controle de execução das instruções, e o controle dos demais componentes do computador

Registadores Importantes na UCP
  •     Na UC - CI Contador de Instruções - armazena o endereço da próxima instrução a ser executada - tem sempre o mesmo tamanho do REM.
  •     Na UC - RI Registador de Instrução - armazena a instrução a ser executada.
  •     Na UAL - ACC Acumulador - armazena os dados (de entrada e resultados) para as operações na   UAL; o acumulador é um dos principais elementos que definem o tamanho da palavra do computador - o tamanho da palavra é igual ao tamanho do acumulador.
Funções do relógio

 O relógio (clock) é um dispositivo que gera pulsos cuja a duração é chamada de ciclos.A quantidade de vezes que este pulso se repete num segundo é denominada por frequência. O relógio tem como principais funções as seguintes: 
  • Sincronizar - permitir que duas ou mais acções se realizem no mesmo instante de tempo;
  • Controlar a velocidade com que elas ocorrem.
Principais elementos :

Ciclo de relógio - É o intervalo de tempo entre o inicio de um ciclo e o próximo ciclo;
Período - É o intervalo de tempo gasto para se obter um ciclo do sinal do relógio (medido em nanosegundos);
Frequência -  É a quantidade de ciclos por segundo de um relógio.É o inverso do período.

quinta-feira, 6 de outubro de 2011

Steve Jobs (1955 - 2011)

“A Apple perdeu um visionário e um génio criativo e o mundo perdeu um fantástico ser humano. Aqueles que tiveram a sorte de conhecer e trabalhar com o Steve perderam um querido amigo e um conselheiro inspirador. Steve deixou para trás uma empresa que só ele poderia ter construído e o seu espírito será sempre a base da Apple.”

Steve Jobs foi quem revolucionou e tornou o mundo tecnológico da forma que o é, não só pela sua passagem pela Apple mas por todas as suas contribuições no desenvolvimento de inúmeras ideias, inovações e tecnologias.

Descanse em paz.


Video em que relata a vida de Steve Jobs:

Processadores Actuais da AMD

Desktop :
                                               
Laptop : 

Server :