110 likes | 201 Views
Organização de Sistemas de Computadores Um computador digital consiste de um sistema interligado de processadores, memórias e dispositivos de entrada/saída. UC. UCP. ULA. REGS. MP. E/S. barramento. A UCP (Unidade Central de Processamento) tem como função
E N D
Organização de Sistemas de Computadores Um computador digital consiste de um sistema interligado de processadores, memórias e dispositivos de entrada/saída. UC UCP ULA REGS MP E/S barramento
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) UC Análise de Instrução - - - UF1 UF2 UFn MP
máquina “pipeline” Busca da Instrução Análise da Instrução UCP Cálculo do Endereço Busca do Dado Execução da Instrução MP
SIMD - Single Instruction, Multiple Data (fluxo único de instruções e múltiplo de dados). “array processor” UC ULA ULA ULA ULA REGS REGS REGS REGS MP
MIMD - Multiple Instruction, Multiple Data (fluxo múltiplo de instruções e de dados); UCPs diferentes executam programas diferentes. sistema multiprocessador com memória compartilhada UC UC UCP1 ULA UCP2 ULA REGS REGS MP