Cours Synthèse des Systèmes Numériques Bertrand Granado Enseignant-Chercheur Laboratoire des Instruments et Systèmes d Ile de France 3 rue Galilée - Bâtiment Le Raphaël 94200 Ivry-sur-seine Mél : Bertrand.Granado@lis.jussieu.fr Printemps 2005
Les mémoires - types Il existe deux Acronymes pour définir les Mémoires : ROM : Read Only Memory (Mémoire Lecture Seule) - Mémoire Morte RAM : Random Access Memory (Mémoire à accès Aléatoire) - Mémoire Vive Ces acronymes définissent tous les deux des mémoires à accès Aléatoire Mais il existe aussi des mémoires à accès séquentiel
Les mémoires - types ROM : Read Only Memory = Mémoire Lecture Seule? Les noms n ont de sens que pour les auteurs! Il existes des mémoires avec différentes caractéristiques
Les mémoires - Une classification Quels Critères pour classifier? Critères pertinents ou apparaissant comme tels. Critères pas forcément indéfiniment valides.
Les mémoires - Une classification Lecture Seule ROM RAM Statique Electrique Accès Aléatoire Lecture Ecriture RAM Dynamique Disques Dur Bandes Magnétique Accès Séquentiel
Les mémoires - Définitions Définition sur les données manipulées bit : Binary digit - Plus petite quantité binaire octet (byte) : information codée sur 8 bits - Unité de référence mot (word) : référence la taille du bus de données utilisé - dépendant du système - Un processeur 16 bits a une taille de mot de 16 bits, un processeur 64 bits a une taille de mot de 64 bits - Taille égale la taille du bus.
Les mémoires - Définitions Bus : interfaces entre mémoire et monde extérieur Bus de données (M bits) : délivre un mot de M bits de la mémoire Bus d adresses (N bits) : sélectionne 1 mot parmi 2 N Signaux de contrôle - Il existe au moins CS : Chip Select (Sélecteur de boitier) - Commande de l état haute impédance du bus de données R : Read (Lecture) - Indique que l accès à la mémoire est une lecture W : Write (Ecriture) - Indique que l accès à la mémoire est une écriture
Les mémoires RAM - Technologie SRAM Mot Dj Vdd Bit T4 T6 Bit T2 T3 T5 T1
Les mémoires RAM - Technologie SRAM Lecture Mot Dj Vdd Bit T4 T6 Bit T2 T3 T5 T1 Vdd Sortie
Les mémoires RAM - Technologie SRAM Ecriture Mot Dj Vdd Bit T4 T6 Bit T2 T3 T5 T1 Entrée W
Les mémoires RAM - Autres Cellules SRAM Cellule biport : permet d accèder simultanément à 2 données en mémoires Cellule CAM : cellule adressée par contenu, utile pour les mémoires caches associatives
Les mémoires RAM - les Biports
Les mémoires RAM - les CAM
Les mémoires RAM - Technologie SRAM Bilan Rapide Cellule Statique : Rétention infinie tant qu alimentation Faible Consommation (CMOS) Cellule volumineuse Chère Volatile
Les mémoires RAM - Technologie DRAM Bit T1 C Mot
Les mémoires RAM - Technologie DRAM Bilan Compact Faible Consommation (CMOS) Lecture destructrice : nécessité de réécriture Rafraîchissement régulier pour combler la décharge du condensateur Volatile
Les mémoires RAM - Organisation Interne D M-1 D M-2 D M-3 D 2 D 1 D 0 CS R W Tampon d Entrées/Sorties A N-1 A N-2 A 1 A 0 Décodeur de Ligne 2 N 2 N-1 2 1 1 bit
Les mémoires RAM - Organisation Interne Adressage Simple : une adresse une donnée Grande capacité mémoire bus de donnée large Scinder l adresse en deux parties : ligne et colonne
Les mémoires RAM - Organisation Interne CS R W Tampon d Entrées/Sorties Multiplexeur 1 <-> K 2 K 2 K-1 2 1 D 0 A N-1 A N-2 A K+1 A K Décodeur de Ligne 2 N-K 2 N-K-1 2 1 1 bit 2 K 2 K-1 2 1 Décodeur de Colonne A K-1 A K-2 A 1 A 0
Les mémoires RAM - Organisation Interne CS R W Tampon d Entrées/Sorties Multiplexeur 4 <-> K 2 K 2 K-1 2 1 D 3 D 2 D 1 D 0 A N-1 A N-2 A K+1 A K Décodeur de Ligne 2 N-K 2 N-K-1 2 1 1 bit 2 K 2 K-1 2 1 Décodeur de Colonne A K-1 A K-2 A 1 A 0
Les mémoires RAM - Organisation Externe Association de plusieurs blocs mémoire pour Augmenter la capacité de stockage Augmenter la taille des données
Les mémoires RAM - Organisation Externe CS Adresses N bits Données M bits R W
Les mémoires RAM - Organisation Externe CS Adresses Données 10 bits 4 bits R W
Les mémoires RAM - Organisation Externe CS D15-D12 CS D11-D8 CS D7-D4 CS D3-D0 R W 4 bits R W 4 bits R W 4 bits R W 4 bits Adresse 10 bits
Les mémoires RAM - Organisation Externe A11-A10 CS CS CS CS R W R W R W R W D3-D0 4 bits A9-A0 10 bits
Les mémoires RAM - Cycles Pour un bon fonctionnement de la mémoire Repect de temps indiqué dans les cycles de lecture et d écriture
Les mémoires RAM - Cycle de lecture Tdur ADRESSE R/W Tad CS Tcsdb Tcdsh DONNEE VALIDE T1 T2 T3 T4
Les mémoires RAM - Cycle d écritue R/W Taw Tdur ADRESSE Tdurw CS Tcdsh Tcsw DONNEE VALIDE T1 T2 T3 T4
Vhdl : mémoire entity memoire is port (donnee : in std_logic_vector(7 downto 0); adresse: in std_logic_vector(6 downto 0); rw : in std_logic; cs : in std_logic; sortie: out std_logic_vector(7 downto 0)); end entity memoire;
Vhdl : mémoire architecture comport of memoire is begin process(cs,adresse,donnee,rw) is type memory is array (0 to 79) of std_logic_vector(7 downto 0); variable mem : memory; begin if cs= 0 then if rw= 1 then sortie <= mem(conv_integer(adresse)); elsif rw= 0 then mem(conv_integer(adresse)) := donnee; end if; else sortie<= "ZZZZZZZZ"; end if; end process; end architecture comport;
Les mémoires RAM - Technologie SDRAM Jusque là : technologie asynchrone Difficile de maitriser les temps de propagation Nécessité de synchroniser les accès mémoire SDRAM: Synchone DRAM Introduction du mode Rafale (BURST)
Les mémoires RAM - Technologie SDRAM FEATURES ï 3.3V power supply ï LVTTL compatible with multiplexed address ï Dual banks operation ï MRS cycle with address key programs -. CAS Latency ( 2 & 3) -. Burst Length (1, 2, 4, 8 & full page) -. Burst Type (Sequential & Interleave) ï All inputs are sampled at the positive going edge of the system clock ï Burst Read Single-bit Write operation ï DQM for masking ï Auto & self refresh ï 15.6us refresh duty cycle (1K/16ms) Data Input Register Bank Select 128K x 16Bit x 2 Banks Synchronous DRAM S8S3122X16 I/O Control LWE LDQM CLK ADD Address Register Row Buffer Refresh Counter LRAS LCBR Row Decoder Col. Buffer 128K x 16 128K x 16 Column Decoder Latency & Burst Length Sense AMP Output Buffer DQi LCKE Programming Register LRAS LCBR LWE LCAS LWCBR LDQM Timing Register CLK CKE CS RAS CAS WE L(U)DQM
Les mémoires RAM - Technologie DDRAM Fréquence Processeur = 800 MHz, fréquence SDRAM = 100 MHz Nécessité de réduire cet écart Idée : lire sur le front montant et descendant de l horloge DDRAM : Double rate DRAM (DRAM à double débit)
Les mémoires RAM - Technologie DDRAM CK, CK 8 /16 (L)WE Data Input Register Serial to parallel I/O Control LDM(x8) L(U)DM(x16) Bank Select 16/ 32 2Mx16/ 1Mx32 CK, CK ADD Address Register Refresh Counter Row Buffer LRAS LCBR Row Decoder Col. Buffer 2Mx16/ 1Mx32 2Mx16/ 1Mx32 2Mx16/ 1Mx32 Sense AMP Column Decoder Latency & Burst Length 2-bit prefetch 16/32 8/16 Output Buffer x8/x16 DQi LCKE LRAS LCBR LWE LCAS Programming Register LWCBR DLL CK, CK Strobe Gen. L(U)DM(x16) LDM(x8) Data Strobe Timing Register DM Input Register CK, CK CKE CS RAS CAS WE DM(x8) L(U)DM(x16)
Les mémoires RAM - Technologie DDRAM COMMAND CKEn-1 CKEn CS RAS CAS WE BA0,1 A10/AP A0 ~ A9, A11 Register Extended MRS H X L L L L OP CODE Register Mode Register Set H X L L L L OP CODE Refresh Auto Refresh Self Refresh Entry H H L Exit L H L L L H X L H H H H X X X Bank Active & Row Addr. H X L L H H V Row Address Read & Column Address Write & Column Address Auto Precharge Disable Auto Precharge Enable Auto Precharge Disable Auto Precharge Enable H X L H L H V H X L H L L V Burst Stop H X L H H L X Precharge Active Power Down Precharge Power Down Mode Bank Selection V L H X L L H L All Banks X H Entry H L H X X X L V V V Exit L H X X X X Entry H L Exit L H H X X X L H H H H X X X L V V V DM(UDM/LDM for x16 only) H X X No operation (NOP) : Not defined H X H X X X L H H H L H L H X X X X Column Address Column Address X
Les mémoires RAM - Technologie DDRAM K K# W# R# Add res s A B Data -I/O C C# D(A) +1 +2 +3 Q(B) +1 +2 +3
Les mémoires RAM - Technologie QDRAM Idée1 : lire sur le front montant et descendant de l horloge comme une DDRAM Idée2 : dissocier entrée et sortie pour permettre une lecture et une écriture simultanée QDRAM : Quad rate DRAM (DRAM à quadruple débit)
Les mémoires RAM - Technologie QDRAM Add ress BW0 #, BW1# W# Data -In 17 18 Write P ort 36 Data 256 K x 36 Memory Array 36 Data Read P ort 2 R# C, C# Data -Out 18 K, K# V RE F ZQ 2 Co ntrol Logic Data flow is in one direction
Les mémoires RAM - Technologie QDRAM K K# W# R# Add res s Data -In A B C D E F G H I J D(B) +1 D(D) +1 D(F) +1 D(H) +1 Data -Out C C# Q(A) +1 Q(C) +1 Q(E) +1 Q(G)
Les mémoires RAM - Technologie QDRAM K K# W# R# Add res s Data -In Data -Out A B C D E D(A) +1 +2 +3 D(C) +1 +2 +3 Q(B) +1 +2 +3 Q(D) C C#
Les mémoires RAM - Technologie QDRAM 144Mb QDR III 500MHz + 72Mb QDR III 500MHz 36Mb QDR III 500MHz 288Mb QDR III 500MHz + 18/36Mb QDR II 250/(300)MHz 72Mb QDR II 300MHz 144Mb QDR II 300MHz+ 288Mb QDR II 300MHz+ 18/36Mb QDR I 200MHz 2003 2004 2005 2006 2007 2008
Les mémoires ROM Nécessité de mémoire non-volatile Bios de micro-ordinateur Stockage de programmes dans des systèmes embarqués Reconfiguration automatique des FPGA
Les mémoires ROM - Technologie Mask - ROM : réalisé lors de la fabrication du circuit PROM : Fusible - One Time Programming EPROM : Transistors à Grille Flottante - Reprogrammabilité NOVRAM : RAM + Pile
Les mémoires ROM - Technologie - Mask - ROM Aucune Souplesse Faible Coût
Les mémoires ROM - Technologie - PROM Fusible Aluminium Aluminium Antifusible Silicium Polycristallin Silicium n+ Diélectrique Oxyde de Silicium Très faible Utilisation
Les mémoires ROM - Cellules BL BL BL 1 WL WL V DD WL BL BL BL 0 WL WL WL GND Diode ROM MOS ROM 1 MOS ROM 2
Les mémoires ROM - OR ROM BL[0] BL[1] BL[2] BL[3] WL[0] V DD WL[1] WL[2] V DD WL[3] V bias Pull-down loads
Les mémoires ROM - NOR ROM V DD Pull-up devices WL[0] WL [1] GND WL [2] GND WL [3] BL [0] BL [1] BL [2] BL [3]
Les mémoires ROM - NAND ROM V DD Pull-up devices BL[0] BL[1] BL[2] BL[3] WL[0] WL[1] WL[2] WL[3]
Les mémoires ROM : La Grille Flottante Grille de Programmation Grille Flottante Source Drain Piège des électrons dans la grille flottante
La Grille Flottante - programmation Vpp Grille Flottante GND Programmation
La Grille Flottante - programmation GND Grille Flottante Vpp Effacement
La Grille Flottante - programmation Tension Flottante Valeur Stockée Tension Substrat Utilisation
Les mémoires ROM - Technologie - EPROM UV-EPROM : Effacement aux ultra-violet EEPROM : Effacement électrique par mot mémoire FLASH : Effacement électrique par bloc
Les mémoires ROM - Technologie - UV-EPROM Programmation hors système Effacement hors système Temps d effacement long (15 minutes pour les UV-EPROM)
Les mémoires ROM - Technologie - E-EPROM Programmation ISP (In Situ Programming ou In Serial Programming) Effacement ISP Programmation par mot ou bloc Temps d effacement rapide Coût élevé car effacement par mot mémoire
Les mémoires ROM - Technologie - FLASH Programmation ISP Effacement ISP Programmation par mot ou bloc Temps d effacement très rapide Coût limité car effacement par bloc
Les mémoires FLASH - NAND Versus NOR
Les mémoires FLASH - NAND Versus NOR
Les mémoires FLASH - Organisation NAND
Les mémoires FLASH - Lecture
Les mémoires FLASH - Programmation
Les mémoires FLASH - Effacement
Les mémoires FLASH - Roadmap Memory cap. 2GB 1GB Tablet PC Camcorder 512MB Game 256MB 128MB SSMP DSC UFD Camcorder 64MB 32MB Phone Color VOD PDA Smart ~ 2002 2003 2004 2005 2006
Les mémoires FLASH - NAND et NOR Unify Code&Data CPU NAND for Data Strorage CPU Code Data Storage NAND Dynamic loading RAM Code Data NOR Storage NAND RAM High speed shadowing for fast boot up Fast loading code for speedy execution High speed write to store data Quick review requires high speed read
Les mémoires FLASH - One NAND MCU MCU Code NOR Data NAND Work RAM Code Data OneNAND TM Demand-paging Work RAM High performance Flash solution of NAND and on-chip logic Unified Flash for Code and Data Storage upon demand-paging
Les mémoires FLASH - NAND Versus One NAND Items Page Size / Block Size Double buffering Burst Interface Spec. Data Rate (Read) Effecti ve Data Rate (Read) Program EDC/ECC Package NAND (512Mb) 512B / 16KB N / A N / A 14.5 MB/s (x8) 21MB /s (x16) 10MB /s (x8) 15MB /s (x16) 2.6 MB/s Host ECC or Host SW 8.5 mm x 15 mm OneNAND TM (512Mb) 2KB / 128KB Yes 54Mhz (0.12um) 66Mhz (90nm) 31.5 MB/s(0.12um) 108 MB/s (90nm) Same as spec. max 6.4MB/s (0.12um) 8.2MB/S (90nm) On-chip 9.5mm x 12mm
Les mémoires - Bus parallèle Micro Processeur Bus Adresses Bus Données Bus Commandes RAM ROM
Les mémoires ROM Série - le bus I2C le bus I2C n est constitué que de deux lignes de transmission : La ligne SDA (= Serial DAta), véhicule toutes les informations (données, adresses, commandes). La ligne SCL (= Serial CLock), sert à transmettre l horloge communes à tous les périphériques qui partagent un même bus I2C
Les mémoires ROM Série - le bus I2C
Les mémoires ROM Série - le bus I2C chaque entrée/sortie a une structure drain ouvert permettant de relier ensemble plusieurs sorties résistance de tirage Rt pour fixer le potentiel lorsque tous les transistors sont bloqués l ensemble réalise une fonction logique ET câblée état de repos de la ligne est l état logique 1 chaque périphérique pouvant prendre la ligne en la mettant à 0.
Les mémoires ROM Série - le bus I2C Dialogue entre deux périphériques I2C - 2 rôles : Un maître ; il initie le dialogue, envoie les commandes, et génère le signal d horloge sur SCL. Un esclave : en fonction des ordres et du signal d horloge, il envoie ou reçoit des données (octets). Bus inactif, les lignes sont au niveau logique 1. Bus actif, l état de repos de la ligne SCL est l état 0 Chaque bit lu ou envoyé (sur SDA) est validé par une impulsion positive sur SCL
Les mémoires ROM Série - le bus I2C
Les mémoires ROM Série - le bus I2C L état de la ligne SDA ne doit pas changer pendant que SCL est à 1 Deux exceptions: les instructions START et STOP qui servent respectivement à initier et à clore le dialogue Elles se produisent quand SCL est à 1 : par un front descendant sur SDA, suivi d un front descendant sur SCL, pour START. par un front montant sur SCL, puis sur SDA, pour STOP. Les signaux START et STOP sont bien sûr délivrés par le maître. Un périphérique peut soit être tantôt maître, soit tantôt esclave.
Les mémoires ROM Série - le bus I2C
Les mémoires ROM Série - le bus I2C
Les mémoires - Les MRAM SRAM : Rapidité DRAM : Densité Flash : Permanence Allier ces trois caractéristiques : MRAM
Les mémoires - MRAM
Les mémoires - MRAM
Les mémoires - MRAM
Les mémoires - MRAM