home *** CD-ROM | disk | FTP | other *** search
/ Mac Expert 1995 Winter / Mac Expert - Winter 95.iso / Les fichiers / Utilitaires divers / HyperCard / 680X0 Simul ƒ / Aide du mini-simulateur < prev    next >
Encoding:
Text File  |  1994-07-07  |  12.0 KB  |  124 lines  |  [ttro/ttxt]

  1.  
  2.  
  3. Ce mini-simulateur a été élaboré par Atta OLOUMI et Vincent MULIER (élève ingénieur à l'Ecole Supérieure d'Informatique). Il nécessite la présence d'HyperCard 2.0, logiciel édité par Apple.
  4.  
  5. Le simulateur de 68 000 qui vous est  présenté ici, ne reprend qu’une partie du jeu d’instruction complet du 68 000. De plus, la structure en a été limitée pour des raisons de compatibilité avec la vocation pédagogique du produit . 
  6.  
  7. CE PRODUIT EST FOURNI EN L'ETAT ET N'ENGAGE EN AUCUNE MANIERE SES AUTEURS OU LE MAGAZINE GOLDEN. AUCUN SUPPORT TECHNIQUE N'EST ASSURE. 
  8.  
  9.  
  10. Le  fonctionnement du microprocesseur  est visualisé par les valeurs qui s'affichent dans chacune   des mémoires, dans chaque registre de données, dans les registres d’adresses et par l'état des trois indicateurs ( N, Z et  V ). 
  11. Parmi les limitations volontairement introduites dans ce simulateur, la mémoire  (qui est externe au microprocesseur) et  les registres (qui eux sont internes) ne sont exprimés que sur 16 bits signés ( - 32 768 à + 32 768 ) au lieu de 32 bits.
  12. Le nombre de registre est conservé: 8 registres de donnée (D0 à D7) et 8 registres d’adresses (A0 à A7). Leur role est primordial dans la programmation du processeur. 
  13. Si les opérandes sont contenues directement dans les registres, le nombre de temps de cycles nécessaire à l’application de l’instruction est minimal.
  14.  
  15.  
  16. LES MODES D’ADRESSAGES
  17.  
  18. Le mode d’adressage est représentatif de la manière de récupérer les opérandes. 
  19. Quatres d’entre eux sont ici représentés:
  20.   - le mode IMMEDIAT est utilisé lorsque la valeur de l’opérande est contenue dans l’instruction. Lorsque ce mode est choisi, le nombre demandé doit être un chiffre entre - 32 768 et + 32 768.
  21.  -  le  mode ABSOLU recquiert un monbre entre 0 et 255, qui est le numéro de la case mémoire contenant l’opérande.
  22.  - le mode DIRECT suppose que l’opérande est situé dans un registre. Il faut donc désigner un registre d’adresse ou de donnée.
  23.  - le mode INDIRECT (simple) est un des plus souvent utilisé, du fait de sa grande souplesse. Ce mode utilise un registre d’adresse donné, afin d’y placer le numéro de la case mémoire où se trouve l’opérande.    
  24.  
  25. Contrairement à une pensée commune, le mode d’adressage le plus rapide n’est pas le mode IMMEDIAT mais le mode DIRECT; la spécificité des registres  tenant au fait qu’ils constituent l’espace de travail naturel des unités fonctionnelles. Le mode d’adressage IMMEDIAT et le mode INDIRECT simple nécessitent des temps équivalents. Le mode ABSOLU est le plus lent des quatre.
  26.  
  27.  
  28. LES INSTRUCTIONS
  29.  
  30. Fonctionnalités des instructions reprises :
  31.  
  32.    -  MOVE  
  33.       Cette instruction à deux opérandes, transfère  l’opérande source vers l’opérande      destination. Tous les modes d’adressage sont autorisés pour l’opérande source mais pour l’opérande destination l’adressage immédiat n’est pas accessible. En effet  c’est un non sens que de vouloir affecter une valeur à un nombre qui n’est localisé que dans l’instruction meme.
  34. Les indicateurs ne sont pas affectés par cette instruction.   
  35.  
  36.   -  JMP 
  37.       JMP est une instruction de saut inconditionnel. Elle nécessite une seule opérande. Cette dernière, en mode ABSOLUE et en mode INDIRECT, représente le numéro de la ligne de programme où se situe l’instruction suivante.
  38. Les indicateurs ne sont pas affectés par cette instruction.
  39.  
  40.  
  41.  - TST
  42.     Le test  d’une case mémoire désigné ( par le mode ABSOLUE, DIRECT ou INDIRECT ) est effectué par l’instruction  à une opérande TST. L’opérande désigne l’emplacement de la valeur à tester. Le test  consiste uniquement  à positionner les indicateurs en fonction de la valeur: N est mis à 1 si l’opérande est négatif, Z est mis à 1 si l’opérande est nul et V est toujours mis à 0. Aucune opération proprement dite n’est accomplie.   
  43.  
  44.  - CLR 
  45.    Elle consiste à remettre à 0 l’opérande. Tout les modes sont accessibles à part ,bien sur, le mode IMMEDIAT. Les indicateurs sont forcés: N à 0, Z à 1 et V à 0.
  46.  
  47.  - ADD, SUB, MULS et DIVS
  48.   Ces quatres instructions arithmétiques utilisent tous les modes sauf le mode IMMEDIAT pour l’opérande destination. La première opérande est la source et la deuxième la destination. Le calcul est effectué à l’aide des deux opérandes et le résultat est placé dans la destination.
  49. L’indicateur N est à 0 si le résultat positif, Z est à 1 si le résultat est nul et V à 1 si il y a débordement.
  50.  
  51.  -  BMI, BPL, BVS, BVC, BNE et BEQ
  52.   Pour chacune de ces instructions, un indicateur est testé à 0 ou1. Si la condition est remplie, un déplacement d’une valeur fixée, est accomplie. L’instruction suivante sera donc à la ligne de programme qui sera la somme du numéro de la ligne du test et de la valeur associée au test.
  53. Les conditions de branchement sont:
  54.    BMi   ==    N=1 ( la précédente opérande destination est négatif)
  55.    BPL   ==    N=0 ( la précédente opérande destination est positif)
  56.    BVS  ==    V=1 ( la précédente opération a entrainée un dépassement)
  57.    BVC ==     V=0
  58.    BEQ ==     Z=1 ( la précédente opérande destination est nulle)
  59.    BNE ==     Z=0 ( la précédente opérande destination est non nulle)
  60.    
  61.  
  62. LES BOUTONS DE CONTROLE
  63.  
  64. - EXECUTE déroule le programme dans sa totalité. Il montre comment les mémoires et les registres sont affectés par les instructions. 
  65.  - PAS À PAS reprend la fonctionnalité du bouton précédent mais il s’arrête après chaque instruction, permettant de mieux visualiser le fonctionnement du programme. Il est prudent de d’abord faire tourner une simulation pas à pas afin de le  déboguer. Il est alors plus facile de se dégager d’une boucle sans fin (pour interrompre tout script HyperCard, il suffit de taper commande-:).
  66.  -RESET annule la dernière sélection.
  67.  - EFFACER remet à zéro les différents paramètres et vide la liste des instuctions. 
  68.  
  69. LEXIQUE
  70.  
  71.  
  72. MICROPROCESSEUR: 
  73.  
  74. unité centrale chargée d’éffectuer les opérations. Un microprocesseur est caractérisé essentiellement par la longueur des instructions ( exprimée en bit ), la largeur des bus  et le nombre des registres de travail internes. En général un microprocesseur 16 bits désigne une unité centrale muni de bus interne sur 16 bits ( et plus précisément d’un bus de donnée et de registres sur 16 bits ).Le 68 000 de Motorola, qui équipe les Macintosh Plus, SE et Classic, est un microprocesseur 16/32 bits, c’est à dire pourvue d’un bus de données interne sur 32 bits mais d’un bus de données externe sur 16 bits. Le 68 020 est un vrai 32 bits car il dispose d’un bus de données et d’un bus d’adresses, tout deux de 32 bits ( en interne et externe ) et d’unités de traitement sur 32 bits.
  75.  
  76.  
  77. DONNEES :
  78.  
  79.  informations devant etre traitées  par le microprocesseur. Les données sont caractérisées par leur format : entiers sur 8, 16 ou 32 bits ou virgules flottantes sur 32 ou 64 bits. Les microprocesseurs ne traitent que les entiers (les données en virgules flottantes sont exploitées par les coprocesseurs arithmétiques).
  80.  
  81.  
  82. ADRESSES:
  83.  
  84. informations destinées à localiser les données et les instructions en mémoire . La largeur du bus d’adresse externe définie la quantité de mémoire accessible. Par exemple une adresse sur 8 bits permet d’atteindre 256 mots d’information ( un mot pouvant etre constituer de 8 bits, 16 bits ou 32 bits ). Le 68000 est muni d’un bus sur 23 bits qui lui permet d’adresser 8 Méga-mots de 8 bits ou de 16 bits ( soit 8 ou 16 Mo ). 
  85.  
  86. OPERANDES:
  87.  
  88. données sur lesquels s’appliquent les instructions. Les instructions peuvent porter sur zéro, un, deux ou meme trois opérandes. Les instructions du 68000 portent sur un ou deux opérandes.Le mode d’adressage permet de déterminer la manière de trouver l’opérande.
  89.  
  90. REGISTRES:
  91.  
  92. mémoires de travail situées dans le coeur du microprocesseur. Les opérandes situées dans les registres sont immédiatement accessibles. Le 68000 est muni de 8 registres de données de 32 bits et de 8 registres d’adresses de 32 bits. Ces registres permettent de gagner de nombreux temps de cycles en évitant d’avoir à rechercher les opérandes. L’usage maximum des registres permet d’aboutir à une programmation optimale. Si on espère de bénéficier de réels gain de performance, les algorithmes  doit etre adapté à l’usage de l’assembleur, afin de minimiser l’usage de mémoire, autre que les registres.
  93.  
  94. INDICATEURS:
  95.  
  96. paramètres binaires ( ne prenant que 0 ou 1 comme valeur ) qui caractérisent la dernière instruction effectuée.Au nombre de 5 dans 68000 , leur role est fonction de chaque instruction. De manière générale, l’indicateur N est positionné en fonction du signe du résultat d’une instruction tandis que l’indicateur Z indique si le résultat est nul. Les indicateurs V, C et X désigne quand à eux les dépassements. Les indicateurs sont souvant utilisé comme condition de test. En cela leur role est prépondérant.
  97.  
  98.  
  99. OCTET:
  100.  
  101. mot de 8 bits. Bien que constituant une unité de base de la microinformatique, il ne faut pas perdre de vue la limitation drastique que constitue le travail avec des données codées sur 8 bits. En effet une variable sur un octet ne peut prendre qu’une valeur compris entre 0 et 255 ( soit 256 valeurs différentes ). Il en résulte que  la pluspart des programmes gèrent des données sur 16 bits ou plus.
  102.  
  103.  
  104. BUS EXTERNE:
  105.  
  106. voies de transmission d’informations entre le microprocesseur et son environnement. A l’image du microprocesseur  analogue à une ville, le bus externe est, en quelque sorte, l’autoroute permettant de sortir de la ville. Le nombre de voies apparait comme la principale caractéristique. La largeur d’un bus externe détermine les performances d’un microprocesseur: un bus trop étroit constitut un goulot d’´étranglement obligeant le microprocesseur à ralentir son activité en attendant les transferts d’informations. Comme tout les microprocesseurs, le 68000 dispose d’un bus d’adresse et d’un bus de données. Le premier est sur 23 bits tandis que le second est sur 16 bits. La fonction du bus d’adresse est essentiellement de “désigner” un mot dans la mémoire tandis que c’est par le bus de données qu’il transitera pour etre amené dans le coeur du processeur.
  107.  
  108.  
  109. MÉMOIRE CACHE:
  110.  
  111. mémoire rapide d’une capacité limitée ( de 256 octets à 64 Ko ) dans laquelle une partie des informations contenues dans la mémoire vive est dupliquée. La mémoire cache permet d’accèder aux données et instructions près de fois plus rapidement. Le 68000 ne comporte pas de  mémoire cache interne. Il n’est pas prévu non plus, d’interfacage avec un gestionnaire de mémoire cache. Le 68020 est pourvu de 256 octets de cache tandis que le 68040 dispose en interne de deux mémoires caches: un de 4 Ko pour les instructions et un autre de 4 Ko pour les données. Bien qu’étant une mémoire à accès particulièrement rapide, elle demeure cependant bien en deçà des performances des registres qui constituent l’espace de travail. La programmation en assembleur ne donne pas  accès à la gestion de la mémoire cache. Cette mémoire est donc bien destinée à l’accélération des programmes existant  sans demander un effort particulier aux développeurs.
  112.  
  113.  
  114. MICROCODE:
  115.  
  116.  
  117. petits programmes implémentés en mémoire morte dans le microprocesseur , et qui évite aux programmeurs de ne recourir qu’à instructions de bas niveau n’agissant que sur les bits. La pluspart des instructions assembleur sont microcodées. Par opposition, les instructions cablés sont eux effectuées par des fonctions électroniques placées dans le coeur du microprocesseur. Les fonctions cablées sont bien plus rapide mais réclament plus de place dans le circuit intégré.
  118.  
  119.  
  120. RISC:
  121.  
  122. microprocesseur muni d’un jeu d’instructions réduits. Les processeurs RISC résultent d’études menées à la fin des années 70 et mettant en évidence l’utilisation réelle de s instructions : 20 % des instructions sont utilisées durant 80 % du temps. Un processeur RISC pur reprend cet ensemble réduit d’instructions en les optimisant  afin que chacun d’eux  puissent s’exécuter en un temps de cycle. Les microcodes sont donc proscris. Dans la famille 680X0 de MOTOROLA seul le 68040 peut etre en partie considéré comme processeur RISC dans la mesure où une partie des instructions les plus utilisés s’exécutent en un temps de cycle (ceci grace à une structure pipe-line qui permet d’aborder les opérations de décodage d’une instruction avant que l’instruction précédente n’ai atteint son terme. C’est donc une forme d’architecture parallèle). 
  123.  
  124.