Transcript
ARCHITECTURE
Historique sur les ordinateurs
La préhistoire
Mécanisation du calcul Schichard (1623), Pascal (1642), Leibniz (1673)
Automatisation du travail Falcon (1728)
Calcul automatique Baddage (milieu XIXème siècle)
Logique mathématiques Leibniz, Boole (1854), Shannon (1940), Turing (1940)
Calcul électronique Zuse, ENIAC (1945)
Apparition du transistor : fondamental dans l’histoire de l’informatique.
L’histoire
Dans les années 60 : Mini-informatique
Dans les années 70 : apparition de la micro-informatique
Dans les années 80 : Réseaux et télécommunications
Généralités sur l’architecture d’un ordinateur
Architecture
Dans les années 60, Von Neumann publie ce qui doit être l’architecture d’un ordinateur. Cette architecture est toujours la même actuellement.
57150053340BUS
00BUS
29718001066800020574001066800091440010668000
1714500160020Mémoire
00Mémoire
2514600160020Périphériques
00Périphériques
571500160020Unité Centrale
00Unité Centrale
Unité centrale
C’est le cerveau de l’ordinateur, son rôle est d’exécuter les instructions qui sont dans les mémoires. L’unité centrale est composée d’une unité de commande, d’une unité arithmétique et logique et des registres.
Mémoire
C’est un lieu de stockage des données et des programmes codés par des suites de 0 et de 1. Chaque cellule mémoire est désignée par son adresse. Toutes les cellules ont la même taille (mot) ; exprimé en bits ou octets.
Opérations possibles sur les cellules :
Lecture du contenu : Adresse => valeur
écriture d’une valeur dans une adresse
Périphériques
Claviers, écrans, souris, lecteurs de codes barres, crayons optiques, modem, imprimantes, disques,…
On les classe en trois catégories :
Les périphériques d’entrée
Les périphériques de sortie
Les périphérique de stockage
Tout ordinateur est conçu à partir de circuits de bases très simples dont le comportement fonctionnel est décrit par l’algèbre binaire (algèbre de Boole).
Codage de l’information
Nous nous plaçons dans le cas de l’architecture de Von Neumann (voir Introduction).
Les codages permettent :
le stockage en mémoire
la manipulation de données
la communication avec les périphériques
Codage octet
Un octet = 8 bits donc 28=256 valeurs différentes.
Codage des nombres en binaire
Le codage des nombres non-signés sur un octet se fait de la valeur 0 à la valeur 255.
Exemple : le contenu suivant : 1 0 1 0 0 0 1 1
Correspond à 128+32+2+1=163
Codage en complément à deux (modulo 256)
Cela permet de coder sur un octet des nombres signés : de –128 à 127
Par exemple : 10100011=163-256=256
Codage ASCII
Ce codage s’effectue sur 7 bits. Il sert à coder les caractères. 0 chaque octet correspond un caractère.
Par exemple : 01000101 : caractère ‘E’
01100101 : caractère ‘e’
Portes logiques et algèbre de Boole
Les portes logiques sont des circuits élaborés à partir de composants électroniques primaires : les transistors. Une porte logique est un assemblage de transistors. Certains principes de bases de l’algèbre de Boole permettent l’analyse des circuits logiques.
Les portes logiques
Un circuit logique est caractérisé par un comportement binaire, soit deux états logiques représentés par :
un signal électrique compris entre 0 et 2 volts (état binaire ZERO)
un signal électrique compris entre 2 et 5 volts (état binaire UN)
228600434975001371600434975Un transistor forme une porte élémentaire : le NON, et présente trois connections externes (collecteur, émetteur, base).
Son principe de fonctionnement est relativement simple : Lorsque la tension d’entrée appliquée à la base est inférieure à une valeur seuil, la connexion se bloque et le transistor se comporte alors comme un interrupteur ouvert (grande résistance). Si la tension appliquée à la base est au-dessus de la valeur seuil, le transistor se comporte comme un interrupteur fermé.
00Un transistor forme une porte élémentaire : le NON, et présente trois connections externes (collecteur, émetteur, base).
Son principe de fonctionnement est relativement simple : Lorsque la tension d’entrée appliquée à la base est inférieure à une valeur seuil, la connexion se bloque et le transistor se comporte alors comme un interrupteur ouvert (grande résistance). Si la tension appliquée à la base est au-dessus de la valeur seuil, le transistor se comporte comme un interrupteur fermé.
914400434975+Vcc
00+Vcc
Une porte logique peut réaliser diverses fonctions logiques. C’est le circuit de base qui constitue le fondement matériel des ordinateurs actuels. Un transistor se cache à l’intérieur de tout circuit logique : il y est utilisé comme interrupteur électronique très rapide. L’encadré ci-dessous explique brièvement ce qu’est un transistor.
9144001025525L’association de deux transistor en série permet d’obtenir la porte logique NAND : car Si les tensions V1 et V2 sont aux niveau haut, les transistors sont conducteurs et VS est alors au niveau bas.
00L’association de deux transistor en série permet d’obtenir la porte logique NAND : car Si les tensions V1 et V2 sont aux niveau haut, les transistors sont conducteurs et VS est alors au niveau bas.
36576001139825L’association de deux transistors en parallèles forme une porte NON-OU (NOR). En effet, Vcc est au niveau UN si V1 est au niveau ZERO ou V2 est au niveau ZERO
00L’association de deux transistors en parallèles forme une porte NON-OU (NOR). En effet, Vcc est au niveau UN si V1 est au niveau ZERO ou V2 est au niveau ZERO
2971800911225+Vcc
00+Vcc
30861001254125V2
00V2
34290001711325003543300159702500342900014827250034290001368425003314700136842500342900013684250032004001482725003543300125412500320040011398250028575001254125002857500125412500274320017113250028575001597025002628900136842500274320014827250027432001368425002743200136842500251460014827250024003001254125V1
00V1
228600225425Base
00Base
45720045402500457200911225+Vcc
00+Vcc
2286001597025V2
00V2
2286001139825V1
00V1
457200171132500457200125412500685800159702500685800113982500571500113982500571500159702500685800193992500800100182562500685800171132500685800159702500800100136842500685800125412500685800113982500800100102552500685800796925Masse
00Masse
800100568325Emetteur
00Emetteur
8001007969250091440056832500800100225425Collecteur
00Collecteur
8001003397250080010045402500685800339725008001003397250091440011112500
Tables logiques des portes logiques de bases
Porte logique NON
Son câblage s’effectue avec un transistor (voir encadré ci dessus)
A
130492566040X
00X
50482566040A
00A
X
0
119062570485001190625142240009620251422400096202527940009620252794000619125142240001
1
0
Porte logique NON ET (NAND)
Son câblage s’effectue avec deux transistors (voir encadré ci dessus)
A
B
1701800110490X
00X
444500-4445A
00A
7867651098550094678510858500X
0
0
14020801149350055943572390001
0
1
135953534290001
1
0
444500-4445B
00B
559435-3810001
1
1
0
Porte logique NON OU (NOR)
Son câblage s’effectue avec deux transistors (voir encadré ci dessus)
A
B
44450071755A
00A
3308357874000X
0
0
3302003365500673100336550078740033655001
0
1
135890045085001701800-4445X
00X
4451352540001359535116840000
1
0
44450071755B
00B
44513578740000
1
1
0
Porte logique ET (AND)
Son câblage s’effectue avec trois transistors
A
B
44513541910A
00A
X
0
0
1587500119380X
00X
559435123190007880358890009023358890000
0
1
135953585090000
1
0
44513543180B
00B
55943547625000
1
1
1
Porte logique OU (OR)
Son câblage s’effectue avec trois transistors
A
B
33020014605A
00A
3308351587500330835130175006737351301750078803513017500X
0
0
170180090805X
00X
44513592075000
0
1
135953553975001
1
0
33083514605B
00B
44513515875001
1
1
1
Quelques remarques
Dans le cas de la porte logique ET, la sortie du circuit NAND est connectée à un inverseur.
On note X=NON NON-ET(A, B)=ET(A, B)
De même X=NON NON-OU(A, B)=OU(A, B)
Deux familles technologiques dominent le domaine des circuits logiques :
la technologie bipolaire (basée sur le transistor à jonction)
La technologie unipolaire MOS (Metaloxyd Semi-conductor) basée sur le transistor à effet de champ.
L’algèbre de Boole
Boole (1815 – 1864), mathématicien anglais. Une partie de ses travaux est relative aux fonctions et aux variables binaires (variables booléennes).
Une fonction booléenne à n variables fournit un résultat qui dépend uniquement de la valeur binaire de ses valeurs. Une fonction booléenne présente 2n états possibles et on peut décrire complètement cette fonction à l’aide d’une table de 2n lignes appelée table de vérité (TV) de la fonction.
Quelques conventions
On note /X (« X barre ») pour X en valeur 0 et on note X quand la valeur de X est 1.
On note ‘.’ ou rien pour le ET : a.b=ab=a ET b (multiplication)
On note + pour le OU : a+b=a OU b
Remarques
Une fonction de n variables peut être décrite par une somme d’au plus 2n termes produits de ces variables.
Réalisation des fonctions booléennes
Pour schématiser une fonction
Ecrire l’équation de la fonction à partir de la TV.
Réaliser l’inversion de toutes les variables d’entrées pour disposer de leur complément.
Prévoir une porte ET pour chaque terme égal à 1 dans la colonne valeur.
Etablir le câblage des portes ET avec les entrées appropriées.
Réunir l’ensemble des sorties des portes ET vers une porte OU dont la sortie est le résultat de la fonction.
Remarques
Deux problèmes se posent alors :
Il n’est pas toujours possible de disposer de portes ET ou OU ayant autant d’entrées que nécessaire.
Il est souvent impératif de réaliser la fonction avec un seul type de portes.
Les portes NON-ET et NON-OU sont dites complètes car on peut réaliser avec l’une ou l’autre, n’importe quel type de fonctions. Aucune autre porte logique ne présente cette propriété. Les portes NON-ET et NON-OU constituent donc les éléments de base des circuits intégrés d’aujourd’hui.
Recherche de circuits équivalents
Le soucis majeur d’un concepteur de systèmes logiques est de réduire le nombre de portes nécessaire à la réalisation d’une fonction pour minimiser le coût en nombre de boîtiers, la surface d’implantation sur la plaque du circuit imprimé, la consommation électrique,…
Minimiser la complexité d’un système revient à en créer un équivalent qui réalise la même fonction dans les mêmes conditions.
Pour rechercher l’équivalence, on utilise les théorèmes de l’algèbre de Boole.
Algèbre de Boole
Nom de la loi
forme ET
forme OU
906145431165/A
00/A
Remarque : une expression booléenne utile : le OU-EXCLUSIF : X=A B. La table de vérité est la suivante :
A
B
84137590170ET
00ET
72707590170009556759017000X
62230019050B
00B
0
0
72707513335000176085552070A B
00A B
12985755207000118427552070000
16535401397000176784013970ET
00ET
188214013970000
1
175577512827000542925128270A
00A
1
165100019050001
0
727075901700012985759017000955675901700084137590170ET
00ET
1
73660019050/B
00/B
153670019050001
1
727075133350001
Loi d’identité
1A=A
0+A=A
Loi de nullité
0A=0
1+A=1
Loi d’idempotence
AA=A
A+A=A
Loi d’inversion
A.(/A)=0
/A+A=1
Loi commutative
AB=BA
A+B=B+A
Loi associative
(AB)C=A(BC)
Loi distributive
A+BC=(A+B)(A+C)
A(B+C)=AB+AC
Loi d’absorption
A(A+B)=A
A+AB=A
Loi de De Morgan
/(AB)=/A+/B
/(A+B)=/A./B
Importance du choix des conventions
Habituellement, on travaille en logique positive.
Niveau haut : 5V ; vrai, et 1 sont synonymes
Niveau bas, faux, 0 sont synonymes.
Simplification de fonctions booléennes par les tableaux de Karnaugh :
C’est une méthode qui permet de former des « sommes de produits ». On écrit TV comme un tableau à deux entrées en gardant adjacentes les entrées qui ne différent que d’une seule valeur binaire.
On peut ainsi voir les produits de littéraux utiles prendre la forme de rectangles dont les points ont la valeur 1.
Cette méthode est utilisable pour les fonctions jusqu'à 4 variables.
Circuits logiques de bases
Il est possible de réaliser des fonctions à partir de leur table de vérité en les constituant avec des portes logiques.
Les concepteurs de systèmes logiques disposent de circuits plus ou moins complexes dont les plus courants sont :
Les circuits intégrés logiques (CIL)
Les circuits logiques combinatoires (multiplexeurs, décodeurs, comparateurs, réseau logique programmable,…)
Les horloges.
Les circuits intégrés logiques
Ils sont appelés CIL, puce ou CHIP. On les trouve dans les systèmes logiques, systèmes numériques et les ordinateurs.
Exemple d’un schéma de CIL :
Ici schéma d’un CIL / SSI (Small scale intégration) : le circuit CMOS4011.
Il est composé de 4 portes NAND intégrés dans une plaquette de silicium 5mm x 5mm. Le boîtier dispose de 2 rangées parallèles de connections et porte le nom de DIL ou DIP à 14 broches.
226695129540 14 13 12 11 10 9 8
00 14 13 12 11 10 9 8
18288006604000148590066040004572006604000800100660400011430006604000148590066040002171700660400025146006604000
34290019050001143000133350&
00&
217170034290002514600342900011430003429000800100342900034290034290+Vcc
00+Vcc
1828800116840&
00&
1828800116840
00
1257300116840
00
2057400116840001714500254000171450025400014859002540001600200254000114300011684000
205740014605000800100146050001714500850900014859008509000
148590041275&
00&
91440041275&
00&
148590041275
00
91440041275
00
171450041275002171700412750045720041275004572004127500
137160095250013716009525001828800123825001714500123825001257300952500114300095250080010012382500800100123825002286000123825GND
00GND
14859009207500137160092075001143000920750011430009207500
251460060325001828800603250080010060325004572006032500
22860028575 1 2 3 4 5 6 7
00 1 2 3 4 5 6 7
Il existe quatre familles de CIL. Selon la densité d’intégration (nombre de porte ou de transistors internes par circuits ou par mm²).
Type de circuits
nature
nb portes/circuits
nb portes/nb broches
SSI
Small Scale Integration
1 à 10
<1
MSI
Medium Scale Integration
10 à 100
5 à quelques dizaines
LSI
Large Scale Integration
100 à 100000
25 à 1000
VLSI
Very Large Scale Intégration
>100000
plusieurs milliers
Dans les circuits VLSI actuels, on envisage un million de portes par circuits et encore plus dans les ULSI.
Ces intégrateurs permettent de construire des circuits logiques très complexes, peu encombrants et peu coûteux.
Les circuits logiques combinatoires
Il existe deux catégories de circuits dans les systèmes logiques :
les circuits combinatoires dont la fonction de sortie s’exprime selon une expression logique des seules variables d’entrées.
Les circuits séquentiels dont la sortie dépend de l’état des variables d’entrées mais aussi des antérieurs des variables de sorties.
Les multiplexeurs
Il a 2n entrées, une sortie et n lignes de sélections.
Il a une fonction d’aiguillage : il établit une liaison entre sa sortie et une entrée parmi 2n selon la configuration binaire présente sur les n lignes de sélections.
Exemple : multiplexeur a 8 entrées :
11430001
001
45720000034290082550003429008255000
114300508002
002
1143001333503
003
3429001905000
34290010160000
114300698504
004
160020038100S
00S
3429003810000
11430063505
005
114300063500034290012065000
114300889006
006
3429005715000
114300254007
007
34290013970000
1143001079508
008
3429007620000
1028700444500080010044450005715004445000
45720012700A B C
00A B C
Les trois lignes de sélections déterminent 23=8 configurations binaires pour spécifier l’entrée.
Il y a une seule porte à 1 à chaque fois. Toutes les autres sont à 0.
Le décodeur
Voir la feuille A ci jointe.
Le décodeur est un circuit combinatoire MSI à n entrées et 2n sorties. Pour une configuration binaire en entrée, une seule sortie est active parmi 2n.
Application 1 : la sélection de circuits mémoires :
ooo0 11xx xxxx xxxx adresse 16 bits (o : non utilisés, x : 0 ou 1)
80010016192500457200476250034290047625002286004762500
571500100965C
00C
137160010096500
685800154305Décodeur 3 vers 8
00Décodeur 3 vers 8
152400154305B
00B
1371600781050045720015430500
137160055245003429009334500
57150032385A
00A
137160032385002286003238500
1371600161925001371600952500
137160013906500
137160011620500 Les sorties vont vers le chip set mémoire
Soit une mémoire constituée de 8 circuits de 1Ko chacun. Le circuit 0 contient les octets d’adresses 0 à 1023. Le circuit 1 contient les octets d’adresses 1024 à 2047. Et ainsi de suite.
Les trois bits de poids fort de l’adresse (sur 16 bits) sont utilisés à la sélection des boîtiers mémoires (1 parmi 8). Ainsi, sur le décodeur précédent, ces bits d’adresse sont reliés aux entrées A, B, C.
Selon l’état binaire présent sur les bits 10, 11 , 12, une seule sortie est à l’état 1. Les autres sont à l’état zéro. Par exemple, une adresse de cette forme permet de sélectionner un octet du boîtier n3.
Application 2
On trouve des circuits spéciaux de type 4 vers 10 qui permettent lé décodage des nombres décimaux codés DCB (décimal codé binaire).
Le comparateur
Ce circuit fait la comparaison de deux mots de n bits chacun.
Soit un comparateur 4 bits : voir le schéma page suivante.
1257300-260350001143000-26035000-342900-260350B0
00B0
-34290082550A1
00A1
-342900-488950A0
00A0
-45720082550
00
-457200-488950
00
114300014605000
1143000152400001257300381000018288001905000160020019050
NOR
00
NOR
-34290019050B1
00B1
-342900158750A2
00A2
-457200158750
00
114300015875000114300015875000240030010160000240030010160000
-342900165100B2
00B2
1257300508000012573005080000
-34290063500A3
00A3
-34290063500
00
-342900184150B3
00B3
11430006985000
Ce circuit fournit une sortie égale à 1 si et seulement si A=B.
Remarque : les circuits comparateurs du marché comportent en général 3 sorties : A=B, AB.
Les réseaux logiques programmables
Voir schéma sur feuille ci jointe A.
On sait réaliser une fonction logique à partir de sa table de vérité.
Il existe des composants tout près appelés réseaux logiques programmables.
Exemple :
Le FPLA à 12 entrées/6 sorties/ 50 portes ET.
On remarque en haut la matrice des portes ET et en bas la matrice des portes OU.
Dans la matrice des portes ET, chaque entrée dispose d’un fusible. A la fabrication, les 1200 fusibles sont intacts. La programmation de la matrice consiste à détruire certains fusibles pour obtenir les termes produits de la fonction programmer.
De même, pour programmer les termes somme de la fonction logique, il n’est nécessaire de détruire certains des 300 fusibles de la matrice des portes OU.
Les circuits de calculs
Les circuits examinés ici sont des MSI utilisés dans les unités de calculs.
Le décaleur
Voir schéma feuille A
Il permet de décaler un mot d’information d’un bit (à droite ou à gauche) en fonction d’un signal de commande C :
C=1 : décalage à droite
C=0 : décalage à gauche
Fonctionnement :
Lorsque C=1, la porte ET de droite de la paire associée une entrée Di est active et Di est transmis vers la sortie en subissant un décalage d’une position vers la droite.
Lorsque C=0, idem, avec un décalage à gauche.
Remarque :
Lors d’un décalage à gauche (respectivement à droite), un bit peut être perdu à gauche (respectivement à droite) et un bit zéro peut être généré à droite (respectivement à gauche)
Additionneur
Voir feuille B.
Généralisation : pour construire un additionneur de nombres de n bits, il suffit d’utiliser n additionneurs en cascade, la sortie de retenue d’un étage correspondant à l’entrée de retenue du suivant.
4229100179070Avec le câblage ci contre, on peut alors additionner 2 mots de quatre bits {A3A2A1A0} et {B3B2B1B0}
00Avec le câblage ci contre, on peut alors additionner 2 mots de quatre bits {A3A2A1A0} et {B3B2B1B0}
3771900636270003314700293370+
00+
28575006362700035433001790700033147001093470A0
00A0
354330064770S0
00S0
3657600864870003429000864870003314700407670002971800407670Rs
00Rs
35433001093470B0
00B0
26289001790700019431006362700024003001093470A1
00A1
2400300293370+
00+
262890064770S1
00S1
2743200864870002514600864870002400300407670002057400407670Rs
00Rs
26289001093470B1
00B1
1714500179070001028700636270001485900407670001143000407670Rs
00Rs
17145001093470B2
00B2
14859001093470A2
00A2
1485900293370+
00+
171450064770S2
00S2
182880086487000160020086487000571500293370+
00+
8001001093470B3
00B3
5715001093470A3
00A3
228600407670Rs
00Rs
80010064770S3
00S3
9144008648700068580086487000228600636270008001001790700057150040767000
On appelle ces additionneurs les additionneurs à propagation de retenue. (ripple carry addor). Il y a aussi des additionneurs à anticipation de retenue (plus rapide) (carry look head addor) : ils calculent la retenu nécessaire à l’étage i en fonction des entrées des étages i-1, i-2,…,0.
Les unités arithmétiques et logiques
Les ordinateurs disposent d’unités réalisant :
Les opérations logiques de base
La somme de deux nombres binaires.
Voir le schéma de l’UAL 1 bit page 2 figure 5
Pour traiter les nombres sur n bits, on associe par blocs de n les différents opérateurs sur un bit.
Exemple sur 8 bits :
342900110490 S0 S1 S2 S3 S4 S5 S6 S7
00 S0 S1 S2 S3 S4 S5 S6 S7
5372100197485UAL 1 bit
00UAL 1 bit
4572000197485UAL 1 bit
00UAL 1 bit
3771900197485UAL 1 bit
00UAL 1 bit
2971800197485UAL 1 bit
00UAL 1 bit
2171700197485UAL 1 bit
00UAL 1 bit
1371600197485UAL 1 bit
00UAL 1 bit
571500197485UAL 1 bit
00UAL 1 bit
-228600197485UAL 1 bit
00UAL 1 bit
6172200129540Rs
00Rs
-45720015240Re
00Re
617220021018500
0114935 A0 B0 A1 B1 A2 B2 A3 B3 A4 B4 A5 B5 A6 B6 A7 B7
00 A0 B0 A1 B1 A2 B2 A3 B3 A4 B4 A5 B5 A6 B6 A7 B7
-45720085090 F0
F1
00 F0
F1
-22860012128500-114300698500-11430017145004800600131445004686300171450040005001314450038862001714500320040013144500308610017145002400300131445002286000171450016002001314450014859001714500800100131445006858001714500013144500
Les Horloges
Pour améliorer la séquentialité, la synchronisation temporelle des variables logiques, on utilise des horloges.
Une horloge un système logique qui émet des impulsions calibrées à intervalle de temps régulier. L’intervalle de temps entre deux impulsions représente le temps de cycle sur la période T de l’horloge. La fréquence de temps (1/T) est comprise entre 1 et 100 MHz, soit une période d’environ 1 µs. Pour plus de précision, les horloges sont pilotées par des oscillateurs à quartz.
(voir le graphe page 3.)
On peut réaliser un séquencement déterminé en attribuant des actions à chaque instant : /c1 ET /c2 ou /c1 ET c2 ou c1 ET /c2 ou c1 ET c2.
En général, les horloges délivrent des signaux symétriques : le temps de maintien au niveau haut est égal au temps de maintien au niveau bas.
Les bascules RS
Voir schéma de la Bascule RS feuille C figure 7.
A l’inverse des circuits combinatoires, la valeur de sortie de la bascule ne dépend pas que des valeurs des variables d’entrées mais aussi de l’état antérieur de la sortie.
RS à horloge
Pour ne faire changer l’état d’une bascule qua des instants bien précis, on utilise un système commandé par une horloge. (voir feuille C – figure 8) :
Au niveau bas de l’horloge : il y a 0 en sortie des portes ET et pour tout R et S, la bascule se maintient dans son état antérieur.
Au niveau haut de l’horloge : les entrées R et S sont transmises sur la bascule.
Remarque :
La bascule RS peut présenter une instabilité de fonctionnement lorsque ses entrées R et S sont égales à 1 en même temps et que R et S sont amenées à passer à zéro, simultanément ou pas.
La bascule JK
Voir schéma feuille C figure 9
Pour éviter l’ambiguïté de fonctionnement de la bascule RS, on a réalisé la bascule JK. Les sorties Q et /Q sont bouclées sur les entrées K et J via les portes ET.
La bascule D
Un autre moyen de résoudre l’ambiguïté propre à la bascule RS : empêcher la configuration R=S=1 à l’entrée de bascule. Pour cela, il y a un inverseur (voir schéma feuille C figure 10).
Dans ce cas, lorsque l’entrée d’horloge est à 1 :
Si D=1, la bascule passe à l’état Q=1
Si D=0, la bascule passe à l’état Q=0.
C’est donc une mémoire à 1 bit disponible à tout instant sur la sortie Q de la bascule.
Bascules déclenchées sur front d’horloge
En pratique, si l’impulsion d’horloge est de durée très faible, la propriété de mémorisation est garantie. Mais il est presque impossible de générer de très fines impulsions et on a recours à des bascules qui changent d’état :
non pas lorsque l’impulsion d’horloge est au niveau haut ou bas mais :
lors que la transition (ou front « edge »)
montant (leading edge)
descendant (trailing edge)
125730022479000Bascules du commerce
228600017780D : entrée bascule
CLK : entrée de l’horloge
CLR : clear (RESET) : force directement l’état Q=0
Q et /Q : les deux sorties complémentaires
SET : force directement l’état Q=1
00D : entrée bascule
CLK : entrée de l’horloge
CLR : clear (RESET) : force directement l’état Q=0
Q et /Q : les deux sorties complémentaires
SET : force directement l’état Q=1
800100177800080010017780 CLR
D Q
CLK /Q
SET
00 CLR
D Q
CLK /Q
SET
17145001003300045720010033000
45720012700000171450012700000
125730013335000
Registre 8 bits
Circuits interrupteurs 3 états
Non inverseur Inverseur commande d’action active (=1) / inactive (=0)
35433007556500075565Commande d’action
00Commande d’action
377190043815003200400438150019431004381500
194310012065Interrupteur ouvert / Interrupteur fermé
00Interrupteur ouvert / Interrupteur fermé
Bus de données
Un bus est une structure d’interconnections constitué d’un ensemble de lignes (fils) sur lesquels transitent les informations que s’échangent deux unités qui communiquent.
Le bus est associé à la transmission en parallèle : les n bits d’informations à transmettre le sont en une seule fois sur les n lignes de données.
Cette technique de transmission est en général plus rapide que la communication en série (qui consiste à transmettre les n bits sur une seul ligne, un bit à la fois, séquentiellement).
Dans la plupart des micro-architecture, les registres sont connectés entre eux par un bus d’entrée et un bus de sortie d’informations.
Registres 8 bits
Voir feuille D figure 15
Avec 8 bascules D ayant une horloge commune, des bus (d’entrées et de sortie) et des dispositifs 3 états, on obtient un registre 8 bits.
Organisation des mémoires
Voir feuille D figure 14.