Circuits séquentiels Mémoire Structure de l’ordi Architecture des ordinateurs Cours 3 15 octobre 2012 Archi 1/30 Circuits séquentiels Mémoire Structure de l’ordi Circuits séquentiels Archi 2/30 Circuits séquentiels Mémoire Structure de l’ordi Circuit à mémoire Comment fabriquer une guirlande cyclique ? Les lampes colorées doivent s’allumer, chacune à leur tour, de façon cyclique. INC DEC MEM ! ! ! irréalisable avec un circuit combinatoire Archi 3/30 Circuits séquentiels 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, ... A 0 >1 A 1 Q 0 >1 0 Q A 1 >1 1 Q 0 0 A 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 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 Pour R = S = 0, 2 états stables possibles : Q = 0 et Q = 1 (état 0) Q = 1 et Q = 0 (état 1) S 0 >1 1 0 1 R 0 >1 Q S 0 R Archi >1 B NON−OU 0 0 1 0 1 0 1 0 0 1 1 0 0 1 Q 0 0 A 0 >1 1 Q Q 5/30 Circuits séquentiels Mémoire Structure de l’ordi Bascule RS : activation SET : S = 1 et R = 0 ⇒ Q = 1 et Q = 0 (état 1) A B NON−OU 0 0 1 RESET : S = 0 et R = 1 ⇒ Q = 0 et Q = 1 (état 0) 0 1 0 1 0 0 1 1 0 S = 1 et R = 1 : ambiguı̈té S 1 >1 0 1 0 R 0 >1 Q S 1 R Archi >1 1 0 Q 1 0 1 >1 0 Q Q 6/30 Circuits séquentiels Mémoire Structure de l’ordi Bascule RS : table de vérité S R >1 Q Q >1 Archi 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 Circuits séquentiels Mémoire Structure de l’ordi Bascule RS : Résumé 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 Bascule = composant asynchrone : la sortie change “rapidement” après modification des entrées 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 Horloge = signal périodique Fréquence d’horloge = inverse de la période généralement entre 1 et 500 MHz ⇒ cycle de 1000 à 2 ns Niveau haut Front montant H t Cycle (periode) Niveau bas Archi Front descendant 9/30 Circuits séquentiels Mémoire Structure de l’ordi Bascule RS + Horloge = RSH S Q Q Sn 0 0 1 1 Rn 0 1 0 1 Qn+1 Qn 0 1 ? R Sn et Rn : états des entrées à l’instant t = n Qn+1 : sortie au prochain cycle d’horloge (instant t = n + 1) B Équation : Qn+1 = S + RQn Archi 10/30 Circuits séquentiels Mémoire Structure de l’ordi Bascule RSH : latch vs. flip-flop Bascule RSH latch Activation sur niveau haut d’horloge Bascule RSH flip-flop Activation sur front montant d’horloge Q S R H t Q S R H Archi t 11/30 Circuits séquentiels Mémoire Structure de l’ordi Bascule JK Q S J Q Q K R Q 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) Q D Dn 0 1 Q Qn+1 0 1 Q Q B Équation : Qn+1 = Dn Q D H t Archi 13/30 Circuits séquentiels Mémoire Structure de l’ordi Résumé (flip-flop) Bascule JK Bascule RS Sn 0 0 1 1 Rn 0 1 0 1 Qn+1 Qn 0 1 ? Qn+1 = S + RQn S Q Ck R Jn 0 0 1 1 Kn 0 1 0 1 Bascule D Qn+1 Qn 0 1 Qn Qn+1 = Jn Qn + Kn Qn J Q Dn 0 1 Qn+1 0 1 Qn+1 = Dn D Q Ck Q K Q Ck Q latch : sans le B Archi 14/30 Circuits séquentiels Mémoire Structure de l’ordi Réalisation de la guirlande cyclique Raz INC DEC MEM Q D Ck H t Q D Ck H Archi 15/30 Circuits séquentiels Mémoire Structure de l’ordi Mémoire Archi 16/30 Circuits séquentiels Mémoire Structure de l’ordi Registres Registre : emplacement de mémoire interne au processeur ; mémoire au temps d’accès très rapide mais dont le coût de fabrication est très élevé car l’espace dans un microprocesseur est limité. taille variable entre les processeurs, le plus souvent des registres 32 bits, récemment, apparition de registres 64 bits. D0 D1 D Q D2 D Q Q D3 D Q Q D Q Q Q Clk S0 S1 Archi S2 S3 17/30 Circuits séquentiels Mémoire Structure de l’ordi Diagramme d’une mémoire adressable 4 × 3 I2 I1 I0 D porte d’écriture D Q Ck D D Q Ck A0 A1 D D Q Q D Q ligne de sélection du mot 0 D Q D ligne de sélection du mot 1 D Mot 1, adresse: 01 Q ligne de sélection du mot 2 Ck Q Mot 0, adresse: 00 Q Ck Ck Q D Ck Ck Ck D Q Ck Mot 2, adresse: 10 Q Mot 3, adresse: 11 Ck Ck Ck ligne de sélection du mot 3 interrupteurs CS O2 O1 O0 RD OE Activation de la sortie: CS.RD.OE Archi 18/30 Circuits séquentiels Mémoire Structure de l’ordi Organisation de la mémoire 2 exemples d’organisation d’une mémoire 26 = 64 octets : Adresse sur 6 bits DEC DMUX 64x6 8x3 octet lu Adresse sur 4 bits transmise en 2 temps MUX 8x3 octet lu Archi 19/30 Circuits séquentiels Mémoire Structure de l’ordi Mémoires RAM (Random Access Memory) RAM = mémoire vive = mémoire système = mémoire volatile 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é. 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) : 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. Archi 20/30 Circuits séquentiels Mémoire Structure de l’ordi Mémoires non volatiles 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). mémoires de masse (disques durs, CDs, DVDs, ...) : grande capacité mais très lentes (∼ 10 ms pour les disques durs). Archi 21/30 Circuits séquentiels Mémoire Structure de l’ordi Résumé Type Volatile ? Inscript. ? Taille Nombre d’effac. d’effac. Coût Vitesse SRAM 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 22/30 Circuits séquentiels Mémoire Structure de l’ordi Hiérarchie des mémoires Temps d’accès Registres Cout Cache Mémoire centrale Disques magnétiques (disque dur, ...) Disques optiques Disques magnétiques (disque dur, ...) Disques optiques Capacité Archi 23/30 Circuits séquentiels Mémoire Structure de l’ordi Structure de l’ordinateur Archi 24/30 Circuits séquentiels Mémoire Structure de l’ordi Architecture de Von Neumann bus Unité Centrale Unité de commande Von Neumann UAL exemples de dispositifs d'entrée/sortie Registres : : Mémoire principale Clavier Moniteur Imprimante ROM RAM Bus Archi 25/30 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. Objectif : réduire le nombre de voies nécessaires à la communication des différents composants. Caractéristiques : Largeur : nombre de lignes physiques sur lesquelles les données sont envoyées = nombre de bits transmis en parallèle. Fréquence (en Hz) : nombre de paquets de données envoyés ou reçus par seconde. Débit maximal (ou taux de transfert maximal) : quantité de données transportées par unité de temps (largeur × fréquence). Exemple : largeur 16 bits et fréquence 133 MHz ⇒ 266 Mo/s Archi 26/30 Circuits séquentiels Mémoire Structure de l’ordi Différenciation des bus Processeur Bus Registres Unité de commande Contrôleur de bus Bus mémoire Mémoire Disque dur UAL Souris Bus interne du processeur Web cam Bus d'E/S Archi . . . 27/30 Circuits séquentiels Mémoire Structure de l’ordi Spécialisation des bus Différents types de bus : 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). bus de commandes : transporte les ordres et les signaux de synchronisation de l’unité de commande (bidirectionnel). bus système : permet au processeur de communiquer avec la mémoire centrale du système (mémoire vive ou RAM). 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. Archi 28/30 Circuits séquentiels Mémoire Structure de l’ordi Spécialisation des bus (suite) ISA (Industry Standard Architecture) : apparaı̂t en 1981, bus standard des PC jusqu’à la fin des années 1990. 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 Archi 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 Mo/s. 8 16 132 4264 264 2112 132 1.5 60 20 640 29/30 Circuits séquentiels Mémoire Structure de l’ordi Structure de bus moderne Adaptateur graphique Moniteur Bus AGP / PCI Express nord Processeur Bus local Ethernet Circuit pont Bus mémoire Mémoire sud Bus PCI SCSI Contrôleur ATAPI USB 2 Souris Disque dur Clavier Archi Lecteur DVD 30/30