quinta-feira, 20 de outubro de 2011

Pipeline

Pipeline é um técnica de implementação nos processadores que permite a execução sobreposta de várias instruções ao mesmo tempo. Através disso, o processador consegue efetuar os conjuntos de ações de forma muito mais rápida sobrepondo os mesmo assim que acabam de executar.
Tem aqui o exemplo de um lavandaria sem aplicação de pipeline:




Exemplo com aplicação de pipeline:


O tempo por instrução com pipeline pode ser calculado através da expressão:





Exemplo real sem e com pipeline:



Com a aplicação da pipeline vimos que é possivel aumentar bastante o rendimento de exucução, ou seja, conseguimos não diminuir o tempo das instruções mas sim sobrepô-las de modo a ter uma execução mais rápido.

quarta-feira, 19 de outubro de 2011

CPU - Instruções

As operações do CPU são determinadas pelas instruções que ele executa, chamando-se instruções de máquina.
As várias instruções que um CPU pode efectuar chamam-se conjuntos de instruções.
Nos processadores existem duas tecnonoligas diferentes de conjuntos de instruções:

  • Sistema com conjuntos de intruções complexo (CISC) - O processador tem muitas instruções mas é mais lento;
  • Sistema com conjuntos de intruções reduzido (RISC) - O processador tem menos instruções mas processa mais rápidamente;
As instruções dividem-se em duas partes:

  1. Indica qual a instruções e como vai ser executada, sendo consituida por um campo;
  2. São os dados que vão ser processados, pode ser constituido por mais do que um campo.
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ódigo de operação de tamanho fixo - A execução e manipulação é mais facilitada, tendo todas as instruções o mesmo número de bits;
  2. Instruções com código de operação de tamanho variável - Permite maior versatilidade porque permite a codificação de um número maior de instruções usando uma menor quantidade de bits.
Existem diversos tipos de instruções, que podem ser classificadas como instruções de:
  • 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;
  • Controlo: instruções de teste e desvio.

Aqui tem um esquema de como é feito o ciclo das instruções, neste caso é o ciclo sem interrupção:





    quinta-feira, 13 de outubro de 2011

    CPU - Central Processing Unit

    O CPU(Central Processing Unit) ou UCP(Unidade Central de Processamento) é um chip, capaz de efetuar diversas operações como cálculos, processamento, obter endereços de memória, etc.
    Ele é composto por diversos componentes tais como:
    • UAL (Unidade Aritmética e lógica)
    • UC (Unidade de Controlo)
    • Descodificador de Instrução
    • Registador de Instrução
    • Contador de Instrução
    • Relógio
    • Registador de endereços de memória
    • Registador de dados de memória
    Aqui tem um esquema dos componentes da UCP.





    A UAL (Unidade Aritmética e Lógica) é a responsável por todos os cálculos efectuados no processador. Ela recebe dois valores que podem ser 16, 32, 64 bits (conforme o tamanho da palavra e do tipo de processador) e faz operações que podem ser aritméticas ou lógicas.  


    Tem aqui o esquema principal da ULA:
    






    A UC (Unidade de Controlo), é responsável por controlar tudo  o que se passa no processador. É ele que controla a transmissaõ de dados do processador, controla a operação da ULA e a execução de instruções, entre muitas outras funcionalidades.

    Aqui tem o modelo da UC:
    
    

    A UC utiliza vários registadores, entre eles:

  1. Descodificador de Instrução - Descodifica e "diz" à UC qual a instrução a fazer.

  2. Registador de Instrução - Guarda a instrução que vai ser ou está a ser executada.

  3. Contador de Instrução - Guarda o endereço da próxima instrução a ser executada.

  4. Registador de Dados de memória - Vai buscar e armazena temporáriamente a instrução a ser executada.

  5. Registador de Endereços de memória - Armazena o endereço da memória onde se encontra a instrução a ser executada.



  6. O relógio ou clock é responsável por sincronizar e cadênciar o processador, ou seja, premitir que duas ou mais ações ocorram ao mesmo tempo e controlar a velocidade a que elas são realizadas gerando um pulso a cada x tempo, chamado isso de frequência que é normalmente medida em Hz (Hertz). Isto é, 1Hz significa 1 pulso por segundo.

    quinta-feira, 6 de outubro de 2011

    Steve Jobs (1955 - 2011)

    Steve Jobs, um homem que revoluciou o mundo da informática e tecnologia.

    Homenagem a Steve Jobs (1955-2011)