SE464052B - Minneshanteringsenhet foer datorer - Google Patents

Minneshanteringsenhet foer datorer

Info

Publication number
SE464052B
SE464052B SE8305290A SE8305290A SE464052B SE 464052 B SE464052 B SE 464052B SE 8305290 A SE8305290 A SE 8305290A SE 8305290 A SE8305290 A SE 8305290A SE 464052 B SE464052 B SE 464052B
Authority
SE
Sweden
Prior art keywords
memory
access
mmu
main memory
address
Prior art date
Application number
SE8305290A
Other languages
English (en)
Other versions
SE8305290L (sv
SE8305290D0 (sv
Inventor
P A Baker
G L Marten
Original Assignee
Apple Computer
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer filed Critical Apple Computer
Publication of SE8305290D0 publication Critical patent/SE8305290D0/sv
Publication of SE8305290L publication Critical patent/SE8305290L/sv
Publication of SE464052B publication Critical patent/SE464052B/sv

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

464 052 g 2 Föreliggande uppfinning har till ändamål att realisera en förbättrad minneshanteringsenhet för användning tillsammans med en dator, som innehåller en central processenhet (CPU) och ett huvudminne. Uppfinningen avser därför ett datorsystem av inledningsvis angivet slag med i patentkravet 1 angivna känne- - tecken.
Minneshanteringsenheterna innehåller sålunda en relokeringsbas och när de ~ första adressignalerna från CPU:n anländer, skapas ett andra set av adress- signaler för access till minnet. Minneshanteringsenheter innefattar även lagringsmedel för att motta och lagra signaler, som är representativa för de typer av information som är lagrade i huvudminnet. Accessmedel för access till dessa lagrade signaler erbjuds när motsvarande platser i huvudminnet nås. De lagrade signalerna från lagringsmedlen kopplas till huvudminnet för att t ex begränsa access till särskilda typer av data i nfinnet såsom operativsystem.
Dessa signaler tillåter även användning för att tillåta endast läsrättigheter till program eller läs- och skrivrättigheter till data.
I den här föredragna utformningen är lagringsmedlen en integrerad del av minneshanteringsenhetens minne. Minneshanteringsenhetens nfinne har fyra gånger så stor kapacitet som behövs för att tillgodose relokeringsnummer och gräns- värdesnummer för hela huvudminnet. Som senare beskrivs, tillåter denna form av tilläggskapacitet en så kallad bankväxling och olika processer att exekveras i datorn utan att omprogrammera minneshanteringsenhetens minne.
En som exempel vald utföringsform av uppfinningen beskrivs närmare nedan med hänvisning till bifogade ritningar, på vilka fig. 1 visar ett allmänt blockschema av en central processenhet (CPU), minneshanteringsenhet (MMU) och huvudnfinne och deras förbindning i en dator, fig. 2 visar ett schema av organisationen av data lagrat i den uppfunna minneshanteringsenhetens minne, fig. 3 visar ett blockschema av den uppfunna minneshanteringsenheten, och fig. 4 visar ett schema som används för att beskriva de olika datasamman- hang som används vid minneshanteringsenhetens användning och den resulterande organisationen av informationen som är lagrad i datorns huvudminne.
En minneshanteringsenhet (MMU) beskrivs för användning i en dator som * innehåller en centralprocessenhet (CPU) och ett huvudminne. I den följande beskrivningen anges många specifika detaljer såsom nfinnesstorlekar, detaljnummer ' etc. för att ge en grundlig förståelse av den föreliggande uppfinningen.
Emellertid kommer det att vara uppenbart för var och en som känner tekniken väl att dessa detaljer inte krävs för att utföra den föreliggande uppfinningen. I andra fall beskrivs inte kretsar och välkända strukturer i detalj för att inte fördunkla uppfinningen med onödiga detaljer. 3 464 052 Med hänvisning först tiii fig. 1 iiiustreras förbindningen meiian CPU, en minneshanteringsenhet och huvudnfinne. Denna förbindning är nästan densamma för föreiiggande uppfinning som föregående teknik. Datorn i fig. 1 inkiuderar en dubbeiriktad databuss 16, som kommunicerar med CPU:n 10, huvudminnet 14 och minneshanteringsenheten (MMU) 12. Adressbussen 18 mottar adressignaier från CPU:n 10 och deiger en dei av dessa adresser tiii MMU minneshanteringsenheten 12 och en dei tiii huvudminnet 14. Andra kontroiisignaier koppias meiian CPU 10 och MMU 12, som visas av iinjerna 35 och 37 och meiian MMU 12 och huvudminnet 14, som visas av iinje 57.
Minneshanteringsenheten MMU 12 programmeras från CPU 10 genom databussen 16. Adresserna kommuniceras över bussen 18 tiii MMU 12 från CPU 10 för att tiii- iåta iaddning av MMU 12.
I det här presenterade utförandet innehåiier CPU:n en 68000 processor.
För denna processor tiiihandahåiier CPU 10 24 bitars adresser. (Egentiigen är iägsta ordningens bit inte fysiskt närvarande som sådan utan inkodad i andra signaier men för diskussionens ändamåi kommer det att antas vara en ordinär adressbit.) Det kommer också för diskussionens ändamåi att antas att de sju högsta ordningens bitar av varje iogisk adress från CPU:n utpekar ett segment i minnet, de nästa åtta nfindre signifikanta bitarna utgör en sidförskjutning och de minst signifikanta nio bitarna en förskjutning. I den här föredragna utform- ningen koppias segmentet och sidoförskjutningen i varje adress tiii MMU 12.
Minneshanteringsenheten (MMU) 12 tiiihandahåiier en reiokeringsbas genom att utbyta segmentnumret från CPU 10 mot ett segmentnummer iagrat i MMU 12. Speci- fikt adresseras segmentnumret från CPU 10 ett nfinne i MMU 12 och detta nfinne tiiihandahåiier en segmentbas, som används för att adressera huvudminnet 14.
Sidförskjutningsdeien av adressen från CPU 10 kontroiieras för att avgöra om sidförskjutningen faiier inom förutbestämda gränser av segmentet. Detta skuiie t ex förhindra att aiia noiior från ett oanvänt område i huvudnnnnet iäses och toikas som data. Segmentbasen från MMU 12 adderas tiiisammans med sidförskjut- ningen och koppias tiii huvudminnet 14 på bussen 18a och 18b i fig. 1. De nio minst signifikanta bitarna passerar direkt från CPU tiii huvudminnet via buss 18c.
Som visas på fig. 3 inkiuderar det här föredragna utförandet av minnes- hanteringsenhet MMU ett minneshanteringsenhetsminne 20. Detta minne är ett randomaccessminne tiiiverkat av kommersieiit tiiigängiiga MOS statiska RAM. Som minnet för närvarande impiementeras är tre stycken RAM-minnen med tiiiverknings- nummer 2148 använda tiii minnet 20 och ger såiunda en totai kapacitet på 12 k bitar. Organisationen i minneshanteringsenhetens minne diskuteras mer i detaij i samband med fig. 2. 464 052 4 Adressen från CPU:n visas som 24-bitadressen (logisk adress) i översta delen av fig. 3. De sju mest signifikanta bitarna i adressen kopplas till minneshanteringsenhetens minne via buss 18a och används för att adressera minneshanteringsenhetens minne. De näst mest signifikanta bitarna (buss 18b) kopplas till en adderare 27, och de nio minst signifikanta bitarna (förskjut- ningen) kopplas via buss l8c till registret 28. Utsignalen från MMU:ns minne 20 består av två 12-bitars ord (bussarna 22 och 23). Dessa ord kopplas genom multiplexorn 25 till 12-bitarsbussen 30. Ett av 12-bitars orden från minnet 20 ger segmentbasen från den lagrade relokeringsbasen. De andra 12 bitarna består av åtta bitar för gränsvärdeskontroll av sidförskjutningen och fyra övriga bitar, vilka genomför funktioner, som ingår i föreliggande uppfinning.
I den här föredragna uppfinningen existerar multiplexorn 25 inte fysiskt.
Snarare är utgången från minnet 20 tidmultiplexerat. Det är emellertid ur be- skrivningssynpunkt för förståelsen enklare att införa multiplexorn 25.
Multiplexorn 25 används även för att ladda information från buss 16 in i minne 20. Signalen på linje 47 från accesskontrollogiken 40 ger tillgång till minne 20 liksom även signalerna på linje 35. Signalen på linje 37 styr multi- plexandet av data mellan antingen buss 22 eller buss 23. 12-bitars bussen 30 från multiplexorn 25 är kopplad till adderaren 27.
Denna adderare mottar även åtta bitar på buss 18b. Som beskrivs, används adderaren 27 för att avgöra om sidförskjutningen faller inom ett förutbestämt område av det valda segmentet.
Adderaren 27 kombinerar också relokeringen (segmentbasen) från minnes- hanteringsenhetens nnnne med sidförskjutningen för att ge de 12 mest signifi- kanta bitarna till den fysiska adressen. Dessa 12 bitar tillsammans med de nio bitarna från buss l8c kopplas till registret 28 för att ge en 21-bitars adress, vilken översänds till huvudminnet 14. (Registret 28 existerar inte i den här föredragna utformningen; det visas för att underlätta förklaringen.) De fyra accesskontrollbitarna kopplas från multiplexorn 25 över linje 45 till accesslogiken 40. Här avkodas signalerna för att ge huvudminnet och andra kontroller enligt följande: En bit kontrollerar typ av huvudminnesaccess (1=läs, enbart, 0=läs/skriv).
Den andra biten kontrollerar in-ut access (1=in-ut, 0=ingen in-ut access). Den tredje biten kontrollerar huvudminnesaccess (1=minnesaccess, 0=ingen huvud- minnesacces). Den fjärde biten kontrollerar förfarandet med stack (1= stack segment-kontrollera inget spill, 0=normalsegment kontrollera spill). Access- kontroll-logiken 40 visas i fig. 3 kopplad till huvudminneskontroll via linje 57 för att kontrollera minnesaccess och de typer av accesser som är tillåtna (dvs läs eller läs/skriv). Logiken 40 är kopplad till adderare 27 via spill/överföring=carry-in linjerna och mot minne 20 via linjen 47 för att 5 464 052 möjliggöra access till minnet 20. Det specifika accesskontroll-bit-mönstret som används i den här föredragna utformningen visas nedan.
Accesskontrollbitar Minne in-ut läs endast stack Bitar Adressrymd och access 0 1 0 0 Huvudminne-läs endast stack 0 1 0 1 Huvudminne-läs endast 0 1 1 0 Huvudminne-läs/skriv stack 0 1 1 1 Huvudminne-läs/skriv 1 0 0 1 In-ut utrymme 1 1 0 0 Sida ogiltig (segmentet finns ej) 1 1 1 1 Speciellt in-ut utrymme Varje annan Ej tillåten (oförutsebara resultat) Antag först att minnet 20 har programmerats från CPU:n. För en första ansats till förklaringen av MMU minneshanteringsenheten skall bortses från linje 35 2-bitars funktion. När CPU:n adresserar huvudminnet, adresserar de sju mest signifikanta bitarna MMU:s minne 20. De 12 bitarna från relokeringsdatasegmentet kopplas via buss 22 och 30 till adderaren 27. Där kombineras de med sidförskjut- ningen (buss 18b) och den resulterande adressen kombineras med de nio bitar som anger förskjutningen i registret 28 för att ange den slutliga fysiska adressen.
Denna del av MMU fungerar på ett sätt som liknar föregående MMU. Sålunda kan relokeringssegmentbasdata programmeras in i minnet (bortseende från linje 35) på ett välkänt sätt enligt förutvarande teknik.
De 12 bitar som bildar gränsvärdesdata kopplas till adderaren 27. De fyra bitar som utgör accessdata kopplas till logiken 40 via linje 45, som tidigare visats. Gränsvärdesdata lagras i den föredragna utformningen i form av ett- komplementsform i minne 20 för ett icke stacksegment. För stacksegment lagras gränsvärdet som "längden minus ett" (t ex ett tvåsidors segment skulle lagras som 0000 0001 minne 20). När detta gränsvärdesdata adderas till sidförskjutning- en i adderaren 27 bestämmer resultatet av additionen huruvida sidförskjutningen faller inom segmentets förutbestämda område. Detta är en förbättring framför föregående tekniks gränsvärdeskontroll, där ytterligare steg krävs.
Exempel utan stack Med hänvisning till fig. 4 illustreras en representation av datorns huvud- minne. Antag att detta lagras på utrymme 50. Antag vidare att den största sid- förskjutningen (1111 1111) för data sträcker sig till plats 52 och att inom detta segment data sträcker sig till en sidförskjutning av (1110 0000) 464 052 (linje 51). För denna sidförskjutning är ett-komplementet 20 (fig. 3). Om detta segment adresseras och vid antagandet att sidförskjutningsadressen är 1111 1111 (dvs in i minnets fria del), adderar adderaren 27 1111-1111 till det lagrade talet 0001 1111. Ett spill inträffar från adderaren 27 och detta spilltillstånd avkänns av logiken 57 (fig. 3). För detta exempel indikeras att sidförskjutning- en inte är inom värdemängden och en signal ges på linje 57 för att Visa att adressen är felaktig. Logiken 40 förhindrar via linje 57 access till huvudminnet och/eller en felsignal genereras.
Med hänvisning åter till fig. 4, antag att program lagrats på plats 53 och att den högsta sidförskjutningen 1111 1111 sträcker sig till plats 50, vilket är utanför den aktuella programarean, som sträcker sig till plats 54.
Om sidförskjutningen för plats 54 är 0011 0000, så är 1100 1111 lagrat i minnet 20 (fig. 3) för det segment som börjar vid plats 55. Om detta segment adresseras och sidförskjutningen är 0000 00001 (adress till programmet), så adderar krets 27 1100 1111 och 0000 0001. Denna gång sker inget spill, varför ingen signal vidarebefordras till logiken 40, dvs access tillåts. Notera att om sidförskjut- ningen är 0100 0000 (inte inom tillåtet område), sker spill, när detta värde adderas till det lagrade värdet 1100 1111. Detta spill indikerar för logiken att sidförskjutningen inte är inom tillåtet område och minnesaccess omöjliggörs.
Exempel med stack Vid några programspråk (t ex Pascal) är stack (i minnet) mycket värde- fullt. Stackar kan utföras genom att flytta data upp i minnet men det är tids- krävande. Stackar i det här beskrivna systemet tillåts växa nedåt i minnet under en annan gränskontrollprocedur.
Antag en en-sidas stacksegment. Gränsvärdet, vilket lagrats i minnet 20 som ett-komplementet till sidförskjutningen 1111 1111 0000 0000, är detsamma som storleken minus ett (0000 0001 0000 0000). Accesskontrollbitarna förorsakar logiken 40 att producera en överföringsbit (carry-in) lika med 1. Om sidför- skjutningen är 1111 1111, sker ett spill. Detta spill avkänns av logiken 40 och tolkas som giltigt (inom tillåtet område) tillstånd. Om sidförskjutningen varit 1111 1110 (stacken har vuxit för mycket), sker inget spill och detta tolkas som en adress utanför tillåtet område.
På liknande sätt gäller att om stacken är två segment stor, är 0000 0001 lagrat i minnet 20. Återigen är överföringsbiten (carry-in) satt till ett. En sidförskjutning på 1111 1110 skulle resultera i spill, som så visas på en till- låten adress, medan vid sidförskjutning på 1111 1100 inget spill sker och detta indikerar en adress utanför tillåtet område. 464 052 Fig. 4 exempel Med hänvisning åter till fig. 4, antag att en process (program och data) lagras i huvudminnet 14 mellan platserna O och 500 kB. De tre återstående accessbitarna i minnet 20, som motsvarar segmentadressen för platser mellan 0 till 500 kB används för att åstadkomma en speciell kontroll, som ovan nämnts.
För t ex de segment som bara innehåller program tillåts endast läsning i minnet.
Detta förhindrar naturligtvis oavsiktlig skrivning i program. Både läsning och skrivning i segment, som innehåller detta, kan tillåtas. Detta indikeras i fig. 4 till höger om program 59 och data 60.
Minnet 20 programmeras (dvs accesskontrollbitarna) för att förhindra läsning av några segment i huvudminnet utom i vissa moder (t ex supervisory = övervakningsmod). Detta görs t ex för att förhindra användaren att läsa och kopiera ett operationssystem. Kort åter hänvisat till fig. 4, när programmet 59 körs, tillåts ingen adress till minnet 20, eftersom sådan access kunde föror- saka att relokeringsbasen, gränsvärdesdata och accessdata blir oavsiktligt för- ändrade. Sålunda ger de fyra accessbitarna skydd för program lagrat i huvud- minnet och begränsar access till viss information lagrad i minnet. I en typisk applikation laddas ett operativsystem från skivminne in i huvudminnet. När det väl finns i huvudminnet, har CPU:n access till operativsystemet i övervaknings- mod. Emellertid är användaren åter förhindrad access och därmed möjlighet att kopiera operativsystemet.
I föreliggande uppfinning har minnet 20 fyra gånger den kapacitet som er- fordras för att åstadkomma en relokeringsbas samt gränsvärdes- och adressdata för huvudminnet. Signalerna från CPU:n på linjerna 35 tillåter val av varje kvadrant av minnet 20. Varje sådan kvadrant kallas datasammanhang (datasamman- hang 0-3) i den följande beskrivningen.
Med hänvisning till fig. 2 visas organisationen i minneshanteringsenhetens minne 20 som fyra separata kvadranter: 20a (datasammanhang), 20b (datasamman- hang 1), 20c (datasammanhang 2), 20d (datasammanhang 3). Datasammanhang 1, 2 och 3 är organiserade i 256 x 12 bitar var. (128 x 12 bitar för relokeringsbasen och 128 x 12 bitar för gränsvärden och accessdata.) Datasammanhang 0 väljs av CPU:n under övervakningsmod och detta datasammanhang lagrar styrningsdata, som hör samman med operativsystemet. Det skall noteras att varje datasammanhang kan lagra information, som täcker hela huvudminnet, så att det alltså finns tre överlappande minneshanteringsenhetsminnen för användarprocesser.
Värdet av att ha dessa överlappande minnen visas bäst i fig. 4. Huvudmin- net 14 visas programmerat med tre processer P1, P2 och P3. Process 1 är lagrad mellan 0-500 kB, process 2 mellan 600 kB och 1 MB och process 3 mellan 1,2 MB 464 052 och 1,5 MB. Data tillhörande operativsystemet lagras mellan 1,8 MB och 2 MB.
Antag först att operationssystemet laddas och lagras mellan 1,8 MB och 2,0 MB.
En lämplig relokeringsbas lagras i minne 20 så att under övervakningsmoder adresserna 0-200 kB automatiskt hamnar mellan 1,8 till 2,0 MB i huvudminnet. Även gränserna laddas så att under övervakningsmod det fria utrymmet i minnet inte kan accessas. Under övervakningsmod (datasammanhang O) ges, som indikeras i fig. 4 under rubriken (datasammanhang 0) access till hela minneshanteringsen- hetens minne och huvudminnet (utom för accessbitarna, som förhindrar skrivning i operativsystemet lagrat i huvudminnet och därmed skyddar programet från för- störelse, som beror på programfel). Eftersom minneshanteringsenhetens minne är tillgängligt, kan det programmeras via buss 16, som visas i fig. 3 och tidigare beskrivits.
Antag att datasammanhang 1 skall användas för program 59 och data 60, då programmeras en kvadrant i minnet 20 motsvarande datasammanhang 1 för att indikera platsen för programmet 59 och data 60. Gränsvärden och accessbitar sätts som indikerats under datasammanhang 1. När så datasammanhang 1 väljs, kan program 59 läsas (endast) och läsning och skrivning av data 60 är tillåtet.
Ingen annan access till andra minnesplatser är möjlig, ej heller kan minneshan- teringsenhetens minne skrivas i.
En andra process kan lagras i minnet. Operativsystemet känner platsen för den första processen och kan programmera en annan kvadrant i minnet 20 för process 2. Relokeringsbasen programmeras så, att när CPU:n adresserar platser motsvarande 0-400 kB blir dessa platser i huvudminnet 600 kB till 1 MB. Som visas under rubriken datasammanhang 2 i fig. 4, programmeras accessbitarna för att tillåta skrivning i data 50 och läsning, men bara läsning i programmet 53.
Det går ej heller att skriva i minneshanteringsenhetens minne, ej heller är access tillåten till andra platser i huvudminnet. På liknande sätt kan en tredje process lagras i huvudminnet genom datasammanhang 3 som visas i fig. 4.
Fördelen med arrangemanget i fig. 4 är att tre skilda processer lagras i huvudminnet och att varje process kan utpekas enkelt genom minneshanterings- enhetens minne, dvs genom att välja datasammanhang 1, 2 eller 3. Ett särskilt datasammanhang (datasammanhang 0) sparas som startpunkt för operativsystemet i den här föredragna utformningen, som beskrivits. Detta tillåter körning av tre skilda program, utan att omprogramera minneshanteringsenhetens minne. Denna goda mångsidighet erhålls, eftersom man har en överlappande minneshanterings- kapacitet i minneshanteringsenhetens minne. ¿6A'fiR0 *f uuz..
Här har aHtså en förbättrad minneshanteringsenhet beskrivits, som tiH- ïåter ett fïertaï program att köras, utan att omprogrammera datorns minneshan- teringsenhetsminne. Den förbättrade enheten begränsar också access tiH vissa typer av data och förhindrar oavsiktïig skrivning i program.

Claims (10)

464 052 10 Patentkrav
1. Datorsystem, innefattande en central processenhet (CPU), ett huvud- minne (14) samt en minneshanteringsenhet (MMU), vilken minneshanteringsenhet är kopplad till processenheten och huvudminnet, varvid minneshanteringsenheten innefattar ett MMU-minne (20) innehållande ett flertal sektionerförlagring av ett flertal relokeringsbaser, vilket MMU-minne mottar första adresser från processenheten (CPU) och alstrar andra adresser för access till huvudminnet, k ä n n e t e c k n a t av att varje första adress utväljer en förutbestämd relokeringsbas i varje minnessektion, vilken är utförd att ge access till ett område i huvudminnet, så att en bestämd adress i huvudminnet är âtkomlig av fler än en minnessektion (20a-d) samt att kontrollorgan är kopplade till processenheten (CPU) och minneshanteringsenheten (MMU) för att alstra en styrsignal för att utvälja en särskild sektion i MMU-minnet (20), varigenom minneshanteringsenheten (MMU) åstadkommer relokeringsbaserna för access till ett flertal processer, lagrade i huvudminnet (14) utan ändring av de första adresserna.
2. System enligt krav 1, k ä n n e t e c k n a t av att en av MMU- minnets sektioner (20 a) är vald såsom övervakningssektion när processenheten (CPU) är i en övervakningsmod, så att denna övervakningssektion ger access till hela MMU-minnet (20) och hela huvudminnet (14).
3. System enligt krav 1 eller 2, k ä n n e t e c k n a t av att en adderare (27) är kopplad till MMU-minnet (20) och till processenheten (CPU), vilken adderare är anordnad att motta ett binärt komplement till ett gränsvärde och addera detta komplement till ett områdesvärde hos huvudminnet (14) som är åtkomligt för processenheten för att åstadkomma utvalda bitar av den första adressen, varvid en felsignal genereras när processenheten försöker få access utanför det av gränsvärdet bestämda adressomrâdet.
4. System enligt krav 3, k ä n n e t e c k n a t av att MMU-minnets sektioner (20 a-d) lagrar ett flertal accesstyrbitar, vilka alstrar en kodsignal för att bestämma en speciell typ av access till huvudminnet (14).
5. System enligt krav 4, k ä n n e t e c k n a t av att MMU-minnet (20) innefattar lagringsorgan för lagring av signaler som är representativa för de typer av information som innehålls i huvudminnet (14) för accepterande av relokeringsbaserna, gränsvärdena och accesstyrbitarna från huvudminnet under en programcykel hos minneshanteringsenheten (MMU). 11 464 'G52
6. System enligt något av kraven 1-5, k ä n n e t e c k n a t av att kontrollorganen är anordnade att acceptera kodsignalen och åstadkomma lämpliga styrsignaler för att styra typen av access till huvudminnet (14).
7. System enligt krav 1, k ä n n e t e c k n a t av att varje sektion (20 a-d) i MMU-minnet (20) är anordnad att motta en första adress från process- enheten (CPU), varvid den första adressen utväljer en förutbestämd relokerings- bas i var och en av sektionerna, varjämte var och en av nämnda relokeringsbaser i varje sektion alstrar en andra adress för access till huvudminnet (14).
8. System en1igt något av kraven 1-7 , k ä n n e t e c k n a t av att lagringsorganen är kopplade till processenheten (CPU) för att acceptera åtminstone en del av den första adressen, samt att accessorgan (18) är inrättade för att ge de lagrade signalerna access till lagringsorganen och huvudminnet (14).
9. System enligt något av kraven 1-8, k ä n n e t e c k n a t av att varje sektion (20 a-d) i MMU-minnet (20) är inrättad för lagring av ett flertal gränsvärden, vilka vart och ett bestämmer ett adressområde som är åtkomligt i huvudminnet (14) för var och en av sektionerna i MMU-minnet.
10. System enligt krav 1, k ä n n e t e c k n a t av att varje sektion (20 a-d) av MMU-minnet (20) innehåller andra adresser, vilka överlappar andra adresser innehållna i andra sektioner, så att varje sektion har access till områden av huvudminnet (14) till vilka även andra sektioner har access.
SE8305290A 1982-09-29 1983-09-29 Minneshanteringsenhet foer datorer SE464052B (sv)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US42686982A 1982-09-29 1982-09-29

Publications (3)

Publication Number Publication Date
SE8305290D0 SE8305290D0 (sv) 1983-09-29
SE8305290L SE8305290L (sv) 1984-03-30
SE464052B true SE464052B (sv) 1991-02-25

Family

ID=23692542

Family Applications (1)

Application Number Title Priority Date Filing Date
SE8305290A SE464052B (sv) 1982-09-29 1983-09-29 Minneshanteringsenhet foer datorer

Country Status (12)

Country Link
JP (1) JPS5979367A (sv)
AU (1) AU559067B2 (sv)
CA (1) CA1197020A (sv)
DE (1) DE3333894A1 (sv)
FR (1) FR2533736A1 (sv)
GB (1) GB2127994B (sv)
IL (1) IL69784A (sv)
IN (1) IN161125B (sv)
IT (1) IT1221741B (sv)
NZ (1) NZ205486A (sv)
SE (1) SE464052B (sv)
ZA (1) ZA836384B (sv)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2176918B (en) * 1985-06-13 1989-11-01 Intel Corp Memory management for microprocessor system
US4972338A (en) * 1985-06-13 1990-11-20 Intel Corporation Memory management for microprocessor system
JP2522248B2 (ja) * 1986-05-24 1996-08-07 株式会社日立製作所 記憶装置アクセス機構
AU595378B2 (en) * 1986-08-22 1990-03-29 Commonwealth Scientific And Industrial Research Organisation Content-addressable memory system with active memory circuit
EP0262486B1 (de) * 1986-09-25 1993-11-18 Siemens Aktiengesellschaft Adressenverwaltungseinheit einer Multiprozessor-Zentralsteuereinheit eines Nachrichten-Vermittlungssystems
FR2618578A1 (fr) * 1987-07-21 1989-01-27 Digilog Systeme informatique modulaire embarque a memoire virtuelle integree
DE3901457A1 (de) * 1989-01-19 1990-08-02 Strahlen Umweltforsch Gmbh Verfahren zur adressbereichsueberwachung bei datenverarbeitungsgeraeten in echtzeit
US5617554A (en) * 1992-02-10 1997-04-01 Intel Corporation Physical address size selection and page size selection in an address translator
US5752275A (en) * 1995-03-31 1998-05-12 Intel Corporation Translation look-aside buffer including a single page size translation unit
JP2005100262A (ja) 2003-09-26 2005-04-14 Seiko Epson Corp メモリ管理装置およびメモリ管理プログラム、並びにメモリ管理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5315779B2 (sv) * 1973-08-16 1978-05-27
GB1498116A (en) * 1974-04-18 1978-01-18 Honeywell Inf Systems Data processing systems
US3938100A (en) * 1974-06-07 1976-02-10 Control Data Corporation Virtual addressing apparatus for addressing the memory of a computer utilizing associative addressing techniques
US3999052A (en) * 1975-06-18 1976-12-21 International Business Machines Corporation Upper bounds address checking system for providing storage protection for a digital data processor
US4037215A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key controlled address relocation translation system
GB1585960A (en) * 1976-07-30 1981-03-11 Plessey Co Ltd Information flow security mechanisms for data processing systems
US4093986A (en) * 1976-12-27 1978-06-06 International Business Machines Corporation Address translation with storage protection
JPS5436144A (en) * 1977-08-26 1979-03-16 Toshiba Corp Address conversion unit
DE2837241C2 (de) * 1978-08-25 1982-05-06 Siemens AG, 1000 Berlin und 8000 München Einrichtung zum Sichern von Daten gegen unberechtigten Zugriff
US4366537A (en) * 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys

Also Published As

Publication number Publication date
SE8305290L (sv) 1984-03-30
IT1221741B (it) 1990-07-12
CA1197020A (en) 1985-11-19
IN161125B (sv) 1987-10-10
JPS5979367A (ja) 1984-05-08
AU1894083A (en) 1984-04-05
AU559067B2 (en) 1987-02-19
IL69784A0 (en) 1983-12-30
ZA836384B (en) 1984-05-30
IL69784A (en) 1986-12-31
NZ205486A (en) 1987-02-20
GB2127994B (en) 1987-01-21
GB2127994A (en) 1984-04-18
DE3333894C2 (sv) 1993-04-01
SE8305290D0 (sv) 1983-09-29
IT8322960A0 (it) 1983-09-22
DE3333894A1 (de) 1984-03-29
FR2533736A1 (fr) 1984-03-30
GB8316129D0 (en) 1983-07-20

Similar Documents

Publication Publication Date Title
KR100284975B1 (ko) 플래시 메모리가 주 메모리를 보충하도록 하는 메모리 관리자
US3979726A (en) Apparatus for selectively clearing a cache store in a processor having segmentation and paging
KR101016714B1 (ko) 메모리 보호 유닛을 갖는 데이터 처리장치
US4899272A (en) Addressing multiple types of memory devices
EP0818731A1 (en) Memory board, memory access method and memory access device
EP0377970B1 (en) I/O caching
KR960701414A (ko) 복수의 마이크로 프로세서들간에 애플리케이션 데이터 및 절차들을 공유하기 위한 보안성 애플리케이션 카드
EP0170284B1 (en) Microcomputer
WO1983000240A1 (en) Extended address generating apparatus and method
SE464052B (sv) Minneshanteringsenhet foer datorer
US4926316A (en) Memory management unit with overlapping control for accessing main memory of a digital computer
JP3605205B2 (ja) データ処理装置および処理方法
US4318175A (en) Addressing means for random access memory system
US5127096A (en) Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes
US6553478B1 (en) Computer memory access
EP3057100B1 (en) Memory device and operating method of same
US3845425A (en) Method and apparatus for providing conditional and unconditional access to protected memory storage locations
US5117492A (en) Memory addressing system using first and second address signals and modifying second address responsive predetermined values of first address signal
JP4636005B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4241741B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JPS5844263B2 (ja) 記憶制御回路
JP2005222519A (ja) メモリに記憶されたデータワード内のビット値へのアクセス
JP2007156582A (ja) メモリコントローラ及びフラッシュメモリシステム
KR100225726B1 (ko) 기억 제어 시스템 및 그 제어 방법(Storage control system)
EP0377971B1 (en) I/O bus caching

Legal Events

Date Code Title Description
NAL Patent in force

Ref document number: 8305290-2

Format of ref document f/p: F

NUG Patent has lapsed

Ref document number: 8305290-2

Format of ref document f/p: F