TWI402752B - Information processing device, scheduler, and scheduling method - Google Patents

Information processing device, scheduler, and scheduling method Download PDF

Info

Publication number
TWI402752B
TWI402752B TW098141841A TW98141841A TWI402752B TW I402752 B TWI402752 B TW I402752B TW 098141841 A TW098141841 A TW 098141841A TW 98141841 A TW98141841 A TW 98141841A TW I402752 B TWI402752 B TW I402752B
Authority
TW
Taiwan
Prior art keywords
time
calculation
program
programs
unit
Prior art date
Application number
TW098141841A
Other languages
English (en)
Other versions
TW201032135A (en
Inventor
Kazuyuki Hoshika
Original Assignee
Azbil 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 Azbil Corp filed Critical Azbil Corp
Publication of TW201032135A publication Critical patent/TW201032135A/zh
Application granted granted Critical
Publication of TWI402752B publication Critical patent/TWI402752B/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
    • 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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Description

資訊處理裝置、排程器、及排程方法
本發明涉及電腦技術,涉及資訊處理裝置、排程器、及排程方法。
程序控制器及PLC(Programmable Logic Controller:可程式邏輯控制器)等數位式控制器,進行離散的控制處理。因此,數位式控制器在既定運算週期反覆進行實現控制處理的程式運算(例如參照專利文獻1)。近年來,由於微處理器的高集成化,微處理器的處理能力高速化正在發展,運算週期的縮短化也正在發展。而另一方面,亦考慮準備從短到長的運算週期,根據控制處理的用途分配適當的運算週期給各程式。
專利文獻1:日本特開2002-351509號公報
各個運算週期不同的多個程式,以往藉由多工作業系統(OS)執行。但是用多工OS的單純的分時,不能保證遵守程式嚴密的運算週期。還有,必須要有分別對多個程式附以優先順序之煩雜的手續。另外,亦考慮將微處理器的處理能力預先分配給運算週期短的程式和運算週期長的程式。但是,可能發生實際運算的程式的數目未對應預先被設定的處理能力的分配的情況。因此,例如可能發生運算週期短的程式的數目多、預先分配到運算週期短的程式處理中的微處理器的處理能力不足,另一方面運算週期長的程式的數目少,預先被分配到運算週期長的程式的處理中的微處理器的處理能力仍空閒的狀態。其結果,可能產生微處理器的處理能力白白浪費的問題。
因此,本發明的目的在於提供一種能夠進行各個運算週期不同的多個程式的高效運算的資訊處理裝置、排程器、及排程方法。
本發明形態之資訊處理裝置,其具備:單位時間算出部,算出複數個程式各個之運算週期之最大公約數作為單位時間;分配部,將複數個程式各個之運算時間依運算週期從短到長之順序分配至分別具有單位時間之複數個連續之基準期間之每一個中,且將在複數個基準期間中之一個基準期間中運算未完成之程式之剩餘運算時間依運算週期從短到長之順序分配至一個基準期間之後之基準期間中;以及運算部,對在複數個基準期間中分別被分配運算時間之複數個程式進行運算。根據本發明的資訊處理裝置,各個運算週期不同的多個程式按運算週期從短到長的順序,分別被分配給多個基準期間,所以能夠有效地運算多個程式。
本發明其他形態之排程器,其具備:單位時間算出部,算出複數個程式各個之運算週期之最大公約數作為單位時間;以及分配部,將複數個程式各個之運算時間依運算週期從短到長之順序分配至分別具有單位時間之複數個連續之基準期間之每一個中,且將在複數個基準期間中之一個基準期間中運算未完成之程式之剩餘運算時間依運算週期從短到長之順序分配至一個基準期間之後之基準期間中。根據本發明的排程器,各個運算週期不同的多個程式按運算週期從短到長的順序分別被分配給多個基準期間,所以能夠有效進行多個程式之排程。
本發明其他形態之排程方法,其包含:算出複數個程式各個之運算週期之最大公約數作為單位時間之動作;以及將複數個程式各個之運算時間依運算週期從短到長之順序分配至分別具有單位時間之複數個連續之基準期間之每一個中,且將在複數個基準期間中之一個基準期間中運算未完成之程式之剩餘運算時間依運算週期從短到長之順序分配至一個基準期間之後之基準期間中之動作。根據本發明的排程方法,各個運算週期不同的多個程式按運算週期從短到長的順序分別被分配給多個基準期間,所以能夠有效進行多個程式之排程。
根據本發明,可提供一種能夠進行各個運算週期不同的多個程式的高效運算的資訊處理裝置、排程器、及排程方法。
以下說明本發明的實施形態。在以下附圖的記載中,相同或類似的部分用相同或類似的附圖標記表示。但附圖是示意性的圖。因此具體的尺寸等應對照以下說明進行判斷。另外,當然在附圖相互間也包含相互的尺寸關係、比例不同的部分。
(第1實施形態)
有關第1實施形態的資訊處理裝置如圖1所示,具備排程器300。排程器300具備算出多個程式的各個運算週期的最大公約數作為單位時間的單位時間算出部301。另外,排程器300還具備分配部305,該分配部305將多個程式的各個運算時間按運算週期從短到長的順序,分別分配到具有單位時間的多個連續的基準期間的每一個中,而且將在多個基準期間中的一個基準期間中運算未完成的程式的剩餘運算時間按運算週期從短到長的順序分配給一個基準期間後面的基準期間中。另外,資訊處理裝置具備運算在多個基準期間中被分別分配了運算時間的多個程式的運算部400。
排程器300和運算裝置400用傳輸電訊號的資料匯流排500連接。還有,資料匯流排500連接有儲存各個運算週期不同的多個程式的程式記憶裝置330。多個程式分別包含多個功能區塊。這裏,以程式記憶裝置330儲存第1~第4程式的情況為例進行說明。
第1程式例如包含25個用100毫秒的運算週期進行運算的功能區塊。在第1實施形態中,當用運算裝置400運算1個功能區塊所需的運算時間為2毫秒時,對第1程式進行一次運算所需的運算時間為50毫秒。第2程式例如包含30個用200毫秒的運算週期進行運算的功能區塊。此時,對第2程式進行一次運算所需的運算時間為60毫秒。
第3程式例如包含25個用500毫秒的運算週期進行運算的功能區塊。此時,對第3程式進行一次運算所需的運算時間為50毫秒。第4程式例如包含50個用1000毫秒的運算週期進行運算的功能區塊。此時,對第4程式進行一次運算所需的運算時間為100毫秒。
單位時間算出部301透過資料匯流排500從程式記憶裝置330讀取第1~第4程式的各個運算週期。還有,單位時間算出部301算出第1~第4程式的各個運算週期的最大公約數作為單位時間。這裏,由於第1程式、第2程式、第3程式、及第4程式的運算週期分別為100毫秒、200毫秒、500毫秒及1000毫秒,所以作為單位時間被算出的最大公約數為100毫秒。而且當第1~第4程式的各個運算週期的值不是整數時,可以例如換算單位以便用整數標明運算週期的值。例如在程式記憶裝置330中,當第1~第4程式的各個運算週期被儲存為0.1秒、0.2秒、0.5秒及1秒時,可將單位從秒換算成毫秒,用整數標明運算週期的值。
排程器300還具備完成時間算出部302及運算次數算出部303。完成時間算出部302及運算次數算出部303,透過資料匯流排500從程式記憶裝置330讀取第1~第4程式的各個運算週期。還有,完成時間算出部302算出第1~第4程式的各個運算週期的最小公倍數作為第1~第4程式的所有運算至少完成一次所需的完成時間。這裏,作為完成時間被算出的第1~第4程式的各個運算週期的最小公倍數為1000毫秒。另外,如上所述,當第1~第4程式的各個運算週期的值不是整數時可以例如換算單位以便用整數標明運算週期的值。
運算次數算出部303從完成時間算出部302接收被算出的完成時間。還有,運算次數算出部303將接收到的完成時間除以程式的運算週期,據以算出到完成時間為止、運算裝置400運算程式的合計運算次數。這裏,當完成時間為1000毫秒時,運算週期為100毫秒的第1程式的合計運算次數為10次,運算週期為200毫秒的第2程式的合計運算次數為5次。另外,運算週期為500毫秒的第3程式的合計運算次數為2次,運算週期為1000毫秒的第4程式的合計運算次數為1次。
分配部305透過資料匯流排500從程式記憶裝置330讀取第1~第4程式的各個運算週期及每1次的運算時間。另外,分配部305接收被單位時間算出部301算出的單位時間,接收被完成時間算出部302算出的完成時間,接收被運算次數算出部303算出的合計運算次數。
還有,分配部305算出完成時間除以單位時間而得的數目作為設定的多個基準期間的數目。當完成時間為1000毫秒、單位時間為100毫秒時,設定的多個基準期間的數目為10。這裏,分配部305將第1~第4程式的各個運算時間分別分配到設定的第一個~第十個基準期間中,直到第1~第4程式的各個運算次數達到運算次數算出部303算出的合計運算次數為止。
首先,分配部305如圖2所示,嘗試設置具有單位時間算出部301算出的100毫秒單位時間的第一個基準期間,在第一個基準期間中按運算週期從短到長的順序分配第1~第4程式的各個運算時間。由於第1程式的運算週期最短,所以分配部305在第一個基準期間的前頭分配第1程式的運算時間。另外,分配部305從運算次數算出部303算出的第1程式的合計運算次數中減1,使第1程式的剩餘運算次數變為9。
由於對第1程式進行一次運算所需的運算時間為50毫秒,所以在分配了第1程式的運算時間後,第一個基準期間中剩餘空閒時間50毫秒。因此,分配部305嘗試在第一個基準期間內的第1程式的運算時間後面、分配運算週期次於第1程式短的第2程式的運算時間。但是,對第2程式進行一次運算所需的運算時間為60毫秒。因此,分配部305在第一個基準期間中、只分配第2程式的60毫秒的運算時間中最初的50毫秒的運算時間。另外,分配部305將第一個基準期間內未能分配的第2程式的剩餘10毫秒的運算時間作為應分配到後面的基準期間中的運算時間進行儲存。
由於對第一個基準期間的運算時間的分配已經完成,如圖1所示的分配部305如圖3所示,嘗試設置第二個基準期間,將第1~第4程式的各個運算時間按運算週期從短到長的順序分配到第二個基準期間中。分配部305首先在第二個基準期間的前頭分配第1程式的運算時間。另外,分配部305使第1程式的剩餘的運算次數減少1,變為8。
另外,分配部305嘗試在第二個基準期間內的第1程式的運算時間的後面分配第2程式的運算時間。這裏,在第一個基準期間內未能分配的第2程式的10毫秒的運算時間,剩餘作為應分配給比第一個基準期間靠後的基準期間中的運算時間。因此,分配部305在第二個基準期間中分配第2程式被剩餘的10毫秒的運算時間。藉此,第2程式的第1次的運算完成,所以分配部305從運算次數算出部303算出的第2程式的合計運算次數中減1,使第2程式剩餘的運算次數變為4。
在分配了第2程式的運算時間後,第二個基準期間中剩餘空閒時間40毫秒。由於第2程式的運算週期為200毫秒,所以在第二個基準期間內運算已完成時,第2程式的第2次的運算必須從第三個基準期間開始。因此,分配部305嘗試在第二個基準期間內的第2程式的運算時間的後面、分配運算週期次於第2程式短的第3程式的運算時間。但是,對第3程式進行一次運算所需的運算時間為50毫秒。因此,分配部305在第二個基準期間中、只分配第3程式的50毫秒的運算時間中最初的40毫秒的運算時間。另外,分配部305將第二個基準期間內未能分配的第3程式的剩餘的10毫秒的運算時間作為應分配到後面的基準期間中的運算時間進行儲存。
由於對第二個基準期間的運算時間的分配已完成,所以如圖1所示的分配部305如圖4所示,嘗試設置第三個基準期間,將第1~第4程式的各個運算時間按運算週期從短到長的順序分配到第三個基準期間中。分配部305首先在第三個基準期間的前頭分配第1程式的運算時間。另外,分配部305使第1程式的剩餘運算次數再減1,變為7。
另外,分配部305在第三個基準期間內的第1程式的運算時間的後面、分配第2程式的60毫秒的運算時間中50毫秒的運算時間。另外,分配部305將第三個基準期間內未能分配的第2程式剩餘的10毫秒的運算時間作為應分配到後面的基準期間中的運算時間進行儲存。
由於對第三個基準期間的運算時間的分配已完成,所以如圖1所示的分配部305如圖5所示,嘗試設置第四個基準期間,將第1~第4程式的各個運算時間按運算週期從短到長的順序分配到第四個基準期間中。分配部305首先在第四個基準期間的前頭分配第1程式的運算時間。另外,分配部305使第1程式的剩餘運算次數再減1,變為6。
另外,分配部305在第四個基準期間內的第1程式的運算時間的後面、分配第三個基準期間中未能分配的第2程式的剩餘10毫秒的運算時間。藉此,第2程式的第2次運算完成,所以分配部305再使第2程式的剩餘運算次數減少1,變為3。之後,第四個基準期間剩餘空閒時間40毫秒。
於是,分配部305在第四個基準期間內的第2程式的運算時間的後面,分配第二個基準期間中未能分配的第3程式剩餘的10毫秒的運算時間。藉此,第3程式的第1次運算完成,所以分配部305從運算次數算出部303算出的第3程式的合計運算次數中減1,使第3程式的剩餘運算次數變為1。之後,第四個基準期間內剩餘空閒時間30毫秒。
於是,分配部305嘗試在第四個基準期間內的第3程式的運算時間的後面,分配運算週期次於第3程式短的第4程式的運算時間。但是,用於運算一次第4程式所需的運算時間為100毫秒。因此,分配部305在第四個基準期間中只分配第4程式的100毫秒的運算時間中最初的30毫秒的運算時間。另外,分配部305將第四個基準期間內未能分配的第4程式的剩餘的70毫秒的運算時間作為應分配到後面的基準期間中的運算時間進行儲存。
由於對第四個基準期間的運算時間的分配已完成,所以如圖1所示的分配部305如圖6所示,嘗試設置第五個基準期間,將第1~第4程式的各個運算時間按運算週期從短到長的順序分配到第五個基準期間中。分配部305首先在第五個基準期間的前頭分配第1程式的運算時間。另外,分配部305使第1程式的剩餘運算次數再減1,變為5。
另外,分配部305在第五個基準期間內的第1程式的運算時間的後面,分配第2程式的60毫秒的運算時間中50毫秒的運算時間。另外,分配部305將第五個基準期間內未能分配的第2程式剩餘的10毫秒的運算時間作為應分配到後面的基準期間中的運算時間進行儲存。
由於對第五個基準期間的運算時間的分配已完成,所以如圖1所示的分配部305如圖7所示,嘗試設置第六個基準期間,將第1~第4程式的各個運算時間按運算週期從短到長的順序分配到第六個基準期間中。分配部305首先在第六個基準期間的前頭分配第1程式的運算時間。另外,分配部305使第1程式的剩餘運算次數再減1,變為4。
另外,分配部305在第六個基準期間內的第1程式的運算時間的後面、分配第五個基準期間內未能分配的第2程式剩餘的10毫秒的運算時間。藉此,第2程式的第3次運算完成,分配部305再使第2程式的剩餘運算次數減少1,變為2。另外,分配部305在第六個基準期間內的第2程式的運算時間的後面,分配第3程式的50毫秒的運算時間中40毫秒的運算時間。還有,分配部305將第六個基準期間內未能分配的第3程式剩餘的10毫秒的運算時間作為應分配到後面的基準期間中的運算時間進行儲存。
由於對第六個基準期間的運算時間的分配已完成,所以圖1所示的分配部305如圖8所示,嘗試設置第七個基準期間,並將第1~第4程式的各個運算時間按運算週期從短到長的順序分配到第七個基準期間中。分配部305首先在第七個基準期間的前頭分配第1程式的運算時間。而且,分配部305使第1程式的剩餘運算次數再減1,變為3。
另外,分配部305在第七個基準期間內的第1程式的運算時間的後面,分配第2程式的60毫秒的運算時間中50毫秒的運算時間。另外,分配部305將第七個基準期間內未能分配的第2程式剩餘的10毫秒的運算時間作為應分配到後面的基準期間中的運算時間進行儲存。
由於對第七個基準期間的運算時間的分配已完成,所以圖1所示的分配部305如圖9所示,嘗試設置第八個基準期間,並將第1~第4程式的各個運算時間按運算週期從短到長的順序分配到第八個基準期間中。分配部305首先在第八個基準期間的前頭分配第1程式的運算時間。另外,分配部305使第1程式的剩餘運算次數再減1,變為2。
另外,分配部305在第八個基準期間內的第1程式的運算時間的後面,分配第七個基準期間中未能分配的第2程式剩餘的10毫秒的運算時間。藉此,第2程式的第4次運算完成,所以分配部305再使第2程式的剩餘運算次數減少1,變為1。
另外,分配部305在第八個基準期間內的第2程式的運算時間的後面,分配第六個基準期間中未能分配的第3程式的剩餘10毫秒的運算時間。藉此,第3程式的第2次運算完成,所以分配部305再使第3程式的剩餘運算次數減1,變為0。之後,第八個基準期間內剩餘空閒時間30毫秒。
於是,分配部305在第八個基準期間內的第3程式的運算時間的後面,分配第四個基準期間中未能分配的第4程式剩餘的70毫秒的運算時間。但由於第八個基準期間只剩餘空閒時間30毫秒,所以分配部305只分配第4程式剩餘的70毫秒的運算時間中最初的30毫秒的運算時間。另外,分配部305將第八個基準期間內未能分配的第4程式的剩餘的40毫秒的運算時間仍作為應分配到後面的基準期間中的運算時間進行儲存。
由於對第八個基準期間的運算時間的分配已完成,所以圖1所示的分配部305如圖10所示,嘗試設置第九個基準期間,並將剩餘運算次數未變為0的第1、第2及第4程式的各個運算時間按運算週期從短到長的順序分配到第九個基準期間中。分配部305首先在第九個基準期間的前頭分配第1程式的運算時間。另外,分配部305使第1程式的剩餘運算次數再減1,變為1。
另外,分配部305在第九個基準期間內的第1程式的運算時間的後面,分配第2程式的60毫秒的運算時間中50毫秒的運算時間。另外,分配部305將第九個基準期間內未能分配的第2程式的剩餘10毫秒的運算時間作為應分配到後面的基準期間中的運算時間進行儲存。
由於對第九個基準期間的運算時間的分配已完成,所以圖1所示的分配部305如圖11所示,嘗試設置第十個基準期間,並將剩餘運算次數未變為0的第1、第2及第4程式的各個運算時間按運算週期從短到長的順序分配到第十個基準期間中。分配部305首先在第十個基準期間的前頭分配第1程式的運算時間。另外,分配部305使第1程式的剩餘運算次數再減1,變為0。
另外,分配部305在第十個基準期間內的第1程式的運算時間的後面,分配第九個基準期間中未能分配的第2程式剩餘的10毫秒的運算時間。藉此,第2程式的第5次運算完成,所以分配部305再使第2程式的剩餘運算次數減少1,變為0。
運算週期次於第2程式短的第3程式的剩餘運算次數已變為0。因此,分配部305在第十個基準期間中不進行第3程式的運算時間的分配。而且,分配部305在第十個基準期間內的第2程式的運算時間的後面,分配第八個基準期間中未能分配的第4程式剩餘的40毫秒的運算時間。藉此,第4程式的第1次運算完成,分配部305從運算次數算出部303算出的第4程式的合計運算次數中減1,使第4程式剩餘的運算次數變為0。
在對第十個基準期間的運算時間的分配完成的時刻,到達圖1所示的完成時間算出部302算出的完成時間。另外,直到達到運算次數算出部303算出的完成時間為止,使運算裝置400運算第1~第4程式的每一個的合計運算次數達到。因此,分配部305完成第1~第4程式的各個運算時間的分配排程的作成。
運算裝置400從排程器300接收分配部305作成的如圖11所示的第1~第4程式的各個運算時間的分配排程。另外,如圖1所示的運算裝置400從程式記憶裝置330讀取第1~第4程式。還有,運算裝置400根據接收的如圖11所示的分配排程運算第1~第4程式。另外,在第十個基準期間運算完成後,返回第一個基準期間反覆第1~第4程式的運算。而且,圖1所示的運算裝置400並不一定等待如圖11所示的分配排程的完成,再運算第1~第4程式。例如運算裝置400也可與排程器300的分配排程的作成並行地,從分配給第一個基準期間的前頭的程式執行運算。
如圖1所示的資料匯流排500上還連接暫時記憶裝置331、輸入裝置312及輸出裝置313。暫時記憶裝置331逐次儲存藉由排程器300及運算裝置400處理的結果。輸入裝置312被輸入程式記憶裝置330儲存的程式等。輸出裝置313輸出排程器300作成的程式的分配排程及運算裝置400運算的程式的運算結果等。
根據以上說明的有關第1實施形態的資訊處理裝置,能夠使多個程式的運算時間按各個運算週期且高效地進行排程。還有,根據有關第1實施形態的資訊處理裝置,由於在各基準期間上連續地分配程式的運算時間,也能夠省去運算裝置400的處理能力的浪費。
(第2實施形態)
在有關第2實施形態的如圖12所示的資訊處理裝置的程式記憶裝置330中,儲存著與第1實施形態相同的第1~第3程式。另外,在有關第2實施形態的程式記憶裝置330中例如包含30個用1000毫秒的運算週期進行運算的功能區塊的第5程式被儲存以代替第4程式。當用運算裝置400運算1個功能區塊所需的運算時間為2毫秒時,對第5程式進行一次運算所需的運算時間為60毫秒。
還有,在有關第2實施形態的程式記憶裝置330中,在開始了其他程式的運算後、儲存了由使用者指定的第1時序指定程式以便例如從300毫秒到400毫秒間的時序進行運算。第1時序指定程式例如包含5個功能區塊。此時,對第1時序指定程式進行一次運算所需的運算時間為10毫秒。
另外,在有關第2實施形態的程式記憶裝置330中,在開始了其他程式的運算後,儲存了由使用者指定的第2時序指定程式以便例如從800毫秒到900毫秒間的時序進行運算。第2時序指定程式例如包含15個功能區塊。此時,對第2時序指定程式進行一次運算所需的運算時間為30毫秒。
單位時間算出部301與第1實施形態相同,算出第1~第3程式及第5程式的各個運算週期的最大公約數作為單位時間。這裏,作為單位時間被算出的最大公約數為100毫秒。另外,運算次數算出部303算出第1~第3程式及第5程式的各個運算週期的最小公倍數作為第1~第3程式及第5程式的所有運算至少完成一次所需的完成時間。這裏,作為完成時間被算出的最小公倍數為1000毫秒。
運算次數算出部303算出到完成時間為止、運算裝置400運算第1~第3程式及第5程式的每一個的合計運算次數。這裏,第1程式的合計運算次數為10次,第2程式的合計運算次數為5次,第3程式的合計運算次數為2次,第5程式的合計運算次數為1次。
有關第2實施形態的排程器300,還具備優先分配部304。優先分配部304分別從單位時間算出部301及完成時間算出部302接收單位時間及完成時間。還有,優先分配部304將完成時間除以單位時間而得的數目算出並作為多個基準期間的數目。這裏,完成時間除以單位時間所得的數目為10,所以優先分配部304如圖13所示,設定第一個~第十個基準期間。另外,如圖12所示的優先分配部304從程式記憶裝置讀取被第1及第2時序指定程式指定的運算時序和運算時間。
接著,優先分配部304在如圖13所示的第一個~第十個基準期間中分配第1~第3程式及第5程式的運算時間前,分配第1及第2時序指定程式的運算時間。這裏,第1時序指定程式被指定成從300毫秒到400毫秒間的時序進行運算。因此,優先分配部304在第四個基準期間的前頭,分配第1時序指定程式的10毫秒的運算時間。另外,第2時序指定程式被指定成從800毫秒到900毫秒間的時序進行運算。因此,優先分配部304在第九個基準期間的前頭,分配第2時序指定程式的30毫秒的運算時間。
在第2實施形態中,如圖12所示的分配部305,優先分配部304將第1及第2時序指定程式的各個運算時間分配到第一個~第十個基準期間中後,在第一個~第十個基準期間中分配第1~第3程式及第5程式的各個運算時間。具體的說,分配部305如圖14所示,首先在第一個~第三個基準期間中與第1實施形態相同地,分配第1~第3程式的運算時間。
另外,由於在第四個基準期間的最初的10毫秒,第1程式時序指定程式的運算時間已經被分配,所以分配部305嘗試在第四個基準期間內的第1時序指定程式的運算時間的後面,按運算週期從短到長的順序分配第1~第3程式及第5程式的各個運算時間。因此,分配部305在第1時序指定程式的運算時間的後面,首先分配第1程式的運算時間。
另外,分配部305在第四個基準期間內的第1程式的運算時間的後面,分配第三個基準期間中不能分配的第2程式剩餘的10毫秒的運算時間。另外,分配部305在第四個基準期間內的第2程式的運算時間的後面,分配第二個基準期間中不能分配的第3程式剩餘的10毫秒的運算時間。之後,第四個基準期間中剩餘空閒時間20毫秒。
於是,分配部305嘗試在第四個基準期間內的第3程式的運算時間的後面,分配運算週期次於第3程式短的第5程式的運算時間。但對第5程式進行一次運算所需的運算時間為60毫秒。因此,分配部305在第四個基準期間中,僅分配第5程式的60毫秒的運算時間中最初的20毫秒的運算時間。另外,如圖12所示的分配部305將第四個基準期間內不能分配的第5程式剩餘的40毫秒的運算時間作為應分配到後面的基準期間中的運算時間進行儲存。
之後,分配部305如圖15所示,在第五~第七基準期間中與第1實施形態同樣地,分配第1~第3程式的運算時間。接著,分配部305在第八個基準期間中與第1實施形態同樣地,首先分配第1~第3程式的運算時間。之後,第八個基準期間中剩餘空閒時間30毫秒。
於是,分配部305嘗試在第八個基準期間內的第3程式的運算時間的後面,分配第四基準期間中不能分配的第5程式剩餘的40毫秒的運算時間。但是,由於第八基準期間空閒時間只剩餘30毫秒,所以分配部202只分配第5程式剩餘的40毫秒的運算時間中最初的30毫秒的運算時間。另外,如圖12所示的分配部305,將第八個基準期間內不能分配的第5程式剩餘的10毫秒的運算時間仍作為應分配到後面的基準期間中的運算時間進行儲存。
接著,如圖16所示,第九個基準期間的最初的30毫秒已被分配為第2時序指定程式的運算時間。因此,分配部305嘗試在第九個基準期間內的第2時序指定程式的運算時間的後面、按運算週期從短到長的順序分配第1~第3程式及第5程式的各個運算時間。於是,分配部305在第2時序指定程式的運算時間的後面,首先分配第1程式的運算時間。
另外,分配部305在第九個基準期間內的第1程式的運算時間的後面、分配第2程式的60毫秒運算時間中20毫秒的運算時間。然後,圖12所示的分配部305將第九個基準期間內不能分配的第2程式的剩餘的40毫秒的運算時間作為應分配到後面的基準期間中的運算時間進行儲存。
接著,分配部305在第十個基準期間中首先分配第1程式的運算時間,在第1程式的運算時間的後面分配第九個基準期間中不能分配的第2程式剩餘的40毫秒的運算時間。另外,分配部305在第十個基準期間內的第2程式的運算時間的後面,分配第八個基準期間中不能分配的第5程式剩餘的10毫秒的運算時間,完成運算時間的分配排程的作成。
有關第2實施形態的資訊處理裝置的其他構成元件與第1實施形態相同,所以其說明省略。程式的運算時間的分配較佳為自動進行方式,但對一部分程式,也存在使用者想指定分配運算時間的時序的情況。與此相對,根據有關第2實施形態的資訊處理裝置,能夠對時序指定程式按使用者的指定分配運算時間,而對其他程式自動實施高效的運算時間的分配。
(其他實施形態)
如上所述,由實施形態記載了本發明,但實現上述揭示之一部分的記述及附圖不應理解為限定此發明。根據上述揭示本發明所屬技術領域中具有通常知識者應得到各種替代方式、實施例及運用技術。例如對圖1所述的程式記憶裝置330追加新的程式、變更被儲存的程式的運算週期、或刪除被儲存的程式時,排程器300自動地再排程程式的運算時間的分配。另外,實施形態所示的運算週期及運算時間等僅用於例示。例如,在程式記憶裝置330中儲存用100毫秒的運算週期進行運算的程式和用250毫秒的運算週期進行運算的程式時,單位時間為50毫秒,完成時間為500毫秒。如上所述,本發明應理解為包含此處未記載的各種實施形態等。因此本發明根據上述揭示僅被適當的申請專利範圍的發明特定特徵所限定。
300...排程器
301...單位時間算出部
302...完成時間算出部
303...運算次數算出部
304...優先分配部
305...分配部
312...輸入裝置
313...輸出裝置
330...程式記憶裝置
331...暫時記憶裝置
400...運算裝置
500...資料匯流排
圖1是有關本發明的第1實施形態的資訊處理裝置的示意圖。
圖2是表示有關本發明的第1實施形態的運算時間的分配方法的第1示意圖。
圖3是表示有關本發明的第1實施形態的運算時間的分配方法的第2示意圖。
圖4是表示有關本發明的第1實施形態的運算時間的分配方法的第3示意圖。
圖5是表示有關本發明的第1實施形態的運算時間的分配方法的第4示意圖。
圖6是表示有關本發明的第1實施形態的運算時間的分配方法的第5示意圖。
圖7是表示有關本發明的第1實施形態的運算時間的分配方法的第6示意圖。
圖8是表示有關本發明的第1實施形態的運算時間的分配方法的第7示意圖。
圖9是表示有關本發明的第1實施形態的運算時間的分配方法的第8示意圖。
圖10是表示有關本發明的第1實施形態的運算時間的分配方法的第9示意圖。
圖11是表示有關本發明的第1實施形態的運算時間的分配方法的第10示意圖。
圖12是有關本發明的第2實施形態的資訊處理裝置的示意圖。
圖13是表示有關本發明的第2實施形態的運算時間的分配方法的第1示意圖。
圖14是表示有關本發明的第2實施形態的運算時間的分配方法的第2示意圖。
圖15是表示有關本發明的第2實施形態的運算時間的分配方法的第3示意圖。
圖16是表示有關本發明的第2實施形態的運算時間的分配方法的第4示意圖。
圖17是表示有關本發明的第2實施形態的運算時間的分配方法的第5示意圖。
300...排程器
301...單位時間算出部
302...完成時間算出部
303...運算次數算出部
305...分配部
312...輸入裝置
313...輸出裝置
330...程式記憶裝置
331...暫時記憶裝置
400...運算裝置
500...資料匯流排

Claims (13)

  1. 一種資訊處理裝置,其具備:單位時間算出部,算出複數個程式各個之運算週期之最大公約數作為單位時間;分配部,將該複數個程式各個之運算時間依該運算週期從短到長之順序分配至分別具有該單位時間之複數個連續之基準期間之每一個中,且將在該複數個基準期間中之一個基準期間中運算未完成之程式之剩餘運算時間依該運算週期從短到長之順序分配至該一個基準期間之後之基準期間中;以及運算部,對在該複數個基準期間中分別被分配該運算時間之該複數個程式進行運算。
  2. 一種排程器,其具備:單位時間算出部,算出複數個程式各個之運算週期之最大公約數作為單位時間;以及分配部,將該複數個程式各個之運算時間依該運算週期從短到長之順序分配至分別具有該單位時間之複數個連續之基準期間之每一個中,且將在該複數個基準期間中之一個基準期間中運算未完成之程式之剩餘運算時間依該運算週期從短到長之順序分配至該一個基準期間之後之基準期間中。
  3. 如申請專利範圍第2項之排程器,其進一步具備算出該複數個程式各個之運算週期之最小公倍數作為該複數個程式之所有運算至少完成1次所需之完成時間之完成時間算出部。
  4. 如申請專利範圍第3項之排程器,其中,該複數個連續之基準期間之合計時間為該完成時間。
  5. 如申請專利範圍第3或4項之排程器,其進一步具備將該完成時間除以該複數個程式各個之運算週期,據以算出到該完成時間為止、運算各該複數個程式之合計運算次數之運算次數算出部。
  6. 如申請專利範圍第5項之排程器,其中,該分配部將該複數個程式各個之運算時間分配至該複數個基準期間中,直到該複數個程式各個之運算次數達到該合計運算次數為止。
  7. 如申請專利範圍第2項之排程器,其進一步具備在該分配部將該複數個程式各個之運算時間分配至該複數個基準期間之每一個中之前,將已指定運算時序之時序指定程式分配至該複數個基準期間之至少一個中之優先分配部。
  8. 一種排程方法,其包含:算出複數個程式各個之運算週期之最大公約數作為單位時間之動作;以及將該複數個程式各個之運算時間依該運算週期從短到長之順序分配至分別具有該單位時間之複數個連續之基準期間之每一個中,且將在該複數個基準期間中之一個基準期間中運算未完成之程式之剩餘運算時間依該運算週期從短到長之順序分配至該一個基準期間之後之基準期間中之動作。
  9. 如申請專利範圍第8項之排程方法,其進一步包含算出該複數個程式各個之運算週期之最小公倍數作為該複數個程式之所有運算至少完成1次所需之完成時間之動作。
  10. 如申請專利範圍第9項之排程方法,其中,該複數個連續之基準期間之合計時間為該完成時間。
  11. 如申請專利範圍第9或10項之排程方法,其進一步包含將該完成時間除以該複數個程式各個之運算週期,據以算出到該完成時間為止、運算各該複數個程式之合計運算次數之動作。
  12. 如申請專利範圍第11項之排程方法,其中,在該分配動作,將該複數個程式各個之運算時間分配至該複數個基準期間中,直到該複數個程式各個之運算次數達到該合計運算次數為止。
  13. 如申請專利範圍第8項之排程方法,其進一步包含在將該複數個程式各個之運算時間分配至該複數個基準期間之每一個中之前,將已指定運算時序之時序指定程式分配至該複數個基準期間之至少一個中之動作。
TW098141841A 2009-01-07 2009-12-08 Information processing device, scheduler, and scheduling method TWI402752B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009001375A JP2010160600A (ja) 2009-01-07 2009-01-07 情報処理装置、スケジューラ、及びスケジューリング方法

Publications (2)

Publication Number Publication Date
TW201032135A TW201032135A (en) 2010-09-01
TWI402752B true TWI402752B (zh) 2013-07-21

Family

ID=42312563

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098141841A TWI402752B (zh) 2009-01-07 2009-12-08 Information processing device, scheduler, and scheduling method

Country Status (5)

Country Link
US (1) US8327366B2 (zh)
JP (1) JP2010160600A (zh)
KR (1) KR101093286B1 (zh)
CN (1) CN101799769B (zh)
TW (1) TWI402752B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009055752A1 (de) * 2009-11-25 2011-05-26 Robert Bosch Gmbh Verfahren zum Ermöglichen einer sequentiellen, nicht blockierenden Abarbeitung von Anweisungen in nebenläufigen Tasks in einer Steuereinrichtung
KR101880452B1 (ko) * 2012-02-06 2018-08-17 삼성전자주식회사 커널 수행 순서 스케줄링 방법 및 장치
JP2014006788A (ja) * 2012-06-26 2014-01-16 Azbil Corp 情報処理装置およびプログラム実行方法
JP2014142823A (ja) * 2013-01-24 2014-08-07 Azbil Corp データ作成装置および方法
JP6163842B2 (ja) * 2013-04-11 2017-07-19 富士電機株式会社 プログラマブルコントローラの支援装置、そのプログラム、プログラマブルコントローラシステム
CN105049173B (zh) * 2015-08-27 2017-12-22 南京南瑞继保电气有限公司 异步装置的同步方法
TWI584667B (zh) 2015-11-27 2017-05-21 財團法人工業技術研究院 多請求的排程方法及排程裝置
JP7331774B2 (ja) 2020-05-12 2023-08-23 株式会社デンソー 電子制御装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200606715A (en) * 2004-04-07 2006-02-16 Sandbridge Technologies Inc Processor having compound instruction and operation formats
TW200611198A (en) * 2004-09-29 2006-04-01 Sony Corp Information processing device, process control method, and computer program
US7143401B2 (en) * 2000-02-17 2006-11-28 Elbrus International Single-chip multiprocessor with cycle-precise program scheduling of parallel execution
EP1050808B1 (en) * 1999-05-03 2008-04-30 STMicroelectronics S.A. Computer instruction scheduling

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2589791B2 (ja) 1988-12-14 1997-03-12 日本たばこ産業株式会社 ループ制御装置
US7165252B1 (en) * 1999-06-21 2007-01-16 Jia Xu Method of scheduling executions of processes with various types of timing properties and constraints
US20020103847A1 (en) * 2001-02-01 2002-08-01 Hanan Potash Efficient mechanism for inter-thread communication within a multi-threaded computer system
JP2002342097A (ja) * 2001-05-17 2002-11-29 Matsushita Electric Ind Co Ltd タスク割当可能時間決定装置及びタスク割当可能時間決定方法
JP2002351509A (ja) 2001-05-25 2002-12-06 Mitsubishi Electric Corp プログラミングツール及びプログラミング方法
JP4074296B2 (ja) * 2005-03-25 2008-04-09 株式会社東芝 スケジューリング可能性判定方法、リアルタイムシステム及びプログラム
JP2007233930A (ja) * 2006-03-03 2007-09-13 Shimadzu System Solutions Co Ltd 分散制御システム用シミュレータ
WO2007104330A1 (en) 2006-03-15 2007-09-20 Freescale Semiconductor, Inc. Task scheduling method and apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1050808B1 (en) * 1999-05-03 2008-04-30 STMicroelectronics S.A. Computer instruction scheduling
US7143401B2 (en) * 2000-02-17 2006-11-28 Elbrus International Single-chip multiprocessor with cycle-precise program scheduling of parallel execution
TW200606715A (en) * 2004-04-07 2006-02-16 Sandbridge Technologies Inc Processor having compound instruction and operation formats
TW200611198A (en) * 2004-09-29 2006-04-01 Sony Corp Information processing device, process control method, and computer program

Also Published As

Publication number Publication date
KR20100081928A (ko) 2010-07-15
US20100175069A1 (en) 2010-07-08
CN101799769A (zh) 2010-08-11
CN101799769B (zh) 2013-10-02
TW201032135A (en) 2010-09-01
US8327366B2 (en) 2012-12-04
JP2010160600A (ja) 2010-07-22
KR101093286B1 (ko) 2011-12-14

Similar Documents

Publication Publication Date Title
TWI402752B (zh) Information processing device, scheduler, and scheduling method
JP6799947B2 (ja) スライディングタイムウィンドウを用いてタスクをスケジュール設定するためのシステムおよび方法
US8397235B2 (en) User tolerance based scheduling method for aperiodic real-time tasks
CN104765640B (zh) 一种智能服务调度方法
EP2728473B1 (en) Systems and methods for instruction entity allocation and scheduling on multi-processors
US8607240B2 (en) Integration of dissimilar job types into an earliest deadline first (EDF) schedule
KR100731983B1 (ko) 저전력 무선 디바이스 프로세서용 하드와이어드 스케줄러및 스케줄링 방법
CN104915253A (zh) 一种作业调度的方法及作业处理器
Young et al. Deadline and energy constrained dynamic resource allocation in a heterogeneous computing environment
JP2017062779A (ja) 環境的に調整されたスラックを割り当てるためのシステム及び方法
US10452425B2 (en) Apparatus and method for processing a plurality of tasks
KR20130059300A (ko) 멀티코어 시스템에서 실시간 및 서비스 품질 지원을 위한 스케줄링
JP2007172569A (ja) 演算処理装置、演算処理装置の内部構成決定方法および演算処理システム
JP7267819B2 (ja) 並列タスクスケジューリング方法
US20090293060A1 (en) Method for job scheduling with prediction of upcoming job combinations
KR20130022707A (ko) 위상 정렬 및 잉여 시간을 기반으로 하는 주기 및 비주기 실시간 태스크 스케줄링 알고리즘
WO2008148625A1 (en) Method and device for scheduling a predictable operation of an algorithm on a multi-core processor
JP3567354B2 (ja) マルチプロセッサシステムおよび命令作成装置
JP2010160599A (ja) スケジューラ、情報処理装置およびスケジューリング方法
JP2019125242A (ja) スケジューリング装置
JP2006251875A (ja) バス調停装置及びバス調停方法
JP2006048088A5 (zh)
EP4120093A1 (en) Task allocation method and apparatus, and electronic device and computer-readable storage medium
JP2004280293A (ja) グループ単位ギャングスケジューリング方式
JPS63109564A (ja) 多重処理制御方式