Harvard Architecture: Como isso melhora a velocidade?

3

Eu não entendo a diferença entre as arquiteturas de Von Neumann e Harvard. Digamos que você tenha estas duas instruções:

Eixo MOV, [endereço2]

MOV bx, axe

Na arquitetura de Harvard, o processador deve esperar dois ciclos antes de executar a segunda instrução: a primeira a decodificar a primeira instrução e a segunda a carregar o valor no endereço 2 em ax. Ele não pode executar a instrução 2 imediatamente porque usa o valor do machado.

Assim, o tempo gasto será o mesmo que se fosse Von Neumann, neste último caso, o primeiro ciclo será usado para decodificar a instrução e o segundo ciclo para buscar o conteúdo do endereço 2 da memória do programa.

O que eu não entendo?

    
por Ulysse 07.04.2014 / 05:30

2 respostas

0

A separação de instruções e dados é uma coisa fácil de subestimar. No entanto, seu comportamento é bem diferente.

As instruções fluirão principalmente em um caminho linear e terão tamanhos muito semelhantes.

Os dados, por outro lado, serão de localizações semi-aleatórias, rajadas e de tamanhos variados.

Tentar ter a mesma lógica e tamanho de barramento para otimizar para ambos é um pouco mais difícil do que ter manipuladores separados.

Seu exemplo no valor nominal parece uma questão razoável, mas com um processador Von Newmann a carga de memória para completar a primeira instrução irá atrasar a carga e decodificar a segunda instrução. Considerando que no processador de Harvard a segunda instrução pode ser carregada decodificada e parcialmente processada quando a primeira instrução for concluída.

Fluxo do processador Von Neumann

  1. carregar uma instrução
  2. decodificar uma instrução
  3. carrega dados da memória externa
  4. colocar dados no registro
  5. carregar instrução dois
  6. instrução de decodificação dois
  7. copie o registro para registrar

Fluxo do processador de Harvard

  1. carregar uma instrução
  2. decodificar uma instrução

    3a. carregar dados da memória externa para registrar 3b. carregar instrução dois 4a. colocar dados no cadastro 4b. decodificar instrução dois
    1. copie o registro para registrar
por 22.03.2016 / 08:25
-1

até onde eu li, o Harvard pode ler uma instrução e ler / gravar dados simultaneamente, e Von Neumann só pode ler uma instrução OU ler / gravar dados, mas não ao mesmo tempo.

    
por 07.04.2014 / 05:47