Hovedminnesystemmoduler. Fysisk og logisk organisering av minnet til datasystemer

Send det gode arbeidet ditt i kunnskapsbasen er enkelt. Bruk skjemaet nedenfor

Studenter, hovedfagsstudenter, unge forskere som bruker kunnskapsbasen i studiene og arbeidet vil være veldig takknemlige for deg.

Lagt ut på http://www.allbest.ru/

1. Prinsipper for informasjonsutveksling mellom hierarkiske nivåer i minnedelsystemet.

2. Grunnleggende funksjoner og grunnleggende delsystemer i datasystemet.

3. Prinsippet for operasjon av det assosiative cache-minnet.

4. Implementering av avbrudd fra perifere enheter koblet til via et serielt grensesnitt.

5. Hva er beskyttelsesringer?

6. Hva er minnesegmentering?

7. Hovedtrekk ved videodata. Matrise og grafisk presentasjon av videoinformasjon.

8. Hva er en fil? Forskjeller mellom fil og katalog.

9. Hovedstadiene i rørledningen til moderne prosessorer.

10. Hva er omdøping av register?

Spørsmål nr. 1. Prinsipper for informasjonsutveksling mellom hierarkiske nivåer i minnedelsystemet

Implementeringen av minnehierarkiet til moderne datamaskiner er basert på to prinsipper: prinsippet om lokalitet for samtaler og forholdet mellom kostnad og ytelse. Prinsippet om lokalitet for anrop antyder at de fleste programmer heldigvis ikke utfører anrop til alle sine kommandoer og data like sannsynlig, men foretrekker en del av adresseområdet.

Minnehierarkiet til moderne datamaskiner er bygget på flere nivåer, og det høyere nivået er mindre i volum, raskere og har en høyere kostnad per byte enn det lavere nivået. Nivåene i et hierarki henger sammen: alle data på ett nivå kan også finnes på et lavere nivå, og alle data på det lavere nivået kan finnes på neste lavere nivå, og så videre, til vi når bunnen av hierarkiet .

Minnehierarkiet består vanligvis av mange nivåer, men til enhver tid har vi kun å gjøre med to nærliggende nivåer. Den minste informasjonsenheten som kanskje eller ikke er til stede i et to-nivå hierarki kalles en blokk. Blokkstørrelsen kan enten være fast eller variabel. Hvis denne størrelsen er fast, er minnestørrelsen et multiplum av blokkstørrelsen.

En vellykket eller mislykket tilgang til et høyere nivå kalles henholdsvis et treff eller bom. Et treff er et kall til en gjenstand i minnet som ble funnet på et høyere nivå, mens en glipp betyr at den ikke ble funnet på det nivået. Treffraten eller treffforholdet er prosentandelen av treff funnet på et høyere nivå. Noen ganger er det representert som en prosentandel. Misfrekvensen er prosentandelen av treff som ikke ble funnet på et høyere nivå.

Siden forbedret ytelse er hovedårsaken til fremveksten av minnehierarki, er treff- og bomfrekvens en viktig egenskap. Trefftiden er tilgangstiden til et høyere nivå i hierarkiet, som spesielt inkluderer tiden det tar å avgjøre om treffet er et treff eller en glipp. Miss-straffen er tiden for å erstatte en blokk på et høyere nivå med en blokk fra et lavere nivå, pluss tiden for å overføre den blokken til ønsket enhet (vanligvis prosessoren). Tap på en glipp inkluderer videre to komponenter: tilgangstid - tiden for å få tilgang til det første ordet i blokken i tilfelle en glipp, og overføringstid - ekstra tid for å overføre de gjenværende ordene i blokken. Tilgangstiden er relatert til latensen til det nedre lagminnet, mens overføringstiden er relatert til kanalbåndbredden mellom minneenhetene til to tilstøtende lag.

Spørsmål nummer 2. Grunnleggende funksjoner og grunnleggende delsystemer til et datasystem

OS er et kompleks av sammenkoblede programmer designet for å forbedre effektiviteten til maskinvare ved rasjonell styring av ressursene, samt å gi brukeren bekvemmelighet ved å gi ham en utvidet virtuell maskin. De viktigste ressursene som operativsystemet administrerer inkluderer prosessorer, hovedminne, tidtakere, datasett, disker, båndstasjoner, skrivere, nettverksenheter og noen andre. Ressurser deles mellom prosesser. For å løse ressursstyringsproblemer bruker forskjellige operativsystemer forskjellige algoritmer, hvis funksjoner til slutt bestemmer utseendet til operativsystemet. De viktigste delsystemene til OS er delsystemer for håndtering av prosesser, minne, filer og eksterne enheter, samt delsystemer for brukergrensesnitt, databeskyttelse og administrasjon.

Hovedfunksjoner:

* Kjøring på forespørsel av programmer av de ganske elementære (lavt nivå) handlingene som er vanlige for de fleste programmer og ofte finnes i nesten alle programmer (inndata og utdata, start og stopp andre programmer, alloker og frigjør ekstra minne, etc. .).

* Standardisert tilgang til eksterne enheter (input-output enheter).

* Håndtering av tilfeldig tilgangsminne (fordeling mellom prosesser, organisering av virtuelt minne).

* Kontrollere tilgang til data på ikke-flyktige medier (som harddisk, optiske disker, etc.), organisert i et bestemt filsystem.

* Gir brukergrensesnitt.

* Nettverksoperasjoner, støtte for nettverksprotokollstabel.

Ytterligere funksjoner:

* Parallell eller pseudo-parallell utførelse av oppgaver (multitasking).

* Effektiv fordeling av datasystemressurser mellom prosesser.

* Differensiering av tilgang til ulike prosesser til ressurser.

* Interaksjon mellom prosesser: datautveksling, gjensidig synkronisering. En prosess er et dynamisk objekt som vises i operativsystemet etter at brukeren eller operativsystemet selv bestemmer seg for å "starte et program for kjøring", det vil si å lage en ny enhet for beregningsarbeid. Bruker - en person eller organisasjon som bruker operativsystemet til å utføre en bestemt funksjon. En fil er et navngitt område av eksternt minne som kan skrives til og hvorfra data kan leses. Hovedformålene med bruk av filer er: langsiktig og pålitelig lagring av informasjon, samt delt tilgang til data.

Spørsmål nummer 3. Prinsippet for drift av det assosiative cache-minnet

I assosiativt minne velges elementer ikke etter adresse, men etter innhold. La oss forklare det siste konseptet mer detaljert. For minne med adresseorganisering ble konseptet med minimum adresserbar enhet (MAU) introdusert som et datastykke med en individuell adresse. La oss introdusere et lignende konsept for assosiativt minne, og vi vil kalle denne minimale lagringsenheten i assosiativt minne en streng med assosiativt minne (StrAP). Hver strAP inneholder to felt: et tagfelt (engelsk tag - tag, label, attribut) og et datafelt. Forespørselen om å lese til det assosiative minnet i ord kan uttrykkes som følger: velg linjen(e), der (hvilken) taggen er lik den angitte verdien.

Vi legger spesielt merke til at med et slikt søk er ett av tre resultater mulig:

1. det er nøyaktig én linje med den gitte taggen;

2. det er flere linjer med en gitt tag;

3. det er ingen linjer med den gitte taggen.

Å søke etter en post etter attributt er en vanlig aktivitet i databasetilganger, og søk i en database er ofte et assosiativt søk. For å utføre et slikt søk må du se alle poster og sammenligne den angitte taggen med taggen til hver post. Dette kan gjøres ved bruk av vanlig adresserbart minne for å lagre poster (og det er klart at dette vil ta mye tid - i forhold til antall lagrede poster!). Associativt minne sies å være når assosiativ datahenting fra minnet støttes av maskinvare. Når du skriver til det assosiative minnet, plasseres dataelementet i StrAP sammen med taggen som er iboende i dette elementet. For dette kan du bruke hvilken som helst gratis StraP.

Ved begynnelsen av arbeidet er cache-minnet tomt. Når den første kommandoen utføres under henting, vil dens kode, samt noen flere tilstøtende byte av programkoden, overføres (sakte) til en av hurtigbufferlinjene, og samtidig vil den øvre delen av adressen skrives til den tilsvarende taggen. Slik fylles cache-linjen.

Hvis de neste valgene er mulige fra dette området, vil de gjøres allerede fra CACHE (rask) - "CACHE-hit". Hvis det viser seg at det nødvendige elementet ikke er i CACHE, - "CACHE-miss". I dette tilfellet oppstår tilgang til RAM (sakte), og samtidig fylles neste hurtigbufferlinje.

Du får tilgang til cachen som følger. Etter dannelsen av executive-adressen er dens høyordensbiter, som danner en tag, maskinvare (raske) og sammenlignes samtidig med taggene til alle cache-linjer. I dette tilfellet er bare to situasjoner av de tre oppført tidligere mulig: enten vil alle sammenligninger gi et negativt resultat (cache-miss), eller et positivt sammenligningsresultat vil bli registrert nøyaktig for én linje (cache-treff).

Ved lesing, hvis et hurtigbuffertreff registreres, bestemmer de nedre bitene av adressen posisjonen i hurtigbufferlinjen som det skal velges byte fra, og operasjonstypen bestemmer antall byte. Selvfølgelig, hvis lengden på et dataelement overstiger en byte, er situasjoner mulig når dette elementet (i deler) er plassert i to (eller flere) forskjellige hurtigbufferlinjer, så vil tiden for å hente et slikt element øke. Dette kan motvirkes ved å justere operandene og instruksjonene langs grensene til cachelinjene, noe som tas i betraktning ved utvikling av optimeringsoversettere eller ved manuell optimering av koden.

Hvis det er en cache-glipp og det ikke er noen ledige linjer i CACHE, må du erstatte en linje i CACHE med en annen linje.

Hovedmålet med erstatningsstrategien er å beholde linjene som mest sannsynlig vil bli aksessert i nær fremtid i hurtigbufferminnet, og erstatte linjene som vil bli aksessert på et senere tidspunkt eller ikke i det hele tatt. Åpenbart vil den optimale algoritmen være den som erstatter raden som vil få tilgang til senere i fremtiden enn noen annen CACHE-rad.

Spørsmål nr. 4. Implementering av avbrudd fra eksterne enheter koblet til via et serielt grensesnitt

Det serielle grensesnittet for dataoverføring i én retning bruker én signallinje, gjennom hvilken informasjonsbitene overføres etter hverandre sekvensielt. Denne overføringsmetoden bestemmer navnet på grensesnittet og porten som implementerer det (seriell grensesnitt og serieport). Seriell dataoverføring kan utføres i synkron og asynkron modus.

Ved asynkron overføring innledes hver byte av en startbit, som signaliserer til mottakeren om begynnelsen av neste melding, etterfulgt av databiter eller en paritetsbit. Fullfører sendingen med en stoppbit.

Det asynkrone sendeformatet lar deg identifisere mulige overføringsfeil.

Synkron overføringsmodus forutsetter konstant aktivitet til kommunikasjonskanalen. Overføringen starter med en synkrobyte etterfulgt av en tett strøm av informasjonsbiter. Hvis senderen ikke har noen data å overføre, fyller den gapet ved kontinuerlig å sende synkroniseringsbyte. Ved overføring av store datamengder vil synkroniseringskostnadene i denne modusen være lavere enn i asynkron modus.

Et avbrudd er et signal som informerer prosessoren om fullføringen av en asynkron hendelse. I dette tilfellet blir utførelsen av den gjeldende sekvensen av kommandoer suspendert, og kontrollen overføres til avbruddsbehandleren, som utfører arbeidet med å behandle hendelsen og returnerer kontrollen til den avbrutte koden. Typer avbrudd: Maskinvare (engelsk IRQ - Interrupt Request) - hendelser fra eksterne enheter (for eksempel trykk på tastaturtaster, musebevegelse, et signal fra en timer, nettverkskort eller diskstasjon) - eksterne avbrudd, eller hendelser i mikroprosessoren - (for eksempel divisjon med null) - interne avbrudd; Programvare - initiert av det kjørbare programmet, dvs. allerede synkron, ikke asynkron. Programvareavbrudd kan brukes til å ringe operativsystemtjenester.

Avbrudd krever suspendering av utførelsen av gjeldende flyt av instruksjoner (mens tilstanden opprettholdes) og start av kjøringen av avbruddstjenesterutinen (ISR) (avbruddstjenesterutinen). Denne prosedyren må først identifisere kilden til avbruddet (og det kan være flere av dem), deretter utføre handlinger relatert til reaksjonen på hendelsen. Hvis hendelser skal utløse noen handlinger i applikasjonsprogrammet, skal avbruddsbehandleren bare sende et signal (via OS) som starter (eller vekker) strømmen av instruksjoner som utfører disse handlingene. Selve ISR-prosedyren bør være tidsoptimalisert. Visningsavbrudd, spesielt i beskyttet modus, er en betydelig overhead på PC-kompatible x86-datamaskiner. Av denne grunn prøver de å redusere antallet. Å identifisere kilden til avbruddet er et betydelig problem - arkitekturen til PC-kompatible datamaskiner bruker tradisjonelle, men ineffektive mekanismer for dette. I noen tilfeller blir avbrudd fra enheter erstattet av polling - en programvarekontrollert avhør av enhetens tilstand. I dette tilfellet blir tilstandene til en flerhet av enheter pollet av et timeravbrudd.

Spørsmål nr. 5. Hva er beskyttelsesringer?

Beskyttelsesringer er en arkitektur for informasjonssikkerhet og funksjonell feiltoleranse som implementerer maskinvareseparasjon av system- og brukerrettighetsnivåer. Privilegiumstrukturen kan skildres som flere konsentriske sirkler. I dette tilfellet er systemmodusen (supervisor-modus eller ring null, såkalt "ring 0"), som gir maksimal tilgang til ressurser, den indre sirkelen, mens den begrensede brukermodusen er ekstern. Tradisjonelt gir x86-familien av mikroprosessorer 4 ringer med beskyttelse.

Støtte for flere beskyttelsesringer var et av de revolusjonerende konseptene inkludert i Multics-operativsystemet, forløperen til dagens UNIX-lignende operativsystemer.

Den originale Multics hadde 8 ringer med beskyttelse, men mange moderne systemer har en tendens til å ha færre. Prosessoren vet alltid i hvilken ring koden utføres, takket være spesielle maskinregistre.

Ringmekanismen begrenser i stor grad måtene kontroll kan overføres fra en ring til en annen. Det er noen instruksjoner som overfører kontroll fra en mindre sikker ring til en sikrere (lavere nummerert) ring. Denne mekanismen er utformet for å begrense mulighetene for utilsiktede eller tilsiktede sikkerhetsbrudd.

Effektiv bruk av ringbeskyttelsesarkitekturen krever tett samhandling mellom maskinvaren og operativsystemet. Operativsystemer designet for å kjøre på et stort antall plattformer kan ha forskjellige implementeringer av ringmekanismen på hver plattform.

Spørsmål nr. 6. Hva er minnesegmentering?

Segmentering er en programorganisasjonsteknikk der adressestrukturen til et program gjenspeiler dets meningsfulle segmentering. Under segmentering blir adresserommet til hvert program delt inn i segmenter med forskjellig lengde, som tilsvarer meningsfullt forskjellige deler av programmet. Et segment kan for eksempel være en prosedyre eller et dataområde. I dette tilfellet består adressen av et segmentnavn og en adresse innenfor offsetsegmentet. Siden programsegmenter refereres til med navn, er det mulig å allokere segmenter i ikke-sammenhengende minneområder ved tildeling av minne, dessuten må ikke alle segmenter være samtidig i OP, noen av dem kan lokaliseres i eksternt minne og overføres til OP etter behov.

Som allerede angitt, i et segmentert system, representerer hver adresse et par: s - navnet på segmentet og d - forskyvningen. Hvert program tilsvarer en tabell med segmenter som alltid er tilstede i minnet, der en post tilsvarer hvert segment i en gitt prosess. Ved hjelp av denne tabellen kartlegger systemet programadressene til de virkelige adressene til OP. Tabelladressen er lagret i et maskinvareregister kalt segmenttabellregisteret.

Beregningen av adressen under segmentering utføres som følger. Før systemet kan beregne adressen, blir tegnet på tilstedeværelsen av segmentet i OP kontrollert av maskinvare. Hvis segmentet er tilstede, blir det ved bruk av segmenttabellregisteret laget en adresse til den s-te raden i segmenttabellen, hvor segmentadressen i minnet er indikert. Siden segmenter kommer i forskjellige lengder, må du kjenne segmentgrensen for å unngå å gå utover det angitte segmentet.

Hvis systemet på et tidspunkt ønsker å bytte oppmerksomhet til en annen prosess, vil det ganske enkelt erstatte innholdet i segmenttabellregisteret med adressen til en annen segmenttabell, hvoretter lenkene til skjemaet tolkes i samsvar med den nye tabellen.

Segmentering av adresserommet har mange fordeler fremfor absolutt adressering, og det viktigste er effektiv bruk av RAM. Hvis det ikke er nok plass i RAM for alle segmentene i et gitt program, kan noen være midlertidig plassert i hjelpeminnet. Hvis et eller annet program trenger å legge inn et nytt segment i OP, så kan systemet fjerne et hvilket som helst segment fra OP til hjelpesegmentet. Det fordrevne segmentet trenger ikke å tilhøre programmet som det nye segmentet er introdusert for i OP. Det spiller ingen rolle hvilken segmenttabell det forskjøvede segmentet tilsvarer, hovedsaken er at når det overføres til hjelpeminnet, endres attributtverdien i den tilsvarende segmenttabellen.

Spørsmål nummer 7. Hovedtrekkene til videodata. Matrise og grafisk presentasjon av videoinformasjon

Videoinformasjon kan være både statisk og dynamisk. Statisk videoinformasjon inkluderer tekst, bilder, grafer, tegninger, tabeller osv. Bilder er også delt inn i flate - todimensjonale og tredimensjonale - tredimensjonale.

Dynamisk videoinformasjon er film og animasjon som brukes til å formidle film. De er basert på sekvensiell eksponering på skjermen i sanntid for individuelle bilder i samsvar med scenariet.

Demonstrasjon av animasjons- og lysbildefilmer er basert på ulike prinsipper. Animerte filmer vises slik at det menneskelige visuelle apparatet ikke kan fange individuelle rammer. For å få animasjon av høy kvalitet, bør bilder endres omtrent 30 ganger per sekund. Når du viser lysbildefilmer, eksponeres hver frame på skjermen så lenge det tar før en person oppfatter den (vanligvis fra 30 s til 1 min). Lysbildefilmer kan klassifiseres som statisk videoinformasjon.

I databehandling er det to måter å representere grafiske bilder på; matrise (raster) og vektor. Bitmap-formater er godt egnet for bilder med komplekse fargeskalaer, nyanser og former, som fotografier, tegninger, skannede data. Vektorformater er bedre egnet for tegninger og bilder med enkle former, skygger og farger.

I matriseformater er bildet representert av en rektangulær matrise av punkter - piksler (bildeelement), hvis posisjon i matrisen tilsvarer koordinatene til punktene på skjermen. I tillegg til koordinater er hver piksel preget av sin egen farge, bakgrunnsfarge eller lysstyrkegradering. Antall biter som er tildelt for å indikere fargen på en piksel varierer avhengig av formatet. I bilder av høy kvalitet beskrives fargen på en piksel i 24 biter, noe som gir omtrent 16 millioner farger. Den største ulempen med matrise (raster) grafikk er den store minnekapasiteten som kreves for å lagre bildet, og derfor brukes ulike metoder for datakomprimering for å beskrive bildene. For tiden er det mange formater av grafiske filer som er forskjellige i komprimeringsalgoritmer og metoder for å representere matrisebilder, så vel som i omfanget.

Vektorrepresentasjon, i motsetning til matrisegrafikk, definerer beskrivelsen av bildet ikke ved piksler, men med kurver - splines. En spline er en jevn kurve som går gjennom to eller flere ankerpunkter som kontrollerer formen på spline.

Den største fordelen med vektorgrafikk er at beskrivelsen av et objekt er enkel og tar opp lite minne. I tillegg har vektorgrafikk følgende fordeler fremfor matrisegrafikk:

Enkel bildeskalering uten forringelse av kvaliteten;

Uavhengig av minnekapasiteten som kreves for å lagre bildet fra den valgte fargemodellen.

Ulempen med vektorbilder er deres visse kunstighet, som består i det faktum at ethvert bilde må deles inn i et begrenset sett med primitiver som utgjør det. Som med matrisegrafikk, er det flere vektorgrafikkfilformater.

Matrise- og vektorgrafikk eksisterer ikke isolert fra hverandre. Så vektortegninger kan inkludere matrisebilder. I tillegg kan vektor- og matrisebilder konverteres til hverandre. Grafiske formater som tillater å kombinere matrise- og vektorbildebeskrivelser kalles metafiler. Metafiler gir tilstrekkelig kompakthet av filer samtidig som de opprettholder høy bildekvalitet.

De vurderte formene for presentasjon av statisk videoinformasjon brukes spesielt for individuelle rammer som danner animasjonsfilmer. Ulike brukes til å lagre animasjonsfilmer, hvorav de fleste er standardiserte.

Spørsmål # 8. Hva er en fil? Forskjeller mellom fil og katalog

beregningsminne operasjonelle videodata

Fil (engelsk fil - binder) er et konsept innen databehandling: en enhet som lar deg få tilgang til enhver ressurs i et datasystem og har en rekke funksjoner:

Fast navn (rekkefølge av tegn, tall eller noe annet som unikt karakteriserer filen);

En definert logisk visning og tilhørende lese-/skriveoperasjoner.

Det kan være alt fra en sekvens av biter (selv om vi leser den etter byte, eller rettere sagt ord-grupper av byte, fire, åtte, seksten) til en database med en vilkårlig organisasjon eller et hvilket som helst mellomalternativ; flerdimensjonal database, strengt bestilt.

Det første tilfellet tilsvarer lese-/skriveoperasjoner for en strøm og / eller en matrise (det vil si sekvensiell eller med tilgang via indeks), den andre - DBMS-kommandoer. Mellomliggende alternativer er å lese og analysere alle slags filformater.

En fil er en navngitt samling av byte av vilkårlig lengde som ligger på et lagringsmedium, og en katalog er et navngitt sted på en disk hvor filer er lagret. Det fullstendige filnavnet kan inkludere kataloger som C: \ papka \ file.txt, det kan ikke inneholde C: \ file.txt, og en katalog er der filene kan være plassert: C: \ papka. Katalogen kan ikke åpnes i programmet for å skrive noe informasjon inn i den eller lese den, den er for å lagre filer i seg selv, filen kan tvert imot åpnes og redigeres.

Spørsmål nummer 9. Hovedstadiene i rørledningen til moderne prosessorer

Hovedoppgaven til prosessoren er å utføre (og så raskt som mulig) kommandoene som er inkludert i programmet. Den enkleste måten (øke prosessorens klokkehastighet) blir raskt oppbrukt av teknologiske begrensninger. Derfor må du se etter andre måter å forbedre ytelsen på. Det var et sett med arkitektoniske innovasjoner som gjorde at Pentium kunne forbedre ytelsen over 486 prosessorer. Den viktigste av disse er transportbåndet.

Utførelsen av en kommando består av en rekke stadier:

1) lese en kommando fra minnet,

2) bestemmelse av lengde,

3) bestemme adressen til minnecellen, hvis den brukes,

4) kommandoutførelse,

5) lagre resultatet.

I tidlige prosessorer ble alle disse trinnene utført på hver kommando i sin helhet. Transportøren tillot oss å fremskynde prosessen: etter at teamet gikk gjennom et av stadiene og gikk videre til neste, begynte behandlingen av neste kommando. Denne løsningen dukket opp i de siste 486-ene (for eksempel i AMD 5x86-133). Pentium introduserer en dobbel rørledning for første gang. Instruksjonene var i stand til å utføres parallelt (bortsett fra flytende aritmetikk og hoppinstruksjoner). Dette gjorde det mulig å øke produktiviteten med ca. 30-35 %.

Spørsmål nr. 10. Hva er omdøping av register?

Å gi nytt navn til registre er en metode for å løsne på gjensidig avhengighet av instruksjoner som brukes i prosessorer som utfører deres ut-av-ordre kjøring.

I tilfelle det, i henhold til to eller flere instruksjoner, er nødvendig å skrive data inn i ett register, blir deres korrekte uordnede utførelse umulig selv om det ikke er dataavhengighet. Slike gjensidige avhengigheter kalles ofte falske.

Siden antallet arkitektoniske registre vanligvis er begrenset, er sannsynligheten for falske gjensidige avhengigheter høy, noe som kan føre til en reduksjon i prosessorytelsen.

Registerendring er transformasjon av myke referanser til arkitektoniske register til fysiske registerreferanser, og kan redusere falske gjensidige avhengigheter ved å bruke et stort antall fysiske registre i stedet for et begrenset antall arkitekturregistre. I dette tilfellet overvåker prosessoren tilstanden til hvilke fysiske registre som tilsvarer tilstanden til de arkitektoniske registrene, og resultatene sendes ut i den rekkefølgen programmet gir.

Kilder til

Internett-ressurs - http://www.chinapads.ru/

Ryazantsev O.I., Nedzelskiy D.O., Gusєva S.V. Arkitektonisk og strukturell organisering av numeriske systemer. Navchalnyy pos_bnik. - Lugansk: Utsikt. SNU im. Dahl, 2008.

Internett-ressurs - http://studopedia.net/

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

E. Tannenbaum. Computer Architecture, 4. utg. SPb. Peter 2006.

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

Internett-ressurs - http://znanija.com/task/1788585

Skrevet på Allbest.ru

Lignende dokumenter

    Klassifisering av datamaskinens minne. Bruk av operativt, statisk og dynamisk tilfeldig tilgangsminne. Hvordan DDR SDRAM fungerer. Formatering av magnetiske disker. Hovedproblemet med synkronisering. Teorien om beregningsprosesser. Minneadressering.

    semesteroppgave lagt til 28.05.2016

    Historien om fremveksten og utviklingen av tilfeldig tilgangsminne. Generelle kjennetegn ved de mest populære moderne typene tilfeldig tilgangsminne - SRAM og DRAM. Phase Change Memory (PRAM). Tyristorminne med tilfeldig tilgang, dets spesifisitet.

    semesteroppgave, lagt til 21.11.2014

    Den enkleste ordningen for interaksjon av RAM med CPU. Enheten og prinsippene for funksjon av tilfeldig tilgangsminne. Evolusjon av haugminne. EDO-DRAM BEDO (Burst EDO) minnemodul - burst EDO RAM. SDRAM, DDR SDRAM, SDRAM II.

    abstrakt, lagt til 13.12.2009

    Konseptet, typene og grunnleggende funksjonene til datamaskinminne - deler av en datamaskin, en fysisk enhet for lagring av data brukt i beregninger for en viss tid. Skjematisk diagram av tilfeldig tilgangsminne. Fleksible magnetiske disker.

    presentasjon lagt til 18.03.2012

    Minne for datasystemer, dets opprettelse og egenskaper ved funksjoner. Oppretting av minneenheter og grunnleggende ytelsesegenskaper. Funksjonelle diagrammer og metode for organisering av matrisen av lagringselementer. Typer magnetisk og flashminne.

    presentasjon lagt til 01/12/2009

    Lagring av ulike opplysninger som hovedformålet med minne. Kjennetegn på minnetypene. Minnetype SRAM og DRAM. Cache-minne eller cache-minne, dets spesifisitet og applikasjoner. Den siste utviklingen innen in-memory.

    presentasjon lagt til 12.01.2014

    Generalisering av hovedtyper og formål med datamaskin RAM. Flyktig og ikke-flyktig minne. SRAM og DRAM. Triggere, DRAM og dets modifikasjoner. Bufferminnet. Permanent lagringsenhet. Flashminne. Typer eksternt minne.

    semesteroppgave, lagt til 17.06.2013

    Forbedre parametrene til minnemoduler. Funksjon og interaksjon av operativsystemet med RAM. Analyse av hovedtypene, parametere for tilfeldig tilgangsminne. Programdelen med behandling av kommandoutførelse og plassering i RAM.

    semesteroppgave, lagt til 12.02.2009

    Generell mikroprosessorenhet. Strukturen til 64-bits minnedelsystemet. Valg av I/O-porter. Funksjoner ved grensesnittet til mikroprosessorsystemer. Utforme et minnedelsystem basert på Itanium 2. Beregning av informasjonsinnhold og nødvendige volumer.

    semesteroppgave lagt til 12.05.2012

    Konseptet og funksjonelle funksjonene til datamaskinlagringsenheter, deres klassifisering og typer, komparative egenskaper: ROM, DRAM og SRAM. Vurdering av fordeler og ulemper ved hver type tilfeldig tilgangsminne, instruksjoner og måter å bruke dem på.


Siden opprettelsen av von Neumann-datamaskinen, den viktigste hukommelse i et datasystem er organisert som en lineær (endimensjonal) adresseområde bestående av en rekke ord og senere bytes. Det ytre er organisert på lignende måte. hukommelse... Selv om denne organisasjonen gjenspeiler den spesifikke maskinvaren som brukes, samsvarer den ikke med måten programmer vanligvis skrives på. De fleste programmer er organisert som moduler, hvorav noen er uforanderlige (skrivebeskyttet, kun kjøring), mens andre inneholder data som kan endres.

Hvis operativsystem og Maskinvare effektivt kan arbeide med tilpassede programmer og data representert av moduler, gir dette en rekke fordeler.


  1. Moduler kan opprettes og kompileres uavhengig av hverandre, med alle referanser fra en modul til en annen som løses av systemet ved kjøretid.

  2. Ulike moduler kan få ulik grad av beskyttelse (skrivebeskyttet, execute-only) på bekostning av svært moderate overhead.

  3. Det er mulig å bruke en mekanisme som sikrer deling av moduler ved forskjellige prosesser (for samarbeid mellom prosesser i arbeid med én oppgave).
Hukommelse - det viktigsteressurs datasystem, som krever effektiv ledelse. Til tross for at i disse dager hukommelse gjennomsnittlig hjemmedatamaskin er tusenvis av ganger hukommelse mainframes på 70-tallet øker programmene i størrelse raskere enn hukommelse... Det er nok bare å si det operativsystem tar hundrevis av MB (f.eks. Windows 2000 - opptil 30 millioner linjer), for ikke å nevne applikasjonsprogrammer og databaser, som kan oppta titalls og hundrevis av GB i datasystemer.

Den parafraserte Parkinsons lov sier: "Programmer utvides for å fylle alt minnet som er tilgjengelig for å støtte dem." (det ble sagt om OS). Ideelt sett vil programmerere ha ubegrenset størrelse og hastighet. hukommelse som ville være ikke-flyktig, dvs. beholdt innholdet når strømmen ble slått av, og ville også være rimelig. Imidlertid er det i virkeligheten ikke noe slikt minne ennå. På samme tid, på ethvert stadium i utviklingen av teknologi for produksjon av lagringsenheter, fungerer følgende ganske stabile forhold:


  • jo kortere tilgangstid, jo dyrere biter;

  • jo høyere kapasitet, jo lavere er kostnaden for en bit;

  • jo høyere kapasitet, jo lengre tilgangstid.
Å finne produksjon fra den nåværende situasjonen er det nødvendig å ikke stole på separat tatt komponenter eller teknologi, men å bygge et hierarki av lagringsenheter, vist i fig. 6.1. Når du beveger deg fra venstre til høyre, skjer følgende:

  • kostnaden for litt reduseres;

  • kapasitetsøkninger;

  • tilgangstiden øker;

  • frekvensen av prosessortilgang til minne reduseres.

Ris. 6.1. Minnehierarki

Anta prosessor Det har adgang til minnet om to nivåer. Det første nivået inneholder E 1-ord, og det er karakterisert ved en tilgangstid T 1 = 1 ns. Til dette nivået prosessor kan søke direkte. Men hvis du ønsker å få ord ligger på andre nivå, så må den først overføres til første nivå. I dette tilfellet er det ikke bare nødvendig ord, a datablokk som inneholder dette ord... Siden adressene åpnet prosessor, har en tendens til å samles i grupper (løkker, subrutiner), prosessor refererer til et lite, gjentatt sett med kommandoer. Dermed vil prosessoren fungere med den nylig oppnådde minneblokken i ganske lang tid.

La oss angi med T 2 = 10 ns tilgangstiden til det andre minnenivået, og med P - holdning antall ganger ønsket ord ble funnet i hurtigminnet til antall anrop. La, i vårt eksempel, P = 0,95 (dvs. 95 % av samtalene faller raskt på hukommelse, som er ganske ekte), deretter gjennomsnittet tilgangstid til minnet kan skrives slik:

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

Dette prinsippet kan ikke bare brukes på minne med to nivåer. Faktisk er det dette som skjer. Mengden RAM påvirker karakteren til beregningsprosessen betydelig, siden den begrenser antallet programmer som kjører samtidig, dvs. multiprogrammeringsnivå. Forutsatt at en prosess bruker noe av tiden på å vente på fullføring operasjoner input-output, så vil graden av belastning Z til sentralbehandlingsenheten (CPU) i det ideelle tilfellet bli uttrykt av avhengigheten

Z = 1 - p n, hvor n er antall prosesser.

I fig. 6.2 viser avhengigheten av Z = p (n) for ulike ventetider for ferdigstillelse operasjoner I/O (20%, 50% og 80%) og antall prosesser n. Det store antallet oppgaver som kreves for høy CPU-utnyttelse krever en stor mengde RAM. I forhold der det tilgjengelige minnet ikke er nok til å sikre et akseptabelt nivå av multiprogrammering, ble det foreslått en metode for å organisere beregningsprosessen, der bildene av noen prosesser, helt eller delvis, blir midlertidig lastet ut til disk.

Åpenbart er det fornuftig å midlertidig losse inaktive prosesser som venter på noen ressurser, inkludert neste tidsdel av sentralprosessoren. Innen det går utførelse av den avlastede prosessen, blir bildet returnert fra disken til den operative hukommelse... Hvis det samtidig blir funnet at det ikke er nok ledig plass i RAM, så på disk en annen prosess avlastes.

En slik erstatning ( virtualisering) RAM med diskminne lar deg øke nivået av multiprogrammering, siden mengden RAM ikke lenger begrenser antallet prosesser som kjører samtidig. I dette tilfellet kan den totale mengden RAM som er okkupert av prosessbilder betydelig overstige den tilgjengelige mengden RAM.

I dette tilfellet er applikasjonsprogrammereren utstyrt med en virtuell operasjon hukommelse, hvis størrelse er mye større enn den virkelige hukommelse systemet og begrenses kun av adresseringsmulighetene til prosessen som brukes (i en PC basert på Pentium 2 32 = 4 GB). Generelt kalles virtuell (tilsynelatende). ressurs, som har egenskaper (i dette tilfellet en stor mengde OP), som den i realiteten ikke har.

Virtualisering RAM utføres av et sett med maskinvare og programvare til datasystemet (prosessorkretser og operativsystem) automatisk uten deltakelse av en programmerer og påvirker ikke logikken til applikasjonen.

Virtualisering minne er mulig basert på to mulige tilnærminger:


  • bytte - prosessbilder byttes til disk og returneres til RAM som helhet;

  • virtuell hukommelse ( virtuell hukommelse) - deler av bilder (segmenter, sider, blokker osv.) av prosesser flyttes mellom hovedminnet og disken.
Ulemper med å bytte:

  • redundans av flyttet data og dermed nedgangen i systemet og ineffektiv bruk av minne;

  • manglende evne til å laste en prosess hvis virtuelle plass overstiger tilgjengelig ledig minne.
Dyden med å bytte sammenlignet med virtuelt minne - mindre utgifter tid for å konvertere adresser i programkoder, siden det gjøres en gang ved oppstart fra disk til hukommelse(Denne fordelen kan imidlertid være ubetydelig, siden bare en del av koden blir utført ved neste nedlasting, og det kan hende det ikke er nødvendig å transformere koden fullstendig).

Virtuell hukommelse har ikke de indikerte ulempene, men hovedproblemet er konverteringen av virtuelle adresser til fysiske (hvorfor dette er et problem vil bli klart senere, men for nå, betydelig utgifter tid for denne prosessen, hvis ingen spesielle tiltak er iverksatt).

Virtuelt minnekonsept

I VS med virtuelt minne lagres adresserommet (AP) til prosessen (prosessbildet) i datamaskinens eksterne minne under utførelse og lastes inn i virkelig minne i deler dynamisk, etter behov, i et hvilket som helst ledig rom i ROP. Programmet vet imidlertid ingenting om dette, det skrives og kjøres som om det var helt i ROP.

Virtuelt minne er en simulering av RAM i eksternt minne.

Mekanismen for å kartlegge virtuelle og reelle adresser etablerer en korrespondanse mellom dem og kalles dynamisk adresseoversettelse(DPA ).

Datamaskinen her fungerer allerede som en logisk enhet, og ikke en fysisk maskin med unike egenskaper. DPA støttes på maskinvare- og fastvarenivå. Intel MP-er som starter med 386-prosessoren støtter virtuelt minne.

Denne prosedyren utføres for EC-datamaskiner - rad 2 og høyere, for SM-datamaskiner - 1700, for IBM PC - I386 og høyere.

Når du administrerer virtuelt minne, trenger ikke sammenhengende virtuelle adresser å være sammenhengende reelle adresser (kunstig sammenheng). Programmereren er frigjort fra behovet for å ta hensyn til plasseringen av prosedyrene og dataene hans i ROP. Han får muligheten til å skrive programmer på den mest naturlige måten, ved å utarbeide bare detaljene i algoritmen og strukturen til programmet, og ignorere de spesifikke egenskapene til strukturen til maskinvaren.

DPA-mekanismen forutsetter vedlikehold av tabeller som viser hvilke IP-celler som for øyeblikket er i ROP og nøyaktig hvor. Siden den individuelle kartleggingen av informasjonselementer (ord for ord eller byte) ikke gir mening (siden adressekartleggingstabellene vil kreve ROP mer enn for prosesser), så utføres adressekartleggingen på nivå med OP-blokker.

Bilde 1... Dynamisk adresseoversettelse

Problem: hvilken del av prosessene som skal holdes i OP, på noen tidspunkter, skyve ut noen deler av EPJ og plassere andre.

Et annet spørsmål som må besvares: Hvordan lage en blokkstørrelse?

En økning i blokkstørrelsen fører til en reduksjon i størrelsen på blokkkartleggingstabellen, men øker utvekslingstiden, og omvendt fører en reduksjon i blokkstørrelsen til en økning i tabeller og en reduksjon i utvekslingstiden med ekstern hukommelse.

Blokker kan ha fast størrelse (sider) og variabel størrelse (segmenter). I denne forbindelse er det fire måter å organisere virtuelt minne på:

1.Dynamisk sideorganisering.

2. Segmentorganisasjon.

3. Kombinert segment-side organisasjon.

4. To-nivå sideorganisering.

Virtuelle adresser i personsøkings- og segmentsystemer er todelte og representerer et ordnet par (s, d), hvor s- nummeret på blokken (side eller segment) der elementet er plassert, og d- forskyvning i forhold til startadressen til denne blokken. Virtuell adresseoversettelseV = (p, d) til ekte minneadresser utføres som følger. Når neste prosess aktiveres, blir adressen til blokkkartleggingstabellen for denne prosessen lastet inn i et spesielt register til prosessoren. I henhold til blokknummer s fra blokkkartleggingstabellen leses en linje der det etableres samsvar mellom antall virtuelle og fysiske sider for sider lastet inn i RAM, eller det lages et merke at en virtuell side har blitt lastet ut til disk. I tillegg inneholder sidetabellen kontrollinformasjon, for eksempel et sidemodifikasjonsflagg, et flagg som ikke kan lastes ned (utlasting av enkelte sider kan være forbudt), et sidetilgangsflagg (brukes til å telle antall treff i en viss tidsperiode ) og andre data generert og brukt av mekanismen virtuelt minne. Offsetstørrelsen legges til den lese fysiske lokasjonsadressen til den valgte blokken. d og den nødvendige reelle adressen beregnes.

Figur 2. Konverter virtuell adresse til ekte minneadresse

Vurder hva er strategien for håndtering av virtuelt minne? I likhet med administrasjonen av ROP, er det tre kategorier av strategier for å administrere VI, med det eksisterende målet å redusere sideventing og kun plassere brukte blokker i ROP.

Push strategi , som bestemmer når en side eller et segment skal skrives om fra eksternt minne til OP.

en) push-in på forespørsel- systemet forventer en kobling til en side / et segment fra en pågående prosess (avbrudd på grunn av fravær av en side);

argumenter for:


  • banen til programkjøringen er umulig å forutsi sikkert;

  • garantere at bare de nødvendige sidene er plassert i OP;

  • kostnadene ved å definere de nødvendige sidene er minimal;
argumenter mot:

  • å søke én blokk om gangen øker den totale ventetiden.
b) forventningsfull dytting forutsetter at systemet kan forutse behovet for fremtidig bruk av siden/segmentet. Hvis sannsynligheten for tilgang er høy og det er en ledig OP, blir de tilsvarende blokkene skrevet om i OP.

Fordel: redusert ventetid.

For tiden øker hastigheten på utstyret, og ikke-optimale løsninger fører ikke til en reduksjon i effektiviteten til datasystemer.

Plasseringsstrategi, definere hvor den innkommende siden/segmentet skal plasseres. I sidesystemer er det trivielt: i enhver ledig blokk (siden har en fast størrelse). I segmenterte systemer brukes de samme strategiene som for ekte OP (først egnet område, best egnet, minst egnet).

push (erstatnings) strategien, definere hvilken side/segmentet som skal fjernes fra OP for å frigjøre plass til den innkommende siden.

Her er hovedproblemet." utglidning", der den skjøvet ut siden i neste øyeblikk må plasseres på nytt i ROP.

Vurder prosedyrene for å bestemme blokkene som skal kastes ut fra OP.

en) spretter en tilfeldig side- ikke brukt i ekte systemer;

b) skyve den første ankommende siden (FIFO- kø). For å implementere det, må du angi tidsstemplene til sidene.

Argument: siden hadde allerede muligheter til å ta sjansen.

Faktisk: det er mer sannsynlig å erstatte aktivt brukte sider, siden det å finne sider over lang tid kan bety at det er konstant i bruk. For eksempel tekstredigeringsprogrammet som ble brukt.

v) utkasting av de lengste ubrukte sidene.

For implementering må du implementere oppdaterbare tidsstempler. Heuristisk argument: - den nære fortiden er en god guide til fremtiden.

Ulempen er betydelige kostnader: konstant oppdatering av tidsstempler.

G) skyve minst brukte sider- antar tilstedeværelsen av sidetellere (mindre intensivt enn oppdaterte tidsstempler). Det er intuitivt begrunnet, men er kanskje heller ikke rasjonelt.

e) skyver ut nylig ubrukte sider- den vanligste lavprisalgoritmen. Implementert med to maskinvarebiter per side:

1.tegn på behandling 0 - var

1 - det var det ikke.

2. tegn på rekordmodifikasjon 0 - uendret.

1 - endret.

Følgende kombinasjoner er mulige { 00,10,01,11). Hvis det ikke var noen endringer på siden, kan siden ganske enkelt skrives om, og ikke lagres på disk.

Minnemoduler er preget av slike parametere som størrelse (16, 32, 64, 128, 256 eller 512 MB), antall mikrokretser, passfrekvens (100 eller 133 MHz), datatilgangstid (6 eller 7 ns) og antall kontakter (72, 168 eller 184).

DIP-moduler. DRAM-brikker er pakket i en såkalt DIP-pakke, hvor DIP står for Dual In-line Package. Dette begrepet refererer til minnepakker med pinner plassert på sidene (som ligner en bille) - Fig. 3,48, en. Selve krystallen, som minnecellene er plassert på, er betydelig mindre enn etuiet. Denne utformingen av saken skyldes slike krav som bekvemmeligheten av trykte kretsledninger og installasjon av mikrokretsen i stikkontaktene på hovedkortet, samt overholdelse av temperaturregimet til elementene.

De fleste DIP-er har en radavstand på 2,54 mm (0,1 ") og en radavstand på 7,62 mm (0,3" - "Skinny DIP") eller 15,24 mm (0,6"). Det typiske antallet kontakter er 8 eller et annet partall fra 14 til 24 (sjeldnere -28) for 0,3"-pakker og 24, 28, 32 eller 40 (sjeldnere 36, 48 eller 52) for tilfeller med 0,6". På territoriet til det tidligere USSR brukes lignende tilfeller, men med dimensjoner konsistente i det metriske målesystemet (for eksempel er pinneavstanden 2,5 mm i stedet for 2,54 mm / 0, D).

Ulike varianter av DIP-pakker er kjent, hovedsakelig forskjellige i produksjonsmaterialet:

  • keramikk (Ceramic Dual In-line Package - CERDIP);
  • plast (Plastic Dual In-line Package - PDIP);
  • Shrink Plastic Dual In-line Package (SPDIP) - Krympplastversjon av PDIP med blyavstand 1,778 mm (0,07 ").

De viktigste parameterne til DRAM-brikker er minnekapasitet og organisering. DRAM-elementer som separate mikrokretser ble vanligvis installert på eldre hovedkort. For tiden brukes disse mikrokretsene som byggeklosser for minnemoduler som SIP, ZIP og SIMM-moduler.

Informasjon om en mikrokrets i dens betegnelse består som regel av flere felt. Det første feltet inneholder informasjon om produsenten og typen avvisning under produksjonen av mikrokretsen, det neste karakteriserer kapasiteten, og det neste - materialet som saken er laget av, og tilgangstiden.

For eksempel for Mostek mikrokretser er de to første bokstavene MK betegnelsen på selskapet, MKB betyr at denne Mostek mikrokretsen er avvist i henhold til militær standard (MIL STD-833), og MKI betyr at mikrokretsen er avvist iht. med det industrielle temperaturområdet. Nummer 4 indikerer at mikrokretsen er et DRAM-element. Følgende figur angir antall opplysninger

Ris. 3,48. Utvendig visning av minnemoduler: en- DIP-14 etui; b- SIP-modul; v - ZIP-modul; d - ZIP-kontakt; d- SIMM for 72 kontakter; e-DDR2 (1 GB, 533 MHz) med en kjøleribbe (184 pinner og én nøkkel); f- DDR SO-DIMM (РС2700, 200 pinner); s - RDRAM-modul med

innebygd radiator

matasjonsutslipp: 1 - en utslipp, 4 - fire utslipp. Tallgruppen som følger angir antall informasjonsbiter i kilobit (64 - 64 Kbit, 256 - 256 Kbit, 1000 - 1 Mbit). Videre indikerer bokstaven typen hus (for eksempel P - plast, selv om typen kanskje ikke er angitt). Tilgangstiden i nanosekunder er angitt med en bindestrek. Dermed kan man i henhold til betegnelsen MKV44256-70 enkelt fastslå at dette er en Mostek mikrokrets som har bestått avvisningen i henhold til militærstandarden, har en 4. bit kapasitet på 256 Kbit hver og en tilgangstid på 70 ns.

SIP-moduler. DRAM-brikker er ganske enkle og greie å installere i en PC, men de tar opp mye plass. For å redusere størrelsen på PC-komponenter, inkludert RAM-elementer, ble det utviklet en rekke designløsninger, som førte til at hvert minneelement ikke lenger ble installert i et eget panel, og kompatible DRAM-elementer ble kombinert til én modul, laget på et lite kretskort ...

Teknologien som implementerer denne designen av minneelementer kalles SMT (Surface Mounting Technology), bokstavelig talt oversatt som "overflatemonteringsteknologi". Takket være det ble kompatible DRAM-elementer installert på ett bord, noe som i første omgang betydde plassbesparelser.

Som en implementering av SMT-teknologi kan man navngi de såkalte SIP-modulene med et enkelt in-line arrangement av pinner (Single In-line Package - SIP). SIP-moduler er små kort med kompatible DRAM-brikker installert (se figur 3.48). Et slikt brett har 30 pinner, dets dimensjoner er omtrent 8 cm langt og omtrent 1,7 cm høyt.

SIP-moduler er installert i de tilsvarende kontaktene på hovedkortet. Men når du setter inn og fjerner slike moduler, bryter de tynne pinnene til terminalene ofte av, og kontakten mellom pinnen og kontakten er upålitelig. Dette førte til videreutvikling av minnemoduler og fremveksten av SIMM-moduler.

glidelås(Zig-zag In-line Package) er en kortvarig teknologi for integrerte kretser, spesielt DRAM-brikker. Den ble designet for å erstatte DIP. Den integrerte ZIP-kretsen er plassert i en plastkasse, vanligvis 3 x 30 x 10 mm. Enhetsledningene er plassert i 2 rader på den ene siden av dekselet. Disse radene er plassert 1,27 mm (0,05 ") fra hverandre i et sjakkbrettmønster, noe som gjør dem mer kompakte enn et konvensjonelt rektangulært gitter (Figur 3.48, c, d). Samtidig kan kretshusene plasseres tettere på brettet enn med DIP-kretsene, med samme størrelse. ZIP ble senere erstattet av konfigurasjoner som TSOP (tynne small-outline-pakker) brukt i SIMM-er (single-in-line minnemoduler) og DIMM (dual-in-line minnemoduler).

SIMM-moduler. Når vi snakker om en SIMM-modul, mener de et brett som omtrent tilsvarer en SIP-modul i størrelse. Forskjellen ligger først og fremst i utformingen av kontaktene. I motsetning til SIP-modulen er pinnene til SIMM-modulen erstattet av såkalte PAD-kontakter (plugg). Disse pinnene er trykt på den ene kanten av brettet. Det er med denne kanten SIMM-moduler er installert i spesielle spor på hovedkortet (fig. 3.48, d). Takket være denne utformingen av SIMM-moduler økes påliteligheten til den elektriske kontakten i kontakten og den mekaniske styrken til modulen som helhet, spesielt siden alle kontakter er laget av høykvalitetsmateriale og er gullbelagte.

Minnefeil oppstår oftest ikke på grunn av skade på SIMM-moduler, men snarere på grunn av dårlig behandling av kontaktpinner på hovedkortet.

I tillegg lar den praktiske utformingen av SIMM-moduler brukere uavhengig endre og legge til minneelementer uten frykt for å skade pinnene.

SIMM-moduler er en standard i moderne datasystemer. SIMMer utstyrt med DRAM 41256 er relativt sjeldne i dag. Som oftest er SIMM-moduler utstyrt med minnebrikker med en total kapasitet på 8, 16 og 32 Mbit. Senere dukket SIMM-moduler med en kapasitet på 120 Mbit og mer opp på markedet.

PC-er med 80386 CPUer og tidlige modeller med 80486 CPUer brukte 30-pins SIMM-minnemoduler (DRAM), og antall spor på hovedkortet varierte fra 4 til 8. I dag er det ikke lett å finne slike moduler på markedet. Senere PC-modeller med 80486 og Pentium CPUer begynte å bruke 72-pins SIMM-minnemoduler (FPM DRAM).

DIMM-er Senere dukket det opp mange hovedkort spor for 168-pinners DIMM (Dual In-line Memory Module) minnemoduler. DIMM-er har en intern arkitektur som ligner på 72-pinners SIMM-er, men med en bredere buss gir de økt CPU-RAM-ytelse.

For riktig plassering av DIMM-er når de er installert i spor på hovedkortet, har de to nøkler i utformingen:

  • den første nøkkelen er plassert mellom pinnene 10 og 11 og tjener til å bestemme typen modulminne (FPM DRAM eller SDRAM);
  • den andre nøkkelen er plassert mellom pinnene 40 og 41 og brukes til å bestemme forsyningsspenningen til modulen (5 eller 3,3 V).

DIMM-er støtter for eksempel hovedkort basert på Chipset 82430VX, 82440FX, 83450KX / GX, 82430ТХ.

SO-DIMM(Small Outline Dual In-Line Memory Module) er en type integrerte kretser av datamaskinens random access memory (fig. 3.48, g).

SO-DIMM-er er et lite alternativ til DIMM-er og tar vanligvis opp omtrent halvparten av plassen som kreves for vanlige DIMM-er. Som et resultat brukes SO-DIMM-er primært i enheter som bærbare datamaskiner, små stasjonære datamaskiner (med Mini-ITX-kort), avanserte skrivere og nettverksutstyr (som rutere).

SO-DIMM-er kan ha 72, 100, 144 eller 200 pinner, som støtter dataoverføring, henholdsvis 32 bits (100) og 64 bits (144 og 200). Vanlige DIMM-er er 168, 184 eller 240 og alle støtter 64-bits dataoverføring.

De forskjellige typene SO-DIMM-er gjenkjennes av plasseringen av "nøkler" - 100-pinners moduler har to nøkler, 144-pinners SO-DIMMer har en nøkkel nær midten av kabinettet, 200-pinners SO-DIMM har en nøkkelen nærmere kanten av saken.

SO-DIMM-er samsvarer omtrent med (eller mindre enn) DIMM-er i kraft, og både SO-DIMM- og DIMM-teknologier gir omtrent like hastigheter (klokkehastighet, for eksempel 400 MHz for PC3200 og CAS-forsinkelser på 2.0, 2.5 og 3, 0) og kapasitet (512 MB, 1 GB osv.). Nyere DDR2 SO-DIMM-er kjører opp til 800 MHz PC6400 og forventes å nå 1066 MHz PC8500.

RIMM. Med bruken av Direct RDRAM (DRDRAM) i 1999, dukker RIMM-modulen opp (fig. 3.49) (navnet er ikke et akronym, men et varemerke for Rambus Inc). RIMM-spor har samme størrelse som DIMM-er og kan installeres i samme

Ris. 3,49.

selve området på hovedkortet, som DIMM. De har 184 pinner sammenlignet med 168 for DIMM-er, men bruker samme sokkelspesifikasjon som 100 MHz DIMM-standarden. PC BIOS er i stand til å oppdage hvilken RAM som er installert, så 100 MHz SDRAM må fungere på et RIMM-kompatibelt system. Det finnes også kompakte SO-RIMM-minnemodeller som ligner SO-DIMM-er.

Hovedelementene i Rambus-minneundersystemet inkluderer en hovedenhet som inneholder en Rambus ASIC-celle (RAC) og en minnekontroller (Rambus Memory Controller RMC), en klokkegenerator (Direct Rambus Clock Generator DRCG), RIMM-spor, RIMM-minnemoduler og RIMM-kontinuitetsmoduler, og Se også SPD ROM-delsystemet Serial Presence Detect.

Til syvende og sist erstattet DDR-teknologier, som utvikler seg og blir billigere, praktisk talt RDRAM - i perioden 2002-2005. markedsandelen til RDRAM oversteg ikke 5 %.

FB-DIMM Fully Buffered DIMM (Fully Buffered DIMM) er en teknologi utviklet for å forbedre påliteligheten, ytelsen og kapasiteten til RAM-systemer. I konvensjonelle RAM-design er datalinjer fra minnekontrolleren koblet til alle DIMM-er. Med en økning i den elektriske belastningen (en økning i antall moduler eller minnekapasitet), samt en økning i tilgangsfrekvensen, begynner passerende signaler å forvrenge, noe som begrenser effektiviteten til systemet som helhet.

Den fullt bufrede DIMM-arkitekturen gir en mellombuffer (Advanced Memory Buffer - AM B) installert mellom kontrolleren og minnemodulen (Figur 3.50). I motsetning til parallellbussarkitekturen for tradisjonelle

DDR2-kontakt med unik nøkkel

Opptil 8 DIMM-er

South Way (10 bit)

Kontroller

Ris. 3,50. FB-DIMM minnearkitektur

DRAM, FB-DIMM har et seriell grensesnitt mellom kontrolleren og AM B. Dette lar deg øke minnekapasiteten uten å øke antall linjer på minnekontrolleren.

Kontrolleren sender ikke signalet direkte til minnemodulen, men virker gjennom en buffer som gjenoppretter bølgeformen og overfører den videre. I tillegg kan AM B utføre feilretting ved å avlaste prosessoren og minnekontrolleren fra denne funksjonen. Dette er imidlertid ledsaget av en økning i OP-latensen.

Det er en standard (JESD82-20-protokoll) som definerer AMB-grensesnittet med DDR2-minne. FB-DIMM-kanalen består av 14 "nordgående" bitlinjer, som fører data fra minnet til prosessoren, og 10 "sørgående" linjer, som bærer kommandoer og data fra prosessoren.

Hver bit sendes med en frekvens 12 ganger basisfrekvensen til minnet (6 ganger ved bruk av dobbel hastighet, DDR - DDR3). For eksempel, for en DDR2-667 DRAM-brikke, vil kanalen operere på 667 x 12/2 = 4000 MHz. Hver 12. syklus danner en ramme: 168 biter av den nordlige banen (144 biter med data overført av 72-biters DDR SDRAM pluss 24 biter for CRC-korreksjon) og 120 biter av den sørlige banen (98 nyttige biter og 22 CRC-biter). Av 98 biter spesifiserer 2 her rammetypen, 24 - kommandoen; de resterende bitene kan inneholde (avhengig av rammetypen) enten 72 biter med data som skal skrives, eller to eller flere 24-bits instruksjoner, eller en eller flere instruksjoner pluss 36 biter med data som skal skrives.

Siden dataene som skal skrives er tregere enn nødvendig for DDR RAM, blir de akkumulert i AM B og deretter skrevet i en enkelt pakke (vanligvis fire datarammer).

Kommandoene tilsvarer standard DRAM-tilgangssykluser, for eksempel radhenting (/ RAS), forhåndshenting, oppdatering, osv. Lese- og skrivekommandoene inneholder kun kolonneadressene (/CAS) til minnearrayen. Alle kommandoer inneholder 3-bits FB-DIMM-adresser, noe som tillater opptil 8 FB-DIMM-er per kanal.

Tabell 9.1. Hierarkiet til PC-minneundersystemet
Minnetype 1985 år 2000 år
Prøvetakingstid Typisk volum Pris / Byte Prøvetakingstid Typisk volum Pris / Byte
1 Superoperativt minne (registre) 0,2 5 ns 16/32 bit $ 3 - 100 0,01 1 ns 32/64/128 bit $ 0,1 10
2 Høyhastighets bufferlagring (cache) 20 100 ns 8Kb - 64Kb ~ $ 10 0,5 - 2 ns 32Kb 1Mb $ 0,1 - 0,5
3 Operasjonelt (hoved)minne ~ 0,5 ms 1 MB - 256 MB $ 0,02 1 2 ns 20 ns 128MB - 4GB $ 0,01 0,1
4 Ekstern lagring (masselagring) 10 - 100 ms 1 MB - 1 GB $ 0,002 - 0,04 5 - 20 ms 1 GB - 0,5 TB $ 0,001 - 0,01

Prosessorregistrene utgjør dens kontekst og lagrer data som brukes av de for øyeblikket utførende prosessorinstruksjonene. Prosessorregistre er vanligvis tilgjengelige med deres mnemoniske betegnelser i prosessorinstruksjoner.

Cache brukes til å matche hastigheten til CPU og hovedminne. Datasystemer bruker en multi-level cache: nivå I cache (L1), nivå II cache (L2), etc. Desktop-systemer bruker vanligvis en to-lags cache, mens serversystemer bruker en tre-lags cache. Cachen lagrer instruksjoner eller data som sannsynligvis vil bli sendt til prosessoren for behandling i nær fremtid. Driften av cachen er gjennomsiktig for programvare, så cachen er vanligvis ikke programvaretilgjengelig.

RAM lagrer som regel funksjonelt komplette programvaremoduler (operativsystemkjernen, kjørbare programmer og deres biblioteker, enhetsdrivere, etc.) og deres data direkte involvert i arbeidet med programmer, og brukes også til å lagre resultatene av beregninger eller annen behandling av data før de sendes til et eksternt minne, til en datautgangsenhet eller kommunikasjonsgrensesnitt.

Hver celle tilfeldig tilgangsminne tildelt en unik adresse. Organisatoriske metoder for minnetildeling gir programmerere muligheten til å effektivt bruke hele datasystemet. Disse metodene inkluderer den kontinuerlige ("flate") minnemodellen og den segmenterte minnemodellen. Når du bruker en flat minnemodell, opererer programmet med et enkelt sammenhengende adresserom, et lineært adresserom, der minneceller er nummerert sekvensielt og kontinuerlig fra 0 til 2n-1, hvor n er CPU-kapasiteten på adressen. Når du bruker en segmentert modell for et program, er minne representert av en gruppe uavhengige adresseblokker kalt segmenter. For å adressere en byte med minne, må et program bruke en logisk adresse som består av en segmentvelger og en offset. Segmentvelgeren velger et spesifikt segment, og forskyvningen peker til en spesifikk celle i adresserommet til det valgte segmentet.

Før du vurderer teknologien for fysisk organisering av minne i en datamaskin, bør følgende bemerkes:

1. Minne i en datamaskin har en organisasjon på flere nivåer.

2. Minne klassifiseres i henhold til måten data aksesseres på.

Alle typer minner med adressestrukturer fungerer i henhold til prinsippet om en-til-en-korrespondanse mellom hvert element i settet med adresserom og hvert element i settet med data som er lagret i minnet.

Minne med sekvensiell tilgang utelukker muligheten for tilfeldig tilgang til et minneelement, tilgang til dette er bestemt av sekvensalgoritmen i minnestrukturen med dens enhetlige organisering eller av sekvensiell tilgangsalgoritme fra høyeste nivå til laveste i et multi-nivå organisasjon (filsystem).

Associativt minne bruker en assosiativ funksjon (en kode, som kan være en kode, nøkkel, adresse eller en del av adresseminnet som lagrer en kopi av den) som et søk etter et dataelement i minnet. På grunn av dette kan et dataelement lokaliseres hvor som helst i minnet, noe som bryter med prinsippet om en-til-en-korrespondanse, som er karakteristisk for adresserbare minnestrukturer.

3. Etter lagringsmetode.

Statisk

Dynamisk

Fast

Flashminne

4. Minnet i datamaskinen har en modulær struktur. Den er basert på en modulær struktur, som gjør det mulig å danne et variabelt volum av lagringsenheten ved å øke eller redusere antall moduler i konfigurasjonen.

Det fysiske minnet til et datasystem er delt inn i eksternt og operasjonelt minne. Eksternt minne er beregnet for langtidslagring av informasjon og forblir i passiv tilstand til datasystemet selv når det er slått av.

Eksternt minne i moderne datasystemer implementeres hovedsakelig på disker og magnetbånd, samt ulike typer ikke-flyktig minne.

Eksternt minne er fysisk implementert som inngangs-/utgangssystemenheter som kommuniserer med prosessoren og minnet via inngangs-/utgangsgrensesnitt, hvis funksjon er basert på to forskjellige arkitektoniske løsninger: systembussen og I/O-kanaler.

Når det gjelder tilfeldig tilgangsminnet, hvis fysiske og logiske organisering er gjenstand for dette emnet, er det strukturelt delt inn i to deler: en minneenhet og en kontrollenhet eller minnekontroller.

Minnekontrolleren er koordinatoren for RAM, den er koblet til grensesnittene med prosessoren og inngangs-/utgangssystemet, og mottar forespørsler fra dem om data både for å skrive til minnet og lese fra det.

Etter å ha mottatt forespørselen, setter kontrolleren den i køen for å få tilgang til lagringsenheten (minnet) i henhold til prioritet, og gir preferanse til inngangs-/utgangssystemet, organiserer kommunikasjon med minnet i samsvar med grensesnittprotokollen som kobler dem til.



Funksjonaliteten til minnekontrolleren står i direkte proporsjon med kompleksiteten til funksjonaliteten til systemet. Så, for eksempel, i symmetriske multiprosessorsystemer, er minnekontrolleren koordinator for forespørsler om data fra alle prosessorer i systemet, aksepterer dem for utførelse eller midlertidig blokkering hvis dataene allerede behandles av en annen prosessor, og sikrer dermed datasammenheng i systemet.

I henhold til lagringsmetoden refererer moderne tilfeldig tilgangsminne i datasystemer i de fleste tilfeller til dynamisk minne, som krever periodisk under drift av modusen for informasjonsgjenoppretting i minnet, det vil si regenereringssykluser, hvor tilgang til minne av eksterne agenter er blokkert. Organiseringen av slike sykluser og deres frekvens er inkludert i funksjonene til kontrolleren.

Ulike metoder har blitt brukt for å redusere innvirkningen av oppdateringssykluser på minneytelsen. Dette er for det første bruken av modulær teknologi for å konstruere minne med organisering av banker og alternerende adresser, det vil si med plassering av data med partall og oddetall adresser i forskjellige minnemoduler (mikrokretser) som kan nås samtidig i et minne syklus, og kombinerer dermed datasampling i en modul med en oppdateringssyklus i en annen, i fravær av en burst-samplingmodus, det vil si samtidig datasampling på en partall og oddetall adresse.

De begynte også å bruke modusen for automatisk regenerering av minneceller, som er tilgjengelig for data i lesemodus og modusen for intern regenerering av alle minneceller i mikrokretser. Men for dette formålet måtte en intern kontroller bygges inn i hver minnemikrokrets, og ovennevnte og andre funksjoner måtte tildeles den, og frigjøre den eksterne kontrolleren for andre viktigere oppgaver.

Når det gjelder arkitekturen til selve lagringsenhetene, som er beregnet på lagring,

skriving og lesing av data kan noteres følgende.

Bruke elektronrør som lagringselementer i det innledende stadiet av utviklingen av datateknologi, og deretter ferrittkjerner, og til slutt bytte til halvlederteknologi, der de begynte å bruke de kapasitive egenskapene til det isolerte avløpet til en felteffekttransistor. det endelige målet med disse endringene var og vil være løsningen av følgende oppgaver:

Utvide minnekapasiteten

Økning i ytelse

Forbedrer lagringssikkerheten og reduserer strømforbruket i minnet.

Hvis systemminnet til moderne 32-bits datamaskiner med en 32-bits adressebuss for minnetilgang gjør det mulig å øke kapasiteten opp til 4GBT, så for datamaskiner på 2 og 3 generasjoner med ferrittminne, vil kapasiteten til selv superdatamaskiner med det tid ble kun beregnet i titalls og hundrevis av KBT.Så kapasitetsminnet BESM6 til den innenlandske superdatamaskinen utgjorde på en gang omtrent 768kbt, og nådde ikke engang megabytegrensen.

Hoppet i mengden RAM skjedde med introduksjonen av halvlederteknologi i produksjonen av minnelagringsenheter, takket være hvilke kapasiteten til RAM har krysset megabyte-grensen. En av de første datamaskinene som hadde denne typen minne var IBM7030 i 1961, som hadde en minnestørrelse på 2MGB. Designutviklingen i denne maskinen ble senere brukt i den velkjente serien med maskiner IBM360 og IBM370. Disse maskinene, med 24-bits adressebusser, hadde muligheten til å utvide minnevolumet opp til 16 MGBT. Med introduksjonen av en 32-bits buss i slike datamaskiner som ESA370, IBM4381, selv om minnet ikke krysset gigabyte-grensen, hadde det muligheten til å vokse fra 16 til 64 MB.

Moderne stormaskiner i Z-arkitekturen, som Z9BC, har muligheten til å vokse opp til 64 GB med en 64-bits buss, og Z10-datamaskinen til og med opptil 1,5 TRBT.

Når det gjelder våre innenlandske datamaskiner, har mengden RAM for EC Series 3 (EC1046, EC1066) maskiner nådd 8Mgbt, maskinene som var bestemt til å fullføre sin historiske utviklingsvei på dette stadiet.

Det var også datamaskiner av klassen superdatamaskiner beregnet på forsvarsformål av missilforsvarssystemet, som hadde en større minnekapasitet, for eksempel M13-prosjektet (mengden RAM til denne superdatamaskinen kunne utvides til 34 megabyte).

Den neste av hovedkarakteristikkene til den fysiske organiseringen av minnet er datasamplingstiden, som var 10-12 μs for en 2. generasjons datamaskin med et minne på magnetiske kjerner. Og bare med introduksjonen av halvlederminne ble datasamplingstiden redusert med en størrelsesorden og ble fra 1,5 til 0,5 μsq.

Dynamisk minne ved sin natur og måte å lagre data på, til tross for sin enklere struktur enn statisk, er den tregste delen av datasystemet, det vil si den tregeste delen av datasystemet, og selv for en betydelig reduksjon i syklusene for tilgang til det, forblir det slik at nåtiden.

Dette er grunnen til konstruksjonen av multi-level minne i datasystemer, som inkluderer registerfiler og et annet antall nivåer av høyhastighets bufferminne, utført på statiske (triggere) lagringselementer.

Den moderne arkitekturen til datasystemer opererer med konsepter som virtuelt minne, hvor kartleggingen til fysisk minne er representert av et sett med operasjonelt og eksternt minne. Dette ble mulig som et resultat av en idé fremsatt av engelske forskere ved University of Manchester, hvis essens var å skille konseptene om størrelsen på adresserommet fra den spesifikke størrelsen på adresse-RAM-en i systemet. Dermed ble systemets adresserom uavhengig av størrelsen på RAM og begynte å dukke opp til disposisjon for programmereren som virtuelt minne, noe som ga ham gode muligheter når han skrev programmer uten å begrense seg til størrelsen på RAM.

For å implementere denne ideen var det nødvendig å introdusere slike konsepter som logiske adresser og virtuelle sider, som representerer minneområder av en viss lik størrelse, som hele adresserommet til virtuelt minne begynte å bli delt inn i.

Virkelig minne begynte å bli delt inn i fysiske sider, hvis størrelser tilsvarte størrelsen på virtuelle sider.

Faktisk kan innholdet i virtuelt minne lokaliseres i RAM, og deretter får den virtuelle siden status som fysisk og i ethvert tillatt område av RAM etter operativsystemets skjønn eller, i motsatt tilfelle, eksternt minne Oppbevaring.

Følgelig må et datasystem som implementerer minnevirtualiseringsmekanismen ha en mekanisme for å flytte innholdet på virtuelle sider fra eksternt minne til RAM og tilbake under programkjøring. En slik mekanisme kalles filsystemet, og den dynamiske omdirigeringsmekanismen, for eksempel i IBM-systemer eller personsøkingsmekanismen i INTEL-prosessorer, oversetter virtuelle adresser til fysiske.

Konseptet med logiske adresser ble introdusert. Adressene til kommandoer og data generert i prosessen med å utføre kommandoer i prosessoren fikk status som logiske, siden de sluttet å samsvare med fysiske minneadresser, og indikerte bare deres plassering i adresserommet til programkoden.

Dessuten ble det mulig i systemet at det er flere virtuelle adresserom som har egne ordninger for å konvertere logiske adresser til fysiske.

Virtuelt minne er et systemobjekt som vurderes på operativsystemnivå, og derfor er det mer hensiktsmessig å karakterisere strukturen med tanke på den logiske organiseringen av minnet.

Før du karakteriserer den logiske organiseringen av minnet, bør det bemerkes at adressering av fysisk minne utføres av byte, det vil si at minimum adresserbare enhet er en byte, og derfor må alle størrelser av strukturelle elementer i den logiske organiseringen av minne være multipler. av et helt antall byte i dem.

Programmet opererer med begreper som operator, operander, konstanter, variabler, uttrykt i numerisk eller symbolsk form. Som et resultat av oversettelsen av programkoden, representerer de binære koder, bestående av et heltall av byte, som plasseres i RAM under programkjøring. Bytes kombineres til ord, ord til linjer, linjer til sider, sider til segmenter.

Rekkefølgen som bytene er plassert i minnet er viktig for den logiske organiseringen av minnet. Det er vanlig å ordne bytes sekvensielt i minnet fra venstre til høyre, og øke verdiene til adressene deres med én.

Å dele opp virtuelt og fysisk minne i sider og segmenter gjør det mulig ikke bare å kartlegge virtuelle sider til fysisk minne, men også å beskrive områder med lineært rom og fysisk minne, under hensyntagen til deres formål og tilgangsrettigheter fra programmer i de såkalte deskriptorene som tilsvarer hvert segment og hver side ... Dermed implementeres en beskyttelsesmekanisme når du får tilgang til RAM.

Og så har operativsystemlaget til sin disposisjon en mekanisme for å dele opp virtuelt og fysisk minne i sider og segmenter, som det bruker som et verktøy for å danne strukturen til systemets logiske minne. Men det er områder i RAM som kun fysisk adressering brukes til. I disse områdene tildeler operativsystemet vanligvis tabeller som brukes ved konvertering av logiske minneadresser til fysiske. A. også ulike typer tjenesteinformasjon, som tilgang kun er tillatt fra sin side. Disse områdene kalles permanent tildelte minneområder, hvis størrelse bestemmes av systemarkitekturen og operativsystemene.

Det er en flat og flerdimensjonal logisk minnemodell. Konseptet med en flat minnemodell er assosiert med organiseringen av RAM, foreslått av von Neumann, det vil si med plassering av instruksjoner og data i et felles område av fysisk minne, noe som gir programmereren selv rett til å kontrollere ordren av deres plassering. Denne modellen skapte visse vanskeligheter og krevde ekstra innsats fra programmereren når han skrev programmet. Det første forsøket på å forbedre den flate minnemodellen var introduksjonen av en segmenteringsmekanisme for å skille områder for instruksjoner og data. Denne modellen begynte å bli kalt flatbeskyttet, der områdene med instruksjoner og data fortsatt kunne være lokalisert innenfor størrelsen på fysisk minne, men på forskjellige steder, tilgang som ble indikert gjennom startadressene til segmenter i beskrivelser, og størrelsen var begrenset av verdien av grensen spesifisert i dem ... Dermed ble den enkleste beskyttelsesmekanismen i minnet implementert. Denne teknologien var lik minnemodellteknologien i Harvard-arkitekturen, men ble brukt på delt fysisk minne for instruksjoner og data. Senere ble en flat multisegment-minnemodell introdusert, der andre områder beregnet på ikke bare lagring av kommandoer og data begynte å bli kontrollert av beskyttelsesmekanismen.

Minnemodellen ble flerdimensjonal med introduksjonen av virtuelt minne, der logiske adresser ble delt inn i flere deler, som hver ble utsatt for tabelltransformasjon. Antall mekanismer involvert i transformasjonen bestemmer flerdimensjonaliteten til logisk minne. Ved personsøkingskonvertering av adresser blir minnet endimensjonalt, hvor en gruppe som består av de mest signifikante bitene av en logisk adresse i sin enkleste form utsettes for konvertering. Antallet av disse bitene i gruppen, eller rettere sagt styrken til 2, bestemt av dette antallet biter, bestemmer antallet virtuelle sider i virtuelt minne. De minst signifikante bitene av den logiske adressen konverteres ikke og bestemmer forskyvningen, det vil si plasseringen av dataene på den fysiske siden. Siden antallet sider med virtuelt minne er stort nok, er den øvre gruppen av biter i den logiske adressen delt inn i flere grupper. Som et resultat bruker konverteringsmotoren flere sett med mindre tabeller i stedet for en enkeltsidetabell. Antall tabeller som inngår i settet vil også bli bestemt av graden bestemt av antall adressebiter i gruppen som følger gruppen med lavere adresser til den logiske adressen, og antall sett vil være lik antall rader i sidekatalogen, hvis størrelse vil avhenge av antall biter i gruppen som bestemmer størrelsen på katalogen ... Den ovenfor beskrevne strukturen vil være typisk i tilfellet med å dele den øvre gruppen av biter av en logisk adresse i tre deler.

La oss ta en titt på hvilken maskinvare som trengs for å oversette logiske adresser til fysiske.

Som nevnt ovenfor er den nedre gruppen av biter av den logiske adressen ikke gjenstand for konvertering og representerer en offset, det vil si plasseringen av den første byten med adressedata på en fysisk side.

Trinn-for-trinn-mekanismen for å konvertere en logisk adresse til en fysisk (når du deler den øvre delen av en logisk adresse i to deler) skjer i følgende rekkefølge:

1. Et anrop gjøres til en rad i tabellen, bestemt av gruppen av de mest signifikante bitene i den logiske adressen, tolket som en sidekatalog. Bordet er plassert i RAM. Strengadressen dannes ved å legge til baseadressen, som indikerer begynnelsen av tabellplasseringen i minnet, og tidligere lastet inn i systemregisteret i prosessoren. Det andre leddet er koden i høyordensgruppen.

2. Som et resultat leses en katalograd fra minnet, som inneholder attributtene og basisadressen til sidetabellen som tilsvarer denne katalograden.

3. En syklus med minnetilgang til en rad i sidetabellen organiseres. Strengadressen dannes ved å legge til basisadressen lest fra katalogstrengen og koden som tilsvarer verdien av sifrene i gruppen etter katalogsiffergruppen.

4. Leseraden fra sidetabellen inneholder basisadressen til den fysiske siden i minnet, som mates til addereren, hvor ved å addere med verdien av gruppen av lavordensbiter av den logiske adressen, som representerer offset i området til den fysiske siden, den fysiske adressen til minnetilgangen dannes.

Og så, i samsvar med algoritmen ovenfor, er maskinvaren for å støtte konvertering av logiske adresser til fysiske:

1. Et område med tilfeldig tilgangsminne tildelt for lagring av tabeller. Dette området er et rom der transformasjonsmekanismen ikke fungerer.

2. Tilstedeværelsen av kontrollregistre i prosessoren, for lagring av baseadressen, som indikerer plasseringen av den opprinnelige tabellen i minnet.

3. En adderer for å utføre addisjonsoperasjoner av adressearitmetikk.

4. Tilstedeværelsen av bufferregistre eller cache-minner er fullt assosiative for å lagre resultatene av stadiene med å konvertere logiske adresser til fysiske.

Sistnevnte maskinvare er nødvendig for å øke ytelsen til systemet, siden det ikke er behov for å utføre en full syklus av transformasjoner hver gang minnet åpnes på en fysisk side, hvis koordinater ble beregnet under den første tilgangen til den.

Innføringen av en ekstra segmenteringsmekanisme ved oversettelse av logiske adresser gjør minnemodellen todimensjonal. Segmenteringsmekanismen danner et lineært adresserom av virtuelt minne, som, som et resultat av transformasjon, består av segmenter der programkoder og data er lokalisert, og dermed definerer en dimensjon av logisk minne, den andre dimensjonen bestemmer sidetransformasjonsmekanismen, som representerer minne som et sett med virtuelle sider.

Det skal bemerkes at ideologien med segmentering av virtuelt minne i datasystemer tolkes annerledes. For eksempel er segmenteringsstadiet i prosessen med å konvertere logiske adresser til fysiske adresser i IBM-systemer (IBM360, IBM370, Zarchitecture-servere) uatskillelig fra sidekonverteringsstadiet, som er det forrige stadiet før sidekonverteringsstadiet, som i INTEL-systemer, den kontrolleres kun av den øvre delen av de logiske adresseadressene, den midtre delen av adressen og den nedre gruppen av adresser er kun involvert i personsøking. Dermed realisere en uatskillelig logisk forbindelse mellom stadiene, splitte det virtuelle minnet først i segmenter - store områder og deretter segmenter i sider.

I Zarchitecture-servere ble størrelsen på den virtuelle adressen økt til 64 biter, noe som gjorde det mulig å adressere virtuelt minne på opptil 16 exabyte. Når det gjelder flerdimensjonaliteten til logisk minne i disse serverne, gjør maskinvaredelen av dem det mulig å ha opptil 4 typer virtuelle adresserom uavhengig av hverandre med antall mellomrom i to av dem 64K hver og i de resterende to 16 K hver med sine egne tabelltransformasjoner for hver type, som brukes til å bygge virtuelle logiske formasjoner - logiske partisjoner, som hver har sitt eget operativsystem. Hver type virtuelle adresser knyttet til typen virtuell minne er underlagt den samme konverteringsmekanismen med sine egne tabellsett. Derfor, etter konseptene og terminologien diskutert ovenfor, kan minnet i disse serverne betraktes som et sett med 4 typer endimensjonale virtuelle minner med en fem-trinns transformasjon, med fem typer områder: side, segment, region1, region2, region3.

Ordningen for oversettelse av virtuelle adresser i servere Zarchitecture