TWI409701B - Execute the requirements registration and scheduling method - Google Patents

Execute the requirements registration and scheduling method Download PDF

Info

Publication number
TWI409701B
TWI409701B TW099129569A TW99129569A TWI409701B TW I409701 B TWI409701 B TW I409701B TW 099129569 A TW099129569 A TW 099129569A TW 99129569 A TW99129569 A TW 99129569A TW I409701 B TWI409701 B TW I409701B
Authority
TW
Taiwan
Prior art keywords
execution
work
registration
scheduling
order
Prior art date
Application number
TW099129569A
Other languages
English (en)
Other versions
TW201211896A (en
Inventor
Hisao Yi Yen
Shyh Biau Jiang
Original Assignee
Univ Nat Central
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 Univ Nat Central filed Critical Univ Nat Central
Priority to TW099129569A priority Critical patent/TWI409701B/zh
Priority to US13/080,166 priority patent/US8495644B2/en
Publication of TW201211896A publication Critical patent/TW201211896A/zh
Application granted granted Critical
Publication of TWI409701B publication Critical patent/TWI409701B/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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

執行需求登記及排程方法
本發明相關於一種協助電腦系統安排即時及多工同動需求程式的執行需求登記及排程法,尤指一種利用執行需求登記暫存器內容作為位址,依據位址查表找尋新近登記具執行需求之工作於記憶體中之指標,並將該指標依照新近登記需求執行之工作優先權排列存入待執行佇列以完成排程工作;於執行工作時,於每次排程後取用待執行佇列中具有最高優先權之待執行工作指標,藉以找出待執行工作,以達到即時執行及多工同動應用需求之執行需求登記及排程方法。
電腦(微處理機)為現代影響人類生活巨大的發明,小至電子錶的錶心,皆配置一個或數個微處理機,或含有微處理機之微控制器。目前主流大電腦為64位元(bits),而主流小電腦則為8位元(bits)微控制器。
無論大電腦或小電腦,其工作的運行都是參照程式設計師所撰寫的程式。雖然一個微處理器理論上一個瞬間只能處理一個程式,然而透過電腦硬體提供的中斷機制,以及作業系統提供的分時共享(Time Sharing)機制,或者由程式設計師自行分割執行中的工作成為可分段執行的更小工作區塊,致使同一時期同一電腦可使許多個程式同時處於正在處理中而未完成的狀態。我們稱之為「多工同動」。
由於多工同動電腦系統中,同一時期有多個工作會共享電腦的運算資源,若無適當機制加以管制,就有可能發生某一個工作永無法完成,或是某一個工作無法於有效期限完成,例如電子錶的秒針未於每秒更新。這種限期完成的需求,我們稱之為「即時性工作」。
為了以單一微處理器達成同一時期同時有許多執行中工作的目標,所有同時在同一個電腦上執行的程式,執行時必須被分割成許多更小的工作區塊,每一小工作區塊佔用的執行時間不宜過長,以免造成其他分享電腦資源之程式錯失執行時效。同一程式分割成小區塊後,也必須控制各先後區塊,使其依先後順序接力執行,並於交接之間允許其他程式的小區塊插入執行。
綜合上述,要達成「多工同動」,至少要提供包括「分割、登記、排程、以及執行」等四種機制。每一程式可分割成許多小區塊,每一區塊將為所接手區塊登記執行需求,對於已登記之執行需求則由排程機制排列出執行順序,最後並依執行順序實際執行。
傳統上前述的四種機制,是由程式設計師視程式執行階段,找出段落加以分割,分割後必須接續執行的程式區塊,則由前置區於區塊結束前為接續區塊設置致能旗標完成執行需求之登記,排程則利用輪詢機制,輪流探詢所有可能需要執行的區塊之執行需求旗標,並執行輪詢中第一個遇到有執行需求的工作區塊。
上述由程式設計師自行安排處理的方式,比較大的問題有三個:第一個是必需有好的程式設計師,才能得到最佳的分割;第二個問題則在於輪詢排程的效率,隨著程式分割愈細小區塊愈多時,輪詢所耗額外執行時間愈多;第三則在於輪詢排程的方式,其排序的原則等於是隨機抽取,執行時機有很大的不穩定性。
現行的作業系統,以解決前述三個問題中的第一個問題為主要目標,附帶改善第二個問題。目前的作業系統均源自於「分時多工」的觀念,在應用程式之外,增加一個作業系統核心程式來管制其他程式工作。此一作業系統核心程式,由定時中斷觸發執行,其工作在於切割並檢視目前正在執行的工作,以及登記有執行需求的程式,依據預設的優先權順序,判斷是否要中斷目前執行工作,以及接下來要切換執行那一個工作,此為其排程機制。另外當須切換工作時,會為被中斷的工作登記進入等待執行工作的佇列之中。並安排好離開系統核心程式時執行新的工作。這種方式,由作業系統解決了切割、登記、排程、以及執行四個多工同動所需的機制,免除程式設計師親自處理的負擔。同時,因為切割工作由作業系統掌控,其已執行之區段自然消滅,而未執行區段也無須進行輪詢,因此其需輪詢之工作,受限於同時執行程式的個數,不會因程式被切割而大量增加,因此可以改善第二分割愈多輪詢額外執行負擔愈多的問題。然而若作業系統之排程工作仍以輪詢方式處理,則隨機抽取已登記工作的問題仍然存在。
使用作業系統雖解決了部分問題,也有付出一些成本。首先因為作業系統本身即為程式,其執行也佔有運算資源,此為運算時間上的額外成本。另外由於切割是按時間執行,切割程式無法預測由那個部份,為保護被切割的程式之前後區段資料不變,作業系統必須將中斷執行中的程式內的所有變數,由快速記憶體移到較慢的記憶體中暫存,並將即將切入執行的程式先前儲存的變數,由較慢的記憶體移入快速的記憶體中等待執行時使用。此動作稱為「內容切換(context switch)」。內容切換的工作,不但佔用額外運算時間,也佔用大量額外記憶體,這個問題係伴隨作業系統按時切割而來。
一般的作業系統並不考慮即時性,但在自動控制以及儀器量測的工業應用上,即時性的要求很高,若不解決前述輪詢造成的隨機執行問題,則無法滿足即時性需求。而工業應用上的電腦為解決即時性的問題,發展出即時作業系統(Real Time Operation System,簡稱RTOS)。基於分時多工的作業系統,若將作業系統核心執行並切割程式的頻率加高到即時性工作的期限之內,則能夠提供新登記,且有即時需求的工作有機會取得執行權。除此之外,必須要克服或降低因輪詢登記工作而導致的隨機抽取待執行工作問題,利用優先權的區分,將不同優先權的待執行工作區隔以降低並限縮被輪詢工作數目,可降低輪詢隨機抽取待執行工作的不確定性,而更易滿足即時性需求。
然而為達成即時性要求,而加高作業系統排程核心執行的頻率,固然創造了即時性在期限內被排入的可能性,但也同時加倍了作業系統核心被執行所佔用的額外執行時間,以及內容切換時記憶體內容搬遷的額外執行時間。
受限於作業系統,尤其是即時作業系統佔用大量額外作業系統核心執行時間,若原電腦系統的運算能力本來就不很多時,作業系統佔掉的比例將遠高於其服務的應用程式所佔用的執行時間比例。因此絕大多數的作業系統,都在較大的電腦,至少達到PC等級以上使用。對於8位元或是16位元的微控器及數位信號處理器(Digital Signal Procesor,DSP),則很少使用多工同動作業系統執行排程。而且即使有,也多半為減低作業系統佔用額外執行時間的比例,而把記憶體內容切換的機制拿掉,改採固定廣域記憶體的方式。
不論是無排程器由程式設計師自行排程,或則是由作業系統提供排程器進行排程,只要有涉及使用輪詢的方式來查詢登記執行需求的旗標作為排程的參考,均會出現隨機抽樣的效果,增加即時的不確定性問題。
因此,綜觀以上習用技術,並未有能提供建構簡單快速且具有固定排程佔用額外執行時間長度的排程器,以提供穩定的即時排程功能。
本發明之一目的在於提供一種替代輪詢程序的兩階段查表之執行需求登記及排程方法,其建構快速簡單,需時穩定。本發明的另一目的在於提供一種被切割後,於前後執行區塊之間,由前面工作區塊為後面接續工作區塊登記執行需求的機制,並配合兩階段查表,以達成減低排程需時之執行需求登記及排程方法。
於本發明中,不論是用於輔助傳統由程式設計師自行分割工作區塊,或是分時多工式作業系統分割工作區塊,其前置工作區塊為後續工作區塊登記執行需求,以及依所登記的執行需求登記進行排程,能改善其排程執行效率並降低排程需時的不確定性,以提供更佳即時能力。
本發明提供一種執行需求登記及排程方法,其步驟包含:提供一執行需求登記暫存器,該執行需求登記暫存器包含複數個執行需求登記旗標,以該些執行需求登記旗標對應描述相等數量的工作之登記執行需求以及執行優先權順序;提供一查找裝置,以執行需求旗標之所有可能數值作為位址,於該查找裝置內分別儲存一工作順序排列組合,以及該工作順序排列組合所對應的起始位置以及登記總數;當某一工作須接力執行時,設定該工作所對應的執行需求登記旗標數值;進行排程時,取用已更新之執行需求登記暫存器中的執行需求登記旗標數值作為查找位址,並於查找裝置內取得啟始位址及登記總數,再以所得的啟始位址以及登記總數查找出工作順序排列,以達成排程之目的。
以下的說明以及範例用以解釋本發明之細節。然,熟習此項技藝之人士應該輕易瞭解,於本發明之實施例所涵蓋下,所述及之該些實施例應有相當之變化以及改良。因此,後載之實施例並非用於限制本發明之保護範疇。
請參閱第一圖與第二圖,其係根據本發明一實施例之排程器示意圖以及根據本發明一實施例的排程方法流程圖。如第一圖所示,本發明提供一種排程器1,其包含一執行需求登記暫存器2、一查找(lookup)裝置3以及一控制裝置4。
如第二圖步驟5:本發明提供之執行需求登記暫存器2包含複數個執行需求登記旗標(flags);該些執行需求登記旗標可描述相等數量的工作(jobs)已登記執行需求與否以及優先權順序。該些執行需求登記旗標可以複數個位元(bits)加以實施,並以相對應位元的內容代表工作的執行與否,例如以對應位元為1者代表工作的執行;而以位元的位置代表工作的執行優先權。以下述及執行需求登記暫存器2的內容或者執行需求登記旗標的內容,兩者為同義並且替換使用。
請參見以下第一表,其顯示於本發明之一實施例中,以包含四位元(4 bits)執行需求登記旗標的執行需求登記暫存器2對應四個工作的工作執行順序之一範例,實務上並不以四位元為限制。
如第一表所顯示,當其中一工作有被執行需求時,可以控制裝置4將該工作所對應的執行需求登記旗標值設定為1(high),以完成需求執行登記。另外,為描述工作的執行優先權順序,於本發明之一實施例中,可以該些執行需求登記旗標的位元順序表示對應工作的執行優先權順序。例如,以該些工作以對應執行需求登記旗標值中的最低有效位元(least significant bit,簡稱LSB)者具有最高執行優先權,因此於四位元的執行需求登記暫存器b3b2b1b0中,以b0所對應的工作JOB0具有最高的執行優先權,而以b3所對應的工作JOB3具有最低的執行優先權。換言之,以1011為例,工作執行順序將為JOB0 JOB1 JOB3。
據此原則,第一表列出包含四位元執行需求登記旗標的執行需求登記暫存器2所對應的所有16個數值以及其工作執行順序表。如第一表所示,表中的執行需求登記旗標對應四位元所有可能的排列組合以及其數值。
第一表包含四位元執行需求登記旗標的執行需求登記暫存器對
請重新回到第一圖,當進行判斷新近登記有執行需求的工作,並依照其優先權順序予以排程以進入待處理佇列(queue)時,控制裝置4將利用儲存於執行需求登記暫存器2上目前執行需求登記旗標所合成的數值作為一查找索引(lookup index),並分別於該兩階段查找裝置3中查詢,取出所有新近登記有執行需求之工作,並依優先權先後依序排入待執行佇列之中,完成排程工作。
本發明所提供之查找裝置3包含複數個記憶體,用以儲存每一執行需求登記暫存器2數值所對應的複數個新近已登記工作之查表訊息。請容後詳細說明。根據本發明之一實施例,該些查表訊息可包含一起始位置以及登記總數;其中該起始位置為新近登記需執行工作中最優先者在工作順序排列組合表中之起始位置,而登記總數為新近登記須執行工作之總數。根據該實施例,如第一圖所示,本發明的查找裝置3包含一起始位置單元31、一登記總數單元32、以及一工作順序排列組合單元33。如第二圖的步驟6所顯示,其中工作順序排列組合單元33以執行需求登記旗標之所有可能數值作為位址,用以儲存依照優先權順序排列組合之工作順序;而該起始位置單元31和該登記總數單元32則以執行需求登記旗標為位址,分別儲存新近登記須執行工作中最優先執行者在工作順序排列組合中之起始位置以及新近登記須執行工作之總數。換言之,該查找裝置可對應(map)至一個二維儲存表格,該表格的兩個維度分別為工作的起始位置以及登記總數,而該表格內容儲存工作順序排列組合。前述的「工作順序組合」,如第一表,其包含須執行工作的所有可能群組以及其執行先後順序。於一實施例中,前述的工作順序排列組合單元33所儲存的工作順序,已經過壓縮並最佳化,僅儲存最小可能出現的工作順序排列。
於實施上,起始位置單元31、登記總數單元32、以及工作順序排列組合單元33可為儲存資料的記憶體,例如唯讀記憶體(Read only memory,簡稱ROM)。如第二圖的步驟7所示:當至少一個工作須接力執行時,可設定該工作所對應的一執行需求登記旗標值,稱為工作舉旗登記。一般為達成同一時期有許多執行工作,於電腦上執行的程式將被分割為許多較小的區塊。該些區塊將根據優先權先後順序依序執行,稱為「接力」執行。於一實施例中,本發明所提供的執行需求登記係由在前面的工作區塊在該區塊結束前,為後面接續的工作區塊設置執行需求登記旗標,以完成登記等待執行。
如第一表所列,每一個執行需求登記暫存器2可表示新近登記欲執行的工作以及其執行優先權順序,且每次進行排程之前,新近登記需執行工作之數量並不以一個工作為限制。接續地,如第二圖的步驟8所示:本發明提供兩階段的查找裝置3;於第一階段中,以兩次進行排程工作間,由中斷或在前面的區塊所設定改變的執行需求登記旗標合成之執行需求登記暫存器2數值作為查找位址,透過該查找位址由啟始位置單元31以及登記總數單元32分別找出所對應的起始位置以及登記總數。於第二階段中,再度利用執行需求登記暫存器2內的執行需求登記旗標所合成的數值作為查找地址,進一步地由工作順序排列組合單元33中,找出依優先權排列的新近登記工作之工作順序組合,將該工作順序組合依序置入待執行佇列內,即完成排程工作。以包含四位元0x0B執行需求登記旗標的執行需求登記暫存器2舉例說明,首先以0x0B作為查找索引,查找起始位置單元31。執行需求登記暫存器2的執行需求登記旗標0x0B轉換為10進位後的數值為11,因此根據第二表中起始位置單元31,查找出其第11個元素為7(於第二表的起始位置單元中以加底線標示),表示成memory(11)=7,其中11表示記憶體的位址,而7為查找值。查找值=7表示所得到的查表訊息起始位置為工作順序排列組合單元33的第7個位址。此處須說明的是,於本發明的說明書以及申請專利範圍中,將「查找索引」以及「查找位址」視為同義,並且交替使用。此外,於本發明一實施例中,查找索引係由0(zero)算起。
再度以執行需求登記暫存器2之0x0B=11查找登記總數單元32,找出於登記總數單元32的第11個元素為3(於第二表的登記總數單元中以加底線標示),表示為memory(11)=3,查找值=3表示須新近登記須執行之工作總數為3個。合併兩個查找值,於第二階段中,於工作順序排列組合單元33中找出儲存起始位置為第7個元素(為0),且以該起始位置為始算起的3個元素,分別為0,1,3(於第二表的排列組合單元中以加底線標示),意即執行需求登記暫存器2之0x0B所找出的經過優先權排列的工作執行順序為JOB0 JOB1 JOB3。
第二表包含四位元之執行需求登記旗標對應的起始位置、登記總數以及工作順序排列組合
於本發明的一實施例中,儲存於查找單元3的資料,可先列出所有工作執行順序,再以每一執行需求登記暫存器2的數值為索引,分別儲存每一執行需求登記暫存器2所對應的起始位置、登記總數以及工作順序排列組合於起始位置單元31、登記總數單元32、以及工作順序排列組合單元33。
第三表列出以程式建立儲存於查找裝置3資料方法之範例,其中以Index表示儲存於起始位置單元31的陣列,以Account表示儲存於登記總數單元32的陣列,而Table則表示儲存於工作順序排列組合單元33的陣列,Test表示執行需求登記暫存器2。如前所述,於第三表的實施例中,遇及重複的工執行順序的排列組合,則不重覆儲存於工作順序排列組合33之中以減少此單元之記憶總量,達最佳化之目的,但實務上並不以此為限。
第三表建立儲存於查找裝置資料之範例表
於本發明之一實施例中,該查找裝置3所包含的內容為固定,不受新近登記需執行工作的組合影響,此固定內容可因應重覆疊代進行的排程工作參考使用,以達成重覆使用以減少佔用記憶體之目的。
於本發明之另一實施例中,可將工作分為複數個組群,並分別使用該同一查找裝置3所包含同一內容的表格。可達成層級(level)排程之目的,並可免除必須配置較大的執行需求登記暫存器,例如16個旗標的需求登記暫存器。使用兩層,最多進行五次的4位元旗標兩階段查表,查找同些表格單元,可為16個可能登記的工作進行是否有新近登記以及排入佇列之排程工作。當16個工作分為兩層進行兩階段查表排程工作時。16個工作被分為4組,每組4個工作,組內工作有其優先權順序,依序各有其登記旗標,各旗標整合成該組執行需求暫存器,4組有其優先權順序,依序每組各有旗標表示是否有工作需求,4個組旗標又組成總登記暫存器。當某一工作有執行需求時,除了為本身登記組內旗標,也為本身所屬組執行舉旗動作。
進行排程時,先以總登記暫存器為位址,分兩階層查出那些組內有工作登記需執行,再對這些有工作登記需執行之組,依序以其組登記暫存器為位址,查同一表格單元,取得組內那一群工作需排入排程中。
綜上所述,本發明所提供的一排程方法,如第二圖所示,其步驟包含:(步驟5)提供一執行需求登記暫存器2,該執行需求登記暫存器2包含複數個執行需求登記旗標,以該些執行需求登記旗標描述相等數量的工作執行與否與該些工作的執行優先權;(步驟6)提供一查找裝置,以該執行需求登記暫存器2對應的所有可能排列組合數值作為位址,於該查找裝置儲存一工作順序排列組合,以及該工作順序排列組合所對應的啟始位址及登記總數;(步驟7)當至少一工作須執行時,於其前面的一工作或一中斷觸發工作設定該欲執行工作所對應的一執行需求登記旗標值,以進行後續工作需求之登記;(步驟8)當進行排程時,以前次排程至本次排程之間的登記變化而更新的執行需求登記暫存器2數值作為查找位址,第一階段找出查找裝置內之啟始位址及登記總數,再經第二階段查找出依優先權順序取得所有新近登記之工作順序排列,以達到排程的目的。
根據本發明所提供的排程方法,可達成一種排程器,該排程器可以軟體程式如C語言實現在電腦上作為作業系統排程工作的功能方塊,或以硬體描述語言,在CPLD(complex programmable logic device)、FPGA(Field Programmable Gate Array)或者ASIC(Application-Specific Integrated Circuit)晶片加以實施。據此,本發明,整合工作登記旗標為一暫存器,取代輪詢(polling)程序依序檢查所有工作的旗標,無須分支(branch)的檢查程序,減少並固定排程工作額外需時,除因此可提高工作排程的效率,且降低排程額外執行時間之不確定性,以提高系統即時性。且因其建構簡單,可以很少的額外執行時間及記憶體成本實現在大小型電腦、CPLD、FPGA或ASIC上。
對於熟習本發明所屬領域之人士,受惠於前述說明以及相關圖式之教導,於不脫離本發明之精神以及範圍內,應可推得本發明各種實質上相等之變更以及其他具體實施例。因此,本發明應不受限於前揭之特定實施例,並應將該等實質上相等之變更以及其他具體實施例納入之後載之申請專利範圍內。
1...排程器
2...執行需求登記暫存器
3...查找裝置
31...起始位置單元
32...登記總數單元
33...工作順序排列組合單元
4...控制裝置
10...輸入
11...輸出
5~8...步驟
為使本發明之目的、特徵、優點與實施例可容易了解,所附圖式之詳細說明如下:
第一圖為根據本發明一實施例的排程方法流程圖;以及
第二圖為根據本發明一實施例之排程器示意圖。
5~8...步驟

Claims (6)

  1. 一種執行需求登記及排程方法,其步驟包含:(a) 提供一執行需求登記暫存器,其包含複數個執行需求登記旗標,以該些執行需求登記旗標對應描述相等數量的工作之登記執行與否以及執行優先權順序;(b) 提供一查找裝置,以該執行需求登記旗標之所有可能數值作為位址,於該查找裝置內分別儲存一工作順序排列組合,以及該工作順序排列組合所對應的起始位置以及登記總數;(c) 當至少一工作須接力執行時,設定該工作所對應的一執行需求登記旗標值,以完成執行需求登記與更新;(d) 進行排程時,取用已更新之執行需求登記暫存器的數值作為一查找位址,於查找裝置內取得該查找位址所對應的起始位置及登記總數,再以該起始位置及登記總數查找出一工作順序排列,以達成排程之目的。
  2. 如申請專利範圍第1項所述的執行需求登記及排程方法,其中於(b)步驟中,該查找裝置包含至少一個記憶體,並以該執行需求登記旗標之所有可能數值作為位址,分別於該記憶體內儲存一工作順序排列組合,以及該工作順序排列組合所對應的起始位置和登記總數。
  3. 如申請專利範圍第1項所述的執行需求登記及排程方法,其中於(a)步驟中,該些執行需求登記旗標係包含對應數目的位元,並以該些位元順序描述對應工作的優先權順序,且以對應執行需求登記旗標中最低有效位元的工作具有最高的執行優先權。
  4. 如申請專利範圍第1項所述的執行需求登記及排程方法,其中於(b)步驟中,該工作順序排列組合已經過壓縮並最佳化,並且僅包含最小且所有可能出現的工作順序排列。
  5. 如申請專利範圍第1項所述的執行需求登記及排程方法,其中於(c)步驟中,在該欲接力執行工作之前包含一工作區塊,於該工作區塊結束前,該工作區塊為該欲接力執行工作設置該執行需求登記旗標,以完成登記。
  6. 如申請專利範圍第1項所述的執行需求登記及排程方法,其中於(d)步驟之後,將該工作順序排列依序加入一執行佇列中,以等待執行。
TW099129569A 2010-09-02 2010-09-02 Execute the requirements registration and scheduling method TWI409701B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW099129569A TWI409701B (zh) 2010-09-02 2010-09-02 Execute the requirements registration and scheduling method
US13/080,166 US8495644B2 (en) 2010-09-02 2011-04-05 Method for registering and scheduling execution demands

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW099129569A TWI409701B (zh) 2010-09-02 2010-09-02 Execute the requirements registration and scheduling method

Publications (2)

Publication Number Publication Date
TW201211896A TW201211896A (en) 2012-03-16
TWI409701B true TWI409701B (zh) 2013-09-21

Family

ID=45771599

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099129569A TWI409701B (zh) 2010-09-02 2010-09-02 Execute the requirements registration and scheduling method

Country Status (2)

Country Link
US (1) US8495644B2 (zh)
TW (1) TWI409701B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9448839B2 (en) 2013-03-08 2016-09-20 Oracle International Corporation Backoff job queue polling mechanism
JP6241144B2 (ja) * 2013-08-30 2017-12-06 富士通株式会社 制御プログラム、制御方法および制御装置
US9606833B2 (en) * 2014-04-09 2017-03-28 Samsung Electronics Co., Ltd Method and apparatus for providing a preemptive task scheduling scheme in a real time operating system
CN108984291A (zh) * 2018-08-06 2018-12-11 南方电网科学研究院有限责任公司 对电力分析计算任务进行调度的方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040064570A1 (en) * 1999-10-12 2004-04-01 Theron Tock System and method for enabling a client application to operate offline from a server
TWI269971B (en) * 2001-09-27 2007-01-01 Intel Corp Method and apparatus for memory access scheduling to reduce memory access latency
US20080307423A1 (en) * 2005-12-21 2008-12-11 Nxp B.V. Schedule Based Cache/Memory Power Minimization Technique

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5353422A (en) * 1989-10-06 1994-10-04 Hitachi, Ltd. Method and system for storing and managing a plurality of information media used by recording/reproducing units

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040064570A1 (en) * 1999-10-12 2004-04-01 Theron Tock System and method for enabling a client application to operate offline from a server
TWI269971B (en) * 2001-09-27 2007-01-01 Intel Corp Method and apparatus for memory access scheduling to reduce memory access latency
US20080307423A1 (en) * 2005-12-21 2008-12-11 Nxp B.V. Schedule Based Cache/Memory Power Minimization Technique

Also Published As

Publication number Publication date
TW201211896A (en) 2012-03-16
US20120060164A1 (en) 2012-03-08
US8495644B2 (en) 2013-07-23

Similar Documents

Publication Publication Date Title
JP4693326B2 (ja) 組込み型プロセッサにおいてゼロタイムコンテクストスイッチを用いて命令レベルをマルチスレッド化するシステムおよび方法
US10545892B2 (en) Multi-thread processor and its interrupt processing method
US8539203B2 (en) Multi-thread processor selecting threads on different schedule pattern for interrupt processing and normal operation
US20040193854A1 (en) Multi-threaded processor and method of multi-threaded processing
US20130097409A1 (en) Instruction-issuance controlling device and instruction-issuance controlling method
US7590990B2 (en) Computer system
TWI409701B (zh) Execute the requirements registration and scheduling method
US8595747B2 (en) Efficient task scheduling by assigning fixed registers to scheduler
EP2573673A1 (en) Multithreaded processor and instruction fetch control method of multithreded processor
JP2006039815A (ja) マルチスレッドプロセッサおよびレジスタ制御方法
KR100678930B1 (ko) 디지털 시그널 프로세서를 위한 실시간 제어 시스템
US20100095305A1 (en) Simultaneous multithread instruction completion controller
US20130024488A1 (en) Semiconductor device
CN114610472A (zh) 异构计算中多进程管理方法及计算设备
US20040199749A1 (en) Method and apparatus to limit register file read ports in an out-of-order, multi-stranded processor
CN116795503A (zh) 任务调度方法、任务调度装置、图形处理器及电子设备
CN114116015B (zh) 用于管理硬件命令队列的方法及系统
CN109426562B (zh) 优先级加权轮转调度器
JP2012093832A (ja) 情報処理装置
JPH02242434A (ja) タスクのスケジューリング方法
US6061787A (en) Interrupt branch address formed by concatenation of base address and bits corresponding to highest priority interrupt asserted and enabled
JP2000347862A (ja) 命令入換え回路
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
JP2002063031A (ja) アーキテクチャ切替え・再構成対応プロセッサ
Zagan et al. Improving the Performances of the nMPRA Architecture by Implementing Specific Functions in Hardware

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees