Buscar

Arquitetura de von Neumann e Harvard

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ARQUITETURA DE VON NEUMANN 
E HARVARD 
Arquitetura de von Neumann 
A Arquitetura de von Neumann (de John von Neumann), é uma arquitetura de 
computador que se caracteriza pela possibilidade de uma máquina digital armazenar 
seus programas no mesmo espaço de memória que os dados, podendo assim manipular 
tais programas. 
A máquina proposta por Von Neumann reúne os seguintes componentes: (i) uma 
memória, (ii) uma unidade aritmética e lógica, (iii) uma unidade central de 
processamento (CPU), composta por diversos registradores, e (iv) uma Unidade de 
Controle (UC), cuja função é a mesma da tabela de controle da Máquina de Turing 
universal: buscar um programa na memória, instrução por instrução, e executá-lo sobre 
os dados de entrada. 
Cada um dos elementos apresentados é realizado à custa de componentes físicos 
independentes, cuja implementação tem variado ao longo do tempo, consoante a 
evolução das tecnologias de fabricação, desde os relés electromagnéticos, os tubos de 
vácuo (ou válvulas), até aos semicondutores, abrangendo os transistores e os circuitos 
electrónicos integrados, com média, alta ou muito alta densidade de integração (MSI - 
medium scale, LSI - large scale, ou VLSI - very large scale integration), medida em 
termos de milhões transistores por pastilha de silício. 
 
 
As interações entre os elementos exibem tempos típicos que também têm variado ao 
longo do tempo, consoante as tecnologias de fabricação. Atualmente, as CPUs 
processam instruções sob controle de relógios cujos períodos típicos são da ordem de 1 
nanosegundo, ou seja, 10 − 9 segundos. As memórias centrais têm tempos típicos de 
acesso da ordem da dezena de nanosegundos. As unidades de entrada e saída exibem 
tempos típicos extremamente variáveis, mas que são tipicamente muito superiores à 
escala do nanosegundo. Por exemplo, os discos rígidos exibem tempos da ordem do 
milisegundos (milésimo de segundo, 10 − 3). Outros dispositivos periféricos são inertes, 
a não ser que sejam activados por utilizadores humanos. Por exemplo, ao se fazer "copy 
and paste" nao se-percebe nada do que foi descrito acima, pois um teclado só envia 
informação para o computador após serem pressionada as devidas teclas. Assim, este 
dispositivo se comunica com a CPU eventualmente e, portanto, exibe tempos 
indeterminados. 
Os microcontroladores com uma arquitetura Von-Neumann, de "microcontroladores 
CISC" (Computador com um Conjunto Complexo de Instruções). Von Neumann é 
uma arquitetura de computador utilizada no ARM7, com barramento de dados de 32 
bits que se caracteriza pela possibilidade de uma máquina digital armazenar seus 
programas no mesmo espaço de memória que os dados, podendo assim manipular tais 
programas. Ela pode ser dividida nas seguintes partes: 
 Pipeline de instruções: essa arquitetura utiliza pipeline de três estágios para melhorar 
o fluxo das instruções para o processador, permitindo operações múltiplas simultâneas. 
Durante uma operação normal, enquanto uma instrução está sendo executada, a 
instrução seguinte está sendo decodificada, e uma terceira instrução está sendo buscada 
na memória. Isso pode ser visto na figura1 abaixo: 
 
Figura 1 - ilustração de um pipeline de instrução da arquitetura von Neumann 
No exemplo acima, a instrução str leva mais de um ciclo para executar, fazendo com 
que qualquer instrução seguinte seja paralizada. Para solucionar esse problema, 
podemos dividir a etapa de decodificação em partes, conforme mostra a figura 1. 
 Formato da memória: interface de memória projetada para permitir a melhor 
performance e menor uso da memória. Sinais de controle crítico da velocidade são 
colocadas na lista encadeada (pipeline) para permitir que funções de controle do sistema 
possam aproveitar o modo de acesso mais rápido aos sinais de transmissão através de 
várias tecnologias de memória. No ARM7 existem 4 tipos básicos de ciclo: 
- Interno 
- Não-seqüencial 
- Seqüencial 
- Transferência co-processador 
O ARM7 pode ser configurado para armazenar as palavras em formato little-endian ou 
big-endian. Processador ARM7 (assim como o ARM9) suporta os seguintes tipos de 
dados: 
- Word, 32-bit 
- Half word, 16-bit 
- Byte, 8-bit 
 Modos de operação: possui 7 modos (também vale para o ARM9), mostrados a 
seguir: 
- User Mode(USR): modo normal de execução do ARM, utilizado para executar a 
maioria dos programas aplicativos 
- Fast Interrupt (FIQ): modo que trata de interrupções rápidas 
- Interrupt (IRQ): modo usado para tratar interrupção de propósito geral 
- Supevisor (SVC): modo protegido para sistema operacional 
- Abort (ABT): modo usado depois que uma busca de dados ou instrução é abortada 
- Undefined (UND): modo utilizado quando uma instrução não definida é executada 
- System (SYS): modo usuário privilegiado para o sistema operacional 
O ARM7 tem 37 registradores de 32-bits, porém nem todos são disponíveis para dado 
modo. 
 Co-processador: pode ser conectado ao sistema do ARM7 até 16 co-processadores, 
que são unidades de processamento firmemente acoplados ao processador ARM. Um 
típico processador contém: 
- Pipeline de instrução 
- Lógica de decodificação de instrução 
- Lógica handshake 
- Banco de registradores 
- Lógica especial de processamento com sua própria via de dados 
 
 Recursos de debug: estado interno de um núcleo ARM pode ser examinado utilizando 
interface JTAG para permitir a inserção de instruções no pipeline do núcleo e evitando o 
uso de barramento de dados externo. O núcleo ARM7TDMI inclui uma unidade 
funcional interna conhecida como Embbeded ICE Logic, que serve para monitorar 
ativamente o núcleo ARM7TDMI para especificas buscas de instruções e acesso a 
dados. 
Arquitetura Harvard 
A Arquitetura de Harvard baseia-se em um conceito mais recente que a de Von-
Neumann, tendo vindo da necessidade de por o microcontrolador para trabalhar mais 
rápido. É uma arquitetura de computador que se distingue das outras por possuir duas 
memórias diferentes e independentes em termos de barramento e ligação ao 
processador. 
Baseia-se na separação de barramentos de dados das memórias onde estão as instruções 
de programa e das memórias de dados, permitindo que um processador possa acessar as 
duas simultaneamente, obtendo um desempenho melhor do que a da Arquitetura de Von 
Neumann, pois pode buscar uma nova instrução enquanto executa outra. 
A principal vantagem desta arquitetura é dada pela dupla ligação às memórias de dados 
e programa (código), permitindo assim que o processador leia uma instrução ao mesmo 
tempo que faz um acesso à memória de dados. 
A arquitetura Havard também possui um repertório com menos instruções que a de 
Von-Neumann, e essas são executadas apenas num único ciclo de relógio. 
Os microcontroladores com arquitetura Havard são também conhecidos como 
"microcontroladores RISC" (Computador com Conjunto Reduzido de Instruções), e 
os microcontroladores com uma arquitetura Von-Neumann, de "microcontroladores 
CISC" (Computador com um Conjunto Complexo de Instruções). 
A arquitetura Harvard de computadores se baseia na separação de barramentos de dados 
das memórias onde estão as instruções de programa e das memórias de dados. Isto 
permite que um processador possa acessar as duas simultaneamente, obtendo um 
desempenho melhor do que a da Arquitetura de von Neumann, pois pode também estar 
buscando uma nova instrução enquanto está executando outra. 
 Pipeline de instruções: o funcionamento do pipeline de instruções da arquitetura 
Harvard é semelhante ao da arquitetura von Neumann. Porém, ao invés da instrução ser 
divida em 3 partes independentes, ela é dividida em 5 partes (figura 2), sendo elas: 
- IF: busca da instrução na memória 
- ID: leitura dos registradores e decodificação da instrução 
- EX: execução da instrução/cálculo do endereço 
- MEM: acessoa um operando na memória 
- WB: escrita de um resultado em um registrador 
 
Figura 2 - ilustração de um pipeline de instrução da arquitetura Harvard 
 Formato da memória: a interface de memória da arquitetura Harvard é semelhante à 
da arquitetura von Neumann. 
 Modos de operação: semelhantes às da arquitetura von Neumann 
 Co-processador: semelhante ao da arquitetura von Neumann 
 Recursos de Debug: semelhantes às da arquitetura von Neumann 
 
Comparação entre arquiteturas 
A arquitetura Harvard é um conceito mais recente que a de von Neumann. Ela adveio da 
necessidade de se obter uma arquitetura que pudesse trabalhar mais rapidamente. 
Em um computador baseado na arquitetura von Neumann, a CPU pode tanto ler uma 
instrução ou ler/escrever um dado da/para a memória. Ambos não podem ocorrer ao 
mesmo tempo, pois a instrução e o dado utilizam o mesmo sistema de barramento. 
Num computador usando arquitetura Harvard, a CPU pode ler uma instrução e executar 
um acesso de dado na memória ao mesmo tempo, mesmo sem um cachê. Como seu 
pipeline possui 5 estágios, esse tipo de arquitetura consegue processar um número maior 
de instruções por ciclo de clock. Além disso, pode ser mais rápido para um dado 
circuito complexo porque as buscas de instruções e acesso a dados não são sustentados 
por uma única via de memória

Outros materiais