Prévia do material em texto
Arquitetura de von Neumann A arquitetura de von Neumann - também conhecida como modelo de von Neumann ou arquitetura de Princeton - é uma arquitetura de computador baseada em uma descrição de 1945 por John von Neumann e outros no primeiro rascunho de um relatório sobre o EDVAC. Esse documento descreve uma arquitetura de design para um computador digital eletrônico com estes componentes: • Uma unidade de processamento que contém uma unidade lógica aritmética e registros de processador • Uma unidade de controle que contém um registro de instrução e contador de programa • Memória que armazena dados e instruções • Armazenamento de massa externo • Mecanismos de entrada e saída O termo "arquitetura de von Neumann" evoluiu para significar qualquer computador com programa armazenado no qual uma busca de instrução e uma operação de dados não podem ocorrer ao mesmo tempo porque eles compartilham um barramento comum. Isso é conhecido como gargalo de von Neumann e muitas vezes limita o desempenho do sistema. O projeto de uma máquina de arquitetura von Neumann é mais simples do que uma máquina de arquitetura Harvard - que também é um sistema de programa armazenado, mas tem um conjunto dedicado de endereços e barramentos de dados para leitura e gravação na memória, e outro conjunto de endereços e barramentos de dados para buscar instruções . Um computador digital de programa armazenado mantém ambas as instruções do programa e dados em leitura e escrita, memória de acesso aleatório (RAM). Os computadores com programas armazenados foram um avanço em relação aos computadores controlados por programas da década de 1940, como o Colossus e o ENIAC. Eles foram programados configurando interruptores e inserindo cabos patch para rotear dados e sinais de controle entre várias unidades funcionais. A grande maioria dos computadores modernos usa a mesma memória para dados e instruções de programa, mas têm caches entre a CPU e a memória e, para os caches mais próximos da CPU, têm caches separados para instruções e dados, de modo que a maioria das instruções e dados buscas usam ônibus separados (arquitetura de cache dividido ).