專利名稱:高速緩沖存儲器的目錄和控制裝置的制作方法
本發(fā)明涉及數(shù)據(jù)處理系統(tǒng),特別涉及用于控制高速緩沖存儲器的一種目錄,該高速緩沖存儲器為頻繁存取的存儲器的存儲單元提供局部存貯器。
高速緩沖存儲器是一種速度相當(dāng)高的小型的局部存儲器,用它來為頻繁存取容量較大速度較慢的主存貯器的存儲單元提供局部存儲器。通過局部貯存該信息或該信息的拷貝,高速緩沖存儲器能截取存貯器訪問并直接對其進(jìn)行處理而不需將該請求傳送到系統(tǒng)總線上的主存儲器。其結(jié)果是減小了存儲器總線上的通信量并縮短了在局部總線上請求處理機(jī)的等待時間。在一個多道處理系統(tǒng)中,若使用高速緩沖存儲器,則由于降低了每個處理機(jī)對系統(tǒng)總線帶寬的需要量提高了潛在的系統(tǒng)性能,因而使該系統(tǒng)能用更多的處理機(jī)。
具有一臺高速緩沖存貯器和由若干臺處理機(jī)共享的高速緩沖存貯器的目錄是有利的。在超大規(guī)模集成電路(VLSI)系統(tǒng)中能將所述高速緩沖存貯器配置成使其能依據(jù)該系統(tǒng)的組態(tài)而操縱一臺、兩臺或多臺處理機(jī)也是有利的。
因此,本發(fā)明的一個目的是提供一種高速緩沖存儲器的目錄和控制裝置,所述目錄能被分為兩個或更多個邏輯目錄,以便控制來自兩臺或更多臺處理機(jī)的請求。
本發(fā)明的另一目的是提供一種預(yù)取緩沖器和該預(yù)取緩沖器的控制裝置,后者使該緩沖器能被分為兩個或更多個邏輯通道,以便操縱與來自兩個或更多處理機(jī)的請求有關(guān)的高速緩沖存貯器的預(yù)取。
簡短地說,根據(jù)本發(fā)明的上述目的是這樣來實(shí)現(xiàn)的,即通過提供一種能被組態(tài)成多通路的高速緩沖存貯器的目錄,每路包括用于相聯(lián)檢索高速緩沖存儲器數(shù)據(jù)組地址目錄的標(biāo)記和有效位存儲器。一個高速緩沖存儲器的組態(tài)寄存器將所述高速緩沖存儲器目錄分成兩個或更多個能控制來自兩臺或更多臺處理機(jī)請求的邏輯目錄。
與一個預(yù)取緩沖器一起還裝備有一個預(yù)取控制寄存器,后者將所述預(yù)取緩沖器分成兩個或更多個邏輯通道。所述邏輯通道操縱與來自兩臺或更多臺處理機(jī)請求有關(guān)的高速緩沖存儲器的預(yù)取。
本發(fā)明的優(yōu)點(diǎn)在于單個高速緩沖存儲器目錄和控制裝置可被兩臺或更多臺處理機(jī)所共享,且能按照該系統(tǒng)中現(xiàn)有處理機(jī)數(shù)目進(jìn)行組態(tài)。
從以下對如附圖所示的本發(fā)明的最佳實(shí)施例的更具體的說照中將更清楚地了解本發(fā)明,附圖中圖1是包含本發(fā)明的一個雙機(jī)系統(tǒng)總線的多道處理系統(tǒng)的一個方塊圖;
圖2是包含本發(fā)明的一個總線擴(kuò)展部件的方塊圖;
圖3是圖2的高速緩沖存儲器目錄的方塊圖;
圖4是圖2所示I/O預(yù)取邏輯的一個更詳盡的方塊圖;和圖5是典型高速緩沖存儲器的填充操作的一個時間分配圖。
現(xiàn)參照圖1說明實(shí)現(xiàn)本發(fā)明的最好方式。圖1是一個雙機(jī)系統(tǒng)總線的多道處理系統(tǒng)的方塊圖??偩€擴(kuò)展部件(10,12,30,32)被連接到雙機(jī)系統(tǒng)總線(20,22)和局部總線(18,38)。局部總線提供至通道處理機(jī)(14,16)和通用數(shù)據(jù)處理機(jī)(34,36)的接口。局部總線在該總線擴(kuò)展部件(BXU)側(cè)是受局部總線控制邏輯控制的。該控制邏輯提供地址識別裝置以支持多存儲器地址域。該控制邏輯還支持多總線擴(kuò)展部件之間的協(xié)調(diào),以提供多總線(20,22)的有效操作。
參照圖2,這是圖1所示總線擴(kuò)展部件(10)的方塊圖。總線擴(kuò)展部件(10)通過系統(tǒng)總線控制邏輯線路(60)被連到系統(tǒng)總線(20)和通過局部總線控制邏輯(68)連到局部總線(18)。美國專利4,315,308;4,480,307和4,473,880對該系統(tǒng)總線(20)作了更全面地描述,這三個專利都已轉(zhuǎn)讓給莫特爾公司。該系統(tǒng)總線控制邏輯(60)包括用于判優(yōu)流水線監(jiān)視、地址識別和總線通信的邏輯,(正如上述各專利中所描述的那樣)。當(dāng)請求和應(yīng)答信號在系統(tǒng)總線和BXU的內(nèi)部邏輯之間傳送時,系統(tǒng)總線控制邏輯(60)為保持這些信號而提供緩沖作用。系統(tǒng)總線控制邏輯(60)裝備有6個緩沖器,每個緩沖器能保持一個完整的總線信息包。其中三個緩沖器被指定用于輸出請求,另三個用于輸入請求。為操作輸入/輸出傳送信息流而設(shè)置有兩個預(yù)取通道。每個通道提供兩個16-字節(jié)緩沖器。當(dāng)該通道處理機(jī)向諸緩沖器要求數(shù)據(jù)時,BXU則自動地預(yù)取下一數(shù)據(jù)塊。這為顯著提高I/O性能方面提供了保證,因?yàn)橥ǖ捞幚頇C(jī)向預(yù)取緩沖器請求數(shù)據(jù)便立即被處理。
圖1的通道處理機(jī)(14,16)是為控制接到I/O總線(46,48)上的諸裝置間的來回數(shù)據(jù)傳送而設(shè)置的。
存儲器控制部件存儲器控制部件(50,52)是為控制接到存儲器總線(54,56)上的諸存儲器陣列的來回數(shù)據(jù)傳送而設(shè)置。
高速緩沖存貯器的目錄和控制邏輯更詳細(xì)地示圖3的圖2BXU中的高速緩沖存儲器目錄(62)和控制裝置(64)控制高速緩沖存儲器(24),存儲器(24)可在BXU之外,也可與BXU置于同一芯片上。外部高速緩沖存儲器的優(yōu)點(diǎn)在于可支持容量更大的高速緩沖存儲器。
與高速緩沖存儲器有關(guān)的目錄和控制邏輯包括高速緩沖存儲器的相關(guān)算法,該算法保證了即使在有多臺處理機(jī),每臺處理機(jī)帶有自己的高速緩沖存儲器,各處理機(jī)共享同一數(shù)據(jù)結(jié)構(gòu)的情況下,處理機(jī)的請求也總是得到正確的應(yīng)答處理。
參考圖3。目錄(62)的功能是存儲對應(yīng)于存儲在高速緩沖存儲器(24)中數(shù)據(jù)的地址。該目錄可被具體化為一個或多個通路。在圖3中,該目錄具體化為4個通路(0,1,2,3)。行是在高速緩沖存儲器和主存儲器間所傳送數(shù)據(jù)的基本單位。它由數(shù)據(jù)的16個字節(jié)組成。一行也稱為一個傳送塊。當(dāng)相應(yīng)于一個特定地址的數(shù)據(jù)存儲在所述高速緩沖存儲器里時,所述高速緩沖存儲器能提供該數(shù)據(jù),從而避免了主存儲器的存取。這就叫做“高速緩沖存儲器的命中”。命中還是丟失的判斷是以每行為基礎(chǔ)來確定的。一個地址是高速緩沖存儲器尋址的基本單位。每個地址塊描述鄰接的八或四個數(shù)據(jù)行的物理地址。
在一個地址塊內(nèi)存在一個與各行有關(guān)的有效位。當(dāng)該行存在于高速緩沖存儲器內(nèi),則接通該有效位。保持在該高速緩沖存儲器目錄中的地址信息稱之為標(biāo)識符。由于許多地址劃為一個地址塊,故用標(biāo)識符信息去識別與一個地址塊現(xiàn)時有關(guān)的確切的存儲器存儲單元。當(dāng)一個地址塊的標(biāo)識符與總線地址相對應(yīng)并在所期望行的有效位接通時,便出現(xiàn)命中。
每條通路提供用于標(biāo)識符和有效位的存儲器。正如圖3所示,在多通路情況下,在所述各通路中的總線地址和標(biāo)記字段間的比較電路(70-76)中,同時進(jìn)行多道比較,以判定該數(shù)據(jù)是否在高速緩沖存儲器的數(shù)據(jù)組內(nèi)。一集是由來自各路的地址塊所組成的地址塊之集合。當(dāng)局部總線地址的一部分通過譯碼器變換為某集地址時,則同時地對一集內(nèi)的所有地址塊進(jìn)行選擇。圖3的目錄為64集而設(shè)。
當(dāng)一個新的數(shù)據(jù)塊需要引入所述高速緩沖存儲器時,則可能必須移去一個已在該高速緩沖存儲器內(nèi)的舊的數(shù)據(jù)塊,以便為該新數(shù)據(jù)讓出位置。當(dāng)一個地址塊需要新地址時,用于確定哪路獲得替換的定序是隨機(jī)的。
當(dāng)將一項(xiàng)事務(wù)寫在局部總線上而涉及某地址不在高速緩沖存儲器內(nèi)(高速緩存丟失)時,則不致力于將其相應(yīng)數(shù)據(jù)存入高速緩沖存儲器。但是,當(dāng)要寫在局部總線上的事務(wù)包含一個高速緩沖存貯器內(nèi)的地址(高速緩存命中)時,則所述目錄采用一種寫完的策略(a write-through policy)。這意味著導(dǎo)致高速緩存命中的局部總線的寫入數(shù)據(jù)被寫入該高速緩沖存儲器及主存儲器。這確保了主存儲器總是保持對所有數(shù)據(jù)存儲單元的有效拷貝。
高速緩沖存儲器的組態(tài)寄存器高速緩沖存儲器的組態(tài)寄存器位于圖2的高速緩沖存貯器組態(tài)和控制邏輯(64)內(nèi),并表示如下高速緩沖存貯器組態(tài)寄存器
該高速緩沖存貯器的組態(tài)寄存器包括確定每個地址塊的行數(shù)的比特,高速緩存目錄中的路數(shù)的比特,診斷比特,定時比特和允許高速緩沖存貯器操作的一個允許一高速緩存位。
若一個通用數(shù)據(jù)處理機(jī)(GDP),(如圖1所示)利用多重BXU,可以使這些BXU組態(tài)成協(xié)調(diào)工作,以便為一個較大的數(shù)據(jù)存儲器提供一個較大的目錄和尋址技術(shù)。所述各BXU作為一個單邏輯部件一起工作。實(shí)質(zhì)上,這個較大的目錄具有一個增大了的集數(shù)。這樣,由兩個BXU操縱的一個高速緩沖存貯器將具有包括128集(而不是64集)的一個目錄。為使多個BXU一起作用,必須將所述高速緩沖存儲器安排成交錯存取。BXU的個數(shù)必須同交錯因子相同。如果不存在交錯存取,則所述高速緩沖存儲器必須由單個總線擴(kuò)展部件來控制。交錯存取是通過系統(tǒng)總線控制邏輯(60)中的所述比較寄存器的交錯控制位來建立的,并如下所示系統(tǒng)(AP)總線屏蔽和比較寄存器
存儲地址識別系統(tǒng)總線控制邏輯(60)包括一個地址識別裝置。其目的是要把地址空間分為一個局部總線地址空間和一個系統(tǒng)總線地址空間。該邏輯不修改轉(zhuǎn)到局部總線和基準(zhǔn)地址。該地址識別裝置用來比較所有落在較高地址空間16M字節(jié)以下的請求數(shù)據(jù)包的地址。
該地址識別裝置包括兩個寄存器,即比較寄存器和屏蔽寄存器(上面已說明)。它們共同限定從一根總線到另一根的窗口映象存儲器(window mapping memory)。所述比較寄存器確定局部總線地址空間在系統(tǒng)總線的總地址空間中的開始位置的基地址,而屏蔽寄存器確定系統(tǒng)總線上現(xiàn)有多少地址空間被映射到局部總線(“長度”)。
所述屏蔽寄存器被用來屏蔽掉在局部總線地址空間中選擇存儲單元的地址位。映射到相對總線的地址空間的長度確定了屏蔽寄存器中低位零的數(shù)目。就是說,為識別用以轉(zhuǎn)移到相對總線的兩個無(NO)字節(jié),屏蔽寄存器的N個低位比特必須用零填充。從N至31的高位必須用1填充。映象窗域的長度從256K字節(jié)至全地址空間(4G字節(jié))。
比較寄存器是用于選擇局部總線的地址空間在AP總線地址空間中所處的位置。比較寄存器的N個低位比特因被屏蔽寄存器屏蔽,故是無用的。這表明必須將所述相對總線地址空間調(diào)整到所識別的域的整數(shù)倍。
總線交錯系統(tǒng)總線控制邏輯(60)支持用于輸入存儲訪問的交錯。這稱之謂模塊交錯。交錯包括對以16字節(jié)為單位的不連接的16字節(jié)界的傳輸請求。所述交錯可以為一路(無交錯),兩路,或四路交錯。一路交錯意味著由系統(tǒng)總線控制邏輯(60)的存儲地址識別裝置器識別的每個請求是由總線擴(kuò)展部件(BXU)處理的。兩路交錯時,所述系統(tǒng)總線地址空間被有效地分為兩部分;地址0-15,32-47,…規(guī)定為第一部分,而地址16-31,48-63,…規(guī)定為第二部分。只有當(dāng)存取是由局部總線地址識別裝置識別,而且落在其規(guī)定的部分內(nèi)時,BXU才能應(yīng)答。四路交錯功能象兩路時一樣,只是其有四個部分,其第一部分包括0-15,64-77,等等。
在任何情況下,地址被傳送到局部總線前,BXU是不修改該地址的。交錯功能是由比較和屏蔽寄存器中的交錯控制位控制的。
地址識別裝置一個實(shí)際的地址識別寄存裝置包括一對比較/屏蔽寄存器。比較寄存器和AP總線地址兩者都為屏蔽寄存器所屏蔽,而且屏蔽的結(jié)果再進(jìn)行比較,以判斷該存取是否被識別。通常,屏蔽和比較寄存器的識別字段確定所述映象窗的存儲單元。這些字段就是通常在討論地址識別裝置時所涉及的字段。比較/屏蔽寄存器字段定義識別在屏蔽寄存器中,在所設(shè)置的識別字段中的每一位會使相應(yīng)的AP總線地址位去與相應(yīng)的比較寄存器位進(jìn)行比較。如果某比特被清零,則該比特位置在地址識別期間是“不必關(guān)心”的。
在比較寄存器中,識別字段中的每一位將相對于AP總線地址循環(huán)中的AP總線地址的對應(yīng)位進(jìn)行比較,這些位(比特)提供一個由這個地址識別裝置識別的存儲部分的地址。
交錯控制這兩個字段確定所述交錯因子和并作為與所述系統(tǒng)總線控制邏輯(60)中的識別裝置的比較。下表表示這些位的不同配置的效果。
屏蔽位 比較位 為比較所需的AD5,AD400 XX XX(無交錯)01 X0 X0(2路)01 X1 X110禁用 XX XX11 00 00(4路)11 01 0111 10 1011 11 11
允許1=允許對屏蔽和比較寄存器的設(shè)置。
0=禁止這個識別符。
局部總線控制邏輯局部總線控制邏輯線路(6B)有四個存儲器地址識別裝置和下列控制寄存器。
局部總線控制寄存器
交錯屏蔽/比較。這兩個字段確定交錯因子并與高速緩沖存儲器控制邏輯(64)和在局部總線控制邏輯中已允許交錯的存儲器地址識別裝置進(jìn)行比較。
BXU方式0=存儲器方式。
1=處理機(jī)方式。
禁止啟動RAM0=關(guān)斷INIT RAM存儲器識別裝置1=接通INIT RAM存儲器識別裝置判斷主人1=主人0=租賃人判斷允許操作1=BXU將驅(qū)動和監(jiān)視作為主人或租賃人的判斷行。
0=BXU將忽略該判斷行。
局部總線屏蔽和比較寄存器
功能
00=這組寄存器被禁止。
01=這組寄存器已允許總線恢復(fù)并使用局部總線控制寄存器中的交錯組態(tài)比特而使高速緩存成為可能。交錯是通過所述局部總線控制寄存器來控制的。
識別屏蔽寄存器中這一字段的每一位被置1就會引起相應(yīng)的局部總線地址位同相應(yīng)的比較寄存器位進(jìn)行比較。
在比較寄存器中這一字段的每一位將與相應(yīng)的局部總線地址位相比較。這些比特為由該地址識別裝置識別的存儲器部分提供一個基地址。
高速緩沖存儲器的禁止1=那些命中這個識別器的請求將不被高速緩存。
0=那些命中這個識別器的請求,在其他控制比特被適當(dāng)設(shè)置條件下將被高速緩存。
高速緩沖存儲器的預(yù)取高速緩沖存儲器的預(yù)取算法是為BXU所利用,以便在不大量增加總線的處理機(jī)應(yīng)用的情況下,提高處理機(jī)性能。若現(xiàn)時請求是讀可高速緩存的4個字時,則預(yù)取被觸發(fā),下一順序行不在所述高速緩沖存儲器內(nèi),而是在與現(xiàn)時所請求的行的同一地址塊內(nèi)。在本發(fā)明的本實(shí)施例中,處理機(jī)指令的取和字符串操作兩者都使用4-字讀存取。4字讀存取是這樣一種存取方式,即它具有繼之以利用主存儲器的下一存儲單元的高概率。當(dāng)然,本發(fā)明可在使用非4字存取,就是說使用N-字取存的系統(tǒng)中實(shí)施,只要該N-字存取方式對繼之以利用主存儲器的下一存儲單元具有高的概率。
被預(yù)取的行是下一順序行。若總線擴(kuò)展部件是交錯的,則現(xiàn)時請求將被一個總線擴(kuò)展部件所操縱,同時預(yù)取將由另一個BXU完成。當(dāng)數(shù)據(jù)被預(yù)取時,4個字被引入BXU。該數(shù)據(jù)被內(nèi)部保存,不被寫到高速緩沖存儲器去。若對此存儲單元產(chǎn)生連續(xù)請求,則將作為高速緩沖存儲器的丟失來處理,而不產(chǎn)生總線請求。所述高速緩沖存儲器將立即被來自BXU的內(nèi)部緩沖器的數(shù)據(jù)所填充,而不向主存儲器提出請求。
BXU內(nèi)有兩條預(yù)取通道。若兩條通道都是允許的,則每一通道將被指配給一臺特定的處理機(jī)。這兩個通道是完全獨(dú)立的。某一預(yù)取通道內(nèi)的狀態(tài),或數(shù)據(jù)決不會為另一處理機(jī)或預(yù)取通道的動作所改變。
所述目錄和控制邏輯確保了高速緩沖存儲器的數(shù)據(jù)和高速緩沖存儲器的預(yù)取數(shù)據(jù)將與主存儲器內(nèi)最新的數(shù)據(jù)相一致,即使在多個高速緩沖存儲器情況下也如此。這是通過更新策略來實(shí)現(xiàn)的,該策略要求在數(shù)據(jù)被寫入高速緩沖存儲器時,也要全部寫到主存儲器去。其次,就現(xiàn)時處于高速緩沖存儲器中的這些存儲單元的變化監(jiān)視系統(tǒng)總線(20)。
該寫完更新策略確保了主存儲器總是具有全部數(shù)據(jù)的最新拷貝。也就是說,一個總線擴(kuò)展部件(BXU)的高速緩沖存儲器決不是保持該唯一的有效數(shù)據(jù)拷貝??偸潜WC任何允許流向主存儲器去的存取以得到數(shù)據(jù)項(xiàng)的最新拷貝。在沒有發(fā)出AP總線上的寫請求從而更新主存儲器的情況下,不能進(jìn)行對高速緩沖存儲器的更新。
與上述相關(guān)的裝置監(jiān)控所有總線請求。當(dāng)該裝置探測到一個來自另一BXU的寫請求,或其本身的一個不可高速緩沖存儲的寫請求時,則此請求的地址被饋入所述高速緩沖存儲器的目錄。如果出現(xiàn)高速緩沖存儲命中,則相應(yīng)于該命中的行被標(biāo)以無效標(biāo)記。所述相關(guān)裝置可應(yīng)用于高速緩沖存儲器目錄及其預(yù)取目錄。
高速緩沖存儲器的填充順序。當(dāng)處理機(jī)發(fā)出一個可高速緩存的讀請求而導(dǎo)致高速緩沖存儲丟失時,BXU必須首先預(yù)取所述丟失中的高速緩沖存儲器的存儲行,然后返回所述處理機(jī)的數(shù)據(jù)請求。圖5的時序表示執(zhí)行這個填充操作的信號順序。
當(dāng)探測上述丟失時,BXU在AP總線上要產(chǎn)生適當(dāng)?shù)?6字節(jié)請求。這個請求將總是按16字節(jié)界對準(zhǔn)。當(dāng)數(shù)據(jù)從系統(tǒng)總線返回時,BXU以字地址0開始,將數(shù)據(jù)寫入高速緩沖存儲器。
預(yù)取?,F(xiàn)參考圖4,該圖是圖2的I/O預(yù)取邏輯(63)的一個方框圖,該預(yù)取邏輯線路包括I/O預(yù)取控制寄存器(80)*和I/O預(yù)取緩沖器(82,84,86,88)*。
設(shè)置了兩個I/O預(yù)取通道,通道0和通道1。每個通道有兩個由4個字(16字節(jié))構(gòu)成的輸入緩沖器。每個存儲字還包括一個標(biāo)記位以使標(biāo)記信息被正確地緩沖。當(dāng)向這些緩沖器請求數(shù)據(jù)時,則自動地預(yù)取下一數(shù)據(jù)塊并裝入空緩沖器。所述線路利用上述標(biāo)號專利中所描述的三深度系統(tǒng)總線流水線(three-deep system bus pipeline),以便當(dāng)緩沖器由于系統(tǒng)總線通信量的瞬時波動而趕不上需要時,迅速填充這些緩沖器。
為確定所提出的請求的類型,利用接口控制裝置(90)的預(yù)取引線(PR#)連同可高速緩存(CT)信號和寫/讀(WR)信號。下表表示對所有不同請求類型的定義Pr# CT WR 在Ta循環(huán)期間的值0 0 0=用預(yù)取通道0的讀0 0 1=對預(yù)取通道0的啟動命令0 1 0=用預(yù)取通道1的讀0 1 1=預(yù)取通道1的啟動命令1 0 0=不可高速緩存的讀出1 0 1=不可高速緩存的寫1 1 0=可高速緩存的讀1 1 1=可高速緩存的寫當(dāng)預(yù)取引線(Pr#)為高電位(1)時,現(xiàn)行周期為一個正常的局部總線周期。當(dāng)預(yù)取引線為低電位(0)時,則現(xiàn)行周期是一個I/O預(yù)取周期,在此期間,利用可高速緩存(CT)引線去選擇兩個I/O預(yù)取通道之一。
接口控制裝置(90)受兩個專用命令(即啟動通道0命令和啟動通道1命令)的控制。
預(yù)取控制寄存器(80)的格式表示如下預(yù)取控制寄存器
如下所述預(yù)取控制寄存器的四位是由組態(tài)控制電路(92)來譯碼的。每當(dāng)執(zhí)行一個啟動通道0輸入/輸出預(yù)取命令,I/O通道0的操作位通過置操作行(91)*被自動置位而且組態(tài)比特(93)為置預(yù)取裝置(prefetcher)于I/O方式(組態(tài)位=01)而被置位。當(dāng)組態(tài)位為置預(yù)取裝置于高速緩存方式組態(tài)位=10或11)而被置位時,則I/O通道0的操作位總是被置1。由于I/O通道0操作位置1,則只要組態(tài)位被置位于I/O方式(組態(tài)位=01),通道0就處操作狀態(tài)。通道0將自動地監(jiān)視用于地址比較的局部總線通信量和進(jìn)行相關(guān)的預(yù)取操作。
I/O通道1操作位與I/O通道0的操作位的類似之點(diǎn)在于每當(dāng)執(zhí)行啟動通道1的I/O預(yù)取命令,它便經(jīng)由置位操作行(91)自動地置位而且組態(tài)位被置于I/O方式(組態(tài)位=01)。
下面描述對組態(tài)位(93)的譯碼。若組態(tài)位被置位于00,則預(yù)取裝置(prefetcher)被斷開。若組態(tài)位置位于01,則就要執(zhí)行I/O預(yù)取操作同時預(yù)取通道0和1兩者都可用于傳送順序的I/O數(shù)據(jù)流。
若組態(tài)位置位于10,則形成一通道型高速緩沖存儲器的預(yù)取操作。通道0可供高速緩沖存儲器使用,而通道1被禁用。
若構(gòu)型位置位于11,則形成兩通道型高速緩沖存儲器預(yù)取操作。通道0和通道1兩者均可供高速緩沖存儲器使用。通道0將總是用于與來自處理機(jī)0的請求有關(guān)的高速緩沖存儲器的預(yù)取操作,而通道1將用于與來自處理機(jī)1的請求有關(guān)的高速緩沖存儲器的預(yù)取操作。擁有所述請求的處理機(jī)是通過監(jiān)測局部總線判優(yōu)線路來確定的。
啟動命令。必須先發(fā)一個啟動命令才能使用一個預(yù)取通道。寫到預(yù)取通道之一的啟動命令被限定為一個字或不到一個字。所述寫請求的地址是所述預(yù)取通道的起始地址。根據(jù)所述啟動命令,預(yù)取控制邏輯執(zhí)行下列操作。首先它經(jīng)由標(biāo)記線(96)或標(biāo)記線(94)將該指定通道中的兩個預(yù)取緩沖器標(biāo)以空載記號。然后,預(yù)取控制邏輯計算“我的起始地址”。若這個BXU欲要包含在數(shù)據(jù)傳送過程中,則在預(yù)取控制寄存器(80)中設(shè)置相稱的I/O通道操作位。若這個BXU被包含在數(shù)據(jù)傳送過程中,則所述BXU中的控制邏輯(90)將發(fā)出兩個對AP總線的預(yù)取請求(98)。該請求將用來填充緩存在有關(guān)通道內(nèi)的該32字節(jié)的數(shù)據(jù)。當(dāng)所有其他BXUs已完成上面所列操作時,BXU就要回答所述啟動命令。SS忙#這一行為在BXU至BXU之間進(jìn)行通信而被監(jiān)視。當(dāng)SS忙#進(jìn)一行被認(rèn)定時,則所有的BXU中的預(yù)取請求將已被啟動。
啟動命令與預(yù)取引線(PR#)的組合消除了所有失時效的數(shù)據(jù)。啟動命鄰清除可能在先前的I/O預(yù)取排序期間已被預(yù)取的任何可能的失時效數(shù)據(jù)。預(yù)取信號(PR#)保證了唯有現(xiàn)用該預(yù)取通道的軟件會接收來自預(yù)取緩沖器的數(shù)據(jù)。除預(yù)取信號(PR#)被認(rèn)定之外,即使一請求為訪問已經(jīng)在I/O預(yù)取緩沖器內(nèi)的存儲單元,BXU也要為所述數(shù)據(jù)轉(zhuǎn)向存儲。
典型的I/O預(yù)取操作。必須將預(yù)取控制寄存器(80)中的組態(tài)位(2和3位)置位于01,才能開始I/O預(yù)取操作。
起動。若預(yù)取裝置的通道未被靜態(tài)地指定,則軟件或微代碼必須將一個通道指配為某種特定的數(shù)據(jù)傳送。然后,向該I/O預(yù)取通道發(fā)出起動命令。這必須包括一個使用待預(yù)取首字節(jié)的地址而認(rèn)定的預(yù)取引線(PR#)的寫請求(WR)。
數(shù)據(jù)傳送。為使數(shù)據(jù)傳送請求成為通過由預(yù)取裝置應(yīng)答的一個有效請求,則必須滿足下列準(zhǔn)則。它必須是一個標(biāo)準(zhǔn)的讀請求。該數(shù)據(jù)請求的長度必須是字節(jié),雙字節(jié),字或多字,而其地址必須被在局部總線地址識別裝置之一中被識別。所述請求還必須獲得預(yù)取信號(PR#)的低電位而且必須具有到達(dá)正確預(yù)取通道的準(zhǔn)確時間(CT)信號點(diǎn)。
通常,被請求的數(shù)據(jù)將總是存在于I/O預(yù)取通道數(shù)據(jù)緩存器中,在此情況下,預(yù)取裝置將立即使該數(shù)據(jù)返回。如果該數(shù)據(jù)不在緩沖器內(nèi),則所述請求將一直保持到當(dāng)所述緩沖器先被首次騰空時較早發(fā)出的AP總線請求(98)填充所述緩沖器時為止。
當(dāng)接收到一個數(shù)據(jù)緩沖請求時,控制邏輯裝置(90)利用字和長度(size)地址行及字節(jié)允許行(未示出)去確定應(yīng)該使用現(xiàn)時預(yù)取緩沖器中的那些字節(jié)。
當(dāng)讀出緩沖器中的最后字節(jié)時,預(yù)取裝置(63)計算待預(yù)取的下一16-字節(jié)塊的地址并發(fā)出一個AP總線讀請求(98)。隨該處理機(jī)的預(yù)取請求所發(fā)出的地址供這一計算使用,同時由局部總線接口在局部總線控制邏輯線路(68)所確定的現(xiàn)時交錯因子供這個地址域使用。在AP總線上所發(fā)的地址被保證在LBI存儲器識別窗口的范圍內(nèi),因?yàn)榈刂吩隽恐煌ㄟ^LAD比特17而存儲器識別裝置只檢查比特18至31。
雖然本發(fā)明已參照其最佳實(shí)施例作了具體圖示和描述,但不用說,本領(lǐng)域的技術(shù)人員可能作出未脫離本發(fā)明范圍的形式和細(xì)節(jié)方面的前述和其他改型。
權(quán)利要求
1.供一個總線擴(kuò)展部件(10)之用的一個系統(tǒng),該總線擴(kuò)展部件是數(shù)據(jù)處理系統(tǒng)的部件,在該數(shù)據(jù)處理系統(tǒng)中,第一處理機(jī)(14)和第二處理機(jī)(16)通過一個局部總線(18)連通多個接到一個或多個系統(tǒng)總線(20,22)的媒介,所述總線擴(kuò)展部件(10)提供所述局部總線(18)和所述系統(tǒng)總線(20)之間的接口,所述總線擴(kuò)展部件包括用于控制所述局部總線(18)的存取的局部總線控制邏輯(68),所述總線擴(kuò)展部件包括用于控制所述系統(tǒng)總線(20)存取的系統(tǒng)總線控制邏輯(60),和一個高速緩沖存貯器(24)連到所述總線擴(kuò)展部件(10)和所述局部總線(18),所述總線擴(kuò)展部件中的控制邏輯,用以控制對所述高速緩沖存貯器的訪問;所述控制邏輯包括一個高速緩沖存貯器的目錄(62),用于存儲數(shù)據(jù)陣列地址,所述高速緩沖存儲器目錄可形成多個通路(0,1,2,3),每一路包括標(biāo)記和有效位存儲器,以便于對所述數(shù)據(jù)陣列地址的所述目錄進(jìn)行相聯(lián)檢索;和第一裝置(64)包括連到所述高速緩沖存儲器目錄(62)的第一組態(tài)裝置(高速緩沖存貯器組態(tài)寄存器1-5位),用以將所述高速緩沖存貯器目錄分成兩個邏輯目錄,一個目錄用于控制來自所述第一處理機(jī)的請求,另一目錄用于控制來自所述第二處理機(jī)的請求。
2.根據(jù)權(quán)利要求
1所述的組合系統(tǒng),特征在于還包括連接到所述局部總線控制邏輯電路(68)的一個預(yù)取緩沖器(63);和其中所述第一裝置(64)包括連接到所述預(yù)取緩沖器的第一預(yù)取控制裝置(預(yù)取控制寄存器2和3位),用以將所述預(yù)取緩沖器分成兩個邏輯通道,第一通道用于操作與來自所述第一處理機(jī)的請求有關(guān)的預(yù)取,而第二通道用于操作與來自所述第二處理機(jī)的請求有關(guān)的預(yù)取。
3.根據(jù)權(quán)利要求
2的系統(tǒng),其特征在于所述第一裝置(64)包括第二預(yù)取控制裝置,該裝置當(dāng)所述第一預(yù)取控制裝置(預(yù)取控制寄存器2和3位)被置位于允許所述預(yù)取時工作,以便一旦具備下列諸條件便觸發(fā)預(yù)取一個現(xiàn)時存儲器請求是一個n字可高速緩存的該請求,其中處理機(jī)指令取出和字符串兩操作均使用n-字讀存取,從特定存儲器存儲單元中待預(yù)取的下一順序行不在所述高速緩沖存儲器中,和所述待預(yù)取的下一順序行是在與現(xiàn)用請求行相同的地址塊中。
4.根據(jù)權(quán)利要求
1的系統(tǒng),特征在于其中所述第一裝置(64)包括第二高速緩沖存儲器的組態(tài)裝置(高速緩沖存儲器的組態(tài)寄存器0位),后者連接到所述高速緩沖存儲器目錄(62)用以確定每個地址塊的行數(shù);還包括第三高速緩沖存儲器組態(tài)裝置(高速緩沖存儲器組態(tài)寄存器位11),該組態(tài)裝置連到所述高速緩沖存儲器目錄(62),使所述高速緩沖存儲器能操作。
5.根據(jù)權(quán)利要求
1的系統(tǒng),其特征在于還包括-連接到所述局部總線控制邏輯(68)上的一個預(yù)取緩沖器(63);和-其中所述第一裝置(64)包括第一預(yù)取控制裝置(預(yù)取控制寄存器的2和3位),后者連到所述預(yù)取緩沖器,其狀態(tài)表示該預(yù)取緩沖器被斷開,能傳送順序的I/O數(shù)據(jù)流,或用所述高速緩沖存儲器操作。
6.根據(jù)權(quán)利要求
4的系統(tǒng),特征在于其中所述第一裝置(64)包括第二預(yù)取控制裝置,后者在所述第三預(yù)取控制裝置(預(yù)取控制寄存器位11)被置位到允許所述高速緩沖存儲器預(yù)取的條件下工作,以便一旦還滿足下列諸條件便能發(fā)預(yù)取一個現(xiàn)時存儲器請求是一個n字可高速緩存的讀請求,其中處理機(jī)指令取出和字符串操作兩者都使用n字讀存取,從特定存儲器存儲單元中待預(yù)取的下一順序行不在所述高速緩沖存儲器中,而且所述待預(yù)取的下一順序行是在與現(xiàn)用請求行相同的地址塊中。
7.根據(jù)權(quán)利要求
4的系統(tǒng),特征在于其中所述連接所述高速緩沖存貯器目錄(62)用以確定每個地址塊行數(shù)的第二高速緩沖存貯器組態(tài)裝置(高速緩沖存儲器組態(tài)寄存器位0)包括用于使通用數(shù)據(jù)處理機(jī)(34,36)能利用多個為較大的數(shù)據(jù)存儲器提供較大的數(shù)據(jù)目錄和尋址而形成協(xié)調(diào)工作的總線擴(kuò)展(B×U)裝置,其中所述較大目錄有一個增大了的集數(shù),例如由n個B×U所管理的一個高速緩沖存貯器所具有的目錄集數(shù)是用單個B×U工作時所構(gòu)成目錄集數(shù)的n倍;和用于為交錯而組態(tài)所述高速緩沖存貯器的裝置,其中交錯系數(shù)被設(shè)置,例如當(dāng)n路交錯時則被設(shè)置等于n,所述系數(shù)總線地址空間被有效地劃分為n分區(qū),同時第一地址域規(guī)定第一分區(qū),第二地址域規(guī)定第二分區(qū)……第n地址域規(guī)定第n分區(qū);用于使所述局部總線控制邏輯能只在存取由局部總線地址識別裝置識別并落在其規(guī)定的分區(qū)范圍內(nèi)時才響應(yīng)的地址識別裝置。
專利摘要
控制對一個高速緩沖存貯器訪問的控制邏輯(24)包括一個高速緩沖存貯器目錄(62),該目錄形成多路,每路包括標(biāo)識符和有效位存貯器,以便為高速緩沖存貯器數(shù)據(jù)陣列地址相聯(lián)地檢索該目錄(62)。一個高速緩沖存貯器組態(tài)寄存器和控制邏輯(64)將高速緩沖存貯器目錄(62)分為兩個邏輯目錄,一個目錄用于控制來自第一處理機(jī)的請求,另一目錄用于控制來自第二處理機(jī)的請求。提供有預(yù)取緩沖器(63),預(yù)取控制寄存器用于將該預(yù)取緩沖器分為兩個邏輯通道,第一通道用于操縱與來自第一處理機(jī)的請求有關(guān)的預(yù)取,而第二通道用于操縱與來自第二處理機(jī)請求有關(guān)的預(yù)取。
文檔編號G06F12/08GK87105300SQ87105300
公開日1988年2月10日 申請日期1987年7月28日
發(fā)明者戴維·貝德福德·約翰遜, 羅納德·詹姆斯·埃伯索爾, 喬爾·C·黃, 曼弗雷德·諾伊格鮑爾, 史蒂文·雷·佩奇, 基思·塞爾夫 申請人:英特爾公司導(dǎo)出引文BiBTeX, EndNote, RefMan