Chapitre V Conception et Organisation d’un Ordinateur de Base

79
Chapitre V Conception et Organisation d’un Ordinateur de Base Wail Gueaieb (Universit´ e d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 1 / 80

Transcript of Chapitre V Conception et Organisation d’un Ordinateur de Base

Page 1: Chapitre V Conception et Organisation d’un Ordinateur de Base

Chapitre V

Conception et Organisation d’un Ordinateur de Base

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 1 / 80

Page 2: Chapitre V Conception et Organisation d’un Ordinateur de Base

Codes d’instruction

Codes d’instruction

Un code d’instruction est un groupe de bits (code binaire) qui ordonne l’ordinateurd’executer une sequence de micro-operations.

Les codes d’instruction et les donnees (operandes) sont ranges dans la memoire del’ordinateur.

L’unite de controle interprete alors le code binaire de l’instruction, et l’execute en deployantune sequence de micro-operations.

Un code d’instruction est d’habitude divisee en deux parties : un code d’operation et un coded’adresse.

Le code d’operation definit l’operation a etre executee : addition, soustraction, ET logique,etc.

Le code d’adresse specifie d’habitude (mais pas toujours) l’adresse de l’operande.

L’unite de controle recoit le code d’instruction de la memoire, interprete le code d’operation,puis delivre une sequence de signaux de controle pour declencher la sequence demicro-operations necessaires qu’il faut effectuer sur les operandes specifies.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 3 / 80

Page 3: Chapitre V Conception et Organisation d’un Ordinateur de Base

Codes d’instruction

Un code d’instruction doit specifier non seulement l’operation (definie par le coded’operation), mais aussi les registres ou les mots de memoire dans lesquels doivent se trouverles operandes, ainsi que le registre ou le mot dans lequel le resultat doit etre range

Un mot de la memoire peut etre specifie dans le code d’instruction en donnant son adresseen memoire.

Un registre du processeur peut etre specifie dans le code d’instruction en assignant k bits quiidentifient l’une des 2k registres du processeur disponibles dans le systeme.

Dans ce chapitre, nous allons discuter de l’organisation, de la fonctionnalite, et de laconception de base d’un ordinateur a petite echelle.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 4 / 80

Page 4: Chapitre V Conception et Organisation d’un Ordinateur de Base

Codes d’instruction Organisation d’un programme sauvegarde

Organisation d’un programme sauvegarde

L’organisation de l’ordinateur de base que nous allons presenter dans ce chapitre estschematisee sur la Figure 1.

Figure 1: Organisation d’un programme sauvegarde

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 5 / 80

Page 5: Chapitre V Conception et Organisation d’un Ordinateur de Base

Codes d’instruction Organisation d’un programme sauvegarde

Une memoire de 4096× 16 est utilisee ⇒ mots de 16 bits.

La memoire est divisee en deux parties:Une partie programme, ou le programme (ensemble d’instructions) a etre execute est range, etUne partie donnees, ou les donnees (operandes) a etre utilisees pour les instructions du programmesont rangees.

Chaque instruction de la partie programme de la memoire est divisee en deux parties:La premiere partie est composee de 4 bits (bits 12 a 15), et specifie le code d’operation (opcode) de

l’une des 24 = 16 operations possibles qui peuvent etre executees.La deuxieme partie est composee de 12 bits (bits 0 a 11), et specifie l’adresse de l’operande dans lamemoire.

Les 12 bits de la partie adresse dans le code d’instruction peuvent specifier un maximum de212 = 4096 differentes adresses de mots dans la memoire, ce qui correspond a la taille de lamemoire dans notre cas.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 6 / 80

Page 6: Chapitre V Conception et Organisation d’un Ordinateur de Base

Codes d’instruction Organisation d’un programme sauvegarde

Chaque mot de la partie donnees de la memoire contient un operande de 16 bits.

L’accumulateur AC est un registre du processeur qui est d’habitude utilise pour ranger unoperande de l’operation a etre executee.

Une instruction du programme est executee dans l’ordre suivant:1 L’unite de controle lit le code d’instruction de 16 bits dans la partie programme de la memoire.2 La partie adresse de 12 bits du code d’instruction est ensuite utilisee pour lire l’operande de 16 bits

dans la partie donnees de la memoire.3 Puis, le code operation de 4 bits est utilise pour effectuer l’operation desiree sur l’operande qui vient

d’etre lu.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 7 / 80

Page 7: Chapitre V Conception et Organisation d’un Ordinateur de Base

Codes d’instruction Adressage indirect

Adressage indirect

Une instruction qui possede un operande immediat est une instruction dans laquelle les bitsd’adresse sont utilises pour ranger l’operande lui-meme plutot que son adresse en memoire.

Une instruction qui possede une adresse directe est une instruction dans laquelle les bitsd’adresse sont utilises pour ranger l’adresse de l’operande en memoire.

Une instruction qui possede une adresse indirecte est une instruction dans laquelle les bitsd’adresse sont utilises pour ranger l’adresse de l’adresse de l’operande en memoire.

Un des bits du code d’instruction doit etre utilise pour specifier quel est le type d’adressage(direct ou indirect) de l’instruction.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 8 / 80

Page 8: Chapitre V Conception et Organisation d’un Ordinateur de Base

Codes d’instruction Adressage indirect

Considerons l’ordinateur dans la configuration montree a la Figure 2.

Figure 2: Demonstration de l’adressage direct et indirect

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 9 / 80

Page 9: Chapitre V Conception et Organisation d’un Ordinateur de Base

Codes d’instruction Adressage indirect

Le code d’instruction est compose d’un code operation de 3 bits, une adresse de 12 bits, etun bit de mode d’adressage indirect I .

I = 0 pour un adressage direct, et I = 1 pour un adressage indirect.

La Figure 2(b) montre un mode d’adressage direct (I = 0) avec le code operation d’uneaddition.

Le code d’adresse de 12 bits contient l’equivalent binaire de 457.⇒ l’operande se trouve a l’adresse 457 de la memoire.L’operande est importe et ajoute au nombre range dans l’accumulateur AC .

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 10 / 80

Page 10: Chapitre V Conception et Organisation d’un Ordinateur de Base

Codes d’instruction Adressage indirect

La Figure 2(c) montre un mode d’adressage indirect (I = 1) avec le code operation d’uneaddition.

Le code d’adresse de 12 bits contient l’equivalent binaire de 300.⇒ l’adresse de l’operande est alors importee de l’adresse 300, qui contient l’equivalent binaire de1350.L’operande est finalement importe de l’adresse 1350 et ajoute au nombre range dans l’accumulateurAC .

L’adresse de l’operande est appelee l’adresse effective.

Par exemple, l’adresse effective pour le cas de la Figure 2(b) est 457, tandis qu’elle est 1350pour le cas de la Figure 2(c).

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 11 / 80

Page 11: Chapitre V Conception et Organisation d’un Ordinateur de Base

Registres de l’ordinateur

Registres de l’ordinateur

Pour illustrer le fonctionnement d’un ordinateur de base, nous adopterons la configuration deregistres montree a la Figure 3 et definie dans la Table 1.

Figure 3: Registres de l’ordinateur de base et memoire

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 12 / 80

Page 12: Chapitre V Conception et Organisation d’un Ordinateur de Base

Registres de l’ordinateur

Table 1: Liste des registres de l’ordinateur de base

Symbole Nombredu registre de bits Nom du registre FonctionDR 16 Registre de donnees Contient l’operande de la memoireAC 16 Accumulateur Registre du processeurIR 16 Registre d’instruction Contient le code d’instructionTR 16 Registre temporaire Contient des donnees temporairesAR 12 Registre d’adresse Contient l’adresse dans la memoirePC 12 Compteur ordinal Contient l’adresse de l’instructionINPR 8 Registre d’entree Contient un caractere d’entreeOUTR 8 Registre de sortie Contient un caractere de sortie

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 13 / 80

Page 13: Chapitre V Conception et Organisation d’un Ordinateur de Base

Registres de l’ordinateur

L’unite de memoire a une capacite de 4096 mots de 16 bits chacun.

Comme montre sur la Figure 3(a), chaque code d’instruction de 16 bits est compose de 12bits d’adresse, d’un opcode de 3 bits, et un bit pour specifier le mode d’adressage direct ouindirect.

Le registre de donnees (DR) contient l’operande lu de la memoire.

L’accumulateur (AC) est un registre de processeur pour utilisation generale.

Le registre d’instruction (IR) contient l’instruction lue de la memoire.

Le registre temporaire (TR) contient des donnees temporaires pendant le traitement.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 14 / 80

Page 14: Chapitre V Conception et Organisation d’un Ordinateur de Base

Registres de l’ordinateur

Le registre d’adresse (AR) est un registre de 12 bits qui contient l’adresse du mot auquel ilfaut acceder en memoire.

Le compteur ordinal (PC) est aussi un registre de 12 bits qui contient l’adresse de laprochaine instruction a etre importee de la memoire apres que l’instruction presente soitexecutee.

INPR est un registre d’entree qui contient le code de 8 bits d’un caractere lu d’un appareild’entree.

OUTR est un registre de sortie qui contient le code de 8 bits d’un caractere a etre transferedans un appareil de sortie.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 15 / 80

Page 15: Chapitre V Conception et Organisation d’un Ordinateur de Base

Registres de l’ordinateur Systeme de bus commun

Systeme de bus commun

L’ordinateur de base presente dans ce chapitre possede 8 registres, une unite memoire, etune unite de controle.

Ils sont interconnectes via un systeme de bus commun tel que celui montre a la Figure 4.

Les sorties des sept composantes numeriques (six registres et une memoire) sont connecteesau bus.

Pour n’importe quel instant, les bits de selection de bus S2, S1, et S0, determinent la sortiede la composante specifique a etre placee sur les lignes de bus.

Le nombre a cote de chaque entree sur la Figure 4 montre l’equivalent decimal de laselection binaire requise.

Par exemple, le nombre qui se trouve a cote de la sortie de DR est 3.⇒ lorsque S2S1S0 = 011 (equivalent binaire de 3) la sortie de 16 bits de DR est placee sur lebus de 16 bits.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 16 / 80

Page 16: Chapitre V Conception et Organisation d’un Ordinateur de Base

Registres de l’ordinateur Systeme de bus commun

Figure 4: Registres de base d’un ordinateur, connectes a un bus commun

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 17 / 80

Page 17: Chapitre V Conception et Organisation d’un Ordinateur de Base

Registres de l’ordinateur Systeme de bus commun

Les lignes de bus communes sont connectees aux lignes d’entree de donnees de chaqueregistre, ainsi qu’aux lignes d’entree de donnees de la memoire.

Le registre particulier dont le bit d’entree LD (chargement) est selectionne recoit les donneesdu bus a la prochaine impulsion d’horloge.

Le contenu du bus est charge dans la memoire lorsque son bit de controle d’ecriture (Write)est active.

La memoire place le contenu de ses mots de 16 bits sur le bus lorsque son bit de controle delecture (Read) est active et que S2S1S0 = 111.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 18 / 80

Page 18: Chapitre V Conception et Organisation d’un Ordinateur de Base

Registres de l’ordinateur Systeme de bus commun

Deux des registres connectes au bus n’ont que 12 bits (AR et PC).

Lorsque le contenu de AR ou de PC est applique au bus de 16 bits, les 4 bits les plussignificatifs du bus sont mis a ‘0’.

Lorsque AR ou PC chargent le contenu du bus, seuls les 12 bits les moins significatifs sonttransferes dans le registre.

Le registre OUTR peut seulement recevoir de l’information du bus, mais ne peut pas y placerson contenu.De cette maniere, seuls les 8 bits les moins significatifs du bus sont charges dans le registr.

Le registre INPR peut seulement placer son contenu sur le bus, mais ne peut pas en recevoirde l’information.Dans ce cas, les 8 bits les moins significatifs du bus recoivent les donnees du registre alorsque le restant des donnees du bus est remis a ‘0’.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 19 / 80

Page 19: Chapitre V Conception et Organisation d’un Ordinateur de Base

Registres de l’ordinateur Systeme de bus commun

Cinq registres (AR, PC , DR, AC , et TR) sont equipes de 3 entrees de controle : LD(chargement), INR (incrementation), CLR (clear).

Deux autres registres (IR et OUTR) sont seulement equipes d’un autre bit de controle enentree : LD.

AR est le seul registre connecte aux lignes d’adresse de l’unite de memoire.⇒ seul AR peut contenir l’adresse du mot auquel il faut acceder dans la memoire.

Le contenu de n’importe quel registre de 16 bits peut etre utilise comme entree de donneespour la memoire pendant une operation d’ecriture (write).

Tous les registres de 16 bits peuvent recevoir directement des donnees de la memoirependant une operation de lecture, sauf AC .

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 20 / 80

Page 20: Chapitre V Conception et Organisation d’un Ordinateur de Base

Registres de l’ordinateur Systeme de bus commun

Les 16 bits d’entree de donnees du registre AC viennent d’un circuit additionneur et logique.

Le circuit possede 3 sources d’entrees de donnees:La premiere source est le contenu du AC lui-meme (16 bits).La source est en general utilisee comme premier operande lorsque le circuit doit effectuer desoperations a une ou deux operandes (ex : complementation de AC , incrementation de AC , etc.)La deuxieme source est le contenu de DR (16 bits).Cette source est en general utilisee comme le second operande pour certaines applications (e.g.,AC ← AC + DR, ou AC ← AC ∧ DR, etc.)La troisieme source est le contenu du registre INPR (8 bits).

Dans le cas ou le circuit additionneur et de logique effectue une addition d’operation, labascule E retient la retenue de sortie de l’addition.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 21 / 80

Page 21: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions de l’ordinateur

Instructions de l’ordinateur

L’ordinateur de base que nous allons concevoir possede trois formats d’instruction, commemontre sur la Figure 5.

L’opcode (code operation) est compose de 3 bits.

Les opcodes 000 jusqu’a 110 specifient sept operations a etre effectuees par l’AC .Dans ce cas:

Le code d’adresse de 12 bits specifie une adresse en memoire.I = 0 specifie une instruction avec adressage direct.I = 1 specifie une instruction avec adressage indirect.

L’opcode 111 avec I = 0 specifie une instruction referencee a un registre.Dans ce cas, les 12 bits restant sont utilises pour specifier la description ou bien le test a etreeffectue.

L’opcode 111 avec I = 1 specifie une instruction d’entree/sortie.Dans ce cas, les 12 bits restants sont utilises pour specifier le type d’operationd’entree/sortie a etre effectuee.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 22 / 80

Page 22: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions de l’ordinateur

Figure 5: Formats d’instruction pour un ordinateur de base

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 23 / 80

Page 23: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions de l’ordinateur

Table 2: Instructions pour un ordinateur de base

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 24 / 80

Page 24: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions de l’ordinateur Completude d’un ensemble d’instructions

Completude d’un ensemble d’instructions

On dit que l’ensemble des instructions d’un ordinateur est complet s’il peut etre utilise pourevaluer n’importe quelle fonction qu’il est possible de calculer.

Pour etre complet, un ensemble d’instruction doit contenir assez d’instructions dans chacunedes categories suivantes:

1 Instructions arithmetiques, logiques, et de decalage.2 Instructions pour deplacer de l’information de et vers la memoire et les registres du processeur.3 Instructions de controle du programme, et instructions qui verifient certaines conditions d’etat.4 Instructions d’entree et de sortie.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 25 / 80

Page 25: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions de l’ordinateur Completude d’un ensemble d’instructions

Les instructions de controle du programme, telles que les instructions d’embranchement, sontutilisees pour changer la sequence d’execution que suit le programme.

Les instructions d’entree et de sortie sont necessaires pour la communication entrel’ordinateur et l’utilisateur (monde exterieur).

Dans ce contexte, la liste d’instructions de la table 2 est complete, car elle contient assezd’instructions dans chaque categorie.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 26 / 80

Page 26: Chapitre V Conception et Organisation d’un Ordinateur de Base

Controle et temps

Controle et temps

Les registres ne changent pas de contenu a moins qu’ils soient actives par leurs signaux decontrole, tels que les signaux de chargement, d’incrementation, et de clear, par exemple.

Ces signaux de controle sont generes dans l’unite de controle, et fournissent les entrees deselection des divers multiplexeurs presents dans le systeme, ainsi que les entrees de controledes registres.

Le diagramme bloc de l’unite de controle est donne a la Figure 6.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 27 / 80

Page 27: Chapitre V Conception et Organisation d’un Ordinateur de Base

Controle et temps

Figure 6: Unite de controle d’un ordinateur de base

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 28 / 80

Page 28: Chapitre V Conception et Organisation d’un Ordinateur de Base

Controle et temps

L’unite de controle consiste en deux decodeurs, un compteur de sequence (SC), et desportes logiques.

Lorsqu’une instruction est lue de la memoire, elle est placee dans le registre d’instruction IR.

L’opcode de 3 bits dans IR est decode en utilisant un decodeur 3x8.

Les sorties du decodeur sont D0 a D7, chacune correspondant a l’une des 8 operationspossibles.

Le bit 15 de IR est transfere a une bascule I .

Le compteur de sequence SC de 4 bits peut compter en binaire de 0 a 15.

Les sorties de SC sont decodees en 16 signaux de temps, de T0 a T15.

Les 12 bits les moins significatifs de IR, I , D0 a D7, et T0 a T15, sont tous utilises commeentrees pour les portes logiques, qui calculent les entrees de controle necessaires pour lesmultiplexeurs et les registres du systeme.

Le diagramme logique interne des blocs de portes logiques de controle sera explique plus tard.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 29 / 80

Page 29: Chapitre V Conception et Organisation d’un Ordinateur de Base

Controle et temps

SC peut etre soit incremente, soit remis a 0 de facon synchrone de facon a pouvoir presenterdes signaux de temps au decodeur 4x16.

Lorsque necessaire, SC est remis a 0 pour revenir au signal de temps T0.

Example 1.

Supposez que l’on veuille revenir a T0 si l’operation “STA” a lieu a l’instant T4.

L’opcode de 3 bits de l’operation “STA” est 011, ce qui correspond a D3.

T0 = 1 lorsque SC est a l’etat 0000.

Ainsi, SC doit etre remis a 0 (CLR doit etre mis a 1) seulement lorsque D3T4 = 1.

On peut implementer cela en faisant passer D3 et T4 dans une porte ET dont la sortie estensuite connectee au bit de remise a 0 (CLR) de SC .

En RTL, ceci se traduit par:

D3T4 : SC ← 0.

La Figure 7 montre la relation temporelle des signaux de controle.

Il est important de noter que la relation temporelle entre les transitions d’horloge (pendantlaquelle toutes les operations de transfert de registres ont lieu) et les signaux de tempsT0, T1, . . . , T15.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 30 / 80

Page 30: Chapitre V Conception et Organisation d’un Ordinateur de Base

Controle et temps

Figure 7: Exemple de signaux de controle de temps

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 31 / 80

Page 31: Chapitre V Conception et Organisation d’un Ordinateur de Base

Controle et temps

Example 2.

L’expression RTL suivante

T0 : AR ← PC

Specifie un transfert du contenu du PC (compteur ordinal) vers AR si le signal de temps T0

est actif.

T0 est actif pendant tout l’intervalle delimite par une periode d’horloge.

Pendant ce temps, et juste avant la prochaine transition positive de l’horloge, le contenu duPC doit etre place sur le bus (en mettant S2S1S0 = 010) et l’entree LD (chargement) de ARdoit etre activee.

A l’arrivee de la transition positive d’horloge, l’operation de transfert de registre a lieu, et SCest incremente de 0000 a 0001, ce qui rend T0 = 0 and T1 = 1.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 32 / 80

Page 32: Chapitre V Conception et Organisation d’un Ordinateur de Base

Cycle d’instruction

Cycle d’instruction

Un programme qui reside dans la memoire de l’ordinateur consiste en une sequenced’instruction.

Chaque instruction est executee suivant plusieurs etapes:1 Importer une instruction de la memoire.2 Decoder l’instruction.3 Lire l’adresse effective dans la memoire si l’instruction utilise un adressage indirect.4 Executer l’instruction.

Lorsque l’etape 4 est terminee, le controle revient a l’etape 1 et recommence le cycle pour laprochaine operation.

Ce processus se repete indefiniment jusqu’a ce qu’une instruction de halte soit rencontree.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 33 / 80

Page 33: Chapitre V Conception et Organisation d’un Ordinateur de Base

Cycle d’instruction Importer et decoder une instruction

Importer et decoder une instruction

Lorsqu’un programme est execute, l’adresse de la premiere instruction du programme estinitialement chargee dans le compteur ordinal, et SC est remis a 0, ce qui rend T0 = 1.

Apres chaque impulsion d’horloge, SC est automatiquement incrementee de 1, de facon a ceque les signaux de temps passent par T0, T1, T2, et ainsi de suite.

Les micro-operations des phases d’importation et de decodage peuvent etre specifiees par lesexpressions RTL suivantes:

T0 : AR ← PC

T1 : IR ← M[AR] , PC ← PC + 1

T2 : D0, . . . , D7 ← Decode IR(12− 14) , AR ← IR(0− 11) , I ← IR(15)

L’entree de controle INR (incrementer) de SC est toujours mise a 1 afin de produire lasequence T0, T1, T2, et ainsi de suite.

La Figure 8 montre comment les deux premieres expressions RTL (phase d’importation) sontimplementees dans le systeme de bus.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 34 / 80

Page 34: Chapitre V Conception et Organisation d’un Ordinateur de Base

Cycle d’instruction Importer et decoder une instruction

Figure 8: Transfert de registre pour la phase d’importation

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 35 / 80

Page 35: Chapitre V Conception et Organisation d’un Ordinateur de Base

Cycle d’instruction Importer et decoder une instruction

Puisque seul AR est connecte aux entrees d’adresse de la memoire, il est necessaire detransferer l’adresse de PC vers AR pendant la transition d’horloge associee au signal detemps T0.

L’instruction lue est alors transferee au registre IR lors de la transition d’horloge associee ausignal de temps T1.

Au meme instant (T1), PC est incremente de 1, de telle maniere qu’il contient alors l’adressede la prochaine instruction du programme.

Maintenant que IR contient le code d’instruction, l’opcode peut etre decode au signal detemps T2, le bit 15 de l’IR est transfere a la bascule I , et la partie d’adresse de l’instruction(bits de 0 a 11) est transferee vers AR.

Pour faire circuler les donnees du PC vers l’AR avec la premiere instruction (celle qui estexecutee a T0), les taches suivantes doivent etre executees pendant le cycle T0:

1 Placer le contenu du PC sur le bus en faisant en sorte que S2S1S0 = 010.2 Transferer le contenu du bus vers AR en activant l’entree de controle LD de AR.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 36 / 80

Page 36: Chapitre V Conception et Organisation d’un Ordinateur de Base

Cycle d’instruction Importer et decoder une instruction

Pour implementer la deuxieme expression (celle qui est executee pendant T1), il estnecessaire d’utiliser le signal de temps T1 pour mettre en place les connexions suivantes surle systeme de bus:

1 Activer l’entree de lecture de la memoire.2 Placer le contenu de la memoire sur le bus en faisant en sorte que S2S1S0 = 111.3 Transferer le contenu du bus vers IR en activant l’entree LD de IR.4 Incrementer PC en activant l’entree INR du PC .

Les transitions l’horloge suivantes (a la sortie du cycle T1) initient les operations de lectureet d’incrementation.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 37 / 80

Page 37: Chapitre V Conception et Organisation d’un Ordinateur de Base

Cycle d’instruction Determiner le type de l’instruction

Determiner le type de l’instruction

L’importation et le decodage de l’instruction ont lieu de T0 a T2.

Pendant T3, l’unite de controle determine le type de l’instruction qui vient d’etre lue de lamemoire.

La Figure 9 presente une configuration initiale du cycle d’instruction.

D7 = 0 (opcode de 000 a 110) se refere a l’instruction referencee a la memoire.Si I = 1, alors l’instruction contient une adresse indirecte ⇒ l’adresse effective de l’operande est lueen la transferant au registre AR.

Notez que, a moins que SC soit explicitement remis a zero (indique par SC ← 0), onsuppose implicitement qu’il est incremente. C’est a dire que l’expression SC ← SC + 1 existeimplicitement a chaque etape qui ne contient pas l’expression SC ← 0.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 38 / 80

Page 38: Chapitre V Conception et Organisation d’un Ordinateur de Base

Cycle d’instruction Determiner le type de l’instruction

Figure 9: Diagramme du cycle d’instruction (configuration initiale)

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 39 / 80

Page 39: Chapitre V Conception et Organisation d’un Ordinateur de Base

Cycle d’instruction Determiner le type de l’instruction

Les quatre operations qui ont lieu a l’instant T3 peuvent etre symbolisees par:

D7IT3 : AR ← M[AR]

D7IT3 : Nothing

D7IT3 : Execute a register-reference instruction

D7IT3 : Execute an input-output instruction

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 40 / 80

Page 40: Chapitre V Conception et Organisation d’un Ordinateur de Base

Cycle d’instruction Determiner le type de l’instruction

Instructions referencees a un registre

Les instructions referencees a un registre sont reconnues par D7 = 1 et I = 0.

Ces instructions utilisent les bits de 0 a 11 du code d’instruction, qui sont transferes vers ARau temps T2, afin de specifier l’une des 12 operations possibles.

La Table 3 contient la liste des fonctions de controle et des micro-operations des instructionsreferencees a un registre.

La bascule S est la bascule de demarrage/arret du programme.Si S = 0, alors le programme s’arrete (est en halte) car alors SC n’est plus incremente.Si S = 1, alors l’incrementation de SC est a nouveau possible, et le programme reprend.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 41 / 80

Page 41: Chapitre V Conception et Organisation d’un Ordinateur de Base

Cycle d’instruction Determiner le type de l’instruction

Table 3: Execution d’instructions referencees a un registre

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 42 / 80

Page 42: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions referencees a la memoire

Instructions referencees a la memoire

La Table 4 contient la liste des 7 instructions referencees a la memoire en notation RTL.

L’execution de chaque instruction avec le systeme de bus necessite une sequence demicro-operations.

Notez qu’avant l’instant T4, l’adresse effective est deja dans AR.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 43 / 80

Page 43: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions referencees a la memoire

Table 4: Instructions referencees a la memoire

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 44 / 80

Page 44: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions referencees a la memoire Operation “ET de AC” (AND to AC)

Operation “ET de AC” (AND to AC)

L’operation “ET de AC” (AND to AC) presuppose que le premier operande se trouve dejadans AC .

Le deuxieme operande doit etre transfere a la memoire vers le registre DR first (pourquoiDR?). Ceci est fait pendant le temps T4.

Puis, pendant le temps T5, l’operation ET est executee, le resultat est range dans AC , et SCest remis a zero (rendant T0 = 1) pour se preparer pour la prochaine instruction.

D0T4 : DR ← M[AR]

D0T5 : AC ← AC ∧ DR, SC ← 0

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 45 / 80

Page 45: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions referencees a la memoire Operation “Addition a AC” (ADD to AC)

Operation “Addition a AC” (ADD to AC)

L’operation d’addition a AC presuppose que le premier operande se trouve deja dans AC .

Le deuxieme operande doit etre transfere de la memoire vers le registre DR. Ceci se faitpendant le temps T4.

Ensuite, pendant le temps T5,L’operation d’addition (ADD) est executee et le resultat est range dans AC ,La retenue de sortie Cout est transferee vers la bascule E (extension de l’accumulateur), etSC est remis a 0 (rendant T0 = 1) pour se preparer pour la prochaine instruction.

D1T4 : DR ← M[AR]

D1T5 : AC ← AC + DR, E ← Cout, SC ← 0

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 46 / 80

Page 46: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions referencees a la memoire LDA: Chargement de AC (Load to AC)

LDA: Chargement de AC (Load to AC)

L’instruction “LDA” transfere un mot memoire specifie par l’adresse effective vers AC .

D2T4 : DR ← M[AR]

D2T5 : AC ← DR, SC ← 0

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 47 / 80

Page 47: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions referencees a la memoire STA: Ranger AC (Store AC)

STA: Ranger AC (Store AC)

L’instruction “STA” range le contenu de AC dans le mot de la memoire specifie par l’adresseeffective.

D3T4 : M[AR]← AC , SC ← 0

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 48 / 80

Page 48: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions referencees a la memoire BUN: Embranchement inconditionnel (Branch Unconditionally)

BUN: Embranchement inconditionnel (Branch Unconditionally)

L’instruction “BUN” fait pointer le compteur ordinal sur l’instruction dont l’adresse enmemoire est specifiee par l’adresse effective.

Rappelez-vous que PC doit toujours contenir l’instruction de la prochaine adresse qui doitetre executee.

L’instruction “BUN” est effectuee en chargeant dans PC l’adresse de l’instruction verslaquelle le programme doit s’embrancher.

D4T4 : PC ← AR, SC ← 0

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 49 / 80

Page 49: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions referencees a la memoireBSA: Embranchement et sauvegarde de l’adresse de retour (Branch and Save

Return Address)

BSA: Embranchement et sauvegarde de l’adresse de retour (Branch andSave Return Address)

L’instruction “BSA” est utile pour faire un embranchement vers une portion du programmeappelee sous-routine ou procedure.

Lorsque l’instruction BSA est executee, l’adresse de l’instruction qui se trouve dans le motsuivant en memoire (qui est deja rangee dans PC) est sauvegardee dans une locationmemoire qui est specifiee par l’adresse effective.

L’instruction vers laquelle le programme se deplace est rangee en memoire dans le mot quisuit directement celui auquel on vient d’acceder.L’adresse de ce mot est transferee au PC , et il s’agit de l’adresse de la premiere instructionde la sous-routine.

D5T4 : M[AR]← PC , AR ← AR + 1

D5T5 : PC ← AR, SC ← 0

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 50 / 80

Page 50: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions referencees a la memoireBSA: Embranchement et sauvegarde de l’adresse de retour (Branch and Save

Return Address)

Example 3 (Execution d’une instruction BSA).

Figure 10: Exemple d’execution d’une instruction BSA

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 51 / 80

Page 51: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions referencees a la memoire ISZ: Incrementation et saut si resultat nul (Increment and Skip if Zero)

ISZ: Incrementation et saut si resultat nul (Increment and Skip if Zero)

L’instruction “ISZ” incremente le mot de la memoire specifie par l’adresse effective, puisrange le resultat a la meme adresse dans la memoire.

Si la valeur incrementee est 0, alors l’instruction suivante est sautee, et le programme passea l’instruction ulterieure.

D6T4 : DR ← M[AR]

D6T5 : DR ← DR + 1

D6T6 : M[AR]← DR, si(DR = 0)alors(PC ← PC + 1), SC ← 0

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 52 / 80

Page 52: Chapitre V Conception et Organisation d’un Ordinateur de Base

Instructions referencees a la memoire Diagramme de controle

Diagramme de controle

Figure 11: Diagramme des instructions referencees a la memoire

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 53 / 80

Page 53: Chapitre V Conception et Organisation d’un Ordinateur de Base

Entree/sortie et interruption Configuration d’entree/sortie

Configuration d’entree/sortie

Pour illustrer les bases de la communication d’entree/sortie d’un ordinateur, nous utiliseronsun clavier et une imprimante comme appareils d’entree/sortie.

Pour cela, deux bascules de controle de 1 bit, FGI et FGO, sont utilisees comme drapeauxd’entree et de sortie, respectivement.

La procedure de transfert d’une information en entree est la suivante:1 Initialement, le drapeau d’entree FGI est remis a 0.2 Lorsqu’une touche est pressee sur le clavier, un code alphanumerique de 8 bits est transfere au

registre de 8 bits INPR et FGI est mis a 1.Tant que FGI = 1, meme si une autre touche est pressee, le contenu de INPR ne sera pas mis a jour.

3 L’ordinateur examine la valeur de FGI , et si elle est de 1, alors le contenu de INPR est transfere aAC et FGI est remis a 0.

4 Une fois que FGI est bien 0, le code alphanumerique d’un nouveau caractere peut etre transfere versINPR en pressant une touche du clavier.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 54 / 80

Page 54: Chapitre V Conception et Organisation d’un Ordinateur de Base

Entree/sortie et interruption Configuration d’entree/sortie

La procedure de transfert d’une information en sortie est la suivante:1 Initialement, le drapeau de sortie FGO est mis a 1.2 L’ordinateur examine la valeur de FGO, et si elle est de 1, alors le contenu de AC est transfere vers

OUTR et FGO est mis a 0.3 L’appareil de sortie (l’imprimante) examine la valeur de FGO, et si elle est 0, il traite (ici, imprime)

le caractere range dans OUTR et met FGO a 1.Tant que FGO = 0, un nouveau caractere ne peut etre charge dans OUTR.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 55 / 80

Page 55: Chapitre V Conception et Organisation d’un Ordinateur de Base

Entree/sortie et interruption Configuration d’entree/sortie

Figure 12: Configuration d’entree/sortie

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 56 / 80

Page 56: Chapitre V Conception et Organisation d’un Ordinateur de Base

Entree/sortie et interruption Instructions d’entree/sortie

Instructions d’entree/sortie

Une instruction d’entree sortie (I/O) est definie par un opcode de 111 (D7 = 1) et I = 1.

Les autres bits de l’instruction specifient une instruction particuliere a etre executee.

Les fonctions de controle et les micro-operations des instructions I/O se trouvent dans laTable 5.

Toutes les instructions I/O ont lieu au signal de temps T3.

Table 5: Instructions d’entree/sortie

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 57 / 80

Page 57: Chapitre V Conception et Organisation d’un Ordinateur de Base

Entree/sortie et interruption Interruptions de programme

Interruptions de programme

On appelle la procedure de communication qui vient d’etre decrite “transfert de controleprogramme”.

Durant cette procedure, l’ordinateur est constamment en train d’examiner le bit drapeau audebut de chaque cycle d’instruction. Lorsqu’il voit qu’il a une certaine valeur (0 ou 1), ildeclenche un transfert d’information.

Ceci pourrait prendre beaucoup de temps, si on compare les vitesses relatives de traitementdu processeur et des appareils d’entree/sortie.

Une alternative est de dedier un circuit externe (circuit d’interruption materiel) qui informel’ordinateur qu’un transfert est pret.

Pendant ce temps, l’ordinateur peut executer d’autres instructions sans avoir a verifier l’etatdes drapeaux explicitement.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 58 / 80

Page 58: Chapitre V Conception et Organisation d’un Ordinateur de Base

Entree/sortie et interruption Interruptions de programme

Le circuit d’interruption materiel provoque une interruption en mettant une basculed’interruption a 1.

Lorsque le drapeau d’interruption est a 1, le circuit d’interruption detourne momentanementl’ordinateur de sa tache presente pour qu’il effectue l’operation d’entree/sortie, avant determiner l’execution des instructions du programme (en recommencant la ou il s’etait arrete).

La bascule de 1 bit IEN laisse le choix au programmeur de permettre ou non desinterruptions (suivant la valeur de IEN, soit 1 ou 0).

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 59 / 80

Page 59: Chapitre V Conception et Organisation d’un Ordinateur de Base

Entree/sortie et interruption Interruptions de programme

Example 4.

La facon dont une interruption est geree par l’ordinateur est illustree dans la figure suivante.

Figure 13: Demonstration d’un cycle d’interruption

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 60 / 80

Page 60: Chapitre V Conception et Organisation d’un Ordinateur de Base

Entree/sortie et interruption Interruptions de programme

Figure 14: Diagramme du cycle d’interruption

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 61 / 80

Page 61: Chapitre V Conception et Organisation d’un Ordinateur de Base

Entree/sortie et interruption Cycle d’interruption

Cycle d’interruption

La bascule d’interruption R peut s’activer si:Les phases d’importation et de decodage sont terminees (c’est a dire que, T0 = 0, T1 = 0, etT2 = 0), etLes interruptions sont permises (IEN = 1), etSoit FGI = 1, ou FGO = 1.

La micro-operation de mise a 1 de la bascule R est:

T ′0T

′1T

′2(IEN)(FGI + FGO) : R ← 1

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 62 / 80

Page 62: Chapitre V Conception et Organisation d’un Ordinateur de Base

Entree/sortie et interruption Cycle d’interruption

Les phases d’importation et de decodage doivent etre modifiees de celles de la Figure 9 pourprendre en consideration ou une interruption est initiee (R = 1).

Ceci se fait en faisant un ET entre T0, T1, et T2 avec R, puisque l’importation et ledecodage n’aura lieu alors que si R = 0.

Dans le cas ou R = 1, le controle va parcourir le cycle d’instruction:

RT0 : AR ← 0, TR ← PC

RT1 : M[AR]← TR, PC ← 0

RT2 : PC ← PC + 1, IEN ← 0, R ← 0, SC ← 0

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 63 / 80

Page 63: Chapitre V Conception et Organisation d’un Ordinateur de Base

Entree/sortie et interruption Cycle d’interruption

Figure 15: Diagramme du fonctionnement d’un ordinateur

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 64 / 80

Page 64: Chapitre V Conception et Organisation d’un Ordinateur de Base

Description d’un ordinateur complet

Description d’un ordinateur complet

Le diagramme final du cycle d’instruction, en incluant le cycle d’interruption, de l’ordinateurde base, est montre a la Figure 5-15 du manuel (page 158).

Les fonctions de controle et les micro-operations de l’ordinateur complet sont resumees dansla Table 5-6 du manuel (page 159).

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 65 / 80

Page 65: Chapitre V Conception et Organisation d’un Ordinateur de Base

Design of Basic Computer Portes logiques de controle

Portes logiques de controle

Les sorties du circuit logique de controle dans l’unite de controle sont:

1 les signaux pour controler les entrees (LD, INR, et CLR) des neuf registres.

2 les signaux pour controler les entrees de lecture et d’ecriture (Read, Write) de la memoire.

3 les signaux pour mettre a 1, a 0, ou complementer les bascules individuelles.

4 les signaux de controle les bits de selection du bus commun:: S2, S1, et S0.

5 les signaux pour controler le circuit de logique et l’additionneur de AC .

Les specifications des divers signaux de controle peuvent s’obtenir directement a partir de la listedes expressions de transfert de registres de la Table 5-6 du manuel (page 159).

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 66 / 80

Page 66: Chapitre V Conception et Organisation d’un Ordinateur de Base

Design of Basic Computer Controle des registres et de la memoire

Controle des registres et de la memoire

Supposons que nous voulons trouver les circuits logiques associes aux entrees de controle deAR (i.e., LD, INR, et CLR).

Ceci peut se faire en examinant toutes les micro-operations de l’ordinateur (Table 5-6 dumanuel) et en trouvant toutes les expressions dans lesquelles AR est charge:

R′T0 : AR ← PC

R′T2 : AR ← IR(0–11)

D′7IT3 : AR ← M[AR]

RT0 : AR ← 0

D5T4 : AR ← AR + 1

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 67 / 80

Page 67: Chapitre V Conception et Organisation d’un Ordinateur de Base

Design of Basic Computer Controle des registres et de la memoire

Les trois premieres expressions sont mises en place en activant le bit LD de AR (i.e.,LD(AR)).

La quatrieme expression est mise en place en activant le bit CLR de AR (i.e., CLR(AR)).

La cinquieme expression est mise en place en activant le bit INR de AR (i.e., INR(AR)).

Donc,

LD(AR) = R′T0 ∨ R′T2 ∨ D′7IT3

CLR(DR) = RT0

INR(AR) = D5T4

Le circuit logique associe aux entrees de controle de AR est montre a la Figure 16.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 68 / 80

Page 68: Chapitre V Conception et Organisation d’un Ordinateur de Base

Design of Basic Computer Controle des registres et de la memoire

Figure 16: Portes de controle associees a AR

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 69 / 80

Page 69: Chapitre V Conception et Organisation d’un Ordinateur de Base

Design of Basic Computer Controle des registres et de la memoire

De la meme maniere, il est possible de trouver le circuit logique associe a l’entree de controlede lecture (Read) de la memoire.

Il faut commencer par examiner toutes les micro-operations de l’ordinateur (Table 5-6 dumanuel) pour trouver les expressions qui font intervenir les operations de lecture (i.e., lesoperations de la forme “symbole′′ ← M[AR]).

⇒ Read = R′T1 ∨ D′7IT3 ∨ (D0 ∨ D1 ∨ D2 ∨ D6)T4

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 70 / 80

Page 70: Chapitre V Conception et Organisation d’un Ordinateur de Base

Design of Basic Computer Controle d’une simple bascule

Controle d’une simple bascule

Le circuit logique de controle des bascules individuelles de l’unite de controle peut etredetermine de la meme maniere.

Par exemple, la Table 5-6 (du manuel) montre que la bascule IEN est chargee dans lesexpressions suivantes:

pB7 : IEN ← 1

pB6 : IEN ← 0

RT2 : IEN ← 0

Ou p = D7IT3, B7 = IR(7), et B6 = IR(6).

Si une bascule JK doit etre utilisee comme IEN, sa logique de controle sera montree sur laFigure 17.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 71 / 80

Page 71: Chapitre V Conception et Organisation d’un Ordinateur de Base

Design of Basic Computer Controle d’une simple bascule

Figure 17: Entrees de controle de IEN

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 72 / 80

Page 72: Chapitre V Conception et Organisation d’un Ordinateur de Base

Design of Basic Computer Controle du bus commun

Controle du bus commun

Pour faciliter la conception de la logique des portes de controle pour les interrupteurs du bus,on associe une variable booleenne a la memoire ainsi qu’a chacun des registres connectes aubus, comme il est decrit a la Table 6.

Par exemple, on associe AR a x1, et on associe x7 a la memoire.

Si les bits de selection du bus sont connectes a un encodeur comme sur la Figure 18, alors leprobleme se reduit a controler chacune des entrees de l’encodeur: x1, . . . , x7.

Figure 18: Encodeur pour les entrees de selection de bus

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 73 / 80

Page 73: Chapitre V Conception et Organisation d’un Ordinateur de Base

Design of Basic Computer Controle du bus commun

Table 6: Encoder for bus selection circuit

x0 x1 x2 x3 x4 x5 x6 x7 S2 S1 S0 Registre1 0 0 0 0 0 0 0 0 0 0 Aucun0 1 0 0 0 0 0 0 0 0 1 AR0 0 1 0 0 0 0 0 0 1 0 PC0 0 0 1 0 0 0 0 0 1 1 DR0 0 0 0 1 0 0 0 1 0 0 AC0 0 0 0 0 1 0 0 1 0 1 IR0 0 0 0 0 0 1 0 1 1 0 TR0 0 0 0 0 0 0 1 1 1 1 Memoire

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 74 / 80

Page 74: Chapitre V Conception et Organisation d’un Ordinateur de Base

Design of Basic Computer Controle du bus commun

Pour determiner les portes logiques correspondant a chacune des entrees de l’encodeur, il estnecessaire de trouver les fonctions de controle qui placent le registre correspondant sur le bus.

Par exemple, pour trouver la logique qui rend x1 = 1, on examine toutes les expressions RTLde la Table 5-6 (du manuel) et on en extrait toutes celles qui necessitent qu’AR soit placesur le bus (i.e., celles dont AR est la source).

D4T4 : PC ← AR

D5T5 : PC ← AR

Donc,

x1 = D4T4 ∨ D5T5.

De la meme maniere, on trouve l’expression booleenne de x7:

x7 = R′T1 ∨ D′7IT3 ∨ (D0 ∨ D1 ∨ D2 ∨ D6)T4.

La logique de controle de x2, x3, . . . , x6 peut etre determinee de la meme facon.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 75 / 80

Page 75: Chapitre V Conception et Organisation d’un Ordinateur de Base

Conception des portes logiques pour le controle de l’accumulateur

Conception des portes logiques pour le controle de l’accumulateur

Le diagramme bloc pour le controle de l’accumulateur AC est montre a la Figure 19.

Les sorties du circuit d’addition et de logique (qui representent l’ALU de cet ordinateur debase) sont les entrees de donnee de AC .

Il est necessaire de controler les bits de controle de AC ’s (LD, INR, et CLR), ainsi que lesbits de selection de l’ALU, de facon a pouvoir effectuer les micro-operations d’arithmetiqueet de logique.

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 76 / 80

Page 76: Chapitre V Conception et Organisation d’un Ordinateur de Base

Conception des portes logiques pour le controle de l’accumulateur

Figure 19: Logique de controle pour AC

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 77 / 80

Page 77: Chapitre V Conception et Organisation d’un Ordinateur de Base

Conception des portes logiques pour le controle de l’accumulateur

Pour concevoir la logique associee a AC , il est necessaire d’examiner la Table 5-6 (dumanuel) et d’en extraire les expressions dans lesquelles AC est charge. Dans ce cas, nousavons:

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 78 / 80

Page 78: Chapitre V Conception et Organisation d’un Ordinateur de Base

Conception des portes logiques pour le controle de l’accumulateur Controle du registre AC

Controle du registre AC

A partir des expressions ecrites ci-dessus, la logique de controle pour les entrees LD, INR, et CLRde AC a ete concue comme montre ci-dessous.

Figure 20: Structure des portes pour controler les entrees LD, INR, et CLR de AC

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 79 / 80

Page 79: Chapitre V Conception et Organisation d’un Ordinateur de Base

Conception des portes logiques pour le controle de l’accumulateur Circuit Additionneur et de Logique

Circuit Additionneur et de Logique

Une possibilite pour le circuit additionneur et de logique pour l’ordinateur de base de cechapitre est montree sur la Figure 21.

Cependant, une meilleure conception est possible en utilisant les techniques montrees auChapitre 4 pour les ALUs.

Figure 21: Un etage du circuit additionneur et de logique

Wail Gueaieb (Universite d’Ottawa) CEG2536: Architecture des Ordinateurs I Automne 2007 80 / 80