Conception du processeur Koyaaniskatsi Ă©tape par Ă©tape

Contrairement à des matériaux similaires sur la conception d'un processeur utilisant le matériel de référence du livre "Code" de Charles Petzold et adhérant à certaines rÚgles, ici la position du concepteur ne sera énoncée qu'à partir de sa propre expérience. L'accent principal sera mis sur la construction d'un automate de commande programmé avec un code machine, qui n'est pas un ensemble sec de zéros ou de uns, mais lu par des abréviations de mots à deux caractÚres du systÚme de nombres hexadécimaux. Ici, le code machine adhÚre au paradigme du pseudocode, qui est assez facilement compris par un développeur qualifié et est facilement exécuté au niveau matériel avec une petite nomenclature TTL donnée par le processeur conçu par la cible.



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.



image



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.



image



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.



image



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.



image



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.



image



Une esquisse similaire peut ĂȘtre l'option la plus optimale et la plus polyvalente:



image



et pour une utilisation dans un schĂ©ma, une dĂ©signation graphique conditionnelle peut ĂȘtre la suivante:



image



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.



image



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 ...



All Articles