欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

具有可編程優(yōu)先級(jí)的中斷結(jié)構(gòu)且每個(gè)優(yōu)先級(jí)與不同的寄存器組相關(guān)聯(lián)的微控制器的制作方法

文檔序號(hào):6490586閱讀:229來源:國知局
專利名稱:具有可編程優(yōu)先級(jí)的中斷結(jié)構(gòu)且每個(gè)優(yōu)先級(jí)與不同的寄存器組相關(guān)聯(lián)的微控制器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及處理器體系結(jié)構(gòu)領(lǐng)域并且尤其涉及供微控制器使用的數(shù)據(jù)寄存器體系結(jié)構(gòu)領(lǐng)域。
典型情況下程序數(shù)據(jù)流存儲(chǔ)在存儲(chǔ)電路中,其中,在特定例程的程序數(shù)據(jù)內(nèi)所編碼的指令由處理器執(zhí)行,當(dāng)出現(xiàn)中斷時(shí),一個(gè)程序流中斷另一個(gè)程序流的執(zhí)行。構(gòu)成每個(gè)程序流的多個(gè)指令被存儲(chǔ)在存儲(chǔ)電路中的具體單元處。程序流指令使處理器能夠執(zhí)行各種任務(wù)。典型情況下,來自每個(gè)程序流的指令被每次一個(gè)地順次獲取并處理。
當(dāng)處理來自程序流的指令時(shí),處理器利用程序寄存器。這些寄存器是所述處理器內(nèi)的存儲(chǔ)單元,所述存儲(chǔ)單元支持由微處理器的超高速直接訪問。例如,一些操作特別用于直接處理在寄存器內(nèi)的數(shù)據(jù)。從存儲(chǔ)電路所讀取的程序流數(shù)據(jù)被存儲(chǔ)在這些寄存器中,并且處理器對(duì)在其中所存儲(chǔ)的值執(zhí)行邏輯和算術(shù)運(yùn)算。當(dāng)?shù)谝怀绦蛄鞯膱?zhí)行被另一第二程序流中斷時(shí),典型情況下,對(duì)應(yīng)于所述第一程序流的程序寄存器內(nèi)容被存儲(chǔ)在其它地方以便使中斷程序能夠利用相同的程序寄存器組。一旦中斷程序——第二程序流——已經(jīng)完成其指令序列,那么對(duì)應(yīng)于第一程序流的程序寄存器內(nèi)容就被還原,并且所述第一程序流在出現(xiàn)中斷的隨后的程序計(jì)數(shù)器處恢復(fù)執(zhí)行。因而,典型情況下,在服務(wù)中斷的第二程序流之前,保存對(duì)應(yīng)于第一程序流的所有信息。
當(dāng)然,利用這種系統(tǒng),必須保證在第一程序流恢復(fù)執(zhí)行之前還原所有被中斷的程序流參數(shù)。如果在此轉(zhuǎn)送期間出現(xiàn)中斷,那么可能無法存儲(chǔ)或還原所有數(shù)據(jù)。如果沒能無差錯(cuò)地存儲(chǔ)程序寄存器內(nèi)容及其它臨界的第一程序流數(shù)據(jù),那么處理器沒辦法得知被還原到寄存器的第一程序流數(shù)據(jù)是否被破壞。為了確保所有的第一程序流數(shù)據(jù)被轉(zhuǎn)送,中斷任務(wù)必須等待直到完成還原過程,所述還原過程浪費(fèi)了寶貴的處理時(shí)間并且導(dǎo)致增加了功率消耗。
因此有這種需要,即,在不存儲(chǔ)并還原被中斷的程序流的臨界數(shù)據(jù)的情況下,能夠使處理中斷的程序流便于進(jìn)行。因此本發(fā)明的目的在于提供一種系統(tǒng),能夠便于在不存儲(chǔ)并還原被中斷的程序流的臨界數(shù)據(jù)的情況下,執(zhí)行中斷的程序流。

發(fā)明內(nèi)容
依照本發(fā)明,提供了一種系統(tǒng),包括處理器;多個(gè)寄存器存儲(chǔ)體塊;和寄存器存儲(chǔ)體塊譯碼器電路,用于激活多個(gè)寄存器存儲(chǔ)體塊中當(dāng)且僅當(dāng)?shù)囊粋€(gè),所述寄存器存儲(chǔ)體塊譯碼器電路對(duì)中斷事件操作做出響應(yīng),以便選擇多個(gè)寄存器存儲(chǔ)體塊之一來激活,其中,不同的中斷事件操作導(dǎo)致選擇多個(gè)寄存器存儲(chǔ)體塊中不同的寄存器存儲(chǔ)體塊。
依照本發(fā)明,提供了一種在數(shù)據(jù)處理系統(tǒng)中切換處理資源的方法,包括步驟提供多個(gè)寄存器存儲(chǔ)體塊;利用來自多個(gè)寄存器存儲(chǔ)體塊的第一寄存器存儲(chǔ)體塊來處理數(shù)據(jù);接收用于啟動(dòng)中斷事件的中斷請(qǐng)求;確定是否滿足所述中斷請(qǐng)求,并且,如果是的話,那么從多個(gè)寄存器存儲(chǔ)體塊選擇第二寄存器存儲(chǔ)體塊,所選擇的第二寄存器存儲(chǔ)體塊與所述第一寄存器存儲(chǔ)體塊相隔離;并且,利用來自多個(gè)寄存器存儲(chǔ)體塊的所述第二寄存器存儲(chǔ)體塊來處理數(shù)據(jù)。
依照本發(fā)明,提供了一種其上存儲(chǔ)有數(shù)據(jù)的存儲(chǔ)介質(zhì),所述數(shù)據(jù)用于實(shí)現(xiàn)處理系統(tǒng),包括第一指令數(shù)據(jù),用于提供多個(gè)寄存器存儲(chǔ)體塊;和第二指令數(shù)據(jù),用于提供寄存器存儲(chǔ)體塊譯碼器電路以便激活隔離的多個(gè)寄存器存儲(chǔ)體塊之一,所述寄存器存儲(chǔ)體塊譯碼器電路對(duì)中斷事件操作做出響應(yīng),以便選擇多個(gè)寄存器存儲(chǔ)體塊之一來激活,其中,不同的中斷事件操作導(dǎo)致選擇多個(gè)寄存器存儲(chǔ)體塊中不同的寄存器存儲(chǔ)體塊。
現(xiàn)在將結(jié)合下列附圖來描述本發(fā)明的示例性實(shí)施例,其中

圖1依照本發(fā)明第一實(shí)施例按照高級(jí)示了超大規(guī)模集成電路(very large scale integration,VLSI)外圍總線橋(VPB橋)。
圖2按照低級(jí)示了在圖1中所示出的VLSI外圍總線橋(VPB橋),其示出了構(gòu)成VPB橋的電路塊;圖3圖示了四個(gè)8位寄存器,例如Bank0寄存器VPBD0到VPBD3;圖4圖示了調(diào)試存儲(chǔ)體選擇(Debug Bank Select,DBSEL)寄存器,其中,提供DBSEL寄存器以便提高調(diào)試VPB數(shù)據(jù)寄存器存儲(chǔ)體的可見性;圖5圖示了在VPB橋內(nèi)使用的特殊函數(shù)寄存器(special functionregister,SFR)塊的高級(jí)圖;圖6圖示了寄存器存儲(chǔ)體塊,包括了例如對(duì)應(yīng)于Bank0到Bank5的寄存器VPBD0到VPBD5之類的六個(gè)8位數(shù)據(jù)寄存器以及輸入數(shù)據(jù)多路復(fù)用器(MUX);圖7圖示了包括VPB數(shù)據(jù)寄存器存儲(chǔ)體譯碼器的寄存器存儲(chǔ)體譯碼器電路;圖8圖示了用于譯碼ic_pri_top信號(hào)以便產(chǎn)生寄存器存儲(chǔ)體選擇信號(hào)的地址譯碼器電路;圖9圖示了用于產(chǎn)生pnres、pstb和pwrite控制信號(hào)的VPB橋控制塊電路;圖10圖示了VPB橋狀態(tài)機(jī)圖;和,圖11圖示了用于示出事件序列的流程圖,所述事件出現(xiàn)時(shí)使用VPB橋來執(zhí)行程序流。
圖1依照本發(fā)明第一實(shí)施例按照高級(jí)示了超大規(guī)模集成電路(very large scale integration,VLSI)外圍總線橋(VPB橋)100。處理器180或微控制器被耦合到VPB橋100以及存儲(chǔ)電路182,所述存儲(chǔ)電路182采用隨機(jī)存取存儲(chǔ)器(RAM)或外部高數(shù)據(jù)存儲(chǔ)器(high data memory,HDATA)的形式。放置在處理器內(nèi)的是多個(gè)通用的特殊函數(shù)寄存器(GSFR),所述特殊函數(shù)寄存器放置在通用的特殊函數(shù)寄存器(GSFR)塊181內(nèi)。在VPB橋上提供了第一多個(gè)輸入端口用于接收輸入信號(hào),并且在VPB橋上提供了第二多個(gè)輸出端口用于提供輸出信號(hào)。表1圖示了往返于VPB橋100所提供的輸入和輸出信號(hào)。
如圖1所圖示,兩個(gè)外圍裝置191和192被連接到32位外圍數(shù)據(jù)輸出總線pdo[31:0]152以及32位外圍數(shù)據(jù)輸入總線pdi[31:0]151。向第一外圍裝置191上的使能端口提供外圍0選擇信號(hào)psel0,并且向第二外圍裝置192上的使能端口提供外圍1選擇信號(hào)psel1。在表1中所列出的外圍選擇信號(hào)psel0到psel31用來有選擇地啟用和禁止外圍裝置191和192。在表1中總結(jié)了被提供往返于VPB橋100的輸入和輸出信號(hào)。



表1.被提供往返于VPB橋輸入和輸出信號(hào)盡管在表1中只列出了32個(gè)VPB外圍裝置選擇信號(hào),然而VPB橋并不只局限于32個(gè)外圍裝置選擇信號(hào),外圍裝置選擇信號(hào)的數(shù)目與設(shè)計(jì)選擇有關(guān)。
圖2圖示了在圖1中所示出的VPB橋100的低級(jí)圖。VPB橋100能夠把采用8位輸出多路復(fù)用器(MUX)111、112、113和114形式的多個(gè)輸出切換電路對(duì)接到32位外圍數(shù)據(jù)輸出總線pdo[31:0],所述32位外圍數(shù)據(jù)輸出總線pdo[31:0]耦合到外圍裝置191和192以便向其提供32位輸出信號(hào)。第一輸出MUX 111提供了第一組8個(gè)數(shù)據(jù)輸出位pdo[7:0],第二輸出MUX 112提供了第二組8個(gè)數(shù)據(jù)輸出位pdo[15:8],第三輸出MUX 113提供了第三組8個(gè)數(shù)據(jù)輸出位pdo[23:16],并且第四輸出MUX 114提供了第四組8個(gè)數(shù)據(jù)輸出位pdo[31:24]。第一到第四組8位數(shù)據(jù)輸出信號(hào)構(gòu)成向32位外圍裝置提供的32位數(shù)據(jù)輸出信號(hào)。同樣,外圍裝置向外圍數(shù)據(jù)輸入總線上的橋100提供了32位輸出信號(hào)pdi[31:0]。第一組8位輸入信號(hào)pdi[7:0]被提供到第一輸入MUX 131的輸入端口,第二組8位輸入信號(hào)pdi[15:8]被提供到第二輸入MUX 132的輸入端口,第三組8位輸入信號(hào)pdi[23:16]被提供到第三輸入MUX 133的輸入端口,并且第四組8位輸入信號(hào)pdi[31:24]被提供到第四輸入MUX 134的輸入端口。
屬于多個(gè)寄存器存儲(chǔ)體塊Bank0到Bank5的第一組六個(gè)8位寄存器120a到125a被耦合到以第一輸入MUX 131形式的第一輸入切換電路的六個(gè)8位輸出端口和第一輸出MUX 111的六個(gè)8位輸入端口之間。此第一組寄存器用于存儲(chǔ)從外圍數(shù)據(jù)輸入總線所接收的8位數(shù)據(jù)pdi[7:0]。
屬于多個(gè)寄存器存儲(chǔ)體塊Bank0到Bank5的第二組六個(gè)8位寄存器120b到125b被耦合到以第二輸入MUX 132形式的第二切換電路的六個(gè)8位輸出端口和第二輸出MUX 112的六個(gè)8位輸入端口之間。此第二組寄存器用于存儲(chǔ)從外圍數(shù)據(jù)輸入總線所接收的8位數(shù)據(jù)pdi[15:8]。
屬于多個(gè)寄存器存儲(chǔ)體塊Bank0到Bank5的第三組六個(gè)8位寄存器120c到125c被耦合到以第三輸入MUX 133形式的第三輸入切換電路的六個(gè)8位輸出端口和第三輸出MUX 113的六個(gè)8位輸入端口之間。此第三組寄存器用于存儲(chǔ)從外圍數(shù)據(jù)輸入總線所接收的8位數(shù)據(jù)pdi[23:16]。
屬于多個(gè)寄存器存儲(chǔ)體塊Bank0到Bank5的第四組六個(gè)8位寄存器120d到125d被耦合到以第四輸入MUX 134形式的第四輸入切換電路的六個(gè)8位輸出端口和第四輸出MUX 114的六個(gè)8位輸入端口之間。此第四組寄存器用于存儲(chǔ)從外圍數(shù)據(jù)輸入總線所接收的8位數(shù)據(jù)pdi[31:24]。寄存器120a、120b、120c和120d形成來自多個(gè)寄存器存儲(chǔ)體塊的第一寄存器存儲(chǔ)體塊120。寄存器121a、121b、121c和121d形成來自多個(gè)寄存器存儲(chǔ)體塊的第二寄存器存儲(chǔ)體塊121。寄存器122a、122b、122c和122d形成來自多個(gè)寄存器存儲(chǔ)體塊的第三寄存器存儲(chǔ)體塊122。寄存器123a、123b、123c和123d形成來自多個(gè)寄存器存儲(chǔ)體塊的第四寄存器存儲(chǔ)體塊123。寄存器124a、124b、124c和124d形成來自多個(gè)寄存器存儲(chǔ)體塊的第五寄存器存儲(chǔ)體塊124。寄存器125a、125b、125c和125d形成來自多個(gè)寄存器存儲(chǔ)體塊的第六寄存器存儲(chǔ)體塊125。
圖3圖示了四個(gè)8位寄存器,例如Bank0寄存器VPBD0到VPBD3,120a到120d。這些寄存器能夠使8位數(shù)據(jù)轉(zhuǎn)送到輸出MUX 111、112、113和114的輸入端口,并且能夠使32位數(shù)據(jù)轉(zhuǎn)送到連接到其輸出端口的外圍裝置。在輸出MUX輸出端口側(cè)上讀取或?qū)懭?2位數(shù)據(jù)分別在8位讀取或?qū)懭氩僮鞯?個(gè)步驟中執(zhí)行。圖4圖示了調(diào)試存儲(chǔ)體選擇(DBSEL)寄存器150,其中提供DBSEL寄存器150以便提高調(diào)試VPB數(shù)據(jù)寄存器存儲(chǔ)體Bank0到Bank5的可見性。優(yōu)選地是,當(dāng)調(diào)試中斷有效時(shí)此寄存器被讀取和寫入。
圖5圖示了在VPB橋100內(nèi)使用的特殊函數(shù)寄存器(SFR)塊501的高級(jí)圖。SFR塊501用于實(shí)現(xiàn)在寄存器存儲(chǔ)體Bank0到Bank5內(nèi)所使用的VPBD0、VPBD1、VPBD2、VPBD3寄存器。另外,SFR塊501用于實(shí)現(xiàn)DBSEL寄存器150。表2圖示了向SFR塊501提供的輸入和輸出信號(hào)。

表2.被提供往返于SFR塊的輸入和輸出信號(hào)輸入端口502用于接收數(shù)據(jù)寄存器存儲(chǔ)體選擇信號(hào)以便選擇要激活的寄存器存儲(chǔ)體從而對(duì)其進(jìn)行訪問。放置在SFR塊501內(nèi)的是第一到第四輸入MUX 131到134、第一到第四寄存器存儲(chǔ)體和第一到第四輸出MUX 111到114。
圖6圖示了寄存器存儲(chǔ)體塊601,包括,例如對(duì)應(yīng)于Bank0到Bank5的寄存器VPBD0到VPBD5之類的六個(gè)8位數(shù)據(jù)寄存器以及輸入數(shù)據(jù)MUX131(圖2);在VPB橋100內(nèi)使用四個(gè)寄存器存儲(chǔ)體塊601,每個(gè)寄存器存儲(chǔ)體塊601耦合到各自的數(shù)據(jù)輸出MUX。如圖2中所示,第一寄存器存儲(chǔ)體塊包括輸入MUX 131和Bank0到Bank5 VPBD0寄存器120a到125a。第二寄存器存儲(chǔ)體塊包括輸入MUX 132和Bank0到Bank5VPBD1寄存器120b到125b。第三寄存器存儲(chǔ)體塊包括輸入MUX 133和Bank0到Bank5 VPBD2寄存器120c到125c。第四寄存器存儲(chǔ)體塊包括輸入MUX 134和Bank0到Bank5 VPBD3寄存器120d到125d。第一到第四寄存器存儲(chǔ)體塊分別耦合到數(shù)據(jù)輸出MUX 111、112、113和114的第一到第四輸入端口。在表3中總結(jié)了被提供往返于單個(gè)寄存器存儲(chǔ)體的輸入和輸出信號(hào)。


表3.被提供往返于單個(gè)寄存器存儲(chǔ)體的輸入和輸出信號(hào)圖7圖示了包括VPB數(shù)據(jù)寄存器存儲(chǔ)體譯碼器140的寄存器存儲(chǔ)體塊譯碼器電路701。寄存器存儲(chǔ)體塊譯碼器電路701對(duì)中斷事件操作做出響應(yīng)以便選擇多個(gè)寄存器存儲(chǔ)體塊之一來激活,其中,不同的中斷事件操作導(dǎo)致選擇多個(gè)寄存器存儲(chǔ)體塊中不同的寄存器存儲(chǔ)體塊。此外,寄存器存儲(chǔ)體塊譯碼器電路701作為中斷優(yōu)先權(quán)確定邏輯電路起作用,所述中斷優(yōu)先權(quán)確定邏輯電路接收中斷請(qǐng)求并且確定中斷請(qǐng)求的優(yōu)先權(quán)。根據(jù)所確定的優(yōu)先權(quán),寄存器存儲(chǔ)體譯碼器電路701向來自多個(gè)存儲(chǔ)體選擇輸入端口602的、各自的存儲(chǔ)體選擇輸入端口602a到602f提供寄存器存儲(chǔ)體塊選擇信號(hào)bank0_sel、bank1_sel、bank2_sel、bank3_sel、bank4_sel和bank5_sel。參照表4,總結(jié)了被提供往返于寄存器存儲(chǔ)體譯碼器電路的輸入和輸出信號(hào)。

表4.被提供往返于寄存器存儲(chǔ)體譯碼器電路的輸入和輸出信號(hào)寄存器存儲(chǔ)體譯碼器電路701譯碼ic_pri_top信號(hào)以便在寄存器存儲(chǔ)體選擇輸出端口702產(chǎn)生寄存器存儲(chǔ)體選擇信號(hào)。這些寄存器存儲(chǔ)體選擇輸出端口702被耦合到SFR塊501的寄存器選擇輸入端口502。此電路702還檢測(cè)調(diào)試中斷級(jí)并且如果設(shè)置了dbsel_en信號(hào)那么使用dbsel_pri輸入信號(hào)來產(chǎn)生選擇信號(hào)。
圖8圖示了用于譯碼ic_pri_top信號(hào)以便產(chǎn)生寄存器存儲(chǔ)體選擇信號(hào)的地址譯碼器電路801。在表5中總結(jié)了被提供往返于地址譯碼器電路801的輸入和輸出信號(hào)。


表5.被提供往返于地址譯碼器電路的輸入和輸出信號(hào)圖9圖示了用于產(chǎn)生pnres、pstb和pwrite控制信號(hào)的VPB控制塊電路;表6總結(jié)了被提供往返于VPB控制塊電路901的輸入和輸出信號(hào)。

表6.被提供往返于VPB地址譯碼器電路的輸入和輸出信號(hào)返回參照?qǐng)D1和2,在4個(gè)步驟——4個(gè)8位寫入操作中,執(zhí)行向輸出MUX的輸入端口寫入32位數(shù)據(jù)的過程。在4個(gè)步驟——4個(gè)8位讀取操作中,執(zhí)行從數(shù)據(jù)輸入MUX的輸出端口讀取32位數(shù)據(jù)的過程。有益地是,這些操作可在任何步驟期間內(nèi)被中斷,這是因?yàn)槊總€(gè)中斷級(jí)都具有VPBD0-VPBD3寄存器的私有存儲(chǔ)體。在任何給定時(shí)間,本示例性實(shí)施例中優(yōu)選最大有6個(gè)中斷級(jí)可被激活。在寄存器的存儲(chǔ)體之間的切換由中斷優(yōu)先級(jí)信號(hào)(ic_pri_top)和DBSEL SFR 150控制。
圖10圖示了VPB橋狀態(tài)機(jī)圖,其中,當(dāng)滿足下列關(guān)系時(shí)使用VPB橋來轉(zhuǎn)送數(shù)據(jù)xfer_start<=mx1_vpb_acc AND((NOT mx1_id_xdrd_n)OR(NOT mx1_id_xdwr_n))當(dāng)xfer_start=0時(shí),VPB橋100保持空閑,步驟1001,一旦xfer_start=1,就執(zhí)行設(shè)置操作,其中,選擇輸出信號(hào)和用于接收輸入信號(hào)的端口,在步驟1002。一旦完成設(shè)置,就提供選通信號(hào),步驟1003,并且從VPB橋100提供輸出信號(hào)并且由所述VPB橋接收輸入信號(hào)。此后,VPB橋100返回到空閑狀態(tài),步驟1001。
參照?qǐng)D11,示出了用于圖示事件序列的流程圖,所述事件出現(xiàn)時(shí)使用VPB橋來執(zhí)行程序流。處理器180用來執(zhí)行每個(gè)程序流。在步驟1101,第N個(gè)VPB外圍裝置使用寄存器的第N個(gè)存儲(chǔ)體來開始執(zhí)行具有第N個(gè)中斷優(yōu)先權(quán)的第N個(gè)程序流。在步驟1102,由第(N+1)個(gè)VPB外圍裝置進(jìn)行請(qǐng)求以便執(zhí)行具有第(N+1)個(gè)優(yōu)先權(quán)的第(N+1)個(gè)程序流從而中斷第N個(gè)程序流。在步驟1103,確定第(N+1)個(gè)程序流的優(yōu)先權(quán)是否高于第N個(gè)程序流。在步驟1104,如果是的話,那么由處理器180處理程序流被中斷,并且寄存器的第(N+1)個(gè)存儲(chǔ)體被切換耦合到所述處理器以便處理第(N+1)個(gè)程序流。在步驟1105,使用寄存器的第(N+1)個(gè)存儲(chǔ)體開始處理第(N+1)個(gè)程序流。在步驟1106,現(xiàn)在由第(N+2)個(gè)VPB外圍裝置進(jìn)行請(qǐng)求以便執(zhí)行具有第(N+2)個(gè)優(yōu)先權(quán)的第(N+2)個(gè)程序流從而中斷第(N+1)個(gè)程序流。在步驟1107,確定第(N+2)個(gè)程序流的優(yōu)先權(quán)是否高于第(N+1)個(gè)程序流。在步驟1108,如果是的話,那么第(N+1)個(gè)程序流的處理被中斷,并且寄存器的第(N+2)個(gè)存儲(chǔ)體被提供到處理器以便處理第(N+2)個(gè)程序流。然后,在步驟1109,處理器180使用寄存器的第(N+2)個(gè)存儲(chǔ)體來處理第(N+2)個(gè)程序流。一旦在步驟1110,完成第(N+2)個(gè)程序流的處理,那么在步驟1111,處理器被切換到第(N+1)個(gè)寄存器存儲(chǔ)體,并且在步驟1112,完成第(N+1)個(gè)程序流的處理。此后,在步驟1113,切換到第N個(gè)寄存器存儲(chǔ)體,并且在步驟1114,完成第N個(gè)程序流的處理。
因而,如果存在N個(gè)中斷優(yōu)先級(jí)那么提供N+1個(gè)寄存器存儲(chǔ)體塊,這還包括沒有中斷是有效的情況。如果VPB外圍裝置正執(zhí)行向或從存儲(chǔ)體寄存器轉(zhuǎn)送數(shù)據(jù)并且出現(xiàn)較高優(yōu)先權(quán)的中斷進(jìn)而被接受,那么使不同組的寄存器存儲(chǔ)體可對(duì)中斷程序流,也即,第二程序流進(jìn)行訪問。出現(xiàn)這些中斷并且提供新的寄存器存儲(chǔ)體直到最大中斷優(yōu)先權(quán)。一旦最高優(yōu)先權(quán)程序流完成,那么下一較低優(yōu)先權(quán)程序流旨在繼續(xù)進(jìn)行直到完成,或再次被較高中斷優(yōu)先權(quán)程序流中斷。因而,對(duì)于任何中斷序列使VPB外圍信息轉(zhuǎn)送的完成便于進(jìn)行,而不要求任何中斷例程存儲(chǔ)并還原任何SFR信息。
對(duì)于所圖示的示例性體系結(jié)構(gòu),在任何時(shí)間優(yōu)選地是,有效的中斷級(jí)的最大數(shù)目不超過6。每個(gè)中斷級(jí)都具有為該中斷所專用的VPBD0-VPBD3寄存器的私有存儲(chǔ)體。通過實(shí)現(xiàn)不同的寄存器存儲(chǔ)體由不同的中斷程序流來使用,來消除在中斷處理機(jī)中的保存并還原寄存器的操作。這就節(jié)省了寶貴的處理資源并且提供了低能耗——因?yàn)槊慨?dāng)執(zhí)行存儲(chǔ)和還原操作時(shí),邏輯門都被啟用和禁止,從而浪費(fèi)了電能。這就是說,用于存儲(chǔ)并還原寄存器的處理時(shí)間越快,處理系統(tǒng)耗能就越多。
當(dāng)然,對(duì)于系統(tǒng)調(diào)試目的,當(dāng)調(diào)試模式有效時(shí),所有寄存器存儲(chǔ)體都是可訪問的。通過設(shè)置在DBSEL寄存器150中的位D3、EN。DBSEL寄存器的位D0-D2用來選擇存儲(chǔ)體。有益地是,VPB橋100實(shí)現(xiàn)3個(gè)時(shí)鐘VPB總線周期并且不支持“perr”和“prdy”信號(hào)。向每個(gè)VPB外圍分配存儲(chǔ)電路182內(nèi)的存儲(chǔ)空間。沒有通過所述橋來路由VPB外圍的地址線和時(shí)鐘信號(hào)。存儲(chǔ)器地址線(mx1_acu_xadr[13:0])被直接連接到外圍地址線路(pa[13:0])。CPU時(shí)鐘(mx1_clk)被直接連接到外圍時(shí)鐘(pclk)。對(duì)于所示出的當(dāng)前實(shí)現(xiàn)方式,VPB橋100可支持多達(dá)32個(gè)外圍裝置。當(dāng)然,通過修改VPB地址譯碼器801,VPB橋可擴(kuò)展為供任意數(shù)目的VPB外圍裝置使用。
本發(fā)明的上述實(shí)施例使中斷程序流免于存儲(chǔ)并還原任何VPB外圍訪問的內(nèi)容,所述訪問也許在所述中斷程序流被指引來中斷并開始執(zhí)行之前就已經(jīng)發(fā)生了。結(jié)果,節(jié)省了處理時(shí)間以及代碼空間。編譯器也不必包括用于保存并還原SFR內(nèi)容的指令代碼,因而簡化了編譯器設(shè)計(jì)并且在所編譯的程序流中利用更少的指令。
在本發(fā)明示例性實(shí)施例中所示出的VPB橋100適用供那些本領(lǐng)域技術(shù)人員已知的8051處理器核心使用,在這種情況下,8051微控制器典型地運(yùn)用4個(gè)中斷優(yōu)先級(jí)。例如,在由飛利浦半導(dǎo)體公司所制造的80C51MX1核心微控制器體系結(jié)構(gòu)內(nèi)使用VBO橋100。當(dāng)然,所述VPB橋100適用于許多其它處理器體系結(jié)構(gòu)。
選擇性地,寄存器存儲(chǔ)體塊譯碼器電路140還包括電路140a,用于存儲(chǔ)并獲取從先前中斷切換狀態(tài)的寄存器存儲(chǔ)體塊選擇信號(hào)而導(dǎo)出的寄存器存儲(chǔ)體塊選擇數(shù)據(jù),其中,當(dāng)終止中斷事件時(shí),向輸入切換電路和輸出切換電路提供從所存儲(chǔ)的存儲(chǔ)體塊選擇數(shù)據(jù)而導(dǎo)出的先前中斷寄存器存儲(chǔ)體塊選擇信號(hào)。
在不脫離本發(fā)明精神或范圍的情況下,可以設(shè)計(jì)出許多其它的實(shí)施例。
權(quán)利要求
1.一種系統(tǒng),包括處理器(180);多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125);和寄存器存儲(chǔ)體塊譯碼器電路(140),用于激活多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)中的當(dāng)且僅當(dāng)一個(gè),所述寄存器存儲(chǔ)體塊譯碼器電路(140)對(duì)中斷事件操作做出響應(yīng)以便選擇多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)之一來激活,其中不同的中斷事件操作導(dǎo)致選擇多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)中不同的寄存器存儲(chǔ)體塊。
2.如權(quán)利要求1所述的系統(tǒng),包括存儲(chǔ)電路(182),用于存儲(chǔ)第一程序數(shù)據(jù)并且用于存儲(chǔ)與第二中斷優(yōu)先權(quán)相關(guān)聯(lián)的第二程序數(shù)據(jù),其中所述處理器(180)用于在執(zhí)行所述第一程序流期間利用來自多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)的第一寄存器存儲(chǔ)體塊(120),并且當(dāng)出現(xiàn)由與所述第二程序流相關(guān)聯(lián)的中斷事件所產(chǎn)生的中斷時(shí),用于利用所述第二寄存器存儲(chǔ)體塊(121)來執(zhí)行所述第二程序流,所述第二寄存器存儲(chǔ)體塊(121)與第一寄存器存儲(chǔ)體塊(120)不同并且邏輯上相互隔離。
3.如權(quán)利要求2所述的系統(tǒng),其中所述第二程序流具有高于所述第一程序流的中斷優(yōu)先權(quán)。
4.如權(quán)利要求1所述的系統(tǒng),包括輸入數(shù)據(jù)總線(151);和輸入切換電路(131,132,133,134),耦合到多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)且具有用于接收來自所述寄存器存儲(chǔ)體塊譯碼器電路(140)的寄存器存儲(chǔ)體選擇信號(hào)的選擇輸入端口,所述輸入切換電路(131,132,133,134)用于根據(jù)所述寄存器存儲(chǔ)體選擇信號(hào)來激活多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)之一,所述多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)中所激活的那一個(gè)被耦合到所述輸入數(shù)據(jù)總線(151)。
5.如權(quán)利要求4所述的系統(tǒng),其中所述輸入切換電路(131,132,133,134)是多路復(fù)用電路。
6.如權(quán)利要求4所述的系統(tǒng),包括輸出數(shù)據(jù)總線(152);和,輸出切換電路(111,112,113,114),耦合到多個(gè)寄存器存儲(chǔ)體塊且具有用于接收來自所述寄存器存儲(chǔ)體塊譯碼器電路(140)的寄存器存儲(chǔ)體選擇信號(hào)的選擇輸入端口,所述輸出切換電路(111,112,113,114)用于可切換地把多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)中所激活的那一個(gè)耦合到所述輸出數(shù)據(jù)總線(152)。
7.如權(quán)利要求6所述的系統(tǒng),其中所述輸出切換電路(111,112,113,114)是多路復(fù)用電路。
8.如權(quán)利要求6所述的系統(tǒng),包括電路(140a),所述電路(140a)用于存儲(chǔ)并獲取從先前中斷切換狀態(tài)的寄存器存儲(chǔ)體塊選擇信號(hào)而導(dǎo)出的存儲(chǔ)體塊選擇數(shù)據(jù),其中,當(dāng)終止中斷事件時(shí),向所述輸入切換電路(131,132,133,134)和輸出切換電路(111,112,113,114)提供從所存儲(chǔ)的存儲(chǔ)體塊選擇數(shù)據(jù)而導(dǎo)出的先前中斷寄存器存儲(chǔ)體塊選擇信號(hào)。
9.如權(quán)利要求8所述的系統(tǒng),其中用于存儲(chǔ)并獲取寄存器存儲(chǔ)體塊選擇信號(hào)的電路(140a)的狀態(tài)是基于中斷優(yōu)先權(quán)的。
10.如權(quán)利要求6所述的系統(tǒng),其中所述寄存器存儲(chǔ)體塊選擇信號(hào)是僅僅基于中斷優(yōu)先權(quán)的。
11.如權(quán)利要求1所述的系統(tǒng),其中來自多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)的第一寄存器存儲(chǔ)體塊(120)與來自多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)的第二不同的寄存器存儲(chǔ)體塊(121,122,123,124,125)一起被同時(shí)啟用,所述第二不同的寄存器存儲(chǔ)體塊(121,122,123,124,125)可獨(dú)立于所述第一寄存器存儲(chǔ)體塊(120)尋址。
12.如權(quán)利要求1所述的系統(tǒng),包括耦合到所述寄存器存儲(chǔ)體塊譯碼器電路(140)的調(diào)試存儲(chǔ)體選擇寄存器(150),所述調(diào)試存儲(chǔ)體選擇寄存器(150)用于在調(diào)試步驟期間提供對(duì)在多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)內(nèi)所存儲(chǔ)的數(shù)據(jù)的訪問。
13.一種用于在數(shù)據(jù)處理系統(tǒng)中切換處理資源的方法,包括步驟提供多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125);利用(1101)來自多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)的第一寄存器存儲(chǔ)體塊(120)來處理數(shù)據(jù);接收(1102)用于啟動(dòng)中斷事件的中斷請(qǐng)求;確定(1103)所述中斷請(qǐng)求是否被滿足,并且,如果是的話,那么從多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)選擇(1104)第二寄存器存儲(chǔ)體塊(121),所選擇的第二寄存器存儲(chǔ)體塊(121)與所述第一寄存器存儲(chǔ)體塊(120)隔離;并且,利用(1105)來自多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)的第二寄存器存儲(chǔ)體塊(121)來處理數(shù)據(jù)。
14.如權(quán)利要求13所述的方法,其中提供第一程序流來利用所述第一寄存器存儲(chǔ)體塊(120),并且提供第二程序流來利用所述第二寄存器存儲(chǔ)體塊(121)。
15.如權(quán)利要求14所述的方法,所述第一程序流具有低于所述第二程序流的中斷優(yōu)先權(quán),所述中斷優(yōu)先權(quán)用在確定(1103)是否滿足中斷請(qǐng)求的步驟中。
16.如權(quán)利要求14所述的方法,包括步驟提供處理器(180)來執(zhí)行所述第一和第二程序流。
17.如權(quán)利要求16所述的方法,包括步驟暫停(1112)所述第二程序流的執(zhí)行;選擇(1113)所述第一寄存器存儲(chǔ)體塊;并且,恢復(fù)(1114)所述第一程序流的執(zhí)行。
18.如權(quán)利要求17所述的方法,其中在不改變由所述第一程序流掛起使用的第一寄存器存儲(chǔ)體塊(120)內(nèi)容的情況下,執(zhí)行所述第二程序流的指令。
19.如權(quán)利要求13所述的方法,包括步驟提供具有第一存儲(chǔ)器區(qū)域的存儲(chǔ)電路(182),所述第一存儲(chǔ)器區(qū)域用于存儲(chǔ)與所述第一程序流相關(guān)的程序流數(shù)據(jù)。
20.如權(quán)利要求14所述的方法,其中,第一和第二程序流之中還存儲(chǔ)了用于存儲(chǔ)并還原寄存器存儲(chǔ)體塊(120,121,122,123,124,125)內(nèi)容的指令數(shù)據(jù)。
21.一種其上存儲(chǔ)有數(shù)據(jù)的存儲(chǔ)介質(zhì),所述數(shù)據(jù)用于實(shí)現(xiàn)處理系統(tǒng),所述數(shù)據(jù)包括第一指令數(shù)據(jù),用于提供多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125);和,第二指令數(shù)據(jù),用于提供寄存器存儲(chǔ)體塊譯碼器電路(140)以便激活隔離的多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)之一,所述寄存器存儲(chǔ)體塊譯碼器電路(140)對(duì)中斷事件操作做出響應(yīng)以便選擇多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)之一來激活,其中不同的中斷事件操作導(dǎo)致選擇多個(gè)寄存器存儲(chǔ)體塊(120,121,122,123,124,125)中不同的寄存器存儲(chǔ)體塊。
全文摘要
典型情況下,對(duì)于處理系統(tǒng)來說,必須保證在第一程序流恢復(fù)執(zhí)行之前,還原所有被中斷的程序流參數(shù)。如果在此轉(zhuǎn)送期間出現(xiàn)中斷,那么可能無法存儲(chǔ)或還原所有數(shù)據(jù)。如果沒能無差錯(cuò)地存儲(chǔ)程序寄存器內(nèi)容及其它臨界的第一程序流數(shù)據(jù),那么處理器(180)沒辦法得知被還原到寄存器的第一程序流數(shù)據(jù)是否被破壞。因而,提供了新穎的寄存器體系結(jié)構(gòu)(120,121,122,123,124,125)以便于在不存儲(chǔ)并還原被中斷的程序流的臨界數(shù)據(jù)的情況下,處理所中斷的程序流。
文檔編號(hào)G06F9/46GK1829971SQ200480022180
公開日2006年9月6日 申請(qǐng)日期2004年7月29日 優(yōu)先權(quán)日2003年7月30日
發(fā)明者P·什里瓦斯塔瓦, G·古德赫, A·坎, Z·丁, C·麥肯納 申請(qǐng)人:皇家飛利浦電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
三河市| 黄梅县| 台北市| 湖南省| 高要市| 错那县| 新和县| 沈丘县| 镇平县| 新田县| 富蕴县| 土默特右旗| 淳化县| 汝南县| 贵定县| 南乐县| 和田市| 铜梁县| 仁怀市| 化隆| 三门县| 汤原县| 宜川县| 棋牌| 新龙县| 尼勒克县| 安阳市| 凌源市| 凤冈县| 静乐县| 邻水| 乃东县| 肥城市| 嘉义市| 扶风县| 兴城市| 紫金县| 来安县| 英超| 大余县| 静宁县|