Home
Microprogrammation d`une machine de type processeur
Contents
1. load immediat 128 Acc lt Valeur imm diate store direct 64 Meml adresse lt Acc jmp 32 PC lt Adresse add direct 16 Acc lt Acc Mem adresse Micro programme correspondant l ex cution du jeu d instructions jouet Microprogramme d un processeur a jeu d instruction tres simple Les instructions sont toutes sur 2 octets code operation de l instructions operande code des instructions en decimal load immediat 64 store direct 96 jmp 128 add direct 32 fetch decode store_load pc 0 pc ema read read pc pc l ir mb pc 0 pc ema read read pc pc l tir mb j7 jump 36 store_load j5 add jp fetch j5 store lecture du codop PC incremente en prevision du 2eme mot lecture de l operande PC incremente en prevision de l instruction suivante tir contient l operande si ir7 1 c est un jmp si ir6 1 c est un store ou un load si ir5 1 c est un add sinon c est une instruction illegale on ne la traite pas retour au fetch si ir5 1 c est un store Microprogrammation jp load sinon c est un load load ac tir traitement du load immediat Acc 2eme mot jp fetch store tir 0 tir ema traitement du store direct Mem 2eme mot acc mb ac write 3 write obligatoire car la memoire est supposee plus lente write write jp fetch jmp pe tir traitement du jmp PC 2eme mot jp fetch add tir 0 tir ema traitement du add direct ACC ACC Mem 2eme mot
2. read 2 read obligatoire car la memoire est supposee plus lente read ac mb ac jp fetch 7 Mode d emploi succint de Procesim Lancement du simulateur Visualisation des transferts de registres trace de microprogramme procesim e Ic ne disquette RAM fichier suffix ob chargement en Ram du programme objet assembl s il existe Une fen tre pemet de visualiser le contenu de la RAM e Ic ne disquette ROM fichier suffix mob chargement en ROM du microprogramme standard fourni ou de celui que l on a microassembl Une fen tre pemet de visualiser le contenu de la ROM et de suivre l volution du microprogramme e Pas pas le bouton clock permet d ex cuter la prochaine micro instruction e Instruction Le bouton Instr permet d ex cuter une suite de micro instructions jusqu l adresse en ROM sp cifi e en h xa Attention 1l faut sortir de ce mode par le bouton cancel pour pouvoir utiliser d autres boutons e Reset le bouton reset permet une remise 0 de tous les registres du processeur comme le ferait une broche reset sur un vrai circuit e Micro assemblage du fichier nomdefichier muc contenant le microcode masm nomdefichier muc produit le microcode dans le fichier sortie mob Microprogrammation 8 QUESTIONS Pour commencer comprendre le fonctionnement de ce processeur vous pouvez utiliser le microprogramme jouetnew muc Le jeu d instruction et les codes correspondan
3. du registre F Z N et C par la valeur actuelle des microflags Commandes param tr es Si la micro instruction n utilise pas la partie adresse suivante il est possible de param trer les num ros de registres qui seront soit sortis sur les bus et B soit charg s avec le contenu du bus C Ainsi ce ne sont plus les valeurs des champs busA busB et busC de la micro instruction qui d termineront les registres utiliser mais le contenu des registres MK1 et MK2 BitC selection busc remplac e par les 4 bits de poids fort de MK1 BitB s lection busb remplac e par les 4 bits de poids faible de MK1 BitA s lection busa remplac e par les 4 bits de poids fort de MK2 param trer le calcul effectuer dans l UAL BitUAL op ration de UAL sp cifi e dans le champ UAL remplac par les bits 1 et O de MK2 CALCUL DE PETAT SUIVANT Condi 5 bits 11 000 Saut si bit O du registre IR 1 11001 Saut si bit 1 du registre IR 1 11111 Saut si bit 7 du registre IR 1 10000 Saut inconditionnel 10110 Saut si microZ 1 10101 Saut si microN 1 10100 Saut si microC 1 10111 Saut si bit I du registre F 1 10001 Saut si interruption externe Adresse suivante 8 bits adresse de la prochaine micro instruction si la condition de saut est v rifi e Remarque Dans le cas d un saut aucune op ration et chargement de registre ne sont r alis s dans la PO toutes les commandes de chargement de registre sont in
4. peut tre ajout toute micro instruction Il y a alors chargement de MA par ce qui est sur le bus B On peut aussi crire pe 1 pc ma pe e micro branchements 30 j1 j7 saut si i me bit de IR est 1 jp saut inconditionnel jz saut si microZ 1 jn saut si microN 1 je saut si microC 1 ji saut si bit I du registre F est 1 jq saut si interruption externe syntaxe J tiquette e Sp ciales seti et clri mise a 1 et O du bit I de F sert au traitement des interruptions Microprogrammation e Acc s la m moire read write permet la lecture criture d un mot en m moire via les registres MB donn e et MA adresse Le temps d acc s de la m moire est suppos de deux p riodes d horloge du processeur 2 read pour la lecture et de 3 cycles pour l criture 3 write 6 Le jeu d instructions du processeur Cette architecture permet de r aliser diff rents jeux d instructions en modifiant juste le contenu de la ROM Nous allons tudier un jeu d instruction d un processeur tr s simple jouet but p dagogique Nous n emploierons qu une partie des possibilit s de la PO et PC vues pr c demment Le processeur jouet Les instructions sont toutes sur 2 octets code op ration de l instruction op rande L op rande repr sente soit une adresse adressage direct soit une valeur imm diate Un seul registre de calcul Acc Instructions code en d cimal
5. temps dans la P O En g n ral e sortie d un registre sur le bus A e sortie d un registre sur le bus B e Op ration U A L e Op ration d caleur e Rangement du r sultat dans un registre via le bus C On crira reg dest fct d caleur sourceA op rationUAL sourceB reg dest Destinations possibles les 16 registres y compris 0 1 ff inchang s MB MA Icbus source les 16 registres MB labus sourceB les 16 registres Ibbus op ration UAL AND XOR entr e gauche MB ou busA inchang e fct d caleur shl shr rien d calages gauche ou droitre de 1 position e Exemples de microinstructions valides autre que celles du micro programme dest decaleur sourceA op rationUAL sourceB pc mb 1 tir shl ir xor ff mb ac lt op ration entr e gauche gt a shr b Ibbus 0 ir and 1 Les micro instructions modifient les micro flags yZ uN uC selon les r sultats du calcul dans l UAL Ils sont mis jour dans les flags Z N C connus du programmeur dans le registre F gr ce la commande ma jflag champ F de la micro instruction labus d signe le registre dont le num ro est dans les 4 bits de poids forts de MK2 Ibbus d signe le registre dont le num ro est dans les 4 bits de poids faibles de MK1 Icbus d signe le registre dont le num ro est dans les 4 bits de poids forts de MK1 lual d signe l op ration effectuer dans UAL dont le code est dans les bits 1 et 0 de MK2 ema
6. UFR IMA Polytech Grenoble Ecole Universitaire d Informatique de Grenoble Travaux Pratiques d Architecture Mat rielle Microprogrammation d une machine de type processeur Pr sentation g n rale Les s ances de TP sur le th me de la microprogrammation sont une suite directe du travail sur les circuits complexes partie op rative partie contr le et de l tude des instructions des processeurs Nous allons tudier la structure interne r elle d une machine ex cuter des instructions c est dire un processeur et faire en sorte qu elle soit capable d interpr ter et d ex cuter un jeu d instructions donn Une telle machine peut tre r alis e sous la forme Partie Contr le Partie Op rative C est le cas par exemple pour le processeur 68000 La partie contr le correspond la r alisation d un automate dont les sorties correspondent aux commandes de la PO op rations faire un moment donn et l encha nement des tats traduit l encha nement dans le temps de ces op rations l mentaires Cet automate peut tre r alis de diverses mani res D une fa on dite c bl e Bascules portes logiques De mani re dite microprogramm e comme nous allons nous y int resser ici La diff rence tient la m thode de description de l automate de contr le et surtout la r alisation mat rielle de cet automate L automate de contr le qui repr sente l algorithme d interpr tation des instructions s
7. era crit dans un langage que l on appellera micro langage Un programme crit dans ce micro langage sera appel microprogramme il contiendra des lignes que l on appellera micro instructions d o le nom de microprogrammation Chaque micro instruction correspond en fait un tat d un automate classique Le micro langage est donc un moyen d crire de d crire de fa on textuelle l automate repr sentant la partie contr le de la machine Une micro instruction a un sens physique elle correspond un quelquefois 2 ou 3 transfert de registres qui s ex cute en 1 p riode d horloge c est dire en un cycle de base de l volution de l tat interne de la machine Il importe d s maintenant de bien comprendre les diff rences entre le langage machine du processeur tudi et le micro langage qui sert crire l algorithme d interpr tation des instructions Pour r aliser et tester ces microprogrammes vous utiliserez l environnement appel ProceSim outil p dagogique de simulation de processeur pr vu cet effet Les microprogrammes que vous crirez pourront tre traduits en micro code binaire gr ce un micro assembleur Vous testerez ensuite vos microprogrammes en observant l tat de la partie op rative d un processeur donn au fur et mesure du d roulement du microprogramme Microprogrammation 2 La machine vue par le programmeur On consid re un calculateur compos d un processeur et d
8. hib es Ce serait tout fait possible de le faire mais ce n est pas pr vu dans le simulateur et le micro assembleur ex jn etiquette pc pc 1 On ne pourrait pas toutefois utiliser dans ce cas l les commandes param tr es puisque les bits BitC BitA BitB et BitUAL sont dans le champ adressesuivante Il faudrait de plus inhiber ces bits dans la PO par exemple en rajoutant des and avec le dernier bit du champ Condi O0 quand ce n est pas une microinstruction de saut Microprogrammation 4 La partie op rative du processeur Les commandes correspondent directement aux diff rents champs des micro instructions correspondants Champ Bus MEIF Hum ro du wad Eitt a Vers la IEBISIIE n rmoire write 13 commandes ChAISEINE nt 16 commande s 16 commande s chargement T de MA d J acces al bus choix de l entr e ext ou bus Ci chargement de ME Mux entr e Champ MEF _ G UA Bus cs MEIf IEZ bits O et 1 hamp UAL BIAL fonction d c ale ur Les multiplexeurs gris s correspondent aux commandes param tr es Microprogrammation Les bo tes de d codage permettent d obtenir 13 ou 16 signaux chargement de registre ou s lection d un registre sur un bus travers une porte trois tats partir d un num ro sur 4 bits 5 Primitives pour l criture de micro programmes Plusieurs actions ont lieu en m me
9. op rative et commandes ext rieures Architecture de la partie contr le vers la PO adress miop instruction su nrante Logique Saut a MicroF hgs regist e mstruction TE bit I duregitre Venant de la PO Architecture de la par tie conti Ok micro progr ammi Les micro instructions sont stock es dans une ROM La bo te appel e logique saut contient le circuit logique combinatoire qui permet partir du champ condi de la micro instruction des micro Flags et du registre instruction de d terminer s il faut ou non sauter la micro instruction dont l adresse est dans le champs adresse suivante Format des micro instructions Les champs des micro instructions peuvent tre class s suivant deux fonctionnalit s Certains champs contiennent les valeurs des commandes de la partie op rative dans l tat courant de l automate de contr le D autres champs concernent l encha nement entre les tats de l automate si la condition de saut est r alis e champ condi on passe la micro instruction dont l adresse se trouve dans un champs de la micro instruction sinon on passe la micro instruction suivante Microprogrammation 4 4 4 8 Adresse prochaine micro instruction Ou bien I l 1 1 1 l Les registres sont num rot s de 0 15 dans l ordre suivant de leurs noms PC SP IR TIR 0 1 ff A B C D E F MK1 MK2 Ac par exemple A correspond au num ro 7 C est ce num ro q
10. ramme et tester On veut rajouter une instruction de branchement conditionnel BLEQ Cette instruction permet un branchement si le flag Z 1 Modifier le microprogramme de telle fa on que cette nouvelle instruction puisse tre ex cut e et que l instruction ADD modifie le flag Z Rajouter les instructions load et add mais affectant cette fois un des registres A B C D E ACC Ex ADD E VI E E VL ou en direct ADD B Ad B B Mem Ad Le num ro du registre concern pourra se trouver dans les 3 bits de poids faible du premier mot de l instruction On se servira des micro instructions param tr es labus Ibbus et Icbus R diger un compte rendu comportant Les r ponses aux diverses questions pos es ci dessus Le microprogramme modifi bien comment Des programmes de test Des commentaires sur les choix effectu s et des explications sur le microprogramme 10 Microprogrammation
11. ts sont donn s dans ce fichier Ecrire un programme simple dans le langage de ce processeur l assembler la main traduction en hexad cimal Ex cuter le programme en pas pas gr ce au simulateur Donner le graphe de l automate de la partie contr le du processeur jouet Comprendre l effet des commandes de la PO se trouvant dans la ROM Donner la fonction bool enne qui correspond la sortie de la boite logique saut apparaissant dans la figure sur l architecture de la PC On veut tendre le jeu d instruction de ce processeur jouet Les instructions ADD et LOAD ont maintenant deux modes d adressages possibles direct et imm diat Rajouter un champ mode adressage sur un bit dans le code des instructions On choisira le bit 3 pour ce champ Modifier le microprogramme et tester Combien de p riodes d horloge faut il pour ex cuter chacune de ces instructions On veut rajouter une instruction quivalente au BL Branch and Link du processeur ARM Cette instruction permet de sauter l adresse donn e et de sauvegarder l adresse de retour dans le registre A BL adresse A PC PC Adresse On rajoute aussi une instruction sp cialis e de retour de sous programme RTS qui a pour effet de mettre dans PC le contenu du registre A Choisir un code pour ces deux instructions On prendra soins de laisser les bits de poids faible de l instruction pour traiter la question 4 Modifier le microprog
12. ui apparait dans les champs de micro instruction concernant les registres Le registre 0 contient la constante 0 1 contient 1 et ff contient 1 COMMANDES Commandes de s lection Bus C 4 bits si commande non param tr e num ro du registre qui sera charg cela peut tre le num ro d un registre constant mais alors chargement non effectif Bus A 4 bits si commande non param tr e num ro du registre qui se trouve sur le bus Bus B 4 bits si commande non param tr e num ro du registre qui se trouve sur le bus Mux 1 bit 1 transmet bus A 0 transmet MB sur l entr e g de l UAL Commandes de chargement Ma 1 bit MA lt ce qui est sur le B bus 1 0 MA inchang Mb 1 bit 1 MB lt sortie du d caleur 0 MB inchang Rd 1 bit bi lecture MB lt Mem MA Wr 1 bit 1 criture Mem MA lt MB C 1 bit Autorise interdit le chargement de ce qui est sur le bus C dans le registre sp cifi par le champs Bus C Commandes de calcul Ual 2 bits 00 somme arithm tique des 2 entr es de l UAL 01 entr e de gauche 11 XOR des 2 entr es de l UAL 10 ET des 2 entr es de l UAL Microprogrammation D cal 2 bits 00 rien O1 sortie ual d cal e droite 10 sortie ual d cal e gauche 11 non utilis e Si 1bit 1 mettre 1 le bit I du registre F Ci 1bit 1 mettre 0 le bit I du registre F F 1 bit 1 mettre jour les flags
13. une RAM Il contient un processeur 256 mots de 8 bits de m moire vive RAM qui occupent les adresses de 00H FFH Calculateur Processeur Bus donn es Le programme qui va s ex cuter sur le microprocesseur et ses donn es sont stock s dans la RAM Taille des adresses et des donn es Les adresses et les donn es sont des mots de 8 bits Registres accessibles au programmeur 6 registres banalis s de 8 bits A B C D E Ac 3 registres sp cifiques l F mot d tat 2 SP pointeur de pile 3 PC compteur programme A la mise sous tension PC lt 00H F lt 00H SP lt 00H Si l on veut initialiser le pointeur de pile une autre valeur il faudra soit le faire par programme soit par microinstructions voir plus loin Registre connu mais non explicitement accessible par les instructions 1 Registre instruction IR Registres inconnus du programmeur TIR MK1 MK2 La compr hension du fonctionnement de la partie op rative et de la partie contr le doit se faire en parall le 3 La partie contr le du processeur La partie contr le est la r alisation d un automate de Moore gr ce une ROM Cette technique est appel microprogramm e Chaque ligne de la ROM correspond un tat de l automate et contient les informations n cessaires au calcul de l tat suivant Microprogrammation nouvelle adresse dans la Rom et les valeurs des sorties commande de la partie
Download Pdf Manuals
Related Search
Related Contents
fulltext Product Manual Samsung SCX-5639FR multifunctional BDA LTR-104 Conditions Générales d`Abonnement des offres Formule concord cocoon Moisture Monitor™ Series 3 ORCHESTRA MODUL DPS - Frank's Hospital Workshop Copyright © All rights reserved.
Failed to retrieve file