A arquitectura Harvard é uma arquitectura de computador que se caracteriza por armazenamento e vias de sinalização separadas para instruções e dados. Por outras palavras, tem uma memória dedicada para as instruções e outra para os dados. Esta característica torna-a diferente da arquitectura Von Neumann, que tem uma única memória para instruções e dados. A arquitectura Harvard é normalmente utilizada em microcontroladores, processamento digital de sinais (DSP) e sistemas incorporados.
Uma das vantagens mais significativas da arquitectura Harvard é a sua capacidade de executar instruções e ir buscar dados em simultâneo. Esta característica, conhecida como pipelining de instruções, permite ao processador ir buscar a instrução seguinte enquanto executa simultaneamente a instrução actual. O resultado é um processamento mais rápido e uma maior eficiência, tornando-a ideal para aplicações em tempo real.
Contudo, a arquitectura Harvard tem também algumas desvantagens. Uma das principais desvantagens é que requer mais espaço físico e um design mais complexo do que a arquitectura Von Neumann. Além disso, é mais difícil de implementar porque o processador tem de ser concebido para lidar com dois barramentos de memória separados.
Apesar dos seus desafios, a arquitectura Harvard continua a ser amplamente utilizada em microcontroladores, especialmente em aplicações que requerem processamento em tempo real, como a robótica e a automação. Outras arquitecturas habitualmente utilizadas em microcontroladores incluem a arquitectura Von Neumann e a arquitectura Harvard modificada, que combina as vantagens das arquitecturas Harvard e Von Neumann.
Os contributos de John von Neumann e Alan Turing para a arquitectura dos computadores não podem ser subestimados. Von Neumann desenvolveu a arquitectura Von Neumann, que inclui uma única memória para instruções e dados, e que continua a ser amplamente utilizada na computação moderna. Turing, por outro lado, desenvolveu o conceito de Máquina Universal de Turing, que lançou as bases da computação moderna e da arquitectura dos computadores.
Em contraste com a arquitectura Harvard, a arquitectura CISC (Complex Instruction Set Computing) caracteriza-se por um grande número de instruções complexas que podem realizar várias operações num único ciclo de instruções. Esta arquitectura é normalmente utilizada em computadores de secretária e portáteis, em que a capacidade de processamento e a velocidade são mais importantes do que a eficiência.
Em conclusão, a arquitectura Harvard caracteriza-se por barramentos de memória separados para instruções e dados, o que a torna ideal para aplicações de processamento em tempo real. No entanto, é mais difícil de implementar e requer mais espaço físico do que a arquitectura Von Neumann. Outras arquitecturas habitualmente utilizadas em microcontroladores incluem a arquitectura Von Neumann e a arquitectura Harvard modificada. Os contributos de John von Neumann e Alan Turing para a arquitectura dos computadores lançaram as bases da computação moderna e da arquitectura dos computadores.
Porque se tornou a arquitectura principal desde então? O principal contributo da arquitectura Von Neumann para os computadores da sua época foi o conceito de armazenar dados e instruções no mesmo espaço de memória, facilitando a programação e o funcionamento dos computadores. Tornou-se a principal arquitectura desde então devido à sua simplicidade, flexibilidade e eficiência na execução de instruções sequenciais.
Numa arquitectura de computador, a unidade central de processamento (CPU) é responsável pela realização de cálculos e execução de instruções. A CPU comunica com outros componentes, como a memória, os dispositivos de entrada/saída e o armazenamento secundário, através de um sistema de barramentos. A arquitectura pode ser classificada como von Neumann ou Harvard, tendo esta última espaços de memória separados para dados e instruções. O contador de programas mantém o registo da instrução que está a ser executada, enquanto o registo de instruções mantém a instrução que está a ser executada. A CPU vai buscar uma instrução à memória, descodifica-a, executa-a e, em seguida, armazena os resultados na memória ou envia-os para um dispositivo de saída. Este ciclo continua até que o programa esteja completo ou o computador seja desligado.
Os principais elementos da arquitectura de von Neumann incluem uma única unidade de memória que armazena instruções e dados, uma unidade central de processamento (CPU) que executa instruções, dispositivos de entrada/saída (E/S) para comunicar com o mundo exterior e um barramento que liga todos os componentes entre si. Esta arquitectura é também conhecida como a arquitectura do “computador de programa armazenado”.