CN1071270A - 具有有选择地以虚拟模式运行的软件中断指令的计算机系统 - Google Patents

具有有选择地以虚拟模式运行的软件中断指令的计算机系统 Download PDF

Info

Publication number
CN1071270A
CN1071270A CN92110985A CN92110985A CN1071270A CN 1071270 A CN1071270 A CN 1071270A CN 92110985 A CN92110985 A CN 92110985A CN 92110985 A CN92110985 A CN 92110985A CN 1071270 A CN1071270 A CN 1071270A
Authority
CN
China
Prior art keywords
microprocessor
instruction
intn
software program
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN92110985A
Other languages
English (en)
Inventor
J·H·克罗福
D·阿尔帕特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1071270A publication Critical patent/CN1071270A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

这里揭示的一计算机系统包含有一专门设计成 以一虚拟操作模式运行给定微处理机,该虚拟模式使 一早先为较早设计的单程序微处理机编写的软件程 序能在一特殊设计的主操作软件程序控制下在一被 保护的、分页式、多任务环境中运行。此系统还包含 执行软件中断指令的装置,它利用模拟软件,以模拟 这些指令被较早微处理机执行的方法。其独特的改 进是,某些指令是由模拟软件执行,而另外的则由早 先编写的程序协同该给定微处理机及其主操作软件 程序来执行。

Description

本发明总的说是关于包含有一专门设计为在一虚拟操作模式下运行的给定微处理机的计算机系统,该虚拟模式允许先前为较早设计的单程序微处理机编写的软件程序在一特殊设计的主操作软件程序控制下,于被保护的、分页式、多任务环境中执行。具体点说,本发明是关于对该给定微处理机及其主操作软件程序利用作为该主程序的一部分的模拟软件来处理软件中断指令(INTn指令)以模拟该较早微处理机执行这些指令的过程的方法的改进。
在以上叙述中,引述了一给定微处理机,一先前编写的软件程序,一较早设计的单程序微处理机,及一专门设计的主操作软件程序。在本发明的具体实践中,该给定微处理机具体指一经改进的InTel公司80386和80486TM微处理机,下面将仅指386微处理机,因为对于本发明二者是同样适用的。该较早设计的单程序微处理机是指InTel公司较早设计的单程序8086微处理机。该早先编写的软件程序是指包括先前为8086微处理机编写的DOS程序在内的许多不同程序中的一种。最后,该主操作软件程序指像Microsoft公司的WIN DOWSTM软件或AT & T公司的UNIXTM系统软件之类的任何合适的主(中央)控制操作系统。上述此二系统软件均是专门为该给定微处理机编写的,目的是使后者能在上述的虚拟操作模式下运行。虽然下面讨论的本发明将针对Intel 386(及486TM)和8086微处理机,先前编写的DOS程序,以及WIN    DOWS或UNIX操作系统,但应理解,本发明并不仅仅局限于这些指定的微处理机,这些先前编写的软件程序,和这些特定的中央操作系统。理解了这些亦就会想到8086和386微处理机的大慨历史。在下面的详细叙述中,将对这些微处理机具体与本发明相关的地方进行仔细讨论。
可以无保留地说,InTel公司早先的8086微处理机是非常成功的,曾经为它编写有很多软件程序。但是既然这一微处理机是一系列随后不断改进的微处理机先驱者,自然会有其局限性。特别有一点,虽然对当时来说不一定认为是一种限制,就是该微处理机不能一次同时处理一个以上的软件程序。当然这就意味着程序本身亦不必在一被保护的、分页式、多任务环境下执行。但随着技术的发展,InTel公司终于开发出了它的386微处理机。此微处理机,正如上面所说的,能利用一较复杂的中央操作系统,例如WINDOWS或UNIX,来执行许多程序。同时此386微处理机是被设计为在一种虚拟8086操作模式下运行的,此运行模式使得多个先前为较早的8086微处理机编写的软件程序能在该较复杂的中央操作系统的控制下得到利用,特别是在一被保护的、分页式、多任务环境中运行,即使这些先前写的软件程序并不曾企图在这一状态下工作。确实有太多先前写的程序已成为过时的。因此每当在对8086微处理机的后续产品进行改进时,总要考虑到与先前的8086软件的兼容性。
尽管InTel的现代微处理机与先前编写的软件之间的兼容性确实很重要,有些情况下这一目标也使得整个计算机系统的某些其他运行性能作出了牺牲。在执行软件中断指令(INTn指令)时情况就是这样。正如下面将详细讨论的,现在的386微处理机的设计只是使其利用作为主程序一部分的模拟软件来执行所有的INTn指令,以模拟较早的8086微处理机执行这些指令的状态。虽然这些特定指令执行的数量只占模拟过程中所执行指令总数中相当小的比例,但他们却需要相当大的执行时间。目前曾提出的一个解决此问题的方法是使所有INTn指令均由软件程序自身协同微处理机及其主操作系统来执行,而不利用模拟软件,就是说不将INTn指令俘获进主操作程序的模拟软件(或称之为模拟程序)中。申请人看到前述这种施措总的说节省了计算时间(对整个系统而言)和模拟时间,特别是在当-INTn指令是一简单指令,例如询问时间,或者即使稍为复杂一点的指令,例如打印一个字符时。然而申请人也发现,对于相当复杂的INTn指令,例如读文件,如能使这样的指令由模拟软件来俘获并执行,将更为有效。
鉴于上面所述,本发明的主要目的就在于有效地降低上述类型的计算机系统执行INTn指令所需的时间。
下面将会看到,这里揭示的一计算机系统包括有一给定的微处理机,例如386微处理机,此微处理机被专门设计在一虚拟操作模式下运行,这一操作模式使得早先为一较早设计的单程序微处理机,例如8086微处理机,编写的软件程序,例如DOS程序,能在一专门设计的主操作软件程序,例如WINDOWS或UNIX的控制下,在一被保护的、分页式、多任务环境中运行。这一系统还包含有作为该给定微处理机及主操作软件程序的组成部分的装置,它利用作为该主程序组成部分的模拟软件来执行INTn指令,以便模拟该较早的微处理机执行这些指令的过程。
为了减少总的计算机系统及特别是当计算机系统运行在虚拟操作模式期间模拟软件执行INTn所花费的时间,采取了这样的施措,即,使得某些INTn指令由模拟软件执行,同时也允许其他一些INTn指令不依靠模拟软件,而由早先写的程序来执行。在这里披露的具体实施例中,为整个系统设置了一个位映象表,其中包含有一系列二进制位,每一位对应于一个INTn指令。这些二进制位的每一位被置于或者为进行模拟的第一种状态,或者为不进行模拟的第二种状态。还设置有装置以使得与该位映象表的进行模拟的第一状态相对应的所有INTn指令通过模拟软件来执行,同时也允许与位映象表中不进行模拟的第二状态相对应的所有INTn指令不利用模拟软件由早先编写的程序协同主操作软件程序中的给定软件加以俘获和执行。
换句话说,本发明是使得一些而不是全部INTn指令不经模拟程序来执行。这样需进行模拟和不需模拟的那些INTn指令可以根据各个指令的复杂程度预先选定,从而使执行全部指令所需的整个时间减到最小。这既不同于包含全部INTn指令均由模拟执行的现有386微处理机的计算机系统,也不同于全部INTn指令均不作模拟运行的前述建议中改进的386系统。本发明采取了这两种方法中有关INTn指令执行的最佳处。
下面将结合附图详细讨论本发明。附图中:图1为对包含有较早的8086微处理机的先有技术计算机系统的某些方面的图示说明;
图2为包括较早的386微处理机的计算机系统的相似图,具体说明由模拟程序执行INTn指令的方法;
图3为对按照本发明执行INTn指令的计算机系统的图示说明;和
图4为描述图3所示计算机系统按照本发明执行INTn指令的流程图。
现在来看附图,首先注意图1,如上面指出的,它是对包含有较早的8086微处理机的先有技术计算机系统的某些方面的图解说明。全系统以一总的标号10表示。虽然这一系统还包括有许多图中未示出的部件,这里只特别地说明所包含的8086微处理机12,它具有-INTn寄存器14,一单磁盘操作系统(DOS)软件程序16,和多个输入/输出(I/O)外围设备18、20和22,例如分别为一监视器,一磁盘驱动器,和一键盘,当然本发明并不局限为这些特定的I/O装置。INTn寄存器14实际上按照当时正处理中的具体INTn指令,与一包含有不同执行地址的地址表(图中未示出)进行通信。系统10中具有256个可能的INTn指令0-255,其中每一个均以一特殊操作数作表征用作为对该表的索引。DOS中断向量例如包括有:
MS-DOS终止过程,
MS-DOS功能调度程序,
MS-DOS终止地址,
MS-DOS    Ctrl-C处理程序地址,
MS-DOS临界误差处理程序地址,
MS-DOS绝对磁盘读,
MS-DOS绝对磁盘写,
MS-DOS终止和保持驻留,
MS-DOS备用中断,
MS-DOS保留,
MS-DOS网络转接程序,
MS-DOS保留,
MS-DOS复用中断,
MS-DOS保留。
在对计算机系统10作了介绍之后,现在来看这一系统处理软件程序16中INTn指令的方法。例如假定程序16发出INTn指令INTn    21。操作数21被置入INTn寄存器14,它用作为对包含有与该指令相对应的特定执行子程序起始地址的地址表的索引。这是通过微处理机硬件结合单DOS程序16完成的。
现在来看图2,注意图中以标号24所指明的进一步的计算机系统。除这一系统与系统10之间其他的不同处之外,系统24包含有一以26标明的386微处理机,并能同时运行包括早先为8086微处理机编写的程序在内的一个以上的软件程序,虽然图中仅表示出一个例如DOS程序16的这样的程序。为了能同时运行多个软件程序,以及希望利用8086软件,此386微处理机被设计得在一特定的虚拟操作模式下运行,即就是如前面所说的,在一种这样的操作模式中使8086程序,例如DOS程序16,可在主操作系统控制下,在一被保护的、分页式、多任务环境中运行。如前面已说过的,一种这样的主操作系统就是先前引述的WINDOWS或UNIX程序,在图2中图示标号为32。这一程序被编写得包含有8086模拟软件(以后有时称其为模拟程序),它用来执行早先编写的程序中的特别包括有软件中断指令(INTn指令)在内的某些与中断相关的指令,以便对较早的8086微处理机执行这些指令的过程加以模拟。在这方面,系统24包含有一在功能上与INTn寄存器14相对应的INTn寄存器34。虽然图中没有表示出,系统24也包括有如图1中所示的I/O外设。
谈到计算机系统24,现在注意该系统以虚拟操作模式处理中断的方法。特别是,当一个特定的INTn指令,通过其中一个软件程序正在运行时,例如程序16,它被送到寄存器34。从这儿,该软件中断指令被该模拟软件俘获到主操作程序32的模拟程序中,并被执行,以模拟通过早先的8086微处理机12执行该指令的方法。所有INTn指令都这样执行。已经发现该模拟程序的执行时间相对于数量很小的被执行的INTn指令来说很不相称。早先建议的解决这问题的一个途径是排除模拟程序对所有INTn指令的俘获。因此,按照那个建议,所有的256    INTn指令均在模拟程序以外处理,亦即由DOS程序16本身协同微处理机26和主操作程序来执行。
如前面指出过的,虽然俘获并模拟全部INTn指令需要很多时间,但使得在模拟程序之外由软件程序16及其他相应的程序来执行全部INTn指令可能需要更多的时间。这是因为一些INTn指令可能很复杂,以致要求该软件程序结合微处理机及主操作程序执行该模拟程序无需执行的额外的子程序。下面将会立即看到,本发明将消除这一问题。
现在来看图3,观察又一个计算机系统36,亦即根据本发明所设计的系统。系统36包含有一经改进的386微处理机26′,在图3中标明为386′微处理机。这一微处理机与图2所示的386微处理机一样,专门设计得在一虚拟操作模式下运行,此虚拟模式使得多个早先编写的包括有例如DOS程序16的8086软件程序能在一特殊设计的主操作软件程序32′的控制下在一被保护的、分页式、多任务环境中运行。该主操作程序与系统24状况相同,具有它自己的8086模拟软件。所示系统36还包含有相应的INTn寄存器34,以及虽然图中未示出,还包括有与系统10中同样状况的I/O外设。另外,系统36包括有一位映象图38,它含有256个二进制位,其中每一位对应于256个INTn指令之一。每一二进制位或者处于例如以1表示的进行模拟的第一状态,或者处于例如以0表示的不作模拟的第二状态。微处理机26′及主操作软件程序32′被设计成能使所有与进行模拟的第一状态相对应的INTn指令由模拟软件执行;同时亦允许所有与不作模拟的第二状态相应的INTn指令不经模拟软件,而由早先编写的DOS程序16协同微处理机及主操作软件程序来执行。每一个相当于DOS程序16的其他软件程序均可以包含有其自己位映象图。
位映象图38中一特定位到底为进行模拟的第一状态还是为其不作模拟的第二状态由程序员决定,并被编进主操作软件程序中。这种决定取决于每一INTn指令的复杂程度。一般的规则是,那些复杂指令,如它在程序之外执行时将需要较长时间的话,例如磁盘I/O,就可以使其以与系统24同样的方式在模拟程序内俘获。另一方面,那些较简单的INTn指令,在模拟程序以外执行如能比其借助模拟程序执行速度快的话,即可由早先编写的软件程序协同微处理机及主操作程序来执行。虽然这是通常设置位映象图38中各不同位的标准,但程序员可以考虑采用另外的标准也是很显见的。本发明的特点就是赋于程序员这种灵活性。
阐述过计算机系统36以及它与系统24和先前建议的对系统24的改进之间的不同处之后,亦应理解本发明并不限于InTel公司的386微处理机及其附属部件,它的486TM微处理机,或任何相关的微处理机,尽管本发明特别适用于这些微处理机。另外由前面所述亦应是很清楚的,即就是本发明是专门关于INTn指令的处理的,已经说明的也仅仅是这些特点。当然,所述的每一系统还包括有不涉及本发明的其他部件。这些部件以及任何图中未作出但对系统处理INTn指令的操作是必须的部件,对于熟悉本技术领域的一般人员来说均应是显而易见的。
讨论过计算机系统36处理INTn指令的方法及其胜过现有技术和先前建议的系统的优点之后,现在来看图4。此图描述系统36按上述方式有选择性地处理INTn指令的过程的流程图。按照这一流程图及本文的论述,熟悉本技术领域的一般人员将能容易地实现本发明。
现在再来看图4,图中的流程图描述根据本发明图3中所示计算机系统36处理INTn指令的过程,虽然此流程图本身应该是足以说明问题的,这里还是对之作简短说明。如图示,首先要确定一特定INTn指令,即由位映象图来决定“n”被设置为1还是0。如果“n”为1,该指令即由模拟程序执行,处理结束。如果“n”为0,则该指令即由微处理机(包括其微程序)像在8086微处理机时那样执行,处理结束。

Claims (4)

1、在一包含有一专门设计成以-虚拟操作模式运行的给定微处理机的计算机系统中,该虚拟模式使得早先为一较早设计的单程序微处理机编写的软件程序,能由一特殊设计的主操作系统控制在一被保护的、分页式、多任务环境下运行,所述系统还包括有作为所述给定微处理机及所述主操作软件程序组成部分的装置,用来借助作为所述主程序的组成部分的模拟软件执行软件中断指令(INTn指令),以便对所述较早的微处理机执行所述指令的方法进行模拟,其特征在于对所述系统的改进包括:
为使得某些INTn指令由所述早先编写的程序协同所述给定微处理机及所述主操作软件程序执行,而不利用所述模拟软件的装置。
2、在一包含有一专门设计成以一虚拟操作模式运行的给定微处理机的计算机系统中,该虚拟模式使得早先为一较早设计的单程序微处理机编写的软件程序,能由一特殊设计的主操作系统控制在一被保护的、分页式、多任务环境下运行,所述系统还包括有作为所述给定微处理机及所述主操作软件程序组成部分的装置,用来借助作为所述主程序的组成部分的模拟软件执行软件中断指令(INTn指令),以便对所述较早的微处理机执行所述指令的方法进行模拟,其特征在于对所述系统的改进包括:
(a)一包含有一系列二进制位的位映象图,每一个二进制位对应于所述INTn指令中之一,每一所述二进制位或者处于一进行模拟的第一状态或者为一不作模拟的第二状态;
(b)为使某些INTn指令由所述早先编写的程序协同所述给定微处理机及所述主操作软件程序执行,而不利用所述模拟软件的装置。
3、在一包含有一专门设计成以一虚拟操作模式运行的给定微处理机的计算机系统的操作方法中,该虚拟模式使得早先为一较早设计的单程序微处理机编写的软件程序能由一特殊设计的主操作系统控制在一被保护的、分页式、多任务环境下运行,所述系统还包括有作为所述给定微处理机及所述主操作软件程序组成部分的装置,用来借助作为所述主程序的组成部分的模拟软件执行软件中断指令(INTn指令),以便对所述较早的微处理机执行所述指令的方法进行模拟,其特征在于对所述系统操作方法的改进包括下列步骤:
由所述模拟软件来执行某些所述INTn指令;而由所述早先编写的程序协同所述给定微处理机及所述主操作软件程序来执行某些另外的INTn指令,而不利用所述模拟软件。
4、在一包含有专门设计成以一模拟操作模式运行的给定微处理机的计算机系统的操作方法中,该虚拟模式使得早先为一较早设计的单程序微处理机编写的软件程序能由一特殊设计的主操作系统控制,在一被保护的、分页式、多任务环境下运行,所述系统还包括有作为所述给定微处理机及所述主操作软件程序组成部分的装置,用来借助作为所述主程序的组成部分的模拟软件执行软件中断指令(INTn指令),以便对所述较早的微处理机执行所述指令的方法进行模拟,其特征在于对所述系统的操作方法的改进包括下列步骤:
(a)设置一包含有一系列二进制位的位映象图,每一个二进制位对应于所述INTn指令中之一,每一所述二进制位或者处于一进行模拟的第一状态,或者为一不作模拟的第二状态;
(b)由所述模拟软件执行所有与所述进行模拟的第一状态相对应的INTn指令;由所述早先编写的程序协同所述给定微处理机和所述主操作软件程序来执行所有与所述不作模拟的第二状态相应的INTn指令,而不利用所述模拟软件。
CN92110985A 1991-09-23 1992-09-23 具有有选择地以虚拟模式运行的软件中断指令的计算机系统 Pending CN1071270A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US76398991A 1991-09-23 1991-09-23
US763,989 1991-09-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CNB031077935A Division CN100351790C (zh) 1991-09-23 1992-09-23 以两种操作模式执行软件中断指令的方法和计算机系统

Publications (1)

Publication Number Publication Date
CN1071270A true CN1071270A (zh) 1993-04-21

Family

ID=25069380

Family Applications (2)

Application Number Title Priority Date Filing Date
CN92110985A Pending CN1071270A (zh) 1991-09-23 1992-09-23 具有有选择地以虚拟模式运行的软件中断指令的计算机系统
CNB031077935A Expired - Lifetime CN100351790C (zh) 1991-09-23 1992-09-23 以两种操作模式执行软件中断指令的方法和计算机系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNB031077935A Expired - Lifetime CN100351790C (zh) 1991-09-23 1992-09-23 以两种操作模式执行软件中断指令的方法和计算机系统

Country Status (8)

Country Link
US (3) US6385718B1 (zh)
EP (1) EP0534597B1 (zh)
JP (1) JPH05216689A (zh)
KR (1) KR930006542A (zh)
CN (2) CN1071270A (zh)
AT (1) ATE192246T1 (zh)
DE (1) DE69230963T2 (zh)
SG (1) SG52380A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458749B (zh) * 2005-04-22 2012-05-30 微软公司 创建受保护环境的方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG52380A1 (en) 1991-09-23 1998-09-28 Intel Corp A computer system and method for executing interrupt instructions in two operating modes
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
US6253317B1 (en) * 1997-01-09 2001-06-26 Sun Microsystems, Inc. Method and apparatus for providing and handling traps
US6397242B1 (en) 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US8631066B2 (en) 1998-09-10 2014-01-14 Vmware, Inc. Mechanism for providing virtual machines for use by multiple users
US7516453B1 (en) 1998-10-26 2009-04-07 Vmware, Inc. Binary translator with precise exception synchronization mechanism
US6775780B1 (en) * 2000-03-16 2004-08-10 Networks Associates Technology, Inc. Detecting malicious software by analyzing patterns of system calls generated during emulation
SE519869C2 (sv) * 2000-12-01 2003-04-15 Saab Ab Datoranordning och förfarande för exekvering av programvaror av olika kritikalitet
US6907519B2 (en) * 2001-11-29 2005-06-14 Hewlett-Packard Development Company, L.P. Systems and methods for integrating emulated and native code
US20040267998A1 (en) * 2003-06-26 2004-12-30 Zimmer Vincent J Method to support legacy and native mode interrupts with multiplexed execution of legacy and native interrupt service
GB2412192B (en) * 2004-03-18 2007-08-29 Advanced Risc Mach Ltd Function calling mechanism
US7444449B2 (en) * 2006-02-09 2008-10-28 Sony Ericsson Mobile Communications Ab Method, computer program product and computer system for controlling execution of an interruption routine
DE102007015507B4 (de) * 2007-03-30 2010-09-02 Advanced Micro Devices, Inc., Sunnyvale Prozessor mit einem ersten und einem zweiten Betriebsmodus und Verfahren zu seinem Betrieb
EP2288996B1 (en) 2008-04-28 2014-01-29 Hewlett-Packard Development Company, L.P. Virtual-interrupt-mode interface and method for virtualizing an interrupt mode
US9851969B2 (en) 2010-06-24 2017-12-26 International Business Machines Corporation Function virtualization facility for function query of a processor
US10521231B2 (en) * 2010-06-24 2019-12-31 International Business Machines Corporation Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor
RU2514142C1 (ru) * 2012-12-25 2014-04-27 Закрытое акционерное общество "Лаборатория Касперского" Способ повышения эффективности работы аппаратного ускорения эмуляции приложений

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4547849A (en) * 1981-12-09 1985-10-15 Glenn Louie Interface between a microprocessor and a coprocessor
JPS58102381A (ja) * 1981-12-15 1983-06-17 Nec Corp バツフアメモリ
JPS6017539A (ja) * 1983-07-11 1985-01-29 Hitachi Ltd エミユレ−シヨン方式
US4739475A (en) * 1983-09-20 1988-04-19 Mensch Jr William D Topography for sixteen bit CMOS microprocessor with eight bit emulation and abort capability
US4876639A (en) * 1983-09-20 1989-10-24 Mensch Jr William D Method and circuitry for causing sixteen bit microprocessor to execute eight bit op codes to produce either internal sixteen bit operation or internal eight bit operation in accordance with an emulation bit
US5027273A (en) * 1985-04-10 1991-06-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US5282269A (en) * 1985-09-27 1994-01-25 Oce-Nederland B.V. Raster image memory
US4761737A (en) * 1986-01-16 1988-08-02 International Business Machines Corporation Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system
US5088033A (en) * 1986-04-28 1992-02-11 Xerox Corporation Data processing system emulation in a window with a coprocessor and I/O emulation
US5109329A (en) * 1987-02-06 1992-04-28 At&T Bell Laboratories Multiprocessing method and arrangement
US5003466A (en) * 1987-02-06 1991-03-26 At&T Bell Laboratories Multiprocessing method and arrangement
US5132971A (en) * 1987-02-06 1992-07-21 Anritsu Corporation In-circuit emulator
GB2203572B (en) * 1987-03-24 1991-11-27 Insignia Solutions Limited Improvements in data processing means
US4928237A (en) * 1987-03-27 1990-05-22 International Business Machines Corp. Computer system having mode independent addressing
ATE134779T1 (de) * 1987-06-12 1996-03-15 Bmc Software Inc Supervisorverfahren für ein rechnerbetriebssystem
US4926322A (en) * 1987-08-03 1990-05-15 Compag Computer Corporation Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management
US5018062A (en) * 1987-10-23 1991-05-21 A.I. Architects, Inc. Method and apparatus for overriding a ROM routine in response to a reset
JP2635057B2 (ja) * 1987-11-04 1997-07-30 株式会社日立製作所 マイクロプロセッサ
US4875639A (en) * 1988-07-26 1989-10-24 Zebco Corporation Depth setting device for a spinning reel
US5125087A (en) * 1988-11-07 1992-06-23 Microsoft Corporation Method of resetting sequence of access to extended memory disrupted by interrupt processing in 80286 compatible system using code segment register
US5027644A (en) * 1990-03-09 1991-07-02 Institute Of Gas Technology Method and apparatus for injecting acoustic signals into live gas mains
AU634431B2 (en) * 1990-11-27 1993-02-18 Kabushiki Kaisha Toshiba Japanese emulator
SG52380A1 (en) * 1991-09-23 1998-09-28 Intel Corp A computer system and method for executing interrupt instructions in two operating modes
US5392408A (en) * 1993-09-20 1995-02-21 Apple Computer, Inc. Address selective emulation routine pointer address mapping system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458749B (zh) * 2005-04-22 2012-05-30 微软公司 创建受保护环境的方法

Also Published As

Publication number Publication date
US6385718B1 (en) 2002-05-07
DE69230963T2 (de) 2000-12-07
EP0534597A3 (en) 1993-12-01
CN100351790C (zh) 2007-11-28
US20020120434A1 (en) 2002-08-29
EP0534597B1 (en) 2000-04-26
EP0534597A2 (en) 1993-03-31
DE69230963D1 (de) 2000-05-31
US20050091480A1 (en) 2005-04-28
ATE192246T1 (de) 2000-05-15
JPH05216689A (ja) 1993-08-27
US7010671B2 (en) 2006-03-07
CN1514364A (zh) 2004-07-21
KR930006542A (ko) 1993-04-21
SG52380A1 (en) 1998-09-28

Similar Documents

Publication Publication Date Title
CN100351790C (zh) 以两种操作模式执行软件中断指令的方法和计算机系统
US4794522A (en) Method for detecting modified object code in an emulator
EP0370274A2 (en) Personal computer/host emulation system for handling host data with personal computer application programs at personal computers
JP4766540B2 (ja) プログラムコード変換の検証を実行するための方法および装置
DE68928812D1 (de) Vorrichtung zur Auflösung von einer variablen Anzahl von möglichen Speicherzugriffskonflikten in einem Pipeline-Rechnersystem und Verfahren dazu
EP0387871B1 (en) Extended memory address control system
US5301277A (en) Method and apparatus for communicating peripheral data to/from minor operating systems running as subprocesses on a main operating system
KR920003044B1 (ko) 가상 머신 시스템용의 게스트 머신 실행 제어 시스템
US9361114B1 (en) Instruction based interrupt masking for managing interrupts in a computer environment
CN1071269A (zh) 具有与运行在虚拟模式下的指令相关的中断指令的计算机系统
JP2002108837A (ja) 計算機システムとその計算制御方法
CN1040588C (zh) 适用于实现顺序控制和伺服控制的计算机控制系统和方法
US5812846A (en) Method and apparatus for passing control from a first process to a second process
JPS6339933B2 (zh)
JP3045116B2 (ja) グラフィック描画装置
JP2727023B2 (ja) 情報処理装置
Lauesen Program control of operating systems
JPS6232540A (ja) 情報処理装置
JP2510295B2 (ja) レジスタ更新割出し制御装置
JPH01303554A (ja) 情報処理装置
JP2899009B2 (ja) 情報処理装置
Farrell et al. Debugging aids for microprocessor systems
Longley et al. Low Level Languages
JPH09114694A (ja) 並列処理シミュレーション方法及びその機構
JPS6334644A (ja) 機能レベルシミユレ−タ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication