HUT76241A - Computer system, as well as method of transmitting information from the external cache and the main memory to the processor of the computer system - Google Patents

Computer system, as well as method of transmitting information from the external cache and the main memory to the processor of the computer system Download PDF

Info

Publication number
HUT76241A
HUT76241A HU9603142A HU9603142A HUT76241A HU T76241 A HUT76241 A HU T76241A HU 9603142 A HU9603142 A HU 9603142A HU 9603142 A HU9603142 A HU 9603142A HU T76241 A HUT76241 A HU T76241A
Authority
HU
Hungary
Prior art keywords
cache
information
memory
unit
data
Prior art date
Application number
HU9603142A
Other languages
English (en)
Other versions
HU9603142D0 (en
Inventor
David James Shippy
David Benjamin Shuler
Original Assignee
Ibm
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 filed Critical Ibm
Publication of HU9603142D0 publication Critical patent/HU9603142D0/hu
Publication of HUT76241A publication Critical patent/HUT76241A/hu

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0884Parallel mode, e.g. in parallel with main memory or CPU
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels

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)

Description

' PÉLDÁNY
Számítógép rendszer, valamint eljárás számítógép rendszer processzora, külső' cache tára és fő memóriája közötti információ átvitelére
A találmány tárgya számítógép rendszer, amely jelfeldolgozó egységet, külső cache tárat és fő memóriát tartalmaz, valamint eljárás egy számítógép rendszer jelfeldolgozó egysége és egy külső cache tár és fő memória közötti információ átvitelére. Más szavakkal, jelen találmányunk általánosságban olyan adatfeldolgozó rendszerre vonatkozik, amelyben a rendszer processzora párhuzamos hozzáférést kezdeményez a fő memóriához valamint a 2. szintű (L2) cache tárhoz, pontosabban a processzor párhuzamos hozzáférést kezdeményez, és amennyiben a 2. szintű (L2) cache tárban utasításokat vagy adatokat talál, úgy a memória hozzáférést megszakítja még a memóriához való tényleges hozzáférés előtt. Ezen túlmenően találmányunk újszerű nem-hierarchikus memória vázlatot ismertet olyan proceszszor betöltési műveletekhez, amelyeknél a processzor számára két, különálló adatport van rendszeresítve.
Az adatokhoz valamint az utasításokhoz való gyors hozzáférés érdekében számos korszerű számítógép architektúra hierarchikus tároló elemeket használ. Jellemző módon az első szintű (Ll) cache tár a központi jelfeldolgozó egységbe, azaz a processzorba (CPU) integráltan van kialakítva, és egy viszonylag kis méretű (8-256 kB) gyors hozzáférésű tárolóeszközt képez, amely a processzorral szimultán módon működik. A második szintű (L2) cache tár nagyobb átmeneti tároló kapacitást biztosít, és az első szintű cache tár és a harmadik szintű (L3) fő memória között helyezkedik el, mely utóbbi már a processzoron kívül van kialakítva. A második szintű (L2) cache tár általában a processzor órajelével van megtáplálva, és statikus véletlen hozzáférésű tárból SRAM-ból készül. Az úgynevezett fő memória a processzor órajeléhez képest néhány ciklussal késésben van az erre a célra használt, lényegesen lassabb dinamikus véletlen hozzáférésű tárak, DRAM-ok, továbbá a cím átkódolás, a lefoglalás és egyebek miatt.
A hagyományos három szintű memória hierarchikus rendszerek a második szintű (L2) cache tár részére cache vezérlőegységet, a fo memória részére pedig egy különálló tárolásvezérlő egységet tartalmaznak. Ha a processzor által igényelt adatok vagy utasítások nincsenek a cache tárban, úgy cache kimaradások lépnek fel.
Normális esetben az első szintű (Ll) cache tár kimaradások elkerülnek a második szintű (L2) cache tár vezérlőegységhez, amely a második szintű (L2) cache tárat megvizsgálja, hogy a kívánt adatok vagy utasítások megtalálhatók-e abban. Amennyiben második szintű (L2) cache tár kimaradás lép fel, úgy kérelmet küld el a tárolás vezérlőegységhez, hogy az
-2adatokat behívja a fő memóriából. Ezek az események sorban egymást követően történnek és a processzor számára jelentős üresjárási időt okozhatnak. Ez alatt azt értjük, hogy időveszteség lép fel addig, amíg az adatokra vonatkozó kérelem eljut a második szintű (L2) cache tárig és hogyha cache tár kimaradás történik, úgy az adatokért a fő memóriához kell fordulni.
Ennek a processzornál jelentkező üresjárási időnek a lecsökkentése érdekében az US 4 663 440 számú szabadalmi leírás olyan hierarchikus felépítésű memória rendszert javasol, amelyben egy alacsony szintű memóriának kétkapus hozzáférése van az egyes memória áramkörökhöz. A rendszer magas szintű memóriát is tartalmaz, amely az alacsony szintű memória egyik kapujával sorosan működik együtt. Ez lehetővé teszi, hogy a magas szintű memória az alacsony szintű memóriához azzal egy időben férhessen hozzá sorosan, ahogy a számítógép rendszer az alacsony szintű memóriához hozzáfér. Ez a rendszer azonban nem biztosít adatkimaradás esetén konkurens hozzáféréseket a különböző szintű memóriákhoz.
Az EP 0 468 786 számú szabadalmi leírás külön cache vezérlővel és memória vezérlővel rendelkező memória rendszert ír le. A rendszerben egy mikroprocesszor mind a cache tárban, mind a fő memóriában egyidejűleg kezdeményezi az adatokra vonatkozó keresést. Amennyiben a keresett adatokat nem találja a cache tárban, úgy azokat a fő memóriából hívja elő anélkül, hogy a cache tárban történő keresés okozta késés hátrányt okozna. Ha azonban az adatokat megtalálja a cache tárban, akkor azokat nem kell a fő memóriából előhívnia, és így a memória vezérlőhöz való hozzáférést törli. A memória vezérlő a fő memóriában korábban kezdeményezett keresést vagy egy találat vonal felkapcsolásával, vagy egy kimaradás vonal lekapcsolásával megszakítja. A memória vezérlő mindkét említett akciója a fő memóriához való hozzáférési ciklus megszakításának igényét jelenti, mivel az adatokat megtalálta a cache tárban. Látható tehát, hogy ez a létező rendszer a fő memóriához való hozzáférést úgy kezdi, hogy felmegy a buszra, lefordítja, azaz átkódolja a memória címeket, megkeresi a memória helyeket, mely tevékenységek mind memória ciklusokat használnak fel, azaz a memória ezek alatt az aktivitások alatt másra nem használható. így tehát minden egyes alkalommal, amikor a mikroprocesszor egymással egyidejűleg végigkutatja a cache tárat és a fő memóriát, a memóriához való hozzáférés miatt az más folyamatok, például egy periféria vezérlőtől érkező közvetlen memória hozzáférés átvitel (DMA átvitel) számára, használhatatlanná válik még abban az esetben is, ha az adatok
V • ···· · · · · · · «· · · · · · • · · ·«· • · · · · · ··· ·· · · * ·
-3 egyébként a cache tárban vannak. Ennek következtében a memória műveletek akkor is késést szenvednek, ha az adatok a cache tárban vannak.
Az US 3 896 419 számú szabadalmi leírás első szintű (Ll) cache tárral és memóriával rendelkező jellemző processzort mutat. A rendszer a cache tárat akkor kutatja át adatokért, amíg éppen egy memória visszakeresési művelet zajlik. Ha az adatokat megtalálja a cache tárban, úgy a memóriából való előhívási műveletet leállítja. A memóriából való adat viszszakeresési kapu ciklust azonban törölni kell, ha a cache tárban az adatokat megtalálja. így tehát abban az esetben is zajlanak memória műveletek, ha a processzor az adatokat a cache tárban már megtalálta.
Az 1984. márciusi IBM Technical Disclosure Bulletin 26. évf. 10b számának 5488-5490. oldalán olyan hagyományos felépítésű hierarchikus memória rendszer olvasható, amelyben egy második szintű (L2) cache tár találat jelzi, hogy az adatok megtalálhatók a cache tárban, és azokat így továbbítani tudja az első szintű (Ll) cache tárhoz és a kimeneti regiszterekhez.
Az 1. ábrán ismert és jellemző hierarchikus memória rendszer felépítését tüntettük fel vázlatosan, amelyben 100 processzor 102 Ll cache tárat tartalmaz, és különálló 106 L2 cache tár vezérlőhöz csatlakozik 104 adatbuszon keresztül. A 106 L2 cache tár vezérlő szolgáltatja a cím és vezérlés információkat a 108 L2 cache tár részére, és a 108 L2 cache tárból az adatokat 107 buszon keresztül fogadja. 110 adatbusz a 106 L2 cache tár vezérlőt köti össze 112 memória vezérlővel, amely 114 memória számára szolgáltatja a cím és vezérlés információkat. A 114 memória által kapott cím és vezérlés információk és adatok 113 buszon keresztül jutnak el 112 memória vezérlőbe. A bemutatott rendszer alapján megfigyelhető, hogy egy L2 cache tár találathoz az adatokat a 108 L2 cache tárból előbb el kell juttatni a 106 L2 cache tár vezérlőhöz, majd a 100 processzorhoz, azaz két áramkörön kell keresztülhaladniuk. Ezért ennél a hagyományos rendszernél járulékos órajel ciklusokra van szükség ahhoz, hogy az adatokat a 108 L2 cache tárból a 106 L2 cache tár vezérlőn keresztül rájuttassuk a 104 adatbuszra. Hasonló módon, amikor cache tár kimaradás lép fel és az adatokat a 114 memóriából kell közvetlenül előhívni, akkor az adatokat előbb a 112 memóriavezérlőn keresztül kell a 110 adatbuszra eljuttatni, majd onnan a 106 L2 cache tár vezérlőn keresztül vezetni, mielőtt az adatok rákerülnének a 100 processzorhoz vezető 104 adatbuszra, tehát ilyenkor 3 áramkörön keresztül haladnak.
V « » ?«« · 14 · « 4 • · · · · » • · · · « · • · * · · · Ml ·· ·♦ 4
-4Αζ eddig leírtakból szakember számára nyilvánvaló, hogy nincs megoldva egy olyan memória rendszernek a kérdése, amelyben az L2 cache tárhoz és a fő memóriához egyidejűleg lehet hozzáférni, ám amelynél a fő memóriához való hozzáférés nem következik be, ha a keresett adatokat már megtaláltuk az L2 cache tárban. Ezen túlmenően látható, hogy egy olyan memória rendszer, amelyben olyan portok, kapuk vannak kialakítva, amelyek egy L2 cache tár részére lehetővé teszik az adatok közvetlen továbbítását a processzorhoz ahelyett, hogy az adatokat egy cache tár vezérlőn keresztül előbb az L1 cache tárba továbbítanák, a rendszer sebességét és hatékonyságát lényegesen megnövelné. Ezen túlmenően ugyancsak megnövelné a rendszer hatékonyságát egy olyan újszerű port is, melynek segítségével a fő memória közvetlenül a processzorban lévő L1 cache tárhoz lenne csatlakoztatható ahelyett, hogy a kapcsolat csupán egy memória vezérlő és cache tár vezérlő közbeiktatásával valósulna meg.
Az általunk ismert megoldásokkal ellentétben találmányunk olyan nem hierarchikus felépítésű memória rendszerre vonatkozik, amelyben az adatok visszakeresése mind az L2 cache tárban, mind pedig a fő memóriában egymással egyidejűleg kezdődik meg. Ez lehetővé teszi, hogy a lefoglalással, a memória DRAM cím átkódolással és hasonlókkal öszszefüggő memória megtorpanást olyan esetekben a lehető legkisebb mértékre csökkentsük, amikor a processzor által keresett adatok nincsenek az L2 cache tárban, azaz cache tár kimaradás lépne fel. Találmányunk biztosítja, hogy bármely memória hozzáférés még bármilyen memória vezérlőjel aktivizálását megelőzően megszakítható a tárolás vezérlő egységben, és ezért az L2 cache tárhoz valamint a fő memóriához való hozzáférés egyidejűleg kezdeményezhető, de az adatok megtalálhatók az L2 cache tárban, azaz találat esetén a tárolás vezérlőegység még megszakíthatja a fő memóriához való hozzáférést azelőtt, mielőtt bármilyen hatékonyság csökkenés lépne fel. Ily módon a memória nem szerez tudomást arról, hogy a processzor hozzá akart férni, és folytathatja egyéb műveleteit, például a közvetlen memória hozzáférés átviteleket és hasonlókat. Abban az esetben is lényeges hatékonyság csökkenés kerülhető el, ha éppen nem voltak más memória műveletek folyamatban, mivel a DRAM-okhoz sem kezdődött hozzáférés. Szakember számára tehát nyilvánvaló, hogy egy DRAM áramkörnek a hozzáférések között előtöltési időre van szüksége, így a hamis (L2 cache tár találat) memória műveletet követő memória műveletek nem szenvednek késést a DRAM áramkörök előtöltési ideje miatt.
Találmányunk tehát olyan egyedi nem hierarchikus memória sémát biztosít, amelyben az L2 cache tár az adatokat vagy utasításokat közvetlenül a processzor rendelkezésére bo• 4 · »1· »· « * » » ·· ♦ » # ··» · • · · · · · · «·· ·· ·· · ···
-5 csátja. A hagyományos háromszintű memória rendszerekben az L2 cache tár a processzor által kért adatokat illetve utasításokat előbb az L1 cache tárhoz továbbítja, és az L1 cache tár továbbítja azokat a processzorhoz. Ez azt jelenti, hogy az ismert rendszerekben az adatok az L2 cache táron keresztül jutnak el a fő memóriából a processzorhoz, más szavakkal nincs olyan egyedi port, amely biztosítaná, hogy az adatok közvetlenül a processzorhoz jussanak el. Az általunk javasolt, találmány szerinti rendszerben azonban az L2 cache tár az adatokat vagy utasításokat közvetlenül az azokat kérő feldolgozó egységhez tudja továbbítani, ugyanakkor az utasításokat illetve adatokat betölti az L1 cache tárba is, hogy a feldolgozó egységek azokat később fel tudják használni. Ily módon az L1 cache tár kikerülésével számos órajel ciklust sikerült megtakarítani.
Általánosságban tekintve találmányunk szerint az L2 cache tár és a memória hozzáférés vezérlés egyetlen egységbe, például egy tárolásvezérlő egységbe (SCU, Strorage Control Unit) fogja össze. Ily módon az L2 cache tár vezérlő rendkívül rövid időtartamon belül tudja jelezni egy L2 cache tár találat fellépését a memória vezérlő egységnek, minek alapján az még azelőtt meg tudja szakítani a memória hozzáférési műveletet, mielőtt még ténylegesen hozzáférne magához a fő memóriához. Ez azt jelenti, hogy a memória hozzáférést még bármilyen memória jel aktivizálása előtt meg tudjuk szakítani. Ily módon az ezt követő memória műveleteket a már korábban vázoltak szerint egy hamis DRAM előtöltési idővel nem tudjuk feleslegesen feltartani.
Ehhez járul még, hogy a találmány szerint kialakított második szintű L2 cache tár párhuzamosan van az első szintű L1 cache tárral valamint a különböző feldolgozó egységekkel kapcsolva, minek következtében az adatok illetve utasítások (információk) közvetlenül az információt kérő processzorhoz továbbíthatók az információnak a második szintű L2 cache tárból az első szintű L1 cache tárba való eltárolásával majd az információnak az első szintű L1 cache tárból a processzor általi előhívásával társított járulékos ciklusok nélkül.
Egy első egyedi port a fo memóriától az első szintű L1 cache tárhoz magában a proceszszorban van kialakítva. Egy második egyedi port közvetlen hozzáférést hoz létre a második szintű L2 cache tár valamint az információt a processzorban lévő fixpontos egység és lebegőpontos egység között továbbító regiszter között. Egy második szintű L2 cache tár találat az adatokat lényegesen kevesebb ciklus alatt képes a processzorhoz visszajuttatni, mivel az adatoknak nem kell több áramkörön keresztül haladniuk. Például az 1. ábra szerinti ismert rendszerben a 108 L2 cache tárból az adatokat előbb a 106 L2 cache tár vezérlőbe
-6kell betárolni, mielőtt továbbítani lehetne azokat a 100 processzorhoz. A 108 L2 cache tárból az adatok előhívásához, azoknak a 106 cache tár vezérlőben való eltárolásához valamint az adatoknak 104 buszon át a 100 processzorhoz való továbbításához igen jelentős jelfeldolgozási időre van szükség. Találmányunk további ciklusokat takarít meg az ismert hierarchikus felépítésű memória rendszerekhez képest azzal, ha L2 cache tár kimaradás esetén az adatokat a fő memóriából kell előhívni, hiszen látható volt az 1. ábra szerinti hagyományos rendszernél, hogy ilyen esetben az adatoknak a 114 memóriából előbb el kell jutniuk a 112 memória vezérlőbe, onnan a 106 L2 cache tár vezérlőbe, majd úgy kerülnek a 100 processzorhoz. Ezzel ellentétben találmányunk olyan egyedi portot hoz létre, melynek köszönhetően az adatok a fő memóriából közvetlenül eljuttathatók a processzorhoz egy L2 cache tár kimaradás fellépése esetén.
A kitűzött feladat megoldása során olyan számítógép rendszert vettünk alapul, amely jelfeldolgozó egységet, külső cache tárat és fő memóriát tartalmaz. A továbbfejlesztés értelmében hogy a jelfeldolgozó egység által kért információnak a külső cache tárban vagy fő memóriában való meglétét meghatározó eszköze valamint a kért információt a külső cache tárból vagy a fő memóriából közvetlenül a jelfeldolgozó egységhez továbbító eszköze van.
A találmány szerinti számítógép rendszer egy előnyös kiviteli alakja értelmében Az a továbbító eszköz a kért információt a külső cache tárból vagy a fő memóriából közvetlenül a jelfeldolgozó egységben lévő legalább egy végrehajtó egységhez továbbító eszközt tartalmaz.
A találmány szerinti számítógép rendszer egy további előnyös kiviteli alakja értelmében a továbbító eszköznek az információt a külső cache tárból fogadó első eszköze, valamint az információt a fő memóriából fogadó második eszköze van.
Ugyancsak előnyös a találmány értelmében, ha az első eszköz az információt a külső cache tárból közvetlenül a jelfeldolgozó egységhez továbbító cache tár buszt, az információt a külső cache tárból a jelfeldolgozó egységbe betároló eszközt, valamint a külső cache tárból származó információhoz a legalább egy végrehajtó egység révén hozzáférő eszközt tartalmaz.
Előnyös továbbá, ha a második eszköz az információt a fő memóriából közvetlenül a jelfeldolgozó egységhez továbbító memória buszt, az információt a fő memóriából a jelfel-7 dolgozó egységbe betároló eszközt valamint a memóriából származó információhoz a legalább egy végrehajtó egység révén hozzáférő eszközt tartalmaz.
Fentieken túlmenően előnyös, ha az információ adat információt és utasítás információt tartalmaz.
Ugyancsak előnyös a találmány értelmében, ha az első eszköznek és a második eszköznek az adat információt a jelfeldolgozó egységen belül kialakított adat cache egységben eltároló eszköze, valamint az utasítás információt a jelfeldolgozó egységen belül kialakított utasítás cache tár egységben eltároló eszköze van.
A találmány szerinti számítógép rendszer egy további előnyös kiviteli alakja értelmében az első eszköznek és a második eszköznek az adat információt annak a legalább egy végrehajtó egységhez való közvetlen rendelkezésre bocsátása során a belső adat cache egységben egyidejűleg eltároló eszköze valamint az utasítás információt annak a legalább egy végrehajtó egységhez való közvetlen rendelkezésre bocsátása során a belső utasítás cache egységben egyidejűleg eltároló eszköze van.
Előnyös továbbá, ha az eszköznek a jelfeldolgozó egységen belül kialakított belső cache tárat megkerülő eszköze van.
Ugyancsak előnyös a találmány értelmében, ha a meghatározó eszköznek az információnak a külső cache tárból való előhívására valamint a fő memóriából való előhívására vonatkozó kérelmet egyidejűleg kezdeményező eszköze, az információnak a külső cache tárban való meglétét meghatározó eszköze, és az információnak a fő memóriából való előhívására vonatkozó kérelmet az információnak a külső cache tárban való megléte esetén még a jelfeldolgozó egység által kibocsátott bármilyen memória hozzáférés művelet előtt megszakító eszköze van.
A kitűzött feladat megoldása során olyan eljárást vettünk alapul egy számítógép rendszer jelfeldolgozó egysége és egy külső cache tár és fő memória közötti információ átvitelére, amelynek során a találmány értelmében meghatározzuk a jelfeldolgozó egység által kért információnak a külső cache tárban vagy fő memóriában való meglétét, valamint a kért információt a külső cache tárból vagy a fő memóriából közvetlenül a jelfeldolgozó egységhez továbbítjuk.
• · · · · · • · · ·· ·· ·
-8A találmány szerinti eljárás egy előnyös foganatosítási módja értelmében a kért információt a külső cache tárból vagy a fő memóriából közvetlenül a jelfeldolgozó egységben lévő legalább egy végrehajtó egységhez továbbítjuk.
A találmány szerinti eljárás egy további előnyös foganatosítási módja értelmében az információt a külső cache tárból, valamint a fő memóriából is fogadjuk.
Ugyancsak előnyös a találmány értelmében, ha az információt a külső cache tárból közvetlenül a jelfeldolgozó egységhez továbbítjuk, abba betároljuk, valamint a külső cache tárból származó információhoz a legalább egy végrehajtó egység révén férünk hozzá.
Előnyös továbbá, ha az információt a fő memóriából közvetlenül a jelfeldolgozó egységhez továbbijuk, abba betároljuk, valamint a memóriából származó információhoz a legalább egy végrehajtó egység révén férünk hozzá.
Fentieken túlmenően előnyös, ha az információ adat információt és utasítás információt tartalmaz.
Ugyancsak előnyös a találmány értelmében, ha az adat információt a jelfeldolgozó egységen belül kialakított adat cache egységben tároljuk el, valamint az utasítás információt a jelfeldolgozó egységen belül kialakított utasítás cache tár egységben tároljuk el.
Továbbá előnyös, ha az adat információt annak a legalább egy végrehajtó egységhez való közvetlen rendelkezésre bocsátása során a belső adat cache egységben egyidejűleg eltároljuk és az utasítás információt annak a legalább egy végrehajtó egységhez való közvetlen rendelkezésre bocsátása során a belső utasítás cache egységben egyidejűleg tároljuk el.
Ugyancsak előnyös a találmány értelmében, ha a továbbítás során a jelfeldolgozó egységen belül kialakított belső cache tárat megkerüljük.
Előnyös végül a találmány szerint, ha a meghatározás során az információnak a külső cache tárból való előhívására valamint a fő memóriából való előhívására vonatkozó kérelmet egyidejűleg kezdeményezzük, meghatározzuk az információnak a külső cache tárban való meglétét, és az információnak a fo memóriából való előhívására vonatkozó kérelmet az információnak a külső cache tárban való megléte esetén még a jelfeldolgozó egység által kibocsátott bármilyen memória hozzáférés művelet előtt megszakítjuk.
• · * · · · • · · · · · ··· · · ·· ·
-9A találmányt az alábbiakban a csatolt rajz segítségével ismertetjük részletesebben, amelyen a javasolt rendszer példaként! kiviteli alakját tüntettük fel. A rajzon az
1. ábra egy ismert, hagyományos, hierarchikus felépítésű memória rendszer egységeinek kapcsolatát mutatja be tömbvázlat formájában, a
2. ábrán a találmány szerinti jelfeldolgozó rendszer egy lehetséges kiviteli alakjának, pontosabban az ahhoz tartozó első szintű Ll, második szintű L2 cache tárak és a fo memóriának a tömbvázlata látható, a
3. ábra a találmány szerinti rendszer processzorának a párhuzamos L2 cache tárhoz és a fő memóriához való hozzáférési képességet bemutató tárolás vezérlés egységének (SCU) tömbvázlata, a
4. ábra az első szintű Ll cache tár és a második szintű L2 cache tár találmány szerinti összekapcsolásának valamint az adatokat a cache tárak és a többi jelfeldolgozó egység között továbbító buszok kapcsolatának tömbvázlata, az
5. ábrán olyan idődiagrammot tüntettünk fel, amely egy hagyományos rendszerben a másodszintű L2 cache tár kimaradás fellépése esetén az adatokhoz vagy utasításokhoz a fo memóriában való hozzáféréshez szükséges processzor ciklusokat mutatja, a
6. ábra idődiagramján az 5. ábra szerinti helyzetben szükséges processzor ciklusok idődiagramja látható, a találmány szerinti rendszer esetében, a
7. ábrán olyan idődiagramot tüntettünk fel, amely egy hagyományos rendszerben cache tár találat esetén az adatokhoz vagy utasításokhoz a fo memóriában való hozzáféréshez szükséges processzor ciklusokat mutatja, és a
8. ábrán a 7. ábra szerinti esetet tüntettük fel a találmány szerinti memória rendszer alkalmazása esetén.
A 2. ábrán a találmány szerinti rendszer általános felépítését rajzoltuk fel tömbvázlat formájában. 1 hivatkozási jellel egy több áramkörből összeállított szuperskaláris processzor
- 10modult (CPU) jelölünk, amilyet például az IBM Corporation RISC System/6000 típusú munkaállomásában használnak (a RISC System/6000 megjelölés az IBM cég védjegye). Három utasítás cache tárnak a 4. ábrán részletesebben bemutatott 4 elágaztató egysége valamint első szintű (Ll) 11 utasítás cache tára van. A 11 utasítás cache tár és a 4 elágaztató egység dolgozza fel a bejövő utasításokat és irányítja el azokat 5 lebegőpontos egységhez és 7 fixpontos egységhez. A 4 elágaztató egység látja el a rendszeren belüli elágaztatási, megszakítási és feltétel kód funkciókat. Szakember számára nyilvánvaló, hogy az 5 lebegőpontos egység lebegőpontos aritmetikai utasításokat hajt végre, a 7 fixpontos egység pedig fixpontos aritmetikai műveleteket hajt végre (lásd az IBM cég 1990-ben publikált IBM RISC System/6000 Technology című kiadványának 16-42. oldalait valamint a RISC System/6000 feldolgozó egységének még részletesebb üzemi leírását).
tárolás vezérlő egység az 1 szuperskaláris processzor modul valamint a második szintű 15 L2 cache tár és 17 fo memória közötti hozzáférést vezérli. A 9 tárolás vezérlő egységnek 10 L2 cache tár könyvtára van, amelyet arra használunk, hogy az adatok vagy utasítások (leírásunkban az információ kifejezés alatt mind az adatokat, mind az utasításokat értjük) címét a 15 L2 cache tárban összehasonlítsuk a kívánt információ címével, annak érdekében, hogy meghatározzuk, vajon a 15 L2 cache tárban találat vagy kimaradás lépett fel. Látható a 2. ábráról, hogy a 9 tárolás vezérlő egység sem a 15 L2 cache tárból, sem a 17 fő memóriából nem kap adatokat, csupán ezek számára cím és vezérlő információt szolgáltat. A 15 L2 cache tártól 13 adat cache egységhez valamint a 3 utasítás cache tárhoz vivő, valamint a 17 fő memóriától a 13 adat cache egységhez vivő egyedi portok lehetővé teszik, hogy az adatokat közvetlenül az 1 szuperskaláris processzor modulhoz juttassuk el anélkül, hogy azokat közbensőleg a 9 tárolás vezérlő egységben átmenetileg eltárolnánk.
Az első szintű (Ll) 13 adat cache egység az 5 lebegőpontos egységhez és a 7 fixpontos egységhez kapcsolódik, és a frissen hozzáfért adatokat tárolja el, amelyekre a 7 fixpontos egységnek és az 5 lebegőpontos egységnek még valószínűleg szüksége lesz. A 13 adat cache egység regisztereket, D-tárolókat és hasonlókat tartalmaz (ezek az ábrán nem láthatók), 14 adat cache tárral együtt, amely viszont csupán adatokat tárol. Látható, hogy a találmányt megvalósító bemutatott előnyös kiviteli alak architektúrájában a hagyományos első szintű (Ll) cache tár két részre vált szét: egy 14 adat cache tár összetevőre, valamint egy 11 utasítás cache tár összetevőre. Ily módon az Ll cache tár rendszerben tárolt adatok és utasítások fizikailag is közelebb helyezkednek el az ezeket az adatokat és utasításokat felhasználó feldolgozó áramkörökhöz. Ez alatt azt értjük, hogy a 11 utasítás cache tár fizi-11 kailag a 3 utasítás cache tárban kialakított 4 elágaztató egység közvetlen közelében helyezkedik el úgy, hogy all utasítás cache tárban tárolt utasításokhoz a 4 elágaztató egység könnyen és gyorsan hozzá tud férni, illetve abból könnyen és gyorsan lehívható. Hasonló módon a 14 adat cache tár az 5 lebegőpontos egység és a 7 fixpontos egység közvetlen közelében helyezkedik el, melynek köszönhetően ezek az egységek a 14 adat cache tárban tárolt adatokhoz igen könnyen hozzá tudnak férni. A 15 L2 cache tárat több statikus véletlen hozzáférésű memória áramkör (SRAM-ok) alkotja, mely 9 tárolásvezérlő egységhez valamint 2 újratöltő buszhoz is kapcsolódik. A 15 L2 cache tárban tárolt információra vonatkozó kérelmeket a 9 tárolásvezérlő egység fogadja, és ha az információt megtalálja a 15 L2 cache tárban, úgy azt továbbítja a kérelmező feldolgozó egységnek valamint az első szintű L1 cache tárnak 2 újratöltő buszon keresztül.
A memória rendszer harmadik szintjét a 17 fő memória képezi, amely szokásos módon dinamikus véletlen hozzáférésű tár áramkörökből (DRAM-okból) épül fel és amelyek a 9 tárolás vezérlő egységhez valamint 13 adat cache egységhez kapcsolódnak. A 17 fő memória a találmány szerinti rendszer leglassúbb memória eszköze, azaz a 17 fő memóriának van a legtöbb óraciklusra szüksége ahhoz, hogy a benne tárolt információhoz hozzájuthassunk. A 17 fo memória közvetlenül a 13 adat cache egységhez kapcsolódik, melynek köszönhetően a benne lévő információ közvetlenül továbbítható az 5 lebegőpontos egységhez és a 7 fixpontos egységhez. A 13 adat cache egység a hozzáküldött információt egy regiszterben vagy hasonló helyen tárolja, majd továbbítja a végrehajtó fokozatokhoz. Természetesen a 17 fő memóriából az információt a 14 adat cache tárba is továbbíthatjuk. Ha a 17 fő memóriából utasítások érkeznek, úgy az utasítás információt a 13 adat cache egység előbb a 2 újratöltő buszra, majd a 3 utasítás cache tárhoz juttatja. Ily módon az adat és utasítás információt a 17 fő memóriából közvetlenül az 1 szuperskaláris processzor modulhoz juttathatjuk el.
Már az 1. ábrán is megfigyelhető volt, hogy az adatokra vagy utasításokra vonatkozó kérelmeket a 9 tárolásvezérlő egységhez 6 processzor busz továbbítja. A 13 adat cache egységet (és a többi feldolgozó fokozatot) 21 és 23 bemeneti/kimeneti vezérlő áramkörökkel 12 bemeneti/kimeneti rendszer busz kapcsolja össze. Ezek a 21, 23 bemeneti/kimeneti vezérlő áramkörök hangolják össze az adattovábbítást egy külső busz, például egy MicroChannel (MCA) busz (MicroChannel az IBM Corporation védjegye) valamint a különböző feldolgozó fokozatokat összekötő belső processzor busz között. A 2. ábrán a 12 bemeneti/kimeneti rendszer buszhoz kapcsolódva néhány, az 1 szuperskaláris processzor
- 12modul beindításánál használt alapvető rutint és kódot, például a bekapcsolási öntesztet (POST, Power On Self Test) és hasonlót biztosító 19 csak olvasható tároló áramkör van kialakítva.
A 2-4. ábrákon látható, hogy a 3 utasítás cache tár a 6 processzor buszon keresztül nem csupán információ kérelmeket küld a 9 tárolásvezérlő egységhez, hanem végrehajtás céljából utasításokat továbbít az 5 lebegőpontos egységhez és a 7 fixpontos egységhez. Mind az 5 lebegőpontos egység, mind a 7 fixpontos egység négyes szóhosszúságú buszon át csatlakozik a 13 adat cache egységhez az L1 14 adat cache tár és a feldolgozó fokozatok közötti információ továbbításához. A 7 fixpontos egység a 6 processzor buszhoz is csatlakozik úgy, hogy módja van az L1 14 adat cache tárból információt kérni. A 15 L2 cache tár a cím és vezérlő információt a 9 tárolásvezérlő egységet vele összekötő 16 buszról kapja és a 15 L2 cache tár is rácsatlakozik a 2 újratöltő buszon át az 5 lebegőpontos egységre és a 7 fixpontos egységre az L1 13 adat cache egység 51 regiszterén keresztül (lásd a 4. ábrát). Ezen túlmenően a 2 újratöltő busz a 15 L2 cache tárat a 3 utasítás cache tárban 50 regiszteren keresztül összeköti a 4 elágaztató egységgel a 4. ábrán feltüntetett módon. A 17 fő memória a cím és vezérlő információt az azt a 9 tárolásvezérlő egységgel összekötő 18 buszról kapja, és további 20 memória buszon át közvetlenül össze van kötve a 13 adat cache egységgel is. A 2. ábrán a találmány szerinti rendszer egy további új jellemzője is megfigyelhető: a 15 L2 cache tár és a 17 fő memória egy-egy egyedi portot tartalmaz, amellyel a feldolgozó fokozatokhoz és az L1 cache tárhoz kapcsolódik. így a 17 fő memóriából az információnak nem kell előbb a 15 L2 cache tárba bekerülnie, hogy onnan az L1 cache tárba továbbíthassuk. Ezen túlmenően a 15 L2 cache tár a 2 újratöltő buszon át és a 3 utasítás cache tár regiszterein át közvetlenül rákapcsolódik a feldolgozó fokozatokra valamint az L1 13 adat cache egységre (lásd 4. ábrát). Ez biztosítja, hogy a 15 L2 cache tárból az információ gyorsabban kerülhessen az információt kérő végrehajtó egységbe, mint a hagyományos rendszerekbe, hiszen a közvetlen hozzáférés következtében nincsenek közbenső és lassító áramkörök.
Látható tehát, hogy találmányunk olyan nem hierarchikus memória rendszer, amelyben a 15 L2 cache tár közvetlenül kapcsolódik a feldolgozó fokozatokhoz, kihagyva illetve megkerülve így az L1 13 adat cache egységet. Ezen túlmenően a 17 fő memória közvetlenül, a 15 L2 cache tárat kihagyva csatlakozik az L1 13 adat cache egységhez. Ha ezt a rendszert összehasonlítjuk az 1. ábrán bemutatott, találmányunkhoz leginkább hasonló ismert rendszerrel, látható, hogy a 17 fő memória a memória vezérlőt és a cache vezérlőt is kihagyja,
- 13 így tehát ahhoz, hogy a kért információ eljuthasson az 1 szuperskaláris processzor modulhoz az információnak csupán egyetlen közbenső áramkörön kell keresztül haladnia.
A találmányunkban javasolt egyedi portok lehetővé teszik a 20 memória busz és a 2 újratöltő busz szétválasztását úgy, hogy minimálisra csökken a busz betöltések száma. Ennek következtében a buszok az információt közvetlenül az 1 szuperskaláris processzor modulhoz juttathatják el, nem pedig egy vezérlőhöz vagy hasonló fokozathoz. Ennek alapján a 2 újratöltő busz és a 20 memória busz sokkal gyorsabb órajellel működtethető, mint a hagyományos rendszerek, amelyek a teljes memória rendszert (például az L2 cache tárat és a fő memóriát) közvetlenül a processzorral kapcsolatban álló egyetlen busszal kapcsolja öszsze.
A 4. ábrán részletesebben is feltüntettük találmányunk nem hierarchikus felépítéséből fakadó tulajdonságokat. Pontosabban az ábrán feltüntettük a 3 utasítás cache tárat az L1 11 utasítás cache tárral és a 4 elágaztató egységgel valamint 50 regiszterrel. Látható, hogy a 11 utasítás cache tár a 4 elágazgató egységgel áll összeköttetésben és belőle az utasítások közvetlenül a 4 elágaztató egységbe is bekerülnek. Az 50 regiszter közvetlenül a 2 újratöltő buszra, és ezen keresztül a 15 L2 cache tárra kapcsolódik. A 3 utasítás cache tár az 5 lebegőpontos egységgel és a 7 fixpontos egységgel is kapcsolatban áll úgy, hogy mindkettő számára el tudja irányítani a megfelelő utasításokat. Az L1 13 adat cache egység, amely magában foglalja az L1 14 adat cache tárat is, ugyancsak össze van kötve az 5 lebegőpontos egységgel és a 7 fixpontos egységgel annak érdekében, hogy a feldolgozó fokozatok által az utasítások végrehajtása céljából kért adatokat gyorsan megkapja. A 13 adat cache egység 51 regisztert is tartalmaz, amely a 2 újratöltő busszal valamint a 15 L2 cache tárral áll összeköttetésben. Látható, hogy találmányunk bemutatott előnyös kiviteli alakjánál a szokásos első szintű L1 cache tár a 11 utasítás cache tárra valamint 14 adat cache tárra van felbontva. Ezek a különálló részek fizikailag azokhoz a feldolgozó fokozatokhoz helyezkednek el közvetlen közel, amelyek a bennük tárolt információhoz a leggyakrabban kívánnak hozzájutni. Ez azt jelenti, hogy mivel a 4 elágaztató egységnek utasításokra van szüksége, a 11 utasítás cache tárat annak közelében alakítjuk ki, az 5 lebegőpontos egység és a 7 fixpontos egység pedig adatokat kér, ezért a 14 adat cache tárat az említett két egység szomszédságában képezzük ki.
Mint azt korábban említettük, a hagyományos hierarchikus felépítésű memória rendszerek az információt minden egyes memóriaszinttől továbbítják a következő memóriaszinthez, ·«·
- 14sorban egymást követően mindaddig, amíg végül az információ eléri az őt kérő feldolgozó egységet. Találmányunk azonban lehetővé teszi, hogy a második szintű cache tárban található információ közvetlenül eljusson az információt kérő feldolgozó egységhez. Például ha egy benne tárolt utasításra vonatkozóan második szintű L2 cache tár találat történik, akkor a 15 L2 cache tárból ezt az utasítást közvetlenül el tudjuk juttatni az 50 regiszterbe a 2 újratöltő buszon át. Az utasítást a következő óraciklus alatt egyidejűleg visszük át a 4 elágaztató egységbe valamint a 11 utasítás cache tárba. Látható tehát, hogy ennek során az első szintű L1 cache tárat teljességgel kihagyjuk, ha a 15 L2 cache tárban tárolt utasításra vonatkozóan találat következik be. Ha az L2 cache tár találat adat információra vonatkozik, úgy azt nem az 50 hanem az 51 regiszterbe továbbítanánk, majd az adatot anélkül kapná meg és dolgozná fel az 5 lebegőpontos egység vagy 7 fixpontos egység, hogy azt előbb el kellene tárolnunk az L1 14 adat cache tárban. Az utasítás és adat információt természetesen egyidejűleg tároljuk el a 11 utasítás cache tárban valamint a 14 adat cache tárban úgy, hogy a következő alkalommal, amikor szükség van rá, az információ sokkal gyorsabban hívható elő, tudniillik az információ előhívás lényegesen gyorsabb az első szintű L1 cache tárból, mint a második szintű L2 cache tárból, mivel az L1 cache tár közelebb helyezkedik el a végrehajtó egységekhez.
Találmányunk nem hierarchikus természete az eddigieken kívül a 17 fő memóriára is vonatkozik. Hagyományos esetben, amikor L1 illetve L2 cache tár kimaradás lép fel, és az információ a fő memóriában található, ezt az információt előbb egy memória vezérlőbe, majd az L2 cache tár vezérlőbe, végül pedig az L1 cache tárba továbbítják, hogy ott az információt kérő feldolgozó egység hozzáférhessen. Ezzel ellentétben találmányunk értelmében olyan egyedi portot alakítunk ki, amely a 17 fő memóriát 20 memória buszon keresztül összeköti az 1 szuperskaláris processzor modulban lévő L1 13 adat cache egységgel. A 17 fő memória és az 1 szuperskaláris processzor modul ilyen közvetlen összekapcsolását úgy valósítjuk meg, hogy mind az 59 memória vezérlő egységet, mind az 55 L2 cache tár vezérlő egységet a 9 tárolásvezérlő egységben képezzük ki, ami viszont kizárólag cím és vezérlőjeleket bocsát ki. Mint korábban megjegyeztük, a hagyományos rendszereknél különálló cache vezérlő és memória vezérlő van, amelyek a kért adatokat is fogadják, és az adatok további áramkörökön is áthaladnak, mielőtt eljutnának az őket kérő szuperskaláris processzor modulba. Ezek a járulékos, felesleges áthaladások a közbeeső áramkörökön jelentős gépi ciklusidőt vesznek igénybe, részben a cím és vezérlő jelek előállítása, részben a kért adatok közbenső eltárolása révén.
- 15 A 4. ábrán látható, hogy 17 fő memória közvetlenül kapcsolódik a 13 adat cache egységben lévő 51 regiszterhez. Ez lehetővé teszi, hogy az adat információ és az utasítás információ a 17 fő memóriából közvetlenül jusson el az 51 regiszterbe. Az adat információhoz az 5 lebegőpontos egység illetve a 7 fixpontos egység közvetlenül az 51 regiszterből fér hozzá. Az utasítás információt azonban az 50 regiszterhez való továbbítás céljából a 2 újratöltő buszra is rájuttatjuk. Az utasítás információt aztán a 4 elágaztató egység az 50 regiszterből kapja meg. Az utasítás információ és az adat információ ezen kívül all utasítás cache tárhoz valamint a 14 adat cache tárhoz is eljut az 50 illetve az 51 regiszterekből, hogy a végrehajtó egységek később felhasználhassák.
Az 5 lebegőpontos egység vagy a 7 fixpontos egység által kért adatok a 15 L2 cache tárból a 2 újratöltő buszon át közvetlenül is bekérhető. Ez azt jelenti, hogy ha adatra van szükség és találat történik a 15 L2 cache tárban, akkor az adat előbb bekerül az 51 regiszterbe, majd közvetlenül ezt követően elkerül az őt kérő feldolgozó egységbe (5 lebegőpontos egységbe vagy 7 fixpontos egységbe) valamint az L1 14 adat cache tárba a következő óraciklus alatt. Jóllehet az 51 regiszter fizikailag az L1 cache tárat megvalósító 13 adat cache egységben helyezkedik el, a 15 L2 cache tárból az adatok tárolásával nem lép fel semmilyen késlekedés, hiszen nincs szükség cím átkódolásra vagy más hasonló műveletre. így a 15 L2 cache tárból és a 17 fő memóriából származó adatok megkerülik az L1 13 adat cache egységet. Egy előnyös kiviteli alaknál az 51 regisztert ugyanazon a morzsán helyeztük el, mint az L1 13 adat cache egységet, pusztán megszokásból, mivel a nevezett eszköz számára elegendő hely volt a morzsán. Nem tűnt praktikus dolognak teljesen feleslegesen az 5 lebegőpontos egységet vagy a 7 fixpontos egységet áttervezni ahhoz, hogy még egy járulékos regiszterrel gazdagodjon. Hasonló módon nem tűnt célszerűnek egy kizárólag egyetlen regisztert tartalmazó különálló morzsa kialakítása sem.
Szakember számára kézenfekvő, hogy a kért adatok és utasítások 11 utasítás cache tárba és 14 adat cache tárba történő továbbítása időt takarít meg, mivel az információra újra szükség van.
A 3. ábra a 9 tárolás vezérlő egységet adó elemek és összetevők tömb vázlata. Az ábrán a 6 processzor busz is látható, amely a 3 utasítás cache tártól a 9 tárolás vezérlő egységhez továbbít információra vonatkozó kérelmeket. Látható, hogy az információra vonatkozó kérelmek mind az 53 L2 cache tár kérelem gyűjtőbe, mind pedig az 52 memória kérelem gyűjtőbe bekerülnek. így tehát, jóllehet a 9 tárolás vezérlő egység tartalmazza mind a 17 fő
- 16memória, mind pedig a 15 L2 cache tár részére a vezérlőt, a 6 processzor busztól érkező információ kérelem párhuzamosan is feldolgozható. Ha az információra vonatkozó kérelem kilép az 53 L2 cache tár kérelem gyűjtőből, bekerül mind a 10 L2 cache tár könyvtárba, mind az 57 összehasonlító egységbe. A kért adatot összehasonlítjuk a 15 L2 cache tár helyeivel, azaz a 10 L2 cache tár könyvtár a cím toldatokat megadja az 57 összehasonlító egység számára, amely ennek alapján meghatározza, vajon a cache tárban lévő információ megegyezik-e azzal, amelyet a 3 utasítás cache tár kért. Ha nem egyezik meg, akkor cache tár kimaradás lépett fel, és engedélyezi a memória műveletek befejezését, azaz a 17 fő memóriát átkutatja a keresett információért. Ha a keresett információt viszont megtalálja a 15 L2 cache tárban, mert az az összehasonlítás eredményeképpen azonosnak bizonyul az 53 L2 cache tár kérelem gyűjtőben lévő kívánt információval, akkor cache tár találat lép fel, és egy találati jelet küld az 55 L2 cache tár vezérlő egységhez, amely ennek alapján a memória műveletet leállító jelet bocsát ki 59 memória vezérlő egység számára.
Az 52 memória kérelem gyűjtőből az információra vonatkozó kérelem mind az 59 memória vezérlő egységhez, mind a 61 DRAM cím átkódoló egységhez ugyanabban az időben elkerül, amikor a kérelmet az 53 L2 cache tár kérelem gyűjtő továbbteszi a 10 L2 cache tár könyvtárba. Ez lehetővé teszi, hogy a memória hozzáférési műveletek ugyanabban az időpontban kezdődjenek, amikor a 15 L2 cache tárat elkezdjük átkutatni a keresett adatokért. Ez előnyként jelentkezik, mivel a 17 fő memóriából az információ előhívásával kapcsolatos késlekedést minimalizáltuk.
Megjegyezzük, hogy az 59 memória vezérlő egység és az 55 L2 cache tár vezérlő egység ugyanazon az integrált áramköri morzsán vannak kiképezve. Ez lehetővé teszi, hogy az előbb említett memória művelet leállító jelet az 55 L2 cache tár vezérlő egység közvetlenül, egyetlen cikluson belül továbbíthassa az 59 memória vezérlő egységnek. Szakember számára rögtön nyilvánvalóvá válik az óraciklusok számában történő lényeges megtakarítás, ami akkor lép fel, ha egy jelet egyetlen áramköri lapon kialakított funkcionális blokkok között továbbítunk. Az áramkörök közötti jelátvitellel jelentős hátrány illetve teher jár együtt. így például mindkét áramkörnek meg kell szereznie a busz felett a rendelkezési jogot, majd átviteli protokollt kell lebonyolítania. így az áramköri fizikai korlát megszüntetésével jelentős számú órajelet takarítunk meg, ami ugyancsak a gyorsaság és hatékonyság növeléséhez járul hozzá. Ennek alapján, ha L2 cache tár találat lép fel, az 59 memória vezérlő egység a memória műveletet leállító jelet még azelőtt megkapja, mielőtt a memória hozzáférési műveleteket befejezné és bármilyen vezérlő jelek kimennének a 18 buszon ke•·»· ··*·
- 17resztül a 17 fő memóriához. így, ha L2 cache tár találat lép fel, a következő memória művelet nem lesz késleltetve, mivel nincsenek aktív memória műveleti jelek sem. így például a 21 vagy 23 bemeneti/kimeneti vezérlő áramkörhöz kapcsolt NCA adapter tovább írhatja az adatokat egy közvetlen memória hozzáférési átvitel alatt a 17 fő memóriába a memória feletti rendelkezés megszerzése következtében fellépő megszakítások nélkül. Ezen túlmenően nem lép fel DRAM zavarás sem, azaz a rákövetkező memória műveleteket nem tartoztatja fel a 17 fo memóriát alkotó DRAM áramkörök előtöltése sem.
Összefoglalva nem csupán a memória hozzáféréssel összefüggő megtorpanást minimalizáltuk az L2 cache tár és a memória hozzáférés egyidejű kezdeményezése révén, hanem maximáltuk a memória rendelkezésre állási időt is, hiszen a memória folytathatja a feldolgozási műveletet, amint cache tár találat következik be. Csupán abban az esetben szerez a 17 fő memória tudomást arról, hogy valamilyen információra van szükség, ha az 57 összehasonlító egység megállapítja egy cache tár kimaradás bekövetkeztét.
Az 5. ábra idődiagramján egy hagyományos rendszerben, például az 1. ábrán bemutatott rendszerben egy L2 cache tár kimaradás esetén használt óraciklusokat tüntettünk fel. Az első óraciklusban újratöltés kérelmet adunk ki a 104 adatbuszra, a második óraciklus alatt a hagyományos 106 cache vezérlő pedig meghatározza, hogy L2 cache tár kimaradás történt. Ezt követően egy memória vezérlő kérelem jel válik aktívvá a negyedik ciklusidő alatt (a harmadik és negyedik ciklusidő ahhoz szükséges, hogy a 106 cache vezérlő az L2 cache tár kimaradást jelezze a 112 memória vezérlőnek, mivel áramkörök közötti jeltovábbításról van szó), és az ötödik jelciklus alatt memória lefoglalás és DRAM cím átkódolás zajlik le a 112 memória vezérlőben. A hatodik és a hetedik jelciklusban előállítjuk a sor/oszlop címet, és aktiváljuk a sor cím kapujelet (RAS, Raw Address Strobe) és az oszlop cím kapujelet (CAS, Column Address Strobe). Ha ezek a jelek aktívak, úgy a sorra és az oszlopra vonatkozó cím információ a buszon van. A tizenkettedik jelciklusban a memóriában lévő információt továbbítjuk a 113 memória adatbuszon át a 112 memória vezérlőhöz és a tizennegyedik jelciklusban az információt rávisszük a 110 adatbuszra. Egy további áramkörök közötti jeltovábbítás történik, mielőtt az előkeresett adatokat rárakhatnánk a 104 adatbuszra a tizenhatodik jelciklusban, és mielőtt az adatokat a 100 processzorban be tudnánk tölteni a 102 L1 cache tárba. Megjegyezzük, hogy két jelciklust használtunk fel az áramkörök közötti adattovábbítás büntetéseként, azonban a többi hagyományos rendszer is legalább két jelciklust igényel ahhoz, hogy a jelet nem azonos áramkörön belül, tehát áramkörök között továbbíthassa. így tehát látható, hogy a hagyományos hierarchikus felépítésű
- 18memória rendszerek legalább tizenhat jelciklust igényelnek annak érdekében, hogy egy L2 cache tár kimaradás fellépése esetén a kért információt a fő memóriából megkaphassák.
A 6. ábrán egy másik idődiagramot tüntettünk fel, amely a 15 L2 cache tár és a 17 fő memória között a találmány szerint lezajló vezérlési szekvenciát mutatja be cache tár kimaradás fellépése esetén. Az első jelciklus alatt a feldolgozó egységek egyike újratöltés kérelmet bocsát ki a 6 processzor buszra, mint az az érvényes 6 processzor busz jelen látható, a második jelciklusban pedig a 9 tárolás vezérlő egység betölti a kért címet és megvizsgálja a 10 L2 cache tár könyvtár tartalmát. A könyvtáijelzőt összehasonlítja a 6 processzor buszon elküldött olvasási cím megfelelő bitjeivel, és meghatározza, hogy a kérelem eredménye találat vagy kimaradás lett. Ezzel párhuzamosan, még mindig a második jelciklusban memória lefoglalás! kérelem valamint memória DRAM sor/oszlop cím generálás is lezajlik. Ebben az esetben abból indultunk ki, hogy cache tár kimaradás lépett fel, és a memória műveleteket leállító STOP_MEMORY jel nem aktivált. Ezért a harmadik és negyedik jelciklusban memória sor/oszlop cím generálás történik, és még a harmadik ciklusban aktiváljuk a sor cím kapujelet. A negyedik jelciklusban pedig az oszlop cím kapujelet. így a negyedik jelciklusban mind a sor, mind az oszlop cím rákerül a második ábrán 18 hivatkozási jellel azonosított buszra. Ezeket a jeleket a 9 tárolásvezérlő egység szolgáltatja, és a kilencedik jelciklusban a 17 fő memória megkezdi az információ rávitelét a 20 memória buszra. Ebben az időpontban az adat eljut a 13 adat cache egységhez. Ha a memória kérelem adatra irányult, akkor találmányunk csupán kilenc jelciklust igényel ahhoz, hogy a keresett adatokat megkapjuk a memóriából és azokat a 13 adat cache egységben kialakított adat cache tár számára rendelkezésre állítsuk. Ha a kérelem azonban utasításra vonatkozott az utasításokat a tizenegyedik jelciklusban tesszük ki a 2 újratöltő buszra és tesszük ezáltal elérhetővé all utasítás cache tár számára. Bármely más esetben az információt (beleértve az adatokat és utasításokat is) a tizenegyedik jelciklusban tesszük rá a 2 újratöltő buszra, így az információ ekkor áll a 15 L2 cache tár rendelkezésére. Ily módon a következő alkalommal, amikor erre az információra szükség van, az információ már benne lesz a
L2 cache tárban, és a kezdeti vizsgálat találatot fog jelenteni, nem pedig kimaradást. A tizenegyedik ciklusban aktiváljuk az L2 írásengedélyező és áramkör engedélyező jeleket, hogy lehetővé tegyük az információ egyidejű beírását a 15 L2 cache tárba, miközben a 17 fő memóriából az információ a 20 memória buszon át beíródik az L1 13 adat cache egységbe, hogy elkerüljünk egy jövőbeli cache tár kimaradást.
J.
- 19Látható tehát, hogy a találmány szerinti rendszer eredményeképpen az információ adatok esetében mindössze kilenc jelciklus alatt, utasítások esetében pedig a 2 újratöltő buszon át mindössze tizenegy jelciklus alatt kerül be a 13 adat cache egységbe, miközben a hagyományos rendszerekben ehhez legalább tizenhat jelciklusra van szükség. Ez találmányunk egyik olyan újszerű jellemzőinek köszönhető, amelyet a memóriához kiépített egyedi port jelent, melynek révén az információt közvetlenül el tudjuk juttatni a központi jelfeldolgozó egységhez, esetünkben az 1 szuperskaláris processzor modulhoz.
A 7. ábrán egy hagyományos hierarchikus felépítésű memória rendszer időzítésének idődiagramját tüntettük fel L2 cache tár találat esetén. Az első jelciklusban a kérelmező feldolgozó egység újratöltés kérelmet ad ki a 104 adatbuszra (lásd az 1. ábrát), a második jelciklusban pedig a 106 L2 cache tár vezérlő végignézi a könyvtárat és meghatározza, vajon a keresett információ megtalálható-e már a 108 L2 cache tárban. A második jelciklusban aktivált TALÁLAT jel jelzi, hogy az előkeresendő információ benne van a 108 L2 cache tárban. Ennek alapján aktiválódik az L2 cache tár áramkör engedélyező jel, és az L2 címet a negyedik jelciklusban elküldik a 108 L2 cache tárhoz. Az ötödik jelciklusban a visszakeresett információ a 108 L2 cache tárból átkerül a 106 cache tár vezérlőbe, majd az adatok ezt követően a hetedik jelciklusban a 104 adatbuszon át eljutnak a 100 processzorhoz, még pedig azért csak a hetedik jelciklusban, mert a jelnek járulékosan áramkörökön kell keresztülhaladnia miközben az adatok a 108 L2 cache tárból eljutnak a 106 cache tár vezérlőbe még a 104 adatbuszra való rákerülésük előtt. Látható tehát, hogy egy hagyományos hierarchikus felépítésű memória rendszerben legalább hét jelciklus telik el, mielőtt a 108 L2 cache tárból bármilyen utasítás vagy adat rákerülhetne a 104 adatbuszra.
Az 1. ábrán bemutatott ismert felépítés mellett a memória hozzáférés annyira lassú, hogy a különböző memória műveletek, például memória lefoglalás, memória DRAM cím átkódolás, sor/oszlop cím generálás és hasonlók nem is kezdődnek meg, mivel az információ ott van az L2 cache tárban, azaz az L2 cache tár műveletek valamint a memória műveletek egymástól függetlenek és egymás után következnek. Más hagyományos rendszerekben azonban a memória hozzáférési művelet már ugyanabban az időpontban elkezdődhet, amikor a második ciklusban megkezdődik a cache tár könyvtár átnézése. Ebben az esetben legalább három jelciklust kell még a memória műveletekhez hozzáadnunk, mivel egy különálló cache tár vezérlőnek el kell küldenie a jelet egy ugyancsak különálló memória vezérlőhöz. Találmányunk értelmében azonban a cache tár vezérlő egység és a memória vezérlő egység egyetlen, az ábrákon 9 hivatkozási számmal azonosított tárolás vezérlő egy4/ • · · · • · · · • · · • · · ·
-20ségben vannak összefogva, amely közvetlenül vezérli mind a 15 L2 cache tárat, mind pedig a 17 fo memóriát. Ily módon a memória műveletek még azelőtt megszakíthatok, mielőtt a 9 tárolás vezérlő egység bármilyen jelet küldene a 17 fő memóriához, így a 17 fő memória folytathatja normális működését és műveleteit.
A 8. ábrán olyan idődiagramot tüntettünk fel, amely azt mutatja be, hogy a találmány szerinti egyedi port a 15 L2 cache tár valamint az 1 szuperskaláris processzor modul között miképpen tudja az adatokat és utasításokat gyorsabban továbbítani, mint azt a hagyományos rendszereknél láttuk. Ezen túl a 8. ábrán az is látható, hogyan tudjuk a memória hozzáférést még azelőtt leállítani, mielőtt a 9 tárolás vezérlő egység bármilyen jelet küldene el a 17 fő memóriához L2 cache tár találat esetén.
Az első jelciklusban valamelyik feldolgozó egység, például a 7 fixpontos egység vagy a 4 elágazgató egység újratöltés kérelmet bocsát ki a 6 processzor buszra, minek hatására a processzor busz érvényes jel aktiválódik. A 6 processzor busz ezt a kérelem jelet továbbítja a 9 tárolás vezérlő egységnek. A második jelciklusban a 9 tárolás vezérlő egység a kért információ címét betölti és kiolvassa a 10 L2 cache tár könyvtárat, hogy elvégezze abban a szükséges keresést. A 10 L2 cache tár könyvtár könyvtáijelzőjét ezután összehasonlítja a 6 processzor buszon elküldött tényleges cím megfelelő bitjeivel (a 3. ábrán látható 57 összehasonlító egységet használva), hogy meghatározza, vajon cache tár találat vagy cache tár kimaradás történt. Ezzel párhuzamosan még a második jelciklusban memória hozzáférési műveletek kezdődnek meg a 9 tárolás vezérlő egységben. A második jelciklusban lezajlik eközben a memória lefoglalás valamint a memória DRAM sor/oszlop cím generálás is. Ebben az esetben L2 cache tár találat történt, ezért aktiváljuk a STOP_MEMORY jelet, hogy elkerüljük a memória műveletek tényleges megkezdését. Ez a STOP_MEMORY jel letiltja, hogy a 9 tárolás vezérlő egység memória sor/oszlop címet állítson elő, valamint a memória sor cím kapujel és oszlop cím kapujel sem jut el a 17 fő memóriához (lásd a 6. ábrát).
A negyedik ciklusban a 9 tárolás vezérlő egység megkezdi a 15 L2 cache tár kiolvasási hozzáférését oly módon, hogy aktiválja a 15 L2 cache tár áramkör engedélyező jelét, és az L2 címet megadja a 15 L2 cache tárnak. Az ötödik ciklusban kezdődően a 15 L2 cache tárban lévő információ rákerül a 2 újratöltő buszra és eljut az információt kérő feldolgozó egységhez, azaz az említett esetben a 7 fixpontos egységhez (lásd a 2. ábrát). Ha összehasonlítjuk a 7. és 8. ábrát látható, hogy a hagyományos hierarchikus felépítésű memória ···· ···· • · · · ·
-21 rendszernek hét jelciklusra van szüksége ahhoz, hogy az információt előhívja az L2 cache tárból a találmány szerinti rendszer pedig ehhez mindössze öt jelciklust igényel, így lényeges feldolgozási időt takarít meg. Ez a megtakarítás annak köszönhető, hogy a különálló L2 cache tár porton keresztül az adatok a 15 L2 cache tárból közvetlenül jutnak el az 1 szuperskaláris processzor modulhoz anélkül, hogy közbenső cache tár vezérlő áramkörön vagy hasonló áramkörön kellene áthaladnia.
Leírásunkban csupán néhány előnyös kiviteli alakot mutattunk be, amelyek kizárólag a találmány jobb megértését szolgálják és az igénypontokban megfogalmazott oltalmi körünkön belül számos módosítás és változtatás végrehajtható.

Claims (19)

  1. Szabadalmi igénypontok
    1. Számítógép rendszer, amely jelfeldolgozó egységet, külső cache tárat és fő memóriát tartalmaz, azzal jellemezve, hogy a jelfeldolgozó egység által kért információnak a külső cache tárban vagy fő memóriában való meglétét meghatározó eszköze valamint a kért információt a külső cache tárból vagy a fő memóriából közvetlenül a jelfeldolgozó egységhez továbbító eszköze van.
  2. 2. Az 1. igénypont szerinti számítógép rendszer, azzal jellemezve, hogy a továbbító eszköz a kért információt a külső cache tárból vagy a fő memóriából közvetlenül a jelfeldolgozó egységben lévő legalább egy végrehajtó egységhez továbbító eszközt tartalmaz.
  3. 3. A 2. igénypont szerinti számítógép rendszer, azzal jellemezve, hogy a továbbító eszköznek az információt a külső cache tárból fogadó első eszköze, valamint az információt a fő memóriából fogadó második eszköze van.
  4. 4. A 3. igénypont szerinti számítógép rendszer, azzal jellemezve, hogy az első eszköz az információt a külső cache tárból közvetlenül a jelfeldolgozó egységhez továbbító cache tár buszt, az információt a külső cache tárból a jelfeldolgozó egységbe betároló eszközt, valamint a külső cache tárból származó információhoz a legalább egy végrehajtó egység révén hozzáférő eszközt tartalmaz.
  5. 5. A 3. igénypont szerinti számítógép rendszer, azzal jellemezve, hogy a második eszköz az információt a fo memóriából közvetlenül a jelfeldolgozó egységhez továbbító memória buszt, az információt a fo memóriából a jelfeldolgozó egységbe betároló eszközt valamint a memóriából származó információhoz a legalább egy végrehajtó egység révén hozzáférő eszközt tartalmaz.
  6. 6. Az 5. igénypont szerinti számítógép rendszer, azzal jellemezve, hogy az információ adat információt és utasítás információt tartalmaz.
  7. 7. A 6. igénypont szerinti számítógép rendszer, azzal jellemezve, hogy az első eszköznek és a második eszköznek az adat információt a jelfeldolgozó egységen belül kialakított adat cache egységben eltároló eszköze, valamint az utasítás információt a jelfeldolgozó egységen belül kialakított utasítás cache tár egységben eltároló eszköze van.
    -23
  8. 8. A 7. igénypont szerinti számítógép rendszer, azzal jellemezve, hogy az első eszköznek és a második eszköznek az adat információt annak a legalább egy végrehajtó egységhez való közvetlen rendelkezésre bocsátása során a belső adat cache egységben egyidejűleg eltároló eszköze valamint az utasítás információt annak a legalább egy végrehajtó egységhez való közvetlen rendelkezésre bocsátása során a belső utasítás cache egységben egyidejűleg eltároló eszköze van.
  9. 9. A 2. igénypont szerinti számítógép rendszer, azzal jellemezve, hogy az eszköznek a jelfeldolgozó egységen belül kialakított belső cache tárat megkerülő eszköze van.
  10. 10. Az 1. igénypont szerinti számítógép rendszer, azzal jellemezve, hogy a meghatározó eszköznek az információnak a külső cache tárból való előhívására valamint a fő memóriából való előhívására vonatkozó kérelmet egyidejűleg kezdeményező eszköze, az információnak a külső cache tárban való meglétét meghatározó eszköze, és az információnak a fő memóriából való előhívására vonatkozó kérelmet az információnak a külső cache tárban való megléte esetén még a jelfeldolgozó egység által kibocsátott bármilyen memória hozzáférés művelet előtt megszakító eszköze van.
  11. 11. Eljárás egy számítógép rendszer jelfeldolgozó egysége és egy külső cache tár és fő memória közötti információ átvitelére, azzal jellemezve, hogy meghatározzuk a jelfeldolgozó egység által kért információnak a külső cache tárban vagy fő memóriában való meglétét, valamint a kért információt a külső cache tárból vagy a fő memóriából közvetlenül a jelfeldolgozó egységhez továbbítjuk.
  12. 12. A 11. igénypont szerinti eljárás azzal jellemezve, hogy a kért információt a külső cache tárból vagy a fő memóriából közvetlenül a jelfeldolgozó egységben lévő legalább egy végrehajtó egységhez továbbítjuk.
  13. 13. A 12. igénypont szerinti eljárás azzal jellemezve, hogy az információt a külső cache tárból, valamint a fő memóriából is fogadjuk.
  14. 14. A 13. igénypont szerinti eljárás azzal jellemezve, hogy az információt a külső cache tárból közvetlenül a jelfeldolgozó egységhez továbbítjuk, abba betároljuk, valamint a külső cache tárból származó információhoz a legalább egy végrehajtó egység révén férünk hozzá.
    ···· ····
    -2415. A 13. igénypont szerinti eljárás azzal jellemezve, hogy az információt a fő memóriából közvetlenül a jelfeldolgozó egységhez továbbítjuk, abba betároljuk, valamint a memóriából származó információhoz a legalább egy végrehajtó egység révén férünk hozzá.
  15. 16. A 15. igénypont szerinti eljárás azzal jellemezve, hogy az információ adat információt és utasítás információt tartalmaz.
  16. 17. A 16. igénypont szerinti eljárás azzal jellemezve, hogy az adat információt a jelfeldolgozó egységen belül kialakított adat cache egységben tároljuk el, valamint az utasítás információt a jelfeldolgozó egységen belül kialakított utasítás cache tár egységben tároljuk el.
  17. 18. A 17. igénypont szerinti eljárás azzal jellemezve, hogy az adat információt annak a legalább egy végrehajtó egységhez való közvetlen rendelkezésre bocsátása során a belső adat cache egységben egyidejűleg eltároljuk és az utasítás információt annak a legalább egy végrehajtó egységhez való közvetlen rendelkezésre bocsátása során a belső utasítás cache egységben egyidejűleg tároljuk el.
  18. 19. A 12. igénypont szerinti eljárás azzal jellemezve, hogy a továbbítás során a jelfeldolgozó egységen belül kialakított belső cache tárat megkerüljük.
  19. 20. A 11. igénypont szerinti eljárás azzal jellemezve, hogy a meghatározás során az információnak a külső cache tárból való előhívására valamint a fő memóriából való előhívására vonatkozó kérelmet egyidejűleg kezdeményezzük, meghatározzuk az információnak a külső cache tárban való meglétét, és az információnak a fő memóriából való előhívására vonatkozó kérelmet az információnak a külső cache tárban való megléte esetén még a jelfeldolgozó egység által kibocsátott bármilyen memória hozzáférés művelet előtt megszakítjuk.
HU9603142A 1994-05-19 1994-12-27 Computer system, as well as method of transmitting information from the external cache and the main memory to the processor of the computer system HUT76241A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/245,786 US6226722B1 (en) 1994-05-19 1994-05-19 Integrated level two cache and controller with multiple ports, L1 bypass and concurrent accessing

Publications (2)

Publication Number Publication Date
HU9603142D0 HU9603142D0 (en) 1997-01-28
HUT76241A true HUT76241A (en) 1997-07-28

Family

ID=22928068

Family Applications (1)

Application Number Title Priority Date Filing Date
HU9603142A HUT76241A (en) 1994-05-19 1994-12-27 Computer system, as well as method of transmitting information from the external cache and the main memory to the processor of the computer system

Country Status (11)

Country Link
US (1) US6226722B1 (hu)
EP (1) EP0760133A1 (hu)
JP (1) JPH07319767A (hu)
KR (1) KR950033837A (hu)
CN (1) CN1089462C (hu)
BR (1) BR9502022A (hu)
CA (1) CA2142799A1 (hu)
CZ (1) CZ9603197A3 (hu)
HU (1) HUT76241A (hu)
PL (1) PL176554B1 (hu)
WO (1) WO1995032472A1 (hu)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181796A (ja) * 1998-12-14 2000-06-30 Nec Corp 情報処理装置
US6578110B1 (en) 1999-01-21 2003-06-10 Sony Computer Entertainment, Inc. High-speed processor system and cache memories with processing capabilities
US6484237B1 (en) * 1999-07-15 2002-11-19 Texas Instruments Incorporated Unified multilevel memory system architecture which supports both cache and addressable SRAM
US6625707B2 (en) * 2001-06-25 2003-09-23 Intel Corporation Speculative memory command preparation for low latency
US6643165B2 (en) 2001-07-25 2003-11-04 Nantero, Inc. Electromechanical memory having cell selection circuitry constructed with nanotube technology
US6574130B2 (en) * 2001-07-25 2003-06-03 Nantero, Inc. Hybrid circuit having nanotube electromechanical memory
US6919592B2 (en) * 2001-07-25 2005-07-19 Nantero, Inc. Electromechanical memory array using nanotube ribbons and method for making same
US6706402B2 (en) * 2001-07-25 2004-03-16 Nantero, Inc. Nanotube films and articles
US7566478B2 (en) * 2001-07-25 2009-07-28 Nantero, Inc. Methods of making carbon nanotube films, layers, fabrics, ribbons, elements and articles
US6835591B2 (en) * 2001-07-25 2004-12-28 Nantero, Inc. Methods of nanotube films and articles
US6789169B2 (en) * 2001-10-04 2004-09-07 Micron Technology, Inc. Embedded DRAM cache memory and method having reduced latency
US7176505B2 (en) * 2001-12-28 2007-02-13 Nantero, Inc. Electromechanical three-trace junction devices
US6784028B2 (en) 2001-12-28 2004-08-31 Nantero, Inc. Methods of making electromechanical three-trace junction devices
KR100541366B1 (ko) * 2002-07-19 2006-01-16 주식회사 하이닉스반도체 고속 데이터 억세스를 위한 디램
US6892281B2 (en) * 2002-10-03 2005-05-10 Intel Corporation Apparatus, method, and system for reducing latency of memory devices
US7467377B2 (en) * 2002-10-22 2008-12-16 Intel Corporation Methods and apparatus for compiler managed first cache bypassing
US6941421B2 (en) * 2002-10-29 2005-09-06 International Business Machines Corporation Zero delay data cache effective address generation
US20040221117A1 (en) * 2003-05-02 2004-11-04 Shelor Charles F. Logic and method for reading data from cache
US20060248287A1 (en) * 2005-04-29 2006-11-02 Ibm Corporation Methods and arrangements for reducing latency and snooping cost in non-uniform cache memory architectures
US7444473B1 (en) * 2005-06-17 2008-10-28 Sun Microsystems, Inc. Speculative memory accesses in a proximity communication-based off-chip cache memory architecture
US7562190B1 (en) 2005-06-17 2009-07-14 Sun Microsystems, Inc. Cache protocol enhancements in a proximity communication-based off-chip cache memory architecture
US7496712B1 (en) 2005-06-17 2009-02-24 Sun Microsystems, Inc. Proximity communication-based off-chip cache memory architectures
US20070130114A1 (en) * 2005-06-20 2007-06-07 Xiao-Feng Li Methods and apparatus to optimize processing throughput of data structures in programs
US7596661B2 (en) * 2005-09-01 2009-09-29 Mediatek Inc. Processing modules with multilevel cache architecture
US8055847B2 (en) * 2008-07-07 2011-11-08 International Business Machines Corporation Efficient processing of data requests with the aid of a region cache
JP5118731B2 (ja) 2010-08-12 2013-01-16 株式会社東芝 キャッシュユニット及びプロセッシングシステム
US10474584B2 (en) * 2012-04-30 2019-11-12 Hewlett Packard Enterprise Development Lp Storing cache metadata separately from integrated circuit containing cache controller
US9405687B2 (en) * 2013-11-04 2016-08-02 Intel Corporation Method, apparatus and system for handling cache misses in a processor
KR102161689B1 (ko) * 2013-12-10 2020-10-05 삼성전자 주식회사 L2 캐시 특성을 조절할 수 있는 멀티-코어 cpu 시스템, 이의 동작 방법, 및 이를 포함하는 장치들
CN105701040B (zh) * 2014-11-28 2018-12-07 杭州华为数字技术有限公司 一种激活内存的方法及装置
US9658963B2 (en) * 2014-12-23 2017-05-23 Intel Corporation Speculative reads in buffered memory
JP6367704B2 (ja) * 2014-12-25 2018-08-01 株式会社バイオス 記憶制御システム及び記憶制御装置
JP6478843B2 (ja) * 2015-07-07 2019-03-06 ルネサスエレクトロニクス株式会社 半導体装置及びキャッシュメモリ制御方法
US11055221B2 (en) * 2019-03-22 2021-07-06 Samsung Electronics Co., Ltd. Speculative DRAM read, in parallel with cache level search, leveraging interconnect directory
US11288067B2 (en) 2019-05-24 2022-03-29 Texas Instruments Incorporated Vector reverse
US11422947B2 (en) * 2020-08-12 2022-08-23 International Business Machines Corporation Determining page size via page table cache

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3896419A (en) * 1974-01-17 1975-07-22 Honeywell Inf Systems Cache memory store in a processor of a data processing system
US4161024A (en) 1977-12-22 1979-07-10 Honeywell Information Systems Inc. Private cache-to-CPU interface in a bus oriented data processing system
US4823259A (en) * 1984-06-29 1989-04-18 International Business Machines Corporation High speed buffer store arrangement for quick wide transfer of data
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache
US5202972A (en) * 1988-12-29 1993-04-13 International Business Machines Corporation Store buffer apparatus in a multiprocessor system
US5155828A (en) * 1989-07-05 1992-10-13 Hewlett-Packard Company Computing system with a cache memory and an additional look-aside cache memory
US5214765A (en) * 1989-08-31 1993-05-25 Sun Microsystems, Inc. Method and apparatus for executing floating point instructions utilizing complimentary floating point pipeline and multi-level caches
US5261066A (en) * 1990-03-27 1993-11-09 Digital Equipment Corporation Data processing system and method with small fully-associative cache and prefetch buffers
US5210845A (en) * 1990-11-28 1993-05-11 Intel Corporation Controller for two-way set associative cache
US5345576A (en) * 1991-12-31 1994-09-06 Intel Corporation Microprocessor simultaneously issues an access to an external cache over an external cache bus and to an internal cache, cancels the external cache access on an internal cache hit, and reissues the access over a main memory bus on an external cache miss

Also Published As

Publication number Publication date
BR9502022A (pt) 1996-01-30
CZ9603197A3 (cs) 2002-06-12
PL316998A1 (en) 1997-03-03
EP0760133A1 (en) 1997-03-05
US6226722B1 (en) 2001-05-01
JPH07319767A (ja) 1995-12-08
CN1123933A (zh) 1996-06-05
CN1089462C (zh) 2002-08-21
KR950033837A (ko) 1995-12-26
HU9603142D0 (en) 1997-01-28
CA2142799A1 (en) 1995-11-20
WO1995032472A1 (en) 1995-11-30
PL176554B1 (pl) 1999-06-30

Similar Documents

Publication Publication Date Title
HUT76241A (en) Computer system, as well as method of transmitting information from the external cache and the main memory to the processor of the computer system
US6151658A (en) Write-buffer FIFO architecture with random access snooping capability
US5265236A (en) Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
US6185660B1 (en) Pending access queue for providing data to a target register during an intermediate pipeline phase after a computer cache miss
US6728823B1 (en) Cache connection with bypassing feature
US5848432A (en) Data processor with variable types of cache memories
US5696937A (en) Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses
US20050146944A1 (en) Memory module and method having on-board data search capabilities and processor-based system using such memory modules
US5845324A (en) Dual bus network cache controller system having rapid invalidation cycles and reduced latency for cache access
US4930106A (en) Dual cache RAM for rapid invalidation
US4967350A (en) Pipelined vector processor for executing recursive instructions
KR20080036940A (ko) 파이프라인 구조를 갖는 캐시 메모리 및 이를 제어하는방법
US5717892A (en) Selectively operable cache memory
US6021467A (en) Apparatus and method for processing multiple cache misses to a single cache line
US5283890A (en) Cache memory arrangement with write buffer pipeline providing for concurrent cache determinations
US20020099910A1 (en) High speed low power cacheless computer system
KR960007833B1 (ko) 고속 페이지 모드 선택을 위한 방법 및 장치
US6477613B1 (en) Cache index based system address bus
KR0128272B1 (ko) 보조 메모리를 포함하는 정보 처리 시스템 및 그 동작 방법
JP2719852B2 (ja) 半導体記憶装置およびそれからのデータ読出方法
US5012410A (en) Data processor with instruction cache memory
EP0437712B1 (en) Tandem cache memory
CA2044207C (en) Memory access control having commonly shared pipeline structure
US6671781B1 (en) Data cache store buffer
JPH117410A (ja) キャッシュ装置

Legal Events

Date Code Title Description
DFD9 Temporary prot. cancelled due to non-payment of fee