專利名稱:信息處理裝置、調(diào)度器及調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機技術(shù),涉及信息處理裝置、調(diào)度器及調(diào)度方法。
背景技術(shù):
過程控制器及PLC(ProgrammabIe Logic Controller 可編程控制器)等數(shù)字式 控制器,進行離散的控制處理。因此,數(shù)字式控制器在規(guī)定的運算周期重復(fù)進行實現(xiàn)控制處 理的程序運算(例如參照專利文獻1)。近年來,由于微處理器的高集成化,微處理器的處理 能力高速化正在發(fā)展,運算周期的縮短化也正在發(fā)展。而另一方面,預(yù)備從短到長的運算周 期,根據(jù)控制處理的用途分配適當(dāng)?shù)倪\算周期給各程序也正在被規(guī)劃。專利文獻1 日本特開2002-351509號公報
發(fā)明內(nèi)容
各個運算周期不同的多個程序,以往通過多重任務(wù)操作系統(tǒng)(OS)執(zhí)行。但是用多 重任務(wù)OS的單純的分時,不能保證遵守程序嚴(yán)密的運算周期。還有,分別對多個程序附以 優(yōu)先順序需要煩雜的手續(xù)。另外,將微處理器的處理能力預(yù)先分配給運算周期短的程序和 運算周期長的程序的方式也正在被規(guī)劃。但是,可能發(fā)生實際被運算的程序的數(shù)目未對應(yīng) 預(yù)先被設(shè)定的處理能力的分配的情況。因此,例如可能發(fā)生運算周期短的程序的數(shù)目多、預(yù) 先分配到運算周期短的程序處理中的微處理器的處理能力不足,另一方面運算周期長的程 序的數(shù)目少,預(yù)先被分配到運算周期長的程序的處理中的微處理器的處理能力仍空閑的狀 態(tài),其結(jié)果可能產(chǎn)生微處理器的處理能力白白浪費的問題。因此,本發(fā)明的目的在于,提供一種能夠進行各個運算周期不同的多個程序的高 效運算的信息處理裝置、調(diào)度器及調(diào)度方法。本發(fā)明方式的要點在于,為一種信息處理裝置,具備單位時間計算部,其計算出多個程序的各個運算周期的最大公約數(shù)作為單位時間;分配部,其將多個程序的各個運算 時間按運算周期從短到長的順序,分別分配到具有單位時間的多個連續(xù)的基準(zhǔn)期間的每一 個中,且在將在多個基準(zhǔn)期間中的一個基準(zhǔn)期間中運算未完成的程序的剩余運算時間,按 運算周期從短到長的順序分配到一個基準(zhǔn)期間后面的基準(zhǔn)期間中;運算部,其對在多個基 準(zhǔn)期間中分別被分配了運算時間的多個程序進行運算。由于通過有關(guān)本發(fā)明的信息處理裝 置,各個運算周期不同的多個程序按運算周期從短到長的順序,分別被分配給多個基準(zhǔn)期 間,所以能夠有效地運算多個程序。本發(fā)明的其他方式的要點在于,是一種調(diào)度器,具備單位時間計算部,其計算出 多個程序的各個運算周期的最大公約數(shù)作為單位時間;分配部,其將多個程序的各個運算 時間按運算周期從短到長的順序,分別分配到具有單位時間的多個連續(xù)的基準(zhǔn)期間的每一 個中,且將在多個基準(zhǔn)期間中的一個基準(zhǔn)期間中運算未完成的程序的剩余運算時間分配到 一個基準(zhǔn)期間后面的基準(zhǔn)期間中。由于通過有關(guān)本發(fā)明的調(diào)度器,各個運算周期不同的多 個程序按運算周期從短到長的順序分別被分配給多個基準(zhǔn)期間,所以能夠有效地調(diào)度多個程序。本發(fā)明的其他方式的要點在于,是一種調(diào)度方法,包含計算出多個程序的各個運 算周期的最大公約數(shù)作為單位時間的步驟,和將多個程序的各個運算時間按運算周期從短 到長的順序,分別分配到具有單位時間的多個連續(xù)的基準(zhǔn)期間的每一個中,且將在多個基 準(zhǔn)期間中的一個基準(zhǔn)期間中運算未完成的程序的剩余運算時間按運算周期從短到長的順 序分配到一個基準(zhǔn)期間后面的基準(zhǔn)期間中的步驟。由于通過有關(guān)本發(fā)明的調(diào)度方法,各個 運算周期不同的多個程序按運算周期從短到長的順序分別被分配給多個基準(zhǔn)期間,所以能 夠有效地調(diào)度多個程序。 通過本發(fā)明,可提供一種能夠進行各個運算周期不同的多個程序的高效運算的信 息處理裝置、調(diào)度器及調(diào)度方法。
圖1是有關(guān)本發(fā)明的第1實施方式的信息處理裝置的示意圖。圖2是表示有關(guān)本發(fā)明的第1實施方式的運算時間的分配方法的第1示意圖。圖3是表示有關(guān)本發(fā)明的第1實施方式的運算時間的分配方法的第2示意圖。圖4是表示有關(guān)本發(fā)明的第1實施方式的運算時間的分配方法的第3示意圖。圖5是表示有關(guān)本發(fā)明的第1實施方式的運算時間的分配方法的第4示意圖。圖6是表示有關(guān)本發(fā)明的第1實施方式的運算時間的分配方法的第5示意圖。圖7是表示有關(guān)本發(fā)明的第1實施方式的運算時間的分配方法的第6示意圖。圖8是表示有關(guān)本發(fā)明的第1實施方式的運算時間的分配方法的第7示意圖。圖9是表示有關(guān)本發(fā)明的第1實施方式的運算時間的分配方法的第8示意圖。圖10是表示有關(guān)本發(fā)明的第1實施方式的運算時間的分配方法的第9示意圖。圖11是表示有關(guān)本發(fā)明的第1實施方式的運算時間的分配方法的第10示意圖。圖12是有關(guān)本發(fā)明的第2實施方式的信息處理裝置的示意圖。圖13是表示有關(guān)本發(fā)明的第2實施方式的運算時間的分配方法的第1示意圖。圖14是表示有關(guān)本發(fā)明的第2實施方式的運算時間的分配方法的第2示意圖。圖15是表示有關(guān)本發(fā)明的第2實施方式的運算時間的分配方法的第3示意圖。圖16是表示有關(guān)本發(fā)明的第2實施方式的運算時間的分配方法的第4示意圖。圖17是表示有關(guān)本發(fā)明的第2實施方式的運算時間的分配方法的第5示意圖。附圖標(biāo)記說明300—調(diào)度器301—單位時間計算部302—完成時間計算部303—運算次數(shù)計算部304—優(yōu)先分配部305—分配部312—輸入裝置313—輸出裝置330—程序存儲裝置
331—暫時存儲裝置400—運算裝置500—數(shù)據(jù)總線
具體實施例方式以下說明本發(fā)明的實施方式。在以下附圖的記載中,相同或類似的部分用相同或類似的附圖標(biāo)記表示。但附圖是示意性的圖,因此具體的尺寸等應(yīng)對照以下說明進行判斷。 另外,當(dāng)然在附圖相互間也包含相互的尺寸關(guān)系、比率不同的部分。(第1實施方式)有關(guān)第1實施方式的信息處理裝置如圖1所示,具備調(diào)度器300。調(diào)度器300具備 計算出多個程序的各個運算周期的最大公約數(shù)作為單位時間的單位時間計算部301。另外, 調(diào)度器300還具備分配部,該分配部將多個程序的各個運算時間按運算周期更從短到長的 順序,分別分配到具有單位時間的多個連續(xù)的基準(zhǔn)期間的每一個中,而且將在多個基準(zhǔn)期 間中的一個基準(zhǔn)期間中運算未完成的程序的剩余運算時間按運算周期從短到長的順序分 配給一個基準(zhǔn)期間后面的基準(zhǔn)期間中的分配部305。另外,信息處理裝置具備運算在多個基 準(zhǔn)期間中被分別分配了運算時間的多個程序的運算部400。調(diào)度器300和運算裝置400用傳輸電信號的數(shù)據(jù)總線500連接。還有,數(shù)據(jù)總線 500上連接有保存各個運算周期不同的多個程序的程序存儲裝置330。多個程序分別包含 多個功能模塊。這里,以程序存儲裝置330保存第1 第4程序的情況為例進行說明。第1程序例如包含25個用100毫秒的運算周期進行運算的功能模塊。在第1實 施方式中,當(dāng)用運算裝置400運算1個功能模塊所需的運算時間為2毫秒時,對第1程序進 行一次運算所需的運算時間為50毫秒。第2程序例如包含30個用200毫秒的運算周期進 行運算的功能模塊。此時,對第2程序進行一次運算所需的運算時間為60毫秒。第3程序例如包含25個用500毫秒的運算周期進行運算的功能模塊。此時,對第 3程序進行一次運算所需的運算時間為50毫秒。第4程序例如包含50個用1000毫秒的運 算周期進行運算的功能模塊。此時,對第4程序進行一次運算所需的運算時間為100毫秒。單位時間計算部301通過數(shù)據(jù)總線500從程序存儲裝置330讀出第1 第4程序 的各個運算周期。還有,單位時間計算部301計算出第1 第4程序的各個運算周期的最 大公約數(shù)作為單位時間。這里,由于第1程序、第2程序、第3程序、及第4程序的運算周期 分別為100毫秒、200毫秒、500毫秒及1000毫秒,所以作為單位時間被算出的最大公約數(shù) 為100毫秒。而且當(dāng)?shù)? 第4程序的各個運算周期的值不是整數(shù)時,可以例如換算單位 以便用整數(shù)標(biāo)明運算周期的值。例如在程序存儲裝置330中、當(dāng)?shù)? 第4程序的各個運 算周期被保存為0. 1秒、0. 2秒、0. 5秒及1秒時,可將單位從秒換算成毫秒,用整數(shù)標(biāo)明運 算周期的值。調(diào)度器300還具備完成時間計算部302及運算次數(shù)計算部303。完成時間計算部 302及運算次數(shù)計算部303,通過數(shù)據(jù)總線500從程序存儲裝置330讀出第1 第4程序的 各個運算周期。還有,完成時間計算部302算出第1 第4程序的各個運算周期的最小公 倍數(shù)作為第1 第4程序的總運算至少完成一次所需的完成時間。這里,作為完成時間被 算出的第1 第4程序的各個運算周期的最小公倍數(shù)為1000毫秒。另外,如上所述,當(dāng)?shù)? 第4程序的各個運算周期的值不是整數(shù)時可以例如換算單位以便用整數(shù)標(biāo)明運算周期 的值。 運算次數(shù)計算部303從完成時間計算部302接收被算出的完成時間。還有,運算 次數(shù)計算部303通過接收到的完成時間除以程序的運算周期,算出到完成時間為止,運算 裝置400運算程序的合計運算次數(shù)。這里,當(dāng)完成時間為1000毫秒時,運算周期為100毫 秒的第1程序的合計運算次數(shù)為10次,運算周期為200毫秒的第2程序的合計運算次數(shù)為 5次。另外,運算周期為500毫秒的第3程序的合計運算次數(shù)為2次,運算周期為1000毫秒 的第4程序的合計運算次數(shù)為1次。分配部305通過數(shù)據(jù)總線500從程序存儲裝置330讀出第1 第4程序的各個運 算周期及相當(dāng)于1次的運算時間。另外,分配部305接收被單位時間計算部301算出的單 位時間,接收被完成時間計算部302算出的完成時間,接收被運算次數(shù)計算部303算出的合 計運算次數(shù)。還有,分配部305計算出完成時間除以單位時間而得的數(shù)目作為設(shè)定的多個基準(zhǔn) 期間的數(shù)目。當(dāng)完成時間為1000毫秒、單位時間為100毫秒時,設(shè)定的多個基準(zhǔn)期間的數(shù) 目為10。這里,分配部305將第1 第4程序的各個運算時間分別分配到設(shè)定的第一個 第十個基準(zhǔn)期間中,直到第1 第4程序的各個運算次數(shù)達到運算次數(shù)計算部303算出的 合計運算次數(shù)為止。首先,分配部305如圖2所示,嘗試設(shè)置具有單位時間計算部301算出的100毫秒 單位時間的第一個基準(zhǔn)期間,在第一個基準(zhǔn)期間中按運算周期從短到長的順序分配第1 第4程序的各個運算時間。由于第1程序的運算周期最短,所以分配部305在第一個基準(zhǔn) 期間的前頭分配第1程序的運算時間。另外,分配部305從運算次數(shù)計算部303算出的第 1程序的合計運算次數(shù)中減1,使第1程序的剩余運算次數(shù)變?yōu)?。由于對第1程序進行一次運算所需的運算時間為50毫秒,所以在分配了第1程序 的運算時間后,第一個基準(zhǔn)期間中剩余空閑時間50毫秒。因此,分配部305嘗試在第一個 基準(zhǔn)期間內(nèi)的第1程序的運算時間后面、分配運算周期次于第1程序短的第2程序的運算 時間。但是,對第2程序進行一次運算所需的運算時間為60毫秒。因此,分配部305在第 一個基準(zhǔn)期間中、只分配第2程序的60毫秒的運算時間中最初的50毫秒的運算時間。另 夕卜,分配部305將第一個基準(zhǔn)期間內(nèi)未能分配的第2程序的剩余10毫秒的運算時間作為應(yīng) 分配到后面的基準(zhǔn)期間中的運算時間進行保持。由于向第一個基準(zhǔn)期間的運算時間的分配已經(jīng)結(jié)束,如圖1所示的分配部305如 圖3所示,嘗試設(shè)置第二個基準(zhǔn)期間,將第1 第4程序的各個運算時間按運算周期從短到 長的順序分配到第二個基準(zhǔn)期間中。分配部305首先在第二個基準(zhǔn)期間的前頭分配第1程 序的運算時間。另外,分配部305使第1程序的剩余的運算次數(shù)減少1,變?yōu)?。另外,分配部305嘗試在第二個基準(zhǔn)期間內(nèi)的第1程序的運算時間的后面分配第2 程序的運算時間。這里,在第一個基準(zhǔn)期間內(nèi)未能分配的第2程序的10毫秒的運算時間, 剩余作為應(yīng)分配給比第一個基準(zhǔn)期間靠后的基準(zhǔn)期間中的運算時間。因此,分配部305在 第二個基準(zhǔn)期間中分配第2程序被剩余的10毫秒的運算時間。由此,第2程序的第1次的 運算完成,所以分配部305從運算次數(shù)計算部303算出的第2程序的合計運算次數(shù)中減1, 使第2程序剩余的運算次數(shù)變?yōu)?。
在分配了第2程序的運算時間后,第二個基準(zhǔn)期間中剩余空閑時間40毫秒。由于 第2程序的運算周期為200毫秒,所以在第二個基準(zhǔn)期間內(nèi)運算已結(jié)束時,第2程序的第2 次的運算必須從第三個基準(zhǔn)期間開始。因此,分配部305嘗試在第二個基準(zhǔn)期間內(nèi)的第2程 序的運算時間的后面、分配運算周期次于第2程序短的第3程序的運算時間。但是,對第3 程序進行一次運算所需的運算時間為50毫秒。因此,分配部305在第二個基準(zhǔn)期間中、只 分配第3程序的50毫秒的運算時間中最初的40毫秒的運算時間。另外,分配部305將第 二個基準(zhǔn)期間內(nèi)未能分配的第3程序的剩余的10毫秒的運算時間作為應(yīng)分配到后面的基 準(zhǔn)期間中的運算時間進行保持。
由于向第二個基準(zhǔn)期間的運算時間的分配已結(jié)束,所以如圖1所示的分配部305 如圖4所示,嘗試設(shè)置第三個基準(zhǔn)期間,將第1 第4程序的各個運算時間按運算周期從短 到長的順序分配到第三個基準(zhǔn)期間中。分配部305首先在第三個基準(zhǔn)期間的前頭分配第1 程序的運算時間。另外,分配部305使第1程序的剩余運算次數(shù)再減1,變?yōu)?。另外,分配部305在第三個基準(zhǔn)期間內(nèi)的第1程序的運算時間的后面、分配第2程 序的60毫秒的運算時間中50毫秒的運算時間。另外,分配部305將第三個基準(zhǔn)期間內(nèi)未 能分配的第2程序剩余的10毫秒的運算時間作為應(yīng)分配到后面的基準(zhǔn)期間中的運算時間 進行保持。由于向第三個基準(zhǔn)期間的運算時間的分配已結(jié)束,所以如圖1所示的分配部305 如圖5所示,嘗試設(shè)置第四個基準(zhǔn)期間,將第1 第4程序的各個運算時間按運算周期從短 到長的順序分配到第四個基準(zhǔn)期間中。分配部305首先在第四個基準(zhǔn)期間的前頭分配第1 程序的運算時間。另外,分配部305使第1程序的剩余運算次數(shù)再減1,變?yōu)?。另外,分配部305在第四個基準(zhǔn)期間內(nèi)的第1程序的運算時間的后面、分配第三個 基準(zhǔn)期間中未能分配的第2程序的剩余10毫秒的運算時間。由此,第2程序的第2次運算 完成,所以分配部305再使第2程序的剩余運算次數(shù)減少1,變?yōu)?。之后,第四個基準(zhǔn)期間 剩余空閑時間40毫秒。于是,分配部305在第四個基準(zhǔn)期間內(nèi)的第2程序的運算時間的后面,分配第二個 基準(zhǔn)期間中未能分配的第3程序剩余的10毫秒的運算時間。由此,第3程序的第1次運算 完成,所以分配部305從運算次數(shù)計算部303算出的第3程序的合計運算次數(shù)中減1,使第 3程序的剩余運算次數(shù)變?yōu)?。之后,第四個基準(zhǔn)期間內(nèi)剩余空閑時間30毫秒。于是,分配部305嘗試在第四個基準(zhǔn)期間內(nèi)的第3程序的運算時間的后面,分配運 算周期次于第3程序短的第4程序的運算時間。但是,用于一次運算第4程序所需的運算 時間為100毫秒。因此,分配部305在第四個基準(zhǔn)期間中只分配第4程序的100毫秒的運 算時間中最初的30毫秒的運算時間。另外,分配部305將第四個基準(zhǔn)期間內(nèi)未能分配的第 4程序的剩余的70毫秒的運算時間作為應(yīng)分配到后面的基準(zhǔn)期間中的運算時間進行保持。由于向第四個基準(zhǔn)期間的運算時間的分配已結(jié)束,所以如圖1所示的分配部305 如圖6所示,嘗試設(shè)置第五個基準(zhǔn)期間,將第1 第4程序的各個運算時間按運算周期從短 到長的順序分配到第五個基準(zhǔn)期間中。分配部305首先在第五個基準(zhǔn)期間的前頭分配第1 程序的運算時間。另外,分配部305使第1程序的剩余運算次數(shù)再減1,變?yōu)?。另外,分配部305在第五個基準(zhǔn)期間內(nèi)的第1程序的運算時間的后面,分配第2程 序的60毫秒的運算時間中50毫秒的運算時間。另外,分配部305將第五個基準(zhǔn)期間內(nèi)未能分配的第2程序剩余的10毫秒的運算時間作為應(yīng)分配到后面的基準(zhǔn)期間中的運算時間 進行保持。由于向第五個基準(zhǔn)期間的運算時間的分配已結(jié)束,所以如圖1所示的分配部305 如圖7所示,嘗試設(shè)置第六個基準(zhǔn)期間,將第1 第4程序的各個運算時間按運算周期從短 到長的順序分配到第六個基準(zhǔn)期間中。分配部305首先在第六個基準(zhǔn)期間的前頭分配第1 程序的運算時間。另外,分配部305使第1程序的剩余運算次數(shù)再減1,變?yōu)?。
另外,分配部305在第六個基準(zhǔn)期間內(nèi)的第1程序的運算時間的后面、分配第五個 基準(zhǔn)期間內(nèi)未能分配的第2程序剩余的10毫秒的運算時間。由此,第2程序的第3次運算 完成,由此分配部305再使第2程序的剩余運算次數(shù)減少1,變?yōu)?。另外,分配部305在第 六個基準(zhǔn)期間內(nèi)的第2程序的運算時間的后面,分配第3程序的50毫秒的運算時間中40 毫秒的運算時間。還有,分配部305將第六個基準(zhǔn)期間內(nèi)未能分配的第3程序剩余的10毫 秒的運算時間作為應(yīng)分配到后面的基準(zhǔn)期間中的運算時間進行保持。由于向第六個基準(zhǔn)期間的運算時間的分配已結(jié)束,所以圖1所示的分配部305如 圖8所示,嘗試設(shè)置第七個基準(zhǔn)期間,并將第1 第4程序的各個運算時間按運算周期從短 到長的順序分配到第七個基準(zhǔn)期間中。分配部305首先在第七個基準(zhǔn)期間的前頭分配第1 程序的運算時間。而且,分配部305使第1程序的剩余運算次數(shù)再減1,變?yōu)?。另外,分配部305在第七個基準(zhǔn)期間內(nèi)的第1程序的運算時間的后面,分配第2程 序的60毫秒的運算時間中50毫秒的運算時間。另外,分配部305將第七個基準(zhǔn)期間內(nèi)未 能分配的第2程序剩余的10毫秒的運算時間作為應(yīng)分配到后面的基準(zhǔn)期間中的運算時間 進行保持。由于向第七個基準(zhǔn)期間的運算時間的分配已結(jié)束,所以圖1所示的分配部305如 圖9所示,嘗試設(shè)置第八個基準(zhǔn)期間,并將第1 第4程序的各個運算時間按運算周期從短 到長的順序分配到第八個基準(zhǔn)期間中。分配部305首先在第八個基準(zhǔn)期間的前頭分配第1 程序的運算時間。另外,分配部305使第1程序的剩余運算次數(shù)再減1,變?yōu)?。另外,分配部305在第八個基準(zhǔn)期間內(nèi)的第1程序的運算時間的后面,分配第七個 基準(zhǔn)期間中未能分配的第2程序剩余的10毫秒的運算時間。由此,第2程序的第4次運算 完成,所以分配部305再使第2程序的剩余運算次數(shù)減少1,變?yōu)?。另外,分配部305在第八個基準(zhǔn)期間內(nèi)的第2程序的運算時間的后面,分配第六個 基準(zhǔn)期間中未能分配的第3程序的剩余10毫秒的運算時間。由此,第3程序的第2次運算 完成,所以分配部305再使第3程序的剩余運算次數(shù)減1,變?yōu)?。之后,第八個基準(zhǔn)期間內(nèi) 剩余空閑時間30毫秒。 于是,分配部305在第八個基準(zhǔn)期間內(nèi)的第3程序的運算時間的后面,分配第四個 基準(zhǔn)期間中未能分配的第4程序剩余的70毫秒的運算時間。但由于第八個基準(zhǔn)期間只剩 余空閑時間30毫秒,所以分配部202只分配第4程序剩余的70毫秒的運算時間中最初的 30毫秒的運算時間。另外,分配部305將第八個基準(zhǔn)期間內(nèi)未能分配的第4程序的剩余的 40毫秒的運算時間仍作為應(yīng)分配到后面的基準(zhǔn)期間中的運算時間進行保持。
由于向第八個基準(zhǔn)期間的運算時間的分配已結(jié)束,所以圖1所示的分配部305如 圖10所示,嘗試設(shè)置第九個基準(zhǔn)期間,并將剩余運算次數(shù)未變?yōu)?的第1、第2及第4程序 的各個運算時間按運算周期從短到長的順序分配到第九個基準(zhǔn)期間中。分配部305首先在第九個基準(zhǔn)期間的前頭分配第1程序的運算時間。另外,分配部305使第1程序的剩余運算次數(shù)再減1,變?yōu)?。另外,分配部305在第九個基準(zhǔn)期間內(nèi)的第1程序的運算時間的后面,分配第2程 序的60毫秒的運算時間中50毫秒的運算時間。另外,分配部305將第九個基準(zhǔn)期間內(nèi)未 能分配的第2程序的剩余10毫秒的運算時間作為應(yīng)分配到后面的基準(zhǔn)期間中的運算時間 進行保持。由于向第九個基準(zhǔn)期間的運算時間的分配已結(jié)束,所以圖1所示的分配部305如 圖11所示,嘗試設(shè)置第十個基準(zhǔn)期間,并將剩余運算次數(shù)未變?yōu)?的第1、第2及第4程序 的各個運算時間按運算周期從短到長的順序分配到第十個基準(zhǔn)期間中。分配部305首先在 第十個基準(zhǔn)期間的前頭分配第1程序的運算時間。另外,分配部305使第1程序的剩余運 算次數(shù)再減1,變?yōu)?。另外,分配部305在第十個基準(zhǔn)期間內(nèi)的第1程序的運算時間的后面,分配第九個 基準(zhǔn)期間中未能分配的第2程序剩余的10毫秒的運算時間。由此,第2程序的第5次運算 完成,所以分配部305再使第2程序的剩余運算次數(shù)減少1,變?yōu)?。運算周期次于第2程序短的第3程序的剩余運算次數(shù)已變?yōu)?。因此,分配部305 在第十個基準(zhǔn)期間中不進行第3程序的運算時間的分配。而且,分配部305在第十個基準(zhǔn) 期間內(nèi)的第2程序的運算時間的后面,分配第八個基準(zhǔn)期間中未能分配的第4程序剩余的 40毫秒的運算時間。由此,第4程序的第1次運算完成,分配部305從運算次數(shù)計算部303 算出的第4程序的合計運算次數(shù)中減1,使第4程序剩余的運算次數(shù)變?yōu)?。在向第十個基準(zhǔn)期間的運算時間的分配結(jié)束的時刻,到達圖1所示的完成時間計 算部302算出的完成時間。另外,直到達到運算次數(shù)計算部303算出的完成時間為止,使運 算裝置400運算第1 第4程序的每一個的合計運算次數(shù)達到。因此,分配部30結(jié)束第 1 第4程序的各個運算時間的分配時間表的生成。運算裝置400從調(diào)度器300接收分配部305生成的如圖11所示的第1 第4程序 的各個運算時間的分配時間表。另外,如圖1所示的運算裝置400從程序存儲裝置330讀出 第1 第4程序。還有,運算裝置400根據(jù)接收的如圖11所示的分配時間表運算第1 第 4程序。另外,在第十個基準(zhǔn)期間運算結(jié)束后,返回第一個基準(zhǔn)期間重復(fù)第1 第4程序的 運算。而且,圖1所示的運算裝置400并不一定等待如圖11所示的分配時間表的完成,再 運算第1 第4程序。例如運算裝置400也可與調(diào)度器300的分配時間表的生成并行地, 根據(jù)分配給第一個基準(zhǔn)期間的前頭的程序執(zhí)行運算。如圖1所示的數(shù)據(jù)總線500上還連接暫時存儲裝置331、輸入裝置312及輸出裝置 313。暫時存儲裝置331通過調(diào)度器300及運算裝置400處理的結(jié)果被逐次保存。輸入裝 置312上被輸入程序存儲裝置330保存的程序等。輸出裝置313輸出調(diào)度器300生成的程 序的分配時間表及運算裝置400運算的程序的運算結(jié)果等。通過以上說明的有關(guān)第1實施方式的信息處理裝置,能夠使多個程序的運算時間 按各個運算周期且高效地進行調(diào)度。還有,通過有關(guān)第1實施方式的信息處理裝置,由于在 各基準(zhǔn)期間上連續(xù)地分配程序的運算時間,也能夠省去運算裝置400的處理能力的浪費。(第2實施方式)在有關(guān)第2實施方式的如圖12所示的信息處理裝置的程序存儲裝置330中,保存著與第1實施方式相同的第1 第3程序。另外,在有關(guān)第2實施方式的程序存儲裝置330 中例如包含30個用1000毫秒的運算周期進行運算的功能模塊的第5程序被保存以代替第 4程序。當(dāng)用運算裝置400運算1個功能模塊所需的運算時間為2毫秒時,對第5程序進行 一次運算所需的運算時間為60毫秒。還有,在有關(guān)第2實施方式的程序存儲裝置330中,在開始了其他程序的運算后、 保存了由用戶指定的第1時機指定程序以便例如從300毫秒到400毫秒間的時機進行運 算。第1時機指定程序例如包含5個功能模塊。此時,對第1時機指定程序進行一次運算 所需的運算時間為10毫秒。另外,在有關(guān)第2實施方式的程序存儲裝置330中,在開始了其他程序的運算后, 保存了由用戶指定的第2時機指定程序以便例如從800毫秒到900毫秒間的時機進行運 算。第2時機指定程序例如包含15個功能模塊。此時,對第2時機指定程序進行一次運算 所需的運算時間為30毫秒。單位時間計算部301與第1實施方式相同,計算出第1 第3程序及第5程序的 各個運算周期的最大公約數(shù)作為單位時間。這里,作為單位時間被算出的最大公約數(shù)為100 毫秒。另外,運算次數(shù)計算部303計算出第1 第3程序及第5程序的各個運算周期的最小公倍數(shù)作為至少第1 第3程序及第5程序的總運算完成一次所需的完成時間。這里, 作為完成時間被算出的最小公倍數(shù)為1000毫秒。運算次數(shù)計算部303計算出到完成時間為止,運算裝置400運算第1 第3程序及 第5程序的每一個的合計運算次數(shù)。這里,第1程序的合計運算次數(shù)為10次,第2程序的 合計運算次數(shù)為5次,第3程序的合計運算次數(shù)為2次,第5程序的合計運算次數(shù)為1次。有關(guān)第2實施方式的調(diào)度器300,還具備優(yōu)先分配部304。優(yōu)先分配部304分別從 單位時間計算部301及完成時間計算部302接收單位時間及完成時間。還有,優(yōu)先分配部 304將完成時間除以單位時間而得的數(shù)目算出并作為多個基準(zhǔn)期間的數(shù)目。這里,完成時間 除以單位時間所得的數(shù)目為10,所以優(yōu)先分配部304如圖13所示,設(shè)定第一個 第十個基 準(zhǔn)期間。另外,如圖12所示的優(yōu)先分配部304從程序存儲裝置中讀出被第1及第2時機指 定程序指定的運算時機和運算時間。接著,優(yōu)先分配部304在如圖13所示的第一個 第十個基準(zhǔn)期間中分配第1 第 3程序及第5程序的運算時間前,分配第1及第2時機指定程序的運算時間。這里,第1時 機指定程序被指定成從300毫秒到400毫秒間的時機進行運算。因此,優(yōu)先分配部304在 第四個基準(zhǔn)期間的前頭,分配第1時機指定程序的10毫秒的運算時間。另外,第2時機指 定程序被指定成從800毫秒到900毫秒間的時機進行運算。因此,優(yōu)先分配部304在第九 個基準(zhǔn)期間的前頭,分配第2時機指定程序的30毫秒的運算時間。在第2實施方式中,如圖12所示的分配部305,優(yōu)先分配部304將第1及第2時 機指定程序的各個運算時間分配到第一個 第十個基準(zhǔn)期間中后,在第一個 第十個基準(zhǔn) 期間中分配第1 第3程序及第5程序的各個運算時間。具體的說,分配部305如圖14所 示,首先在第一個 第三個基準(zhǔn)期間中與第1實施方式相同地,分配第1 第3程序的運算 時間。另外,由于在第四個基準(zhǔn)期間的最初的10毫秒,第1程序時機指定程序的運算時 間已經(jīng)被分配,所以分配部305嘗試在第四個基準(zhǔn)期間內(nèi)的第1時機指定程序的運算時間的后面,按運算周期從短到長的順序分配第1 第3程序及第5程序的各個運算時間。因 此,分配部305在第1時機指定程序的運算時間的后面,首先分配第1程序的運算時間。另外,分配部305在第四個基準(zhǔn)期間內(nèi)的第1程序的運算時間的后面,分配第三個 基準(zhǔn)期間中不能分配的第2程序剩余的10毫秒的運算時間。另外,分配部305在第四個基 準(zhǔn)期間內(nèi)的第2程序的運算時間的后面,分配第二個基準(zhǔn)期間中不能分配的第3程序剩余 的10毫秒的運算時間。之后,第四個基準(zhǔn)期間中剩余空閑時間20毫秒。
于是,分配部305嘗試在第四個基準(zhǔn)期間內(nèi)的第3程序的運算時間的后面,分配運 算周期次于第3程序短的第5程序的運算時間。但對第5程序進行一次運算所需的運算時 間為60毫秒。因此,分配部305在第四個基準(zhǔn)期間中,僅分配第5程序的60毫秒的運算時 間中最初的20毫秒的運算時間。另外,如圖12所示的分配部305將第四個基準(zhǔn)期間內(nèi)不 能分配的第5程序剩余的40毫秒的運算時間作為應(yīng)分配到后面的基準(zhǔn)期間中的運算時間 進行保持。之后,分配部305如圖15所示,在第五 第七基準(zhǔn)期間中與第1實施方式同樣地, 分配第1 第3程序的運算時間。接著,分配部305在第八個基準(zhǔn)期間中與第1實施方式 同樣地,首先分配第1 第3程序的運算時間。之后,第八個基準(zhǔn)期間中剩余空閑時間30毫秒。 于是,分配部305嘗試在第八個基準(zhǔn)期間內(nèi)的第3程序的運算時間的后面,分配第 四基準(zhǔn)期間中不能分配的第5程序剩余的40毫秒的運算時間。但是,由于第八基準(zhǔn)期間空 閑時間只剩余30毫秒,所以分配部202只分配第5程序剩余的40毫秒的運算時間中最初 的30毫秒的運算時間。另外,如圖12所示的分配部305,將第八個基準(zhǔn)期間內(nèi)不能分配的 第5程序剩余的10毫秒的運算時間仍作為應(yīng)分配到后面的基準(zhǔn)期間中的運算時間進行保 持。接著,如圖16所示,第九個基準(zhǔn)期間的最初的30毫秒已被分配為第2時機指定程 序的運算時間。因此,分配部305嘗試在第九個基準(zhǔn)期間內(nèi)的第2時機指定程序的運算時間 的后面、按運算周期從短到長的順序分配第1 第3程序及第5程序的各個運算時間。于 是,分配部305在第2時機指定程序的運算時間的后面,首先分配第1程序的運算時間。另外,分配部在第九個基準(zhǔn)期間內(nèi)的第1程序的運算時間的后面、分配第2程序的 60毫秒運算時間中20毫秒的運算時間。然后,圖12所示的分配部305將第九個基準(zhǔn)期間 內(nèi)不能分配的第2程序的剩余的40毫秒的運算時間作為應(yīng)分配到后面的基準(zhǔn)期間中的運 算時間進行保持。接著,分配部305在第十個基準(zhǔn)期間中首先分配第1程序的運算時間, 在第1程序的運算時間的后面分配第九個基準(zhǔn)期間中不能分配的第2程序剩余的40毫秒 的運算時間。另外,分配部305在第十個基準(zhǔn)期間內(nèi)的第2程序的運算時間的后面,分配第 八個基準(zhǔn)期間中不能分配的第5程序剩余的10毫秒的運算時間,結(jié)束運算時間的分配時間 表的生成。有關(guān)第2實施方式的信息處理裝置的其他構(gòu)成要素與第1實施方式相同,所以其 說明省略。程序的運算時間的分配優(yōu)選自動進行方式,但對一部分程序,也存在用戶想指定 分配運算時間的時機的情況。與此相對,通過有關(guān)第2實施方式的信息處理裝置,能夠?qū)r 機指定程序按用戶的指定分配運算時間,而對其他程序自動實施高效的運算時間的分配。(其他實施方式)
如上所述,由實施方式記載了本發(fā)明,但實現(xiàn)此公開的一部分的記述及附圖不應(yīng) 理解為限定此發(fā)明。根據(jù)此公開本領(lǐng)域的技術(shù)人員應(yīng)得到各種替代方式、實施例及運用技 術(shù)。例如向圖1所述的程序存儲裝置330追加新的程序、變更被保存的程序的運算周期、或 刪除被保存的程序時,調(diào)度器300自動地再調(diào)度程序的運算時間的分配。另外,實施方式所 示的運算周期及運算時間等始終只用于例示。例如,在程序存儲裝置330中保存用100毫 秒的運算周期進行運算的程序和用250毫秒的運算周期進行運算的程序時,單位時間為50毫秒,完成時間為500毫秒。這樣,本發(fā)明應(yīng)理解為包含這里未記載的各種實施方式等。因 此本發(fā)明從該公開中只被可靠的權(quán)利要求范圍的發(fā)明特定特征限定。
權(quán)利要求
一種信息處理裝置,其特征在于,具備單位時間計算部,其計算出多個程序的各個運算周期的最大公約數(shù)作為單位時間;分配部,其將上述多個程序的各個運算時間按上述運算周期從短到長的順序,分別分配到具有上述單位時間的多個連續(xù)的基準(zhǔn)期間的每一個中,且將在上述多個基準(zhǔn)期間中的一個基準(zhǔn)期間中運算未完成的程序的剩余運算時間按上述運算周期從短到長的順序,分配到上述一個基準(zhǔn)期間后面的基準(zhǔn)期間中;運算部,其對在上述多個基準(zhǔn)期間中分別被分配了上述運算時間的上述多個程序進行運算。
2.一種調(diào)度器,其特征在于,具備單位時間計算部,其計算出多個程序的各個運算周期的最大公約數(shù)作為單位時間;分配部,其將上述多個程序的各個運算時間按上述運算周期從短到長的順序,分別分 配到具有上述單位時間的多個連續(xù)的基準(zhǔn)期間的每一個中,且將在上述多個基準(zhǔn)期間中的 一個基準(zhǔn)期間中運算未完成的程序的剩余運算時間按上述運算周期從短到長的順序,分配 到上述一個基準(zhǔn)期間后面的基準(zhǔn)期間中。
3.根據(jù)權(quán)利要求2所述的調(diào)度器,其特征在于,還具備完成時間計算部,其計算出上述多個程序的各個運算周期的最小公倍數(shù)作為上 述多個程序的總運算至少完成1次所需的完成時間。
4.根據(jù)權(quán)利要求3所述的調(diào)度器,其特征在于,上述多個連續(xù)的基準(zhǔn)期間的合計時間為上述完成時間。
5.根據(jù)權(quán)利要求3或4所述的調(diào)度器,其特征在于,還具備運算次數(shù)計算部,其通過上述完成時間除以上述多個程序的每一個的運算周 期,計算出到上述完成時間為止,分別運算上述多個程序的合計運算次數(shù)。
6.根據(jù)權(quán)利要求5所述的調(diào)度器,其特征在于,上述分配部將上述多個程序的各個運算時間分配到上述多個基準(zhǔn)期間中,直到在上述 多個程序的各個運算次數(shù)達到上述合計運算次數(shù)為止。
7.根據(jù)權(quán)利要求2所述的調(diào)度器,其特征在于,還具備優(yōu)先分配部,該優(yōu)先分配部將指定了運算的時機的時機指定程序分配到上述多 個基準(zhǔn)期間的至少一個中,直到上述分配部將上述多個程序的各個運算時間分別分配到上 述多個基準(zhǔn)期間中為止。
8.一種調(diào)度方法,其特征在于,包含如下步驟計算出多個程序的各個運算周期的最大公約數(shù)作為單位時間;將上述多個程序的各個運算時間按上述運算周期從短到長的順序,分別分配到具有上 述單位時間的多個連續(xù)的基準(zhǔn)期間的每一個中,且將在上述多個基準(zhǔn)期間中的一個基準(zhǔn)期 間中運算未完成的程序的剩余運算時間按運算周期從短到長的順序,分配到上述一個基準(zhǔn) 期間后面的基準(zhǔn)期間中的步驟。
9.根據(jù)權(quán)利要求8所述的調(diào)度方法,其特征在于,還包含計算出上述多個程序的各個運算周期的最小公倍數(shù)作為上述多個程序的總運 算至少完成1次所需的完成時間的步驟。
10.根據(jù)權(quán)利要求9所述的調(diào)度方法,其特征在于,上述多個連續(xù)的基準(zhǔn)期間的合計時間為上述完成時間。
11.根據(jù)權(quán)利要求9或10所述的調(diào)度方法,其特征在于,還包含通過上述完成時間除以上述多個程序的各個運算周期,計算出到上述完成時間 為止,分別運算上述多個程序的合計運算次數(shù)的步驟。
12.根據(jù)權(quán)利要求11所述的調(diào)度方法,其特征在于,上述分配的步驟中,將上述多個程序的各個運算時間分配到上述多個基準(zhǔn)期間中,直 到在上述多個程序的各個運算次數(shù)達到上述合計運算次數(shù)為止。
13.根據(jù)權(quán)利要求8任一項所述的調(diào)度方法,其特征在于,還包含在將上述多個程序的各個運算時間分別分配到上述多個基準(zhǔn)期間中之前,將指 定了運算的時機的時機指定程序分配到上述多個基準(zhǔn)期間的至少一個中的步驟。
全文摘要
本發(fā)明提供一種能夠進行各個運算周期不同的多個程序的高效運算的信息處理裝置、調(diào)度器及調(diào)度方法。具備計算出將多個程序的各個運算周期的最大公約數(shù)作為單位時間的單位時間計算部(301);分配部(305),其將多個程序的各個運算時間按運算周期從短到長的順序分別分配到具有單位時間的多個連續(xù)的基準(zhǔn)期間的每一個中,且將在多個基準(zhǔn)期間中的一個基準(zhǔn)期間中運算未完成的程序的剩余運算時間按運算周期從短到長的順序分配到一個基準(zhǔn)期間后面的基準(zhǔn)期間中;運算被分配了運算時間的多個程序的運算部(400)。
文檔編號G06F9/46GK101799769SQ20101000301
公開日2010年8月11日 申請日期2010年1月6日 優(yōu)先權(quán)日2009年1月7日
發(fā)明者星加一幸 申請人:株式會社山武