專利名稱:在計(jì)算機(jī)系統(tǒng)里訪問包括目錄結(jié)構(gòu)的主存儲器內(nèi)容的方法和裝置的制作方法
技術(shù)領(lǐng)域:
籠統(tǒng)地說,本發(fā)明涉及在計(jì)算機(jī)系統(tǒng)里訪問存儲器的方法,具體而言,本發(fā)明涉及一種系統(tǒng)和方法,用來讓計(jì)算機(jī)處理器和CPU(中央處理單元)訪問主存儲器系統(tǒng)的數(shù)據(jù)內(nèi)容,其中對主存儲器的訪問是利用儲存在主存儲器里的目錄結(jié)構(gòu)通過硬件翻譯實(shí)地址而實(shí)現(xiàn)的。
背景技術(shù):
在計(jì)算機(jī)系統(tǒng)的主存儲器里采用數(shù)據(jù)壓縮技術(shù),從而使每一高速緩存線(cache line)都得到壓縮以后才存入主存儲器,這種技術(shù)在計(jì)算機(jī)結(jié)構(gòu)學(xué)領(lǐng)域正方興未艾。結(jié)果是,在不使用主存儲器壓縮技術(shù)的傳統(tǒng)計(jì)算機(jī)系統(tǒng)里,在主存儲器里占據(jù)統(tǒng)一固定大小的高速緩存線,在使用了存儲器壓縮技術(shù)以后,占據(jù)的是大小可變的存儲器空間。在美國專利第5761536號和標(biāo)題為“壓縮存儲訪問”的共同未決的美國專利申請第08/603976號里,可以找到在主存儲器里有效地儲存并訪問可變大小高速緩存線的技術(shù),這項(xiàng)專利和這項(xiàng)專利申請都轉(zhuǎn)讓給了本發(fā)明的受讓人。這種技術(shù)還可以在國際商用機(jī)器公司(IBM)華生(Watson)研究中心的RC 21146號IBM研究報告里找到,這份報告是P.Franaszek和J.Robinson在1998年3月30日完成的,其標(biāo)題為“壓縮隨機(jī)存取存儲器(RAM)內(nèi)部結(jié)構(gòu)的設(shè)計(jì)和分析”。
有效地儲存和訪問可變大小高速緩存線的技術(shù)需要使用目錄結(jié)構(gòu),其中將計(jì)算機(jī)系統(tǒng)的CPU(或處理器)產(chǎn)生的真實(shí)存儲器地址作為索引加入目錄里,以后就用它來尋找包括壓縮數(shù)據(jù)的主存儲器內(nèi)容。現(xiàn)在參考
圖1~3來介紹壓縮主存儲器系統(tǒng)和目錄結(jié)構(gòu)的一個實(shí)例。
圖1說明使用壓縮主存儲器的計(jì)算機(jī)系統(tǒng)實(shí)例的總體結(jié)構(gòu)。CPU102從高速緩存104里讀取數(shù)據(jù)并將數(shù)據(jù)寫入其中。高速緩存則利用一個壓縮控制器106從壓縮主存儲器108讀取數(shù)據(jù)并將數(shù)據(jù)寫入其中。
圖2更詳細(xì)地說明圖1中高速緩存104、壓縮控制器106的部件和壓縮主存儲器108的結(jié)構(gòu)。壓縮主存儲器是用普通RAM存儲器M 210來實(shí)現(xiàn)的,它被用來儲存目錄D 220和許多大小固定的塊230。高速緩存240通常是用用于一組高速緩存線248的高速緩存目錄245來實(shí)現(xiàn)的。壓縮控制器106包括一個解壓縮器250,用來讀取壓縮了的線,還包括一個壓縮器260用來寫入壓縮線。每一高速緩存線都與某一個真實(shí)存儲器地址270有關(guān)。然而,跟普通存儲器不同,地址270并不指向存儲器M 210里的一個地址;相反,地址270用于查找目錄D 220里的索引。每一目錄項(xiàng)都包括用來檢索相關(guān)高速緩存線的信息(圖3里有更詳細(xì)的說明)。例如,與地址A1 271有關(guān)的線1的目錄項(xiàng)221是用于這種線的,它已經(jīng)壓縮到如此程度以至于能夠?qū)⑺麄€地儲存在目錄項(xiàng)里;與地址A2 272有關(guān)的線2的目錄項(xiàng)222是用于這種線的,它是用壓縮格式用整個第一塊231和第二塊232的一部分來儲存的;最后,分別與地址A3 273和A4 274有關(guān)的線3和線4的目錄項(xiàng)223和224適用于這種線的,它用壓縮格式儲存在許多整塊(線3的塊233、234和線4的塊235)里,這兩個壓縮線3和4的剩余部分合并儲存在塊236里。
圖3說明目錄項(xiàng)格式的一些實(shí)例。在這一實(shí)例里,假定圖2的塊230的大小為256字節(jié),圖2的高速緩存線248的大小為1024字節(jié)。這意味著線可以用一種非壓縮格式存入4個塊中。對于這一實(shí)例,目錄項(xiàng)的大小是16字節(jié),其中第一字節(jié)由若干標(biāo)志位組成;第一個字節(jié)305的內(nèi)容決定了目錄項(xiàng)其余部分的格式。標(biāo)志位301規(guī)定線是用壓縮格式還使用非壓縮格式儲存的;如果是用非壓縮格式儲存的,就用線1 310來解釋目錄項(xiàng)的其余部分,其中4個30比特地址給出儲存了線的4個塊的存儲器地址。如果是用壓縮格式儲存的,標(biāo)志位302就說明壓縮線是不是整個儲存在目錄項(xiàng)里;如果是這樣,目錄項(xiàng)的格式就是線3 330,其中儲存的是多達(dá)120位的壓縮數(shù)據(jù)。否則,對于長度超過120位的壓縮線,就可以采用線1310或者線2 320的格式。如果用的是線1 310的格式,另一個標(biāo)志位303就標(biāo)明儲存壓縮線所用的塊數(shù),從1個到4個30位地址說明這些塊的位置;最后是4個碎塊信息位304,說明最后一塊里儲存的壓縮線的剩余部分即碎片的大小(以32字節(jié)為單位),以及一個標(biāo)志位說明碎片是儲存在這一塊的開頭還是末尾。目錄項(xiàng)320說明的是另一種格式,其中部分壓縮線儲存在目錄項(xiàng)里(以減少解壓縮等待時間);在這種情況下,目錄項(xiàng)里只儲存了壓縮線其余部分的第一塊和最后一塊的地址,插入其間的塊(如果有的話)則用鏈接表技術(shù)來尋址,也就是說,如果需要,每一儲存壓縮線的塊都有一個指針字段,其中包括的是儲存該壓縮線的下一塊的地址。
相反,在不用壓縮主存儲器的傳統(tǒng)計(jì)算機(jī)系統(tǒng)里,主存儲器地址直接使用真實(shí)存儲器地址。在壓縮主存儲器系統(tǒng)里,從目錄到包括壓縮高速緩存線內(nèi)容的數(shù)據(jù)的映射,是用壓縮控制器硬件自動進(jìn)行的,對處理器來說這一目錄是“不可見的”;也就是說,處理器根本不可能(用傳統(tǒng)的處理器結(jié)構(gòu))訪問目錄內(nèi)容。但是有許多理由要求提供這種訪問。一種途徑是改變處理器結(jié)構(gòu),使得例如其訪問模式能夠繞過壓縮控制器硬件,并允許直接檢查主存儲器的內(nèi)容。雖然這種途徑解決了這一問題,但是很顯然它有若干缺點(diǎn),例如,在這種方式中,無法使用采用現(xiàn)行處理器結(jié)構(gòu)的“現(xiàn)貨”處理器。
即使假定有另一種尋址模式,可以把它叫做“R=P”(實(shí)地址=物理地址)模式,它能繞過利用目錄結(jié)構(gòu)從真實(shí)存儲器地址到物理存儲器位置的硬件翻譯,這另一種尋址模式也存在著以下難題切換到這一模式以后,計(jì)算機(jī)系統(tǒng)所有高速緩存級的所有高速緩存內(nèi)容都變成了無效數(shù)據(jù),因?yàn)檎2僮髦械母咚倬彺鎯?nèi)容反映的主存儲器內(nèi)容是用目錄結(jié)構(gòu)從真實(shí)存儲器地址到物理位置的翻譯來尋址的。因此,為了切換到這一模式,所有修改過的高速緩存級的高速緩存線都必須首先強(qiáng)行寫入主存儲器,然后必須將所有高速緩存級的所有高速緩存線全都標(biāo)為無效。必須用一個相似的過程才能從R=P模式正確地切換回來。因此,在R=P模式和普通尋址模式之間進(jìn)行切換意味著相等大的處理時間開銷。此外,在多處理器系統(tǒng)里,當(dāng)一個處理器工作于R=P模式而其余處理器工作于普通尋址模式時,在高速緩存一致性協(xié)議方面將出現(xiàn)大量的問題。
因此非常需要一種裝置和方法,用來在間接尋址主存儲器結(jié)構(gòu)里,以及在其它應(yīng)用中的間接尋址主存儲器結(jié)構(gòu)(例如容錯主存儲器設(shè)計(jì))里,讓處理器和CPU對壓縮主存儲器系統(tǒng)的目錄結(jié)構(gòu)進(jìn)行直接尋址。
此外,非常需要一種系統(tǒng)和方法,用來讓處理器對壓縮存儲器系統(tǒng)里的主存儲器內(nèi)容進(jìn)行直接尋址,而不必改變現(xiàn)有處理器的結(jié)構(gòu),也不需要引入新的尋址模式。
發(fā)明簡述本發(fā)明提供一種兩級目錄結(jié)構(gòu)和尋址方式,在主存儲器分級結(jié)構(gòu)里的最低級是直接尋址的系統(tǒng)里,它允許處理器或CPU對用于壓縮主存儲器(和/或容錯存儲器)的目錄結(jié)構(gòu)進(jìn)行直接尋址。具體而言,采用的第二級目錄項(xiàng)指向包括(第一級)目錄的存儲器塊,從而允許直接檢查目錄內(nèi)容,用于硬件排錯和性能監(jiān)測。它還支持靈活的設(shè)計(jì),從而使處理器可以用軟件管理存儲器內(nèi)容(跟純硬件存儲器管理相對應(yīng)),這樣可以降低壓縮主存儲器或容錯存儲器系統(tǒng)的成本。
另外,本發(fā)明的第二級目錄占用的是一部分邏輯存儲器,它是位于一組給定存儲器地址處的一部分存儲器,但不是說它本身包括在存儲器里。也就是說,引用一組存儲器地址的結(jié)果是由硬件裝置確定的,這一硬件裝置計(jì)算出每一個這種邏輯存儲器地址的邏輯內(nèi)容。
附圖簡述通過參考后面的描述、權(quán)利要求和附圖,可以更好地理解本發(fā)明的裝置和方法各個方面的各種特點(diǎn)和優(yōu)點(diǎn)。
圖1說明用來實(shí)現(xiàn)壓縮主存儲器的一個普通計(jì)算機(jī)系統(tǒng);圖2說明一種傳統(tǒng)壓縮主存儲器系統(tǒng)的結(jié)構(gòu);圖3說明的是圖2所示壓縮主存儲器系統(tǒng)中目錄項(xiàng)格式的實(shí)例;圖4說明的是本發(fā)明第一個實(shí)施方案里,訪問壓縮主存儲器內(nèi)容的裝置;圖5說明的是本發(fā)明第二個實(shí)施方案里,訪問壓縮主存儲器內(nèi)容的裝置;圖6說明訪問計(jì)算機(jī)系統(tǒng)的壓縮主存儲器內(nèi)容的硬件方式。
發(fā)明詳述現(xiàn)在更詳細(xì)地介紹本發(fā)明中訪問壓縮主存儲器系統(tǒng)目錄結(jié)構(gòu)的一種方法。參考圖1和圖2,在向高速緩存104寫入數(shù)據(jù)時,顯然壓縮控制器106利用目錄D 220(圖2)將CPU 102(圖1)產(chǎn)生的實(shí)地址翻譯過來,用來訪問目錄項(xiàng)里的壓縮數(shù)據(jù)、一個或多個塊230里的壓縮數(shù)據(jù)或者塊230里的未壓縮數(shù)據(jù)。因此,如上所述,沒有任何辦法讓CPU訪問包含目錄D 220的那部分存儲器M 210。
在本發(fā)明的第一個實(shí)施方案里,如圖4所示,訪問D 220的一種方法是使用第二級目錄D2 410,它包括許多目錄項(xiàng),這些目錄項(xiàng)的格式允許訪問采用未壓縮格式的所有D 220。也就是說,在每一個這種目錄項(xiàng)里,圖3所示目錄項(xiàng)里的壓縮標(biāo)志301被設(shè)置成“未壓縮的”,而且4個地址塊310指向D 220中一串4個連續(xù)的存儲器塊。利用目錄項(xiàng)格式、圖3所示實(shí)例里的塊大小之類,每一目錄項(xiàng)都支持訪問1024字節(jié),目錄項(xiàng)的大小是16字節(jié),因此,每一個第二級目錄項(xiàng)都支持訪問D 220中的1024/16=64個目錄項(xiàng)。這用圖4進(jìn)行說明,其中對應(yīng)于地址A0 414的D2 410目錄項(xiàng)412支持訪問D220中的64個連續(xù)目錄項(xiàng)420,對應(yīng)于地址A1~A64(430)。因此,CPU 102可以通過地址A0 414訪問包括了對應(yīng)于地址A1-A64(430)的目錄項(xiàng)的1024字節(jié)存儲器。
前面的實(shí)例說明的是第一級目錄D 220的一種靜態(tài)目錄結(jié)構(gòu),也就是說D包括預(yù)先分配的一個連續(xù)存儲區(qū)。壓縮主存儲器系統(tǒng)的另一種方式是采用一種動態(tài)目錄結(jié)構(gòu),例如通過分配一個256字節(jié)的塊230用作16個額外的16字節(jié)目錄項(xiàng)而不是作為數(shù)據(jù)(它支持訪問16kB數(shù)據(jù),也就是說4個4 kB頁,這4 kB是許多流行計(jì)算機(jī)系統(tǒng)所用的頁的大小),其中的目錄可以增長。用這種方式支持訪問額外的存儲器時,利用允許改變總的邏輯主存儲器大小的操作系統(tǒng),通過修改操作系統(tǒng)的頁表將這一點(diǎn)記錄下來。另外,還可以通過釋放包括目錄項(xiàng)的塊230和適當(dāng)?shù)匦薷捻摫?,來縮小邏輯主存儲器的尺寸。在這種方式中,目錄D 220不必位于事先知道的給定存儲器區(qū)域,而是可以占據(jù)整個主存儲器M 210中任意位置上的一些塊。在此情形,為了支持訪問第一級目錄,圖5說明了本發(fā)明的第二種方法。在圖5所示的系統(tǒng)里,D2 510用來支持直接訪問整個存儲器,效果上就是繞過第一級目錄和壓縮/解壓縮。圖5說明整個存儲器,它包括第一部分D2510,這一部分包括若干個目錄項(xiàng),例如16字節(jié)目錄項(xiàng);它還包括第二部分M2,這一部分包括若干存儲區(qū),例如每一個存儲區(qū)都有1024字節(jié)。如圖所示,對應(yīng)于地址A0 531的目錄項(xiàng)541用于對地址A3 534處的第一個1024字節(jié)存儲器544進(jìn)行訪問;對應(yīng)于地址A1 532的目錄項(xiàng)542用于對地址A4 535處的1024字節(jié)存儲器545進(jìn)行訪問;對應(yīng)于地址A2 533的目錄項(xiàng)543用于對地址A5 536處的最后1024字節(jié)存儲器546進(jìn)行訪問。
如前所述,第二級目錄可以用常規(guī)RAM來實(shí)現(xiàn),其中第二級目錄的內(nèi)容在系統(tǒng)引導(dǎo)過程中就載入,或者用ROM來實(shí)現(xiàn)(因?yàn)榈诙壞夸浀膬?nèi)容并不改變)。此外,對第二級目錄的存儲器訪問結(jié)果可以用專用硬件計(jì)算出來,如圖6所示。在這一實(shí)例中,假定使用的是圖5所示的方法;而且圖3說明了所采用的目錄項(xiàng)格式。參考圖6,將一個“模板”目錄項(xiàng)載入只讀寄存器602,其中的標(biāo)志數(shù)據(jù)段610包括未壓縮的位組,而且載入塊地址段612、613、614、615時,同時載入了地址A3 534處第一個1024字節(jié)存儲區(qū)544(見圖5)中的4個連續(xù)256字節(jié)塊的地址。假定存儲器地址A 605的間隔尺寸是16字節(jié);也就是說,A+1指的是下一個16字節(jié)入口,等等(對于這一實(shí)例,為簡單起見,假定第一個第二級目錄項(xiàng)的地址是A=0;對其它基地址的修改方法不言自明。既然每一個連續(xù)的第二級目錄項(xiàng)都指向4個連續(xù)的塊,就必須將A乘以4,這用一個移位寄存器630將地址A向左移動兩位來完成。然后利用加法器632、633、634、635將結(jié)果A’631跟“模板”目錄項(xiàng)的塊地址內(nèi)容相加,并載入存儲器輸出寄存器640的對應(yīng)段622、623、624、625。最后從目錄項(xiàng)“模板”標(biāo)志段610將標(biāo)志段620的內(nèi)容直接載入存儲器輸出寄存器640。這樣,這一實(shí)例說明了另一個實(shí)施方案,其中的第二級目錄不需要任何RAM也不需要任何ROM;取而代之,對第二級目錄的存儲器訪問結(jié)果是用硬件機(jī)制計(jì)算出來的。
在對最低級主存儲器的尋址是一種間接尋址的系統(tǒng)中,本發(fā)明支持處理器對用于實(shí)現(xiàn)壓縮主存儲器(和/或容錯存儲器)的目錄結(jié)構(gòu)進(jìn)行訪問。這種訪問支持對目錄內(nèi)容進(jìn)行檢查,用于硬件排錯和性能監(jiān)測。它使得某些設(shè)計(jì)變得非常合理,其中的處理器利用軟件來管理存儲器內(nèi)容(跟純硬件存儲器管理相反),從而降低壓縮主存儲器和容錯存儲器系統(tǒng)的成本。
雖然詳述是針對壓縮主存儲器系統(tǒng)中所使用的間接尋址主存儲器來進(jìn)行的,但應(yīng)當(dāng)明白,本發(fā)明還可以用于其它的間接尋址主存儲器。
盡管說明本發(fā)明時參考了說明性的實(shí)施方案,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)明白,可以對本發(fā)明在形式和內(nèi)容上進(jìn)行修改,而不會偏離本發(fā)明的范圍和實(shí)質(zhì)。本發(fā)明的范圍和實(shí)質(zhì)只由后面的權(quán)利要求進(jìn)行限定。
權(quán)利要求
1.一種具有一個CPU(中央處理單元)并采用主存儲器的計(jì)算機(jī)系統(tǒng),這里的主存儲器可以用它包括的第一個目錄結(jié)構(gòu)來訪問,其中利用所述第一個目錄結(jié)構(gòu)將CPU產(chǎn)生的真實(shí)存儲器地址翻譯成一個或多個物理存儲器位置;該計(jì)算機(jī)系統(tǒng)用來訪問第一個目錄結(jié)構(gòu)的內(nèi)容,第一個目錄結(jié)構(gòu)包括主存儲器提供的第二個目錄結(jié)構(gòu),這里的第二個目錄結(jié)構(gòu)包括一個或多個目錄項(xiàng),每一個目錄項(xiàng)都有一種結(jié)構(gòu),這種結(jié)構(gòu)支持訪問第一個目錄結(jié)構(gòu)中預(yù)定數(shù)量的目錄項(xiàng),這第二個目錄結(jié)構(gòu)可以響應(yīng)所述CPU產(chǎn)生的真實(shí)存儲器地址。
2.權(quán)利要求1的計(jì)算機(jī)系統(tǒng),其中的第一個目錄結(jié)構(gòu)包括預(yù)先分配的連續(xù)存儲器區(qū),第二個目錄結(jié)構(gòu)的每一個目錄項(xiàng)都支持對所述第一個目錄結(jié)構(gòu)中的多個連續(xù)目錄項(xiàng)進(jìn)行訪問。
3.權(quán)利要求1的計(jì)算機(jī)系統(tǒng),其中的主存儲器是一種壓縮存儲器。
4.權(quán)利要求2的計(jì)算機(jī)系統(tǒng),其中第一個目錄結(jié)構(gòu)的大小是固定的,在一組固定的存儲器位置上它有許多目錄項(xiàng)。
5.權(quán)利要求1的計(jì)算機(jī)系統(tǒng),其中CPU產(chǎn)生的真實(shí)存儲器地址是用壓縮控制器裝置來翻譯的。
6.權(quán)利要求1的計(jì)算機(jī)系統(tǒng),其中的第一個目錄項(xiàng)包括一個或多個標(biāo)志指示器,說明第一個目錄項(xiàng)剩余部分的數(shù)據(jù)格式。
7.權(quán)利要求6的計(jì)算機(jī)系統(tǒng),其中第一個目錄項(xiàng)里的第一個標(biāo)志指示器說明該目錄項(xiàng)里的數(shù)據(jù)是用壓縮方式還是用非壓縮方式儲存的。
8.權(quán)利要求7的計(jì)算機(jī)系統(tǒng),其中如果第一個標(biāo)志說明該目錄項(xiàng)里的數(shù)據(jù)是用壓縮格式儲存的,那么第二個標(biāo)志就說明壓縮數(shù)據(jù)是不是全部儲存在該目錄項(xiàng)里。
9.權(quán)利要求8的計(jì)算機(jī)系統(tǒng),其中如果第二個標(biāo)志說明壓縮數(shù)據(jù)不是全部存在該目錄項(xiàng)里,那么第三個標(biāo)志就說明剩余壓縮數(shù)據(jù)的多少。
10.一種具有一個CPU并采用存儲器的一個計(jì)算機(jī)系統(tǒng),這里的存儲器可以用包括在其中的第一個目錄結(jié)構(gòu)來訪問,其中CPU產(chǎn)生的真實(shí)存儲器地址是利用第一個目錄結(jié)構(gòu)翻譯成一個或多個物理存儲器位置的;計(jì)算機(jī)系統(tǒng)用于訪問所有存儲器,包括第二個目錄結(jié)構(gòu),該目錄結(jié)構(gòu)里有一個或多個目錄項(xiàng),每一目錄項(xiàng)的格式都支持對一個預(yù)定主存儲器段進(jìn)行訪問,第二個目錄允許直接訪問所述存儲器的所有內(nèi)容,包括第一個目錄結(jié)構(gòu)。
11.權(quán)利要求10的計(jì)算機(jī)系統(tǒng),其中第一個目錄結(jié)構(gòu)的尺寸是可變的。
12.權(quán)利要求10的計(jì)算機(jī)系統(tǒng),其中第二個目錄結(jié)構(gòu)是所述存儲器的一部分,而且第二個目錄結(jié)構(gòu)的內(nèi)容是在系統(tǒng)的引導(dǎo)過程中載入的。
13.權(quán)利要求10的計(jì)算機(jī)系統(tǒng),其中第二個目錄結(jié)構(gòu)包括ROM。
14.權(quán)利要求10的計(jì)算機(jī)系統(tǒng),其中CPU產(chǎn)生的真實(shí)存儲器地址是用壓縮控制器裝置來翻譯的。
15.權(quán)利要求10的計(jì)算機(jī)系統(tǒng),其中第一個目錄項(xiàng)包括一個或多個標(biāo)志指示器,說明該目錄項(xiàng)剩余部分的格式。
16.權(quán)利要求15的計(jì)算機(jī)系統(tǒng),其中第一個目錄項(xiàng)里的第一個標(biāo)志指示器說明該目錄項(xiàng)里的數(shù)據(jù)是用壓縮方式還是用非壓縮方式儲存的。
17.權(quán)利要求16的計(jì)算機(jī)系統(tǒng),其中如果第一個標(biāo)志說明該目錄項(xiàng)里的數(shù)據(jù)是用壓縮格式儲存的,那么第二個標(biāo)志就說明壓縮數(shù)據(jù)是不是全部儲存在該目錄項(xiàng)里。
18.權(quán)利要求17的計(jì)算機(jī)系統(tǒng),其中如果第二個標(biāo)志說明壓縮數(shù)據(jù)不是全部存在該目錄項(xiàng)里,那么第三個標(biāo)志就說明剩余壓縮數(shù)據(jù)的多少。
19.權(quán)利要求10的計(jì)算機(jī)系統(tǒng),其中第二個目錄結(jié)構(gòu)是用硬件機(jī)制來實(shí)現(xiàn)的,包括第一只讀寄存器裝置,其中載入了預(yù)定基地址目錄模板,該模板包括對應(yīng)于要訪問的所述存儲器里連續(xù)塊的塊地址段,每一個塊地址段都是按照預(yù)定尺寸來分隔的;從所述CPU接收存儲器地址用來訪問所述存儲器的裝置;按照所述預(yù)定間隔尺寸將所述地址跟一個預(yù)定數(shù)相乘的裝置;一個或多個加法器裝置,用來將地址作乘法運(yùn)算獲得的結(jié)果跟目錄模板中對應(yīng)的塊地址段相加;和一種存儲器輸出寄存器,用來接收所述加法運(yùn)算的連續(xù)結(jié)果,其中的存儲器輸出寄存器用來訪問所述存儲器里的一個存儲器位置。
20.權(quán)利要求19的計(jì)算機(jī)系統(tǒng),其中作乘法運(yùn)算的裝置包括一個移位裝置。
全文摘要
一種系統(tǒng),用來訪問一個計(jì)算機(jī)系統(tǒng)里目錄結(jié)構(gòu)的內(nèi)容,該計(jì)算機(jī)系統(tǒng)有一個CPU并通過存儲器里的第一個目錄結(jié)構(gòu)對主存儲器進(jìn)行間接尋址。在這一系統(tǒng)里,利用該目錄結(jié)構(gòu)將CPU產(chǎn)生的真實(shí)存儲器地址翻譯成一個或多個物理存儲器位置。主存儲器里有第二個目錄結(jié)構(gòu),它包括一個或多個目錄項(xiàng),每一個目錄項(xiàng)的格式都支持對第一個目錄結(jié)構(gòu)中預(yù)定數(shù)量目錄項(xiàng)的訪問?;蛘叩诙€目錄結(jié)構(gòu)可以訪問主存儲器的所有內(nèi)容,而且可以隨著主存儲器容量的變化而改變?;蛘呖梢杂糜布韺?shí)現(xiàn)第二個目錄結(jié)構(gòu),該硬件通過計(jì)算來得到主存儲器里要訪問的數(shù)據(jù)的地址。
文檔編號G06F12/02GK1260536SQ9912614
公開日2000年7月19日 申請日期1999年12月13日 優(yōu)先權(quán)日1999年1月12日
發(fā)明者P·A·弗拉納斯?jié)煽? J·T·羅賓森 申請人:國際商業(yè)機(jī)器公司