專利名稱:具有有選擇地以虛擬模式運(yùn)行的軟件中斷指令的計(jì)算機(jī)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總的說是關(guān)于包含有一專門設(shè)計(jì)為在一虛擬操作模式下運(yùn)行的給定微處理機(jī)的計(jì)算機(jī)系統(tǒng),該虛擬模式允許先前為較早設(shè)計(jì)的單程序微處理機(jī)編寫的軟件程序在一特殊設(shè)計(jì)的主操作軟件程序控制下,于被保護(hù)的、分頁式、多任務(wù)環(huán)境中執(zhí)行。具體點(diǎn)說,本發(fā)明是關(guān)于對(duì)該給定微處理機(jī)及其主操作軟件程序利用作為該主程序的一部分的模擬軟件來處理軟件中斷指令(INTn指令)以模擬該較早微處理機(jī)執(zhí)行這些指令的過程的方法的改進(jìn)。
在以上敘述中,引述了一給定微處理機(jī),一先前編寫的軟件程序,一較早設(shè)計(jì)的單程序微處理機(jī),及一專門設(shè)計(jì)的主操作軟件程序。在本發(fā)明的具體實(shí)踐中,該給定微處理機(jī)具體指一經(jīng)改進(jìn)的InTel公司80386和80486TM微處理機(jī),下面將僅指386微處理機(jī),因?yàn)閷?duì)于本發(fā)明二者是同樣適用的。該較早設(shè)計(jì)的單程序微處理機(jī)是指InTel公司較早設(shè)計(jì)的單程序8086微處理機(jī)。該早先編寫的軟件程序是指包括先前為8086微處理機(jī)編寫的DOS程序在內(nèi)的許多不同程序中的一種。最后,該主操作軟件程序指像Microsoft公司的WIN DOWSTM軟件或AT & T公司的UNIXTM系統(tǒng)軟件之類的任何合適的主(中央)控制操作系統(tǒng)。上述此二系統(tǒng)軟件均是專門為該給定微處理機(jī)編寫的,目的是使后者能在上述的虛擬操作模式下運(yùn)行。雖然下面討論的本發(fā)明將針對(duì)Intel 386(及486TM)和8086微處理機(jī),先前編寫的DOS程序,以及WINDOWS或UNIX操作系統(tǒng),但應(yīng)理解,本發(fā)明并不僅僅局限于這些指定的微處理機(jī),這些先前編寫的軟件程序,和這些特定的中央操作系統(tǒng)。理解了這些亦就會(huì)想到8086和386微處理機(jī)的大慨歷史。在下面的詳細(xì)敘述中,將對(duì)這些微處理機(jī)具體與本發(fā)明相關(guān)的地方進(jìn)行仔細(xì)討論。
可以無保留地說,InTel公司早先的8086微處理機(jī)是非常成功的,曾經(jīng)為它編寫有很多軟件程序。但是既然這一微處理機(jī)是一系列隨后不斷改進(jìn)的微處理機(jī)先驅(qū)者,自然會(huì)有其局限性。特別有一點(diǎn),雖然對(duì)當(dāng)時(shí)來說不一定認(rèn)為是一種限制,就是該微處理機(jī)不能一次同時(shí)處理一個(gè)以上的軟件程序。當(dāng)然這就意味著程序本身亦不必在一被保護(hù)的、分頁式、多任務(wù)環(huán)境下執(zhí)行。但隨著技術(shù)的發(fā)展,InTel公司終于開發(fā)出了它的386微處理機(jī)。此微處理機(jī),正如上面所說的,能利用一較復(fù)雜的中央操作系統(tǒng),例如WINDOWS或UNIX,來執(zhí)行許多程序。同時(shí)此386微處理機(jī)是被設(shè)計(jì)為在一種虛擬8086操作模式下運(yùn)行的,此運(yùn)行模式使得多個(gè)先前為較早的8086微處理機(jī)編寫的軟件程序能在該較復(fù)雜的中央操作系統(tǒng)的控制下得到利用,特別是在一被保護(hù)的、分頁式、多任務(wù)環(huán)境中運(yùn)行,即使這些先前寫的軟件程序并不曾企圖在這一狀態(tài)下工作。確實(shí)有太多先前寫的程序已成為過時(shí)的。因此每當(dāng)在對(duì)8086微處理機(jī)的后續(xù)產(chǎn)品進(jìn)行改進(jìn)時(shí),總要考慮到與先前的8086軟件的兼容性。
盡管InTel的現(xiàn)代微處理機(jī)與先前編寫的軟件之間的兼容性確實(shí)很重要,有些情況下這一目標(biāo)也使得整個(gè)計(jì)算機(jī)系統(tǒng)的某些其他運(yùn)行性能作出了犧牲。在執(zhí)行軟件中斷指令(INTn指令)時(shí)情況就是這樣。正如下面將詳細(xì)討論的,現(xiàn)在的386微處理機(jī)的設(shè)計(jì)只是使其利用作為主程序一部分的模擬軟件來執(zhí)行所有的INTn指令,以模擬較早的8086微處理機(jī)執(zhí)行這些指令的狀態(tài)。雖然這些特定指令執(zhí)行的數(shù)量只占模擬過程中所執(zhí)行指令總數(shù)中相當(dāng)小的比例,但他們卻需要相當(dāng)大的執(zhí)行時(shí)間。目前曾提出的一個(gè)解決此問題的方法是使所有INTn指令均由軟件程序自身協(xié)同微處理機(jī)及其主操作系統(tǒng)來執(zhí)行,而不利用模擬軟件,就是說不將INTn指令俘獲進(jìn)主操作程序的模擬軟件(或稱之為模擬程序)中。申請(qǐng)人看到前述這種施措總的說節(jié)省了計(jì)算時(shí)間(對(duì)整個(gè)系統(tǒng)而言)和模擬時(shí)間,特別是在當(dāng)-INTn指令是一簡單指令,例如詢問時(shí)間,或者即使稍為復(fù)雜一點(diǎn)的指令,例如打印一個(gè)字符時(shí)。然而申請(qǐng)人也發(fā)現(xiàn),對(duì)于相當(dāng)復(fù)雜的INTn指令,例如讀文件,如能使這樣的指令由模擬軟件來俘獲并執(zhí)行,將更為有效。
鑒于上面所述,本發(fā)明的主要目的就在于有效地降低上述類型的計(jì)算機(jī)系統(tǒng)執(zhí)行INTn指令所需的時(shí)間。
下面將會(huì)看到,這里揭示的一計(jì)算機(jī)系統(tǒng)包括有一給定的微處理機(jī),例如386微處理機(jī),此微處理機(jī)被專門設(shè)計(jì)在一虛擬操作模式下運(yùn)行,這一操作模式使得早先為一較早設(shè)計(jì)的單程序微處理機(jī),例如8086微處理機(jī),編寫的軟件程序,例如DOS程序,能在一專門設(shè)計(jì)的主操作軟件程序,例如WINDOWS或UNIX的控制下,在一被保護(hù)的、分頁式、多任務(wù)環(huán)境中運(yùn)行。這一系統(tǒng)還包含有作為該給定微處理機(jī)及主操作軟件程序的組成部分的裝置,它利用作為該主程序組成部分的模擬軟件來執(zhí)行INTn指令,以便模擬該較早的微處理機(jī)執(zhí)行這些指令的過程。
為了減少總的計(jì)算機(jī)系統(tǒng)及特別是當(dāng)計(jì)算機(jī)系統(tǒng)運(yùn)行在虛擬操作模式期間模擬軟件執(zhí)行INTn所花費(fèi)的時(shí)間,采取了這樣的施措,即,使得某些INTn指令由模擬軟件執(zhí)行,同時(shí)也允許其他一些INTn指令不依靠模擬軟件,而由早先寫的程序來執(zhí)行。在這里披露的具體實(shí)施例中,為整個(gè)系統(tǒng)設(shè)置了一個(gè)位映象表,其中包含有一系列二進(jìn)制位,每一位對(duì)應(yīng)于一個(gè)INTn指令。這些二進(jìn)制位的每一位被置于或者為進(jìn)行模擬的第一種狀態(tài),或者為不進(jìn)行模擬的第二種狀態(tài)。還設(shè)置有裝置以使得與該位映象表的進(jìn)行模擬的第一狀態(tài)相對(duì)應(yīng)的所有INTn指令通過模擬軟件來執(zhí)行,同時(shí)也允許與位映象表中不進(jìn)行模擬的第二狀態(tài)相對(duì)應(yīng)的所有INTn指令不利用模擬軟件由早先編寫的程序協(xié)同主操作軟件程序中的給定軟件加以俘獲和執(zhí)行。
換句話說,本發(fā)明是使得一些而不是全部INTn指令不經(jīng)模擬程序來執(zhí)行。這樣需進(jìn)行模擬和不需模擬的那些INTn指令可以根據(jù)各個(gè)指令的復(fù)雜程度預(yù)先選定,從而使執(zhí)行全部指令所需的整個(gè)時(shí)間減到最小。這既不同于包含全部INTn指令均由模擬執(zhí)行的現(xiàn)有386微處理機(jī)的計(jì)算機(jī)系統(tǒng),也不同于全部INTn指令均不作模擬運(yùn)行的前述建議中改進(jìn)的386系統(tǒng)。本發(fā)明采取了這兩種方法中有關(guān)INTn指令執(zhí)行的最佳處。
下面將結(jié)合附圖詳細(xì)討論本發(fā)明。附圖中
圖1為對(duì)包含有較早的8086微處理機(jī)的先有技術(shù)計(jì)算機(jī)系統(tǒng)的某些方面的圖示說明;
圖2為包括較早的386微處理機(jī)的計(jì)算機(jī)系統(tǒng)的相似圖,具體說明由模擬程序執(zhí)行INTn指令的方法;
圖3為對(duì)按照本發(fā)明執(zhí)行INTn指令的計(jì)算機(jī)系統(tǒng)的圖示說明;和圖4為描述圖3所示計(jì)算機(jī)系統(tǒng)按照本發(fā)明執(zhí)行INTn指令的流程圖。
現(xiàn)在來看附圖,首先注意圖1,如上面指出的,它是對(duì)包含有較早的8086微處理機(jī)的先有技術(shù)計(jì)算機(jī)系統(tǒng)的某些方面的圖解說明。全系統(tǒng)以一總的標(biāo)號(hào)10表示。雖然這一系統(tǒng)還包括有許多圖中未示出的部件,這里只特別地說明所包含的8086微處理機(jī)12,它具有-INTn寄存器14,一單磁盤操作系統(tǒng)(DOS)軟件程序16,和多個(gè)輸入/輸出(I/O)外圍設(shè)備18、20和22,例如分別為一監(jiān)視器,一磁盤驅(qū)動(dòng)器,和一鍵盤,當(dāng)然本發(fā)明并不局限為這些特定的I/O裝置。INTn寄存器14實(shí)際上按照當(dāng)時(shí)正處理中的具體INTn指令,與一包含有不同執(zhí)行地址的地址表(圖中未示出)進(jìn)行通信。系統(tǒng)10中具有256個(gè)可能的INTn指令0-255,其中每一個(gè)均以一特殊操作數(shù)作表征用作為對(duì)該表的索引。DOS中斷向量例如包括有MS-DOS終止過程,MS-DOS功能調(diào)度程序,MS-DOS終止地址,MS-DOSCtrl-C處理程序地址,MS-DOS臨界誤差處理程序地址,MS-DOS絕對(duì)磁盤讀,MS-DOS絕對(duì)磁盤寫,MS-DOS終止和保持駐留,MS-DOS備用中斷,MS-DOS保留,MS-DOS網(wǎng)絡(luò)轉(zhuǎn)接程序,MS-DOS保留,MS-DOS復(fù)用中斷,
MS-DOS保留。
在對(duì)計(jì)算機(jī)系統(tǒng)10作了介紹之后,現(xiàn)在來看這一系統(tǒng)處理軟件程序16中INTn指令的方法。例如假定程序16發(fā)出INTn指令I(lǐng)NTn21。操作數(shù)21被置入INTn寄存器14,它用作為對(duì)包含有與該指令相對(duì)應(yīng)的特定執(zhí)行子程序起始地址的地址表的索引。這是通過微處理機(jī)硬件結(jié)合單DOS程序16完成的。
現(xiàn)在來看圖2,注意圖中以標(biāo)號(hào)24所指明的進(jìn)一步的計(jì)算機(jī)系統(tǒng)。除這一系統(tǒng)與系統(tǒng)10之間其他的不同處之外,系統(tǒng)24包含有一以26標(biāo)明的386微處理機(jī),并能同時(shí)運(yùn)行包括早先為8086微處理機(jī)編寫的程序在內(nèi)的一個(gè)以上的軟件程序,雖然圖中僅表示出一個(gè)例如DOS程序16的這樣的程序。為了能同時(shí)運(yùn)行多個(gè)軟件程序,以及希望利用8086軟件,此386微處理機(jī)被設(shè)計(jì)得在一特定的虛擬操作模式下運(yùn)行,即就是如前面所說的,在一種這樣的操作模式中使8086程序,例如DOS程序16,可在主操作系統(tǒng)控制下,在一被保護(hù)的、分頁式、多任務(wù)環(huán)境中運(yùn)行。如前面已說過的,一種這樣的主操作系統(tǒng)就是先前引述的WINDOWS或UNIX程序,在圖2中圖示標(biāo)號(hào)為32。這一程序被編寫得包含有8086模擬軟件(以后有時(shí)稱其為模擬程序),它用來執(zhí)行早先編寫的程序中的特別包括有軟件中斷指令(INTn指令)在內(nèi)的某些與中斷相關(guān)的指令,以便對(duì)較早的8086微處理機(jī)執(zhí)行這些指令的過程加以模擬。在這方面,系統(tǒng)24包含有一在功能上與INTn寄存器14相對(duì)應(yīng)的INTn寄存器34。雖然圖中沒有表示出,系統(tǒng)24也包括有如圖1中所示的I/O外設(shè)。
談到計(jì)算機(jī)系統(tǒng)24,現(xiàn)在注意該系統(tǒng)以虛擬操作模式處理中斷的方法。特別是,當(dāng)一個(gè)特定的INTn指令,通過其中一個(gè)軟件程序正在運(yùn)行時(shí),例如程序16,它被送到寄存器34。從這兒,該軟件中斷指令被該模擬軟件俘獲到主操作程序32的模擬程序中,并被執(zhí)行,以模擬通過早先的8086微處理機(jī)12執(zhí)行該指令的方法。所有INTn指令都這樣執(zhí)行。已經(jīng)發(fā)現(xiàn)該模擬程序的執(zhí)行時(shí)間相對(duì)于數(shù)量很小的被執(zhí)行的INTn指令來說很不相稱。早先建議的解決這問題的一個(gè)途徑是排除模擬程序?qū)λ蠭NTn指令的俘獲。因此,按照那個(gè)建議,所有的256INTn指令均在模擬程序以外處理,亦即由DOS程序16本身協(xié)同微處理機(jī)26和主操作程序來執(zhí)行。
如前面指出過的,雖然俘獲并模擬全部INTn指令需要很多時(shí)間,但使得在模擬程序之外由軟件程序16及其他相應(yīng)的程序來執(zhí)行全部INTn指令可能需要更多的時(shí)間。這是因?yàn)橐恍㊣NTn指令可能很復(fù)雜,以致要求該軟件程序結(jié)合微處理機(jī)及主操作程序執(zhí)行該模擬程序無需執(zhí)行的額外的子程序。下面將會(huì)立即看到,本發(fā)明將消除這一問題。
現(xiàn)在來看圖3,觀察又一個(gè)計(jì)算機(jī)系統(tǒng)36,亦即根據(jù)本發(fā)明所設(shè)計(jì)的系統(tǒng)。系統(tǒng)36包含有一經(jīng)改進(jìn)的386微處理機(jī)26′,在圖3中標(biāo)明為386′微處理機(jī)。這一微處理機(jī)與圖2所示的386微處理機(jī)一樣,專門設(shè)計(jì)得在一虛擬操作模式下運(yùn)行,此虛擬模式使得多個(gè)早先編寫的包括有例如DOS程序16的8086軟件程序能在一特殊設(shè)計(jì)的主操作軟件程序32′的控制下在一被保護(hù)的、分頁式、多任務(wù)環(huán)境中運(yùn)行。該主操作程序與系統(tǒng)24狀況相同,具有它自己的8086模擬軟件。所示系統(tǒng)36還包含有相應(yīng)的INTn寄存器34,以及雖然圖中未示出,還包括有與系統(tǒng)10中同樣狀況的I/O外設(shè)。另外,系統(tǒng)36包括有一位映象圖38,它含有256個(gè)二進(jìn)制位,其中每一位對(duì)應(yīng)于256個(gè)INTn指令之一。每一二進(jìn)制位或者處于例如以1表示的進(jìn)行模擬的第一狀態(tài),或者處于例如以0表示的不作模擬的第二狀態(tài)。微處理機(jī)26′及主操作軟件程序32′被設(shè)計(jì)成能使所有與進(jìn)行模擬的第一狀態(tài)相對(duì)應(yīng)的INTn指令由模擬軟件執(zhí)行;同時(shí)亦允許所有與不作模擬的第二狀態(tài)相應(yīng)的INTn指令不經(jīng)模擬軟件,而由早先編寫的DOS程序16協(xié)同微處理機(jī)及主操作軟件程序來執(zhí)行。每一個(gè)相當(dāng)于DOS程序16的其他軟件程序均可以包含有其自己位映象圖。
位映象圖38中一特定位到底為進(jìn)行模擬的第一狀態(tài)還是為其不作模擬的第二狀態(tài)由程序員決定,并被編進(jìn)主操作軟件程序中。這種決定取決于每一INTn指令的復(fù)雜程度。一般的規(guī)則是,那些復(fù)雜指令,如它在程序之外執(zhí)行時(shí)將需要較長時(shí)間的話,例如磁盤I/O,就可以使其以與系統(tǒng)24同樣的方式在模擬程序內(nèi)俘獲。另一方面,那些較簡單的INTn指令,在模擬程序以外執(zhí)行如能比其借助模擬程序執(zhí)行速度快的話,即可由早先編寫的軟件程序協(xié)同微處理機(jī)及主操作程序來執(zhí)行。雖然這是通常設(shè)置位映象圖38中各不同位的標(biāo)準(zhǔn),但程序員可以考慮采用另外的標(biāo)準(zhǔn)也是很顯見的。本發(fā)明的特點(diǎn)就是賦于程序員這種靈活性。
闡述過計(jì)算機(jī)系統(tǒng)36以及它與系統(tǒng)24和先前建議的對(duì)系統(tǒng)24的改進(jìn)之間的不同處之后,亦應(yīng)理解本發(fā)明并不限于InTel公司的386微處理機(jī)及其附屬部件,它的486TM微處理機(jī),或任何相關(guān)的微處理機(jī),盡管本發(fā)明特別適用于這些微處理機(jī)。另外由前面所述亦應(yīng)是很清楚的,即就是本發(fā)明是專門關(guān)于INTn指令的處理的,已經(jīng)說明的也僅僅是這些特點(diǎn)。當(dāng)然,所述的每一系統(tǒng)還包括有不涉及本發(fā)明的其他部件。這些部件以及任何圖中未作出但對(duì)系統(tǒng)處理INTn指令的操作是必須的部件,對(duì)于熟悉本技術(shù)領(lǐng)域的一般人員來說均應(yīng)是顯而易見的。
討論過計(jì)算機(jī)系統(tǒng)36處理INTn指令的方法及其勝過現(xiàn)有技術(shù)和先前建議的系統(tǒng)的優(yōu)點(diǎn)之后,現(xiàn)在來看圖4。此圖描述系統(tǒng)36按上述方式有選擇性地處理INTn指令的過程的流程圖。按照這一流程圖及本文的論述,熟悉本技術(shù)領(lǐng)域的一般人員將能容易地實(shí)現(xiàn)本發(fā)明。
現(xiàn)在再來看圖4,圖中的流程圖描述根據(jù)本發(fā)明圖3中所示計(jì)算機(jī)系統(tǒng)36處理INTn指令的過程,雖然此流程圖本身應(yīng)該是足以說明問題的,這里還是對(duì)之作簡短說明。如圖示,首先要確定一特定INTn指令,即由位映象圖來決定“n”被設(shè)置為1還是0。如果“n”為1,該指令即由模擬程序執(zhí)行,處理結(jié)束。如果“n”為0,則該指令即由微處理機(jī)(包括其微程序)像在8086微處理機(jī)時(shí)那樣執(zhí)行,處理結(jié)束。
權(quán)利要求
1.在一包含有一專門設(shè)計(jì)成以-虛擬操作模式運(yùn)行的給定微處理機(jī)的計(jì)算機(jī)系統(tǒng)中,該虛擬模式使得早先為一較早設(shè)計(jì)的單程序微處理機(jī)編寫的軟件程序,能由一特殊設(shè)計(jì)的主操作系統(tǒng)控制在一被保護(hù)的、分頁式、多任務(wù)環(huán)境下運(yùn)行,所述系統(tǒng)還包括有作為所述給定微處理機(jī)及所述主操作軟件程序組成部分的裝置,用來借助作為所述主程序的組成部分的模擬軟件執(zhí)行軟件中斷指令(INTn指令),以便對(duì)所述較早的微處理機(jī)執(zhí)行所述指令的方法進(jìn)行模擬,其特征在于對(duì)所述系統(tǒng)的改進(jìn)包括為使得某些INTn指令由所述早先編寫的程序協(xié)同所述給定微處理機(jī)及所述主操作軟件程序執(zhí)行,而不利用所述模擬軟件的裝置。
2.在一包含有一專門設(shè)計(jì)成以一虛擬操作模式運(yùn)行的給定微處理機(jī)的計(jì)算機(jī)系統(tǒng)中,該虛擬模式使得早先為一較早設(shè)計(jì)的單程序微處理機(jī)編寫的軟件程序,能由一特殊設(shè)計(jì)的主操作系統(tǒng)控制在一被保護(hù)的、分頁式、多任務(wù)環(huán)境下運(yùn)行,所述系統(tǒng)還包括有作為所述給定微處理機(jī)及所述主操作軟件程序組成部分的裝置,用來借助作為所述主程序的組成部分的模擬軟件執(zhí)行軟件中斷指令(INTn指令),以便對(duì)所述較早的微處理機(jī)執(zhí)行所述指令的方法進(jìn)行模擬,其特征在于對(duì)所述系統(tǒng)的改進(jìn)包括(a)一包含有一系列二進(jìn)制位的位映象圖,每一個(gè)二進(jìn)制位對(duì)應(yīng)于所述INTn指令中之一,每一所述二進(jìn)制位或者處于一進(jìn)行模擬的第一狀態(tài)或者為一不作模擬的第二狀態(tài);(b)為使某些INTn指令由所述早先編寫的程序協(xié)同所述給定微處理機(jī)及所述主操作軟件程序執(zhí)行,而不利用所述模擬軟件的裝置。
3.在一包含有一專門設(shè)計(jì)成以一虛擬操作模式運(yùn)行的給定微處理機(jī)的計(jì)算機(jī)系統(tǒng)的操作方法中,該虛擬模式使得早先為一較早設(shè)計(jì)的單程序微處理機(jī)編寫的軟件程序能由一特殊設(shè)計(jì)的主操作系統(tǒng)控制在一被保護(hù)的、分頁式、多任務(wù)環(huán)境下運(yùn)行,所述系統(tǒng)還包括有作為所述給定微處理機(jī)及所述主操作軟件程序組成部分的裝置,用來借助作為所述主程序的組成部分的模擬軟件執(zhí)行軟件中斷指令(INTn指令),以便對(duì)所述較早的微處理機(jī)執(zhí)行所述指令的方法進(jìn)行模擬,其特征在于對(duì)所述系統(tǒng)操作方法的改進(jìn)包括下列步驟由所述模擬軟件來執(zhí)行某些所述INTn指令;而由所述早先編寫的程序協(xié)同所述給定微處理機(jī)及所述主操作軟件程序來執(zhí)行某些另外的INTn指令,而不利用所述模擬軟件。
4.在一包含有專門設(shè)計(jì)成以一模擬操作模式運(yùn)行的給定微處理機(jī)的計(jì)算機(jī)系統(tǒng)的操作方法中,該虛擬模式使得早先為一較早設(shè)計(jì)的單程序微處理機(jī)編寫的軟件程序能由一特殊設(shè)計(jì)的主操作系統(tǒng)控制,在一被保護(hù)的、分頁式、多任務(wù)環(huán)境下運(yùn)行,所述系統(tǒng)還包括有作為所述給定微處理機(jī)及所述主操作軟件程序組成部分的裝置,用來借助作為所述主程序的組成部分的模擬軟件執(zhí)行軟件中斷指令(INTn指令),以便對(duì)所述較早的微處理機(jī)執(zhí)行所述指令的方法進(jìn)行模擬,其特征在于對(duì)所述系統(tǒng)的操作方法的改進(jìn)包括下列步驟(a)設(shè)置一包含有一系列二進(jìn)制位的位映象圖,每一個(gè)二進(jìn)制位對(duì)應(yīng)于所述INTn指令中之一,每一所述二進(jìn)制位或者處于一進(jìn)行模擬的第一狀態(tài),或者為一不作模擬的第二狀態(tài);(b)由所述模擬軟件執(zhí)行所有與所述進(jìn)行模擬的第一狀態(tài)相對(duì)應(yīng)的INTn指令;由所述早先編寫的程序協(xié)同所述給定微處理機(jī)和所述主操作軟件程序來執(zhí)行所有與所述不作模擬的第二狀態(tài)相應(yīng)的INTn指令,而不利用所述模擬軟件。
全文摘要
這里揭示的一計(jì)算機(jī)系統(tǒng)包含有一專門設(shè)計(jì)成以一虛擬操作模式運(yùn)行給定微處理機(jī),該虛擬模式使一早先為較早設(shè)計(jì)的單程序微處理機(jī)編寫的軟件程序能在一特殊設(shè)計(jì)的主操作軟件程序控制下在一被保護(hù)的、分頁式、多任務(wù)環(huán)境中運(yùn)行。此系統(tǒng)還包含執(zhí)行軟件中斷指令的裝置,它利用模擬軟件,以模擬這些指令被較早微處理機(jī)執(zhí)行的方法。其獨(dú)特的改進(jìn)是,某些指令是由模擬軟件執(zhí)行,而另外的則由早先編寫的程序協(xié)同該給定微處理機(jī)及其主操作軟件程序來執(zhí)行。
文檔編號(hào)G06F9/318GK1071270SQ9211098
公開日1993年4月21日 申請(qǐng)日期1992年9月23日 優(yōu)先權(quán)日1991年9月23日
發(fā)明者J·H·克羅福, D·阿爾帕特 申請(qǐng)人:英特爾公司