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


science

Contente

o arquitetura de von Neumann É um projeto teórico para que um computador possa ter um programa armazenado internamente, servindo de base para quase todos os computadores que são fabricados atualmente.

Uma máquina de von Neumann consiste em uma unidade de processamento central, que inclui uma unidade de lógica aritmética e uma unidade de controle, bem como memória principal, armazenamento secundário e dispositivos de entrada / saída.

Essa arquitetura pressupõe que todo cálculo extrai dados da memória, os processa e depois os envia de volta para a memória.

Em uma arquitetura de von Neumann, a mesma memória e o mesmo barramento são usados ​​para armazenar os dados e as instruções que executam um programa.


Melhoria da arquitetura

Como os dados e a memória do programa não podem ser acessados ​​ao mesmo tempo, a arquitetura de von Neumann está sujeita a gargalos e enfraquecimento do desempenho do computador. Isso é conhecido como gargalo de von Neumann, onde a energia, o desempenho e o custo são afetados.

Uma das mudanças feitas envolveu repensar a quantidade de dados que realmente precisava ser enviada para a memória e a quantidade que poderia ser armazenada localmente.

Dessa forma, em vez de ter que enviar tudo para a memória, vários caches e caches de proxy podem reduzir o fluxo de dados dos chips do processador para diferentes dispositivos.

Origem

Em 1945, após a Segunda Guerra Mundial, dois cientistas sugeriram de forma independente como construir um computador mais maleável. Um deles era o matemático Alan Turing e o outro era o igualmente talentoso cientista John Von Neumann.


O britânico Alan Turing esteve envolvido na quebra do código Enigma em Bletchley Park, usando o computador 'Colossus'. Por outro lado, o americano John Von Neumann vinha trabalhando no Projeto Manhattan para construir a primeira bomba atômica, que exigia muitos cálculos manuais.

Até então, os computadores em tempo de guerra eram mais ou menos "programados", reconectando toda a máquina para realizar uma tarefa diferente. Por exemplo, o primeiro computador chamado ENIAC levou três semanas para se reconectar e fazer um cálculo diferente.

O novo conceito consistia em que em uma memória não apenas os dados deviam ser armazenados, mas também o programa que processava esses dados deveria ser armazenado na mesma memória.

Essa arquitetura de programa armazenada internamente é comumente conhecida como arquitetura 'Von Neumann'.

Essa ideia nova significava que um computador com essa arquitetura seria muito mais fácil de reprogramar. Na verdade, o próprio programa seria tratado da mesma forma que os dados.


Modelo

O principal fundamento do modelo de Von Neumann é o pensamento de que o programa é armazenado internamente em uma máquina. A unidade de memória contém os dados e também o código do programa. O projeto de arquitetura consiste em:

- Unidade de processamento central (CPU)

É o circuito digital responsável por executar as instruções de um programa. Também é chamado de processador. A CPU contém a ALU, a unidade de controle e um conjunto de registros.

Unidade aritmética lógica

Esta parte da arquitetura está envolvida apenas na execução de operações aritméticas e lógicas nos dados.

Os cálculos usuais de adição, multiplicação, divisão e subtração estarão disponíveis, mas comparações de dados como 'maior que', 'menor que', 'igual a' também estarão disponíveis.

Unidade de controle

Ele controla a operação da ALU, memória e dispositivos de entrada / saída do computador, informando-os sobre como agir de acordo com as instruções do programa que você acabou de ler da memória.

A unidade de controle gerenciará o processo de movimentação de dados e programas de e para a memória. Também se encarregará de executar as instruções do programa, uma de cada vez ou sequencialmente. Isso inclui a ideia de um registro para armazenar os valores intermediários.

Registros

Eles são áreas de armazenamento de alta velocidade na CPU. Todos os dados devem ser armazenados em um registro antes de serem processados.

O registro de endereço de memória contém a localização da memória dos dados a serem acessados. O registro de dados da memória contém os dados que são transferidos para a memória.

- Memória

O computador terá memória que pode armazenar dados, bem como o programa que processa esses dados. Em computadores modernos, essa memória é a RAM ou memória principal. Esta memória é rápida e acessível diretamente pela CPU.

A RAM é dividida em células. Cada célula consiste em um endereço e seu conteúdo. O endereço identificará exclusivamente cada local na memória.

- Entrada saída

Essa arquitetura permite capturar a ideia de que uma pessoa precisa interagir com a máquina, por meio dos dispositivos de entrada-saída.

- Ônibus

As informações devem fluir entre as diferentes partes do computador. Em um computador com a arquitetura von Neumann, as informações são transmitidas de um dispositivo para outro ao longo de um barramento, conectando todas as unidades da CPU à memória principal.

O barramento de endereço carrega os endereços dos dados, mas não os dados, entre o processador e a memória.

O barramento de dados transporta dados entre o processador, a memória e os dispositivos de entrada-saída.

Como funciona a arquitetura de von Neumann?

O princípio relevante da arquitetura de von Neumann é que tanto os dados quanto as instruções são armazenados na memória e tratados da mesma forma, o que significa que as instruções e os dados são direcionais.

Funciona em quatro etapas simples: localizar, decodificar, executar, armazenar, chamadas de “Ciclo da Máquina”.

As instruções são obtidas pela CPU da memória. A CPU então decodifica e executa essas instruções. O resultado é armazenado de volta na memória após a conclusão do ciclo de execução da instrução.

Procurar por

Nesta etapa, as instruções são obtidas da RAM e armazenadas em cache para acesso pela unidade de controle.

Decodificar

A unidade de controle decodifica as instruções de modo que a unidade lógica aritmética possa entendê-las e, em seguida, as envia para a unidade lógica aritmética.

Corre

A unidade lógica aritmética executa as instruções e envia o resultado de volta para o cache.

Para estoque

Uma vez que o contador do programa indica parada, o resultado final é baixado para a memória principal.

Gargalo da garrafa

Se uma máquina von Neumann deseja realizar uma operação com dados na memória, ela deve ser transferida via barramento para a CPU. Depois de realizar o cálculo, o resultado precisa ser movido para a memória por meio do mesmo barramento.

O gargalo de Von Neumann ocorre quando os dados que estão sendo inseridos ou removidos da memória devem permanecer enquanto a operação de memória atual é concluída.

Ou seja, se o processador acaba de completar um cálculo e está pronto para realizar o próximo, ele deve escrever o cálculo finalizado, que ocupa o barramento, na memória antes de poder recuperar novos dados da memória, que também usa o mesmo barramento.

Esse gargalo tem piorado com o tempo, pois os microprocessadores aumentaram sua velocidade e, por outro lado, a memória não avançou tão rapidamente.

Vantagem

- A unidade de controle recupera dados e instruções da mesma forma da memória. Portanto, o projeto e o desenvolvimento da unidade de controle são simplificados, sendo mais baratos e rápidos.

- Os dados dos dispositivos de entrada / saída e da memória principal são recuperados da mesma maneira.

- A organização da memória é feita pelos programadores, o que permite utilizar toda a capacidade da memória.

- Gerenciar um único bloco de memória é mais simples e fácil de conseguir.

- O design do chip do microcontrolador é muito mais simples, pois apenas uma memória será acessada. O mais importante sobre o microcontrolador é o acesso à RAM e, na arquitetura de von Neumann, isso pode ser usado tanto para armazenar dados quanto para armazenar instruções de programa.

Desenvolvimento de sistemas operacionais

A principal vantagem de ter a mesma memória para programas e dados é que os programas podem ser processados ​​como se fossem dados. Em outras palavras, você pode escrever programas cujos dados são outros programas.

Um programa cujos dados são outro programa nada mais é do que um sistema operacional. Na verdade, se programas e dados não fossem permitidos no mesmo espaço de memória, como é o caso da arquitetura de von Neumann, os sistemas operacionais nunca poderiam ter sido desenvolvidos.

Desvantagens

Embora as vantagens superem as desvantagens, o problema é que há apenas um barramento conectando a memória ao processador, portanto, apenas uma instrução ou um item de dados pode ser obtido por vez.

Isso significa que o processador pode ter que esperar mais tempo para que os dados ou instruções cheguem. Isso é conhecido como gargalo de von Neumann. Como a CPU é muito mais rápida do que o barramento de dados, isso significa que muitas vezes está ociosa.

- Devido ao processamento sequencial das instruções, a implementação paralela do programa não é permitida.

- Ao compartilhar memória, existe o risco de que uma instrução seja substituída por outra devido a um erro no programa, causando o travamento do sistema.

- Alguns programas defeituosos não conseguem liberar memória ao terminá-los, o que pode fazer o computador travar devido à memória insuficiente.

- Dados e instruções compartilham o mesmo barramento de dados, embora a velocidade com que cada um deve ser recuperado geralmente seja muito diferente.

Referências

  1. Engenharia de semicondutores (2019). Arquitetura de Von Neumann. Retirado de: semiengineering.com
  2. Scott Thornton (2018). Qual é a diferença entre as arquiteturas de Von-Neumann e Harvard? Dicas de microcontrolador. Retirado de: microcontrollertips.com.
  3. Ensine TIC (2019). A máquina Von Neumann. Retirado de: teach-ict.com.
  4. Ciência da Computação (2019). Arquitetura de Von Neumann. Retirado de: computerscience.gcse.guru.
  5. Aprenda TI com o Sr. C (2019). A máquina Von Neumann. Retirado de: learnitwithmrc.co.uk.
  6. Solid State Media (2017). Como funcionam os computadores? A arquitetura de Von Neumann. Retirado de: solidstateblog.com.