SE464052B - Minneshanteringsenhet foer datorer - Google Patents
Minneshanteringsenhet foer datorerInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/145—Protection 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)
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.
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)
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)
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 |
-
1983
- 1983-06-14 GB GB08316129A patent/GB2127994B/en not_active Expired
- 1983-08-29 ZA ZA836384A patent/ZA836384B/xx unknown
- 1983-09-05 NZ NZ205486A patent/NZ205486A/en unknown
- 1983-09-08 CA CA000436306A patent/CA1197020A/en not_active Expired
- 1983-09-08 AU AU18940/83A patent/AU559067B2/en not_active Ceased
- 1983-09-20 DE DE19833333894 patent/DE3333894A1/de active Granted
- 1983-09-21 JP JP58173310A patent/JPS5979367A/ja active Pending
- 1983-09-21 IL IL69784A patent/IL69784A/xx not_active IP Right Cessation
- 1983-09-22 IT IT22960/83A patent/IT1221741B/it active
- 1983-09-24 IN IN1171/CAL/83A patent/IN161125B/en unknown
- 1983-09-27 FR FR8315305A patent/FR2533736A1/fr active Pending
- 1983-09-29 SE SE8305290A patent/SE464052B/sv not_active IP Right Cessation
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 |