專利名稱:微處理器以及微處理器的處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種微處理器,用于根據(jù)在微處理器的復(fù)位之后執(zhí)行的測(cè)試程序來驗(yàn)證實(shí)際機(jī)器中的內(nèi)部功能,以及涉及該微處理器的處理方法。
背景技術(shù):
在現(xiàn)有的微處理器中,在微處理器被復(fù)位之后執(zhí)行引導(dǎo)程序。該引導(dǎo)程序按照一種方式來執(zhí)行,使得在每個(gè)微處理器中預(yù)先準(zhǔn)備的一個(gè)引導(dǎo)地址被設(shè)置在一個(gè)程序計(jì)數(shù)器中,并且根據(jù)該引導(dǎo)地址,該引導(dǎo)程序被從例如引導(dǎo)ROM這樣的存儲(chǔ)器裝載到微處理器中。因此,在微處理器的復(fù)位之后執(zhí)行的引導(dǎo)程序取決于為每個(gè)微處理器固定設(shè)置的引導(dǎo)地址。另外,根據(jù)該引導(dǎo)地址而被存取的存儲(chǔ)器的屬性也被固定。
根據(jù)上述這種現(xiàn)有的微處理器的發(fā)展估計(jì),在一些情況中,盡管上述引導(dǎo)程序在微處理器的復(fù)位之后執(zhí)行,但是由于在微處理器的功能中產(chǎn)生的問題導(dǎo)致不能夠進(jìn)入正常操作狀態(tài)。在這種情況中,常規(guī)微處理器沒有用于在該程序中設(shè)置另一個(gè)地址以在復(fù)位之后取代該引導(dǎo)地址的機(jī)制,因此不可能驗(yàn)證該微處理器的功能。具體來說,不可能通過設(shè)置一個(gè)測(cè)試地址來訪問在該程序計(jì)數(shù)器中的測(cè)試程序以取代該引導(dǎo)地址而獨(dú)立地驗(yàn)證微處理器的各種獨(dú)立功能,該測(cè)試程序被準(zhǔn)備用于在復(fù)位之后驗(yàn)證在實(shí)際機(jī)器中的微處理器的功能,并且通過根據(jù)設(shè)置的測(cè)試地址而訪問要被執(zhí)行的測(cè)試程序。
如上文所述,該常規(guī)微處理器不能夠在復(fù)位之后設(shè)置除了在該程序計(jì)數(shù)器中的引導(dǎo)地址之外的一個(gè)地址,因此不能夠在復(fù)位之后執(zhí)行除了引導(dǎo)程序之外的其它程序。因此,如果在微處理器中出現(xiàn)問題,則不可能通過在微處理器的復(fù)位之后執(zhí)行測(cè)試程序而驗(yàn)證微處理器的功能。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)方面是提供一種具有內(nèi)置測(cè)試的微處理器,其中包括a)寄存器,用于保存測(cè)試程序的測(cè)試地址;b)下一個(gè)地址產(chǎn)生邏輯電路,用于根據(jù)要被接著執(zhí)行的一個(gè)命令的命令地址,產(chǎn)生被安排在下一步執(zhí)行的一個(gè)命令的命令地址;c)第一多路復(fù)用器,用于根據(jù)測(cè)試模式信號(hào)選擇指定引導(dǎo)程序的引導(dǎo)地址和測(cè)試地址的任何一個(gè)地址;d)第二多路復(fù)用器,用于根據(jù)一個(gè)復(fù)位信號(hào)選擇被安排在下一步執(zhí)行的命令的命令地址和由第一多路復(fù)用器所選擇的地址中的任何一個(gè)地址;以及e)程序計(jì)數(shù)器,用于保存由第二多路復(fù)用器所選擇的地址,并且用于把所保存的地址輸出到下一個(gè)地址產(chǎn)生邏輯電路,作為要被接著執(zhí)行的命令的命令地址。
本發(fā)明的第二方面是提供一種具有內(nèi)置測(cè)試的微處理器,其中包括a)緩沖存儲(chǔ)器(cash memory),用于存儲(chǔ)要在微處理器的正常操作中執(zhí)行的命令,以及存儲(chǔ)在測(cè)試操作模式中的測(cè)試程序;b)下一個(gè)地址產(chǎn)生邏輯電路,用于根據(jù)要被接著執(zhí)行的一個(gè)命令的命令地址,產(chǎn)生要被安排在下一步執(zhí)行的一個(gè)命令的命令地址;c)第一多路復(fù)用器,用于根據(jù)測(cè)試模式信號(hào)選擇指定引導(dǎo)程序的引導(dǎo)地址和作為緩沖存儲(chǔ)器的開始地址的測(cè)試地址中的任何一個(gè)地址;d)第二多路復(fù)用器,用于根據(jù)一個(gè)復(fù)位信號(hào)選擇被安排在下一步執(zhí)行的命令的命令地址和由第一多路復(fù)用器所選擇的地址中的任何一個(gè)地址;以及e)程序計(jì)數(shù)器,用于保存由第二多路復(fù)用器所選擇的地址,并且用于把所保存的地址輸出到下一個(gè)地址產(chǎn)生邏輯電路,作為要被接著執(zhí)行的命令的命令地址。
本發(fā)明的第三方面是提供一種具有內(nèi)置測(cè)試的微處理器的處理方法,其中包括a)根據(jù)要被接著執(zhí)行的一個(gè)命令的命令地址,產(chǎn)生被安排在下一步執(zhí)行的一個(gè)命令的命令地址;b)根據(jù)測(cè)試模式信號(hào)選擇指定引導(dǎo)程序的引導(dǎo)地址和測(cè)試程序的測(cè)試地址中的任何一個(gè)地址;c)根據(jù)一個(gè)復(fù)位信號(hào)選擇被安排在下一步執(zhí)行的命令的命令地址和所選擇的地址中的任何一個(gè)地址;以及d)把根據(jù)復(fù)位信號(hào)選擇的地址輸出,作為要被接著執(zhí)行的命令的命令地址。
本發(fā)明的第四方面是提供一種具有內(nèi)置測(cè)試的微處理器的處理方法,其中包括a)在正常操作中在緩沖存儲(chǔ)器內(nèi)存儲(chǔ)要執(zhí)行的命令,以及在測(cè)試操作模式中在緩沖存儲(chǔ)器內(nèi)存儲(chǔ)測(cè)試程序;b)根據(jù)要被接著執(zhí)行的一個(gè)命令的命令地址,產(chǎn)生被安排在下一步執(zhí)行的一個(gè)命令的命令地址;c)根據(jù)測(cè)試模式信號(hào)選擇指定引導(dǎo)程序的引導(dǎo)地址和測(cè)試程序的測(cè)試地址中的任何一個(gè)地址;d)根據(jù)一個(gè)復(fù)位信號(hào)選擇被安排在下一步執(zhí)行的命令的命令地址和根據(jù)測(cè)試模式信號(hào)所選擇的地址中的任何一個(gè)地址;以及e)把根據(jù)復(fù)位信號(hào)選擇的地址輸出,作為要被接著執(zhí)行的命令的命令地址。
圖1為示出根據(jù)本發(fā)明第一實(shí)施例的微處理器的結(jié)構(gòu)的示意圖。
圖2為示出在圖1中所示的一個(gè)核心處理器內(nèi)部的PC單元的結(jié)構(gòu)的示意圖。
圖3為示出根據(jù)本發(fā)明第一實(shí)施例的引導(dǎo)ROM的地址空間的示意圖。
圖4為示出根據(jù)本發(fā)明第一實(shí)施例的微處理器的處理方法的流程圖。
圖5為示出根據(jù)本發(fā)明第二實(shí)施例的微處理器的結(jié)構(gòu)的示意圖。
圖6為示出圖5中所示的核心處理器內(nèi)部的PC單元的結(jié)構(gòu)的示意圖。
圖7為示出根據(jù)本發(fā)明第二實(shí)施例的微處理器的處理方法的流程圖。
具體實(shí)施例方式
下面參照附圖描述本發(fā)明的各個(gè)實(shí)施例。在下文的附圖描述中,相同或類似的參照標(biāo)號(hào)被用于相同或類似的部件。但是,該附圖是示意性的,并且應(yīng)當(dāng)注意每個(gè)測(cè)量值的比例與實(shí)際情況不同。
(第一實(shí)施例)如圖1中所示,根據(jù)本發(fā)明第一實(shí)施例的微處理器20包括要作為微處理器20的控制中心的核心處理器21;用于控制微處理器20和引導(dǎo)ROM25之間的存儲(chǔ)器存取的ROM控制器22;具有各種功能的多個(gè)外圍設(shè)備23a、23b、23c...;以及用于連接核心處理器21、ROM控制器22和外圍設(shè)備23a、23b、23c…的系統(tǒng)總線24。另外,微處理器20的外部具有連接到ROM控制器22的引導(dǎo)ROM25;以及連接到外圍設(shè)備23a、23b、23c…的外部設(shè)備26。在這種結(jié)構(gòu)中,當(dāng)微處理器20被在正常操作模式中復(fù)位時(shí),引導(dǎo)ROM25被在ROM控制器22的控制下而選擇。然后,存儲(chǔ)在引導(dǎo)ROM25中的引導(dǎo)程序的程序31被讀入到核心處理器21,從而執(zhí)行引導(dǎo)處理。
圖2為示出在圖1中所示的核心處理器21內(nèi)部的PC單元10的結(jié)構(gòu)的示意圖。PC單元10在核心處理器21中執(zhí)行命令地址的產(chǎn)生控制,如圖2中所示,其中包括程序計(jì)數(shù)器(PC)11、下一個(gè)地址產(chǎn)生邏輯電路12、復(fù)位控制多路復(fù)用器13、復(fù)位模式多路復(fù)用器14以及測(cè)試模式地址保存寄存器(TA)15。
程序計(jì)數(shù)器11保存要被接著執(zhí)行的一個(gè)命令的命令地址。所保存的命令地址被與用于訪問要接著執(zhí)行的命令的配置一同傳送到下一個(gè)地址產(chǎn)生邏輯電路12。根據(jù)從程序計(jì)數(shù)器11傳送的要接著執(zhí)行的命令地址,下一個(gè)地址產(chǎn)生邏輯電路12產(chǎn)生被安排在下一步執(zhí)行的命令的命令地址。所產(chǎn)生的命令地址被傳送到復(fù)位控制多路復(fù)用器13。復(fù)位控制多路復(fù)用器13接收從下一個(gè)地址產(chǎn)生邏輯電路12傳送的命令地址或者在復(fù)位模式多路復(fù)用器14中選擇的地址,并且根據(jù)微處理器20的復(fù)位信號(hào)選擇從外部傳送的這些地址中的任何一個(gè)地址。被選擇的地址被傳送到程序計(jì)數(shù)器11。復(fù)位模式多路復(fù)用器14接收用于在正常操作模式中復(fù)位微處理器20的過程中啟動(dòng)引導(dǎo)程序的引導(dǎo)地址或者被保留在測(cè)試模式地址保存寄存器15中的測(cè)試地址,并且根據(jù)從外部傳送的測(cè)試模式信號(hào)選擇這些地址中的任何一個(gè)地址。被選擇的地址被傳送到復(fù)位控制多路復(fù)用器13。在測(cè)試操作模式中的微處理器復(fù)位之前,測(cè)試模式地址保存寄存器15預(yù)先設(shè)置從外部傳送的測(cè)試程序的一個(gè)測(cè)試地址,并且保存如此設(shè)置的測(cè)試地址。
如圖3中所示,引導(dǎo)ROM25存儲(chǔ)引導(dǎo)程序31和測(cè)試程序32。測(cè)試程序32被存儲(chǔ)在存儲(chǔ)引導(dǎo)程序31的引導(dǎo)ROM25的剩余可用空間中,如圖3中所示。作為引導(dǎo)程序31的開始例子的引導(dǎo)地址在引導(dǎo)ROM25的地址空間中被設(shè)置為一個(gè)固定值。該引導(dǎo)地址被傳送到復(fù)位模式多路復(fù)用器14。測(cè)試程序32包括多個(gè)測(cè)試程序32a、32b、32c… 。作為各種測(cè)試程序32a、32b、32c...,假設(shè)各種測(cè)試程序例如包括用于測(cè)試計(jì)算單元的功能中的加法處理的測(cè)試程序;用于測(cè)試計(jì)算單元的整體功能的測(cè)試程序;用于測(cè)試包括存儲(chǔ)器的部分或所有外圍設(shè)備23a、23b、23c...和功能塊的測(cè)試程序;等等。當(dāng)執(zhí)行各個(gè)程序32a、32b、32c...時(shí),各個(gè)開始地址,對(duì)應(yīng)于引導(dǎo)ROM25的地址空間中的測(cè)試地址1、測(cè)試地址2、測(cè)試地址3…被從外部傳送到測(cè)試模式地址保存寄存器15,并且保存在其中。保存引導(dǎo)程序31和測(cè)試程序32的引導(dǎo)ROM25可以根據(jù)測(cè)試程序32的內(nèi)容由另一個(gè)引導(dǎo)ROM適當(dāng)?shù)靥鎿Q。另外,當(dāng)僅僅執(zhí)行測(cè)試時(shí),引導(dǎo)ROM25可以僅僅由存儲(chǔ)測(cè)試程序32的存儲(chǔ)器所替換。
接著,圖4為示出根據(jù)本發(fā)明的第一實(shí)施例的微處理器20的處理方法的流程圖。
(a)首先,在步驟S11,根據(jù)要接著執(zhí)行的一個(gè)命令的命令地址提取并執(zhí)行一個(gè)命令,被保存在程序計(jì)數(shù)器11中的命令地址以及要被接著執(zhí)行的命令的命令地址被進(jìn)一步傳送到下一個(gè)地址產(chǎn)生邏輯電路12。下一個(gè)地址產(chǎn)生邏輯電路12根據(jù)從程序計(jì)數(shù)器11傳送的要被接著執(zhí)行的命令的命令地址產(chǎn)生被安排在下一步執(zhí)行的命令的命令地址。
(b)接著,在步驟S12中,根據(jù)測(cè)試模式信號(hào),復(fù)位模式多路復(fù)用器14選擇如下地址中的任何一個(gè)地址用于指定引導(dǎo)程序的引導(dǎo)地址;以及測(cè)試程序的測(cè)試地址。具體來說,在測(cè)試模式信號(hào)無效的過程中的正常操作模式中的處理器復(fù)位之后選擇該引導(dǎo)地址;同時(shí),在測(cè)試模式信號(hào)有效的過程中的測(cè)試操作模式中,在復(fù)位之后選擇測(cè)試地址。
(c)接著,在步驟S13,根據(jù)復(fù)位信號(hào),復(fù)位控制多路復(fù)用器13選擇如下地址中的任何一個(gè)地址被安排在下一步執(zhí)行的命令的命令地址;由下一個(gè)地址產(chǎn)生邏輯電路12在步驟S11所產(chǎn)生的命令地址;以及由復(fù)位模式多路復(fù)用器14所選擇的地址。具體來說,在正常操作模式或者在測(cè)試操作模式中在微處理器復(fù)位之后,復(fù)位控制多路復(fù)用器13選擇根據(jù)測(cè)試模式信號(hào)而選擇的地址;同時(shí),在復(fù)位被釋放之后的正常操作中,復(fù)位控制多路復(fù)用器13選擇被安排在下一步執(zhí)行的命令的命令地址。
(d)然后,在步驟S14中,程序計(jì)數(shù)器11保存由復(fù)位控制多路復(fù)用器13所選擇的地址,并且把該地址輸出到下一個(gè)地址產(chǎn)生邏輯電路12,作為要被接著執(zhí)行的命令的命令地址。在此,在引導(dǎo)地址被保存在程序計(jì)數(shù)器11中的情況中,存儲(chǔ)在引導(dǎo)ROM25中的引導(dǎo)程序31被根據(jù)所保存的引導(dǎo)地址而讀入到核心處理器21,并且執(zhí)行引導(dǎo)程序。同時(shí),當(dāng)測(cè)試地址被保存在程序計(jì)數(shù)器11中時(shí),存儲(chǔ)在引導(dǎo)ROM25中的測(cè)試程序32被根據(jù)所保存的測(cè)試地址而讀入到核心處理器21,并且執(zhí)行測(cè)試程序。
接著,將分別描述根據(jù)本發(fā)明的第一實(shí)施例的微處理器20的正常操作模式中的復(fù)位操作、在復(fù)位被釋放之后的正常操作、以及在測(cè)試操作模式中的復(fù)位操作。
當(dāng)測(cè)試模式信號(hào)處于無效狀態(tài)時(shí)在正常操作模式的復(fù)位操作中,復(fù)位信號(hào)變?yōu)橛行?,然后傳送到微處理?0。當(dāng)微處理器20被復(fù)位時(shí),由復(fù)位模式多路復(fù)用器14選擇引導(dǎo)地址。被選擇的引導(dǎo)地址然后被復(fù)位控制多路復(fù)用器13進(jìn)一步選擇,并且所選擇的引導(dǎo)地址被傳送到程序計(jì)數(shù)器11并且保存在其中。然后,根據(jù)在程序計(jì)數(shù)器11中保存的引導(dǎo)地址,存儲(chǔ)在引導(dǎo)ROM25中的引導(dǎo)程序31被讀入到核心處理器21以被執(zhí)行,從而執(zhí)行該引導(dǎo)程序。
在復(fù)位信號(hào)變?yōu)橛行Р⑶椅⑻幚砥鞯膹?fù)位被釋放之后的正常操作中,在下一個(gè)地址產(chǎn)生邏輯電路12中產(chǎn)生的命令地址被復(fù)位控制多路復(fù)用器13所選擇。所選擇的命令地址被傳送到程序計(jì)數(shù)器11,并且保存在其中。然后,根據(jù)被保存在程序計(jì)數(shù)器11中的命令地址,提取并執(zhí)行該命令。然后,要被下一個(gè)執(zhí)行的命令的命令地址被在下一個(gè)地址產(chǎn)生邏輯電路12中產(chǎn)生,并且該命令地址被傳送到程序計(jì)數(shù)器11,并且保存在其中。上述操作被重復(fù)執(zhí)行,從而執(zhí)行一系列命令。
在測(cè)試操作模式的復(fù)位操作中,當(dāng)測(cè)試模式信號(hào)處于有效狀態(tài)時(shí),首先,在執(zhí)行復(fù)位操作之前,將作為要在復(fù)位之后執(zhí)行的測(cè)試程序的開始地址的測(cè)試地址被預(yù)先從外部傳送到測(cè)試模式地址保存寄存器15,并且被保存在其中。在這種狀態(tài)中,當(dāng)測(cè)試模式信號(hào)變?yōu)橛行Р⑶冶粋魉偷綇?fù)位模式多路復(fù)用器14時(shí),保存在測(cè)試模式地址保存寄存器15中的測(cè)試地址被復(fù)位模式多路復(fù)用器14所選擇。所選擇的測(cè)試地址被傳送到復(fù)位控制多路復(fù)用器13。然后,當(dāng)復(fù)位信號(hào)為有效并且被傳送到復(fù)位控制多路復(fù)用器13時(shí),該測(cè)試地址被復(fù)位控制多路復(fù)用器13所選擇。所選擇的測(cè)試地址被傳送到程序計(jì)數(shù)器11,并且被保存在其中。然后,根據(jù)程序計(jì)數(shù)器11中保存的測(cè)試地址,存儲(chǔ)在引導(dǎo)ROM25中的測(cè)試程序32被讀入核心處理器21,并且被執(zhí)行。因此,根據(jù)所執(zhí)行的測(cè)試程序32的內(nèi)容,測(cè)試微處理器的功能。
在根據(jù)本發(fā)明第一實(shí)施例的微處理器中,可以在該微處理器的復(fù)位之后由實(shí)際機(jī)器中的程序獨(dú)立地驗(yàn)證該微處理器的各個(gè)獨(dú)立功能。
(第二實(shí)施例)圖5中所示的根據(jù)本發(fā)明第二實(shí)施例的微處理器40不同于根據(jù)第一實(shí)施例的微處理器20之處在于該核心處理器41包括一個(gè)命令緩沖存儲(chǔ)器42。該命令緩沖存儲(chǔ)器42存儲(chǔ)要在正常模式中執(zhí)行的命令以及存儲(chǔ)要在測(cè)試操作模式中執(zhí)行的測(cè)試程序32。能夠執(zhí)行用于在測(cè)試操作模式中直接測(cè)試命令緩沖存儲(chǔ)器42的直接存儲(chǔ)器測(cè)試(DMT)的一個(gè)DMT接口43連接到該命令緩沖存儲(chǔ)器42。微處理器40具有一種結(jié)構(gòu),其中被提供在微處理器40的外部的測(cè)試器27被連接到DMT接口43,其中從該測(cè)試器27可以通過DMT接口43訪問該命令緩沖存儲(chǔ)器42。
圖6為示出在圖5中所示的核心處理器41內(nèi)部的一個(gè)PC單元51的結(jié)構(gòu)的示意圖。在圖6中,與圖2中所示的PC單元10相比,該P(yáng)C單元51被配置如下,取代圖2中所示的測(cè)試模式地址保存寄存器15,一個(gè)測(cè)試地址被作為固定值傳送到復(fù)位模式多路復(fù)用器52,被作為固定值而傳送的引導(dǎo)地址或測(cè)試地址被復(fù)位模式多路復(fù)用器52所選擇,并且被選擇的地址被傳送到復(fù)位控制多路復(fù)用器13。除了上文所述之外,PC單元51的結(jié)構(gòu)類似于圖2中所示的PC單元10。
請(qǐng)注意,在根據(jù)本發(fā)明第二實(shí)施例的微處理器40中,如圖6中所示,測(cè)試地址被作為固定值傳送到復(fù)位模式多路復(fù)用器52。但是,如圖2中所示,取而代之的是可以提供用于保存測(cè)試地址的測(cè)試模式地址保存寄存器15。
接著,圖7為示出根據(jù)本發(fā)明第二實(shí)施例的微處理器40的處理方法的流程圖。
(a)首先,在步驟S21,要被在測(cè)試操作模式中執(zhí)行的測(cè)試程序32被從外部提供的測(cè)試器27通過DMT接口43寫入到命令緩沖存儲(chǔ)器42的預(yù)定地址空間,然后命令緩沖存儲(chǔ)器42變?yōu)橛行АU?qǐng)注意,在測(cè)試操作模式中,DMT接口43執(zhí)行命令緩沖存儲(chǔ)器42的直接存儲(chǔ)器測(cè)試。
(b)接著,在步驟S22中,提供并執(zhí)行根據(jù)要接著執(zhí)行的一個(gè)命令的命令地址的命令,該命令地址被保存在程序計(jì)數(shù)器11中。然后,要被接著執(zhí)行的命令的命令地址被進(jìn)一步傳送到下一個(gè)地址產(chǎn)生邏輯電路12。下一個(gè)地址產(chǎn)生邏輯電路12根據(jù)從程序計(jì)數(shù)器11傳送的要被接著執(zhí)行的命令的命令地址產(chǎn)生被安排在下一步執(zhí)行的命令的命令地址。
(c)接著,在步驟S23中,根據(jù)測(cè)試模式信號(hào),復(fù)位模式多路復(fù)用器52選擇如下地址中的任何一個(gè)地址用于指定引導(dǎo)程序的引導(dǎo)地址;以及作為命令緩沖存儲(chǔ)器42的開始地址的測(cè)試地址。具體來說,在測(cè)試模式信號(hào)無效的過程中的正常操作模式中的處理器復(fù)位之后選擇該引導(dǎo)地址;同時(shí),在測(cè)試模式信號(hào)有效的過程中的測(cè)試操作模式中,在復(fù)位之后選擇測(cè)試地址。
(d)接著,在步驟S24,根據(jù)復(fù)位信號(hào),復(fù)位控制多路復(fù)用器13選擇如下地址中的任何一個(gè)地址被安排在下一步執(zhí)行的命令的命令地址;由下一個(gè)地址產(chǎn)生邏輯電路12在步驟S11所產(chǎn)生的命令地址;以及由復(fù)位模式多路復(fù)用器52所選擇的地址。具體來說,在正常操作模式或者在測(cè)試操作模式中在微處理器復(fù)位之后,復(fù)位控制多路復(fù)用器13選擇根據(jù)測(cè)試模式信號(hào)而選擇的地址;同時(shí),在復(fù)位被釋放之后的正常操作中,復(fù)位控制多路復(fù)用器13選擇被安排在下一步執(zhí)行的命令的命令地址。
(e)然后,在步驟S25中,程序計(jì)數(shù)器11保存由復(fù)位控制多路復(fù)用器13所選擇的地址,并且把該地址輸出到下一個(gè)地址產(chǎn)生邏輯電路12,作為要被接著執(zhí)行的命令的命令地址。在此,在引導(dǎo)地址被堡存在程序計(jì)數(shù)器11中的情況中,存儲(chǔ)在引導(dǎo)ROM25中的引導(dǎo)程序31被根據(jù)所保存的引導(dǎo)地址而讀入到核心處理器21,并且執(zhí)行引導(dǎo)程序。同時(shí),當(dāng)測(cè)試地址被保存在程序計(jì)數(shù)器11中時(shí),在步驟S21寫入到命令緩沖存儲(chǔ)器42中的測(cè)試程序32被根據(jù)所保存的測(cè)試地址而讀入到核心處理器21,并且執(zhí)行該測(cè)試程序。
接著,將描述根據(jù)本發(fā)明第二實(shí)施例的微處理器40的測(cè)試操作模式中的復(fù)位操作。請(qǐng)注意,在根據(jù)本發(fā)明第二實(shí)施例的微處理器40的正常操作模式中的復(fù)位操作和在復(fù)位被釋放之后的正常操作類似于上述根據(jù)本發(fā)明第一實(shí)施例的微處理器20的操作,因此將省略對(duì)它們的描述。
當(dāng)測(cè)試模式信號(hào)處于有效狀態(tài)時(shí),在微處理器的測(cè)試操作模式中的復(fù)位操作中,首先要被執(zhí)行的測(cè)試程序32被從外部提供的測(cè)試器27通過DMT接口43寫入到核心處理器41中的命令緩沖存儲(chǔ)器42的預(yù)定地址空間,然后命令緩沖存儲(chǔ)器42變?yōu)橛行?。從而,?dāng)測(cè)試模式信號(hào)變?yōu)橛行Р⑶覀魉偷綇?fù)位模式多路復(fù)用器52時(shí),由復(fù)位模式多路復(fù)用器52選擇復(fù)位地址。然后,當(dāng)復(fù)位信號(hào)為有效并且被傳送到復(fù)位控制多路復(fù)用器13時(shí),由復(fù)位控制多路復(fù)用器13選擇測(cè)試地址。所選擇的測(cè)試地址被傳送到程序計(jì)數(shù)器11,并且被保存在其中。該測(cè)試地址被設(shè)置為寫入在命令緩沖存儲(chǔ)器42中的測(cè)試程序32的開始地址。因此,根據(jù)在程序計(jì)數(shù)器11中保存的測(cè)試地址,寫入到命令緩沖存儲(chǔ)器42的測(cè)試程序32被從命令緩沖存儲(chǔ)器42和外部讀出。
在根據(jù)本發(fā)明第二實(shí)施例的微處理器中,可以把測(cè)試程序32讀入核心處理器41,并且執(zhí)行測(cè)試程序,而不用通過ROM控制器22或者通過系統(tǒng)總線24訪問引導(dǎo)ROM25。因此,即使當(dāng)在引導(dǎo)ROM25和ROM控制器22中出現(xiàn)問題時(shí),也可以驗(yàn)證在實(shí)際機(jī)器中的微處理器的功能。另外,在實(shí)際機(jī)器中的功能驗(yàn)證的核心處理器的獨(dú)立性大大增加,使得內(nèi)置的測(cè)試(BIT)具有較高的獨(dú)立性。
(其它實(shí)施例)本領(lǐng)域的技術(shù)人員可以根據(jù)本發(fā)明的思想作出各種變型而不脫離其范圍。
本發(fā)明的裝置可以由各種變型而實(shí)現(xiàn),而不脫離由主權(quán)項(xiàng)所給出的本發(fā)明的精神和范圍。相應(yīng)地,包含在本申請(qǐng)中的描述被用于說明性的描述,而不被認(rèn)為是對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種具有內(nèi)置測(cè)試的微處理器,其中包括寄存器,用于保存測(cè)試程序的測(cè)試地址;下一個(gè)地址產(chǎn)生邏輯電路,用于根據(jù)要被接著執(zhí)行的一個(gè)命令的命令地址,產(chǎn)生被安排在下一步執(zhí)行的一個(gè)命令的命令地址;第一多路復(fù)用器,用于根據(jù)測(cè)試模式信號(hào)選擇指定引導(dǎo)程序的引導(dǎo)地址和測(cè)試地址的任何一個(gè)地址;第二多路復(fù)用器,用于根據(jù)一個(gè)復(fù)位信號(hào)選擇被安排在下一步執(zhí)行的命令的命令地址和由第一多路復(fù)用器所選擇的地址中的任何一個(gè)地址;以及程序計(jì)數(shù)器,用于保存由第二多路復(fù)用器所選擇的地址,并且用于把所保存的地址輸出到下一個(gè)地址產(chǎn)生邏輯電路,作為要被接著執(zhí)行的命令的命令地址。
2.根據(jù)權(quán)利要求1所述的微處理器,其中第一多路復(fù)用器在正常操作模式中的處理器復(fù)位之后選擇引導(dǎo)地址,并且在測(cè)試操作模式中的復(fù)位之后選擇測(cè)試地址。
3.根據(jù)權(quán)利要求1所述的微處理器,其中第二多路復(fù)用器選擇在正常操作模式或測(cè)試操作模式中的處理器復(fù)位之后由第一多路復(fù)用器所選擇的地址,并且在復(fù)位被釋放之后的處理器的正常操作中選擇被安排在下一步執(zhí)行的命令的命令地址。
4.一種具有內(nèi)置測(cè)試的微處理器,其中包括緩沖存儲(chǔ)器,用于存儲(chǔ)要在微處理器的正常操作中執(zhí)行的命令,以及存儲(chǔ)在測(cè)試操作模式中的測(cè)試程序;下一個(gè)地址產(chǎn)生邏輯電路,用于根據(jù)要被接著執(zhí)行的一個(gè)命令的命令地址,產(chǎn)生要被安排在下一步執(zhí)行的一個(gè)命令的命令地址;第一多路復(fù)用器,用于根據(jù)測(cè)試模式信號(hào)選擇指定引導(dǎo)程序的引導(dǎo)地址和作為緩沖存儲(chǔ)器的開始地址的測(cè)試地址中的任何一個(gè)地址;第二多路復(fù)用器,用于根據(jù)一個(gè)復(fù)位信號(hào)選擇被安排在下一步執(zhí)行的命令的命令地址和由第一多路復(fù)用器所選擇的地址中的任何一個(gè)地址;以及程序計(jì)數(shù)器,用于保存由第二多路復(fù)用器所選擇的地址,并且用于把所保存的地址輸出到下一個(gè)地址產(chǎn)生邏輯電路,作為要被接著執(zhí)行的命令的命令地址。
5.根據(jù)權(quán)利要求4所述的微處理器,其中進(jìn)一步包括用于在測(cè)試操作模式中執(zhí)行緩沖存儲(chǔ)器的直接存儲(chǔ)器測(cè)試的接口。
6.根據(jù)權(quán)利要求4所述的微處理器,其中第一多路復(fù)用器在正常操作模式中的處理器復(fù)位之后選擇引導(dǎo)地址,并且在測(cè)試操作模式中的復(fù)位之后選擇測(cè)試地址。
7.根據(jù)權(quán)利要求4所述的微處理器,其中第二多路復(fù)用器選擇在正常操作模式或測(cè)試操作模式中的處理器復(fù)位之后由第一多路復(fù)用器所選擇的地址,并且在復(fù)位被釋放之后的處理器的正常操作中選擇被安排在下一步執(zhí)行的命令的命令地址。
8.一種具有內(nèi)置測(cè)試的微處理器的處理方法,其中包括根據(jù)要被接著執(zhí)行的一個(gè)命令的命令地址,產(chǎn)生被安排在下一步執(zhí)行的一個(gè)命令的命令地址;根據(jù)測(cè)試模式信號(hào)選擇指定引導(dǎo)程序的引導(dǎo)地址和測(cè)試程序的測(cè)試地址中的任何一個(gè)地址;根據(jù)一個(gè)復(fù)位信號(hào)選擇被安排在下一步執(zhí)行的命令的命令地址和所選擇的地址中的任何一個(gè)地址;以及把根據(jù)復(fù)位信號(hào)選擇的地址輸出,作為要被接著執(zhí)行的命令的命令地址。
9.根據(jù)權(quán)利要求8所述的方法,其中在基于測(cè)試模式信號(hào)的地址選擇中,在正常操作模式中的微處理器復(fù)位之后選擇引導(dǎo)地址,并且在測(cè)試操作模式中的復(fù)位之后選擇測(cè)試地址。
10.根據(jù)權(quán)利要求8所述的方法,其中在基于復(fù)位信號(hào)的地址選擇中,在正常操作模式或測(cè)試操作模式中的處理器復(fù)位之后選擇基于測(cè)試模式信號(hào)而選擇的地址,并且在復(fù)位被釋放之后的處理器正常操作模式中選擇被安排在下一步執(zhí)行的命令的命令地址。
11.一種具有內(nèi)置測(cè)試的微處理器的處理方法,其中包括在正常操作中在緩沖存儲(chǔ)器內(nèi)存儲(chǔ)要執(zhí)行的命令,以及在測(cè)試操作模式中在緩沖存儲(chǔ)器內(nèi)存儲(chǔ)測(cè)試程序;根據(jù)要被接著執(zhí)行的一個(gè)命令的命令地址,產(chǎn)生被安排在下一步執(zhí)行的一個(gè)命令的命令地址;根據(jù)測(cè)試模式信號(hào)選擇指定引導(dǎo)程序的引導(dǎo)地址和測(cè)試程序的測(cè)試地址中的任何一個(gè)地址;根據(jù)一個(gè)復(fù)位信號(hào)選擇被安排在下一步執(zhí)行的命令的命令地址和根據(jù)測(cè)試模式信號(hào)所選擇的地址中的任何一個(gè)地址;以及把根據(jù)復(fù)位信號(hào)選擇的地址輸出,作為要被接著執(zhí)行的命令的命令地址。
12.根據(jù)權(quán)利要求11所述的方法,其中進(jìn)一步包括在測(cè)試操作模式中執(zhí)行緩沖存儲(chǔ)器的直接存儲(chǔ)器測(cè)試。
13.根據(jù)權(quán)利要求11所述的方法,其中在基于測(cè)試模式信號(hào)的地址選擇中,在正常操作模式中的微處理器復(fù)位之后選擇引導(dǎo)地址,并且在測(cè)試操作模式中的復(fù)位之后選擇測(cè)試地址。
14.根據(jù)權(quán)利要求11所述的方法,其中在基于復(fù)位信號(hào)的地址選擇中,在正常操作模式或測(cè)試操作模式中的處理器復(fù)位之后選擇基于測(cè)試模式信號(hào)而選擇的地址,并且在復(fù)位被釋放之后的處理器正常操作模式中選擇被安排在下一步執(zhí)行的命令的命令地址。
全文摘要
一種具有內(nèi)置測(cè)試的微處理器,其中包括寄存器,用于保存測(cè)試程序的測(cè)試地址;下一個(gè)地址產(chǎn)生邏輯電路,用于根據(jù)要被接著執(zhí)行的一個(gè)命令的命令地址,產(chǎn)生被安排在下一步執(zhí)行的一個(gè)命令的命令地址;第一多路復(fù)用器,用于根據(jù)測(cè)試模式信號(hào)選擇指定引導(dǎo)程序的引導(dǎo)地址和測(cè)試地址的任何一個(gè)地址;第二多路復(fù)用器,用于根據(jù)一個(gè)復(fù)位信號(hào)選擇被安排在下一步執(zhí)行的命令的命令地址和由第一多路復(fù)用器所選擇的地址中的任何一個(gè)地址;以及程序計(jì)數(shù)器,用于保存由第二多路復(fù)用器所選擇的地址,并且用于把所保存的地址輸出到下一個(gè)地址產(chǎn)生邏輯電路,作為要被接著執(zhí)行的命令的命令地址。
文檔編號(hào)G06F9/00GK1430141SQ0215933
公開日2003年7月16日 申請(qǐng)日期2002年12月26日 優(yōu)先權(quán)日2001年12月26日
發(fā)明者畠山努 申請(qǐng)人:株式會(huì)社東芝