專利名稱:信源同步及公共時鐘協(xié)議中的數(shù)據(jù)傳輸?shù)闹谱鞣椒?br>
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機系統(tǒng)中的數(shù)據(jù)傳輸領(lǐng)域。
現(xiàn)代計算機系統(tǒng)通常包含各耦合在系統(tǒng)總線上的多個代理。通常,這些代理為帶有將各代理耦合在總線上的多個針腳的集成電路插件。這些代理中可包含例如處理器、存儲設(shè)備、大容量存儲設(shè)備等。為了使計算機系統(tǒng)正常操作,代理應(yīng)能通過總線高效地互相通信。
現(xiàn)有的計算機系統(tǒng)通常按照預(yù)先規(guī)定的定時方案在部件或代理之間傳送數(shù)據(jù)。系統(tǒng)總線時鐘通常用時鐘控制發(fā)送設(shè)備輸出數(shù)據(jù)及輸入接收設(shè)備。結(jié)果,至少占用系統(tǒng)總線時鐘的一個完整的時鐘周期將數(shù)據(jù)從一個設(shè)備傳送到另一設(shè)備。
然而,為了提高數(shù)據(jù)傳輸速度,數(shù)據(jù)也可以信源同步方式傳送。在信源同步傳輸中,與數(shù)據(jù)傳輸一起發(fā)送選通脈沖。這一選通脈沖在通常短于系統(tǒng)總線時鐘的周期的時段中將數(shù)據(jù)鎖存到接收設(shè)備中。
信源同步鎖存協(xié)議在較高頻率上操作總線。例如,在公共時鐘傳輸中驅(qū)動一塊數(shù)據(jù)占用的時間中可驅(qū)動兩塊數(shù)據(jù)到總線上。
結(jié)果,為了提高傳輸數(shù)據(jù)的帶寬而無須對應(yīng)提高所傳輸信號的數(shù)目,提供用信源同步協(xié)議傳輸數(shù)據(jù)同時用公共時鐘協(xié)議傳輸控制信號的系統(tǒng)是有利的。
本發(fā)明提供用于在計算機系統(tǒng)中的總線代理之間傳輸數(shù)據(jù)的方法與裝置。本發(fā)明包含通過第一傳輸協(xié)議從第一代理傳輸控制信號到第二代理;以及通過第二傳輸協(xié)議從第一代理傳輸對應(yīng)于控制信號的數(shù)據(jù)到第二代理。
圖1為按照本發(fā)明的多代理計算機系統(tǒng)的框圖。
圖2為按照本發(fā)明的實施例的處理階段圖。
圖3為展示公共時鐘鎖存協(xié)議的定時圖。
圖4為展示按照本發(fā)明的實施例的信源同步鎖存協(xié)議的定時圖。
圖5為按照本發(fā)明的一個實施例的代理的框圖。
圖6為展示按照本發(fā)明的實施例利用信源同步傳輸讀64字節(jié)事務(wù)處理帶隱含的寫回的定時圖。
描述了用于在計算機系統(tǒng)中通過公共時鐘協(xié)議傳輸控制信號及通過信源同步協(xié)議傳輸數(shù)據(jù)的方法與裝置,控制信號的傳輸是用系統(tǒng)總線時鐘定時的,而數(shù)據(jù)的傳輸是用數(shù)據(jù)源傳輸?shù)倪x通脈沖定時的。
圖1為可與本發(fā)明的實施例一起使用的多處理器計算機系統(tǒng)的框圖。計算機系統(tǒng)100包括處理器-存儲器總線101,用于在諸如處理器、總線橋路、存儲設(shè)備、外圍設(shè)備等耦合在總線101上的不同代理之間通信。處理器-存儲器總線101包含仲裁、地址、數(shù)據(jù)與控制總線(未示出)。在一個實施例中,各處理器102、103、104與105的每個包含通常稱作一級(L1)高速緩沖存儲器的小型的極快速的內(nèi)部高速緩沖存儲器(未示出)用于臨時存儲與其關(guān)聯(lián)的處理器在同一集成電路上的數(shù)據(jù)與指令。此外,較大的二級(L2)高速緩沖存儲器106耦合在處理器105上用于臨時存儲供處理器105使用的數(shù)據(jù)與指令。在其它實施例中,可將諸如存儲器106等L2高速緩沖存儲器耦合到處理器102-105中任何一個上。
處理器-存儲器總線101提供對存儲器與輸入/輸出(I/O)子系統(tǒng)的訪問。存儲器控制器122耦合在處理器-存儲器總線101上,用于控制對為處理器102-105存儲信息與指令的隨機存取存儲器(RAM)或其它動態(tài)存儲設(shè)備121(一般稱作主存儲器)的訪問。顯示設(shè)備132、鍵盤設(shè)備133、光標控制設(shè)備134、硬拷貝設(shè)備135及大容量存儲設(shè)備136耦合在系統(tǒng)I/O總線131上并通過總線橋路124耦合在處理器-存儲器總線101上。橋路124耦合在處理器-存儲器總線101與系統(tǒng)I/O總線131上,為處理器-存儲器總線101或I/O總線131之一上的設(shè)備訪問另一總線上的設(shè)備或在它們之間傳輸數(shù)據(jù)提供通信路徑或通道。橋路124為系統(tǒng)I/O總線131與處理器-存儲器總線101之間的接口。I/O總線131在外圍設(shè)備132-136之間傳遞信息。
處理器102-105、總線橋路124、大容量存儲設(shè)備125及存儲器控制器122各包含一總線控制器138。當包含它的代理控制處理器-存儲器總線101時,總線控制器138控制處理器-存儲器總線101上的通信。
在本發(fā)明的一個實施例中,處理器-存儲器總線101上的總線活動是分層組織成操作、事務(wù)處理及階段的。操作為對軟件呈現(xiàn)為原子的總線過程,諸如讀取自然對齊的存儲器單元。執(zhí)行操作通常需要一次事務(wù)處理但可能需要多次事務(wù)處理,如在延期回答的情況中,其中請求與回答是不同事務(wù)處理,或在軟件期望為原子的非排成行的存儲器操作。在這一實施例中,事務(wù)處理是在應(yīng)答階段期間從請求總線仲裁到事務(wù)處理(例如正?;螂[含的寫回應(yīng)答)完成關(guān)于單個請求的一組總線活動。
在一個實施例中,事務(wù)處理包含多達6個不同階段。然而,根據(jù)事務(wù)處理與應(yīng)答類型,有些階段不是必須的。另外,也可增加附加的階段。一個階段使用特定的信號群來傳遞特定類型的信息。在一種實現(xiàn)中這些階段是仲裁階段請求階段出錯階段窺探階段應(yīng)答階段數(shù)據(jù)傳輸階段在一個實施例中,數(shù)據(jù)傳輸階段不是必要的,如果事務(wù)處理是傳輸數(shù)據(jù)便使用它。如果在起動請求時(例如對于寫事務(wù)處理)可得到數(shù)據(jù),數(shù)據(jù)階段是請求起動的。如果在生成事務(wù)處理應(yīng)答時得到數(shù)據(jù)(例如對于讀事務(wù)處理),則數(shù)據(jù)階段是應(yīng)答起動的。事務(wù)處理可包含請求起動的數(shù)據(jù)傳輸及應(yīng)答起動的數(shù)據(jù)傳輸兩者,例如轉(zhuǎn)換成隱含寫回的寫。
在本發(fā)明的一個實施例中,關(guān)于仲裁階段、請求階段、出錯階段、窺探階段及應(yīng)答階段所傳輸?shù)男盘柺峭ㄟ^公共時鐘協(xié)議傳輸?shù)?即由系統(tǒng)總線定時),如下面更詳細地描述的。然而,為了每一時鐘周期傳輸更大量的數(shù)據(jù),在數(shù)據(jù)傳輸階段中所傳輸?shù)臄?shù)據(jù)是通過信源同步協(xié)議傳輸?shù)?,如下面更詳細地描述的?br>
來自不同事務(wù)處理的不同階段可以重疊,使得總線利用能流水作業(yè)并改進總線性能。圖2示出兩個事務(wù)處理的重疊階段的實例。參見圖2,事務(wù)處理從仲裁階段開始,在其中請求代理成為總線擁有者。只有在驅(qū)動下一事務(wù)處理的代理并未擁有總線時才需要出現(xiàn)仲裁階段。在一種實現(xiàn)中,在請求擁有權(quán)兩或更多時鐘周期之后在仲裁階段中將總線擁有權(quán)授于請求代理。
第二階段為請求階段,在其中總線擁有者在總線上驅(qū)動請求與地址信息。在一種實現(xiàn)中,請求階段是授于總線擁有權(quán)之后一或多個周期(假定存在仲裁階段),并且是兩個時鐘周期長。在第一時鐘中與事務(wù)處理類型及足夠的信息一起給出地址信號以開始窺探存儲器存取。在第二時鐘中,如果數(shù)據(jù)傳輸小于數(shù)據(jù)總線寬度,便利用字節(jié)起動來標識應(yīng)傳輸哪些字節(jié),如果要將延期應(yīng)答給予請求便利用事務(wù)處理標識符來唯一地標識該事務(wù)處理,并連同其它事務(wù)處理信息一起驅(qū)動上述字節(jié)起動、事務(wù)標識符及請求的數(shù)據(jù)傳輸長度。
事務(wù)處理的第三階段為出錯階段。出錯階段指出請求觸發(fā)的任何立即錯誤,諸如奇偶校驗錯誤。如果發(fā)現(xiàn)錯誤,檢測出事務(wù)處理中的錯誤的代理便在出錯階段中斷言出錯信號。按照一個實施例,當指出了錯誤時,便立即放棄事務(wù)處理(即,該事務(wù)處理不再在流水線中繼續(xù)前進)并可由發(fā)布該事務(wù)處理的代理重新驅(qū)動。代理是否重新發(fā)布該事務(wù)處理取決于代理本身。在一種實現(xiàn)中,出錯階段是在請求階段之后三個時鐘周期。
在一個實施例中,由于在出錯階段中的錯誤而未撤消的每一個事務(wù)處理具有窺探階段。窺探階段指示在事務(wù)處理中訪問的高速緩沖存儲器線是否無效、有效還是在任何代理的高速緩沖存儲器中被修改過(臟的)。在一種實現(xiàn)中,窺探階段從請求階段起四個或更多時鐘周期。
總線的窺探階段定義窺探窗口,在這一期間總線上能出現(xiàn)窺探事件。窺探事件指稱代理通過總線傳輸與/或接收窺探結(jié)果。具有需要在窺探階段中驅(qū)動的窺探結(jié)果的代理在窺探窗口期間作為窺探事件驅(qū)動這些窺探結(jié)果。包含驅(qū)動這些結(jié)果的代理在內(nèi)的耦合在總線上的所有窺探代理在窺探窗口期間作為窺探事件接收這些窺探結(jié)果。在一種實現(xiàn)中,窺探窗口是單一總線時鐘。
應(yīng)答階段指示事務(wù)處理失敗還是成功,應(yīng)答是立即還是延期,事務(wù)處理是否要重試,或者事務(wù)處理是否包含數(shù)據(jù)階段。如果事務(wù)處理包含應(yīng)答起動的數(shù)據(jù)階段,則它進入與應(yīng)答階段重合的數(shù)據(jù)傳輸階段。
如果事務(wù)處理沒有數(shù)據(jù)階段,則該事務(wù)處理在應(yīng)答階段上完成。如果請求代理具有寫數(shù)據(jù)要傳輸或已請求了讀數(shù)據(jù),在前一情況中事務(wù)處理具有延伸超過應(yīng)答階段的數(shù)據(jù)階段,而在后一情況中具有與應(yīng)答階段重合或延伸超過它的數(shù)據(jù)階段。只在事務(wù)處理要求數(shù)據(jù)傳輸時才出現(xiàn)數(shù)據(jù)階段。數(shù)據(jù)階段可以是應(yīng)答起動的(例如由存儲器控制器或另一處理器)或者是請求起動的。
總線通過將總線事務(wù)處理分裂成兩個獨立的事務(wù)處理來接納延期事務(wù)處理。第一事務(wù)處理包含請求代理的請求及應(yīng)答代理的應(yīng)答。如果應(yīng)答代理準備好應(yīng)答,應(yīng)答包含發(fā)送請求數(shù)據(jù)(或完成信號)。然而,如果應(yīng)答代理未準備好完成總線事務(wù)處理,則應(yīng)答代理可在應(yīng)答階段中在總線上發(fā)送延期應(yīng)答。發(fā)送延期應(yīng)答使其它事務(wù)處理能被發(fā)布而不被這一事務(wù)處理的完成所阻塞。當應(yīng)答代理準備好完成延期的總線事務(wù)處理時,應(yīng)答代理仲裁總線的擁有權(quán)并在總線上發(fā)送包含所請求的數(shù)據(jù)(或完成信號)的延期的應(yīng)答事務(wù)處理。
因為在這一實施例中總線具有流水線性質(zhì),在不同時間上多個事務(wù)處理可在總線的不同階段上,例如,一個事務(wù)處理可在窺探階段,同時第二事務(wù)處理在出錯階段而第三事務(wù)處理在請求階段。從而,即使出錯信號與請求信號對應(yīng)于不同的事務(wù)處理,它們可以同時在總線上發(fā)布。
在本發(fā)明的一個實施例中,在任何特定時間上總線可有多達16個未完成的事務(wù)處理,及在任何特定時間上可有多達16個事務(wù)處理正在等待延期的應(yīng)答。
此外,本發(fā)明的一個實施例還支持作為讀或?qū)懯聞?wù)處理的一部分的隱含的寫回。當請求代理在總線上放置對以修改狀態(tài)存儲在耦合在總線上的高速緩沖存儲器中的高速緩沖存儲器行的請求時,出現(xiàn)隱含的寫回。例如,代理可在8字節(jié)數(shù)據(jù)(或小于等于高速緩沖存儲器行的某一其它數(shù)據(jù)量)的總線上執(zhí)行寫事務(wù)處理,而包含這8個字節(jié)的高速緩沖存儲器行則以修改狀態(tài)存儲在另一代理的高速緩沖存儲器中。在這一情況中,包含修改狀態(tài)中的高速緩沖存儲器行的高速緩沖存儲器(或耦合在該高速緩沖存儲器上的代理)便在事務(wù)處理的窺探階段中在總線上發(fā)布“命中修改的”信號。請求代理將8字節(jié)寫數(shù)據(jù)放置在總線上,這些數(shù)據(jù)被目標代理檢索。然后,與事務(wù)處理的應(yīng)答階段重合,包含修改狀態(tài)的高速緩沖存儲器行的高速緩沖存儲器將該高速緩沖存儲器行(在一種實現(xiàn)中為32或64字節(jié))寫到總線上。然后,將請求代理未寫的高速緩沖存儲器行中的任何數(shù)據(jù)與來自原始數(shù)據(jù)傳輸?shù)膶憯?shù)據(jù)合并。
隱含的寫回也可能與讀事務(wù)處理一起出現(xiàn)。例如,請求代理可能執(zhí)行以總線上的存儲器控制器為目標的讀事務(wù)處理,但它也命中了窺探代理的高速緩沖存儲器中的修改過的高速緩沖存儲器行。在這一實例中,窺探代理成為源代理并提供請求的數(shù)據(jù),作為隱含的寫回到存儲器控制器,后者又將寫回的數(shù)據(jù)存儲到主存儲器中。在這一實例中,請示代理也從總線上取隱含寫回的數(shù)據(jù)(稱作“捕捉(snarfing)”數(shù)據(jù))。然而,在另一實施例中,存儲器控制器可執(zhí)行捕捉,在這一情況中請求代理從總線上取走高速緩沖存儲器行而存儲器控制器從總路線上取走不取走均可。
圖3是表示按照本發(fā)明的一個實施例在控制信號傳輸?shù)墓矔r鐘事務(wù)處理中總線上出現(xiàn)的事件的定時圖。在這里的定時圖中,方形符號表示驅(qū)動信號,圓形符號表示抽樣信號(鎖存或捕捉),而三角形符號表示接收或觀察到信號。
這里信號名稱使用大寫字母,諸如ADS#。一組相關(guān)信號中的信號用數(shù)字后綴區(qū)分,諸如A4用于地址位4。如果將數(shù)據(jù)位0至63表示為諸如D[63-0],則一組信號復(fù)蓋數(shù)字后綴的范圍?!?”后綴表示該信號低態(tài)有效。沒有“#”后綴表示該信號高態(tài)有效。某些信號有效的邏輯電平只是為特定實施例所作的選擇,對本發(fā)明并不重要。名詞“斷言”蘊含將信號驅(qū)動到活躍邏輯電平。名詞“去斷言”蘊含將信號驅(qū)動到其不活躍邏輯電平。
總線時鐘信號BCLK600是在其上升邊上活躍的。在時鐘周期T1開始時,在總線上斷言信號A#602。在T2開始時,BCLK600鎖存信號A#602。在T3開始時,響應(yīng)A#602的鎖存斷言B#604。在T2中A#602將其狀態(tài)改變到原始不活躍狀態(tài)。從圖3中可以看出,斷言A#602之后兩個BCLK600周期,響應(yīng)A#602斷言B#604。
圖4為展示按照一個實施例用于數(shù)據(jù)傳輸?shù)男旁赐綌?shù)據(jù)傳輸?shù)亩〞r圖。作為結(jié)果,與通過公共時鐘協(xié)議相比,本發(fā)明在每一總線時鐘周期中能傳輸更大量的數(shù)據(jù)。如在發(fā)送與接收四塊數(shù)據(jù)D1、D2、D3與D4的實例中所示。BCLK600以其正常頻率工作,正如在圖3中所示的公共時鐘事務(wù)處理中。按照圖4中所示的信源同步協(xié)議,數(shù)據(jù)是與選通脈沖STBp[3:0]#310及STBn[3:0]#312一起發(fā)送與鎖存的以便允許以合理的信號飛行時間使傳輸率兩倍于公共時鐘傳輸率。信源同步鎖存協(xié)議在BCLK600的兩倍頻率上操作總線。在它以公共時鐘傳輸驅(qū)動一塊所占用的時間中驅(qū)動兩塊數(shù)據(jù)到總線上。因此,可將帶寬加倍而無須對應(yīng)增加傳輸?shù)男盘柕臄?shù)目。
如表Ⅳ中所說明的,信號DRDYS#428與DRDY#426都活躍表示發(fā)送者正在以信源同步128位模式發(fā)送數(shù)據(jù)。D#302包括驅(qū)動器所見的數(shù)據(jù)信號。D#308包括接收機所見的數(shù)據(jù)信號。STBp[3:0]#304與STBn[3:0]#306為選通脈沖信號驅(qū)動器所見的選通脈沖信號。STBp[3:0]#310與STBn[3:0]#312為數(shù)據(jù)與選通脈沖信號接收機所見的選通脈沖信號。在上升邊及總線時鐘的50%點上,驅(qū)動器發(fā)送新數(shù)據(jù)。在總線時鐘的25%點與75%點上,驅(qū)動器發(fā)送定中的差分選通脈沖STBp[3:0]#304與STBn[3:0]#306。接收機確定地捕捉帶選通脈沖的數(shù)據(jù)。
在一實施例中,驅(qū)動器在驅(qū)動D[63:0]#302之前先驅(qū)動STBp[3:0]#304。驅(qū)動器在以數(shù)據(jù)為中心的STBp[3:0]#304與STBn[3:0]#306上發(fā)送上升與下降邊。驅(qū)動器在發(fā)送最后數(shù)據(jù)之后去斷言選通脈沖。接收機用與BCLK600異步的兩個選通脈沖信號捕捉有效數(shù)據(jù)。與BCLK600同步的信號(DRDYS#428及DRDY#426)向接收機指示已發(fā)送了有效數(shù)據(jù)。圖4示出如果兩個代理都能傳輸128位數(shù)據(jù),數(shù)據(jù)便能相對于圖3中所示的公共時鐘協(xié)議的BCLK600以一半的時間傳輸。
圖5是更詳細地示出按照本發(fā)明的一個實施例的代理的框圖。代理400包含數(shù)據(jù)寬度指示符401、內(nèi)部控制邏輯402、總線控制器138、數(shù)據(jù)緩沖器404與406、以及多路復(fù)用器403、405與408。
數(shù)據(jù)寬度指示符401為代理400所支持的數(shù)據(jù)傳輸寬度的指示符。在一個實施例中,數(shù)據(jù)寬度指示符為編碼代理400所支持的數(shù)據(jù)傳輸?shù)膬晌恢?。按照一個實施例,數(shù)據(jù)寬度指示符401為預(yù)配置的值。指示符401可以以傳統(tǒng)方式預(yù)配置在任何寬度的范圍中,諸如將代理400的特定針腳連接在在系統(tǒng)復(fù)位時段上抽樣的特定的預(yù)定電壓電平上。在其它實施例中數(shù)據(jù)寬度指示符401可以重新配置。例如可將數(shù)據(jù)寬度指示符401存儲在存儲器設(shè)備中或者可以是能用軟件寫入的配置寄存器的一部分??偩€控制器138提供代理400與總線101之間的接口??偩€控制器138在總線101之間傳輸各種控制與地址信號并且還控制向和自總線101的數(shù)據(jù)傳輸。如所示,總線101具有64位寬的數(shù)據(jù)總線。在其它實施例中,可采用其它數(shù)據(jù)總線寬度。
本發(fā)明所使用的信號的概要示出在下面的表1中。下面更全面地討論這些信號的交互作用。表1為本發(fā)明所使用的信號的概要,但并不是代理400或總線101所傳輸?shù)男盘柕娜w的列表,而只包含與本發(fā)明最有關(guān)的信號。
表Ⅰ
代理400還包含兩組數(shù)據(jù)緩沖器404與406。代理400包含兩組輸入緩沖器406及兩組輸出緩沖器404。然而,其它實施例可包含更多或更少的數(shù)據(jù)緩沖器,或者既能用于輸入又能用于輸出的數(shù)據(jù)緩沖器而不是兩組不同的緩沖器。
數(shù)據(jù)緩沖器404臨時存儲正在通過總線101從代理400傳輸?shù)搅硪淮淼臄?shù)據(jù)。按照本發(fā)明的一個實施例,各數(shù)據(jù)緩沖器404包括四個獨立的緩沖器404a、404b、404c及404d,各能存儲64位數(shù)據(jù)。各數(shù)據(jù)緩沖器404輸入到多路復(fù)用器403。多路復(fù)用器403受總線控制器138控制,從而在任何特定時間上允許總線控制器138控制將哪64位數(shù)據(jù)部分提供給數(shù)據(jù)線D[63:32]#418與D[31:0]#419。然后將多路復(fù)用器403的輸出輸入到也受總線控制器138控制的第二多路復(fù)用器405。多路復(fù)用器405取來自多路復(fù)用器403的64位數(shù)據(jù)并將高32位或低32位放置在數(shù)據(jù)線D[31:0]#419上。在一個實施例中,放置在數(shù)據(jù)線D[31:0]#419上的32位組是取決于從總線控制器138接收的控制信號的,后者又取決于事務(wù)處理的數(shù)據(jù)傳輸寬度,如下面更詳細地討論的。此外,按照一個實施例,也將來自多路復(fù)用器403的高32位放置在數(shù)據(jù)線D[63:32]#418上,從而對于64位寬的數(shù)據(jù)傳輸可在數(shù)據(jù)總線上獲得高32位。
數(shù)據(jù)緩沖器406臨時存儲正在通過總線101從另一代理傳輸給代理400的數(shù)據(jù)。按照本發(fā)明的一個實施例,各數(shù)據(jù)緩沖器406包括各能存儲64位數(shù)據(jù)的四個獨立緩沖器。緩沖器406及多路復(fù)用器408基本上與緩沖器404及多路復(fù)用器403和405相同,但除外它們在相反方向上工作(即,它們的操作是存儲來自總線的數(shù)據(jù)而不是傳輸數(shù)據(jù)到總線上)。數(shù)據(jù)是從D[31:0]#線路419及有可能從D[63:32]#線路418接收的并通過多路復(fù)用器408放置到數(shù)據(jù)緩沖器406之一中。多路復(fù)用器408根據(jù)來自總線控制器138的控制信號將64位數(shù)據(jù)提供給緩沖器406或?qū)?2位數(shù)據(jù)作為高或低32位提供給緩沖器406,這取決于下面要更詳細地討論的事務(wù)處理的數(shù)據(jù)傳輸寬度。
此外,考慮已將數(shù)據(jù)與總線時鐘異步傳輸,該數(shù)據(jù)已在跨越時鐘周期邊界的窗口中被代理400接收。這樣,將所接收的數(shù)據(jù)鎖存在緩沖器406內(nèi)的抗歪斜鎖存器中(未示出)直到被代理400訪問為止。此外,總線控制器138通常通過確定何時從代理400訪問數(shù)據(jù)用公共時鐘信號重新同步所接收的數(shù)據(jù)與代理400的時鐘。執(zhí)行重新同步的一個實施例的更詳細的說明可在1997年5月6日提交的賦予序號08/852,438的專利申請“采用抗歪斜的鎖存器的主與從設(shè)備之間的信源同步接口”中找到。
在本發(fā)明的一個實施例中,代理可在通過信源同步協(xié)議與公共時鐘協(xié)議的傳輸數(shù)據(jù)之間動態(tài)地改變。這便是,如果所有代理處于總線事務(wù)處理支持信源同步傳輸協(xié)議之中,則相應(yīng)地傳輸數(shù)據(jù)。否則,通過公共時鐘協(xié)議傳輸數(shù)據(jù)。
例如,在本發(fā)明的一個實施例中,當代理400正在總線上發(fā)布請求時,代理400提供它所支持的數(shù)據(jù)傳輸寬度的指示。在一個實施例中,這一指示是用在請求階段的第二時鐘周期中斷言的REQ[4:3]#編碼在REQ[4:0]#414中的。下面表Ⅱ中示出這一實現(xiàn)中支持的特定數(shù)據(jù)傳輸寬度的編碼,其中“0”表示不活躍信號而“1”表示活躍信號。
表Ⅱ
代理400所提供的適當指示是根據(jù)數(shù)據(jù)寬度指示符401的。在一種實現(xiàn)中,數(shù)據(jù)寬度指示符401存儲表Ⅱ中所示的四種編碼之一,并能由總線控制器138直接放在總線上。如果代理400是耦合在總線上的另一代理所發(fā)布的請求的目標,則代理400作為目標代理也提供它所支持的數(shù)據(jù)傳輸寬度的指示。在一個實施例中,這一指示是用DFDY#426、DRDY#428、TRDY#420及TRDYS#422中的一個或多個的組合提供的。下面表Ⅲ中示出請求代理根據(jù)它們來指示其所支持的,這些信號所提供的指示的概要。
表Ⅲ
DRDY#426與DRDYS#428信號還指示傳輸是按照公共時鐘協(xié)議還是信源同步協(xié)議的。這概述在下面表Ⅳ中。
表Ⅳ
在其中不同代理支持32、64或128位傳輸及使用上面表Ⅲ中討論的信號的本發(fā)明的實施例中,參加事務(wù)處理的代理在總線控制器138中維護一個指示請求代理所支持的數(shù)據(jù)傳輸寬度是32或64位、還是64或128位的記錄。對于應(yīng)答起動的事務(wù)處理,保持了DRDY#426與DRDYS#428的記錄。對于請求起動的事務(wù)處理或隱含的寫回事務(wù)處理,保持了TRDY#420與TRDYS#422信號的記錄。保持這一記錄是為了能根據(jù)原始請求斷言TRDY#420與TRDYS#422來指示64位或128位傳輸。窺探代理監(jiān)視TRDY#420與TRDYS#422信號。如果代理400窺探到在總線上命中代理的高速緩沖存儲器中修改的高速緩沖存儲器行的請求,則將要將寫回數(shù)據(jù)放置在總線上的代理400指示其所支持的數(shù)據(jù)傳輸數(shù)據(jù)寬度。在一個實施例中,這一指示是用一或多個DRDY#426與DRDYS#428信號提供的。如上面所討論的,TRDY#420信號及TRDYS#422信號是由目標代理斷言的。下面表Ⅴ中示出根據(jù)請求代理與目標代理兩者所指示的它們所支持的數(shù)據(jù)傳輸寬度,這些信號所提供的指示的概要。
表Ⅴ
圖6為示出按照信源同步協(xié)議的帶隱含寫回的64字節(jié)讀事務(wù)處理事件的定時圖。在這一實施例中,數(shù)據(jù)總線為64位寬,因此事務(wù)處理要求傳輸各64位的8個獨立的塊。
在圖6的示例中,請求代理在T1中斷言ADS#410來起動64字節(jié)讀事務(wù)處理。在T2中,請求代理斷言請求信號{REQ}414的某些位來指示64字節(jié)長度及它是64位/128位代理。在T5中的窺探期間,窺探代理斷言HITM#416。在T7中應(yīng)答代理斷言TRDYS#422及TRDY#420來指示它準備好接受寫回數(shù)據(jù)及它能以信源同步模式執(zhí)行128位數(shù)據(jù)事務(wù)處理。因為應(yīng)答或目標代理負責根據(jù)所接收的原始請求驅(qū)動適當?shù)腡RDY#/TRDYS#信號,解除了窺探代理這一負擔。在T8中,窺探代理抽樣斷言的TRDYS#422及TRDY#420與去斷言的DBSY#424。在T9中,窺探代理通過斷言DBSY#424及SBSY#484開始數(shù)據(jù)階段。窺探代理在T9的75%點上預(yù)先驅(qū)動STBp[3:0]#480。
窺探代理通過斷言DRDYS#428及DRDY#426及在T10與T13之間的BCLK600的上升邊與50%點上在D[63:0]#608上驅(qū)動有效數(shù)據(jù)來開始有效數(shù)據(jù)傳輸。在BCLK600的一個時鐘周期中將兩塊64位數(shù)據(jù)驅(qū)動到總線上。窺探代理在T10與T13之間的BCLK600的25%與75%點(各數(shù)據(jù)傳輸?shù)闹悬c)上驅(qū)動STBp[3:0]#480與STBn[3:0]#482兩者上的上升與下降邊。窺探代理驅(qū)動STBp[3:0]#480上的上升邊并在T14的25%點上將總線移交給下一代理。
大約在窺探代理驅(qū)動選通脈沖之后一個時鐘周期,定中的選通脈沖到達請求與應(yīng)答代理來捕捉數(shù)據(jù)。隨著每一個到達的選通脈沖對,將一塊新數(shù)據(jù)捕捉到請求與應(yīng)答的代理的緩沖器中。在T11中,請求與應(yīng)答代理抽樣DRDYS#428及DRDY#426并知道已發(fā)送了數(shù)據(jù)。稍后,請求代理與應(yīng)答代理將數(shù)據(jù)鎖存到BCLK600域中。這樣,圖6示出總線代理利用信源同步協(xié)議在64位總線的一個時鐘周期中發(fā)送128位數(shù)據(jù)。
在上面的說明書中,已參照其特定示范實施例描述了本發(fā)明。例如,已參照特定系統(tǒng)配置、信號編碼及數(shù)據(jù)傳輸寬度描述了本發(fā)明。對這里所描述的這些特定細節(jié)能作出各種修改與改變,而并不脫離下面的權(quán)利要求中所提出的本發(fā)明的廣義精神及范圍。
權(quán)利要求
1.一種在計算機系統(tǒng)中的總線代理之間傳輸數(shù)據(jù)的方法,包括下述步驟通過第一傳輸協(xié)議從第一代理向第二代理傳輸控制信號;以及通過第二傳輸協(xié)議從所述第一代理向所述第二代理傳輸與所述控制信號對應(yīng)的數(shù)據(jù)。
2.如權(quán)利要求1的方法,其中該第一傳輸協(xié)議是相對于總線時鐘的同步傳輸;以及該第二傳輸協(xié)議是相對于總線時鐘的異步傳輸。
3.如權(quán)利要求2的方法,其中該同步傳輸具有第一數(shù)據(jù)寬度,而該異步傳輸具有第二且不同的數(shù)據(jù)寬度。
4.如權(quán)利要求3的方法,其中該異步傳輸?shù)牡诙?shù)據(jù)寬度大于同步傳輸?shù)牡谝粩?shù)據(jù)寬度。
5.如權(quán)利要求2的方法,其中該同步傳輸為公共時鐘數(shù)據(jù)傳輸協(xié)議;以及該異步傳輸為信源時鐘數(shù)據(jù)傳輸協(xié)議。
6.如權(quán)利要求2的方法,其中同步執(zhí)行數(shù)據(jù)傳輸?shù)牟襟E包括下述步驟對應(yīng)于構(gòu)成數(shù)據(jù)傳輸?shù)亩鄠€數(shù)據(jù)塊的各個,傳輸至少一個選通脈沖;以及利用選通脈沖將數(shù)據(jù)塊鎖存進接收數(shù)據(jù)傳輸?shù)拇淼木彌_器中。
7.如權(quán)利要求6的方法,其中對應(yīng)于數(shù)據(jù)決的選通脈沖是在兩倍總線時鐘速率的速率上傳輸?shù)摹?br>
8.如權(quán)利要求7的方法,其中的數(shù)據(jù)塊是與數(shù)據(jù)總線一樣寬的。
9.如權(quán)利要求6的方法,其中該第一多個數(shù)據(jù)寬度包括128位,及其中的異步數(shù)據(jù)傳輸包括在總線時鐘的一個周期中傳輸128位。
10.如權(quán)利要求6的方法,其中第一多個數(shù)據(jù)寬度包括256位,及其中的異步數(shù)據(jù)傳輸包括在總線時鐘的一個周期中傳輸256位。
11.如權(quán)利要求10的方法,其中該總線為64位寬。
12.一種用于在計算機系統(tǒng)中的總線代理之間傳輸數(shù)據(jù)的裝置,所述裝置包括可進行操作通過第一傳輸協(xié)議從第一代理傳輸控制信號到第二代理的總線;所述總線還可進一步操作通過第二傳輸協(xié)議從所述第一代理將對應(yīng)于所述控制信號的數(shù)據(jù)傳輸?shù)剿龅诙怼?br>
13.如權(quán)利要求12的裝置,其中該第一傳輸協(xié)議為相對于總線時鐘的同步傳輸;以及第二傳輸協(xié)議為相對于總線時鐘的異步傳輸。
14.如權(quán)利要求13的裝置,其中該同步傳輸具有第一數(shù)據(jù)寬度,而該異步傳輸具有第二且不同的數(shù)據(jù)寬度。
15.如權(quán)利要求14的裝置,其中該異步傳輸?shù)牡诙?shù)據(jù)寬度大于同步傳輸?shù)牡谝粩?shù)據(jù)寬度。
16.如權(quán)利要求13的裝置,其中該同步傳輸是公共時鐘數(shù)據(jù)傳輸協(xié)議;以及該異步傳輸為信源時鐘數(shù)據(jù)傳輸協(xié)議。
17.如權(quán)利要求13的裝置,其中為了同步地傳輸數(shù)據(jù),所述總線可進一步操作來傳輸對應(yīng)于構(gòu)成數(shù)據(jù)傳輸?shù)亩鄠€數(shù)據(jù)塊的各個的至少一個選通脈沖,及利用所述選通脈沖將數(shù)據(jù)塊鎖存到接收數(shù)據(jù)傳輸?shù)拇淼木彌_器中。
18.如權(quán)利要求17的裝置,其中在兩倍總線時鐘速率的速率上傳輸對應(yīng)于數(shù)據(jù)塊的選通脈沖。
19.如權(quán)利要求18的裝置,其中的數(shù)據(jù)塊與數(shù)據(jù)總線一樣寬。
20.如權(quán)利要求17的裝置,其中第一多個數(shù)據(jù)寬度包括128位,及其中的異步數(shù)據(jù)傳輸包括在總線時鐘的一個周期中傳輸128位。
21.如權(quán)利要求17的裝置,其中該第一多個數(shù)據(jù)寬度包括256位,及其中的異步數(shù)據(jù)傳輸包括在總線時鐘的一個周期中傳輸256位。
22.如權(quán)利要求21的裝置,其中該總線為64位寬。
全文摘要
在計算機系統(tǒng)(100)中的總線代理(102—105)之間傳輸數(shù)據(jù)的方法與裝置。本發(fā)明包含通過第一傳輸協(xié)議將控制信號(428、426)從第一代理(102—105)傳輸?shù)降诙?102—105);以及通過第二傳輸協(xié)議將對應(yīng)于控制信號(428、426)的數(shù)據(jù)(308)從第一代理(102—105)傳輸?shù)降诙?102—105)。在一個實施例中,控制信號(428、426)是通過相對于總線時鐘(600)的同步傳輸從第一代理(102—105)傳輸?shù)降诙?102—105)的;而數(shù)據(jù)則是通過相對于總線時鐘(600)的異步傳輸傳輸?shù)?。同步傳輸為公共時鐘數(shù)據(jù)傳輸協(xié)議,而異步傳輸則為信源時鐘數(shù)據(jù)傳輸協(xié)議。
文檔編號G06F13/38GK1288544SQ99802152
公開日2001年3月21日 申請日期1999年1月5日 優(yōu)先權(quán)日1998年1月13日
發(fā)明者P·D·麥威廉斯, W·S·吳, D·K·薩姆帕斯, B·A·普拉薩德 申請人:英特爾公司