国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      電路組控制系統(tǒng)的制作方法

      文檔序號(hào):6600269閱讀:278來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):電路組控制系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種控制作為處理器以外的電路集合的電路組的技術(shù),尤其涉及一種從某個(gè)處理器接收命令,對(duì)電路組中各電路進(jìn)行對(duì)應(yīng)于該命令的處理的電路組控制系統(tǒng)。
      背景技術(shù)
      以前,已知某個(gè)處理器(下面稱(chēng)為主處理器)通過(guò)向其它處理器(下面稱(chēng)為從處理器)、DMA控制器等電路傳遞命令來(lái)委托執(zhí)行處理的方式。下面,將從主處理器委托執(zhí)行處理的從處理器或DMA控制器等電路稱(chēng)為從屬硬件(slavehardware)。
      通過(guò)該方式,主處理器和從處理器可并行操作,所以主處理器可實(shí)現(xiàn)通過(guò)成為譯碼執(zhí)行對(duì)象的程序加速信息處理。
      可是,通過(guò)按一定順序執(zhí)行分別對(duì)應(yīng)于多個(gè)從屬硬件的多個(gè)命令,有時(shí)可達(dá)到一定的目的。
      因此,主處理器將多個(gè)命令按一定順序執(zhí)行作為內(nèi)容的處理統(tǒng)一后全部委托給從屬硬件組,向從屬硬件組的控制機(jī)構(gòu)傳遞將多個(gè)作為任一從屬硬件執(zhí)行對(duì)象的命令順序排列而成的命令列,控制機(jī)構(gòu)接收該命令列后,依次譯碼命令列的各命令,指定對(duì)應(yīng)的從屬硬件,對(duì)該從屬硬件執(zhí)行對(duì)應(yīng)于命令的處理,上述方式在降低關(guān)于主處理器的命令接受順序的開(kāi)銷(xiāo)方面,因?yàn)檩^迅速地執(zhí)行信息處理,所以有效。
      另外,如下結(jié)合構(gòu)成命令列例如,在DMA控制器中順序執(zhí)行將從主存儲(chǔ)器向局部存儲(chǔ)器傳送數(shù)百千字節(jié)(KB)左右的一組數(shù)據(jù)的指示作為內(nèi)容的命令A(yù)、將在從處理器中基于局部存儲(chǔ)器中的一組數(shù)據(jù)來(lái)執(zhí)行規(guī)定運(yùn)算并將作為結(jié)果的一組數(shù)據(jù)存儲(chǔ)在局部存儲(chǔ)器中的指示作為內(nèi)容的命令B、以及在DMA控制器中將作為運(yùn)算結(jié)果的一組數(shù)據(jù)從局部存儲(chǔ)器中傳送到主存儲(chǔ)器的指示作為內(nèi)容的命令C。
      在從主處理器接收示例的命令列的情況下,從屬硬件組的控制機(jī)構(gòu)首先在DMA控制器中執(zhí)行對(duì)應(yīng)于命令A(yù)的處理A,在完成處理A后,在從處理器中執(zhí)行對(duì)應(yīng)于命令B的處理B,在完成處理B后,在DMA控制器中執(zhí)行對(duì)應(yīng)于命令C的處理C。
      另外,在主處理器將作為執(zhí)行對(duì)象的信息處理作為多個(gè)任務(wù)來(lái)處理的情況下,有時(shí)必需隨時(shí)對(duì)從屬硬件組執(zhí)行多個(gè)命令列。
      此時(shí),主處理器向兩個(gè)以上從屬硬件組的控制機(jī)構(gòu)傳遞指示多個(gè)從屬硬件的聯(lián)合操作的命令列。另外,認(rèn)為普通的從屬硬件組的控制機(jī)構(gòu)按命令個(gè)數(shù)重復(fù)將著眼于一個(gè)命令列并構(gòu)成該命令列的命令順序地在對(duì)應(yīng)的從屬硬件中進(jìn)行處理,接著著眼于其它命令列來(lái)執(zhí)行同樣的處理順序。
      但是,上述從屬硬件組的控制機(jī)構(gòu)依次著眼于從主處理器接收到的命令列中的各命令,在對(duì)應(yīng)于著眼的命令的從屬硬件中反復(fù)執(zhí)行該命令處理的順序,所以在各時(shí)刻,從屬硬件組中僅一個(gè)從屬硬件運(yùn)轉(zhuǎn),不能實(shí)現(xiàn)從屬硬件的有效活用。
      目的因此,本發(fā)明的目的在于提供一種包含在各從屬硬件中執(zhí)行對(duì)應(yīng)于從主處理器接收的多個(gè)命令列的處理時(shí),進(jìn)行用于提高各從屬硬件運(yùn)轉(zhuǎn)率的控制的控制機(jī)構(gòu)的電路組控制系統(tǒng)。
      另外,本發(fā)明的另一目的在于提供在構(gòu)筑上述電路組控制系統(tǒng)時(shí)有用的各種技術(shù)。

      發(fā)明內(nèi)容
      及效果為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的電路組控制系統(tǒng),其特征在于接收來(lái)自主處理器的指定,控制多個(gè)電路,包括命令列指定接收單元,從主處理器接收排列多個(gè)上述多個(gè)電路之一中應(yīng)執(zhí)行的命令所構(gòu)成的命令列指定;執(zhí)行控制單元,按照基于命令列指定接收單元接收到的指定的命令列的順序,在執(zhí)行該命令的電路中開(kāi)始逐次執(zhí)行命令列內(nèi)的命令;上述執(zhí)行控制單元包含并列執(zhí)行控制部,在一個(gè)電路中執(zhí)行一個(gè)命令期間,檢測(cè)處于由其它電路執(zhí)行的狀態(tài)的命令,選擇該命令,并在對(duì)應(yīng)的其它電路中執(zhí)行。
      因此,確保所謂保證構(gòu)成各命令列的各命令執(zhí)行開(kāi)始順序的命令列的意義,另外,因?yàn)橛刹煌膹膶儆布?lái)并列執(zhí)行多個(gè)命令,所以可提高各從屬硬件的運(yùn)轉(zhuǎn)率。
      另外,上述多個(gè)電路中至少包含具有互不相同功能的兩種電路,上述命令列指定接收單元從主處理器接收多個(gè)命令列的指定,上述執(zhí)行控制單元按照基于命令列指定接收單元接收到的指定的各命令列的順序,在執(zhí)行該命令的電路中逐次執(zhí)行各命令列內(nèi)的命令,上述并列執(zhí)行控制部在一個(gè)電路中執(zhí)行一個(gè)命令列中的命令期間,檢測(cè)其它命令列中處于由其它電路執(zhí)行的狀態(tài)的命令,選擇該命令,并在對(duì)應(yīng)的其它電路中執(zhí)行。
      因此,在各電路、即各從屬硬件中執(zhí)行多個(gè)命令列的命令時(shí),因?yàn)榭捎刹煌膹膶儆布⒘袌?zhí)行構(gòu)成各個(gè)命令列的命令,所以可提高各從屬硬件的運(yùn)轉(zhuǎn)率。
      另外,上述電路組控制系統(tǒng)具備上述多個(gè)電路,上述多個(gè)電路中包含從處理器及DMA控制器,上述執(zhí)行控制單元在從處理器中執(zhí)行一個(gè)命令列中的命令,與該執(zhí)行并行,并在DMA控制器中執(zhí)行其它命令列中的命令。
      因此,即使不設(shè)計(jì)多個(gè)相同功能的電路,也可高速執(zhí)行以對(duì)大量數(shù)據(jù)實(shí)施規(guī)定運(yùn)算或加工的信息處理為內(nèi)容的多個(gè)程序。即,在由包含用于通過(guò)DMA傳送可由從處理器訪問(wèn)大量數(shù)據(jù)的局部存儲(chǔ)器中設(shè)定的DMA控制器用命令和由從處理器對(duì)設(shè)定數(shù)據(jù)實(shí)施運(yùn)算或加工的從處理器用命令的命令來(lái)確定該信息處理的情況下,在通過(guò)從處理器及DMA控制器一方的從屬硬件執(zhí)行一個(gè)命令列中的命令中,另一方的從屬硬件可并行地執(zhí)行其它命令列中的命令,作為整體可高速執(zhí)行多個(gè)信息處理。
      另外,上述多個(gè)電路訪問(wèn)同一存儲(chǔ)器,在上述各命令列中包含的命令中存在指定執(zhí)行該命令的電路訪問(wèn)上述存儲(chǔ)器的存儲(chǔ)器訪問(wèn)命令,上述執(zhí)行控制單元包含存儲(chǔ)器訪問(wèn)控制部,當(dāng)并行在各電路中執(zhí)行各命令列中的各存儲(chǔ)器訪問(wèn)命令時(shí),控制執(zhí)行該各存儲(chǔ)器訪問(wèn)命令的各電路,使其訪問(wèn)存儲(chǔ)器內(nèi)彼此獨(dú)立的區(qū)域。
      因此,不干擾命令列之間的數(shù)據(jù)讀寫(xiě),可保證數(shù)據(jù)。
      另外,上述存儲(chǔ)器訪問(wèn)命令包含指定訪問(wèn)對(duì)象部分的邏輯地址,上述存儲(chǔ)器訪問(wèn)控制部當(dāng)并行在各電路中執(zhí)行各命令列中的各存儲(chǔ)器訪問(wèn)命令時(shí),將各存儲(chǔ)器訪問(wèn)命令中的邏輯地址變換為表示該存儲(chǔ)器訪問(wèn)命令所屬命令列中各不相同的存儲(chǔ)區(qū)域的物理地址,將變換后的物理地址用于指定訪問(wèn)對(duì)象部分,控制各電路執(zhí)行存儲(chǔ)器訪問(wèn)。
      因此,在對(duì)每個(gè)命令列分配獨(dú)立的存儲(chǔ)器空間的前提下,主處理器可確定各命令列的命令。即,不考慮其它命令列地來(lái)對(duì)一個(gè)命令列指定需要存儲(chǔ)器訪問(wèn)的命令中的訪問(wèn)對(duì)象地址。
      另外,上述存儲(chǔ)器訪問(wèn)控制部在上述將邏輯地址變換為物理地址時(shí),使用于指定變換后物理地址表示的存儲(chǔ)區(qū)域的區(qū)域指定信息與變換前的邏輯地址對(duì)應(yīng)并保持,之后,在邏輯地址變換為物理地址時(shí),將該邏輯地址變換為表示由已保持的區(qū)域指定信息指定的存儲(chǔ)區(qū)域以外的存儲(chǔ)區(qū)域的物理地址,在上述各命令列中包含的命令中存在包含指定邏輯地址并指示由在先執(zhí)行的命令指定的存儲(chǔ)器訪問(wèn)對(duì)象部分的釋放的釋放指示的命令,上述存儲(chǔ)器訪問(wèn)控制部在電路中執(zhí)行包含上述釋放指定的命令前,取消與該釋放指示中所示邏輯地址對(duì)應(yīng)的區(qū)域指定信息。
      因此,因?yàn)楸会尫胖付ǖ奈锢淼刂房稍俅螌?duì)應(yīng)于其它邏輯地址,所以可實(shí)現(xiàn)存儲(chǔ)區(qū)域的有效活用。
      另外,上述多個(gè)電路訪問(wèn)同一存儲(chǔ)器,在上述各命令列中包含的命令中存在指定執(zhí)行該命令的電路訪問(wèn)上述存儲(chǔ)器的存儲(chǔ)器訪問(wèn)命令,上述存儲(chǔ)器訪問(wèn)命令包含在命令列彼此間訪問(wèn)公共存儲(chǔ)區(qū)域的公用屬性以及在命令列彼此間訪問(wèn)彼此獨(dú)立的存儲(chǔ)區(qū)域的獨(dú)立屬性之一的屬性,上述執(zhí)行控制單元包括存儲(chǔ)器訪問(wèn)控制部,在各電路中執(zhí)行各命令列中各存儲(chǔ)器訪問(wèn)命令時(shí),控制執(zhí)行包含獨(dú)立屬性的一個(gè)命令列中的存儲(chǔ)器訪問(wèn)命令的電路和執(zhí)行包含獨(dú)立屬性的其它命令列中的存儲(chǔ)器訪問(wèn)命令的電路以便訪問(wèn)存儲(chǔ)器內(nèi)彼此獨(dú)立的區(qū)域,控制執(zhí)行包含公用屬性的一個(gè)命令列中的存儲(chǔ)器訪問(wèn)命令的電路和執(zhí)行包含公用屬性的其它命令列中的存儲(chǔ)器訪問(wèn)命令的電路以便訪問(wèn)存儲(chǔ)器內(nèi)相同的區(qū)域。
      因此,可在命令列間獨(dú)立處理數(shù)據(jù)或參照公共的數(shù)據(jù)等。
      另外,上述命令列指定接收單元具有命令存儲(chǔ)用存儲(chǔ)器,由上述主處理器通過(guò)將多個(gè)命令寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器中來(lái)接收上述命令列的指定,上述執(zhí)行控制單元按照基于命令列的順序來(lái)逐次參照寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器中的命令,并在執(zhí)行電路中執(zhí)行參照的該命令。
      因此,主處理器因?yàn)榭山y(tǒng)一向命令存儲(chǔ)用存儲(chǔ)器即通信存儲(chǔ)器寫(xiě)入多個(gè)命令,所以基本上不需要同步控制,與逐次傳遞命令的情況相比,傳遞命令的控制變?nèi)菀住?br> 另外,寫(xiě)入上述命令存儲(chǔ)用存儲(chǔ)器中的各命令構(gòu)成為包含在存在該命令所屬命令列中下一位的命令的情況下表示該下一位命令在命令存儲(chǔ)用存儲(chǔ)器內(nèi)位置的指針信息,上述執(zhí)行控制單元通過(guò)參照命令內(nèi)包含的指針信息來(lái)獲得應(yīng)在該命令后執(zhí)行的命令的位置,按照基于命令列的順序,在執(zhí)行該命令的電路中逐次執(zhí)行命令。
      因此,在例如某一執(zhí)行完成的命令列由命令A(yù)、命令B和命令C構(gòu)成的情況下,接著,在若想執(zhí)行由命令A(yù)、命令B和命令D構(gòu)成的新的命令列時(shí),主處理器設(shè)定命令D,僅將從命令B到命令C的指針鏈重新替換成從命令B到命令D的鏈即可,所以通過(guò)主處理器以構(gòu)成命令列的命令單元進(jìn)行再利用變得容易。另外,在命令存儲(chǔ)用存儲(chǔ)器中沒(méi)有命令列的全部命令連續(xù)的空區(qū)域時(shí),因?yàn)榭梢詫?duì)每個(gè)命令配置到獨(dú)立位置上,所以可有效活用命令存儲(chǔ)用存儲(chǔ)器的存儲(chǔ)區(qū)域。
      另外,寫(xiě)入上述命令存儲(chǔ)用存儲(chǔ)器中的各命令按照該命令所屬命令列的順序排列在命令存儲(chǔ)用存儲(chǔ)器的地址連續(xù)的區(qū)域中,上述執(zhí)行控制單元按照各命令列中命令存儲(chǔ)用存儲(chǔ)器的地址順序逐次參照各命令,在執(zhí)行電路中執(zhí)行參照的該命令。
      因此,因?yàn)椴槐貐⒄罩羔樞畔⒌染涂芍付ú⒄諛?gòu)成命令列的各命令,所以可簡(jiǎn)化命令參照用的處理結(jié)構(gòu)。
      另外,上述命令包含參數(shù),上述電路組控制系統(tǒng)具備上述多個(gè)電路,
      上述命令存儲(chǔ)用存儲(chǔ)器與上述多個(gè)電路中的至少一個(gè)電路連接,與上述命令存儲(chǔ)用存儲(chǔ)器連接的電路在由上述執(zhí)行控制單元執(zhí)行命令時(shí),訪問(wèn)上述命令存儲(chǔ)用存儲(chǔ)器中的該命令內(nèi)的參數(shù)。
      因此,因?yàn)閺奶幚砥髟谠L問(wèn)命令存儲(chǔ)用存儲(chǔ)器后可隨時(shí)更新命令內(nèi)的參數(shù)類(lèi)型等,所以例如在部分變化命令內(nèi)容,然后由主處理器指示執(zhí)行相同命令時(shí),可對(duì)變化后的內(nèi)容進(jìn)行處理等。
      另外,上述命令列的指定通過(guò)識(shí)別由寫(xiě)入上述命令存儲(chǔ)用存儲(chǔ)器中的多個(gè)命令構(gòu)成的命令列的命令列識(shí)別符來(lái)完成,上述執(zhí)行控制單元在執(zhí)行該命令的電路中逐次執(zhí)行由上述命令列識(shí)別符識(shí)別的各命令列中的命令。
      因此,因?yàn)橄蛎畲鎯?chǔ)用存儲(chǔ)器中存儲(chǔ)構(gòu)成命令列的命令與指定命令列相分離,所以可多次指定由存儲(chǔ)后的命令構(gòu)成的命令列,可減少命令的傳送量。
      另外,上述電路組控制系統(tǒng)具備上述主處理器,上述主處理器指定多個(gè)相同的命令列識(shí)別符。
      因此,在主處理器將構(gòu)成命令列的各命令存儲(chǔ)在命令存儲(chǔ)用存儲(chǔ)器中后,因?yàn)榭蓛H通過(guò)指定命令列識(shí)別符就可無(wú)數(shù)次地再利用該命令列,所以可減輕對(duì)主處理器傳送命令列實(shí)體的處理的負(fù)荷。
      另外,上述命令列識(shí)別符是表示上述命令列存儲(chǔ)用存儲(chǔ)器內(nèi)的命令的位置的指針信息,上述執(zhí)行控制單元將上述指針信息表示的命令作為開(kāi)頭要素,在電路中逐次執(zhí)行該命令所屬的命令列內(nèi)的命令。
      因此,電路組控制系統(tǒng)一旦接收命令列的指定,則由于用于該指定的命令列識(shí)別符是命令的指針信息,所以即使不特別設(shè)置進(jìn)行根據(jù)命令列識(shí)別符算出用于訪問(wèn)命令的信息的運(yùn)算等機(jī)構(gòu),也可容易地訪問(wèn)應(yīng)執(zhí)行的命令。
      另外,上述命令列指定接收單元具有命令列識(shí)別符存儲(chǔ)用的第一FIFO緩沖器,在經(jīng)上述主處理器將多個(gè)命令寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器中后,通過(guò)將該多個(gè)命令中任一命令組作為各列要素的多個(gè)命令列各自的命令列識(shí)別符寫(xiě)入第一FIFO緩沖器中,接收上述命令列的指定,上述執(zhí)行控制單元在電路中執(zhí)行由第一FIFO緩沖器中各命令列識(shí)別符指定的命令列內(nèi)的命令。
      因此,主處理器可將多個(gè)命令列識(shí)別符插入FIFO緩沖器中,因?yàn)榭山y(tǒng)一委托執(zhí)行命令列,所以可減少例如同步控制等的等待時(shí)間。
      另外,上述命令列指定接收單元還具有命令列識(shí)別符存儲(chǔ)用的第二FIFO緩沖器,在經(jīng)上述主處理器將多個(gè)命令寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器后,也通過(guò)將該多個(gè)命令中任一命令組作為各列要素的多個(gè)命令列各自的命令列識(shí)別符寫(xiě)入第二FIFO緩沖器中來(lái)接收上述命令列的指定,上述執(zhí)行控制單元在電路中優(yōu)先于由第一FIFO緩沖器中的各命令列識(shí)別符指定的命令列內(nèi)的命令來(lái)執(zhí)行由第二FIFO緩沖器中的各命令列識(shí)別符指定的命令列內(nèi)的命令。
      因此,可對(duì)應(yīng)于為了排除電路組控制系統(tǒng)故障等而必需優(yōu)先執(zhí)行指定的命令列的情況。
      另外,上述電路組控制系統(tǒng)還包含命令更新單元,更新寫(xiě)入上述命令存儲(chǔ)用存儲(chǔ)器中的命令。
      因此,因?yàn)榭呻S時(shí)更新命令,所以在例如部分變化命令內(nèi)容,然后由主處理器來(lái)指示執(zhí)行同一命令時(shí),可對(duì)變化后的內(nèi)容進(jìn)行處理等。
      另外,上述電路組控制系統(tǒng)還包括執(zhí)行完成通知接收單元,從上述主處理器接收命令執(zhí)行完成的通知請(qǐng)求;執(zhí)行完成通知單元,由上述執(zhí)行控制單元從執(zhí)行命令的電路接收?qǐng)?zhí)行完成該命令的通知,在該命令是根據(jù)由上述執(zhí)行完成通知接收單元接收到的通知請(qǐng)求的命令時(shí),向上述主處理器通知該命令執(zhí)行完成。
      因此,因?yàn)橹魈幚砥骺蓹z測(cè)出指定命令的執(zhí)行完成,所以可用電路組控制系統(tǒng)來(lái)執(zhí)行由同步必需的多個(gè)命令列成立的信息處理。
      另外,上述并列執(zhí)行控制部在一個(gè)電路中執(zhí)行一個(gè)命令列中的一個(gè)命令期間,檢測(cè)該命令列中處于由其它電路執(zhí)行的狀態(tài)下的其它命令,選擇該命令后在對(duì)應(yīng)的其它電路中執(zhí)行。
      因此,在確保保證構(gòu)成同一命令列的各命令的執(zhí)行開(kāi)始順序的命令列意義方面,效果如下通過(guò)由不同從屬硬件來(lái)并列執(zhí)行同一命令列中的各命令,可提高各從屬硬件的運(yùn)轉(zhuǎn)率,并進(jìn)一步縮短命令列的執(zhí)行時(shí)間。
      另外,上述電路組控制系統(tǒng)具備上述多個(gè)電路,上述多個(gè)電路訪問(wèn)相同存儲(chǔ)器,
      在構(gòu)成上述命令列的命令中包含指定該存儲(chǔ)器內(nèi)一區(qū)域的確?;蜥尫诺膶傩?,并且,存在包含識(shí)別該區(qū)域用的存儲(chǔ)體序號(hào)的存儲(chǔ)器指定附屬命令,上述執(zhí)行控制單元在存儲(chǔ)器內(nèi)每個(gè)區(qū)域中保持管理是否使用的存儲(chǔ)器管理信息,在命令列中應(yīng)接著開(kāi)始執(zhí)行的命令是指定由存儲(chǔ)體序號(hào)表示的區(qū)域確保的存儲(chǔ)器指定附屬命令時(shí),限于上述存儲(chǔ)器管理信息表示該區(qū)域?yàn)槭褂弥?,從上述檢測(cè)對(duì)象中排除該存儲(chǔ)器指定附屬命令,當(dāng)在電路中開(kāi)始執(zhí)行指定由存儲(chǔ)體序號(hào)表示的區(qū)域確保的存儲(chǔ)器指定附屬命令時(shí),更新上述存儲(chǔ)器管理信息,以表示該區(qū)域?yàn)槭褂弥?,?dāng)在電路中開(kāi)始執(zhí)行指定由存儲(chǔ)體序號(hào)表示的區(qū)域確保的存儲(chǔ)器指定附屬命令時(shí),更新上述存儲(chǔ)器管理信息,以表示該區(qū)域不為使用中。
      因此,管理存儲(chǔ)器資源,可確保命令中執(zhí)行所需的存儲(chǔ)器資源,因?yàn)殚_(kāi)始執(zhí)行,所以命令列的構(gòu)筑者等通過(guò)用命令屬性來(lái)指定存儲(chǔ)器資源確?;蜥尫?,就可調(diào)整構(gòu)成同一命令列的各命令的執(zhí)行時(shí)間。
      另外,在上述多個(gè)電路中包含具有在執(zhí)行指定命令中,將存儲(chǔ)器內(nèi)一區(qū)域的釋放通知與識(shí)別該區(qū)域用的存儲(chǔ)體序號(hào)一起傳送到上述執(zhí)行控制單元功能的電路,上述執(zhí)行控制單元在從任一電路接收用存儲(chǔ)體序號(hào)表示的區(qū)域釋放通知時(shí),更新上述存儲(chǔ)器管理信息,以表示該區(qū)域不在使用中。
      因此,因?yàn)榭捎蓮奶幚砥鞯仍趫?zhí)行命令中指定存儲(chǔ)器資源的釋放,所以可對(duì)應(yīng)于某個(gè)命令的執(zhí)行中的各階段來(lái)細(xì)微調(diào)整與其它命令的執(zhí)行時(shí)間。
      另外,上述電路組控制系統(tǒng)具備上述多個(gè)電路,上述多個(gè)電路訪問(wèn)相同的存儲(chǔ)器,在上述多個(gè)電路中包含具有在執(zhí)行指定命令中,將存儲(chǔ)器內(nèi)一區(qū)域的釋放通知與識(shí)別該區(qū)域用的存儲(chǔ)體序號(hào)一起傳送到上述執(zhí)行控制單元功能的電路,在上述多個(gè)電路中包含具有在執(zhí)行指定命令中將存儲(chǔ)器內(nèi)一區(qū)域的確保請(qǐng)求與識(shí)別該區(qū)域的存儲(chǔ)體序號(hào)一起傳送到上述執(zhí)行控制單元,在傳送該確保請(qǐng)求之后,停止該命令的執(zhí)行,直到從上述執(zhí)行控制單元接收該區(qū)域的確保通知為止的功能的電路,上述執(zhí)行控制單元在存儲(chǔ)器內(nèi)每個(gè)區(qū)域中保持管理是否在使用中的存儲(chǔ)器管理信息,在從任一電路接收用存儲(chǔ)體序號(hào)表示的區(qū)域釋放通知時(shí),更新上述存儲(chǔ)器管理信息,以表示該區(qū)域不在使用中,在從任一電路接收用存儲(chǔ)體序號(hào)表示的區(qū)域確保請(qǐng)求時(shí),在該區(qū)域不在使用中變?yōu)榇鎯?chǔ)器管理信息表示的狀態(tài)之后,向該電路傳送該區(qū)域的確保通知,更新上述存儲(chǔ)器管理信息,以表示該區(qū)域?yàn)槭褂弥小?br> 因此,因?yàn)榭捎蓮奶幚砥鞯仍诿顖?zhí)行中指定其它命令使用的存儲(chǔ)器資源釋放等待,所以從處理器等即使在不能確保命令執(zhí)行中某個(gè)階段所必需的存儲(chǔ)器資源的狀態(tài)下,由于可開(kāi)始執(zhí)行命令,并推進(jìn)處理直到某一階段,所以可實(shí)現(xiàn)命令執(zhí)行的迅速化等。
      另外,上述命令列指定接收單元接收的命令列是命令外用于停止指定電路的停止指示數(shù)據(jù),包含將包含表示停止期間的信息及指定該電路的信息的停止指示數(shù)據(jù),作為與命令順序相同的構(gòu)成要素,上述執(zhí)行控制單元按照基于根據(jù)上述命令列指定接收單元接收指定的命令列順序來(lái)逐次著眼命令列中各構(gòu)成要素,在著眼的構(gòu)成要素為停止指示數(shù)據(jù)時(shí),在表示為該停止指示數(shù)據(jù)的停止期間內(nèi)停止表示為該停止指示數(shù)據(jù)的電路。
      因此,可在任意停止期間停止從屬硬件,可對(duì)應(yīng)于命令列的內(nèi)容等確保充分必要的性能的同時(shí),還可降低從屬硬件的消耗功率地加以運(yùn)用。
      另外,根據(jù)本發(fā)明的電路組控制系統(tǒng),其特征在于,接收來(lái)自主處理器的指定,控制多個(gè)電路,包括命令列指定接收單元,從主處理器接收排列多個(gè)上述多個(gè)電路之一中應(yīng)執(zhí)行的命令所構(gòu)成的命令列的多個(gè)指定;執(zhí)行控制單元,按照基于命令列指定接收單元接收到的指定的命令列的順序,在執(zhí)行該命令的電路中開(kāi)始逐次執(zhí)行各命令列內(nèi)的命令;上述命令列指定接收單元具有命令存儲(chǔ)用存儲(chǔ)器,由上述主處理器通過(guò)將多個(gè)命令寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器中來(lái)接收上述命令列的指定,上述執(zhí)行控制單元按照基于命令列的順序來(lái)逐次參照寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器中的命令,并在執(zhí)行電路中開(kāi)始執(zhí)行參照的該命令。
      因此,因?yàn)橹魈幚砥骺山y(tǒng)一向電路組控制系統(tǒng)傳送由多個(gè)命令構(gòu)成的命令列,所以基本上不必需同步控制,與逐次傳送命令的情況相比,傳送命令的控制變?nèi)菀住?br> 另外,根據(jù)本發(fā)明的電路組控制系統(tǒng),其特征在于,接收來(lái)自主處理器的指定,控制多個(gè)電路,包括命令列指定接收單元,從主處理器接收排列多個(gè)上述多個(gè)電路之一中應(yīng)執(zhí)行的命令所構(gòu)成的命令列指定;執(zhí)行控制單元,按照基于命令列指定接收單元接收到的指定的命令列的順序,在執(zhí)行該命令的電路中逐次執(zhí)行命令列內(nèi)的命令;執(zhí)行完成通知接收單元,從上述主處理器接收命令執(zhí)行完成的通知請(qǐng)求;執(zhí)行完成通知單元,由上述執(zhí)行控制單元從執(zhí)行命令的電路接收?qǐng)?zhí)行完成該命令的通知,在該命令是根據(jù)由上述執(zhí)行完成通知接收單元接收到的通知請(qǐng)求的命令時(shí),向上述主處理器通知該命令執(zhí)行完成。
      因此,因?yàn)橹魈幚砥骺蓹z測(cè)指定命令執(zhí)行完成,所以可用電路組控制系統(tǒng)來(lái)執(zhí)行由同步必需的多個(gè)命令列成立的信息處理。
      根據(jù)本發(fā)明的電路組控制方法,根據(jù)來(lái)自主處理器的指定,其特征在于,控制多個(gè)電路,包括命令列指定接收步驟,從主處理器接收排列多個(gè)上述多個(gè)電路之一中應(yīng)執(zhí)行的命令所構(gòu)成的命令列指定;執(zhí)行控制步驟,按照基于命令列指定接收步驟接收到的指定的命令列的順序,在執(zhí)行該命令的電路中開(kāi)始逐次執(zhí)行命令列內(nèi)的命令;上述執(zhí)行控制步驟包含并列執(zhí)行控制子步驟,在一個(gè)電路中執(zhí)行一個(gè)命令期間,檢測(cè)處于由其它電路執(zhí)行的狀態(tài)的命令,選擇該命令,并在該其它電路中執(zhí)行。
      因此,確保所謂保證構(gòu)成各命令列的各命令執(zhí)行開(kāi)始順序的命令列的意義,另外,因?yàn)橛刹煌膹膶儆布?lái)并列執(zhí)行多個(gè)命令,所以可提高各從屬硬件的運(yùn)轉(zhuǎn)率。
      另外,上述多個(gè)電路中至少包含具有互不相同功能的兩種電路,上述命令列指定接收步驟從主處理器接收多個(gè)命令列的指定,上述執(zhí)行控制步驟按照基于命令列指定接收單元接收到的指定的各命令列的順序,在執(zhí)行該命令的電路中逐次執(zhí)行各命令列內(nèi)的命令,上述并列執(zhí)行控制子步驟在一個(gè)電路中執(zhí)行一個(gè)命令列中的命令期間,檢測(cè)其它命令列中處于由其它電路執(zhí)行的狀態(tài)的命令,選擇該命令,并在該其它電路中執(zhí)行。
      因此,在各電路、即各從屬硬件中執(zhí)行多個(gè)命令列的命令時(shí),因?yàn)榭捎刹煌膹膶儆布⑿卸鄠€(gè)命令,所以可提高各從屬硬件的運(yùn)轉(zhuǎn)率。
      另外,上述并列執(zhí)行控制子步驟在一個(gè)電路中執(zhí)行一個(gè)命令列中的一個(gè)命令期間,檢測(cè)該命令列中處于由其它電路執(zhí)行的狀態(tài)下的其它命令,選擇該命令后在該其它電路中執(zhí)行。
      因此,在確保保證構(gòu)成同一命令列的各命令的執(zhí)行開(kāi)始順序的命令列意義方面,效果如下通過(guò)由不同從屬硬件來(lái)并列執(zhí)行同一命令列中的各命令,可提高各從屬硬件的運(yùn)轉(zhuǎn)率,并進(jìn)一步縮短命令列的執(zhí)行時(shí)間。


      圖1是本發(fā)明實(shí)施例1的處理系統(tǒng)100的結(jié)構(gòu)圖。
      圖2是表示通信存儲(chǔ)器151的數(shù)據(jù)結(jié)構(gòu)的圖。
      圖3是表示作為命令列的一構(gòu)成要素、存儲(chǔ)于通信存儲(chǔ)器151中的命令格式的圖。
      圖4是表示命令隊(duì)列152的數(shù)據(jù)結(jié)構(gòu)的圖。
      圖5是表示由主處理器110存儲(chǔ)到通信存儲(chǔ)器151中的各命令及插入命令隊(duì)列152中的命令I(lǐng)D的內(nèi)容例的圖。
      圖6是表示完成表格171的數(shù)據(jù)結(jié)構(gòu)的圖。
      圖7是表示在主處理器110和完成通知部170之間接收的信號(hào)的圖。
      圖8是表示存儲(chǔ)體表格163的數(shù)據(jù)結(jié)構(gòu)及內(nèi)容例的圖。
      圖9是表示主處理器110進(jìn)行的主處理器處理的流程圖。
      圖10是表示由命令執(zhí)行控制裝置150內(nèi)的執(zhí)行控制部160進(jìn)行的部分執(zhí)行控制處理的流程圖。
      圖11是表示由命令執(zhí)行控制裝置150內(nèi)的執(zhí)行控制部160進(jìn)行的執(zhí)行控制處理中圖10所示以外部分的流程圖。
      圖12是表示基于執(zhí)行控制部160的操作例來(lái)變形各命令執(zhí)行狀況的時(shí)間圖。
      圖13是表示實(shí)施例2的變形處理系統(tǒng)中存儲(chǔ)體表格的結(jié)構(gòu)及內(nèi)容例的圖。
      圖14是實(shí)施例3的處理系統(tǒng)600的結(jié)構(gòu)圖。
      圖15是表示存儲(chǔ)體表格663的數(shù)據(jù)結(jié)構(gòu)及內(nèi)容例的圖。
      圖16是表示由命令執(zhí)行控制裝置650內(nèi)的執(zhí)行控制部660進(jìn)行的部分執(zhí)行控制處理的流程圖。
      圖17是表示由命令執(zhí)行控制裝置650內(nèi)的執(zhí)行控制部660進(jìn)行的執(zhí)行控制處理中圖16所示以外部分的流程圖。
      圖18是表示命令執(zhí)行控制裝置650中執(zhí)行控制部660內(nèi)的存儲(chǔ)器通知部664進(jìn)行的部分命令執(zhí)行中存儲(chǔ)器管理處理的流程圖。
      圖19是表示命令執(zhí)行中存儲(chǔ)器管理處理中圖18所示以外部分的流程圖。
      圖20是表示基于執(zhí)行控制部660的操作例的某一命令列的各命令并列執(zhí)行狀態(tài)的時(shí)間圖。
      圖21是實(shí)施例4的處理系統(tǒng)900的結(jié)構(gòu)圖。
      圖22是表示通信存儲(chǔ)器151中存儲(chǔ)的從屬硬件用命令及停止命令格式的圖。
      發(fā)明實(shí)施例下面用附圖來(lái)說(shuō)明本發(fā)明的電路組控制系統(tǒng)中作為實(shí)施例的處理系統(tǒng)。
      實(shí)施例11-1結(jié)構(gòu)概要圖1是本發(fā)明實(shí)施例1的處理系統(tǒng)100的結(jié)構(gòu)圖。
      處理系統(tǒng)100是如下系統(tǒng),在主處理器進(jìn)行信息處理時(shí),可在所謂從處理器或DMA控制器的從屬硬件或委托部分處理,如圖所示,具備主處理器110、主存儲(chǔ)器120、從處理器130、局部存儲(chǔ)器131、DMA控制器140以及命令執(zhí)行控制裝置150,形成于半導(dǎo)體的一個(gè)芯片內(nèi)。
      其中,主處理器110是通過(guò)應(yīng)用程序以外的程序來(lái)執(zhí)行指定信息處理的處理器。另外,該信息處理是通過(guò)按一定順序組合從處理器用命令和DMA控制器用命令后的命令列實(shí)現(xiàn)的一定單元的部分處理的集合。
      主處理器110通過(guò)執(zhí)行程序,可用作接收單元為了在從屬硬件中執(zhí)行部分處理,向命令執(zhí)行控制裝置150隨時(shí)傳送命令列,必要時(shí)向命令執(zhí)行控制裝置150請(qǐng)求對(duì)應(yīng)于命令的處理執(zhí)行完成通知,并接收表示執(zhí)行完成的通知。下面,將對(duì)應(yīng)于命令的處理的執(zhí)行表現(xiàn)為命令的執(zhí)行。
      從處理器130是實(shí)現(xiàn)如下功能的處理器通過(guò)執(zhí)行專(zhuān)用的控制程序,一旦從命令執(zhí)行控制裝置150傳送命令,則在必要時(shí)使用局部存儲(chǔ)器131,執(zhí)行該命令,將執(zhí)行完成通知給命令執(zhí)行控制裝置150。另外,局部存儲(chǔ)器131是具有4個(gè)16千字節(jié)(KB)的存儲(chǔ)體的存儲(chǔ)器。另外,雖未圖示,但從處理器130具有存儲(chǔ)命令執(zhí)行中直接執(zhí)行的命令、即專(zhuān)用的各種控制程序的內(nèi)容的命令存儲(chǔ)器。
      DMA控制器140是發(fā)揮如下功能的DMA控制器一旦從命令執(zhí)行控制裝置150傳送命令,則控制作為大容量片上存儲(chǔ)器的主存儲(chǔ)器120和局部存儲(chǔ)器131之間的數(shù)據(jù)傳送,向命令執(zhí)行控制裝置150通知數(shù)據(jù)傳送完成。
      另外,命令執(zhí)行控制裝置150是實(shí)現(xiàn)主處理器110和從屬硬件之間的接口作用的裝置,具有如下功能為了有效活用從屬硬件而從傳送到主處理器的多個(gè)命令列中適當(dāng)選擇命令,指示從屬硬件開(kāi)始執(zhí)行該命令,從從屬硬件接收命令執(zhí)行完成的通知,并在主處理器完成對(duì)應(yīng)于請(qǐng)求通知的命令的處理時(shí),向主處理器通知該完成。如圖1所示,命令執(zhí)行控制裝置150具有通信存儲(chǔ)器151、命令隊(duì)列152、完成接收部153、執(zhí)行控制部160及完成通知部170。命令執(zhí)行控制裝置150也可由CPU及存儲(chǔ)器構(gòu)成。
      這里,通信存儲(chǔ)器151是與主處理器110連接并且主處理器110存儲(chǔ)多個(gè)命令用的存儲(chǔ)器,具有2千字節(jié)(KB)的容量。后面將詳細(xì)說(shuō)明通信存儲(chǔ)器151的內(nèi)容結(jié)構(gòu)及命令的數(shù)據(jù)結(jié)構(gòu)。
      命令隊(duì)列152是主處理器110為了傳送命令列而存儲(chǔ)構(gòu)成命令列的開(kāi)頭命令的識(shí)別信息的FIFO緩沖器,命令執(zhí)行控制裝置150在指定從屬硬件中執(zhí)行的命令時(shí)參照該命令隊(duì)列。
      完成通知部170具有表示命令執(zhí)行是否完成的完成表格171,并具有如下功能在從主處理器110請(qǐng)求命令執(zhí)行完成的通知時(shí),保持指定該命令的信息,在完成該命令執(zhí)行時(shí),向主處理器110通知完成。完成通知部170具有向主處理器110通知執(zhí)行完成兩個(gè)命令的功能。另外,將在后面詳細(xì)說(shuō)明完成表格171。
      完成接收部153具有如下功能一旦從各從屬硬件接收表示命令執(zhí)行完成的信號(hào),就將該執(zhí)行完成傳送到執(zhí)行控制部160,更新對(duì)應(yīng)于完成執(zhí)行的命令的完成表格171中的信息。
      執(zhí)行控制部160具有次命令I(lǐng)D保持部161、次命令I(lǐng)D保持部162及存儲(chǔ)體表格163,并具有如下功能參照命令隊(duì)列152及通信存儲(chǔ)器151,根據(jù)所屬命令列的順序,在從屬硬件中執(zhí)行各命令列中的命令,同時(shí)進(jìn)行可并行執(zhí)行命令的控制。
      即,執(zhí)行控制部160具有如下功能在向從屬硬件指示命令列中命令開(kāi)始執(zhí)行后,從完成接收部153傳遞命令執(zhí)行完成,通過(guò)從屬硬件結(jié)束執(zhí)行命令后變?yōu)榉枪ぷ鳡顟B(tài),判斷在某一從屬硬件中執(zhí)行一個(gè)命令列中的命令期間,可否使用其它從屬硬件來(lái)執(zhí)行其它命令列中的命令,若可執(zhí)行,則控制在該其它從屬硬件中并行執(zhí)行該其它命令列中的命令。
      另外,命令中存在指示使用局部存儲(chǔ)器131的處理的命令,執(zhí)行控制部160如此控制,通過(guò)并行以多個(gè)命令列中的命令為執(zhí)行對(duì)象,獨(dú)立每個(gè)命令列中利用的局部存儲(chǔ)器的存儲(chǔ)器空間,各從屬硬件對(duì)每個(gè)命令列使用各自的存儲(chǔ)區(qū)域來(lái)進(jìn)行處理。
      這里,次命令I(lǐng)D保持部161、162是執(zhí)行控制部160存儲(chǔ)指定與在從屬硬件中開(kāi)始執(zhí)行的命令相同的命令列中的次序位的命令用的信息的存儲(chǔ)區(qū)域,執(zhí)行控制部160逐次存儲(chǔ)信息、即后述的命令I(lǐng)D。
      如圖1中記為#1、#2那樣,這里,次命令I(lǐng)D保持部161用所謂1的識(shí)別序號(hào)來(lái)識(shí)別,次命令I(lǐng)D保持部162用所謂2的識(shí)別序號(hào)來(lái)識(shí)別。
      另外,存儲(chǔ)體表格163是對(duì)應(yīng)于命令中用于訪問(wèn)局部存儲(chǔ)器131的指示的虛擬存儲(chǔ)體序號(hào)和實(shí)際指定局部存儲(chǔ)器131的四個(gè)存儲(chǔ)體之一的物理存儲(chǔ)體序號(hào)來(lái)進(jìn)行管理的表格。下面,將用所謂0的物理存儲(chǔ)體序號(hào)指定的存儲(chǔ)體稱(chēng)為存儲(chǔ)體#0,將用所謂N的物理存儲(chǔ)體序號(hào)指定的存儲(chǔ)體稱(chēng)為存儲(chǔ)體#N。
      1-2.命令列指定接口下面,用圖2-圖5來(lái)說(shuō)明主處理器110向命令執(zhí)行控制裝置150傳送應(yīng)執(zhí)行命令列時(shí)使用的通信存儲(chǔ)器151及命令隊(duì)列152的內(nèi)容以及命令及命令列。
      圖2是表示通信存儲(chǔ)器151的數(shù)據(jù)結(jié)構(gòu)的圖。
      如圖所示,通信存儲(chǔ)器151的開(kāi)始16字節(jié)用作存儲(chǔ)器管理表格310,之后,每16個(gè)字節(jié)被用作存儲(chǔ)一個(gè)命令的命令用區(qū)域。在2千字節(jié)的通信存儲(chǔ)器中,如圖所示,設(shè)置從命令用區(qū)域(1)到命令用區(qū)域(127)共存儲(chǔ)127個(gè)命令的區(qū)域。這里,將第N個(gè)命令用區(qū)域表現(xiàn)為命令用區(qū)域(N)。
      下面,將包含表示為第幾個(gè)命令用區(qū)域的7比特?cái)?shù)值的1字節(jié)數(shù)據(jù)稱(chēng)為命令I(lǐng)D。因此,命令I(lǐng)D表示命令在通信存儲(chǔ)器151內(nèi)的位置。
      存儲(chǔ)器管理表格310由16字節(jié)、即128比特構(gòu)成,除開(kāi)始的第0比特外,第N比特表示命令用區(qū)域(N)的使用狀態(tài)。使用狀態(tài)中,使用如所謂1的值表示使用中,用所謂0的值表示空、即可重新使用。
      因此,將存儲(chǔ)器管理表格310的開(kāi)頭比特作為第0比特,若其后的比特、即第1比特的值為1,則表示命令用區(qū)域(1)為使用中,再后的比特、即第2比特若為0,則表示命令用區(qū)域(2)為空。另外,主處理器110在通信存儲(chǔ)器中完全沒(méi)有存儲(chǔ)命令的狀態(tài)下,存儲(chǔ)器管理表格310的所有比特值為0。
      圖3是表示作為命令列的一構(gòu)成要素、存儲(chǔ)于通信存儲(chǔ)器151中的命令格式的圖。
      在該圖中,按每2個(gè)字節(jié)來(lái)劃分命令200,并對(duì)應(yīng)從用16進(jìn)制數(shù)表示的第0字節(jié)開(kāi)始所謂第E字節(jié)位置201和表示其含義內(nèi)容的項(xiàng)目202來(lái)表現(xiàn)。
      命令大小為16字節(jié),如圖所示,從第0字節(jié)開(kāi)始的2個(gè)字節(jié)表示命令種類(lèi)及屬性,從第2字節(jié)開(kāi)始的2個(gè)字節(jié)表示包含次命令I(lǐng)D的數(shù)據(jù),從第4字節(jié)以后表示對(duì)每個(gè)從屬硬件的獨(dú)自參數(shù)種類(lèi)。
      在作為從第0字節(jié)開(kāi)始的2個(gè)字節(jié)的命令種類(lèi)及屬性中,開(kāi)始的1個(gè)比特表示執(zhí)行命令的從屬硬件的種類(lèi),具體而言,用所謂1的值表示是從處理器用命令,用所謂0的值表示是DMA控制器用命令。另外,第2比特為未使用,第3比特以后的屬性比特的含義因從屬硬件而不同,對(duì)于從處理器用命令,表示指定從處理器執(zhí)行的命令的格式序號(hào),表示執(zhí)行命令時(shí)應(yīng)確保的局部存儲(chǔ)器131的虛擬存儲(chǔ)體的虛擬存儲(chǔ)體序號(hào)、表示應(yīng)釋放的局部存儲(chǔ)器131的虛擬存儲(chǔ)體的虛擬存儲(chǔ)體序號(hào),對(duì)于DMA控制器用命令,表示是從主存儲(chǔ)器120到局部存儲(chǔ)器131還是從局部存儲(chǔ)器131到主存儲(chǔ)器120的數(shù)據(jù)傳送方向、表示命令執(zhí)行、即數(shù)據(jù)傳送中使用的局部存儲(chǔ)器131的虛擬存儲(chǔ)體的虛擬存儲(chǔ)體序號(hào)、表示應(yīng)釋放的局部存儲(chǔ)器131的虛擬存儲(chǔ)體的虛擬存儲(chǔ)體序號(hào)等。
      包含于從命令第2字節(jié)開(kāi)始的2個(gè)字節(jié)數(shù)據(jù)中的次命令I(lǐng)D是該命令所屬命令列中下一命令的表示在通信存儲(chǔ)器151內(nèi)位置的命令I(lǐng)D。
      從處理器用命令的參數(shù)種類(lèi)由從處理器執(zhí)行的命令的從處理器130的命令存儲(chǔ)器中作為開(kāi)始地址的2個(gè)字節(jié)的執(zhí)行開(kāi)始地址和執(zhí)行命令所必需的各種參數(shù)構(gòu)成。
      另外,DMA控制器用命令的參數(shù)種類(lèi)由主存儲(chǔ)器120的地址上位2個(gè)字節(jié)、下位2個(gè)字節(jié)、局部存儲(chǔ)器131的地址、應(yīng)傳送數(shù)據(jù)的大小、主存儲(chǔ)器120的地址增量值、和局部存儲(chǔ)器131的地址增量值構(gòu)成。
      圖4是表示命令隊(duì)列152的數(shù)據(jù)結(jié)構(gòu)的圖。
      如圖所示,命令隊(duì)列152為可存儲(chǔ)16個(gè)命令I(lǐng)D的隊(duì)列。
      主處理器110在命令隊(duì)列152中逐次插入構(gòu)成各命令列的命令中表示開(kāi)頭命令位置的命令I(lǐng)D,執(zhí)行控制部160按插入順序來(lái)取出并處理命令I(lǐng)D。
      圖5是表示由主處理器110存儲(chǔ)到通信存儲(chǔ)器151中的各命令及插入命令隊(duì)列152中的命令I(lǐng)D的內(nèi)容例的圖。
      在該例中,表示將位于命令隊(duì)列152開(kāi)始處的命令I(lǐng)D作為起點(diǎn),用次命令I(lǐng)D來(lái)擴(kuò)展鏈的命令用區(qū)域(21)、命令用區(qū)域(22)、命令用區(qū)域(35)及命令用區(qū)域(36)中分別存儲(chǔ)的命令構(gòu)成的第1命令列、和將位于命令隊(duì)列152開(kāi)始后處的命令I(lǐng)D作為起點(diǎn),用次命令I(lǐng)D來(lái)擴(kuò)展鏈的命令用區(qū)域(47)、命令用區(qū)域(48)、命令用區(qū)域(49)及命令用區(qū)域(61)中分別存儲(chǔ)的命令構(gòu)成的第2命令列。
      第1命令列是按以下命令順序連接而成的命令列因?yàn)樵跀?shù)據(jù)組間實(shí)施規(guī)定的運(yùn)算α、所以指示從主存儲(chǔ)器120向用0表示局部存儲(chǔ)器131內(nèi)的虛擬存儲(chǔ)體序號(hào)的區(qū)域發(fā)送數(shù)據(jù)的DMA控制器用ReadDMA命令;指示從主存儲(chǔ)器120向用1表示局部存儲(chǔ)器131內(nèi)虛擬存儲(chǔ)體序號(hào)的區(qū)域發(fā)送數(shù)據(jù)的DMA控制器用ReadDMA命令;指示使用用0和1表示虛擬存儲(chǔ)體序號(hào)的區(qū)域進(jìn)行規(guī)定運(yùn)算α后將其結(jié)果反映到用1表示虛擬存儲(chǔ)體序號(hào)的區(qū)域中的從處理器用的SPstart命令;和指示從用1表示虛擬存儲(chǔ)體序號(hào)的局部存儲(chǔ)器131內(nèi)的區(qū)域向主存儲(chǔ)器120發(fā)送數(shù)據(jù)的DMA控制器用WriteDMA命令。
      第2命令列是按以下命令順序連接而成的命令列因?yàn)樵跀?shù)據(jù)組間實(shí)施規(guī)定的運(yùn)算β、所以指示從主存儲(chǔ)器120向用0表示局部存儲(chǔ)器131內(nèi)的虛擬存儲(chǔ)體序號(hào)的區(qū)域發(fā)送數(shù)據(jù)的DMA控制器用ReadDMA命令;指示從主存儲(chǔ)器120向用1表示局部存儲(chǔ)器131內(nèi)虛擬存儲(chǔ)體序號(hào)的區(qū)域發(fā)送數(shù)據(jù)的DMA控制器用ReadDMA命令;指示使用用0和1表示虛擬存儲(chǔ)體序號(hào)的區(qū)域進(jìn)行規(guī)定運(yùn)算β后將其結(jié)果反映到用1表示虛擬存儲(chǔ)體序號(hào)的區(qū)域中的從處理器用的SPstart命令;和指示從用1表示虛擬存儲(chǔ)體序號(hào)的局部存儲(chǔ)器131內(nèi)的區(qū)域向主存儲(chǔ)器120發(fā)送數(shù)據(jù)的DMA控制器用WriteDMA命令。
      從而,主處理器110在將構(gòu)成命令列的所有命令存儲(chǔ)在通信存儲(chǔ)器151內(nèi)后通過(guò)在命令隊(duì)列152中插入命令列中開(kāi)頭命令的命令I(lǐng)D,可指示命令執(zhí)行控制裝置150執(zhí)行命令列。
      1-3.命令執(zhí)行完成通知接口下面用圖6和圖7來(lái)說(shuō)明將命令執(zhí)行控制裝置150根據(jù)來(lái)自主處理器110的命令列的指示在從屬硬件中執(zhí)行的命令的執(zhí)行完成的事項(xiàng)傳達(dá)給主處理器110時(shí)使用的完成表格171的內(nèi)容、及在完成通知部170和主處理器110之間接收的信號(hào)。
      圖6是表示完成表格171的數(shù)據(jù)結(jié)構(gòu)的圖。
      完成表格171由128比特構(gòu)成,除開(kāi)頭的第0個(gè)比特外,用所謂1的值表示將第N個(gè)比特設(shè)定為命令用區(qū)域(N)的命令執(zhí)行完成。即,完成表格171被稱(chēng)為是對(duì)各命令用所謂1的值來(lái)表示命令執(zhí)行完成的標(biāo)志的集合。
      另外,各比特的初始值為0,在完成命令執(zhí)行時(shí),由完成接收部153來(lái)對(duì)對(duì)應(yīng)于該命令的比特設(shè)定所謂1的值。
      圖7是表示在主處理器110和完成通知部170之間接收的信號(hào)的圖。
      主處理器110向完成通知部1 70傳送指定想請(qǐng)求命令執(zhí)行完成通知的第一命令的命令I(lǐng)D的命令I(lǐng)D指定信號(hào),另外,可向完成通知部170傳遞指定想請(qǐng)求與第一命令不同的命令執(zhí)行完成通知的第二命令的命令I(lǐng)D的命令I(lǐng)D指定信號(hào)。
      完成通知部170保持傳送到的命令I(lǐng)D中的第一命令及第二命令的命令I(lǐng)D,完成表格171在將對(duì)應(yīng)于第一命令或第二命令的完成標(biāo)志設(shè)定為1時(shí),向主處理器110傳送表示完成該被設(shè)定的第一命令或第二命令執(zhí)行的通知信號(hào)。另外,完成通知部170在第一命令或第二命令的命令I(lǐng)D變化的情況下,在已將對(duì)應(yīng)于第一命令或第二命令的完成標(biāo)志設(shè)定為1時(shí),直接向主處理器110傳遞完成通知信號(hào)。
      另外,主處理器110在接收完成通知信號(hào)后,因?yàn)槔昧嗽诤蟮耐瓿蓸?biāo)志,所以可向完成通知部170傳遞請(qǐng)求第一命令或第二命令的完成表格中的完成標(biāo)志值為0的完成標(biāo)志清零請(qǐng)求信號(hào)。
      1-4.存儲(chǔ)體表格的存儲(chǔ)器管理下面用圖8來(lái)說(shuō)明命令執(zhí)行控制裝置150的執(zhí)行控制部160使用的存儲(chǔ)體表格163。
      圖8是表示存儲(chǔ)體表格163的數(shù)據(jù)結(jié)構(gòu)及內(nèi)容例的圖。
      如圖所示,存儲(chǔ)體表格163是對(duì)于指定局部存儲(chǔ)器131的存儲(chǔ)體#0-#3的0-3這四個(gè)物理存儲(chǔ)體序號(hào)對(duì)應(yīng)物理存儲(chǔ)體序號(hào)261、執(zhí)行命令列識(shí)別序號(hào)262和虛擬存儲(chǔ)體序號(hào)263的表格。該圖中用括號(hào)表示的數(shù)值表示由執(zhí)行控制部160變更得到的值。
      這里,執(zhí)行命令列識(shí)別序號(hào)262是由執(zhí)行控制部160來(lái)識(shí)別作為當(dāng)前執(zhí)行對(duì)象的各命令列的序號(hào)。執(zhí)行控制部160在從屬硬件中開(kāi)始執(zhí)行某個(gè)命令列中的命令時(shí),將該命令列中的下一個(gè)命令的命令I(lǐng)D存儲(chǔ)在次命令I(lǐng)D保持部161或次命令I(lǐng)D保持部162中,所以可用次命令I(lǐng)D保持部的識(shí)別序號(hào)來(lái)表示作為當(dāng)前執(zhí)行對(duì)象的命令列。因此,用作為次命令I(lǐng)D保持部的識(shí)別序號(hào)的1或2的值來(lái)表示執(zhí)行命令列識(shí)別序號(hào)262。另外,不對(duì)應(yīng)虛擬存儲(chǔ)體序號(hào)的物理存儲(chǔ)體序號(hào)的執(zhí)行命令列識(shí)別序號(hào)262作為表示不對(duì)應(yīng)的值例如為預(yù)定的3等值。
      另外,虛擬存儲(chǔ)體序號(hào)263是作為命令中屬性中指定的虛擬存儲(chǔ)體序號(hào)而由執(zhí)行控制部160與物理存儲(chǔ)體序號(hào)對(duì)應(yīng)的序號(hào)。另外,虛擬存儲(chǔ)體序號(hào)可對(duì)命令指定0-3之一。
      不對(duì)應(yīng)虛擬存儲(chǔ)體序號(hào)的物理存儲(chǔ)體序號(hào)的虛擬存儲(chǔ)體序號(hào)263一旦表示不對(duì)應(yīng)時(shí),則變?yōu)轭A(yù)定的例如4等值。
      執(zhí)行控制部160為了管理虛擬存儲(chǔ)體序號(hào)與物理存儲(chǔ)體序號(hào)的對(duì)應(yīng)關(guān)系而使用存儲(chǔ)體表格163,當(dāng)在從屬硬件中執(zhí)行某一命令列中的命令時(shí),該命令中的屬性中指定虛擬存儲(chǔ)體序號(hào)作為應(yīng)確保的序號(hào)的情況下,對(duì)應(yīng)空的物理存儲(chǔ)體序號(hào)、存儲(chǔ)表示命令列中下一位命令位置的命令I(lǐng)D的次命令I(lǐng)D保持部的識(shí)別序號(hào)和執(zhí)行命令中的屬性中指定的虛擬存儲(chǔ)體序號(hào),以更新存儲(chǔ)體表格163的內(nèi)容。
      另外,在指定虛擬存儲(chǔ)體序號(hào)來(lái)作為命令中的屬性中應(yīng)釋放的序號(hào)的情況下,執(zhí)行控制部160將與該虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)的執(zhí)行命令列識(shí)別序號(hào)262及虛擬存儲(chǔ)體序號(hào)263的每一個(gè)作為表示不對(duì)應(yīng)的值,將存儲(chǔ)體表格163的內(nèi)容全部更新為預(yù)定的例如3和4等值。
      實(shí)際上在從屬硬件中執(zhí)行命令之前,執(zhí)行控制部160更新對(duì)應(yīng)于包含應(yīng)確保或釋放的虛擬存儲(chǔ)體序號(hào)命令的存儲(chǔ)體表格163。其中,限于執(zhí)行控制部160對(duì)于指定虛擬存儲(chǔ)體序號(hào)來(lái)指示存儲(chǔ)區(qū)域確保的命令,在局部存儲(chǔ)器131中的物理存儲(chǔ)體中存在與哪個(gè)虛擬存儲(chǔ)體序號(hào)都不對(duì)應(yīng)的物理存儲(chǔ)體的情況,更新存儲(chǔ)體表格163的內(nèi)容并在從屬硬件中開(kāi)始執(zhí)行該命令,以對(duì)應(yīng)該未對(duì)應(yīng)的物理存儲(chǔ)體和用命令指定的虛擬存儲(chǔ)體。
      1-5.操作下面說(shuō)明處理系統(tǒng)100的操作。
      在處理系統(tǒng)100中,主處理器110執(zhí)行以下處理(下面稱(chēng)為主處理器處理)根據(jù)應(yīng)用程序以外的程序,隨時(shí)經(jīng)上述命令列指定接口向命令執(zhí)行控制裝置150傳遞命令列,必要時(shí),向命令執(zhí)行控制裝置150請(qǐng)求對(duì)應(yīng)于命令的處理執(zhí)行完成通知,接收表示該執(zhí)行完成的通知,命令執(zhí)行控制裝置150執(zhí)行如下處理根據(jù)傳遞來(lái)的命令列,在從屬硬件中執(zhí)行命令(下面稱(chēng)為執(zhí)行控制處理),以及通過(guò)上述命令執(zhí)行完成通知接口,向主處理器通知命令執(zhí)行完成。
      主處理器110事先通過(guò)程序來(lái)指定傳遞到命令執(zhí)行控制裝置150的命令列。
      下面,按照?qǐng)D9-圖11所示流程圖來(lái)詳細(xì)說(shuō)明主處理器處理及執(zhí)行控制處理。
      1-5-1.主處理器處理圖9是表示主處理器110進(jìn)行的主處理器處理的流程圖。
      主處理器110參照通信存儲(chǔ)器151中的存儲(chǔ)器管理表格310,搜索空的命令用區(qū)域,將構(gòu)成命令列的各命令記錄在空的命令用區(qū)域中(步驟S11)。
      主處理器110按照順序搜索例如存儲(chǔ)器管理表格310的比特位置從1到127的各比特,并得到比特值不是1而是0的比特位置,若比特位置為N,則將命令用區(qū)域(N)作為檢測(cè)結(jié)果所得的順序來(lái)進(jìn)行空的命令用區(qū)域的搜索。
      例如,若假定指定由四個(gè)命令構(gòu)成的命令列的情況,主處理器110按上述順序檢測(cè)四個(gè)空的命令用區(qū)域,在各命令用區(qū)域中記錄每一個(gè)命令的內(nèi)容。主處理器110設(shè)定作為在記錄命令時(shí)從16字節(jié)的命令開(kāi)始在第2字節(jié)中存儲(chǔ)命令列中下一位命令的命令用區(qū)域序號(hào)的命令I(lǐng)D。另外,在將命令記錄在命令用區(qū)域中時(shí),主處理器將對(duì)應(yīng)于該命令用區(qū)域的存儲(chǔ)器管理表格310中的比特值從0更新為1。
      在將構(gòu)成命令列的各命令記錄在命令用區(qū)域中后,主處理器110向完成通知部170傳遞表示作為存儲(chǔ)檢測(cè)命令執(zhí)行完成時(shí)間必需的某個(gè)命令的命令用區(qū)域序號(hào)的命令I(lǐng)D的命令I(lǐng)D指定信號(hào)(步驟S12)。
      接著,主處理器110將作為存儲(chǔ)命令列開(kāi)頭命令的命令用區(qū)域序號(hào)的命令I(lǐng)D插入命令隊(duì)列152中(步驟S13)。
      通過(guò)主處理器110執(zhí)行的程序,主處理器110有時(shí)在步驟S11中將構(gòu)成多個(gè)命令列的每一個(gè)的各命令統(tǒng)一記錄在空的命令用區(qū)域中,另外,在步驟S13中,將多個(gè)命令I(lǐng)D統(tǒng)一插入命令隊(duì)列中。另外,有時(shí)還在步驟S12中將2個(gè)命令的命令I(lǐng)D向完成通知部傳遞。
      在步驟S13后,主處理器110在若存在必需等待執(zhí)行完成命令,則等待從完成通知部170傳遞對(duì)該命令的完成通知信號(hào)(步驟S14)。
      在步驟S13中,命令執(zhí)行控制裝置150的執(zhí)行控制部160進(jìn)行如下控制根據(jù)插入命令隊(duì)列152中的命令I(lǐng)D指定構(gòu)成命令列的開(kāi)頭命令,并參照命令內(nèi)的次命令I(lǐng)D來(lái)順序指定下一命令,根據(jù)命令列的順序在從屬硬件中執(zhí)行命令。
      因此,主處理器110通過(guò)反復(fù)進(jìn)行步驟S11-S14的順序,通過(guò)從屬硬件來(lái)執(zhí)行構(gòu)成多個(gè)命令列的各命令。
      通過(guò)步驟S11及S13,通信存儲(chǔ)器151及命令隊(duì)列152變?yōu)槔鐖D5所示的內(nèi)容。
      1-5-2.執(zhí)行控制處理圖10是表示由命令執(zhí)行控制裝置150內(nèi)的執(zhí)行控制部160進(jìn)行的部分執(zhí)行控制處理的流程圖,圖11是表示由命令執(zhí)行控制裝置150內(nèi)的執(zhí)行控制部160進(jìn)行的執(zhí)行控制處理中圖10所示以外部分的流程圖。
      首先,執(zhí)行控制部160判斷是否是在從屬硬件中執(zhí)行用所謂1的識(shí)別序號(hào)識(shí)別的次命令I(lǐng)D保持部161中保持命令I(lǐng)D的某個(gè)命令列(下面稱(chēng)為命令列#1)中的命令的狀態(tài),即,對(duì)應(yīng)于該命令的從屬硬件是否為運(yùn)行狀態(tài)(步驟S21)。
      執(zhí)行控制部160在向從屬硬件指示執(zhí)行命令后,將表示命令位置的命令I(lǐng)D保持在未圖示的內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中,在從完成接收部153傳遞從屬硬件的命令執(zhí)行完成之前,判斷為在從屬硬件中執(zhí)行命令的狀態(tài),在從完成接收部153傳遞命令執(zhí)行完成后,刪除內(nèi)部作業(yè)用存儲(chǔ)區(qū)域內(nèi)保持的該命令的命令I(lǐng)D,判斷為在從屬硬件中不執(zhí)行命令的狀態(tài)??稍趦?nèi)部作業(yè)用存儲(chǔ)區(qū)域中對(duì)作為命令出處的各命令列各保持一個(gè)命令I(lǐng)D,通過(guò)對(duì)應(yīng)于這里保持的命令I(lǐng)D的命令中的開(kāi)頭比特,執(zhí)行控制部160可檢測(cè)哪個(gè)從屬硬件正在運(yùn)行中。
      在步驟S21中,在判斷對(duì)應(yīng)于命令列#1中的命令的從屬硬件不在運(yùn)行狀態(tài)的情況下,執(zhí)行控制部160判斷次命令I(lǐng)D保持部161中保持的命令I(lǐng)D是否不為0(步驟S22),若命令I(lǐng)D為0,則判斷命令隊(duì)列152中是否存儲(chǔ)命令I(lǐng)D(步驟S23)。
      在步驟S22中,在判斷次命令I(lǐng)D保持部161中保持的命令I(lǐng)D不為0時(shí),執(zhí)行控制部160著眼次命令I(lǐng)D保持部161中保持的表示命令I(lǐng)D的命令用區(qū)域中存儲(chǔ)的命令,譯碼該命令(步驟S24)。
      另外,在步驟S23中,在判斷命令隊(duì)列152中存儲(chǔ)命令I(lǐng)D時(shí),執(zhí)行控制部160著眼命令隊(duì)列152的開(kāi)始命令I(lǐng)D表示的命令用區(qū)域中存儲(chǔ)的命令,譯碼該命令(步驟S24)。
      在步驟S24之后,執(zhí)行控制部1 60在命令中的屬性中包含應(yīng)確保虛擬存儲(chǔ)體序號(hào)的指定的情況下,參照存儲(chǔ)體表格163,調(diào)查與該虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)是否空,即,局部存儲(chǔ)器131的存儲(chǔ)體是否充分(步驟S25),在判斷為存儲(chǔ)體充分的情況下,通過(guò)參照內(nèi)部作業(yè)用存儲(chǔ)區(qū)域,判斷執(zhí)行該命令的從屬硬件是否空、即非運(yùn)行狀態(tài)(步驟S26)。
      在步驟S26中,在判斷執(zhí)行該命令的從屬硬件為非運(yùn)行狀態(tài)的情況下,執(zhí)行控制部160經(jīng)步驟S23后,在步驟S24中,當(dāng)著眼命令隊(duì)列152中的命令I(lǐng)D表示的命令時(shí),從命令隊(duì)列152中刪除該命令I(lǐng)D(步驟S27)。另外,在步驟S22中,在次命令I(lǐng)D保持部161中保持的命令I(lǐng)D不為0時(shí),執(zhí)行控制部160省略步驟S27的處理。
      接著,執(zhí)行控制部160將譯碼后的命令內(nèi)表示的次命令I(lǐng)D存儲(chǔ)在次命令I(lǐng)D保持部161中(步驟S28),若存在指定為應(yīng)由命令內(nèi)的屬性中該確保的虛擬存儲(chǔ)體序號(hào),使該虛擬存儲(chǔ)體序號(hào)與空的物理存儲(chǔ)體序號(hào)相對(duì)應(yīng),更新存儲(chǔ)體表格163(步驟S29)。在虛擬存儲(chǔ)體序號(hào)與物理存儲(chǔ)體序號(hào)已對(duì)應(yīng)的情況下,執(zhí)行控制部160省略步驟S29。再者,若存在指定為由命令內(nèi)屬性中應(yīng)釋放的虛擬存儲(chǔ)體序號(hào),則執(zhí)行控制部160更新存儲(chǔ)體表格163,使與該虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)變?yōu)榭盏臓顟B(tài)。
      在步驟S29之后,執(zhí)行控制部160向命令開(kāi)頭比特指定的從屬硬件、即從處理器130或DMA控制器140指示執(zhí)行命令,在內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中設(shè)定表示該命令的命令I(lǐng)D(步驟S30)。執(zhí)行控制部160依據(jù)執(zhí)行指示,向從屬硬件傳遞與命令內(nèi)指定的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào),從屬硬件在收到后,將物理存儲(chǔ)體序號(hào)指定的局部存儲(chǔ)器131中的存儲(chǔ)體作為處理對(duì)象并執(zhí)行命令。之后,在從從處理器130或DMA控制器140向完成接收部153傳遞命令執(zhí)行完成時(shí),從完成接收部153傳遞該意思后,執(zhí)行控制部160從內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中刪除執(zhí)行完成的命令的命令I(lǐng)D。
      例如如下進(jìn)行步驟S30中執(zhí)行由控制部160向從屬硬件指示執(zhí)行命令。即,執(zhí)行控制部160從譯碼后的命令中提取從屬硬件必需的數(shù)據(jù),即提取屬性和執(zhí)行硬件不同的參數(shù)種類(lèi),在提取出的存儲(chǔ)體中,將虛擬存儲(chǔ)體序號(hào)通過(guò)存儲(chǔ)體表格163替換為對(duì)應(yīng)的物理存儲(chǔ)體序號(hào),將結(jié)果數(shù)據(jù)發(fā)送給作為命令執(zhí)行對(duì)象的從處理器130或DMA控制器140。
      在步驟S30之后,或在步驟S2 1中判斷為對(duì)應(yīng)于命令列#1中的命令的從屬硬件為運(yùn)行狀態(tài)之后,在步驟S23中,判斷命令隊(duì)列152中未存儲(chǔ)命令I(lǐng)D后,在步驟S25中判斷為局部存儲(chǔ)器131的存儲(chǔ)體不充分后或在步驟S26中判斷為執(zhí)行命令的從屬硬件不空之后,執(zhí)行控制部160判斷在由所謂2的識(shí)別序號(hào)識(shí)別的次命令I(lǐng)D保持部162中保持命令I(lǐng)D的某個(gè)命令列(下面稱(chēng)為命令列#2)中的命令是否為在從屬硬件中執(zhí)行的狀態(tài),即判斷對(duì)應(yīng)于該命令的從屬硬件是否為運(yùn)行狀態(tài)(步驟S31)。
      在步驟S31中,在判斷為對(duì)應(yīng)于命令列#2中命令的從屬硬件不為運(yùn)行狀態(tài)的情況下,執(zhí)行控制部160判斷次命令I(lǐng)D保持部162中保持的命令I(lǐng)D是否不為0(步驟S32),若該命令I(lǐng)D為0,則判斷命令隊(duì)列152中是否存儲(chǔ)命令I(lǐng)D(步驟S33)。
      在步驟S32中,當(dāng)判斷為次命令I(lǐng)D保持部162中保持的命令I(lǐng)D不為0時(shí),執(zhí)行控制部160著眼表示次命令I(lǐng)D保持部162中保持的命令I(lǐng)D的命令用區(qū)域中存儲(chǔ)的命令,譯碼該命令(步驟S34)。
      另外,在步驟S33中,在判斷為命令隊(duì)列152中存儲(chǔ)命令I(lǐng)D的情況下,執(zhí)行控制部160著眼表示命令隊(duì)列152開(kāi)始的命令I(lǐng)D的命令用區(qū)域中存儲(chǔ)的命令,譯碼該命令(步驟S34)。
      在步驟S34之后,執(zhí)行控制部160在命令中的屬性中包含應(yīng)確保虛擬存儲(chǔ)體序號(hào)的指時(shí)間,參照存儲(chǔ)體表格163,因?yàn)榕c該虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng),故調(diào)查局部存儲(chǔ)器131的存儲(chǔ)體是否充分(步驟S35),在判斷為存儲(chǔ)體充分的情況下,通過(guò)參照內(nèi)部作業(yè)用存儲(chǔ)區(qū)域,判斷執(zhí)行該命令的從屬硬件是否為非運(yùn)行狀態(tài)(步驟S36)。
      在步驟S36中,在判斷為執(zhí)行該命令的從屬硬件為非運(yùn)行狀態(tài)的情況下,執(zhí)行控制部160經(jīng)步驟S33后,在步驟S34中,當(dāng)著眼命令隊(duì)列152中的命令I(lǐng)D表示的命令時(shí),從命令隊(duì)列152中刪除該命令I(lǐng)D(步驟S37)。另外,在步驟S32中,在次命令I(lǐng)保持部162中保持的命令I(lǐng)D不為0時(shí),執(zhí)行控制部160省略步驟S37的處理。
      接著,執(zhí)行控制部160將譯碼后的命令內(nèi)表示的次命令I(lǐng)D存儲(chǔ)在次命令I(lǐng)D保持部162中(步驟S38),若存在指定為由該命令內(nèi)的屬性中應(yīng)確保的虛擬存儲(chǔ)體序號(hào),使該虛擬存儲(chǔ)體序號(hào)與空的物理存儲(chǔ)體序號(hào)相對(duì)應(yīng),更新存儲(chǔ)體表格163(步驟S39)。在虛擬存儲(chǔ)體序號(hào)與物理存儲(chǔ)體序號(hào)已對(duì)應(yīng)的情況下,執(zhí)行控制部160省略步驟S39。再者,若存在指定為由命令內(nèi)屬性中應(yīng)釋放的虛擬存儲(chǔ)體序號(hào),則執(zhí)行控制部160更新存儲(chǔ)體表格163,使與該虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)變?yōu)榭盏臓顟B(tài)。
      在步驟S39之后,執(zhí)行控制部160向命令開(kāi)頭比特指定的從處理器130或DMA控制器140指示執(zhí)行命令,在內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中設(shè)定表示該命令的命令I(lǐng)D(步驟S40)。執(zhí)行控制部160與步驟S30中一樣依據(jù)執(zhí)行指示,向從屬硬件傳遞與命令內(nèi)指定的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào),從屬硬件在收到后,將物理存儲(chǔ)體序號(hào)指定的局部存儲(chǔ)器131中的存儲(chǔ)體作為處理對(duì)象并執(zhí)行命令。之后,在由從處理器130或DMA控制器140向完成接收部153傳遞命令執(zhí)行完成時(shí),從完成接收部153傳遞該意思后,執(zhí)行控制部160從內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中刪除執(zhí)行完成的命令的命令I(lǐng)D。
      步驟S40中執(zhí)行控制部160向從屬硬件指示執(zhí)行命令,具體而言與上述步驟S30一樣,提取由命令中的屬性及執(zhí)行硬件不同的參數(shù)種類(lèi)構(gòu)成的數(shù)據(jù),在將虛擬存儲(chǔ)體序號(hào)替換為物理存儲(chǔ)體序號(hào)后,向從屬硬件發(fā)送該數(shù)據(jù)。
      在步驟S40之后,在步驟S31中判斷為對(duì)應(yīng)于命令列#2中的命令的從屬硬件為運(yùn)行狀態(tài)之后,在步驟S33中,判斷命令隊(duì)列152中未存儲(chǔ)命令I(lǐng)D后,在步驟S35中判斷為局部存儲(chǔ)器131的存儲(chǔ)體不充分后或在步驟S36中判斷為執(zhí)行命令的從屬硬件不空之后,執(zhí)行控制部160返回步驟S21,判斷在由所謂1的識(shí)別序號(hào)識(shí)別的次命令I(lǐng)D保持部161中保持命令I(lǐng)D的某個(gè)命令列#1中的命令是否為在從屬硬件中執(zhí)行的狀態(tài),即判斷對(duì)應(yīng)于該命令的從屬硬件是否為運(yùn)行狀態(tài)(步驟S21)。
      執(zhí)行控制部160反復(fù)步驟S21-S40的執(zhí)行控制處理。
      1-5-3.執(zhí)行控制部的操作例下面將通信存儲(chǔ)器151及命令隊(duì)列152以圖5所示內(nèi)容作為前提,說(shuō)明執(zhí)行控制部160的具體操作。
      首先,在初始狀態(tài)下,在執(zhí)行控制部160內(nèi)部的作業(yè)存儲(chǔ)器中未存儲(chǔ)命令I(lǐng)D,次命令I(lǐng)D保持部161及次命令I(lǐng)D保持部162存儲(chǔ)表示不保持命令I(lǐng)D的值0,在存儲(chǔ)體表格163中,各物理存儲(chǔ)體序號(hào)與虛擬存儲(chǔ)體序號(hào)不對(duì)應(yīng)。
      因此,執(zhí)行控制部160在步驟S21中判斷為命令列#1中的命令不在執(zhí)行中后前進(jìn)到no分支(參照?qǐng)D10),在步驟S22中,判斷為次命令I(lǐng)D保持部161中保持的命令I(lǐng)D為0后前進(jìn)到no分支,判斷命令隊(duì)列152內(nèi)是否存在命令I(lǐng)D(步驟S23)。
      如圖5所示,因?yàn)槊铌?duì)列152中存儲(chǔ)命令I(lǐng)D,所以執(zhí)行控制部160著眼由命令隊(duì)列152開(kāi)始的所謂值21的命令I(lǐng)D表示的命令用區(qū)域(21)中存儲(chǔ)的DMA控制器用ReadDMA命令,譯碼該ReadDMA命令(步驟S24)。
      步驟S24中譯碼的ReadDMA命令需要確保虛擬存儲(chǔ)體序號(hào)為0的虛擬存儲(chǔ)體,所以執(zhí)行控制部160參照存儲(chǔ)體表格163檢驗(yàn)物理存儲(chǔ)體序號(hào)中是否存在不與虛擬存儲(chǔ)體序號(hào)相對(duì)應(yīng)的序號(hào)(步驟S25),因?yàn)榇嬖诓粚?duì)應(yīng)的序號(hào),所以在步驟S25中前進(jìn)到y(tǒng)es分支,判斷DMA控制器是否為非運(yùn)行狀態(tài)(步驟S26),因?yàn)槭欠沁\(yùn)行狀態(tài),所以在步驟S26中前進(jìn)到y(tǒng)es分支,從命令隊(duì)列152中刪除值為21的命令I(lǐng)D(步驟S27),同時(shí),將ReadDMA命令內(nèi)的作為次命令I(lǐng)D值的22存儲(chǔ)在次命令I(lǐng)D保持部161中(步驟S28)。
      在步驟S28之后,執(zhí)行控制部參照存儲(chǔ)體表格163,檢測(cè)空的物理存儲(chǔ)體序號(hào),對(duì)應(yīng)由譯碼的ReadDMA命令指定的所謂0的虛擬存儲(chǔ)體序號(hào)和空的所謂0的物理存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格163(步驟S29)。結(jié)果,存儲(chǔ)體表格163對(duì)于物理存儲(chǔ)體序號(hào)為0的存儲(chǔ)體,內(nèi)容變?yōu)閷?duì)應(yīng)執(zhí)行命令列識(shí)別序號(hào)為1、虛擬存儲(chǔ)體序號(hào)為0的信息。
      步驟S29之后,執(zhí)行控制部160向DMA控制器140傳遞譯碼后的ReadDMA命令,請(qǐng)求執(zhí)行命令(步驟S30)。即,執(zhí)行控制部160向DMA控制器140發(fā)送主存儲(chǔ)器地址、所謂0的物理存儲(chǔ)體序號(hào)、局部存儲(chǔ)器地址、傳送大小、主存儲(chǔ)器地址增量、局部存儲(chǔ)器地址增量、及表示從主存儲(chǔ)器向局部存儲(chǔ)器傳送數(shù)據(jù)的數(shù)據(jù)。
      由此,DMA控制器140開(kāi)始從主存儲(chǔ)器120向局部存儲(chǔ)器131的存儲(chǔ)體#0傳送數(shù)據(jù)。執(zhí)行控制部160在內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中保持該ReadDMA命令的命令I(lǐng)D。
      接著,執(zhí)行控制部160在步驟S3 1中判斷為命令列#2中的命令不在執(zhí)行中后前進(jìn)到no分支(參照?qǐng)D11),在步驟S32中,判斷為次命令I(lǐng)D保持部162中保持的命令I(lǐng)D為0后前進(jìn)到no分支,判斷命令隊(duì)列152內(nèi)是否存在命令I(lǐng)D(步驟S33)。
      因?yàn)槊铌?duì)列152中由在先步驟S27刪除值為21的命令I(lǐng)D或剩余值為47的命令I(lǐng)D(參照?qǐng)D5),所以執(zhí)行控制部160著眼由該命令隊(duì)列152開(kāi)始的所謂值47的命令I(lǐng)D表示的命令用區(qū)域(47)中存儲(chǔ)的DMA控制器用ReadDMA命令,譯碼該ReadDMA命令(步驟S34)。
      步驟S34中譯碼的ReadDMA命令需要確保虛擬存儲(chǔ)體序號(hào)為0的虛擬存儲(chǔ)體,所以執(zhí)行控制部160參照存儲(chǔ)體表格163檢驗(yàn)物理存儲(chǔ)體序號(hào)中是否存在不與虛擬存儲(chǔ)體序號(hào)相對(duì)應(yīng)的序號(hào)(步驟S35),因?yàn)榇嬖诓粚?duì)應(yīng)的序號(hào),所以在步驟S35中前進(jìn)到y(tǒng)es分支,判斷DMA控制器是否為非運(yùn)行狀態(tài)(步驟S36),因?yàn)镈MA控制器140在先行的ReadDMA命令為執(zhí)行中而為運(yùn)行狀態(tài),所以在步驟S36中前進(jìn)到no分支,返回步驟S21的判斷。
      其中,之后繼續(xù)說(shuō)明DMA控制器140完成命令用區(qū)域(21)中存儲(chǔ)器的ReadDMA命令的執(zhí)行。DMA控制器140向完成接收部153傳遞執(zhí)行完成,執(zhí)行控制部160接收來(lái)自完成接收部153的完成通知后,從內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中刪除DMA控制器用命令的命令I(lǐng)D。
      執(zhí)行控制部160在步驟S21中,因?yàn)閺淖鳂I(yè)用存儲(chǔ)區(qū)域中刪除命令I(lǐng)D,所以判斷為命令列#1中的命令不在執(zhí)行中,并前進(jìn)到no分支,在步驟S22中,判斷為次命令I(lǐng)D保持部161中保持的命令I(lǐng)D為22后前進(jìn)到y(tǒng)es分支,著眼命令用區(qū)域(22)內(nèi)存儲(chǔ)的DMA控制器用ReadDMA命令,譯碼該ReadDMA命令(步驟S24)。
      步驟S24中譯碼的ReadDMA命令需要確保虛擬存儲(chǔ)體序號(hào)為1的虛擬存儲(chǔ)體,所以執(zhí)行控制部160參照存儲(chǔ)體表格163檢驗(yàn)物理存儲(chǔ)體序號(hào)中是否存在不與虛擬存儲(chǔ)體序號(hào)相對(duì)應(yīng)的序號(hào)(步驟S25),因?yàn)榇嬖诓粚?duì)應(yīng)的序號(hào),所以在步驟S25中前進(jìn)到y(tǒng)es分支,判斷DMA控制器是否為非運(yùn)行狀態(tài)(步驟S26),因?yàn)槭欠沁\(yùn)行狀態(tài),所以在步驟S26中前進(jìn)到y(tǒng)es分支,將ReadDMA命令內(nèi)的作為次命令I(lǐng)D值35存儲(chǔ)在次命令I(lǐng)D保持部161中(步驟S28)。
      在步驟S28之后,執(zhí)行控制部160參照存儲(chǔ)體表格163,檢測(cè)空的物理存儲(chǔ)體序號(hào),對(duì)應(yīng)由譯碼的ReadDMA命令指定的所謂0的虛擬存儲(chǔ)體序號(hào)和空的所謂1的物理存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格163(步驟S29)。結(jié)果,存儲(chǔ)體表格163對(duì)于物理存儲(chǔ)體序號(hào)為1的存儲(chǔ)體,內(nèi)容變?yōu)閷?duì)應(yīng)執(zhí)行命令列識(shí)別序號(hào)為1、虛擬存儲(chǔ)體序號(hào)為1的信息。
      步驟S29之后,執(zhí)行控制部160向DMA控制器140傳遞譯碼后的ReadDMA命令,請(qǐng)求執(zhí)行命令(步驟S30)。即,執(zhí)行控制部160向DMA控制器140發(fā)送主存儲(chǔ)器地址、所謂1的物理存儲(chǔ)體序號(hào)、局部存儲(chǔ)器地址、傳送大小、主存儲(chǔ)器地址增量、局部存儲(chǔ)器地址增量、及表示從主存儲(chǔ)器向局部存儲(chǔ)器傳送數(shù)據(jù)的數(shù)據(jù)。由此,DMA控制器140開(kāi)始從主存儲(chǔ)器120向局部存儲(chǔ)器131的存儲(chǔ)體#1傳送數(shù)據(jù)。
      這里,從步驟S21開(kāi)始繼續(xù)說(shuō)明之后DMA控制器140完成命令用區(qū)域(22)中存儲(chǔ)的ReadDMA命令的執(zhí)行。
      執(zhí)行控制部160在步驟S21中,判斷為命令列#1中的命令不在執(zhí)行中后前進(jìn)到no分支,在步驟S22中,判斷為次命令I(lǐng)D保持部161中保持的命令I(lǐng)D為35后前進(jìn)到y(tǒng)es分支,著眼命令用區(qū)域(35)內(nèi)存儲(chǔ)的從處理器用SPstart命令,譯碼該SPstart命令(步驟S24)。
      步驟S24中譯碼的SPstart命令需要確保虛擬存儲(chǔ)體序號(hào)為0和1的虛擬存儲(chǔ)體,對(duì)于存儲(chǔ)體表格163而言,所謂0和1的虛擬存儲(chǔ)體序號(hào)分別與所謂0、1的物理存儲(chǔ)體序號(hào)相對(duì)應(yīng),因?yàn)椴划a(chǎn)生存儲(chǔ)體不足,所以執(zhí)行控制部160在步驟S25中前進(jìn)到y(tǒng)es分支,判斷從處理器是否為非運(yùn)行狀態(tài)(步驟S26),因?yàn)槭欠沁\(yùn)行狀態(tài),所以在步驟S26中前進(jìn)到y(tǒng)es分支,將SPstart命令內(nèi)的作為次命令I(lǐng)D值的36存儲(chǔ)在次命令I(lǐng)D保持部161中(步驟S28)。
      在步驟S28之后,執(zhí)行控制部160因?yàn)橐堰M(jìn)行虛擬存儲(chǔ)體序號(hào)與物理存儲(chǔ)體序號(hào)的對(duì)應(yīng),所以省略步驟S29,向從處理器130傳遞譯碼后的SPstart命令,請(qǐng)求執(zhí)行命令(步驟S30)。即,執(zhí)行控制部160向從處理器130發(fā)送指定命令用的格式序號(hào)、所謂0及1的物理存儲(chǔ)體序號(hào)、從處理器130的命令存儲(chǔ)器中的執(zhí)行開(kāi)始地址、及表示參數(shù)1-5的數(shù)據(jù)。從而,從處理器130開(kāi)始根據(jù)局部存儲(chǔ)器131的存儲(chǔ)體#0和存儲(chǔ)體#1的內(nèi)容,進(jìn)行運(yùn)算α,將結(jié)果寫(xiě)入存儲(chǔ)體#1的處理。
      之后,執(zhí)行控制部160在步驟S31中判斷為命令列#2中的命令不在執(zhí)行中后前進(jìn)到no分支,在步驟S32中,判斷為次命令I(lǐng)D保持部162中保持的命令I(lǐng)D為0后前進(jìn)到no分支,判斷命令隊(duì)列152內(nèi)是否存在命令I(lǐng)D(步驟S33)。
      著眼該命令隊(duì)列152中由所謂值47的命令I(lǐng)D表示的命令用區(qū)域(47)中存儲(chǔ)的DMA控制器用ReadDMA命令,譯碼該ReadDMA命令(步驟S34)。
      步驟S34中譯碼的ReadDMA命令需要確保虛擬存儲(chǔ)體序號(hào)為0的虛擬存儲(chǔ)體,所以執(zhí)行控制部160參照存儲(chǔ)體表格163檢驗(yàn)物理存儲(chǔ)體序號(hào)中是否存在不與虛擬存儲(chǔ)體序號(hào)相對(duì)應(yīng)的序號(hào)(步驟S35),因?yàn)榇嬖诓粚?duì)應(yīng)的序號(hào),所以在步驟S35中前進(jìn)到y(tǒng)es分支,判斷DMA控制器是否為非運(yùn)行狀態(tài)(步驟S36),因?yàn)镈MA控制器140已是非運(yùn)行狀態(tài),所以在步驟S36中前進(jìn)到y(tǒng)es分支,從命令隊(duì)列152中刪除值為47的命令I(lǐng)D(步驟S37),同時(shí),將ReadDMA命令內(nèi)的作為次命令I(lǐng)D值的48存儲(chǔ)在次命令I(lǐng)D保持部162中(步驟S38)。
      在步驟S38之后,執(zhí)行控制部160參照存儲(chǔ)體表格163,檢測(cè)空的物理存儲(chǔ)體序號(hào),對(duì)應(yīng)由譯碼的ReadDMA命令指定的所謂0的虛擬存儲(chǔ)體序號(hào)和空的所謂2的物理存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格163(步驟S39)。結(jié)果,存儲(chǔ)體表格163對(duì)于物理存儲(chǔ)體序號(hào)為2的存儲(chǔ)體,內(nèi)容變?yōu)閷?duì)應(yīng)執(zhí)行命令列識(shí)別序號(hào)為2、虛擬存儲(chǔ)體序號(hào)為0的信息。
      步驟S39之后,執(zhí)行控制部160向DMA控制器140傳遞譯碼后的ReadDMA命令,請(qǐng)求執(zhí)行命令(步驟S40)。即,執(zhí)行控制部160向DMA控制器140發(fā)送主存儲(chǔ)器地址、所謂2的物理存儲(chǔ)體序號(hào)、局部存儲(chǔ)器地址、傳送大小、主存儲(chǔ)器地址增量、局部存儲(chǔ)器地址增量、及表示從主存儲(chǔ)器向局部存儲(chǔ)器傳送數(shù)據(jù)的數(shù)據(jù)。由此,DMA控制器140開(kāi)始從主存儲(chǔ)器140向局部存儲(chǔ)器131的存儲(chǔ)體#2傳送數(shù)據(jù)。
      這里,從步驟S21開(kāi)始繼續(xù)說(shuō)明之后從處理器130在繼續(xù)執(zhí)行命令用區(qū)域(35)中存儲(chǔ)的SPstart命令期間,DMA控制器140完成命令用區(qū)域(47)中存儲(chǔ)的ReadDMA命令的執(zhí)行。
      執(zhí)行控制部160在步驟S21中判斷為命令列#1中的命令還在執(zhí)行中后前進(jìn)到y(tǒng)es分支,在步驟S31中,判斷為命令列#2中的命令不在執(zhí)行中后前進(jìn)到no分支,在步驟S32中判斷為次命令I(lǐng)D保持部162中保持的命令I(lǐng)D為48后前進(jìn)到y(tǒng)es分支,著眼命令用區(qū)域(48)中存儲(chǔ)的DMA控制器用ReadDMA命令,譯碼該ReadDMA命令(步驟S34)。
      步驟S34中譯碼的ReadDMA命令需要確保虛擬存儲(chǔ)體序號(hào)為1的虛擬存儲(chǔ)體,所以執(zhí)行控制部160參照存儲(chǔ)體表格163檢驗(yàn)物理存儲(chǔ)體序號(hào)中是否存在不與虛擬存儲(chǔ)體序號(hào)相對(duì)應(yīng)的序號(hào)(步驟S35),因?yàn)榇嬖诓粚?duì)應(yīng)的序號(hào),所以在步驟S35中前進(jìn)到y(tǒng)es分支,判斷DMA控制器是否為非運(yùn)行狀態(tài)(步驟S36),因?yàn)镈MA控制器140已是非運(yùn)行狀態(tài),所以在步驟S36中前進(jìn)到y(tǒng)es分支,將ReadDMA命令內(nèi)的作為次命令I(lǐng)D值的49存儲(chǔ)在次命令I(lǐng)D保持部162中(步驟S38)。
      在步驟S38之后,執(zhí)行控制部160參照存儲(chǔ)體表格163,檢測(cè)空的物理存儲(chǔ)體序號(hào),對(duì)應(yīng)由譯碼的ReadDMA命令指定的所謂1的虛擬存儲(chǔ)體序號(hào)和空的所謂3的物理存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格163(步驟S39)。結(jié)果,存儲(chǔ)體表格163對(duì)于物理存儲(chǔ)體序號(hào)為3的存儲(chǔ)體,內(nèi)容變?yōu)閷?duì)應(yīng)執(zhí)行命令列識(shí)別序號(hào)為2、虛擬存儲(chǔ)體序號(hào)為1的信息。
      因此,此刻存儲(chǔ)體表格163的內(nèi)容變?yōu)閳D8中所示的狀態(tài)。
      步驟S39之后,執(zhí)行控制部160向DMA控制器140傳遞譯碼后的ReadDMA命令,請(qǐng)求執(zhí)行命令(步驟S40)。即,執(zhí)行控制部160向DMA控制器140發(fā)送主存儲(chǔ)器地址、所謂3的物理存儲(chǔ)體序號(hào)、局部存儲(chǔ)器地址、傳送大小、主存儲(chǔ)器地址增量、局部存儲(chǔ)器地址增量、及表示從主存儲(chǔ)器向局部存儲(chǔ)器傳送數(shù)據(jù)的數(shù)據(jù)。由此,DMA控制器140開(kāi)始從主存儲(chǔ)器120向局部存儲(chǔ)器131的存儲(chǔ)體#3傳送數(shù)據(jù)。
      此后,從步驟S21開(kāi)始繼續(xù)說(shuō)明從處理器130在完成命令用區(qū)域(35)中存儲(chǔ)的SPstart命令的執(zhí)行,另外,DMA控制器140完成命令用區(qū)域(48)中存儲(chǔ)的ReadDMA命令的執(zhí)行。
      執(zhí)行控制部160在步驟S21中,判斷為命令列#1中的命令不在執(zhí)行中后前進(jìn)到no分支,在步驟S22中,判斷為次命令I(lǐng)D保持部161中保持的命令I(lǐng)D為36后前進(jìn)到y(tǒng)es分支,著眼命令用區(qū)域(36)內(nèi)存儲(chǔ)的DMA控制器用WriteDMA命令,譯碼該WriteDMA命令(步驟S24)。
      步驟S24中譯碼的WriteDMA命令需要確保虛擬存儲(chǔ)體序號(hào)為1的虛擬存儲(chǔ)體,對(duì)于存儲(chǔ)體表格163而言,所謂1的虛擬存儲(chǔ)體序號(hào)已與所謂1的物理存儲(chǔ)體序號(hào)相對(duì)應(yīng),因?yàn)椴划a(chǎn)生存儲(chǔ)體不足,所以執(zhí)行控制部160在步驟S25中前進(jìn)到y(tǒng)es分支,判斷DMA控制器是否為非運(yùn)行狀態(tài)(步驟S26),因?yàn)槭欠沁\(yùn)行狀態(tài),所以在步驟S26中前進(jìn)到y(tǒng)es分支,將WriteDMA命令內(nèi)的作為次命令I(lǐng)D值的0存儲(chǔ)在次命令I(lǐng)D保持部161中(步驟S28)。
      步驟S28之后,執(zhí)行控制部160因?yàn)橐堰M(jìn)行虛擬存儲(chǔ)體序號(hào)與物理存儲(chǔ)體序號(hào)的對(duì)應(yīng),所以省略步驟S29,向DMA控制器140傳遞譯碼后的WriteDMA命令,請(qǐng)求執(zhí)行命令(步驟S30)。即,執(zhí)行控制部160向DMA控制器140發(fā)送主存儲(chǔ)器地址、所謂1的物理存儲(chǔ)體序號(hào)、局部存儲(chǔ)器地址、傳送大小、主存儲(chǔ)器地址增量、局部存儲(chǔ)器地址增量、及表示從局部存儲(chǔ)器向主存儲(chǔ)器傳送數(shù)據(jù)的數(shù)據(jù)。由此,DMA控制器140開(kāi)始從局部存儲(chǔ)器131的存儲(chǔ)體#1向主存儲(chǔ)器120傳送數(shù)據(jù)。
      在WriteDMA命令內(nèi)指定釋放所謂1的虛擬存儲(chǔ)體序號(hào)時(shí),執(zhí)行控制部160以步驟S29的時(shí)間更新存儲(chǔ)體表格163,以表示所謂0的物理存儲(chǔ)體序號(hào)空的意思。
      接著,執(zhí)行控制部160在步驟S31中,判斷為命令列#2中的命令不在執(zhí)行中后前進(jìn)到no分支,在步驟S32中,判斷為次命令I(lǐng)D保持部162中保持的命令I(lǐng)D為49后前進(jìn)到y(tǒng)es分支,著眼命令用區(qū)域49內(nèi)存儲(chǔ)的從處理器用SPstart命令,譯碼該SPstart命令(步驟S34)。
      步驟S34中譯碼的SPstart命令需要確保虛擬存儲(chǔ)體序號(hào)為0和1的虛擬存儲(chǔ)體,對(duì)于存儲(chǔ)體表格163而言,所謂0和1的虛擬存儲(chǔ)體序號(hào)已分別與所謂2、3的物理存儲(chǔ)體序號(hào)相對(duì)應(yīng),因?yàn)椴划a(chǎn)生存儲(chǔ)體不足,所以執(zhí)行控制部160在步驟S35中前進(jìn)到y(tǒng)es分支,判斷從處理器是否為非運(yùn)行狀態(tài)(步驟S36),因?yàn)槭欠沁\(yùn)行狀態(tài),所以在步驟S36中前進(jìn)到y(tǒng)es分支,將SPstart命令內(nèi)的作為次命令I(lǐng)D值的61存儲(chǔ)在次命令I(lǐng)D保持部161中(步驟S38)。
      在步驟S38之后,執(zhí)行控制部160因?yàn)橐堰M(jìn)行虛擬存儲(chǔ)體序號(hào)與物理存儲(chǔ)體序號(hào)的對(duì)應(yīng),所以省略步驟S39,向從處理器130傳遞譯碼后的SPstart命令,請(qǐng)求執(zhí)行命令(步驟S40)。即,執(zhí)行控制部160向從處理器130發(fā)送指定命令用的格式序號(hào)、所謂2及3的物理存儲(chǔ)體序號(hào)、從處理器130的命令存儲(chǔ)器中的執(zhí)行開(kāi)始地址、及表示參數(shù)1-5的數(shù)據(jù)。從而,從處理器130開(kāi)始根據(jù)局部存儲(chǔ)器131的存儲(chǔ)體#2和存儲(chǔ)體#3的內(nèi)容,進(jìn)行運(yùn)算β,將結(jié)果寫(xiě)入存儲(chǔ)體#3的處理。
      之后,執(zhí)行控制部160根據(jù)各命令列內(nèi)的順序在從屬硬件中執(zhí)行各命令,更具體而言,即使在一方從屬硬件中執(zhí)行某個(gè)命令列的命令期間,也可在另一方從屬硬件中并行執(zhí)行其它命令列的命令,所以與按一個(gè)一個(gè)命令列順序執(zhí)行的方式相比,可有效活用從屬硬件,結(jié)果,可高速執(zhí)行多個(gè)命令列。
      1-6.考察圖12是表示通信存儲(chǔ)器151和命令隊(duì)列152以圖5所示內(nèi)容為前提,執(zhí)行控制部1 60如上所述操作時(shí)各命令執(zhí)行狀況變化的時(shí)間圖。
      該圖中,用A1表示以通信存儲(chǔ)器151的命令用區(qū)域(21)中存儲(chǔ)的命令為開(kāi)始的命令列,用A2表示以命令用區(qū)域(47)中存儲(chǔ)的命令為開(kāi)始的命令列。
      假設(shè)依次在從屬硬件中執(zhí)行命令列A1的所有命令后,依次在從屬硬件中執(zhí)行命令列A2的所有命令的情況,則在從處理器130中執(zhí)行SPstart命令期間,DMA控制器140為非運(yùn)行狀態(tài)。
      可是,通過(guò)本實(shí)施例所示命令執(zhí)行控制裝置150的控制,實(shí)際上如圖12所示,在從處理器130中執(zhí)行命令列A1的SPstart命令期間,因?yàn)樵贒MA控制器140中也執(zhí)行命令列A2的ReadDMA命令,所以各從屬硬件的運(yùn)轉(zhuǎn)率高,若看作多個(gè)命令列整體,則可高速進(jìn)行處理。
      另外,在執(zhí)行構(gòu)成命令列A1的命令時(shí),使用局部存儲(chǔ)器131的存儲(chǔ)體#0和存儲(chǔ)體#1,另外,在執(zhí)行構(gòu)成命令列A2的命令時(shí),使用局部存儲(chǔ)器131的存儲(chǔ)體#2和存儲(chǔ)體#3,因?yàn)槔妹盍虚g獨(dú)立的存儲(chǔ)器空間來(lái)進(jìn)行處理,所以可保證不產(chǎn)生數(shù)據(jù)不匹配等。
      實(shí)施例2在實(shí)施例1所示的處理系統(tǒng)100中,執(zhí)行控制部160對(duì)于包含指定某個(gè)虛擬存儲(chǔ)體序號(hào)來(lái)指示存儲(chǔ)區(qū)域確保的屬性的命令,通過(guò)使用存儲(chǔ)體表格163將一個(gè)空的物理存儲(chǔ)體序號(hào)對(duì)應(yīng)于虛擬存儲(chǔ)體的方式,利用各命令列間獨(dú)立的存儲(chǔ)器空間來(lái)在從屬硬件中進(jìn)行各命令的處理。
      相反,實(shí)施例2的處理系統(tǒng)是稍稍變形實(shí)施例1的處理系統(tǒng)100之后的處理系統(tǒng)(下面稱(chēng)為變形處理系統(tǒng)),該變形處理系統(tǒng)的特征在于作為變形處理系統(tǒng)100的執(zhí)行控制部160的變形執(zhí)行控制部利用命令列間公共的存儲(chǔ)區(qū)域,在從屬硬件中進(jìn)行各命令的處理。
      2-1.變形處理系統(tǒng)下面說(shuō)明實(shí)施例2的變形處理系統(tǒng)。
      變形處理系統(tǒng)的結(jié)構(gòu)基本上與圖1所示處理系統(tǒng)100的結(jié)構(gòu)僅部分不同。因此,也基本上使用圖1中所示符號(hào)來(lái)說(shuō)明變形處理系統(tǒng)的結(jié)構(gòu)要素。
      變形處理系統(tǒng)與處理系統(tǒng)100的不同點(diǎn)如下。
      (1)對(duì)于處理系統(tǒng)100而言,由主處理器110存儲(chǔ)到通信存儲(chǔ)器151中的命令屬性除虛擬存儲(chǔ)體序號(hào)的指定外還可包含存儲(chǔ)區(qū)域的確保或釋放。
      在變形處理系統(tǒng)中,作為從主處理器110存儲(chǔ)到通信存儲(chǔ)器151中的命令屬性,除了上述的虛擬存儲(chǔ)體序號(hào)的指定和確保或釋放指示外,其特征在于向命令屬性中附加表示可否指定作為確?;蜥尫艑?duì)象的存儲(chǔ)區(qū)域應(yīng)在命令列間公用的共用屬性。
      即,命令格式中的命令屬性中虛擬存儲(chǔ)體序號(hào)的每個(gè)指定中包含1比特的共用屬性的指定。下面,將指定在命令列間應(yīng)共同使用存儲(chǔ)區(qū)域稱(chēng)為共用屬性。
      (2)對(duì)于處理系統(tǒng)100,在存儲(chǔ)體表格163中對(duì)應(yīng)執(zhí)行命令列識(shí)別序號(hào)262及虛擬存儲(chǔ)體序號(hào)263來(lái)管理各物理存儲(chǔ)體序號(hào)261,執(zhí)行命令列識(shí)別序號(hào)262的值為表示命令列#1和命令列#2之一的值,即,取1或2、或表示與哪個(gè)都不對(duì)應(yīng)的3等值(參照?qǐng)D8)。
      圖13是表示實(shí)施例2的變形處理系統(tǒng)中存儲(chǔ)體表格的結(jié)構(gòu)及內(nèi)容例的圖。
      變形處理系統(tǒng)中的存儲(chǔ)體表格563與處理系統(tǒng)100中的存儲(chǔ)體表格163結(jié)構(gòu)基本相同,各物理存儲(chǔ)體序號(hào)564對(duì)應(yīng)執(zhí)行命令列識(shí)別序號(hào)565及虛擬存儲(chǔ)體序號(hào)563,但不同點(diǎn)在于,執(zhí)行命令列識(shí)別序號(hào)565的值作為表示對(duì)應(yīng)于共用指定而在任一命令列中意思相同的值,取為0。
      在圖13的例子中,由所謂0的物理存儲(chǔ)體序號(hào)指定的局部存儲(chǔ)器131的存儲(chǔ)體#0表示在命令列間共同使用,與所謂0的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng),另外,存儲(chǔ)體#1表示與命令列#1中的虛擬存儲(chǔ)體序號(hào)1對(duì)應(yīng),存儲(chǔ)體#2表示與命令列#2中的虛擬存儲(chǔ)體序號(hào)1對(duì)應(yīng),存儲(chǔ)體#3表示為空狀態(tài)。
      (3)對(duì)于處理系統(tǒng)100,結(jié)合圖10及圖11的流程圖如實(shí)施例1中的說(shuō)明,執(zhí)行控制部160在命令中的屬性中包含指定應(yīng)確保存儲(chǔ)區(qū)域的虛擬存儲(chǔ)體序號(hào)的情況下,參照存儲(chǔ)體表格163,調(diào)查可與該虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)是否為空、即局部存儲(chǔ)器131的存儲(chǔ)體是否充分(步驟S25、S35),在充分的情況下,執(zhí)行命令,對(duì)應(yīng)于命令內(nèi)的屬性,為了確?;蜥尫糯鎯?chǔ)區(qū)域而更新存儲(chǔ)體表格163,在從屬硬件中執(zhí)行包含應(yīng)確保存儲(chǔ)區(qū)域的屬性的命令時(shí),向從屬硬件傳遞與由命令指定的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)(步驟S29、S39),該從屬硬件可將用物理存儲(chǔ)體序號(hào)指定的存儲(chǔ)區(qū)域用作處理對(duì)象等。
      變形處理系統(tǒng)中,變形執(zhí)行控制部也基本上按圖10及圖11的流程圖所示順序進(jìn)行處理。但是,對(duì)于變形處理系統(tǒng),在包含指定虛擬存儲(chǔ)體序號(hào)并由于帶共用指定而應(yīng)確保存儲(chǔ)區(qū)域的屬性的命令中,參照存儲(chǔ)體表格,若對(duì)于指定的虛擬存儲(chǔ)體序號(hào)和所謂0值的執(zhí)行命令列識(shí)別序號(hào)的組存在已對(duì)應(yīng)的物理存儲(chǔ)體序號(hào),則在從屬硬件中執(zhí)行該命令時(shí),向從屬硬件傳遞該物理存儲(chǔ)體序號(hào),另外,若存在對(duì)應(yīng)的物理存儲(chǔ)體序號(hào),則調(diào)查是否沒(méi)有空的物理存儲(chǔ)體序號(hào)(步驟S25、S35),在存在空的物理存儲(chǔ)體序號(hào)的情況下,執(zhí)行命令,更新對(duì)應(yīng)該空的物理存儲(chǔ)體序號(hào)、所謂0值的執(zhí)行命令列識(shí)別序號(hào)和指定的虛擬存儲(chǔ)體序號(hào)的存儲(chǔ)體表格563,向從屬硬件傳遞該物理存儲(chǔ)體序號(hào)(步驟S29、S39),該從屬硬件將由該物理存儲(chǔ)體序號(hào)指定的存儲(chǔ)區(qū)域用作處理對(duì)象。
      2-2.考察根據(jù)上述說(shuō)明的變形處理系統(tǒng),對(duì)于一個(gè)命令列,用共用指定來(lái)確保例如第0個(gè)虛擬存儲(chǔ)體序號(hào)的存儲(chǔ)區(qū)域,由從屬硬件向該存儲(chǔ)區(qū)域中寫(xiě)入數(shù)據(jù),之后,即使是其它命令列,也可由該第0個(gè)虛擬存儲(chǔ)體序號(hào)來(lái)定位確保存儲(chǔ)區(qū)域的指定命令,執(zhí)行屬于彼此不同命令列的命令的各從屬硬件可用相同的存儲(chǔ)區(qū)域來(lái)進(jìn)行命令處理。
      即,因?yàn)榭稍诟髅盍虚g構(gòu)筑共用存儲(chǔ)區(qū)域的處理,所以該變形處理系統(tǒng)除了參照相同數(shù)據(jù)這點(diǎn)外,可用于必需進(jìn)行彼此獨(dú)立的多個(gè)處理的情況。
      實(shí)施例3在實(shí)施例1所示處理系統(tǒng)100中,執(zhí)行控制部160對(duì)于包含指定某個(gè)虛擬存儲(chǔ)體序號(hào)來(lái)指示存儲(chǔ)區(qū)域確保的屬性的命令,用存儲(chǔ)體表格163來(lái)將一個(gè)空的物理存儲(chǔ)體序號(hào)對(duì)應(yīng)于該虛擬存儲(chǔ)體,向應(yīng)執(zhí)行命令的從屬硬件傳遞該物理存儲(chǔ)體序號(hào),在從屬硬件中執(zhí)行使用由物理存儲(chǔ)體序號(hào)指定的存儲(chǔ)區(qū)域的處理,另外,在指定某個(gè)虛擬存儲(chǔ)體序號(hào)后在從屬硬件中執(zhí)行包含指示釋放存儲(chǔ)區(qū)域的屬性的命令時(shí),在執(zhí)行之前,應(yīng)將與該虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)變?yōu)榭諣顟B(tài),更新存儲(chǔ)體表格163。另外,在處理系統(tǒng)100中,通過(guò)各從屬硬件來(lái)同時(shí)執(zhí)行構(gòu)成各命令列的命令,但也可不同時(shí)執(zhí)行構(gòu)成一個(gè)命令列的連續(xù)多個(gè)命令,而由任一從屬硬件來(lái)一個(gè)一個(gè)地執(zhí)行命令。
      與此相反,實(shí)施例3的處理系統(tǒng)是變形實(shí)施例1的處理系統(tǒng)100后的處理系統(tǒng),其特征在于在不僅可由命令屬性來(lái)對(duì)存儲(chǔ)區(qū)域進(jìn)行確?;蜥尫?,還可由來(lái)自作為執(zhí)行命令中的從屬硬件的指示來(lái)確保、釋放存儲(chǔ)區(qū)域這點(diǎn)上,即使對(duì)于構(gòu)成一個(gè)命令列的連續(xù)多個(gè)命令,也可由各從屬硬件同時(shí)執(zhí)行。但是,在實(shí)施例3的處理系統(tǒng)中,由任一從屬硬件按照命令列的順序來(lái)開(kāi)始執(zhí)行構(gòu)成一個(gè)命令列的命令,這點(diǎn)上與處理系統(tǒng)100的情況相同??傊瑢?shí)施例3的處理系統(tǒng)中,各從屬硬件對(duì)同一命令列內(nèi)各命令的執(zhí)行期間的始期不必變?yōu)楦鶕?jù)命令列的順序,可以重復(fù)各命令的執(zhí)行期間來(lái)得到,各命令的執(zhí)行期間的終期也可變?yōu)槿魏雾樞颉?br> 3-1.結(jié)構(gòu)圖14是實(shí)施例3的處理系統(tǒng)600的結(jié)構(gòu)圖。
      處理系統(tǒng)600如圖所示,具備主處理器110、主存儲(chǔ)器620、從處理器630、局部存儲(chǔ)器131、DMA控制器640及命令執(zhí)行控制裝置650,形成于半導(dǎo)體的一個(gè)芯片內(nèi)。另外,圖14中,處理系統(tǒng)600的結(jié)構(gòu)要素中與處理系統(tǒng)100(參照?qǐng)D1)的結(jié)構(gòu)要素相同的部分標(biāo)記與圖1相同的符號(hào),這里,省略對(duì)處理系統(tǒng)600中與處理系統(tǒng)100相同部分的說(shuō)明。
      通過(guò)執(zhí)行程序,主處理器110可用作如下單元為了在從屬硬件中執(zhí)行部分處理,隨時(shí)向命令執(zhí)行控制裝置650傳遞命令列,必要時(shí),向命令執(zhí)行控制裝置650請(qǐng)求對(duì)應(yīng)于命令的處理執(zhí)行完成通知,并接收表示該執(zhí)行完成的通知。
      從處理器630是實(shí)現(xiàn)如下功能的處理器通過(guò)執(zhí)行專(zhuān)用的控制程序,當(dāng)從命令執(zhí)行控制裝置650傳遞命令時(shí),必要時(shí)使用局部存儲(chǔ)器131,執(zhí)行該命令,并向命令執(zhí)行控制裝置650通知執(zhí)行完成,另外,具有在命令執(zhí)行中,指定虛擬存儲(chǔ)體序號(hào),對(duì)局部存儲(chǔ)器131中的存儲(chǔ)體,向命令執(zhí)行控制裝置650通知應(yīng)確保旨意、應(yīng)釋放旨意、待機(jī)旨意或使用終止旨意的功能。
      DMA控制器640是發(fā)揮如下功能DMA控制器當(dāng)從命令執(zhí)行控制裝置650傳遞命令時(shí),控制作為大容量片上存儲(chǔ)器的主存儲(chǔ)器620與局部存儲(chǔ)器131之間的數(shù)據(jù)傳送,并向命令執(zhí)行控制裝置150通知數(shù)據(jù)傳送完成,可并行2通道傳遞,即可同時(shí)處理兩個(gè)命令。另外,DMA控制器640在執(zhí)行從主存儲(chǔ)器620向某個(gè)虛擬存儲(chǔ)體序號(hào)指定的局部存儲(chǔ)器131內(nèi)的一個(gè)存儲(chǔ)體傳送數(shù)據(jù)旨意的命令時(shí),DMA控制器640還具有在執(zhí)行完成時(shí)向命令執(zhí)行控制裝置650通知識(shí)別完成執(zhí)行的通道是第一通道還是第二通道的通道序號(hào)以及存儲(chǔ)體使用終止的旨意的功能。
      局部存儲(chǔ)器131可同時(shí)訪問(wèn)不同存儲(chǔ)體,另外,主存儲(chǔ)器620也由多個(gè)存儲(chǔ)體構(gòu)成,可同時(shí)訪問(wèn)內(nèi)部的不同存儲(chǔ)體等。
      另外,命令執(zhí)行控制裝置650是實(shí)現(xiàn)主處理器110與從屬硬件之間的接口功能的裝置,具有如下功能為了有效活用從屬硬件,從傳遞給主處理器的多個(gè)命令列中適當(dāng)選擇命令,指示從屬硬件開(kāi)始執(zhí)行該命令,從從屬硬件接收命令執(zhí)行完成通知,主處理器在完成對(duì)應(yīng)于請(qǐng)求通知命令的處理時(shí),向主處理器通知該完成,并且,具有在從從屬硬件接收局部存儲(chǔ)器131中的存儲(chǔ)區(qū)域中的確保、釋放、待機(jī)或使用終止各旨意的通知后進(jìn)行局部存儲(chǔ)器131的訪問(wèn)管理的功能。命令執(zhí)行控制裝置650也可由CPU及存儲(chǔ)器構(gòu)成。
      如圖14所示,命令執(zhí)行控制裝置650具有通信存儲(chǔ)器151、命令隊(duì)列152、完成接收部153、執(zhí)行控制部660及完成通知部170。
      執(zhí)行控制部660具有次命令I(lǐng)D保持部161、次命令I(lǐng)D保持部162、存儲(chǔ)體表格663及存儲(chǔ)器通知部664,參照命令隊(duì)列152及通信存儲(chǔ)器151,具有如下功能根據(jù)所屬命令列的順序在任一從屬硬件中開(kāi)始執(zhí)行各命令列中的命令,控制可能有限的不同從屬硬件并行執(zhí)行連接的命令。
      即,執(zhí)行控制部660具有如下控制功能在向從屬硬件指示開(kāi)始執(zhí)行命令列中的命令后,從完成接收部153傳遞命令執(zhí)行完成,通過(guò)檢測(cè)從屬硬件執(zhí)行完命令后變?yōu)榉沁\(yùn)行狀態(tài)等,在某個(gè)從屬硬件中執(zhí)行一個(gè)命令列中的命令期間,判斷可否使用其它從屬硬件來(lái)執(zhí)行同一命令列中的下一命令,若可執(zhí)行,則在其它從屬硬件中并行執(zhí)行該命令,若不可執(zhí)行同一命令列中的下一命令,則判斷可否執(zhí)行其它命令列中的命令,若可執(zhí)行,則在對(duì)應(yīng)其它從屬硬件中并行執(zhí)行對(duì)應(yīng)其它命令列中的命令。另外,執(zhí)行控制部660在未特別表示的方面上與實(shí)施例1中所示的執(zhí)行控制部160等同。
      執(zhí)行控制部660在指示從屬硬件執(zhí)行命令后,在未圖示的內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中保持表示該命令位置的命令I(lǐng)D,在從完成接收部153傳遞該從屬硬件的命令執(zhí)行完成之前,判斷為在從屬硬件中執(zhí)行命令的狀態(tài),在從完成接收部153傳遞命令執(zhí)行完成之后,刪除內(nèi)部作業(yè)用存儲(chǔ)區(qū)域內(nèi)保持的該命令的命令I(lǐng)D等,判斷為未在從屬硬件中執(zhí)行命令的狀態(tài)。在內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中按執(zhí)行順序?qū)ψ鳛槊畛鎏幍母髅盍蟹謩e順序保持三個(gè)命令I(lǐng)D。由執(zhí)行控制部660在內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中對(duì)應(yīng)保持識(shí)別開(kāi)始執(zhí)行的命令的命令I(lǐng)D以及識(shí)別執(zhí)行該命令的從屬硬件是從處理器630、DMA控制器640的第一通道還是DMA控制器640的第二通道的硬件分區(qū)信息。
      在執(zhí)行控制部660內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中可對(duì)每個(gè)命令列存儲(chǔ)三組命令I(lǐng)D及硬件分區(qū)信息對(duì)應(yīng)于可通過(guò)從處理器630及雙通道DMA控制器640并行執(zhí)行三個(gè)命令。
      命令中存在指示使用局部存儲(chǔ)器131的處理的命令,執(zhí)行控制部660進(jìn)行控制,以便通過(guò)并行多個(gè)命令列中的命令并作為執(zhí)行對(duì)象,獨(dú)立每個(gè)命令列中利用的局部存儲(chǔ)器的存儲(chǔ)器空間,各從屬硬件對(duì)每個(gè)命令列使用不同的存儲(chǔ)區(qū)域來(lái)進(jìn)行處理。
      存儲(chǔ)器通知部664具有接收從從處理器630傳遞來(lái)的存儲(chǔ)體的確保、釋放、待機(jī)或使用終止的通知或從DMA控制器640傳遞的存儲(chǔ)體使用終止的通知,根據(jù)這些通知來(lái)如后所述更新存儲(chǔ)體表格663的功能,和在由從處理器630從DMA控制器640接收對(duì)待機(jī)的存儲(chǔ)體使用終止通知的情況下,通知從處理器630可使用該存儲(chǔ)體的功能。
      另外,存儲(chǔ)體表格663是對(duì)應(yīng)管理用于對(duì)命令中指示訪問(wèn)局部存儲(chǔ)器131的虛擬存儲(chǔ)體序號(hào)和實(shí)際上指定局部存儲(chǔ)器131的四個(gè)存儲(chǔ)體之一的物理存儲(chǔ)體序號(hào)的表格。
      3-2.存儲(chǔ)體表格的存儲(chǔ)器管理圖15是表示存儲(chǔ)體表格663的數(shù)據(jù)結(jié)構(gòu)及內(nèi)容例的圖。
      如圖所示,存儲(chǔ)體表格663是對(duì)指定局部存儲(chǔ)器131的存儲(chǔ)體#0-#3的0-3四個(gè)物理存儲(chǔ)體序號(hào)和物理存儲(chǔ)體序號(hào)665、執(zhí)行命令列識(shí)別序號(hào)666、虛擬存儲(chǔ)體序號(hào)667、從處理器狀態(tài)(SP狀態(tài))668和DMA控制器狀態(tài)(DMA狀態(tài))669對(duì)應(yīng)的表格。該圖中用括號(hào)表示的數(shù)值表示是由執(zhí)行控制部660變更得到的值。
      這里,執(zhí)行命令列識(shí)別序號(hào)666是由執(zhí)行控制部660識(shí)別作為當(dāng)前執(zhí)行對(duì)象的各命令列的序號(hào)。執(zhí)行控制部660在從屬硬件中開(kāi)始執(zhí)行某個(gè)命令列中的命令時(shí),因?yàn)樵诖蚊領(lǐng)D保持部161或次命令I(lǐng)D保持部162中存儲(chǔ)該命令列中下一位命令的命令I(lǐng)D,所以可根據(jù)次命令I(lǐng)D保持部的識(shí)別序號(hào)來(lái)表示作為當(dāng)前執(zhí)行對(duì)象的命令列。因此,執(zhí)行命令列識(shí)別序號(hào)666用作為次命令I(lǐng)D保持部識(shí)別序號(hào)的所謂1或2的值表示。但是,對(duì)于未對(duì)應(yīng)虛擬存儲(chǔ)體序號(hào)的物理存儲(chǔ)體序號(hào)的執(zhí)行命令列識(shí)別序號(hào)666作為表示未對(duì)應(yīng)的值,為預(yù)定的例如3等值。
      虛擬存儲(chǔ)體序號(hào)667作為對(duì)命令中屬性中指定的虛擬存儲(chǔ)體序號(hào),是由執(zhí)行控制部660與物理存儲(chǔ)體序號(hào)對(duì)應(yīng)的序號(hào)。另外,虛擬存儲(chǔ)體序號(hào)可在命令指定中0-3之一。不對(duì)應(yīng)虛擬存儲(chǔ)體序號(hào)的物理存儲(chǔ)體序號(hào)的虛擬存儲(chǔ)體序號(hào)667一旦表示不對(duì)應(yīng),則為預(yù)定的例如4等值。
      SP狀態(tài)668僅對(duì)與虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的各物理存儲(chǔ)體序號(hào)具有有效含義,從處理器630取得表示有必要使用由對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)表示的物理存儲(chǔ)體意思的使用中狀態(tài)、或物理存儲(chǔ)體不在使用中的待機(jī)狀態(tài)、所謂無(wú)論何處的不定狀態(tài)之一的值。另外,表示使用中狀態(tài)、待機(jī)狀態(tài)、不定狀態(tài)的各值分別是事先設(shè)定為例如1、2、0等的值。
      另外,DMA狀態(tài)669僅對(duì)與虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的各物理存儲(chǔ)體序號(hào)具有有效含義,DMA控制器640取得表示有必要使用由對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)表示的物理存儲(chǔ)體意思的使用中狀態(tài)、不在使用中狀態(tài)含義的不定狀態(tài)之一的值。另外,表示使用中狀態(tài)、不定狀態(tài)的各值分別是事先設(shè)定為例如1、0等的值。
      執(zhí)行控制部660為了管理虛擬存儲(chǔ)體序號(hào)與物理存儲(chǔ)體序號(hào)的對(duì)應(yīng)關(guān)系而使用存儲(chǔ)體表格663。
      3-2-1.命令的確保、釋放指定執(zhí)行控制部660在從屬硬件中執(zhí)行某個(gè)命令列中的命令時(shí),在指定虛擬存儲(chǔ)體序號(hào)作為該命令中的屬性中應(yīng)確保的命令的情況下,對(duì)應(yīng)空的物理存儲(chǔ)體序號(hào)、存儲(chǔ)表示命令列中下一位命令位置的命令I(lǐng)D的次命令I(lǐng)D保持部的識(shí)別序號(hào)和在執(zhí)行命令中的屬性中指定的虛擬存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格663的內(nèi)容,使SP狀態(tài)668和DMA狀態(tài)669中執(zhí)行由該命令的命令種類(lèi)指定的命令的從屬硬件的一方為使用中狀態(tài),另一方為不定狀態(tài)。
      但是,指定為該命令中的屬性中應(yīng)確保的虛擬存儲(chǔ)體序號(hào)在已和存儲(chǔ)體表格663中物理存儲(chǔ)體序號(hào)對(duì)應(yīng)的情況下,即對(duì)應(yīng)于相同的命令列的先行命令或在執(zhí)行該命令時(shí)已確保該虛擬存儲(chǔ)體的情況下,當(dāng)SP狀態(tài)668及DMA狀態(tài)669為不定狀態(tài)時(shí),不重新對(duì)應(yīng)虛擬存儲(chǔ)體序號(hào)和物理存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格663的內(nèi)容,使對(duì)應(yīng)于已對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)的SP狀態(tài)668及DMA狀態(tài)669中執(zhí)行該命令的從屬硬件一方處于使用中狀態(tài)。
      另外,在指定虛擬存儲(chǔ)體序號(hào)作為命令中的屬性中應(yīng)釋放的情況下,執(zhí)行控制部660更新存儲(chǔ)體表格663的內(nèi)容,分別將與該虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)的執(zhí)行命令列識(shí)別序號(hào)666及虛擬存儲(chǔ)體序號(hào)667變?yōu)槭孪仍O(shè)定為表示不對(duì)應(yīng)的值的例如3和4等值,使SP狀態(tài)668及DMA狀態(tài)669變?yōu)椴欢顟B(tài)。
      實(shí)際上在從屬硬件中執(zhí)行命令之前由執(zhí)行控制部660更新對(duì)應(yīng)于包含應(yīng)確?;蜥尫诺奶摂M存儲(chǔ)體序號(hào)的命令的存儲(chǔ)體表格663。
      另外,在指定為命令中屬性中應(yīng)確保的虛擬存儲(chǔ)體序號(hào)在存儲(chǔ)體表格663中已與物理存儲(chǔ)體序號(hào)對(duì)應(yīng)的情況下,當(dāng)SP狀態(tài)668或DMA狀態(tài)669為不定狀態(tài)時(shí),執(zhí)行控制部660因?yàn)榕袛酁檫€不能在從屬硬件中執(zhí)行該命令,所以不進(jìn)行存儲(chǔ)體表格663的更新。另外,在指定為命令中屬性中應(yīng)確保的虛擬存儲(chǔ)體序號(hào)在存儲(chǔ)體表格663中還未與物理存儲(chǔ)體序號(hào)對(duì)應(yīng)的情況下,可與虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)不空時(shí),執(zhí)行控制部660因?yàn)榕袛酁檫€不能在從屬硬件中執(zhí)行該命令,所以不進(jìn)行存儲(chǔ)體表格663的更新。
      3-2-2.從處理器的確保、釋放、待機(jī)、使用終止通知從處理器630在指定虛擬存儲(chǔ)體后通知命令執(zhí)行控制裝置650確保、釋放、待機(jī)或使用終止存儲(chǔ)體的情況下,由執(zhí)行控制部660中的存儲(chǔ)器通知部664接收該通知,存儲(chǔ)器通知部664根據(jù)通知內(nèi)容如下所示地更新存儲(chǔ)體表格663。
      (1)確保通知在從從處理器630接收存儲(chǔ)體的確保通知時(shí),存儲(chǔ)器通知部664參照?qǐng)?zhí)行控制部660的內(nèi)部作業(yè)用存儲(chǔ)區(qū)域來(lái)判斷從處理器執(zhí)行的命令屬于哪個(gè)命令列,參照存儲(chǔ)體表格663,判斷該命令列中指定的虛擬存儲(chǔ)體序號(hào)與物理存儲(chǔ)體序號(hào)是否已對(duì)應(yīng),若對(duì)應(yīng),則對(duì)應(yīng)該命令列的識(shí)別序號(hào)、指定的虛擬存儲(chǔ)體序號(hào)和空的物理存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格663的內(nèi)容,使SP狀態(tài)668為使用中狀態(tài),DMA狀態(tài)669為不定狀態(tài),并將其物理存儲(chǔ)體序號(hào)與接收到的虛擬存儲(chǔ)體序號(hào)一起通知給從處理器630。
      在已對(duì)應(yīng)指定的虛擬存儲(chǔ)體序號(hào)和物理存儲(chǔ)體序號(hào)的情況下,當(dāng)DMA狀態(tài)669為不定狀態(tài)時(shí),不重新進(jìn)行虛擬存儲(chǔ)體序號(hào)與物理存儲(chǔ)體序號(hào)的對(duì)應(yīng),更新存儲(chǔ)體表格663的內(nèi)容,使對(duì)應(yīng)于已對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)的SP狀態(tài)668為使用中狀態(tài),將該物理存儲(chǔ)體序號(hào)與接收到的虛擬存儲(chǔ)體序號(hào)一起通知給從處理器630。
      在從從處理器630接收指定虛擬存儲(chǔ)體序號(hào)的存儲(chǔ)體確保通知時(shí),由存儲(chǔ)體表格663來(lái)對(duì)應(yīng)虛擬存儲(chǔ)體序號(hào)與物理存儲(chǔ)體序號(hào),在對(duì)應(yīng)的DMA狀態(tài)669為不定狀態(tài)時(shí),存儲(chǔ)器通知部664更新存儲(chǔ)體表格663的內(nèi)容,使對(duì)應(yīng)的SP狀態(tài)668處于待機(jī)狀態(tài)。之后,在DMA狀態(tài)669變?yōu)椴欢顟B(tài)后,存儲(chǔ)器通知部664更新存儲(chǔ)體表格663,使SP狀態(tài)668為使用中狀態(tài),通知從處理器630該物理存儲(chǔ)體序號(hào)和對(duì)應(yīng)的虛擬存儲(chǔ)體序號(hào)。
      另外,在從從處理器630接收指定虛擬存儲(chǔ)體序號(hào)的存儲(chǔ)體確保通知時(shí),不通過(guò)存儲(chǔ)體表格663對(duì)應(yīng)虛擬存儲(chǔ)體序號(hào)和物理存儲(chǔ)體序號(hào),當(dāng)可與虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)空時(shí),存儲(chǔ)器通知部664在執(zhí)行控制部660內(nèi)部保持虛擬存儲(chǔ)體序號(hào),在產(chǎn)生任何空的物理存儲(chǔ)體序號(hào)后,對(duì)應(yīng)虛擬存儲(chǔ)體序號(hào)和物理存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格663,使SP狀態(tài)668為使用中狀態(tài),DMA狀態(tài)669為不定狀態(tài),通知從處理器630該物理存儲(chǔ)體序號(hào)與保持的虛擬存儲(chǔ)體序號(hào)。
      (2)釋放通知在從從處理器630接收存儲(chǔ)體釋放通知時(shí),存儲(chǔ)器通知部664參照?qǐng)?zhí)行控制部660內(nèi)部作業(yè)用存儲(chǔ)區(qū)域等判斷該從處理器執(zhí)行的命令屬于哪個(gè)命令列,參照存儲(chǔ)體表格663,將該命令列中與指定虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)的執(zhí)行命令列識(shí)別序號(hào)666及虛擬存儲(chǔ)體序號(hào)667分別變?yōu)槭孪仍O(shè)定為表示不對(duì)應(yīng)的值的例如3及4等值,更新存儲(chǔ)體表格663的內(nèi)容,使SP狀態(tài)668及DMA狀態(tài)669變?yōu)椴欢顟B(tài)。
      (3)待機(jī)通知在從從處理器630接收存儲(chǔ)體的待機(jī)通知時(shí),存儲(chǔ)器通知部664參照?qǐng)?zhí)行控制部660的內(nèi)部作業(yè)用存儲(chǔ)區(qū)域等判斷該從處理器執(zhí)行的命令屬于哪個(gè)命令列,參照存儲(chǔ)體表格663,在命令列中與指定虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的DMA狀態(tài)669不是不定狀態(tài)時(shí),存儲(chǔ)器通知部664更新存儲(chǔ)體表格663的內(nèi)容,使對(duì)應(yīng)的SP狀態(tài)668為待機(jī)狀態(tài)。之后,在DMA狀態(tài)669為不定狀態(tài)后,存儲(chǔ)器通知部664更新存儲(chǔ)體表格663,使SP狀態(tài)668為使用中狀態(tài),并向從處理器630通知與該虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)和該虛擬存儲(chǔ)體序號(hào)。
      另外,在存儲(chǔ)體的待機(jī)通知中,若存儲(chǔ)體表格663中與指定的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的DMA狀態(tài)669為不定狀態(tài),則存儲(chǔ)器通知部664更新存儲(chǔ)體表格663,使對(duì)應(yīng)的SP狀態(tài)668為使用中狀態(tài),通知從處理器630對(duì)應(yīng)于該虛擬存儲(chǔ)體序號(hào)的物理存儲(chǔ)體序號(hào)和虛擬存儲(chǔ)體序號(hào)。
      (4)使用終止的通知在從從處理器630接收存儲(chǔ)體的使用終止通知的情況下,存儲(chǔ)器通知部664參照?qǐng)?zhí)行控制部660的內(nèi)部作業(yè)用存儲(chǔ)區(qū)域等判斷從處理器執(zhí)行的命令屬于哪個(gè)命令列,參照存儲(chǔ)體表格663,更新存儲(chǔ)體表格663,使該命令列中與指定的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理序號(hào)的SP狀態(tài)668為不定狀態(tài)。
      3-2-3.DMA控制器的使用終止通知在DMA控制器640表示通道序號(hào)并通知命令執(zhí)行控制裝置650存儲(chǔ)體使用終止時(shí),由執(zhí)行控制部660中的存儲(chǔ)器通知部664接收該通知,存儲(chǔ)器通知部664參照?qǐng)?zhí)行控制部660的內(nèi)部作業(yè)用存儲(chǔ)區(qū)域,根據(jù)從DMA控制器640接收的通道序號(hào),得到對(duì)該通道序號(hào)使用終止的虛擬存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格663的內(nèi)容,使存儲(chǔ)體表格663中與虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)的DMA狀態(tài)669為不定狀態(tài)。
      3-3.操作下面說(shuō)明處理系統(tǒng)600的操作。
      在處理系統(tǒng)600中,主處理器10執(zhí)行主處理器處理(參照?qǐng)D9),命令執(zhí)行控制裝置650作為基于從主處理器110傳遞來(lái)的命令列在從屬硬件中執(zhí)行命令的處理的執(zhí)行控制處理;在從屬硬件中執(zhí)行命令期間使用存儲(chǔ)體表格663來(lái)管理局部存儲(chǔ)器131的處理(下面稱(chēng)為命令執(zhí)行中存儲(chǔ)器管理處理);和與實(shí)施例1中所示的命令執(zhí)行控制裝置150一樣,由命令執(zhí)行完成通知接口通知主處理器命令執(zhí)行完成的處理。
      另外,事先由程序來(lái)指定主處理器110向命令執(zhí)行控制裝置650傳遞的命令列。
      下面,用圖16-圖19所示的流程圖來(lái)詳細(xì)說(shuō)明執(zhí)行控制處理及命令執(zhí)行中存儲(chǔ)器管理處理。
      3-3-1.執(zhí)行控制處理圖16是表示由命令執(zhí)行控制裝置650內(nèi)的執(zhí)行控制部660進(jìn)行的部分執(zhí)行控制處理的流程圖,圖17是表示由命令執(zhí)行控制裝置650內(nèi)的執(zhí)行控制部660進(jìn)行的執(zhí)行控制處理中圖16所示以外部分的流程圖。
      首先,執(zhí)行控制部660判斷由所謂1的識(shí)別序號(hào)識(shí)別的次命令I(lǐng)D保持部161中保持命令I(lǐng)D的某個(gè)命令列#1中的命令是否是在從屬硬件中執(zhí)行的狀態(tài)(步驟S701)。
      執(zhí)行控制部660在指示從屬硬件執(zhí)行命令時(shí),將表示命令位置的命令I(lǐng)D及硬件分區(qū)信息與該命令所屬的命令列對(duì)應(yīng),保持在執(zhí)行控制部660內(nèi)部的作業(yè)用存儲(chǔ)區(qū)域中(步驟S711),之后,一旦從完成接收部153傳遞從屬硬件的命令執(zhí)行完成,則通過(guò)刪除作業(yè)用存儲(chǔ)區(qū)域內(nèi)保持的該命令的命令I(lǐng)D及硬件分區(qū)信息,管理執(zhí)行中的命令,由此,在例如對(duì)命令列#1保持一個(gè)以上的命令I(lǐng)D等期間,判斷為在從屬硬件中執(zhí)行命令列#1中的命令的狀態(tài)。
      在步驟S701中,在判斷為不是在從屬硬件中執(zhí)行命令列#1中的命令的情況下,執(zhí)行控制部660判斷次命令I(lǐng)D保持部161中保持的命令I(lǐng)D是否為0(步驟S702),若命令I(lǐng)D為0,則判斷命令隊(duì)列152中是否存儲(chǔ)命令I(lǐng)D(步驟S703)。
      在步驟S701中,在判斷為在從屬硬件中執(zhí)行命令列#1中的命令的情況下,執(zhí)行控制部660判斷次命令I(lǐng)D保持部161中保持的命令I(lǐng)D是否為0(步驟S704),在該命令I(lǐng)D不為0時(shí),執(zhí)行控制部660著眼次命令I(lǐng)D保持部161中保持的命令I(lǐng)D所示的命令用區(qū)域中存儲(chǔ)的命令,譯碼該命令(步驟S705)。
      在步驟S702中,在判斷為次命令I(lǐng)D保持部161中保持的命令I(lǐng)D不為0的情況下,執(zhí)行控制部660著眼次命令I(lǐng)D保持部161中保持的命令I(lǐng)D所示的命令用區(qū)域中存儲(chǔ)的命令,譯碼該命令(步驟S705)。
      另外,在步驟S703中,在判斷為命令隊(duì)列152中存儲(chǔ)了命令I(lǐng)D的情況下,執(zhí)行控制部660著眼命令隊(duì)列152的開(kāi)頭命令I(lǐng)D所示的命令用區(qū)域中存儲(chǔ)的命令,譯碼該命令(步驟S705)。
      在步驟S705之后,執(zhí)行控制部660通過(guò)參照內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中保持的硬件分區(qū)信息,判斷執(zhí)行該命令的從屬硬件是否空、即非運(yùn)行狀態(tài)(步驟S706),在判斷為從屬硬件空的情況下,若命令中的屬性中包含應(yīng)確保的虛擬存儲(chǔ)體序號(hào),則參照存儲(chǔ)體表格663,調(diào)查可與該虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)是否空或已對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)所示的存儲(chǔ)體是否為可使用狀態(tài)(步驟S707)。該步驟S707是判斷指定的存儲(chǔ)體是否可使用的處理。
      在步驟S706中,在以一個(gè)從處理器和兩個(gè)即兩通道的DMA控制器為上限的硬件資源中,除去當(dāng)前保持的各硬件分區(qū)信息所示的從屬硬件后即為所謂的空的從屬硬件。
      在步驟S707中,在判斷為指定的存儲(chǔ)體可使用的情況下,執(zhí)行控制部660經(jīng)步驟S703后在步驟S705中著眼命令隊(duì)列152中的命令I(lǐng)D所示的命令時(shí),從命令隊(duì)列152中刪除該命令I(lǐng)D(步驟S708)。另外,經(jīng)步驟S703后,在步驟S705中譯碼命令隊(duì)列152內(nèi)的命令I(lǐng)D所示命令的情況下,執(zhí)行控制部660省略步驟S708的處理。
      接著,執(zhí)行控制部660將譯碼后的命令內(nèi)所示的次命令I(lǐng)D存儲(chǔ)在次命令I(lǐng)D保持部161中(步驟S709),參照該命令內(nèi)的屬性,若包含存儲(chǔ)體的確?;蜥尫诺闹付ǎ瑒t根據(jù)該指定來(lái)更新存儲(chǔ)體表格663(步驟S710)。另外,在不包含存儲(chǔ)體的確?;蜥尫诺闹付ǖ那闆r下,執(zhí)行控制部660省略步驟S710的處理。
      步驟S710中存儲(chǔ)體表格663的更新內(nèi)容如上所述(3-2-1、命令的確保、釋放指定)。
      在步驟S710之后,執(zhí)行控制部660將指定由命令開(kāi)頭比特指定的從屬硬件用的硬件分區(qū)信息和命令I(lǐng)D與命令列#1對(duì)應(yīng)后保持在內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中,指示在該從屬硬件中開(kāi)始執(zhí)行命令(步驟711)。
      執(zhí)行控制部660在命令內(nèi)的開(kāi)頭比特所指定的從屬硬件種類(lèi)是從處理器的情況下,保持表示從處理器的硬件分區(qū)信息,在從處理器中開(kāi)始執(zhí)行命令,在從屬硬件種類(lèi)是DMA控制器的情況下,若DMA控制器的第一通道為空,則保持表示第一通道的硬件分區(qū)信息,指定第一通道,在DMA控制器中開(kāi)始執(zhí)行命令,若第一通道不空但第二通道空,則保持表示第二通道的硬件分區(qū)信息,指定第二通道后,在DMA控制器中開(kāi)始執(zhí)行命令。
      另外,根據(jù)向從屬硬件的命令開(kāi)始執(zhí)行的指示,執(zhí)行控制部660從命令中的屬性中提取從屬硬件必需的信息和執(zhí)行硬件不同的參數(shù)種類(lèi),發(fā)送給從屬硬件。另外,在命令內(nèi)的屬性中包含確保存儲(chǔ)體用的虛擬存儲(chǔ)體序號(hào)的指時(shí)間,執(zhí)行控制部660向從屬硬件傳遞存儲(chǔ)體表格663中與指定虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào),從屬硬件接收該序號(hào)后,將物理存儲(chǔ)體序號(hào)指定的局部存儲(chǔ)器131中的存儲(chǔ)體作為處理對(duì)象,執(zhí)行命令。
      然后,在從從處理器630或DMA控制器640之一的通道向完成接收部153傳遞命令執(zhí)行完成時(shí),從完成接收部153傳遞該旨意后,執(zhí)行控制部160從內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中刪除執(zhí)行完成的命令的命令I(lǐng)D及硬件分區(qū)信息。
      在步驟S711之后,或在步驟S706中判斷為可執(zhí)行命令的從屬硬件不空的情況下,在步驟S707中判斷為不可使用存儲(chǔ)體的情況下,在步驟S703中判斷為命令隊(duì)列152中沒(méi)有命令I(lǐng)D的情況或在步驟S704中判斷為命令I(lǐng)D為0的情況下,執(zhí)行控制部660判斷是否為在從屬硬件中執(zhí)行由所謂2的識(shí)別序號(hào)識(shí)別的次命令I(lǐng)D保持部162中保持命令I(lǐng)D的某個(gè)命令列#2的命令的狀態(tài)(步驟S721)。
      步驟S721-S731的處理(參照?qǐng)D17)除作為處理對(duì)象的命令列不同外,與上述步驟S701-S711的處理(參照?qǐng)D16)相同,這里省略說(shuō)明。
      由此,執(zhí)行控制部660重復(fù)步驟S701-S731的執(zhí)行控制處理。
      3-3-2.命令執(zhí)行中存儲(chǔ)器管理處理圖18是表示命令執(zhí)行控制裝置650中執(zhí)行控制部660內(nèi)的存儲(chǔ)器通知部664進(jìn)行的部分命令執(zhí)行中存儲(chǔ)器管理處理的流程圖,圖19是表示命令執(zhí)行中存儲(chǔ)器管理處理中圖18所示以外部分的流程圖。
      命令執(zhí)行中存儲(chǔ)器管理處理是通過(guò)例如不同線程構(gòu)成的控制程序等與上述執(zhí)行控制處理(參照?qǐng)D16、圖17)并行執(zhí)行的處理。
      對(duì)命令執(zhí)行中存儲(chǔ)器管理處理中的存儲(chǔ)體表格663的更新內(nèi)容如上所述(3-2-2、從處理器的確保、釋放、待機(jī)、使用終止通知、3-2-3、DMA控制器的使用終止通知)。
      存儲(chǔ)器通知部664一旦從從處理器630接收指定虛擬存儲(chǔ)體序號(hào)后傳遞的存儲(chǔ)體的確保通知(步驟S741),則判斷內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中指定從處理器的硬件分區(qū)信息與哪個(gè)命令列對(duì)應(yīng)并保持,在存儲(chǔ)體表格663中,判斷該命令列中指定的虛擬存儲(chǔ)體序號(hào)與任一物理存儲(chǔ)體序號(hào)是否已對(duì)應(yīng)(步驟S742),在未對(duì)應(yīng)的情況下,判斷是否有空的物理存儲(chǔ)體序號(hào)(步驟S743),當(dāng)存在空物理存儲(chǔ)體序號(hào)時(shí),對(duì)應(yīng)指定的虛擬存儲(chǔ)體序號(hào)和空的物理存儲(chǔ)體序號(hào),并且更新存儲(chǔ)體表格663的內(nèi)容,使SP狀態(tài)668為使用中狀態(tài),DMA狀態(tài)669為不定狀態(tài)(步驟S744),向從處理器630通知該對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)和指定的虛擬存儲(chǔ)體序號(hào)(步驟S745)。
      在步驟S743中,在判斷為沒(méi)有空的物理存儲(chǔ)體序號(hào)時(shí),存儲(chǔ)器通知部664為了等待存儲(chǔ)體空而進(jìn)行確??刂疲趫?zhí)行控制部660的內(nèi)部存儲(chǔ)區(qū)域中存儲(chǔ)并保持指定的虛擬存儲(chǔ)體序號(hào)(步驟S746)。此時(shí),與虛擬存儲(chǔ)體序號(hào)一起還保持表示從處理器中執(zhí)行的命令的命令列的序號(hào)。
      在步驟S742中,通過(guò)存儲(chǔ)體表格663判斷為存在已與指定的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)的情況下,存儲(chǔ)器通知部664判斷該物理存儲(chǔ)體序號(hào)表示的存儲(chǔ)體是否可使用(步驟S747)。在步驟S747中,存儲(chǔ)器通知部664根據(jù)存儲(chǔ)體表格663中與物理存儲(chǔ)體序號(hào)對(duì)應(yīng)的DMA狀態(tài)669為不定狀態(tài),判斷為該存儲(chǔ)體可使用。
      在步驟S747中,在判斷為存儲(chǔ)體可使用的情況下,存儲(chǔ)器通知部664將存儲(chǔ)體表格663中與表示該存儲(chǔ)體的物理存儲(chǔ)體序號(hào)對(duì)應(yīng)的SP狀態(tài)668更新為表示使用中狀態(tài)的值(步驟S749),向從處理器630通知對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)及指定的虛擬存儲(chǔ)體序號(hào)(步驟S750)。另一方面,在步驟S747中,在判斷為該存儲(chǔ)體不可使用的情況下,存儲(chǔ)器通知部664將存儲(chǔ)體表格663中與表示該存儲(chǔ)體的物理存儲(chǔ)體序號(hào)對(duì)應(yīng)的SP狀態(tài)668更新為表示待機(jī)狀態(tài)的值(步驟S748)。
      存儲(chǔ)器通知部664一旦從從處理器630接收指定虛擬存儲(chǔ)體序號(hào)后傳遞來(lái)的存儲(chǔ)體的待機(jī)通知時(shí)(步驟S751),判斷內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中指定從處理器的硬件分區(qū)信息與哪個(gè)命令列對(duì)應(yīng)并保持,在存儲(chǔ)體表格663中,指定與該命令列中指定的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào),判斷由該物理存儲(chǔ)體序號(hào)表示的存儲(chǔ)體是否可使用(步驟S747),之后,根據(jù)判斷結(jié)果,進(jìn)行上述步驟S748或步驟S749及步驟S750的處理。
      存儲(chǔ)器通知部664一旦從從處理器630接收指定虛擬存儲(chǔ)體序號(hào)后傳遞來(lái)的存儲(chǔ)體的釋放通知時(shí)(步驟S752),判斷內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中指定從處理器的硬件分區(qū)信息與哪個(gè)命令列對(duì)應(yīng)并保持,在存儲(chǔ)體表格663中,指定與該命令列中指定的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格663,使該物理存儲(chǔ)體序號(hào)變?yōu)榭眨?,將物理存?chǔ)體序號(hào)的執(zhí)行命令列識(shí)別序號(hào)666設(shè)為3,虛擬存儲(chǔ)體序號(hào)設(shè)為4、SP狀態(tài)668及DMA狀態(tài)669設(shè)為表示不定狀態(tài)的值(步驟S753)。
      存儲(chǔ)器通知部664一旦從從處理器630接收指定虛擬存儲(chǔ)體序號(hào)后傳遞來(lái)的存儲(chǔ)體的使用終止通知時(shí)(步驟S754),判斷內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中指定從處理器的硬件分區(qū)信息與哪個(gè)命令列對(duì)應(yīng)并保持,在存儲(chǔ)體表格663中,指定與該命令列中指定的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格663,使該物理存儲(chǔ)體序號(hào)變?yōu)榭?,即,將物理存?chǔ)體序號(hào)SP狀態(tài)668設(shè)為表示不定狀態(tài)的值(步驟S755)。
      另外,存儲(chǔ)器通知部664一旦從DMA控制器640接收指定通道序號(hào)后傳遞來(lái)的存儲(chǔ)體的使用終止通知時(shí)(步驟S754),判斷內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中指定DMA控制器的指定通道的硬件分區(qū)信息與哪個(gè)命令列對(duì)應(yīng)并保持,判斷與該硬件分區(qū)信息對(duì)應(yīng)的命令I(lǐng)D指定的命令屬性所示的虛擬存儲(chǔ)體序號(hào),在存儲(chǔ)體表格663中,指定與該命令列中的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格663,將該物理存儲(chǔ)體序號(hào)的DMA狀態(tài)669設(shè)為表示不定狀態(tài)的值(步驟S755)。
      在步驟S745、S746、S748、S750、S753或S755終止后,或在步驟S754中未從從處理器630接收存儲(chǔ)體使用終止的通知的情況下,存儲(chǔ)器通知部664判斷存儲(chǔ)體表格663中是否存在SP狀態(tài)668為待機(jī)狀態(tài)(步驟S756)。在步驟S756中,在判斷為存在為待機(jī)狀態(tài)的情況下,存儲(chǔ)器通知部664判斷該待機(jī)的存儲(chǔ)體是否可使用,即與該待機(jī)狀態(tài)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)的DMA狀態(tài)669是否為不定狀態(tài)(步驟S757),若為不定狀態(tài),則將SP狀態(tài)668從待機(jī)狀態(tài)更新為使用中狀態(tài)(步驟S758),向從處理器630通知對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)以及對(duì)應(yīng)的虛擬存儲(chǔ)體序號(hào)(步驟S759)。另外,在步驟S757中判斷為不是不定狀態(tài)的情況下,或在步驟S756中判斷為沒(méi)有待機(jī)狀態(tài)的情況下,存儲(chǔ)器通知部664跳過(guò)步驟S758及S759的處理。
      之后,存儲(chǔ)器通知部664判斷是否存在為了通過(guò)步驟S746等待存儲(chǔ)體空而保持的虛擬存儲(chǔ)體序號(hào)(步驟S760),在存在保持的虛擬存儲(chǔ)體序號(hào)的情況下,判斷是否存在空的存儲(chǔ)體、即是否存在空的物理存儲(chǔ)體序號(hào)(步驟S761),若存在空的物理存儲(chǔ)體序號(hào),則對(duì)應(yīng)該物理存儲(chǔ)體序號(hào)、保持的虛擬存儲(chǔ)體序號(hào)和命令列的序號(hào),更新存儲(chǔ)體表格663,設(shè)物理存儲(chǔ)體序號(hào)中的SP狀態(tài)668為使用中狀態(tài),設(shè)DMA狀態(tài)669為不定狀態(tài)(步驟S762),刪除保持的虛擬存儲(chǔ)體序號(hào)及命令列的序號(hào),通知從處理器630對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)及對(duì)應(yīng)的虛擬存儲(chǔ)體序號(hào)(步驟S763),再返回步驟S741的處理。當(dāng)在步驟S761中判斷為沒(méi)有空的物理存儲(chǔ)體序號(hào)的情況下,或在步驟S760中判斷為沒(méi)有為了等待存儲(chǔ)體空而保持的虛擬存儲(chǔ)體序號(hào)的情況下,存儲(chǔ)器通知部664跳過(guò)步驟S762及S763的處理,再返回步驟S741的處理。
      3-3-3.從處理器的操作從處理器630在發(fā)送參數(shù)種類(lèi)等必要信息的同時(shí)指示執(zhí)行控制部660開(kāi)始執(zhí)行命令的情況下,執(zhí)行由該命令指定的處理。具體而言,從處理器630通過(guò)翻譯執(zhí)行對(duì)應(yīng)于命令內(nèi)容的程序,執(zhí)行命令所指定的處理。
      在從處理器用程序中,如上所述,可包含在指定虛擬存儲(chǔ)體序號(hào)的同時(shí),通知存儲(chǔ)體的確保、待機(jī)、釋放及使用終止用的各命令(下面分別稱(chēng)為alloc命令、wait命令、release命令及done命令)。
      下面使用命令列單元中的確保及釋放和執(zhí)行命令列中命令的從屬硬件單元中的確保及釋放兩個(gè)概念來(lái)說(shuō)明存儲(chǔ)體的使用權(quán)。通過(guò)執(zhí)行控制部660進(jìn)行管理,在命令列單元中得到某個(gè)存儲(chǔ)體的使用權(quán),執(zhí)行該命令列中某個(gè)命令的從屬硬件得到從屬硬件單元中的存儲(chǔ)體的使用權(quán),執(zhí)行相同命令列中其它命令的從屬硬件不能得到該存儲(chǔ)體的使用權(quán)。因此,在執(zhí)行構(gòu)成相同命令列的各命令的從屬硬件之間,可指定同一虛擬存儲(chǔ)體序號(hào)來(lái)同時(shí)共用相同的存儲(chǔ)體。
      alloc命令是具有從處理器確保作為對(duì)應(yīng)于指定虛擬存儲(chǔ)體序號(hào)的存儲(chǔ)體使用權(quán)意義的存儲(chǔ)器管理用命令。該使用權(quán)的確保是從屬硬件單元的確保,在沒(méi)有命令列單元中的確保時(shí),也可兼為命令列單元中的確保。
      wait命令是存儲(chǔ)器管理用命令,具有如下意義根據(jù)包含從處理器執(zhí)行的命令的命令列中先開(kāi)始執(zhí)行的命令,暫時(shí)以確保存儲(chǔ)體的使用權(quán)為前提,換言之,以在命令列單元中確保存儲(chǔ)體的使用權(quán)為前提,因?yàn)榇嬖谄渌鼜膶儆布?dāng)前具有對(duì)應(yīng)于虛擬存儲(chǔ)體序號(hào)的存儲(chǔ)體使用權(quán)的可能性,所以等待使用終止后,從處理器在從屬硬件單元中得到存儲(chǔ)體的使用權(quán)。
      release命令是具有如下意義的存儲(chǔ)器管理用命令在包含從處理器執(zhí)行的命令的命令列單元中釋放對(duì)應(yīng)于指定虛擬存儲(chǔ)體序號(hào)的存儲(chǔ)體的使用權(quán)。當(dāng)由release命令來(lái)釋放命令列單元中的存儲(chǔ)體的使用權(quán)時(shí),即使從處理器的從屬硬件單元中的存儲(chǔ)體的使用權(quán)未釋放,也釋放該使用權(quán)。
      另外,done命令是具有從處理器釋放對(duì)應(yīng)于指定虛擬存儲(chǔ)體序號(hào)的從屬硬件單元中的存儲(chǔ)體使用權(quán)的意義,同時(shí)具有在包含從處理器執(zhí)行的命令的命令列單元中原樣確保存儲(chǔ)體使用權(quán)意義的存儲(chǔ)器管理用命令。
      從處理器630翻譯執(zhí)行指定虛擬存儲(chǔ)體序號(hào)的alloc命令或wait命令,在附加虛擬存儲(chǔ)體序號(hào)并通知存儲(chǔ)器通知部664存儲(chǔ)體的確保或待機(jī)后,等待從存儲(chǔ)器通知部664發(fā)送虛擬存儲(chǔ)體序號(hào)及物理存儲(chǔ)體序號(hào),停止命令的翻譯執(zhí)行,在發(fā)送虛擬存儲(chǔ)體序號(hào)及物理存儲(chǔ)體序號(hào)后,翻譯執(zhí)行該alloc命令或wait命令后的命令。
      在從處理器用的程序中,假設(shè)在alloc命令或wait命令之后,設(shè)置對(duì)確?;虼龣C(jī)的存儲(chǔ)體進(jìn)行訪問(wèn)的命令。此時(shí),從處理器630在從存儲(chǔ)器通知部664接收物理存儲(chǔ)體序號(hào)后,翻譯進(jìn)行該訪問(wèn)的命令,訪問(wèn)用接收的物理存儲(chǔ)體序號(hào)表示的存儲(chǔ)體。
      另外,從處理器630翻譯執(zhí)行指定虛擬存儲(chǔ)體序號(hào)的release命令或done命令,附加虛擬存儲(chǔ)體序號(hào)并通知存儲(chǔ)器通知部664存儲(chǔ)體的確?;虼龣C(jī)后,特別不停止命令的翻譯執(zhí)行,而翻譯執(zhí)行release命令或done命令的下一命令。
      3-3-4、DMA控制器的操作DMA控制器640在伴隨指定通道序號(hào)及發(fā)送存儲(chǔ)器地址等必要信息來(lái)指示執(zhí)行控制部660開(kāi)始執(zhí)行命令的情況下,由指定的通道來(lái)執(zhí)行由命令指定的數(shù)據(jù)傳送處理,在傳送終止時(shí),附加通道序號(hào)后通知存儲(chǔ)器通知部664使用終止。
      3-3-5、具體操作例圖20是表示某一命令列的各命令并列執(zhí)行狀態(tài)的時(shí)間圖。該圖中,還附加從處理器630中從處理器用程序770的結(jié)構(gòu)例。
      命令列A1是在結(jié)構(gòu)要素中包含通信存儲(chǔ)器151的各命令用區(qū)域中存儲(chǔ)的各命令(cmd1-cmd4)的命令列。
      命令列A1的開(kāi)頭命令(cmd1)具有表示指定所謂0的虛擬存儲(chǔ)體序號(hào)的存儲(chǔ)體確保的屬性,是指示從主存儲(chǔ)器620向由所謂0的虛擬存儲(chǔ)體序號(hào)指定的局部存儲(chǔ)器131傳遞數(shù)據(jù)的ReadDMA命令。
      命令列A1的第二個(gè)命令(cmd2)具有表示指定所謂1的虛擬存儲(chǔ)體序號(hào)的存儲(chǔ)體確保的屬性,是指示從主存儲(chǔ)器620向由所謂1的虛擬存儲(chǔ)體序號(hào)指定的局部存儲(chǔ)器131傳遞數(shù)據(jù)的ReadDMA命令。
      命令列A1的第三個(gè)命令(cmd3)是在從處理器630中執(zhí)行數(shù)據(jù)運(yùn)算等的SPstart命令。
      命令列A1的第四個(gè)命令(cmd4)具有表示指定所謂2的虛擬存儲(chǔ)體序號(hào)的存儲(chǔ)體確保的屬性,是指示從由所謂2的虛擬存儲(chǔ)體序號(hào)指定的局部存儲(chǔ)器131向主存儲(chǔ)器620傳遞數(shù)據(jù)的WriteDMA命令。
      如圖20所示,在執(zhí)行SPstart命令時(shí)由從處理器630翻譯執(zhí)行的從處理器用程序770依次包含作為命令組的程序0、指定所謂2的虛擬存儲(chǔ)體序號(hào)的alloc命令、指定所謂0的虛擬存儲(chǔ)體序號(hào)的wait命令、指定所謂1的虛擬存儲(chǔ)體序號(hào)的wait命令、作為命令組的程序1、指定所謂0的虛擬存儲(chǔ)體序號(hào)的release命令、指定所謂1的虛擬存儲(chǔ)體序號(hào)的release命令、作為命令組的程序2、指定所謂2的虛擬存儲(chǔ)體序號(hào)的done命令、作為命令組的程序3來(lái)構(gòu)成。
      程序1例如以在從處理器630指定的寄存器中設(shè)定初始值等的初始處理作為內(nèi)容,程序2例如以進(jìn)行參照由所謂0的虛擬存儲(chǔ)體序號(hào)指定的存儲(chǔ)體內(nèi)容和由所謂1的虛擬存儲(chǔ)體序號(hào)指定的存儲(chǔ)體內(nèi)容進(jìn)行運(yùn)算、將其結(jié)果存儲(chǔ)在由所謂2的虛擬存儲(chǔ)體序號(hào)指定的存儲(chǔ)體中的運(yùn)算處理作為內(nèi)容,程序3將基于由所謂2的虛擬存儲(chǔ)體序號(hào)指定的存儲(chǔ)體內(nèi)容進(jìn)行運(yùn)算、對(duì)應(yīng)于該結(jié)果將更新由所謂2的虛擬存儲(chǔ)體序號(hào)指定的存儲(chǔ)體內(nèi)容的運(yùn)算處理作為內(nèi)容,程序3以例如反映程序2的部分運(yùn)算結(jié)果、對(duì)下次執(zhí)行時(shí)參照的寄存器中設(shè)定值等處理作為內(nèi)容。
      下面,以不執(zhí)行命令的狀態(tài)為前提,說(shuō)明執(zhí)行控制部660等的操作。
      首先,執(zhí)行控制部660進(jìn)行執(zhí)行控制處理(參照?qǐng)D16),參照命令隊(duì)列152中的命令I(lǐng)D,譯碼作為開(kāi)頭命令的ReadDMA命令(cmd1)(步驟S701no、S702yes、S703yes、S705),DMA控制器640的兩個(gè)通道為空(步驟S706yes),因?yàn)榇_保必需的存儲(chǔ)體空(步驟S707yes),所以從命令隊(duì)列152中刪除命令I(lǐng)D(步驟S708),在次命令保持部#1中設(shè)定表示下一命令(cmd2)的命令I(lǐng)D(步驟S709),更新存儲(chǔ)體表格663(步驟S710),對(duì)應(yīng)所謂0的虛擬存儲(chǔ)體序號(hào)和所謂0的物理存儲(chǔ)體序號(hào),同時(shí)設(shè)對(duì)應(yīng)的SP狀態(tài)668為不定狀態(tài),設(shè)DMA狀態(tài)669為使用中狀態(tài),對(duì)應(yīng)指示步驟S705中譯碼的命令(cmd1)的命令I(lǐng)D和表示DMA控制器第一通道的硬件分區(qū)信息后保持在內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中,在DMA控制器640的第一通道中開(kāi)始執(zhí)行指示數(shù)據(jù)傳送的ReadDMA命令(cmd1)(步驟S711)。另外,通過(guò)步驟S711,命令列#1中的命令變?yōu)樗^執(zhí)行中的狀態(tài)。
      在由DMA控制器640的第一通道執(zhí)行ReadDMA命令(cmd1)期間,執(zhí)行控制部660進(jìn)入執(zhí)行控制處理,判斷為命令列#1中的命令為執(zhí)行中(步驟S701yes),判斷為次命令保持部#1保持的命令I(lǐng)D不為0(步驟S704no),譯碼該命令I(lǐng)D所指的ReadDMA命令(cmd2)(步驟S705),DMA控制器640的第二通道空(步驟S706yes),確保必需的存儲(chǔ)體為空(步驟S707yes),所以在次命令保持部#1中設(shè)定表示下一命令(cmd3)的命令I(lǐng)D(步驟S709),更新存儲(chǔ)體表格663(步驟S710),對(duì)應(yīng)所謂1的虛擬存儲(chǔ)體序號(hào)和所謂1的物理存儲(chǔ)體序號(hào),同時(shí),設(shè)對(duì)應(yīng)的SP狀態(tài)668為不定狀態(tài),設(shè)DMA狀態(tài)669為使用中狀態(tài),對(duì)應(yīng)指示前一步驟S705中譯碼的命令(cmd2)的命令I(lǐng)D和表示DMA控制器的第二通道的硬件分區(qū)信息后保持在內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中,在DMA控制器的第二通道中開(kāi)始執(zhí)行指示數(shù)據(jù)傳送的ReadDMA命令(cmd2)(步驟S711)。
      進(jìn)一步,在由DMA控制器640的第二通道執(zhí)行ReadDMA命令(cmd2)期間,執(zhí)行控制部660進(jìn)入執(zhí)行控制處理,判斷為命令列#1中的命令為執(zhí)行中(步驟S701yes),判斷為次命令保持部#1保持的命令I(lǐng)D不為0(步驟S704no),譯碼該命令I(lǐng)D所指的SPstart命令(cmd3)(步驟S705),從屬處理器630為空(步驟S706yes),尤其不需要存儲(chǔ)體的確保(步驟S707yes),所以在次命令保持部#1中設(shè)定表示下一命令(cmd4)的命令I(lǐng)D(步驟S709),因?yàn)闆](méi)有存儲(chǔ)體的確保指定,所以不更新存儲(chǔ)體表格663,對(duì)應(yīng)指示之前的步驟S705中譯碼的命令(cmd3)的命令I(lǐng)D和表示從屬處理器的分區(qū)信息并保持在內(nèi)部作業(yè)用存儲(chǔ)區(qū)域中,在從屬處理器630中開(kāi)始執(zhí)行Spstart命令(cmd3)。
      從處理器630通過(guò)執(zhí)行控制部660接收SPstart命令(cmd3)的執(zhí)行開(kāi)始指示后,逐次開(kāi)始翻譯執(zhí)行對(duì)應(yīng)于SPstart命令的從處理器用程序770中的各命令,首先,執(zhí)行程序0,然后翻譯alloc命令,指定所謂2的虛擬存儲(chǔ)體序號(hào)后對(duì)存儲(chǔ)器通知部664進(jìn)行確保通知。
      存儲(chǔ)器通知部664在命令執(zhí)行中實(shí)施存儲(chǔ)器管理處理(參照?qǐng)D18、圖19),一旦從從處理器630接收確保通知(步驟S741yes),則參照存儲(chǔ)體表格663,對(duì)命令列#1沒(méi)有與所謂2的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào)(步驟S742no),因?yàn)檫€存在空的物理存儲(chǔ)體序號(hào)(步驟S743yes),所以更新存儲(chǔ)體表格663(步驟S744),對(duì)應(yīng)所謂2的虛擬存儲(chǔ)體序號(hào)和空的所謂2的物理存儲(chǔ)體序號(hào),使對(duì)應(yīng)的SP狀態(tài)668變?yōu)槭褂弥袪顟B(tài),向從處理器630通知所謂2的虛擬存儲(chǔ)體序號(hào)和所謂2的物理存儲(chǔ)體序號(hào)(步驟S745)。
      一旦接收該通知,則從處理器630接著翻譯wait命令,指定所謂0的虛擬存儲(chǔ)體序號(hào)。對(duì)存儲(chǔ)器通知部664進(jìn)行待機(jī)通知。
      存儲(chǔ)器通知部664一旦從從處理器630接收指定所謂0的虛擬存儲(chǔ)體序號(hào)的待機(jī)通知(步驟S751yes),則參照存儲(chǔ)體表格663,判斷對(duì)于命令列#1而言,與所謂0的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的DMA狀態(tài)669是否不是不定狀態(tài),即是否可使用由所謂0的虛擬存儲(chǔ)體序號(hào)指定的存儲(chǔ)體(步驟S747)。
      另外,在由DMA控制器640執(zhí)行ReadDMA命令(cmd1)期間,存儲(chǔ)器通知部664判斷為由所謂0的虛擬存儲(chǔ)體序號(hào)指定的存儲(chǔ)體不可使用(步驟S747no),更新存儲(chǔ)體表格663,使與所謂0的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的SP狀態(tài)668變?yōu)榇龣C(jī)狀態(tài)(步驟S748)。
      在從處理器630中開(kāi)始執(zhí)行SPstart命令(cmd3)后,執(zhí)行控制部660譯碼命令列A1中的下一WriteDMA命令(cmd4)(步驟S701yes、S702no、S705),在DMA控制器640未終止一個(gè)ReadDMA命令的執(zhí)行期間,因?yàn)镈MA控制器640不空(步驟S706no),所以還不開(kāi)始執(zhí)行WriteDMA命令(cmd4)。
      之后,在由DMA控制器640的第一通道終止ReadDMA命令(cmd1)的執(zhí)行時(shí),從DMA控制器640向存儲(chǔ)器通知部664通知使用終止。存儲(chǔ)器通知部664接收該通知后(步驟S754),更新存儲(chǔ)體表格663(步驟S755),使與所謂0的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的DMA狀態(tài)669變?yōu)椴欢顟B(tài),與所謂0的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的SP狀態(tài)668為待機(jī)狀態(tài)(步驟S756yes),DMA狀態(tài)669為不定狀態(tài),因?yàn)樵摯鎯?chǔ)體可使用(步驟S757yes),所以更新存儲(chǔ)體表格663(步驟S758),使SP狀態(tài)668變?yōu)槭褂弥袪顟B(tài),向從處理器630通知所謂0的虛擬存儲(chǔ)體序號(hào)和所謂0的物理存儲(chǔ)體序號(hào)(步驟S759)。
      一旦接收該通知,從處理器630翻譯下一wait命令,指定所謂1的虛擬存儲(chǔ)體序號(hào)后對(duì)存儲(chǔ)器通知部664進(jìn)行待機(jī)通知。
      一旦存儲(chǔ)器通知部664從從處理器630接收指定了所謂1的虛擬存儲(chǔ)體序號(hào)的待機(jī)通知(步驟S751yes),則參照存儲(chǔ)體表格663,判斷對(duì)于命令列#1而言,與所謂1的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的DMA狀態(tài)669是否不是不定狀態(tài),即是否可使用由所謂1的虛擬存儲(chǔ)體序號(hào)指定的存儲(chǔ)體(步驟S747)。但是,在由DMA控制器640執(zhí)行ReadDMA命令(cmd2)期間,因?yàn)榇鎯?chǔ)體不可使用(步驟S747no),所以存儲(chǔ)器通知部664更新存儲(chǔ)體表格663,使與所謂1的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的SP狀態(tài)668變?yōu)榇龣C(jī)狀態(tài)(步驟S748)。
      執(zhí)行控制部660譯碼命令列A1中的下一WriteDMA命令(cmd4)(步驟S701yes、S702no、S705),通過(guò)終止執(zhí)行ReadDMA命令(cmd1),DMA控制器640空(步驟S706yes),該命令要求確保由所謂2的虛擬存儲(chǔ)體序號(hào)指定的存儲(chǔ)體,存儲(chǔ)體基于從處理器630的alloc命令進(jìn)行確保,因?yàn)镈MA控制器640不可使用(步驟S707no),所以還不開(kāi)始執(zhí)行WriteDMA命令(cmd4)。
      之后,在由DMA控制器640的第二通道終止ReadDMA命令(cmd2)的執(zhí)行時(shí),從DMA控制器640向存儲(chǔ)器通知部664通知使用終止。存儲(chǔ)器通知部664接收該通知后(步驟S754),更新存儲(chǔ)體表格663(步驟S755),使與所謂1的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的DMA狀態(tài)669變?yōu)椴欢顟B(tài),與所謂1的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的SP狀態(tài)668為待機(jī)狀態(tài)(步驟S756yes),DMA狀態(tài)669為不定狀態(tài),因?yàn)榇鎯?chǔ)體可使用(步驟S757yes),所以更新存儲(chǔ)體表格663(步驟S758),使SP狀態(tài)668變?yōu)槭褂弥袪顟B(tài),向從處理器630通知所謂1的虛擬存儲(chǔ)體序號(hào)和所謂1的物理存儲(chǔ)體序號(hào)(步驟S759)。
      一旦接收該通知,從處理器630通過(guò)翻譯執(zhí)行程序1的各命令,訪問(wèn)由所謂0-2的各虛擬存儲(chǔ)體序號(hào)指定的各存儲(chǔ)體。接著,從處理器630翻譯release命令,指定所謂0的虛擬存儲(chǔ)體序號(hào)后,對(duì)存儲(chǔ)器通知部664進(jìn)行釋放通知。
      存儲(chǔ)器通知部664一旦從從處理器630接收指定所謂0的虛擬存儲(chǔ)體序號(hào)的釋放通知(步驟S752yes),則參照存儲(chǔ)體表格663,對(duì)命令列#1指定與所謂0的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格663(步驟S753),使物理存儲(chǔ)體序號(hào)的執(zhí)行命令列識(shí)別序號(hào)665設(shè)為3,虛擬存儲(chǔ)體序號(hào)667設(shè)為4,SP狀態(tài)668設(shè)為不定狀態(tài),DMA狀態(tài)669設(shè)為不定狀態(tài),即物理存儲(chǔ)體序號(hào)變?yōu)榭盏臓顟B(tài)。
      從處理器630在指定所謂0的虛擬存儲(chǔ)體序號(hào)的釋放通知后,翻譯下一release命令,指定所謂1的虛擬存儲(chǔ)體序號(hào),對(duì)存儲(chǔ)器通知部664進(jìn)行釋放通知。
      存儲(chǔ)器通知部664一旦從從處理器630接收指定所謂1的虛擬存儲(chǔ)體序號(hào)的釋放通知(步驟S752yes),則參照存儲(chǔ)體表格663,對(duì)命令列#1指定與所謂1的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的物理存儲(chǔ)體序號(hào),更新存儲(chǔ)體表格663(步驟S753),使物理存儲(chǔ)體序號(hào)變?yōu)榭盏臓顟B(tài)。
      從處理器630在指定所謂1的虛擬存儲(chǔ)體序號(hào)的釋放通知后,翻譯執(zhí)行下一程序2的各命令,訪問(wèn)由所謂2的虛擬存儲(chǔ)體序號(hào)指定的存儲(chǔ)體。接著,從處理器630翻譯done命令,指定所謂2的虛擬存儲(chǔ)體序號(hào),對(duì)存儲(chǔ)器通知部664進(jìn)行使用終止通知,然后開(kāi)始程序3的翻譯執(zhí)行。
      存儲(chǔ)器通知部664一旦從從處理器630接收指定所謂2的虛擬存儲(chǔ)體序號(hào)的使用終止通知(步驟S754yes),則更新存儲(chǔ)體表格663(步驟S755),使與所謂2的虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的SP狀態(tài)668變?yōu)椴欢顟B(tài)。
      之后,執(zhí)行控制部660譯碼命令列A1中的下一WriteDMA命令(cmd4)(步驟S701yes、S702no、S705),DMA控制器640為空(步驟S706yes),在命令屬性中要求確保由所謂2的虛擬存儲(chǔ)體序號(hào)指定的存儲(chǔ)體,在存儲(chǔ)體表格663中,與該虛擬存儲(chǔ)體序號(hào)對(duì)應(yīng)的SP狀態(tài)668變?yōu)椴欢顟B(tài),因?yàn)榇鎯?chǔ)體可使用(步驟S707yes),所以在次命令保持部#1中設(shè)定該命令內(nèi)的次命令I(lǐng)D(步驟S709),更新存儲(chǔ)體表格663,使對(duì)應(yīng)于所謂2的虛擬存儲(chǔ)體序號(hào)的DMA狀態(tài)669變?yōu)槭褂弥袪顟B(tài)(步驟S710),在作業(yè)用存儲(chǔ)區(qū)域中保持命令I(lǐng)D,在DMA控制器640中開(kāi)始執(zhí)行WriteDMA命令(cmd4)(步驟S711)。
      由此,處理系統(tǒng)600中的命令執(zhí)行控制裝置650通過(guò)按列的順序在各從屬硬件中開(kāi)始執(zhí)行屬于相同命令列的各命令,盡可能在各從屬硬件中并列執(zhí)行各命令。另外,如上所述,關(guān)于各命令的并列執(zhí)行,通過(guò)基于來(lái)自從屬硬件的存儲(chǔ)體的使用權(quán)確保、釋放等通知和執(zhí)行控制部660等的存儲(chǔ)體表格663的管理,可實(shí)現(xiàn)各命令間的同步處理。
      實(shí)施例4
      實(shí)施例3的處理系統(tǒng)是變形了實(shí)施例1的處理系統(tǒng)100的處理系統(tǒng),與實(shí)施例1所示的從屬硬件用的命令一樣,特征在于,支持存儲(chǔ)在通信存儲(chǔ)器151中,構(gòu)成命令列,作為由執(zhí)行控制部參照的新類(lèi)型命令的停止命令。
      停止命令雖然在形式上類(lèi)似于實(shí)施例1所示的命令,但對(duì)于實(shí)施例1所示命令因?yàn)橹付◤膶儆布僮鲀?nèi)容而具有被利用的意義,該停止命令的不同點(diǎn)在于是在執(zhí)行控制部中進(jìn)行停止從屬硬件操作的操作的指示數(shù)據(jù)。
      4-1.結(jié)構(gòu)圖21是實(shí)施例4的處理系統(tǒng)900的結(jié)構(gòu)圖。
      如圖所示,處理系統(tǒng)900具備主處理器110、主存儲(chǔ)器120、從處理器130、局部存儲(chǔ)器131、DMA控制器140及命令執(zhí)行控制裝置950,形成于半導(dǎo)體的一個(gè)芯片內(nèi)。另外,圖21中,處理系統(tǒng)900的結(jié)構(gòu)要素中與處理系統(tǒng)100(參照?qǐng)D1)的結(jié)構(gòu)要素相同的部分標(biāo)記與圖1相同的符號(hào),這里,省略對(duì)處理系統(tǒng)900中與處理系統(tǒng)100相同部分的說(shuō)明。
      從處理器130在實(shí)施例1中雖未特別示出,但輸入時(shí)鐘信號(hào),同步于該時(shí)鐘信號(hào)進(jìn)行操作。DMA控制器140也一樣輸入時(shí)鐘信號(hào),同步于該時(shí)鐘信號(hào)來(lái)控制數(shù)據(jù)傳送。
      命令執(zhí)行控制裝置950除具備接收從半導(dǎo)體的一個(gè)芯片內(nèi)部或外部提供的時(shí)鐘信號(hào)的輸入,具有進(jìn)行停止命令翻譯執(zhí)行的停止控制部961的執(zhí)行控制部960外,與實(shí)施例1所示的命令執(zhí)行控制部150一樣。另外,命令執(zhí)行控制裝置950也可由CPU及存儲(chǔ)器構(gòu)成。
      執(zhí)行控制部960進(jìn)行的執(zhí)行控制處理基本上與實(shí)施例1所示的執(zhí)行控制處理相同(參照?qǐng)D10、圖11),執(zhí)行控制部960在步驟S24中譯碼的命令是停止命令的情況下,省略步驟S25、S26、S29、S30,在步驟S28之后,在停止控制部961中進(jìn)行抑制向該停止命令表示的從屬硬件提供時(shí)鐘信號(hào)的處理,同樣,在步驟S34中譯碼的命令是停止命令的情況下,省略步驟S35、S36、S39、S40,在步驟S38之后,在停止控制部961中進(jìn)行抑制向該停止命令表示的從屬硬件提供時(shí)鐘信號(hào)的處理。
      停止控制部961具有通過(guò)計(jì)數(shù)輸入的時(shí)鐘信號(hào),僅在停止命令指定的期間內(nèi)控制而抑制對(duì)指定的從屬硬件提供時(shí)鐘信號(hào)的功能。
      4-2.命令格式圖22是表示作為命令列一構(gòu)成要素、通信存儲(chǔ)器151中存儲(chǔ)的從屬硬件用命令及停止命令的格式的圖。
      該圖中,以每2個(gè)字節(jié)來(lái)分區(qū)命令800,對(duì)應(yīng)表現(xiàn)由16進(jìn)制數(shù)表示的從所謂第0字節(jié)到第E字節(jié)的位置801和表示其含義內(nèi)容的項(xiàng)目802。另外,從屬硬件用命令基本上與圖3所示相同。
      任何命令的大小都為16字節(jié),如圖所示,從第0字節(jié)開(kāi)頭的兩個(gè)字節(jié)表示命令種類(lèi)及屬性,從第二字節(jié)開(kāi)始的兩個(gè)字節(jié)表示包含命令I(lǐng)D的數(shù)據(jù),自第四字節(jié)以后表示每種命令獨(dú)自的參數(shù)類(lèi)。
      對(duì)于作為從第0字節(jié)開(kāi)始的兩個(gè)字節(jié)的命令種類(lèi)及屬性,開(kāi)始的兩個(gè)比特表示作為是從處理器用命令、DMA控制器用命令還是停止命令區(qū)別的命令種類(lèi)。對(duì)于停止命令,在命令屬性中包含表示停止對(duì)象的從屬硬件種類(lèi)的信息。
      包含在從命令第二個(gè)字節(jié)開(kāi)始的兩個(gè)字節(jié)的數(shù)據(jù)中的次命令I(lǐng)D是表示該命令所屬命令列中下一命令在通信存儲(chǔ)器151內(nèi)位置的命令I(lǐng)D。
      停止命令的參數(shù)種類(lèi)包含停止周期數(shù)。
      4-3.停止操作執(zhí)行控制部960譯碼停止命令,在指示停止控制部961抑制向從屬硬件提供時(shí)鐘信號(hào)的情況下,停止控制部961中斷向停止命令指定的從屬硬件提供時(shí)鐘信號(hào),計(jì)數(shù)輸入的時(shí)鐘信號(hào),在終止停止命令的參數(shù)所指定的停止周期數(shù)的時(shí)鐘信號(hào)計(jì)數(shù)之前,繼續(xù)中斷向從屬硬件提供時(shí)鐘信號(hào),在終止計(jì)數(shù)的時(shí)刻,解除中斷。例如可通過(guò)將時(shí)鐘信號(hào)線的電位固定在一定值等來(lái)實(shí)現(xiàn)該中斷。
      因此,主處理器110通過(guò)將任意內(nèi)容的停止命令存儲(chǔ)在通信存儲(chǔ)器151中作為命令列的構(gòu)成要素,在命令執(zhí)行控制裝置950中依據(jù)命令列進(jìn)行操作,可在任意期間內(nèi)停止任意從屬硬件,可在預(yù)測(cè)變?yōu)榉沁\(yùn)行的期間內(nèi)停止從屬硬件,實(shí)現(xiàn)消耗功率的降低控制等。
      補(bǔ)充上面,雖然根據(jù)實(shí)施例1-4說(shuō)明了本發(fā)明的電路組控制,但不用說(shuō),本發(fā)明不限于這些實(shí)施例。即,(1)實(shí)施例1中所示完成通知部170、完成接收部153與執(zhí)行控制部160的功能分割僅是一例,在變更功能分割的同時(shí)也可變更功能結(jié)構(gòu)要素間的接口。
      (2)在實(shí)施例14中,雖然表示具有所謂從處理器和DMA控制器不同功能的兩個(gè)從屬硬件,但命令執(zhí)行控制裝置執(zhí)行命令的從屬硬件若包含至少具有一組不同功能的從屬硬件,則也可是三個(gè)以上,若是擔(dān)任執(zhí)行命令的電路,則也可是處理器和DMA控制器以外的電路。在從屬硬件間共用存儲(chǔ)器的情況下,使用可同時(shí)訪問(wèn)不同存儲(chǔ)體的存儲(chǔ)器,或進(jìn)行控制,在從屬硬件之間錯(cuò)開(kāi)對(duì)存儲(chǔ)器的訪問(wèn)時(shí)間。
      另外,實(shí)施例1中雖然表示命令執(zhí)行控制裝置進(jìn)行控制以在兩個(gè)從屬硬件中并行執(zhí)行兩個(gè)命令列的例子,但也可將次命令I(lǐng)D保持部設(shè)為三個(gè)以上,可執(zhí)行三個(gè)單元以上的圖10整體所示的處理單元,進(jìn)行控制,以在三個(gè)以上的從屬硬件中并行執(zhí)行三個(gè)以上的命令列。
      另外,在實(shí)施例1-4中,雖然處理系統(tǒng)在一個(gè)芯片內(nèi)構(gòu)成,但不一定非要在一個(gè)芯片內(nèi)構(gòu)成。例如,主處理器110、命令執(zhí)行控制裝置150、從處理器130、DMA控制器140等也可是獨(dú)立部件。
      (3)在實(shí)施例1中,雖表示了主處理器110指定圖5所示兩種不同命令列的實(shí)例,但在主處理器110指定多個(gè)同一內(nèi)容的命令列的情況下,發(fā)揮所謂有效活用從屬硬件的效果。
      對(duì)于實(shí)施例1所示的命令列指定接口也可使用其它方式。例如,不通過(guò)命令I(lǐng)D以指針鏈來(lái)連接命令間,主處理器110也可在通信存儲(chǔ)器151中的地址連續(xù)區(qū)域中連續(xù)存儲(chǔ)構(gòu)成命令列的全部命令。此時(shí),執(zhí)行控制部160按地址順序逐次在從屬硬件中執(zhí)行命令。但是,若采用指針鏈結(jié)構(gòu),則代替構(gòu)成已存儲(chǔ)的部分命令列的各命令來(lái)生成新的命令列的情況變?nèi)菀?,另外,可?shí)現(xiàn)通信存儲(chǔ)器的有效活用。
      另外,在實(shí)施例1-4中,雖然通過(guò)將構(gòu)成命令列的開(kāi)頭命令的命令I(lǐng)D存儲(chǔ)在命令隊(duì)列中來(lái)指定命令列,但命令列的指定方式不限于此,例如,主處理器110將構(gòu)成命令列的所有命令傳給命令執(zhí)行控制裝置150時(shí),命令執(zhí)行控制裝置150對(duì)其對(duì)應(yīng)命令列用序號(hào)后進(jìn)行管理,并返回其序號(hào),之后,主處理器110將該序號(hào)插入命令隊(duì)列中。
      但是,從消減來(lái)自主處理器的命令傳送量、提高傳送完的命令再利用性、加速命令執(zhí)行控制裝置接收命令列指定開(kāi)始的處理等方面,認(rèn)為實(shí)施例1所示的命令列指定接口適合。
      再者,在命令執(zhí)行控制裝置150中與命令隊(duì)列152不同地設(shè)置存儲(chǔ)命令列開(kāi)頭命令的命令I(lǐng)D用的優(yōu)先執(zhí)行用命令隊(duì)列,執(zhí)行控制部160優(yōu)先于命令隊(duì)列152的命令,在從屬硬件中執(zhí)行優(yōu)先執(zhí)行用命令隊(duì)列中存儲(chǔ)的命令I(lǐng)D指定命令列的各命令。假設(shè)該優(yōu)先執(zhí)行用命令隊(duì)列例如用于調(diào)試。
      (4)在實(shí)施例1中,執(zhí)行控制部160通過(guò)向從屬硬件發(fā)送命令內(nèi)必要的數(shù)據(jù)來(lái)指示執(zhí)行命令,但指示執(zhí)行命令的方式不限于此。例如,從處理器可構(gòu)成為可訪問(wèn)地連接于通信存儲(chǔ)器,執(zhí)行控制部160在指示從處理器執(zhí)行命令的情況下,必要時(shí)傳遞物理存儲(chǔ)體序號(hào)及命令I(lǐng)D,從從處理器側(cè)訪問(wèn)通信存儲(chǔ)器來(lái)讀取命令。另外,可從從屬硬件側(cè)參照存儲(chǔ)體表格163,執(zhí)行控制部160也可不通知從屬硬件物理存儲(chǔ)體序號(hào)。
      (5)執(zhí)行控制部160或從處理器130可更新實(shí)施例1所示的通信存儲(chǔ)器151中的命令用區(qū)域中存儲(chǔ)的命令來(lái)構(gòu)成,也可隨時(shí)更新命令內(nèi)的參數(shù)類(lèi)等。例如,連接從處理器130和通信存儲(chǔ)器151,從處理器130也可在初次執(zhí)行命令時(shí)變更部分參數(shù)類(lèi),因此,在主處理器110中多次指定同一命令列的情況下,初次執(zhí)行命令時(shí)與第二次以后執(zhí)行命令時(shí),實(shí)際執(zhí)行的處理內(nèi)容可能不同。
      (6)在實(shí)施例1-4中,雖然由存儲(chǔ)體表格來(lái)控制虛擬存儲(chǔ)體序號(hào)與物理存儲(chǔ)體序號(hào)的對(duì)應(yīng),但除此之外,在用所謂虛擬指定應(yīng)訪問(wèn)所在位置含義的邏輯地址與實(shí)際指示應(yīng)訪問(wèn)所在位置含義的物理地址的對(duì)應(yīng)上使用存儲(chǔ)體表格,在命令內(nèi)包含邏輯地址指定的情況下,也可變換為物理地址。
      (7)實(shí)施例1所示的執(zhí)行控制部160內(nèi)部的作業(yè)用存儲(chǔ)區(qū)域、次命令I(lǐng)D保持部161、162、存儲(chǔ)體表格163、完成表格171等保持?jǐn)?shù)據(jù)的存儲(chǔ)區(qū)域既是一般的存儲(chǔ)區(qū)域也是存儲(chǔ)元件,還可以是保持?jǐn)?shù)據(jù)的存儲(chǔ)單元。
      (8)實(shí)施例1-4所示執(zhí)行控制部的執(zhí)行控制處理既可由程序指定,也可由邏輯電路以外的其它軟件來(lái)實(shí)現(xiàn)。
      另外,在兩個(gè)命令列中的命令可同時(shí)執(zhí)行的情況下,變形實(shí)施例1-4所示的執(zhí)行控制處理,根據(jù)為了和命令列間的命令執(zhí)行有關(guān)的優(yōu)先度決定而預(yù)定的規(guī)則,也可優(yōu)先執(zhí)行一方命令列中的命令。例如,在次命令I(lǐng)D保持部中已保持0以外的命令I(lǐng)D情況下對(duì)應(yīng)于該命令I(lǐng)D的命令比對(duì)應(yīng)于命令隊(duì)列中的命令I(lǐng)D的命令優(yōu)先等。
      另外,在執(zhí)行控制處理中的步驟S25中判斷為局部存儲(chǔ)器131的存儲(chǔ)體不足的情況下或在步驟S26中判斷為執(zhí)行命令的從屬硬件不空的情況下,在物理存儲(chǔ)體序號(hào)變?yōu)榭諣顟B(tài)且從屬硬件變?yōu)榭諣顟B(tài)之前,也可跳過(guò)步驟S22-S30的處理。同樣,在步驟S35中判斷為局部存儲(chǔ)器131的存儲(chǔ)體不足的情況下或在步驟S36中判斷為執(zhí)行命令的從屬硬件不空的情況下,在物理存儲(chǔ)體序號(hào)變?yōu)榭諣顟B(tài)且從屬硬件變?yōu)榭諣顟B(tài)之前,也可跳過(guò)步驟S32-S40的處理。
      (9)實(shí)施例3所示執(zhí)行控制部660可并行執(zhí)行兩個(gè)命令列,但也可僅執(zhí)行一個(gè)命令列的命令。其中,執(zhí)行控制部660具有在從屬硬件中并列執(zhí)行一個(gè)命令列的各命令的功能。
      (10)在實(shí)施例3中,DMA控制器指定通道序號(hào)后通知執(zhí)行控制部660存儲(chǔ)體的使用終止,但執(zhí)行控制部660也可通過(guò)指定數(shù)據(jù)傳送的命令執(zhí)行終止時(shí)間,通過(guò)進(jìn)行與實(shí)施例3所示對(duì)存儲(chǔ)體使用終止通知的處理相同的處理,更新存儲(chǔ)體表格663。
      另外,對(duì)于使用存儲(chǔ)體表格663的存儲(chǔ)體使用權(quán)管理的執(zhí)行控制部660與各從屬硬件的接口的方式不限于實(shí)施例3所示方式,也可以是從處理器在命令執(zhí)行中可在執(zhí)行控制部660中進(jìn)行存儲(chǔ)體的使用權(quán)確保請(qǐng)求、釋放通知等,實(shí)施排他控制,在從屬硬件之間不同時(shí)使用存儲(chǔ)體的方式。
      (11)在記錄媒體中記錄CPU、即計(jì)算機(jī)中執(zhí)行的程序或通過(guò)各種通信路徑等,可流通頒布實(shí)施例1-4所示執(zhí)行控制部的執(zhí)行控制處理或命令執(zhí)行中存儲(chǔ)器管理處理(圖10、圖11、圖16-圖19所示的順序等)。在這種記錄媒體中,有IC卡、光盤(pán)、軟盤(pán)、ROM等。通過(guò)將流通、頒布的程序存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)器等中來(lái)供利用,計(jì)算機(jī)執(zhí)行該程序后實(shí)現(xiàn)本實(shí)施例所示的執(zhí)行控制處理和命令執(zhí)行中存儲(chǔ)器管理處理。
      權(quán)利要求
      1.一種電路組控制系統(tǒng),接收來(lái)自主處理器的指定,控制多個(gè)電路,包括命令列指定接收單元,從主處理器接收排列多個(gè)上述多個(gè)電路之一中應(yīng)執(zhí)行的命令所構(gòu)成的命令列指定;執(zhí)行控制單元,按照基于命令列指定接收單元接收到的指定的命令列的順序,在執(zhí)行該命令的電路中開(kāi)始逐次執(zhí)行命令列內(nèi)的命令;上述執(zhí)行控制單元包含并列執(zhí)行控制部,在一個(gè)電路中執(zhí)行一個(gè)命令期間,檢測(cè)處于由其它電路執(zhí)行的狀態(tài)的命令,選擇該命令,并在對(duì)應(yīng)的其它電路中執(zhí)行。
      2.根據(jù)權(quán)利要求1所述的電路組控制系統(tǒng),其特征在于上述多個(gè)電路中至少包含具有互不相同功能的兩種電路,上述命令列指定接收單元從主處理器接收多個(gè)命令列的指定,上述執(zhí)行控制單元按照基于命令列指定接收單元接收到的指定的各命令列的順序,在執(zhí)行該命令的電路中逐次執(zhí)行各命令列內(nèi)的命令,上述并列執(zhí)行控制部在一個(gè)電路中執(zhí)行一個(gè)命令列中的命令期間,檢測(cè)其它命令列中處于由其它電路執(zhí)行的狀態(tài)的命令,選擇該命令,并在對(duì)應(yīng)的其它電路中執(zhí)行。
      3.根據(jù)權(quán)利要求2所述的電路組控制系統(tǒng),其特征在于上述電路組控制系統(tǒng)具備上述多個(gè)電路,上述多個(gè)電路中包含從處理器及DMA控制器,上述執(zhí)行控制單元在從處理器中執(zhí)行一個(gè)命令列中的命令,與該執(zhí)行并行地在DMA控制器中執(zhí)行其它命令列中的命令。
      4.根據(jù)權(quán)利要求2所述的電路組控制系統(tǒng),其特征在于上述多個(gè)電路訪問(wèn)同一存儲(chǔ)器,在上述各命令列中包含的命令中存在指定執(zhí)行該命令的電路訪問(wèn)上述存儲(chǔ)器的存儲(chǔ)器訪問(wèn)命令,上述執(zhí)行控制單元包含存儲(chǔ)器訪問(wèn)控制部,當(dāng)并行在各電路中執(zhí)行各命令列中的各存儲(chǔ)器訪問(wèn)命令時(shí),控制執(zhí)行該各存儲(chǔ)器訪問(wèn)命令的各電路,使其訪問(wèn)存儲(chǔ)器內(nèi)彼此獨(dú)立的區(qū)域。
      5.根據(jù)權(quán)利要求4所述的電路組控制系統(tǒng),其特征在于上述存儲(chǔ)器訪問(wèn)命令包含指定訪問(wèn)對(duì)象部分的邏輯地址,上述存儲(chǔ)器訪問(wèn)控制部當(dāng)并行在各電路中執(zhí)行各命令列中的各存儲(chǔ)器訪問(wèn)命令時(shí),將各存儲(chǔ)器訪問(wèn)命令中的邏輯地址變換為表示該存儲(chǔ)器訪問(wèn)命令所屬命令列中各不相同的存儲(chǔ)區(qū)域的物理地址,將變換后的物理地址用于指定訪問(wèn)對(duì)象部分,控制各電路執(zhí)行存儲(chǔ)器訪問(wèn)。
      6.根據(jù)權(quán)利要求5所述的電路組控制系統(tǒng),其特征在于上述存儲(chǔ)器訪問(wèn)控制部在上述將邏輯地址變換為物理地址時(shí),使用于指定變換后物理地址表示的存儲(chǔ)區(qū)域的區(qū)域指定信息與變換前的邏輯地址該并保持,之后,在邏輯地址變換為物理地址時(shí),將該邏輯地址變換為表示由已保持的區(qū)域指定信息指定的存儲(chǔ)區(qū)域以外的存儲(chǔ)區(qū)域的物理地址,在上述各命令列中包含的命令中存在包含指定邏輯地址并指示由在先執(zhí)行的命令指定的存儲(chǔ)器訪問(wèn)對(duì)象部分的釋放的釋放指示的命令,上述存儲(chǔ)器訪問(wèn)控制部在電路中執(zhí)行包含上述釋放指定的命令前,取消與該釋放指示中所示邏輯地址對(duì)應(yīng)的區(qū)域指定信息。
      7.根據(jù)權(quán)利要求2所述的電路組控制系統(tǒng),其特征在于上述多個(gè)電路訪問(wèn)同一存儲(chǔ)器,在上述各命令列中包含的命令中存在指定執(zhí)行該命令的電路訪問(wèn)上述存儲(chǔ)器的存儲(chǔ)器訪問(wèn)命令,上述存儲(chǔ)器訪問(wèn)命令包含在命令列彼此間訪問(wèn)公共存儲(chǔ)區(qū)域的公用屬性以及在命令列彼此間訪問(wèn)彼此獨(dú)立的存儲(chǔ)區(qū)域的獨(dú)立屬性之一的屬性,上述執(zhí)行控制單元包括存儲(chǔ)器訪問(wèn)控制部,在各電路中執(zhí)行各命令列中各存儲(chǔ)器訪問(wèn)命令時(shí),控制執(zhí)行包含獨(dú)立屬性的一個(gè)命令列中的存儲(chǔ)器訪問(wèn)命令的電路和執(zhí)行包含獨(dú)立屬性的其它命令列中的存儲(chǔ)器訪問(wèn)命令的電路以便訪問(wèn)存儲(chǔ)器內(nèi)彼此獨(dú)立的區(qū)域,控制執(zhí)行包含公用屬性的一個(gè)命令列中的存儲(chǔ)器訪問(wèn)命令的電路和執(zhí)行包含公用屬性的其它命令列中的存儲(chǔ)器訪問(wèn)命令的電路以便訪問(wèn)存儲(chǔ)器內(nèi)相同的區(qū)域。
      8.根據(jù)權(quán)利要求2所述的電路組控制系統(tǒng),其特征在于上述命令列指定接收單元具有命令存儲(chǔ)用存儲(chǔ)器,由上述主處理器通過(guò)將多個(gè)命令寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器中來(lái)接收上述命令列的指定,上述執(zhí)行控制單元按照基于命令列的順序來(lái)逐次參照寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器中的命令,并在執(zhí)行電路中執(zhí)行參照的該命令。
      9.根據(jù)權(quán)利要求8所述的電路組控制系統(tǒng),其特征在于寫(xiě)入上述命令存儲(chǔ)用存儲(chǔ)器中的各命令構(gòu)成為包含在存在該命令所屬命令列中下一位的命令的情況下表示該下一位命令在命令存儲(chǔ)用存儲(chǔ)器內(nèi)位置的指針信息,上述執(zhí)行控制單元通過(guò)參照命令內(nèi)包含的指針信息來(lái)獲得應(yīng)在該命令后執(zhí)行的命令的位置,按照基于命令列的順序,在執(zhí)行該命令的電路中逐次執(zhí)行命令。
      10.根據(jù)權(quán)利要求8所述的電路組控制系統(tǒng),其特征在于寫(xiě)入上述命令存儲(chǔ)用存儲(chǔ)器中的各命令按照該命令所屬命令列的順序排列在命令存儲(chǔ)用存儲(chǔ)器的地址連續(xù)的區(qū)域中,上述執(zhí)行控制單元按照各命令列中命令存儲(chǔ)用存儲(chǔ)器的地址順序逐次參照各命令,在執(zhí)行電路中執(zhí)行參照的該命令。
      11.根據(jù)權(quán)利要求8所述的電路組控制系統(tǒng),其特征在于上述命令包含參數(shù),上述電路組控制系統(tǒng)具備上述多個(gè)電路,上述命令存儲(chǔ)用存儲(chǔ)器與上述多個(gè)電路中的至少一個(gè)電路連接,與上述命令存儲(chǔ)用存儲(chǔ)器連接的電路在由上述執(zhí)行控制單元執(zhí)行命令時(shí),訪問(wèn)上述命令存儲(chǔ)用存儲(chǔ)器中的該命令內(nèi)的參數(shù)。
      12.根據(jù)權(quán)利要求8所述的電路組控制系統(tǒng),其特征在于上述命令列的指定通過(guò)識(shí)別由寫(xiě)入上述命令存儲(chǔ)用存儲(chǔ)器中的多個(gè)命令構(gòu)成的命令列的命令列識(shí)別符來(lái)完成,上述執(zhí)行控制單元在執(zhí)行該命令的電路中逐次執(zhí)行由上述命令列識(shí)別符識(shí)別的各命令列中的命令。
      13.根據(jù)權(quán)利要求12所述的電路組控制系統(tǒng),其特征在于上述電路組控制系統(tǒng)具備上述主處理器,上述主處理器指定多個(gè)相同的命令列識(shí)別符。
      14.根據(jù)權(quán)利要求12所述的電路組控制系統(tǒng),其特征在于上述命令列識(shí)別符是表示上述命令列存儲(chǔ)用存儲(chǔ)器內(nèi)的命令的位置的指針信息,上述執(zhí)行控制單元將上述指針信息表示的命令作為開(kāi)頭要素,在電路中逐次執(zhí)行該命令所屬的命令列內(nèi)的命令。
      15.根據(jù)權(quán)利要求12所述的電路組控制系統(tǒng),其特征在于上述命令列指定接收單元具有命令列識(shí)別符存儲(chǔ)用的第一FIFO緩沖器,在經(jīng)上述主處理器將多個(gè)命令寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器中后,通過(guò)將該多個(gè)命令中任一命令組作為各列要素的多個(gè)命令列各自的命令列識(shí)別符寫(xiě)入第一FIFO緩沖器中,接收上述命令列的指定,上述執(zhí)行控制單元在電路中執(zhí)行由第一FIFO緩沖器中各命令列識(shí)別符指定的命令列內(nèi)的命令。
      16.根據(jù)權(quán)利要求15所述的電路組控制系統(tǒng),其特征在于上述命令列指定接收單元還具有命令列識(shí)別符存儲(chǔ)用的第二FIFO緩沖器,在經(jīng)上述主處理器將多個(gè)命令寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器后,也通過(guò)將該多個(gè)命令中任一命令組作為各列要素的多個(gè)命令列各自的命令列識(shí)別符寫(xiě)入第二FIFO緩沖器中來(lái)接收上述命令列的指定,上述執(zhí)行控制單元在電路中優(yōu)先于由第一FIFO緩沖器中的各命令列識(shí)別符指定的命令列內(nèi)的命令來(lái)執(zhí)行由第二FIFO緩沖器中的各命令列識(shí)別符指定的命令列內(nèi)的命令。
      17.根據(jù)權(quán)利要求8所述的電路組控制系統(tǒng),其特征在于上述電路組控制系統(tǒng)還包含命令更新單元,更新寫(xiě)入上述命令存儲(chǔ)用存儲(chǔ)器中的命令。
      18.根據(jù)權(quán)利要求2所述的電路組控制系統(tǒng),其特征在于上述電路組控制系統(tǒng)還包括執(zhí)行完成通知接收單元,從上述主處理器接收命令執(zhí)行完成的通知請(qǐng)求;執(zhí)行完成通知單元,由上述執(zhí)行控制單元從執(zhí)行命令的電路接收?qǐng)?zhí)行完成該命令的通知,在該命令是根據(jù)由上述執(zhí)行完成通知接收單元接收到的通知請(qǐng)求的命令時(shí),向上述主處理器通知該命令執(zhí)行完成。
      19.根據(jù)權(quán)利要求1所述的電路組控制系統(tǒng),其特征在于上述并列執(zhí)行控制部在一個(gè)電路中執(zhí)行一個(gè)命令列中的一個(gè)命令期間,檢測(cè)該命令列中處于由其它電路執(zhí)行的狀態(tài)下的其它命令,選擇該命令后在對(duì)應(yīng)的其它電路中執(zhí)行。
      20.根據(jù)權(quán)利要求19所述的電路組控制系統(tǒng),其特征在于上述電路組控制系統(tǒng)具備上述多個(gè)電路,上述多個(gè)電路訪問(wèn)相同存儲(chǔ)器,在構(gòu)成上述命令列的命令中包含指定該存儲(chǔ)器內(nèi)一區(qū)域的確保或釋放的屬性,并且,存在包含識(shí)別該區(qū)域用的存儲(chǔ)體序號(hào)的存儲(chǔ)器指定附屬命令,上述執(zhí)行控制單元在存儲(chǔ)器內(nèi)每個(gè)區(qū)域中保持管理是否使用的存儲(chǔ)器管理信息,在命令列中應(yīng)接著開(kāi)始執(zhí)行的命令是指定由存儲(chǔ)體序號(hào)表示的區(qū)域確保的存儲(chǔ)器指定附屬命令時(shí),限于上述存儲(chǔ)器管理信息表示該區(qū)域?yàn)槭褂弥?,從上述檢測(cè)對(duì)象中排除該存儲(chǔ)器指定附屬命令,當(dāng)在電路中開(kāi)始執(zhí)行指定由存儲(chǔ)體序號(hào)表示的區(qū)域確保的存儲(chǔ)器指定附屬命令時(shí),更新上述存儲(chǔ)器管理信息,以表示該區(qū)域?yàn)槭褂弥?,?dāng)在電路中開(kāi)始執(zhí)行指定由存儲(chǔ)體序號(hào)表示的區(qū)域確保的存儲(chǔ)器指定附屬命令時(shí),更新上述存儲(chǔ)器管理信息,以表示該區(qū)域不為使用中。
      21.根據(jù)權(quán)利要求20所述的電路組控制系統(tǒng),其特征在于在上述多個(gè)電路中包含具有在執(zhí)行指定命令中,將存儲(chǔ)器內(nèi)一區(qū)域的釋放通知與識(shí)別該區(qū)域用的存儲(chǔ)體序號(hào)一起傳送到上述執(zhí)行控制單元功能的電路,上述執(zhí)行控制單元在從任一電路接收用存儲(chǔ)體序號(hào)表示的區(qū)域釋放通知時(shí),更新上述存儲(chǔ)器管理信息,以表示該區(qū)域不在使用中。
      22.根據(jù)權(quán)利要求19所述的電路組控制系統(tǒng),其特征在于上述電路組控制系統(tǒng)具備上述多個(gè)電路,上述多個(gè)電路訪問(wèn)相同的存儲(chǔ)器,在上述多個(gè)電路中包含具有在執(zhí)行指定命令中,將存儲(chǔ)器內(nèi)一區(qū)域的釋放通知與識(shí)別該區(qū)域用的存儲(chǔ)體序號(hào)一起傳送到上述執(zhí)行控制單元功能的電路,在上述多個(gè)電路中包含具有在執(zhí)行指定命令中將存儲(chǔ)器內(nèi)一區(qū)域的確保請(qǐng)求與識(shí)別該區(qū)域的存儲(chǔ)體序號(hào)一起傳送到上述執(zhí)行控制單元,在傳送該確保請(qǐng)求之后,停止該命令的執(zhí)行,直到從上述執(zhí)行控制單元接收該區(qū)域的確保通知為止的功能的電路,上述執(zhí)行控制單元在存儲(chǔ)器內(nèi)每個(gè)區(qū)域中保持管理是否在使用中的存儲(chǔ)器管理信息,在從任一電路接收用存儲(chǔ)體序號(hào)表示的區(qū)域釋放通知時(shí),更新上述存儲(chǔ)器管理信息,以表示該區(qū)域不在使用中,在從任一電路接收用存儲(chǔ)體序號(hào)表示的區(qū)域確保請(qǐng)求時(shí),在該區(qū)域不在使用中變?yōu)榇鎯?chǔ)器管理信息表示的狀態(tài)之后,向該電路傳送該區(qū)域的確保通知,更新上述存儲(chǔ)器管理信息,以表示該區(qū)域?yàn)槭褂弥小?br> 23.根據(jù)權(quán)利要求1所述的電路組控制系統(tǒng),其特征在于上述命令列指定接收單元接收的命令列是命令外用于停止指定電路的停止指示數(shù)據(jù),包含將包含表示停止期間的信息及指定該電路的信息的停止指示數(shù)據(jù),作為與命令順序相同的構(gòu)成要素,上述執(zhí)行控制單元按照基于根據(jù)上述命令列指定接收單元接收指定的命令列順序來(lái)逐次著眼命令列中各構(gòu)成要素,在著眼的構(gòu)成要素為停止指示數(shù)據(jù)時(shí),在表示為該停止指示數(shù)據(jù)的停止期間內(nèi)停止表示為該停止指示數(shù)據(jù)的電路。
      24.一種電路組控制系統(tǒng),接收來(lái)自主處理器的指定,控制多個(gè)電路,包括命令列指定接收單元,從主處理器接收排列多個(gè)上述多個(gè)電路之一中應(yīng)執(zhí)行的命令所構(gòu)成的命令列的多個(gè)指定;執(zhí)行控制單元,按照基于命令列指定接收單元接收到的指定的命令列的順序,在執(zhí)行該命令的電路中開(kāi)始逐次執(zhí)行各命令列內(nèi)的命令;上述命令列指定接收單元具有命令存儲(chǔ)用存儲(chǔ)器,由上述主處理器通過(guò)將多個(gè)命令寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器中來(lái)接收上述命令列的指定,上述執(zhí)行控制單元按照基于命令列的順序來(lái)逐次參照寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器中的命令,并在執(zhí)行電路中開(kāi)始執(zhí)行參照的該命令。
      25.根據(jù)權(quán)利要求24所述的電路組控制系統(tǒng),其特征在于寫(xiě)入上述命令存儲(chǔ)用存儲(chǔ)器中的各命令構(gòu)成為包含在存在該命令所屬命令列中下一位的命令的情況下表示該下一位命令在命令存儲(chǔ)用存儲(chǔ)器內(nèi)位置的指針信息,上述執(zhí)行控制單元通過(guò)參照命令內(nèi)包含的指針信息來(lái)獲得應(yīng)在該命令后執(zhí)行的命令的位置,按照基于命令列的順序,在執(zhí)行該命令的電路中逐次執(zhí)行命令。
      26.根據(jù)權(quán)利要求24所述的電路組控制系統(tǒng),其特征在于上述命令包含參數(shù),上述電路組控制系統(tǒng)具備上述多個(gè)電路,上述命令存儲(chǔ)用存儲(chǔ)器與上述多個(gè)電路中的至少一個(gè)電路連接,與上述命令存儲(chǔ)用存儲(chǔ)器連接的電路在由上述執(zhí)行控制單元執(zhí)行命令時(shí),訪問(wèn)上述命令存儲(chǔ)用存儲(chǔ)器中的該命令內(nèi)的參數(shù)。
      27.根據(jù)權(quán)利要求24所述的電路組控制系統(tǒng),其特征在于所述命令列的指定通過(guò)識(shí)別由寫(xiě)入上述命令存儲(chǔ)用存儲(chǔ)器中的多個(gè)命令構(gòu)成的命令列的命令列識(shí)別符來(lái)完成,上述執(zhí)行控制單元在執(zhí)行該命令的電路中逐次執(zhí)行由上述命令列識(shí)別符識(shí)別的各命令列中的命令。
      28.根據(jù)權(quán)利要求27所述的電路組控制系統(tǒng),其特征在于上述命令列識(shí)別符是表示上述命令列存儲(chǔ)用存儲(chǔ)器內(nèi)的命令的位置的指針信息,上述執(zhí)行控制單元將上述指針信息表示的命令作為開(kāi)頭要素,在電路中逐次執(zhí)行該命令所屬的命令列內(nèi)的命令。
      29.根據(jù)權(quán)利要求27所述的電路組控制系統(tǒng),其特征在于上述命令列指定接收單元具有命令列識(shí)別符存儲(chǔ)用的第一FIFO緩沖器,在經(jīng)上述主處理器將多個(gè)命令寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器中后,通過(guò)將該多個(gè)命令中任一命令組作為各列要素的多個(gè)命令列各自的命令列識(shí)別符寫(xiě)入第一FIFO緩沖器中,接收上述命令列的指定,上述執(zhí)行控制單元在電路中執(zhí)行由第一FIFO緩沖器中各命令列識(shí)別符指定的命令列內(nèi)的命令。
      30.根據(jù)權(quán)利要求29所述的電路組控制系統(tǒng),其特征在于上述命令列指定接收單元還具有命令列識(shí)別符存儲(chǔ)用的第二FIFO緩沖器,在經(jīng)上述主處理器將多個(gè)命令寫(xiě)入命令存儲(chǔ)用存儲(chǔ)器后,也通過(guò)將該多個(gè)命令中任一命令組作為各列要素的多個(gè)命令列各自的命令列識(shí)別符寫(xiě)入第二FIFO緩沖器中來(lái)接收上述命令列的指定,上述執(zhí)行控制單元在電路中優(yōu)先于由第一FIFO緩沖器中的各命令列識(shí)別符指定的命令列內(nèi)的命令來(lái)執(zhí)行由第二FIFO緩沖器中的各命令列識(shí)別符指定的命令列內(nèi)的命令。
      31.根據(jù)權(quán)利要求24所述的電路組控制系統(tǒng),其特征在于上述電路組控制系統(tǒng)還包含命令更新單元,更新寫(xiě)入上述命令存儲(chǔ)用存儲(chǔ)器中的命令。
      32.一種電路組控制系統(tǒng),接收來(lái)自主處理器的指定,控制多個(gè)電路,包括命令列指定接收單元,從主處理器接收排列多個(gè)上述多個(gè)電路之一中應(yīng)執(zhí)行的命令所構(gòu)成的命令列指定;執(zhí)行控制單元,按照基于命令列指定接收單元接收到的指定的命令列的順序,在執(zhí)行該命令的電路中逐次執(zhí)行命令列內(nèi)的命令;執(zhí)行完成通知接收單元,從上述主處理器接收命令執(zhí)行完成的通知請(qǐng)求;執(zhí)行完成通知單元,由上述執(zhí)行控制單元從執(zhí)行命令的電路接收?qǐng)?zhí)行完成該命令的通知,在該命令是根據(jù)由上述執(zhí)行完成通知接收單元接收到的通知請(qǐng)求的命令時(shí),向上述主處理器通知該命令執(zhí)行完成。
      33.一種電路組控制方法,根據(jù)來(lái)自主處理器的指定,控制多個(gè)電路,包括命令列指定接收步驟,從主處理器接收排列多個(gè)上述多個(gè)電路之一中應(yīng)執(zhí)行的命令所構(gòu)成的命令列指定;執(zhí)行控制步驟,按照基于命令列指定接收步驟接收到的指定的命令列的順序,在執(zhí)行該命令的電路中開(kāi)始逐次執(zhí)行命令列內(nèi)的命令;上述執(zhí)行控制步驟包含并列執(zhí)行控制子步驟,在一個(gè)電路中執(zhí)行一個(gè)命令期間,檢測(cè)處于由其它電路執(zhí)行的狀態(tài)的命令,選擇該命令,并在該其它電路中執(zhí)行。
      34.根據(jù)權(quán)利要求33所述的電路組控制方法,其特征在于上述多個(gè)電路中至少包含具有互不相同功能的兩種電路,上述命令列指定接收步驟從主處理器接收多個(gè)命令列的指定,上述執(zhí)行控制步驟按照基于命令列指定接收單元接收到的指定的各命令列的順序,在執(zhí)行該命令的電路中逐次執(zhí)行各命令列內(nèi)的命令,上述并列執(zhí)行控制子步驟在一個(gè)電路中執(zhí)行一個(gè)命令列中的命令期間,檢測(cè)其它命令列中處于由其它電路執(zhí)行的狀態(tài)的命令,選擇該命令,并在該其它電路中執(zhí)行。
      35.根據(jù)權(quán)利要求33所述的電路組控制方法,其特征在于上述并列執(zhí)行控制子步驟在一個(gè)電路中執(zhí)行一個(gè)命令列中的一個(gè)命令期間,檢測(cè)該命令列中處于由其它電路執(zhí)行的狀態(tài)下的其它命令,選擇該命令后在該其它電路中執(zhí)行。
      36.一種電路組控制方法,根據(jù)來(lái)自主處理器的指定,控制多個(gè)電路,包括命令列指定接收步驟,從主處理器接收排列多個(gè)上述多個(gè)電路之一中應(yīng)執(zhí)行的命令所構(gòu)成的命令列的多個(gè)指定;執(zhí)行控制步驟,按照基于命令列指定接收步驟接收到的指定的命令列的順序,在執(zhí)行該命令的電路中開(kāi)始逐次執(zhí)行命令列內(nèi)的命令。
      全文摘要
      根據(jù)本發(fā)明的電路組控制系統(tǒng),具有從主處理器接收作為順序的第一命令列和第二命令列,按照基于各命令列的順序?qū)⒏髅顐魉偷娇蓤?zhí)行該命令的電路來(lái)分別執(zhí)行應(yīng)在多個(gè)電路中指定電路中執(zhí)行的命令的功能,在與執(zhí)行第一命令列中命令的電路(第一電路)不同的任一電路(第二電路)中,通過(guò)執(zhí)行可由該第二電路執(zhí)行的第二命令列中的命令,實(shí)現(xiàn)對(duì)多個(gè)命令列的并列執(zhí)行。
      文檔編號(hào)G06F15/167GK1427335SQ02151868
      公開(kāi)日2003年7月2日 申請(qǐng)日期2002年11月8日 優(yōu)先權(quán)日2001年11月8日
      發(fā)明者檜垣信生, 田中哲也, 林邦彥, 廉田浩, 清原督三, 木村浩三, 西田英志 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1