• Aucun résultat trouvé

Chapitre V Conception et Organisation d’un Ordinateur de Base

N/A
N/A
Protected

Academic year: 2022

Partager "Chapitre V Conception et Organisation d’un Ordinateur de Base"

Copied!
79
0
0

Texte intégral

(1)

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

(2)

Codes d’instruction

Codes d’instruction

Uncode d’instructionest un groupe de bits (code binaire) qui ordonne l’ordinateur d’ex´ecuter une s´equence de micro-op´erations.

Les codes d’instruction et les donn´ees (op´erandes) sont rang´es dans la m´emoire de l’ordinateur.

L’unit´e de contrˆole interpr`ete alors le code binaire de l’instruction, et l’ex´ecute en d´eployant une s´equence de micro-op´erations.

Un code d’instruction est d’habitude divis´ee en deux parties : un code d’op´eration et un code d’adresse.

Le code d’op´eration d´efinit l’op´eration `a ˆetre ex´ecut´ee : addition, soustraction, ET logique, etc.

Le code d’adresse sp´ecifie d’habitude (mais pas toujours) l’adresse de l’op´erande.

L’unit´e de contrˆole re¸coit le code d’instruction de la m´emoire, interpr`ete le code d’op´eration, puis d´elivre une s´equence de signaux de contrˆole pour d´eclencher la s´equence de

micro-op´erations n´ecessaires qu’il faut effectuer sur les op´erandes sp´ecifi´es.

(3)

Codes d’instruction

Un code d’instruction doit sp´ecifier non seulement l’op´eration (d´efinie par le code

d’op´eration), mais aussi les registres ou les mots de m´emoire dans lesquels doivent se trouver les op´erandes, ainsi que le registre ou le mot dans lequel le r´esultat doit ˆetre rang´e

Un mot de la m´emoire peut ˆetre sp´ecifi´e dans le code d’instruction en donnant son adresse en m´emoire.

Un registre du processeur peut ˆetre sp´ecifi´e dans le code d’instruction en assignantkbits qui identifient l’une des 2kregistres du processeur disponibles dans le syst`eme.

Dans ce chapitre, nous allons discuter de l’organisation, de la fonctionnalit´e, et de la conception de base d’un ordinateur `a petite ´echelle.

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

(4)

Codes d’instruction Organisation d’un programme sauvegard´e

Organisation d’un programme sauvegard´ e

L’organisation de l’ordinateur de base que nous allons pr´esenter dans ce chapitre est sch´ematis´ee sur la Figure 1.

Figure 1:Organisation d’un programme sauvegard´e

(5)

Codes d’instruction Organisation d’un programme sauvegard´e

Une m´emoire de 4096×16 est utilis´ee⇒mots de 16 bits.

La m´emoire est divis´ee en deux parties:

Une partie programme, o`u le programme (ensemble d’instructions) `a ˆetre ex´ecut´e est rang´e, et Une partie donn´ees, o`u les donn´ees (op´erandes) `a ˆetre utilis´ees pour les instructions du programme sont rang´ees.

Chaque instruction de la partie programme de la m´emoire est divis´ee en deux parties:

La premi`ere partie est compos´ee de 4 bits (bits 12 `a 15), et sp´ecifie le code d’op´eration (opcode) de l’une des 24= 16 op´erations possibles qui peuvent ˆetre ex´ecut´ees.

La deuxi`eme partie est compos´ee de 12 bits (bits 0 `a 11), et sp´ecifie l’adresse de l’op´erande dans la m´emoire.

Les 12 bits de la partie adresse dans le code d’instruction peuvent sp´ecifier un maximum de 212= 4096 diff´erentes adresses de mots dans la m´emoire, ce qui correspond `a la taille de la m´emoire dans notre cas.

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

(6)

Codes d’instruction Organisation d’un programme sauvegard´e

Chaque mot de la partie donn´ees de la m´emoire contient un op´erande de 16 bits.

L’accumulateurAC est un registre du processeur qui est d’habitude utilis´e pour ranger un op´erande de l’op´eration `a ˆetre ex´ecut´ee.

Une instruction du programme est ex´ecut´ee dans l’ordre suivant:

1 L’unit´e de contrˆole lit le code d’instruction de 16 bits dans la partie programme de la m´emoire.

2 La partie adresse de 12 bits du code d’instruction est ensuite utilis´ee pour lire l’op´erande de 16 bits dans la partie donn´ees de la m´emoire.

3 Puis, le code op´eration de 4 bits est utilis´e pour effectuer l’op´eration d´esir´ee sur l’op´erande qui vient d’ˆetre lu.

(7)

Codes d’instruction Adressage indirect

Adressage indirect

Une instruction qui poss`ede unop´erande imm´ediatest une instruction dans laquelle les bits d’adresse sont utilis´es pour ranger l’op´erande lui-mˆeme plutˆot que son adresse en m´emoire.

Une instruction qui poss`ede uneadresse directeest une instruction dans laquelle les bits d’adresse sont utilis´es pour ranger l’adresse de l’op´erande en m´emoire.

Une instruction qui poss`ede uneadresse indirecteest une instruction dans laquelle les bits d’adresse sont utilis´es pour ranger l’adresse de l’adresse de l’op´erande en m´emoire.

Un des bits du code d’instruction doit ˆetre utilis´e pour sp´ecifier quel est le type d’adressage (direct ou indirect) de l’instruction.

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

(8)

Codes d’instruction Adressage indirect

Consid´erons l’ordinateur dans la configuration montr´ee `a la Figure 2.

Figure 2: D´emonstration de l’adressage direct et indirect

(9)

Codes d’instruction Adressage indirect

Le code d’instruction est compos´e d’un code op´eration de 3 bits, une adresse de 12 bits, et un bit de mode d’adressage indirectI.

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

La Figure 2(b) montre un mode d’adressage direct (I= 0) avec le code op´eration d’une addition.

Le code d’adresse de 12 bits contient l’´equivalent binaire de 457.

⇒l’op´erande se trouve `a l’adresse 457 de la m´emoire.

L’op´erande est import´e et ajout´e au nombre rang´e dans l’accumulateurAC.

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

(10)

Codes d’instruction Adressage indirect

La Figure 2(c) montre un mode d’adressage indirect (I= 1) avec le code op´eration d’une addition.

Le code d’adresse de 12 bits contient l’´equivalent binaire de 300.

⇒l’adresse de l’op´erande est alors import´ee de l’adresse 300, qui contient l’´equivalent binaire de 1350.

L’op´erande est finalement import´e de l’adresse 1350 et ajout´e au nombre rang´e dans l’accumulateur AC.

L’adresse de l’op´erande est appel´ee l’adresse effective.

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

(11)

Registres de l’ordinateur

Registres de l’ordinateur

Pour illustrer le fonctionnement d’un ordinateur de base, nous adopterons la configuration de registres montr´ee `a la Figure 3 et d´efinie dans la Table 1.

Figure 3:Registres de l’ordinateur de base et m´emoire

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

(12)

Registres de l’ordinateur

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

du registre de bits Nom du registre Fonction

DR 16 Registre de donn´ees Contient l’op´erande de la m´emoire

AC 16 Accumulateur Registre du processeur

IR 16 Registre d’instruction Contient le code d’instruction TR 16 Registre temporaire Contient des donn´ees temporaires AR 12 Registre d’adresse Contient l’adresse dans la m´emoire PC 12 Compteur ordinal Contient l’adresse de l’instruction INPR 8 Registre d’entr´ee Contient un caract`ere d’entr´ee OUTR 8 Registre de sortie Contient un caract`ere de sortie

(13)

Registres de l’ordinateur

L’unit´e de m´emoire `a une capacit´e de 4096 mots de 16 bits chacun.

Comme montr´e sur la Figure 3(a), chaque code d’instruction de 16 bits est compos´e de 12 bits d’adresse, d’un opcode de 3 bits, et un bit pour sp´ecifier le mode d’adressage direct ou indirect.

Le registre de donn´ees (DR) contient l’op´erande lu de la m´emoire.

L’accumulateur (AC) est un registre de processeur pour utilisation g´en´erale.

Le registre d’instruction (IR) contient l’instruction lue de la m´emoire.

Le registre temporaire (TR) contient des donn´ees temporaires pendant le traitement.

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

(14)

Registres de l’ordinateur

Le registre d’adresse (AR) est un registre de 12 bits qui contient l’adresse du mot auquel il faut acc´eder en m´emoire.

Le compteur ordinal (PC) est aussi un registre de 12 bits qui contient l’adresse de la prochaine instruction `a ˆetre import´ee de la m´emoire apr`es que l’instruction pr´esente soit ex´ecut´ee.

INPRest un registre d’entr´ee qui contient le code de 8 bits d’un caract`ere lu d’un appareil d’entr´ee.

OUTRest un registre de sortie qui contient le code de 8 bits d’un caract`ere `a ˆetre transf´er´e dans un appareil de sortie.

(15)

Registres de l’ordinateur Syst`eme de bus commun

Syst` eme de bus commun

L’ordinateur de base pr´esent´e dans ce chapitre poss`ede 8 registres, une unit´e m´emoire, et une unit´e de contrˆole.

Ils sont interconnect´es via un syst`eme de bus commun tel que celui montr´e `a la Figure 4.

Les sorties des sept composantes num´eriques (six registres et une m´emoire) sont connect´ees au bus.

Pour n’importe quel instant, les bits de s´election de busS2,S1, etS0, d´eterminent la sortie de la composante sp´ecifique `a ˆetre plac´ee sur les lignes de bus.

Le nombre `a cˆot´e de chaque entr´ee sur la Figure 4 montre l’´equivalent d´ecimal de la s´election binaire requise.

Par exemple, le nombre qui se trouve `a cˆot´e de la sortie deDR est 3.

⇒lorsqueS2S1S0= 011 (´equivalent binaire de 3) la sortie de 16 bits deDRest plac´ee sur le bus de 16 bits.

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

(16)

Registres de l’ordinateur Syst`eme de bus commun

Figure 4: Registres de base d’un ordinateur, connect´es `a un bus commun

(17)

Registres de l’ordinateur Syst`eme de bus commun

Les lignes de bus communes sont connect´ees aux lignes d’entr´ee de donn´ees de chaque registre, ainsi qu’aux lignes d’entr´ee de donn´ees de la m´emoire.

Le registre particulier dont le bit d’entr´eeLD(chargement) est s´electionn´e re¸coit les donn´ees du bus `a la prochaine impulsion d’horloge.

Le contenu du bus est charg´e dans la m´emoire lorsque son bit de contrˆole d’´ecriture (Write) est activ´e.

La m´emoire place le contenu de ses mots de 16 bits sur le bus lorsque son bit de contrˆole de lecture (Read) est activ´eetqueS2S1S0= 111.

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

(18)

Registres de l’ordinateur Syst`eme de bus commun

Deux des registres connect´es au bus n’ont que 12 bits (ARetPC).

Lorsque le contenu deARou dePC est appliqu´e au bus de 16 bits, les 4 bits les plus significatifs du bus sont mis `a ‘0’.

LorsqueARouPC chargent le contenu du bus, seuls les 12 bits les moins significatifs sont transf´er´es dans le registre.

Le registreOUTRpeut seulement recevoir de l’information du bus, mais ne peut pas y placer son contenu.

De cette mani`ere, seuls les 8 bits les moins significatifs du bus sont charg´es dans le registr.

Le registreINPRpeut seulement placer son contenu sur le bus, mais ne peut pas en recevoir de l’information.

Dans ce cas, les 8 bits les moins significatifs du bus re¸coivent les donn´ees du registre alors que le restant des donn´ees du bus est remis `a ‘0’.

(19)

Registres de l’ordinateur Syst`eme de bus commun

Cinq registres (AR,PC,DR,AC, etTR) sont ´equip´es de 3 entr´ees de contrˆole : LD (chargement), INR (incr´ementation), CLR (clear).

Deux autres registres (IRetOUTR) sont seulement ´equip´es d’un autre bit de contrˆole en entr´ee : LD.

ARest le seul registre connect´e aux lignes d’adresse de l’unit´e de m´emoire.

⇒seulARpeut contenir l’adresse du mot auquel il faut acc´eder dans la m´emoire.

Le contenu de n’importe quel registre de 16 bits peut ˆetre utilis´e comme entr´ee de donn´ees pour la m´emoire pendant une op´eration d’´ecriture (write).

Tous les registres de 16 bits peuvent recevoir directement des donn´ees de la m´emoire pendant une op´eration de lecture, saufAC.

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

(20)

Registres de l’ordinateur Syst`eme de bus commun

Les 16 bits d’entr´ee de donn´ees du registreAC viennent d’un circuit additionneur et logique.

Le circuit poss`ede 3 sources d’entr´ees de donn´ees:

La premi`ere source est le contenu duAClui-mˆeme (16 bits).

La source est en g´en´eral utilis´ee comme premier op´erande lorsque le circuit doit effectuer des op´erations `a une ou deux op´erandes (ex : compl´ementation deAC, incr´ementation deAC, etc.) La deuxi`eme source est le contenu deDR(16 bits).

Cette source est en g´en´eral utilis´ee comme le second op´erande pour certaines applications (e.g., AC←AC+DR, ouAC←AC∧DR, etc.)

La troisi`eme source est le contenu du registreINPR(8 bits).

Dans le cas o`u le circuit additionneur et de logique effectue une addition d’op´eration, la basculeEretient la retenue de sortie de l’addition.

(21)

Instructions de l’ordinateur

Instructions de l’ordinateur

L’ordinateur de base que nous allons concevoir poss`ede trois formats d’instruction, comme montr´e sur la Figure 5.

L’opcode (code op´eration) est compos´e de 3 bits.

Les opcodes 000 jusqu’`a 110 sp´ecifient sept op´erations `a ˆetre effectu´ees par l’AC. Dans ce cas:

Le code d’adresse de 12 bits sp´ecifie une adresse en m´emoire.

I= 0 sp´ecifie une instruction avec adressage direct.

I= 1 sp´ecifie une instruction avec adressage indirect.

L’opcode 111 avecI= 0 sp´ecifie une instruction r´ef´erenc´ee `a un registre.

Dans ce cas, les 12 bits restant sont utilis´es pour sp´ecifier la description ou bien le test `a ˆetre effectu´e.

L’opcode 111 avecI= 1 sp´ecifie une instruction d’entr´ee/sortie.

Dans ce cas, les 12 bits restants sont utilis´es pour sp´ecifier le type d’op´eration d’entr´ee/sortie `a ˆetre effectu´ee.

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

(22)

Instructions de l’ordinateur

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

(23)

Instructions de l’ordinateur

Table 2:Instructions pour un ordinateur de base

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

(24)

Instructions de l’ordinateur Compl´etude d’un ensemble d’instructions

Compl´ etude d’un ensemble d’instructions

On dit que l’ensemble des instructions d’un ordinateur est complet s’il peut ˆetre utilis´e pour

´

evaluer n’importe quelle fonction qu’il est possible de calculer.

Pour ˆetre complet, un ensemble d’instruction doit contenir assez d’instructions dans chacune des cat´egories suivantes:

1 Instructions arithm´etiques, logiques, et de d´ecalage.

2 Instructions pour d´eplacer de l’information de et vers la m´emoire et les registres du processeur.

3 Instructions de contrˆole du programme, et instructions qui v´erifient certaines conditions d’´etat.

4 Instructions d’entr´ee et de sortie.

(25)

Instructions de l’ordinateur Compl´etude d’un ensemble d’instructions

Les instructions de contrˆole du programme, telles que les instructions d’embranchement, sont utilis´ees pour changer la s´equence d’ex´ecution que suit le programme.

Les instructions d’entr´ee et de sortie sont n´ecessaires pour la communication entre l’ordinateur et l’utilisateur (monde ext´erieur).

Dans ce contexte, la liste d’instructions de la table 2 est compl`ete, car elle contient assez d’instructions dans chaque cat´egorie.

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

(26)

Contrˆole et temps

Contrˆ ole et temps

Les registres ne changent pas de contenu `a moins qu’ils soient activ´es par leurs signaux de contrˆole, tels que les signaux de chargement, d’incr´ementation, et de clear, par exemple.

Ces signaux de contrˆole sont g´en´er´es dans l’unit´e de contrˆole, et fournissent les entr´ees de s´election des divers multiplexeurs pr´esents dans le syst`eme, ainsi que les entr´ees de contrˆole des registres.

Le diagramme bloc de l’unit´e de contrˆole est donn´e `a la Figure 6.

(27)

Contrˆole et temps

Figure 6: Unit´e de contrˆole d’un ordinateur de base

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

(28)

Contrˆole et temps

L’unit´e de contrˆole consiste en deux d´ecodeurs, un compteur de s´equence (SC), et des portes logiques.

Lorsqu’une instruction est lue de la m´emoire, elle est plac´ee dans le registre d’instructionIR.

L’opcode de 3 bits dansIRest d´ecod´e en utilisant un d´ecodeur 3x8.

Les sorties du d´ecodeur sontD0`aD7, chacune correspondant `a l’une des 8 op´erations possibles.

Le bit 15 deIRest transf´er´e `a une basculeI.

Le compteur de s´equenceSC de 4 bits peut compter en binaire de 0 `a 15.

Les sorties deSC sont d´ecod´ees en 16 signaux de temps, deT0`aT15.

Les 12 bits les moins significatifs deIR,I,D0`aD7, etT0`aT15, sont tous utilis´es comme entr´ees pour les portes logiques, qui calculent les entr´ees de contrˆole n´ecessaires pour les multiplexeurs et les registres du syst`eme.

Le diagramme logique interne des blocs de portes logiques de contrˆole sera expliqu´e plus tard.

(29)

Contrˆole et temps

SC peut ˆetre soit incr´ement´e, soit remis `a 0 de fa¸con synchrone de fa¸con `a pouvoir pr´esenter des signaux de temps au d´ecodeur 4x16.

Lorsque n´ecessaire,SC est remis `a 0 pour revenir au signal de tempsT0.

Example 1.

Supposez que l’on veuille revenir `aT0si l’op´eration “STA” a lieu `a l’instantT4. L’opcode de 3 bits de l’op´eration “STA” est 011, ce qui correspond `aD3. T0= 1 lorsqueSC est `a l’´etat 0000.

Ainsi,SC doit ˆetre remis `a 0 (CLR doit ˆetre mis `a 1) seulement lorsqueD3T4= 1.

On peut impl´ementer cela en faisant passerD3etT4dans une porte ET dont la sortie est ensuite connect´ee au bit de remise `a 0 (CLR) deSC.

En RTL, ceci se traduit par:

D3T4 :SC←0.

La Figure 7 montre la relation temporelle des signaux de contrˆole.

Il est important de noter que la relation temporelle entre les transitions d’horloge (pendant laquelle toutes les op´erations de transfert de registres ont lieu) et les signaux de temps T0,T1, . . . ,T15.

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

(30)

Contrˆole et temps

Figure 7:Exemple de signaux de contrˆole de temps

(31)

Contrˆole et temps

Example 2.

L’expression RTL suivante

T0 :AR←PC

Sp´ecifie un transfert du contenu duPC (compteur ordinal) versARsi le signal de tempsT0

est actif.

T0est actif pendant tout l’intervalle d´elimit´e par une p´eriode d’horloge.

Pendant ce temps, et juste avant la prochaine transition positive de l’horloge, le contenu du PC doit ˆetre plac´e sur le bus (en mettantS2S1S0= 010) et l’entr´ee LD (chargement) deAR doit ˆetre activ´ee.

A l’arriv´ee de la transition positive d’horloge, l’op´eration de transfert de registre a lieu,etSC est incr´ement´e de 0000 `a 0001, ce qui rendT0= 0 andT1= 1.

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

(32)

Cycle d’instruction

Cycle d’instruction

Un programme qui r´eside dans la m´emoire de l’ordinateur consiste en une s´equence d’instruction.

Chaque instruction est ex´ecut´ee suivant plusieurs ´etapes:

1 Importer une instruction de la m´emoire.

2 D´ecoder l’instruction.

3 Lire l’adresse effective dans la m´emoire si l’instruction utilise un adressage indirect.

4 Ex´ecuter l’instruction.

Lorsque l’´etape 4 est termin´ee, le contrˆole revient `a l’´etape 1 et recommence le cycle pour la prochaine op´eration.

Ce processus se r´ep`ete ind´efiniment jusqu’`a ce qu’une instruction de halte soit rencontr´ee.

(33)

Cycle d’instruction Importer et d´ecoder une instruction

Importer et d´ ecoder une instruction

Lorsqu’un programme est ex´ecut´e, l’adresse de la premi`ere instruction du programme est initialement charg´ee dans le compteur ordinal, etSC est remis `a 0, ce qui rendT0= 1.

Apres chaque impulsion d’horloge,SCest automatiquement incr´ement´ee de 1, de fa¸con `a ce que les signaux de temps passent parT0,T1,T2, et ainsi de suite.

Les micro-op´erations des phases d’importation et de d´ecodage peuvent ˆetre sp´ecifi´ees par les expressions RTL suivantes:

T0 :AR←PC

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

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

L’entr´ee de contrˆole INR (incr´ementer) de SC est toujours mise `a 1 afin de produire la s´equenceT0,T1,T2, et ainsi de suite.

La Figure 8 montre comment les deux premi`eres expressions RTL (phase d’importation) sont impl´ement´ees dans le syst`eme de bus.

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

(34)

Cycle d’instruction Importer et d´ecoder une instruction

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

(35)

Cycle d’instruction Importer et d´ecoder une instruction

Puisque seulARest connect´e aux entr´ees d’adresse de la m´emoire, il est n´ecessaire de transf´erer l’adresse dePC versARpendant la transition d’horloge associ´ee au signal de tempsT0.

L’instruction lue est alors transf´er´ee au registreIRlors de la transition d’horloge associ´ee au signal de tempsT1.

Au mˆeme instant (T1),PCest incr´ement´e de 1, de telle mani`ere qu’il contient alors l’adresse de la prochaine instruction du programme.

Maintenant queIRcontient le code d’instruction, l’opcode peut ˆetre d´ecod´e au signal de tempsT2, le bit 15 de l’IRest transf´er´e `a la basculeI, et la partie d’adresse de l’instruction (bits de 0 `a 11) est transf´er´ee versAR.

Pour faire circuler les donn´ees duPCvers l’ARavec la premi`ere instruction (celle qui est ex´ecut´ee `aT0), les tˆaches suivantes doivent ˆetre ex´ecut´ees pendant le cycleT0:

1 Placer le contenu du PC sur le bus en faisant en sorte queS2S1S0= 010.

2 Transf´erer le contenu du bus versARen activant l’entr´ee de contrˆoleLDdeAR.

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

(36)

Cycle d’instruction Importer et d´ecoder une instruction

Pour impl´ementer la deuxi`eme expression (celle qui est ex´ecut´ee pendantT1), il est n´ecessaire d’utiliser le signal de tempsT1pour mettre en place les connexions suivantes sur le syst`eme de bus:

1 Activer l’entr´ee de lecture de la m´emoire.

2 Placer le contenu de la m´emoire sur le bus en faisant en sorte queS2S1S0= 111.

3 Transf´erer le contenu du bus versIRen activant l’entr´eeLDdeIR.

4 Incr´ementerPCen activant l’entr´eeINRduPC.

Les transitions l’horloge suivantes (`a la sortie du cycleT1) initient les op´erations de lecture et d’incr´ementation.

(37)

Cycle d’instruction eterminer le type de l’instruction

D´ eterminer le type de l’instruction

L’importation et le d´ecodage de l’instruction ont lieu deT0`aT2.

PendantT3, l’unit´e de contrˆole d´etermine le type de l’instruction qui vient d’ˆetre lue de la m´emoire.

La Figure 9 pr´esente une configuration initiale du cycle d’instruction.

D7= 0 (opcode de 000 `a 110) se r´ef`ere `a l’instruction r´ef´erenc´ee `a la m´emoire.

SiI= 1, alors l’instruction contient une adresse indirecte⇒l’adresse effective de l’op´erande est lue en la transf´erant au registreAR.

Notez que, `a moins queSC soit explicitement remis `a z´ero (indiqu´e parSC←0), on suppose implicitement qu’il est incr´ement´e. C’est `a dire que l’expressionSC←SC+ 1 existe implicitement `a chaque ´etape qui ne contient pas l’expressionSC←0.

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

(38)

Cycle d’instruction eterminer le type de l’instruction

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

(39)

Cycle d’instruction eterminer le type de l’instruction

Les quatre op´erations qui ont lieu `a l’instantT3peuvent ˆetre symbolis´ees par:

D7IT3: AR←M[AR]

D7I T3: Nothing

D7I T3: Execute a register-reference instruction D7IT3: Execute an input-output instruction

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

(40)

Cycle d’instruction eterminer le type de l’instruction

Instructions r´ ef´ erenc´ ees ` a un registre

Les instructions r´ef´erenc´ees `a un registre sont reconnues parD7= 1 etI= 0.

Ces instructions utilisent les bits de 0 `a 11 du code d’instruction, qui sont transf´er´es versAR au tempsT2, afin de sp´ecifier l’une des 12 op´erations possibles.

La Table 3 contient la liste des fonctions de contrˆole et des micro-op´erations des instructions r´ef´erenc´ees `a un registre.

La basculeSest la bascule de d´emarrage/arrˆet du programme.

SiS= 0, alors le programme s’arrˆete (est en halte) car alorsSC n’est plus incr´ement´e.

SiS= 1, alors l’incr´ementation deSCest `a nouveau possible, et le programme reprend.

(41)

Cycle d’instruction eterminer le type de l’instruction

Table 3:Ex´ecution d’instructions r´ef´erenc´ees `a un registre

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

(42)

Instructions r´ef´erenc´ees `a la m´emoire

Instructions r´ ef´ erenc´ ees ` a la m´ emoire

La Table 4 contient la liste des 7 instructions r´ef´erenc´ees `a la m´emoire en notation RTL.

L’ex´ecution de chaque instruction avec le syst`eme de bus n´ecessite une s´equence de micro-op´erations.

Notez qu’avant l’instantT4, l’adresse effective est d´ej`a dansAR.

(43)

Instructions r´ef´erenc´ees `a la m´emoire

Table 4:Instructions r´ef´erenc´ees `a la m´emoire

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

(44)

Instructions r´ef´erenc´ees `a la m´emoire Op´eration “ET de AC” (AND to AC)

Op´ eration “ET de AC” (AND to AC)

L’op´eration “ET de AC” (AND to AC) pr´esuppose que le premier op´erande se trouve d´ej`a dansAC.

Le deuxi`eme op´erande doit ˆetre transf´er´e `a la m´emoire vers le registreDRfirst (pourquoi DR?). Ceci est fait pendant le tempsT4.

Puis, pendant le tempsT5, l’op´eration ET est ex´ecut´ee, le r´esultat est rang´e dansAC, etSC est remis `a z´ero (rendantT0= 1) pour se pr´eparer pour la prochaine instruction.

D0T4: DR←M[AR]

D0T5: AC←AC∧DR, SC ←0

(45)

Instructions r´ef´erenc´ees `a la m´emoire Op´eration “Addition `a AC” (ADD to AC)

Op´ eration “Addition ` a AC” (ADD to AC)

L’op´eration d’addition `a AC pr´esuppose que le premier op´erande se trouve d´ej`a dansAC. Le deuxi`eme op´erande doit ˆetre transf´er´e de la m´emoire vers le registreDR. Ceci se fait pendant le tempsT4.

Ensuite, pendant le tempsT5,

L’op´eration d’addition (ADD) est ex´ecut´ee et le r´esultat est rang´e dansAC,

La retenue de sortieCoutest transf´er´ee vers la basculeE(extension de l’accumulateur), et SCest remis `a 0 (rendantT0= 1) pour se pr´eparer pour la prochaine instruction.

D1T4: DR←M[AR]

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

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

(46)

Instructions r´ef´erenc´ees `a la m´emoire LDA: Chargement de AC (Load to AC)

LDA: Chargement de AC (Load to AC)

L’instruction “LDA” transf`ere un mot m´emoire sp´ecifi´e par l’adresse effective versAC.

D2T4: DR←M[AR]

D2T5: AC←DR, SC←0

(47)

Instructions r´ef´erenc´ees `a la m´emoire STA: Ranger AC (Store AC)

STA: Ranger AC (Store AC)

L’instruction “STA” range le contenu deAC dans le mot de la m´emoire sp´ecifi´e par l’adresse effective.

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

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

(48)

Instructions r´ef´erenc´ees `a la m´emoire BUN: Embranchement inconditionnel (Branch Unconditionally)

BUN: Embranchement inconditionnel (Branch Unconditionally)

L’instruction “BUN” fait pointer le compteur ordinal sur l’instruction dont l’adresse en m´emoire est sp´ecifi´ee par l’adresse effective.

Rappelez-vous quePC doit toujours contenir l’instruction de laprochaineadresse qui doit ˆ

etre ex´ecut´ee.

L’instruction “BUN” est effectu´ee en chargeant dansPC l’adresse de l’instruction vers laquelle le programme doit s’embrancher.

D4T4: PC ←AR, SC←0

(49)

Instructions r´ef´erenc´ees `a la m´emoire BSA: Embranchement et sauvegarde de l’adresse de retour (Branch and Save Return Address)

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

L’instruction “BSA” est utile pour faire un embranchement vers une portion du programme appel´ee sous-routine ou proc´edure.

Lorsque l’instruction BSA est ex´ecut´ee, l’adresse de l’instruction qui se trouve dans le mot suivant en m´emoire (qui est d´ej`a rang´ee dansPC) est sauvegard´ee dans une location m´emoire qui est sp´ecifi´ee par l’adresse effective.

L’instruction vers laquelle le programme se d´eplace est rang´ee en m´emoire dans le mot qui suit directement celui auquel on vient d’acc´eder.

L’adresse de ce mot est transf´er´ee auPC, et il s’agit de l’adresse de la premi`ere instruction de la sous-routine.

D5T4: M[AR]←PC, AR←AR+ 1 D5T5: PC←AR, SC←0

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

(50)

Instructions r´ef´erenc´ees `a la m´emoire BSA: Embranchement et sauvegarde de l’adresse de retour (Branch and Save Return Address)

Example 3 (Ex´ecution d’une instruction BSA).

Figure 10:Exemple d’ex´ecution d’une instruction BSA

(51)

Instructions r´ef´erenc´ees `a la m´emoire ISZ: Incr´ementation et saut si r´esultat nul (Increment and Skip if Zero)

ISZ: Incr´ ementation et saut si r´ esultat nul (Increment and Skip if Zero)

L’instruction “ISZ” incr´emente le mot de la m´emoire sp´ecifi´e par l’adresse effective, puis range le r´esultat `a la mˆeme adresse dans la m´emoire.

Si la valeur incr´ement´ee est 0, alors l’instruction suivante est saut´ee, et le programme passe

`

a l’instruction ult´erieure.

D6T4: DR←M[AR]

D6T5: DR←DR+ 1

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

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

(52)

Instructions r´ef´erenc´ees `a la m´emoire Diagramme de contrˆole

Diagramme de contrˆ ole

Figure 11:Diagramme des instructions r´ef´erenc´ees `a la m´emoire

(53)

Entr´ee/sortie et interruption Configuration d’entr´ee/sortie

Configuration d’entr´ ee/sortie

Pour illustrer les bases de la communication d’entr´ee/sortie d’un ordinateur, nous utiliserons un clavier et une imprimante comme appareils d’entr´ee/sortie.

Pour cela, deux bascules de contrˆole de 1 bit,FGI etFGO, sont utilis´ees comme drapeaux d’entr´ee et de sortie, respectivement.

La proc´edure de transfert d’une information en entr´ee est la suivante:

1 Initialement, le drapeau d’entr´eeFGIest remis `a 0.

2 Lorsqu’une touche est press´ee sur le clavier, un code alphanum´erique de 8 bits est transf´er´e au registre de 8 bitsINPRetFGIest mis `a 1.

Tant queFGI= 1, mˆeme si une autre touche est press´ee, le contenu deINPRne sera pas mis `a jour.

3 L’ordinateur examine la valeur deFGI, et si elle est de 1, alors le contenu deINPRest transf´er´e `a ACetFGIest remis `a 0.

4 Une fois queFGIest bien 0, le code alphanum´erique d’un nouveau caract`ere peut ˆetre transf´er´e vers INPRen pressant une touche du clavier.

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

(54)

Entr´ee/sortie et interruption Configuration d’entr´ee/sortie

La proc´edure de transfert d’une information en sortie est la suivante:

1 Initialement, le drapeau de sortieFGOest mis `a 1.

2 L’ordinateur examine la valeur deFGO, et si elle est de 1, alors le contenu deACest transf´er´e vers OUTRetFGOest mis `a 0.

3 L’appareil de sortie (l’imprimante) examine la valeur deFGO, et si elle est 0, il traite (ici, imprime) le caract`ere rang´e dansOUTRet met FGO `a 1.

Tant queFGO= 0, un nouveau caract`ere ne peut ˆetre charg´e dansOUTR.

(55)

Entr´ee/sortie et interruption Configuration d’entr´ee/sortie

Figure 12:Configuration d’entr´ee/sortie

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

(56)

Entr´ee/sortie et interruption Instructions d’entr´ee/sortie

Instructions d’entr´ ee/sortie

Une instruction d’entr´ee sortie (I/O) est d´efinie par un opcode de 111 (D7= 1) etI= 1.

Les autres bits de l’instruction sp´ecifient une instruction particuli`ere `a ˆetre ex´ecut´ee.

Les fonctions de contrˆole et les micro-op´erations des instructions I/O se trouvent dans la Table 5.

Toutes les instructions I/O ont lieu au signal de tempsT3. Table 5:Instructions d’entr´ee/sortie

(57)

Entr´ee/sortie et interruption Interruptions de programme

Interruptions de programme

On appelle la proc´edure de communication qui vient d’ˆetre d´ecrite “transfert de contrˆole programm´e”.

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

Ceci pourrait prendre beaucoup de temps, si on compare les vitesses relatives de traitement du processeur et des appareils d’entr´ee/sortie.

Une alternative est de d´edier un circuit externe (circuit d’interruption mat´eriel) qui informe l’ordinateur qu’un transfert est prˆet.

Pendant ce temps, l’ordinateur peut ex´ecuter d’autres instructions sans avoir `a v´erifier l’´etat des drapeaux explicitement.

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

(58)

Entr´ee/sortie et interruption Interruptions de programme

Le circuit d’interruption mat´eriel provoque une interruption en mettant une bascule d’interruption `a 1.

Lorsque le drapeau d’interruption est `a 1, le circuit d’interruption d´etourne momentan´ement l’ordinateur de sa tˆache pr´esente pour qu’il effectue l’op´eration d’entr´ee/sortie, avant de terminer l’ex´ecution des instructions du programme (en recommen¸cant l`a o`u il s’´etait arrˆet´e).

La bascule de 1 bitIEN laisse le choix au programmeur de permettre ou non des interruptions (suivant la valeur deIEN, soit 1 ou 0).

(59)

Entr´ee/sortie et interruption Interruptions de programme

Example 4.

La fa¸con dont une interruption est g´er´ee par l’ordinateur est illustr´ee dans la figure suivante.

Figure 13:D´emonstration d’un cycle d’interruption

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

(60)

Entr´ee/sortie et interruption Interruptions de programme

Figure 14:Diagramme du cycle d’interruption

(61)

Entr´ee/sortie et interruption Cycle d’interruption

Cycle d’interruption

La bascule d’interruptionR peut s’activer si:

Les phases d’importation et de d´ecodage sont termin´ees (c’est `a dire que,T0= 0,T1= 0, et T2= 0), et

Les interruptions sont permises (IEN= 1), et SoitFGI= 1, ouFGO= 1.

La micro-op´eration de mise `a 1 de la basculeR est:

T00T10T20(IEN)(FGI+FGO) : R←1

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

(62)

Entr´ee/sortie et interruption Cycle d’interruption

Les phases d’importation et de d´ecodage doivent ˆetre modifi´ees de celles de la Figure 9 pour prendre en consid´eration o`u une interruption est initi´ee (R= 1).

Ceci se fait en faisant un ET entreT0,T1, etT2avecR, puisque l’importation et le d´ecodage n’aura lieu alors que siR= 0.

Dans le cas o`uR= 1, le contrˆole 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

(63)

Entr´ee/sortie et interruption Cycle d’interruption

Figure 15:Diagramme du fonctionnement d’un ordinateur

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

(64)

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’ordinateur de base, est montr´e `a la Figure 5-15 du manuel (page 158).

Les fonctions de contrˆole et les micro-op´erations de l’ordinateur complet sont r´esum´ees dans la Table 5-6 du manuel (page 159).

(65)

Design of Basic Computer Portes logiques de contrˆole

Portes logiques de contrˆ ole

Les sorties du circuit logique de contrˆole dans l’unit´e de contrˆole sont:

1 les signaux pour contrˆoler les entr´ees (LD,INR, etCLR) des neuf registres.

2 les signaux pour contrˆoler les entr´ees de lecture et d’´ecriture (Read,Write) de la m´emoire.

3 les signaux pour mettre `a 1, `a 0, ou compl´ementer les bascules individuelles.

4 les signaux de contrˆole les bits de s´election du bus commun::S2,S1, etS0.

5 les signaux pour contrˆoler le circuit de logique et l’additionneur deAC.

Les sp´ecifications des divers signaux de contrˆole peuvent s’obtenir directement `a partir de la liste des expressions de transfert de registres de la Table 5-6 du manuel (page 159).

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

(66)

Design of Basic Computer Contrˆole des registres et de la m´emoire

Contrˆ ole des registres et de la m´ emoire

Supposons que nous voulons trouver les circuits logiques associ´es aux entr´ees de contrˆole de AR(i.e.,LD,INR, etCLR).

Ceci peut se faire en examinant toutes les micro-op´erations de l’ordinateur (Table 5-6 du manuel) et en trouvant toutes les expressions dans lesquellesARest charg´e:

R0T0: AR←PC R0T2: AR←IR(0–11) D70IT3: AR←M[AR]

RT0: AR←0 D5T4: AR←AR+ 1

(67)

Design of Basic Computer Contrˆole des registres et de la m´emoire

Les trois premi`eres expressions sont mises en place en activant le bitLDdeAR(i.e., LD(AR)).

La quatri`eme expression est mise en place en activant le bitCLR deAR(i.e.,CLR(AR)).

La cinqui`eme expression est mise en place en activant le bitINRdeAR(i.e.,INR(AR)).

Donc,

LD(AR) =R0T0∨R0T2∨D70IT3

CLR(DR) =RT0

INR(AR) =D5T4

Le circuit logique associ´e aux entr´ees de contrˆole deARest montr´e `a la Figure 16.

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

(68)

Design of Basic Computer Contrˆole des registres et de la m´emoire

Figure 16:Portes de contrˆole associ´ees `aAR

(69)

Design of Basic Computer Contrˆole des registres et de la m´emoire

De la mˆeme mani`ere, il est possible de trouver le circuit logique associ´e `a l’entr´ee de contrˆole de lecture (Read) de la m´emoire.

Il faut commencer par examiner toutes les micro-op´erations de l’ordinateur (Table 5-6 du manuel) pour trouver les expressions qui font intervenir les op´erations de lecture (i.e., les op´erations de la forme “symbole00←M[AR]).

⇒ Read=R0T1∨D70IT3∨(D0∨D1∨D2∨D6)T4

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

(70)

Design of Basic Computer Contrˆole d’une simple bascule

Contrˆ ole d’une simple bascule

Le circuit logique de contrˆole des bascules individuelles de l’unit´e de contrˆole peut ˆetre d´etermin´e de la mˆeme mani`ere.

Par exemple, la Table 5-6 (du manuel) montre que la basculeIEN est charg´ee dans les expressions suivantes:

pB7: IEN←1 pB6: IEN←0 RT2: IEN←0 O`up=D7IT3,B7=IR(7), etB6=IR(6).

Si une bascule JK doit ˆetre utilis´ee commeIEN, sa logique de contrˆole sera montr´ee sur la Figure 17.

(71)

Design of Basic Computer Contrˆole d’une simple bascule

Figure 17:Entr´ees de contrˆole deIEN

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

(72)

Design of Basic Computer Contrˆole du bus commun

Contrˆ ole du bus commun

Pour faciliter la conception de la logique des portes de contrˆole pour les interrupteurs du bus, on associe une variable bool´eenne `a la m´emoire ainsi qu’`a chacun des registres connect´es au bus, comme il est d´ecrit `a la Table 6.

Par exemple, on associeAR`ax1, et on associex7`a la m´emoire.

Si les bits de s´election du bus sont connect´es `a un encodeur comme sur la Figure 18, alors le probl`eme se r´eduit `a contrˆoler chacune des entr´ees de l’encodeur:x1, . . . ,x7.

Figure 18:Encodeur pour les entr´ees de s´election de bus

(73)

Design of Basic Computer Contrˆole du bus commun

Table 6:Encoder for bus selection circuit

x0 x1 x2 x3 x4 x5 x6 x7 S2 S1 S0 Registre

1 0 0 0 0 0 0 0 0 0 0 Aucun

0 1 0 0 0 0 0 0 0 0 1 AR

0 0 1 0 0 0 0 0 0 1 0 PC

0 0 0 1 0 0 0 0 0 1 1 DR

0 0 0 0 1 0 0 0 1 0 0 AC

0 0 0 0 0 1 0 0 1 0 1 IR

0 0 0 0 0 0 1 0 1 1 0 TR

0 0 0 0 0 0 0 1 1 1 1 M´emoire

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

(74)

Design of Basic Computer Contrˆole du bus commun

Pour d´eterminer les portes logiques correspondant `a chacune des entr´ees de l’encodeur, il est n´ecessaire de trouver les fonctions de contrˆole qui placent le registre correspondant sur le bus.

Par exemple, pour trouver la logique qui rendx1= 1, on examine toutes les expressions RTL de la Table 5-6 (du manuel) et on en extrait toutes celles qui n´ecessitent qu’ARsoit plac´e sur le bus (i.e., celles dontARest la source).

D4T4: PC ←AR D5T5: PC ←AR Donc,

x1=D4T4∨D5T5. De la mˆeme mani`ere, on trouve l’expression bool´eenne dex7:

x7=R0T1∨D70IT3∨(D0∨D1∨D2∨D6)T4.

La logique de contrˆole dex2,x3, . . . ,x6peut ˆetre d´etermin´ee de la mˆeme fa¸con.

(75)

Conception des portes logiques pour le contrˆole de l’accumulateur

Conception des portes logiques pour le contrˆ ole de l’accumulateur

Le diagramme bloc pour le contrˆole de l’accumulateurAC est montr´e `a la Figure 19.

Les sorties du circuit d’addition et de logique (qui repr´esentent l’ALU de cet ordinateur de base) sont les entr´ees de donn´ee deAC.

Il est n´ecessaire de contrˆoler les bits de contrˆole deAC’s (LD,INR, etCLR), ainsi que les bits de s´election de l’ALU, de fa¸con `a pouvoir effectuer les micro-op´erations d’arithm´etique et de logique.

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

(76)

Conception des portes logiques pour le contrˆole de l’accumulateur

Figure 19:Logique de contrˆole pourAC

(77)

Conception des portes logiques pour le contrˆole de l’accumulateur

Pour concevoir la logique associ´ee `aAC, il est n´ecessaire d’examiner la Table 5-6 (du manuel) et d’en extraire les expressions dans lesquellesAC est charg´e. Dans ce cas, nous avons:

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

(78)

Conception des portes logiques pour le contrˆole de l’accumulateur Contrˆole du registreAC

Contrˆ ole du registre AC

A partir des expressions ´ecrites ci-dessus, la logique de contrˆole pour les entr´eesLD,INR, etCLR deAC a ´et´e con¸cue comme montr´e ci-dessous.

Figure 20:Structure des portes pour contrˆoler les entr´eesLD,INR, etCLRdeAC

(79)

Conception des portes logiques pour le contrˆole de l’accumulateur Circuit Additionneur et de Logique

Circuit Additionneur et de Logique

Une possibilit´e pour le circuit additionneur et de logique pour l’ordinateur de base de ce chapitre est montr´ee sur la Figure 21.

Cependant, une meilleure conception est possible en utilisant les techniques montr´ees au Chapitre 4 pour les ALUs.

Figure 21:Un ´etage du circuit additionneur et de logique

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

Références

Documents relatifs

If there is existing active infection, the situation is one where sector 4 biosecurity cannot be improved and there is significant challenge from highly pathogenic avian

4.3.Profil spectral rectangulaire : facteur de visibilité (ou contraste) 4.4.Cohérence temporelle : durée et longueur de cohérence. 5.Interférences à N ondes

On peut de mˆeme aider au d´esassemblage en donnant les instructions en langage machine dans l’ordre alphab´etique (en fait des entiers) et en rappelant, pour chaque premier octet

[r]

[r]

[r]

[r]

Choisir une onde sinusoïdale de 1.5 Volts (crête à crête) et régler la fréquence de la source à 1 kHz. Discuter de l’allure des signaux et du déphasage observé entre les