亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于經(jīng)處理器接口總線轉(zhuǎn)發(fā)數(shù)據(jù)的方法和裝置的制作方法

文檔序號:6416651閱讀:233來源:國知局
專利名稱:用于經(jīng)處理器接口總線轉(zhuǎn)發(fā)數(shù)據(jù)的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及轉(zhuǎn)發(fā)數(shù)據(jù),并且特別地涉及經(jīng)處理器接口總線轉(zhuǎn)發(fā)數(shù)據(jù)。
當(dāng)前,各種總線協(xié)議被典型地用來處理對包含不在主存儲器中保存的可高速緩存或非高速緩存數(shù)據(jù)的本地總線從器件的數(shù)據(jù)轉(zhuǎn)發(fā)。一個獨立的總線協(xié)議典型地被用于直接把保存在主存儲器中的可高速緩存數(shù)據(jù)從一個高速緩沖存儲器轉(zhuǎn)發(fā)到另一個。由于各種總線協(xié)議中的每一個有一套不同的控制引腳,在一個系統(tǒng)內(nèi)使用的協(xié)議越多,需要的控制引腳也越多,從而增加了系統(tǒng)成本和復(fù)雜度。因此,需要一種既支持高速緩沖存儲器到高速緩沖存儲器的轉(zhuǎn)發(fā)器又支持包括本地總線從器件的數(shù)據(jù)轉(zhuǎn)發(fā)器的更有效和更低成本的總線協(xié)議。
通常,本發(fā)明涉及經(jīng)處理器接口總線轉(zhuǎn)發(fā)數(shù)據(jù)的方法和裝置。在一個實施例中,該發(fā)明涉及在一個與處理器接口總線通信的從器件之間轉(zhuǎn)發(fā)數(shù)據(jù),其中處理器接口總線與主器件通信。該方法包括步驟從處理器接口總線接收一個由主器件提供的地址,在處理器接口總線上聲明一個第一信號指示從器件正在服務(wù)相關(guān)的數(shù)據(jù)轉(zhuǎn)發(fā)處理,并在處理器接口總線上聲明一個第二信號來指示使用處理器接口總線來轉(zhuǎn)發(fā)的數(shù)據(jù)是否被與處理器接口總線通信的主存儲器控制器存儲到主存儲器中。數(shù)據(jù)之后在從器件和處理器接口總線之間被轉(zhuǎn)發(fā)。
在另一實施例中,該方法涉及在一個與處理器接口總線通信的從器件之間轉(zhuǎn)發(fā)數(shù)據(jù),其中處理器接口總線與主器件通信。該方法包括從處理器接口總線接收一個由主器件提供的地址,在處理器接口總線上聲明一個第一信號指示從器件正在服務(wù)相關(guān)的數(shù)據(jù)轉(zhuǎn)發(fā)處理,并在處理器接口總線上聲明一個第二信號來指示使用處理器接口總線來轉(zhuǎn)發(fā)的數(shù)據(jù)是否被與處理器接口總線通信的主存儲器控制器存儲到主存儲器中。在處理器接口總線上聲明一個第三信號來指示從器件準(zhǔn)備好執(zhí)行數(shù)據(jù)轉(zhuǎn)發(fā)處理。數(shù)據(jù)之后在從器件和處理器接口總線之間被轉(zhuǎn)發(fā)。
還是在另一實施例中,該方法涉及從一個外部源轉(zhuǎn)發(fā)數(shù)據(jù)到與許多個器件通信的處理器接口總線。該方法包括從外部數(shù)據(jù)源接收數(shù)據(jù)和在響應(yīng)處理器接口總線的控制器中的相關(guān)存儲器地址。在確定這個相關(guān)存儲器地址是否在用于許多個器件的存儲器范圍內(nèi)之后,在處理器接口總線上起動一個寫操作,并且處理器接口總線被監(jiān)控用于來自許多個器件的許多個響應(yīng)。來自許多個器件的子集的數(shù)據(jù)準(zhǔn)備好信號經(jīng)處理器接口總線被接收。處理器接口總線被控制,并且允許處理器接口總線接入到許多個器件的子集。從外部數(shù)據(jù)源接收的數(shù)據(jù)之后被轉(zhuǎn)發(fā)到處理器接口總線。
在本發(fā)明的一個實施例中,裝置是一個包括處理器接口總線,響應(yīng)處理器接口總線的存儲器控制器,響應(yīng)存儲器控制器的存儲器器件,作為一個主器件工作的響應(yīng)處理器接口總線的第一器件和第二器件的數(shù)據(jù)處理系統(tǒng)。第二器件作為一個從器件工作響應(yīng)處理器接口總線,并在處理器接口總線上聲明一個第一信號指示從器件正在服務(wù)一個的數(shù)據(jù)轉(zhuǎn)發(fā)處理。第二器件在處理器接口總線上聲明一個第二信號來指示使用處理器接口總線轉(zhuǎn)發(fā)的數(shù)據(jù)是否被與處理器接口總線通信的主存儲器控制器存儲到存儲器中。
在另一實施例中,裝置是一個包括處理器接口總線,響應(yīng)處理器接口總線的存儲器控制器,響應(yīng)存儲器控制器的存儲器器件,作為一個主器件工作的響應(yīng)處理器接口總線并具有第一高速緩沖存儲器的第一器件。數(shù)據(jù)處理系統(tǒng)也包括響應(yīng)處理器接口總線的作為一個從器件工作并具有第二緩沖存儲器的第二器件。處理器接口總線遵照總線協(xié)議來工作,其中總線協(xié)議處理包括在第一器件的第一緩沖存儲器存儲器和第二器件的第二緩沖存儲器存儲器之間轉(zhuǎn)發(fā)數(shù)據(jù)的第一操作和包括在第一和第二器件中的一個和連到處理器接口總線的本地總線從器件之間轉(zhuǎn)發(fā)數(shù)據(jù)的第二操作。


圖1是示意根據(jù)本發(fā)明的一個實施例的一個數(shù)據(jù)處理系統(tǒng)的方框圖。
圖2是示意圖1的總線的總體圖。
圖3是以圖表方式示意在圖1的數(shù)據(jù)處理系統(tǒng)內(nèi)構(gòu)成處理器接口總線的總線階段。
圖4是示意在圖3的總線階段106,108和110內(nèi)執(zhí)行的一種特定方法的流程圖。
圖5是示意在圖3的總線階段104,106,108和110期間在總線和一個從者之間通信的一種方法的流程圖。
圖6是示意圖5的數(shù)據(jù)轉(zhuǎn)發(fā)步驟的流程圖。
圖7是示意根據(jù)本發(fā)明的一個實施例的廣播方法的流程圖。
圖1示意包含都連到處理器接口總線34的第一微處理器12,第二微處理器14,附加微處理器16(如果需要),一個三級高速緩存(levelthree Cache)18,其它從器件20,主從器件22和片設(shè)置32的數(shù)據(jù)處理系統(tǒng)10。第一微處理器12連到第一二級高速緩存(level two Cache)24,第二微處理器14連到第二二級高速緩存26。微處理器16連到二級高速緩存28。存儲器30連到主從器件22。主存儲器36連到片設(shè)置32。片設(shè)置32包括地址控制器44,數(shù)據(jù)控制器46和一個用于主存儲器36的存儲器控制器(未示出)。片設(shè)置32也包括一個總線仲裁單元48。片設(shè)置32也經(jīng)由總線38連到輸入/輸出器件40和其它總線模塊42。在一個實施例中,總線38是一個外圍I/O總線。在另一個實施例中可以包括地址,數(shù)據(jù)和作為片設(shè)置32外部的獨立單元的存儲器控制器,或也可包括在一單個控制器內(nèi)集成的所有這些控制器。片設(shè)置32功能類似于在現(xiàn)代臺式計算機系統(tǒng)中可發(fā)現(xiàn)的片設(shè)置。因此,片設(shè)置的特定功能和設(shè)計取決于它被用于的系統(tǒng)。在圖1中所示的數(shù)據(jù)系統(tǒng)10的操作將參考圖2-7進(jìn)一步描述。
圖1的總線34的一個特定實施例在圖2中示意。在一個實施例中,總線34包含2個部分一個地址總線50及其相關(guān)控制和特征比特和具有相關(guān)控制比特的數(shù)據(jù)總線60。在這個實施例中,地址和數(shù)據(jù)總線是分離的,但在另一實施例中,地址和數(shù)據(jù)可以連到一單個總線結(jié)構(gòu)。另外的實施例也可以把總線分成各個不同部分,其中控制與控制和特征是單獨的總線或連接在一起??偩€尺寸取決于用于數(shù)據(jù)處理系統(tǒng)10所需的地址比特,數(shù)據(jù)比特和控制和特征比特的數(shù)目,這樣可因系統(tǒng)而異并可作相應(yīng)設(shè)計。處理器總線34功能類似于在現(xiàn)代臺式計算機系統(tǒng)中可發(fā)現(xiàn)的那些總線。在本技術(shù)中的那些普通技術(shù)人員應(yīng)注意總線設(shè)計取決于數(shù)據(jù)處理系統(tǒng)需求而改變。例如,為了實現(xiàn)所要求的總線協(xié)議,需要不同的控制信號用于處理器總線。
圖3示意發(fā)生在圖1的數(shù)據(jù)處理系統(tǒng)10內(nèi)的一個高級處理流100。根據(jù)所發(fā)生的相對時間段的不同,處理流包括各個總線階段102,104,106,108和110。在地址仲裁階段102期間,位于片設(shè)置32的仲裁單元48確定請求地址總線50的那些器件中的哪個器件接收地址總線50的所有權(quán)用于處理。在另一實施例中,仲裁單元48可以作為一個獨立單元位于片設(shè)置32外部。一旦仲裁單元48作了一個判決,在地址轉(zhuǎn)發(fā)階段104期間,擁有總線所有權(quán)的那個器件,即主器件,在地址總線50上放置一個主地址和它的相關(guān)控制比特。在地址(探查(snoop))響應(yīng)階段106,連到總線34的其它器件探查,即監(jiān)控,地址總線50來確定他們是否需要響應(yīng)主地址。對于一個給定的處理,請求處理的器件變?yōu)橹髌骷憫?yīng)地址的器件變?yōu)闉橹髌骷奶幚碚埱蠓?wù)的從器件。
在數(shù)據(jù)仲裁階段108,包含與主器件地址相關(guān)聯(lián)的數(shù)據(jù)的器件之后請求對數(shù)據(jù)總線60的所有權(quán)。對數(shù)據(jù)總線60的所有權(quán)允許包含數(shù)據(jù)的器件在處理期間控制在數(shù)據(jù)總線60上的信息。一旦仲裁單元48將數(shù)據(jù)總線60授權(quán)給請求數(shù)據(jù)總線的那(幾)個器件,數(shù)據(jù)轉(zhuǎn)發(fā)階段110出現(xiàn),數(shù)據(jù)在主器件和從器件之間被轉(zhuǎn)發(fā)。注意在另一實施例中,一些總線階段根據(jù)數(shù)據(jù)處理系統(tǒng)10的設(shè)計要求可能同時出現(xiàn)或在時間上先后出現(xiàn)。而且,在另一實施例中,用于后續(xù)處理的總線階段可能與用于前面處理的總線階段重疊(或稱流水線型)。而且,用于不同處理的數(shù)據(jù)轉(zhuǎn)發(fā)階段相對于他們的相關(guān)地址階段可被重新排序。
圖4示意描述運用片設(shè)置32經(jīng)總線34的一個示意性數(shù)據(jù)轉(zhuǎn)發(fā)處理的一個流程圖200。流程圖200以具有判決菱形202的圖3的探查響應(yīng)周期106開始。本地總線器件指連到總線34的那些器件,象器件22,20,12,14和18。如果在探查地址之后沒有本地總線器件要求處理,片設(shè)置32于是如在方框204中所示服務(wù)處理本身。在另一方面,如果本地總線器件,例如主從器件22或其它從器件20,要求處理,流繼續(xù)到判決菱形206。如果本地總線器件請求了處理并聲明了一個snarf信號,那么本地總線器件已接受了一個處理(從而變?yōu)閺钠骷?并通知片設(shè)置32主存儲器36需要被更新。在本發(fā)明的一個實施例中,當(dāng)它已變更了被請求的數(shù)據(jù)并從而希望把更新的數(shù)據(jù)寫入主存儲器36和請求器件時,本地總線從器件聲明一個snarf信號。在另一實施例中,本地總線從器件(如寫直通緩存器)當(dāng)接收了來自另一個器件的數(shù)據(jù)從而數(shù)據(jù)也將向前送到主存儲器36時,也聲明一個snarf信號。在又一實施例中,片設(shè)置32可以缺省為snarf模式,除非由從器件聲明了一個非snarf信號。在這種情況下,數(shù)據(jù)被寫入主存儲器36除非聲明了一個信號來指示不是snarf。
一旦本地總線從器件準(zhǔn)備好數(shù)據(jù)轉(zhuǎn)發(fā)(判決菱形208),本地總線從器件聲明一個數(shù)據(jù)準(zhǔn)備好信號,通知仲裁單元48本地總線從器件在請求數(shù)據(jù)總線60(方框210)。如果由主器件最先請求的處理類型是一個讀,那么執(zhí)行一個snarf操作,并在本地總線從器件和主器件之間轉(zhuǎn)發(fā)數(shù)據(jù)(方框212),同時寫數(shù)據(jù)到主存儲器36。另一方面,如果處理是一個讀取并想修改(read-with-intent-to-modify)(RUITM),在本地總線從器件和主器件之間的數(shù)據(jù)轉(zhuǎn)發(fā)出現(xiàn),但沒有數(shù)據(jù)被寫入主存儲器36(如在方框218中所示)。
如果在判決菱形206,從器件不聲明一個snarf信號,那么對于該處理不寫入主存儲器36是必要的。一旦數(shù)據(jù)準(zhǔn)備好發(fā)送,本地總線從器件聲明數(shù)據(jù)準(zhǔn)備好信號(在判決菱形214),請求數(shù)據(jù)總線60的控制。當(dāng)在方框216中被授予了數(shù)據(jù)總線60的控制權(quán)時,在方框218中,在本地總線從器件和主器件之間的數(shù)據(jù)轉(zhuǎn)發(fā)出現(xiàn)在數(shù)據(jù)總線60上。
在本發(fā)明的一個實施例中,主器件可以是一個微處理器,象微處理器12,14或16中的一個,或主/從器件22,從器件可以是另一個微處理器,三級高速緩存18,主/從器件22或其它從器件20。在某一特定實施例中,主/從器件22可以是具有存儲器30作為它的幀緩沖器的圖形控制器。在某一特定實施例中,其它從器件20可以是一個高速緩存控制器,用于控制一個其地址在主存儲器36的地址外的存儲器的存儲器控制器,或一個專用協(xié)處理器。另一個實施例可以只包括一個微處理器和各種主/從器件和其它從器件的組合。
圖5是運用總線34的本地總線器件轉(zhuǎn)發(fā)數(shù)據(jù)的流程圖。在方框302中,本地總線器件從地址總線50探查主器件地址,接著,取決于器件類型(判決菱形304),用一種特定的方法來確定是否將用數(shù)據(jù)轉(zhuǎn)發(fā)器來服務(wù)該地址。如果本地總線器件是一個高速緩存控制器(因而具有一個高速緩存功能),那么本地總線器件的存儲器是主存儲器36的子集。例如,在圖1中,二級高速緩存24和在微處理器12內(nèi)發(fā)現(xiàn)的第一高速緩存是主存儲器36的子集。在這種情況下,存儲器一致性是在主存儲器36和主存儲器36的子集(例如二級高速緩存24或第一緩存器)之間的一個考慮。如果器件請求數(shù)據(jù),包含被請求數(shù)據(jù)的器件需要獲取數(shù)據(jù)的最近更新的版本。
然而,如果本地總線器件是一個獨立的存儲器范圍控制器,那么它包含一個在主存儲器36中不會找到的獨立的存儲器范圍。例如,在圖1中,存儲器30(象用于圖形控制器的幀緩沖器)可以是一個在主存儲器36中不會找到的獨立的存儲器范圍。
如果本地總線器件是一個高速緩存控制器,并且在地址總線50上探查到的地址在它的相關(guān)高速緩存內(nèi)被找到,例如當(dāng)?shù)刂放c高速緩存內(nèi)的一個標(biāo)記匹配時,那么存儲器命中發(fā)生。在判決菱形306,如果存儲器命中不發(fā)生,流返回方框302。在一個實施例中,用于總線34的干預(yù)協(xié)議(intervention protocol)對于高速緩存到高速緩存的干預(yù)(intervention),可以是編程使能或不使能。另外地,干預(yù)協(xié)議可以在硬件上使能或不使能。干預(yù)協(xié)議,如果是使能的,允許直接在本地總線器件之間的數(shù)據(jù)轉(zhuǎn)發(fā),例如在處理器之間的高速緩存到高速緩存的轉(zhuǎn)發(fā),而不是不得不把數(shù)據(jù)轉(zhuǎn)發(fā)到主存儲器36或從主存儲器36轉(zhuǎn)發(fā)數(shù)據(jù)。
如果干預(yù)是不使能的(判決菱形308)和被請求的數(shù)據(jù)未被本地總線從器件變更(判決菱形310),那么本地總線從器件已完成了它的處理,而主器件將接收來自主存儲器36而不是來自本地總線從器件的數(shù)據(jù)。流之后返回方框302。然而,如果數(shù)據(jù)已被變更,在方框312中,本地總線從器件發(fā)布一個指示重試請求的探查響應(yīng)。重試請求通知主器件在主存儲器36中的數(shù)據(jù)不是變更的版本,并等待和在稍后時間時重試它的處理請求。在方框314中,本地總線從器件之后把變更的數(shù)據(jù)寫入主存儲器36中。在這點上,本地總線從器件已完成了它的處理,并且在本地總線從器件內(nèi)的數(shù)據(jù)不再被標(biāo)記為變更的。流之后返回方框302。主者現(xiàn)在可以重新請求它的處理,并從主存儲器36讀取更新的數(shù)據(jù)。
在另一方面,如果在判決菱形308,干預(yù)是使能的,那么允許直接在本地總線器件之間的處理。如果干預(yù)是使能的并且被請求的數(shù)據(jù)已被本地總線從器件變更(判決菱形316),在方框318中,本地總線從器件通過聲明一個第一信號,也稱作一個命中信號來請求處理。本地總線從器件同時聲明一個第二信號,也稱作snarf信號,目的是強迫把變更的數(shù)據(jù)值寫入主存儲器36(方框320)。因此,即使主器件將直接把數(shù)據(jù)轉(zhuǎn)發(fā)到本地總線從器件或轉(zhuǎn)發(fā)來自本地總線從器件的數(shù)據(jù),主存儲器36將接收數(shù)據(jù)的一個更新拷貝。流之后繼續(xù)到方框326中的數(shù)據(jù)轉(zhuǎn)發(fā)步驟,將參考圖6在下面進(jìn)一步描述。
干預(yù)協(xié)議不僅允許變更的干預(yù),而且對于未變更的干預(yù)也如此,如由判決菱形322所示意。即使數(shù)據(jù)未被本地總線器件變更而且因此也能從主存儲器36釋放時,未變更的干預(yù)也允許本地總線器件轉(zhuǎn)發(fā)。如果數(shù)據(jù)未被變更并且未變更的干預(yù)不使能,那么本地總線從器件已完成了它的處理,主器件將從主存儲器36獲得它的信息。流再次回到方框302。然而,如果未變更的干預(yù)被使能并且數(shù)據(jù)未被本地總線從器件作變更,本地總線從器件將聲明一個命中信號而不聲明snarf信號(方框324),以致無snarf出現(xiàn)。Snarf在這種情況下是不必要的,因為數(shù)據(jù)未作變更;因此,由于主存儲器36已有了數(shù)據(jù)的一個最新版本,不需要對主存儲器36的寫入。流之后繼續(xù)到方框326的數(shù)據(jù)轉(zhuǎn)發(fā)。
如果在判決菱形304處上述的器件類型是一個獨立存儲器范圍的控制器,那么一旦找到了主地址,本地總線從器件在判決菱形328處確定如果主地址落入它的存儲器范圍,一個存儲器命中發(fā)生。如果存儲器命中出現(xiàn)并且本地總線從器件負(fù)責(zé)服務(wù)處理(判決菱形330),那么在方框324中,本地總線從器件將通過聲明一個命中信號請求一個處理。再次,不需要snarf,因為本地總線器件的存儲器范圍在主存儲器36之外。這樣不需要并且不希望對主存儲器36的寫,因為地址位置根本不在主存儲器36內(nèi)。在這點上,我們到達(dá)了方框326的數(shù)據(jù)轉(zhuǎn)發(fā)步驟。
圖6示意到或來自本地總線從器件的數(shù)據(jù)轉(zhuǎn)發(fā)步驟326。如果處理類型是一個讀(判決菱形350),在方框352中,本地總線從器件提取要發(fā)送給主器件的數(shù)據(jù)。如果處理是一個寫,在方框354中,本地總線從器件準(zhǔn)備接收來自主器件的數(shù)據(jù)。在一個讀處理中,從器件是準(zhǔn)備提供數(shù)據(jù)的器件,而在一個寫處理中,主器件是準(zhǔn)備提供數(shù)據(jù)的器件。一旦從器件準(zhǔn)備好要進(jìn)行的轉(zhuǎn)發(fā),在方框356中,它將通過聲明一個第三信號,也稱作數(shù)據(jù)準(zhǔn)備好信號來請求數(shù)據(jù)總線60。在這點上,提供要轉(zhuǎn)發(fā)的數(shù)據(jù)的器件將等待接入到數(shù)據(jù)總線60(方框358)。一旦給予了數(shù)據(jù)總線60的所有權(quán),提供數(shù)據(jù)的器件如在方框360中所示通過把數(shù)據(jù)放在數(shù)據(jù)總線60上來轉(zhuǎn)發(fā)數(shù)據(jù),以供接收器件接收(并寫入它的存儲器或高速緩存)。
在一個實施例中,數(shù)據(jù)總線60和地址總線50是分離的(如圖2中所示),以便當(dāng)本地總線從器件提取數(shù)據(jù)或準(zhǔn)備接收數(shù)據(jù)時,數(shù)據(jù)總線60可自由被其它器件使用。在這種方式中,數(shù)據(jù)總線60被自由用于其它使用,直到仲裁單元48在已接收了數(shù)據(jù)準(zhǔn)備好信號之后把數(shù)據(jù)總線60的所有權(quán)給予本地總線從器件。在另一實施例中,從器件被假定能夠在一個寫操作期間,立即地,接收來自主器件的數(shù)據(jù)。在這種情況下,當(dāng)從器件請求了一個發(fā)自主器件的寫時,不必聲明一個數(shù)據(jù)準(zhǔn)備好信號。
本發(fā)明的一個實施例使用如上所述的3個信號的混合。當(dāng)存儲器命中發(fā)生時,由本地總線從器件聲明一個命中信號,當(dāng)數(shù)據(jù)準(zhǔn)備好被轉(zhuǎn)發(fā)時,發(fā)送一個數(shù)據(jù)準(zhǔn)備好信號,當(dāng)要進(jìn)行snarf從而允許數(shù)據(jù)向前送給主存儲器36時,聲明一個snarf信號。這些信號允許既支持高速緩存到高速緩存的轉(zhuǎn)發(fā)又支持包含本地總線從器件和主存儲器36的讀和寫的一單一協(xié)議(如參考圖2-6中描述的)。由于在這個實施例中對于這個公共協(xié)議只需要3個信號,在數(shù)據(jù)處理系統(tǒng)10中為獲得該協(xié)議,不需要總線34有多于3個的控制引腳。在一個特定實施例中,通過為了指示數(shù)據(jù)不需被snarf到主存儲器36,在探查響應(yīng)窗口后的一個附加周期聲明命中信號,可把命中信號和snarf信號時分復(fù)用到一單個引腳上,這樣就只要有兩個控制引腳。這可被稱為擴展的命中協(xié)議,其中對于命中和snarf信號只需一個擴展引腳,原因是他們通過這個共同引腳按順序先后被聲明。
探查窗是指片設(shè)置32將等待多長時間來接收來自找到主地址的從器件的探查響應(yīng)。在一個實施例中,該探查窗可以是一個固定長度,或者在數(shù)據(jù)處理系統(tǒng)10中可由用戶編程。在另一實施例中,可使用不同的方法來確定一個命中信號或snarf信號何時被從器件中的任何一個聲明。
上面的實施例有幾個優(yōu)點。例如,對于提供高速緩存到高速緩存轉(zhuǎn)發(fā)只使用2個擴展引腳和對寫入主存儲器的可選使用既降低了系統(tǒng)成本也降低了復(fù)雜度。使用用于許多個不同處理的一單個協(xié)議,例如從器件和內(nèi)部處理器高速緩存轉(zhuǎn)發(fā),允許使用這樣一個協(xié)議在數(shù)據(jù)處理系統(tǒng)上對相應(yīng)的許多不同系統(tǒng)和軟件功能方便地和低成本地執(zhí)行。這樣,上面的實施例滿足了對一個既支持高速緩存到高速緩存轉(zhuǎn)發(fā)又支持包括本地總線從器件的數(shù)據(jù)轉(zhuǎn)發(fā)的低成本和有效的總線協(xié)議的需求。然而,本技術(shù)中的那些普通技術(shù)人員應(yīng)該注意另外的實施例會需要使用更多的擴展引腳,不同的信號或?qū)π盘柦M的不同編碼來實現(xiàn)該公共協(xié)議。
圖7示意允許廣播協(xié)議的本發(fā)明的另一實施例。在此實施例中,在方框402中,系統(tǒng)控制器接收了來自I/O40中的一個或在總線38上找到的其它總線模塊42的外部數(shù)據(jù)。如果,在判決菱形404,系統(tǒng)控制器確定外部數(shù)據(jù)保存在主存儲器36或I/O地址范圍內(nèi),那么后面是一個正常處理(方框406),不執(zhí)行廣播。如果外部數(shù)據(jù)不落在主存儲器36或I/O地址范圍內(nèi),廣播寫處理的器件控制到總線34的寫地址(方框408)。在另一實施例中,廣播器件將確認(rèn)數(shù)據(jù)不需拷貝到主存儲器36和廣播到在總線34上的本地總線器件的地址范圍。在總線34上的所有器件,不管他們是主器件或從器件,為了確定地址是否落在他們的存儲器范圍,監(jiān)控總線以探查地址(方框410)。如果這樣,他們的存儲器范圍包含主地址的器件將通過聲稱一個命中信號作為他們的探查響應(yīng)來請求處理。產(chǎn)生廣播的器件,例如片設(shè)置32的仲裁單元48,監(jiān)控來自所有其它器件的探查響應(yīng)用于命中信號。
在一個實施例中,由片設(shè)置32產(chǎn)生廣播,而在另一個實施例中,在總線34上的任何主器件將產(chǎn)生廣播。一旦在總線34上器件準(zhǔn)備好接收來自片設(shè)置32的廣播寫,器件通過聲明它們的數(shù)據(jù)準(zhǔn)備好信號請求數(shù)據(jù)總線60的所有權(quán)。一旦仲裁單元48接收了來自聲明命中信號的每個器件的所有數(shù)據(jù)準(zhǔn)備好信號(方框412和414),仲裁單元48把數(shù)據(jù)總線60的所有權(quán)給予這些器件的每一個和主器件(方框416)。在方框418中數(shù)據(jù)之后被轉(zhuǎn)發(fā)到數(shù)據(jù)總線60,以便聲明命中信號的這些器件的每一個將能吸收數(shù)據(jù)(讀取來自總線34的數(shù)據(jù)并把數(shù)據(jù)寫入它們的存儲器或高速緩存)。一旦數(shù)據(jù)被轉(zhuǎn)發(fā)給從器件,處理結(jié)束。
盡管本發(fā)明已參考特定的實施例來描述,對本技術(shù)的那些熟練人員可作進(jìn)一步的變更和改進(jìn)。而且,本技術(shù)的那些熟練人員應(yīng)該注意在設(shè)計和部件上的改動仍能實現(xiàn)本發(fā)明的功能。因此,應(yīng)該理解,本發(fā)明包含不偏離如附后的權(quán)利要求書中所定義的本發(fā)明范圍的所有這些變更和它的等效。
權(quán)利要求
1.一種在與處理器接口總線通信的從器件之間轉(zhuǎn)發(fā)數(shù)據(jù)的方法,其中處理器接口總線與主器件通信,其特征在于包括下列步驟接收來自處理器接口總線的地址,該地址由主器件提供;在處理器接口總線上聲明一個第一信號指示從器件正在服務(wù)一個數(shù)據(jù)轉(zhuǎn)發(fā)處理;在處理器接口總線上聲明一個第二信號來指示將使用處理器接口總線來轉(zhuǎn)發(fā)的數(shù)據(jù)是否將被與處理器接口總線通信的主存儲器控制器存儲到主存儲器中;和在從器件和處理器接口總線之間轉(zhuǎn)發(fā)數(shù)據(jù)。
2.權(quán)利要求1的方法,其中數(shù)據(jù)轉(zhuǎn)發(fā)處理是一個讀操作,并且還包括確定對于從器件是否使能了高速緩存到高速緩存的干預(yù)操作的步驟。
3.權(quán)利要求1的方法,其特征在于包括如果第二信號已被聲明,把來自處理器接口總線的數(shù)據(jù)存儲到外部存儲器的步驟。
4.權(quán)利要求1的方法,其特征在于包括確定轉(zhuǎn)發(fā)的數(shù)據(jù)是否已被變更的步驟。
5.權(quán)利要求4的方法,其中當(dāng)轉(zhuǎn)發(fā)的數(shù)據(jù)已被變更時,第二信號不被聲明。
6.權(quán)利要求4的方法,其中當(dāng)轉(zhuǎn)發(fā)的數(shù)據(jù)未被變更時,第二信號被聲明。
7.權(quán)利要求1的方法,其中第一信號和第二信號經(jīng)處理器接口總線的一個共同引腳被先后聲明。
8.權(quán)利要求1的方法,其特征在于包括確定被轉(zhuǎn)發(fā)的數(shù)據(jù)是否是未變更的數(shù)據(jù)的步驟和確定對于未變更的數(shù)據(jù)是否使能了高速緩存到高速緩存的干預(yù)的步驟。
9.權(quán)利要求1的方法,其特征在于包括轉(zhuǎn)發(fā)數(shù)據(jù)給主器件但不給主存儲器的步驟。
10.一個數(shù)據(jù)處理系統(tǒng),其特征為處理器接口總線;響應(yīng)處理器接口總線的存儲器控制器;響應(yīng)存儲器控制器的存儲器器件;響應(yīng)處理器接口總線作為一個主器件工作的第一器件;和響應(yīng)處理器接口總線作為一個從器件工作的第二器件,第二器件在處理器接口總線上聲明一個第一信號來指示從器件正在服務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)處理并在處理器接口總線上聲明一個第二信號指示將被運用處理器接口總線轉(zhuǎn)發(fā)的數(shù)據(jù)是否將被主存儲器控制器存入存儲器器件。
全文摘要
一種在與處理器接口總線(34)通信的從器件(20)之間轉(zhuǎn)發(fā)數(shù)據(jù)的方法,其中處理器接口總線與主器件(12)通信,該方法包括接收來自處理器接口總線(34)的一個地址,其中地址由主器件提供(方框302)。在處理器接口總線(34)上聲明一個第一信號(方框318和324)指示從器件(20)正在服務(wù)一個數(shù)據(jù)轉(zhuǎn)發(fā)處理。在處理器接口總線(34)上聲明一個第二信號(方框320)來指示將使用處理器接口總線(34)轉(zhuǎn)發(fā)的數(shù)據(jù)是否將被與處理器接口總線(34)通信的主存儲器控制器(32)存儲到主存儲器(36)中。數(shù)據(jù)在從器件(20)和處理器接口總線(34)之間被轉(zhuǎn)發(fā)(方框326)。
文檔編號G06F15/16GK1245929SQ9911016
公開日2000年3月1日 申請日期1999年7月5日 優(yōu)先權(quán)日1998年7月6日
發(fā)明者戴維·威廉姆·托德, 邁克爾·蒂安·辛德, 布賴恩·凱斯·雷諾爾德斯, 邁克爾·朱里奧·噶西亞 申請人:摩托羅拉公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1