SE464052B - MEMORY MANAGER DRIVES COMPUTERS - Google Patents

MEMORY MANAGER DRIVES COMPUTERS

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
Swedish (sv)
Other versions
SE8305290L (en
SE8305290D0 (en
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/en
Publication of SE8305290L publication Critical patent/SE8305290L/en
Publication of SE464052B publication Critical patent/SE464052B/en

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. 464 052 g 2 The present invention has for its object to realize an improved memory management device for use with a computer, which contains a central processing unit (CPU) and a main memory. The invention therefore relates to a computer systems of the kind initially indicated with the characteristics specified in claim 1 - sign.

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.The memory management units thus contain a relocation base and when they ~ the first address signals from the CPU arrive, a second set of address signals for access to memory. Memory management devices also include storage means for receiving and storing signals representative of the types of information stored in the main memory. Access means for access to these stored signals are offered when the corresponding locations in the main memory are reached. The the stored signals from the storage means are connected to the main memory to e.g. restrict access to specific types of data in the network such as operating systems.

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.These signals also allow use to allow only read rights to programs or read and write rights to 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.In this preferred design, the storage means are an integral part of memory management device memory. The memory manager's n 'has four times as large a capacity as is necessary to meet the relocation number and value number for the entire main memory. As described later, this form of additional capacity a so-called bank change and various processes to be executed in the computer without reprogramming the memory management device memory.

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.An exemplary embodiment of the invention is described in more detail below with reference to the accompanying drawings, in which Fig. 1 shows a general block diagram of a central processing unit (CPU), memory management device (MMU) and the master and their connection in a computer, Fig. 2 shows a diagram of the organization of data stored in the invented memory management device memory, Fig. 3 shows a block diagram of the invented memory management unit, and Fig. 4 shows a diagram used to describe the various data combinations. hang used in the use of the memory management device and the resulting the organization of the information stored in the computer's main memory.

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.A memory management device (MMU) is described for use in a computer that * contains a central processing unit (CPU) and a main memory. In the following the description indicates many specific details such as nne size sizes, part numbers' etc. to provide a thorough understanding of the present invention.

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.However, it will be obvious to anyone familiar with the art that these details are not required to practice the present invention. IN other cases, circuits and well-known structures are not described in detail so as not to obscure the invention with unnecessary details. 3 464 052 Referring first to Fig. 1, the connection to the CPU is illustrated memory management unit and main nne. This connection is almost the same for present invention as a prior art. The computer in Fig. 1 includes one dual-direction data bus 16, which communicates with the CPU 10, the main memory 14 and the memory management unit (MMU) 12. The address bus 18 receives address signals from The CPU 10 and one of these addresses to the MMU memory management unit 12 and a dei tiii main memory 14. Other control signals are copied with CPU 10 and MMU 12, shown by lines 35 and 37 and the MMU 12 and main memory 14, shown by line 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.The memory management unit MMU 12 is programmed from the CPU 10 through the data bus 16. The addresses are communicated over the bus 18 to the MMU 12 from the CPU 10 to iåta iaddning av MMU 12.

I det här presenterade utförandet innehåiier CPU:n en 68000 processor.In the embodiment presented here, the CPU contains a 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.For this processor, the CPU 10 provides 24 bit addresses. (Actually is first-order bit not physically present as such but encoded in others signals but for the purpose of the discussion it will be assumed to be an ordinary one address bit.) It will also be assumed for the purpose of the discussion that the seven the highest order bits of each logical address from the CPU designate a segment in memory, the next eight other significant bits constitute a page shift and the least significant nine bits an offset. In this preferred embodiment, the segment and the side offset at each address are copied to 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.The memory management unit (MMU) 12 provides a recycling base by replace the segment number from the CPU 10 with a segment number stored in the MMU 12. Speci- fikt, the segment number from CPU 10 is addressed one nn in MMU 12 and this nnne provides a segment base, which is used to address the main memory 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.The page offset date of the address from the CPU 10 is monitored to determine if the lateral displacement falls within predetermined limits of the segment. This skuiie for example, prevent all noiior from an unused area in the main nnnes iäses and toikas as data. The segment base from MMU 12 is added together with the side offset and copied to the main memory 14 on the buses 18a and 18b in Fig. 1. The nine the least significant bits pass directly from the CPU to the main memory via bus 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.As shown in Fig. 3, this preferred embodiment of memory includes management unit MMU a memory management unit memory 20. This memory is one random access memory powered by commercially available MOS static RAM. As the memory currently being implemented is three RAMs with processing number 2148 is used for memory 20 and thus gives a total capacity of 12 k pieces. The organization of the memory management device memory is discussed in more detail in in connection with Fig. 2. 464 052 4 The address from the CPU is displayed as the 24-bit address (logical address) at the top part of Fig. 3. The seven most significant bits in the address are connected the memory management unit's memory via bus 18a and is used for addressing memory management device memory. The second most significant bits (bus 18b) connected to an adder 27, and the nine least significant bits (offset ) is connected via bus l8c to register 28. The output signal from the MMU's memory 20 consists of two 12-bit words (buses 22 and 23). These words are connected through the multiplexer 25 to the 12-bit bus 30. One of the 12-bit words from the memory 20 provides the segment base from the stored relocation base. The other 12 pieces remain of eight bits for limit value control of the page offset and four others bits, which perform functions included in the present invention.

I den här föredragna uppfinningen existerar multiplexorn 25 inte fysiskt.In this preferred invention, the multiplexer 25 does not physically exist.

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.Rather, the output of memory 20 is time multiplexed. However, it is out of writing point of view for understanding easier to introduce the multiplexer 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.The multiplexer 25 is also used to load information from bus 16 in memory 20. The signal on line 47 from the access control logic 40 provides access memory 20 as well as the signals on line 35. The signal on line 37 controls multi- the plexing of data between either bus 22 or bus 23. The 12-bit bus 30 from the multiplexer 25 is connected to the adder 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.This adder also receives eight bits on bus 18b. As described, used the adder 27 to determine if the page offset falls within a predetermined one area of the selected segment.

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).The adder 27 also combines the relocation (segment base) from the memory handling unit nnnne with the side offset to provide the 12 most significant edge the bits to the physical address. These 12 pieces along with the nine the bits from bus l8c are coupled to register 28 to provide a 21-bit address, which is sent to the main memory 14. (Register 28 does not exist in this preferred design; it is displayed to facilitate the explanation.) The four access control bits are disconnected from the multiplexer 25 over line 45 to the access logic 40. Here the signals are decoded to provide the main memory and others controls as follows: A bit controls the type of main memory access (1 = read, only, 0 = read / write).

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.The second bit controls in-out access (1 = in-out, 0 = no in-out access). The the third bit controls main memory access (1 = memory access, 0 = no main minnesacces). The fourth bit controls the stack (1 = stack) procedure segment-check no spill, 0 = normal segment check spill). Access the control logic 40 is shown in Fig. 3 coupled to main memory control via line 57 to control memory access and the types of access allowed (ie read or read / write). Logic 40 is connected to adder 27 via spill / transfer = carry-in lines and against memory 20 via line 47 to 5,464,052 enable access to the memory 20. The specific access control bit pattern that used in this preferred design is shown below.

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.Access control bits Memory in-out read only stack Pieces Address space and access 0 1 0 0 Main memory-read only stack 0 1 0 1 Main memory-read only 0 1 1 0 Main memory read / write stack 0 1 1 1 Main memory read / write 1 0 0 1 In-out space 1 1 0 0 Page invalid (segment does not exist) 1 1 1 1 Special in-out space Any other Not allowed (unpredictable results) First, assume that memory 20 has been programmed from the CPU. For a first approach to the explanation of the MMU memory management device shall be disregarded from line 35 2-bit function. When the CPU addresses the main memory, the seven address the most significant bits of MMU memory 20. The 12 bits of the relocation data segment are connected via buses 22 and 30 to the adder 27. There they are combined with side displacements. (bus 18b) and the resulting address is combined with the nine bits that indicates the offset in register 28 to indicate the final physical address.

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.This part of the MMU works in a way similar to the previous MMU. Thus can relocation segment master data is programmed into memory (disregarding line 35) in a manner well known in the art.

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.The 12 bits that form the limit value data are connected to the adder 27. The four bits constituting access data are connected to logic 40 via line 45, as before shown. Limit data is stored in the preferred format in the form of a complement form in memory 20 for a non-stack segment. For stack segments are stored the limit value as "length minus one" (eg a two-sided segment would be stored as 0000 0001 memory 20). When this limit value data is added to the page offset one in the adder 27 determines the result of the addition whether the side offset falls within the predetermined range of the segment. This is an improvement over prior art limit value control, where additional steps are required.

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.Example without stack Referring to Fig. 4, a representation of the main computer is illustrated. memory. Assume that this is stored in space 50. Assume further that the largest page the offset (1111 1111) for data extends to location 52 and that within this segment data extends to a page offset of (1110 0000) 464 052 (line 51). For this lateral displacement, the one complement is 20 (Fig. 3). About this segments are addressed and assuming the page offset address is 1111 1111 (ie into the free part of the memory), the adder adds 27 1111-1111 to the stored number 0001 1111. A spill occurs from the adder 27 and this spill condition is sensed by logic 57 (Fig. 3). For this example, it is indicated that the page offset one is not within the value set and a signal is given on line 57 to show that the address is incorrect. The logic 40 prevents access to the main memory via line 57 and / or an error signal is generated.

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.Referring again to Fig. 4, assume that programs were stored at location 53 and that the highest lateral displacement 1111 1111 extends to position 50, which is outside the current program area, which extends to place 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.If the page offset for location 54 is 0011 0000, then 1100 1111 is stored in memory 20 (Fig. 3) for the segment beginning at location 55. If this segment is addressed and the page offset is 0000 00001 (address of the program), so add circuit 27 1100 1111 and 0000 0001. This time no spillage occurs, so no signal forwarded to logic 40, ie access is allowed. Note that if the page offset is 0100 0000 (not within the allowable range), spillage occurs when this value added to the stored value 1100 1111. This spill indicates for the logic that the page offset is not within the allowed range and memory access is made impossible.

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.Example with stack In some programming languages (eg Pascal) stack (in memory) is very valuable fully. Stacks can be performed by moving data up in memory but it is time consuming. demanding. Stacks in the system described here are allowed to grow down in the memory below another border control procedure.

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.Assume a one-page stack segment. The limit value, which is stored in the memory 20 as the one-complement to the page offset 1111 1111 0000 0000, is the same as the size minus one (0000 0001 0000 0000). The access control pieces cause logic 40 to produce a carry-in equal to 1. If the page transfer the shooting is 1111 1111, a spill occurs. This spill is sensed by logic 40 and interpreted as a valid (within permitted range) permit. If the page offset has been 1111 1110 (the stack has grown too much), no spillage occurs and this is interpreted as an address outside the permitted range.

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.Similarly, if the stack is two segments large, 0000 0001 stored in memory 20. Again, the carry-in is set to one. One page shift on 1111 1110 would result in spillage, as shown on a song address, while on page shift on 1111 1100 no spillage occurs and this indicates an address outside the permitted range. 464 052 Fig. 4 example Referring again to Fig. 4, assume that a process (program and data) stored in the main memory 14 between locations 0 and 500 kB. The three remaining the access bits in memory 20, which correspond to the segment address of locations between 0 up to 500 kB is used to perform a special control, as mentioned above.

För t ex de segment som bara innehåller program tillåts endast läsning i minnet.For example, for those segments that only contain programs, only reading in memory is allowed.

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.This, of course, prevents accidental typing in programs. Both reading and writing in segments, which contain this, may be allowed. This is indicated in fig. 4 to the right of program 59 and 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.The memory 20 is programmed (ie the access control bits) to prevent reading some segments in the main memory except in some modes (eg supervisory = monitoring mode). This is done, for example, to prevent the user from reading and copy an operating system. Briefly referred again to Fig. 4, when the program 59 is run, no address is allowed to the memory 20, as such access could cause the relocation base, limit value data and access data to be inadvertently changed. Thus, the four access bits provide protection for programs stored in the main memory and restricts access to certain information stored in the memory. In a typical application, an operating system is loaded from disk memory into the main memory. When it well located in the main memory, the CPU has access to the operating system in the monitoring Courage. However, the user is again denied access and thus the opportunity to copy the operating system.

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.In the present invention, the memory 20 has four times the capacity obtained required to provide a relocation base as well as limit value and address data for the main memory. The signals from the CPU on lines 35 allow selection of each quadrant of the memory 20. Each such quadrant is called a data context (data context hang 0-3) in the following description.

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.Referring to Fig. 2, the organization of the memory management unit is shown memory 20 as four separate quadrants: 20a (data context), 20b (data context hang 1), 20c (data context 2), 20d (data context 3). Data context 1, 2 and 3 are organized into 256 x 12 bits each. (128 x 12 bits for the relocation base and 128 x 12 bits for limit values and access data.) Data context 0 is selected by The CPU during monitoring mode and this data context stores control data, which associated with the operating system. It should be noted that each data context can store information, which covers the entire main memory, so that there are three overlapping memory management device memories for user processes.

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.The value of having these overlapping memories is best shown in Fig. 4. net 14 is shown programmed with three processes P1, P2 and P3. Process 1 is stored between 0-500 kB, process 2 between 600 kB and 1 MB and process 3 between 1.2 MB 464 052 and 1.5 MB. Operating system data is stored between 1.8 MB and 2 MB.

Antag först att operationssystemet laddas och lagras mellan 1,8 MB och 2,0 MB.First, assume that the operating system is loaded and stored between 1.8 MB and 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.A suitable relocation base is stored in memory 20 so that under monitoring modes the addresses 0-200 kB automatically end up between 1.8 to 2.0 MB in the main memory. The borders are also loaded so that during monitoring mode the free space in the memory cannot be accessed. During monitoring mode (data context O) is given, which is indicated in Fig. 4 under the heading (data context 0) access to the entire memory management unit memory and main memory (except for the access bits, which prevent writing in the operating system is stored in the main memory and thus protects the program from interference, due to program errors). Because the memory management device's memory is available, it can be programmed via bus 16, as shown in Fig. 3 and earlier described.

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.Assume that data context 1 is to be used for program 59 and data 60, then a quadrant is programmed in the memory 20 corresponding to data context 1 to indicate the location of the program 59 and data 60. Limit values and access bits is set as indicated under data context 1. When data context 1 is selected, can program 59 is read (only) and reading and writing of data 60 is allowed.

Ingen annan access till andra minnesplatser är möjlig, ej heller kan minneshan- teringsenhetens minne skrivas i.No other access to other memory locations is possible, nor can memory the memory of the unit is written in.

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.A second process can be stored in memory. The operating system knows the location of the first process and can program another quadrant in the memory 20 for process 2. The relocation base is programmed so that when the CPU addresses locations corresponding to 0-400 kB, these locations in the main memory will be 600 kB to 1 MB. As shown under the heading data context 2 in Fig. 4, the access bits are programmed for to allow writing in data 50 and reading, but only reading in program 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.It is also not possible to write in the memory management unit's memory, nor is it access allowed to other locations in the main memory. Similarly, a third can process is stored in the main memory by data context 3 shown in 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..The advantage of the arrangement in Fig. 4 is that three different processes are stored in the main memory and that each process can be easily designated by the memory management device memory, ie by selecting data context 1, 2 or 3. A special data context (data context 0) is saved as the starting point of the operating system in this preferred embodiment, as described. This allows driving of three different programs, without reprogramming the memory management device memory. This good versatility is obtained, as there is an overlapping memory management capacity of the memory management device memory. ¿6A 'fi R0 * 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.Here, an improved memory management unit has been described, which for ïrequires a fïertaï program to run, without reprogramming the computer's memory unit memory. The enhanced device also restricts access to some types of data and prevents accidental typing in programs.

Claims (10)

464 052 10 Patentkrav464 052 10 Patent claims 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.A computer system, comprising a central processing unit (CPU), a main memory (14) and a memory management unit (MMU), which memory management unit is connected to the process unit and the main memory, the memory management unit comprising an MMU memory (20) containing a plurality of section stores of a plurality of relocation bases, the MMU memory receiving first addresses from the process unit (CPU) and generating second addresses for access to the main memory, characterized in that each first address selects a predetermined relocation base in each memory section, which is designed to provide access to an area in the main memory, so that a specific address in the main memory is accessible by more than one memory section (20a-d) and that control means are connected to the process unit (CPU) and the memory management unit (MMU) to generate a control signal for selecting a particular section in the MMU. memory (20), whereby the memory management unit (MMU) provides the relocation bases for access to a plurality of pr occes, stored in the main memory (14) without changing the first addresses. 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).System according to claim 1, characterized in that one of the sections (20 a) of the MMU memory is selected as a monitoring section when the process unit (CPU) is in a monitoring mode, so that this monitoring section provides access to the entire MMU memory (20). and the entire main memory (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.System according to claim 1 or 2, characterized in that an adder (27) is connected to the MMU memory (20) and to the process unit (CPU), which adder is arranged to receive a binary complement to a limit value and add this complementing an area value of the main memory (14) accessible to the process unit to provide selected bits of the first address, an error signal being generated when the process unit attempts to access outside the address range determined by the limit value. 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).System according to claim 3, characterized in that the sections of the MMU memory (20 a-d) store a plurality of access control bits, which generate a code signal to determine a special type of access to the main memory (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 'G52System according to claim 4, characterized in that the MMU memory (20) comprises storage means for storing signals representative of the types of information contained in the main memory (14) for accepting the relocation bases, the limit values and the access control bits from the main memory during a program cycle of the memory management device (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).System according to any one of claims 1-5, characterized in that the control means are arranged to accept the code signal and provide suitable control signals for controlling the type of access to the main memory (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).System according to claim 1, characterized in that each section (20 ad) in the MMU memory (20) is arranged to receive a first address from the process unit (CPU), the first address selecting a predetermined relocation base in each of the sections, and each of said relocation bases in each section generates a second address for access to the main memory (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).System according to any one of claims 1-7, characterized in that the storage means are connected to the process unit (CPU) for accepting at least a part of the first address, and that access means (18) are arranged to give the stored signals access to the storage means and the main memory (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.System according to one of Claims 1 to 8, characterized in that each section (20 ad) of the MMU memory (20) is arranged for storing a plurality of limit values, each of which determines an address range which is accessible in the main memory. (14) for each of the sections in the MMU. 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.System according to claim 1, characterized in that each section (20 ad) of the MMU memory (20) contains other addresses, which overlap other addresses contained in other sections, so that each section has access to areas of the main memory (14 ) to which other sections also have access.
SE8305290A 1982-09-29 1983-09-29 MEMORY MANAGER DRIVES COMPUTERS SE464052B (en)

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 (en) 1983-09-29
SE8305290L SE8305290L (en) 1984-03-30
SE464052B true SE464052B (en) 1991-02-25

Family

ID=23692542

Family Applications (1)

Application Number Title Priority Date Filing Date
SE8305290A SE464052B (en) 1982-09-29 1983-09-29 MEMORY MANAGER DRIVES COMPUTERS

Country Status (12)

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

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 (en) * 1986-05-24 1996-08-07 株式会社日立製作所 Storage device access mechanism
AU595378B2 (en) * 1986-08-22 1990-03-29 Commonwealth Scientific And Industrial Research Organisation Content-addressable memory system with active memory circuit
DE3788183D1 (en) * 1986-09-25 1993-12-23 Siemens Ag Address management unit of a multiprocessor central control unit of a message switching system.
FR2618578A1 (en) * 1987-07-21 1989-01-27 Digilog On-board modular computer system with integrated virtual memory
DE3901457A1 (en) * 1989-01-19 1990-08-02 Strahlen Umweltforsch Gmbh METHOD FOR ADDRESS AREA MONITORING IN REAL-TIME DATA PROCESSING DEVICES
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 (en) * 2003-09-26 2005-04-14 Seiko Epson Corp Device, program and method for managing memory

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5315779B2 (en) * 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 (en) * 1978-08-25 1982-05-06 Siemens AG, 1000 Berlin und 8000 München Device for securing data against unauthorized access
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
GB2127994B (en) 1987-01-21
GB8316129D0 (en) 1983-07-20
AU1894083A (en) 1984-04-05
DE3333894C2 (en) 1993-04-01
SE8305290L (en) 1984-03-30
IN161125B (en) 1987-10-10
ZA836384B (en) 1984-05-30
JPS5979367A (en) 1984-05-08
NZ205486A (en) 1987-02-20
AU559067B2 (en) 1987-02-19
GB2127994A (en) 1984-04-18
CA1197020A (en) 1985-11-19
DE3333894A1 (en) 1984-03-29
IT8322960A0 (en) 1983-09-22
IL69784A (en) 1986-12-31
FR2533736A1 (en) 1984-03-30
IL69784A0 (en) 1983-12-30
IT1221741B (en) 1990-07-12
SE8305290D0 (en) 1983-09-29

Similar Documents

Publication Publication Date Title
KR100284975B1 (en) Memory manager to allow flash memory to replenish main memory
US3979726A (en) Apparatus for selectively clearing a cache store in a processor having segmentation and paging
KR101016714B1 (en) Data processing apparatus having memory protection unit
US4899272A (en) Addressing multiple types of memory devices
EP0377970B1 (en) I/O caching
US6430672B1 (en) Method for performing address mapping using two lookup tables
US10162554B2 (en) System and method for controlling a programmable deduplication ratio for a memory system
EP0170284B1 (en) Microcomputer
WO1983000240A1 (en) Extended address generating apparatus and method
CN112639733A (en) Security configuration in page table entries of an execution domain
SE464052B (en) MEMORY MANAGER DRIVES COMPUTERS
US4926316A (en) Memory management unit with overlapping control for accessing main memory of a digital computer
JP3605205B2 (en) Data processing device and processing method
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
US5519649A (en) Micro-processor having rapid condition comparison function
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 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4241741B2 (en) Memory controller and flash memory system
JPS5844263B2 (en) memory control circuit
JP2005222519A (en) Access to bit value in data word stored in memory
JP2007156582A (en) Memory controller and flash memory system
KR100225726B1 (en) 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