+

TWI336845B - Bridges and the related electronic systems and methods for flushing data - Google Patents

Bridges and the related electronic systems and methods for flushing data Download PDF

Info

Publication number
TWI336845B
TWI336845B TW96127719A TW96127719A TWI336845B TW I336845 B TWI336845 B TW I336845B TW 96127719 A TW96127719 A TW 96127719A TW 96127719 A TW96127719 A TW 96127719A TW I336845 B TWI336845 B TW I336845B
Authority
TW
Taiwan
Prior art keywords
signal
cleaning
cleared
buffer
emptied
Prior art date
Application number
TW96127719A
Other languages
English (en)
Other versions
TW200905482A (en
Inventor
Fan Jin
Xu Xiaohua
Original Assignee
Via Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Tech Inc filed Critical Via Tech Inc
Priority to TW96127719A priority Critical patent/TWI336845B/zh
Priority to US12/181,616 priority patent/US7822906B2/en
Publication of TW200905482A publication Critical patent/TW200905482A/zh
Application granted granted Critical
Publication of TWI336845B publication Critical patent/TWI336845B/zh

Links

Landscapes

  • Logic Circuits (AREA)
  • Communication Control (AREA)

Description

1336845 九、發明說明: 【發明所屬之技術領域】 本發明有關於一種資料清除方法,特別佐去 〜係有關於一種 可以避免資料不一致又不會使效能降低的資料、主☆方去 【先前技術】 許多電腦系統係使用至少兩個匯流排,論 军~~條通常稱 為記憶體匯流排(memory bus)用於中a未 、处理器(central processor)與主記憶體(main memory)間之通訊,且 ,、 常為週邊裝置匯流排(peripheral bus)用於调、臭 条^ y . 、乂 h裝置(例如圖 厶b 月& 形系統、磁碟驅動器或區域網路)間之通訊。 η ° 马了使資料 夠於這兩個匯流排之間傳輸,通常會传 .^ _ φ曰災用一個橋接器 (bridge)將這兩個匯流排連接在一起。 橋接益的主要工作係將資料從一個匯流排傳送至另〜 個匯流排。為了達到此功能,橋接器必須具有從屬元件的 能力(slave capacity)與主要元件的能力(master capachy),使 得它可以作為一從屬元件接收來自一匯流排的要求,之後 再作為-主要兀件於另—個匯排上執行適當的匯流排操 作。因此’橋接器必須有能力提供由—匯流排至另一匯流 排之存取動作。 瓜而5 ’橋接15會將來自系龍流減週邊匯流排 上即將被傳送的資料暫存(或稱為貼入,posted)於一資料緩
Client’s Docket No.:VIC07-0011 TT^ Docket N〇:0608-A41152-TW/Final :器中。^資料於橋接器中係可藉由封包化資料與預取 貝料來提冋系統的效能。然❿,當發生同步處理事件 /Dennis 1336845 (synchronization event)時,資料還暫存於橋接器中就會產 生資料不一致的問題。 【發明内容】 本發明係提供一種橋接器,包括一第一主控元件’用 以輸出一清理要求;一緩衝單元,包括複數個緩衝器;以 及一清理要求控制電路,於接收到清理要求時,偵測複數 個缓衝器是否已清空,並記錄下複數個緩衝器中已清空之 緩衝器,若複數個緩衝器於接收到清理要求後皆已被清空 過,輸出一清理完成確認信號,以告知第一主控元件上述 緩衝單元被清空。 本發明亦提供一種清理要求控制電路,用以依據一清 理要求,產生一清理完成確認信號,以表示一緩衝單元之 所有緩衝器被清空。該清理要求控制電路包括:複數偵測 單元,分別對應地耦接至上述緩衝單元之緩衝器,並依據 上述清理要求與對應之緩衝器發出之一閒置信號輸出複數 確定已清空信號,以表示對應之緩衝器在接收到清理要求 之後被清空;以及一輸出單元,用以當上述複數個偵測單 元皆輸出之上述確定已清空信號時,產生上述清理完成確 認信號。 本發明又提供一種電子系統之資料清理(flush)方法, 包括當接收到來自一橋接器中一第一主控元件之一清理要 求時,偵測一緩衝單元中複數個緩衝器是否已被清空,並 記錄下複數個緩衝器中已被清空之緩衝器;以及當複數個 緩衝器於接收到清理要求之後皆已被清空過一次時,輸出 /Dennis
Client’s Docket N〇.:VIC07-0011 TT’s Docket N〇:0608-A41152-TW/Final 6 1336845 •—清理完成確認信號至第一主控元件。 為了讓本發明之上述和其他目的、特徵 明顯易懂,下文特舉一敕仵叙# , Λ 良·,.占月匕更 > 卜文符牛季乂仫貝、施例,並配合所附圖示,竹 詳細說明如下: 【實施方式】 • f 1圖係為-電子系統之-實施例。如圖所示,電子 =統UKH系可實現于電腦系統中,但不限定於此,亦可以 鲁,'現於數位相機、數位錄放影機、消費性電子產品、行 通Λ裝置、可攜式電子產品或機器人中。電子系統⑽係 - 包括一主控元件ΜΑ、一從屬元件SA、一橋接器1〇以及 —週邊裝置20。舉例而言,主控元件ΜΑ係可為—中央處 理斋(CPU)、從屬元件SΑ係可為一系統記憶體或中央處理 器中之一快取記憶體,而週邊裝置2〇係可為一週邊元件連 接(peripheral component interface ; PCI)設備,但不限定於 此。橋接器10係包括主控元件MB與MC、從屬元件SB • 與SC以及緩衝單元BF1與BF2,而週邊裝置20係包括主 控元件MD與從屬元件SD。每個緩衝單元BF1與BF2包 ' 含一個或多個緩衝器。
; 當主控元件MA要求存取週邊裝置20之從屬元件SD 時,從屬元件SB會接收來自主控元件μα之處理要求 (transaction requests)並放入(push)緩衝單元 BF1 中。主栌 元件MC會執行緩衝單元BF1中從屬元件sb所放入之^ 理要求,使得從屬元件SD接受該處理要求。反言之,冬 週邊裝置20中之主控元件MD要求存取從屬元件SA時二
Client’s Docket No.:VIC07-0011 TT's Docket N〇:0608-A41152-TW/Final /Dennis 1336845 . 從屬元件SC會接收來自主控元件MD之處理要求 (transaction requests)並放入(push)緩衝單元 BF2 中。主控 元件MB會執行缓衝單元BF2中從屬元件SC所放入之處 理要求,使得從屬元件SA接受該處理要求。一般而言, 由主控元件MA至從屬元件SD之處理要求稱為下行處理 . (downstream transaction),而由主控元件MD至從屬元件 , SA之處理要求稱為上行處理(upstream transaction)。 在某些情況下,於某方向(上行或下行)的處理要求完成 馨前,另一方向之處理要求必須要先完成,以便維持處理要 • 求的順序,以避免發生資料的一致性發生問題。 1 舉例而言,當週邊裝置20完成一寫入處理要求,並發 出一中斷信號給主控元件MA(例如CPU),通知可於從屬 元件SA(例如系統記憶體)中讀取一筆寫入資料。在處理從 屬元件SA中的該筆寫入資料前,主控元件MA會向從屬 元件SD發出一讀取請求’以檢查週邊裝置2〇的狀態。主 控元件ΜΑ發送給從屬元件SD的讀取請求是一個同步事 • 件’因而橋接器1〇此時會終止接收主控元件MD發出的新 • 的處理請求,並清除緩衝單元BF2中的資料以保證資料的 ' 一致性。換言之,主控元件ΜΑ會先讀取從屬元件SD的 狀態’在此處理要求完成前’橋接器1 〇必須確認該筆寫入 資料已經放入從屬元件SA中。從屬元件SD讀取資料之前 或將讀取的資料回傳給主控元件MA之前,橋接器將| 產生一清理(flush)要求flush—req給從屬元件sC,並等待從 屬元件sc回覆一清理完成確認信號(fl2
Client’s Docket No.:VIC07-0011 TT’s Docket Νο:0608·Α41152-TW/Final /Dennis 8 1336845 acknowledg^flush—ack表示該筆寫入資料已經放入從屬元 件SA中。
然而’於攸屬元件SC接收到清理要求£jush_req時, 將不會再把資料或指令放入緩衝單元BF2中,即從屬元件 sc將停止運作,並使外部的主控單元重新發出(retry)處理 要求或發出等待狀態。清理完成確認信號⑴以处 ackn〇wledge)flush_ack將於緩衝單元BF2中所有處理要求 清空後才會發出。由於接收到清理要求Dush—req時,將會 停止接收處理要求’故系統的效能將會降低。 為了提升系統之效能,本發明亦提供丈它實施例。證 2圖係為本發明中一清理要求控制電路之::實施例。清理 要求控制電路12係可設置於橋接器1〇之内,於接收到清 理要求flush 一 req日夺’偵測緩衝單元腕巾n個緩衝器(例 如BF20〜BF22)是否已清空,开# 並6己錄下η個緩衝器中已清空 之缓衝器。若η個缓衝器於拯胳不,、士 χ 接收到清理要求flush_req後皆 已清空過一次’則輸出一清理6 + I义成確認信號flush ack至主 控元件MC。舉例而言,清理| — 吐 ^ 要求控制電路12係可整合於 第1圖之從屬元件SC中,亦可Μ J置於主控單元MC、從屬 兀件%與緩衝單元BF2之間不限定於此。 如第2圖所示’清理要求松 制電路12係包括偵測單元 121、122與123和輸出單元1〇/) 124。偵測單元121、122與 123係於接收到來自主控元株 工凡件MC之清理要求fiush req 時,偵測緩衝單元BF2中相庫,控一 緩衝器BF20、BF21與BF22 是否已被清空。偵測單元121你4』 你包括一暫存器RGO與一處 /Denni:
Client’s Docket No.: VIC07-0011 TT's Docket N〇:0608-A41152-TW/Final 9 1336845 •理單元125 ’偵測單元122係包括一暫存器RG1與一處理 單元126,偵測單元123係包括一暫存器RG2與一處理單 元 127。 舉例而言,當緩衝器BF20、BF21與BF22中所儲存之 所有指令或資料被主控單元MB讀出或搬出(m〇ve)時,緩 ‘ 衝器BF20、bfm與胂22即被視為清空(idled、empty 〇r . ,此時緩衝器BF20、BF21與BF22之閒置信號 idle—0、idle_l與idle一2會被設置到高電位。當偵測單元 參 121偵測到閒置信號idle_0被設置到高電位時,即可得知 缓衝态BF20已經被清空。同樣地,當债測單元Η〗與123 偵測到閒置信號id]e_l與idle一2被設置到高電位時,即可 得知緩衝器BF21與BF22已經被清空。 在大多數的情形下’緩衝器BF2〇,BF2l與BF22不會 恰好同時處於閒置的狀態,因而本實施例中當暫存器 RGO〜RG2接收到緩衝器BF20、BF21與BF22之高電位的 閒置信號idle_0、idle—1、idle—2時,會暫存所接收到的閒 ❿ 置信號idle_0、idle_l與idle_2並產生一對應之已清空信 號 pending_ackO,pending_ackl 與 pending—ack2,以便記錄 - 下所對應之缓衝器BF20、BF21與BF22在接收到清理要求 : flush—ack後被清空過。此時,已被清空之緩衝器即被允許 重新接收從屬元件SC根據來自主控元件MD之處理要求 所寫入之資料或指令。 舉例而言’當暫存器RGO接收到具有高電位之閒置信 號idle—Ο時,會暫存閒置信號idle_0,並持續地產生一高 /Dennis
Client's Docket N〇.:VIC07-0011 TT's Docket N〇:0608-A41152-TW/Final 1336845 電位之已清空信號pencjing_ack〇,以便記錄下緩衝器BF20 已經被清空。此時’橋接器1〇會允許從屬元件SC根據來 自主控元件MD之處理要求,將對應之資料或指令寫入已 清空之緩衝器BF20。若已清空信號pending_ackO為高電 位,處理單元125會輸出一高電位之確定清空已信號ack〇。 同樣地’當暫存器接收到具有高電位之閒置信號 idle一1時’會暫存閒置信號idkj並持續地產生一高電位 之已清空信號pending_ackl,以便記錄下缓衝器BF21已經 被清空,並且橋接器1〇會允許從屬元件SC根據來自主控 元件MD之處理要求,將對應之資料或指令寫入已清空之 緩衝器BF21。由於已清空信號pending_ackl為高電位,處 理單元126會輸出一高電位之確定已清空信號acki。暫存 器RG2之動作係與暫存器rgO〜RG1相似亍此不再累述。 若緩衝器BF20、BF21與BF22於接收到清理要求 flush一req後皆已清空過一次,輸出單元124輸出清理完成 確認信號flush_ack至主控元件MC。若緩衝器BF20、BF21 與BF22於接收到清理要求flush_req後皆已清空過一次, 即閒置信號idle_0、idle_l與idle_2皆曾經被設置到高電 位,輸出單元124會根據接收之確定已清空信號ack〇、ackl 與ack2輸出清理完成確認信號flush_ack,以表示缓衝單元 BF2在接收到清理要求fjushjeq之前所存儲的資料都已經 被清空。 由於緩衝器BF20、BF21或BF22被記錄已清空之後, 橋接器10允許緩衝器BF20、BF21與BF22接收來自從屬 /Dennis
Client's Docket N〇.:VIC07-0011 TT's Docket N〇:0608-A41152-TW/Final 11 1336845 * 元件SC的新資料或新指令,所以即使接收到主控元件mc 之清理要求flush一req ’從屬元件SC不必中斷接收來自主 控元件MD之處理要求,並且繼續將資料及/或指令放入 (push)緩衝單元BF2内已被清空過之緩衝器中,使得系統 之效能將有效提升。 ‘ 第3圖係為本發明中一清理要求控制電路之另—實施 . 例。如圖所示’清理要求控制電路13包括偵測單元121〜123 以及充當輸出單元124之及閘AD4。同樣地,清理要求控 _ 制電路13係可整合於第1圖之從屬元件SC中,亦可設置 於主控單元MC、從屬元件SC與缓衝單元BF2之間。 偵測單元121之及閘AD卜D型正反器DFO以及多工 态MUXO〜MUX 1構成第2圖所示之暫存器RGO ’及閘AN 1 與或閘0G1構成第2圖所示之處理單元125。及間AD 1 係具有兩個輸入端分別耦接緩衝單元BF2中緩衝器BF20 之閒置信號idle一0與清理要求flush_req,以及一輪出端耦 接多工器MUX1。多工器MUXO具有兩輸入端用以分別耦 籲 接至D型正反器DFO之輸出端以及資料”〇’,(即低電位)。多 , 工器MUX1具有兩輸入端分別耦接至多工器MUX0之輸出 ’ 端以及資料”1”(即高電位),以及一輸出端耦接至D型正反 ·' 器DF0。D型正反器DF0具有輸入端耦接至多工器MUX1 之輸出端,一時脈輸入端耦接至一時脈信號CLK1,以及 一輸出端輸出已清空信號pending_ackO至及閘AN 1與多工 器MUX0之一輸入端。及閘AN1之另一輸入端藕接至清 理要求flush_ack。或閘OG1具有兩輸入端分別耦接至及閘 /Dennis
Client's Docket No.:VIC07-0011 TT’s Docket N〇:0608-A41152-TW/Final 12 1336845 ·. AN1之輸出知以及緩衝單元bf2中緩衝器BF20之閒置传 號idle_0 ’以及一輸出端用以輸出確定已清空信號ack〇至 及閘AD4。偵測單元122及123之電路結構與偵測單元122 相同,因而不再贅述。 清理要求控制電路13之動作係參考第4圖說明如下。 - 在接收到來自主控元件MC之清理要求f!ush_req後,當接 收到代表緩衝為BF20已經被清空之高電位的閒置信號 idle—0時,D型正反器DF0會輸出具有高電位之已清空信 • 號Pending-ack0。舉例而言,當清理要求flushjeq與閒置 仏號idle_0皆為尚電位時,及閘ad 1之輸出端會由低電位 變成尚電位,使得高電位的信號(即資料,,1 ”)會藉由多工器 MUX1輸出至D型正反器DFO,故D型正反器DF0之輪 出端會由低電位變成高電位(即輸出已清空信號 pending_ackO),以表示相應之緩衝器被清空。同時,具有 高電位之已清空信號pending_ackO亦會藉由多工器Μυχ〇 耦接至MUX1之一輸入端。由於多工器Μυχ〇的控制端連 # 接至高電位之清理要求flush_req,因而此時多工器Μυχι 的兩輸入端皆為高電位,所以無論及閘AD1之輸出為何, D型正反為DFO之輸出端(已清空號pending—ackO)皆會 維持在高電位。換言之’清理要求控制電路13已記錄緩衝 器BF20於接收到清理要求flush_req後已經被清空過。因 此,即使閒置信號idle_0由於緩衝器BF20被從屬元件SC 放入(push)資料或指令而變成低電位,D型正反器DF1輸 出之已清空信號pending_ackO仍會維持在高電位,使得及 /Dennis
Client’s Docket N〇.:VIC07-0011 TT's Docket No:0608-A41152-TW/Final 13 1336845 閘AN 1輸出一高電位信號至或閘〇g丨,進而使得或閘〇G i 持續輸出高電位之確定已清空信號ack〇。 同樣地’當接收到代表缓衝器BF22已經被清空之高電 位的閒置仏號idle一2時,D型正反器DF2會輸出具有高電 位之已清空信號pending_ack2 ’表示清理要求控制電路13 已δ己錄緩衝态BF22於接收到清理要求fjush_req後已經被 清空過。因此’即使閒置信號idle_2由於緩衝器BF22被 從屬元件SC放入(pUSh)資料或指令而變成低電位,d型正 反器DF2之輸出端仍會維持在高電位(已清空信號 pending_ack2),使得或閘〇G3持續輸出一高電位之確定已 清空信號ack2。 當接收到咼電位的閒置信號idle_l時,即表示緩衝器 BF21已經被清空。此時對應信號ack〇與ack2與閒置信號 idle_l皆為咼電位’即緩衝單元BF2中之所有的緩衝器 BF20〜BF22於接收到清理要求flush_req後皆已經被清空 過’因此及閘AD4之輸出端會由低電位變成高電位(輸出 清理完成確認信號flush_ack至主控元件MC)。在清理完成 確認信號flush_ack變為高電位後,已清空信號 pending_ackO〜pending_ack2在下一個周期被清除。舉例來 說’若清理完成確認信號flush_ack為高電位,則清理要求 flush_req會被置為低電位,使得多工器MUX0輸出一低電 位之信號(即資料0)至多工器MUX1。由於此時及閘AD1 與多工器MUX0之輸出端均為低電位,多工器MUX1輸出 低電位的資料0至D型正反器DF0,故D型正反器DF0 /Dennis
Client’s Docket No.:VIC07-0011 ΊΓΤ^ Docket No:0608-A41152-TW/FinaI 14 1336845 * 輪出之已清空信號pending_ackO由高電位變成低電位。于 本貫施例中,由於已清空信號pending_ack0~pending_ack2 會在清理要求flush_req變爲低電位的下一個周期被清除, 因而設置及閘AN1來防止清理要求電路13輸出錯誤的清 理完成確認信號flush_ack 〇 ^ 第5圖係為本發明中一清理要求控制電路之另一實施 • 例。如圖所示,清理要求控制電路14包括反相器 INVO〜INV2、及閘AD1〜AD4、多工器MUXO〜MUX5、正 _ 反器DFO〜DF2以及或閘0G4〜OG6。同樣地,清理要求控 制電路14係可整合於第1圖之從屬元件SC中,亦可設置 於主控單元MC、從屬元件SC與緩衝單元BF2之間。舉 例而言,反相器INVO、及閘AD1、多工器MUXO〜MUX1、 正反器DFO以及或閘0G4可構成第2圖所示之镇測單元 121 ;反相器INV1、及閘AD2、多工器MUX2〜MUX3、正 反器DF1以及或閘0G5可構成第2圖所示之偵測單元 122 ;反相器INV2、及閘AD3、多工器MUX4〜MUX5、正 • 反器DF2以及或閘0G6可構成第2圖所示之偵測單元 • 123,而及閘AD4可看作第2圖所示之輸出單元丨24。 . 及閘AD1係具有三個輸入端分別耦接反相器INVO之 : 輸出端、緩衝單元BF2中缓衝器BF20之閒置信號idle__〇 與清理要求flush_req,以及一輪出端耦接多工器MUX 1。 夕工态MUXO具有兩輸入端用以分別搞接至d型正反器 DFO之輸出端以及資料(即低電位)。多工器muxi具有 兩輸入端分別耦接至多工器MUX0之輸出端以及資
Client’s Docket N〇.:VIC07-0011 TT's Docket N〇:0608-A41152-TW/Final /Dennis 15 1336845 .料”1’’(即高電位)’以及—輪出端耦接至D型正反器DF〇。 D型正反器DFO具有輸入端耗接至多工器Μυχι之輸出 端,一時脈輸入端耦接至一時脈信號CLK1,以及一輸出 端麵接至或閘0G4與多工器MUXO之一輸入端。 及閘AD2係具有三個輪人端分別_接反相器之 • 輸出端、緩衝單元BF2中緩衝器BF21之閒置信號idle j . 與清理要求,以及一輸出端耦接多工器Μυχ3一。 多工器MUX2具有兩輸入端用以分別耦接至D型正反器 • DF1之輸出端以及資料”〇,,(即低電位多工器Μυχ3具有 兩輸入端分別耦接至多工器MUX2之輸出端以及資 • 料”1”(即高電位),以及一輸出端耦接至D型正反器DF1。 D型正反器DF1具有輸入端耦接至多工器Μυχ3之輸出 端,一時脈輸入端耦接至一時脈信號CLK1,以及一輸出 端耦接至或閘OG5與多工器MUX2之一輸入端。 及閘AD3係具有二個輪入端分別麵接反相器ΙΝγ2之 輸出端、緩衝單元BF2中緩衝器BF22之閒置信號idle—2 • 與清理要求flush-req,以及一輸出端耦接多工器MUX5。 ^ 多工斋MUX4具有兩輸入端用以分別耦接至D型正反器 DF2之輸出端以及資料(即低電位)。多工器Μυχ5具有 • 兩輸入端分別耦接至多工器MUX4之輸出端以及資 料”1”(即高電位),以及一輸出端耦接至D型正反器DF2。 D型正反器DF2具有輸入端耦接至多工器Μυχ5之輸出 端’一時脈輸入端耦接至一時脈信號CLK1,以及一輸出 端耦接至或閘0G6與多工器MUX4之一輸入端。 ^Dennis
Client's Docket N〇.:VIC07-0011 TT's Docket N〇:0608-A41152-TW/Final 16 1336845 或閘0G4具有兩輸入端分別耦接至〇型正反器DFO 之輸出端以及緩衝單元BF2中緩衝器BF20之閒置信號 idle_0。或閘OG5具有兩輸入端分別搞接至d型正反器DF1 之輸出端以及緩衝單元BF2中緩衝器BF21之閒置信號 idle_l。或閘OG6具有兩輸入端分別耦接至d型正反器DF2 之輸出端以及緩衝單元BF2中緩衝器BF22之閒置信號 idle_2。及閘AD4具有三個輸入端分別耦接至或閘〇G4、 OG5與OG6之輸入端,以及一輸出端耦接至反相器 INV0〜INV2之輸入端。 清理要求控制電路14之動作係參考第6圖說明如下。 在接收到來自主控元件MC之清理要求flush_req後,當接 收到代表緩衝器BF20已經被清空之高電位的閒置信號 idlej)時’ D型正反器DF0會輸出具有高電位之已清空信 號pending_ackO。舉例而言,由於清理完成確認信號 flush_ack此時仍然為低電位(is not asserted),所以反相器 INV0之輸出端為南電位。因此,當清理要求fjush_;req與 閒置信號idle_0皆為高電位時,及閘AD1之輸出端會由低 電位變成高電位,使得高電位的信號(即資料”1”)會藉由多 工器MUX 1輸出至D型正反器DF0,故D型正反器DF0 之輸出端會由低電位變成高電位(即輸出已清空信號 pending_ackO) ’以表示相應之緩衝器被清空。同時,具有 高電位之已清空信號pending_ackO亦會藉由多工器MUX0 耦接至MUX1之一輸入端。 由於多工器MUX1的兩輸入端皆為高電位,所以無論
Client's Docket N〇.:VIC07-0011 TT's Docket N〇:0608-A41152-TW/Final /Dennis 1336845 及閘AD1之輸出為何,D型正反器DF1之輸出端(已清空 信號pending_aCkO)皆會維持在高電位。換言之,清理要2 控制電路14已記錄緩衝器BF2〇於接收到清理要求 flush_req後已經被清空過。 因此,即使閒置信號idle—0由於缓衝器BF2〇被從屬 元件SC放入(push)資料或指令而變成低電位,D型正反器 DFO輸出之已清空信號pending-ack〇仍會維持在高電位, 使得或閘0G4持續輸出一高電位之確定已清空信號ack〇。 同樣地’當接收到代表緩衝器BF22已經被清空之高電 位的閒置信號idle—2時,D型正反器DF2會輸出具有高電 位之已清空信號pending_ack2,表示清理要求控制電路14 已記錄緩衝器BF22於接收到清理要求fiush一req後已經被 清空過。因此,即使閒置信號idle_2由於緩衝器BF22被 從屬元件SC放入(push)資料或指令而變成低電位,d型正 反器DF2之輸出端仍會維持在高電位(已清空信號 pending—ack2),使得或閘〇〇6持續輸出一高電位之確定已 清空信號ack2。 當接收到高電位的閒置信號idle_l時,即表示緩衝器 BF21已經被清空。此時對應信號ack〇與acic2與閒置信號 idle_l皆為高電位,即緩衝單元BF2中之所有的緩衝器 BF20〜BF22於接收到清理要求flush_req後皆已經被清空 過,因此及閘AD4之輸出端會由低電位變成高電位(輸出 清理完成確認信號flush_ack至主控元件MC)。在清理完成 確認信號flush_ack變為高電位後,已清空信號 /Dennis
Client’s Docket No.:VIC07-0011 TT's Docket N〇:0608-A41152-TW/Final 18 1336845 - Pending_ack0〜pending_ack2會被清除。舉例來說,若清理 完成碟認信號flush_ack為高電位,及閘AD1與多工器 MUXO之輸出端均為低電位,使得多工器MUX1輸出低電 位的資料至D型正反器DFO ’故D型正反器DFO輸出之 已清空信號pending 一 ackO被清除(由高電位變成低電位)。 • 事實上,第5圖中的清理要求控制電路μ可不包含反 • 相器WV0〜INV2 ’即及閘AD1〜AD3僅包含兩個輸出端, 分別接收清理要求flush_req與相應的閒置信號 ❿ idleO〜idle2。然而’在清理完成確認信號f]ush_ack為高電 位且閒置信號與清理要求flush_req均為高電位時,多工器 (例如MUX1)與相應之D型正反器(DF0 )將依據及閘 (AD1)的輸出信號進行不必要的操作。為防止這種情形 發生,可通過主控元件MC設定:若清理完成確認信號 flush—ack為高電位,使清理要求信號flush—req保持為低電 位。 本實施例中從屬元件SC即使接收到主控元件MC之清 • 理要求flush—req,不必中斷接收來自主控元件MD之處理 要求’並且可以繼續將資料及/或指令放入(push)緩衝單元 BF2内已被清空過之緩衝器中’因此系統之效能將有效提 - 升。 第7圖係為本發明之電子糸統之另一實施例。如圖所 示’電子系統100”係相似於第1圖中所示之電子系統1〇〇, 差別在於橋接器1〇之從屬元件SC中增設了第2圖所示之 清理要求控制電路12。舉例而言’橋接器1〇係可為—北
Client’s Docket N〇.:VIC07-0011 /Dennis TT's Docket No:〇6〇8-A41152-TW/Final 19 1336845 橋晶二周:ί橋晶片或其結合,但不限定於此。 田、衣置20完成一寫入處理要求,並發出 號給主控4ΜΑ(例如哪),通知可 Μ 系統記憶體)中讀取—筆寫入資# 、屬兀件SA(例如 Λ #。在處職屬元件SA中 的衫寫人㈣則,主控元件Μα將會檢查週邊 言之’主控元件ΜΑ會讀取從屬元件奶的狀 在此處理要求完成前,橋接器]()必須確認
料已經放人從屬树SA中。從屬元件犯讀取資料^ = 將::的資料回傳給主控元件MA之前,橋接器ι〇將;產 生-清理(flush)要求f!ush_req給從屬元件%,並等待^屬 几件SC回覆一清理完成確認信號(flush ackuoWledge)flush—aek表示該筆寫人f料已經放 件SA中。 冨主元件]V1C發出清理要求fjush—req時,橋接器1 〇 中之清理要求控制電路12會於接收到清理要求 時,偵測緩衝單元BF2中n個緩衝器(例如BF〇〇〜Bf〇2)* 否已清空’並記錄下η個緩衝器中已清空之緩衝器,當^ 個緩衝器於接收到清理要求fjush_req後皆已清空過一次 時’則輸出清理完成確認信號f!ush_ack至主控元件MC, 表示在接收到清理要求flush_req前所寫入之資料或指令已 經被讀取。因此,從屬元件SC不會因為主控元件MC發 出之清理要求flush_req,中斷接收來自週邊裝置20中主控 元件MD之處理要求,可以繼續將資料及/或指令放入(push) 緩衝單元BF2中,使得系統之效能將有效提升。在某些實
Client’s Docket No.:VIC07-0011 TT's Docket No:0608-A41152-TW/Final /Dennis 知例中’’青理要求控制電路12亦可以設置於SB與SD中, 但不限定於此。 、 ’ ★雖然本發已以較佳實_揭露如上,然其並非用以 it:發:’任何熟知技藝者’在不脫離本發明之精神和 α ’虽可作些許更動與潤飾’因此本發明之保護範 虽視後附之”專·_界定者為準。 隻乾圍 【圖式簡單說明】 第1圖係為—電子系統之-實施例。 例。第2圖料本發明中—清理要求控制電路之-實施 =3圖係為第2Sj巾清理要求㈣祕之電路 =為第3圖中清理要求控制電路之信料: 構圖圖係為第2圖中清理要求控制電路之另-電二 =5圖中清理要求控制電路之信號時序圖 係為本發明之電子系統之另一實施例。 【主要元件符號說明】 1〇 :橋接器; 12〜14 :清理要求控制電路; 20 :週邊震置; 121〜123 :谓測單元; 124 :輸出單元; 125〜127:處理單元; /Dennis
Client’s Docket No.:VlC〇7-〇〇n TT's Docket N〇:0608-A41152-TW/FinaI 1336845 .. 100、100” :電子系統; RG0〜RG2 :暫存器; OG1〜OG6 :或閘; AD1 〜AD4、AN1 〜AN3 :及閘; MA、MB、MC、MD :主控元件; . SA、SB、SC、SD :從屬元件; BF卜BF2 :缓衝單元; BF20〜BF22 :缓衝器; 鲁 MUX0〜MUX5 :多工器; INV0、INV2 :反相器; DF0〜DF2 : D型正反器; flush_req :清理要求; flush_ack :清理完成確認信號; idleO〜idle2 :閒置信號; pending_ackO〜pending—ack2 :已清空信號; ackO〜ack2 :確定已清空信號; • CLK1:時脈信號。
Client's Docket N〇.:VIC07-0011 TT’s Docket N〇:0608-A41152-TW/Final /Dennis 22

Claims (1)

1336845 案號096127719 99年11月4曰 修正本 十、申請專利範圍: tt年丨丨月}曰修正本 1. 一種橋接器,包括·’ 一第一主控元件,用以輸出一清理要求; 一緩衝單元,包括複數個緩衝器;以及 一清理要求控制電路,於接收到上述清理要求時,偵 測上述複數個缓衝器是否已被清空,並記錄下上述複數個 緩衝器中已清空之緩衝器,若上述複數個緩衝器於接收到 上述清理要求後皆已被清空過,輸出一清理完成確認信 號,以告知上述第一主控元件上述緩衝單元被清空; 其中上述清理要求控制電路包括: 複數偵測單元,對應地耦接至上述複數個緩衝 器,於上述緩衝器之任一者已清空時,所對應之偵測單元 輸出一確定已清空信號;以及 一輸出單元,用以當上述複數個偵測單元皆輸出 上述確定已清空信號時,產生上述清理完成確認信號; 其中上述複數偵測單元各包括: 一暫存器,根據上述清理要求與上述缓衝器中之 對應一者所發出之一閒置信號產生一已清空信號,以表示 所對應之緩衝器在接收到上述清理要求之後被清空過;以 及 一處理單元,依據上述已清空信號與上述閒置信 號,產生上述確定已清空信號。 2. 如申請專利範圍第1項所述之橋接器,其中在上述 缓衝單元接收到清理要求後,接收來自一第一從屬元件之 VIC07-0011/0608-A41152-TW/Finall 23 1336845 資料或指令。 3 ·如申請專利範圍第1項所述之橋接器,其中上述處 理單元包括: 一及閘,具有兩個輸出端分別接收上述已清空信號與 清理要求;以及 一或閘,依據上述及閘輸出之信號與相對應之緩衝器 發出之上述閒置信號輸出上述確定已清空信號。 4·如申請專利範圍第1項所述之橋接器,其中上述複 數個偵測單元系依據相應之上述閒置信號偵測相應之緩衝 器是否已被清空。 5.如申請專利範圍第1項所述之橋接器,其中上述複 數偵測單元係於上述清理要求控制電路輸出上述清理完成 確認信號後,清除所有上述已清空信號。 6 ·如申請專利範圍第1項所述之橋接器,其中上述複 數偵測單元之暫存器更依據上述清理完成確認信號產生上 述已清空信號。 7. —清理要求控制電路,用以依據一清理要求,產生 一清理完成確認信號,以表示一緩衝單元之所有緩衝器被 清空,該清理要求控制電路包括: 複數偵測單元,分別地耦接至上述緩衝單元之緩衝器 中之對應一者,並依據上述清理要求與所對應之緩衝器發 出之至少一閒置信號,輸出至少一確定已清空信號,以表 示對應之緩衝器在接收到上述清理要求之後被清空;以及 一輸出單元,用以當上述複數個偵測單元皆輸出之上 VIC07-0011 /0608-A41152-TW/Final 1 24 1336845 述確定已清空信號時,產生上述清理完成確認信號,其中 上述複數個偵測單元各包括: 一暫存器,根據上述清理要求與上述相對應之閒 置信號產生一已清空信號,以表示所對應之緩衝器在接收 到上述清理要求之後被清空過;以及 一處理單元,依據上述已清空信號與上述閒置信 號,產生上述確定已清空信號。 8. 如申請專利範圍第7項所述之清理要求控制電路, 其中上述處理單元包括: 一及閘,具有兩個輸出端分別接收上述已清空信號與 上述清理要求;以及 一或閘,依據上述及閘輸出之信號與上述相對應之緩 衝器發出之上錄間置信號,輸出上述確定已清空信號。 9. 如申請專利範圍第7項所述之清理要求控制電路, 其中上述複數個偵測單元係於上述清理要求控制電路輸出 上述清理完成確認信號後,清除所有上述已清空信號。 10·如申請專利範圍第7項所述之清理要求控制電 路,其中上述複數個偵測單元之暫存器更依據上述清理完 成確認信號產生上述已清空信號。 11 ·如申請專利範圍第7項所述之清理要求控制電 路,其中上述複數暫存器各包括: 一及閘,用以接收上述清理要求與對應之閒置信號; 一第一多工器,用以根據上述清理完成確認信號,選擇 性地輸出上述已清空信號與一低位元信號; VIC07-0011 /0608-A41152-TW/Final 1 25 13-36845 -第二多工H ’用以根據上述及_出 地輸出第一多工器輪屮夕产味办 一 &擇性 ° w出之f5 5虎與一尚位元信號;以及 - D型正反器’用以根據上述第二多工器輪 號’產生上述已清空信號。 ^ 12. —種電子系統之資料清理(flush)方法,包括: 當接收到來自一橋接器中一第-主控元件之-清理要 求時,偵測一緩衝單元中複數個緩衝器是否已被清空, 記錄下上述複數個緩衝器中已被清空之緩衝器; " 當上述複數個緩衝器於接收到上述清理要求之後皆已 被清空過-次時’輸出—清理完成確認信號至上述 控元件; 於上述緩衝器之任—者已清空時,輸出—確定已清空 信號,以便記錄下上述已清空之緩衝器; 根據上述清理要求與上述相對應之緩衝器發出之一閒 置信號產生-已清空信號’以表示所對應之緩衝器在接收 到上述清理要求之後被清空過;以及 依據上述已清空信號與上述閒置信號,產生上述確定 已清空信號。 13. 如申請專利範圍第12項所述之電子系統之資料清 理方法,其中在上述緩衝單元接收到上述清理要求後,接 收來自一第一從屬元件之資料或指令。 14. 如申請專利範圍第12項所述之電子系統之資料清 理方法,其中依據相應之上述閒置信號,偵測上述相應之 VIC07-0011 /0608-A41152-TW/Final 1 26 13.36845 緩衝器是否已被清空。 15.如申請專利範圍第12項所述之電子系統之資料清 理方法,更包括於輸出上述清理完成確認信號後,清除所 有上述已清空信號。 VIC07-0011/0608-A41152-TW/Finall 27
TW96127719A 2007-07-30 2007-07-30 Bridges and the related electronic systems and methods for flushing data TWI336845B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW96127719A TWI336845B (en) 2007-07-30 2007-07-30 Bridges and the related electronic systems and methods for flushing data
US12/181,616 US7822906B2 (en) 2007-07-30 2008-07-29 Data flush methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW96127719A TWI336845B (en) 2007-07-30 2007-07-30 Bridges and the related electronic systems and methods for flushing data

Publications (2)

Publication Number Publication Date
TW200905482A TW200905482A (en) 2009-02-01
TWI336845B true TWI336845B (en) 2011-02-01

Family

ID=44722740

Family Applications (1)

Application Number Title Priority Date Filing Date
TW96127719A TWI336845B (en) 2007-07-30 2007-07-30 Bridges and the related electronic systems and methods for flushing data

Country Status (1)

Country Link
TW (1) TWI336845B (zh)

Also Published As

Publication number Publication date
TW200905482A (en) 2009-02-01

Similar Documents

Publication Publication Date Title
US7822906B2 (en) Data flush methods
JP2002523857A (ja) 非同期型論理を用いたfifo
TW200842592A (en) Improved DMAc to handle transfers of unknown lengths
JP2001236304A (ja) マイクロコンピュータ
US20110172968A1 (en) Distributed performance counters
CN100530109C (zh) 用于将处理器置于逐渐缓慢的操作模式的系统和方法
CN104205078A (zh) 具有降低的延迟的远程直接存储器访问
US20140143581A1 (en) System for data transfer between asynchronous clock domains
Grover et al. Urate and calcium oxalate stones: from repute to rhetoric to reality.
US20030126029A1 (en) Inter-queue ordering mechanism
US8566484B2 (en) Distributed trace using central performance counter memory
TWI336845B (en) Bridges and the related electronic systems and methods for flushing data
US6466993B1 (en) Method and apparatus for performing transactions rendering between host processors and I/O devices using concurrent non-blocking queuing techniques and I/O bus write operations
US7822905B2 (en) Bridges capable of controlling data flushing and methods for flushing data
JP2008299425A (ja) データ転送装置及びデータ転送方法
JP5316502B2 (ja) I/oブリッジ装置、応答通知方法、及びプログラム
CN118200262A (zh) 一种数据传输方法、系统、存储介质及电子设备
US7480837B2 (en) Method of monitoring timeout conditions and device therefor
CN100470531C (zh) 桥接器及电子系统的数据清除方法
US10338815B2 (en) Multi-channel nonvolatile memory power loss management
CN100514318C (zh) 桥接器以及电子系统的数据清理方法
US20010027543A1 (en) Single step debug card using the PCI interface
KR101087177B1 (ko) 리퀘스트 순서 제어 시스템, 리퀘스트 순서 제어 방법 및 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN116340217A (zh) 数据处理方法及相关装置
JP5511538B2 (ja) Cpu間通信システム及びcpu間通信方法
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载