Paradigme
Il est assez important de souligner ici que le code machine doit ressembler, dans une perception subjective relativement fluide, à un pseudo-code dans les champs des tables de vidage et, le moins possible, donner l'ésotéricité de tous les champs de bits.
DĂ©codeur de commande
L'un des Ă©lĂ©ments les plus importants et les plus clĂ©s de tout automate est un dispositif pour dĂ©coder exactement cette action Ă un certain moment que le programmeur lui-mĂȘme avait Ă l'esprit lorsqu'il a composĂ© l'ordre de ces commandes dans ses algorithmes.
Tout d'abord, il est nécessaire de faire un croquis du décodeur Koda-Koyaaniskatsi dans Logisim , en utilisant les éléments logiques les plus accessibles de la nomenclature de la série TTL produite afin d'assurer un assemblage facile du décodeur sur de vrais microcircuits.
Ici, nous proposons une désignation graphique conditionnelle pour le décodeur, qui est nécessaire pour assurer la compacité et la clarté de l'ensemble du circuit de la machine à l'avenir, ainsi que pour vérifier le bon fonctionnement du décodage des 256 codes d'instructions.
Registres de préfixes intemporels
Lorsque les tests visuels des performances du décodeur se sont bien déroulés et sans échecs visibles, il était temps de connecter les principaux registres pour stocker les index des RON actifs, qui sont déclenchés par les commandes du groupe REG comme préfixes architecturaux.
Pour assurer le stockage des vecteurs de routage des données par les instructions ALU et RAM, un registre supplémentaire et deux multiplexeurs liés sont ajoutés, avec lesquels vous pouvez lier des registres arbitraires de n'importe quel groupe en tant qu'opérandes d'instructions.
En eux-mĂȘmes, ces registres ne sont pas destinĂ©s Ă stocker les rĂ©sultats des calculs et jouent une sorte de rĂŽle de pointeurs vers les registres requis afin de fournir une interaction contrĂŽlĂ©e dans le programme entre tous les RON et / ou la mĂ©moire disponibles.
Ătat architectural
Assurer l'interaction normale du programme de tous les registres nĂ©cessite la prĂ©sence d'un fichier de registre Ă deux ports, qui n'est pas inclus dans les bibliothĂšques Logisim, ce qui nous oblige Ă rechercher d'autres solutions alternatives plus ou moins coĂ»teuses. Le Koyaaniskatsi classique a un fichier de registre assez complexe, qui n'est pas considĂ©rĂ© ici comme un exemple illustratif et nĂ©cessite le dĂ©veloppement d'une nouvelle solution pour organiser un fichier de registre multi-cycle avec un accĂšs lent. Comme le circuit s'est avĂ©rĂ© ĂȘtre un cycle, il est assez difficile d'organiser le fichier de registre dans la RAM ici et il devient nĂ©cessaire de construire un circuit multi-cycle avec de nombreux cycles spĂ©ciaux se remplaçant dans un ordre strictement spĂ©cifiĂ©.
L'expression algorithmique du compteur de cycles peut ĂȘtre dĂ©crite comme "m & = m - 1" avec dĂ©sactivation sĂ©quentielle de tous les bits actifs de l'Ă©tat architectural, oĂč Ă un certain moment du cycle machine seuls les nĆuds clĂ©s du circuit sont activĂ©s.
Le prototype au maximum Ă©tendu du compteur de cycles de la machine peut ĂȘtre reprĂ©sentĂ© sur un croquis d'un circuit similaire, ce qui est assez difficile Ă comprendre la logique de son fonctionnement.
Une esquisse similaire peut ĂȘtre l'option la plus optimale et la plus polyvalente:
et pour une utilisation dans un schĂ©ma, une dĂ©signation graphique conditionnelle peut ĂȘtre la suivante:
A l'aide de portes logiques à 3 OU, il est désormais possible de traduire le signal de chacune des commandes dans le masque binaire des cycles nécessaires à la bonne exécution de la commande, pendant toute la durée d'exécution dont le compteur de commandes sera temporairement suspendu.
Conclusion
Ainsi, comme vous pouvez le voir, pour au moins plus ou moins commencer Ă comprendre les nuances de la construction indĂ©pendante d'une machine programmable, il nous suffit de nous dĂ©brouiller avec des connaissances de base, mĂȘme au niveau du dessin du schĂ©ma d'une guirlande d'arbres de NoĂ«l clignotante. Aucun matĂ©riel de rĂ©fĂ©rence connu de tout le monde n'a Ă©tĂ© dĂ©libĂ©rĂ©ment utilisĂ© ici, de sorte que le processus de crĂ©ation Ă©tait plus excitant et exempt de toutes tendances et tendances mondiales, sans prĂȘter attention Ă toutes les erreurs de calcul ou erreurs possibles.
Dans la partie suivante, je vais essayer de continuer ma construction pas Ă pas du "processeur akyn",
puisque le nouveau projet fonctionne presque pour moi, mais j'ai décidé de le redessiner à partir de zéro,
et en mĂȘme temps de documenter toutes les Ă©tapes clĂ©s ...