Arquitetura de Harvard: origem, modelo, como funciona - Ciência - 2023


science

Contente

o Arquitetura de Harvard É uma configuração do computador na qual os dados e instruções de um programa estão localizados em células separadas da memória, que podem ser endereçadas de forma independente.

Ou seja, é o termo usado para um sistema de computador que contém duas áreas separadas: para comandos ou instruções e para dados. Portanto, a principal função dessa arquitetura é armazenar os dados separados fisicamente, fornecendo diferentes caminhos de sinal para instruções e dados.

Nessa arquitetura, tanto o formato quanto a mídia desses dois segmentos do sistema podem ser desiguais, uma vez que as duas partes são compostas por duas estruturas distintas.


Alguns exemplos de arquiteturas de Harvard envolvem os primeiros sistemas de computador, em que as instruções do programa podem estar em um meio, por exemplo, em cartões perfurados, e os dados armazenados podem estar em outro meio, por exemplo, em fitas magnéticas.

Formulários

Esse tipo de arquitetura tem ampla aplicação em produtos de processamento de vídeo e áudio. Com cada ferramenta de processamento de vídeo e áudio, a figura da arquitetura Harvard pode ser vista.

Dispositivos analógicos Os processadores Blackfin são os dispositivos específicos em que são usados ​​principalmente. Em outros produtos baseados em chip eletrônico, a arquitetura Harvard também é amplamente utilizada.

No entanto, a maioria dos computadores usa a arquitetura de von Neumann e emprega caches de CPU para obter uma sobreposição.

Origem

Trabalho realizado na Universidade de Harvard na década de 1940 sob a liderança de Howard Aiken criou um computador baseado em relé original, chamado Harvard Mark I, que é o termo do qual surgiu o conceito de arquitetura de Harvard.


Este computador usa unidades de memória separadas para armazenar dados e instruções. Então, houve um desenvolvimento significativo com essa arquitetura.

Aiken encorajou o uso de memórias separadas para dados e para instruções de programa, com barramentos separados para cada uma.

A arquitetura original de Harvard normalmente armazenava instruções em fitas perfuradas e dados em contadores eletromecânicos.

O armazenamento de dados dessas primeiras máquinas era inteiramente dentro da unidade de processamento central. Por outro lado, não permitiram que as instruções fossem armazenadas como dados. Um operador teve que carregar os programas.

Uma arquitetura Harvard pode processar dados e executar instruções ao mesmo tempo, porque cada um deles tem seu próprio barramento de endereços.

Modelo

Este modelo é caracterizado por os barramentos de informação e o armazenamento serem fisicamente separados para os dados e o código do programa.


Como os barramentos operam de forma autônoma, os dados e as instruções do programa podem ser obtidos ao mesmo tempo, melhorando assim a velocidade em relação ao projeto de barramento único.

Portanto, o modelo de Harvard acaba sendo mais complexo. No entanto, ter os ônibus de forma independente evita o gargalo produzido pela arquitetura de von Neumann.

Um computador pode ser mais rápido para um circuito de certa complexidade, pois consultar as instruções e acessar os dados não precisa brigar por um único barramento de memória.

Para funcionar, existem dois endereços de memória. Portanto, há um registro de memória para instruções da máquina e outro registro de memória para dados.

Ao contrário da arquitetura de von Neumann, que usa um barramento para mover instruções e dados na memória, a arquitetura de Harvard usa uma área de memória para dados e outra para instruções.

Arquitetura Modificada de Harvard

Nos computadores de hoje, não há desagregação física das áreas de memória usadas por programas e dados. Por isso, pode-se dizer que tecnologicamente possuem uma arquitetura Von Neumann.

No entanto, a arquitetura modificada de Harvard serve para melhor representar os computadores atuais.

Embora as unidades de processamento atuais compartilhem memória, elas têm certos elementos, como instruções exclusivas, que evitam que os dados se misturem com as instruções. Isso é chamado de arquitetura Harvard modificada.

Assim, a arquitetura Harvard modificada tem dois barramentos separados, um para código e outro para dados, mas a própria memória é um elemento fisicamente compartilhado.

O controlador de memória é onde fica a mudança, porque esse dispositivo é aquele que controla a memória e como ela deve ser usada.

Os projetos de computadores modernos são suportados pela arquitetura modificada de Harvard. Eles são usados ​​em microcontroladores e no processamento digital de sinais.

Como funciona a arquitetura de Harvard?

A arquitetura Harvard possui diferentes áreas de endereço de memória para o programa e para os dados.

Isso resulta na capacidade de projetar um circuito de forma que um barramento e um circuito de controle possam ser usados ​​para lidar com o fluxo de informações da memória de programa e um circuito separado para lidar com o fluxo de informações para a memória de dados.

O uso de barramentos separados significa que é possível que um programa seja recuperado e executado sem interrupção pela transferência ocasional de dados para a memória de dados.

Por exemplo, em uma versão simples desta arquitetura, a unidade de recuperação do programa poderia estar ocupada recuperando a próxima instrução na sequência do programa e, em paralelo, executando uma operação de transferência de dados que poderia ter sido parte da instrução do programa anterior. .

Nesse nível, a arquitetura Harvard tem uma limitação, pois geralmente não é possível colocar o código do programa na memória de dados e executá-lo a partir daí.

Adições na arquitetura

Muitas variantes existentes mais complicadas podem ser adicionadas à forma simples da arquitetura de Harvard.

Uma adição comum é adicionar um cache de instrução ao barramento de dados do programa, o que permite à unidade de execução de instrução acesso mais rápido à próxima etapa do programa, sem ter que ir para uma memória mais lenta para chegar à etapa. do programa sempre que necessário.

Endereços de memória

Um computador Harvard tem diferentes áreas de dados e endereços de instrução: o endereço de instrução um não é a mesma área que o endereço de dados um.

O endereço de instrução um pode conter um valor de vinte e quatro bits, enquanto o endereço de dados um pode indicar um byte de oito bits, que não faz parte desse valor de vinte e quatro bits.

Sistema de memória

Uma vez que existe uma área de memória separada para instruções e dados, separando tanto os sinais quanto o armazenamento da memória do código e dos dados, isso torna possível acessar cada um dos sistemas de memória simultaneamente.

Vantagem

- Há menos chance de corrupção na transmissão, uma vez que os dados e as instruções são transferidos por ônibus diferentes.

- Dados e instruções são acessados ​​da mesma forma.

- Permite diferentes mídias de armazenamento para instruções e dados. Por exemplo, você pode colocar as instruções em uma ROM barata e os dados em uma RAM cara.

- As duas memórias podem usar diferentes tamanhos de células, fazendo uso efetivo dos recursos.

- Possui maior largura de banda de memória, o que é mais previsível por possuir memórias separadas para instruções e dados.

Nível de proteção

Em sistemas que não possuem uma unidade de gerenciamento de memória, oferece um nível adicional de proteção, pois os dados não podem ser iniciados como código, expondo o sistema a diversos problemas, como estouro de buffer.

É por isso que é popular com pequenos sistemas embarcados, como micro-ondas ou relógio.

Maior velocidade

A arquitetura Harvard pode ler uma instrução e também acessar a memória de dados simultaneamente em alta velocidade.

Oferece maior performance, pois permite a obtenção simultânea de dados e instruções para serem armazenados em memórias separadas e trafegados por diferentes barramentos.

Uma arquitetura Harvard geralmente ajudará um computador com um certo nível de complexidade a funcionar mais rápido do que uma arquitetura Von Neumann, desde que não seja necessário compartilhar recursos entre o código e as memórias de dados.

Se as limitações dos pinos ou outros fatores forçarem o uso de um único barramento para acessar os dois espaços de memória, esses benefícios provavelmente serão anulados.

Desvantagens

Maior complexidade e custo

O problema com a arquitetura de Harvard é sua grande complexidade e custo, porque em vez de um barramento de dados, agora são necessários dois.

Produzir um computador de dois barramentos é muito mais caro e leva mais tempo para fabricar. Requer uma unidade de controle para dois ônibus, que é mais complicada, demorada e cara de desenvolver.

Isso significa uma implementação mais complexa para os fabricantes. Requer mais pinos na CPU, uma placa-mãe mais complexa e ter que duplicar os chips de RAM, além de um layout de cache mais complexo.

Pouco uso

A arquitetura Harvard não é amplamente utilizada, tornando-a mais difícil de implementar. É por isso que raramente é usado fora da CPU.

No entanto, essa arquitetura às vezes é usada dentro da CPU para gerenciar seus caches.

Uso indevido de espaço de memória

Quando há espaço livre na memória de dados, ele não pode ser usado para armazenar instruções e vice-versa.

Portanto, as memórias particulares que são dedicadas a cada um deles devem ser cuidadosamente balanceadas em sua fabricação.

Referências

  1. Diferenças de lista (2019). Diferença entre a arquitetura de Von Neumann e Harvard? Retirado de: listdifferences.com.
  2. Revista PC (2019). Definição de: arquitetura de Harvard. Retirado de: pcmag.com.
  3. Techopedia (2019). Harvard Architecture. Retirado de: roofpedia.com.
  4. Scott Thornton (2018). Qual é a diferença entre as arquiteturas de Von-Neumann e Harvard? Dicas de microcontrolador. Retirado de: microcontrollertips.com.
  5. Wikipedia, a enciclopédia livre (2019). Arquitetura de Harvard. Retirado de: en.wikipedia.org.
  6. The Crazy Programmer (2019). Diferença entre Von Neumann e Harvard Architecture. Retirado de: thecrazyprogrammer.com.