Arquitetura de Von Neumann

A Arquitetura de Von Neumann e os Computadores Atuais

Ao fazer uma análise dos componentes e do funcionamento de um computador moderno é possível observar semelhanças com a Arquitetura de Von Neumann. Esta arquitetura especifica sistemas computacionais compostos por três elementos de hardware: CPU, Memória e Dispositivos de Entrada e Saída. Além dos quesitos de hardware, pode-se afirmar que uma máquina de Von Neumann deve estar de acordo com os seguintes conceitos: i) armazenamento de instruções e dados em uma única memória; ii) não distinção do tipo do dado armazenado em memória; e iii) execução de instrução em uma ordem preferencialmente sequencial, com possibilidade de salto via instrução no próprio programa.

O Simulador K&S e a Arquitetura de Von Neumann.

A máquina implementada por este simulador (ver Figura 1) possibilita a execução de quatro operações (+, -, & e I), usando como entrada números inteiros em binário e decimal (com ou sem sinal). A execução de operações e a sua relação com um fluxo de execução de instruções e da efetiva manipulação de dados, já implica na existência de um dispositivo com características de uma CPU. Quando se observa a execução de uma operação com a obtenção de dados de um conjunto de registradores (memória) e armazenamento de dados em um outro registrador, pode-se inferir na existência de entrada e saída de dados.

Em sua configuração com o menor número de funcionalidades, o uso é quase que intuitivo, bastando: i) digitar os dados de entrada nos registradores desejados; ii) selecionar quais as vias de endereço serão usadas para as entradas e saída; iii) selecionar a operação desejada e, finalmente; iv) clicar no botão "Execute", observando o "transporte de dados" e a execução da operação desejada. Opcionalmente o usuário pode definir o sistema de numeração usado e a velocidade de execução.

Figura 1 - K&S Simulator (versão completa)

Observa-se que as ações descritas materializam a relação com a Arquitetura de Von Neumann, já que especificam armazenamento de dados, definição de operação e processamento destes dados, finalizando com o armazenamento do resultado.

Um Exemplo de Uso

Para executar uma subtração entre dois números inteiros, use o simulador clicando na Figura 2 . Uma nova aba se abrirá, permitindo que sejam executadas as seguintes tarefas: i) entre com os argumentos necessários em dois dos seus registradores, digitando na caixa de texto referente ao registrador R2 o valor 4 e em R3 digite 5; ii) selecione estes registradores para envio via barramento, clicando nos seletores de barramento de entrada (A e B) até que estes apontem para os registradores R2 e R3, respectivamente; iii) selecione qual registrador receberá o resultado da operação, clicando no seletor de registrador de saída (C) até que ele aponte para R0; iv) em "ALU Operation" clique no seletor até que ele aponte para a operação de subtração (A-B) e finalmente; v) clique no botão "Execute".

Figura 2 - K&S Simulator (versão do fluxo de dados).

Para Pensar

Na execução da simulação é importante que o usuário observe os sinalizadores localizados na área de resultado da ALU. Para a operação executada no exemplo observa-se que os sinalizadores "Negative" e "Unsigned Overflow". O de negativo é visualmente compreendido, já que o resultado é negativo. O de Transbordo Sem Sinal indica que o resultado excedeu o número de bits usado nos registradores e que este transbordo não é sinalizado.

Para Fazer e Saber Mais