Organização Estruturada de Computador - Aula 3



Nesta aula será apresentada uma visão geral do funcionamento do processador de um computador

O texto abaixo é um resumo das seções 2.1 e  2.1.1 a  2.1.6 do capítulo 2 do lívro: Organização Estruturada de Computadores de Andrew S. Tanenbaum, 4a Edição, 2001.

Importante: O resumo abaixo deve ser complementado, pelo aluno, com a leitura do texto original do livro.


Tópicos


Processadores

    Organização geral de um computador: processador + memória principal + periféricos de E/S
 figura 2.1

Figura 2-1: Organização de um computador muito simples, com 1 processador e 2 dispositivos de E/S

    O processador é o "cérebro" do computador.

    Sua função é  executar os programas armazenados na memória principal. O processador busca cada instrução na memória, examina-a e executa uma após outra.

    Barramentos: Os componentes de um computador são ligados por barramentos

    Componentes de um processador: (ver figura 2-1)
 
Up

Organização do Processador

    :

figura 2.2

 Figura 2-2: Caminho de dados para uma máquina típica de Von Neumann.

    Caminho de dados:

    Importante: A velocidade do caminho de dados  determina a velocidade do computador
.
 
Up

Execução de Instruções (pelo processador)

    Ciclo de Busca-Decodificação-Execução de 1 instrução 

    1. Busca próxima instrução na memória e armazena no IR
    2. Atualiza Contador de instrução PC para apontar para a próxima instrução
    3. Determina tipo de instrução armazenada no IR
    4. Determina endereço dos dados na memória, se a instrução requer dados adicionais
    5. Busca palavras (dados) na memória, caso a instrução precisar, e armazena-as em outros registradores
    6. Executa instrução
    7. Volta ao passo 1

        Ver Figura 2.3 - Interpretador de procedimento JAVA

    Observações

    Compatibilização entre famílias de computadores

        Problema 1: Como construir computadores de baixo custo capaz de executar todas as instruções complexas de máquinas de alta performance, muito mais caras?
         Vantagens do interpretador em relação ao hardware puro        Problema 2: O uso da interpretação permitiu a criação de um conjunto grande de instruções () de importância discutível e que eram difíceis e caras para serem implementadas diretamente por hardware (circuitos muito complexos).
   

    RISC versus CISC
   
             RISC - Reduced Instruction Set Computer
    CISC - Complex Instruction Set Computer 
Argumento: Mesmo que uma máquina RISC precisasse de 4 ou 5 instruções para fazer o que uma maquina CISC faria com apenas 1 instrução, se a instrução RISC fosse 10 vezes mais rápida (só hardware) a máquina RISC vencia.

Questão: Porque então a tecnologia RISC não suplantou a CISC ?

 
Up

Princípios de Projeto para  Computadores Modernos

Princípios do projeto RISC que os arquitetos de processadores de propósito geral devem seguir:

Observação:  Outras soluções
Existe limite tecnológico para desenvolvimento do hardware do chip de processamento que depende do estado da arte da tecnologia.
Solução para aumentar a velocidade do processador: Uso de paralelismo.

 
Up

Paralelismo ao Nível de Instruções

    Maior gargalo para a velocidade de execução de instruções é o acesso a memória

    Execução em Pipeline


    O processamento em pipeline divide a execução de instruções em várias partes, cada uma das quais tratada por um hardware dedicado exclusivamente a ela.

    Funcionamento de um pipeline de 5 estágios

figura 2-4

Figura 2-4: (a) Pipeline de 5 estágios. (b) Estado de cada um dos estágios como função do tempo. Estão ilustrados nove períodos de clock.
 
    A idéia básica do pipeline é a mesma de uma linha de produção em série. Vários processamentos estão sendo executados ao mesmo tempo.

    A Figura 2.4 mostra o funcionamento do pipeline mostrando que os estágios de cada processamento são aplicados a várias instruções ao mesmo tempo. Por exemplo: no tempo 1 a instrução 1 está sendo lida, no tempo 2 a instrução 1 está sendo decodificada enquanto que a instrução 2 está sendo lida, no tempo 3 a instrução 1 está buscando dados, a instrução 2 estás sendo decodificada e a instrução 3 está sendo lida, e assim por diante.


    Arquiteturas Superescalares


    Se um pipeline é bom,  com certeza dois serão ainda melhor. (Veja figura 2.5)

    Neste caso, uma única unidade de busca de instruções lê 2 instruções e coloca cada uma em 1 pipeline

    A execução dessas instruções é feita em paralelo e:

figura 2-5

Figura 2-5. Dois pipelines de 5 estágios com uma unidade de busca de instruções comum a ambos.


    Máquinas de alta performance usam outra metodologia, a arquitetura Superescalar

    A idéia básica é ter um único pipeline, com diversas unidades funcionais (Veja Figura 2.6)

    O estágio 3 pode distribuir instruções a uma velocidade consideravelmente mais alta do que o estagio 4 pode executá-las. Este estágio usa vários dispositivos de hardware (inclusive mais do que uma UAL) para acelerar o processamento neste estágio.

figura 2-6


                      Figura 2.6 Processador superescalar com 5 unidades funcionais



 
Up


Paralelismo ao Nível do Processador

     A medida que os processadores vão ficando mais rápido:

    Operação do processador em  pipeline ou  em superescalar possibilita ganhos de 5 a ~10 vezes

    Para ganhos maiores, 50-100 ou mais vezes, deve-se projetar computador com mais de 1 processador


    Computadores Matriciais (2 implementações)


figura 2-7

                          Figura 2-7: Processador Matricial do tipo ILLIAC IV

  
     Problema: Os processadores matriciais não são independentes  pois compartilham uma única UC

     Multiprocessadores


figura 2-8


Figura 2-8: (a) Multiprocessador organizado em torno de um único barramento. (b) Multicomputador com memórias locais. 
 
     Problema: Sistemas com muitos processadores (>64) são de difícil implementação. Dificuldade está na conexão dos processadores a memória.

     Multicomputadores Importante: Como sistemas multiprocessadores são mais fáceis de programar e sistemas multicomputadores são mais fáceis de construir, existem sistemas híbridos. Tais computadores dão a ilusão de compartilhamento de memória, sem arcar com o ônus de implementá-la diretamente.

 
Up