CN100351790C - 以两种操作模式执行软件中断指令的方法和计算机系统 - Google Patents

以两种操作模式执行软件中断指令的方法和计算机系统 Download PDF

Info

Publication number
CN100351790C
CN100351790C CNB031077935A CN03107793A CN100351790C CN 100351790 C CN100351790 C CN 100351790C CN B031077935 A CNB031077935 A CN B031077935A CN 03107793 A CN03107793 A CN 03107793A CN 100351790 C CN100351790 C CN 100351790C
Authority
CN
China
Prior art keywords
microprocessor
interrupt
intn
imitation
instruction
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.)
Expired - Lifetime
Application number
CNB031077935A
Other languages
English (en)
Other versions
CN1514364A (zh
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 CN1514364A publication Critical patent/CN1514364A/zh
Anticipated expiration legal-status Critical
Application granted granted Critical
Publication of CN100351790C publication Critical patent/CN100351790C/zh
Expired - Lifetime 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

以两种操作模式执行软件中断指令的方法和计算机系统
本申请为分案申请,其母案的申请号为92110985.7,其申请日为1992年9月23日,而母案的发明名称则为“以两种操作模式执行软件中断指令的方法和计算机系统”。
技术领域
本发明总的说是关于包含有一专门设计为在一虚拟操作模式下运行的给定微处理机的计算机系统,该虚拟模式允许先前为较早设计的单程序微处理机编写的软件程序在一特殊设计的主操作软件程序控制下,于被保护的、分页式、多任务环境中执行。具体地说,本发明是关于对该给定微处理机及其主操作软件程序利用作为该主程序的一部分的模仿软件来处理软件中断指令(INTn指令)以模仿该较早微处理机执行这些指令的过程的方法的改进。
背景技术
在以上叙述中,引述了一给定微处理机,一先前编写的软件程序,一较早设计的单程序微处理机,及一专门设计的主操作软件程序。在本发明的具体实践中,该给定微处理机具体指一经改进的Intel公司80386和80486TM微处理机,下面将仅指386微处理机,因为对于本发明二者是同样适用的。该较早设计的单程序微处理机是指Intel公司较早设计的单程序8086微处理机。该早先编写的软件程序是指包括先前为8086微处理机编写的DOS程序在内的许多不同程序中的一种。最后,该主操作软件程序指像Microsoft公司的WINDOWSTM软件或AT & T公司的UNIXTM系统软件之类的任何合适的主(中央)控制操作系统。上述此二系统软件均是专门为该给定微处理机编写的,目的是使后者能在上述的虚拟操作模式下运行。虽然下面讨论的本发明将针对Intel 386(及486TM)和8086微处理机,先前编写的DOS程序,以及WINDOWS或UNIX操作系统,但应理解,本发明并不仅仅局限于这些指定的微处理机,这些先前编写的软件程序,和这些特定的中央操作系统。理解了这些亦就会想到8086和386微处理机的大概历史。在下面的详细叙述中,将对这些微处理机具体与本发明相关的地方进行仔细讨论。
可以无保留地说,Intel公司早先的8086微处理机是非常成功的,曾经为它编写有很多软件程序。但是既然这一微处理机是一系列随后不断改进的微处理机先驱者,自然会有其局限性。特别有一点,虽然对当时来说不一定认为是一种限制,就是该微处理机不能一次同时处理一个以上的软件程序。当然这就意味着程序本身亦不必在一被保护的、分页式、多任务环境下执行。但随着技术的发展,Intel公司终于开发出了它的386微处理机。此微处理机,正如上面所说的,能利用一较复杂的中央操作系统,例如WIND0WS或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指令INTn21。操作数“21”被置入INTn寄存器14,它用作为对包含有与该指令相对应的特定执行子程序起始地址的地址表的索引。这是通过微处理机硬件结合单DOS程序16完成的。
现在来看图2,注意图中以标号24所指明的进一步的计算机系统。除这一系统与系统10之间其他的不同处之外,系统24包含有一以26标明的386微处理机,并能同时运行包括早先为8086微处理机编写的程序在内的一个以上的软件程序,虽然图中仅表示出一个例如DOS程序16的这样的程序。为了能同时运行多个软件程序,以及希望利用8086软件,此386微处理机被设计得在一特定的虚拟操作模式下运行,即就是如前面所说的,一种使8086程序,例如DOS程序16,可在主操作系统控制下,在一被保护的、分页式、多任务环境中运行的操作模式。如前面已说过的,一种这样的主操作系统就是先前引述的WINDOWS或UNIX程序,在图2中图示标号为32。这一程序被编写得包含有8086模仿软件33(以后有时称其为模仿程序33),它用来执行早先编写的程序16中的特别包括有软件中断指令(INTn指令)在内的某些与中断相关的指令,以便对较早的8086微处理机执行这些指令的过程加以模仿。在这方面,系统24包含有一在功能上与INTn寄存器14相对应的INTn寄存器34。虽然图中没能表示出,系统24也包括有如图1中所示的I/O外设。
谈到计算机系统24,现在注意该系统以虚拟操作模式处理中断的方法。特别是,当一个特定的INTn指令,正在其中一个软件程序中运行时,例如程序16,它的操作数被送到寄存器34。从这儿,该软件中断指令被该模仿软件俘获到主操作程序32的模仿程序33中,并被执行,以模仿通过早先的8086微处理机12执行该指令的方法。所有INTn指令都这样执行。已经发现该模仿程序的执行时间相对于数量很小的被执行的INTn指令来说很不相称。早先建议的解决这问题的一个途径是排除模仿程序33对所有INTn指令的俘获。因此,按照那个建议,所有的256INTn指令均在模仿程序33以外处理,亦即由DOS程序16本身协同微处理机26和主操作程序32来执行。
如前面指出过的,虽然俘获并模仿全部INTn指令需要很多时间,但使得在模仿程序33之外由软件程序16及其他相应的程序来执行全部INTn指令可能需要更多的时间。这是因为一些INTn指令可能很复杂,以致要求该软件程序结合微处理机26及主操作程序32执行该模仿程序33无需执行的额外的子程序。下面将会立即看到,本发明将消除这一问题。
现在来看图3,观察又一个计算机系统36,亦即根据本发明所设计的系统。系统36包含有一经改进的386微处理机26′,在图3中标明为386′微处理机。这一微处理机与图2所示的386微处理机一样,专门设计得在一虚拟操作模式下运行,此虚拟模式使得多个早先编写的包括有例如DOS程序16的8086软件程序能在一特殊设计的主操作软件程序32′的控制下在一被保护的、分页式、多任条环境中运行。该主操作程序与系统24状态相同,具有它自己的8086模仿软件。图3中所示系统36还包含有相应的INTn寄存器34,以及虽然图中未示出,还包括有与系统10中同样状态的I/O外设。另外,系统36包括有一位映象图38,它含有256个二进制位,其中每一位对应于256个INTn指令之一。每一二进制位或者处于例如以1表示的进行模仿的第一状态,或者处于例如以0表示的不作模仿的第二状态。微处理机26′及主操作软件程序32′被设计成能使所有与进行模仿的第一状态相对应的INTn指令由模仿软件33执行;同时亦允许所有与不作模仿的第二状态相应的INTn指令不经模仿软件33′,而由早先编写的DOS程序16协同微处理机26′及主操作软件程序32′来执行。位映象图38处在主操作软件程序中。
位映象图38中一特定位到底为进行模仿的第一状态还是为其不作模仿的第二状态由程序员决定,并被编进主操作软件程序32′中。这种决定取决于每一INTn指令的复杂程度。一般的规则是,那些复杂指令,使它们在模仿程序33′之外执行时将需要较长时间的话,例如磁盘I/O,就可以使其以与系统24同样的方式在模仿程序内俘获。另一方面,那些较简单的INTn指令,在模仿程序33′以外执行如能比其借助模仿程序执行速度快的话,即可由早先编写的软件程序协同微处理机26′及主操作程序32′来执行。虽然这是通常设置位映象图38中各不同位的标准,但程序员可以考虑采用另外的标准也是很显见的。本发明的特点就是赋于程序员这种灵活性。
阐述过计算机系统36以及它与系统24和先前建议的对系统24的改进之间的不同处之后,亦应理解本发明并不限于Intel公司的386微处理机及其附属部件,它的486TM微处理机,或任何相关的微处理机,尽管本发明特别适用于这些微处理机。另外由前面所述亦应是很清楚的,即就是本发明是专门关于INTn指令的处理的,已经说明的也仅令是这些特点。显然,图3中所示的每一系统还包括有不涉及本发明的其他部件。这些部件以及任何图中未作出但对系统处理INTn指令的操作是必须的部件,对于熟悉本技术领域的一般人员来说均应是显而易见的。
讨论过计算机系统36处理INTn指令的方法及其胜过现有技术和先前建议的系统的优点之后,现在来看图4。此图描述系统36按上述方式有选择性地处理INTn指令的过程的流程图。按照这一流程图及本文的论述,熟悉本技术领域的一般人员将能容易地实现本发明。
现在来看图4,图中的流程图描述根据本发明图3中所示计算机系统36处理INTn指令的过程,虽然此流程图本身应该是足以说明问题的,这里还是对之作简短说明。如图示,首先要确定一特定INTn指令,即由位映象图来决定“n”被设置为1还是0。如果“n”为1,该指令即由模仿程序执行,处理结束。如果“n”为0,则该指令即由微处理机(包括其微程序)像在8086微处理机时那样执行,处理结束。

Claims (22)

1.一种微处理机,包括:
用于执行包含带有操作数的INTn中断指令在内的指令的装置;
用于响应所述INTn中断指令存取位映象图结构中的位的装置,
如果所述位处于第一状态,所述用于执行指令的装置响应所述INTn中断指令而执行模仿中断处理程序,如果所述位处于第二状态,该用于执行指令的装置响应所述INTn中断指令而执行非模仿中断处理程序。
2.根据权利要求1的微处理机,其特征在于还包括INTn寄存器,其中,所述微处理机根据存储在所述INTn寄存器中的所述INTn中断指令的操作数的值来确定用于模仿中断处理程序或非模仿中断处理程序的执行地址。
3.根据权利要求1的微处理机,其特征在于,所述微处理机根据所述INTn中断指令的操作数的值来确定用于模仿中断处理程序或非模仿中断处理程序的执行地址。
4.根据权利要求1的微处理机,其特征在于,所述INTn中断指令的操作数引入所述位映象图结构,以指定所述INTn中断指令是要由模仿中断处理程序执行还是由非模仿中断处理程序执行。
5.一种微处理机,包括:
执行装置,用于执行带有操作数(N)的INTn中断指令,以指定多个中断中的一个中断,所述多个中断中的每一个中断至少具有与模仿中断程序相关联的模仿模式和与非模仿中断程序相关联的非模仿模式;
促使装置,用于使所述多个中断中的一个中断通过软件模仿而得以在所述模仿模式下被处理,同时允许所述多个中断中的另外某些中断在所述非模仿模式下执行。
6.根据权利要求5的微处理机,其特征在于还包括INTn寄存器,其中所述微处理机根据存储在所述INTn寄存器中的所述INTn中断指令的操作数的值来确定用于所述模仿中断程序或非模仿中断程序的执行地址。
7.根据权利要求5的微处理机,其特征在于,所述微处理机根据该操作数来确定用于模仿所述中断程序或非模仿中断程序的执行地址。
8.根据权利要求5的微处理机,其特征在于,所述促使装置存取位映象结构,其中,所述INTn中断指令的操作数引入所述位映象结构,以指定所述INTn中断指令是要由所述模仿中断程序执行还是由所述非模仿中断程序执行。
9.一种微处理机,包括:
一执行单元,用来执行包括中断指令在内的指令,中断指令为具有指定中断号的操作数的INTn中断指令;
逻辑,响应所述中断指令和所述中断号存取包含与所述中断号对应的位的表,响应处于第一状态的所述位执行模仿中断处理程序,以及响应处于第二状态的所述位执行非模仿中断处理程序。
10.根据权利要求9的微处理机,其特征在于还包括INTn寄存器,其中所述微处理机亦能够根据存储在所述INTn寄存器中的所述中断号来确定执行地址。
11.根据权利要求9的微处理机,其特征在于,所述微处理机亦能够根据所述中断指令的操作数值来确定执行地址。
12.根据权利要求11的微处理机,其特征在于,所述微处理机被设计成操作于一种虚拟操作模式,该虚拟操作模式允许预先编写的程序在被保护的、分页式、多重任务的环境下操作。
13.根据权利要求9的微处理机,其特征在于,所述微处理机以一种虚拟操作模式操作。
14.根据权利要求13的微处理机,其特征在于,所述微处理机在被保护的、分页式、多重任务的环境下执行操作。
15.根据权利要求9的微处理机,其特征在于,所述表包含一系列的256位,256个INTn中断指令中的每一个对应其中一位。
16.根据权利要求9的微处理机,其特征在于,所述表与特定的任务有关。
17.根据权利要求16的微处理机,其特征在于,对于多个任务中的每个任务,一个不同的相关表将由微处理机进行谘询,其中所述不同的相关表根据中断指令的操作数而被引入。
18.根据权利要求9的微处理机,其特征在于,所述表与软件程序有关。
19.根据权利要求16的微处理机,其特征在于,所述特定任务由一个DOS程序执行。
20.根据权利要求9的微处理机,其特征在于,所述中断指令是一部分程序,其中,如果所述位为逻辑‘1’,则所述微处理机如同在8086微处理机中那样根据程序执行中断程序,其中如果所述位为逻辑‘0’,则所述微处理机为了模仿而要俘获所述中断指令。
21.根据权利要求17的微处理机,其特征在于,所述中断指令是一部分程序,其中,如果所述位为逻辑‘1’,则所述微处理机如同在8086微处理机中那样根据程序执行中断程序,其中如果所述位为逻辑‘0’,则所述微处理机为了模仿而要俘获所述中断指令。
22.根据权利要求9的微处理机,其特征在于,所述中断指令是一部分程序,其中,如果所述位为逻辑‘1’,则所述微处理机根据程序执行中断程序的处理,其中如果所述位为逻辑‘0’,则所述微处理机为了模仿而要俘获所述中断指令。
CNB031077935A 1991-09-23 1992-09-23 以两种操作模式执行软件中断指令的方法和计算机系统 Expired - Lifetime CN100351790C (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 Parent Applications (1)

Application Number Title Priority Date Filing Date
CN92110985A Division CN1071270A (zh) 1991-09-23 1992-09-23 具有有选择地以虚拟模式运行的软件中断指令的计算机系统

Publications (2)

Publication Number Publication Date
CN1514364A CN1514364A (zh) 2004-07-21
CN100351790C true CN100351790C (zh) 2007-11-28

Family

ID=25069380

Family Applications (2)

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

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN92110985A Pending CN1071270A (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) CN100351790C (zh)
AT (1) ATE192246T1 (zh)
DE (1) DE69230963T2 (zh)
SG (1) SG52380A1 (zh)

Families Citing this family (18)

* 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
CN101189615B (zh) * 2005-04-22 2010-06-09 微软公司 建立并维护受保护计算环境的方法
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
WO2009134218A1 (en) * 2008-04-28 2009-11-05 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 Закрытое акционерное общество "Лаборатория Касперского" Способ повышения эффективности работы аппаратного ускорения эмуляции приложений

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0297339A2 (en) * 1987-06-12 1989-01-04 BMC Software, Inc. Supervisory method for a computer operating system
US4812975A (en) * 1983-07-11 1989-03-14 Hitachi, Ltd. Emulation method
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
US4928237A (en) * 1987-03-27 1990-05-22 International Business Machines Corp. Computer system having mode independent addressing
US5003466A (en) * 1987-02-06 1991-03-26 At&T Bell Laboratories Multiprocessing method and arrangement
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
US5027273A (en) * 1985-04-10 1991-06-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor

Family Cites Families (17)

* 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 バツフアメモリ
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
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
US5132971A (en) * 1987-02-06 1992-07-21 Anritsu Corporation In-circuit emulator
US5109329A (en) * 1987-02-06 1992-04-28 At&T Bell Laboratories Multiprocessing method and arrangement
GB2203572B (en) * 1987-03-24 1991-11-27 Insignia Solutions Limited Improvements in data processing means
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4812975A (en) * 1983-07-11 1989-03-14 Hitachi, Ltd. Emulation method
US5027273A (en) * 1985-04-10 1991-06-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US5003466A (en) * 1987-02-06 1991-03-26 At&T Bell Laboratories Multiprocessing method and arrangement
US4928237A (en) * 1987-03-27 1990-05-22 International Business Machines Corp. Computer system having mode independent addressing
EP0297339A2 (en) * 1987-06-12 1989-01-04 BMC Software, Inc. Supervisory method for a computer operating system
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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN100351790C (zh) 以两种操作模式执行软件中断指令的方法和计算机系统
US4794522A (en) Method for detecting modified object code in an emulator
KR100385426B1 (ko) 개선된 마이크로프로세서내의 메모리 데이터 얼라이징 장치 및 방법
JP4766540B2 (ja) プログラムコード変換の検証を実行するための方法および装置
US5708838A (en) Distributed processing systems having a host processor and at least one object oriented processor
EP0370274A2 (en) Personal computer/host emulation system for handling host data with personal computer application programs at personal computers
KR20010014095A (ko) 어드레스되는 구성요소의 스펙큘레이션의 실패를 검출하기위한 메모리 제어기
JPH0766329B2 (ja) 情報処理装置
US5764962A (en) Emulation of asynchronous signals using a branch mechanism
WO1985001136A1 (en) Processor with depictor-linked microcode and logic circuitry
KR920003044B1 (ko) 가상 머신 시스템용의 게스트 머신 실행 제어 시스템
JP2002108837A (ja) 計算機システムとその計算制御方法
CN1071269A (zh) 具有与运行在虚拟模式下的指令相关的中断指令的计算机系统
KR20010029545A (ko) 타겟 프로세서의 상태를 일시적으로 보유하기 위한 장치를구비하는 호스트 마이크로프로세서
CN1575451A (zh) 降低额外开销的异常检测方法和装置
JPS6232540A (ja) 情報処理装置
Lauesen Program control of operating systems
JP2899009B2 (ja) 情報処理装置
JPH01303554A (ja) 情報処理装置
JPS6334644A (ja) 機能レベルシミユレ−タ
Mallach Simulating the Viatron 2140/2150 on the IBM 360
Bowring Writing a roll‐out‐roll‐in facility for small machines
JPH08305606A (ja) 分散並列処理プログラムデバッグ方式
JPH0370006A (ja) シーケンスコントローラ
JPH02308342A (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
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CX01 Expiry of patent term

Expiration termination date: 20120923

Granted publication date: 20071128