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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 8
- 238000011010 flushing procedure Methods 0.000 title claims description 5
- 239000000872 buffer Substances 0.000 claims description 139
- 238000004140 cleaning Methods 0.000 claims description 96
- 238000012545 processing Methods 0.000 claims description 37
- 238000012790 confirmation Methods 0.000 claims description 27
- 238000001514 detection method Methods 0.000 claims description 12
- 238000003672 processing method Methods 0.000 claims 1
- 230000002093 peripheral effect Effects 0.000 description 12
- 101100286980 Daucus carota INV2 gene Proteins 0.000 description 5
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 5
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 5
- 101100397045 Xenopus laevis invs-b gene Proteins 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 235000017166 Bambusa arundinacea Nutrition 0.000 description 1
- 235000017491 Bambusa tulda Nutrition 0.000 description 1
- 241001330002 Bambuseae Species 0.000 description 1
- 101150110971 CIN7 gene Proteins 0.000 description 1
- 101150110298 INV1 gene Proteins 0.000 description 1
- 235000015334 Phyllostachys viridis Nutrition 0.000 description 1
- 206010036790 Productive cough Diseases 0.000 description 1
- 101100397044 Xenopus laevis invs-a gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000011425 bamboo Substances 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000008267 milk Substances 0.000 description 1
- 210000004080 milk Anatomy 0.000 description 1
- 235000013336 milk Nutrition 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 210000003802 sputum Anatomy 0.000 description 1
- 208000024794 sputum Diseases 0.000 description 1
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
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) |
-
2007
- 2007-07-30 TW TW96127719A patent/TWI336845B/zh active
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間通信方法 |