SE424581B - Metod och anordning for adressering av ett minne - Google Patents

Metod och anordning for adressering av ett minne

Info

Publication number
SE424581B
SE424581B SE8104981A SE8104981A SE424581B SE 424581 B SE424581 B SE 424581B SE 8104981 A SE8104981 A SE 8104981A SE 8104981 A SE8104981 A SE 8104981A SE 424581 B SE424581 B SE 424581B
Authority
SE
Sweden
Prior art keywords
memory
address
register
data
field
Prior art date
Application number
SE8104981A
Other languages
English (en)
Other versions
SE8104981L (sv
Inventor
E S Prame
Original Assignee
Ibm Svenska Ab
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 Ibm Svenska Ab filed Critical Ibm Svenska Ab
Priority to SE8104981A priority Critical patent/SE424581B/sv
Priority to EP82106646A priority patent/EP0072927B1/en
Priority to DE8282106646T priority patent/DE3279112D1/de
Publication of SE8104981L publication Critical patent/SE8104981L/sv
Publication of SE424581B publication Critical patent/SE424581B/sv
Priority to US06/409,004 priority patent/US4592013A/en
Priority to JP57142764A priority patent/JPS5837883A/ja

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/04Addressing variable-length words or parts of words

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Static Random-Access Memory (AREA)
  • Bus Control (AREA)

Description

8104981-9 t.ex. önskar använda adressord med konstant bitlängd kommer den aktiva adressdelen att bli liten i adressordet, om den datadefinierande delen blir stor.
En tillämpning av ovannämnda kända adresseringssystem visas i det amerikanska patentet 4126897, uppfinnare: Capowski et al, där man i ett adressord med konstant längd utnyttjar märkesbitar för att åstadkomma access till enkel-, dubbel-, kvadrat- eller N-ord.
Enligt IBM Technical Disclosure Bulletin, Vol. 18, No. 7, Dec. 1975, sid. 2234 beskrives ett adresseringssystem där man utnyttjar både 24-bit adressord och 32-bit adressord och särskiljer dessa adresser med en märkesbit. Nackdelen med att använda adressord med variabel längd är att systemets arkitektoniska uppbyggnad blir betydligt mer komplicerad.
Föreliggande uppfinning löser ovannämnda problem i tidigare kända system samt även problemet med att kunna adressera både mycket stora datamängder och mycket små datamängder i ett system, som är arkitektoniskt okompli- cerat, genom en metod enligt den kännetecknande delen i det bifogade kravet l samt enligt en anordning enligt den kännetecknande delen i bifogade krav ll.
Fördelen med adresseringssystemet enligt föreliggande uppfinning är att man kan adressera praktiskt taget obe- gränsat stora datamängder samtidigt som man kan adressera mycket små datamängder, utan att systemets arkitektur blir komplicerad.
En annan fördel med föreliggande uppfinning är att då man adresserar ett stort dataminne använder man dataenheter med förhållandevis många informationsbitar. Om man däremot adresserar ett litet dataminne använder man dataenheter med förhållandevis få informationsbitar.
Ytterligare en fördel med föreliggande uppfinning, som utnyttjar en så kallad exponentiell adresseringsmetod, består i att man icke behöver använda några märkesbitar utan den exponentiella delen av adressordet definierar direkt basdataenhetens storlek i antal bitar. 8104981-9 Ännu en fördel med uppfinningen är att samma adresse- ringssystem kan användas i mycket stora system med stora datamängder och i mycket små system där man selektivt önskar adressera dataenheter med storlekar ända ned till en bit.
Uppfinningen kommer nu att beskrivas i detalj med hän- visning till bifogade ritningar.
Fig. l visar adressord och dataord enligt en första utföringsform av uppfinningen.
Fig. 2 visar ett minnesadresseringssystem enligt upp- finningen.
Fig. 3 visar en minnesstyrenhet som ingår i systemet enligt fig. 2.
Fig. 4 visar ett modifierat system enligt uppfinningen.
Fig. 5 visar adresseringen av ett minne i systemet enligt fig. 4.
Enligt dagens datasystem är det möjligt att adressera endast en begränsad mängd data. Ett adressfält som har N bitar kan sålunda adressera upp till ZN dataenheter, som normalt definieras som bitgrupper. Hitintills har det varit vanligt i större datorsystem att använda adressord med 24 bitar, men dylika system börjar nu bli för begränsade. Ä andra sidan får man betala ett högt pris om man utnyttjar mycket stora adressfält i ett system. För att övervinna detta dilemma utnyttjar föreliggande uppfinning ett nytt adresseringsbegrepp i form av en "exponentiell" eller "flytande" adresseringsmetod. Man använder då ett adressord med konstant antal bitar och kan ändå adressera så gott som ett obegränsat antal data.
Fig. 1 visar ett exempel på ett antal adressord och storleken på motsvarande dataord enligt föreliggande upp- finning. I detta exempel har antagits att det effektiva adressfältet M i adressordet innefattar 24 bitar. Vidare har det antagits att adressordets exponentfält P innehåller 6 bitar, varigenom hela adressordet N består av ett adress- fält på 30 bitar. 8104981-9 Det första adressordet Al har endast nollor i expo- nentfältet P. Det betyder att motsvarande dataord definieras som 29 = 2° = 1 BDE, där p är det digitala innehållet i P och där BDE definierar en basdataenhet. En basdataenhet kan vara en bit, en bitgrupp på 8 bitar eller vilken som helst annan kombination av bitgrupper. Adressordet Al adresserar sålunda alltid dataord som består av endast en basdataenhet.
Adressordet A2 har en etta i P-fältets första position.
Detta betyder att adressordet A2 adresserar dataord som har 21 = 2 BDE.
Adressordet A4 har en etta i P-fältets position 2.
Detta betyder att adressordet A4 adresserar dataord som har 2 = 4 BDE. Vidare har adressordet A8 en etta i P- fältets position 1 och 2. Adressordet A8 arbetar sålunda med 3 = 8 BDE.
På samma sätt adresserar adressordet A16 sådana dataord storleken 2 dataord med storleken 2 som består av 16 basdataenheter och adressordet A32 sådana dataord som består av 32 basdataenheter o.s.v. ända upp till lg som adresserar 9,2.l0l8 BDE. adressordet A10 I exemplet ovan går p från 0 till 63 och en skalfaktor S, definierad som ZP BDE, från 20 till 263 BDE bitar. Om BDE för enkelhets skull sättes =l bit blir skalfaktorn =2p bitar. Det minnesfält U som adresseras sättes =f.S bitar.
För enkelhets skull sättes f=l och därmed blir U=S=2p _ bitar. Om m är det digitala innehållet i M, så är adressen A till ett minnesfält =m.S. Det maximala antalet data D som kan adresseras med ett sådant adressfält är då: 6 P_ 6- M.2pmax=2M.2(2 l)=224.2(2 l)=287=l,5.l02 bitar_ D=2M°Smax=2 Om man jämförelsevis utgår från ett adressfält med 30 bitar som på normalt sätt adresserar 8 bitars bitgrupper, så kommer det maximala adresserbara dataområdet att vara: D = 230 bitgrupper = 233 bitar = 1010 bitar. 8104981-9 Fig. 2 visar en schematisk bild av ett datasystem som innehåller en central behandlingsenhet (CPU) l, en adapter- enhet 3, ett minne 2 och en användarenhet 4. Minnet 2 inne- fattar en styrenhet 5 som har ett adressregister 7 och ett dataregister 6. Vidare består minnet 2 av ett antal minnes- moduler 13. Adapterenheten 3 innefattar en adapterstyrenhet 10. Vidare är adaptern 3 ansluten till användarenheten 4 via en överföringskanal 8 och till minnesstyrenheten 5 via en in/ut-buss ll. Adapterstyrenheten 10 är ansluten till min- nesstyrenheten 5 via en anslutning 12. CPU-enheten l, som t.ex. kan bestå av en värdmaskin, är ansluten till adapter- enheten 3 via en kanal 14 och till minnesstyrenheten 5 via en kanalanslutning 15. överföringsbussen ll från adapter- enheten 3 är dels ansluten till dataregistret 6 dels till adressregistret 7 i minnesstyrenheten 5.
Minnet 2 består av ett antal subminnen M1, M2, M4, M8, Ml6 ... Subminnet Ml består av endast en minnesmodul 13.
Subminnet M2 består av två minnesmoduler 13 och innefattar hela subminnet M1. Sammalunda innefattar subminnet M4 fyra minnesmoduler och inkluderar både M1 och M2. Vidare består subminnet M8 av åtta minnesmoduler och däri ingår subminnena M1, M2 och M4 och så vidare.
Ett adressord Al enligt fig. 1 kan endast adressera minnespositioner i subminnet Ml. På samma sätt kan ett adressord A2 endast adressera minnespositioner i subminnet M2 och så vidare.
Det i fig. 2 visade systemets funktion kommer nu att beskrivas i samband med adressorden och dataorden i fig. l.
Det antages först att minnets 2 basdataenhet (BDE) är en bit. Antag vidare att användaren 4 vill lagra en databit i en minnesposition i minnesmodulen 1 i minnet 2, d.v.s. i subminnet M1. Han sänder då ett adressord Al med ifråga- varande minnespositionsadress i adressordets M-del över överföringskanalen 8 till adaptern 3. Samtidigt sänder han även dataordet med ifrågavarande bit till adaptern 3. Från 8104981-9 adaptern 3 överföres adressen och dataordet via överförings- kanalen ll till minnet 2, d.v.s. adressen till adressre- gistret 7 och dataordet till dataregistret 6. Adressregist- ret 7 adresserar sedan minnespositionen i minnesmodulen l och inför databiten i denna position från dataregistret 6.
Antag nu att användaren 4 vill hämta en 8 bitars data- bitgrupp från minnesmodulen nummer 5 i subminne M8 i minnet 2. Han sänder då ett adressord A8 med den ifrågavarande adressmultiplikatorn i M-fältet via överföringskanalen 8 till adaptern 3 samt vidare från adaptern 3 via överfö- ringskanalen ll till adressregistret 7. Med den rätta adressen i adressregistret 7 adresseras sedan ifrågavarande position i minnesmodulen 5, och ett 8 bitars dataord hämtas ut därifrån till dataregistret 6. Sedan överföres dataordet från dataregistret 6 via kanalen ll och adaptern 3 till användarenheten 4.
Enligt ovanstående ser man att användaren 4 kan erhålla access till alla minnespositioner i minnesmodulen l som upptar subminnet M1. Med adressordet A2 kan användaren adressera varannan minnesposition i minnesmodulerna l och 2, d.v.s. i subminnet M2. Han kan då adressera positionerna 0, 2, 4, 6 och så vidare. Med adressordet A4 kan användaren adressera var fjärde minnesposition i minnesmodulerna l, 2, 3 och 4, d.v.s. i subminnet M4. Han kan då adressera posi- tionerna 0, 4, 8, l2 och så vidare. Genom att dataordets längd för adressordet A4 är fyra bitar erhåller man access till alla positioner i subminnet M4. Samma gäller för alla övriga större subminnen.
Enligt ovanstående ser man att det exponentiella adresseringssystemet enligt föreliggande uppfinning möj- liggör uppdelningen av ett minne i ett hierarkiskt stigande subminnessystem, med stigande adresseringsnoggrannhet i riktning mot de mindre subminnena och med ökande dataaccess- möjlighet i riktning mot de större subminnena. 8104981-9 En specifik utföringsform av uppfinningen kommer nu att beskrivas i samband med fig. 3, som mera i detalj visar minnesstyrenhetens 5 uppbyggnad. Enligt fig. 3 innefattar styrenheten 5 ett M-register 26 för adressordets M-del och ett P~register 27 för adressordets P-del. Vidare innefattar I styrenheten 5 ett buffertdataregister 40, som är anslutet till adaptern 3 via en datakanal 24 över ett gränssnitt 46.
Registren 26 och 27 är anslutna till adaptern 3 medelst en adresskanal 21.
Antag att användaren 4 skall lagra ett dataord medelst ett adressord A8 i minnet 2. Adressen A8 införes då via adresskanalen 21 till registren 26 och 27, varvid M-delen införes till registret 26 och P-delen till registret 27.
Adaptern 3 avger en styrsignal på en ledare 48 till en H- generator 50, som fungerar med hög hastighet. H~generatorn 50 börjar då avge utgångspulser på sin utgångsledare 51.
Dessa pulser införas dels till en räknare 25, dels över en grind 82 och en ledare 84 till registret 26 samt till ett ytterligare register 28, som fungerar som ett 2p-l register.
Räknarens 25 utgång är ansluten till en komparator 41, vars andra ingång är ansluten till utgången för registret 27. Då räknaren 25 har räknat tre steg, d.v.s. när generatorn 50 har avgivit tre pulser, kommer komparatorn 41 att visa lika.
Detta beror på att P-registret 27 har lagrat en trea, då ett A8 adressord har en trea i sitt P-fält enligt fig. 1.
Då komparatorn 41 avkänner lika värde på sina båda ingångar avger den en återställningsutsignal på sin utgångs- ledare 39 till registret 27, räknaren 25 och generatorn 50, vilka då återställas. Detta betyder att H-generatorn 50 icke mera avger utgångspulser. De tre signaler som H-generatorn 50 har avgivit används i registret 26 som skiftpulser för att skifta M-delen tre steg uppåt. I registret 28 däremot används pulserna från generatorn 50 som ingångspulser, vilket betyder att tre bitar skiftas in i registret 28, så att detta register kommer att stå på värdet 7.
Enligt fig. l ser man att storleken på dataordet för 8104981-9 ett A8 adressord är åtta basdataenheter, varvid en bas- dataenhet kan vara en bitgrupp eller vilken datamängd som helst. Nu överföres den första basdataenheten av alla åtta basdataenheter via datakanalen 24 till registret 40, och mellanlagras där. Från registret 40 överföres denna bas- dataenhet via en överföringskanal 38 till minnets 2 data- register 62 över ett gränssnitt 47. Samtidigt överföres det uppåtskiftade innehållet i registret 26 via en kanal 36 till en räknare 35 samt vidare därifrån via en utgångskanal 37 till minnets 2 adressregister 61. Adressregistret 61 adres- serar sedan minnet och den första basdataenheten lagras i denna position i minnet från dataregistret 62.
Då komparatorn 41 avger en utgångssignal på sin ut- gångsledare 39, påverkar denna signal även en låghastighets- generator 34. Denna L-generator 34 avger pulser dels via sin utgång 43 till räknaren 35, dels via sin utgång 42 till en ytterligare räknare 33. 2 Då generatorn 34 avger en puls till räknaren 35, kommer denna räknare att uppdateras med en etta i sin lägsta posi- tion. Samtidigt stegas räknaren 33 uppåt med en etta och en synkroniseringspuls avges på en ledare 56 via gränssnittet 46 till adaptern 3 för att en ny basdataenhet skall över- föras till registret 40 och vidare till dataregistret 62.
Den uppdaterade adressen i räknaren 35 överföras till adressregistret 61, varefter den andra basdataenheten lagras i minnet 2 i en minnesposition högre jämfört med den första basdataenheten.
På detta sätt stegas adressen i räknaren 35 uppåt med ett steg för varje ny basdataenhet som överförs från adap- tern till dataregistret 62, så att adressen i adressre- gistret 61 stegas uppåt motsvarande.
Räknaren 33 har en utgång 44 till en ytterligare gkomparator 32 vars andra ingång utgöres av utgången 45 från registret 28. Då räknaren 33 uppnår värdet 7 kommer kompa- ratorn 32 att avkänna ett lika värde på sina båda ingångar. 8104981-9 Detta sker vid en tidpunkt då alla åtta basdataenheter har lagrats i minnet 2, vilket betyder att lagringscykeln skall avslutas. Komparatorn 32 avger då en utgångssignal på sin utgångsledare 31, vilket resulterar i en återställning av registren 28 och 26 samt av räknarna 33 och 35. Vidare stoppas låghastighetsgeneratorn 34.
Då data skall hämtas från minnet 2 och överföras via adaptern 3 till användaren 4, sker dataflödet i motsatt riktning. Basdataenheterna överföras en i taget via re- gistret 62 och överföringskanalen 38 till registret 40 och 'därifrån via datakanalen 24 till adaptern 3. Adresseringen medelst registren 26, räknaren 35 och adressregistret 61 sker däremot på samma sätt som i det föregående exemplet.
Då man önskar nå access till minnet 2 medelst något annat adressord enligt fig. l sker adresseringen av minnet i princip på samma sätt som visats i samband med adressordet A8. Den enda skillnaden är att P-fältet i adressordet har ett annat värde, varvid detta andra värde lagras i registret 27 och registren 26 och 28 stegas medelst motsvarande P- värde. Dataaccessen till minnet 2 kommer sedan att pågå steg för steg tills komparatorn 32 visar att alla basdataenheter för ett dataord har överförts.
Det torde vara uppenbart för en fackman att man kan dubblera eller mångfaldiga datavägen i fig. 3. Detta betyder att man har åtminstone ett ingångsdatabuffertregister och ett ingångsdataregister samt vidare ett utgångsdataregister och ett utgångsbuffertregister.
Det bör beaktas att ytterligare modifikationer kan utföras i kretsarna enligt fig. 3 och fig. 2 utan att upp- finningstanken därvid ändras. Sålunda kan man använda en och samma ingångskanal för adress- och dataord, varvid adress och data särskiljs medelst märkesbitar som påverkar kanal- grindar, på samma sätt som visats i det ovannämnda ameri- kanska patentet 4126897. Vidare kan man använda dubbla ingångsdataregister för att öka överföringshastigheten samt specifika märkesbitar för att kunna lagra i minnet både i 8104981-9 10 stigande adressordning och i sjunkande adressordning. Den väsentliga ändringen som då behöver utföras i kretsarna enligt fig. 3 är att vid nedstigande adressering räknaren 33 under den första operationscykeln laddas med det fulla uppdateringsvärdet 29-1 och därefter stegas nedåt med värdet l för varje operationscykel.
Den i fig. 2 visade adapterns 3 detaljuppbyggnad utgör icke någon väsentlig del av föreliggande uppfinning, men företrädesvis kan den ha en sådan utformning som visas i det amerikanska patentet 4llO830, uppfinnare: M. A. Krygowski.
Sekvensgeneratorerna 34 och 50 placeras då lämpligen i adapterenheten 3 i stället för i styrenheten 5.
Det är uppenbart för en fackman att kretsen enligt fig. 3 lika väl kan byggas med ett register 28 som lagrar värdet 2P i stället för 2P-l. Det väsentliga är att komparatorn 32 och räknaren 33 synkroniseras med dataöverföringen i data- registren 40 och 62 så att rätta antalet dataord, d.v.s. ZP dataord överföres per adressord. Ett 2P register är ett skiftregister där en etta skiftas p steg uppåt från första position.
Det ovan beskrivna systemet enligt fig. 2 och fig. 3 kan bli besvärligt att använda i sådana fall då den använda basdataenheten är liten, t.ex. en bit eller några få bitar, men minnesutrymmet i minnet 2 är stort. Vid access till minnet med adressord som har höga värden i P~fältet, t.ex. med adressord A128 och högre värden, erfordras ett mycket stort antal accesser till minnet 2 för varje adressord. Om man då vill minska antalet minnesaccesser genom att höja bitantalet i en basdataenhet så kommer adresseringsnog- grannheten att minska i motsvarande grad.
Fig. 4 visar ett modifierat system enligt uppfinningen som löser ovannämnda problem. Förutom minnet 2 som här \ betecknas som ett huvudminne Sl, används ett första hjälp- minne S2 med referensbeteckningen 7l och ett andra hjälp- minne S3 med referensbeteckningen 72. Vidare har minnes- styrenheten 5 utökats med en P-modifierarkrets 77. 8104981-9 ll Ur användarens synpunkt är det mest idealiska sättet att utnyttja uppfinningen att låta adressordets P-fält direkt ange dataordets längd i bitar, d.v.s. att en bas- dataenhet är en bit. Systemet enligt fig. 4 är uppbyggt på sådant sätt att minnet för användarenheten 4 är transparent så till vida att access till minnet kan erhållas medelst olika typer av adressord utan att accesstiden varierar på ett orimligt sätt. Detta åstadkommes genom att minnena S1-S3 tilldelas var sin P-modifierare i enheten 77. De olika P- modifierarnas uppgift är att ange basdataenhetens längd för de olika minnena. Sålunda är basdataenheten störst för minnet S1, mindre för hjälpminnet S2 och minst för hjälp- minnet S3.
Systemets enligt fig. 4 funktion kommer nu att be- skrivas i samband med ett exempel där P-modifieraren för minnet S1 är p1=l0, för S2 är p2=5 och för S3 är p3=0. Detta betyder att basdataenheten för minnet S1 är lika med 2pl=2l0 =1o24 bitar. Basdataenheten för minnet sz är 2P2=25=32 bitar. Basdataenheten för minnet S3 är 2p3=20=l bit.
Det antages att användarenheten 4 vill hämta fyra bitar från minnet medelst ett adressord A4. Adressordet A4 har den form som visas i fig. 5. Då adressordet A4 införes från adapterenheten 3 till styrenheten 5 passerar den P-modi- fierarkretsen 77. Kretsen 77 subtraherar pl-värdet för huvudminnet Sl från den inkomna adressens p-värde, d.v.s. p- pl=2-lO=-8. Det modifierade värdet 8 införes i P-registret 27 i fig. 3 samtidigt med att adressordets M-del införes i registret 26. Det negativa tecknet för P-modifieraren för- orsakar en signal 81 för grinden 82. Grinden 82 ändrar H- generatorns 50 utgång från linjen 84 till linjen 83. Detta betyder att registret 26 kommer att stegas åtta steg nedåt samtidigt med att ingenting kommer att lagras i registret 28. Vid stegningen av registret 26 skiftas de åtta lägsta positionerna via en ledning 85 in i ett hjälpregister 86.
Adressregistret 61 kommer då att laddas med en adress 91 8104981-9 12 enligt fig. 5 och endast ett dataord kommer att läsas ut från minnet. Enligt fig. 5, där hela minnet betecknas med 100 kommer detta dataord att befinna sig mellan gränserna 94 och 99, varvid dataordets längd är 1024 bitar. Enligt fig. 4 läses detta dataord ut från minnet Sl via utgången 73 till minnet S2. Därefter återställes registret 26 och de i hjälp- registret 86 tillfälligt lagrade åtta adressbitarna skiftas tillbaka till M-registret 26.
Styrenheten 5 gör sedan access till minnet S2 via anslutningsledaren 76. Detta sker medelst en likadan min- nesaccesscykel som för minnet Sl. Modifierarkretsen 77 sub- traherar p2-värdet från adressens p-värde, vilket betyder p- p2= 2-5=-3. På samma sätt som för minnet S1 införes nu det modifierade p-värdet för minnet S2 till P-registret 27, varvid grinden 82 aktiveras på grund av det negativa teck- net. Adressen i registret 26 stegas nu nedåt tre steg mot registret 86, varvid den signifikativa adressen 92 enligt fig. 5 kommer att peka på en position 95 i minnet 100. På grund av att registret 28 enligt fig. 3 även i detta fall hindras att stega uppåt, kommer endast ett ord att läsas ut från minnet S2 via utgången 78 till minnet S3. Detta ord visas i fig. 5 mellan gränserna 95 och 98 och innehåller 32 bitar. Sedan återställes registret 26, varefter de tre bitarna från hjälpregistret 86 skiftas tillbaka till M- registret 26.
Hjälpminnet S3 adresseras på samma sätt som tidigare visats för minnet S2 och minnet Sl. Minnet S3 har ett mo- difierarvärde p3=0, vilket betyder att kretsen 77 icke modifierar p-värdet utan registret 27 lagrar p-värdet 2. I detta fall kommer ingen signal att påverka grinden 82 och kretsarna i fig. 3 fungerar på normalt sätt. Detta betyder att adressen i registret 26 stegas två steg uppåt och re- gistret 28 komer att lagra en 3. Enligt fig. 5 uppnås access till minnespositionen 96 medelst adressen 93, var- efter fyra bitar läses ut medelst fyra minnesaccesser från fältet mellan minnespositionerna 96 och 97. Dessa fyra bitar 8104981-9 13 överföras via ledningen 75 till styrenheten 5 samt vidare via utgångskanalen ll till adaptern 3 och vidare till an- vändarenheten 4.
Då man skall lagra bitar i ett minnesfält i minnet Sl medelst ett adressord sker access i princip på samma sätt till minnena Sl, S2 och S3. I stället för att läsa ut fältet mellan positionerna 96 och 97 i minnet S3 i fig. 5, lagras nya bitar i detta fält. Fältet mellan gränspositionerna 95 och 98 överföres sedan från minnet S3 via överföringskanalen 78 till minnet S2 till den position som anges av adressen 92 i fig. 5. Från minnet S2 överföres fältet mellan positio- nerna 94 och 99 till minnet Sl till den minnesposition som anges av adressen 91.
Det bör beaktas att adressen i M-registret 26 icke får utplånas i detta fall utan bör mellanlagras t.ex. i hjälp- registret 86 eller i ett ytterligare register, icke visat.
Det är uppenbart att för ett adressord Al024 och större används endast huvudminnet S1. Om adressordet däremot är mindre än Al024 men lika med eller större än A32 används båda minnena Sl och S2. För adressord mindre än A32 används alla tre minnena S1-S3.
Adresseringskretsarnas uppbyggnad för de olika del- minnena S1-S3 utgör ingen väsentlig del av uppfinningen.
Enligt ett första alternativ är adressregistret 61 gemensamt för alla delminnena, varvid styrningen av adressord till respektive minne åstadkommes medelst icke visade grind- kretsar.
Enligt ett annat alternativ används separata adress- register för varje delminne. För de mindre delminnena S2 och S3 kan man då använda den information som skiftas in från registret 26 till registret 86 som adressinformation.
Enligt de ovan beskrivna utföringsexemplen ser man att effektiva adresser genereras dels genom skiftning uppåt av adressens M-del, vilket betyder multiplikation, dels genom skiftning nedåt, vilket betyder division av adressens M-del.
Vidare subtraheras parametervärden ur adressens P-del i

Claims (16)

8104981-9 14 vissa tillämpningar före nämnda skiftoperationer. Slutligen utförs successiva additioner eller subtraktioner av en etta till respektive från genererade adresser. Alla ovannämnda aritmetiska operationer definieras entydigt av det digitala värdet i adressordets P-fält, då systemets parametrar har fastställts. Patentkrav
1. l. Metod för adressering av ett minne med ett adressord (N) som innefattar ett konstant antal adressbitar, k ä n - n e t e c k n a d därav, att adressordet innefattar ett första fält (P) som definierar dels längden på minnesfältet till vilket access erhålles medelst adressordet, dels ett tal medelst vilket adressordets andra fält (M) modifieras med en given aritmetisk operation, samt att det modifierade andra fältet används för att adressera minnet (2).
2. ,2. Metod enligt patentkravet 1, k ä n n e t e c k n a d därav, att den givna aritmetiska operationen är multipli- kation.
3. Metod enligt patentkraven l och 2, k ä n n e t e c k - n a d därav, att det tal som definieras av det första fältet (P) är 2p, där p är det första fältets digitala värde, varvid minnet adresseras med adressen 2P.m, där m är det andra fältets digitala värde.
4. Metod enligt patentkraven l-3, k ä n n e t e c k - n a d därav, att adressordets (N) andra fält (M) införes till ett skiftregister (26) i en minnesstyrenhet (5), skiftas p steg uppåt och införes till minnets (2) adress- register (61) för adressering av minnet.
5. Metod enligt patentkraven l-4, k ä n n e t e c k - n a d därav, att längden på minnesfältet till vilket access erhålles medelst adressordet (N) d.v.s. längden på data- fältet som skall läsas in respektive läsas ut från minnet medelst adressordet, är 2P basdataenheter (BDE), varvid en basdataenhet definieras som en databit eller en databitgrupp 8104981-9 15 med ett konstant antal bitpositioner, företrädesvis en 8- bitars bitgrupp.
6. Metod enligt patentkraven 4 och 5, k ä n n e t e c k - n a d därav, att ett datafält läses in respektive läses ut ur minnet (2) i 2P steg med en basdataenhet (BDE) per steg.
7. Metod enligt patentkraven 4 och 6, k ä n n e t e c k - n a d därav, att det skiftade andra fältet (M) överföres från skiftregistret (26) till adressregistret (61) via ett uppräknande räkneverk (35), där adressen ökas med en etta för varje steg.
8. Metod enligt patentkraven 4 och 6, k ä n n e t e c k - n a d därav, att det skiftade andra fältet (M) överföres från skiftregistret (26) till adressregistret (61) via ett nedräknande räkneverk (35) i vilket värdet 2p först adderas till adressen, varefter adressen i räkneverket minskas med en etta för varje steg.
9. Metod enligt patentkravet 6, k ä n n e t e c k n a d därav, att den stegvisa accessen till ett datafält i minnet (2) styrs medelst en komparator (32) som för varje steg jämför det i ett ytterligare skiftregister (28) lagrade värdet 29-l med värdet i ett ytterligare räkneverk (33), som stegas uppåt med en etta för varje steg.
10. Metod enligt patentkravet l, k ä n n e t e c k n a d därav, att den givna aritmetiska operationen innefattar substraktion och division, varvid access erhålles till minnet genom att adressordets (N) andra fält (M) införes till ett skiftregister (26) i en minnesstyrenhet (5), skiftas nedåt ett antal steg som definieras av subtrak- tionsresultatet och införes till minnets (2) adressregister (61) för adressering av minnet.
11. ll. Anordning för adressering av ett minne innefattande en minnesstyrenhet (5), ett minnesadressregister (61) och åtminstone ett dataregister (62), k ä n n e t e c k n~a d därav, att minnesstyrenheten innefattar ett adressskift- register (26) för mottagning av en adressdel (M) av ett adressord, på en inkommande adresskanal (21), ett exponent- ._ 8104981-9 16 register (27) för mottagning av en exponentdel (P) av adressordet, skiftkretsar (25, 41, 50) för skiftning av adresskiftregistret lika många steg som innehållet i exponentregistret anger, överföringsmedel (35, 36, 37) för överföring av den skiftade adressdelen från adresskift- registret (26) till minnesadressregistret (61) för adresse- ring av minnet (2) samt av exponentregistret (27) styrbara, data definierande kretsar (28, 32, 33, 34) som definierar datafältets längd i minnet till vilket access erhålles medelst minnesadressregistret (61).
12. Anordning enligt patentkravet ll, k ä n n e t e c k - n a d därav, att överföringsmedlen innefattar en stegbar räknare (35) för stegvis uppdatering av adressen för att åstadkomma successiv access till det definierade datafältet.
13. Anordning enligt patentkraven ll och 12, k ä n n e - t e c k n a d därav, att de data definierande kretsarna innefattar en pulsgenerator (34), en stegräknare (33), ett 29-l register (28), där p anger det digitala värdet i ex- ponentregistret (27) och en komparator (32) som jämför innehållet i 2P-1 registret med innehållet i stegräknaren (33).
14. Anordning enligt patentkravet ll, k ä n n e t e c k - n a d därav, att minnet (2) är ett hierarkiskt minne med ett antal subminnen (M1-M256) där varje subminne Mn utgör den nedre hälften av följande högre subminne M2n, varvid access till ett subminne Mn erhålles medelst ett adressord, vars exponentdel (P) har ett sådant digitalt värde p att 2p=n.
15. Anordning enligt något av patentkraven ll-14, k ä n n e t e c k n a d därav, att minnet innefattar ett huvudminne (Sl) och ett eller flera hjälpminnen (S2, S3), att den datamängd (BDE) i antal bitar, till vilken access erhålles vid adressering av en position i minnet, är olika stor för alla delminnena och störst för huvudminnet samt att en exponentmodifierarkrets (77) är anordnad i minnesstyr- enheten (5) för att modifiera innehållet i exponentregistret (27) . 8104981-9 17
16. Anordning enligt patentkraven ll och 15, k ä n n e - t e c k n a d av skiftstyrkretsar (82) för ändring av skiftriktningen i adresskiftregistret (26).
SE8104981A 1981-08-21 1981-08-21 Metod och anordning for adressering av ett minne SE424581B (sv)

Priority Applications (5)

Application Number Priority Date Filing Date Title
SE8104981A SE424581B (sv) 1981-08-21 1981-08-21 Metod och anordning for adressering av ett minne
EP82106646A EP0072927B1 (en) 1981-08-21 1982-07-23 Device for addressing a memory
DE8282106646T DE3279112D1 (en) 1981-08-21 1982-07-23 Device for addressing a memory
US06/409,004 US4592013A (en) 1981-08-21 1982-08-17 Method and device for addressing a memory
JP57142764A JPS5837883A (ja) 1981-08-21 1982-08-19 メモリ・アドレシング装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE8104981A SE424581B (sv) 1981-08-21 1981-08-21 Metod och anordning for adressering av ett minne

Publications (2)

Publication Number Publication Date
SE8104981L SE8104981L (sv) 1982-07-26
SE424581B true SE424581B (sv) 1982-07-26

Family

ID=20344405

Family Applications (1)

Application Number Title Priority Date Filing Date
SE8104981A SE424581B (sv) 1981-08-21 1981-08-21 Metod och anordning for adressering av ett minne

Country Status (5)

Country Link
US (1) US4592013A (sv)
EP (1) EP0072927B1 (sv)
JP (1) JPS5837883A (sv)
DE (1) DE3279112D1 (sv)
SE (1) SE424581B (sv)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0341667U (sv) * 1989-09-01 1991-04-19
JP2000010863A (ja) * 1998-06-24 2000-01-14 Sony Computer Entertainment Inc 情報処理装置および方法、並びに提供媒体
US6678806B1 (en) * 2000-08-23 2004-01-13 Chipwrights Design, Inc. Apparatus and method for using tagged pointers for extract, insert and format operations
US6618788B1 (en) * 2000-09-27 2003-09-09 Cypress Semiconductor, Inc. ATA device control via a packet-based interface
US6732253B1 (en) * 2000-11-13 2004-05-04 Chipwrights Design, Inc. Loop handling for single instruction multiple datapath processor architectures
US6931518B1 (en) 2000-11-28 2005-08-16 Chipwrights Design, Inc. Branching around conditional processing if states of all single instruction multiple datapaths are disabled and the computer program is non-deterministic
US7493607B2 (en) 2002-07-09 2009-02-17 Bluerisc Inc. Statically speculative compilation and execution
US20050114850A1 (en) 2003-10-29 2005-05-26 Saurabh Chheda Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control
US7996671B2 (en) 2003-11-17 2011-08-09 Bluerisc Inc. Security of program executables and microprocessors based on compiler-architecture interaction
US8607209B2 (en) 2004-02-04 2013-12-10 Bluerisc Inc. Energy-focused compiler-assisted branch prediction
US20070294181A1 (en) * 2006-05-22 2007-12-20 Saurabh Chheda Flexible digital rights management with secure snippets
US20080126766A1 (en) 2006-11-03 2008-05-29 Saurabh Chheda Securing microprocessors against information leakage and physical tampering
US20080154379A1 (en) * 2006-12-22 2008-06-26 Musculoskeletal Transplant Foundation Interbody fusion hybrid graft
EP3173935B1 (en) * 2015-11-24 2018-06-06 Stichting IMEC Nederland Memory access unit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE331921B (sv) * 1966-03-25 1971-01-18 Ericsson Telefon Ab L M
US3739532A (en) * 1971-06-30 1973-06-19 Owens Illinois Inc Apparatus for transferring and operating on articles
FR2230258A5 (sv) * 1973-05-16 1974-12-13 Honeywell Bull Soc Ind
US4126897A (en) * 1977-07-05 1978-11-21 International Business Machines Corporation Request forwarding system
US4419727A (en) * 1979-01-02 1983-12-06 Honeywell Information Systems Inc. Hardware for extending microprocessor addressing capability
US4318175A (en) * 1979-08-13 1982-03-02 Bunker Ramo Corporation Addressing means for random access memory system
US4356549A (en) * 1980-04-02 1982-10-26 Control Data Corporation System page table apparatus
US4432053A (en) * 1981-06-29 1984-02-14 Burroughs Corporation Address generating apparatus and method
US4453212A (en) * 1981-07-13 1984-06-05 Burroughs Corporation Extended address generating apparatus and method
US4447879A (en) * 1981-09-11 1984-05-08 Data General Corporation Improved apparatus for representing the size of an element in a compound data item and deriving addresses and lengths using the element size

Also Published As

Publication number Publication date
EP0072927B1 (en) 1988-10-12
JPS5837883A (ja) 1983-03-05
SE8104981L (sv) 1982-07-26
EP0072927A3 (en) 1985-09-18
JPS648383B2 (sv) 1989-02-14
EP0072927A2 (en) 1983-03-02
DE3279112D1 (en) 1988-11-17
US4592013A (en) 1986-05-27

Similar Documents

Publication Publication Date Title
US3461434A (en) Stack mechanism having multiple display registers
SE424581B (sv) Metod och anordning for adressering av ett minne
US3786432A (en) Push-pop memory stack having reach down mode and improved means for processing double-word items
EP0097834B1 (en) Circuits for accessing a variable width data bus with a variable width data field
CA1137645A (en) Serial storage subsystem for a data processor
US4490786A (en) Vector processing unit
US4486854A (en) First-in, first-out memory system
GB1488980A (en) Memory and buffer arrangement for digital computers
US4630192A (en) Apparatus for executing an instruction and for simultaneously generating and storing related information
GB1492569A (en) Data processing system with move instruction
GB1110994A (en) Data storage addressing system
US3569685A (en) Precision controlled arithmetic processing system
GB1263743A (en) Storage control apparatus for a multiprogrammed data processing system
US4488260A (en) Associative access-memory
GB1517397A (en) Data processing system
JPH0468656B2 (sv)
KR860003554A (ko) 공유식 주메모리 및 디스크 제어기 메모리 어드레스 레지스터
GB1224961A (en) Binary associative memory
SU1200246A1 (ru) Многокоординатный цифровой интерпол тор
SU1361566A1 (ru) Устройство адресации оперативной пам ти
SU582513A1 (ru) Запоминающее устройство
SU1205153A1 (ru) Аппроксимирующий функциональный преобразователь
SU1108428A1 (ru) Устройство дл ввода информации
SU377792A1 (ru) Устройство обработки информации для многоканальных анализаторов
SU947866A1 (ru) Устройство управлени пам тью

Legal Events

Date Code Title Description
NUG Patent has lapsed

Ref document number: 8104981-9

Effective date: 19920306

Format of ref document f/p: F