两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

命令供給裝置的制作方法

文檔序號(hào):6553119閱讀:170來源:國知局
專利名稱:命令供給裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及介于主存儲(chǔ)裝置與中央處理裝置之間、將從主存儲(chǔ)裝置讀出的命令向中央處理裝置供給的命令供給裝置,特別涉及在通過循環(huán)反復(fù)供給命令的情況下、即使省略向主存儲(chǔ)裝置的訪問也能夠供給命令的命令供給裝置。
背景技術(shù)
以往,有介于主存儲(chǔ)裝置與中央處理裝置之間、將從主存儲(chǔ)裝置讀出的命令向中央處理裝置供給的命令供給裝置。
命令供給裝置為了將從主存儲(chǔ)裝置讀出的命令高效地供給到中央處理裝置中,具有循環(huán)用命令緩沖器與通常用命令緩沖器。并且,在供給循環(huán)塊的命令的情況下,省略向主存儲(chǔ)裝置的訪問,從循環(huán)用命令緩沖器供給到中央處理裝置中(參照例如專利文獻(xiàn)1)。
所謂的“循環(huán)用命令緩沖器”,是指存儲(chǔ)循環(huán)塊的緩沖器。
所謂的“循環(huán)塊”,是指通過循環(huán)反復(fù)供給的命令列。
所謂的“通常用命令緩沖器”,是指存儲(chǔ)通常塊的緩沖器。
所謂的“通常塊”,是指循環(huán)塊以外的命令列。
專利文獻(xiàn)1日本特開昭63-314644號(hào)公報(bào)但是,在上述以往的技術(shù)中,由于僅通過循環(huán)用命令緩沖器供給循環(huán)塊的命令,所以在循環(huán)塊由多個(gè)命令構(gòu)成的情況下,需要預(yù)先較大地確保循環(huán)用命令緩沖器的容量。結(jié)果,如果循環(huán)用命令緩沖器的容量較大,則有硬件量也增大的問題。進(jìn)而,如果為了對(duì)應(yīng)多個(gè)循環(huán)而具有多個(gè)循環(huán)用命令緩沖器,則有硬件量更顯著地增大的問題。

發(fā)明內(nèi)容
所以,本發(fā)明是鑒于上述問題而做出的,目的是提供一種以較少的硬件量高效地供給形成循環(huán)的命令列的命令供給裝置。
為了達(dá)到上述目的,本發(fā)明的命令供給裝置,(a)是將從主存儲(chǔ)裝置讀出的命令供給到中央處理裝置的命令供給裝置,具備(b)第1緩沖器,在將保存在上述主存儲(chǔ)裝置中的命令列中的、反復(fù)供給到上述中央處理裝置的第1命令列再次供給到上述中央處理裝置之前,存儲(chǔ)作為上述第1命令列的起始部分的第1部分命令列;(c)第2緩沖器,在將上述第1命令列反復(fù)供給到上述中央處理裝置時(shí),一邊將存儲(chǔ)在上述第1緩沖器中的上述第1部分命令列供給到上述中央處理裝置,一邊存儲(chǔ)后續(xù)于上述第1部分命令列的第2部分命令列;(d)選擇機(jī)構(gòu),如果將上述第1部分命令列的全部供給到上述中央處理裝置,則從存儲(chǔ)在上述第2緩沖器中的第2部分命令列開始,將上述第1部分命令列的后續(xù)命令供給到上述中央處理裝置。
由此,與將循環(huán)塊的命令列存儲(chǔ)到一個(gè)緩沖器中的情況相比,能夠分開存儲(chǔ)到兩個(gè)緩沖器中,只要這些緩沖器沒有全部被更新,就能夠不更新而再利用存儲(chǔ)在緩沖器中的命令列。并且,通過將循環(huán)的后半部分在循環(huán)執(zhí)行時(shí)在后臺(tái)保存到緩沖器中,即使不將循環(huán)整體總是保持在緩沖器中,在循環(huán)時(shí)也與全部保持在緩沖器中的狀態(tài)等同,能夠供給高效率的命令。
例如,將8語句量的命令各一半存儲(chǔ)到兩個(gè)緩沖器中,即使一個(gè)緩沖器被更新,如果另一個(gè)緩沖器沒有被更新,也能夠不更新而再利用存儲(chǔ)在另一個(gè)緩沖器中的4語句量的命令。并且,不將8語句量的命令從主存儲(chǔ)裝置再次讀出,而僅將更新后的4語句的命令從主存儲(chǔ)裝置再次讀出就可以,也能夠縮短訪問主存儲(chǔ)裝置的時(shí)間。
此外,(a)上述命令供給裝置也可以還(b)具備第3緩沖器,在將保存在上述主存儲(chǔ)裝置中的命令列中的、在上述第1命令列以外反復(fù)供給到上述中央處理裝置的第2命令列再次供給到上述中央處理裝置之前,存儲(chǔ)作為上述第2命令列的起始部分的第3部分命令列;(c)在將上述第2命令列反復(fù)供給到上述中央處理裝置時(shí),一邊將存儲(chǔ)在上述第3緩沖器中的上述第3部分命令列供給到上述中央處理裝置,一邊將后續(xù)于上述第3部分命令列的第4部分命令列存儲(chǔ)到上述第2緩沖器中;(d)上述選擇機(jī)構(gòu),如果將上述第3部分命令列的全部供給到上述中央處理裝置,則從存儲(chǔ)在上述第2緩沖器中的第4部分命令列開始,將上述第3部分命令列的后續(xù)命令供給到上述中央處理裝置。
由此,能夠?qū)⒃诠┙o形成循環(huán)的第1命令列以外的第2命令列時(shí)使用的緩沖器、和存儲(chǔ)與作為第1命令列的起始部分的部分命令列結(jié)合的部分命令列的緩沖器共用。在此情況下,能夠不進(jìn)行緩沖器的追加而高效地供給包括更多個(gè)命令的命令列。
另外,本發(fā)明不僅可以作為命令供給裝置實(shí)現(xiàn),也可以作為控制命令供給裝置的方法(以下稱作命令供給方法)等實(shí)現(xiàn)。此外,也可以作為裝入了由命令供給裝置提供的功能(以下稱作命令供給功能)的LSI、將命令供給功能形成在FPGA、CPLD等的可編程邏輯設(shè)備中的IP核心(以下稱作命令供給核心)、以及記錄了命令供給核心的記錄介質(zhì)等實(shí)現(xiàn)。
發(fā)明的效果以上,根據(jù)有關(guān)本發(fā)明的命令供給裝置,對(duì)于循環(huán)用命令緩沖器的容量以上的循環(huán)塊,也能夠省略向主存儲(chǔ)裝置的訪問、高效地供給命令。并且,在具有多個(gè)循環(huán)用命令緩沖器的情況下,能夠抑制硬件量的增加。進(jìn)而,通過省略向主存儲(chǔ)裝置的訪問,能夠避免對(duì)主存儲(chǔ)裝置的訪問等待,能夠提高中央處理裝置的執(zhí)行處理的性能。此外,能夠降低對(duì)主存儲(chǔ)裝置的訪問頻率,能夠抑制消耗電力的增大。


圖1是表示實(shí)施方式1的命令供給裝置的結(jié)構(gòu)的圖。
圖2是表示在實(shí)施方式1的命令供給裝置中從主存儲(chǔ)裝置取出命令時(shí)的處理的圖。
圖3是表示保存在主存儲(chǔ)裝置中的命令列的一例的圖。
圖4A是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第1圖。
圖4B是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第2圖。
圖4C是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第3圖。
圖4D是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第4圖。
圖5A是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第5圖。
圖5B是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第6圖。
圖5C是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第7圖。
圖5D是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第8圖。
圖6A是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第9圖。
圖6B是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第10圖。
圖6C是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第11圖。
圖6D是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第12圖。
圖7A是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第13圖。
圖7B是表示實(shí)施方式1的命令供給裝置的動(dòng)作例的第14圖。
圖8是表示實(shí)施方式2的命令供給裝置的結(jié)構(gòu)的圖。
圖9是表示在實(shí)施方式2的命令供給裝置中從主存儲(chǔ)裝置取出命令時(shí)的處理的圖。
圖10A是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第1圖。
圖10B是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第2圖。
圖10C是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第3圖。
圖10D是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第4圖。
圖10E是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第5圖。
圖10F是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第6圖。
圖10G是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第7圖。
圖10H是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第8圖。
圖11A是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第9圖。
圖11B是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第10圖。
圖11C是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第11圖。
圖11D是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第12圖。
圖11E是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第13圖。
圖11F是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第14圖。
圖11G是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第15圖。
圖11H是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第16圖。
圖12A是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第17圖。
圖12B是表示實(shí)施方式2的命令供給裝置的動(dòng)作例的第18圖。
標(biāo)號(hào)說明1主存儲(chǔ)裝置10、20中央處理裝置100、200微處理器101、201命令供給裝置111、211存儲(chǔ)器接口112、212通常用命令緩沖器113循環(huán)用命令緩沖器114循環(huán)用命令緩沖器115結(jié)合用命令緩沖器116、216選擇回路213閾值寄存器
具體實(shí)施例方式
(實(shí)施方式1)以下,參照附圖對(duì)有關(guān)本發(fā)明的實(shí)施方式1進(jìn)行說明。
本發(fā)明的實(shí)施方式1的命令供給裝置一邊將經(jīng)由存儲(chǔ)器接口從主存儲(chǔ)裝置先讀出的命令存儲(chǔ)到緩沖器中,一邊將命令從存儲(chǔ)在緩沖器中的命令列供給到中央處理裝置中。此時(shí),對(duì)于通過循環(huán)反復(fù)供給命令的命令列(以下稱作循環(huán)塊)以外的命令列(以下稱作通常塊),存儲(chǔ)到通常用命令緩沖器中。此外,對(duì)于循環(huán)塊,分割而存儲(chǔ)到循環(huán)用命令緩沖器與結(jié)合用命令緩沖器中。并且,其特征在于,在將循環(huán)塊的命令供給到中央處理裝置中的情況下,將結(jié)合了存儲(chǔ)在循環(huán)用命令緩沖器與結(jié)合用命令緩沖器中的命令列后的命令列供給到中央處理裝置中。
所謂的“通常塊”,是指保存在主存儲(chǔ)裝置中的命令列中的循環(huán)塊以外的塊。
所謂的“循環(huán)塊”,是指保存在主存儲(chǔ)裝置中的命令列中的、保存有重復(fù)執(zhí)行的命令的塊。
按照以上這些方面,對(duì)本發(fā)明的實(shí)施方式1的命令供給裝置進(jìn)行說明。
首先,對(duì)實(shí)施方式1的命令供給裝置的結(jié)構(gòu)進(jìn)行說明。
如圖1所示,命令供給裝置101根據(jù)一起安裝在微處理器100中的中央處理裝置10的指示,從與微處理器100連接的主存儲(chǔ)裝置1讀出命令,供給到中央處理裝置10中。這里,作為一例,具備存儲(chǔ)器接口111、通常用命令緩沖器112、循環(huán)用命令緩沖器113、循環(huán)用命令緩沖器114、結(jié)合用命令緩沖器115、以及選擇回路116等。
存儲(chǔ)器接口111根據(jù)來自中央處理裝置10的指示,從主存儲(chǔ)裝置1讀出命令,將讀出的命令存儲(chǔ)到通常用命令緩沖器112、循環(huán)用命令緩沖器113、循環(huán)用命令緩沖器114、結(jié)合用命令緩沖器115的某一個(gè)中。
通常用命令緩沖器112是將從通常塊讀出的命令存儲(chǔ)4語句量的緩沖器。
循環(huán)用命令緩沖器113是將從循環(huán)塊讀出的命令存儲(chǔ)4語句量的緩沖器。
循環(huán)用命令緩沖器114是將從循環(huán)塊讀出的命令存儲(chǔ)4語句量的緩沖器。
結(jié)合用命令緩沖器115與循環(huán)用命令緩沖器113及循環(huán)用命令緩沖器114的某一個(gè)結(jié)合。在與循環(huán)用命令緩沖器113結(jié)合的情況下,將存儲(chǔ)在循環(huán)用命令緩沖器113中的命令列的后續(xù)命令存儲(chǔ)4語句的量。在與循環(huán)用命令緩沖器114結(jié)合的情況下,將存儲(chǔ)在循環(huán)用命令緩沖器114中的命令列的后續(xù)命令存儲(chǔ)4語句的量。
選擇回路116根據(jù)來自中央處理裝置10的指示,將通常用命令緩沖器112、循環(huán)用命令緩沖器113、循環(huán)用命令緩沖器114、結(jié)合用命令緩沖器115的某一個(gè)選擇為命令的供給源。
接著,對(duì)在實(shí)施方式1中的命令供給裝置中從主存儲(chǔ)裝置取出命令時(shí)的處理進(jìn)行說明。
如圖2所示,命令供給裝置101在從中央處理裝置10接受到指示的情況下(步驟S101是),估計(jì)空循環(huán)(步驟S102是),從通常用命令緩沖器112、循環(huán)用命令緩沖器113、114、結(jié)合用命令緩沖器115之中,在接受到指示的緩沖器中有空白的情況下(步驟S103是),從主存儲(chǔ)裝置1取出命令(步驟S104)。
另外,沒有接受到指示的緩沖器為指示等待狀態(tài)。
接著,對(duì)中央處理裝置10和命令供給裝置101的動(dòng)作進(jìn)行說明。
這里,如圖3所示,作為保存在主存儲(chǔ)裝置1中的命令列,以由通常塊121、123、125、循環(huán)塊122、循環(huán)塊124構(gòu)成的命令列為一例進(jìn)行說明。
通常塊121由從上朝下排列的命令列(I#1~I(xiàn)#7、LSI#1)構(gòu)成。
I#1~I(xiàn)#7是循環(huán)存儲(chǔ)命令、分支命令以外的命令。
LSI#1是表示循環(huán)塊122從I#8開始的循環(huán)存儲(chǔ)命令。
循環(huán)塊122由從上朝下排列的命令列(I#8~I(xiàn)#13、BI#1)構(gòu)成。
I#8~I(xiàn)#13是循環(huán)存儲(chǔ)命令、分支命令以外的命令。
BI#1是分支到I#8的帶條件的分支命令。
通常塊123由從上朝下排列的命令列(I#14~I(xiàn)#21、LSI#2)構(gòu)成。
I#14~I(xiàn)#21是循環(huán)存儲(chǔ)命令、分支命令以外的命令。
LSI#2是表示循環(huán)塊124從I#22開始的循環(huán)存儲(chǔ)命令。
循環(huán)塊124由從上朝下排列的命令列(I#22~I(xiàn)#26、BI#2)構(gòu)成。
I#22~I(xiàn)#26是循環(huán)存儲(chǔ)命令、分支命令以外的命令。
BI#2是分支到I#22的帶條件的分支命令。
通常塊125由從上朝下排列的命令列(I#27~I(xiàn)#32)構(gòu)成。
I#27~I(xiàn)#32是循環(huán)存儲(chǔ)命令、分支命令以外的命令。
所謂的“循環(huán)存儲(chǔ)命令”,例如由下述的命令所示,是表示循環(huán)塊從由label指定的地址開始的命令。
Loopstore label,buff另外,根據(jù)buff值指定存儲(chǔ)從循環(huán)塊讀出的命令的緩沖器。這里,在buff值為0的情況下,存儲(chǔ)到循環(huán)用命令緩沖器113中,在buff值為1的情況下,存儲(chǔ)到循環(huán)用命令緩沖器114中。
另外,對(duì)于LSI#1,是buff值為0的情況,中央處理裝置10對(duì)命令供給裝置101指示循環(huán)塊122的起始部分存儲(chǔ)在循環(huán)用命令緩沖器113中。
此外,對(duì)于LSI#2,是buff值為1的情況,中央處理裝置10對(duì)命令供給裝置101指示循環(huán)塊124的起始部分存儲(chǔ)在循環(huán)用命令緩沖器114中。
接著,對(duì)中央處理裝置10的動(dòng)作進(jìn)行說明。
中央處理裝置10在執(zhí)行作為一例而舉出的命令列(參照?qǐng)D3)時(shí),根據(jù)下述(1)~(6)的情況進(jìn)行處理。
(1)中央處理裝置10在執(zhí)行通常塊的命令的情況下,對(duì)存儲(chǔ)器接口111指示存儲(chǔ)到通常用命令緩沖器112中。進(jìn)而,對(duì)選擇回路116指示將通常用命令緩沖器112選擇為命令的供給源。
(2)中央處理裝置10在執(zhí)行循環(huán)存儲(chǔ)命令的情況下,在沒有進(jìn)行向通常用命令緩沖器112的存儲(chǔ)時(shí),對(duì)存儲(chǔ)器接 111指示從由循環(huán)存儲(chǔ)命令指定的循環(huán)塊的起始將一定量的命令存儲(chǔ)到由循環(huán)存儲(chǔ)命令指定的循環(huán)用命令緩沖器中。
(3)中央處理裝置10除了反復(fù)供給的情況以外,在通過分支命令的執(zhí)行來執(zhí)行從循環(huán)用命令緩沖器供給的命令的情況下,對(duì)存儲(chǔ)器接口111指示將存儲(chǔ)在該循環(huán)用命令緩沖器中的命令列的后續(xù)命令存儲(chǔ)到結(jié)合用命令緩沖器115中。
(4)中央處理裝置10在從循環(huán)用命令緩沖器供給了全部的命令的情況下,對(duì)選擇回路116指示將結(jié)合用命令緩沖器115選擇為后續(xù)的命令的供給源。
(5)中央處理裝置10除了反復(fù)供給的情況,在執(zhí)行從結(jié)合用命令緩沖器115供給的命令的情況下,對(duì)存儲(chǔ)器接口111指示將存儲(chǔ)在結(jié)合用命令緩沖器115中的命令列的后續(xù)的命令存儲(chǔ)到通常用命令緩沖器112中。
(6)中央處理裝置10在執(zhí)行分支命令而分支到由該分支命令指定的地址的情況下,對(duì)選擇回路116指示選擇存儲(chǔ)由該地址指定的命令的循環(huán)用命令緩沖器。另一方面,在不分支而從結(jié)合用命令緩沖器115供給了全部的命令的情況下,對(duì)選擇回路116指示將通常用命令緩沖器112選擇為后續(xù)的命令的供給源。
接著,對(duì)命令供給裝置101的動(dòng)作進(jìn)行說明。
命令供給裝置101根據(jù)來自中央處理裝置10的指示,各結(jié)構(gòu)要素如下述那樣動(dòng)作。
存儲(chǔ)器接口111從主存儲(chǔ)裝置1讀出命令,將讀出的命令存儲(chǔ)到通常用命令緩沖器112、循環(huán)用命令緩沖器113、循環(huán)用命令緩沖器114及結(jié)合用命令緩沖器115的某一個(gè)中。
選擇回路116選擇通常用命令緩沖器112、循環(huán)用命令緩沖器113、循環(huán)用命令緩沖器114及結(jié)合用命令緩沖器115的某一個(gè)作為命令的供給源。
并且,被選擇為命令的供給源的緩沖器將存儲(chǔ)在該緩沖器中的命令經(jīng)由選擇回路116供給到中央處理裝置10中。
這里,使用作為一例而舉出的命令列(參照?qǐng)D3),對(duì)中央處理裝置10和命令供給裝置101的動(dòng)作進(jìn)行說明。
如圖4A~圖7B所示,命令供給裝置101進(jìn)行對(duì)應(yīng)于下述(1)~(12)的情況的處理。
(1)中央處理裝置10在執(zhí)行通常塊121的命令的情況下,對(duì)存儲(chǔ)器接口111指示將通常塊121的命令列(I#1~I(xiàn)#7、LSI#1)存儲(chǔ)到通常用命令緩沖器112中。然后,對(duì)選擇回路116指示將通常用命令緩沖器112選擇為命令的供給源。
對(duì)應(yīng)于此,存儲(chǔ)器接口111訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#1~I(xiàn)#7、LSI#1),存儲(chǔ)到通常用命令緩沖器112中。進(jìn)而,選擇回路116將通常用命令緩沖器112選擇為命令的供給源。并且,通常用命令緩沖器112經(jīng)由選擇回路116對(duì)中央處理裝置10供給命令列(I#1~I(xiàn)#7、LSI#1)(參照?qǐng)D4A)。
(2)中央處理裝置10除了通過分支命令反復(fù)供給的情況,在執(zhí)行循環(huán)塊122的命令的情況下,對(duì)存儲(chǔ)器接口111指示將命令列(I#8~I(xiàn)#14)存儲(chǔ)到通常用命令緩沖器112中。然后,對(duì)選擇回路116指示將通常用命令緩沖器112選擇為命令的供給源。此外,在執(zhí)行循環(huán)存儲(chǔ)命令(LSI#1)的情況下,根據(jù)循環(huán)存儲(chǔ)命令(LSI#1)的buff值為0,對(duì)存儲(chǔ)器接口111指示將由循環(huán)存儲(chǔ)命令(LSI#1)指定的循環(huán)塊122的起始部分的命令列(I#8~I(xiàn)#11)存儲(chǔ)到循環(huán)用命令緩沖器113中。
對(duì)應(yīng)于此,存儲(chǔ)器接口111訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#8~I(xiàn)#14),存儲(chǔ)到通常用命令緩沖器112中。進(jìn)而,選擇回路116將通常用命令緩沖器112選擇為命令的供給源。并且,通常用命令緩沖器112經(jīng)由選擇回路116對(duì)中央處理裝置10供給命令列(I#8~BI#1)。與此同時(shí),在后臺(tái)讀出由循環(huán)存儲(chǔ)命令(LSI#1)指定的循環(huán)塊122的起始部分的命令列(I#8~I(xiàn)#11),將讀出的命令列(I#8~I(xiàn)#11)存儲(chǔ)到循環(huán)用命令緩沖器113中(參照?qǐng)D4B、圖4C)。
(3)中央處理裝置10在執(zhí)行分支命令(BI#1)而分支到循環(huán)塊122的開始地址的情況下,對(duì)存儲(chǔ)器接口111指示將存儲(chǔ)在循環(huán)用命令緩沖器113中的命令列(I#8~I(xiàn)#11)的后續(xù)命令(I#12~I(xiàn)#14)存儲(chǔ)到結(jié)合用命令緩沖器115中。然后,對(duì)選擇回路116指示將循環(huán)用命令緩沖器113選擇為命令的供給源。
對(duì)應(yīng)于此,存儲(chǔ)器接口111訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#12~I(xiàn)#14),存儲(chǔ)到結(jié)合用命令緩沖器115中。進(jìn)而,選擇回路116將循環(huán)用命令緩沖器113選擇為命令的供給源。并且,通循環(huán)用命令緩沖器113經(jīng)由選擇回路116對(duì)中央處理裝置10供給命令列(I#8~I(xiàn)#11)(參照?qǐng)D4D)。
(4)中央處理裝置10在從循環(huán)用命令緩沖器113供給了全部的命令的情況下,對(duì)選擇回路116指示將結(jié)合用命令緩沖器115選擇為后續(xù)的命令的供給源。
對(duì)應(yīng)于此,選擇回路116將結(jié)合用命令緩沖器115選擇為命令的供給源。結(jié)合用命令緩沖器115經(jīng)由選擇回路116對(duì)中央處理裝置10供給命令列(I#12~I(xiàn)#14)(參照?qǐng)D5A)。
(5)中央處理裝置10在向結(jié)合用命令緩沖器115的命令的存儲(chǔ)結(jié)束的情況下,對(duì)存儲(chǔ)器接口111指示將存儲(chǔ)在結(jié)合用命令緩沖器115中的命令列(I#12~I(xiàn)#14)的后續(xù)命令(I#15~I(xiàn)#17)存儲(chǔ)到通常用命令緩沖器112中。
對(duì)應(yīng)于此,存儲(chǔ)器接口111訪問主存儲(chǔ)裝置1,將命令列(I#15~I(xiàn)#18)從主存儲(chǔ)裝置1讀出,存儲(chǔ)到通常用命令緩沖器112中(參照?qǐng)D5B)。
(6)中央處理裝置10在執(zhí)行分支命令(BI#1)、不分支到循環(huán)塊122的開始地址而從結(jié)合用命令緩沖器115供給了全部的命令(I#12~I(xiàn)#14)的情況下,對(duì)選擇回路116指示將通常用命令緩沖器112選擇為后續(xù)的命令的供給源。
對(duì)應(yīng)于此,選擇回路116將通常用命令緩沖器112選擇為命令的供給源。并且,通常用命令緩沖器112經(jīng)由選擇回路116對(duì)中央處理裝置10供給命令列(I#15~I(xiàn)#18)(參照?qǐng)D5C)。
(7)中央處理裝置10在執(zhí)行通常塊123的命令的情況下,對(duì)存儲(chǔ)器接口111指示將通常塊123的命令列(I#19~I(xiàn)#21、LSI#2)存儲(chǔ)到通常用命令緩沖器112中。然后,對(duì)選擇回路116指示將通常用命令緩沖器112選擇為命令的供給源。
對(duì)應(yīng)于此,存儲(chǔ)器接口111訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#19~I(xiàn)#21、LSI#2),存儲(chǔ)到通常用命令緩沖器112中。進(jìn)而,選擇回路116將通常用命令緩沖器112選擇為命令的供給源。并且,通常用命令緩沖器112經(jīng)由選擇回路116對(duì)中央處理裝置10供給命令列(I#19~I(xiàn)#21、LSI#2)(參照?qǐng)D5D)。
(8)中央處理裝置10除了通過分支命令反復(fù)供給的情況,在執(zhí)行循環(huán)塊124的命令的情況下,對(duì)存儲(chǔ)器接口111指示將命令列(I#22~I(xiàn)#28)存儲(chǔ)到通常用命令緩沖器112中。然后,對(duì)選擇回路116指示將通常用命令緩沖器112選擇為命令的供給源。此外,在執(zhí)行循環(huán)存儲(chǔ)命令(LSI#2)的情況下,中央處理裝置10根據(jù)循環(huán)存儲(chǔ)命令(LSI#2)的buff值為1,對(duì)存儲(chǔ)器接口111指示將由循環(huán)存儲(chǔ)命令(LSI#2)指定的循環(huán)塊124的起始部分的命令列(I#22~I(xiàn)#25)存儲(chǔ)到循環(huán)用命令緩沖器114中。
對(duì)應(yīng)于此,存儲(chǔ)器接口111訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#22~I(xiàn)#25),存儲(chǔ)到通常用命令緩沖器112中。進(jìn)而,選擇回路116將通常用命令緩沖器112選擇為命令的供給源。并且,通常用命令緩沖器112經(jīng)由選擇回路116對(duì)中央處理裝置10供給命令列(I#22~I(xiàn)#25)。與此同時(shí),在后臺(tái)讀出由循環(huán)存儲(chǔ)命令(LSI#2)指定的循環(huán)塊124的起始部分的命令列(I#22~I(xiàn)#25),將讀出的命令列(I#22~I(xiàn)#25)存儲(chǔ)到循環(huán)用命令緩沖器114中(參照?qǐng)D6A、圖6B)。
(9)中央處理裝置10在執(zhí)行分支命令(BI#2)而分支到循環(huán)塊124的開始地址的情況下,對(duì)存儲(chǔ)器接口111指示將存儲(chǔ)在循環(huán)用命令緩沖器114中的命令列(I#22~I(xiàn)#25)的后續(xù)命令(I#26~I(xiàn)#28)存儲(chǔ)到結(jié)合用命令緩沖器115中。然后,對(duì)選擇回路116指示將循環(huán)用命令緩沖器113選擇為命令的供給源。
對(duì)應(yīng)于此,存儲(chǔ)器接口111訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#26~I(xiàn)#28),存儲(chǔ)到結(jié)合用命令緩沖器115中。進(jìn)而,選擇回路116將循環(huán)用命令緩沖器113選擇為命令的供給源。并且,循環(huán)用命令緩沖器114經(jīng)由選擇回路116對(duì)中央處理裝置10供給命令列(I#22~I(xiàn)#25)(參照?qǐng)D6C)。
(10)中央處理裝置10在從循環(huán)用命令緩沖器114供給了全部的命令的情況下,對(duì)選擇回路116指示將結(jié)合用命令緩沖器115選擇為后續(xù)的命令的供給源。
對(duì)應(yīng)于此,選擇回路116將結(jié)合用命令緩沖器115選擇為命令的供給源。結(jié)合用命令緩沖器115經(jīng)由選擇回路116對(duì)中央處理裝置10供給命令列(I#26~I(xiàn)#28)(參照?qǐng)D6D)。
(11)中央處理裝置10在向結(jié)合用命令緩沖器115的命令的存儲(chǔ)結(jié)束的情況下,對(duì)存儲(chǔ)器接口111指示將存儲(chǔ)在結(jié)合用命令緩沖器115中的命令列(I#26~I(xiàn)#28)的后續(xù)命令(I#29~I(xiàn)#32)存儲(chǔ)到通常用命令緩沖器112中。
對(duì)應(yīng)于此,存儲(chǔ)器接口111訪問主存儲(chǔ)裝置1,將命令列(I#29~I(xiàn)#32)從主存儲(chǔ)裝置1讀出,存儲(chǔ)到通常用命令緩沖器112中(參照?qǐng)D7A)。
(12)中央處理裝置10在執(zhí)行分支命令(BI#2)、不分支到循環(huán)塊124的開始地址而從結(jié)合用命令緩沖器115供給了全部的命令(I#26~I(xiàn)#28)的情況下,對(duì)選擇回路116指示將通常用命令緩沖器112選擇為后續(xù)的命令的供給源。
對(duì)應(yīng)于此,選擇回路116將通常用命令緩沖器112選擇為命令的供給源。并且,通常用命令緩沖器112經(jīng)由選擇回路116對(duì)中央處理裝置10供給命令列(I#29~I(xiàn)#32)(參照?qǐng)D7B)。
由以上說明,根據(jù)本發(fā)明的實(shí)施方式1的命令供給裝置,與將循環(huán)塊的命令列存儲(chǔ)到一個(gè)緩沖器中的情況相比,能夠分開存儲(chǔ)到兩個(gè)以上的緩沖器中,這些緩沖器只要沒有全部被更新,就能夠再利用沒有更新而存儲(chǔ)在緩沖器中的命令列。并且,通過在循環(huán)執(zhí)行時(shí)在后臺(tái)將循環(huán)的后半部分保存到緩沖器中,即使不總是將循環(huán)整體保持在緩沖器中,在循環(huán)時(shí)也與全部保持在緩沖器中的狀態(tài)等同,能夠供給高效率的命令。
例如,將8語句量的命令各一半存儲(chǔ)到兩個(gè)緩沖器中,即使其中的一個(gè)緩沖器被更新,如果另一個(gè)緩沖器沒有被更新,也可以不更新而再利用存儲(chǔ)在另一個(gè)緩沖器中的4語句量的命令。并且,不用將8語句量的命令從主存儲(chǔ)裝置再次讀出,而只要將更新后的4語句量的命令從主存儲(chǔ)裝置再次讀出就可以,訪問主存儲(chǔ)裝置的時(shí)間也能夠縮短。并且,在對(duì)循環(huán)用命令緩沖器及結(jié)合用命令緩沖器的合計(jì)語句數(shù)即8語句以下的循環(huán)塊反復(fù)供給時(shí),能夠不訪問主存儲(chǔ)裝置而供給循環(huán)塊的命令。
同樣,在代替結(jié)合用命令緩沖器而使用另一個(gè)循環(huán)用命令緩沖器的情況下,在對(duì)8語句以下的循環(huán)塊反復(fù)供給時(shí),也能夠不訪問主存儲(chǔ)裝置而供給循環(huán)塊的命令。
另外,對(duì)8語句的兩個(gè)循環(huán)塊,為了在循環(huán)中不訪問主存儲(chǔ)裝置而供給,在以往的結(jié)構(gòu)中,需要設(shè)置兩個(gè)8語句量的循環(huán)用命令緩沖器,需要共計(jì)16語句量的命令緩沖器。相對(duì)于此,在本發(fā)明的實(shí)施方式1中,利用循環(huán)用命令緩沖器112、循環(huán)用命令緩沖器114及結(jié)合用命令緩沖器115的共計(jì)12語句量的命令緩沖器,能夠?qū)崿F(xiàn)等同的功能,能夠以更少的硬件量對(duì)循環(huán)塊高效地供給命令。
(實(shí)施方式2)接著,參照附圖對(duì)有關(guān)本發(fā)明的實(shí)施方式2進(jìn)行說明。另外,對(duì)于與實(shí)施方式1相同的結(jié)構(gòu)省略說明。
本發(fā)明的實(shí)施方式2的命令供給裝置與命令供給裝置101(參照?qǐng)D1)相比,不具備結(jié)合用命令緩沖器115而具備兼用作通常用命令緩沖器112與結(jié)合用命令緩沖器115的通常用命令緩沖器這一點(diǎn)不同。
具體而言,實(shí)施方式2中的通常命令緩沖器在供給通常塊的命令的情況下如通常用命令緩沖器112那樣發(fā)揮功能,在供給循環(huán)塊的命令的情況下,如結(jié)合用命令緩沖器115那樣發(fā)揮功能。
按照以上的方面,對(duì)有關(guān)本發(fā)明的實(shí)施方式2的命令供給裝置進(jìn)行說明。
首先,對(duì)有關(guān)本發(fā)明的實(shí)施方式2的命令供給裝置的結(jié)構(gòu)進(jìn)行說明。
如圖8所示,命令供給裝置201與命令供給裝置101(參照?qǐng)D1)相比,下述(1)~(5)的方面不同。
(1)代替存儲(chǔ)器接口111而具備存儲(chǔ)器接口211。
存儲(chǔ)器接口211根據(jù)來自中央處理裝置20的指示,從主存儲(chǔ)裝置1讀出命令,將讀出的命令存儲(chǔ)到通常用命令緩沖器212、循環(huán)用命令緩沖器213的某一個(gè)中。
(2)代替通常用命令緩沖器112而具備通常用命令緩沖器212。
通常用命令緩沖器212在供給通常塊的命令的情況下,如通常用命令緩沖器112那樣將從通常塊讀出的命令存儲(chǔ)4語句量。此外,在供給循環(huán)塊的命令的情況下,如結(jié)合用命令緩沖器115那樣將存儲(chǔ)在循環(huán)用命令緩沖器213中的命令列的后續(xù)命令存儲(chǔ)4語句量。
(3)代替選擇回路116而具備選擇回路216。
選擇回路216根據(jù)來自中央處理裝置10的指示,將通常用命令緩沖器212、循環(huán)用命令緩沖器213的某一個(gè)選擇為命令的供給源。
(4)新具備閾值寄存器213。
閾值寄存器213保持有在通常用命令緩沖器212供給循環(huán)塊的命令中、在判斷通常用命令緩沖器212的空白區(qū)域的容量是否達(dá)到預(yù)定的容量時(shí)參照的閾值。
(5)不具備循環(huán)用命令緩沖器114、結(jié)合用命令緩沖器115在命令供給裝置201中,由于只存在1個(gè)循環(huán)用命令緩沖器,所以忽視循環(huán)存儲(chǔ)命令的buff值、即選擇緩沖器的信息。
接著,對(duì)在實(shí)施方式2的命令供給裝置中從主存儲(chǔ)裝置取出命令時(shí)的處理進(jìn)行說明。
如圖9所示,通常用命令緩沖器212在將存儲(chǔ)在循環(huán)用命令緩沖器113中的命令列的后續(xù)命令供給之中的情況下(步驟S201是),在伴隨著供給的緩沖器的空白區(qū)域超過預(yù)定的閾值(這里為2語句量)之前(步驟S202),不存儲(chǔ)新的命令。
接著,對(duì)中央處理裝置20的動(dòng)作進(jìn)行說明。
中央處理裝置20在執(zhí)行在實(shí)施方式1中作為一例舉出的命令列(參照?qǐng)D3)時(shí),根據(jù)下述(1)~(5)的情況進(jìn)行處理。
(1)中央處理裝置20在執(zhí)行通常塊的命令的情況下,對(duì)存儲(chǔ)器接口211指示存儲(chǔ)到通常用命令緩沖器212中。進(jìn)而,對(duì)選擇回路216指示將通常用命令緩沖器212選擇為命令的供給源。
(2)中央處理裝置20在執(zhí)行循環(huán)存儲(chǔ)命令的情況下,在沒有進(jìn)行向通常用命令緩沖器212的存儲(chǔ)時(shí),對(duì)存儲(chǔ)器接口211指示從由循環(huán)存儲(chǔ)命令指定的循環(huán)塊的起始將一定量的命令存儲(chǔ)到循環(huán)用命令緩沖器113中。
(3)中央處理裝置20在通過分支命令的執(zhí)行來執(zhí)行從循環(huán)用命令緩沖器113供給的命令的情況下,對(duì)存儲(chǔ)器接口211指示將存儲(chǔ)在該循環(huán)用命令緩沖器113中的命令列的后續(xù)命令存儲(chǔ)到通常用命令緩沖器212中。
(4)中央處理裝置20在從循環(huán)用命令緩沖器供給了全部的命令的情況下,對(duì)選擇回路216指示將通常用命令緩沖器212選擇為后續(xù)的命令的供給源。
(5)中央處理裝置20在執(zhí)行分支命令而分支到由該分支命令指定的地址的情況下,對(duì)選擇回路216指示選擇循環(huán)用命令緩沖器113。另一方面,在不分支而從通常用命令緩沖器112供給其余的命令的情況下,對(duì)存儲(chǔ)器接口211指示將存儲(chǔ)在通常用命令緩沖器212中的命令列的后續(xù)命令存儲(chǔ)到通常用命令緩沖器212中。
接著,對(duì)命令供給裝置201的動(dòng)作進(jìn)行說明。
命令供給裝置201通過接受到來自中央處理裝置20的指示的存儲(chǔ)器接口211,從主存儲(chǔ)裝置1先讀出命令,將讀出的命令存儲(chǔ)到通常用命令緩沖器212、循環(huán)用命令緩沖器113的某一個(gè)中。此外,在選擇回路216中,將通常用命令緩沖器212和循環(huán)用命令緩沖器113的某一個(gè)選擇為命令的供給源。并且,被選擇為命令的供給源的緩沖器將存儲(chǔ)在該緩沖器中的命令經(jīng)由選擇回路216供給到中央處理裝置20中。
另外,通常用命令緩沖器212在供給循環(huán)塊的命令的過程中,如果通過供給命令而產(chǎn)生的空白容量超過保持在閾值寄存器213中的閾值,則再開始從主存儲(chǔ)裝置1讀出后續(xù)的命令并存儲(chǔ)的處理。
并且,通常用命令緩沖器212在供給循環(huán)塊的命令的情況下,即在對(duì)循環(huán)供給用命令緩沖器113供給后續(xù)命令的情況下,即使隨著命令的供給而在自身的緩沖器中出現(xiàn)空白區(qū)域,在該空白區(qū)域超過其閾值(例如為兩個(gè)語句)之前,也不從主存儲(chǔ)裝置1讀出并保存新的命令。由此,將后續(xù)命令繼續(xù)保持在循環(huán)供給用命令緩沖器113中。
這里,使用作為一例而舉出的命令列(參照?qǐng)D3),對(duì)中央處理裝置20和命令供給裝置201的動(dòng)作進(jìn)行說明。
如圖10A~圖12B所示,命令供給裝置201進(jìn)行對(duì)應(yīng)于下述(1)~(12)的情況的處理。
(1)中央處理裝置20在執(zhí)行通常塊121的命令的情況下,對(duì)存儲(chǔ)器接口211指示將通常塊121的命令列(I#1~I(xiàn)#7、LSI#1)存儲(chǔ)到通常用命令緩沖器212中。然后,對(duì)選擇回路216指示將通常用命令緩沖器212選擇為命令的供給源。
對(duì)應(yīng)于此,存儲(chǔ)器接口211訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#1~I(xiàn)#7、LSI#1),存儲(chǔ)到通常用命令緩沖器212中。進(jìn)而,選擇回路216將通常用命令緩沖器212選擇為命令的供給源。并且,通常用命令緩沖器212經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令列(I#1~I(xiàn)#7、LSI#1)(參照?qǐng)D10A)。
(2)中央處理裝置20除了通過分支命令反復(fù)供給的情況,在執(zhí)行循環(huán)塊122的命令的情況下,對(duì)存儲(chǔ)器接口211指示將命令列(I#8~I(xiàn)#14)存儲(chǔ)到通常用命令緩沖器212中。然后,對(duì)選擇回路216指示將通常用命令緩沖器212選擇為命令的供給源。此外,在執(zhí)行循環(huán)存儲(chǔ)命令(LSI#1)的情況下,對(duì)存儲(chǔ)器接口211指示將由循環(huán)存儲(chǔ)命令(LSI#1)指定的循環(huán)塊122的起始部分的命令列(I#8~I(xiàn)#11)存儲(chǔ)到循環(huán)用命令緩沖器113中。
對(duì)應(yīng)于此,存儲(chǔ)器接口211訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#8~I(xiàn)#14),存儲(chǔ)到通常用命令緩沖器212中。進(jìn)而,選擇回路216將通常用命令緩沖器212選擇為命令的供給源。并且,通常用命令緩沖器212經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令列(I#8~I(xiàn)#11)。與此同時(shí),在后臺(tái)讀出由循環(huán)存儲(chǔ)命令(LSI#1)指定的循環(huán)塊122的起始部分的命令列(I#8~I(xiàn)#11),將讀出的命令列(I#8~I(xiàn)#11)存儲(chǔ)到循環(huán)用命令緩沖器113中(參照?qǐng)D10B、圖10C)。
(3)中央處理裝置20在執(zhí)行分支命令(BI#1)而分支到循環(huán)塊122的開始地址的情況下,對(duì)存儲(chǔ)器接口211指示將存儲(chǔ)在循環(huán)用命令緩沖器113中的命令列(I#8~I(xiàn)#11)的后續(xù)命令(I#12~I(xiàn)#14)存儲(chǔ)到通常用命令緩沖器212中。然后,對(duì)選擇回路216指示將循環(huán)用命令緩沖器113選擇為命令的供給源。
對(duì)應(yīng)于此,存儲(chǔ)器接口211訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#12~I(xiàn)#14),存儲(chǔ)到通常用命令緩沖器112中。進(jìn)而,選擇回路216將循環(huán)用命令緩沖器113選擇為命令的供給源。并且,循環(huán)用命令緩沖器113經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令列(I#8~I(xiàn)#11)(參照?qǐng)D10D)。
(4)中央處理裝置20在從循環(huán)用命令緩沖器113供給了全部的命令的情況下,對(duì)選擇回路216指示將通常用命令緩沖器212選擇為后續(xù)的命令的供給源。
對(duì)應(yīng)于此,選擇回路216將通常用命令緩沖器212選擇為命令的供給源。通常用命令緩沖器212經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令列(I#12、I#13)(參照?qǐng)D10E)。
進(jìn)而,通常用命令緩沖器212經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令。此時(shí),由于通過對(duì)中央處理裝置20供給命令而產(chǎn)生的通常用命令緩沖器212的空白區(qū)域超過了閾值,所以對(duì)存儲(chǔ)器接口211指示將存儲(chǔ)在通常用命令緩沖器212中的命令列(I#12~I(xiàn)#14)的后續(xù)命令(I#15、I#16)存儲(chǔ)到通常用命令緩沖器212中。
對(duì)應(yīng)于此,存儲(chǔ)器接口211訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#15、I#16),存儲(chǔ)到通常用命令緩沖器212中(參照?qǐng)D10F)。
(5)中央處理裝置20在執(zhí)行分支命令(BI#1)而分支到循環(huán)塊122的開始地址的情況下,對(duì)選擇回路216指示將循環(huán)用命令緩沖器113選擇為命令的供給源。然后,對(duì)存儲(chǔ)器接口211指示將存儲(chǔ)在循環(huán)用命令緩沖器113中的命令列(I#8~I(xiàn)#11)的后續(xù)命令(I#12、I#13)存儲(chǔ)到通常用命令緩沖器212中。
對(duì)應(yīng)于此,選擇回路216將循環(huán)用命令緩沖器113選擇為命令的供給源。進(jìn)而,循環(huán)用命令緩沖器113經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令列(I#8~I(xiàn)#11)。接著,存儲(chǔ)器接口211訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#12、I#13),存儲(chǔ)到通常用命令緩沖器212中(參照?qǐng)D10G)。
(6)中央處理裝置20在執(zhí)行分支命令(BI#1)、不分支到循環(huán)塊122的開始地址而從通常用命令緩沖器212供給了全部的命令(I#12~I(xiàn)#14)的情況下,對(duì)存儲(chǔ)器接口211指示將存儲(chǔ)在通常用命令緩沖器212中的命令列(I#12~I(xiàn)#14)的后續(xù)命令(I#15~I(xiàn)#18)存儲(chǔ)到通常用命令緩沖器212中。
對(duì)應(yīng)于此,存儲(chǔ)器接口211訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#15~I(xiàn)#18),存儲(chǔ)到通常用命令緩沖器212中。并且,通常用命令緩沖器212經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令列(I#15~I(xiàn)#18)(參照?qǐng)D10H、圖11A)。
(7)中央處理裝置20在執(zhí)行通常塊121的命令的情況下,對(duì)存儲(chǔ)器接口211指示將通常塊121的命令列(I#19~I(xiàn)#21、LSI#2)存儲(chǔ)到通常用命令緩沖器212中。然后,對(duì)選擇回路216指示將通常用命令緩沖器212選擇為命令的供給源。
對(duì)應(yīng)于此,存儲(chǔ)器接口211訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#19~I(xiàn)#21、LSI#2),存儲(chǔ)到通常用命令緩沖器212中。進(jìn)而,選擇回路216將通常用命令緩沖器212選擇為命令的供給源。并且,通常用命令緩沖器212經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令列(I#19~I(xiàn)#21、LSI#2)(參照?qǐng)D11B)。
(8)中央處理裝置20除了通過分支命令反復(fù)供給的情況,在執(zhí)行循環(huán)塊124的命令的情況下,對(duì)存儲(chǔ)器接口211指示將命令列(I#22~I(xiàn)#25)存儲(chǔ)到通常用命令緩沖器212中。然后,對(duì)選擇回路216指示將通常用命令緩沖器212選擇為命令的供給源。此外,在執(zhí)行循環(huán)存儲(chǔ)命令(LSI#2)的情況下,對(duì)存儲(chǔ)器接口211指示將由循環(huán)存儲(chǔ)命令(LSI#2)指定的循環(huán)塊124的起始部分的命令列(I#22~I(xiàn)#25)存儲(chǔ)到循環(huán)用命令緩沖器113中。
對(duì)應(yīng)于此,存儲(chǔ)器接口211訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#22~I(xiàn)#25),存儲(chǔ)到通常用命令緩沖器212中。進(jìn)而,選擇回路216將通常用命令緩沖器212選擇為命令的供給源。并且,通常用命令緩沖器212經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令列(I#22~BI#2)。與此同時(shí),在后臺(tái)讀出由循環(huán)存儲(chǔ)命令(LSI#2)指定的循環(huán)塊124的起始部分的命令列(I#22~I(xiàn)#25),將讀出的命令列(I#22~I(xiàn)#25)存儲(chǔ)到循環(huán)用命令緩沖器113中(參照?qǐng)D11C、圖11D)。
(9)中央處理裝置20在執(zhí)行分支命令(BI#2)而分支到循環(huán)塊124的開始地址的情況下,對(duì)存儲(chǔ)器接口211指示將存儲(chǔ)在循環(huán)用命令緩沖器113中的命令列(I#22~I(xiàn)#25)的后續(xù)命令(I#26~I(xiàn)#28)存儲(chǔ)到通常用命令緩沖器212中。然后,對(duì)選擇回路216指示將循環(huán)用命令緩沖器113選擇為命令的供給源。
對(duì)應(yīng)于此,存儲(chǔ)器接口211訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#26~I(xiàn)#28),存儲(chǔ)到通常用命令緩沖器212中。進(jìn)而,選擇回路216將循環(huán)用命令緩沖器113選擇為命令的供給源。并且,循環(huán)用命令緩沖器113經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令列(I#22~I(xiàn)#25)(參照?qǐng)D11E)。
(10)中央處理裝置20在從循環(huán)用命令緩沖器113供給了全部的命令的情況下,對(duì)選擇回路216指示將通常用命令緩沖器212選擇為后續(xù)的命令的供給源。
對(duì)應(yīng)于此,選擇回路216將通常用命令緩沖器212選擇為命令的供給源。通常用命令緩沖器212經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令列(I#26、BI#2)(參照?qǐng)D11F)。
進(jìn)而,通常用命令緩沖器212經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令。此時(shí),由于通過對(duì)中央處理裝置20供給命令而產(chǎn)生的通常用命令緩沖器212的空白區(qū)域沒有超過閾值,所以不對(duì)存儲(chǔ)器接口211指示將存儲(chǔ)在通常用命令緩沖器212中的命令列(I#26~I(xiàn)#28)的后續(xù)命令(I#29、I#30)存儲(chǔ)到通常用命令緩沖器212中所產(chǎn)生的空白區(qū)域中(參照?qǐng)D11G)。
(11)中央處理裝置20在執(zhí)行分支命令(BI#2)而分支到循環(huán)塊124的開始地址的情況下,對(duì)選擇回路216指示將循環(huán)用命令緩沖器113選擇為命令的供給源。
對(duì)應(yīng)于此,選擇回路216將循環(huán)用命令緩沖器113選擇為命令的供給源。進(jìn)而,循環(huán)用命令緩沖器113經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令列(I#22~I(xiàn)#25)(參照?qǐng)D11H)。
(12)中央處理裝置20在執(zhí)行分支命令(BI#2)、不分支到循環(huán)塊122的開始地址而從通常用命令緩沖器212供給了全部的命令(I#26~I(xiàn)#28)的情況下,對(duì)存儲(chǔ)器接口211指示將存儲(chǔ)在通常用命令緩沖器212中的命令列(I#26~I(xiàn)#28)的后續(xù)命令(I#29~I(xiàn)#32)存儲(chǔ)到通常用命令緩沖器212中。
對(duì)應(yīng)于此,存儲(chǔ)器接口211訪問主存儲(chǔ)裝置1,從主存儲(chǔ)裝置1讀出命令列(I#29~I(xiàn)#32),存儲(chǔ)到通常用命令緩沖器212中。接著,通常用命令緩沖器212經(jīng)由選擇回路216對(duì)中央處理裝置20供給命令列(I#29~I(xiàn)#32)(參照?qǐng)D12A、圖12B)。
由以上說明,根據(jù)命令供給裝置20I,對(duì)于6語句以下的循環(huán)塊,不訪問主存儲(chǔ)裝置1也可以供給重復(fù)命令。
例如,在通過以往的結(jié)構(gòu)實(shí)現(xiàn)等同的結(jié)果的情況下,需要與存儲(chǔ)4語句量的通常用命令緩沖器另外地需要存儲(chǔ)6語句量的命令的循環(huán)用命令緩沖器。即,合計(jì)需要存儲(chǔ)10語句量的命令的緩沖器。
但是,根據(jù)命令供給裝置201,通過有效地利用存儲(chǔ)4語句量的通常用命令緩沖器212,能夠?qū)?語句量中的4語句量的命令存儲(chǔ)到循環(huán)用命令緩沖器113中,將其余兩個(gè)語句量的命令存儲(chǔ)到通常用命令緩沖器212中。即,不需要設(shè)置將6語句量的循環(huán)塊一起存儲(chǔ)的循環(huán)用命令緩沖器,僅需要存儲(chǔ)4語句量的命令的通常用命令緩沖器212、和存儲(chǔ)4語句量的循環(huán)用命令緩沖器113,需要存儲(chǔ)合計(jì)8語句量的命令的緩沖器。并且,如果與以往的結(jié)構(gòu)相比,則能夠削減兩個(gè)語句量的緩沖器。
(其他)另外,保持在閾值寄存器213中的閾值也可以通過程序設(shè)定。此外,也可以在通常用命令緩沖器212的容量內(nèi)設(shè)定。隨之,可以供給與程序的指定相匹配的命令。并且,通過增大該閾值,對(duì)于循環(huán)塊的命令,分配的容量變大,能夠高效地供給。相反,對(duì)于后續(xù)于該循環(huán)塊的命令列,被分配的容量變小,有能夠與該循環(huán)塊一起存儲(chǔ)到通常用命令緩沖器212中的命令數(shù)變少的權(quán)衡。
另外,命令供給裝置也可以通過全定制LSI(Large ScaleIntegration)實(shí)現(xiàn)。此外,也可以通過ASIC(Application SpecificIntegrated Circuit)等那樣的半定制LSI實(shí)現(xiàn)。此外,也可以通過FPGA(Field Programmable Gate Array)、CPLD(Complex ProgrammableLogic Device)等那樣的可編程邏輯設(shè)備實(shí)現(xiàn)。此外,也可以作為可動(dòng)態(tài)改寫回路結(jié)構(gòu)的動(dòng)態(tài)重構(gòu)設(shè)備實(shí)現(xiàn)。
進(jìn)而,將構(gòu)成命令供給裝置的1至2以上的功能形成在這些LSI上的設(shè)計(jì)數(shù)據(jù),也可以是通過VHDL(Very high speed integrated circuitHardware Description Language)、Verilog-HDL、SystemC等那樣的硬件記述語言記述的程序(以下稱作HDL程序)。此外,也可以做成將HDL程序邏輯合成而得到的門級(jí)的網(wǎng)表。此外,也可以做成在門級(jí)的網(wǎng)表中附加了配置信息、過程條件等的微單元信息。此外,也可以做成規(guī)定了尺寸、定時(shí)等的掩碼數(shù)據(jù)。
進(jìn)而,設(shè)計(jì)數(shù)據(jù)也可以記錄到光學(xué)記錄介質(zhì)(例如CD-ROM等)、磁記錄介質(zhì)(例如硬盤等)、光磁記錄介質(zhì)(例如MO等)、半導(dǎo)體存儲(chǔ)器(例如RAM等)等那樣的計(jì)算機(jī)可讀取的記錄介質(zhì)中,以使其能夠被組裝系統(tǒng)等那樣的硬件系統(tǒng)中。并且,經(jīng)由記錄介質(zhì)被讀取到其他硬件系統(tǒng)中的設(shè)計(jì)數(shù)據(jù)也可以經(jīng)由下載線纜而下載到可編程邏輯設(shè)備中。
此外,設(shè)計(jì)數(shù)據(jù)也可以保持在傳送路徑上的硬件系統(tǒng)中,以便能夠經(jīng)由網(wǎng)絡(luò)等那樣的傳送路徑被其他硬件系統(tǒng)取得。進(jìn)而,從硬件系統(tǒng)經(jīng)由傳送路徑被取得到其他硬件系統(tǒng)中的設(shè)計(jì)數(shù)據(jù)也可以經(jīng)由下載線纜被下載到可編程邏輯設(shè)備中。
或者,被邏輯合成、配置、配線的設(shè)計(jì)數(shù)據(jù)也可以記錄在串行ROM中,以使其在通電時(shí)能夠被傳送給FPGA。并且,記錄在串行ROM中的設(shè)計(jì)數(shù)據(jù)也可以在通電時(shí)直接被下載到FPGA中。
工業(yè)實(shí)用性本發(fā)明可以作為將從主存儲(chǔ)裝置讀出的命令向中央處理裝置供給的命令供給裝置等、特別是作為不增加循環(huán)用命令緩沖器的容量而對(duì)更多個(gè)命令的循環(huán)不進(jìn)行向主存儲(chǔ)裝置的訪問而進(jìn)行命令供給的命令供給裝置等使用。
權(quán)利要求
1.一種命令供給裝置,將從主存儲(chǔ)裝置讀出的命令供給到中央處理裝置,其特征在于,具備第1緩沖器,在將保存在上述主存儲(chǔ)裝置中的命令列中的、反復(fù)供給到上述中央處理裝置的第1命令列再次供給到上述中央處理裝置之前,存儲(chǔ)作為上述第1命令列的起始部分的第1部分命令列;第2緩沖器,在將上述第1命令列反復(fù)供給到上述中央處理裝置時(shí),一邊將存儲(chǔ)在上述第1緩沖器中的上述第1部分命令列供給到上述中央處理裝置,一邊存儲(chǔ)后續(xù)于上述第1部分命令列的第2部分命令列;以及選擇機(jī)構(gòu),如果將上述第1部分命令列的全部供給到上述中央處理裝置,則從存儲(chǔ)在上述第2緩沖器中的第2部分命令列開始,將上述第1部分命令列的后續(xù)命令供給到上述中央處理裝置。
2.如權(quán)利要求1所述的命令供給裝置,其特征在于,上述命令供給裝置還,具備第3緩沖器,在將保存在上述主存儲(chǔ)裝置中的命令列中的、在上述第1命令列以外反復(fù)供給到上述中央處理裝置的第2命令列再次供給到上述中央處理裝置之前,存儲(chǔ)作為上述第2命令列的起始部分的第3部分命令列;在將上述第2命令列反復(fù)供給到上述中央處理裝置時(shí),一邊將存儲(chǔ)在上述第3緩沖器中的上述第3部分命令列供給到上述中央處理裝置,一邊將后續(xù)于上述第3部分命令列的第4部分命令列存儲(chǔ)到上述第2緩沖器中;上述選擇機(jī)構(gòu),如果將上述第3部分命令列的全部供給到上述中央處理裝置,則從存儲(chǔ)在上述第2緩沖器中的第4部分命令列開始,將上述第3部分命令列的后續(xù)命令供給到上述中央處理裝置。
3.如權(quán)利要求2所述的命令供給裝置,其特征在于,在上述主存儲(chǔ)裝置中保存有第1命令,含有上述第1命令列的所在、和指定將上述第1部分命令列存儲(chǔ)到上述第1緩沖器中的信息;第2命令,含有上述第2命令列的所在、和指定將上述第3部分命令列存儲(chǔ)到上述第3緩沖器中的信息;上述命令供給裝置還,從執(zhí)行了上述第1命令后的上述中央處理裝置接受基于包含在上述第1命令中的信息的指示,將上述第1部分命令列存儲(chǔ)到上述第1緩沖器中,從執(zhí)行了上述第2命令后的上述中央處理裝置接受基于包含在上述第2命令中的信息的指示,將上述第3部分命令列存儲(chǔ)到上述第3緩沖器中。
4.如權(quán)利要求2所述的命令供給裝置,其特征在于,上述命令供給裝置還具備第4緩沖器,在將保存在上述主存儲(chǔ)裝置中的命令列供給到上述中央處理裝置時(shí)依次存儲(chǔ);上述選擇機(jī)構(gòu)除了反復(fù)供給到上述中央處理裝置的情況以外,將保存在上述第4緩沖器中的命令列依次供給到上述中央處理裝置。
5.如權(quán)利要求1所述的命令供給裝置,其特征在于,上述命令供給裝置除了將上述第1命令列反復(fù)供給到上述中央處理裝置的情況以外,在將保存在上述主存儲(chǔ)裝置中的命令列供給到上述中央處理裝置的情況下,依次存儲(chǔ)到上述第2緩沖器中。
6.如權(quán)利要求5所述的命令供給裝置,其特征在于,上述命令供給裝置還在將存儲(chǔ)在上述第2緩沖器中的第2部分命令列供給到上述中央處理裝置的期間,在通過將上述第2部分命令列供給到上述中央處理裝置而在上述第2緩沖器中產(chǎn)生的空白容量超過預(yù)定的容量之前,不將上述第2部分命令列的后續(xù)命令存儲(chǔ)到上述第2緩沖器中。
7.如權(quán)利要求6所述的命令供給裝置,其特征在于,上述命令供給裝置還具備保持上述預(yù)定的容量的寄存器;根據(jù)來自上述中央處理裝置的指示,設(shè)定上述預(yù)定的容量,保持在上述寄存器中。
8.一種命令供給控制方法,控制具備第1緩沖器和第2緩沖器并將從主存儲(chǔ)裝置讀出的命令供給到中央處理裝置的命令供給裝置,其特征在于,將保存于上述主存儲(chǔ)裝置中的命令列中的、反復(fù)供給到上述中央處理裝置的第1命令列再次供給到上述中央處理裝置之前,將作為上述第1命令列的起始部分的第1部分命令列存儲(chǔ)到上述第1緩沖器中;在將上述第1命令列反復(fù)供給到上述中央處理裝置時(shí),一邊將存儲(chǔ)在上述第1緩沖器中的上述第1部分命令列供給到上述中央處理裝置,一邊將后續(xù)于上述第1部分命令列的第2部分命令列存儲(chǔ)到上述第2緩沖器中;如果將上述第1部分命令列的全部供給到上述中央處理裝置,則從存儲(chǔ)在第2緩沖器中的第2部分命令列開始,將上述第1部分命令列的后續(xù)命令供給上述中央處理裝置。
全文摘要
本發(fā)明提供一種以較少的硬件量高效地供給形成循環(huán)的命令列的命令供給裝置。命令供給裝置(101)具備循環(huán)用命令緩沖器(113),在將保存在主存儲(chǔ)裝置(1)中的命令列中的、反復(fù)供給到中央處理裝置(10)的第1命令列再次供給到中央處理裝置(10)之前,存儲(chǔ)作為第1命令列的起始部分的第1部分命令列;結(jié)合用命令緩沖器(115),在將第1命令列反復(fù)供給到中央處理裝置(10)時(shí),一邊將存儲(chǔ)在循環(huán)用命令緩沖器(113)中的第1部分命令列供給到中央處理裝置(10),一邊存儲(chǔ)后續(xù)于第1部分命令列的第2部分命令列;以及選擇回路(116),如果將第1部分命令列的全部供給到中央處理裝置(10),則從存儲(chǔ)在結(jié)合用命令緩沖器(115)中的第2部分命令列開始,將第1部分命令列的后續(xù)命令供給到中央處理裝置(10)。
文檔編號(hào)G06F9/38GK101065725SQ20058004053
公開日2007年10月31日 申請(qǐng)日期2005年5月9日 優(yōu)先權(quán)日2004年11月25日
發(fā)明者小椋里 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
海城市| 澜沧| 郯城县| 称多县| 土默特左旗| 凉城县| 同德县| 和政县| 凉城县| 枣庄市| 措勤县| 兴国县| 宜黄县| 多伦县| 普定县| 太仆寺旗| 扎鲁特旗| 女性| 邳州市| 许昌市| 沂水县| 崇文区| 镇巴县| 光泽县| 乐至县| 新津县| 丽水市| 勐海县| 上虞市| 兴安县| 白水县| 交城县| 庆元县| 紫金县| 枣强县| 英吉沙县| 临江市| 罗田县| 山阴县| 正定县| 安吉县|