Digitale elektronica. Soorten dynamische RAM-chips

Random Access Memory (RAM) is een integraal onderdeel van microprocessorsystemen voor verschillende doeleinden. RAM is verdeeld in twee klassen: statisch en dynamisch. In statisch RAM wordt informatie opgeslagen met behulp van flip-flops, terwijl in dynamisch RAM informatie wordt opgeslagen met behulp van condensatoren met een capaciteit van ongeveer 0,5 pF. De duur van de informatieopslag in statisch RAM is niet beperkt, terwijl deze in dynamisch RAM wordt beperkt door de zelfontladingstijd van de condensator, die vereist speciale middelen regeneratie en extra tijd die aan dit proces wordt besteed.


Structureel bestaat elke RAM uit twee blokken: een matrix van opslagelementen en een adresdecoder.

Om technologische redenen heeft de matrix meestal een decodering van het adres met twee coördinaten - in rijen en kolommen. In afb. Figuur 9.45 toont de matrix van een 16-bit SRAM. De matrix bestaat uit 16 geheugencellen mem_i, waarvan het diagram wordt getoond in Fig.



9.46. Elke geheugencel wordt geadresseerd door ingangen X, Y door adreslijnen te selecteren door een decoder langs de lijnen AxO...Ax3 en kolommen AyO...Ay3 (zie figuur 9.45) en een logisch signaal af te geven langs de geselecteerde lijnen. In dit geval wordt een EN-element (U1) met twee ingangen geactiveerd in de geselecteerde geheugencel, waardoor circuits worden voorbereid voor het lezen en schrijven van informatie op de ingangs-DIO...DI3 of uitgangs-DOO...D03 bitbussen. Het vrijgavesignaal voor het afgeven van een adres is CS (chip select), dat wordt toegevoerd aan de vrijgave-ingang van de adresteller (Addr_cnt) of dezelfde ingang van decoders die zijn aangesloten op de telleruitgangen.

Bij het schrijven naar een geheugencel (zie figuur 9.46) wordt 1 of 0 ingesteld op de overeenkomstige bitbus, wordt het signaal 1 ingesteld op de WR/RD-ingang en na het doorlaten van de teller- of adresdecoders met het CS-signaal, worden elementen 2I U1, U2 worden getriggerd. De positieve flank van het signaal met element U2 wordt aan de klokingang van de D-flipflop U4 toegevoerd, waardoor er afhankelijk van het signaalniveau 1 of 0 in wordt geschreven. zijn D-ingang. statisch type worden gekenmerkt door hoge prestaties en worden vanwege de relatief beperkte mate gebruikt in microprocessorsystemen hoge kosten. In dergelijke systemen worden ze alleen gebruikt als zogenaamd cachegeheugen. Cache (reserve) verwijst naar een snel buffergeheugen tussen de processor en het hoofdgeheugen, dat dient om het verschil in de snelheid van de processor en het hoofdgeheugen gedeeltelijk te compenseren - de meest gebruikte gegevens worden daarin opgeslagen. Wanneer de processor voor de eerste keer toegang krijgt tot een geheugencel, wordt de inhoud ervan parallel aan de cache gekopieerd, en in het geval van herhaalde toegang kan dit veel meer zijn. hogere snelheid eruit gehaald. Bij het schrijven naar het geheugen komt informatie in de cache terecht en wordt tegelijkertijd naar het geheugen gekopieerd (Write Through-schema) of na enige tijd gekopieerd (Write Back-schema). Bij schrijf terug

, ook wel gebufferde write-through genoemd, wordt informatie naar het geheugen gekopieerd in de eerste vrije klokcyclus, en met een vertraagde schrijfactie (Delayed Write) - wanneer er geen vrij gebied is om een ​​nieuwe waarde in de cache te plaatsen; in dit geval worden relatief zelden gebruikte gegevens naar het hoofd-RAM gedwongen. Het tweede schema is efficiënter, maar ook complexer vanwege de noodzaak om de consistentie tussen de inhoud van de cache en het hoofdgeheugen te behouden.

Het cachegeheugen bestaat uit een gegevensgebied dat is verdeeld in blokken (lijnen), die elementaire informatie-eenheden zijn wanneer de cache werkt, en een taggebied dat de status van de lijnen beschrijft (vrij, bezet, gemarkeerd voor extra opname, enz.). In principe worden er twee cache-organisatieschema's gebruikt: direct mapping, wanneer elk geheugenadres door slechts één regel in de cache kan worden opgeslagen (in dit geval wordt het regelnummer bepaald door de bits van lage orde van het adres), en ra-way associatief, wanneer elk adres op meerdere regels in de cache kan worden opgeslagen. Een associatieve cache is complexer, maar maakt het flexibeler opslaan van gegevens mogelijk; De meest voorkomende zijn cachingsystemen met vier links. Microprocessors 486 en hoger hebben ook een interne cache van 8...16 KB. Het wordt ook aangeduid als Primair (primair) of LI (Niveau I - eerste niveau) in tegenstelling tot de externe (Extern), gelegen op het bord en aangeduid als Secundair (secundair) of L2. Bij de meeste processors werkt de interne cache volgens het schema, en in 486 (Intel P24D-processor en de nieuwste DX4-100, AMD DX4-120, 5x86) en Pentium kan het ook werken met lui schrijven. Dit laatste vereist speciale ondersteuning van het moederbord, zodat bij uitwisseling via DMA (directe geheugentoegang tot invoer-/uitvoerapparaten) de gegevensconsistentie in het geheugen en de interne cache behouden kan blijven. Pentium-processors Pro heeft ook een ingebouwde L2-cache van 256 of 512 KB.

In microprocessorsystemen wordt dynamisch RAM met een opslagcondensator, die zeer veelzijdig is, meestal als RAM gebruikt. We bieden gegevens over de meest voorkomende typen van dergelijk RAM.

In het dynamische geheugen worden cellen gemaakt op basis van gebieden met accumulatie van ladingen, die een veel kleiner gebied in beslag nemen dan flip-flops, en vrijwel geen energie verbruiken bij het opslaan van informatie. Wanneer een bit naar zo'n cel wordt geschreven, wordt er een elektrische lading in gevormd, die enkele milliseconden blijft; Om de lading van de cel permanent te behouden, is het noodzakelijk om de inhoud ervan te regenereren (herschrijven). De cellen van dynamische geheugenchips zijn ook georganiseerd in de vorm van een rechthoekige matrix; Bij toegang tot een microschakeling wordt het adres eerst aan de ingangen ervan doorgegeven matrixrijen

, vergezeld van een RAS-signaal (Row Address Strobe), en na enige tijd een kolomadres, vergezeld van een CAS-signaal (Column Address Strobe). Elke keer dat een enkele cel wordt benaderd, worden alle cellen van de geselecteerde rij opnieuw gegenereerd. Om de matrix volledig opnieuw te genereren, volstaat het om de rijadressen te doorlopen. Dynamische geheugencellen hebben een relatief lage snelheid (tientallen - honderden nanoseconden), maar een hoge specifieke dichtheid (in de orde van enkele megabytes per geval) en een lager energieverbruik. Conventioneel RAM wordt vaak asynchroon genoemd, omdat het instellen van het adres en het leveren van stuursignalen op willekeurige tijdstippen kan worden uitgevoerd. Het is alleen nodig om de timingrelaties tussen deze signalen te observeren; Ze omvatten de zogenaamde bewakingsintervallen die nodig zijn voor het tot stand brengen van signalen. Er zijn ook synchrone typen

geheugens die een extern kloksignaal ontvangen, waarvan de pulsen nauw verbonden zijn met de momenten van adresinzending en gegevensuitwisseling; ze maken een groter gebruik van interne pijpleidingen mogelijk en blokkeren de toegang. FPM DRAM (Fast Page Mode DRAM - dynamisch geheugen met snelle paginatoegang) wordt actief gebruikt. Het paged access-geheugen verschilt van conventioneel dynamisch geheugen doordat het, na het selecteren van een matrixrij en het vasthouden van het RAS-signaal, meerdere instellingen mogelijk maakt van het kolomadres dat door het CAS-signaal wordt gestuurd, evenals snelle regeneratie volgens het "CAS before RAS" -schema . Met de eerste kunt u de blokoverdrachten versnellen, wanneer het volledige gegevensblok of een deel ervan zich in één rij van de matrix bevindt, in dit systeem een ​​pagina genoemd, en met de tweede kunt u de tijd die aan geheugenregeneratie wordt besteed, verkorten.

EDO (Extended Data Out) zijn eigenlijk gewone FPM-chips met data-latching-registers geïnstalleerd aan de uitgang.

Tijdens pagina-uitwisseling werken dergelijke microschakelingen in een eenvoudige pijplijnmodus: ze houden de inhoud van de laatst geselecteerde cel vast aan de data-uitgangen, terwijl het adres van de volgende geselecteerde cel al aan hun ingangen wordt geleverd. Dit maakt het mogelijk om het proces van het lezen van sequentiële data-arrays met ongeveer 15% te versnellen vergeleken met FPM. Met willekeurige adressering verschilt dergelijk geheugen niet van gewoon geheugen.

BEDO (Burst EDO - EDO met bloktoegang) - EDO-gebaseerd geheugen dat niet in enkele, maar in batch lees-/schrijfcycli werkt. Moderne processors wisselen, dankzij interne en externe caching van opdrachten en gegevens, voornamelijk woordenblokken van maximale breedte uit met het hoofdgeheugen. Met BEDO-geheugen is het niet nodig om voortdurend opeenvolgende adressen aan de ingangen van microschakelingen te leveren terwijl de vereiste tijdsvertragingen in acht worden genomen; het is voldoende om de overgang naar het volgende woord met een afzonderlijk signaal te poorteren.

SDRAM (Synchroon DRAM - synchroon dynamisch geheugen) - synchroon toegangsgeheugen dat sneller werkt dan conventioneel asynchroon (FPM/EDO/BEDO). Naast synchrone toegang maakt SDRAM gebruik van de interne verdeling van de geheugenarray in twee onafhankelijke banken, waardoor u toegang vanaf de ene bank kunt combineren met het instellen van een adres in een andere. SDRAM ondersteunt ook blokwissel. Het belangrijkste voordeel van SDRAM is de ondersteuning voor sequentiële toegang in synchrone modus, waarbij geen extra wachtklokken nodig zijn. Bij willekeurige toegang werkt SDRAM met bijna dezelfde snelheid als FPM/EDO.

Naast het hoofd-RAM wordt een geheugenapparaat ook geleverd met een informatieweergave-apparaat: een videoweergavesysteem.

Dit geheugen wordt videogeheugen genoemd en bevindt zich op de videoadapterkaart. Videogeheugen wordt gebruikt om afbeeldingen op te slaan. De maximaal mogelijke resolutie van de videokaart hangt af van het volume - AxBxC, waarbij A het aantal horizontale pixels is, B - verticaal, C - het aantal mogelijke kleuren van elke pixel. Voor een resolutie van 640x480x16 is het bijvoorbeeld voldoende om een ​​videogeheugen van 256 KB te hebben, voor 800x600x256 - 512 KB, voor 1024x768x65536 (een andere aanduiding is 1024x768x64k) - 2 MB, enz. Omdat er een hele hoop gereserveerd is voor het bewaren van bloemen aantal cijfers

, is het aantal kleuren altijd een gehele macht van 2 (16 kleuren - 4 bits, 256 - 8 bits, 64k - 16, enz.).

Videoadapters gebruiken de volgende typen videogeheugen.

FPM DRAM (Fast Page Mode Dynamic RAM - dynamisch RAM met snelle paginatoegang) is het belangrijkste type videogeheugen, identiek aan dat gebruikt in moederborden. Actief gebruikt tot 1996. De meest voorkomende FPM DRAM-chips zijn vier-bits DIP en SOJ, evenals zestien-bits SOJ. VRAM (Video RAM - video RAM) - de zogenaamde dual-port DRAM met ondersteuning gelijktijdige toegang

van de videoprocessor en de centrale processor van de computer. Hiermee kunt u de weergave van een afbeelding op het scherm en de verwerking ervan in het videogeheugen op tijd combineren, waardoor vertragingen worden verminderd en de werksnelheid wordt verhoogd.

EDO DRAM (Extended Data Out DRAM - dynamisch RAM met verlengde retentietijd van uitvoergegevens) - geheugen met pipelining-elementen waarmee u de uitwisseling van datablokken met videogeheugen enigszins kunt versnellen.

SGRAM (Synchronous Graphics RAM) is een variant van DRAM met synchrone toegang, waarbij alle besturingssignalen gelijktijdig veranderen met het systeemkloksignaal, waardoor tijdsvertragingen worden verminderd.

WRAM (Window RAM - Window RAM) - EDO VRAM, waarbij het venster waardoor de videocontroller toegang krijgt kleiner wordt gemaakt dan het venster voor de centrale processor.

MDRAM (Multibank DRAM - multi-bank RAM) is een variant van DRAM, georganiseerd in de vorm van vele onafhankelijke banken van elk 32 KB, die in een pijplijnmodus werken. Het verhogen van de snelheid waarmee de videoprocessor toegang krijgt tot het videogeheugen, naast het vergroten van de bandbreedte van de adapter, maakt het mogelijk deze te vergroten maximale frequentie

Geheugenchips hebben vier hoofdkenmerken: type, grootte, structuur en toegangstijd. Type geeft statisch of dynamisch geheugen aan, capaciteit geeft de totale geheugencapaciteit aan en structuur geeft het aantal geheugencellen en de breedte van elke cel aan. 28/32-pins DIP SRAM-chips hebben bijvoorbeeld een 8-bits structuur (8kx8, 16kx8, 32kx8, 64kx8, 128kx8), de cache van 256 KB bestaat uit acht 32kx8-chips of vier 64kx8-chips ( waar we het over hebben over het datagebied kunnen extra chips voor het opslaan van functies een andere structuur hebben). Het is niet langer mogelijk om twee 128kx8-microcircuits te installeren, omdat je een 32-bits databus nodig hebt, die slechts vier microcircuits kunnen bieden. Gemeenschappelijke RF SRAM's in 100-pins PQFP-pakketten hebben een 32-bits 32kx32- of 64kx32-structuur en worden in tweeën of vieren gebruikt op Pentium-borden.

30-pins SIMM's hebben een 8-bits structuur en worden gebruikt met twee processors 286, 386SX en 486SLC, en vier met 386DX, 486DLC en gewone 486DX. 72-pins SIMM's hebben een 32-bits structuur en kunnen één voor één worden gebruikt met de 486DX, en met de Pentium en Pentium Pro twee tegelijk. 168-pins DIMM's hebben een 64-bits structuur en worden één voor één in de Pentium en Pentium Pro gebruikt. Door geheugenmodules of cachechips te installeren in hoeveelheden die groter zijn dan het minimum voor een bepaald systeem (moederbord), kunt u er sneller mee werken met behulp van het interleave-principe.

De toegangstijd karakteriseert de werksnelheid van de microschakeling en wordt meestal aangegeven in nanoseconden na het streepje aan het einde van de naam. Op langzamere microschakelingen kunnen alleen de eerste cijfers worden aangegeven (-7 in plaats van -70, -15 in plaats van -150); "-15" of "-20" geeft de werkelijke toegangstijd tot de cel aan.

Vaak geven microschakelingen het minimum aan van alle mogelijke toegangstijden. Het is bijvoorbeeld gebruikelijk om 50 EDO DRAM te markeren in plaats van 70, of 45 in plaats van 60, hoewel een dergelijke cyclus alleen haalbaar is in blokmodus, en in enkele modus de microschakeling heeft nog steeds een toegangstijd van 70 of 60 ns. Een soortgelijke situatie doet zich voor bij de markering van PB SRAM: 6 in plaats van 12, en 7 in plaats van 15. SDRAM-chips worden meestal gemarkeerd met toegangstijd in blokmodus (10 of 12 ns).

Geheugen-IC's worden geïmplementeerd in de volgende soorten pakketten.

SIP (Single In Line Package - pakket met één rij pinnen) - een microschakeling met één rij pinnen, verticaal geïnstalleerd.

SIPP (Single In Line Pinned Package - een module met één rij naaldpinnen) - een geheugenmodule die als DIP/SIP-chips in het paneel wordt geplaatst; gebruikt in de vroege IBM PC/AT.

SIMM (Single In Line Memory Module - geheugenmodule met één rij contacten) - een geheugenmodule die in een klemconnector is geplaatst; gebruikt in alle moderne borden, maar ook in veel adapters, printers en andere apparaten. SIMM heeft aan beide zijden van de module contacten, maar die zijn allemaal met elkaar verbonden en vormen als het ware één rij contacten.

Momenteel zijn SIMM's voornamelijk uitgerust met FPM/EDO/BEDO-chips.

DIMM (Dual In line Memory Module - een geheugenmodule met twee rijen contacten) is een geheugenmodule die lijkt op een SIMM, maar met afzonderlijke contacten (meestal 2x84), waardoor de capaciteit of het aantal geheugenbanken in de module wordt vergroot. Wordt voornamelijk gebruikt in Apple-computers en nieuwe P5- en P6-kaarten. EDO/BEDO/SDRAM-chips zijn geïnstalleerd op DIMM's.

CELP (Card Egde Low Profile - een lage kaart met een blade-connector aan de rand) is een externe cachegeheugenmodule die is gemonteerd op SRAM (asynchrone) of PB SRAM (synchrone) chips. Het lijkt qua uiterlijk op een 72-pins SIMM en heeft een capaciteit van 256 of 512 KB. Een andere naam is COAST (Cache On A STick - letterlijk "cache op een stokje").

Dynamische geheugenmodules kunnen, naast de hoofdgeheugencellen, extra cellen hebben voor het opslaan van pariteitsbits (Parity) voor databytes; dergelijke SIMM's worden soms 9- en 36-bits modules genoemd (één pariteitsbit per byte aan gegevens). Pariteitsbits worden gebruikt om de juistheid van het lezen van gegevens uit de module te controleren, waardoor u enkele fouten kunt detecteren (zie Paragraaf 9.7). Het is zinvol om alleen modules met pariteitsbits te gebruiken als een zeer hoge betrouwbaarheid nodig is. Zorgvuldig geteste modules zonder pariteitsbits zijn ook geschikt voor normale toepassingen, op voorwaarde dat het moederbord dit soort modules ondersteunt.

In een 72-pins SIMM met twaalf chips slaan acht daarvan gegevens op en vier pariteitsbits.

Modules met 2, 4 of 8 chips hebben geen geheugen om pariteitsbits op te slaan.

Soms zijn modules uitgerust met een zogenaamde pariteitssimulator: een optelchip die bij het uitlezen van een cel altijd de juiste pariteitsbit produceert. Dit is voornamelijk bedoeld voor het installeren van dergelijke modules in kaarten waar de pariteitscontrole niet is uitgeschakeld.

72-pins SIMM's hebben vier speciale PD-lijnen (Presence Detect) waarop tot 16 signaalcombinaties kunnen worden geconfigureerd met behulp van jumpers. In sommige moederborden worden PD-lijnen gebruikt om de aanwezigheid van geheugenmodules in de slots en hun parameters (volume en snelheid) te bepalen. De meeste universele borden die door derden worden geproduceerd, evenals de SIMM's die zij produceren, maken geen gebruik van PD-lijnen. IN DIMM's

Volgens de JEDEC-specificatie wordt PD-technologie geïmplementeerd met behulp van een seriële EEPROM en wordt deze Serial Presence Detect (SPD) genoemd. De ROM is een 8-pins chip die zich in de hoek van de DIMM-kaart bevindt en de inhoud ervan beschrijft de configuratie en parameters van de module. Moederborden met de 440LX/BX-chipsets kunnen SPD gebruiken om het geheugenbeheersysteem te configureren. Sommige moederborden kunnen zonder SPD, waarbij de configuratie van modules op de gebruikelijke manier wordt gedefinieerd.

Testvragen en opdrachten

1. Welke soorten geheugen zijn er?

2. Simuleer de statische geheugencel in Fig. 9.46. De taak van de simulatie is om binaire combinaties te selecteren voor de signalen aan de celingang en het resultaat te registreren aan de celuitgang met behulp van de IND-indicator.

3. Gebaseerd op het diagram in Fig.

9.45 ontwerp een vier-bits RAM-circuit met behulp van een woordgenerator.

Tegelijkertijd wordt in het diagram in Fig. 9.45 gebruikt slechts 4 lage adressen (twee in rijen en twee in kolommen) en dienovereenkomstig slechts twee databussen (twee ingangen en twee uitgangen). Sluit indicatoren aan op de uitgangsbussen.

4. Waar wordt statisch geheugen gebruikt in moderne computers?

5. Waarin verschilt dynamisch geheugen van statisch geheugen?

6. Welke soorten dynamisch geheugen worden in moderne computers gebruikt?

Elektrisch wisbare ROM

UV-uitwisbare ROM

UV-uitwisbare ROM's worden momenteel het meest gebruikt in microprocessorsystemen. In de LSI van dergelijke ROM's wordt elk bit aan opgeslagen informatie weergegeven door de status van de overeenkomstige MOSFET met zwevende poort (deze heeft geen externe pin voor verbinding). Indien “1” geprogrammeerd, worden de transistorpoorten opgeladen door lawine-injectie, d.w.z. omkeerbare afbraak van de isolatielaag rond de poort onder invloed van een elektrische puls met een spanning van 18 - 26 V. De lading die zich in de poort ophoopt, kan zeer lang worden opgeslagen vanwege de hoge kwaliteit van de isolatielaag. Voor de EPROM uit de K573-serie wordt informatie bijvoorbeeld gegarandeerd minimaal 15-25.000 uur bewaard wanneer deze is ingeschakeld en maximaal 100.000 uur (meer dan 10 jaar) wanneer deze is uitgeschakeld.

Ze maken het mogelijk om informatie op te nemen en te wissen (of te herschrijven) met behulp van elektrische signalen. Om dergelijke PROM's te bouwen, worden structuren met lawineladinginjectie gebruikt, vergelijkbaar met die waarop UV-wis-PROM's zijn gebouwd, maar met extra controlepoorten boven de zwevende poorten. Het aanleggen van spanning op de stuurpoort leidt tot het oplossen van de lading als gevolg van het tunnelen van de drager door de isolatielaag en het wissen van informatie. K573PP2-microcircuits worden vervaardigd met behulp van deze technologie.

Voordelen van PROM met elektrisch wissen: hoge snelheid van het herschrijven van informatie en een aanzienlijk toegestaan ​​aantal herschrijfcycli - minimaal 10.000.

15.2.1 Statisch RAM-geheugen

De soorten opslagapparaten (geheugen) die in beschouwing worden genomen, worden in computers gebruikt om informatie op te slaan die verandert tijdens berekeningen die worden uitgevoerd in overeenstemming met het programma, en worden genoemd operationeel(RAM). De daarin vastgelegde informatie wordt vernietigd wanneer de stroom wordt uitgeschakeld.

Het grootste deel van het geheugen is een schijf bestaande uit triggers

Figuur 4.6 – Geheugenmatrix

Het tweecoördinatenopslagapparaat bestaat uit verschillende matrices (Figuur 4.6), waarvan het aantal wordt bepaald door het aantal bits van het woord dat wordt geschreven. Geheugenelementen (SE) van één matrix bevinden zich op het snijpunt van adresbussen X rijen en Y-kolommen hebben één bitlijn die gemeenschappelijk is voor alle elementen. In de ZE van één matrix worden de gelijknamige cijfers van alle woorden geschreven, en elk woord wordt geschreven in identiek gelokaliseerde opslagelementen van de ZEi van alle matrices waaruit de geheugencel bestaat. Er kunnen dus 16 woorden van vier bits worden geschreven in een geheugen met twee coördinaten en vier matrixen, waarvan de matrices 16 opslagelementen bevatten (figuur 4).



Daarin bevat het geheugenelement slechts één transistor. (Afb. 15-5)

Figuur 4.7 – Dynamisch RAM-element

Informatie in een dergelijk element wordt opgeslagen in de vorm van een lading op een opslagcondensator, waarvan de platen de afvoergebieden zijn van de MOS-transistor en het substraat. Het schrijven en lezen van NNformaini wordt uitgevoerd door de transistor aan de poort te openen en daardoor de nominale capaciteit aan te sluiten op het versterker-regeneratorcircuit. Dit laatste is in wezen een triggerelement, dat afhankelijk is van de voorbereidende voorbereiding of ontvangt (lees) informatie van de capacitieve opslagcel, ingesteld op de status 0 of 1, of, omgekeerd, in de opnamemodus, laadt de cel dienovereenkomstig op, nadat deze eerder op 0 of 1 was ingesteld

IN in de leesmodus wordt de trigger van de versterker-regenerator aanvankelijk in een onstabiele evenwichtstoestand gezet door een speciaal stuursignaal, van waaruit, wanneer er een opslagcondensator op is aangesloten,

hij schakelt over naar 0 of I. Tegelijkertijd verbruikt hij in het begin een deel van de lading en stuurt deze, wanneer hij in een stabiele staat is geïnstalleerd, terug naar de cel, waardoor hij zijn staat herstelt. In de informatieopslagmodus is het noodzakelijk om periodiek te regenereren om natuurlijke ladingslekken te compenseren. De maximale periode van de regeneratiecyclus voor elke cel bedraagt ​​gewoonlijk 1 - 2 ms.

DYNAMISCH RAM-geheugen

PC high-speed RAM-chip, wat anders is

doordat het zijn inhoud verliest als het niet binnen 2 milliseconden wordt gelezen.

De chips zijn georganiseerd als vierkante matrix, waarvan het snijpunt van elke kolom en rij het adres van de overeenkomstige elementaire cellen specificeert. Het lezen van het rijadres vindt plaats wanneer een rijpuls wordt aangeboden aan de matrixingang, en het lezen van het kolomadres vindt plaats wanneer een kolompuls wordt aangeboden. Rij- en kolomadressen worden verzonden via een speciale gemultiplexte adresbus MA (Multiplexed Address). Dynamisch geheugen wordt uitgevoerd in synchrone en asynchrone varianten. In dat laatste geval het instellen van het adres, het aanleveren van stuursignalen en het lezen/schrijven van data

kan op willekeurige tijdstippen worden uitgevoerd.

SOORTEN DYNAMISCHE RAM

FPU DRAH "Dynamisch RAM met snelle paginatoegang": het belangrijkste type videogeheugen, identiek aan dat gebruikt in moederborden. Maakt gebruik van asynchrone (willekeurige) toegang tot gegevensopslagcellen, waaraan besturingssignalen niet strikt gebonden zijn klok frequentie systemen.

EDO DRAH/RAH "Extended Availability RAM": een dynamische geheugenchip die verschilt van conventionele DRAM. Technische ondersteuning geautomatiseerde systemen verhoogde mogelijkheid om in de zogenaamde paginamodus te werken (geassocieerd met een vermindering van het aantal cycli bij het bemonsteren van aangrenzende tekstwoorden). Als gevolg hiervan neemt de productiviteit van de machine toe (met ongeveer 5%). Gebruikt als hoofdgeheugen van pc's op basis van Pentium- en Pentium Pro-microprocessors, evenals in videokaarten met een busfrequentie van 40-50 MHz. Maximaal doorvoer ongeveer 105 MB/s.

DDR SDRAM "Double Data Rate Synchronous Dynamic RAM" of "Advanced Synchronous Dynamic RAM" verschilt van SDRAH doordat aan deze laatste een klein statisch geheugen is toegevoegd dat als cachegeheugen fungeert. Door een extra cache te gebruiken, kunt u de latentie verminderen en een piekwerkfrequentie van 200 MHz bereiken. Het doel van deze caching is om veelgebruikte gegevens op te slaan en de toegang tot langzamere DRAM te minimaliseren. De doorvoer en werksnelheid van deze combinatie worden ook verdubbeld vanwege het feit dat er bij het uitwisselen van gegevens tussen de SRAM-cache en de DRAM zelf

band gebruikt grotere breedte dan tussen SRAM-cache en controller

DRAM. Dit type ontwikkelingsgeheugen heeft de grootste populariteit verworven bij de productie van grafische versnellers.

FB-DIMM "Fully Buffered Memory" verbetert de RAM-prestaties door gebruik te maken van dual-channel toegangstechnologie. De behoefte aan dit type geheugen ontstond door een vermindering van het aantal modules dat op één microprocessor northbridge-controller kan worden geplaatst.

VRAH "Video RAM" of "Video Memory": snel computergeheugen met willekeurige toegang, resulterend uit de ontwikkeling van dynamisch RAM voor grafisch subsysteem Computers en zijn multimediatoepassingen. Het wordt ook wel "dual-port DRAM" genoemd. Het verschilt van conventionele dynamische RAM-schema's (DRAH) in de mogelijkheid om tegelijkertijd schrijf- en leesbewerkingen uit te voeren vanwege de aanwezigheid van twee ingangen (poorten), wat een aanzienlijke (ongeveer tweevoudige) toename van de systeemprestaties oplevert. Gebruikt in grafische adapters. De parameters: busfrequentie 25-33 MHz, maximale doorvoersnelheid 120 MB/s. VRAM is een van de duurste soorten geheugen.

Soorten RAM.

Random access memory is geheugen voor tijdelijke opslag van opdrachten en gegevens die worden gebruikt tijdens het gebruik van de computer. Het biedt snelle toegang tot de benodigde informatie voor de processor, videokaart en andere computerelementen, en tijdelijke opslag van de resultaten van hun werk.

In principe kan RAM elk type geheugen omvatten, zowel niet-vluchtig als afhankelijk, maar met voldoende snelheid, schaalbaarheid en betrouwbaarheid om de werking van de processor en andere snelle computercomponenten te ondersteunen.

Echter, op op dit moment RAM kan worden onderverdeeld in drie soorten:

1. Dynamisch geheugen (DRAM) is een vluchtig halfgeleider willekeurig toegankelijk geheugen waarin elk cijfer wordt opgeslagen in een condensator die constante regeneratie vereist om informatie op te slaan.

2. Statisch geheugen(SRAM) is een vluchtig halfgeleider willekeurig toegankelijk geheugen waarin elke bit wordt opgeslagen in een flip-flop waardoor de bit kan worden gehandhaafd zonder constant herschrijven.

3. Magnetoresistief Random Access Memory (MRAM) is een niet-vluchtig Random Access Memory-apparaat dat informatie opslaat met behulp van magnetische momenten, namelijk de magnetisatierichting van de ferromagnetische laag van de geheugencel.

Deze indeling is alleen correct als je geen rekening houdt met oudere typen geheugen, zoals kwikvertragingslijngeheugen, massaopslag kathodestraalbuizen(CRT), geheugen op magnetische kernen, enzovoort, beschreven in het artikel “Eerste generatie computers”.

En veelbelovende ontwikkelingen zoals:

FRAM (Ferroelectric Random Access Memory) is een ferro-elektrisch geheugen gebaseerd op ferro-elektriciteit - diëlektrica die in staat zijn het dipoolmoment te veranderen onder invloed van temperatuur en externe omstandigheden. elektrisch veld;

PCM (Phase Change Memory) – geheugen gebaseerd op een verandering in de fasetoestand van een stof (Halcogenide) van kristallijn naar amorf en omgekeerd;



PMC (Programmable Metallization Cell) - geheugen gebaseerd op programmeerbare metallisatie van de cel, gebaseerd op het veranderen van de positie van atomen onder invloed van elektrische lading;

RRAM (Resistive Random-Access Memory) is een resistief geheugen dat is gebouwd op basis van elementen die hun weerstand kunnen veranderen afhankelijk van de hoeveelheid stroom die er doorheen gaat;

en vele andere soorten geheugen die nog niet op grote schaal op de markt zijn gekomen of zich over het algemeen in de fase van ontwikkeling of laboratoriumtests bevinden.

Bovendien werd het werkingsprincipe van veel van de geheugentypen die vandaag de dag als veelbelovend worden beschouwd, tien jaar of langer geleden ontwikkeld, maar vanwege de hoge kosten of complexiteit van de productie werden deze typen geheugen niet populair, of werd hun ontwikkeling niet op hetzelfde moment voltooid. alle. En pas nu letten ze goed op.

Dynamisch RAM-geheugen.

Dynamic Random Access Memory (DRAM) is een vluchtig halfgeleidergeheugen met willekeurige toegang. Op dit moment is dit het belangrijkste type RAM dat wordt gebruikt in moderne personal computers en biedt beste indicator prijs-kwaliteitverhouding vergeleken met andere soorten RAM. De vraag naar snelheid, energieverbruik en betrouwbaarheid van RAM neemt echter voortdurend toe, en dynamische RAM heeft al moeite om aan de moderne behoeften te voldoen. We kunnen dus verwachten dat concurrerende typen RAM, zoals magnetoresistieve RAM, de komende jaren commercieel verkrijgbaar zullen zijn.

1. Dynamisch willekeurig toegankelijk geheugenapparaat.
1.1. Dynamische geheugenprestaties in rust.
1.2. Dynamische geheugenwerking bij het lezen en regenereren van gegevens.
1.3. Dynamische geheugenwerking bij het schrijven van gegevens.
2. Stadia van het upgraden van dynamisch RAM.
2.1. PM DRAM.
2.2. FPM-DRAM.
2.3. EDO-DRAM.
2.4. SDRAM.
2.5. DDR-SDRAM.
2.6. DDR2 SDRAM.
2.7. DDR3 SDRAM.
2.8. DDR4 SDRAM.
3. Voor- en nadelen van dynamisch geheugen.

Dynamisch willekeurig toegankelijk geheugenapparaat.

Dynamic Random Access Memory (DRAM) is een vluchtig willekeurig toegankelijk geheugen, waarvan elke cel bestaat uit één condensator en meerdere transistors. De condensator slaat één bit aan gegevens op en de transistors fungeren als schakelaars die de lading in de condensator vasthouden en toegang tot de condensator mogelijk maken bij het lezen en schrijven van gegevens.

De transistors en condensator zijn echter niet ideaal, en in de praktijk raakt de lading van de condensator vrij snel leeg. Daarom is het periodiek, enkele tientallen keren per seconde, noodzakelijk om de condensator op te laden. Bovendien is het proces van het lezen van gegevens uit het dynamische geheugen destructief, dat wil zeggen dat bij het lezen de condensator wordt ontladen en deze opnieuw moet worden opgeladen om de gegevens die in de geheugencel zijn opgeslagen niet permanent te verliezen.

In de praktijk zijn er verschillende manieren om dynamisch geheugen te implementeren. Een vereenvoudigd blokdiagram van een van de implementatiemethoden wordt getoond in Figuur 1.

Zoals uit de figuur blijkt, is het hoofdgeheugenblok een geheugenmatrix, bestaande uit vele cellen, die elk 1 bit aan informatie opslaan.

Elke cel bestaat uit één condensator (C) en drie transistors. Transistor VT1 staat het schrijven van nieuwe gegevens of celregeneratie toe of verbiedt dit. Transistor VT3 fungeert als een sleutel die voorkomt dat de condensator ontlaadt en het lezen van gegevens uit de geheugencel toestaat of verbiedt. Transistor VT2 wordt gebruikt om gegevens uit de condensator te lezen. Als er een lading op de condensator zit, dan is de transistor VT2 open en zal de stroom langs de AB-lijn vloeien, dienovereenkomstig zal er geen stroom zijn aan de uitgang Q1, wat betekent dat de cel een beetje informatie opslaat met nul waarde. Als er geen lading op de condensator zit, is condensator VT2 gesloten en zal de stroom door lijn AE vloeien, dienovereenkomstig zal er stroom zijn aan de uitgang Q1, wat betekent dat de cel een beetje informatie opslaat met de waarde "één ”.

De lading in de condensator, die wordt gebruikt om transistor VT2 in de open toestand te houden terwijl er stroom doorheen gaat, wordt snel verbruikt, dus bij het lezen van gegevens uit de cel is het noodzakelijk om de condensatorlading te regenereren.

Om dynamisch geheugen te laten werken, moet er altijd spanning aan de matrix worden geleverd; in het diagram wordt dit aangegeven als Up. Met behulp van weerstanden R wordt de voedingsspanning Uп gelijkmatig verdeeld over alle kolommen van de matrix.

Het geheugen bevat ook een geheugenbuscontroller, die opdrachten, adressen en gegevens van externe apparaten ontvangt en deze doorgeeft aan interne geheugenblokken.

Commando's worden verzonden naar de besturingseenheid, die de werking van de resterende blokken en de periodieke regeneratie van geheugencellen organiseert.

Het adres wordt omgezet in twee componenten: een rijadres en een kolomadres, en wordt verzonden naar de juiste decoders.

De lijnadresdecoder bepaalt van welke lijn gelezen of geschreven moet worden en voert een spanning naar die lijn uit.

De kolomadresdecoder bepaalt bij het lezen van data welke van de gelezen databits zijn opgevraagd en moeten worden afgegeven aan de geheugenbus. Bij het schrijven van gegevens bepaalt de decoder naar welke kolommen schrijfopdrachten moeten worden verzonden.

De dataverwerkingseenheid bepaalt welke data naar welke geheugencel moeten worden geschreven en produceert de overeenkomstige databits die naar deze cellen moeten worden geschreven.

Regeneratieblokken definiëren:

  • wanneer gegevens worden gelezen en het nodig is de cel waaruit de gegevens zijn gelezen opnieuw te genereren;
  • wanneer gegevens worden geschreven, en daarom is het niet nodig om de cel opnieuw te genereren.

De databuffer slaat de volledige leesrij van de matrix op, omdat bij het lezen altijd de hele rij wordt gelezen, zodat u vervolgens de benodigde databits uit de leesrij kunt selecteren.

Laten we het werkingsprincipe van dynamisch geheugen bekijken aan de hand van het voorbeeld van het blokdiagram in figuur 1. We zullen overwegen om met de eerste cel (M11) te werken. De werking van de overige geheugencellen is volledig identiek.

Bij een gewone microcomputer is het vergroten van de geheugencapaciteit niet moeilijk; u hoeft alleen maar te beslissen hoeveel megabytes u wilt toevoegen en met welke leverancier u contact moet opnemen. Er moet meer mentale inspanning worden geleverd bij het ontwerpen van een microprocessorgestuurd instrument, waarbij geheugentoewijzing een ontwerpelement is en waar geheugenblokken worden gedeeld. verschillende soorten- niet-vluchtige ROM's voor het opslaan van programma's, en vluchtig RAM voor tijdelijke opslag van gegevens en stapels, evenals werkruimte programma's.

(Zie origineel)

Rijst. 11.29. 12-bit tweekanaals DAC's (met dank aan Analog Devices), een - 7537-chip met een laadbreedte van 1 byte; b - 7547-chip met een laadbreedte van 12 bits.

Niet-vluchtige ROM's met bedrade programma's worden veel gebruikt in microprocessorapparaten om de noodzaak te elimineren om elke keer dat het apparaat wordt ingeschakeld een programma te laden. In deze sectie zullen we kijken naar verschillende soorten geheugen: statisch en dynamisch RAM (random access memory), RPROM (herprogrammeerbaar alleen-lezen geheugen), EPROM (elektrisch wisbaar herprogrammeerbaar alleen-lezen geheugen). Als je ze eenmaal een beetje begrijpt, zal de keuze niet moeilijk zijn. U kunt onmiddellijk verwijzen naar Fig. 11.35 uur, waar we de soorten opslagapparaten samenbrachten.

Statisch en dynamisch RAM-geheugen.

In statisch RAM worden de bits opgeslagen in flip-flop-matrices, terwijl in dynamisch RAM de bits worden opgeslagen in geladen condensatoren. Een bit dat naar SRAM wordt geschreven, blijft daar totdat het wordt overschreven of de stroomvoorziening wordt uitgeschakeld. In dynamisch RAM zullen gegevens, als ze niet worden ‘geregenereerd’, in minder dan een seconde verdwijnen. Met andere woorden, DRAM vergeet voortdurend gegevens, en om deze op te slaan moet het periodiek de “rijen” van de tweedimensionale matrix van bits in de geheugenchip opvragen. In een RAM van 256 kbit moet elk van de 256 rijen bijvoorbeeld elke 4 ms worden benaderd.

Je vraagt ​​​​je misschien af: wie zou er zelfs maar aan denken om voor dynamisch RAM te kiezen? Feit is dat dynamisch RAM zonder triggers minder ruimte in beslag neemt, waardoor een chip met een grotere capaciteit goedkoper is. Het huidige populaire statische RAM (kbit-capaciteit) kost bijvoorbeeld ongeveer $ 10, tweemaal de huidige prijs van 1 Mbit dynamisch RAM. Als gevolg hiervan beschikt u bij gebruik van dynamisch RAM over 4 keer meer geheugen voor de helft van de kosten.

Nu vraag je je waarschijnlijk af: wie heeft statisch RAM nodig (iets gooit je heen en weer)? Het belangrijkste voordeel van statisch RAM is de eenvoud ervan. Er zijn geen regeneratiecycli nodig en u hoeft zich geen zorgen te maken over hun synchronisatie (regeneratiecycli concurreren met reguliere geheugentoegangscycli en moeten daarom strikt gesynchroniseerd zijn). In eenvoudige systemen met een beperkt aantal geheugenchips is het normaal om statisch RAM te gebruiken. Bovendien maken de meeste huidige statische RAM's gebruik van CMOS-technologie, wat essentieel is voor apparaten die op batterijen werken. Trouwens, statisch CMOS RAM, dat automatisch overschakelt naar batterijvoeding wanneer de hoofdstroom wordt uitgeschakeld (met behulp van een type energiebeheerchip), is een goed alternatief voor ROM als niet-vluchtig geheugen. Een ander voordeel van statische RAM zijn de hoge prestaties (er worden chips met een karakteristieke tijd van 25 of minder geproduceerd), evenals een handige lay-out in secties van 8 bits. Laten we beide typen RAM in meer detail bekijken.

Statisch RAM-geheugen. We zijn statisch RAM al tegengekomen in ons microprocessorontwerp, waarbij een dergelijke RAM-capaciteit werd gebruikt om gegevens, stapeling en werkgebied te huisvesten (het programma werd opgenomen in RPOM). Het organiseren van gegevensuitwisseling met statisch RAM is net zo eenvoudig als het beschieten van peren: in de leescyclus stelt u het adres, de chipselectie (CS) en de output enable (OE) signalen in; de gevraagde gegevens verschijnen na een maximum (adrestoegangstijd) op de tristabiele datalijnen. In een schrijfcyclus stelt u de adres-, data- en CS-signalen in, en vervolgens (na de adresaanlooptijd) de schrijfvrijgave (WE) puls; geldige gegevens worden geregistreerd aan het einde van de WE-puls. De huidige timinglimieten voor 120 niet-statische RAM worden getoond in Fig. 11.30, waaruit duidelijk blijkt dat de “prestatie” van het geheugen de tijd is vanaf het instellen van een betrouwbaar adres tot betrouwbare gegevens (bij het lezen) of tot de voltooiing van de schrijfcyclus (bij het schrijven).

Rijst. 11.30 uur. 120 ns statische RAM-synchronisatie. a - leescyclus, b - schrijfcyclus.

Voor statisch RAM is het tijdsinterval tussen opeenvolgende geheugentoegangen (“cyclusduur”) gelijk aan de toegangstijd; voor dynamisch RAM is dit, zoals hieronder zal worden aangetoond, niet het geval.

Statische RAM-chips kunnen in capaciteit variëren van 1 Kbit (of minder) tot 1 Mbit, met een breedte van 1, 4 of 8 bits. Prestaties (toegangstijd) variëren van 150 tot 10 of zo. Momenteel wordt goedkoop CMOS statisch RAM met een toegangstijd van 80 ns veel gebruikt, evenals een kleinere capaciteit maar sneller niet-statisch CMOS RAM voor cachegeheugen. Opties voor microschakelingen kunnen afzonderlijke pinnen hebben voor in- en uitgangen, twee toegangspoorten en de een of de ander extern ontwerp(bijvoorbeeld woningen met één rij).

Dit kan aanzienlijk zijn, maar houd er rekening mee dat u zich geen zorgen hoeft te maken dat de CPU-datalijnen op dezelfde pinnen van de geheugenchip zijn aangesloten - ongeacht de verbindingsvolgorde krijgt u bij het lezen altijd hetzelfde als u schreef! Deze opmerking geldt ook voor adressen. Probeer dit echter niet met een ROM te doen.

Oefening 11.18. Waarom?

Dynamisch RAM-geheugen. Vergeleken met statische RAM is dynamische RAM een complete pijn in de kont. In afb. Figuur 11.31 toont een normale cyclus. Het adres (dat bijvoorbeeld 20 bits bevat voor 1 MB RAM) wordt in twee groepen gesplitst en met de helft gemultiplext kleiner aantal pinnen, eerst het “rijadres”, gepoort door het adresstroboscoopsignaal - rijadresstroboscoop), en vervolgens het “kolomadres”, gepoort door het CAS-signaal (kolomadres - kolomadresstroboscoop). Gegevens worden geschreven (of gelezen afhankelijk van de status van de richtingsinvoer) volgens de CAS-instelling. Voordat de volgende geheugencyclus begint, moet er enige “RAS-verblijftijd” verstrijken, dus de cycluslengte is langer dan de toegangstijd; DRAM kan bijvoorbeeld een toegangstijd hebben van 100 ns en een cyclustijd van 200 ns. De regeneratiecyclus ziet er hetzelfde uit, maar zonder het CAS-signaal. In feite zijn reguliere geheugentoegangen uitstekend in het regenereren van geheugen, zolang u er maar voor kunt zorgen dat alle mogelijke rijadressen toegankelijk zijn!

Dynamisch RAM is, net als statisch RAM, beschikbaar in databreedtes van 1, 4 en 8 bits, capaciteiten van 64 Kbit tot 4 Mbit en snelheden van ongeveer 70 tot 150 ns. De meest populaire zijn grote -bit-chips, wat begrijpelijk is: als je een grote geheugenmatrix nodig hebt, bijvoorbeeld 4 MB groot en 16 bits breed, en 1 Mbit RAM met organisatie hebt, is het logisch om -bit-chips te gebruiken omdat (een ) elke datalijn zal worden verbonden met slechts twee chips (in plaats van 16), wat de capacitieve belasting aanzienlijk zal verminderen, en (b) deze chips nemen minder ruimte in beslag omdat de minder datapinnen de extra adrespinnen ruimschoots compenseren.

Rijst. 11.31. Lees- en schrijfcycli van dynamisch RAM (Motorola, 120 ns).

Bovendien zijn -bit-chips over het algemeen goedkoper. De bovenstaande overwegingen gelden als u een groot geheugen bouwt en zijn bijvoorbeeld niet van toepassing op onze eenvoudige microprocessor met geheugen. Houd er echter rekening mee dat verbeterde chipverpakkingstechnologie met hoge dichtheid het belang van het minimaliseren van het aantal pinnen vermindert.

Er zijn een aantal manieren om de reeks gemultiplexte adressen en RAS, CAS en signalen te genereren die nodig zijn om dynamisch RAM te besturen. Omdat dit RAM-geheugen altijd verbonden is met de backbone van de microprocessor, begint u ermee te werken door een signaal (of gelijkwaardig) te detecteren dat aangeeft dat het is geïnstalleerd juiste adres vanuit de dynamische RAM-ruimte (zoals blijkt uit de hoge adreslijnen). Traditionele methode bestaat uit het gebruik van discrete componenten met een gemiddelde mate van integratie voor adresmultiplexing (invoermultiplexers met meerdere kanalen) en het genereren van RAS-, CAS-signalen en multiplexerbesturingssignalen.

De vereiste reeks wordt gecreëerd met behulp van een schuifregister dat is geklokt op een veelvoud van de klokfrequentie van de microprocessor of, beter nog, met behulp van een afgetakte vertragingslijn. Om periodieke regeneratiecycli te organiseren (alleen RAS), hebt u nog een aantal logische circuits nodig en een teller die de opeenvolgende rijadressen telt. Dit alles kost ongeveer 10 gebouwen.

Een aantrekkelijke manier, een alternatief voor "discrete" dynamische RAM-besturingscircuits, is het gebruik van PLM, en een of twee microcircuits zijn voldoende om alle noodzakelijke signalen te genereren. Nog eenvoudiger is het om bijvoorbeeld een speciale ‘dynamische RAM-ondersteuning’-chip te nemen. Dit soort microschakeling zorgt niet alleen voor adresmultiplexing en de vorming van RAS/CAS-signalen, maar ook voor regeneratiearbitrage samen met de vorming van rijadressen; Bovendien bevatten ze zelfs krachtige chauffeurs en snubberweerstanden, die nodig zijn om grote reeksen geheugenchips aan te sluiten, zoals hieronder uitgelegd. Dergelijke dynamische RAM-controllers gaan meestal gepaard met extra chips voor synchronisatie, evenals foutdetectie en -correctie; als resultaat klein setje chips lossen het probleem van het opnemen van dynamisch RAM in uw ontwerp volledig op.

Echter bijna helemaal! Het grootste probleem met dynamische RAM's begint wanneer je jezelf probeert te bevrijden van interferentie van al die flitsende en adresseerbare RAM's hoofdlijnen. De essentie van het probleem is dat enkele tientallen MOS-circuitpakketten verspreid over een groot gebied van het moederbord terechtkomen, en dat besturings- en adresbussen geschikt zijn voor alle pakketten. Om er enkele tientallen microschakelingen op aan te sluiten, zijn krachtige Schottky-eindtrappen nodig; De lange lijnlengten en de gedistribueerde ingangscapaciteit in combinatie met de steile randen van de uitgangstrappen leiden echter tot het optreden van "ringing" met hoge amplitude. Vaak zie je negatieve pieken tot -2 V op de RAM-adreslijnen! Typisch middel De strijd (niet altijd volledig succesvol) is om seriële dempingsweerstanden met een weerstand van ongeveer 33 Ohm aan de uitgang van elke driver op te nemen. Een ander probleem zijn de enorme transiënte stromen, die vaak waarden per lijn bereiken. Stel je een -bit driverchip voor waarin de meeste uitgangen willekeurig in één richting schakelen, b.v. hoog niveau te laag. Dit resulteert in een transiënte stroom van ongeveer 1 A, die tijdelijk het potentieel van de neutrale klem verhoogt, en daarmee alle uitgangen die laag hadden moeten zijn. Het genoemde probleem is geenszins van academische aard: we hebben ooit fouten in de werking van het geheugen waargenomen juist vanwege dergelijke transiënte stromen aan de nulaansluiting, gevormd als gevolg van pieken in de stuurstroom. Tegelijkertijd bleek de interferentie die door de -drivers van dezelfde microschakeling ging voldoende te zijn om de geheugencyclus te voltooien!

Een extra bron van interferentie in dynamisch RAM zijn grote transiënte stromen die worden gegenereerd door de microcircuits als geheel, en de meest eerlijke ontwikkelaars nemen zelfs informatie over dit fenomeen op in hun technische materialen(Afb. 11.32). De gebruikelijke oplossing is het installeren van shuntcondensatoren die met een lage inductie op de neutrale lijn zijn aangesloten; Het wordt redelijk geacht om elke chip te omzeilen met een keramische condensator met een capaciteit van .

We hebben ontdekt dat logische drivers met externe weerstanden net als DRAM goed werken speciale chauffeurs type, dat integrale snubberweerstanden bevat. De hierboven genoemde dynamische RAM-controller kan volgens de ontwikkelaars tot 88 geheugenchips bedienen zonder externe componenten, terwijl negatieve emissies niet meer dan -0,5 V bedragen.

Rijst. 11.32. Transiënte stromen van dynamisch RAM.

Nog belangrijker dan de keuze voor een specifieke chauffeur is het gebruik van neutrale lijnen met lage inductie en veelvuldig rangeren. Dubbelzijdige planken met smalle grondlijnen zullen onvermijdelijk tot problemen leiden; ontwikkelingsborden met draadwikkelen is het meestal niet veel beter.

Het is belangrijk om te begrijpen dat geheugenstoringen als gevolg van interferentie in hoge mate afhankelijk kunnen zijn van de bitverdeling van de verzonden gegevens en niet altijd aan het licht komen bij eenvoudige lees-/schrijfgeheugentests. De beste manier om betrouwbare geheugenprestaties te garanderen is een conservatief ontwerp en uitgebreide geheugentests (met oscilloscoop-golfvormonderzoek).

Alleen-lezen opslagapparaten (ROM).

ROM's verwijzen naar geheugen dat niet wordt vernietigd wanneer de stroom wordt uitgeschakeld (niet-vluchtig), en ze zijn nodig in vrijwel elk computersysteem. Microcomputers moeten bijvoorbeeld ten minste een klein ROM hebben om een ​​reeks opstartopdrachten op te slaan, die niet alleen de stapeltoewijzing en poort- en interrupt-initialisatieregels omvatten, maar ook opdrachten om het besturingssysteem vanaf de schijf te lezen. Wanneer uw pc een geheugentest uitvoert en vervolgens DOS laadt, voert deze de opdrachten van een bepaald ROM uit. Bovendien is het gebruikelijk dat een microcomputer een deel van het besturingssysteem in ROM opslaat (meestal de meest hardware-afhankelijke modules); Dit onderdeel wordt het “basis I/O-systeem” (BIOS) genoemd en biedt een standaardmechanisme waarmee het besturingssysteem toegang krijgt tot specifieke poorten. ROM's worden veel gebruikt om verschillende tabellen op te slaan, zoals de tekengenerator, die op het beeldscherm worden weergegeven. In het extreme geval kan het hele besturingssysteem, inclusief zelfs compilers en grafische programma's, kan zich in ROM bevinden. In een Macintosh-microcomputer bijvoorbeeld, een aanzienlijk deel van het systeem software geschreven naar ROM, en bijna alle 256 KB RAM wordt aan de gebruiker gegeven. Deze "ROM-gebaseerde" benadering wordt echter relatief zelden gebruikt in microcomputers vanwege de inflexibiliteit ervan; Houd er echter rekening mee dat bugfixes en milde softwareverbeteringen kunnen worden aangebracht via op RAM gebaseerde patches.

In apparaten met microprocessorbesturing worden ROM's op grotere schaal gebruikt. ROM slaat het volledige autonome programma op, en vluchtig RAM wordt alleen gebruikt voor het opslaan van arrays en tijdelijke gegevens. Dit is precies wat er werd gedaan in onze signaalmiddelaar. ROM's zijn vaak nuttig in discrete digitale instrumentatie, bijvoorbeeld voor het construeren van machines met willekeurige toestand, of als opslag van correctietabellen voor het lineariseren van de responsfunctie van een meetsysteem. Laten we even kort kijken verschillende soorten niet-vluchtig geheugen: ROM met maskerprogrammering, evenals elektrisch wisbare EPROM.

RPOM. Wisbare programmeerbare alleen-lezen-geheugens worden gemaakt in de vorm van grote chips met een kwartsvenster. Dit is ongetwijfeld het meest populaire type niet-vluchtig geheugen voor computers. EPROM's maken gebruik van CMOS- en MOS-technologie en bestaan ​​uit grote reeksen FET's en MOSFET's met zwevende poort die kunnen worden opgeladen met behulp van het "lawine"-proces waarbij de poortisolatielaag wordt afgebroken wanneer spanningen van meer dan 20 V worden toegepast. Gegevens worden opgeslagen in de EPROM voor onbepaalde tijd in de vorm van een kleine lading (ongeveer 106 elektronen) van geïsoleerde "begraven" poorten, die kunnen worden beschouwd als condensatoren met een tijdconstante in de orde van eeuwen. Om de status van een individuele condensator te kunnen lezen, moet deze fungeren als poort van het MOSFET-kanaal. Omdat de sluiter elektrisch ontoegankelijk is, kan de lading alleen worden gewist door de microschakeling gedurende 10-30 minuten te bestralen met een intense stroom ultraviolette stralen, waardoor de opgeslagen lading leegloopt als gevolg van het fenomeen fotogeleiding. Als gevolg hiervan kunnen individuele bytes van de EEPROM niet selectief worden gewist.

In de eerste editie van dit boek noemden we de ‘klassieke’ 2716-chip, een ROM die $ 25 kostte. Nu is hij zo klassiek geworden dat je hem nergens meer kunt krijgen! Typische ROM's van onze tijd hebben een capaciteit tot en een prijs van enkele dollars. Toegangstijden zijn doorgaans 150-300 ns, hoewel bedrijven zoals Cypress ROM's met een kleine capaciteit aanbieden met snelheden van 25 ns. Om een ​​EPROM te programmeren, hoeft u er alleen maar een verhoogde spanning op aan te leggen (meestal 12,5 of 21 V), terwijl u de vereiste bytewaarden instelt. De oorspronkelijke algoritmen vereisten dat elke byte werd geprogrammeerd (wat 100 seconden oplevert voor de 2716-chip, maar voor een EEPROM van gemiddelde grootte wordt dit een half uur). De release van grote ROM's vereiste dat ontwikkelaars meer geavanceerde algoritmen moesten uitvinden waarin elke byte wordt geprogrammeerd met een reeks pulsen met een duur , en na elk schrijven wordt een poging gedaan om te lezen; Wanneer de byte correct wordt gelezen, wordt een laatste schrijfbewerking uitgevoerd die qua duur gelijk is aan driemaal de som van alle voorgaande schrijfbewerkingen. De meeste bytes worden geprogrammeerd met de allereerste puls, als resultaat worden ongeveer , en 2 minuten besteed aan elke byte, en 2 minuten voor alle ROM's.

EPROM's zijn erg handig bij het ontwikkelen van prototypes, omdat ze na het wissen opnieuw kunnen worden gebruikt. Ze worden ook gebruikt bij de productie van kleine batches apparaten. Er zijn goedkopere versies van EPROM's zonder kwartsvenster in de handel verkrijgbaar, ook wel 'eenmalig programmeerbare EPROM's' genoemd. Hoewel deze chips geen EEPROM mogen heten, willen ingenieurs de gebruikelijke naam niet veranderen. Conservatieve EPROM-fabrikanten garanderen dat informatie slechts 10 jaar daarin wordt opgeslagen. Deze waarde gaat uit van de slechtste omstandigheden (in het bijzonder hoge temperaturen, wat leidt tot ladingslekkage); in feite lijken RPOM's geen gegevens te verliezen tenzij u een defecte batch krijgt.

RPOM wordt gekenmerkt door een beperkt aantal herprogrammeringscycli, d.w.z. wissen en herprogrammeren. Fabrikanten zijn terughoudend om dit aantal te geven, hoewel je ervan uit kunt gaan dat de chip na slechts ongeveer 100 wis-/programmeercycli merkbaar zal verslechteren.

Rijst. 11.33. Microcontroller met EEPROM. a - 8-bit microcontroller met contacten voor het installeren van ROM; b - 8-bit microcontroller met ingebouwd ROM.

Masker-ROM's en gefuseerde jumper-ROM's. Masker-programmeerbare ROM's zijn een categorie aangepaste chips die worden geboren met de bitindeling die u opgeeft. De fabrikant zet uw bitspecificatie om in een metallisatiemasker, dat vervolgens wordt gebruikt bij de vervaardiging van ROM. Deze procedure is goed voor grote hoeveelheden microschakelingen, en we hopen dat het niet bij u opkomt om ROM met maskerprogrammering voor een prototype te bestellen. Typische kosten variëren van $ 1.000 tot $ 3.000 per productierun, en bedrijven zijn terughoudend in het accepteren van bestellingen voor ROM-hoeveelheden van minder dan duizend eenheden. Met dergelijke hoeveelheden kan de chip enkele dollars kosten.

Veel single-chip microcontrollers bevatten meerdere kilobytes ROM en RAM in hetzelfde pakket, zodat het complete apparaat zonder extra geheugenchips kan. In de meeste gevallen bevat de microcontrollerfamilie opties die extern ROM vereisen, en soms opties met ingebouwde EPROM (Fig. 11.33). Dit maakt het mogelijk om bij het ontwikkelen van een apparaat een optie met RPOM (of extern ROM) te gebruiken, waar je een programma kunt schrijven, en bij het voorbereiden van een batch apparaten kunt kiezen voor goedkopere controllers met maskerprogrammering.

Een ander type eenmalig programmeerbaar ROM is het gefuseerde jumper-ROM. Wanneer het wordt vrijgegeven, worden alle bits ingesteld en om de vereiste bits te resetten moet de ROM worden blootgesteld elektrische stroom. Een typisch voorbeeld is de Harris-chip, CMOS PROM (programmable read-only memory) met smeltbare jumpergrootte. PROM's zijn ook verkrijgbaar op basis van bipolaire (TTL) technologie.

ERPZU. Elektrisch wisbare programmeerbare ROM's kunnen selectief worden gewist en elektrisch opnieuw worden geprogrammeerd in hetzelfde circuit waar ze als geheugen worden gebruikt. Dit soort ROM's zijn ideaal voor het opslaan van configuratieconstanten, kalibratieparameters en andere informatie die niet naar het ROM kan worden geschreven voordat de computer wordt aangezet. EPROM's maken, net als EPROM's, gebruik van floating-gate MOS-technologie.

De eerste EPROM's vereisten hogere spanningen en een langdurige programmeerprocedure. Moderne IC's gebruiken een enkele voedingsspanning en werken vrijwel hetzelfde als SRAM - met andere woorden: je kunt elke byte herprogrammeren met een enkele schrijfcyclus op de backbone. De EEPROM-chip heeft interne circuits om een ​​verhoogde programmeerspanning te genereren, en interne logica vangt de gegevens op en genereert een programmeerreeks van enkele milliseconden, waarbij de BUSY-vlag wordt ingesteld voor de duur van het proces of omgekeerde gegevens worden gegenereerd in de leescyclus om laten zien dat het schrijfproces bezig is. Sommige EPROM's implementeren beide protocollen, meestal .

Het communiceren met deze ROM's is eenvoudig: sluit ze gewoon op dezelfde manier aan als gewoon RAM en gebruik de BUSY-lijn om interrupts te genereren (of lees de BUSY- of datastatus en gebruik deze als statusvlag) (zie figuur 11.34).

Rijst. 11.34. ERPZU.

Het pollingprotocol is handig omdat de EPROM zonder enige wijziging in het circuit in een standaard RAM-slot kan worden geplaatst (uw programma's zullen uiteraard regels moeten bevatten voor het analyseren van de teruggelezen gegevens en het wachten tot deze overeenkomen met wat u schrijft). Omdat er relatief zelden naar de EEPROM wordt geschreven, zijn er feitelijk geen interrupts op de RDY/BUSY-lijn nodig.

CMOS EPROM's zijn verkrijgbaar in de vorm van microschakelingen met een capaciteit die ongeveer $10-50 kost (toegangstijd (200-300 seconden) en programmeertijd bij gebruik van een interne algoritmeverbetering) en zijn vergelijkbaar met die van een standaard EPROM. EPROM staat, net als RPZU, een beperkt aantal lees-schrijfcycli toe. Hoewel fabrikanten geen specifieke cijfers geven, kunt u verwijzingen naar 100.000 lees-schrijfcycli vinden op .

Opmerking. Hoewel EPROM's uniek zijn omdat ze opnieuw kunnen worden geprogrammeerd werkdiagram, kunnen ze ook afzonderlijk vanaf de plaats van gebruik in de programmeur voor de RPOM worden geprogrammeerd. Dit maakt ze erg handig voor de ontwikkeling van embedded software, omdat u geen half uur hoeft te wachten op de EPROM oud programma geroosterd onder ultraviolette straling.

Er zijn twee interessante opties voor ERPZU. Bedrijven National, Xicor en anderen produceren kleine EPROM-chips met 8 pinnen. De capaciteit van deze circuits kan variëren van bits; ze werken in seriële toegangsmodus en zijn uitgerust met een klokingang en een enkele datalijn. Deze chips zijn zonder microprocessor moeilijk te gebruiken; bij microprocessorgestuurde instrumenten zijn ze echter erg handig voor het opslaan van een klein aantal instellingen, enz. Hetzelfde bedrijf, Xicor, produceert een "elektrisch wisbare potentiometer", een ingenieuze toepassing van elektrisch wisbaar geheugen dat de positie van een "digitaal contact" opslaat. In deze microschakeling is een keten van 99 weerstanden van gelijke grootte ingebouwd, en de positie van de aftakking daarvan, ingesteld door software, wordt opgeslagen in een niet-vluchtig geheugen dat zich in dezelfde microschakeling bevindt. Het is niet moeilijk om toepassingen voor te stellen waarin automatische kalibratie of kalibratie op afstand van een instrument gewenst is zonder mechanische aanpassing van de bedieningsknoppen.

Een onlangs verschenen wijziging van de EEPROM, genaamd instantaneous (flash), combineert hoge dichtheid RPZU met herprogrammering in het werkcircuit inherent aan ERPROM. Met instant-EPROM's kunt u echter in de regel geen afzonderlijke bytes wissen, zoals bij conventionele EPROM's wel het geval is. Intel Instant EPROM staat dus alleen toe volledige verwijdering(zoals RPOM), terwijl de Seeq-chip voorziet in het wissen van sector per sector (512 bytes) of geheel. Bovendien vereisen de meeste momenteel verkrijgbare instantane EPROM's een extra schakelbare +12 V-voeding tijdens wissen/schrijven, wat te duur is als je bedenkt dat conventionele EPROM's worden gevoed door een enkele +5 V-bron.

Instant EPROM's zijn bestand tegen 100 tot 10.000 programmacycli.

De EPROM-technologie blijft zich ontwikkelen en we zijn benieuwd wat het ons verder gaat brengen; wacht ook!

Niet-vluchtig RAM.

EPROM's zijn handig voor gebruik als niet-vluchtig ROM, maar er is vaak behoefte aan niet-vluchtig RAM. Je kunt hiervoor EPROM gebruiken, maar deze kenmerken zich door een zeer lange schrijfcyclus (en een beperkt aantal lees/schrijfcycli). Er zijn twee mogelijkheden om de lees-schrijftijd die kenmerkend is voor RAM te bereiken met een onbeperkt aantal lees-schrijfcycli: gebruik ofwel een statisch CMOS RAM met batterijback-up, ofwel een ongebruikelijke Xicor-microschakeling die statisch RAM en EPROM combineert.

De kwestie van batterijback-up voor RAM, die twee vliegen in één klap slaat, werd eerder besproken: lage prijs en hoge lees-schrijfsnelheid van RAM worden gecombineerd met niet-vluchtig ROM. In dit geval moet u uiteraard CMOS RAM gebruiken met een bekende kritische stroomwaarde. Sommige bedrijven produceren “niet-vluchtig RAM”, plaatsen een lithiumbatterij en logica stroom schakelen. Als voorbeeld kunnen we chips van Dallas Semiconductor noemen; dit bedrijf produceert ook een reeks 'slimme connectoren' met daarin een batterij en logische circuits, met behulp waarvan conventioneel RAM, als bij toverslag, niet-vluchtig wordt. Houd er rekening mee dat niet-vluchtig RAM-geheugen dat op deze manier wordt gevormd, strikt genomen niet onsterfelijk is; De levensduur van de batterij, en dus de gegevens, is ongeveer 10 jaar. Net als bij conventionele statische RAM zijn er geen beperkingen op het aantal lees-schrijfcycli dat het geheugen kan weerstaan. in RAM-geheugen.

Als we de twee beschreven opties voor niet-vluchtig RAM vergelijken, lijkt de optie met een back-upbatterij over het algemeen de voorkeur te hebben, omdat je hiermee elk beschikbaar RAM-geheugen kunt gebruiken, zolang het maar een nulstroom-uitschakelmodus heeft. Hierdoor gebruik je grotere RAM's uit de nieuwste releases, maar kies je bijvoorbeeld ook voor de snelste RAM's als je dat belangrijk vindt. Hoewel batterijen een beperkte levensduur hebben, zijn ze voor de meeste toepassingen voldoende. Voor kortetermijnopslag (een dag of minder) van informatie kunt u de lithiumbatterij vervangen door een dubbellaags condensator grote capaciteit; Dergelijke condensatoren in zeer kleine verpakkingen met een capaciteit tot een farad of meer worden aangeboden door Panasonic, Sohio, enz.

Opslagapparaten: algemeen overzicht.

Rijst. 11.35 vat de belangrijkste kenmerken samen verschillende soorten Geheugen Van degenen die in de afbeelding worden getoond, raden we dynamisch RAM aan met een breedte van 1 bit voor grote geheugenmatrices met de mogelijkheid om te lezen en te schrijven, statisch RAM met een breedte van 1 byte voor kleine geheugenmatrices van microprocessorsystemen, EPROM voor het opslaan van programma's en parameters die niet herschreven hoeven te worden, en óf EPROM (als de duur van het schrijfproces er niet toe doet), óf statisch RAM met batterijondersteuning (om maximale prestaties lezen/schrijven) voor niet-vluchtige opslag van wijzigbare gegevens.

Rijst. 11.35 uur Soorten opslagapparaten.