SE455740B - Minnesforvaltningssystem avsett for anvendning i datorsystem som utnyttjar virtuellt minnesteknik - Google Patents

Minnesforvaltningssystem avsett for anvendning i datorsystem som utnyttjar virtuellt minnesteknik

Info

Publication number
SE455740B
SE455740B SE8405456A SE8405456A SE455740B SE 455740 B SE455740 B SE 455740B SE 8405456 A SE8405456 A SE 8405456A SE 8405456 A SE8405456 A SE 8405456A SE 455740 B SE455740 B SE 455740B
Authority
SE
Sweden
Prior art keywords
address
memory
indirect
segment
virtual
Prior art date
Application number
SE8405456A
Other languages
English (en)
Other versions
SE8405456L (sv
SE8405456D0 (sv
Inventor
A Bechtolsheim
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of SE8405456D0 publication Critical patent/SE8405456D0/sv
Publication of SE8405456L publication Critical patent/SE8405456L/sv
Publication of SE455740B publication Critical patent/SE455740B/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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)

Description

Üf4ss 740 översätta en virtuell adress till en verklig adress. Andra ingångs-/utgångsan- ordningar, såsom diskstyranordningar har tillgång till huvudminnet under använd- ning av fysiska adresser. Användningen av fysiska adresser för dessa anordningar kan medföra problem eftersom adresserna från ingångs-/utgångsanordningarna ej översätts och kontrolleras på samma sätt som virtuella adresser från den centra- la behandlingsenheten. Såsom kommer att beskrivas åstadkoms genom föreliggande uppfinning ett förbättrat minnesförvaltningssystem, vilket tillåter ett flertal databehandlingsanordningar att översätta unika adresser på cykel-efter-cykel- grundval utan behov av att återladda översättningsdata.
Sammanfattning av uppfinningen Ett förbättrat minnesförvaltningssystem beskrivs, som har särskild till- lämpning för användning i datorsystem utnyttjande virtuellminnesteknik. Systemet innefattar en central behandlingsenhet och andra databehandlingsanordningar, såsom in-/utanordningar, direktminnesåtkomstenheter, en systembussledning, etc, vilka är kopplade till en "virtuell" adressbussledning för överföring av virtuelladressinformation till en minnesförvaltningsenhet. Åtkomst till den virtuella bussledningen styrs genom en urvalsanordning för att säkerställa att endast en anordning åt gången kan kommunicera med minnesförvaltningsenheten. Vid en föredragen utföringsform tilldelas adressutrymme i minnesförvaltningsenheten till ett flertal minnesutrymmen, varvid varje utrymme innehåller översättnings- data för användning av en särskild databehandlingsanordning kopplad till den virtuella bussledningen. En anordning som erhåller åtkomst till den virtuella bussledningen identifierar det.särskilda minnesutrymme i minnesförvaltnings- enheten, som skall användas för dess adressöversättning genom att åstadkomma unika sammanhangsbitar, vilka betecknar minnesutrymmet till minnesförvaltnings- enheten.
Den virtuella adressbussledningen uppdelat minnesadresser i i förväg defi- nierade verkliga (direkta) och virtuella (indirekta) adressegment. De verkliga (av låg ordning) adressegmenten kopplas direkt till ett datorhuvudminnesområde av den typ, som har rader och kolumner av styrlinjer för bitlagringselement, vilka ä§_belägna i styrledningarnas skärningspunkter- Medan de verkliga adress- segmenten är kopplade till endera raderna eller kolumnerna hos huvudminnet, är de virtuella (av hög ordning) adressegmenten tillsammans med sammanhangsbitarna kopplade till en minnesförvaltningsenhet, vilken identifierar det minnesförvalt- ningsutrymme som skall användas för översättning baserat på sammanhangsbitarna, och översätter därpå de virtuella segmenten till en verklig fysisk adress. De översatta indirekta_(virtuella) adressegmenten kopplas därpå till den andra av raderna eller kolumerna hos huvudminnesområdet, så att rader och kolumner hos 455 740 huvudminnesomrâdet styrs av de direkta (verkliga) adressegmenten å ena sidan, och de översatta indirekta (ursprungligen virtuella) adressegmenten Ä den andra sidan. Raderna och kolumnerna hos huvudminnesområdet har anslutna drivkretsar för att medge åtkomst till lagringselementen. En tidsgivningsgenerator är an- ordnad för att avkänna rad- och kolumndrivkretsar med sekventiella pulser. Medan de direkta verkliga adressegmenten anländer först vid huvudminnet och avkänns först, anländer de översatta virtuella adressegmenten strax därpå och avkänns i andra hand, därigenom medgivande åtkomst till lagringsställen i huvudminnet.
Tiden mellan de två avkänningspulserna används för virtuell adressöversättning i minnesförvaltningsenheten och överlappas med åtkomsten till huvudminnet, var- igenom huvudminnets åtkomsttid minskas.
Dessutom minimerar uppfinningen adressöversättningstiden hos minnesför- valtningsenheten genom användning av mycket snabbt direktåtkomstminne för över- sättningsprocessen och genom användning av samma adresslinjer hos direktâtkomst- minnet både för adressingång och för åtkomst till ingångarna hos minnesförvalt- ningsanordningen i ändamål att modifiera översättningen.
Kort beskrivning av ritningarna Fig. 1 är ett blockschema av ett mycket snabbt datorminne enligt före- liggande uppfinning.
Fig. 2 är ett blockschema av ett speciellt utförande av en minnesförvalt- ningsanordning visad i fig. l.
Fig. 3 är ett tidsschema åskådliggörande ankomsten av direkta och över- satta indirekta adressegment till huvudminnet i förhållande till rad- och kolumnadressavkänningspulser.
Fig. 4 är ett blockschema av ett mycket snabbt minnesförvaltningssystem enligt föreliggande uppfinning.
Fig. 5 är ett schematiskt schema åskådliggörande hur vid den föreliggande uppfinningen sammanhangsbitar används för att identifiera särskilda översätt- ningsutrymmen i minnesförvaltningsenheten.
Detaljerad beskrivning av uppfinningen Ett förbättrat minnesförvaltningssystem beskrivs, vilket har särskild tillämpning för användning i datorsystem som utnyttjar virtuellminnesteknik. I den följande beskrivningen används för förklaringsändamål uttryck såsom sär- skilda minnesstorlekar, bitarrangemang, antal, datahastigheter, etc i ändamål att ge en grundlig förståelse av föreliggande uppfinning. För fackmannen står det emellertid klart att föreliggande uppfinning kan utövas utan dessa specifika detaljer. Vid andra tillfällen visas välkända kretsar i blockschemaform i ändamål att ej onödigtvis skymma föreliggande uppfinning. 455 740 Med hänvisning till fig. 1 kommunicerar en ej visade central behandlings- enhet med systemet enligt föreliggande uppfinning på en adressbussledning 12.
Bussledningen 12 innefattar ett flertal individuella linjer vilka bär adresser i form av flerbitsord. I det typiska fallet kan processorer använda adressbussled~ ningar mellan 16 och 32 bitar, varvid bitarna överförs parallellt utefter indi- viduella linjer eller trådar, vilka bildar adressbussledningen. Vid den före- liggande uppfinningen struktureras över adressbussledningen överförda adresser sålunda att bitar av låg ordning bildar ett direkt- (real-) adressegment för huvudminnet, varvid bitarna av låg ordning separeras från adressbussledningen utefter linjen 14. Adressbitar av hög ordning bildar ett indirekt (virtuellt) adressegment, vilket leds utefter linjen 16 och kopplas till en minnesförvalt- ningsanordning 18. I fallet en 24-bitars adress kan exempelvis 11 bitar av låg ordning bilda den direkta reella adressen som överförs utefter linjen 14, medan 13 bitar av hög ordning överförs som ett indirekt adressegment över linjen 16.
Den mest signifikanta biten kan vara en styrbit överförd utefter styrlinjen 20.
Minnesförvaltningsenheten 18 är en relativt mycket snabb direktminnesen- het, såsom ett snabbt statiskt direktåtkomstminne. Minnesförvaltningsenheten 18 erhåller som ingångsstorhet det utefter linjen 16 mottagna indirekt virtuella adressegmentet, den av processorn avgivna logiska virtuella adressen, och alstrar som utgångsstorhet ett översatt fysiskt (reellt) adressegment utefter linjen 38. Det översatta fysiska adressegmentet tillsammans med adressegmentet av låg ordning på linjen 14 anger den aktuella fysiska belägenheten i huvud- minnet av de önskade data- _ 8 _ Processorn innefattar ett par databussledningar, varvid data till pro- cessorn ankommer utefter databussledningen 22 och data från processorn leds utefter databussledningen 24. En skrivstyrlinje 26 sträcker sig även från pro- cessorn. Databussledningarna 22 och 24 liksom styrledningen 26 uppfångas av linjer, som sträcker sig till minnesförvaltningsenheten och till huvudminnet 28.
Uppfångningslinjer 32, 34 och 36 är anslutna till databussledningarna 22, 24 resp till skrivstyrlinjen 26. Uppfângningslinjerna är anslutna till drivsteg 33, och 37, symboliserade av trianglar med spetsen i datariktningen. Vart och ett av dess; drivsteg har en aktiveringsport ansluten till styrledningen 20. Led- ningen 32 tjänar till att överföra data från minnesförvaltningsenheten 18 till processorn genom drivsteget 33 och databussledningen 22. Data från processorn leds på linjen 36 genom drivsteget 37 till minnesförvaltningsenheten 18. Skriv- styrlinjen 26 överför en signal till minnesförvaltningsenheten 18 på linjen 34 genom drivsteget 35, vilket tillåter minnesförvaltningsenheten 18 att skriva data som överförs från processorn utefter linjen 16, vilken även för de 455 740 indirekta virtuella adressegmenten. Data ut från minnesförvaltningsenheten 18 utefter linjen 32 överförs även till huvudminnet 28 på linjen 38 genom driv- steget 39. Drivsteget 39 aktiveras via ledningen 41 av en klock- eller tids- generator 43. Tidsgeneratorn avger både rad- och kolumnadressavkänningspulser, t ex kolumnadressavkänningspulser utefter linjen 41 och därpå linjen 45 samt radadressavkänningspulser utefter linjen 52 och därpå till linjen 54.
Huvudminnet 28 är av den typ som har rader och kolumner av styrlinjer för bitlagringselement belägna i skärningspunkterna mellan raderna och kolumnerna.
Belägenheten för lagringselementen anges av adresser innefattande de indirekta virtuella adressegmenten som har översatts av minnesförvaltningsenheten 18 till fysiska adresser, vilka bildar utstorhet utefter linjen 38 och drivsteget 39 till huvudminnet 28 för endera av huvudminnets rader eller kolumner. Den andra av raderna eller kolumnerna mottar ett direkt reellt adressegment på linjen 14 och drivsteget 47. Samma linjer vilka leder data till och från processorn för minnesförvaltningsenheten 18 tjänar till att kommunicera med huvudminnet 28.
Databussledningarna till och från processorn, nämligen linjerna 22 och 24, är anslutna till huvudminnet 28 genom drivsteg 53 och 57. Skrivstyrlinjen 28 är ansluten till huvudminnet 28 via ett drivsteg 55. Drivstegen 53, 55 och 57 aktiveras av styrledningen 20, vilken kan välja mellan minnesförvaltningsenheten 18 och huvudminnet 28 i ändamål att ange vilken av de två enheterna processorn kommunicerar med.
Tidsgeneratorn 43 alstrar två sekventiella pulser för att avkönna rad- och kolumnadresslinjerna hos huvudminnet 28. Radadressavkänningspulsen överförs ut- efter linjen 52 till radstyrlinjerna genom linjen 54. Samma puls aktiverar driv- steget 47 så att radadresserna kommer att anlända till huvudminnet 28 i tid för avkänningspulsen. De på linje 14 överförda direkta (reella) adressegmenten över- sätts ej och därför är det ingen fördröjning i ledningen av direktadressegmenten från processorn. Avkänningspulsen för direktadressegmenten uppträder något före en utefter linjen 41 överförd andra puls. Den andra eller fördröjda pulsen tjänar till att avkänna översatta indirekta virtuella adressegment- Minnesför- valtningsanordningen 18 översätter de indirekta adresserna till fysiska adresser vilka anländer till huvudminnet 28 något senare än de översatta indirekta minnesadresserna. Tidsförhållandet mellan de av huvudminnet 28 mottagna signa- lerna framgår av fig. 3. I åskådningssyfte har ankomsten av de resp adresserna och rad-/kolumnavkänningspulserna skilts åt för tydlighets skull. I praktiken har det visat sig att närvaron av minnesförvaltningsenheten 18 inför approxima- tivt 90 mikrosekunders fördröjning innan den översatta virtuella (nu fysiska) adressen tillförs huvudminnet 28. Denna tidsperiod motsvarar approximativt tids- fördröjningen mellan anbringandet av rad- och kolumnadressavkänningspulserna. 455 740 Den i minnesförvaltningsenheten 18 lagrade översättningstabellen kan modi- _ fieras genom inskrivning av nya data i minnesförvaltningsanordningen. Styrled- ningen 20 tjänar till att aktivera eller välja åtkomst för skrivning och läsning av antingen minnesförvaltningsenheten 18 eller huvudminnet 28 genom aktivering och avaktivering av resp drivsteg 33, 35 och 37 å ena sidan eller 53, 55 och S7 å andra sidan. Inskrivning i minnesförvaltningsenheten 18 utförs med användning av styrledningen 26, adresslinjerna 16 för indirekta virtuella segment, samt styrlinjen 20. Med andra ord kan samma adresslinje som använts tidigare för _läsning av översättningstabellen i minnesförvaltningsenheten 18 användas för skrivning av en ny tabell i minnesförvaltningsenheten 18.
I drift separareras en till adressbussledningen 12 tillförd adress såsom förut beskrivits i direkta (reella) och indirekta (virtuella) adressegment. Ett direkt adressegment, såsom en radadress, tillförs på linjen 14 till huvudminnet 28, medan ett indirekt virtuellt adressegment, såsom en kolumnadress, leds ut- efter linjen 16 till minnesförvaltningsenheten 18. I minnesförvaltningsenheten 18, ett relativt mycket snabbt direktåtkomstminne, översätts det indirekta vir- tuella adressegmentet till_en reell fysisk adress och överförs utefter linjerna 38 till huvudminnet 28. Vid huvudminnet anländer sekventiella klockpulser från klockgeneratorn 43 för att avkänna radadresserna och översätta kolumnadresser sekventiellt till huvudminnets 28 rad- och kolumnstyrlinjer för att få åtkomst till önskade lagringsställen. Så snart som en adress utefter linjen 12 från processorn mottas och en giltig adress signaleras till klockgeneratorn 43 ut- efter linjen 42, alstrar klockgeneratorn #3 en radadressavkïnningspdls-utefter linjen 52. När minnesförvaltningsenheten 18 har översatt det indirekta adress- segmentet utefter, och tillfört det nya reella adressegmentet till ledningen 38, alstrar klockgeneratorn 43 en kolumnadressavkänningspuls utefter linjen 41.
Såsom visas i fig. 2 kan själva minnesförvaltningsenheten vara delad och två nivåer av indirekta virtuella adresser användas för att ange önskade beläg- enheter i huvudminnet. Den vänstra kolumnen 62 är symbolisk för en flerbits logisk adress från en processor. Uppfinningen har tidigare utförts med adresser avgivna av en processor av typen Motorola 68010, som har 24-bit adressord. Ej alla adfesslinjerna behöver användas. Fyra av bitarna i blocket 65 identifieras som sammanhangsbitar tillförda av en annan källa, vilka tjänar till att omkoppla mellan 16 separata delar av minnesförvaltningsenheten indikerar med de štreckade linjerna i fig. 70. De fyra sammanhangsbitarna kopplas utefter linjen 63 till en segmentavbildning 72, ett direktminne, som tjänar till att omvandla virtuella logiska adresser till översatta adresser utefter utgångslinjen 73. Ingångsstor~ heten till segmentavbildningen 72 härleda från det indirekta virtuella w 455 740 adressegmentet symboliserar med block 64, som identifierar den av segmentavbild- ningens 72 separata delar som skall användas. I och med att denna identifiering gjorts kan det indirekta virtuella adressegmentet från blocket 64 översättas.
Ett direkt reellt adressegment symboliseras av blocket 66 och överförs direkt till huvudminnet utefter linjen 74, vilken är ansluten till antingen rad- eller kolumnstyrlinjerna hos huvudminnet.
Såsom tidigare nämnts omvandlar segmentavbildningen 72 virtuella logiska adresser från blocket 64 till adresser som tas ut via utgångslinjen 73. Dessutom kan kodade databitar bilda ingång till segmentavbildningen 72 på linjen 75 för minnesskydd. Så kan exempelvis en indikering för läs eller skriv data ges ut- efter linjen 75, liksom andra skyddskoder. Andra linjer, såsom linjen 76 kan vara anordnade för ytterligare skydd eller styrning. Linjerna 75 och 76 skulle 1 typfallet kunna styras av processorn på order. Den av segmentavbildningen alstrade adressen 73 överförs till en sidavbildning 82, ett direktåtkomstminne, som kan vara av samma eller annan storlek som segmentavbildningen 72. Sidavbild- ningens 82 funktion är att motta den utefter linjen 73 överförda adressen och kombinera den med ett andra indirekt virtuellt adressegment, symboliserat av blocket 67 för att alstra en reell fysisk adress, som bildar utgångsstorhet utefter linjen 83. Man ser sålunda att minnesförvaltningsenheten 70 använder tvâ nivåer av indirekta virtuella adresser, en första nivå symboliserad av blocket 64, vilken överförs till segmentavbildningen 72 och en andra nivå 67 som över- förs till sidavbildningen 82. Båda nivåerna är helt enkelt särskilda adress- bitar, vilka separeras från ett adressord och kopplas direkt till det önskade minnesstället. Sidavbildningen 82 är försedd med styrlinjer 85 och 86, som kan användas för skydd, på samma sätt som linjerna 75 och 76.
Om typen av för utförande avsedd operation är skyddad och ej kan utföras inställs operationen. Skyddet kan exempelvis innebära endast läsning, och en skrivoperation försöks. Skyddsmekanismen skulle förhindra skrivoperationen.
Detta uppnås genom alstring av en felsignal, som hindrar skrivavkänningspulsen från att uppträda, även om åtkomst till huvudminnet redan inletts, varigenom data i huvudminnet 28 förblir oförändrade.
Ufgångsstorheten från sidoavbildningen 82 är ett fysiskt reellt adress- segment som kopplas till linjen 83 till endera rader eller kolumner hos huvud- minnet som ej är anslutna till linjen 74. Tillsammans styr linjerna 74 och 83 rader och kolumner hos huvudminnet såsom i fig. 1. Den taktgenerator som ger rad- och kolumnadressavkänningspulserna visas ej. Eftersom linjen 74 är ansluten direkt till huvudminnet 28 anländer adressbitar utefter denna linje till huvud- minnet något före det nu översatta virtuella adressegmentet. Taktgenerator- pulserna avkänner direktadressegmentet först och det översatta virtuella 455 740 segmentet därefter så att huvudminnets rad- och kolumnadresslinjer aktiveras för att ge åtkomst till specificerade bitlagringsställen i huvudminnesområdet.
En av fördelarna med föreliggande uppfinning är att genom separering av adresser i direkta reella och indirekta virtuella segment, tid insparas vid sökning av åtkomst till huvudminnet 28 på grund av att huvudminnesåtkomsten börjar till och med innan den virtuella minnesadressen har översatts till en fysisk adress av minnesförvaltningsenheten 18. Åtkomst till huvudminnet är följ- aktligen i tidsöverlappning med översättningen av det indirekt virtuella adress- segmentet. Det direkt reella adressegmentet går direkt till minnet och ingen tid förloras, medan endast det indirekta virtuella segmentet översätts. Genom att samtidigt använda en mycket snabb minnesförvaltningsanordning, såsom ett snabbt direktåtkomstminne, kan översättningstiden minimeras så att både de direkta och översatta indirekta adressegmenten kan ledas in i minnet av klockpulser vilka är något förskjutna i förhållande till varandra.
I fig. 4 visas användningen av föreliggande uppfinning i samband med system, som utnyttjar multidatabehandlingsanordningar, vilka använder teknik med virtuell adressering. Systemet innefattar en minnesförvaltningsenhet 100, som liknar den som visats och beskrivits tidigare med hänvisning till fig. 1 och 2.
Såsom visas är minnesförvaltningsenheten 100 kopplad till en virtuella adress- bussledning 102 genom virtuella adresslinjer 104, vilka vid den för närvarande föredragna utföringsformen, innefattar ett flertal individuella linjer, vilka _bär adresser i form av flerbitsord. Ett flertal databehandlingsanordningar, såsom exempelvis en central databehandlingsenhet 106, skivgränssnittsstyranord- ning 108 och ett nätverksgränssnitt 110 kan kopplas till den virtuella bussled- ningen 102. Nätverksgränssnittet 110 kan exempelvis koppla ett lokalområdesnät- verk såsom "Ethernet", "DECnet" till användning med den föreliggande uppfinning- en. Såsom visas är dessutom en systembussledning 120, som använder "reella" fysiska adresser för koppling av ett flertal (O till N+1) systembussanordningar 122, anordnad sålunda att systembussledningen 120 är kopplad till den virtuella bussledningen 102 genom ett systembussgränssnitt 125. Såsom kommer att beskrivas betraktas systembussledningen 120 med alla dess tillhörande systembussanordning- ar 122 av minnesförvaltningsenheten 100 som en enda databehandlingsanordning, vilken använder en rad förutbestämda virtuella adresser- Minnesförvaltningsenheten 100 är kopplad till en fysisk adressbussledning 140 genom fysiska adresslinjer 130. Ett huvudminne 128 är kopplat till minnes- förvaltningsenheten 100 genom den fysiska adressbussledningen 140, sålunda att, såsom tidigare beskrivits med hänvisning till fig. 1, 2 och 3, minnesförvalt- ningsenheten 100 på sin utgång avger ett översatt indirekt adressegment, som har 01% .- 455 740 omvandlats från ett virtuellt till ett reellt adressegment till huvudminnet 128.
Vidare leds direkta adressegment erhållna utefter den virtuella adressbussled- ningen 102 förbi minnesförvaltningsenheten 100 och kopplas direkt till huvudmin- net 128 såsom tidigare diskuterats. Minnesförvaltningsenheten 100 kopplas vidare utefter den fysiska adressbussledningen 140 till olika databehandlingshjälp- medel, innefattande in-/utanordningar, vilka har tilldelats visst fysiskt adressutrymme allmänt innefattande en rad av fysiska adresser till vilka åtkomst kan uppnås genom databehandlingsanordningarna, såsom den centrala behandlingsen- heten 106, nätverket 110 och liknande. Man inser att det i fig. 4 visade systemet helt enkelt representerar strömmen av adresser och order mellan databe- handlingsanordningar på såväl de virtuella som de reella delarna av systemet, och att andra för systemets drift nödvändiga linjer, såsom data- och styrlinjer för enkelhets skull ej har visats.
Såsom visas i fig. 4 erhåller databehandlingsanordningar, såsom den centrala behandlingsenheten 106, diskstyranordningen 108, eller systembussanord- ningen 122 åtkomst till huvudminnet 128, och/eller in-/utadressutrymmen genom att anbringa en virtuell adress, innefattande både indirekta och direkta adress- segment, på den virtuella bussledningen 102. En åtkomstbestämmande anordning 150 är kopplad till varje databehandlingsanordning och gränssnitt i ändamål att tilldela åtkomst till den virtuella bussledningen 102 och säkerställa att endast en databehandlingsanordning kan förvärva och använda den virtuella bussledningen 102 åt gången, varigenom oklarhet och kaos förhindras. Det speciella utförandet av den åtkomstbestämmande anordningen 150 kan innebära användning av olika i och för sig kända åtkomstbestämmande protokoll för att rättvist eller selektivt tilldela användning av den virtuella bussledningen 102. Systembussledningen 120 kan anses, 1 och för minnesförvaltningsenhetens 100 drift, bestå av en enda anordning med en rad av virtuella adressutrymmen, vilket undertilldelas till olika systembussanordningar 122 kopplade till systembussledningen 120.
Med hänvisning till fig. 5 anbringar en databehandlingsanordning såsom ett skivgränssnitt 108, som önskar åtkomst till exempelvis data lagrade i huvud- minnet 128, en adress innefattande ett indirekt (virtuellt) adresaegment och ett direkt (reellt) adressegment på den virtuella bussledningen 102 efter att ha erhållit åtkomst till bussledningen 102 genom den åtkomstbestämmande anordningen 150. Såsom visas innefattar den av skivgränssnittet 108 (eller annan anordning) anbringade adressinformationen sammanhangsbitar 160, vilka identifierar unikt förut tilldelat virtuellt adressutrymme i segmentavbildningen 165, motsvarande översättningsdata, som erfordras för att översätta den virtuella adressinforma- tionen hos skivgränssnittet 108 till ett reellt fysiskt adressegment, vilket 455 740 kan användas av huvudminnet 128. Såsom visas innehåller segmentavbildningen 165 förtilldelat utrymme för varje databehandlingsanordning kopplad till virtuell- bussledningen 102 innefattande utrymme 166 för den centrala behandlingsenheten, utrymmen 167 och 168 för den centrala behandlingsenhetens användare, liksom skivgränssnittsutrymme 170 och nätverksutrymme 172. Vart och ett av dessa adresställen i segmentavbildningen 165 innefattar tillräcklig information för att på rätt sätt översätta virtuella adressegment 176 kopplade till den virtuel- la bussledningen 102 av resp databehandlingsanordning. Ett andra virtuellt adresssegment 178 är, såsom beskrivits med hänvisning till fig. 1 och 2, kopplat till en sidavbildning 182 efter att ha kombinerats med utgången från segmentav- bildningen 165. Ett reellt adressegment 186 leder som visat förbi minnesförvalt- ningsenheten 100 och är kopplat direkt till huvudminnet 128 eller annan anord- ning genom den fysiska adressbussledningen 140.
I praktiken är den centrala behandlingsenheten 106 tilldelad både system- utrymme 166 liksom ett flertal användarutrymmen såsom 167 och 168 i ändamål att tillåta att virtuella adresser hos operativsystemet översätts, liksom virtuella adresser hörande till anläggningens mjukvara. Vid föreliggande utföringsform adresseras varje adressutrymme, såsom skivgränssnittsutrymmet 170 från 0 till något förutbestämt område och utrymmet identifieras inledningsvis genom inne- hållet hos sammanhangsbitar 160. Fackmannen inser att användningen av samman- hangsbitar 160 ej är nödvändig i alla sammanhang. Det är exempelvis möjligt att tilldela virtuellminnesadressutrymme inom minnesförva1tningsenheten_100 sålunda att varje databehandlingsanordning såsom den centrala behandlingsenheten 106, systembussgränssnittet 125 och liknande tilldelas unika virtuelladresställen.
Virtuelladresställen inom minnesförvaltningsenheten 100 svarande mot skivgräns- snittet 108 skulle exempelvis innefatta information nödvändig för rätt över- sättning av virtuella adresser, som faller inom ett område, som är förut till- delat skivgränssnittet. Det har emellertid visat sig att användningen av sammanhangsbitar 160 medger mer effektiv användning av databehandlingsresurser kopplade till den virtuella bussledningen 102, eftersom adresser inom varje utryme,avgränsat inom segmentavbildningen 165 kan tilldelas i enlighet med adresskraven hos den särskilda databehandlingsanordningen.
Det bör anmärkas att ehuru varje databehandlingsanordning, såsom nätverks- gränssnittet 110, kan innefatta ett sammanhangsbitregister sålunda att samman- hangsbitar hänförliga till nätverksgränssnittet 110 anbringas på den virtuella bussledningen 102 för överföring till minnesförvaltningsenheten 100, ett enda sammanhangsregister även kan användas av alla databehandlingsanordningar kopp- lade till den virtuella bussledningen 102. I sådant fall är innehållen hos 455 740 11 sammanhangsbitarna selektivt modifierade på cykel-till-cykel grundval i ändamål att reflektera de särskilda databehandlingsanordningar, som ger en virtuell- adressinformation inom minnesförvaltningsenheten 100. Vidare inser man att andra utföranden av den föreliggande uppfinningen kan utnyttja endast två sammanhangs- register, ett för systembruk och ett för användarbruk, där systemutrymme är för- uttilldelat för både den centrala behandlingsenheten 106 och alla andra databe- handlingsanordningar såsom skivgränssnittet 108, nätverksgränssnittet 100 och systembussgränssnittet 125.
Liksom vid utföringsformen enligt fig. 2 kan kodade databitar utgöra ingång till segmentavbildningen 165 för minnesskydd på ledningarna 75 och/eller 76 om så erfordras. På liknande sätt kan ledningar 85 och 86 vara anordnade till sidoavbildningen 182 för dataskyddsändamål. Om typen av för utförande avsedd operation skyddas kan olika i och för sig kända skyddsmekanismer användas för att säkerställa säkerheten hos data.
Antag exempelvis att ensystembussanordning 122 kopplad till systembussled- ningen 120 önskar åtkomst till huvudminnet 128 eller annat fysiskt adressutrym- me kopplat till den fysiska adressledningen 140. Den särskilda systembuasanord- ningen kopplar den "virtuella" adressen (innefattande både direkt- och indirekt- adressegment) på systembussledningen till systembussgränssnittet 125. Efter mot- tagande av den virtuella adressen från anordningen 122 frågar gränssnittet 125 efter åtkomst till den virtuella bussledningen 102 från den åtkomstbestämmande anordningen 150. Som tidigare nämnts betraktas systembussgränssnittet 125 både av den åtkomstbestämmande anordningen 150 och minnesförvaltningsenheten 100 såsom helt enkelt en annan enda databehandlingsanordning kopplad till den virtu- ella bussledningen 102. I I och med att systembussgränssnittet 125 får åtkomst till den virtuella bussledningen 102 anbringar det den av systembussanordningen 122 avgivna adress- informationen till minnesförvaltningsenheten 100. Direkt-(real)-adresssegment avdelas och leds direkt till huvudminnet 128 såsom beskrivits, och virtuell- adressegmenten tillsammans med sammanhangsbitarna 160 leds till minnesförvalt- ningsenhgten 100 utefter virtuella adresslinjer 104.
Såsom åskådliggörs i fig. 5 identifierar sammanhangsbitarna 160 ett unikt adressutrymme 1 minnesförvaltningsenheten 100, vilket innehåller översättnings- data för omvandling av virtuella adresser hos systembussen till fysiska adres- ser. I praktiken underindelas det adressutrymme inom minnesförvaltningsenhetens 100 segmentavbildning 165, som hör samman med systembussen 120, 1 ett flertal områden, varvid varje område innehåller översättningsdata, som är unika för 455 740 i 12 varje anordning 122. Föijaktiigen svarar den av innehåilet hos sammanhangsbitar- na 160 identifierade adressen mot ett underindeiat område för översättning av virtue11a adresser hörande samman med den särskiida bussanordningen 120. I översatt skick anbringas det nu fysiska adressegmentet på de fysiska adressied- ninnarna 130 och koppias ti11 huvudminnet 128 (e11er annan anordning) tiilsam- mans med det tidigare fram1edda direkta (reeiia) adressegmentet 186, såsom diskuterats ovan.
Ett förbättrat minnesförvaitningssystem har såiunda beskrivits, som har särskiid tiïïämpning för användning i datorsystem, vilka utnyttjar virtueii minnesteknik. Ehuru minnesförvaltningsenheten 100 har visats och beskrivits såsom innehåiïande en segmentavbiidning 165 och en sidoavbiïdning 182, inser man att den föreïiggande uppfinningen kan tiiiämpas med användning av en enda av- biidning för översättning av virtueïïa adressegment ti11 fysiska adressegment.
Ehuru den föreiiggande uppfinningen har beskrivits med hänvisning tiil figurerna 1 - 5, inser man dessutom att figurerna endast är för iïiustrationsändamåi och att den föreiiggande uppfinningen kan användas vid ett f1erta1 andra virtue11- minnestiilämpningar.

Claims (12)

455 740 13 Patentkrav.
1. Datorsystem utnyttjande adressöversättning, innefattande: ett flertal databehandlingsanordningar (106,108,110) selektivt kopplade till en virtuell adressbussledning (102) för att bära minnesadresser, vilken adressbussledning innefattar organ för att separera en minnesadress i direkta och indirekta adressegment; en åtkomstbestämmande anordning (150) kopplad till nämnda databehandlings- anordningar för att selektivt koppla nämnda databehandlingsanordningar till den virtuella bussledningen sålunda att endast en av databehandlingsanordningarna anbringar en nfinnesadress på den virtuella bussledningen åt gången; en minnesförvaltningsanordning (100) ansluten för mottagning av nämnda indirekta segment av minnesadressen utefter ingångslinjer för indirekta adress- segment för översättning av ett indirekta adressegment från en logisk adress angiven av en databehandlingsanordning till en fysisk adress, vilken minnesför- valtningsanordning är ett relativt snabbt minnesområde med en utgång utefter fysiska adresslinjer; en fysisk adressbussledning (140) kopplad till minnesförvaltningsanord- ningen, vilken fysisk adressbussledning är kopplad till åtminstone en databe- handlingsresurs uppvisande ett flertal fysiska adresser, av vilka var och en definieras av nämnda direkta adressegment tillsammans med nämnda översatta indirekta adress anbringad på nämnda fysiska adresslinjer; 1 varigenom en databehandlingsanordning kan uppnå åtkomst till nämnda databehandlingsresurs med hög hastighet genom att leda ett direkt adressegment direkt till nämnda resurs, samt ett översatt indirekt adressegment till-nämnda resurs, varigenom en fysisk adressbelägenhet definieras.
2. System enligt krav 1, .k ä n n e t e c k n a t av att minnesförvalt- ningsanordningen (100) innefattar ett flertal översättningsutrymmen (166-172), åtminstone ett utrymme för var och en av nämnda databehandlingsanordningar, sålunda att vart och ett av nämnda indirekta adressegment är riktade till ett särskilt översättningsutrymme innehållande översättningssdata för omvandling av nämnda indirekta adressegment till nämnda fysiska adress.
3. System enligt krav 2, k ä n n e t e c k n a t av att nämnda indirekta adressegment innefattar sammanhangsbitar (160) definierande den unika adressen s hos nämnda översättningsutrymme, som svarar mot den särskilda databehandlingsan- ordningen som anbringar det indirekta adressegmentet.
4. System enligt krav 3, k ä n n e t e c k n a t av att en av nämnda databehandlingsresurser innefattar: 455 740 14 ett minnesområde (38) av den typ som uppvisar rader och kolumner av styrlinjer för bitlagringselement belägna i skärningspunkter mellan rad- och kolumnstyrlinjerna, varvid belägenheten för nämnda lagringselement anges genom översatta indirekta adressegment och direktadressegment, varvid endera av styrlinjesraderna och -kolumnerna är anslutna för mottagning av direktsegment hos minnesadressen, och de andra av raderna och kolumnerna är anslutna för mottagning av den översatta indirekta adressen på nämnda fysiska adresslinjer, tidsorgan (43) för avkänning av rad- och kolumnadresslinjerna hos huvudminnesområdet, varvid en avkänningspuls för direktminnesadressegmentet uppträder kort före en avkänningspuls för det översatta indirekta minnessegmen- tet, vilka avkänningspulser åstadkommer användning av översatta indirekta och direkta adressegment genom angivande av bitlagringsställen i huvudminnesom- rådet.
5. System enligt krav 3, k ä n n e t e c k n a t av att nämnda unika sam- manhangsbitar (160) lagras i ett sammanhangsregister kopplat till den virtuella bussledningen, sålunda att innehållet hos nämnda register uppdateras när en annan databehandlingsanordning uppnår åtkomst till den virtuella bussledningen.
6. System enligt krav 5, k ä n n e t e c k n a t av att en av nämnda databehandlingsanordningar innefattar en systembussgränssnittsanordning (125) för att koppla en systembussledning (120) uppvisande ett flertal fysiska adresser till minnesförvaltningsanordningen (100) utefter nämnda virtuella bussledning (102).
7. System enligt krav 6, k ä n n e t e c k n a t av att nämnda system- bussledning (120) innefattar ett flertal systembussanordningar (122)-kopplade till systembussledningen, varvid varje systembussanordning är tilldelad en deluppsättning av de till systembussledningen tilldelade virtuella adresserna:
8. System enligt krav 5 eller 7, k ä n n e t e c k n a t av att nämnda minnesförvaltningsanordning (100) är uppdelad i en segmentavbildningsanordning (165) och en sidavbildningsanordning (182), vilken segmentavbildningsanordning är ansluten för mottagning av ett första indirekt segment (176) för alstring av en mellanadress kopplad till sidavbildningen, vilken sidoavbildningsanordning är ansluten för att mottaga ett andra indirekt segment (178) för omvandling av mellanadressen och det andra indirekta segmentet till nämnda fysiska adress, vilken segmentavbildningsanordning innefattar nämnda flertal av översättningsutrymmen identifierade av sammanhangsbitarna.
9. System enligt krav 8, k ä n n e t e c k n a t av att segmentavbild- ningen (165) har skyddsingångsorgan för att åstadkoma villkor för dataåtkomst. av 455 740 1s
10. System enïigt krav 9, k ä n n e t e c k n a t av att nämnda sidav- biïdning (182) har skyddsingångsorgan för att åstadkomma viïïkor för dataåt- komst.
11. System en1igt krav 10, k ä n n e t e c k n a t av att ti11 nämnda minnesförvaïtningsanordning (100) är en skrivstyrïinjeanordning ansïuten för användning av ingångsïinjerna för indirekta segment ti11 både ïäsning och skrivning av data i minnesförva1tningsanordningen.
12. System enïigt krav 11, k ä n n e t e c k n a t av att nämnda snabba ïagringsområde är ett statiskt direktåtkomstminne och huvudminnesområdet är ett dynamiskt di rektåtkomstmi nne .
SE8405456A 1983-10-31 1984-10-31 Minnesforvaltningssystem avsett for anvendning i datorsystem som utnyttjar virtuellt minnesteknik SE455740B (sv)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/547,397 US4550368A (en) 1982-07-02 1983-10-31 High-speed memory and memory management system

Publications (3)

Publication Number Publication Date
SE8405456D0 SE8405456D0 (sv) 1984-10-31
SE8405456L SE8405456L (sv) 1985-05-01
SE455740B true SE455740B (sv) 1988-08-01

Family

ID=24184505

Family Applications (1)

Application Number Title Priority Date Filing Date
SE8405456A SE455740B (sv) 1983-10-31 1984-10-31 Minnesforvaltningssystem avsett for anvendning i datorsystem som utnyttjar virtuellt minnesteknik

Country Status (6)

Country Link
US (1) US4550368A (sv)
JP (1) JPS60114953A (sv)
DE (1) DE3438869A1 (sv)
FR (1) FR2560411B1 (sv)
GB (1) GB2149158B (sv)
SE (1) SE455740B (sv)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336180B1 (en) 1997-04-30 2002-01-01 Canon Kabushiki Kaisha Method, apparatus and system for managing virtual memory with virtual-physical mapping
US4805097A (en) * 1984-08-03 1989-02-14 Motorola Computer Systems, Inc. Memory management unit with dynamic page allocation
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
JPH0814803B2 (ja) * 1986-05-23 1996-02-14 株式会社日立製作所 アドレス変換方式
US4803621A (en) * 1986-07-24 1989-02-07 Sun Microsystems, Inc. Memory access system
JPS63163648A (ja) * 1986-12-26 1988-07-07 Hitachi Ltd メモリ管理装置
US4849875A (en) * 1987-03-03 1989-07-18 Tandon Corporation Computer address modification system with optional DMA paging
DE3890141T1 (de) * 1987-03-03 1989-04-13 Tandon Corp Computersystem mit computeradressenmodifiziersystem
US4891752A (en) * 1987-03-03 1990-01-02 Tandon Corporation Multimode expanded memory space addressing system using independently generated DMA channel selection and DMA page address signals
US5293597A (en) * 1987-03-09 1994-03-08 At&T Bell Laboratories Concurrent context memory management unit
US4839796A (en) * 1987-07-16 1989-06-13 Icon International, Inc. Static frame digital memory
US4914577A (en) * 1987-07-16 1990-04-03 Icon International, Inc. Dynamic memory management system and method
US5101339A (en) * 1987-08-10 1992-03-31 Tandon Corporation Computer address modification system using writable mapping and page stores
JPH02500224A (ja) * 1987-08-10 1990-01-25 タンドン コーポレーション コンピュータ・アドレス変換装置を備えたコンピュータ・システム
GB2210480B (en) * 1987-10-02 1992-01-29 Sun Microsystems Inc Flush support
JP2644780B2 (ja) * 1987-11-18 1997-08-25 株式会社日立製作所 処理依頼機能を持つ並列計算機
IT1216086B (it) * 1988-03-15 1990-02-22 Honeywell Bull Spa Memoria tampone ad indirizzamento pseudo virtuale.
NL8800858A (nl) * 1988-04-05 1989-11-01 Philips Nv Rekenmachinesysteem voorzien van een hoofdbus en een tussen processor en geheugen direkt verbonden extra kommunikatielijn.
US4974146A (en) * 1988-05-06 1990-11-27 Science Applications International Corporation Array processor
US4937791A (en) * 1988-06-02 1990-06-26 The California Institute Of Technology High performance dynamic ram interface
GB8814076D0 (en) * 1988-06-14 1988-07-20 Int Computers Ltd Data processing system
US5121487A (en) * 1989-02-21 1992-06-09 Sun Microsystems, Inc. High speed bus with virtual memory data transfer capability using virtual address/data lines
US5097483A (en) * 1989-02-21 1992-03-17 Sun Microsystems, Inc. Tri-statable bus with apparatus to drive bus line to first level and then second level for predetermined time before turning off
US5150471A (en) * 1989-04-20 1992-09-22 Ncr Corporation Method and apparatus for offset register address accessing
JPH031260A (ja) * 1989-05-30 1991-01-07 Hitachi Ltd 計算機方式
US5307468A (en) * 1989-08-23 1994-04-26 Digital Equipment Corporation Data processing system and method for controlling the latter as well as a CPU board
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
AU651321B2 (en) * 1989-09-08 1994-07-21 Network Appliance, Inc. Multiple facility operating system architecture
US5584003A (en) * 1990-03-29 1996-12-10 Matsushita Electric Industrial Co., Ltd. Control systems having an address conversion device for controlling a cache memory and a cache tag memory
US5659797A (en) * 1991-06-24 1997-08-19 U.S. Philips Corporation Sparc RISC based computer system including a single chip processor with memory management and DMA units coupled to a DRAM interface
EP0580109B1 (en) * 1992-07-23 1997-12-10 Rockwell International Corporation Data acces in a RISC digital signal processor
US6138126A (en) * 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
EP1197836A3 (en) * 1993-06-03 2009-06-17 Network Appliance, Inc. A method for allocating files in a file system integrated with a raid disk sub-system
ATE409907T1 (de) * 1993-06-03 2008-10-15 Network Appliance Inc Verfahren und vorrichtung zum beschreiben beliebiger bereiche eines dateisystems
EP1031928B1 (en) * 1993-06-04 2005-05-18 Network Appliance, Inc. A method for providing parity in a raid sub-system using non-volatile memory
US5440710A (en) * 1994-03-08 1995-08-08 Exponential Technology, Inc. Emulation of segment bounds checking using paging with sub-page validity
US5652872A (en) * 1994-03-08 1997-07-29 Exponential Technology, Inc. Translator having segment bounds encoding for storage in a TLB
US5897662A (en) * 1995-08-18 1999-04-27 International Business Machines Corporation Pseudo-random address generation mechanism that reduces address translation time
US5848293A (en) * 1995-11-03 1998-12-08 Sun Microsystems, Inc. Method and apparatus for transmission and processing of virtual commands
US5659798A (en) * 1996-02-02 1997-08-19 Blumrich; Matthias Augustin Method and system for initiating and loading DMA controller registers by using user-level programs
CA2205313C (en) * 1996-05-28 2005-01-18 Tecton Products Method of manufacture of a plastic component which is insensitive to the elements, and a plastic component so manufactured
AUPO648397A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
US6311258B1 (en) 1997-04-03 2001-10-30 Canon Kabushiki Kaisha Data buffer apparatus and method for storing graphical data using data encoders and decoders
US6061749A (en) * 1997-04-30 2000-05-09 Canon Kabushiki Kaisha Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword
US6289138B1 (en) 1997-04-30 2001-09-11 Canon Kabushiki Kaisha General image processor
AUPO647997A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6707463B1 (en) 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
US6349379B2 (en) 1997-04-30 2002-02-19 Canon Kabushiki Kaisha System for executing instructions having flag for indicating direct or indirect specification of a length of operand data
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
WO2001028179A2 (en) 1999-10-14 2001-04-19 Bluearc Uk Limited Apparatus and method for hardware implementation or acceleration of operating system functions
JP3604977B2 (ja) * 1999-10-14 2004-12-22 Necエレクトロニクス株式会社 バスインタフェース回路作成装置及び記録媒体
DE10116862A1 (de) * 2001-04-04 2002-10-17 Infineon Technologies Ag Programmgesteuerte Einheit
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US7937499B1 (en) * 2004-07-09 2011-05-03 Oracle America, Inc. Methods and apparatus for dynamically switching between polling and interrupt mode for a ring buffer of a network interface card
US7543131B2 (en) 2005-08-12 2009-06-02 Advanced Micro Devices, Inc. Controlling an I/O MMU
US7516247B2 (en) 2005-08-12 2009-04-07 Advanced Micro Devices, Inc. Avoiding silent data corruption and data leakage in a virtual environment with multiple guests
US7480784B2 (en) 2005-08-12 2009-01-20 Advanced Micro Devices, Inc. Ensuring deadlock free operation for peer to peer traffic in an input/output memory management unit (IOMMU)
US7793067B2 (en) * 2005-08-12 2010-09-07 Globalfoundries Inc. Translation data prefetch in an IOMMU
TW200712997A (en) * 2005-09-23 2007-04-01 Elan Microelectronics Corp Method for compensating sensitivity of touch pad sensor
US7613898B2 (en) * 2006-01-17 2009-11-03 Globalfoundries Inc. Virtualizing an IOMMU
US7653803B2 (en) * 2006-01-17 2010-01-26 Globalfoundries Inc. Address translation for input/output (I/O) devices and interrupt remapping for I/O devices in an I/O memory management unit (IOMMU)
US7548999B2 (en) * 2006-01-17 2009-06-16 Advanced Micro Devices, Inc. Chained hybrid input/output memory management unit
US7673116B2 (en) * 2006-01-17 2010-03-02 Advanced Micro Devices, Inc. Input/output memory management unit that implements memory attributes based on translation data
US7739474B2 (en) * 2006-02-07 2010-06-15 International Business Machines Corporation Method and system for unifying memory access for CPU and IO operations
US7743221B2 (en) * 2006-07-03 2010-06-22 Mediatek Inc. Memory sharing method for sharing SRAM in an SOC device
US7849287B2 (en) 2006-11-13 2010-12-07 Advanced Micro Devices, Inc. Efficiently controlling special memory mapped system accesses
US7873770B2 (en) 2006-11-13 2011-01-18 Globalfoundries Inc. Filtering and remapping interrupts
CN101231616B (zh) * 2007-01-22 2010-12-22 联发科技股份有限公司 存储器共享方法
US20080270737A1 (en) * 2007-04-26 2008-10-30 Hewlett-Packard Development Company, L.P. Data Processing System And Method
US9292533B2 (en) * 2010-06-08 2016-03-22 Dell Products L.P. Systems and methods for improving storage efficiency in an information handling system
US8631212B2 (en) 2011-09-25 2014-01-14 Advanced Micro Devices, Inc. Input/output memory management unit with protection mode for preventing memory access by I/O devices

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3487373A (en) * 1965-11-16 1969-12-30 Gen Electric Apparatus providing symbolic memory addressing in a multicomputer system
US3412382A (en) * 1965-11-26 1968-11-19 Massachusetts Inst Technology Shared-access data processing system
US3723976A (en) * 1972-01-20 1973-03-27 Ibm Memory system with logical and real addressing
US3902164A (en) * 1972-07-21 1975-08-26 Ibm Method and means for reducing the amount of address translation in a virtual memory data processing system
US3854126A (en) * 1972-10-10 1974-12-10 Digital Equipment Corp Circuit for converting virtual addresses into physical addresses
US3976978A (en) * 1975-03-26 1976-08-24 Honeywell Information Systems, Inc. Method of generating addresses to a paged memory
US4037215A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key controlled address relocation translation system
JPS5326543A (en) * 1976-08-24 1978-03-11 Nec Corp Logical operation equipment
US4092715A (en) * 1976-09-22 1978-05-30 Honeywell Information Systems Inc. Input-output unit having extended addressing capability
JPS53121426A (en) * 1977-03-31 1978-10-23 Hitachi Ltd Data processor having address conversion unit
GB2008821B (en) * 1977-11-04 1982-01-13 Sperry Rand Corp Digital computers
JPS5847742B2 (ja) * 1978-04-27 1983-10-24 株式会社東芝 記憶制御方式
US4388685A (en) * 1978-08-04 1983-06-14 Digital Equipment Corporation Central processor with apparatus for extended virtual addressing
JPS56134384A (en) * 1980-03-26 1981-10-21 Hitachi Ltd Memory access system
US4434459A (en) * 1980-04-25 1984-02-28 Data General Corporation Data processing system having instruction responsive apparatus for both a basic and an extended instruction set
US4519032A (en) * 1982-06-09 1985-05-21 At&T Bell Laboratories Memory management arrangement for microprocessor systems

Also Published As

Publication number Publication date
FR2560411A1 (fr) 1985-08-30
GB8424377D0 (en) 1984-10-31
JPH0584532B2 (sv) 1993-12-02
GB2149158A (en) 1985-06-05
FR2560411B1 (fr) 1991-04-26
SE8405456L (sv) 1985-05-01
US4550368A (en) 1985-10-29
GB2149158B (en) 1987-06-17
DE3438869A1 (de) 1985-05-09
SE8405456D0 (sv) 1984-10-31
JPS60114953A (ja) 1985-06-21
DE3438869C2 (sv) 1989-12-14

Similar Documents

Publication Publication Date Title
SE455740B (sv) Minnesforvaltningssystem avsett for anvendning i datorsystem som utnyttjar virtuellt minnesteknik
US4648035A (en) Address conversion unit for multiprocessor system
US4589092A (en) Data buffer having separate lock bit storage array
EP0345325B1 (en) A memory system
US4349871A (en) Duplicate tag store for cached multiprocessor system
US3921145A (en) Multirequest grouping computer interface
KR880000299B1 (ko) 캐쉬장치
US4313161A (en) Shared storage for multiple processor systems
GB1573539A (en) Digital data processing apparatus
JPS6259822B2 (sv)
GB1365838A (en) Data handling system
KR940012147A (ko) 마이크로컴퓨터 시스템
US4821169A (en) Access verification arrangement for digital data processing system which has demand-paged memory with page crossing detection
KR910010328A (ko) 패리티 능력을 가진 디스크 배열 제어기
US4695948A (en) Bus to bus converter using a RAM for multiple address mapping
JPS6349241B2 (sv)
US3623022A (en) Multiplexing system for interleaving operations of a processing unit
US5146572A (en) Multiple data format interface
EP0345738A2 (en) Multi-processor system
US5117492A (en) Memory addressing system using first and second address signals and modifying second address responsive predetermined values of first address signal
EP0532690B1 (en) Method and apparatus for managing page zero memory accesses in a multi-processor system
EP0251686A2 (en) Method and apparatus for sharing information between a plurality of processing units
SE444996B (sv) Databehandlingsanleggning
JPS592933B2 (ja) 入出力装置共用制御装置
EP0058271A1 (en) Shared use of microprocessor memory fields

Legal Events

Date Code Title Description
NAL Patent in force

Ref document number: 8405456-8

Format of ref document f/p: F

NUG Patent has lapsed