terça-feira, 9 de outubro de 2012

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 Lavandaria










Arquitecturas_CISC_e_RISC_

Definição de CISC e RISC.


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.

RISC Reduced Instruction Set Computer ou Computador com um Conjunto Reduzido de Instruções, é 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 micro processadores 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 arquitectura CISC em formas baseadas em arquitectura RISC mais simples, utilizando prioridade de execução.


Principais Características



  • Principais características de mircroprocessadores CISC:
  1. Muitas instruções; 
  2. Instruções são complexas; 
  3. Microcodificação das instruções; 
  4. Alta capacidade de endereçamento para operações de memória;
  5. Número reduzido de registadores.

  • Principais características de mircroprocessadores RISC: 
  1. Conjunto reduzido de instruções; 
  2. Instruções menos complexas; 
  3. Unidade de controle hardwarizada;
  4. Baixa capacidade de endereçamento para operações de memória, com apenas duas instruções básicas, LOAD e STORE; 
  5. Grande número de registador.


Desvantagens da arquitectura RISC.

  • Qualidade do Código

 A performance de um processador RISC depende diretamente do código gerado pelo programador. No caso de um código mal desenvolvido o processador pode gastar um tempo demasiado na execução das instruções, isto faz com que a performance de uma máquina RISC dependa em grande parte da qualidade do código, gerado pelo programador.

  • Expansão do Código

 O fato da arquitetura CISC trabalhar com instrução única com ações complexas e as máquinas RISC trabalharem com instrução simples a transição do código pode acarretar problemas. O termo "expansão do código" refere-se ao aumento de tamanho que se obtém de um programa originalmente compilado para uma máquina CISC, ter sido recompilado para uma máquina RISC. A expansão vai depender da capacidade do programador e a natureza do conjunto de instruções de máquina.

  • Projeto de Sistema

Outra desvantagem que a arquitetura RISC apresenta é o fato de requerer sistema de memória rápida para alimentar suas instruções. Tipicamente sistemas baseados nesta arquitetura costumam apresentar grande quantidade de memória cache interna, conhecida como "first-level cache", o que encarece o projeto. 



Desvantagens da arquitectura CISC.

  • Precocemente gerações de famílias de processadores eram recipiente de um subconjunto em toda versão nova - assim conjuntos de instruções e chip ficaram mais complexos em cada geração de computadores.


  • De forma que tantas instruções quanto possível poderiam ser armazenadas na memória com o menor desperdício de espaço possível por instruções, instruções individuais poderiam ser de quase qualquer duração - estes meios fazem que diferentes instruções levassem quantias diferentes de tempo de clock para executar, reduzindo a velocidade e o desempenho global da máquina.


  • Muitas instruções especializadas frequentemente não são usadas o bastante para justificar a existência delas - aproximadamente 20% das instruções disponíveis são usados em um programa típico.


  • Instruções CISC tipicamente indicam um set codificado como um efeito colateral da instrução. Não só faz set do código de condição levando tempo, mas os programadores têm que se lembrar de examinar os pedaços de código de condição antes de uma instrução subsequente ser mudada.

















segunda-feira, 8 de outubro de 2012


CPU - Instruções 

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

A operação de uma CPU é determinada pelas instruções que ela executa, conhecidas como instruções de máquina. A colecção das diferentes instruções que a CPU é 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.



  • Formato das Instruções
Cada instrução consiste num grupo de bits que pode ser dividido em duas partes:
  1. a primeira parte indica o que é a instrução e como será executada, sendo constituída de um só campo;
  2. a segunda parte refere-se 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:
  1. instruções com C.Op. de tamanho fixo;
  2. instruções com C.Op. de tamanho variável.

Tipos de Instruções

Um computador deve ter um conjunto de instruções que permita ao usuário formular qualquer tarefa de processamento de dados. Outra maneira de determinar esse conjunto de instruções é considerar os comandos disponíveis em uma linguagem de alto nível (Basic, Pascal, Fortran, C, etc.), partindose da premissa de que qualquer programa em uma linguagem de alto nível deve ser traduzido para uma linguagem de máquina para que possa ser executado. Portanto, o conjunto de instruções da máquina deve ser suficiente para expressar qualquer comando de uma linguagem de alto nível. Podemos, então, classificar as instruções de máquina nos seguintes tipos, dependendo da sua função:
  1. Processamento de dados: instruções aritméticas e lógicas;
  2. Armazenamento de dados: instruções de memória;
  3. Movimentação de dados: instruções de E/S;
  4. Controle: instruções de teste e desvio.

Ciclo de Instruções







quinta-feira, 4 de outubro de 2012


AMD (Advanced Micro Devices) é uma empresa norte-americana fabricante de circuitos integrados, especialmente processadores. Seus produtos concorrem diretamente com os processadores fabricados pela Intel. 
A AMD começou a produzir circuitos lógicos em 1969, em 1975 ingressou no mercado de circuitos integrados para memórias RAM. Nesse mesmo ano também foi introduzido no mercado um microprocessador da Intel 8080, usando de engenharia reversa para tal. A AMD também produzia outros tipos de circuitos integrados para uso em minicomputadores de arquiteturas variadas.
Em 2004 e 2005 a AMD foi a primeira a lançar os processadores com 64 bits.
Os seus processadores x86 e x86-64; K5, K6-II, K6-III, Athlon, Duron, Sempron, Athlon 64 (arquitetura de 64 bits), Sempron 64 (também com arquitetura de 64 bits), Opteron (para servidores) e Turion 64 (para notebooks). 







Intel Corporation é uma empresa multinacional de tecnologia dos Estados Unidos, que fabrica circuitos integrados como microprocessadores e outros chipsets.
O primeiro produto da empresa foi o circuito integrado de memória RAM, e a mesma logo se tornou líder neste mercado nos anos 1970. Paralelamente, os engenheiros da Intel Marcian Hoff, Federico Faggin, Stanley Mazor e Masatoshi Shima inventaram o primeiro microprocessador. Originalmente desenvolvido para a companhia japonesa Busicom a fim de substituir o ASIC's da calculadora já produzida pela Busicom, o Intel 4004 foi introduzido no mercado para produção em massa em 15 de Novembro 1971, embora o microprocessador não se transformou no núcleo do negócio de Intel até meados dos anos 1980.



segunda-feira, 1 de outubro de 2012


Definição de CPU ou UCP : 

CPU ou UCP (Unidade Central de Processamento), também chamada de processador ou microprocessador, é o "cérebro" do computador. É no processador que são feitos os cálculos lógicos e aritméticos e o controle de toda a máquina. A CPU é um circuito integrado (chip) com muita importância para o computador. Dentro do processador existem milhões de transístores. Principalmente na década passada, os fabricantes de chips produziram um conjunto enorme de novos chips cada vez mais poderosos em vários modelos. Por tanto, muitos chips diferentes foram produzidos num período de tempo tão curto que é possível dizer muita coisa sobre a idade relativa e a potência de um PC, sabendo apenas que CPU ele usa.

Definição de ALU ou ULA:

A ULA executa as principais operações lógicas e aritméticas do computador. Ela soma, subtrai, divide, determina se um número é positivo ou negativo ou se é zero. Além de executar funções aritméticas, uma ULA deve ser capaz de determinar se uma quantidade é menor ou maior que outra e quando quantidades são iguais. A ULA pode executar funções lógicas com letras e com números.


Definição de UC:

A Unidade de Controlo (UC) é responsável pela leitura e sequenciação do programa de processamento. É esta unidade que envia ordens de cálculo para a ULA, que indica os valores a processar, e os coloca nos registos para esse efeito. É também a partir da UC que a informação é transferida para as outras partes que constituem o computador, como a memória, os sistemas de I/O, etc..




Função de Relógio:

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

A quantidade de vezes em que este pulso básico se repete num segundo, define a unidade de media do  relógio denominada frequê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 acções realizadas em um determinada positivo, ou seja, controlar a velocidade com que elas ocorrem.


Principais elementos da UC:


  • Ciclo do relógio;
  • Período;
  • Frequência;

A unidade de controle desempenha duas tarefas básicas:

  • Sequenciamento; 
  • Execução;

Os sinais de controle das saídas são:

  1. Sinais de controle internos ao processador
  • Os que causam a movimentação de dados de um registador para outro;
  • Os que activam funções específicas da ULA.

     2.  Sinais de controle para o barramento de controle

  • Sinais de controle para memória;
  • Sinais de controle para os módulos de E/S.