Huvudminnessystemmoduler. Fysisk och logisk organisation av minnet i datorsystem

Skicka ditt goda arbete i kunskapsbasen är enkelt. Använd formuläret nedan

Bra jobbat till webbplatsen">

Studenter, doktorander, unga forskare som använder kunskapsbasen i sina studier och arbete kommer att vara er mycket tacksamma.

Postat på http://www.allbest.ru/

1. Principer för informationsutbyte mellan hierarkiska nivåer i minnesdelsystemet.

2. Grundläggande funktioner och huvuddelsystem i ett datorsystem.

3. Funktionsprincip för associativt cacheminne.

4. Implementering av avbrott från kringutrustning anslutna via ett seriellt gränssnitt.

5. Vad är skyddsringar?

6. Vad är RAM-segmentering?

7. Huvuddragen hos videodata. Matris och grafisk representation av videoinformation.

8. Vad är en fil? Skillnader mellan fil och katalog.

9. Huvudstegen i den moderna processorpipelinen.

10. Vad är registerbyte?

Fråga nr 1. Principer för informationsutbyte mellan hierarkiska nivåer i minnesundersystemet

Implementeringen av minneshierarkin för moderna datorer är baserad på två principer: principen om lokalitet för åtkomst och kostnad/prestanda-förhållandet. Principen om lokalisering av samtal antyder att de flesta program lyckligtvis inte kommer åt alla sina kommandon och data med samma sannolikhet, utan föredrar en viss del av sitt adressutrymme.

Minneshierarkin för moderna datorer är uppbyggd på flera nivåer, där den högre nivån är mindre, snabbare och dyrare per byte än den lägre. Nivåerna i en hierarki är relaterade till varandra: all data på en nivå kan också hittas på en lägre nivå, och all data på den lägre nivån kan hittas på nästa lägre nivå, och så vidare tills vi når botten av hierarkin.

Minneshierarkin består vanligtvis av många nivåer, men vid varje given tidpunkt har vi endast att göra med två närliggande nivåer. Den minsta informationsenheten som kan finnas eller inte finns i en hierarki på två nivåer kallas ett block. Blockstorleken kan vara antingen fast eller variabel. Om denna storlek är fast är minnesstorleken en multipel av blockstorleken.

Ett lyckat eller misslyckat samtal till en högre nivå kallas en träff respektive en miss. En träff är en referens till ett objekt i minnet som hittas på en högre nivå, medan en miss betyder att det inte hittas på den nivån. Träfffrekvensen eller träffkvoten är andelen träffar som hittats på en högre nivå. Ibland representeras det i procent. Missfrekvensen är andelen förfrågningar som inte hittas på en högre nivå.

Eftersom förbättring av prestanda är den främsta orsaken till minneshierarkin, är träff- och missfrekvensen viktig egenskap. Träfftid är den tid det tar att nå en högre nivå i hierarkin, vilket i synnerhet inkluderar den tid som krävs för att avgöra om en träff är en träff eller en miss. Missstraffet är den tid det tar för ett block på en högre nivå att ersättas av ett block på en lägre nivå, plus tiden för att skicka blocket till den önskade enheten (vanligtvis processorn). Missförluster inkluderar vidare två komponenter: åtkomsttid - tiden för att komma åt det första ordet i ett block i händelse av en miss, och överföringstid - Extra tid för att vidarebefordra de återstående orden i blocket. Åtkomsttiden är relaterad till latensen för minne på lägre nivå, medan överföringstiden är relaterad till kanalbandbredden mellan minnesenheter på två angränsande nivåer.

Fråga nr 2. Grundläggande funktioner och huvuddelsystem i ett datorsystem

Ett OS är en uppsättning sammankopplade program utformade för att förbättra effektiviteten hos datorhårdvara genom att rationellt hantera dess resurser, samt för att ge användaren bekvämlighet genom att förse honom med en utökad virtuell maskin. De huvudsakliga resurserna som hanteras av operativsystemet inkluderar processorer, huvudminne, timers, datamängder, diskar, bandenheter, skrivare, nätverksenheter och några andra. Resurser delas mellan processer. För att lösa resurshanteringsproblem använder olika operativsystem olika algoritmer, vars funktioner i slutändan bestämmer operativsystemets utseende. De viktigaste OS-undersystemen är process-, minnes-, fil- och externa enhetshanteringsundersystemen, såväl som användargränssnitt, dataskydd och administrationsundersystem.

Huvud funktioner:

* Utföra, på begäran av program, de ganska elementära (lågnivå) åtgärder som är gemensamma för de flesta program och som ofta finns i nästan alla program (datainmatning och utmatning, start och stopp av andra program, allokering och frigöring av ytterligare minne, etc.).

* Standardiserad åtkomst till kringutrustning (in-/utgångsenheter).

* RAM-hantering (fördelning mellan processer, organisation av virtuellt minne).

* Kontrollera tillgången till data på icke-flyktiga media (som en hårddisk, optiska diskar, etc.), organiserade i ett visst filsystem.

* Tillhandahåller användargränssnitt.

* Nätverksdrift, stöd för nätverksprotokollstack.

Ytterligare funktioner:

* Parallellt eller pseudo-parallellt utförande av uppgifter (multitasking).

* Effektiv fördelning av datorsystemresurser mellan processer.

* Differentiering av åtkomst av olika processer till resurser.

* Interaktion mellan processer: datautbyte, ömsesidig synkronisering. En process är ett dynamiskt objekt som visas i operativsystemet efter att användaren eller operativsystemet självt beslutat att "köra programmet för exekvering", det vill säga att skapa en ny enhet beräkningsarbete. Användare - en person eller organisation som använder det aktuella systemet för att utföra specifik funktion. En fil är ett namngivet område externt minne, till vilken data kan skrivas till och från vilken data kan läsas. De huvudsakliga syftena med att använda filer är: långsiktig och tillförlitlig lagring av information, samt delad tillgång till data.

Fråga nr 3. Funktionsprincipen för associativt cacheminne

I associativt minne väljs element inte efter adress, utan efter innehåll. Låt oss förklara det sista konceptet mer i detalj. För adresserbart minne introducerades konceptet med en minimal adresserbar enhet (MAU) som ett datastycke med en individuell adress. Låt oss introducera ett liknande koncept för associativt minne, och det kommer vi att göra minsta enhet lagring i associativt minne kallas en associativ minnesrad (StrAP). Varje strAP innehåller två fält: ett taggfält (engelsk tagg - etikett, etikett, attribut) och ett datafält. En läsbegäran till associativt minne kan uttryckas i ord enligt följande: välj rad(er) vars tagg(ar) är lika med det angivna värdet.

Vi noterar särskilt att med en sådan begäran är ett av tre resultat möjligt:

1. det finns exakt en rad med den givna taggen;

2. det finns flera rader med en given tagg;

3. det finns inte en enda rad med den givna taggen.

Att söka efter en post efter attribut är en typisk åtgärd för att komma åt databaser, och att söka i databasen är ofta en associativ sökning. För att utföra en sådan sökning måste du se alla poster och jämföra den givna taggen med taggen för varje post. Detta kan också göras när man använder vanligt adresserbart minne för att lagra poster (och det är klart att detta kommer att kräva ganska mycket tid - proportionellt mot antalet lagrade poster!). Vi talar om associativt minne när associativ hämtning av data från minnet stöds av hårdvara. När du skriver till associativt minne, placeras ett dataelement i StraP tillsammans med taggen som är inneboende för detta element. För att göra detta kan du använda valfri gratis StraP.

I början av operationen är cacheminnet tomt. När det första kommandot utförs under samplingen, dess kod, samt ytterligare några angränsande byte programkod, - kommer att överföras (långsamt) till en av cache-raderna, och samtidigt kommer den höga delen av adressen att skrivas till motsvarande tagg. Så här fylls cacheraden.

Om ytterligare val är möjliga från detta område kommer de att göras från cachen (snabbt) - "CACHEHIT". Om det visar sig att det nödvändiga elementet inte finns i cachen är det en "CACHE-miss". I det här fallet sker åtkomst till RAM (långsamt), och samtidigt fylls nästa cache-rad.

Cachen nås på följande sätt. Efter att exekveringsadressen har skapats jämförs dess mest signifikanta bitar, som bildar taggen, i hårdvara (snabbt) och samtidigt med taggarna för alla cache-rader. I det här fallet är endast två situationer av de tre som listats tidigare möjliga: antingen kommer alla jämförelser att ge ett negativt resultat (CACH-miss), eller så kommer ett positivt jämförelseresultat att registreras för exakt en rad (CACH-träff).

Vid en läsning, om en cacheträff detekteras, bestämmer adressens lågordningsbitar positionen i cacheraden från vilken bytes ska hämtas, och typen av operation bestämmer antalet byte. Uppenbarligen, om längden på ett dataelement överstiger en byte, då situationer är möjliga när detta element är (delvis) lokaliserat i två (eller flera) olika cache-linjer, då kommer tiden för att hämta ett sådant element att öka. Detta kan motverkas genom att justera operander och instruktioner längs cachelinjernas gränser, vilket beaktas vid utveckling av optimeringsöversättare eller vid manuell optimering av kod.

Om en cachemiss inträffar och det inte finns några lediga rader i cachen, måste du ersätta en cache-rad med en annan rad.

Huvudmålet med ersättningsstrategin är att behålla cache-rader som med största sannolikhet kommer att nås inom en snar framtid, och att ersätta rader som kommer att nås senare eller inte alls. Uppenbarligen kommer den optimala algoritmen att vara en som ersätter den linje som kommer att nås senare i framtiden än någon annan cache-linje.

Fråga nr 4. Implementering av avbrott från kringutrustning anslutna via ett seriellt gränssnitt

Ett seriellt gränssnitt för enkelriktad dataöverföring använder en signallinje, längs vilken informationsbitar sänds en efter en sekventiellt. Denna överföringsmetod bestämmer namnet på gränssnittet och porten som implementerar det (seriellt gränssnitt och serieport). Seriell dataöverföring kan utföras i synkrona och asynkrona lägen.

Vid asynkron överföring föregås varje byte av en startbit, som signalerar mottagaren om starten av nästa överföring, följt av databitar eller en paritetsbit. Meddelandet avslutas med en stoppbit.

Det asynkrona sändningsformatet låter dig identifiera möjliga överföringsfel.

Synkront överföringsläge antas konstant aktivitet kommunikationskanal. Sändningen börjar med en synkbyte, tätt följt av en ström av informationsbitar. Om sändaren inte har några data att sända, fyller den pausen genom att kontinuerligt skicka synkroniseringsbytes. Vid överföring av stora datamängder kommer synkroniseringen in detta läge krävs kommer att vara lägre än i asynkron.

Avbrott är en signal som informerar processorn om att någon asynkron händelse har inträffat. I detta fall avbryts exekveringen av den aktuella sekvensen av kommandon, och kontrollen överförs till avbrottshanteraren, som utför arbetet med att bearbeta händelsen och återför kontrollen till den avbrutna koden. Typer av avbrott: Hårdvara (IRQ - Avbrottsbegäran) - händelser från kringutrustning (till exempel tangenttryckningar, musrörelser, en signal från en timer, nätverkskort eller hårddisk) - externa avbrott eller händelser i mikroprocessorn - (för exempel, division med noll) -- interna avbrott; Programvara - initierad av det exekverande programmet, d.v.s. redan synkron, inte asynkron. Programvaruavbrott kan användas för att anropa operativsystemtjänster.

Avbrott kräver att exekveringen av den aktuella strömmen av instruktioner avbryts (medan tillståndet sparas) och exekveringen av ISR-rutinen (Interrupt Service Routine) för att starta. Denna procedur måste först identifiera källan till avbrottet (och det kan finnas flera av dem), sedan utföra åtgärder relaterade till att svara på händelsen. Om händelser ska orsaka någon programåtgärd behöver avbrottshanteraren bara ge en signal (via operativsystemet) som startar (eller väcker) instruktionstråden som utför dessa åtgärder. Själva ISR-proceduren måste optimeras vad gäller tidsåtgång. Serviceavbrott, särskilt i skyddat läge, på PC-kompatibla datorer på x86-processorer är förknippat med betydande omkostnader. Av denna anledning försöker de minska sitt antal. Betydande problem orsakas av att identifiera avbrottskällan - i arkitekturen PC-kompatibla datorer För detta används traditionella men ineffektiva mekanismer. I vissa fall ersätts avbrott från enheter av polling - programvarustyrd polling av enhetsstatus. I detta fall avfrågas tillstånden för flera enheter med hjälp av ett timeravbrott.

Fråga nr 5. Vad är skyddsringar?

Ringar av skydd - arkitektur informationssäkerhet och funktionell feltolerans, implementering av hårdvaruseparation av system- och användarbehörighetsnivåer. Strukturen av privilegier kan avbildas som flera koncentriska cirklar. I det här fallet är systemläget (övervakarläge eller ring noll, den så kallade "ring 0"), som ger maximal tillgång till resurser, den inre cirkeln, medan användarläget med begränsad åtkomst är den yttre cirkeln. Traditionellt ger x86-familjen av mikroprocessorer 4 skyddsringar.

Stöd för flera skyddsringar var ett av de revolutionerande koncepten som ingick i operativsystemet Multics, föregångaren till dagens UNIX-liknande operativsystem.

Det ursprungliga Multics-systemet hade 8 skyddsringar, men många moderna system tenderar att ha färre. Processorn vet alltid i vilken ring koden exekveras, tack vare speciella maskinregister.

Ringmekanismen begränsar strikt sätten på vilka kontroll kan överföras från en ring till en annan. Det finns en instruktion som överför kontrollen från en mindre säker till en säkrare (lägre nummer) ring. Denna mekanism är utformad för att begränsa risken för oavsiktliga eller avsiktliga säkerhetsintrång.

Effektiv användning av ringskyddsarkitektur kräver nära interaktion mellan hårdvara och operativsystem. Operativsystem som är designade för att köras på stort antal plattformar kan ha olika implementeringar av ringmekanismen på varje plattform.

Fråga #6: Vad är RAM-segmentering?

Segmentering är en teknik för att organisera program där adressstrukturen i programmet speglar dess innehållsindelning. Vid segmentering är adressutrymmet för varje program uppdelat i segment av varierande längd, som motsvarar meningsfullt olika delar av programmet. Ett segment kan till exempel vara en procedur eller ett dataområde. I detta fall består adressen av segmentnamnet och adressen inom offsetsegmentet. Eftersom programsegment nås med namn, är det möjligt att placera segment i icke-angränsande minnesområden, dessutom måste inte alla segment vara i RAM samtidigt flyttas till OP efter behov.

Som redan nämnts, i ett segmenterat system, representerar varje adress ett par: s är segmentnamnet och d är offset. Varje program har en motsvarande segmenttabell som alltid finns i minnet, i vilken varje segment denna process en post matchar. Med hjälp av denna tabell mappar systemet mjuka adresser till sanna OP-adresser. Tabelladressen lagras i ett hårdvaruregister som kallas segmenttabellregistret.

Adressberäkning under segmentering utförs enligt följande. Innan systemet kan beräkna adressen kontrolleras närvaron av ett segment i OP av hårdvara. Om ett segment är närvarande, med hjälp av segmenttabellregistret, kommer man åt den s:te raden i segmenttabellen, där adressen för segmentet i minnet indikeras. Eftersom segment kommer i olika längder är det nödvändigt att känna till segmentgränsen för att förhindra åtkomst bortom ett givet segment.

Om systemet vid något tillfälle vill växla sin uppmärksamhet till en annan process, ersätter det helt enkelt innehållet i segmenttabellregistret med adressen till en annan segmenttabell, varefter typlänkarna tolkas enligt den nya tabellen.

Segmentering av adressutrymme har många fördelar framför absolut adressering, och det viktigaste är den effektiva användningen av RAM. Om det inte finns tillräckligt med utrymme i RAM-minnet för alla segment av ett givet program, kan vissa vara tillfälligt placerade i extraminnet. Om något program behövde införa ett nytt segment i OP, så kan systemet ta bort vilket segment som helst från OP till ett extra. Det föreskrivna segmentet behöver inte tillhöra det program för vilket ett nytt segment introduceras i OP. Det spelar ingen roll vilken segmenttabell det avhysta segmentet motsvarar, huvudsaken är att när det överförs till hjälpminnet ändras värdet på attributet i motsvarande segmenttabell.

Fråga nr 7. Huvuddragen hos videodata. Matris och grafisk representation av videoinformation

Videoinformation kan vara både statisk och dynamisk. Statisk videoinformation inkluderar text, bilder, grafer, ritningar, tabeller etc. Bilder är också uppdelade i platt - tvådimensionell och tredimensionell - tredimensionell.

Dynamisk videoinformation är videofilmer och animationer som används för att överföra rörliga bilder. De är baserade på sekventiell exponering på skärmen i verklig skala tid för individuella bildrutor i enlighet med skriptet.

Demonstration av animerade och diabildsfilmer bygger på olika principer. Animerade filmer visas på ett sådant sätt att det mänskliga visuella systemet inte kan fånga enskilda bildrutor. För att få högkvalitativ animering måste bildrutor ändras cirka 30 gånger per sekund. Vid demonstration av diafilmer exponeras varje bildruta på skärmen så länge som det behövs för att en person ska kunna uppfatta den (vanligtvis från 30 s till 1 min). Diafilmer kan klassificeras som statisk videoinformation.

Inom datorer finns det två sätt att representera grafiska bilder; matris (raster) och vektor. Matrisformat (bitmappsformat) är väl lämpade för bilder med komplexa färger, nyanser och former, som fotografier, ritningar, skannade data. Vektorformat bättre lämpad för ritningar och bilder med enkla former, skuggning och färgläggning.

I matrisformat representeras bilden rektangulär matris punkter -- pixlar (bildelement), vars position i matrisen motsvarar koordinaterna för punkterna på skärmen. Förutom koordinater kännetecknas varje pixel av sin egen färg, bakgrundsfärg eller ljusstyrka. Antalet bitar som allokeras för att ange färgen på en pixel varierar beroende på formatet. I högkvalitativa bilder beskrivs färgen på en pixel i 24 bitar, vilket ger cirka 16 miljoner färger. Den största nackdelen med matris (raster) grafik är stor kapacitet minne som krävs för att lagra en bild, varför olika datakomprimeringsmetoder används för att beskriva bilder. För närvarande finns det många grafiska filformat som skiljer sig i komprimeringsalgoritmer och metoder för att representera matrisbilder, såväl som i tillämpningsområdet.

Vektorrepresentation, till skillnad från matrisgrafik, definierar beskrivningen av bilden inte med pixlar, utan med kurvor - splines. En spline är en jämn kurva som går genom två eller flera referenspunkter, som kontrollerar formen på spline.

Den största fördelen med vektorgrafik är att beskrivningen av ett objekt är enkel och tar upp lite minne. Förutom, Vektorgrafik i jämförelse med matrisen har den följande fördelar:

Enkel bildskalning utan att kompromissa med kvaliteten;

Oberoende av minneskapaciteten som krävs för att lagra bilden från den valda färgmodellen.

Nackdelen med vektorbilder är deras vissa konstgjordhet, som består i det faktum att vilken bild som helst måste delas upp i en ändlig uppsättning av dess beståndsdelar. Precis som med matrisgrafik finns det flera vektorgrafikfilformat.

Matris- och vektorgrafik existerar inte separat från varandra. Så, vektor ritningar kan också innehålla matrisbilder. Dessutom kan vektor- och matrisbilder konverteras till varandra. Grafiska format som låter dig kombinera matris- och vektorbildsbeskrivningar kallas metafiler. Metafiler ger tillräcklig kompakthet av filer samtidigt som hög bildkvalitet bibehålls.

De övervägda formerna för representation av statisk videoinformation används i synnerhet för individuella bildrutor som bildar animerade filmer. Olika metoder för informationskomprimering används för att lagra animerade filmer, varav de flesta är standardiserade.

Fråga nr 8. Vad är en fil? Skillnader mellan fil och katalog

datorminne RAM-videodata

Fil (engelsk fil - mapp) är ett koncept inom datoranvändning: en enhet som låter dig komma åt alla resurser i ett datorsystem och har ett antal egenskaper:

Fast namn (en sekvens av tecken, ett nummer eller något annat som unikt kännetecknar filen);

En specifik logisk representation och dess motsvarande läs/skrivoperationer.

Det kan vara vad som helst - från en sekvens av bitar (även om vi läser den i byte, eller snarare i ordgrupper av byte, fyra, åtta, sexton vardera) till en databas med en godtycklig organisation eller något mellanliggande alternativ; flerdimensionell databas, strikt beställd.

Det första fallet motsvarar läs/skrivoperationer för en ström och/eller array (det vill säga sekventiell eller med indexåtkomst), det andra - DBMS-kommandon. Mellanliggande alternativ - läsa och analysera alla typer av filformat.

En fil är en namngiven samling av bytes av godtycklig längd som finns på ett lagringsmedium, och en katalog är en namngiven plats på en disk där filer lagras. Fullständiga namn filen kan innehålla kataloger som C:\papka\file.txt, eller kanske inte innehålla C:\file.txt, och en katalog är där filerna kan finnas: C:\papka. En katalog kan inte öppnas i ett program för att skriva eller läsa information i den, den är till för att lagra filer i sig själv, tvärtom kan den öppnas och redigeras.

Fråga nr 9. Huvudstegen i den moderna processorpipelinen

Processorns huvuduppgift är att utföra (och så snabbt som möjligt) instruktionerna som ingår i programmet. Det enklaste sättet (att öka processorns klockfrekvens) uttöms snabbt av tekniska begränsningar. Därför måste vi leta efter andra sätt att öka produktiviteten. Det var en uppsättning arkitektoniska innovationer som gjorde det möjligt att öka prestandan hos Pentium jämfört med 486 processorer. Den viktigaste av dem är transportören.

Att utföra ett kommando består av ett antal steg:

1) läsa ett kommando från minnet,

2) bestämma längden,

3) bestämma adressen för minnescellen, om den används,

4) kommandoexekvering,

5) spara resultatet.

I tidiga processorer utfördes alla dessa steg helt på varje instruktion. Pipelinen gjorde det möjligt att påskynda processen: efter att teamet passerat ett av stegen och gått vidare till nästa började bearbetningen av nästa kommando. Denna lösning dök upp i de senaste 486s (till exempel i AMD 5x86-133). Pentium introducerade dubbla rörledningar för första gången. Kommandon kunde utföras parallellt (förutom flytande aritmetik och hoppkommandon). Detta ökade produktiviteten med cirka 30-35%.

Fråga nr 10. Vad är registerbyte?

Registerbyte är en metod för att försvaga det ömsesidiga beroendet av instruktioner, som används i processorer som utför deras out-of-order exekvering.

Om det, i enlighet med två eller flera instruktioner, är nödvändigt att skriva data till ett register, blir deras korrekta out-of-order exekvering omöjlig även om det inte finns något databeroende. Sådana ömsesidiga beroenden kallas ofta falska.

Eftersom antalet arkitektoniska register vanligtvis är begränsat är sannolikheten för att falska beroenden inträffar ganska hög, vilket kan leda till minskad processorprestanda.

Registerbyte är konvertering av programvarureferenser till arkitekturregister till referenser till fysiska register och minskar effekten av falska beroenden genom att använda ett stort antal fysiska register istället för ett begränsat antal arkitekturregister. I detta fall övervakar processorn vilket fysiskt registertillstånd som motsvarar det arkitektoniska tillståndet, och resultaten matas ut i den ordning som tillhandahålls av programmet.

Källor

Internetresurs - http://www.chinapads.ru/

Ryazantsev O.I., Nedzelsky D.O., Guseva S.V. Arkitektonisk och strukturell organisation av datorsystem. Chefsassistent. - Lugansk: Utsikt. SNU im. V. Dalia, 2008.

Internetresurs - http://studopedia.net/

Internetresurs - http://proc.ucoz.ru/load/ustrojstvo_processora/1-1-0-2

E. Tannenbaum. Computer Architecture, 4:e uppl. SPb. Peter 2006.

Internetresurs - http://193.108.240.69/moodle/file.php/5/navch_pos_OS.doc

Internetresurs - http://znanija.com/task/1788585

Postat på Allbest.ru

Liknande dokument

    Klassificering av datorminne. Användning av RAM, statiskt och dynamiskt RAM. Funktionsprincip för DDR SDRAM. Formatera magnetiska skivor. Det största problemet är synkronisering. Teori om beräkningsprocesser. Minnesadressering.

    kursarbete, tillagt 2016-05-28

    Historien om utseendet och utvecklingen av RAM. Allmänna egenskaper hos de mest populära moderna arter RAM - SRAM och DRAM. Fasändringsminne (PRAM). Thyristor Random Access Memory, dess detaljer.

    kursarbete, tillagd 2014-11-21

    Det enklaste schemat interaktion mellan RAM och CPU. Strukturen och principerna för funktion av RAM. Utvecklingen av dynamiskt minne. Minnesmodul EDO-DRAM BEDO (Burst EDO) - burst EDO RAM. Minnesmodul SDRAM, DDR SDRAM, SDRAM II.

    abstrakt, tillagt 2009-12-13

    Koncept, typer och huvudfunktioner för datorminne - delar av en dator, fysisk enhet att lagra data som används i beräkningar under en viss tidsperiod. Schematiskt diagram random access minne. Flexibla magnetskivor.

    presentation, tillagd 2012-03-18

    Minne för datorsystem, dess skapande och egenskaper hos funktioner. Skapande av minnesenheter och grundläggande funktionsegenskaper. Funktionsdiagram och metod för att organisera en matris av lagringselement. Typer av magnetiskt och flashminne.

    presentation, tillagd 2009-12-01

    Lagring av olika information som huvudsyftet med minnet. Karakteristika för typer av minne. Minnestyperna SRAM och DRAM. Cacheminne eller ultrarandom access-minne, dess specifikationer och användningsområden. Den senaste utvecklingen inom området RAM.

    presentation, tillagd 2014-01-12

    Generalisering av huvudtyperna och syftena med dator-RAM. Flyktigt och icke-flyktigt minne. SRAM och DRAM. Triggers, dynamiskt RAM och dess modifieringar. Cacheminne. Skrivskyddad lagringsenhet. Flashminne. Typer av externt minne.

    kursarbete, tillagd 2013-06-17

    Förbättring av minnesmodulparametrar. Operativsystemets funktion och interaktion med RAM. Analys av huvudtyperna och parametrarna för RAM. Mjukvarudelen bearbetar exekveringen av kommandon och placerar dem i RAM.

    kursarbete, tillagd 2009-12-02

    Allmän enhet mikroprocessor. Strukturen för 64-bitars minnesundersystemet. Val av in-/utgångsportar. Funktioner i gränssnittet för mikroprocessorsystem. Design av ett minnesundersystem baserat på Itanium 2. Beräkning av informationsinnehåll och erforderliga volymer.

    kursarbete, tillagt 2012-05-12

    Konceptet och funktionella egenskaperna hos datorlagringsenheter, deras klassificering och typer, Jämförande egenskaper: ROM, DRAM och SRAM. Bedömning av fördelar och nackdelar med varje typ av RAM, anvisningar och sätt att använda dem.


Sedan skapandet av von Neumann-datorn, den viktigaste minne i ett datorsystem är organiserat som linjärt (endimensionellt) adressutrymme, bestående av en sekvens av ord och senare bytes. Den externa är organiserad på liknande sätt. minne. Även om denna organisation återspeglar den hårdvara som används, överensstämmer den inte med hur program vanligtvis skrivs. De flesta program är organiserade i moduler, av vilka några är oföränderliga (skrivskyddad, körbara), medan andra innehåller data som kan ändras.

Om operativ system Och Hårdvara effektivt kan arbeta med användarprogram och data representerade av moduler, detta ger ett antal fördelar.


  1. Moduler kan skapas och kompileras oberoende av varandra, där alla referenser från en modul till en annan löses av systemet medan programmet körs.

  2. Olika moduler kan erhålla olika grader av skydd (skrivskyddad, endast exekvering) på bekostnad av mycket måttlig overhead.

  3. Det är möjligt att använda en mekanism som säkerställer delning av moduler mellan olika processer (för fallet med samarbete mellan processer i arbetet med en uppgift).
Minne - det viktigasteresurs datorsystem som kräver effektiv hantering.Även om dessa dagar minne den genomsnittliga hemdatorn är tusentals gånger större minne stordatorer på 1970-talet växte program i storlek snabbare än minne. Det räcker med att bara säga det operativ system tar upp hundratals MB (t.ex. Windows 2000 – upp till 30 miljoner rader), för att inte tala om applikationsprogram och databaser som kan uppta tiotals och hundratals GB i datorsystem.

En parafras av Parkinsons lag säger: "Program expanderar för att fylla mängden tillgängligt minne för att stödja dem." (detta sa om OS). Helst skulle programmerare vilja ha obegränsad storlek och hastighet minne, vilket skulle vara icke-flyktigt, dvs. behöll sitt innehåll när strömmen stängdes av, och skulle dessutom vara billigt. Men i verkligheten finns det inget sådant minne ännu. Samtidigt, i alla skeden av utvecklingen av produktionsteknik för minnesenheter, gäller följande ganska stabila relationer:


  • ju kortare åtkomsttid, desto dyrare bit;

  • ju högre kapacitet, desto lägre kostnad per bit;

  • ju högre kapacitet, desto mer tid tillgång.
Att hitta utgång Baserat på den nuvarande situationen är det nödvändigt att inte lita på enskilda komponenter eller teknik, utan att bygga en hierarki av lagringsenheter, som visas i fig. 6.1. När du flyttar från vänster till höger händer följande:

  • kostnaden per bit reduceras;

  • kapacitetsökningar;

  • åtkomsttiden ökar;

  • Frekvensen av processoråtkomst till minne minskar.

Ris. 6.1. Minnets hierarki

Anta CPU Det har tillgång till minne av två nivåer. Den första nivån innehåller E 1-ord, och den kännetecknas av en åtkomsttid T 1 = 1 ns. Till denna nivå CPU kan kontakta direkt. Men om du behöver få ord, som ligger på den andra nivån, måste den först överföras till den första nivån. I det här fallet, inte bara det som krävs ord, A datablock som innehåller detta ord. Eftersom adresserna adresserade CPU, tenderar att samlas i grupper (cykler, subrutiner), CPUåtkomst till en liten, upprepande uppsättning kommandon. Således kommer processorn att arbeta med det nyligen mottagna minnesblocket under ganska lång tid.

Låt oss beteckna med T 2 = 10 ns tiden för åtkomst till den andra minnesnivån, och med P - attityd antalet förekomster av det önskade ordet i snabbminnet till antalet alla åtkomster. Låt i vårt exempel P = 0,95 (dvs 95 % av samtalen är för snabba minne, vilket är ganska realistiskt), sedan genomsnittet åtkomsttid kan skrivas till minnet så här:

T av = 0,95*1ns + 0,05* (1ns+10ns)=1,55ns

Denna princip kan tillämpas på mer än bara dubbelnivåminne. Detta är faktiskt vad som händer. Mängden RAM-minne påverkar avsevärt beräkningsprocessens natur, eftersom den begränsar antalet program som körs samtidigt, dvs. multiprogrammeringsnivå. Förutsatt att processen tillbringar en del p av sin tid i att vänta på slutförande operationer input-output, sedan belastningsgraden Z central processor(CPU) kommer helst att uttryckas av beroendet

Z = 1 - p n, där n är antalet processer.

I fig. Figur 6.2 visar beroendet Z=p(n) för olika färdigställande väntetider operationer I/O (20 %, 50 % och 80 %) och antal processer n. Det stora antalet uppgifter som krävs för hög CPU-användning kräver en stor mängd RAM. I förhållanden där det tillgängliga minnet inte räcker till för att säkerställa en acceptabel nivå av multiprogrammering, föreslogs en metod för att organisera en beräkningsprocess där bilder av vissa processer tillfälligt laddas upp helt eller delvis till disk.

Uppenbarligen är det vettigt att tillfälligt ladda ner inaktiva processer som väntar på vissa resurser, inklusive nästa CPU-tidsdel. När det går exekvering av den urladdade processen, returneras dess bild från disken till den operativa minne. Om det upptäcks att det inte finns tillräckligt med ledigt utrymme i RAM-minnet, då disk en annan process laddas ur.

En sådan substitution ( virtualisering) RAM med diskminne gör att du kan öka nivån på multiprogrammering, eftersom mängden RAM nu inte så strikt begränsar antalet samtidigt exekverande processer. I det här fallet kan den totala mängden RAM som upptas av processbilder avsevärt överstiga den tillgängliga mängden RAM.

I I detta fall Applikationsprogrammeraren är försedd med en virtuell operation minne, vars storlek är mycket större än den riktiga minne systemet och begränsas endast av adresseringsmöjligheterna för den process som används (i datorer baserade på Pentium 2 32 = 4 GB). I allmänhet kallas virtuell (skenbar). resurs, som har egenskaper (i detta fall en stor volym OP) som den faktiskt inte har.

Virtualisering RAM implementeras av en kombination av hårdvara och mjukvara i datorsystemet (processorkretsar och operativsystem) automatiskt utan deltagande av en programmerare och påverkar inte applikationens logik.

Virtualisering minne är möjligt baserat på två möjliga tillvägagångssätt:


  • swapping – processbilder laddas ner till disk och returneras till RAM i sin helhet;

  • virtuellt minne ( virtuellt minne) – delar av bilder (segment, sidor, block, etc.) av processer flyttas mellan RAM och disk.
Nackdelar med att byta:

  • redundans för överförda data och därmed nedgång i systemet och ineffektiv användning av minne;

  • oförmåga att ladda processen, virtuellt utrymme som överstiger det lediga minnet.
Fördelar med att byta Förbi jämfört med virtuellt minne - mindre utgifter tid att konvertera adresser i programkoder, eftersom det görs en gång när man laddar från disk till minne(Denna fördel kan dock vara obetydlig, eftersom endast en del av koden exekveras under nästa laddning och det kanske inte är nödvändigt att helt transformera koden).

Virtuellt minne har inte dessa nackdelar, men dess huvudproblem är omvandlingen av virtuella adresser till fysiska (varför detta är ett problem kommer att framgå senare, men för nu kan vi notera de betydande utgifter tid för denna process, om inte särskilda åtgärder vidtas).

Virtuellt minne koncept

I en dator med virtuellt minne lagras adressutrymmet (AS) för en process (processbild) i datorns externa minne under exekvering och laddas in i det verkliga minnet i delar, dynamiskt efter behov, till valfritt ledigt utrymme i ROP:n . Programmet vet dock ingenting om detta, och skrivs och körs som om det var helt i ROP.

Virtuellt minne är en simulering av RAM i externt minne.

Mekanismen för att kartlägga virtuella och verkliga adresser upprättar en överensstämmelse mellan dem och anropas dynamisk adressöversättning(DPA ).

Datorn här fungerar redan som en logisk enhet, och inte en fysisk maskin med unika egenskaper. DPA stöds på hårdvaru- och firmwarenivå. Intel MP, som börjar med 386-processorn, stöder virtuellt minne.

Denna procedur utförs för EC-datorer - rad 2 och högre, för SM-datorer - 1700, för IBM PC - I386 och högre.

När du hanterar virtuellt minne är angränsande virtuella adresser inte nödvändigtvis intilliggande riktiga adresser (artificiell närhet). Programmeraren är befriad från behovet av att överväga placeringen av sina procedurer och data i ROP. Han får möjligheten att skriva program på det mest naturliga sättet, och arbetar bara på detaljerna i algoritmen och programmets struktur, och ignorerar de specifika egenskaperna i hårdvarustrukturen.

DPA-mekanismen innebär att upprätthålla tabeller som visar vilka VP-celler som finns i det här ögonblicket tid de är i ROP och var exakt. Eftersom individuell visning av informationselement (ord-för-ord eller byte-för-byte) inte är meningsfull (eftersom adressavbildningstabeller skulle kräva mer ROP än processer), utförs adressmapping på nivån för OP-block.

Bild 1. Dynamisk adressöversättning

Problem: vilken del av processerna som ska behållas i OP, vid vissa tillfällen, att trycka ut vissa delar av OP och placera andra.

En annan fråga som måste lösas: Hur man gör blockstorlek?

En ökning av blockstorleken leder till en minskning av storleken på blockmappningstabellen, men ökar utbytestiden och omvänt leder en minskning av blockstorleken till en ökning av tabeller och en minskning av utbytestid med externt minne.

Block kan ha fast storlek (sidor) eller variabel storlek (segment). I detta avseende finns det fyra sätt att organisera virtuellt minne:

1.Dynamisk sidorganisation.

2. Segmentorganisation.

3. Kombinerad segment-sida organisation.

4.Sidorganisation på två nivåer.

Virtuella adresser i sid- och segmentsystem är tvåkomponents och representerar ett ordnat par (p,d), Var sid- numret på blocket (sida eller segment) där elementet finns, och d- offset i förhållande till startadressen för detta block. Virtuell adresskonverteringV=(p,d) till riktig minnesadressr utförs enligt följande. När nästa process aktiveras laddas adressen till blockmappningstabellen för denna process in i ett speciellt processorregister. Enligt blocknummer sid från blockmappningstabellen läses en rad i vilken en överensstämmelse upprättas mellan antalet virtuella och fysiska sidor för sidor som laddats in i RAM, eller en notering görs att den virtuella sidan byts ut till disk. Dessutom innehåller sidtabellen kontrollinformation, till exempel en sidändringsindikator, en icke-sökbar indikator (vissa sidor kan vara förbjudna från att bläddras ut), en sidåtkomstindikator (används för att räkna antalet åtkomster under en viss tidsperiod) och annan data som genereras och används av den virtuella minnesmekanismen. Offsetstorleken läggs till den lästa fysiska adressen för det valda blocket d och den erforderliga riktiga adressen beräknas.

Figur 2. Konvertera en virtuell adress till riktig adress minne

Låt oss överväga vad är strategin för hantering av virtuellt minne? I likhet med ROP-hantering finns det tre kategorier av strategier för att hantera VI, med målet att minska sidväntningar och endast placera använda block i ROP.

Driv strategi , som bestämmer när en sida eller ett segment ska skrivas om från externt minne till OP.

A) trycka på begäran- systemet förväntar sig en länk till sidan/segmentet från den pågående processen (avbryt på grund av sida frånvaro);

argument för:


  • vägen för programexekvering kan inte förutsägas med säkerhet;

  • garantera att endast de nödvändiga sidorna finns i OP;

  • omkostnaden för att fastställa vilka sidor som krävs är minimal;
argument mot:

  • att byta ett block i taget ökar den totala väntetiden.
b) förutseende push förutsätter att systemet kan förutse behovet av att använda sidan/segmentet i framtiden. Om sannolikheten för förfrågningar är hög och det finns en ledig OP, så skrivs motsvarande block om till OP.

Fördel: minskad väntetid.

För närvarande ökar utrustningens prestanda, och icke-optimala lösningar leder inte till en minskning av effektiviteten hos datorsystem.

Placeringsstrategi, bestämma var den inkommande sidan/segmentet ska placeras. I sidsystem - trivialt: i valfritt fritt block (sidan har en fast storlek). I segmentsystem används samma strategier som för en verklig OP (till det första lämpliga området, till det lämpligaste, till det minst lämpliga).

Push-out (ersättnings-) strategi bestämma vilken sida/segment som ska tas bort från OP för att frigöra utrymme för den inkommande sidan.

Detta är huvudproblemet" glidning", där den utmatade sidan måste placeras igen i ROP vid nästa ögonblick.

Låt oss överväga procedurerna för att bestämma block som ska skjutas ut ur OP.

A) poppar en slumpmässig sida- används inte i verkliga system;

b) mata ut den första sidan som kommer (FIFO- kö). För att implementera detta är det nödvändigt att ställa in sidtidsstämplar.

Argument: Sidan har redan haft möjligheter att ta vara på sin chans.

Faktiskt: Mycket sannolikt kommer att ersätta aktivt använda sidor, eftersom sidor som finns kvar under en lång tid kan innebära att den ständigt används. Till exempel textredigeraren som används.

V) mata ut de längsta oanvända sidorna.

För att implementera detta är det nödvändigt att implementera uppdateringsbara tidsstämplar. Heuristiskt argument: - det senaste förflutna är en bra guide till framtiden.

Nackdel - betydande kostnader: ständig uppdatering tidsstämplar.

G) mata ut de minst använda sidorna- förutsätter närvaron av sidräknare (mindre intensivt än uppdaterade tidsstämplar). Intuitivt motiverad, men kanske inte heller rationell.

d) mata ut nyligen oanvända sidor- den vanligaste algoritmen med låg overhead. Implementerad av två hårdvarubitar per sida:

1. behandlingstecken 0 - var

1 - det fanns ingen.

2. post ändring tecken 0 - oförändrad.

1 - ändrat.

Följande kombinationer är möjliga { 00,10,01,11). Om det inte gjordes några ändringar på sidan kan sidan helt enkelt skrivas om istället för att sparas på disk.

Minnesmoduler kännetecknas av sådana parametrar som volym (16, 32, 64, 128, 256 eller 512 MB), antal chips, namnskyltsfrekvens (100 eller 133 MHz), dataåtkomsttid (6 eller 7 ns) och antal kontakter (72, 168 eller 184).

DIP-moduler. DRAM-chips är förpackade i vad som kallas ett DIP-paket, där DIP står för Dual In-line Package. Denna term hänvisar till minnesfall där stiften är placerade på sidorna (påminner om en skalbagge) - Fig. 3,48, A. Själva kristallen, som minnescellerna sitter på, är betydligt mindre än fallet. Denna höljesdesign bestäms av sådana krav som enkel installation av tryckta kretsar och installation av mikrokretsen i uttag på moderkortet, samt överensstämmelse med elementens temperaturförhållanden.

De flesta DIP-moduler har radavstånd på 2,54 mm (0,1") och radavstånd på 7,62 mm (0,3" - "Skinny DIP") eller 15,24 mm (0,6"). Det typiska antalet kontakter är 8 eller något annat jämnt tal från 14 till 24 (sällan -28) för 0,3"-paket och 24, 28, 32 eller 40 (sällan 36, 48 eller 52) för hus med 0,6". i det metriska måttsystemet (till exempel är stiftavståndet 2,5 mm istället för 2,54 mm / 0, G).

Olika varianter av DIP-paket är kända, huvudsakligen olika i tillverkningsmaterial:

  • keramik (Ceramic Dual In-line Package - CERDIP);
  • plast (Plastic Dual In-line Package - PDIP);
  • plast komprimerad (Shrink Plastic Dual In-line Package - SPDIP) - komprimerad version av PDIP med ett stiftavstånd på 1,778 mm (0,07").

De viktigaste parametrarna för DRAM-chips är minneskapacitet och organisation. DRAM-element, i form av separata chips, installerades vanligtvis på äldre moderkort. För närvarande används dessa chips som komponenter i minnesmoduler, såsom SIP-, ZIP- och SIMM-moduler.

Information om mikrokretsen i dess beteckning består vanligtvis av flera fält. Det första fältet innehåller information om tillverkaren och typen av avslag under tillverkningen av chipet, nästa kännetecknar kapaciteten och nästa - materialet från vilket fodralet är tillverkat och åtkomsttid.

Till exempel för Mostek mikrokretsar är de två första bokstäverna MK beteckningen på företaget, MKV betyder att denna Mostek mikrokrets är underkänd enligt militär standard (MIL STD-833), och MKI betyder att mikrokretsen har avvisats i enlighet med med det industriella temperaturområdet. Siffran 4 indikerar att chipet är ett DRAM-element. Siffran efter anger mängden information

Ris. 3,48. Utseende minnesmoduler: A- hölje DIP-14; b- SIP-modul; V - ZIP-modul; g - ZIP-kontakt; d- SIMM för 72 kontakter; e-DDR2 (1 GB, 533 MHz) med kylfläns (184 stift och en nyckel); och- DDR SO-DIMM (PC2700, 200 stift); h - RDRAM-modul med

inbyggd radiator

matningskategorier: 1 - en kategori, 4 - fyra kategorier. Den grupp av tal som följer anger antalet informationsbitar i kilobit (64 - 64 Kbit, 256 - 256 Kbit, 1000 - 1 Mbit). Därefter anger bokstaven typen av hölje (till exempel P - plast, även om typen kanske inte anges). Åtkomsttiden i nanosekunder anges med ett bindestreck. Med beteckningen MKV44256-70 kan man alltså enkelt fastställa att detta är en Mostek-mikrokrets, som har förkastats enligt militärstandarden, har en 4:e bitkapacitet på 256 Kbit vardera och en åtkomsttid på 70 ns.

SIP-moduler. DRAM-chips är ganska lätta och enkla att installera i en PC, men de tar upp mycket utrymme. För att minska storleken på PC-komponenter, inklusive RAM-element, ett antal konstruktiva lösningar, vilket ledde till att varje minneselement inte längre installerades i en separat panel, och kompatibla DRAM-element kombinerades till en modul, gjord på ett litet kretskort.

Tekniken som implementerar denna design av minneselement kallas SMT (Surface Mounting Technology), ordagrant översatt som "ytmonteringsteknik". Tack vare det installerades kompatibla DRAM-element på ett kort, vilket först och främst innebar att spara utrymme.

Som en implementering av SMT-teknik kan vi namnge de så kallade SIP-modulerna med enkelradiga pinouts (Single In-line Package - SIP). SIP-moduler är ett litet kort med kompatibla DRAM-chips installerade på det (se figur 3.48). Denna bräda har 30 stift, dess dimensioner är cirka 8 cm långa och cirka 1,7 cm höga.

SIP-moduler installeras i motsvarande kontakter på moderkortet. Men när man installerar och tar bort sådana moduler bryter de tunna stiften på utgångarna ofta av, och kontakten mellan stiftet och kontakten är opålitlig. Detta ledde till vidareutveckling av minnesmoduler och uppkomsten av SIMM-moduler.

blixtlås(Zig-zag In-line Package) är en kortlivad integrerad kretsteknologi, speciellt DRAM-chips. Den designades för att ersätta DIP. Den integrerade ZIP-kretsen är innesluten i ett plasthölje, vanligtvis 3 x 30 x 10 mm. Enhetsterminalerna är placerade i 2 rader på ena sidan av huset. Dessa rader är åtskilda 1,27 mm (0,05") i ett förskjutet mönster, vilket gör att de kan placeras mer kompakt än ett konventionellt rektangulärt rutnät (Figur 3.48, CD). I detta fall kan kretshusen placeras tätare på kortet än med DIP-kretsar, med samma storlek. ZIP ersattes senare av konfigurationer som TSOPs (tunn small-outline packages), som används i SIMMs (single-in-line memory modules) och DIMMs (dual-in-line minnesmoduler).

SIMM-moduler. När vi pratar om en SIMM-modul menar vi ett kort som är ungefär lika stort som en SIP-modul. Skillnaden ligger främst i kontakternas utformning. Till skillnad från SIP-modulen är stiften för SIMM-modulen ersatta av så kallade PAD (plugg) kontakter. Dessa kontakter är tryckta och är placerade på ena kanten av kortet. Det är med denna kant som SIMM-moduler installeras i speciella kortplatser på moderkortet (Fig. 3.48, d). Tack vare denna design av SIMM-moduler ökar tillförlitligheten hos den elektriska kontakten i kontakten och den mekaniska styrkan hos modulen som helhet avsevärt, särskilt eftersom alla kontakter är gjorda av högkvalitativt material och är guldpläterade.

RAM-fel uppstår oftast inte på grund av skador på SIMM-moduler, utan snarare på grund av dålig bearbetning av kontaktkontakter på moderkortet.

Dessutom tillåter den bekväma designen av SIMM-moduler användare att självständigt ändra och lägga till minneselement utan rädsla för att skada stiften.

SIMM-moduler är en standard i moderna datorsystem. SIMM-moduler utrustade med DRAM 41256 används relativt sällan idag. Oftare är SIMM-moduler utrustade med minneschips med en total kapacitet på 8, 16 och 32 Mbit. Därefter dök SIMM-moduler med en kapacitet på 120 Mbit eller mer upp på marknaden.

Datorer med CPU 80386 och tidiga modeller med CPU 80486 använde 30-stifts SIMM-minnesmoduler (DRAM), och antalet platser på moderkortet varierade från 4 till 8. För närvarande är sådana moduler inte lätta att hitta till försäljning. Senare PC-modeller med 80486- och Pentium-processorer började använda 72-stifts SIMM-minnesmoduler (FPM DRAM).

DIMM-moduler. Därefter dök det upp platser för 168-stifts DIMM-minnesmoduler (Dual In-line Memory Module) på många moderkort. DIMMs har en intern arkitektur som liknar 72-stifts SIMM, men med en bredare buss ger de ökad CPU-RAM-prestanda.

För korrekt placering av DIMM-moduler när de installeras i kortplatser på moderkortet, tillhandahålls två nycklar i deras design:

  • den första nyckeln är placerad mellan stift 10 och 11 och används för att bestämma typen av modulminne (FPM DRAM eller SDRAM);
  • den andra nyckeln är placerad mellan stift 40 och 41 och används för att bestämma modulens matningsspänning (5 eller 3,3 V).

DIMM-moduler stöder till exempel moderkort baserade på Chipset 82430VX, 82440FX, 83450KX/GX, 82430TX.

SO-DIMM(Small Outline Dual In-Line Memory Module) är en typ av integrerade kretsar för dator-RAM (Fig. 3.48, och).

SO-DIMM:er är ett mindre alternativ till DIMM:er och tar vanligtvis upp ungefär hälften av det utrymme som krävs av konventionella DIMM:er. Som ett resultat av detta används SO-DIMM främst i enheter som bärbara datorer, små stationära datorer (med Mini-ITX-kort), avancerade skrivare och nätverkshårdvara(till exempel routrar).

SO-DIMM kan ha 72, 100, 144 eller 200 stift, vilket stöder dataöverföring på 32 bitar (100) respektive 64 bitar (144 och 200). Vanliga DIMM:er har 168, 184 eller 240 och alla stöder 64-bitars dataöverföring.

Olika SO-DIMM-typer känns igen av placeringen av "nycklarna" - 100-stifts moduler har två nycklar, en 144-stifts SO-DIMM har en nyckel nära mitten av höljet, en 200-stifts SO-DIMM har en nyckel närmare kanten av fallet.

SO-DIMM-enheter är ungefär lika med (eller mindre än) kraften hos DIMM-enheter, och både SO-DIMM- och DIMM-tekniker ger ungefär lika hastigheter (klockfrekvens t.ex. 400 MHz för PC3200 och CAS-latens på 2,0, 2,5 och 3,0) och kapacitet (512 MB, 1 GB, etc.). Nyare DDR2 SO-DIMMs kör upp till 800 MHz PC6400 och förväntas nå 1066 MHz PC8500.

RIMM. Med tillkomsten av Direct RDRAM (DRDRAM) 1999, dyker RIMM-modulen upp (Fig. 3.49) (namnet är inte en akronym, men varumärke Rambus Inc). RIMM-sockel har samma storlek som DIMM och kan installeras inom samma

Ris. 3,49.

område av själva moderkortet, såväl som DIMM. De har 184 stift jämfört med 168 för DIMM, men använder samma sockelspecifikation som 100 MHz DIMM-standarden. PC BIOS kan upptäcka vilket RAM som är installerat, så 100 MHz SDRAM-moduler måste fungera i ett RIMM-kompatibelt system. Det finns också kompakta SO-RIMM-minnesmodeller, liknande SO-DIMM.

Huvudelementen i Rambus-minnesundersystemet inkluderar huvudenheten, som innehåller Rambus ASIC-cellen (RAC) och minneskontrollern (Rambus Memory Controller RMC), klockgenerator(Direct Rambus Clock Generator DRCG), RIMM-kontakter, RIMM-minnesmoduler och RIMM-kontinuitetsmoduler, samt ROM-delsystemet Serial Presence Detect SPD.

I slutändan ersatte DDR-tekniker, som utvecklades och blir billigare, praktiskt taget RDRAM - i intervallet 2002-2005. marknadsandelen för RDRAM översteg inte 5 %.

FB-DIMM(Fully Buffered DIMM, fullt buffrad DIMM) är en teknik utformad för att öka tillförlitligheten, hastigheten och kapaciteten hos OP-system. I konventionella OP-konstruktioner är datalinjer som kommer från minnesstyrenheten anslutna till alla DIMM:er. När den elektriska belastningen ökar (ökar antalet moduler eller minneskapacitet), såväl som med ökande åtkomstfrekvens, börjar de passerande signalerna att förvrängas, vilket begränsar effektiviteten för systemet som helhet.

Den fullt buffrade DIMM-arkitekturen tillhandahåller en mellanbuffert (Advanced Memory Buffer - AM B) installerad mellan styrenheten och minnesmodulen (Fig. 3.50). Till skillnad från parallellbussarkitekturen för traditionella

DDR2-uttag med unik nyckel

Upp till 8 DIMM

"Southern Path" (10 bitar)

Kontroller

Ris. 3,50. FB-DIMM minnesarkitektur

DRAM, FB-DIMM har ett seriellt gränssnitt mellan styrenheten och AM B. Detta gör att du kan öka minneskapaciteten utan att öka antalet minnesstyrenhetslinjer.

Styrenheten sänder inte signalen direkt till minnesmodulen, utan arbetar genom en buffert, som återställer signalformen och sänder den vidare. Dessutom kan AM B utföra felkorrigering, vilket befriar processorn och minnesstyrenheten från denna funktion. Detta åtföljs dock av en ökning av OP-latens.

Det finns en standard (JESD82-20-protokoll) som definierar AMB-gränssnittet med DDR2-minne. FB-DIMM-kanalen består av 14 "nordgående" bitlinjer, som överför data från minnet till processorn, och 10 "södergående" linjer, som överför kommandon och data från processorn.

Varje bit sänds med 12 gånger basminnets frekvens (6 gånger om dubbelhastighets DDR - DDR3 används). Till exempel, för ett DDR2-667 DRAM-chip, kommer kanalen att arbeta med en frekvens på 667 x 12/2 = 4000 MHz. Var 12:e cykler bildar en ram: 168 bitar av "Northern Path" (144 bitar data sänds av 72-bitars DDR SDRAM plus 24 bitar för CRC-korrigering) och 120 bitar av "Southern Path" (98 användbara bitar och 22 CRC) bitar). Av de 98 bitarna här anger 2 ramtypen, 24 anger kommandot; de återstående bitarna kan innehålla (beroende på ramtypen) antingen 72 bitar skrivdata, eller två eller flera 24-bitars instruktioner, eller en eller flera instruktioner plus 36 bitar skrivdata.

Eftersom data som skrivs levereras långsammare än vad som krävs av DDR OP, ackumuleras det i AM B och skrivs sedan i en skur (vanligtvis fyra ramar med data).

Kommandona motsvarar standard DRAM-åtkomstcykler, såsom radval (/RAS), förhämtning, uppdatering, etc. Läs- och skrivkommandon innehåller endast kolumnadresserna (/CAS) för minnesmatrisen. Alla kommandon innehåller 3-bitars FB-DIMM-adresser, vilket gör att du kan ansluta upp till 8 FB-DIMM per kanal.

Tabell 9.1. Hierarki för PC-minnesundersystemet
Minnestyp 1985 2000
Provtagningstid Typisk volym Pris/byte Provtagningstid Typisk volym Pris/byte
1 Superoperativt minne (register) 0,2 5 ns 16/32 bitar $ 3 - 100 0,01 1 ns 32/64/128 bitar $ 0,1 10
2 Höghastighetsbuffertminne (cache) 20 100 ns 8Kb - 64Kb ~ $ 10 0,5 - 2 ns 32Kb 1Mb $ 0,1 - 0,5
3 Operationellt (huvud)minne ~0,5 ms 1MB - 256MB $ 0,02 1 2 ns 20 ns 128MB - 4GB $ 0,01 0,1
4 Extern lagring (massminne) 10 - 100 ms 1 MB - 1 GB $ 0,002 - 0,04 5 - 20 ms 1 GB - 0,5 TB $ 0,001 - 0,01

Processorregister utgör dess kontext och lagrar data som används av för närvarande exekverande processorinstruktioner. Processorregister nås som regel genom sina mnemoniska beteckningar i processorkommandon.

Cache används för att matcha processorns och huvudminnets hastighet. Datorsystem använder flernivåcache: nivå I-cache (L1), nivå II-cache (L2), etc. Desktopsystem använder vanligtvis en cache på två nivåer, medan serversystem vanligtvis använder en cache på tre nivåer. Cachen lagrar instruktioner eller data som sannolikt kommer att tas emot av processorn för bearbetning inom en snar framtid. Funktionen av cacheminnet är transparent för programvara, så cacheminnet är vanligtvis inte åtkomligt programmässigt.

Bagge butiker, som regel, funktionellt kompletta mjukvarumoduler(operativsystemkärnan, exekvering av program och deras bibliotek, drivrutiner för använda enheter etc.) och deras data som är direkt involverade i driften av program, och används också för att spara resultaten av beräkningar eller annan databehandling innan de skickas till extern lagring , till enhetens datautgång eller kommunikationsgränssnitt.

Varje cell random access minne tilldelas en unik adress. Organisatoriska metoder för att allokera minne ger programmerare möjlighet att effektiv användning hela datorsystemet. Sådana metoder inkluderar en kontinuerlig ("plat") minnesmodell och en segmenterad minnesmodell. När man använder en platt minnesmodell arbetar programmet med ett enda kontinuerligt adressutrymme, ett linjärt adressutrymme i vilket minnescellerna numreras sekventiellt och kontinuerligt från 0 till 2n-1, där n är CPU-bitdjupet på adressen. När en segmenterad modell används för ett program representeras minnet av en grupp oberoende adressblock som kallas segment. För att adressera en byte av minne måste ett program använda en logisk adress, bestående av en segmentväljare och en offset. En segmentväljare väljer ett specifikt segment och en förskjutning pekar på en specifik cell i adressutrymmet för det valda segmentet.

Innan man överväger tekniken för fysisk organisation av minnet i en dator är det nödvändigt att notera följande:

1. Minnet i en dator har en organisation på flera nivåer.

2. Minnet klassificeras enligt metoden för att komma åt data.

Alla typer av minnen som har adressstrukturer fungerar enligt principen om en-till-en-överensstämmelse mellan varje element i uppsättningen av adressutrymme och varje element i uppsättningen av data lagrad i minnet.

Minne med sekventiell åtkomst utesluter möjligheten till slumpmässig åtkomst till ett minneselement, till vilket åtkomsten bestäms av en köalgoritm i minnesstrukturen med dess homogena organisation eller av en sekventiell åtkomstalgoritm från högsta nivån till det lägsta i en organisation på flera nivåer (filsystem).

Associativt minne använder ett associativt tecken (en tagg, som kan vara en kod, nyckel, adress eller del av adressminnet som lagrar dess kopia) som en sökning efter ett dataelement i minnet. På grund av detta kan ett dataelement placeras var som helst i minnet, vilket bryter mot en-till-en-korrespondensprincipen som är karakteristisk för adresserbara minnesstrukturer.

3. Efter lagringsmetod.

Statisk

Dynamisk

Permanent

Flashminne

4. Minnet i en dator har en modulär struktur. Den är baserad på en modulär design, vilket gör det möjligt att bilda en variabel volym av en lagringsenhet genom att öka eller minska antalet moduler i konfigurationen.

Det fysiska minnet i ett datorsystem är uppdelat i externt och operativt. Externt minne är designat för långtidsförvaring information och lagras i ett passivt tillstånd av datorsystemet även när det är avstängt.

Externt minne i moderna datorsystem implementeras huvudsakligen på diskar och magnetband, samt olika typer av icke-flyktigt minne.

Externt minne är fysiskt implementerat som I/O-systemenheter som kommunicerar med processorn och minnet via I/O-gränssnitt, vars funktion är baserad på två olika arkitektoniska lösningar: systembuss och in-/utgångskanaler.

När det gäller RAM, vars fysiska och logiska organisation är föremål för detta ämne, är det strukturellt uppdelat i två delar: en lagringsenhet och en kontrollenhet eller minneskontroller.

Minneskontrollern är koordinatorn för RAM, den är ansluten till gränssnitt med processorn och in-/utgångssystemet, och tar emot förfrågningar från dem om data, både för att skriva till deras minne och läsa från det.

Efter att ha mottagit en förfrågan lägger styrenheten den i en kö för åtkomst till en lagringsenhet (SD) enligt prioritet, ger preferens till in-/utgångssystemet, och organiserar kommunikationen med lagringsenheten i enlighet med gränssnittsprotokollet som ansluter dem.



Funktionaliteten hos minneskontrollern är direkt beroende av komplexiteten funktionalitet system. Så till exempel i symmetrisk multiprocessorsystem Minneskontrollanten är koordinator för förfrågningar om data från alla processorer i systemet, accepterar dem för exekvering eller tillfälligt blockerar dem om uppgifterna redan behandlas av en annan processor, vilket säkerställer datakoherens i systemet.

Modernt RAM i datorsystem, i termer av lagringsmetod, hänvisar i de flesta fall till dynamiskt minne, vilket periodvis kräver ett läge för att återställa information i minnet under drift, det vill säga regenereringscykler, under vilka åtkomst till minne av externa agenter blockeras. Organisationen av sådana cykler och deras frekvens ingår i styrenhetens funktioner.

För att minska effekten av regenereringscykler på minnesprestanda har olika metoder använts. Detta är för det första användningen av modulär minneskonstruktionsteknik med organisering av banker och alternerande adresser, det vill säga med placering av data med jämna och udda adresser i olika minnesmoduler (chips) som kan nås samtidigt i en minnescykel sålunda kombinerar datasampling i en modul med en regenereringscykel i en annan, i frånvaro av en batchsamplingsmod, det vill säga samtidig sampling av data vid jämna och udda adresser.

De började också använda läget för automatisk regenerering av minnesceller, som nås för data i läsläge, och läget för intern regenerering av alla minnesceller i mikrokretsar. Men för detta ändamål måste en intern styrenhet byggas in i varje minneschip och tilldelas ovanstående och andra funktioner till den, vilket frigör den externa styrenheten för andra viktigare uppgifter.

När det gäller arkitekturen för själva lagringsenheterna, som är avsedda för lagring,

skriva och läsa data kan följande noteras.

Används som minneselement i det inledande utvecklingsskedet datateknik vakuumrör, och därefter ferritkärnor och slutligen byte till halvledarteknik, som började använda de kapacitiva egenskaperna hos den isolerade dräneringen av fälteffekttransistorn. Det slutliga målet med dessa förändringar var och kommer att vara att lösa följande problem:

Ökar minneskapaciteten

Ökad prestanda

Ökar lagringssäkerheten och minskar minnesströmförbrukningen.

Om systemminnet hos moderna 32-bitars datorer med en 32-bitars minnesadressbuss gör det möjligt att öka deras kapacitet upp till 4GB, då för datorer av 2:a och 3:e generationen med ferritminne, kapaciteten hos den tidens superdatorer beräknades endast i tiotals och hundratals kB Så kapacitet BESM6 minne inhemsk superdator vid ett tillfälle var det cirka 768 kb, och nådde inte ens gränsen för megabyte.

Språnget i RAM-kapacitet inträffade med introduktionen av halvledarteknik vid tillverkning av minneslagringsenheter, tack vare vilken RAM-kapacitet korsade megabyte-tröskeln. En av de första datorerna som hade ett sådant minne var IBM7030 1961. Dess minnesstorlek var 2 MB. Designutvecklingen i denna maskin användes senare i de välkända serierna av IBM360- och IBM370-maskiner. Dessa maskiner, som har 24-bitars minnesadressbussar, hade förmågan att öka sin minneskapacitet till 16 GB. Med introduktionen av en 32-bitars buss i datorer som ESA370, IBM4381, även om minnet inte passerade gigabytegränsen, kunde det utökas från 16 till 64 megabyte.

Moderna stordator Z-arkitekturer, som Z9BC, till exempel, har förmågan att expandera upp till 64 GBT, med en 64-bitars buss, och Z10-datorn till och med upp till 1,5 TRBT.

När det gäller våra inhemska datorer nådde RAM-kapaciteten för EU Series 3-maskiner (EC1046, EC1066) 8 Mbt, maskiner som var avsedda att avsluta sin historiska utvecklingsväg i detta skede.

Det fanns också datorer av superdatorklassen, avsedda för försvarsändamål, missilförsvarssystem, som hade en större minneskapacitet, till exempel M13-projektet (RAM-kapaciteten hos denna superdator kunde utökas till 34 MB).

Nästa av huvudegenskaperna för den fysiska organisationen av minnet är datahämtningstiden, som för 2:a generationens datorer med minne på magnetiska kärnor var 10-12 mikrosekunder. Och först med införandet av halvledarminne reducerades datahämtningstiden med en storleksordning och blev från 1,5 till 0,5 mikrosekunder.

Dynamiskt minne, till sin natur och metod för att lagra data, trots sin enklare struktur än statiskt minne, är den mest tröga, det vill säga den långsammaste delen av datorsystemet, och även med en betydande minskning av åtkomstcykler förblir det så vid den nuvarande tiden.

Detta är anledningen till konstruktionen av flernivåminne i datoranvändning system, ingår som inkluderar registerfiler och ett annat antal nivåer av höghastighetsbuffertminne, gjorda på statiska (flip-flops) lagringselement.

Modern arkitektur datorsystem arbetar med sådana koncept som virtuellt minne, vars mappning till fysiskt minne representeras av en kombination av RAM och externt minne. Detta blev möjligt som ett resultat av en idé som lades fram av engelska forskare vid University of Manchester, vars essens var att separera begreppen storleken på adressutrymmet från den specifika storleken på det adresserbara RAM-minnet i systemet. Således blev systemets adressutrymme oberoende av storleken på RAM och började presenteras för programmeraren som virtuellt minne, vilket gav honom rikliga möjligheter när du skriver program utan att begränsa dig till storleken på RAM.

För att implementera denna idé var det nödvändigt att introducera sådana begrepp som logiska adresser och virtuella sidor, representerande minnesområden av en viss lika stor storlek, i vilka hela det virtuella minnesadressutrymmet började delas upp.

Verkligt minne började delas upp i fysiska sidor, vars storlekar motsvarade storleken virtuella sidor.

Faktum är att innehållet i det virtuella minnet kan lokaliseras i RAM och sedan får den virtuella sidan statusen som en fysisk sida och i vilket som helst tillåtet område av RAM efter operativsystemets gottfinnande eller, i motsatt fall, extern minneslagring.

Därför måste ett datorsystem som implementerar en minnesvirtualiseringsmekanism ha en mekanism för att flytta innehållet på virtuella sidor från externt minne till driftminne och tillbaka under programexekvering. En sådan mekanism kallas ett filsystem, en dynamisk omdirigeringsmekanism, till exempel i IBM-system, eller en personsökningsmekanism i INTEL-processorer utföra omvandlingar av virtuella adresser till fysiska.

Begreppet logiska adresser introducerades. Adresserna för kommandon och data som genererades under exekveringen av kommandon i processorn fick statusen logisk, eftersom de inte längre motsvarar fysiska minnesadresser, utan endast angav platsen i adressutrymmet för programkoden.

Dessutom har det blivit möjligt för systemet att ha flera virtuella adressutrymmen som har sina egna scheman för att konvertera logiska adresser till fysiska.

Virtuellt minne är ett systemobjekt som betraktas på operativsystemnivå och därför är dess struktur mer lämplig att karakterisera från synvinkeln av den logiska organisationen av minnet.

Innan man karakteriserar den logiska organisationen av minnet bör det noteras att adressering fysiskt minne utförs byte för byte, det vill säga den minsta adresserbara enheten är en byte, och därför måste alla storlekar av strukturella element i den logiska organisationen av minnet vara en multipel av heltaltalet av byte i dem.

Programmet arbetar med sådana begrepp som operator, operander, konstanter, variabler, uttryckta i numerisk eller symbolisk form. Som ett resultat av översättning av programkod representerar de binära koder som består av ett heltal av byte, som placeras i RAM när programmet exekveras. Bytes kombineras till ord, ord till rader, rader till sidor, sidor till segment.

För den logiska organisationen av minnet är ordningen på bytes i minnet viktig. Det är vanligt att ordna bytes sekventiellt i minnet från vänster till höger, vilket ökar värdena på deras adresser med en.

Att partitionera virtuellt och fysiskt minne i sidor och segment gör det möjligt att inte bara mappa virtuella sidor till fysiskt minne, utan också att beskriva områden av linjärt utrymme och fysiskt minne, med hänsyn till deras syfte och åtkomsträttigheter för program i så kallade deskriptorer motsvarande till varje segment och varje sida . Således implementeras en skyddsmekanism vid åtkomst till RAM.

Och så har operativsystemsnivån till sitt förfogande en mekanism för att dela upp virtuellt och fysiskt minne i sidor och segment, som den använder som ett verktyg för att forma strukturen i systemets logiska minne. Men det finns områden i RAM för vilka endast fysisk adressering används. I dessa områden placerar operativsystemet vanligtvis tabeller som används vid konvertering av logiska minnesadresser till fysiska. A. även olika slags officiell information, till vilken tillgång endast medges från dess sida. Dessa områden kallas permanent tilldelade minnesområden, vars storlek bestäms av systemarkitekturen och operativsystemen.

Det finns en platt och flerdimensionell modell av logiskt minne. Konceptet med en platt minnesmodell är förknippat med organisationen av RAM som föreslagits av von Neumann, det vill säga med placeringen av instruktioner och data i ett gemensamt område av fysiskt minne, vilket ger kontroll över ordningen för deras placering till programmeraren själv. Denna modell skapade vissa svårigheter och krävde att programmeraren gjorde det extra ansträngning när du skriver ett program. Det första försöket att förbättra den platta minnesmodellen var införandet av en segmenteringsmekanism för att separera områden för instruktioner och data. Denna modell kom att kallas platt säker, där kommando- och dataområden fortfarande kunde placeras inom storleken på det fysiska minnet, men på olika platser, vars åtkomst indikerades genom startadresserna för segment i deskriptorer, och storleken var begränsad med det gränsvärde som anges i dem. Således implementerades den enklaste minnesskyddsmekanismen. Denna teknik påminde om Harvard-arkitekturens minnesmodellteknik, men tillämpades på delat fysiskt minne för instruktioner och data. Därefter introducerades en platt minnesmodell med flera segment, där andra områden avsedda inte bara för att lagra kommandon och data började styras av en skyddsmekanism.

Minnesmodellen blev flerdimensionell med introduktionen av virtuellt minne, där logiska adresser började delas upp i flera delar, som var och en var föremål för tabellkonvertering. Antalet mekanismer som är involverade i transformationen bestämmer det logiska minnets multidimensionalitet. Med sidadresskonvertering blir minnet endimensionellt, där i enklaste form gruppen som består av de mest signifikanta bitarna av den logiska adressen omvandlas. Antalet dessa bitar i gruppen, eller snarare makten 2, bestämt av detta antal bitar bestämmer antalet virtuella sidor i det virtuella minnet. De låga ordningens bitar av den logiska adressen konverteras inte och bestämmer förskjutningen, det vill säga platsen för data på den fysiska sidan. Eftersom antalet virtuella minnessidor är ganska stort, delas den mest signifikanta gruppen av bitar av den logiska adressen in i flera grupper. Som ett resultat av detta använder konverteringsmotorn flera uppsättningar av mindre tabeller i stället för en enda sidtabell. Antalet tabeller som ingår i uppsättningen kommer också att bestämmas av graden som bestäms av antalet bitar av adressen i gruppen efter gruppen av låga adresser för den logiska adressen, och antalet uppsättningar kommer att vara lika med antalet rader i katalogen med sidor, vars storlek beror på antalet bitar i gruppen som bestämmer storleken på katalogen . Strukturen som beskrivs ovan kommer att vara typisk om den logiska adressens högordningsgrupp av bitar är uppdelad i tre delar.

Låt oss titta på vilken hårdvara som behövs för att konvertera logiska adresser till fysiska.

Som nämnts ovan konverteras inte den minst signifikanta gruppen av bitar av den logiska adressen och representerar förskjutningen, det vill säga platsen för den första byten med adressdata inom den fysiska sidan.

Steg-för-steg-mekanismen för att konvertera en logisk adress till en fysisk (när den höga delen av den logiska adressen är uppdelad i två delar) sker i följande ordning:

1. En rad i tabellen öppnas, definierad av gruppen av högordningsbitar i den logiska adressen, tolkad som en sidkatalog. Bordet är placerat i RAM. Radadressen bildas genom att lägga till basadressen, som indikerar början av tabellens placering i minnet, och tidigare laddad in i systemregistret i processorn. Den andra termen är koden i gruppen av mest signifikanta siffror.

2. Som ett resultat läses en katalograd från minnet, som innehåller attributen och basadressen för sidtabellen som motsvarar denna katalograd.

3. En cykel av minnesåtkomst till en rad i sidtabellen organiseras. Linjeadressen bildas genom att addera basadressen som läses från katalograden och koden som motsvarar värdet på bitarna i gruppen som följer efter gruppen av katalogbitar.

4. Läsraden från sidtabellen innehåller basadressen för den fysiska sidan i minnet, som går till adderaren, där genom att addera med värdet av gruppen av lågordningsbitar av den logiska adressen, representerar offset i fysiskt sidområde bildas den fysiska adressen för minnesåtkomsten.

Och så, i enlighet med algoritmen som beskrivs ovan, är hårdvarustödet för att konvertera logiska adresser till fysiska:

1. Ett område med RAM tilldelat för lagring av tabeller. Detta område är det utrymme där transformationsmekanismen inte fungerar.

2. Närvaron av kontrollregister i processorn för att lagra basadressen som indikerar platsen för den initiala tabellen i minnet.

3. Adderare för att utföra additionsoperationer för adressaritmetik.

4. Förekomsten av buffertregister eller minnescacher som är helt associativa för att lagra resultaten av stegen för omvandling av logiska adresser till fysiska.

Den senaste hårdvaran är nödvändig för att öka systemets prestanda, eftersom det inte finns något behov av att utföra en hel cykel av transformationer varje gång en minnesåtkomst sker inom samma fysiska sida, vars koordinater beräknades första gången den användes.

Införandet av en ytterligare segmenteringsmekanism vid konvertering av logiska adresser gör minnesmodellen tvådimensionell. Segmenteringsmekanismen bildar ett linjärt adressutrymme av virtuellt minne, som, som ett resultat av konvertering, består av segment i vilka programkoder och data finns, och definierar således en dimension av logiskt minne, den andra dimensionen definierar personsökningsmekanismen, representerande minne som en uppsättning virtuella sidor.

Det bör noteras att ideologin med segmentering av virtuellt minne i datorsystem tolkas olika. Segmenteringssteget i processen att konvertera logiska adresser till fysiska adresser i IBM-system (IBM360, IBM370, Zarchitecture-servrar) är till exempel oskiljaktigt från sidkonverteringssteget, vilket är det föregående steget före sidkonverteringssteget, precis som i INTEL-system , den styrs endast av den höga delen av de logiska adressadresserna, den mellersta delen av adressen och den låga gruppen av adresser är endast involverade i personsökning. Genom att implementera en oskiljaktig logisk koppling mellan stegen, dela upp det virtuella minnet först i segmentområden stor storlek och segmenterar sedan i sidor.

I Zarchitecture-servrar ökades storleken på den virtuella adressen till 64 bitar, vilket gjorde det möjligt att adressera virtuellt minne upp till 16 exabyte. När det gäller det flerdimensionella logiska minnet i dessa servrar, gör deras hårdvara det möjligt att ha upp till 4 typer av virtuella adressutrymmen oberoende av varandra med antalet utrymmen i två av dem är 64K vardera och i de återstående två 16 vardera med sina egna tabellkonverteringar för varje typ, som används för att bygga virtuella logiska enheter - logiska partitioner, som var och en har sitt eget operativsystem. Varje typ av virtuell adress som är associerad med dess virtuella minnestyp är föremål för samma konverteringsmekanism med sin egen uppsättning tabeller. Därför, enligt begreppen och terminologin som diskuterats ovan, kan minnet i dessa servrar betraktas som en uppsättning av 4 typer av endimensionell virtuella minnen med en transformation i fem steg, med fem typer av områden: sida, segment, region1, region2, region3.

Virtuell adresskonvertering i Zarchitecture-servrar