TW511034B - Scheduling requests in a system - Google Patents
Scheduling requests in a system Download PDFInfo
- Publication number
- TW511034B TW511034B TW88113880A TW88113880A TW511034B TW 511034 B TW511034 B TW 511034B TW 88113880 A TW88113880 A TW 88113880A TW 88113880 A TW88113880 A TW 88113880A TW 511034 B TW511034 B TW 511034B
- Authority
- TW
- Taiwan
- Prior art keywords
- request
- scope
- patent application
- resource
- execution
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/485—Resource constraint
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Description
經濟部智慧財產局員工消費合作社印製 A7 ------— B7 五、發明說明(1 ) 發明背景_ 本發明係有關於在系統中排定多個請求之順序。 在系統中(例如電腦)軟體層典型地包括作業系統以及 應用程式。當應㈣體執行時,可能會產生_或多個程序、 工作或是其他1作或執行實體之基本單元。在某些作業系 統例如來自微軟公司iWind〇ws 95或1_⑽$财作業 系統,每-程序可能含有一或多個執行包含在程序位址空 間内之程式碼來執行指定功能之卫作單元(稱之為執行 ^)。歸屬於-父程序之執行緒可以被指定執行不同的功 月b例如,在一試算表程序中,執行緒可能被產生來計算、 列印、接受使用者輸入、提供求助功能等等。在其他作業 系統中,一工作或程序可以建立由中央處理單元(CPU)排 定執行順序之工作或執行實體之基本單元。 作業系統可能包括排程器用以管理多個作用中的執行 緒或程序。不同型式的作業系統可能擁有不同的排程結 構。例如,在某些視窗作業系統中,時間片段被指定以循 環賽方式在允許相對應執行緒執行期間觸發執行鳝。更進 一步,在某些視窗作業系統中,優先權類別可能被指定至 執行緒。最而優先權類別之執行緒在它們被分配的時間片 &首先被執行,接著是較低優先權類別之執行緒。因此, 在任何實際的優先權類別中,排程可以以循環赛的方式執 行。一執行緒持續執行直到一或多個事件發生:時間片段 結束或此執行緒被其他準備就緒要執行之較高優先權類別 執行緒搶先。 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公釐)
— ·1111. (請先閱讀背面之注音?事項再填寫本頁} 訂i'-------線< 4 川〇34 五、發明說明(2 ) 不同的程序、執行緒或其他工作單元可能不同地使用 纟統資源。例如,在影像播放和解碼程序中,資料可能從 光碟謂裝置或數位影像光碟(DVD)裝置傳輸到系統記憶 體、在CPU和系統記憶體間傳輸、以及從系統記憶體傳輸 到影像記憶體給繪圖卡顯示在螢幕上。一般而言,資料從 CD裝置或DVD裝置傳輸到系統記憶體的速度比資料在繪 圖卡和系統記憶體間傳輸的速度慢,而後者的速度可能比 資料在CPU和系統記憶體間傳輸慢。因此系統資源(例如 包括系統記憶體、匯流排、以及其他裝置)可能依據不同 工作或執行實體單元不同的需求而不同地被使用。 傳統作業系統典型地無法有效地對不同的程序、執行 緒或其他工作單位不同的資源需求負責。這些傳統的作業 系統在應用層級排定程序、執行緒或其他工作單元;例如, 和每一應用程式相關之程序、執行緒或其他工作單元被指 疋一預定之優先權等級。典型地,來自工作單元的請求依 據預定之優先權和排程協定來排定,而不考慮所需要之系 統資源是否可以取用。 -
Mli月概述 一般而言,根據實施例,系統包括有資源、適合用來 發出請求資源之執行實體、以及含有來自每一執行實體請 求資源相對應槽位分配的儲存位置。一控制器連接至此資 源且依據槽位分配適合用來存取此儲存位置以及處理來自 執行實體對資源之請求。 其他特徵將會從下面的描述以及申請之專利中更加清 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 511034 經濟部智慧財產局員工消費合作社印製 A7 B7____ 五、發明說明(3 ) 楚。 圖式簡介 第1圖為本發明中實施例之系統方塊圖。 第2A圖和第2B圖為第1圖中系統之階層方塊圖。 第3圖為圖解依據時施例之排程週期。 第4圖為依據第1圖系統中實施例之排程模組流程圖。 第5圖為依據第1圖系統中實施例之基本輸入/輸出 (BIOS)程序流程圖。 第6圖為依據第1圖系統中實施例之作業系統流程圖。 本發明之詳細描沭 依據本發明之系統包括由在系統中執行之韌體階層軟 體或模組所使用或存取之各種不同的資源。例如,系統資 源可能包括系統記憶體、一或多個匯流排、以及其他裝置。 依據實施例在系統中執行之排程器依據預定之準則排定來 自由軟體及韌體階層產生之工作基本單元或執行實體(例 如程序、工作或執行緒)之請求,這些準則在某些實施例 中可能包括某些系統資源是否可取用以及請求之濬伏和頻 寬需求。依據實施例,排程器裝備有系統資源可取用性和 使用回饋。藉由一決定方法,其中所請求資源之可取用性 及使用狀況可以由排程器決定,此排程器較好能保證來自 執行實體的請求是依據此發出請求實體的頻寬和潛伏需求 來服務。 參考第1圖,為展示系統10之方塊圖,其可能是例如 一般用途或特定用途電腦、以微處理器或微控制器為基礎 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ------- I—-----------訂 -------線 (請先閱讀背面之注意事項再填寫本頁) 6 511034 A7 B7 五、發明說明(4 ) 的系統、手提式電腦裝置、設置盒(Set_t〇p b〇x)、設備、 遊戲系統、或任何其他包括如應用特定整合電路(ASIC)或 可程式化閘陣列(PGA)之控制裝置的系統。 儘菅此一描述參考系統1〇之特定的組配以及各種不同 階層的架構,可以預期所描述和圖解之實施例可以有各種 的修改和變動。 在第1圖的實施例中,系統10包括中央處理器 > (CPU)IOO ’其係透過包括連接至主記憶體1〇4之記憶體控 制器103及連接至緣圖控制器1〇6之繪圖介面1〇5之主橋控 制器102連接。繪圖介面1〇5可能是例如依據1998年5月公 佈之加速繪圖埠介面規格2·〇修訂版之加速繪圖埠(AGp)介 面。主橋控制器102可能也包括用以控制第二層(L2)快取 記憶體109之快取控制器1〇7。主橋控制器102包括連接至 系統匯流排112之匯流排介面1 1 1,在實施例中可能是依據 1995年6月公佈之PCI區域匯流排規格生產版本第2.1修訂 • 版之介面元件互連(PCI)匯流排、或是在替代的實施例中 為其他型式的介面協定。 一 例如,在另一組配中,此主橋控制器可以以由一通道 連接之記憶體集線器和輸入/輸出集線器取代。在此一組 配中’記憶體和繪圖介面電.路可能是在記憶體集線器中, 而橋控制器可能是在I/O集線器中。 系統匯流排112可能連接至控制存取一或多個儲存裝 置如硬碟裝置115或光碟(CD)或數位影像光碟(DVD)裝置 116之儲存裝置控制器114。其他裝置也可以連接至系統匯 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) I l·---II--- I I I I---t — — — — —---- (請先閱讀背面之注意事項再填寫本頁) 五、發明說明(5 ) 流排112,如網路介面卡和連接至周邊裝置的插槽(沒有顯 示出來)。依據各種其他整合層次的系統擁有在不同方塊 中實現的控制器°例如,硬碟裝置和CD或DVD裝置控制 器可以包括在系統橋1 1 〇中。 口系統10也可能包括第二或擴充匯流排120。系統橋控 制器110連接于系統匯流排112和擴充匯流排12()之間。系 統橋控制nm可能包括連接❹統匯流排112之系統匯流 排介面in以及連接到擴充匯流排12()之擴充匯流排介面 119。系統橋控制器以可能包括連接到刪璋18之通用串 列匯流排(USB)介面117,描述逾1996h月公佈之通用匯 流排規格1·0修訂版中。擴充匯流排120可能連接到各種周 邊裝置122及非揮發性記憶體124。元件和裝置連接之匯流 排本身和系統δ己憶體可能成為來自系統1 〇中工作單元或執 订實體之請求使用或存取之系統資源的一部份。 經濟部智慧財產局員工消費合作社印製 參考第2Α-2Β圖,在系統1〇中軟體和硬體階層有更詳 細的圖解。例如,系統1〇可能包括作業系統(〇s)22〇和程 序222及224。在接下來的描述中,其假設作業系:统22〇為 以執行緒為基礎之系統,如某些視窗作業系統,其中每一 程序可能包括一或多個執行緒。然而必須瞭解到依據此描 述之實施例的請求排定方法可能以不同組配的執行實體或 工作單元實現於作業系統中。 如第2Α圖之圖解,執行緒228和229隸屬於程序222 , 執行緒230和231隸屬於程序224。執行緒可以透過如在作 業系統下定義之應用可程式介面(ΑΡΙ)之預定介面和 本紙張尺錢G關家鮮(CNS)A4規格⑵〇 X 297公釐) 經濟部智慧財產局員工消費合作社印製
511034 A7 ___B7___ ,五、發明說明(6 ) 220溝通。換言之,也可以使用第三者(third party)APIe OS 220包括排定來自作用中執行緒透過預定介面之請求的排 程器232。在實施例中,排程器232可能和可以存取系統10 • 之記憶體、I/O、或其他定義的槽位之裝置驅動程式240結 合在一起來和硬體元件溝通用以依據本發明之實施例執行 排程。元件232和240全部可以稱之為排程器。在另外的實 施例中,排程器可以分割成多個模組或階層。 依據接收來自執行緒的請求,排程器232以來自硬體 元件之回饋溝通、未完成的請求數目以及發出請求執行緒 之潛伏和頻寬需求為基礎排定請求。 依據實施例,排程器232儲存請求至擁有預定登記數 目之請求彳宁列204。在請求彳宁列204中的每一項目在狀態爛 位206中和狀態旗標相連結,用以指示特定個請求是否已 經被處理。 可以被排程器232透過裝置驅動程式240存取儲存在系 統記憶體1〇4(或其他合適的儲存位置)中的一組表格或表 格區段202對相對應作用中的執行緒驗明通道分酉己,每一 個擁有執行緒識別碼(ID)。每一通道被定義為具有基本時 脈週期之預定數目,例如由一時脈產生器250產生之時脈。 母一通道之基本時脈週期數目是以想要的顆粒來選擇。每 一個表格或表格區段2〇2對應至包括如系統記憶體1〇4、繪 圖卡1〇6、系統匯流排in、擴充匯流排120、USB埠118等 等之系統1 〇中之一資源。 依據實施例,橋控制器102、110也儲存對應至各種系 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -------------裝------—訂---------線 (請先閱讀背面之注意事項再填寫本頁) 9 5 4 03 經濟部智慧財產局員工消費合作社印製 A7 __________B7五、發明說明(7 ) 統資源之表格或表格區段,藉由執行緒ID對特定之執行 緒記錄通道分配。在橋控制器中之表格或表格區段是根據 由0S 220所維護之對應的表格220來載入。在圖解的實施 例中,表格或表格區段302A、302B和302C可能分別被主 橋控制器102儲存用來對系統記憶體1〇4、系統匯流排112 以及繪圖卡106記錄通道分配。系統橋控制器11〇可以儲存 表格或表格區段302D和302E用來對USB埠118及擴充匯流 排12 0 §己錄通道分配。其他的表格也被維護來給其他系統 資源。 儘管如圖解中的例子是儲存在橋控制器102、110,表 格302A-302E也可以被儲存在其他合適的位置,例如系統 記憶體104或外部儲存裝置。換言之,控制器控制的不同 系統資源可以分佈于整個系統而不侷限整合在如圖解之橋 控制器102、11〇。 當通道分配改變時,表格302A-302E會被OS 220週期 性地更新。在表格302A-302E中的每一個表格中,執行緒 可以被指定相同或不同的通道。例如,具有地巍行緒ID 之執行緒可以被分配第一號通道,具有第二執行緒10之 執行緒可以被指定不同號碼通道,其餘以此類推。 在表格302A-302E中被指分配到執行緒的通道定義執 行緒請求執行視窗或在整個排程週期4〇〇内的槽位,如第3 圖圖解。排程週期400包括多個執行緒請求執行視窗或槽 位4020、402ν·ι.....、以及402Ν,每一個包括一個 被分配的通道號碼。每一個請求執行視窗4〇2被分配來執 •—.-----------------^--------^ (請先閱讀背面之注音?事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 10 511034 A7 經濟部智慧財產局員工消費合作社中製 ------- --B7___五、發明說明(8 ) 行來自執行緒之請求。 在實施例中’第一視窗4〇2〇被分配到排程器232用以 維護OS表格202和其在橋控制器1〇2、11〇中對應表格3〇2 之一致性。剩餘的視窗4〇21到4〇、被分配來處理來自其他 各種執行緒的請求。在圖解實施例中,排程器裝置驅動程 式240在一致性視窗4〇2〇中的每一排程週期4〇〇更新表格 302A-302E—次。在一致性視窗4〇2〇期間,或換言之,在 其他視窗402i,排程器裝置驅動程式24〇也可以讀取橋控 制器102、11〇之狀態暫存器3〇4A-3〇4E内容用以決定哪一 請求已經完成。排程器232因此被提供哪一請求已經完成 以及哪些仍在等待之迴授以允許其記錄哪些系統資源可以 取用。以此方式,當排程器232接收到來自執行緒的請求 時,排程器232可以決定是否可取用充分的資源來處理此 請求。 再次參考第2A-2B圖,依據實施例,每一個橋控制器 _ 102、110含有各種用來儲存請求系統1〇中各種資源的佇 列。例如,主橋控制器102包括在記憶體控制器1〇-3中之記 憶體佇列310。記憶體控制器1〇3接收來自系統1〇中各種來 源的請求,包括透CPU匯流排介面3122Cpu 1〇〇以及透 過系統匯流排介面之系統匯流排112都被儲存在記憶體佇 列310中用以執行Q除了記憶體位址及資料資訊外,記憶 體佇列310也被用來儲存記憶體請求之執行緒叩。 在本發明的幾個實施例中,CPU 1〇〇抓取和相關執行 緒ID—起之指令。此執行緒m向前行並儲存在橋控制器 (請先閱讀背面之注意事項再填寫本頁) 丨裝 • I n n ϋ -線- -I I I · 本紙張尺度適用中國國家標準(CNS)A4規袼(210 X 297公釐)
I 11 511034 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(9 ) 102、110的佇列中。 在主橋控制器102中之排程器控制器314接收來自計數 器306以及表格或表格區段3〇2a-3〇2C的輸出值。來自時 脈產生器基本時脈驅動之計數器306被用來在排程週期 400中在通道中計數。依據計數器3〇6的值,排程器控制器 314可以在排程週及400内決定目前執行緒請求執行視窗 40〇i(i-0到N)。根據視窗4〇(^哪一個是作用中以及在表格 302A中之通道分配,在記憶體佇列中31〇和執行緒①對應 之請求可以被記憶體控制器1〇3選擇來處理。 被選擇到的請求在目前視窗4〇2i内執行。視此請求之 元成度,主橋控制器102會藉由修改狀態暫存器3a中適 當的位元以傳回請求已完成狀態。在下一個一致性視窗 402〇中,在排程器裝置驅動程式24〇控制下之cpu ι〇〇讀 取此狀態暫存器304A(就如同讀取其他狀態暫存器3〇4B_ 304E)來決定哪一個請求已經完成。排程器裝置驅動程式 240接著更新在請求佇列204中已經完成之請求的旗標 206 〇 - 除了記憶體佇列310外,在一實施例中之主橋控制器 102也可能包括在系統匯流排介面的系統匯流排佇列316以 及在繪圖介面1〇5之繪圖卡請求佇列318。對系統匯流排的 請求會進入系統匯流排佇列316,而對繪圖卡的請求會進 入繪圖卡佇列318。這些請求會和執行緒ID連結,因此排 程器控制H 314可以根據目前執行緒請求執行視窗術丨以 及儲存在表格302B和3 02C之通道分配來選擇適當的請求 -ΙΊΙ—^ --------訂 i.-------線 (請先閱讀背面之注意事項再填寫本頁) 12 經濟部智慧財產局員工消費合作社印製 511034 A7 B7 五、發明說明(10 ) 給匯流排介面111或繪圖介面處理。佇列316和318中已經 完成的請求分別由狀態暫存器304B和304C指示。 同樣的,系統橋控制器110包括一用來儲存對擴充匯 流排12 0請求之擴充匯流排佇列3 2 0以及用來儲存對U S B埠 118請求之USB匯流排佇列322。一個可能由時脈產生器250 之基本時脈所驅動之計數器308計數整個排程週及400之通 道。根據由計數器3 0 8所指示之目前執行緒請求執行視窗 i 402丨以及儲存在表格302D和302E之通道分配情況,系統 橋控制器110中之排程器控制器324分別決定在佇列320和 322中之哪一個請求要被處理。已經完成的請求由狀態暫 存器304D和304E指示。 參考第4圖,和排程器232—同運作之排程器裝置驅動 程式240等待接收某些事件(在502)。假如收到來字執行緒 的請求,此請求可能是以應用可程式化介面(API)呼叫的 型式,排程器裝置驅動程式240存取(在504)請求佇列204 > 和通道分配表202,使得排程器232可以決定(在506)是否 可以取得用來處理此執行緒請求的資源。 _ 假如排程器232決定用來充分處理此請求的資源無法 取用,那麼此請求的執行緒會被通知(在508)。要回應此 通知,執行緒可以在重新發出請求前先等待一段時間或此 執行緒可以優雅的處理此狀況。假如所請求的資源可以取 用,那麼來自執行緒的請求會被加入(在510)請求佇列 204。 當排程佇列中一特定的請求已經被處理完成時,佇列 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 裝--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 13 511034
五、發明說明(11 ) 204之旗標欄位206中的完成旗標會被設定,如同上面所討 論的。 排程器裝置驅動程式240本身為可以發出請求之執行 緒,諸如存取和請求佇列以及執行緒通道分配表.相對應之 e憶體位置。來自排程裝置驅動程式執行緒的請求會進入 明求佇列204(在520),這些請求會在排程週期4〇〇的第一 個視窗4G2。巾處理。換言之,另_視窗佩可能會被指定 給排程器裝置驅動程式24〇。 在一致性視窗402i期間,排程器驅動程式24〇控制下 的cpu 1〇〇必要的話會更新橋控制器表格3〇2Α·3〇2ε來更 動通道分配。CPU 1〇〇也可以存取(在524)狀態戰存器 304A-304E來決定哪些請求已經完成。換言之,表格更新 和狀怨暫存器讀取的動作可以分開。裝置驅動程式24〇控 制下的CPU 100接著更新(在526)請求佇列204。 排程器232可以藉由尋找請求本身以及請求的參數, 如API呼叫的參數,來決定請求所需要的系統資源。例如, 參數會明確指出存取系統記憶體104中記憶體位注空間的 一個位置。另一個參數會明確指出Ι/Ό位址空間的位置, 此位置可能被系統10之匯流排112、12〇、繪圖卡1〇6、連 結到USB埠118的USB匯流排或其他位置其中之一所指 定。根據所請求的資源,當排程器裝置驅動程式24〇所取 回已經在佇列中的請求以及在表袼或表格區段202中明確 指定之通道分配時,排程器裝置驅動程式232可以決定請 求是否可以以某種合理的方式處理。這可以依據事先設計 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 請 先 閱 讀 背- 面. 之- 注 意- 事 項 經濟部智慧財產局員工消費合作社印製
-14 - 511034 Α7 Β7 經濟部智慧財產局員工消費合作社印製 五、發明說明(12 到糸統10且由啟動程序(例如基本輸入/輸出系統或]31〇8程 序)載入的準則來定義。排程器232知道系統中各種執行緒 之潛伏與頻寬的需求。這些潛伏與頻寬需求會被排程器232 使用來決定是否可取用足夠的資源來滿足一執行緒的需 求。 舉例來說,執行緒可能會發出請求用以從繪圖卡丨〇6 影像記憶體傳送一晝面的影像資料到系統記憶體1〇4。給 定一畫面大小(例如720*480像素)以及每個像素使用的位 元數,此影像傳輸的頻寬需求可以根據此傳輸開始的一特 定期間來決定。此外,此傳輸請求的潛伏也可以得知。根 據頻寬與潛伏資訊,以及根據對資源未完成的情求是否為 凡成’排程器可以決定此影像傳輸請求是否可以被可取用 的為源所處理。假若無法處理,此執行緒會被排程器告知, 而此執行緒可以以包括再發出另一請求前先等待或將請求 切分成數個部分的幾種方法回應。 參考第5圖,依據實施例系統初始化是由系統BI〇s程 序執行。在系統重置已經將系統硬體配置在初始疢態後, CPU 1〇〇在BIOS的電源開啟自我測試(p0ST)程序中開始執 行‘令,負責將糸統1 〇中的元件初始化用以知道狀態以及 用來建構給0S 220使用之系統組配資訊。在系統1〇之某 些初始化工作已經執行後(在6〇2),BI〇s程序接著設定(在 6〇4)系統§己憶體1 〇4或其他合適的儲存位置來儲存通道分 配表或表格區段202。BIOS程序會指定每個通道的基本頻 率(例如每個通道一或多個時脈)以及排程週期4 〇 〇的總寬 本紙張尺度適用中國國家標準(CNS)A4規格(21Q χ 297公髮)
034 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(13 ) 度。特定的記憶體位址會保留來儲存表格或表格區段202。 此外,給排程器232使用的準則會被指定來決定要接受或 拒絕執行緒的請求。 接著,預設的通道分配會被載入(在606)表格中。舉 例來說,某些和OS相關的執行緒(例如排程器以及其他系 統管理層)會在週期400中被指定到視窗。此外,BIOS會 設定擁有預定通道數目之預設視窗用以處理沒有被指定到 特定視窗的執行緒請求。BIOS可以測試系統的組配空間 來決定可取用的處理器型式,假如此處理器為多工處理系 統,以及其他資訊。從這些資訊,BIOS可以決定系統的 能力。根據此判定的能力,BIOS可以依此在預設視窗中 指定通道號碼。接著,系統元件被BIOS程序初始化及組 配(在608)。OS 220接著被啟動(在610)。 參考第6圖,在OS 220啟動後,OS首先確認(在650)系 統10中作用中的執行緒數目。OS 220查詢(在652)系統10 中每一執行緒對資源之頻寬和潛伏的需求。某些執行緒知 道它們度每一系統資源的潛伏與頻寬需求。舉例采說,和 多媒體程序相關的程序可能擁有”即時”的需求,此需求對 資料傳輸可以容忍相對地較小的潛伏以及要求遨資料傳輸 率。其他的執行緒可能可以容忍較高的潛伏以及較低的資 料傳輸頻寬。根據比較來自作用中執行緒不同的潛伏與頻 寬的需求,用來指定對應至不同執行緒之不同請求視窗 402i的通道號碼可以由0S(在654)設定來滿足要求較低潛 伏與較高頻寬的執行緒。其結果為,那些型式的執行緒會 -------·---------------訂 --------線 (請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 16 511034 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(Η ) 被指定較大的通道號碼以及可能是多個視窗。這些多 個被指定的視窗402i在排程週期400中可以是連續或分散 的。假如執行緒沒有提供對任何系統資源之潛伏與頻寬資 訊時,該執行緒會在排程週期400中被指定到表格或表格 區段202的預設視窗4〇2i。 根據所計算的通道號碼,表格或表格區段2〇2會依據 執行緒ID隨著通道分配被載入(在656)。 因此,根據實施例,排程系統藉由根據資源與通道分 配的可取用性決定資料流需求是否足夠來排定來自系統中 執行緒的請求。系統中資源的可取用性是由硬體元件指示 給排程器。更進一步,根據請求的型式與請求的參數,排 程器能夠決定特定請求所需要的資源。 其他的實施例也在下列專利申請範圍内。舉例來說, 隨著作業系統的不同,系統中工作基本單位或執行實體可 能不是執行緒而是程序或其他定義的單元。更進一步,系 統中的硬體元件可以有不同的組配。由圖解之模組與階層 之軟體與韌體所執行的動作也可能有所不同。- 儘管本發明是隨著有限的實施例揭露,這些技術在業 界可以有各種不同的修改與變動而不脫離本發明範疇。下
列申請的專利可以延伸包括這些修改與變動而仍舊在本發 明的真實精神與範疇内。 X -------------裝--------訂---------線 (請先閱讀背面之注意事項再填寫本頁)
17 511034
Α7 Β7 五、發明説明(15 ) &件標號對照表 煩睛委員_示 年彳‘,月^n所提之 1ΪΓ内、;l:ris-、L?.KeIT修正, 100···中央處理器(CPU) 102···主橋控制器 103···記憶體控制器 104···主記憶體 10 5…繪圖介面 106···繪圖控制器 107···快取控制器 109···快取記憶體 110···系統橋控制器 111···匯流排介面 112···系統匯流排 113…系統匯流排控制器/ 介面 114···儲存裝置控制器 115···硬碟裝置 116…CD或DVD裝置 117··· USB介面 118...USB 崞 119···擴充匯流排控制器/ 介面 120···擴充匯流排 122…周邊裝置 124···非揮發性記憶體 202…通道分配表 202A〜202E···表格區段 2 0 4…請求彳宁列 206···狀態攔位 220···作業系,統(OS) 222、224···程序 228〜231···執行緒 232···排程器 240···裝置驅動程式 250···時脈產生器 302A〜302Έ···表格區段 304A〜304E…狀態暫存器 306、308…計數器 310…記憶體佇列 312…CPU匯流排介面 314…排程控制器 316···系統匯流排佇列 3 18…繪圖卡佇列 320…擴充匯流排彳宁列 322-USB佇歹丨! 324…排程控制器 400…排程週期 402〇-402n·’·視窗 / 槽位 402i…視窗 502-526、602-656…步驟 (請先閲讀背面之注意事.項再填寫本頁) …才· .線丨 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) .18
Claims (1)
- 、申請專利範圍 其包含: 1· 一種用以排定多個請求的順序之系統 一種資源; 適合用來對該資源發出請求之數種執行實體; 個儲存位置’其包含與來自每-個執行實體對 貝源之請求相關聯的數個槽位分配;以及 一個控制II’其運作地連㈣„源 該等槽位分配來存取該儲存位置 U㈣ ^减仔位置以及用來處理來自該 寻執仃貫體對該資源的請求。 2·如申凊專利範圍第i ^ ^ ^更包含有一適合用來 更新该儲存位置中該等槽位分配之排程器。 3·如申請專利範圍第2 m兩 包含一個可由該排 存取以及含有針對該等執行實體之槽位分配的第 一儲存位置。 4·如申請專利範圍第 4曰4“ 貝m其中,該排程器適於 根據在该第二儲存位置中的玄 之 之 請求來決定由—執行實體發出該資源是否ΐ以:用 m “, 的°亥專槽位分配與未完成 一請求 器 資 5· 2申4專圍第4項之系統,其中該排程器知道每 -執仃實體之該資源的頻寬資訊,並且其中該排程 =據該頻寬資訊來決定由—執行實體所發出該 源疋否可以取用之一請求。 個 6·如申請專利範圍第4項之系統,其中該請求包括 與一或多個參數相關聯之應用可程式化介面呼叫。 入如申請專利範圍第2項之系統,其中該排程器適 —#Ί 經濟部智慧財產局Bx合作抹印製 A8 B8 C8 D8 申請專利範圍 來存取該控制器,用以決定一請求是否已經被處理。 .如申凊專利範圍第1項之系統,更包含一個可由該控 制器存取之計數器,用已決定哪一個槽位為作用中。 9·如申請專利範圍第8項之系統,其中每一個槽位包括 —或多個通道,該計數器適合用來計數全部的通道。 10·如申請專利範圍第i項之系統,其中多個槽位在一個 排程週期中定義,而且該控制器適合用來處理來自相 對應槽位中該等執行實體的請求。 η·如申請專利範圍第1項之系統,其包括一個和該等執 行單元協調用以決定資源使用需求之作業系統;以及 一儲存位置,其可由該作業系統更新,以根據能 夠'在其指定通道間存取該系統資源之一執行單元之該 等資源使用需求來指定通道給該等執行單元。 12·如申請專利範圍第丨丨項之系統,其中該等執行實體適 合用來將該資源之頻寬資訊傳輸到該作業系統。 13·如申請專利範圍第12項之系統,其中該等執行實體更 適於進一步將該資源之潛伏資訊傳輸到該作業系統。 14· 一種在一系統中排定來自多個執行單元之請求的方 法,其包含: 對一系統資源決定該些執行單元之資料流資訊; 根據該資料流資訊指定時間槽位給該等執行單元 用以存取該系統資源; 根據該等指定的時間槽位規劃一控制器;以及 該控制器根據哪一時間槽位目前為作用中以及該 裝 I n — 訂~~ 線 (請先閲讀背面之注意事項再填寫本頁) 20 511034 A B c D 六、申請專利範圍 等吩間槽位分配來處理對該系統資源之請求。 15·如申請專利範圍第14項之方法,其中決定該資料流資 訊之步驟包括決定由該執行單元用以存取該系統資源 所使用之頻寬資訊。 16·如申請專利範圍第14項之方法,其中蚊該資料流資 訊之步驟包括決定由該執行單元用以存取該系統資源 所使用之潛伏資訊。 π·如申請專^範圍第14項之方法,更包含根據該系統資 源之s亥寻時間槽位分配與該系統資源之可取得性來決 定來自一第—執行單元的-個請求是否可以被處理。、 18.如申請專利範圍第17項之方法,更包含根據該資料流 f訊與料統資源、之㈣請求來決定該系統資源 取得性。 19•-種包括-個儲存媒體之物品,該儲存媒體含有用來 排疋來自多個執行實體之請求之順序的多個指令,該 #指令會導致-處理II執行下列動作: 人 接收包括一對_ έ, ίή -g- » 对糸統貝源之存取之來 實體的一個第一請求; $執仃 存取一個運作地連接到該系統資源的控制哭,用 =有某些其他等候該系統資源之請求已經被 〜決定該系統資源對該第-請求而言是否可以取 付0 20·如申請專利範圍帛19項之物品 ,、3有用以導致該處 ^紙張尺度適用中國國家標準(CNS) 公爱厂線 21 511034 A8 B8 C8 D8 六、申請專利範圍 理器因為該資源無法取得而更進一步通知該執行實體 是否該請求無法被處理之多個指令。 ---------I------訂------^ (請先閲讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 22
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18861498A | 1998-11-09 | 1998-11-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW511034B true TW511034B (en) | 2002-11-21 |
Family
ID=22693875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW88113880A TW511034B (en) | 1998-11-09 | 1999-08-13 | Scheduling requests in a system |
Country Status (7)
Country | Link |
---|---|
JP (3) | JP2002529850A (zh) |
AU (1) | AU5902299A (zh) |
DE (1) | DE19983709B4 (zh) |
GB (1) | GB2358939B (zh) |
HK (1) | HK1036860A1 (zh) |
TW (1) | TW511034B (zh) |
WO (1) | WO2000028418A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8700859B2 (en) | 2009-09-15 | 2014-04-15 | Via Technologies, Inc. | Transfer request block cache system and method |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW511034B (en) * | 1998-11-09 | 2002-11-21 | Intel Corp | Scheduling requests in a system |
US20020040381A1 (en) * | 2000-10-03 | 2002-04-04 | Steiger Dianne L. | Automatic load distribution for multiple digital signal processing system |
US7673304B2 (en) * | 2003-02-18 | 2010-03-02 | Microsoft Corporation | Multithreaded kernel for graphics processing unit |
US7690003B2 (en) * | 2003-08-29 | 2010-03-30 | Fuller Jeffrey C | System and method for increasing data throughput using thread scheduling |
KR101014149B1 (ko) * | 2008-11-13 | 2011-02-14 | (주)인디링스 | 메모리 뱅크로의 접근을 제어하는 고체 상태 디스크를 위한컨트롤러 |
US8255615B1 (en) | 2009-01-08 | 2012-08-28 | Marvell International Ltd. | Flexible sequence design architecture for solid state memory controller |
DE102009016742B4 (de) * | 2009-04-09 | 2011-03-10 | Technische Universität Braunschweig Carolo-Wilhelmina | Mehrprozessor-Computersystem |
WO2012087971A2 (en) * | 2010-12-20 | 2012-06-28 | Marvell World Trade Ltd. | Descriptor scheduler |
DE102011013833B4 (de) | 2011-03-14 | 2014-05-15 | Continental Automotive Gmbh | Anzeigevorrichtung |
KR102149171B1 (ko) * | 2018-05-18 | 2020-08-28 | 강원대학교산학협력단 | 산업용 로봇 시스템의 실시간 스케줄링 방법 및 장치 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07504071A (ja) * | 1991-12-23 | 1995-04-27 | ネットワーク・エクスプレス・インコーポレイテッド | 交換デジタルネットワークを介してデータターミナル装置をインターネットワーク化するシステム |
US5682484A (en) * | 1995-11-20 | 1997-10-28 | Advanced Micro Devices, Inc. | System and method for transferring data streams simultaneously on multiple buses in a computer system |
US5812844A (en) * | 1995-12-07 | 1998-09-22 | Microsoft Corporation | Method and system for scheduling the execution of threads using optional time-specific scheduling constraints |
DE69738832D1 (de) * | 1996-03-28 | 2008-08-28 | Hitachi Ltd | Verfahren zum Planen von periodischen Prozessabläufen |
JP2904483B2 (ja) * | 1996-03-28 | 1999-06-14 | 株式会社日立製作所 | 周期的プロセスのスケジューリング方法 |
US5826082A (en) * | 1996-07-01 | 1998-10-20 | Sun Microsystems, Inc. | Method for reserving resources |
US5928327A (en) * | 1996-08-08 | 1999-07-27 | Wang; Pong-Sheng | System and process for delivering digital data on demand |
JP2000509858A (ja) * | 1996-11-06 | 2000-08-02 | モトローラ・インコーポレイテッド | Wcl中に許可されたアクセス数を決定する方法および装置 |
US6567839B1 (en) * | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
TW511034B (en) * | 1998-11-09 | 2002-11-21 | Intel Corp | Scheduling requests in a system |
-
1999
- 1999-08-13 TW TW88113880A patent/TW511034B/zh active
- 1999-08-26 JP JP2000581535A patent/JP2002529850A/ja active Pending
- 1999-08-26 WO PCT/US1999/019596 patent/WO2000028418A1/en active Application Filing
- 1999-08-26 AU AU59022/99A patent/AU5902299A/en not_active Abandoned
- 1999-08-26 DE DE19983709T patent/DE19983709B4/de not_active Expired - Fee Related
- 1999-08-26 GB GB0109904A patent/GB2358939B/en not_active Expired - Fee Related
-
2001
- 2001-11-05 HK HK01107727A patent/HK1036860A1/xx not_active IP Right Cessation
-
2009
- 2009-10-14 JP JP2009237427A patent/JP2010044784A/ja active Pending
-
2010
- 2010-10-04 JP JP2010224970A patent/JP2011044165A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8700859B2 (en) | 2009-09-15 | 2014-04-15 | Via Technologies, Inc. | Transfer request block cache system and method |
TWI514143B (zh) * | 2009-09-15 | 2015-12-21 | Via Tech Inc | 傳送請求區塊的快取記憶體系統及方法 |
Also Published As
Publication number | Publication date |
---|---|
GB0109904D0 (en) | 2001-06-13 |
JP2011044165A (ja) | 2011-03-03 |
GB2358939A (en) | 2001-08-08 |
HK1036860A1 (en) | 2002-01-18 |
WO2000028418A1 (en) | 2000-05-18 |
JP2010044784A (ja) | 2010-02-25 |
AU5902299A (en) | 2000-05-29 |
DE19983709B4 (de) | 2007-02-22 |
GB2358939B (en) | 2003-07-02 |
DE19983709T1 (de) | 2002-02-14 |
JP2002529850A (ja) | 2002-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105579961B (zh) | 数据处理系统及操作方法、用于数据处理系统的硬件单元 | |
JP2010044784A (ja) | システムにおける要求のスケジューリング | |
KR101443418B1 (ko) | 파워 할당 관리 방법 및 시스템 | |
US20090100249A1 (en) | Method and apparatus for allocating architectural register resources among threads in a multi-threaded microprocessor core | |
EP1645967A1 (en) | Multi-channel DMA with shared FIFO buffer | |
US7478179B2 (en) | Input/output priority inheritance wherein first I/O request is executed based on higher priority | |
US20080046621A1 (en) | Information Processing Apparatus, Interrupt Process Control Method, and Computer Program | |
KR101150661B1 (ko) | 정보 처리 장치 및 메모리 영역 관리 방법 | |
US20210019185A1 (en) | Compute task state encapsulation | |
EP1691287A1 (en) | Information processing device, process control method, and computer program | |
JP2002530780A (ja) | 再構成可能なプログラマブルロジックデバイスコンピュータシステム | |
WO2003019360A2 (en) | System for yielding to a processor | |
KR20170111462A (ko) | 다중 코어 프로세서 및 다중 코어 프로세서를 제어하는 방법 | |
US9213560B2 (en) | Affinity of virtual processor dispatching | |
CN112955880B (zh) | 用于处理片上系统中的地址解码的装置和方法 | |
JP2006513493A (ja) | フリーバッファプールを使用することによるメモリの管理 | |
TW202205103A (zh) | 對命令進行排程之系統以及方法 | |
WO2013035246A1 (ja) | 仮想計算機制御装置、仮想計算機制御方法、仮想計算機制御プログラム、及び集積回路 | |
TWI323848B (en) | Apparatus and method for assuring recovery of temporary resources in a logically partitioned computer system | |
US7080174B1 (en) | System and method for managing input/output requests using a fairness throttle | |
CN108958903B (zh) | 嵌入式多核中央处理器任务调度方法与装置 | |
WO2013148439A1 (en) | Hardware managed allocation and deallocation evaluation circuit | |
US10635497B2 (en) | Method and apparatus for job pre-scheduling by distributed job manager in a digital multi-processor system | |
JP4474415B2 (ja) | 階層型スケジューリング | |
US20050138251A1 (en) | Arbitration of asynchronous and isochronous requests |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |