#2 Organização de Computadores - Sistema de Computação

Um computador digital consiste de um sistema interligado de processadores, memórias e dispositivos de entrada/saída.

A UCP (Unidade Central de Processamento) tem como função executar programas armazenados na memória principal (MP), buscando as instruções, examinando-as e, então, executando uma após a outra.
 A UC é responsável pela busca das instruções da MP e sua análise.
 A ULA realiza operações lógicas e aritméticas.
 Os registradores da UCP constituem uma memória local, de alta velocidade, usada para armazenar resultados temporários, informação de controle (CP, RI, AC).

A UCP executa uma instrução na seguinte sequência:
1 - busca a próxima instrução;
2 - atualiza PC;
3 - determina tipo da instrução;
4 - determina onde estão os dados;
5 - busca os dados;
6 - executa a instrução;
7 - armazena resultados;
 8 - volta ao passo 1.
Esta sequência de passos é frequentemente referida como ciclo de busca, decodificação e execução.

Exemplo:  Considere um computador simples com as seguintes características:
 - instruções do tamanho da palavra de memória;
- memória de 4K palavras;
- um registrador chamado AC, usado para cálculos aritméticos;
- a execução de instruções somente é interrompida ao encontrar uma instrução HALT.


type palavra = ... ; endereço = ...; mem = array [0 ... 4095] of palavra;
procedure interpretador (memória: mem; ac: palavra; endini: endereço)
var CP, LD : endereço; RI, dado : palavra; DR :boolean; TI :integer; BE : 0 .. 1;
begin
CP:= endini; BE := 1;
while BE = 1 do
begin
RI := memória [CP]; CP := CP + 1;
 DTI (RI, TI); achadado (TI, RI, LD, DR);
 if DR then dado := memória [LD];
 execute (TI, dado, memória, AC, CP, BE)
 end end;

A coleção de todas as instruções disponíveis ao programador em um nível é chamada conjunto de instruções daquele nível.
O conjunto de instruções e a organização do nível de microprogramação são o conjunto de instruções e a organização do hardware (UCP).
O conjunto de instruções e a organização do nível convencional de máquina são determinados pelo microprograma e não pelo hardware.

Limites físicos determinam até que ponto as máquinas podem ser aceleradas simplesmente aumentando a velocidade do hardware.
Uma alternativa está em explorar a execução paralela de instruções, ao invés da tradicional execução sequencial (von Neumann).
As máquinas paralelas podem ser classificadas de acordo com o fluxo de instruções e de dados que elas tem (classificação de Flynn).

SISD - Single Instruction, Single Data (fluxo único de instruções e de dados); máquina von Neumann; algum paralelismo, buscando-se e iniciando-se a próxima instrução antes de terminar a corrente (CDC6600).
Pipeline - é a capacidade que o processador tem de fazer o processamento através de fases, tornando-se, assim, muito mais otimizado e rápido.
SIMD - fluxo único de instruções e múltiplo de dados.
MIMD - fluxo múltiplo de instruções e de dados;  UCPs diferentes executam programas diferentes.

Comentários

Postagens mais visitadas deste blog

#3 Organização de Computadores - Memória Principal