半導(dǎo)體裝置及讀取指令的控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種半導(dǎo)體裝置及讀取指令的控制方法,特別涉及一種使用可改寫(xiě)的非揮發(fā)性存儲(chǔ)器的系統(tǒng)級(jí)封裝型半導(dǎo)體裝置及在該半導(dǎo)體裝置中的指令讀取控制方法。
【背景技術(shù)】
[0002]近年來(lái),在電子電路系統(tǒng)中搭載有多個(gè)可改寫(xiě)的非揮發(fā)性存儲(chǔ)器(閃存器)。閃存器主要有NAND型和NOR型。通常來(lái)說(shuō),NAND型閃存器容量大,因此,單位比特的成本低,所以適用于處理大容量數(shù)據(jù),但需要控制器和/或映射用RAM,電路構(gòu)成容易變得復(fù)雜。另一方面,NOR型閃存器容量小,速度較低,但由于電路構(gòu)成簡(jiǎn)單,所以適用于儲(chǔ)存程序代碼(指令代碼)和/或固件,因此,還提供有被稱(chēng)為XiP (eXecute-1n-Place,芯片內(nèi)執(zhí)行)的規(guī)格。
[0003]并且,NOR型閃存器有并行型和串行型,NOR型串行閃存器的引腳數(shù)少,能夠削減芯片面積,因此能夠節(jié)約基板貼裝的成本,所以期待今后主要用于與CPU混載的系統(tǒng)級(jí)封裝(SIP) O
[0004]此外,提高電子電路系統(tǒng)的運(yùn)行速度是常態(tài)化的需求,提出了各種用于提高運(yùn)行速度的技術(shù)。
[0005]下述專(zhuān)利文獻(xiàn)I公開(kāi)了一種用于削減啟動(dòng)信息處理裝置中的OS等程序的處理所需要的時(shí)間的技術(shù)。具體來(lái)說(shuō),專(zhuān)利文獻(xiàn)I公開(kāi)了一種具有兩個(gè)處理器的信息處理裝置,其中,第一處理器執(zhí)行用于使第二處理器能夠從DRAM讀取并執(zhí)行關(guān)于OS的指令組的準(zhǔn)備處理(例如保存在DRAM中的內(nèi)核映像的整合性檢查),另一方面,第二處理器與第一處理器執(zhí)行的準(zhǔn)備處理在時(shí)間上并行而從閃存器讀取并執(zhí)行關(guān)于OS的指令組,并且第二處理器根據(jù)準(zhǔn)備處理的完成,將關(guān)于OS的指令組的獲取處從閃存器切換為DRAM并繼續(xù)執(zhí)行OS。
[0006]現(xiàn)有技術(shù)文獻(xiàn)
[0007]專(zhuān)利文獻(xiàn)
[0008]專(zhuān)利文獻(xiàn)1:日本特開(kāi)第2010-146142號(hào)公報(bào)
【發(fā)明內(nèi)容】
[0009]技術(shù)問(wèn)題
[0010]在專(zhuān)利文獻(xiàn)I所公開(kāi)的現(xiàn)有的信息處理裝置中,為了存儲(chǔ)關(guān)于OS的指令組而使用DRAM,所以必須考慮與設(shè)置于該DRAM的多個(gè)引腳對(duì)應(yīng)的布線(xiàn)而進(jìn)行設(shè)計(jì),很難實(shí)現(xiàn)芯片的小面積化。也就是說(shuō),像專(zhuān)利文獻(xiàn)I那樣的信息處理裝置是基于以下的系統(tǒng)策略而被設(shè)計(jì)的,即,隨著OS的高功能化,配合內(nèi)核圖像的尺寸增大而可以使用作為容量大且高速的存儲(chǔ)器的DRAM,因此不適于無(wú)法使用DRAM的系統(tǒng)環(huán)境和/或?qū)π酒N裝面積的削減具有強(qiáng)烈要求的系統(tǒng)環(huán)境。
[0011]另一方面,對(duì)于NOR型閃存器,從其特性考慮,出于在要求高可靠性的系統(tǒng)環(huán)境中儲(chǔ)存指令代碼為目的而使用的情況較多,因此尋求進(jìn)一步提高讀取速度的技術(shù)。關(guān)于這點(diǎn),NOR型串行閃存器的I/O引腳數(shù)少,期待作為對(duì)削減芯片面積能夠做出巨大貢獻(xiàn)的內(nèi)存器,但由于讀取速度比其它閃存器慢,因此在搭載于系統(tǒng)級(jí)封裝型半導(dǎo)體裝置的情況下,讀取速度成為瓶頸。特別是,在CPU從NOR型串行閃存器中讀取有關(guān)分支的指令并準(zhǔn)備執(zhí)行的情況下,在構(gòu)造上,直到NOR型串行閃存器做好讀取準(zhǔn)備為止,CPU承受負(fù)載,因此具有CPU的性能降低的問(wèn)題。即,在NOR型串行閃存器中,在讀取的地址具有連續(xù)性的情況下,能夠比較高速地讀取數(shù)據(jù),但在讀取的地址不具有連續(xù)性(例如由分支指令和/或跳轉(zhuǎn)指令等導(dǎo)致的地址跳轉(zhuǎn))的情況下,在從指定地址到讀取數(shù)據(jù)為止的處理中產(chǎn)生系統(tǒng)開(kāi)銷(xiāo),在這段期間,存在等待CPU執(zhí)行的缺陷。
[0012]因此,本發(fā)明的目的在于提供一種改善在包含儲(chǔ)存了指令代碼的閃存器的系統(tǒng)級(jí)封裝型半導(dǎo)體裝置中的指令讀取速度的體系結(jié)構(gòu)。
[0013]具體來(lái)說(shuō),本發(fā)明的目的在于提供以下的體系結(jié)構(gòu)。即,在包含儲(chǔ)存有指令代碼的NOR型串行閃存器的系統(tǒng)級(jí)封裝型半導(dǎo)體裝置中,即使在CPU讀取有關(guān)分支的指令并執(zhí)行的情況下,也不使CPU過(guò)度等待,實(shí)現(xiàn)CPU的有效的執(zhí)行。
[0014]技術(shù)方案
[0015]用于解決上述問(wèn)題的本發(fā)明包括以下所示的發(fā)明特定事項(xiàng)或技術(shù)特征而構(gòu)成。
[0016]S卩,基于上述觀(guān)點(diǎn)的本發(fā)明為一種半導(dǎo)體裝置,具備:CPU ;第一閃存器,存儲(chǔ)通過(guò)上述CPU而執(zhí)行的第一指令組;第二閃存器,存儲(chǔ)根據(jù)在上述第一指令組中包含的預(yù)定的控制指令而執(zhí)行的第二指令組。上述半導(dǎo)體裝置在通過(guò)上述CPU執(zhí)行指令之前,判斷從上述第一閃存器讀取的指令是否為分支指令,且在判斷為是該分支指令的情況下,指示為使上述第二閃存器利用該分支指令所表示的分支目標(biāo)地址值而執(zhí)行讀取動(dòng)作。并且,上述半導(dǎo)體裝置在按照該指示而使上述第二閃存器處于能夠進(jìn)行讀取動(dòng)作的狀態(tài)的期間,在上述(PU的程序計(jì)數(shù)器的值與上述分支目標(biāo)地址值一致的情況下,開(kāi)始從上述第二閃存器讀取上述第二指令組。
[0017]據(jù)此,即使在讀取的地址不具有連續(xù)性的情況下,通過(guò)預(yù)先使與讀取數(shù)據(jù)的閃存器不同的閃存器處于能夠讀取的狀態(tài),從而能夠減少CPU的等待時(shí)間,能夠高效地利用CPUo
[0018]并且,基于上述觀(guān)點(diǎn)的本發(fā)明為一種半導(dǎo)體裝置,具備:第一閃存器,存儲(chǔ)第一指令組;第二閃存器,存儲(chǔ)根據(jù)在上述第一指令組中包含的預(yù)定的控制指令而執(zhí)行的第二指令組;訪(fǎng)問(wèn)控制部,控制對(duì)上述第一閃存器以及上述第二閃存器的訪(fǎng)問(wèn);存儲(chǔ)器接口,選擇上述第一閃存器以及上述第二閃存器中的任一個(gè)閃存器,將從該選擇后的閃存器中依次讀取的指令提供給CPU,其中包括判斷該指令是否為第一控制指令,且在判斷為該指令是第一控制指令時(shí)獲取該第一控制指令所表示的第一跳轉(zhuǎn)目標(biāo)地址值的分支指令檢測(cè)部;程序計(jì)數(shù)器監(jiān)視部,將CPU的程序計(jì)數(shù)器的值與由上述分支指令檢測(cè)部獲取的第一跳轉(zhuǎn)目標(biāo)地址值進(jìn)行比較,在該比較結(jié)果是上述程序計(jì)數(shù)器的值與上述第一跳轉(zhuǎn)目標(biāo)地址值一致的情況下,輸出第一觸發(fā)信號(hào)。上述訪(fǎng)問(wèn)控制部控制為根據(jù)由上述分支指令檢測(cè)部獲取的第一跳轉(zhuǎn)目標(biāo)地址值而使上述第二閃存器處于能夠讀取的狀態(tài),上述存儲(chǔ)器接口基于從上述程序計(jì)數(shù)器監(jiān)視部輸出的上述第一觸發(fā)信號(hào)選擇上述第二閃存器。
[0019]上述程序計(jì)數(shù)器監(jiān)視部在上述程序計(jì)數(shù)器的值被改寫(xiě)為預(yù)定的增加值以外的值的情況下,對(duì)上述程序計(jì)數(shù)器的值與上述第一跳轉(zhuǎn)目標(biāo)地址值進(jìn)行比較。
[0020]并且,上述程序計(jì)數(shù)器監(jiān)視部具備儲(chǔ)存上述獲取的第一跳轉(zhuǎn)目標(biāo)地址值的寄存器。
[0021]并且,上述程序計(jì)數(shù)器監(jiān)視部在上述程序計(jì)數(shù)器的值被改寫(xiě)為預(yù)定的增加值以外的值、且上述寄存器的內(nèi)容為控制(Null)的情況下控制為使上述CPU變成保持(HOLD)狀
??τ O
[0022]并且,上述程序計(jì)數(shù)器監(jiān)視部在根據(jù)通過(guò)上述CPU解碼的指令而使上述第二閃存器成為能夠讀取的狀態(tài)的情況下控制為解除上述CPU的保持(HOLD)狀態(tài)。
[0023]并且,上述訪(fǎng)問(wèn)控制部在上述第二閃存器成為能夠讀取的狀態(tài)的情況下控制為直到接收上述第一觸發(fā)信號(hào)為止,使上述第二閃存器處于空閑狀態(tài)。
[0024]并且,上述分支指令檢測(cè)部在從上述第二閃存器正讀取指令組的情況下,判斷該指令是否為第二指令,當(dāng)判斷該指令為第二指令時(shí),獲取該第二指令所表示的第二跳轉(zhuǎn)目標(biāo)地址值。并且,上述訪(fǎng)問(wèn)控制部根據(jù)通過(guò)上述分支指令檢測(cè)部獲取的第二跳轉(zhuǎn)目標(biāo)地址值控制為使上述第一閃存器成為能夠讀取的狀態(tài)。并且,上述程序計(jì)數(shù)器監(jiān)視部對(duì)上述程序計(jì)數(shù)器的值與通過(guò)上述分支指令檢測(cè)部獲取的第二跳轉(zhuǎn)目標(biāo)地址值進(jìn)行比較,在該比較的結(jié)果是上述程序計(jì)數(shù)器的值與上述第二跳轉(zhuǎn)目標(biāo)地址值一致時(shí),輸出第二觸發(fā)信號(hào)。并且,上述存儲(chǔ)器接口基于從上述程序計(jì)數(shù)器監(jiān)視部輸出的上述第二觸發(fā)信號(hào)選擇上述第一閃存器。
[0025]并且,上述半導(dǎo)體裝置還具備中斷控制器,從外部的外圍電路以及外圍設(shè)備的至少一個(gè)中接收中斷請(qǐng)求信號(hào)而對(duì)上述CPU執(zhí)行中斷。上述中斷控制器基于上述中斷請(qǐng)求信號(hào),獲取基于該中斷的中斷跳轉(zhuǎn)目標(biāo)地址值。并且,上述訪(fǎng)問(wèn)控制部根據(jù)通過(guò)上述中斷控制器獲取的中斷跳轉(zhuǎn)目標(biāo)地址值控制為使上述第二閃存器成為能夠讀取的狀態(tài)。并且,上述程序計(jì)數(shù)器監(jiān)視部對(duì)上述程序計(jì)數(shù)器的值與通過(guò)上述中斷控制器獲取的中斷跳轉(zhuǎn)目標(biāo)地址值進(jìn)行比較,在該比較的結(jié)果是上述程序計(jì)數(shù)器的值與上述中斷跳轉(zhuǎn)目標(biāo)地址值一致的情況下,輸出上述第一觸發(fā)信號(hào)。并且,上述存儲(chǔ)器接口基于從上述程序計(jì)數(shù)器監(jiān)視部輸出的上述第一觸發(fā)信號(hào)選擇上述第二閃存器。
[0026]其中,上述第一閃存器以及上述第二閃存器均為NOR型串行閃存器。
[0027]并且,基于上述觀(guān)點(diǎn)的本發(fā)明為一種在以下半導(dǎo)體裝置中的指令讀取控制方法。所述半導(dǎo)體裝置具備:CPU ;第一閃存器,存儲(chǔ)通過(guò)上述CPU而執(zhí)行的第一指令組;第二閃存器,存儲(chǔ)根據(jù)在上述第一指令組中包含的預(yù)定的控制指令而執(zhí)行的第二指令組。所述指令讀取控制方法包括:選擇性地控制上述第一閃存器,依次讀取上述第一指令組,并提供給上述CPU ;在讀取上述第一指令組的期間,從上述第一指令組中檢測(cè)預(yù)定的控制命令;在檢測(cè)到上述預(yù)定的控制指令的情況下,獲取該預(yù)定的控制指令所表示的跳轉(zhuǎn)目標(biāo)地址值;根據(jù)上述獲取的跳轉(zhuǎn)目標(biāo)地址值進(jìn)行控制為使上述第二閃存器成為能夠讀取的狀態(tài);在獲取了上述跳轉(zhuǎn)目標(biāo)地址值的情況下,監(jiān)視上述CPU的程序計(jì)數(shù)器,判斷上述程序計(jì)數(shù)器的值與上述跳轉(zhuǎn)目標(biāo)地址值是否一致;在判斷為上述程序計(jì)數(shù)器的值與上述跳轉(zhuǎn)目標(biāo)地址值一致的情況下,輸出預(yù)定的觸發(fā)信號(hào);基于上述輸出的預(yù)定的觸發(fā)信號(hào),將應(yīng)該向上述CPU提供的指令的讀取從上述第一閃存器切換為處于上述能夠讀取的狀態(tài)的第二閃存器。
[0028]發(fā)明效果
[0029]根據(jù)本發(fā)明,能夠改善在包含儲(chǔ)存有指令代碼的閃存器的系統(tǒng)級(jí)封裝型半導(dǎo)體裝置中的指令的讀取速度。
[0030]具體來(lái)說(shuō),根據(jù)本發(fā)明,在包含儲(chǔ)存有指令代碼的NOR型串行閃存器的系統(tǒng)級(jí)封裝型半導(dǎo)體裝置中,即使在CPU讀取有關(guān)分支的指令并執(zhí)行的情況下,也不會(huì)使CPU過(guò)度等待,能夠?qū)崿F(xiàn)CPU的有效的執(zhí)行。
[0031]本發(fā)明的其它技術(shù)特征、目的以及作用效果或者優(yōu)點(diǎn)通過(guò)參照附圖而說(shuō)明的以下實(shí)施方式會(huì)變得更加明確。
【附圖說(shuō)明】
[0032]圖1是用于說(shuō)明本發(fā)明的一個(gè)實(shí)施方式的半導(dǎo)體裝置的