TW472193B - Method and apparatus for transferring data over a processor interface bus - Google Patents
Method and apparatus for transferring data over a processor interface bus Download PDFInfo
- Publication number
- TW472193B TW472193B TW088111377A TW88111377A TW472193B TW 472193 B TW472193 B TW 472193B TW 088111377 A TW088111377 A TW 088111377A TW 88111377 A TW88111377 A TW 88111377A TW 472193 B TW472193 B TW 472193B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor interface
- interface bus
- data
- bus
- memory
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000015654 memory Effects 0.000 claims abstract description 104
- 238000012546 transfer Methods 0.000 claims abstract description 31
- 238000004891 communication Methods 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 229910003460 diamond Inorganic materials 0.000 description 15
- 239000010432 diamond Substances 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 239000013078 crystal Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical group OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 101100314580 Mus musculus Trim2 gene Proteins 0.000 description 1
- 101150107587 Narf gene Proteins 0.000 description 1
- 241000282376 Panthera tigris Species 0.000 description 1
- 101100305528 Xenopus laevis rnf138 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000009395 breeding Methods 0.000 description 1
- 230000001488 breeding effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 210000000078 claw Anatomy 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Description
472193 五、發明說明(1) - 先前申請之依據 本專利申請已在美國提出,該項美國專利申請係於一九 九八年七月六曰被受理,專利申請案號為〇 9/ 1 1 0 . 3 5 1。 發明之領域 本發明概言之係與傳送資料有關,更明確言之,係與藉 由一處理器介面匯流排傳送資料之操作有關。 發明背景 目如’各種不同的匿流排協定通常都是用以處理局部匯 流排從屬裝置中所含有但並非位於主記憶體内之可高速緩 衝處理資料或不可高速緩衝處理資料之資料傳送。通常都 是使用-一分離的匯流排協定將位於主記憶體内之可高速緩 衝處理資料直接自一高速緩衝記憶體傳送(移轉)至另一高 速緩衝處理記憶體。因為每一不同之匯流排協定各有一組 不同之控制梢,在一系統中使用較多的協定,也就需要較 多的控制梢,從而必會增加製造成本與裝置複雜性。因 此,乃需要開發一種更有效且成本較低廉之匯流排協定以 支援與一局部匯流排從屬裝置有關之高速緩衝記憶體至另 一高速缓衝記憶體之間的操作功能移轉以及資料移轉。 附圖簡要說明 圖1所示係依本發明一個具體實例所採用之資料處理系 統之方塊圖。 圖2所示係說明圖1中匯流排之概略圖。 圖3所示係圖1中f料處理系統内處理器介面匯流排之各 匯流階段功能說明簡圖。
第5頁 472193 五、發明說明(2) - 圖4所示係說明在圖3所示匯流階段1 0 6,1 0 8及1 1 0内執 行一特定操作方法之流程圖。 圖5所示係說明圖3中各匯流階段1 0 4,1 0 6,1 0 8及1 1 0 内,匯流排與一從屬裝置之間的通訊方法流程圖。 圖6所示係說明圖5中資料傳送步驟流程圖。 圖7所示係說明根據本發明設計之一種具體實例中資料 播送方法之流程圖.。 發明之詳細說明 概言之,本發明係與一種用以在一處理器介面匯流排上 傳送資料的方法與裝置有關。在一種具體實例中,本方法 係用以在一從屬裝置與一處理器介面匯流排之間通訊期間 傳送資料,該處理器介面匯流排也與一主要裝置相互通 訊。本方法之各項作業步驟包括從該處理器介面匯流排上 接收原由該主要裝置提供的位置資料,並將一第一信號施 加在該處理器介面匯流排上以顯示該從屬裝置正在進行相 關資料傳送操作,同時將一第二信號施加在該處理器介面 匯流排上以顯示利用該處理器介面匯流排傳送的資料是否 將由一個與該處理器介面匯流排通訊之主記憶體控制器而 儲存在該主記憶體内。然後即將該資料於該從屬裝置和該 處理器介面匯流排之間傳送。 在另一具體實例中,本方法係用以在一從屬裝置與一處 理器介面匯流排之間通訊期間傳送資料,該處理器介面匯 流排也與一主裝置祖互通訊。本方法之各項作業步驟包 • · 括:從該處理器介面匯流排上接收原由該主裝置提供之一
472103 五、發明說明(3) - 個位置資料,並將一第一信號施加在該處理器介面匯流排 上以顯示該從屬裝置正在執行相關資料傳送操作,同時將 一第二信號施加至該處理器介面匯流排上以顯示利用處理 器介面匯流排傳送之資料是否將由一個與該處理器介面匯 流排通訊之主記憶體控制器儲存在該主記憶體内。另外, 也有一第三信號被施加至該處理器介面匯流排上以顯示該 從屬裝置以備妥可立即執行該項資料傳送操作。然後即將 該資料於該從屬裝置和處理器介面匯流排之間傳送。 在另一具體實例中,本方法係用以將資料從一外接資料 源傳送至一個與若干裝置進行通訊之處理器介面匯流排 上。本方法包括在一個與該處理器介面匯流器配合操作之 控制器上接收由一外接資料源提供之資料和相關之記憶體 位置。當確定該相關記憶體位置是否在該多個裝置有關之 記憶體容量範圍之内以後,就在該處理器介面匯流排上開 始進行一項寫入操作,同時並檢察該處理器介面匯流排有 否收到來自該等多個裝置之多個回應信號。該處理器介面 匯流排上如收到來自該多個裝置中任一子集裝置之資料準 備信號時,該處理器介面匯流排即受到控制,並取得可向 該多個裝置之該子集裝置存取資料之許可。然後,從該外 接資料源處收到之資料乃被傳送至該處理器介面匯流排。 在本發明的一個具體實例中,該裝置係一資料處理系 統,包括一處理器免面匯流排,一個響應於該處理器介面 * · 匯流排之記憶體控制器,一個響應於該記憶體控制器之記
第7頁 472193 五、發明說明(4) — 憶體裝置,一個執行一主要裝置操作且響應於該處理器介 面匯流排之第一裝置,以及一第二裝置。該第二裝置響應 於該處理器介面匯流排,其功能係一從屬裝置,可將一第 一信號施加至該處理器介面匯流排上以顯示該從屬裝置正 在執行一資料傳送操作。第二裝置同時也將一第二信號施 加在該處理器介面匯流排上以顯示是否應由該主記憶體控 制器將該項由處理器介面匯流排傳送的資料儲存在該記 憶體裝置内。 在另一具體實例中,本發明裝置係一資料處理系統,包 括一處理器介面匯流排,一個響應於該處理器介面匯流排 之記憶體控制器,一個響應於該記憶體控制器之主記憶 體,一個響應於該處理器介面匯流排,執行主要裝置操作 並具有一第一高速缓衝記憶體之第一裝置。該資料處理系 統亦包括一第二裝置,響應於該處理器介面匯流排,執行 一從屬裝置操作,並具有一第二高速緩衝記憶體。處理器 介面匯流排係依照一匯流排協定之指令而操作,該匯流排 協定處理之第一種操作包括在該第一裝置之第一高速緩衝 記憶體和該第二裝置之第二高速緩衝記憶體之間傳送資 料;以及一第二種操作,包括在第一和第二裝置二者之一 和一耦接至該處理器介面匯流排之局部從屬裝置之間傳送 資料。 圖1所示之資料處理系統1 0包含一第一微處理器1 2,一 第二微處理器1 4,附加声處理器1 6 (如需要時),一個第三 級高速緩衝記憶體1 8,其他從屬裝置2 0,主從屬裝置2 2,
472193 五、發明說明(5) ' — 和晶片組32,均耦接至該處理器介面匯流排34。第.一微處 理器1耦接至一第一個二級高速緩衝記憶體以,而第二微 處if !§' 1 4係耦接至一第二個二級高速緩衝記憶體26。微處 理器1 6係輕接至二級高速緩衝記憶體2 8。記憶體3 〇耦接至 主從屬裝置22。主記憶體36耦接至晶片組32。晶片組32包 括之位址控制器4 4 ’資料控制器4 6,和主記憶體3 6之記憶 體控制器(圖中未繪出)。晶片組3 2亦包括一匯流排處理單 元48。晶片組32亦藉由匯流排38而耦接至輸入/輸出裝置 4 0和其他匯流排各模組4 2。在一種具體實例中,匯流排3 8 疋一個輪入/輸出匯流排。其他具體實例中’該位址,資 料與記憶體各控制器可能與晶片組32分離設置,或亦可能 將各該記憶體可能與晶片組3 2分離設置,或亦可能將各該 控制器整合在一個單一控制器内。晶片組3 2的功能與現在 常用之桌上型個人電腦系統中所用的晶片組功能相似。因 此’忒晶片組的特定功能和設計須視其裝用之系統用途而 定。圖1所示資料系統1 〇的操作原理將在討論附圖2-7時 —併說明。 圖2所示乃係圖1中匯流排3 4之一個特別具體實例。在該 範例中,匯流排3 4包含兩個部份。一部份為位址匯流排5 0 及其相關之控制器與歸屬處理位元位置,另,部份為一資 料匯流排6 0與其相關控制各位元組。在此一具體實例中, 5玄^址匯流排和該資料匯流排彼此並未耦接,但在一其他 ^體實例中,該位社及声料匯流部份可耦接在一個單一匯 流排結構内。其他具體實例亦可將匯流排分割成許多不同
第9頁 472193 五 發明說明(6) 的α卩份,其中之k制位元和控制位元及歸屬處理位元之間 亦可各有其刀離,匯流排,或鏈接在一起。匯流排之大小 則視該資料處理糸統1 〇所需要的位址位元,資料位元,及 控制與歸屬處理位兀之數目而定,故而因系統之不同而各 異’並可依糸統之用途而設計之。處理器匯流排3 4之功能 與通常一般桌上型電腦系統所使用之匯流排功能相似。對 本技術領域有一般.認識者當知,匯流排之設計係因資料處 理糸統之不同要求條件而各異。例如,為執行所需要的匯 流排協定,資料處理器匯流排可能需要不同的控制信號。 圖3所示係圖1中資料處理器系統丨〇内所發生之一種高階 層處理操作流程圖1 〇。該項操作流程包括各不同匯流階段 1 〇 2,1 〇 4,1 〇 6,1 〇 8及1 1 〇在相關時間内發生的流程。在 位址仲 48來決 中應該 該仲裁 jfTSO V〇 — 獨早7G 權的裝 位元於 上。在 3 4耦接 或檢察 反應。 裝置, 裁階段1 0 2期間’由位於晶片組3 2之仲裁處理單元 定那些需要使用位置匯流排5 0令那一個裝置在操作 接受該位址匯流排之使用權。在其他具體實例中, 處理單元4 8也可能是一値裝置在晶片組3 2外面的單 °仲裁處理單元48作成該決定後’取得匯流排使用 置,亦即該主裝置立即將一主位址隨同相同之控制 位址移轉階段1 04操作期間内放置在位址匯流^非 位址(檢索查詢)反應階段1 〇 6期間内,與匯^ 之其他各裝置即對位址匯流排5 0進行資料&索=排 操作,以決定各自是否需要對該主位址咨μ二~為 , 4貝料有任4 就一特定操作而,,要求該項操作之裝晉 而對該主位址信號有反應的.裝置則成A# 王 八钓攸屬裝置,
4?2l93 五、發明說^~~一 *— -—--^ 〜'依遠主裝置之操作要求而提供服務。 在資料仲裁處理階段1 〇 8操作期間内,含有盥兮Κ ii卜古3日+ 开琢項主作 哥賢料之裝置即提出資料匯流排6 0的使用權。,日 用資料匯流排6 0的權利時,含有資料的裴置及可^得使 間内得以控制資料匯流排60上的資訊。仲裁處」术作期 咨刺π ^ 々王早兀4 8將 貝枓匯流排使用權授與要求使用之裝置或多個 til /-fc 置"^^m·乂交^ 1 料傳送階段1 1 0開始操作,將資料在主裝置和從屬掌置 之間傳送。請注意,在其他具體實例中,若干匯流階t段可 能須依資料處理系統1 0之設計要求同時或按時間順序^序 發生操作。同時,在若干具體實例中,後續執行之各匯# 作業階段亦可能和以前執行之各匯流作業階段相重1 (或& 以管路方式安排)。此外,不同匯流作業之資料傳送階段 可以就各自之相關位址分別加以記錄。 圖4所示之流程圖2 0 0係說明利用晶片組3 2在匯流排3 4上 傳送資料之作業程序。流程圖2 0 0係由決定菱形方塊2 0 2所 表示之圖3所示觀察反應階段1 〇 6開始。各局部匯流裝置係 指與匯流排3 4搞接之各裝置’老如2 2 ’ 2 0 ’ 1 2,1 4及1 8等 裝置。觀察該項位址資料後’如未發現任何裝置提出作業 要求時,晶片組32乃自行執行操作’如方塊2 〇4所示。反 之,如果有一局部匯流裝置’諸如’主從屬裝置22或其他 從屬裝置2 〇提出作業要求’作業流程即繼續進行至決定菱 形方塊2 0 6。如果該局部匯流裝置要求作業並施加一 S n a r f 信號,該局部匯流f置.已接受一作業操作(因而成為從屬 裝置),並已警告晶片組32指明主記憶體需要更新。在本
472193 五 '發明說明(8) ; '~~~*~~~ -- 發明一個具體實例中’當局部匯流從屬裝置已將所要求的 育料修改’因而需要對主記憶體3 β及要求作業之裝置,寫 入該更新之裝置時,該局部匯流從屬裝置就會施加該 Snar f k號。在其他具體實例中,該局部匯流從屬裝置(例 如一寫入通過(write —through)高速緩衝記憶體)可在接收 來自另一裝置的資料時施加該S n a r f信號,俾可將該資料 也达往主記憶體36 ,。在另一具體實例中,晶月組32可能對 Snarf模式無法配合操入,除非由一從屬裝置施加—勿以 Snarf模式處理信號。此時,除非施加一信號指示勿做 S n a r f處理’否則該資料即被寫入主記憶體3 6中。 局部匯流排從屬裝置準備執衧資料傳送作業後(圖中之 決定菱形方塊2 0 8 ),即產生一資料準備信號,該信號告知 仲裁處理單元4 8 ’表示該局部匯流裝置在要求使用資料匯 流排(方塊2 1 0 )。倘主袭置原來要求的作業類別(方式)已 備妥,即可立即執行一 Snar f作業,並發生該局部匯流從 屬裝置和主裝置之間的資料傳送操作(方塊2 2 ),同時也發 生將該資料寫入主記憶體36之操作。另一方面,如果所要 求的作業方式係一「讀出並修改(R W I TM)」作業,則在該 局部匯流排從屬裝置和主裝置之間仍會發生資料傳送操 作’但,卻無寫入主記憶體之操作(如圖中方塊2 1 8所 示)。 如果在決定菱形方塊2 0 6階段該從屬裝置並未產生該 Snarf信號,則該項,作業.並不需要執行寫入主記憶體36之 操作。局部匯流排從屬裝置當資料已備妥可供傳送時,即
472193 五、發明說明(9) - 可產生一資料備妥信號(在圖中菱形方塊2丨4階段),要求 掌控資料匯流排60 ^於取得資料匯流排6〇之控制權(圖令 方塊2 1 δ階段)’即在資料匯流排6 〇上發生該局部匯流排從 屬裝置和主裝置之間的資料傳送操作(方塊2丨8階段)。 在本發明一種具體實例内,其中之主裝置可能是一個微 處理器’遠如被處理器1 2 ’ 1 4或1 6,或主/從裝置2 2,而 其中之從屬裝置則可能是另一微處理器,諸如:三級高速 緩衝記憶體18 ’主/從裝置22,或其他從屬裝置2〇。在一 特定之具體實例中,主/從裝置2 2可能是一圖形控制器, 以記憶體3 0做為其主抗緩衝器。在一特定具體實例中,該 其他從屬裝置2 0可能是一高速緩衝記憶體控制器,—個主 記憶體36以外含有位址資料之記憶體的控制器,或一特殊 用途副處理器。在其他各種具體實例中也可能只有一個微 處理器以及各種不同組之主/從裝置及其他從屬裝置。 圖5所示乃係一使用匯流排34傳送資料之局部匯流排裝 置作業流程圖。該局部匯流排裝置從位址匯流排5 〇中查詢 主裝置之位址(在方塊3 0 2階段),並根據該裝置之類型(在 決定愛形方塊階段)進行一特定步驟,決定其是否要對該 位址執行一資料傳送操作。如果該局部匯流排裝置是一高 速缓衝記憶體’則該局部匯流排裝置之記憶體應是主記憶 體3 6的一個用戶組件。例如:在圖1中,該二級高速緩衝 記憶體24以及在微處理器1 2中看到之第一高速缓衝記憶體 都是主記憶體36之取戶芦件在這種情況下,主記憶體3 6 和其任一用户組件(例如:該二級高速緩衝記憶體2 4或該
第13頁 472193 五、發明說明(ίο) - 第一高速缓衝記憶體之間的記憶體一致(或稱同調)性厥關 重要。倘若一裝置要求某項資料,則載有該資料之裝置必 須取出該資料之最近更新版本。 惟如該局部匯流排裝置是一分離(單獨)的記憶體範圍控 制器,則其中可能含有一個在主記憶體3 6中無法尋獲之分 離記億體範圍。例如:記憶體3 0 (例圖形控制器之一個主 機緩衝器)就可能是一個在主記憶體3 6中無法尋獲之分離 (或個別)記憶體範圍。 倘該局部匯流排裝置是一高速控制器,而且在位址匯流 排5 0中進行位址查詢時在其相關高速緩衝記憶體内已尋獲 該位址資料時(例如當該位址與-―該高速缓衝記憶體内之一 個標記匹配時),即會發生記憶體尋到狀況。如果在決定 菱形方塊3 0 6中未發生尋到狀況,則作業流程即回到方塊 3 0 2處。在一具體實例中,可以程式控制方式開啟或關斷 匯流排3 4之介入協定以便高速緩衝記憶體介入操作。另一 方法,也可在硬體中進行介入操作開啟或關斷之操作。當 介入協定被開啟後,即可在各局部匯流排從屬裝置之間直 接執行資料傳送操作,例如在各處理器之間進行高速緩衝 記憶體對高速緩衝記憶之資料傳送,以代替必須利用主記 憶體36傳送資料之需要。 倘介入操作未被啟動(決定菱形方塊3 0 8 ),且局部匯流 從屬裝置亦未修改所要的資料(決定菱形方塊3 1 0 ),該局 部匯流從屬裝置即已完#其處理作業,而該主裝置將自主 記憶體3 6處而非自該局部匯流排從屬裝置處接收該資料。
第14頁 472193 五、發明說明(π) 此時’作業流程乃回至方塊3 〇 2處。但如該資料已被修 改,該局部匯流排從屬裝置乃發出一查詢資料反應信號’ 在方塊31 2處顯示一再嚐試要求。該再嚐試要求警告主裝 置’在主s己憶體3 β中之該資料並非一修改後的新版本,而 應等待並在一稍後時間再嚐試執行其作業要求。然後’該 局部匯流排從屬裝置即將修改後之資料寫入主記憶體3 6内 (方塊3 1 4階段)。在此點上’該局部匯流排從屬裝置已完 成其作業,且在該局部匯流排從屬裝置内之該資料即不再 被標示為已修改資料。作業流程乃回到方塊3〇2處。此 時’主裝置得重新要求其作業。並將更新後的資料從主記 憶體36中讀出。 另一方面,如果在決定菱形方塊3〇8處啟動介入操作, 即可在不同局部匯流排從屬裝置之間直接進行各項操作。 如果介入操作已被啟動,而且所需要的資料已被局部匯流 排從屬裝置修改(在決定菱形方塊3丨6處),該局部匯流排 從屬裝置將在方塊3 1 8操作程序中提出一第一信號(亦稱作 —尋到信號)要求執行該項操作。該局部匯流排從屬裝置 亦將提出一第二信號(又稱作一Snarf信號)以便執行將修 改後資料寫入主記憶體36之操作(在方塊32〇處)。因此, 即使主裝置將會直接對或從該局部匯流排從屬裝置中傳送 資料,主記憶體也會接收該項資料之修訂内容。資料傳送 步驟乃可在方塊326内繼續進行,詳情請參閱以下對圖6之 說明。 , 介入協定不僅可執行已修改資料介入操作,也同樣可執
第15頁 472193 五、發明說明(12) 行未修改資料之介入操作,如決定菱形方塊3 2 2之說明。 未修介人操彳使局#匯流# m使在f料未被局 部匯流排裝置修改而仍能自主記憶體36中摘取資料的二 下傳运忒貝料。如果貧料未被修改,且未修改資料介入操 作亦未被啟動,該局部匯流排從屬裝置已完成其作業,而 主裝置將會自主記憶體36中取得其需要之資訊。作業流程 乃再度返回方塊3 02處。惟如,未修改資料介入操作已被 啟動,局部匯流排從屬裝置亦未修改該資料,該局部匯流 排從屬裝置將會提出一尋到信號而無法提供上述Snarf信 號(參閱方”塊324之說明),因而就不致發生Snarf i叫之現 象。由於資料未被修改,在此種情況下就不需要 Snarfmg ;因此,也不需要寫入主記憶體36^操作,因為 主S己憶體3 6中已存有該項資料之最新修改内容。作業流程 乃可繼續進行方塊3 2 6之資料傳送操作。 “爪王 如果以上所討論在決定菱形方塊3〇4處之裝置類型是一 分離(單獨)或記憶體範圍控制器,則在查詢該主裝置住址 時,該局部匯流排從屬裝置即可在該主裝置位址資料在苴 記憶體範圍的情況下,於決定菱形方塊328處確定已發生、 一記憶資料尋到之狀況。如果發生記憶資料尋到之狀x況, 且該局部匯流排應負責執行該項作業(在決定菱形方塊33〇 處)時’該局部匯流排從屬裝置將會藉由在方塊3 24處發生 一哥到彳§卩虎的方式要求執彳于该項操作。 “圖6所示係說明進,局部匯流排從屬裝置在步驟3 2 6時之 資料傳送作業流程。如‘果遠#作類別為讀取(入)操作(在
第16頁 472193
472193
472193 五、發明說明(15) - 資料傳送作業,以及選擇性使用對主記憶體之寫入操作可 降低系統成本和複雜性。使用—個單一協定執行多種不同 操作,諸如從屬裝置和處理器高速缓衝記憶體間之資料傳 送,可使採用該項協定之資料處理系統以簡便而符合成本 效益的方式執行多種不同的系統及軟體功能等優點。因 此,以上說明之各種具體實例已說明確實需要應發展一種 低成本高效率且可支援高速緩衝記憶之間資料傳送和各局 部匯流排從屬裝置之間資料傳送之協定(作業規則)。雖然 如此,但對本技術領威具有普通技術者應知,各種可替代 性具體實例亦可使用較多的控制接梢,不同的信號,或不 同的成纽信號解碼方法來達成相同的協定功能。 圖7所示乃係可供執行廣播協定之本發明另一具體實 例。在本具體實例中,在方塊4 0 2處之系統控制器自輸入 及輸出(I / 0 )單元4 0或匯流排3 8上之其他匯流排模組4 2處 接收外來資料。如果該系統控制器在決定菱形方塊4 〇 4處 確定該外來資料位於主記憶體3 6内或在該I /0位址範圍内 時’即會在方塊4 0 6處執行一正常操作,而不會執行一廣 播操作。如果該外來資料未在主記憶體36内或該I/O位置 範圍内時,負責廣播該寫入操作之裝置即可執行將該位址 寫入在匯流排3 4上(在方塊4 0 8處)。在另一具體實例中, 該廣播裝置可認定一位址範圍,在該範圍内必須將資料複 印在主記憶體3 6内,並將該資料以廣播方式提供至匯流排 34上之各個局部匯赛排裝置上。匯流.排34上之各項裝置, 不論為主裝置或從屬裝·置都將監督該匯流排進行查詢該位
第19頁 472193 五、發明說明(16) - 址之操作,以確定該項位址在他們各自之記憶範圍以 (在方塊4 1 0處)。如媒定該位址在其記憶範圍内,則八 該項主位址資料之各裝置將會發出’一尋到信號代表3发次 料查詢結果信號,並要求執行該項操作。肩也二/'資 〗、「 外水產生丽述戽 播信號的裝置’例如晶片組3 2内之判斷單元負主龄究” 各裝置_是否有發送尋到信號之裳置。 ' ' A 〃他 在一具體實例中.,該廣播信號是由晶片組32產生, 其他具體實例中,匯流排34上之任—幸歧罢认 在 工衣直均可產生兮庄 播信號。匯流排34上之各裝置一隹其準備接收該晶 廣播运來的寫入信號時,該等裝置即各自發出」 :號,要求使用資料匯流排60的權利。該元4 = 母一個提出尋到信號之裝置送來的資料備妥信號後(文幻 塊4 12至4 14各操作階段),該判斷單元48即會將資料匯、亡 排兮的使用權授予該等裝置以及主裝置(在方塊4i6幻: =在=塊41 8—步驟中’該項資料即被傳送至資料匯流排 因而,母—發出尋到信號之裝置均能收到該項資料 讀出該資料,並將該資料寫入各自之= 後,該操成該資料被傳送至各個從屬裝置 明、% 2 ^雖^係參閱各附圖之特定具體實例來介紹本發 厂ί:;者應可對該等具體實例進行修改或改
亦$ 士 & a «'、怎可了解,各種不同的設計和元作運用 刃」/〇烕本發明之A 夕由·^ a 4丨一 ?項功能。因此’凡未偏離本說明附帶 ⑹圍各項主張之一切其他修改事項均應包括在
472193
第21頁
Claims (1)
- 472193 六、申請專利範圍 - 1. 一種在與一處理器介面匯流排連通之從屬裝置與一主 裝置之間傳送資料之方法,該方法包括下列各項步驟: 接收來自該處理器介面匯流排之位址資料,該位址資料 係由該主裝置提供; 在處理器介面匯流排上提供一第一信號,顯示該從屬裝 置係在執行一資料傳送操作; 在該處理器介面匯流排上提供一第二信號以顯示利用該 處理器介面匯流排傳送之資料是否應由一與該處理器介面 匯排連通之主記憶體控制器儲存在主記憶體内;及 在該從屬裝置和該處理器介面匯流排之間傳送該資料。 2. —種資料處理系統,包括二 一個處理器介面匯流排; 一個響應於該處理器介面匯流排之記憶體控制器; 一個響應於該記憶體控制器之記憶體裝置; 一個響應於該處理器介面匯流排且執行主裝置功能之第 一裝置;及 一個響應於該處理器介面匯流排且執行一從屬裝置功能 之第二裝置,該第二裝置在該處理器介面匯流排上提出一 第一信號,表示該從屬裝置正在執行一項資料傳送操作, 並在該處理器介面匯流排上提出一第二信號,指示是否應 將處理器介面匯流排傳送之資料由該記憶體控制器儲存在 該記憶體内。 3. —種資料處理I統,包括: 一個處理器介面匯流排;第22頁 472193 六、申請專利範圍 - 一個響應於該處理器介面匯流排之記憶體控制器; 一個響應於該記憶體控制器之記憶體裝置; 一個響應於該處理器介面匯流排之第一裝置,用以執行 主裝置之功能,並含有一第一高速緩衝記憶體; 一個響應於該處理器介面匯流排之第二裝置,用以執行 從屬裝置之功能,並含有一第二高速緩衝記憶體; 處理器介面匯流排係依一匯流排協定之指令操作,該匯 流排協定處理之第一種作業包括在該第一裝置之第一高速 緩衝記憶體和該第二裝置之第二缓衝記憶體之間傳送資 料;並處理第二種作業包括在該第一和第二裝置之中任一 裝置和個耦接於該處理器介面匯流排之局部匯流排從屬 裝置之間傳送資料。 4. 一種在與一處理器介面匯流排連通之從屬裝置和主裝 置之間傳送資料的方法,該方法包括下列各項步驟: 從該處理器介面匯流排接收一個由該主裝置提供之位址 資料; 在該處理器介面匯流排上提供第一信號,表明該從屬裝 置正在執行一項資料傳送操作; 在該處理器介面匯流排上提供一第二信號,指明是否應 由一主記憶體控制器(也與該處理器介面匯流排連通)將該 資料儲存在主記憶體内,及 在該處理器介面匯流排上提供一第三信號,表明從屬裝 置已準備妥當,可執行該項資料傳送操作;及 * 在該從屬裝置和該處理器介面匯流排之間傳送該資料。第23頁 472193 六、申請專利範圍 - 5. —種方法,可將一外部信號源送來的資料傳送至一個 與多個裝置連通之處理器介面匯流排上,上述方法包括下 列各項步驟: 在一響應於該處理器介面匯流排之控制器處接收由一外 部資料源送來的資料及一相關之記憶體位址資料; 確認該相關記憶體位址資料是否在上述多個裝置之記憶 體記憶範圍之内;, 在該處理器介面匯流排上發起一寫入操作; 監視該處理器介面匯流排所收到之上述多個裝置各自之 回應訊息; 從該處理器介面匯流排上接收來自該多個裝置中某一子 集裝置之資料備妥信號; 控制該處理器介面匯流,並將該處理器介面匯流排之存 取(使用)權授與該子組'裝置;及 將所收到之外部資料源送來之資料傳送給該處理器介面 匯流排。第24頁
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/110,351 US6163835A (en) | 1998-07-06 | 1998-07-06 | Method and apparatus for transferring data over a processor interface bus |
Publications (1)
Publication Number | Publication Date |
---|---|
TW472193B true TW472193B (en) | 2002-01-11 |
Family
ID=22332546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW088111377A TW472193B (en) | 1998-07-06 | 1999-07-13 | Method and apparatus for transferring data over a processor interface bus |
Country Status (6)
Country | Link |
---|---|
US (1) | US6163835A (zh) |
EP (1) | EP0971292A3 (zh) |
JP (1) | JP3723700B2 (zh) |
KR (1) | KR100310399B1 (zh) |
CN (1) | CN1210662C (zh) |
TW (1) | TW472193B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6483516B1 (en) | 1998-10-09 | 2002-11-19 | National Semiconductor Corporation | Hierarchical texture cache |
US6801207B1 (en) | 1998-10-09 | 2004-10-05 | Advanced Micro Devices, Inc. | Multimedia processor employing a shared CPU-graphics cache |
US6591347B2 (en) * | 1998-10-09 | 2003-07-08 | National Semiconductor Corporation | Dynamic replacement technique in a shared cache |
US6725307B1 (en) * | 1999-09-23 | 2004-04-20 | International Business Machines Corporation | Method and system for controlling data transfers with physical separation of data functionality from address and control functionality in a distributed multi-bus multiprocessor system |
TWI282513B (en) * | 2002-06-12 | 2007-06-11 | Mediatek Inc | A pre-fetch device of instruction for an embedded system |
JP4224430B2 (ja) * | 2003-07-07 | 2009-02-12 | 株式会社ルネサステクノロジ | 情報処理装置 |
US7369718B2 (en) * | 2004-01-23 | 2008-05-06 | Intel Corporation | Package substrate pattern to accommodate optical waveguide |
US7735037B2 (en) | 2005-04-15 | 2010-06-08 | Rambus, Inc. | Generating interface adjustment signals in a device-to-device interconnection system |
US7802212B2 (en) * | 2005-04-15 | 2010-09-21 | Rambus Inc. | Processor controlled interface |
CN100459570C (zh) * | 2005-04-30 | 2009-02-04 | 华为技术有限公司 | 一种数据转发装置及其数据转发方法 |
US8341360B2 (en) * | 2005-12-30 | 2012-12-25 | Intel Corporation | Method and apparatus for memory write performance optimization in architectures with out-of-order read/request-for-ownership response |
US7562194B2 (en) * | 2006-02-06 | 2009-07-14 | Intel Corporation | Method and apparatus for exploiting parallelism across multiple traffic streams through a single channel |
US8107492B2 (en) | 2006-02-24 | 2012-01-31 | Qualcomm Incorporated | Cooperative writes over the address channel of a bus |
US8108563B2 (en) * | 2006-02-24 | 2012-01-31 | Qualcomm Incorporated | Auxiliary writes over address channel |
KR100781340B1 (ko) * | 2006-09-18 | 2007-11-30 | 삼성전자주식회사 | 사용자 정의 확장 연산을 처리하는 연산 시스템 및 방법 |
US8447957B1 (en) * | 2006-11-14 | 2013-05-21 | Xilinx, Inc. | Coprocessor interface architecture and methods of operating the same |
DE102011007437A1 (de) * | 2010-11-15 | 2012-05-16 | Continental Teves Ag & Co. Ohg | Verfahren und Schaltungsanrodnung zur Datenübertragung zwischen Prozessorbausteinen |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5519839A (en) * | 1992-10-02 | 1996-05-21 | Compaq Computer Corp. | Double buffering operations between the memory bus and the expansion bus of a computer system |
US5528764A (en) * | 1992-12-24 | 1996-06-18 | Ncr Corporation | Bus system with cache snooping signals having a turnaround time between agents driving the bus for keeping the bus from floating for an extended period |
US5799161A (en) * | 1993-06-25 | 1998-08-25 | Intel Corporation | Method and apparatus for concurrent data routing |
US5790831A (en) * | 1994-11-01 | 1998-08-04 | Opti Inc. | VL-bus/PCI-bus bridge |
WO1997000480A1 (en) * | 1995-06-15 | 1997-01-03 | Intel Corporation | Architecture for an i/o processor that integrates a pci to pci bridge |
-
1998
- 1998-07-06 US US09/110,351 patent/US6163835A/en not_active Expired - Lifetime
-
1999
- 1999-06-30 EP EP99112450A patent/EP0971292A3/en not_active Ceased
- 1999-07-05 JP JP19008499A patent/JP3723700B2/ja not_active Expired - Fee Related
- 1999-07-05 CN CNB991101642A patent/CN1210662C/zh not_active Expired - Fee Related
- 1999-07-06 KR KR1019990027053A patent/KR100310399B1/ko not_active IP Right Cessation
- 1999-07-13 TW TW088111377A patent/TW472193B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20000011516A (ko) | 2000-02-25 |
CN1210662C (zh) | 2005-07-13 |
US6163835A (en) | 2000-12-19 |
EP0971292A2 (en) | 2000-01-12 |
JP3723700B2 (ja) | 2005-12-07 |
EP0971292A3 (en) | 2000-11-22 |
CN1245929A (zh) | 2000-03-01 |
KR100310399B1 (ko) | 2001-11-03 |
JP2000115208A (ja) | 2000-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW472193B (en) | Method and apparatus for transferring data over a processor interface bus | |
CN100555257C (zh) | 处理页面复制期间的dma操作的存储控制器和方法 | |
EP0283628B1 (en) | Bus interface circuit for digital data processor | |
US5682512A (en) | Use of deferred bus access for address translation in a shared memory clustered computer system | |
JP3529566B2 (ja) | 情報処理方法および装置 | |
KR910001789B1 (ko) | 디지탈 컴퓨터 시스템의 다중 프로세서 시스템용 캐쉬 무효 장치 | |
TW390986B (en) | Cache memory system | |
TW385395B (en) | Method of shared intervention for cache lines in the shared state for SMP bus | |
US6857035B1 (en) | Methods and apparatus for bus mastering and arbitration | |
US5471625A (en) | Method and apparatus for entering a low-power mode and controlling an external bus of a data processing system during low-power mode | |
TW475117B (en) | Method of shared intervention for cache lines in the recently read state for SMP bus | |
TW591526B (en) | Data maintenance method of DSM system | |
JP4593594B2 (ja) | 複数ノード間での通信方法、相互接続ポートおよび相互接続システム | |
TW460797B (en) | Block snooping support for multiple processor systems | |
JP2018109965A (ja) | データ処理 | |
US7490184B2 (en) | Systems and methods for data intervention for out-of-order castouts | |
US7552269B2 (en) | Synchronizing a plurality of processors | |
CA1295749C (en) | Interface between processor and special instruction processor in digital data processing system | |
US8051251B2 (en) | Method and apparatus for setting status of cache memory | |
JP4965974B2 (ja) | 半導体集積回路装置 | |
US5623694A (en) | Aborting an I/O operation started before all system data is received by the I/O controller after detecting a remote retry operation | |
JP2008511890A (ja) | アトミック・オペレーションを用いて情報単位を変更する方法及び装置 | |
TW386192B (en) | Method and system for speculatively sourcing cache memory data within a data-processing system | |
US6611882B1 (en) | Inbound and outbound message passing between a host processor and I/O processor local memory | |
JP2008123333A5 (zh) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |