GCSE Von Neumann Architecture (14-16 anos)

>

  • Uma apresentação de aula editável em PowerPoint
  • Publicações de revisão editáveis
  • Um glossário que cobre as terminologias-chave do módulo
  • Masmos mentais tépidos para visualizar os conceitos-chave
  • Cartões flash imprimíveis para ajudar os alunos a engajar a recordação ativa e a confiança…com base na repetição
  • Um questionário com a chave de resposta para testar o conhecimento e compreensão do módulo

A-Nível Processadores contemporâneos (16-18 anos)

  • Uma apresentação de aula editável em PowerPoint
  • Publicações de revisão editáveis
  • Um glossário que cobre as terminologias-chave do módulo
  • Masmos mentais tépidos para visualizar os conceitos-chave
  • Cartões flash imprimíveis para ajudar os alunos a engajar a recordação ativa e a confiança…Repetição baseada na repetição
  • Um questionário com a chave de resposta para testar o conhecimento e compreensão do módulo

O termo Arquitecturas de computador refere-se a um conjunto de regras que indicam como software e hardware de computador são combinados entre si e como interagem para tornar um computador funcional, Além disso, a arquitetura do computador também especifica quais tecnologias o computador é capaz de lidar.

A arquitectura de computadores é uma especificação, que descreve como software e hardware interagem em conjunto para produzir uma plataforma funcional.

Quando uma pessoa pensa na palavra “arquitectura”, a mente humana irá provavelmente pensar na montagem de edifícios ou casas, além disso, com o mesmo princípio em mente, a arquitectura de computadores envolve a construção de um sistema informático interna e externamente.

Existem três categorias principais na arquitetura de computadores:

  • O projeto do sistema:
    • O projeto do sistema são as partes de hardware, que incluem multiprocessadores, controladores de memória, CPU, processadores de dados e acesso direto à memória. O design do sistema pode ser considerado como o sistema de computador real.
  • Arquitetura do conjunto de instruções:
    • Isto gira em torno da CPU. Inclui as capacidades e funções da CPU, além dos formatos de dados da CPU, linguagem de programação e tipos de registros e instruções do processador, que são usados pelos programadores do computador.
    • A CPU é a parte em um computador, que faz um programa ser executado, seja o sistema operacional ou uma aplicação como o Photoshop.
  • Microarquitetura:
    • A microarquitetura em um sistema irá definir os caminhos do elemento de armazenamento / dados e como eles serão implementados na arquitetura do conjunto de instruções, a microarquitetura também é responsável pelo processamento de dados.

Todos eles irão gelar juntos em uma certa ordem para tornar o sistema funcional.

Qual é a arquitetura von Neumann?

Em 1945, John von Neumann, que era matemático na época, mergulhou no estudo que, um computador poderia ter uma estrutura simples fixa e ainda ser capaz de executar qualquer tipo de computação sem modificação de hardware. Isto é, desde que o computador seja devidamente programado com instruções adequadas, nas quais ele seja capaz de executá-las.

O avanço primário de Neumann foi referido como “transferência de controle condicional”, o que permitiu que uma seqüência de programa fosse interrompida e reiniciada a qualquer momento, além disso, este avanço permitiu que os dados fossem armazenados com instruções na mesma unidade de memória.

Isto foi benéfico porque se as instruções fossem desejadas, elas podem ser modificadas aritmeticamente da mesma forma que os dados.

A arquitetura von Neumann descreve um modelo de projeto para um computador digital de programa armazenado que incorpora apenas uma única unidade de processamento e uma única estrutura de armazenamento separada, que conterá tanto as instruções como os dados.

A arquitectura von Neumann refere-se a uma que mantém os dados assim como as instruções programadas na RAM (Random Access Memory).

Características da arquitectura von Neumann

Como mencionado acima, a arquitectura von Neumann baseia-se no facto de os dados do programa e os dados das instruções serem armazenados na mesma unidade de memória. Isto também pode ser referido como o “conceito de programa armazenado”.

Este design ainda é usado no computador produzido hoje em dia:

Von-Neumann vs Harvard Architecture Image 1

Central Processing Unit (CPU):

  • O CPU é um circuito eletrônico, que executa as instruções do programa de computador.
  • A CPU também pode ser referida como um microprocessador ou um processador.

Com a CPU, existe uma ALU, CU, e os registos, que são descritos com mais detalhes abaixo:

Unidade de Controlo:

  • Controla o funcionamento da ALU, memória e entrada/saída, instruindo-os como responder às instruções do programa que acabou de ler e interpretar a partir da unidade de memória. A unidade de controle direciona as operações da CPU, executando os seguintes trabalhos:
    • Coordenando e controlando as atividades da CPU
    • Gerenciando o fluxo de dados entre outros componentes e a CPU
    • Conhecendo e aceitando a próxima instrução
    • Descodificando instruções
    • Arquivando os dados resultantes em uma unidade de memória

Unidade Aritmética e Lógica (ALU):

  • Permite realizar operações lógicas e aritméticas, tais como adição e subtracção.
  • (Operadores lógicos são: AND, OR, NOT, XOR)

Unidade Memória:

  • Consiste de RAM, que é particionada e consiste de um endereço e seu conteúdo, que estão em formato binário.
  • RAM (Random Access Memory) é um tipo rápido de memória, ao contrário dos discos rígidos, também é diretamente acessível pela CPU.
  • A existência de RAM em uma CPU, permite que ela funcione muito mais rápido e, portanto, mais eficiente.

Registros:

  • Bloqueio pequeno na CPU que consiste em células de memória de armazenamento de alta velocidade que armazenam dados antes de serem processados, todas as operações lógicas, aritméticas e de deslocamento ocorrem aqui.
  • O registo consiste em 5 componentes
    • Contador de Programas (PC): Guarda o endereço da próxima instrução a ser executada
    • Acumulador (AC): Área de armazenamento onde são armazenados os resultados lógicos e aritméticos
    • Registro de endereço de memória (MAR): Armazena o endereço de um local dos dados que devem ser lidos ou escritos
    • Registro de dados de memória (MDR): Local de armazenamento temporário que armazena dados que foram lidos, ou dados que ainda precisam ser escritos
    • Registro de Instrução Atual (CIR): Área onde a instrução atual está sendo executada. A operação é dividida em operand e opcode.
      • Operand: Contém os dados ou o endereço dos dados (onde a operação será executada)
      • Opcode: Especifica o tipo de instrução a ser executada

Bus:

  • Estes são um conjunto de fios paralelos, que ligam componentes (dois ou mais) dentro da CPU. Dentro da CPU, existem três tipos de barramentos, e todos eles são referidos a um barramento do sistema. Os tipos de barramentos são: Barramento de dados, Barramento de controle, e Barramento de endereço.
  • Barramento de dados: Este barramento é referido como um barramento bidirecional, que significa que “bits” podem ser transportados em ambos os sentidos. Este barramento é usado para transportar dados e instruções entre o processador, unidade de memória e a entrada/saída.
  • Barramento de endereço: Transmite o endereço da memória especificando de onde os dados relevantes precisam ser enviados ou recuperados. (O barramento de endereço não transporta os dados, apenas o endereço)
  • Barramento de controle: Este também é um barramento bidirecional usado para transmitir “sinais de controle”/comandos da CPU (e sinais de status de outros componentes), a fim de controlar e coordenar todas as atividades dentro do computador.

Inputs/Outputs:

  • Informação passada pelo usuário/informação recebida pelo usuário.

Vantagens e Desvantagens da Arquitectura von Neumann

>

>

Vantagens Desvantagens
A unidade de controlo recupera instruções e dados da mesma forma a partir de uma unidade de memória. Isto simplifica o desenvolvimento e design da unidade de controle A execução paralela de programas não é permitida devido ao processamento de instruções em série
A vantagem acima também significaria que os dados da memória e dos dispositivos são acessados da mesma forma. Portanto, aumentando a eficiência Apenas um “bus” pode ser acessado de cada vez. Isto resulta em uma CPU ociosa (pois é mais rápida que um barramento de dados). Isto é considerado como o gargalo do von Neumann
Uma característica vantajosa é que os programadores têm controle da organização da memória Embora ambas as instruções e dados sendo armazenados no mesmo lugar possam ser vistos como uma vantagem como um todo. Isto pode, no entanto, resultar em uma reescrita sobre ele, o que resulta em perda de dados, devido a um erro em um programa
Se um programa defeituoso não liberar a memória quando eles não precisam dela (ou terminar com ela), pode causar o travamento do computador, como resultado da insuficiência de memória disponível

Von Neumann bottleneck

As processadores, e computadores ao longo dos anos tiveram um aumento na velocidade de processamento, e as melhorias de memória aumentaram na capacidade, em vez de velocidade, isto resultou no termo “von Neumann bottleneck”. Isto porque a CPU passa uma grande quantidade de tempo ociosa (sem fazer nada), enquanto espera que os dados sejam buscados na memória. Não importa quão rápido o processador seja, isto depende em última instância da taxa de transferência, na verdade, se o processador for mais rápido, isto só significa que ele terá um maior tempo “ocioso”.

Aplicações para superar este gargalo incluem:

  • Caching:
    • Dados que são mais facilmente acessíveis na RAM, ao invés de armazenados na memória principal. O tipo de dados armazenados aqui será o tipo de dados, que é frequentemente utilizado.
  • Prefetching:
    • O transporte de alguns dados para o cache antes de serem solicitados. Isto irá acelerar o acesso no caso de uma solicitação dos dados.
  • Multithreading:
    • Gerenciando muitas solicitações ao mesmo tempo em threads separados.
  • Novos tipos de RAM:
    • >DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory).
    • Este tipo de RAM ativa a saída tanto na borda descendente quanto na borda ascendente do relógio do sistema, ao invés de apenas na borda ascendente.
    • Este tipo de RAM pode potencialmente dobrar a saída.
  • RAMBUS:
    • Um subsistema conectando controlador RAM, RAM, e o bus (caminho) conectando a RAM ao microprocessador e dispositivos dentro do computador que o utilizam.
  • Processamento em Memória (PIM):
    • PIM’s integram um processador e memória em um único microchip.

O que é a arquitetura de Harvard?

A arquitetura de Harvard tem o nome do computador baseado no relé “Harvard Mark I”, que era um computador IBM da Universidade de Harvard.

O computador armazenou instruções em “fita perfurada” (24 bits de largura), além disso os dados foram armazenados em contadores eletro mecânicos. A CPU destes primeiros sistemas de computador continha o armazenamento de dados por completo, e não permitia acesso ao armazenamento de instruções como dados.

A arquitectura de Harvard é um tipo de arquitectura, que armazena os dados e instruções separadamente, dividindo assim a unidade de memória.

A CPU de um sistema de arquitectura de Harvard está habilitada a ir buscar dados e instruções simultaneamente, devido à arquitectura ter barramentos separados para transferências de dados e buscas de instruções.

Características da arquitetura de Harvard

Bambos os tipos de arquiteturas contêm os mesmos componentes, entretanto a principal diferença é que, em uma arquitetura de Harvard as fetches de instruções e transferências de dados podem ser pré-formadas ao mesmo tempo (simultaneamente) (como o sistema tem dois barramentos, um para transferências de dados e outro para fetches de instruções).

Von-Neumann vs Harvard Architecture Image 2

Vantagens e Desvantagens da Arquitetura de Harvard

>

Vantagens Desvantagens
Devem ser transferidas instruções e dados em diferentes ônibus, isto significa que há uma menor probabilidade de corrupção de dados A memória dedicada a cada um (dados e instruções) deve ser equilibrada a partir do fabricante. Porque se houver memória de dados livre, ela não pode ser usada para instruções e vice-versa
Instruções e dados podem ser acessados da mesma forma No entanto esta vantagem (à esquerda) resulta em uma arquitetura mais complexa, pois requer dois barramentos. O que significa que leva mais tempo para fabricar e torna estes sistemas mais caros
A arquitectura de Harvard oferece um alto desempenho, uma vez que esta arquitectura permite o fluxo simultâneo de dados e instruções. Estes são mantidos em memória separada e viajam em barramentos separados Esta arquitetura, entretanto, apesar do alto desempenho, é muito complexa, especialmente para os fabricantes de placas principais implementarem
Existe uma maior largura de banda de memória que é mais previsível, devido à arquitetura ter memória separada para instruções e dados Pois, como mencionado acima, para alcançar a vantagem à esquerda, a arquitetura de Harvard requer uma unidade de controle para dois barramentos. O que aumenta a complexidade e torna o desenvolvimento mais difícil. Tudo isso aumenta o preço do sistema

Modified Harvard Architecture

Von Neumann Architecture vs. Harvard Architecture:

Von Neumann Architecture Harvard Architecture
Baseado no conceito de computador de programa armazenado Baseado no modelo de computador baseado no Harvard Mark I relay
Usa o mesmo endereço de memória física para instruções e data Ele usa endereços de memória separados para instruções e dados
Os processadores requerem dois ciclos de relógio para executar uma instrução O processador requer apenas um ciclo para completar uma instrução
A arquitetura von Neumann consiste em um projeto mais simples de unidade de controle, o que significa que é necessário um desenvolvimento menos complexo. Isto significa que o sistema será menos dispendioso A unidade de controle de arquiteturas de Harvard consiste em dois ônibus, o que resulta em um sistema mais complicado. Isto aumenta o custo de desenvolvimento, resultando em um sistema mais caro
As buscas de instrução e transferências de dados não podem ser pré-formadas ao mesmo tempo As buscas de instrução e transferências de dados podem ser pré-formadas ao mesmo tempo
Utilizadas em laptops, computadores pessoais, e estações de trabalho Usados em processamento de sinais e micro-controladores

>

Arquitectura Harvard modificada:

Uma arquitectura Harvard pura sofre da desvantagem de que o mecanismo deve ser fornecido para separar a carga do programa a ser executado na memória de instruções e assim deixar qualquer dado a ser operado na memória de dados.

No entanto, os sistemas modernos utilizam hoje em dia uma tecnologia apenas de leitura para a memória de instruções e tecnologia de leitura/gravação para a mesma memória.

Permite que um sistema permita a execução de um programa pré-carregado assim que a energia é aplicada.

No entanto, os dados estarão em um estado desconhecido, portanto não pode fornecer valores pré-definidos para o programa.

A solução para isso é fornecer instruções em linguagem de máquina para que o conteúdo da memória de instruções possa ser lido como se fossem dados, além de fornecer um caminho de hardware.

A maioria das adoções da arquitetura de Harvard hoje em dia é uma forma modificada, isto é para soltar a separação estrita entre os dados e o código, enquanto ainda mantém uma alta performance de dados simultâneos e acesso a instruções da arquitetura original de Harvard.

A arquitetura modificada de Harvard é uma variação da arquitetura original de Harvard. No entanto a diferença entre as duas é que a arquitetura modificada permite que o conteúdo da memória de instruções seja acessado como dados.

As três principais modificações aplicadas a uma arquitetura Harvard modificada são:

  • Arquitetura Split-cache:
    • Muito similar à arquitetura von Neumann, esta modificação constrói uma hierarquia de memória com caches de CPU para instruções e dados em níveis inferiores de hierarquia.
  • Arquitetura instrução-memória como dados:
    • Esta modificação permite acessar o conteúdo da memória de instruções como os dados. Isto pode ser levado porque os dados não podem ser executados diretamente como instruções.
    • (Embora haja um debate sobre se isto realmente pode ou não ser nomeado como arquitetura Harvard “Modificada”)
  • Arquitetura de memória como instrução:
    • Executar instruções obtidas de qualquer segmento de memória, ao contrário da arquitetura Harvard, que só pode executar instruções, obtidas do segmento de memória do programa.

Sumário e Fatos

A arquitetura von Neumann foi um grande avanço dos computadores controlados por programas, que foram usados nos anos 40. Tais computadores eram programados através da configuração dos cabos de patch de inserção e comutação para encaminhar dados e sinais de controle entre diferentes conjuntos funcionais.

Onde atualmente, a maioria dos sistemas de computador compartilham a mesma memória tanto para dados quanto para instruções de programas.

A CPU em um sistema de arquitetura Harvard está habilitada a buscar dados e instruções simultaneamente, devido à arquitetura ter barramentos separados para transferências de dados e buscas de instruções.

Qual é a arquitetura von Neumann?

A arquitetura von Neumann refere-se a uma que mantém os dados bem como as instruções programadas em RAM (Random Access Memory) de leitura-escrita.

Características da Arquitectura von Neumann:

  • Unidade Central de Processamento (CPU)
  • Unidade de Controlo
  • Unidade Aritmética e Lógica (ALU)
  • Unidade de Memória
  • Registos:
      >

    • Controlador de programas (PC)
    • Acumulador (AC)
    • Registo de endereços de memória (MAR)
    • Registo de dados de memória (MDR)
    • Registo de instruções de corrente (CIR)
    • >

  • Bus:
      >

    • Bus de dados
    • Bus de endereço
    • Bus de controle
  • Entrada/saída

>

Vantagens:

  • Menos caro/complexo em comparação com a arquitetura de Harvard
  • Eficiente

Desvantagens:

  • Von Neumann Bottleneck
  • Possibilidade maior de perda de dados

O que é a arquitetura de Harvard?

  • A arquitectura de Harvard é um sistema de computador que contém duas áreas separadas para dados e comandos/instruções.
  • A arquitectura de Harvard é um tipo de arquitectura, que armazena os dados e instruções separadamente, dividindo assim a unidade de memória.

Vantagens:

  • Sem chance de corrupção de dados
  • Alto desempenho
  • Grande largura de banda de memória

Desvantagens:

  • Complexo
  • Despesado

Arquitectura Harvard modificada:

A arquitectura Harvard modificada é uma variação da arquitectura Harvard original. No entanto a diferença entre as duas é que a arquitectura modificada permite que o conteúdo da memória de instruções seja acedido como dados.

As três principais modificações aplicadas a uma arquitectura de Harvard modificada são:

  • Split-cache architecture
  • Instruction-memory-as-data architecture
  • Data-memory-as-arquitetura de instrução
  1. https://www.techopedia.com/definition/19737/harvard-architecture
  2. https://tdck.weebly.com/uploads/7/7/0/5/77052163/03_-_harvard_architecture_comparison.pdf
  3. https://getrevising.co.uk/grids/von-neumann-architecture
  4. http://differencebetween.net/technology/difference-between-von-neumann-and-harvard-architecture/
  5. https://en.wikipedia.org/wiki/Von_Neumann_architecture
  6. https://www.geeksforgeeks.org/computer-organization-von-neumann-architecture/
  7. https://www.techopedia.com/definition/32480/von-neumann-architecture
  8. http://www.computinghistory.org.uk/det/3665/John-von-Neumann/
  9. https://www.computerscience.gcse.guru/theory/von-neumann-architecture
  10. https://en.wikipedia.org/wiki/Modified_Harvard_architecture
  11. https://www.edaboard.com/threads/harvard-vs-modified-harvard-architechture.111764/

Articles

Deixe uma resposta

O seu endereço de email não será publicado.