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

微處理器芯片上的堆棧式超高速緩沖存儲(chǔ)器的制作方法

文檔序號(hào):109571閱讀:305來源:國知局
專利名稱:微處理器芯片上的堆棧式超高速緩沖存儲(chǔ)器的制作方法
本發(fā)明涉及數(shù)據(jù)處理系統(tǒng),更確切地說是關(guān)于在執(zhí)行調(diào)用/返回指令期間,用以使對(duì)主存儲(chǔ)器初始訪問減至最小的裝置。
超大規(guī)模集成電路工藝及其設(shè)計(jì)技術(shù)的迅速進(jìn)步,已經(jīng)能使微型機(jī)接近超小型計(jì)算機(jī)的性能。由于處理器速度的提高,處理器與片外主存儲(chǔ)器通信量的增加,在性能上導(dǎo)致了阻塞問題的發(fā)生。在現(xiàn)有系統(tǒng)中,這種阻塞問題是運(yùn)用局部的片內(nèi)存儲(chǔ)器(稱為超高速緩沖存儲(chǔ)器)來貯存頻繁使用的存貯器數(shù)據(jù)而得以減小的。如果處理器所需數(shù)據(jù)貯存在超高速緩沖存儲(chǔ)器內(nèi),則因?yàn)閿?shù)據(jù)可直接從超高速緩沖存儲(chǔ)器中取出來,從而可避免訪問片外存儲(chǔ)器。如果超高速緩沖存儲(chǔ)器的設(shè)計(jì)能擴(kuò)展到包含某些取出指令,則還可以進(jìn)一步減少存儲(chǔ)器內(nèi)的通信量。例如,如果有關(guān)調(diào)用和返回操作指令的信息能夠局部地在芯片上得到,則無需訪問片外存儲(chǔ)器,就可以執(zhí)行調(diào)用和返回操作指令。存儲(chǔ)器總線通信量的減少,其結(jié)果也會(huì)減少裝入或貯存指令必須等待存儲(chǔ)器總線的可能性。
本發(fā)明的目的在于提供一種裝置,以便使在執(zhí)行調(diào)用/返回指令期間發(fā)生的對(duì)主存儲(chǔ)器的訪問減少到最小的程度。
簡而言之,根據(jù)本發(fā)明,上述目的是通過在微處理器芯片上提供一種多元全局寄存器來實(shí)現(xiàn)的。該全局寄存器之一是一個(gè)裝有當(dāng)前幀指示字的幀指示字寄存器。其余全局寄存器則作為通用寄存器供現(xiàn)行處理過程使用。堆棧幀式超高速緩沖存儲(chǔ)器的結(jié)構(gòu),包含一個(gè)由多元寄存器組成的寄存器組組合,其中每一個(gè)寄存器組則由一些芯片上的寄存器組成。當(dāng)一個(gè)調(diào)用指令被譯碼時(shí),寄存器組組合中的一個(gè)寄存器組被分配給所調(diào)用的程序,并且?guī)甘咀旨拇嫫鞅怀跏蓟?而當(dāng)返回指令被譯碼時(shí),該寄存器組則被釋放,以便供給由后來的調(diào)用指令所調(diào)用的另一個(gè)程序使用。如果寄存器組組合全部用完,寄存器組中與前一個(gè)程序有關(guān)的寄存內(nèi)容被貯存到主存儲(chǔ)器中,而相應(yīng)的寄存器組被分配給現(xiàn)行的程序。
按照本發(fā)明的目標(biāo),與程序有關(guān)的寄存器組中的局部寄存器內(nèi)含有包括一個(gè)關(guān)于前一幀的指示字和一個(gè)指令指示字的連接信息,于是,對(duì)片外貯存器無需任何訪問就能執(zhí)行大多數(shù)的調(diào)用和返回操作指令。
本發(fā)明優(yōu)越性在于,當(dāng)子程序邊界交叉時(shí),以往那些必須做的對(duì)寄存器貯存和恢復(fù)工作可大大減少。
本發(fā)明的優(yōu)越性還在于,由于局部寄存器組被映入堆棧幀中,通常出現(xiàn)在堆棧幀中的連接信息(如關(guān)于前一幀的指示字,所保存的指令指示字)被裝入局部寄存器之內(nèi)。這就意味著,在執(zhí)行大多數(shù)調(diào)用和返回指令時(shí),不會(huì)引起對(duì)片外存儲(chǔ)器任何訪問。
本發(fā)明上述及其它目的、特點(diǎn)、優(yōu)點(diǎn),從下面如附圖所示的那些本發(fā)明最佳實(shí)施例的更具體描述中,將會(huì)更加明白。
圖1是功能性框圖,用以說明本發(fā)明所包括的微處理器的各個(gè)主要單元;
圖2是在圖1所示的系統(tǒng)中執(zhí)行一條指令時(shí)的熱行環(huán)境框圖;
圖3是堆棧幀結(jié)構(gòu)圖,堆棧幀在圖2所示執(zhí)行環(huán)境的現(xiàn)行線地址空間中;
圖4是調(diào)用堆棧結(jié)構(gòu)圖,調(diào)用堆棧結(jié)構(gòu)圖在圖2所示執(zhí)行環(huán)境的現(xiàn)行線性地址空間中;
圖5是微處理器寄存器組在存儲(chǔ)器程序堆棧中的映象說明。
參見附圖1,微處理器在邏輯上可以細(xì)分成七個(gè)主要單元指令取出單元(10),指令譯碼器(12),微指令序列發(fā)生器(14),轉(zhuǎn)換后備緩沖器(18),浮點(diǎn)單元(22),局部總線序列發(fā)生器(20),和整數(shù)執(zhí)行單元(24)。
所有這些單元之間的通信通道包括32位的數(shù)據(jù)總線、29位微指令總線(26)和微指令有效信號(hào)(28)。這指令總線控制各獨(dú)立單元的活動(dòng)且使它們同步。各個(gè)單元簡要敘述如下。
指令譯碼器(ID)對(duì)指令(宏代碼)進(jìn)行譯碼并控制其執(zhí)行。ID對(duì)指令進(jìn)行譯碼,完成操作數(shù)尋址和取出,處理轉(zhuǎn)移指令(即指令指示字的操作),并且發(fā)出執(zhí)行微指令(對(duì)簡單指令)或者啟動(dòng)微程序(對(duì)復(fù)雜指令)。
取指令單元(IFU)從存儲(chǔ)器中取、預(yù)取及超高速緩存指令以便供ID使用。IFU還能保持六個(gè)指令指示字,這些指示字可跟蹤那些通過流水線的指令。IFU超高速緩存最新用到的指令塊,并保持指令譯碼器由指令流來供給。它還含有指令指示字和操作數(shù),從而減少ID的邏輯控制。
微指令序列發(fā)生器(MIS)對(duì)微代碼流定序,以便處理芯片初始化,微指令(由于太復(fù)雜而不能直接處理)、以及異常和中斷情況。
MIS中裝有3K的42位微代碼只讀存儲(chǔ)器(ROM)和關(guān)于微代碼流的定序邏輯。MIS實(shí)現(xiàn)的功能包括取出下一個(gè)微指令,微程序的轉(zhuǎn)移,處理異常情況,維持寄存器堆上的標(biāo)記以及和ID一起,測(cè)試微指令邊界和跟蹤偶然事件。
整數(shù)執(zhí)行單元(IEU)執(zhí)行ID和MIS發(fā)出的大多數(shù)微指令。它包括程序員可見的寄存器、微代碼使用的暫時(shí)寄存器,運(yùn)算器(ALU),桶形移位器、以及執(zhí)行它的指令所需的邏輯。該IEU內(nèi)含有112個(gè)32位寄存器、一個(gè)32位的ALU、和一個(gè)32位的桶形移位器。它以旁通ALU為特色,允許ALU以每個(gè)周期一次的速率執(zhí)行操作。整數(shù)執(zhí)行單元還包括一個(gè)單一端口的寄存器堆,該單一端口寄存器堆在一個(gè)周期內(nèi)可被存取兩次,以使前一操作的結(jié)果能在同一周期內(nèi)被貯存起來,而作為新的操作數(shù)被取出供現(xiàn)行操作使用。
浮點(diǎn)單元(FPU)包括完成浮點(diǎn)運(yùn)算和整數(shù)乘除所需要的邏輯。FPU含有4個(gè)浮點(diǎn)寄存器,若干個(gè)暫時(shí)器,一個(gè)68位移位器(可以在兩個(gè)方向的任何一個(gè)方向上移位16位),一個(gè)69位的尾數(shù)加法器,有效位校驗(yàn)器,一個(gè)尾數(shù)ROM、兩個(gè)68信內(nèi)部數(shù)據(jù)通道,以及一個(gè)為單獨(dú)的階數(shù)通道(其中包括它本身的16位加法器和寄存器)。浮點(diǎn)單元執(zhí)行整數(shù)乘、除以及包括超越指令的編碼(Cordic)算法在內(nèi)的其它浮點(diǎn)運(yùn)算。
轉(zhuǎn)換后備緩沖器(TLB)實(shí)現(xiàn)虛擬存貯機(jī)構(gòu)所需要的地址轉(zhuǎn)換。TLB利用與貯存描述符相關(guān)的表和入口頁碼表來實(shí)行地轉(zhuǎn)換和存儲(chǔ)器保護(hù)。它含有一個(gè)48位入口地址超高速緩沖存儲(chǔ)器、一個(gè)6位地址加法器、和存儲(chǔ)器保護(hù)檢驗(yàn)硬件。在地址超高速緩沖存儲(chǔ)器中的每個(gè)入口都裝有27個(gè)內(nèi)容定址存儲(chǔ)器(CAM)位和38個(gè)隨機(jī)存取存儲(chǔ)器(RAM)位。TLB支持若干地址轉(zhuǎn)換方式以便允許用戶從各種各樣的常規(guī)方式(頁式或段式)中選擇存儲(chǔ)器保護(hù)類型。
局部總線序列發(fā)生器對(duì)外部總線的存取進(jìn)行輸送并定序。它包括同外部局部總線接口的硬件,管理總線的約定,和識(shí)別外部異常(即中斷,初始化)。局部總線序列發(fā)生器包含一個(gè)33位寬地址和數(shù)據(jù)輸出FIFO、一個(gè)33位數(shù)據(jù)輸入,和一個(gè)定序器、輸出FIFO允許多至3個(gè)請(qǐng)求在局部總線定序器內(nèi)被排隊(duì),致使處理器的其余請(qǐng)求能夠繼續(xù)執(zhí)行下去(與存儲(chǔ)器存取等待時(shí)間無關(guān))。輸入FIFO緩沖器從外存儲(chǔ)器讀取數(shù)據(jù),直到空閑周期可用來將數(shù)據(jù)傳送到目的地為止。
本發(fā)明提供一種多元全局寄存器(21)。全局寄存器中的一個(gè)是含有現(xiàn)行幀指示字的幀指示字寄存器,其余的則作為一般寄存器供現(xiàn)行處理使用。所提供的超高速緩存(堆棧幀)寄存器,包含一個(gè)由多元寄存器組組成的寄存器組組合,其中每個(gè)寄存器組則由一些局部寄存器組成。當(dāng)一個(gè)調(diào)用指令被譯碼時(shí),寄存器組組合中的一個(gè)寄存器組分配給所調(diào)用的程序,而幀指示字寄存器被初始化。當(dāng)返回指令被譯碼時(shí),該寄存器組被釋放以便分配后來的調(diào)用指令所調(diào)用指令所調(diào)用的程序。如果寄存器組組合全部用盡,則同前一程序有關(guān)的寄存器組的內(nèi)容被貯存在主存儲(chǔ)器里,而該寄存器組被分配給現(xiàn)行程序。與程序有關(guān)的寄存器組中那些局部寄存器裝有包含前一幀指示字和指令指示字的連接信息,因此,無需對(duì)片外存儲(chǔ)器作任何訪向,大多數(shù)調(diào)用和返回指令就能被執(zhí)行。
指令組一個(gè)過程查看平面線性地址空間(用32位序數(shù)編址),從中分配數(shù)據(jù),指令和堆??臻g。一個(gè)調(diào)用指令在順序分配的堆棧上,建立一個(gè)新的堆棧幀(活動(dòng)記錄)。
微處理器的指令組在設(shè)計(jì)上同RISC(縮減指令組計(jì)算機(jī))的指令組相似。所有指令都是32位長,并且都必須沿著字邊界定位,其中僅裝入,貯存和轉(zhuǎn)移指令需訪問存儲(chǔ)器(而其他指令則訪問寄存器)。
參見附圖2,該圖表示執(zhí)行時(shí)的環(huán)境。執(zhí)行環(huán)境由2**32字節(jié)的線性地址空間(30)和36個(gè)寄存器組成。在這36個(gè)寄存器之中,16個(gè)是32位全局寄存部(32),16個(gè)是32位的局部寄存器(34),共余4個(gè)是80位的浮點(diǎn)寄存器(36)。局部寄存器與作為堆棧幀式超高速緩沖存儲(chǔ)器的裝置有關(guān)系。當(dāng)一個(gè)程序被調(diào)用時(shí),一組新的局部寄存器組從芯片上的寄存器組組合中被分配給這一程序使用,并在程序返回時(shí)釋放,本發(fā)明的實(shí)施例在芯片上提供了4組(64)局部寄存器,但是這一數(shù)目對(duì)程序人員是透明的。
寄存器模型是由16個(gè)全局寄存器和4個(gè)浮點(diǎn)寄存器(跨越程序邊界這些寄存器被保持),16個(gè)局部(或幀式)寄存器組(它們結(jié)合在一起被映入各堆棧幀)。
在任何情況下,指令均可對(duì)下列36個(gè)寄存器尋址寄存器類型 寄存器名稱全局寄存器 G0……G15浮點(diǎn)寄存器(浮點(diǎn)操作數(shù)) FP10……FP13
局部寄存器 L0……L15任何時(shí)刻,人們都可以對(duì)32個(gè)32位的寄存器和4個(gè)80位的浮點(diǎn)寄存器尋址(這些32位的寄存器也可以用來保存浮點(diǎn)數(shù)值)。32個(gè)寄存器之中,16個(gè)是全局寄存器,16個(gè)是局部寄存器。其差別在于,當(dāng)跨越程序邊界時(shí),16個(gè)全局寄存器不受影響(即它們的性能就象其它處理器中的“正常的”寄存器一樣),而局部寄存器則受調(diào)用和返回指令的影響。
當(dāng)一個(gè)調(diào)用指令被執(zhí)行時(shí),處理器從芯片上的4個(gè)寄存器組組合中分配一組新的16個(gè)局部寄存器組給所調(diào)用的程序。如果處理器的4組組合被用完,則處理器自動(dòng)地重新分配寄存器組,其辦法是選出一組同早先的程序有關(guān)的寄存器組并且將其內(nèi)容貯存在存儲(chǔ)器中。那個(gè)早先程序所用的寄存器中的內(nèi)容,被貯存在存儲(chǔ)器中該程序的堆棧幀的前16個(gè)字中。因?yàn)檫@樣的緣故,該裝置才命名為堆棧幀式超高速緩沖存儲(chǔ)器。返回指令使現(xiàn)行寄存器組被釋放(以備后來的調(diào)用指令所使用)。
有16個(gè)與過程有關(guān)的全局寄存器(32),當(dāng)該過程不執(zhí)行時(shí),它們被貯存在過程控制塊內(nèi)。全局寄存器不相關(guān)地映入在過程控制塊中。
在16個(gè)32位的寄存器中,G15裝有現(xiàn)行幀指示字(FP),而G0…G14則為通用寄存器。FP含有現(xiàn)行(最頂部的)堆棧幀進(jìn)入現(xiàn)行執(zhí)行環(huán)境的線性地址(指示字)。由于堆棧幀被定位于64個(gè)字節(jié)邊界,所以FP最低6位被忽略而往往被解釋為零。這個(gè)寄存器,調(diào)用時(shí)被初收始化,而返回時(shí)則被重新貯存。
當(dāng)一個(gè)大于32位的操作數(shù)訪問寄存器時(shí),要用到與其相連的號(hào)數(shù)較高的那些寄存器。
浮點(diǎn)寄存器有四個(gè)與過程有關(guān)的浮點(diǎn)寄存器(34),當(dāng)這一過程不執(zhí)行時(shí),它們被貯存在過程控塊內(nèi)。浮點(diǎn)寄存器不相關(guān)地映入該過程控制塊。
浮點(diǎn)數(shù)按實(shí)際的擴(kuò)充格式被貯存在浮點(diǎn)寄存器里。僅當(dāng)操作數(shù)是浮點(diǎn)指令操作數(shù)(這些指令也可使用32位局部、全局寄存器)時(shí),浮點(diǎn)寄存器才被存取。
運(yùn)算控制運(yùn)算控制(36)被用來控制運(yùn)算和數(shù)值指令的屬性錯(cuò)誤,以及貯存狀態(tài)碼。當(dāng)過程被中止,運(yùn)算控制信息被貯存在該過程控制塊中。
指令指示字指令指示字(38)是現(xiàn)行指令的第一字節(jié)進(jìn)入現(xiàn)行線性地址空間的一個(gè)線性地址(指示字)。由于指令必須在字(4字節(jié))邊界上開始,所以IP的兩個(gè)低階位被忽略并被假定為零。
局部(或幀)寄存器參見附圖3,局部寄存器L0…L15并不表示常規(guī)的那種寄存器;它們表示現(xiàn)行幀的前16個(gè)字。于是,寄存器L0被映入線性地址FP+0到FP+3,寄存器L被映入線性地址FP+4i至FP+4i+3,等等。
局部寄存器有一個(gè)多重堆棧幀超高速緩沖存儲(chǔ)器。有多個(gè)高速寄存器存儲(chǔ)體,每個(gè)被啟動(dòng)程序都對(duì)應(yīng)一個(gè)存儲(chǔ)體。程序不必明確地保存和返回寄存器。
堆棧幀附圖3所示的堆棧幀,是現(xiàn)行線性地址空間的一個(gè)連接部分,按類似堆棧的形式裝有數(shù)據(jù)。每一個(gè)被啟動(dòng)的程序有一個(gè)堆棧幀,該程序包含局部變量,參數(shù)和連接信息。一個(gè)調(diào)用操作獲得一個(gè)新的堆棧幀;而一個(gè)返回操作則釋放該堆棧幀。當(dāng)一個(gè)新幀被獲得后,它被按照64字節(jié)邊界定位。
圖3所示堆棧幀中的區(qū)段定義如下填充區(qū),這一區(qū)(40)用來將FP定位在下一個(gè)64字節(jié)的邊界上,其大小在0至63字節(jié)之間變動(dòng)。當(dāng)實(shí)現(xiàn)一個(gè)調(diào)用操作時(shí),一個(gè)填充區(qū)就附加給調(diào)用程序的SP直至下一個(gè)64字節(jié)邊界,以便為這一幀形成FP。如果該調(diào)用程序的SP已經(jīng)定位,則無填充區(qū)。
幀狀態(tài)(L0),幀狀態(tài)(42)記錄調(diào)用之后被用做從該幀返回的有關(guān)信息。幀狀態(tài)的字段定義如下追蹤允許,T(0位)。在管理程序輸入中,這一位記錄調(diào)入時(shí)刻的追蹤允許位。在返回時(shí),如果返回堆棧的執(zhí)行模式是管理程序,則這一位被用來重新貯存該過程序中調(diào)入程序的追蹤允許位。
返回狀態(tài),RRR(1至3位)。這3位字段記錄生成該幀所用的調(diào)用裝置,并用來選擇返回時(shí)的返回裝置。這一字段的編碼如下000局部001管理程序010中斷011非子系統(tǒng)故障100子系統(tǒng)101保留110空閑/停止中斷111保留予返回追蹤,P(4位)。當(dāng)從幀返回且予返回追蹤位是1時(shí),則予返回追蹤事件(如果允許的話)發(fā)生在與返回操作有關(guān)的任何動(dòng)作完成之前。在調(diào)用時(shí),這一位被初始化為零。
前幀指示字,PFP(6至31位)。指向前幀第一個(gè)字節(jié)的線性地址(42)。因?yàn)閹级ㄎ挥?4字節(jié)的邊界,所以僅僅FP最有效的26個(gè)位被保存。如果返回狀態(tài)表示子系統(tǒng)轉(zhuǎn)移,那么這個(gè)字段含有調(diào)用之前該調(diào)用堆棧中最頂部(最后)幀的線性地址最有效的26個(gè)位。否則,最頂部幀是調(diào)用幀。
調(diào)用期間,幀狀態(tài)較低的5位被如下初始化0 000-局部調(diào)用,或者來自管理程序狀態(tài)的管理程序調(diào)用
0 00 IT來自用戶模式的管理程序調(diào)用0 010-中斷調(diào)用0 011-非子系統(tǒng)故障調(diào)用0 100-子系統(tǒng)調(diào)用0 110-來自空閑或停止?fàn)顟B(tài)的中斷調(diào)用T是上面定義過的追蹤位的值?!?”表示一個(gè)保留位,而“X”表示不必關(guān)心的位。
在全部返回時(shí),這些位的介釋如下1 XXXX生成予返回追蹤0 000X完成局部返回0 001T在管理序程序模式下,完成管理程序返回。T位在過程控制中分配給追蹤允許位,而執(zhí)行模式位則留給用戶。否則,完成局部返回。
0 010X完成中斷返回。
0 011X完成故障返回。
0 100X完成子系統(tǒng)返回0 101X操作返回故障0 110X完成空閑/停止中斷返回0 111X操作返回故障堆棧指示字,SP(L1)。指向堆棧第一個(gè)自由字節(jié)的線性地址,即堆棧最后的字節(jié)地址加1。SP由調(diào)用操作初始化到FP加64的點(diǎn)。
返回指令指示字,RIP(L2)。當(dāng)對(duì)一個(gè)新幀完成調(diào)用操作后,返回IP(46)保存。當(dāng)過程被中止時(shí),此處則貯存下一個(gè)指令的指令指示字。它含有一個(gè)32位線性地址,在這一幀返回后,控制其返回到這一線性地址。
過程調(diào)用將IP保存在現(xiàn)行幀的一個(gè)寄存器里。由于可能發(fā)生隱過程調(diào)用(由于故障和中斷),所以程序不用這個(gè)寄存器作其他目的用。
堆棧從低地址到高地址增長(圖4)。
圖5說明微處理器的寄存器組映入存儲(chǔ)器中程序堆棧的情況。
幀前64個(gè)字節(jié)所映入的頁面(或簡單目標(biāo))必須具有局部的壽命。頁面或簡單目標(biāo)的壽命,在調(diào)用期間向被檢驗(yàn)。這樣的限制,對(duì)于保證局部寄存器中的ADs的有效操作是必要的。
線性地址空間結(jié)構(gòu)如圖2所示,各個(gè)執(zhí)行環(huán)境都定義一個(gè)32位線性地址空間。線性地址空間被分成4個(gè)區(qū)。執(zhí)行環(huán)境前三個(gè)區(qū)是現(xiàn)行過程專用的(即由過程控制塊所定義的)。過程專用區(qū)的成分可由子系統(tǒng)調(diào)用/返回來改變。執(zhí)行環(huán)境的第4個(gè)區(qū)則由所有過程共享(即由處理器控制塊所定義的)。至于指令、堆棧幀,或者數(shù)據(jù)裝入在線性地址空間的什么地方,沒有限制。
局部過程機(jī)構(gòu)過程開始于線性地址空間中的任何隨機(jī)的字地址。過程的調(diào)用和返回利用線性地址空間中的堆棧。
指令CALLCALL_EXTENDEDCALL和CALL_EXTENDED調(diào)用規(guī)定地址的過程。CALL規(guī)定了IP加上一個(gè)帶符號(hào)的24位位移的過程。CALL_EXTENDED規(guī)定了使用通用存儲(chǔ)器有效地址的過程。CALL_EXTENDED還含有一個(gè)在新幀中變成AP的操作數(shù)。
在將調(diào)用操作和控制流傳送給指定的過程期間,分配一個(gè)新的堆棧幀。而執(zhí)行環(huán)境保持不變。
RETURNRETURN指令將控制送回給調(diào)用過程的編址環(huán)境,并釋放被調(diào)過程的堆棧幀。繼續(xù)執(zhí)行被調(diào)用過程幀中的RIP所指明的指令。
MOOIFY_ACCONVERT_ADDRESSMODIFY_AC被用來讀取或者修改現(xiàn)行運(yùn)算控制。因?yàn)锳D區(qū)是不能直接存取,所以CONVERT_AOORESS可被用來將線性地址轉(zhuǎn)化為虛擬地址。
過程管理軟件過程或任務(wù)由過程控制塊來描述。提供兩種方法以便控制過程的轉(zhuǎn)換。一個(gè)是經(jīng)過兩個(gè)指令(Save_process和resume_process),這兩個(gè)指令允許操作系統(tǒng)直接地轉(zhuǎn)換該過程。另一個(gè)是在優(yōu)先基礎(chǔ)上的過程安排和調(diào)度功能(被裝入處理器的內(nèi)部)。運(yùn)用后一種方法,處理器將自動(dòng)地從存儲(chǔ)器的隊(duì)列中調(diào)度過程。
處理器保持對(duì)各個(gè)過程累積執(zhí)行時(shí)間的跟蹤,并且也提供任意時(shí)間片的管理。對(duì)于后者每當(dāng)過程執(zhí)行時(shí)間超過了預(yù)定的時(shí)間,處理器就將出錯(cuò),或者將該過程排入可用過程的隊(duì)列中并調(diào)度另一個(gè)過程。
當(dāng)使用自動(dòng)過程調(diào)度時(shí),就提供一組進(jìn)程通信指令,該組指令同操作系統(tǒng)核心軟件所提供的正常服務(wù)相類似。這組進(jìn)程通信指令為過程相互間信息交流提供支持。
追蹤和ICE支持軟件的調(diào)試和追蹤是借助追蹤控制寄存器來提供的,這是各過程的一部分。追蹤控制允許對(duì)下列事件的任何組合進(jìn)行探測(cè)指令執(zhí)行(即單步)被取轉(zhuǎn)移指令的執(zhí)行調(diào)用指令的執(zhí)行返回指令的執(zhí)行下一個(gè)指令是返回指令的探測(cè)管理程序或子系統(tǒng)調(diào)用的執(zhí)行斷點(diǎn)(硬件斷點(diǎn)或斷點(diǎn)指令的執(zhí)行)當(dāng)探測(cè)出一個(gè)追蹤事件時(shí),處理器就產(chǎn)生一個(gè)追蹤故障,以便對(duì)軟件的調(diào)試程序或監(jiān)控程序給以控制。處理器含有兩個(gè)指令斷點(diǎn)寄存器,調(diào)試程序可將兩個(gè)指令的地址放置在這兩個(gè)斷點(diǎn)寄存器內(nèi)。
外部總線微處理器的總線是具有脈沖串傳送能力的32位多路傳送總線。脈沖串傳送裝置(該裝置允許多個(gè)字在相繼的周期里被傳送)允許該總線被定義為多路傳送總線。脈沖串傳送可以在1、2、3或4個(gè)字時(shí)發(fā)生。在尋址周期內(nèi),微處理器在兩個(gè)低階尋址位,指明請(qǐng)求中字的數(shù)目。例如,如果處理器希望讀取4個(gè)字,那么總線操作直到4個(gè)READY都被收到才結(jié)束。脈沖串傳送操作,常常被處理用來填滿指令超高速緩沖存儲(chǔ)器、堆棧幀式超高速緩沖存儲(chǔ)器保存和重新貯存、多字裝入和貯存、串操作等等。
微處理器被高度流水線化。在任何給定的時(shí)刻,流水線中的不同執(zhí)行階段,都有五個(gè)正常指令。在任何給定的周期內(nèi),指向指令n+4的指示字被計(jì)算,指令n+3被從指令超高速緩沖存儲(chǔ)器中讀取出來,指令n+2被譯碼并發(fā)送給微處理器總線,指令n+1則正在被執(zhí)行,而指令n正被貯存到寄存器堆。
參照最佳實(shí)施例,已經(jīng)對(duì)本發(fā)明作了具體的說明和描述,應(yīng)該明白本領(lǐng)域的技術(shù)人員在不脫離本發(fā)明的實(shí)質(zhì)和范圍的情況下,可以對(duì)上述和其它形式及細(xì)節(jié)作出各種改進(jìn)。
權(quán)利要求
1.為在可與主存儲(chǔ)器連接的數(shù)據(jù)處理器中使用,一種所述數(shù)據(jù)處理器中的堆棧幀式超高速緩沖存儲(chǔ)器和一種控制裝置的特征在于其中包括一個(gè)多元全局寄存器,其中所述全局寄存器中的一個(gè)是包含指向現(xiàn)行幀的現(xiàn)行幀指示字的幀指示字寄存器,其余所述全局寄存器則作為供現(xiàn)行過程使用的通用寄存器,一個(gè)由多個(gè)寄存器組組成的寄存器組組合,每一寄存器組由一些局部寄存器組成;依據(jù)調(diào)用指令的譯碼驅(qū)動(dòng)的第一控制裝置,用于從所述寄存器組組合中給所調(diào)用過程分配局部寄存器的寄存器組以及為建立現(xiàn)行幀對(duì)所述幀指示字寄存器進(jìn)行初始化;依據(jù)返回指令的譯碼驅(qū)動(dòng)的第二控制裝置,用于釋放所述寄存器組以便分配給由后一個(gè)調(diào)用指令所調(diào)用的另一個(gè)過程。
2.根據(jù)權(quán)利要求
1所述的組合裝置,特征在于其中所述第一控制裝置包括依據(jù)條件可操作的裝置,其條件就是所述寄存器組組合用完后將把與前一過程有關(guān)的內(nèi)容保存在所述主存儲(chǔ)器內(nèi),并將所述寄存器組分配給所述現(xiàn)行過程。
3.根據(jù)權(quán)利要求
1所述的組合裝置,特征在于其中所述第一控制裝置包括返回狀態(tài)位,用于記錄建立所述幀使用的調(diào)用機(jī)構(gòu)和用于選擇返回時(shí)將要用到的返回機(jī)構(gòu)。
4.根據(jù)權(quán)利要求
1所述的組合裝置,特征在于,其中與過程有關(guān)的寄存器組中的所述局部寄存器,含有包括一個(gè)指向前幀的指示字和一個(gè)指令指示字的連接信息。
5.根據(jù)權(quán)利要求
2所述的組合裝置,特征在于,其中與過程有關(guān)的寄存器組中的所述局部寄存器,含有包括一個(gè)指向前幀的指示字和一個(gè)指令指示字的連接信息。
6.根據(jù)權(quán)利要求
1所述的組合裝置,特征在于,其中與過程有關(guān)的寄存器組中的所述局部寄存部,含有包括幀狀態(tài)位的堆棧幀,該狀態(tài)位用于記錄調(diào)用后與該幀有關(guān)的信息,以供從該幀返回時(shí)使用,所述信息包括返回狀態(tài)位,這些狀態(tài)位用于記錄建立所述幀使用的調(diào)用機(jī)構(gòu)。和選擇返回時(shí)所要用到的返回機(jī)構(gòu)。
7.根據(jù)權(quán)利要求
1所述的組合裝置,特征在于,其中與過程有關(guān)的寄存器組中的所述局部寄存器含有一個(gè)堆棧幀,該堆棧幀包括由前幀第一個(gè)字節(jié)的線性地址組成的前幀指示字位。
8.根據(jù)權(quán)利要求
1所述的組合裝置,特征在于,其中與過程有關(guān)的寄存器組中的所述局部寄存器含有一個(gè)堆棧幀,該堆棧幀包括返回指令指示字字段,該字段用于依據(jù)條件貯存該返回指令指示字,其條件就是完成對(duì)新幀的調(diào)用操作;這一字段還用于依據(jù)條件貯存下一個(gè)指令的指令指示字,其條件就是過程被中止,所述字段是返回到這一幀后控制被返回到的線性地址。
9.根據(jù)權(quán)利要求
2所述的組合裝置,特征在于,其中與過程有關(guān)的寄存器組中的所述局部寄存器,含有包括幀狀態(tài)位的堆棧幀,該狀態(tài)位用于記錄調(diào)用后與該幀有關(guān)的信息,以供從該幀返回時(shí)使用,所述信息包括返回狀態(tài)位,這些狀態(tài)位用于記錄建立所述幀使用的調(diào)用機(jī)構(gòu)、和選擇返回時(shí)所要用到的返回機(jī)構(gòu)。
10.根據(jù)權(quán)利要求
2所述的組合裝置,特征在于,其中與過程有關(guān)的寄存器組中的所述局部寄存器含有一個(gè)堆棧幀,該堆棧幀包括由前幀第一個(gè)字節(jié)的線性地址組成的前幀指示字位。
11.根據(jù)權(quán)利要求
2所述的組合裝置,特征在于,其中與過程有關(guān)的寄存器組中的所述局部寄存器含有一個(gè)堆棧幀,該堆棧幀包括返回指令指示字字段,這一字段用于依據(jù)條件貯存該返回指令指示字,其條件就是完成對(duì)新幀的調(diào)用操作;這一字段還用于依據(jù)條件貯存下一條指令的指令指示字,其條件就是過程被中止,所述字段是返回到這一幀后控制被返回到的線性地址。
專利摘要
微處理器芯片上的堆棧幀式超高速緩沖存儲(chǔ)器及其相應(yīng)的控制裝置提供許多全局寄存器。其中之一是含有現(xiàn)行幀指示字的幀指示字寄存器,其余的則作通用寄存器供現(xiàn)行過程使用;還提供許多供現(xiàn)行過程執(zhí)行浮點(diǎn)運(yùn)算操作用的浮點(diǎn)寄存器。由多個(gè)寄存器組組成寄存器組組合,各寄存器組均由一些局部寄存器組成。與程序有關(guān)的局部寄存器含有包括指向前幀的指示字和指令指示字的連接信息,因而無需對(duì)片外存儲(chǔ)器作訪問就能執(zhí)行大多數(shù)調(diào)用和返回指令。
文檔編號(hào)G06F9/46GK87100507SQ87100507
公開日1987年11月25日 申請(qǐng)日期1987年1月26日
發(fā)明者格倫福德·J·邁爾斯, 康拉德·黎, 邁克爾·T·艾梅爾, 格倫·欣頓, 羅伯特·里奇斯 申請(qǐng)人:英特爾公司導(dǎo)出引文BiBTeX, EndNote, RefMan
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
乐陵市| 通道| 礼泉县| 英山县| 勃利县| 拜城县| 呼玛县| 高邮市| 麦盖提县| 武陟县| 全椒县| 民县| 武汉市| 和顺县| 长宁县| 高清| 绍兴县| 正定县| 鹿邑县| 额敏县| 高淳县| 固安县| 沽源县| 务川| 高陵县| 邵阳县| 宝丰县| 安庆市| 揭西县| 来安县| 武胜县| 旬邑县| 万全县| 桦甸市| 江门市| 临武县| 沈阳市| 连南| 上犹县| 阜平县| 罗江县|