Circuits séquentiels Mémoire Structure de l’ordi Circuits séquentiels Mémoire Structure de l’ordi Architecture des ordinateurs Circuits séquentiels Cours 3 15 octobre 2012 Archi Circuits séquentiels 1/30 Mémoire Structure de l’ordi Circuit à mémoire Archi Circuits séquentiels 2/30 Mémoire Structure de l’ordi Principe d’un circuit séquentiel On suppose que le temps est discret : on peut le découper suivant les instants 0, 1, 2, ..., n, n+1, ... Comment fabriquer une guirlande cyclique ? Les lampes colorées doivent s’allumer, chacune à leur tour, de façon cyclique. A 0 >1 A 1 Q DEC A 0 >1 0 Q A 1 >1 1 Q 0 0 INC 0 0 >1 0 Q 1 A 1 >1 0 Q Q0 1 0 0 0 A 0 0 1 1 Q 0 1 0 1 A 0 1 Q0 Q 0 0 A MEM ! ! ! irréalisable avec un circuit combinatoire Archi 3/30 A 1 >1 0 1 >1 0 0 Q A 1 >1 0 Q 1 Q 1 Archi 4/30 Circuits séquentiels Mémoire Structure de l’ordi Bascule RS : états stables A B NON−OU Q = 0 et Q = 1 (état 0) 0 0 1 0 1 0 Q = 1 et Q = 0 (état 1) 1 0 0 1 1 0 0 >1 1 0 1 R >1 0 S Q 0 0 >1 1 0 Q 0 R RESET : S = 0 et R = 1 ⇒ Q = 0 et Q = 1 (état 0) S = 1 et R = 1 : ambiguı̈té S Q 1 0 R Q Q >1 Archi 0 >1 Q R Structure de l’ordi S Q B NON−OU 0 0 1 0 1 0 1 0 0 1 1 0 1 >1 1 1 0 0 A 0 Q >1 5/30 Mémoire >1 1 1 Bascule RS : table de vérité S Structure de l’ordi SET : S = 1 et R = 0 ⇒ Q = 1 et Q = 0 (état 1) 0 >1 Archi Circuits séquentiels Mémoire Bascule RS : activation Pour R = S = 0, 2 états stables possibles : S Circuits séquentiels R >1 0 1 Q Q Archi Circuits séquentiels 6/30 Mémoire Structure de l’ordi Bascule RS : Résumé S 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 R 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Q 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Q 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Q0 X 0 1 X X 0 0 X X 1 1 X X 0 0 X 0 Q X 1 0 X X 1 1 X X 0 0 X X 0 0 X 7/30 S R Q Q 0 0 Q Q Sorties inchangées 0 1 0 1 RESET : remise à 0 1 0 1 0 SET : mise à 1 1 1 0 0 non utilisé La bascule RS mémorise la valeur des entrées : sa sortie dépend de la dernière entrée mise à 1 (R ou S). Q ? S R t Archi 8/30 Circuits séquentiels Mémoire Structure de l’ordi Horloge Circuits séquentiels Mémoire Structure de l’ordi Bascule RS + Horloge = RSH Bascule = composant asynchrone : la sortie change “rapidement” après modification des entrées S Horloge = signal périodique Q Fréquence d’horloge = inverse de la période généralement entre 1 et 500 MHz ⇒ cycle de 1000 à 2 ns Niveau haut Sn 0 0 1 1 Q Système synchrone : les valeurs sur le circuit ne peuvent être modifiées qu’à certains moments (temps discret), suivant le rythme d’une horloge globale Rn 0 1 0 1 Qn+1 Qn 0 1 ? R Front montant Sn et Rn : états des entrées à l’instant t = n Qn+1 : sortie au prochain cycle d’horloge (instant t = n + 1) H B Équation : Qn+1 = S + RQn t Cycle (periode) Niveau bas Front descendant Archi Circuits séquentiels Mémoire 9/30 Structure de l’ordi Bascule RSH : latch vs. flip-flop Bascule RSH latch Activation sur niveau haut d’horloge Archi Circuits séquentiels Q S J Q Q t K R Q Bascule RSH flip-flop Activation sur front montant d’horloge Q S R H Archi Structure de l’ordi Bascule JK Q S R H 10/30 Mémoire t 11/30 Jn 0 0 1 1 Kn 0 1 0 1 Qn+1 Qn 0 1 Qn Jn Kn 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 Qn Qn 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 S R 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 Qn+1 0 1 0 0 1 1 1 0 B Équation : Qn+1 = Jn Qn + Kn Qn Archi 12/30 Circuits séquentiels Mémoire Structure de l’ordi Bascule D (flip-flop) Mémoire Structure de l’ordi Résumé (flip-flop) Bascule JK Bascule RS Q D Dn 0 1 Circuits séquentiels Sn 0 0 1 1 Q Qn+1 0 1 Q Rn 0 1 0 1 Qn+1 Qn 0 1 ? Jn 0 0 1 1 Kn 0 1 0 1 Bascule D Qn+1 Qn 0 1 Qn Dn 0 1 Qn+1 0 1 Q B Équation : Qn+1 = Dn Qn+1 = S + RQn Q S Q Ck D R H t Archi Circuits séquentiels J Q Qn+1 = Dn D Q Ck Q Q K Ck Q latch : sans le B Archi 13/30 Mémoire Qn+1 = Jn Qn + Kn Qn Structure de l’ordi Circuits séquentiels Mémoire 14/30 Structure de l’ordi Réalisation de la guirlande cyclique Raz INC DEC Mémoire MEM Q D Ck H t Q D Ck H Archi 15/30 Archi 16/30 Circuits séquentiels Mémoire Structure de l’ordi Circuits séquentiels Mémoire Structure de l’ordi Diagramme d’une mémoire adressable 4 × 3 Registres I2 Registre : emplacement de mémoire interne au processeur ; I1 I0 mémoire au temps d’accès très rapide D porte d’écriture D Q Ck mais dont le coût de fabrication est très élevé car l’espace dans un microprocesseur est limité. taille variable entre les processeurs, D Q Ck D Q Ck D Q ligne de sélection du mot 0 Ck Q Ck D Q ligne de sélection du mot 1 Ck le plus souvent des registres 32 bits, récemment, apparition de registres 64 bits. D A0 A1 D0 D1 D2 D Q Ck Q Ck D Mot 0, adresse: 00 Mot 1, adresse: 01 Q ligne de sélection du mot 2 Ck Mot 2, adresse: 10 D3 D D Q Q D Q Mot 3, adresse: 11 D Q D Q Q D Q Q D Ck Q Q Ck Q Ck ligne de sélection du mot 3 Clk interrupteurs CS O2 O1 O0 RD S0 S1 S2 S3 Archi Circuits séquentiels OE Activation de la sortie: CS.RD.OE 17/30 Mémoire Structure de l’ordi Organisation de la mémoire Archi Circuits séquentiels Mémoire 18/30 Structure de l’ordi Mémoires RAM (Random Access Memory) RAM = mémoire vive = mémoire système = mémoire volatile 2 exemples d’organisation d’une mémoire 26 = 64 octets : rapidité d’accès : essentielle pour fournir rapidement les données au processeur. volatilité : les données sont perdues dès que l’ordinateur cesse d’être alimenté en électricité. Adresse sur 6 bits DEC DMUX 64x6 8x3 octet lu Adresse sur 4 bits transmise en 2 temps SRAM (Static RAM) : utilise des bascules pour mémoriser l’info ; très rapide mais coûteux en composants ; temps d’accès : de l’ordre de 1 ns ; utilisée pour le cache, par exemple. DRAM (Dynamic RAM) : MUX 8x3 utilise des charges de condensateurs (plus économique) ; moins rapide que la SRAM, nécessite des rafraı̂chissements ; temps d’accès : de l’ordre de 10 ns ; utilisée pour la mémoire principale. octet lu Archi 19/30 Archi 20/30 Circuits séquentiels Mémoire Structure de l’ordi Mémoires non volatiles Circuits séquentiels Mémoire Structure de l’ordi Résumé Mémoires non volatiles accessibles par adresses : ROM (Read Only Memory) : ni réinscriptible, ni effaçable. données enregistrées à la fabrication. moins chère que la RAM. PROM (Programmable ROM) : inscriptible une seule fois (à base de fusibles). EPROM (Erasable PROM) : réinscriptible après effacement UV. EEPROM (Electrically EPROM) : effaçable (par octets) par application d’impulsions. plus facile à reprogrammer, mais plus lente et de capacité plus faible que l’EPROM. Flash : effaçable et réinscriptible par blocs, sans démontage. faible temps d’accès (∼ 50 ns) mais dégradation rapide (par rapports aux disques). Type Volatile ? Inscript. ? Taille Nombre d’effac. d’effac. Archi oui oui octet illimité +++ +++ DRAM oui oui octet illimité ++ ++ ROM non non - - + +++ PROM non 1 fois - - ++ +++ EPROM non UV total - ++ +++ EEPROM non oui octet limité +++ +++/+ Fash non oui bloc limité ++ +++/+ Masse non oui/non octet ± limité + + Archi 21/30 Mémoire Structure de l’ordi Vitesse SRAM mémoires de masse (disques durs, CDs, DVDs, ...) : grande capacité mais très lentes (∼ 10 ms pour les disques durs). Circuits séquentiels Coût Circuits séquentiels Mémoire 22/30 Structure de l’ordi Hiérarchie des mémoires Temps d’accès Registres Cout Cache Structure de l’ordinateur Mémoire centrale Disques magnétiques (disque dur, ...) Disques optiques Disques magnétiques (disque dur, ...) Disques optiques Capacité Archi 23/30 Archi 24/30 Circuits séquentiels Mémoire Structure de l’ordi Architecture de Von Neumann Circuits séquentiels Mémoire Structure de l’ordi Bus Bus : ensemble de liaisons physiques (câbles, pistes de circuits imprimés, etc.) pouvant être exploitées en commun par plusieurs éléments matériels afin de communiquer. bus Unité Centrale Unité de commande Objectif : réduire le nombre de voies nécessaires à la communication des différents composants. Von Neumann Caractéristiques : Largeur : nombre de lignes physiques sur lesquelles les données sont envoyées = nombre de bits transmis en parallèle. UAL exemples de dispositifs d'entrée/sortie Fréquence (en Hz) : nombre de paquets de données envoyés ou reçus par seconde. Mémoire principale Registres : : Clavier Moniteur Imprimante Débit maximal (ou taux de transfert maximal) : quantité de données transportées par unité de temps (largeur × fréquence). ROM RAM Bus Archi Circuits séquentiels Exemple : largeur 16 bits et fréquence 133 MHz ⇒ 266 Mo/s 25/30 Mémoire Structure de l’ordi Différenciation des bus Archi Circuits séquentiels Mémoire 26/30 Structure de l’ordi Spécialisation des bus Différents types de bus : Processeur Bus Registres Contrôleur de bus Bus mémoire Mémoire bus d’adresses : transporte les adresses mémoire auxquelles le processeur souhaite accéder (unidirectionnel). bus de données : véhicule les instructions en provenance ou à destination du processeur (bidirectionnel). Unité de commande UAL Disque dur bus de commandes : transporte les ordres et les signaux de synchronisation de l’unité de commande (bidirectionnel). Souris bus système : permet au processeur de communiquer avec la mémoire centrale du système (mémoire vive ou RAM). Bus interne du processeur bus d’extension (bus d’entrée/sortie) : permet aux divers composants de la carte-mère (USB, cartes PCI, disques durs, lecteurs, ...) de communiquer entre eux. Web cam Bus d'E/S Archi . . . 27/30 Archi 28/30 Circuits séquentiels Mémoire Structure de l’ordi Spécialisation des bus (suite) Circuits séquentiels Mémoire Structure de bus moderne Adaptateur graphique Moniteur ISA (Industry Standard Architecture) : apparaı̂t en 1981, bus standard des PC jusqu’à la fin des années 1990. Bus AGP / PCI Express PCI (Peripheral Component Interconnect) : lancé à la fin des années 90 pour faire face à la demande liées aux applications vidéo. AGP (Accelerated Graphics Port) :lancé en 1997, port interne destiné exclusivement aux cartes graNorme bits MHz ISA 8-bit 8 8.3 phiques. Remplacé par le PCI-Express. ISA 16-bit 16 8.3 USB (Universal Serial Bus) : bus à transmission série, permet de connecter des périphériques à chaud (Plug & Play) SCSI (Small Computer Syst. Interface) : liaison de périphériques PCI 32-bit PCI-X 2.0 AGP AGP (x8) ATA133 USB USB 2.0 SCSI-2 Wide SCSI-3 Ultra 32 64 32 32 16 1 1 16 16 33 533 66 66x8 66 10 80 QDR nord Processeur Mo/s. 8 16 132 4264 264 2112 132 1.5 60 20 640 29/30 Bus local Ethernet Circuit pont Bus mémoire Mémoire sud Bus PCI SCSI Contrôleur ATAPI USB 2 Souris Archi Structure de l’ordi Disque dur Clavier Archi Lecteur DVD 30/30