多處理器系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供能夠高效地調(diào)試一個(gè)處理器的動(dòng)作和另一個(gè)處理器的動(dòng)作的多處理器系統(tǒng)。在具有第1處理器、和接收來(lái)自該第1處理器的通知并執(zhí)行處理的第2處理器的多處理器系統(tǒng)中,所述第1處理器從命令串中逐次確定成為執(zhí)行對(duì)象的命令,在所確定的命令是處理委托命令的情況下,向所述第2處理器進(jìn)行基于該處理委托的通知,在不是處理委托命令的情況下執(zhí)行該命令,并且判別是否設(shè)定了調(diào)試模式,在判定為設(shè)定了調(diào)試模式的情況下,在確定處理委托命令時(shí),使以后的命令的確定停止,在進(jìn)行所述通知后,在檢測(cè)到所述第2處理器已結(jié)束與所述通知相對(duì)應(yīng)的處理時(shí),重新開(kāi)始命令的確定。
【專利說(shuō)明】多處理器系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及在具有主處理器和協(xié)處理器的多處理器系統(tǒng)中提高軟件調(diào)試(debug)效率的技術(shù)。
【背景技術(shù)】
[0002]用于進(jìn)行被數(shù)字化的影像數(shù)據(jù)或聲音數(shù)據(jù)等的壓縮、解壓縮等的媒體處理,其運(yùn)算量非常大。因此,用于進(jìn)行媒體處理的專用軟件和高性能的DSP (Digital SignalProcessor:數(shù)字信號(hào)處理器)等得到普及。
[0003]關(guān)于這種媒體處理,MPEG (Moving Picture Experts Group:運(yùn)動(dòng)圖像專家組)_2、MPEG-4、H.263、H.264等非常多的標(biāo)準(zhǔn)得到實(shí)際應(yīng)用。因此,要求數(shù)字AV (Audio-Visual:音頻-視頻)設(shè)備能夠應(yīng)對(duì)多種標(biāo)準(zhǔn)的媒體處理。另外,各種媒體處理應(yīng)用的復(fù)雜程度上升,具有圖像尺寸、聲音的聲道數(shù)量等也增加的傾向,運(yùn)算量將進(jìn)一步增大。
[0004]因此,通過(guò)使用高性能的處理器來(lái)實(shí)現(xiàn)性能提高,該高性能的處理器通過(guò)設(shè)置專用于特定的運(yùn)算的協(xié)處理器(co-processor)來(lái)大幅提高運(yùn)算效率。
[0005]在具有協(xié)處理器的多處理器系統(tǒng)中,當(dāng)在主處理器的處理和協(xié)處理器的處理之間不存在軟件上的數(shù)據(jù)依存性以及使用的硬件資源沒(méi)有競(jìng)爭(zhēng)的情況下,通過(guò)同時(shí)執(zhí)行它們的處理,能夠進(jìn)一步實(shí)現(xiàn)性能提高。
[0006]例如,在專利文獻(xiàn)I中公開(kāi)了這樣的結(jié)構(gòu),通過(guò)設(shè)定執(zhí)行模式,使主處理器和協(xié)處理器(FPU:Floating Point number processing Unit,浮點(diǎn)數(shù)處理單元)各自的命令執(zhí)行動(dòng)作變化。根據(jù)該專利文獻(xiàn)1,將主處理器和協(xié)處理器(FPU)的命令執(zhí)行模式(串行標(biāo)量:serial scalar)統(tǒng)一,在執(zhí)行浮動(dòng)小數(shù)點(diǎn)命令(相當(dāng)于協(xié)處理器)時(shí),進(jìn)行使主處理器的命令執(zhí)行模式依據(jù)于協(xié)處理器(FPU)側(cè)的控制。由此,能夠同時(shí)進(jìn)行主處理器和協(xié)處理器的處理。
[0007]現(xiàn)有技術(shù)文獻(xiàn)
[0008]專利文獻(xiàn)
[0009]專利文獻(xiàn)1:日本特開(kāi)平7 - 319694號(hào)公報(bào)發(fā)明概要
[0010]發(fā)明要解決的問(wèn)題
[0011]但是,在上述的技術(shù)中,雖然通過(guò)使主處理器側(cè)的命令執(zhí)行模式與協(xié)處理器側(cè)的動(dòng)作同步,從而能夠使動(dòng)作單純化并提高性能,但是其另一方面,存在有關(guān)主處理器和協(xié)處理器的軟件調(diào)試效率下降的問(wèn)題。
[0012]
【發(fā)明內(nèi)容】
[0013]本發(fā)明的目的在于,提供能夠高效地調(diào)試一個(gè)處理器的動(dòng)作和另一個(gè)處理器的動(dòng)作的多處理器系統(tǒng)及方法。
[0014]用于解決問(wèn)題的手段[0015]為了達(dá)到上述目的,本發(fā)明的多處理器系統(tǒng),具有第I處理器、和接收來(lái)自該第I處理器的通知并執(zhí)行處理的第2處理器,其特征在于,所述第I處理器具有:判別單元,判別是否設(shè)定了調(diào)試模式;確定單元,從命令串中逐次確定成為執(zhí)行對(duì)象的命令;執(zhí)行單元,在所確定的命令是處理委托命令的情況下,向所述第2處理器進(jìn)行基于該處理委托的通知,在所確定的命令不是處理委托命令的情況下執(zhí)行該所確定的命令;以及檢測(cè)單元,對(duì)所述第2處理器已結(jié)束與所述通知相對(duì)應(yīng)的處理這一情況進(jìn)行檢測(cè),在由所述判別單元判別為設(shè)定了調(diào)試模式的情況下,所述確定單元在確定處理委托命令時(shí),中止以后的命令的確定,在檢測(cè)到所述結(jié)束時(shí)重新開(kāi)始命令的確定。
[0016]發(fā)明效果
[0017]根據(jù)上述結(jié)構(gòu),多處理器系統(tǒng)在由所述判別單元判別為設(shè)定了調(diào)試模式的情況下,在確定處理委托命令時(shí),使以后的命令的確定停止,在檢測(cè)到所述結(jié)束時(shí)重新開(kāi)始命令的確定。因此,多處理器通過(guò)在確定處理委托命令時(shí)使以后的命令的確定停止,使得第2處理器處理的命令和確定處理委托命令時(shí)的以后的命令不會(huì)并行發(fā)行,因而能夠高效地進(jìn)行調(diào)試。
【專利附圖】
【附圖說(shuō)明】
[0018]圖1是表示多處理器系統(tǒng)10的結(jié)構(gòu)的圖。
[0019]圖2是表不發(fā)行命令決定處理的流程圖。
[0020]圖3是說(shuō)明通常模式時(shí)的主處理器11和協(xié)處理器12的處理的圖。
[0021]圖4是說(shuō)明調(diào)試模式時(shí)的主處理器11和協(xié)處理器12的處理的圖。
[0022]圖5是表示多處理器系統(tǒng)1000的結(jié)構(gòu)的圖。
[0023]圖6是表不發(fā)行命令決定處理的流程圖。
[0024]圖7是說(shuō)明第2調(diào)試模式時(shí)的主處理器1001和協(xié)處理器1002的處理的圖。
[0025]圖8是說(shuō)明使用多處理器系統(tǒng)10的解碼處理的圖。
[0026]圖9是說(shuō)明使用多處理器系統(tǒng)10的編碼處理的圖。
【具體實(shí)施方式】
[0027](作為本發(fā)明的基礎(chǔ)的認(rèn)識(shí))
[0028]在上述專利文獻(xiàn)I中公開(kāi)的技術(shù)如上所述,通過(guò)使主處理器側(cè)的命令執(zhí)行模式與協(xié)處理器側(cè)的動(dòng)作同步,能夠使動(dòng)作單純化并提高性能。
[0029]但是,在上述專利文獻(xiàn)I公開(kāi)的技術(shù)中,將導(dǎo)致有關(guān)主處理器及協(xié)處理器的軟件調(diào)試效率下降。例如,在協(xié)處理器側(cè)的軟件錯(cuò)誤地破壞了主處理器使用的存儲(chǔ)器區(qū)域的一部分區(qū)域的情況下,由于主處理器和協(xié)處理器是同時(shí)并行執(zhí)行的,因而難以區(qū)分成為故障原因的程序。因此,導(dǎo)致不明白這種故障是基于軟件中主處理器執(zhí)行的命令串的故障、還是基于協(xié)處理器執(zhí)行的命令串的故障,即不明白是主處理器側(cè)的軟件具有的軟件故障、還是協(xié)處理器側(cè)的軟件具有的軟件故障。
[0030]因此,
【發(fā)明者】通過(guò)進(jìn)行認(rèn)真研究,發(fā)現(xiàn)了能夠高效地調(diào)試一個(gè)處理器的動(dòng)作和另一個(gè)處理器的動(dòng)作的多處理器系統(tǒng),并完成了發(fā)明。
[0031]本發(fā)明的一個(gè)方式的多處理器系統(tǒng),具有第I處理器、和接收來(lái)自該第I處理器的通知并執(zhí)行處理的第2處理器,其特征在于,所述第I處理器具有:判別單元,判別是否設(shè)定了調(diào)試模式;確定單元,從命令串中逐次確定成為執(zhí)行對(duì)象的命令;執(zhí)行單元,在所確定的命令是處理委托命令的情況下,向所述第2處理器進(jìn)行基于該處理委托的通知,在所確定的命令不是處理委托命令的情況下執(zhí)行該所確定的命令;以及檢測(cè)單元,對(duì)所述第2處理器已結(jié)束與所述通知相對(duì)應(yīng)的處理這一情況進(jìn)行檢測(cè),在由所述判別單元判別為設(shè)定了調(diào)試模式的情況下,所述確定單元在確定處理委托命令時(shí),中止以后的命令的確定,在檢測(cè)到所述結(jié)束時(shí)重新開(kāi)始命令的確定。
[0032]1.第I實(shí)施方式
[0033]下面,參照【專利附圖】
【附圖說(shuō)明】本發(fā)明的第I實(shí)施方式。
[0034]1.1 結(jié)構(gòu)
[0035]圖1是表示第I實(shí)施方式的多處理器系統(tǒng)10的結(jié)構(gòu)的框圖。
[0036]多處理器系統(tǒng)10如圖1所示由主處理器11和協(xié)處理器12構(gòu)成。在多處理器系統(tǒng)10是沒(méi)有設(shè)定調(diào)試模式的狀態(tài)即是通常模式的狀態(tài)的情況下,主處理器11和協(xié)處理器12并行進(jìn)行處理。在設(shè)定了調(diào)試模式的情況下不進(jìn)行并行處理。
[0037](I)關(guān)于主處理器11
[0038]主處理器11如圖1所示由命令存儲(chǔ)器101、命令取出(fetch)控制部102、命令組決定部103、命令緩沖器104、發(fā)行命令決定部105、寄存器文件106、運(yùn)算器組107、數(shù)據(jù)存儲(chǔ)器109、寫(xiě)回(write back)總線110、和調(diào)試模式判別部111構(gòu)成。
[0039](1-1)命令存儲(chǔ)器101
[0040]命令存儲(chǔ)器101是保存在主處理器11中執(zhí)行的命令的存儲(chǔ)器,保存由多個(gè)命令的組合構(gòu)成的命令流。
[0041](1-2)命令取出控制部102
[0042]命令取出控制部102保存程序計(jì)數(shù)器(PC),從命令存儲(chǔ)器讀出接下來(lái)執(zhí)行的命令,并且將程序計(jì)數(shù)器值更新為下一個(gè)讀出命令的值。
[0043]另外,命令取出控制部102從運(yùn)算器組107接收對(duì)分支命令執(zhí)行或者/以及相當(dāng)于向發(fā)生例外的特殊處理矢量的分支處理請(qǐng)求,并進(jìn)行讀出程序計(jì)數(shù)器的控制。
[0044](1-3)命令組決定部103
[0045]命令組決定部103從命令存儲(chǔ)器101讀出屬于命令流的命令,進(jìn)行解碼處理,并寫(xiě)入命令緩沖器104中。
[0046](1-4)命令緩沖器104
[0047]命令緩沖器104是接收屬于命令流的命令并進(jìn)行保存的緩沖器。
[0048]( 1-5)調(diào)試模式判別部111
[0049]調(diào)試模式判別部111判別是否設(shè)定了調(diào)試模式。
[0050]具體地講,調(diào)試模式判別部111保存調(diào)試模式指定寄存器,根據(jù)其值判別是否是調(diào)試模式,將其結(jié)果通知發(fā)行命令決定部105。其中,調(diào)試模式指定寄存器是利用軟件設(shè)定的控制寄存器。
[0051](1-6)發(fā)行命令決定部105
[0052]發(fā)行命令決定部105決定從命令緩沖器104按照每個(gè)機(jī)器周期而應(yīng)該發(fā)行的命令,根據(jù)所決定的命令,使在主處理器11中執(zhí)行命令以及向協(xié)處理器12進(jìn)行處理委托。[0053]發(fā)行命令決定部105如圖1所示具有命令確定部201、命令執(zhí)行部202和檢測(cè)部203。
[0054]命令確定部201確定從命令緩沖器104按照每個(gè)機(jī)器周期而應(yīng)該發(fā)行的命令。在由調(diào)試模式判別部111判定為設(shè)定了調(diào)試模式的情況下,在協(xié)處理器12正在執(zhí)行處理時(shí),命令確定部201中止對(duì)應(yīng)該發(fā)行的命令的確定動(dòng)作,在協(xié)處理器12的處理結(jié)束時(shí)重新開(kāi)始對(duì)命令的確定。
[0055]在由命令確定部201確定的命令是向協(xié)處理器12的處理委托命令的情況下,命令執(zhí)行部202向協(xié)處理器12進(jìn)行基于該處理委托的通知(以后稱為起動(dòng)命令)。并且,在所確定的命令是向協(xié)處理器12的處理委托命令以外的命令的情況下,命令執(zhí)行部202執(zhí)行該命令,即使運(yùn)算組進(jìn)行基于該命令的處理。
[0056]檢測(cè)部203在由調(diào)試模式判別部111判定為設(shè)定了調(diào)試模式的情況下,對(duì)協(xié)處理器12的處理結(jié)束進(jìn)行檢測(cè)。具體地講,檢測(cè)部203在接收從協(xié)處理器12輸出的信號(hào)(例如忙碌(busy)信號(hào))的期間,判定為協(xié)處理器12正在執(zhí)行處理,在接收不到忙碌信號(hào)時(shí)判定為處理結(jié)束。
[0057](1-7)寄存器文件106
[0058]寄存器文件106是寄存器組,保存通過(guò)執(zhí)行在命令緩沖器104中保存的命令流而被設(shè)為讀出及寫(xiě)入的對(duì)象的數(shù)據(jù)。
[0059](1-8)運(yùn)算器組 107
[0060]運(yùn)算器組107是包括加法器和乘法器等多個(gè)運(yùn)算器107a、107b、107c的處理部,如圖1所示也具有存儲(chǔ)器存取部108。
[0061]其中,存儲(chǔ)器存取部108是用于執(zhí)行向數(shù)據(jù)存儲(chǔ)器109進(jìn)行存取的命令的運(yùn)算器。
[0062](1-9)寫(xiě)回總線 110
[0063]寫(xiě)回總線110是用于將來(lái)自運(yùn)算器組107的輸出寫(xiě)回到寄存器文件106中的總線。
[0064](1-10)數(shù)據(jù)存儲(chǔ)器109
[0065]數(shù)據(jù)存儲(chǔ)器109根據(jù)向該存儲(chǔ)器進(jìn)行存取的命令而被存取,并保存在執(zhí)行程序時(shí)的數(shù)據(jù)。
[0066](2)關(guān)于協(xié)處理器12
[0067]協(xié)處理器12如圖1所示由命令處理部121、寄存器文件122、運(yùn)算器組123、數(shù)據(jù)存儲(chǔ)器125、和寫(xiě)回總線126構(gòu)成。
[0068](2-1)命令處理部121
[0069]命令處理部121通過(guò)從發(fā)行命令決定部105接收起動(dòng)命令來(lái)起動(dòng)并執(zhí)行協(xié)處理器命令流。
[0070]命令處理部121存儲(chǔ)相對(duì)于主處理器11的命令流而獨(dú)立的多個(gè)協(xié)處理器命令流,來(lái)自主處理器11的起動(dòng)命令包括用于指定執(zhí)行哪個(gè)命令流的信息。例如,當(dāng)在起動(dòng)命令中具有3比特的指定信息的情況下,能夠從8種協(xié)處理器命令流中指定I個(gè)協(xié)處理器命令流。
[0071]命令處理部121在執(zhí)行被起動(dòng)的協(xié)處理器命令流的過(guò)程中,向主處理器11的發(fā)行命令決定部105輸出忙碌信號(hào)。在被起動(dòng)的協(xié)處理器命令流的執(zhí)行結(jié)束時(shí),停止忙碌信號(hào)的輸出。其中,協(xié)處理器命令流包括表示命令流的結(jié)尾的命令,在順次執(zhí)行的結(jié)果是到達(dá)表示結(jié)尾的命令時(shí),視為協(xié)處理器的處理結(jié)束。
[0072](2-2)寄存器文件122
[0073]寄存器文件122是寄存器組,保存通過(guò)執(zhí)行協(xié)處理器命令流而被設(shè)為讀出及寫(xiě)入的對(duì)象的數(shù)據(jù)。
[0074](2-3)運(yùn)算器組 123
[0075]運(yùn)算器組123是處理部,包括根據(jù)協(xié)處理器命令流而使用的加法器和乘法器等多個(gè)運(yùn)算器。
[0076]另外,運(yùn)算器組123如圖1所示具有存儲(chǔ)器存取部124。其中,存儲(chǔ)器存取部124是用于執(zhí)行向數(shù)據(jù)存儲(chǔ)器進(jìn)行存取的命令的運(yùn)算器。
[0077](2-4)寫(xiě)回總線 126
[0078]寫(xiě)回總線126是用于將來(lái)自運(yùn)算器組123的輸出寫(xiě)回到寄存器文件122中的總線。
[0079](2-5)數(shù)據(jù)存儲(chǔ)器125
[0080]數(shù)據(jù)存儲(chǔ)器125根據(jù)向該存儲(chǔ)器進(jìn)行存取的命令而被存取,并保存在執(zhí)行程序時(shí)的數(shù)據(jù)。
[0081]1.2 動(dòng)作
[0082]在此,使用圖2所示的流程圖說(shuō)明發(fā)行命令決定部105確定在某個(gè)周期發(fā)行的命令的處理。所謂確定在某個(gè)周期發(fā)行的命令的處理,是指從在命令緩沖器104內(nèi)蓄積的命令中確定通過(guò)交給運(yùn)算器組107而執(zhí)行的命令的動(dòng)作。
[0083]命令確定部201確認(rèn)在命令緩沖器104中是否存在可發(fā)行的命令(步驟S5)。其中,在命令緩沖器104中對(duì)可發(fā)行的命令賦予了有效信號(hào)。不存在被賦予了有效信號(hào)的命令的情況,主要指由于分支或存儲(chǔ)器存取延遲(access latency)狀態(tài)等原因而使得命令供給跟不上的情況。另外,也存在雖然供給了命令,但是由于未能解決與先行命令的數(shù)據(jù)依存性而沒(méi)有被賦予有效信號(hào)的情況。
[0084]當(dāng)在命令緩沖器104中存在被賦予了有效信號(hào)的命令的情況下(步驟S5:是),命令確定部201確認(rèn)是否設(shè)定了調(diào)試模式(步驟S10)。關(guān)于是否設(shè)定了調(diào)試模式,根據(jù)調(diào)試模式判別部111的判別結(jié)果進(jìn)行判定。
[0085]在判定為設(shè)定了調(diào)試模式的情況下(步驟SlO:是),檢測(cè)部203確認(rèn)協(xié)處理器是否正在執(zhí)行中(步驟S15)。關(guān)于協(xié)處理器是否正在執(zhí)行中,根據(jù)有無(wú)接收到從命令處理部121輸出的忙碌信號(hào)來(lái)進(jìn)行判定。
[0086]當(dāng)協(xié)處理器正在執(zhí)行中的情況下(步驟S15:是),命令確定部201決定為沒(méi)有該周期的命令發(fā)行(步驟S20),使處理返回步驟S5。
[0087]當(dāng)在命令緩沖器104中不存在被賦予了有效信號(hào)的命令的情況下(步驟S5:否),命令確定部201的動(dòng)作轉(zhuǎn)入步驟S20。
[0088]在判定為沒(méi)有設(shè)定調(diào)試模式的情況下(步驟SlO:否)以及判定為協(xié)處理器不在執(zhí)行中的情況下(步驟S15:否),命令確定部201決定為有該周期的命令發(fā)行(步驟S25 ),使處理返回步驟S5。
[0089]1.3具體例
[0090]在此,對(duì)通常模式時(shí)和設(shè)定了調(diào)試模式時(shí)的主處理器11和協(xié)處理器12的處理進(jìn)行說(shuō)明。
[0091]首先,使用圖3說(shuō)明通常模式時(shí)的情況。
[0092]在通常模式的情況下,在主處理器11正在執(zhí)行命令流的命令時(shí)(t5),根據(jù)處理委托命令向協(xié)處理器12進(jìn)行通知(tlO)。在協(xié)處理器12中,在接收到通知時(shí)動(dòng)作被起動(dòng)(tl5)。并且,同時(shí)在主處理器11中,由于在通常模式時(shí)協(xié)處理器處理和主處理器處理沒(méi)有依存關(guān)系,因而繼續(xù)執(zhí)行后續(xù)的處理(t20)。
[0093]然后,使用圖4說(shuō)明調(diào)試模式時(shí)的情況。
[0094]在設(shè)定了調(diào)試模式的情況下,在主處理器11正在執(zhí)行命令流的命令時(shí)(t50),根據(jù)處理委托命令向協(xié)處理器12進(jìn)行通知(t55)。在協(xié)處理器12中,在接收到通知時(shí)動(dòng)作被起動(dòng)(t60)。此時(shí),協(xié)處理器12當(dāng)在t60進(jìn)行動(dòng)作的期間中,向主處理器11輸出忙碌信號(hào)。在主處理器11中,在接收到忙碌信號(hào)的期間中不執(zhí)行處理。然后,協(xié)處理器12在動(dòng)作結(jié)束時(shí)中止忙碌信號(hào)的輸出(t65)。主處理器11在檢測(cè)到協(xié)處理器12的動(dòng)作結(jié)束時(shí)重新開(kāi)始處理(t70)。
[0095]因此,在設(shè)定了調(diào)試模式的情況下,若協(xié)處理器的處理開(kāi)始,則在主處理器11中不執(zhí)行后續(xù)的處理,在協(xié)處理器進(jìn)行動(dòng)作的期間中保證排他動(dòng)作。另外,在一系列的動(dòng)作中,關(guān)于在調(diào)試模式時(shí)采用了主處理器11內(nèi)的命令單位的并列性的動(dòng)作、和采用了協(xié)處理器12內(nèi)的命令單位的并列性的動(dòng)作,基本上與程序員最終期望的動(dòng)作(非調(diào)試模式動(dòng)作)相同。
[0096]1.4 總結(jié)
[0097]根據(jù)以上所述,本實(shí)施方式公開(kāi)的多處理器系統(tǒng)10能夠根據(jù)調(diào)試模式的設(shè)定進(jìn)行如下切換:使協(xié)處理器12中的命令的執(zhí)行與主處理器11并行進(jìn)行、以及使協(xié)處理器12中的命令的執(zhí)行與主處理器11的執(zhí)行處于排他狀態(tài)。
[0098]根據(jù)本實(shí)施方式,不需改變軟件,即可容易進(jìn)行帶高性能的協(xié)處理器的處理器中的調(diào)試時(shí)的原因區(qū)分。
[0099]2.第2實(shí)施方式
[0100]下面,參照【專利附圖】
【附圖說(shuō)明】本發(fā)明的第2實(shí)施方式。
[0101]2.1 結(jié)構(gòu)
[0102]圖5是表不第2實(shí)施方式的多處理器系統(tǒng)1000的結(jié)構(gòu)的框圖。
[0103]多處理器系統(tǒng)1000在第I實(shí)施方式所示的調(diào)試模式(以后稱為“第I調(diào)試模式”)的功能基礎(chǔ)上,還具有第2調(diào)試模式的功能。
[0104]下面進(jìn)行有關(guān)第2調(diào)試模式的功能說(shuō)明。并且,對(duì)于與第I實(shí)施方式所示的功能要素相同的功能要素標(biāo)注相同的標(biāo)號(hào)。
[0105]多處理器系統(tǒng)1000如圖5所示由主處理器1001和協(xié)處理器1002構(gòu)成。在多處理器系統(tǒng)1000是沒(méi)有設(shè)定調(diào)試模式的狀態(tài)即是通常模式的狀態(tài)的情況下,與第I實(shí)施方式相同地,主處理器1001和協(xié)處理器1002并行進(jìn)行處理。在設(shè)定了第I調(diào)試模式的情況下不進(jìn)行并行處理。另外,在設(shè)定了第2調(diào)試模式的情況下,主處理器1001和協(xié)處理器1002進(jìn)行并行處理,但是在協(xié)處理器1002中對(duì)于不同的命令流即基于不同的處理委托通知的處理,不并行進(jìn)行處理。
[0106](I)關(guān)于主處理器1001[0107]主處理器1001如圖5所示由命令存儲(chǔ)器101、命令取出控制部102、命令組決定部103、命令緩沖器104、發(fā)行命令決定部1105、寄存器文件106、運(yùn)算器組107、數(shù)據(jù)存儲(chǔ)器109、寫(xiě)回總線110、和調(diào)試模式判別部1111構(gòu)成。
[0108]下面,對(duì)發(fā)行命令決定部1105和調(diào)試模式判別部1111的功能進(jìn)行說(shuō)明。
[0109](1-1)調(diào)試模式判別部1111
[0110]調(diào)試模式判別部1111是判別是否設(shè)定了調(diào)試模式的單元。并且,在設(shè)定了調(diào)試模式的情況下,判別是第I調(diào)試模式還是第2調(diào)試模式。
[0111]具體地講,調(diào)試模式判別部1111保存調(diào)試模式指定寄存器,根據(jù)其值判別是設(shè)定了第I調(diào)試模式、還是設(shè)定了第2調(diào)試模式、還是沒(méi)有設(shè)定任何調(diào)試模式,將其結(jié)果通知發(fā)行命令決定部105。其中,調(diào)試模式指定寄存器是利用軟件設(shè)定的控制寄存器。
[0112](1-2)發(fā)行命令決定部1105
[0113]發(fā)行命令決定部1105決定從命令緩沖器104按照每個(gè)機(jī)器周期而應(yīng)該發(fā)行的命令,根據(jù)所決定的命令,使在主處理器1001中執(zhí)行命令以及向協(xié)處理器12進(jìn)行處理委托。
[0114]發(fā)行命令決定部1105如圖5所示具有命令確定部1201、命令執(zhí)行部1202和檢測(cè)部 1203。
[0115]命令確定部1201是確定從命令緩沖器104按照每個(gè)機(jī)器周期而應(yīng)該發(fā)行的命令的單元。在由調(diào)試模式判別部1111判定為設(shè)定了第I調(diào)試模式的情況下,命令確定部1201進(jìn)行與上述第I實(shí)施方式相同的動(dòng)作。
[0116]在由調(diào)試模式判別部1111判定為設(shè)定了第2調(diào)試模式的情況下,在接下來(lái)應(yīng)該發(fā)行的命令是向協(xié)處理器的處理委托命令、并且在協(xié)處理器1201正在執(zhí)行處理時(shí),命令確定部1201中止對(duì)應(yīng)該發(fā)行的命令的確定動(dòng)作,在協(xié)處理器12的處理結(jié)束時(shí)重新開(kāi)始對(duì)命令的確定。
[0117]在由命令確定部1201確定的命令是向協(xié)處理器12的處理委托命令的情況下,命令執(zhí)行部1202向協(xié)處理器1002進(jìn)行起動(dòng)命令的通知。并且,在所確定的命令是向協(xié)處理器12的處理委托命令以外的命令的情況下,命令執(zhí)行部202執(zhí)行該命令,即使運(yùn)算組進(jìn)行基于該命令的處理。
[0118]檢測(cè)部1203是在由調(diào)試模式判別部111判定為設(shè)定了第I調(diào)試模式或者設(shè)定了第2調(diào)試模式的情況下,對(duì)協(xié)處理器12的處理結(jié)束進(jìn)行檢測(cè)的單元。具體地講,檢測(cè)部203在接收從協(xié)處理器12輸出的信號(hào)(例如忙碌信號(hào))的期間,判定為協(xié)處理器12正在執(zhí)行處理,在接收不到忙碌信號(hào)時(shí)判定為處理結(jié)束。
[0119]2.2 動(dòng)作
[0120]在此,使用圖6所示的流程圖說(shuō)明發(fā)行命令決定部1105確定在某個(gè)周期發(fā)行的命令的處理。所謂確定在某個(gè)周期發(fā)行的命令的處理,是指從在命令緩沖器104內(nèi)蓄積的命令中確定通過(guò)交給運(yùn)算器組107而執(zhí)行的命令的動(dòng)作。
[0121]命令確定部1201確認(rèn)在命令緩沖器104中是否存在可發(fā)行的命令(步驟S100)。其中,在命令緩沖器104中對(duì)可發(fā)行的命令賦予了有效信號(hào)。不存在被賦予了有效信號(hào)的命令的情況,主要指由于分支或存儲(chǔ)器存取延遲狀態(tài)等原因而使得命令供給跟不上的情況。另外,也存在雖然供給了命令,但是由于未能解決與先行命令的數(shù)據(jù)依存性而沒(méi)有被賦予有效信號(hào)的情況。[0122]當(dāng)在命令緩沖器104中存在被賦予了有效信號(hào)的命令的情況下(步驟SlOO:是),命令確定部1201確認(rèn)是否進(jìn)行了第I調(diào)試模式設(shè)定(步驟S105)。關(guān)于是否設(shè)定了第I調(diào)試模式,根據(jù)調(diào)試模式判別部1111的判別結(jié)果進(jìn)行判定。
[0123]在判定為設(shè)定了第I調(diào)試模式的情況下(步驟S105:是),檢測(cè)部1203確認(rèn)協(xié)處理器是否正在執(zhí)行中(步驟S110)。關(guān)于協(xié)處理器是否正在執(zhí)行中,根據(jù)有無(wú)接收到從命令處理部121輸出的忙碌信號(hào)來(lái)進(jìn)行判定。
[0124]當(dāng)協(xié)處理器正在執(zhí)行中的情況下(步驟SllO:是),命令確定部1201決定為沒(méi)有該周期的命令發(fā)行(步驟S130 ),使處理返回步驟S100。
[0125]在判定為協(xié)處理器不在執(zhí)行中的情況下(步驟SllO:否),命令確定部1201決定為有該周期的命令發(fā)行(步驟S135),使處理返回步驟SlOO。
[0126]當(dāng)在命令緩沖器104中不存在被賦予了有效信號(hào)的命令的情況下(步驟SlOO:否),命令確定部1201的動(dòng)作轉(zhuǎn)入步驟S135。
[0127]在判定為沒(méi)有設(shè)定第I調(diào)試模式的情況下(步驟S105:否),命令確定部1201確認(rèn)是否設(shè)定了第2調(diào)試模式(步驟S120)。關(guān)于是否設(shè)定了第2調(diào)試模式,根據(jù)調(diào)試模式判別部1111的判別結(jié)果進(jìn)行判定。
[0128]在判定為設(shè)定了第2調(diào)試模式的情況下(步驟S115:是),命令確定部1201判定應(yīng)該發(fā)行的命令是否是向協(xié)處理器1002的處理委托命令(步驟S120)。
[0129]在由命令確定部1201判定為應(yīng)該發(fā)行的命令是向協(xié)處理器1002的處理委托命令(步驟S120:是),檢測(cè)部1203確認(rèn)協(xié)處理器是否正在執(zhí)行中(步驟S125)。關(guān)于協(xié)處理器是否正在執(zhí)行中,根據(jù)有無(wú)接收到從命令處理部121輸出的忙碌信號(hào)來(lái)進(jìn)行判定。
[0130]當(dāng)協(xié)處理器正在執(zhí)行中的情況下(步驟S125:是),命令確定部1201決定為沒(méi)有該周期的命令發(fā)行(步驟S130 ),使處理返回步驟S100。
[0131]在判定為協(xié)處理器不在執(zhí)行中的情況下(步驟S125:否),命令確定部1201決定為有該周期的命令發(fā)行(步驟S135),使處理返回步驟SlOO。
[0132]2.3具體例
[0133]在此,使用圖7來(lái)說(shuō)明設(shè)定了第2調(diào)試模式時(shí)的主處理器11和協(xié)處理器12的處理。另外,關(guān)于通常模式以及設(shè)定了第I調(diào)試模式的情況,與在第I實(shí)施方式中示出的圖3、4相同,因而省略各自的說(shuō)明。
[0134]在設(shè)定了第2調(diào)試模式的情況下,在主處理器1001正在執(zhí)行命令流的命令的過(guò)程中(tlOO),根據(jù)處理委托命令向協(xié)處理器1002進(jìn)行通知(tl055)。在這種情況下,由于協(xié)處理器1002沒(méi)有執(zhí)行,因而進(jìn)行通知。
[0135]在協(xié)處理器12中,在接收到通知時(shí)動(dòng)作被起動(dòng)(tllO)。此時(shí),協(xié)處理器1002當(dāng)在tlio進(jìn)行動(dòng)作的期間中,向主處理器1001輸出忙碌信號(hào)。
[0136]即使是協(xié)處理器1002正在執(zhí)行中(tllO),但在應(yīng)該發(fā)行的命令不是處理委托命令的情況下,主處理器1001仍繼續(xù)進(jìn)行處理(tll5)。并且,在應(yīng)該發(fā)行的命令是處理委托命令、并且接收到忙碌信號(hào)的期間中,主處理器1001不執(zhí)行處理(tl20)。然后,協(xié)處理器1002在動(dòng)作結(jié)束時(shí)中止忙碌信號(hào)的輸出(tl25)。主處理器1001在檢測(cè)到協(xié)處理器12的動(dòng)作結(jié)束時(shí)重新開(kāi)始處理,即發(fā)行處理委托命令(tl30)。
[0137]然后,在協(xié)處理器1002中,在接收到通知時(shí)動(dòng)作被起動(dòng)(tl35)。即使是協(xié)處理器1002正在執(zhí)行中(tl35),但在應(yīng)該發(fā)行的命令不是處理委托命令的情況下,主處理器1001仍繼續(xù)進(jìn)行處理(t 140)。
[0138]3.第3實(shí)施方式
[0139]在此,關(guān)于本發(fā)明的第3實(shí)施方式,說(shuō)明采用了在第I實(shí)施方式中示出的多處理器的適用例。
[0140]圖8所示的多處理器系統(tǒng)1501是進(jìn)行面向數(shù)字AV設(shè)備的系統(tǒng)LSI影像的解碼處理的系統(tǒng)。
[0141]例如,為了對(duì)使用H.264等標(biāo)準(zhǔn)被壓縮的影像信號(hào)進(jìn)行解碼,需要進(jìn)行比特流的分析、被實(shí)施可變長(zhǎng)編碼后的信號(hào)的可變長(zhǎng)解碼處理(VLD)、逆量化及逆頻率變換(IQT)、運(yùn)動(dòng)補(bǔ)償(MC)、圖像的重建(Recon)、解塊濾波處理(DBF)。
[0142]其中,逆量化及逆頻率變換(IQT)、運(yùn)動(dòng)補(bǔ)償(MC)、圖像的重建(Recon)、解塊濾波處理(DBF)(參照處理組1505)適合于能夠進(jìn)行運(yùn)用了數(shù)據(jù)并列性的處理、并且使用特殊的運(yùn)算器的協(xié)處理器處理,因而通過(guò)將這些處理作為協(xié)處理器1503的處理來(lái)執(zhí)行,能夠?qū)崿F(xiàn)高性能的解碼處理。
[0143]另外,例如通過(guò)以宏塊單位來(lái)組裝流水線(pipe line),并且并列進(jìn)行在主處理器1502中的可變長(zhǎng)解碼處理(VLD)處理1504和在協(xié)處理器中的處理組1505,能夠進(jìn)一步實(shí)現(xiàn)高性能。
[0144]在這種情況下,通過(guò)使用在第I實(shí)施方式中敘述的調(diào)試模式功能,能夠?qū)崿F(xiàn)高效的調(diào)試。
[0145]圖9所示的多處理器系統(tǒng)1601是進(jìn)行面向數(shù)字AV設(shè)備的系統(tǒng)LSI影像的編碼處理的系統(tǒng)。
[0146]宏塊的編碼處理通常包括計(jì)算相對(duì)于編碼對(duì)象的圖像數(shù)據(jù)的預(yù)測(cè)誤差的運(yùn)動(dòng)估計(jì)處理、對(duì)預(yù)測(cè)誤差進(jìn)行頻率變換及量化的量化處理、對(duì)量化DCT系數(shù)及運(yùn)動(dòng)矢量進(jìn)行可變長(zhǎng)編碼的編碼處理、有關(guān)參照?qǐng)D像的生成的處理、有關(guān)運(yùn)動(dòng)補(bǔ)償?shù)奶幚怼?br>
[0147]其中,計(jì)算相對(duì)于編碼對(duì)象的圖像數(shù)據(jù)的預(yù)測(cè)誤差的運(yùn)動(dòng)估計(jì)處理、對(duì)預(yù)測(cè)誤差進(jìn)行頻率變換及量化的量化處理、有關(guān)參照?qǐng)D像的生成的處理、運(yùn)動(dòng)補(bǔ)償(參照處理組1605)適合于能夠進(jìn)行運(yùn)用了數(shù)據(jù)并列性的處理、并且使用特殊的運(yùn)算器的協(xié)處理器處理,因而通過(guò)將這些處理作為協(xié)處理器1603的處理來(lái)執(zhí)行,能夠?qū)崿F(xiàn)高性能的解碼處理。
[0148]另外,例如通過(guò)以宏塊單位來(lái)組裝流水線,并且并列進(jìn)行在主處理器1602中對(duì)量化DCT系數(shù)及運(yùn)動(dòng)矢量進(jìn)行可變長(zhǎng)編碼的編碼處理1604和在協(xié)處理器1603中的處理組1605,能夠進(jìn)一步實(shí)現(xiàn)高性能。
[0149]在這種情況下,通過(guò)使用在第I實(shí)施方式中敘述的調(diào)試模式功能,能夠?qū)崿F(xiàn)高效的調(diào)試。
[0150]4.變形例
[0151]以上根據(jù)各實(shí)施方式進(jìn)行了說(shuō)明,但本發(fā)明不限于上述的各實(shí)施方式。例如,可以考慮如下所述的變形例。
[0152](I)在上述的各實(shí)施方式中,主處理器在判定協(xié)處理器是否正在執(zhí)行中時(shí)使用了從協(xié)處理器在執(zhí)行處理時(shí)輸出的忙碌信號(hào),但不限于此。
[0153]也可以是,若協(xié)處理器結(jié)束被起動(dòng)的協(xié)處理器命令流的執(zhí)行,則將協(xié)處理器的處理結(jié)束的情況通知發(fā)行命令決定部105,主處理器通過(guò)接收該通知來(lái)檢測(cè)協(xié)處理器的處理結(jié)束。
[0154]也可以是,將協(xié)處理器進(jìn)行的存儲(chǔ)器存取的結(jié)束視為該協(xié)處理器的處理結(jié)束。例如,在進(jìn)行了在協(xié)處理器的命令流內(nèi)使用了存儲(chǔ)器存取的、針對(duì)數(shù)據(jù)存儲(chǔ)器的存儲(chǔ)器存取的情況下,向存儲(chǔ)器的讀出或者寫(xiě)入存取的結(jié)束有時(shí)相對(duì)于處理器內(nèi)的命令執(zhí)行而延遲。在這種情況下,通過(guò)將存儲(chǔ)器存取的結(jié)束設(shè)為協(xié)處理器的處理結(jié)束,能夠檢測(cè)出例如基于非有意的存儲(chǔ)器存取的地址一致的故障。
[0155](2)在第I實(shí)施方式中,也可以是,即使是非調(diào)試模式動(dòng)作時(shí),也對(duì)協(xié)處理器起動(dòng)命令的后續(xù)的主處理器命令進(jìn)行制約,使其不與協(xié)處理器起動(dòng)命令同時(shí)發(fā)行。由此,使用了調(diào)試模式時(shí)的主處理器內(nèi)的命令單位的并列性的動(dòng)作、和使用了協(xié)處理器內(nèi)的命令單位的并列性的動(dòng)作,能夠與程序員最終期望的動(dòng)作(非調(diào)試模式動(dòng)作)完全一致。
[0156](3)在上述第2實(shí)施方式中,也可以是,多處理器系統(tǒng)1000是允許執(zhí)行out-of-order 的系統(tǒng)。
[0157]在這種情況下,由于允許按照與程序計(jì)數(shù)器不同的順序執(zhí)行命令,因而即使是接下來(lái)應(yīng)該通知的處理委托命令的后續(xù)命令,在對(duì)該接下來(lái)應(yīng)該通知的處理委托命令沒(méi)有依存性的情況下,能夠先執(zhí)行該后續(xù)命令。
[0158](4)也可以是,預(yù)先將記述了在上述實(shí)施方式中說(shuō)明的方法的步驟的程序存儲(chǔ)在存儲(chǔ)器中,CPU (Central Processing Unit)等從存儲(chǔ)器中讀出程序,并執(zhí)行所讀出的程序,由此實(shí)現(xiàn)上述的方法。
[0159]另外,也可以是,將記述了該方法的步驟的程序存儲(chǔ)在記錄介質(zhì)中進(jìn)行分發(fā)。
[0160](5)上述實(shí)施方式中的多處理器系統(tǒng)的各構(gòu)成要素利用硬件資源(處理器與存儲(chǔ)器中的程序的協(xié)同)實(shí)現(xiàn)。
[0161](6)也可以將上述實(shí)施方式及變形例進(jìn)行組合。
[0162]5.補(bǔ)充
[0163](I)本發(fā)明的一個(gè)方式的多處理器系統(tǒng),具有第I處理器、和接收來(lái)自該第I處理器的通知并執(zhí)行處理的第2處理器,其特征在于,所述第I處理器具有:判別單元,判別是否設(shè)定了調(diào)試模式;確定單元,從命令串中逐次確定成為執(zhí)行對(duì)象的命令;執(zhí)行單元,在所確定的命令是處理委托命令的情況下,向所述第2處理器進(jìn)行基于該處理委托的通知,在所確定的命令不是處理委托命令的情況下執(zhí)行該所確定的命令;以及檢測(cè)單元,對(duì)所述第2處理器已結(jié)束與所述通知相對(duì)應(yīng)的處理這一情況進(jìn)行檢測(cè),在由所述判別單元判別為設(shè)定了調(diào)試模式的情況下,所述確定單元在確定處理委托命令時(shí),中止以后的命令的確定,在檢測(cè)到所述結(jié)束時(shí)重新開(kāi)始命令的確定。
[0164]根據(jù)這種結(jié)構(gòu),多處理器系統(tǒng)在由所述判別單元判別為設(shè)定了調(diào)試模式的情況下,在確定處理委托命令時(shí),使以后的命令的確定停止,在檢測(cè)到所述結(jié)束時(shí)重新開(kāi)始命令的確定。由此,多處理器通過(guò)在確定處理委托命令時(shí)使以后的命令的確定停止,不并行發(fā)行由第2處理器進(jìn)行處理的命令、和在確定處理委托命令后的以后的命令,因而能夠高效地進(jìn)行調(diào)試。
[0165](2)在此也可以是,所述第2處理器在執(zhí)行與所述通知相對(duì)應(yīng)的處理的過(guò)程中,向所述第I處理器輸出表示正在執(zhí)行該處理的信號(hào),在從所述第2處理器輸出所述信號(hào)的期間中,所述檢測(cè)單元判定為所述第2處理器正在執(zhí)行與所述通知相對(duì)應(yīng)的處理,當(dāng)不再輸出該信號(hào)時(shí),判定為與所述通知相對(duì)應(yīng)的處理結(jié)束。
[0166]根據(jù)這種結(jié)構(gòu),在多處理器系統(tǒng)中,第I處理器能夠根據(jù)有無(wú)從第2處理器輸出的信號(hào),檢測(cè)第2處理器的動(dòng)作的結(jié)束。
[0167](3)在此也可以是,與所述通知相對(duì)應(yīng)的處理結(jié)束,是指用于使所述第2處理器執(zhí)行與所述通知相對(duì)應(yīng)的處理的命令流中所包含的所有存儲(chǔ)器存取命令的向存儲(chǔ)器的存取已結(jié)束。
[0168]根據(jù)這種結(jié)構(gòu),多處理器系統(tǒng)將存儲(chǔ)器存取的結(jié)束作為第2處理器的處理結(jié)束,因而能夠檢測(cè)例如基于非有意的存儲(chǔ)器存取的地址一致的故障。
[0169](4)在此也可以是,所述判別單元還判別是否取代所述調(diào)試模式而設(shè)定了所述調(diào)試模式之外的其他調(diào)試模式,在由所述判別單元判別為設(shè)定了所述其他調(diào)試模式的情況下,在所述確定單元確定所述處理委托命令時(shí),在由所述檢測(cè)單元檢測(cè)到所述結(jié)束之前的期間中,所述執(zhí)行單元執(zhí)行在針對(duì)所述第2處理器的下一個(gè)處理委托命令出現(xiàn)之前所存在的命令,或者執(zhí)行在所述下一個(gè)處理委托命令出現(xiàn)之前所存在的命令以及位于所述下一個(gè)處理委托命令的后續(xù)的、而且不依存于所述下一個(gè)處理委托命令的命令,在由所述檢測(cè)單元檢測(cè)到所述結(jié)束時(shí),對(duì)所述第2處理器進(jìn)行基于該下一個(gè)處理委托命令的通知。
[0170]根據(jù)這種結(jié)構(gòu),多處理器系統(tǒng)在設(shè)定了其他調(diào)試模式的情況下,在第2處理器中不會(huì)并行執(zhí)行針對(duì)基于不同的處理委托命令的通知的處理。由此,當(dāng)在第2處理器中執(zhí)行針對(duì)基于不同的處理委托命令的通知的處理的并行處理以前,進(jìn)行第I處理器和第2處理器的并行處理的調(diào)試,由此能夠高效地排除故障。
[0171](5)在此也可以是,所述第I處理器還具有控制單元,該控制單元進(jìn)行如下控制:在由所述判別單元判別為沒(méi)有設(shè)定調(diào)試模式的情況下,在所述確定單元確定處理委托命令時(shí)使以后的命令的確定停止,在檢測(cè)到所述結(jié)束時(shí)重新開(kāi)始命令的確定。
[0172]根據(jù)這種結(jié)構(gòu),多處理器系統(tǒng)在沒(méi)有設(shè)定調(diào)試模式的情況下,在確定處理委托命令時(shí)使以后的命令的確定停止,在檢測(cè)到所述結(jié)束時(shí)重新開(kāi)始命令的確定。由此,采用了調(diào)試模式時(shí)的主處理器內(nèi)的命令單位的并列性的動(dòng)作、和采用了協(xié)處理器內(nèi)的命令單位的并列性的動(dòng)作,能夠與非調(diào)試模式的動(dòng)作完全一致。
[0173](6)在此也可以是,在所述第I處理器及所述第2處理器中分別執(zhí)行的命令是用于進(jìn)行圖像的解碼處理的命令,所述多處理器系統(tǒng)被設(shè)于進(jìn)行圖像的解碼處理的圖像處理裝置中。
[0174]根據(jù)這種結(jié)構(gòu),多處理器系統(tǒng)能夠高效地進(jìn)行解碼處理的調(diào)試。
[0175](8)在此也可以是,在所述第I處理器及所述第2處理器中分別執(zhí)行的命令是用于進(jìn)行圖像的編碼處理的命令,所述多處理器系統(tǒng)被設(shè)于進(jìn)行圖像的編碼處理的圖像處理裝置中。
[0176]根據(jù)這種結(jié)構(gòu),多處理器系統(tǒng)能夠高效地進(jìn)行編碼處理的調(diào)試。
[0177]產(chǎn)業(yè)上的可利用性
[0178]本發(fā)明的多處理器系統(tǒng)具有靈活實(shí)現(xiàn)高性能的運(yùn)算處理的功能,因而能夠適用于DVD錄制器或數(shù)字TV等進(jìn)行影像或聲音的媒體處理的系統(tǒng)LSI等。
[0179]標(biāo)號(hào)說(shuō)明[0180] IOUOOO多處理器系統(tǒng);11、1001主處理器;12、1002協(xié)處理器;101命令存儲(chǔ)器;102命令取出控制部;103命令組決定部;104命令緩沖器;105、1105發(fā)行命令決定部;106寄存器文件;107運(yùn)算器組;108存儲(chǔ)器存取部;109數(shù)據(jù)存儲(chǔ)器;110寫(xiě)回總線;111、1111調(diào)試模式判別部;121命令處理部;122寄存器文件;123運(yùn)算器組;124存儲(chǔ)器存取部;125數(shù)據(jù)存儲(chǔ)器;126寫(xiě)回總線;201、1201命令確定部;202、1202命令執(zhí)行部;203、1203檢測(cè)部。
【權(quán)利要求】
1.一種多處理器系統(tǒng),具有第I處理器、和接收來(lái)自該第I處理器的通知并執(zhí)行處理的第2處理器,其特征在于, 所述第I處理器具有: 判別單元,判別是否設(shè)定了調(diào)試模式; 確定單元,從命令串中逐次確定成為執(zhí)行對(duì)象的命令; 執(zhí)行單元,在所確定的命令是處理委托命令的情況下,向所述第2處理器進(jìn)行基于該處理委托的通知,在所確定的命令不是處理委托命令的情況下執(zhí)行該所確定的命令;以及 檢測(cè)單元,對(duì)所述第2處理器已結(jié)束與所述通知相對(duì)應(yīng)的處理這一情況進(jìn)行檢測(cè), 在由所述判別單元判別為設(shè)定了調(diào)試模式的情況下,所述確定單元在確定處理委托命令時(shí),中止以后的命令的確定,在檢測(cè)到所述結(jié)束時(shí)重新開(kāi)始命令的確定。
2.根據(jù)權(quán)利要求1所述的多處理器系統(tǒng),其特征在于, 在執(zhí)行與所述通知相對(duì)應(yīng)的處理的過(guò)程中,所述第2處理器向所述第I處理器輸出表示正在執(zhí)行該處理的信號(hào), 在從所述第2處理器輸出所述信號(hào)的期間中,所述檢測(cè)單元判定為所述第2處理器正在執(zhí)行與所述通知相對(duì)應(yīng)的處理,當(dāng)不再輸出該信號(hào)時(shí),判定為與所述通知相對(duì)應(yīng)的處理結(jié)束。
3.根據(jù)權(quán)利要求2所述·的多處理器系統(tǒng),其特征在于, 與所述通知相對(duì)應(yīng)的處理結(jié)束,是指用于使所述第2處理器執(zhí)行與所述通知相對(duì)應(yīng)的處理的命令流中所包含的所有存儲(chǔ)器存取命令的向存儲(chǔ)器的存取已結(jié)束。
4.根據(jù)權(quán)利要求1所述的多處理器系統(tǒng),其特征在于, 所述判別單元還判別是否取代所述調(diào)試模式而設(shè)定了所述調(diào)試模式之外的其他調(diào)試模式, 在由所述判別單元判別為設(shè)定了所述其他調(diào)試模式的情況下,在所述確定單元確定所述處理委托命令時(shí),在由所述檢測(cè)單元檢測(cè)到所述結(jié)束之前的期間中,所述執(zhí)行單元執(zhí)行在針對(duì)所述第2處理器的下一個(gè)處理委托命令出現(xiàn)之前所存在的命令,或者執(zhí)行在所述下一個(gè)處理委托命令出現(xiàn)之前所存在的命令以及位于所述下一個(gè)處理委托命令的后續(xù)的、而且不依存于所述下一個(gè)處理委托命令的命令,在由所述檢測(cè)單元檢測(cè)到所述結(jié)束時(shí),對(duì)所述第2處理器進(jìn)行基于該下一個(gè)處理委托命令的通知。
5.根據(jù)權(quán)利要求1所述的多處理器系統(tǒng),其特征在于, 所述第I處理器還具有控制單元,該控制單元進(jìn)行如下控制:在由所述判別單元判別為沒(méi)有設(shè)定調(diào)試模式的情況下,在所述確定單元確定處理委托命令時(shí)使以后的命令的確定停止,在檢測(cè)到所述結(jié)束時(shí)重新開(kāi)始命令的確定。
6.根據(jù)權(quán)利要求1所述的多處理器系統(tǒng),其特征在于, 在所述第I處理器及所述第2處理器中分別執(zhí)行的命令是用于進(jìn)行圖像的解碼處理的命令, 所述多處理器系統(tǒng)被設(shè)于進(jìn)行圖像的解碼處理的圖像處理裝置中。
7.根據(jù)權(quán)利要求1所述的多處理器系統(tǒng),其特征在于, 在所述第I處理器及所述第2處理器中分別執(zhí)行的命令是用于進(jìn)行圖像的編碼處理的命令,所述多處理器系統(tǒng)被設(shè)于進(jìn)行圖像的編碼處理的圖像處理裝置中。
8.一種在多處理器系統(tǒng)中使用的處理方法,該多處理器系統(tǒng)具有第I處理器、和接收來(lái)自該第I處理器的通知并執(zhí)行處理的第2處理器,該第I處理器具有判別單元、確定單元、執(zhí)行單元和檢測(cè)單元,其特征在于, 所述處理方法包括: 判別步驟,由所述判別單元判別是否設(shè)定了調(diào)試模式; 確定步驟,由所述確定單元從命令串中逐次確定成為執(zhí)行對(duì)象的命令; 執(zhí)行步驟,在所確定的命令是處理委托命令的情況下,所述執(zhí)行單元向所述第2處理器進(jìn)行基于該處理委托的通知,在所確定的命令不是處理委托命令的情況下執(zhí)行該所確定的命令;以及 檢測(cè)步驟,由所述檢測(cè)單元對(duì)所述第2處理器已結(jié)束與所述通知相對(duì)應(yīng)的處理這一情況進(jìn)行檢測(cè), 在所述確定步驟中,在通過(guò)所述判別步驟判別為設(shè)定了調(diào)試模式的情況下,在確定處理委托命令時(shí),停止以后的命令的確定,在檢測(cè)到所述結(jié)束時(shí)重新開(kāi)始命令的確定。
【文檔編號(hào)】G06F11/28GK103718158SQ201280035369
【公開(kāi)日】2014年4月9日 申請(qǐng)日期:2012年6月6日 優(yōu)先權(quán)日:2011年7月19日
【發(fā)明者】森下廣之 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社