#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
Postar um comentário