Je comprends que la différence entre les deux architectures est la séparation des instructions et des données dans l'architecture Harvard. Mais comment savoir sur quel type de système je suis? Est-il possible d'écrire un programme tel que le programme détermine si le système est von Neumann ou Harvard? Pourrait-il y avoir une autre architecture ou ces architectures sont-elles les seules connues?
12
Réponses:
Votre ordinateur est une machine von Neumann. Tous les ordinateurs à usage général le sont. Les seules exceptions sont les co-processeurs spécialisés comme les GPU. Ce n'est pas que vous ne pouvez pas avoir une machine Harvard (ou toute autre architecture). C'est juste que personne ne les construit, surtout pas à vendre (co-processeurs modulo, bien sûr).
la source
La plupart des processeurs à usage général actuels utilisent l'architecture Harvard modifiée . Les cœurs de processeur peuvent accéder au programme et aux données indépendamment dans leurs caches L1 séparés. À l'extérieur, il n'y a pas de mémoire de programme et de données séparée (ni les autres niveaux de cache ne sont séparés).
Toutes les autres architectures sont plutôt limitées dans leur utilisation. En raison de l'extrême complexité et des coûts associés au développement de processeurs, je ne pense pas que quiconque essaierait à nouveau sérieusement.
Cependant, alors que les processeurs modernes sont fondamentalement von Neumann, ils intègrent de nombreuses idées comme l' architecture de flux de données en interne.
la source
Les architectures Von Neumann et Harvard appartiennent toutes deux au paradigme des flux de contrôle.
Il existe un autre paradigme, le flux de données .
Un exemple courant de calcul de flux de données, bien qu'implémenté sur des ordinateurs de flux de contrôle, est la feuille de calcul (de Visicalc et Multiplan à Excel).
Les réseaux de neurones appartiennent également à cette catégorie.
Les FPGA sont un autre exemple d'architecture de flux de données. Ils sont programmés avec des langages de description matérielle tels que VHDL .
la source
L'architecture Harvard n'est généralement utilisée que dans les microprocesseurs intégrés où le programme est stocké dans la mémoire eeprom intégrée. Le seul que vous verrez probablement est un AVR Atmel tel qu'utilisé dans l' Arduino
la source
Lorsque vous le programmez: Modifiez une région mémoire puis sautez-y et exécutez-la.
Si c'est Havard, vous ne pouvez pas le faire.
la source