TW511034B - Scheduling requests in a system - Google Patents

Scheduling requests in a system Download PDF

Info

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
Application number
TW88113880A
Other languages
English (en)
Inventor
Siamack Haghighi
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of TW511034B publication Critical patent/TW511034B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/485Resource 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. 、申請專利範圍 其包含: 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
TW88113880A 1998-11-09 1999-08-13 Scheduling requests in a system TW511034B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
EP2656216B1 (en) 2010-12-20 2018-12-19 Marvell World Trade Ltd. Device with descriptor scheduler and corresponding method and system
DE102011013833B4 (de) 2011-03-14 2014-05-15 Continental Automotive Gmbh Anzeigevorrichtung
KR102149171B1 (ko) * 2018-05-18 2020-08-28 강원대학교산학협력단 산업용 로봇 시스템의 실시간 스케줄링 방법 및 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
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
EP0798638B1 (en) * 1996-03-28 2008-07-16 Hitachi, Ltd. Periodic process scheduling method
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
DE69724270T2 (de) * 1996-11-06 2004-02-19 Motorola, Inc. Verfahren und vorrichtung zur feststellung der anzahl von zugeteilten zugriffen während der latenz des schlechtesten falles
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

Cited By (2)

* Cited by examiner, † Cited by third party
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
WO2000028418A1 (en) 2000-05-18
JP2010044784A (ja) 2010-02-25
GB0109904D0 (en) 2001-06-13
JP2011044165A (ja) 2011-03-03
DE19983709B4 (de) 2007-02-22
GB2358939B (en) 2003-07-02
AU5902299A (en) 2000-05-29
DE19983709T1 (de) 2002-02-14
HK1036860A1 (en) 2002-01-18
JP2002529850A (ja) 2002-09-10
GB2358939A (en) 2001-08-08

Similar Documents

Publication Publication Date Title
JP2010044784A (ja) システムにおける要求のスケジューリング
US5826082A (en) Method for reserving resources
KR101443418B1 (ko) 파워 할당 관리 방법 및 시스템
JP3699833B2 (ja) メモリアーキテクチャーのための優先符号化及び復号化
US20090100249A1 (en) Method and apparatus for allocating architectural register resources among threads in a multi-threaded microprocessor core
CN105579961A (zh) 数据处理***
US7478179B2 (en) Input/output priority inheritance wherein first I/O request is executed based on higher priority
EP1691287A1 (en) Information processing device, process control method, and computer program
JP2002530780A (ja) 再構成可能なプログラマブルロジックデバイスコンピュータシステム
WO2003019360A2 (en) System for yielding to a processor
KR101150661B1 (ko) 정보 처리 장치 및 메모리 영역 관리 방법
KR20170111462A (ko) 다중 코어 프로세서 및 다중 코어 프로세서를 제어하는 방법
US9213560B2 (en) Affinity of virtual processor dispatching
US10795722B2 (en) Compute task state encapsulation
CN112955880B (zh) 用于处理片上***中的地址解码的装置和方法
JP2006513493A (ja) フリーバッファプールを使用することによるメモリの管理
CN110032335B (zh) 原子数据访问请求的调节
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
TW202205103A (zh) 對命令進行排程之系統以及方法
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