CN1216375A - 用于影响数据处理器中的顺序指令处理的方法和装置 - Google Patents

用于影响数据处理器中的顺序指令处理的方法和装置 Download PDF

Info

Publication number
CN1216375A
CN1216375A CN98121455A CN98121455A CN1216375A CN 1216375 A CN1216375 A CN 1216375A CN 98121455 A CN98121455 A CN 98121455A CN 98121455 A CN98121455 A CN 98121455A CN 1216375 A CN1216375 A CN 1216375A
Authority
CN
China
Prior art keywords
instruction
data processor
postpone
interrupt
predetermined
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.)
Granted
Application number
CN98121455A
Other languages
English (en)
Other versions
CN1098487C (zh
Inventor
威廉姆·C·莫叶
杰福里·W·斯考特
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.)
NXP USA Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of CN1216375A publication Critical patent/CN1216375A/zh
Application granted granted Critical
Publication of CN1098487C publication Critical patent/CN1098487C/zh
Anticipated expiration legal-status Critical
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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30079Pipeline control instructions, e.g. multicycle NOP
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种方法和装置影响数据处理器(10)内的随后指令的处理,在一个实施例中,由数据处理器(10)执行延迟中断识别指令(IDLY4),从而延迟或有条件地延迟中断识别一个被控制的时间间隔,或者是一个预定的时间段,或者是一个预定的指令数,使得指令的读/修改/写顺序可以不用限定修改操作的专用指令来执行。IDLY4指令可以影响随后指令影响条件位(38)的方式。因而条件位(38)可被用于确定在执行IDLY4指令之后的不识别中断的时间间隔期间是否发生异常处理。

Description

用于影响数据处理器中的顺序指令 处理的方法和装置
本发明涉及一种数据处理器,尤其涉及一种影响数据处理器中的顺序指令处理的方法和装置。
数据处理器被越来越多地用于实时控制系统中,需要新的技术保证系统资源的有效利用。例如,在许多多任务系统中,具有几个任务试图共享某些相同的系统资源,例如存储器,打印机,或显示屏的一个端口。在这种多任务系统中,重要的是,以尽可能高的效率共享系统资源。例如,如果多个任务正在共享一个资源,则必须有一种方法用于指示当前哪个任务正在使用该资源,以及是否这一任务正在执行必须不被干扰的功能。在许多多任务系统中,对于这种功能使用信号量(semaphore)。
信号量是一种反应系统资源的当前状态的标记类型或状态指示器。通常在信号量中的状态信息指示系统资源当前是否正在被使用。在一些多任务系统中,信号量也可以包括关于哪个任务正在使用该资源的信息,并且甚至包括正在该资源上执行的功能的类型。
例如,在存储器中的一个具体位置可被指定作为对于共享的变量X的信号量的位置。如果任何任务想使用该共享变量X,该任务必须通过读存储器中的那一具体位置读出共享变量X的信号量。变量X信号量含有关于变量X的状态的信息,例如变量X当前是否被保留被特定的任务独自访问。如果变量X信号量指示当前被保留因而处于忙状态,则新的任务必须等待。新的任务可以通过定期地读变量X信号量继续轮询变量X信号量,看是否其仍然被占用或已经成为可利用的。
一旦变量X信号量指示其不再被保留并因而是可利用的,则等待的任务对变量X信号量进行写操作,以便改变其状态为忙或不可利用的。等待的任务因而便有效地锁定变量X资源为其自己所利用。当变量X的信号量指示变量X正在被使用时没有其它任务可以使用变量X。一旦等待任务完成使用变量X,它便在变量X的信号量位置写入新的值,以便改变变量X信号量,表明其又再次成为可利用的。
在使用信号量分配共享的系统资源的系统中有一个严重问题。当一个以上的任务轮询共享的系统资源看该资源是否已经成为可利用的时候便产生问题。例如假设任务#1和任务#2二者都轮询变量X信号量。在变量X信号量已经被改变,表明其是可利用的之后,任务#1第一个读出变量X信号量。现在任务#2读变量X信号量,并且也得知其是可利用的。任务#1和任务#2都不知道有另一个任务在竞争变量X的使用。
如果任务#1收到一个中断,在从中断处重新开始之前它必须执行软件中断程序。同时,任务#2对变量X信号量写入一个值,表明变量X现在忙。然后,任务#2使用变量X进行处理。任务#1完成其中断程序并从其软件程序中的中断处重新开始。任务#1不知道已被使用。因而任务#1对变量X写入一个值,表明变量X现在忙,然后尝试使用变量X。然而变量X正在被任务#2使用。这样便发生冲突。结果,变量X可能是错误的,因而任务可能收到变量X的一个错误的值。因而,需要一种能够使多任务可行地且高效地共享公共资源的方法。
图1以方块图的形式说明按照本发明的一个实施例的数字处理器10;
图2以方块图的形式说明按照本发明的一个实施例的图1的中央处理单元(CPU)12的一部分;
图3以表的形式说明按照本发明的一个实施例的延迟中断识别指令的一个实施例;
图4以表的形式说明按照本发明的一个实施例进行测试和设置功能的指令序列的一个实施例;
图5以表的形式说明按照本发明的一个实施例进行交换存储器操作数功能的指令序列的一个实施例;以及
图6以表的形式说明按照本发明的一个实施例进行增加基于存储器的计数器功能的指令序列的一个实施例。
图1说明数据处理器10,在一个实施例中,数据处理器10包括中央处理单元(CPU)12,存储器14,总线接口模块16,和其它模块18,它们都通过总线20相互双向连接。总线接口模块16可以通过外部总线26使外部和数据处理器10相连。其它模块18通过一个或几个集成电路端子28选择地使外部和数据处理器10相连。存储器14通过一个或几个集成电路端子24选择地从外部连接数据处理器10。中央处理单元12通过一个或几个集成电路端子22使外部和数据处理器10相连。
仍然参看图1,本发明的另一个实施例可以使用任何结构类型的数据处理器10。此外,数据处理器10可以完成各种功能。例如,数据处理器10可以使用RISC(Reduced Instruction Set Computer)结构,可以使用Harvard结构,可以是矢量处理器,可以是SIMD(Single InstructionMutiple Data)处理器,可以进行浮点运算,可以进行数字信号处理计算等。
图2说明图1的CPU12的一部分。在一个实施例中,CPU12包括指令输送(pipe)电路30,指令译码电路32,寄存器34,算术逻辑单元(ALU)40,以及CPU控制电路42。CPU控制电路42通过控制/状态信号58双向地和指令输送电路30、指令译码电路32、寄存器34以及ALU40相连,以便提供控制信息和接收状态信息。指令输送电路30通过总线20接收指令。指令输送电路30可以存储要被执行的一个或几个指令。指令输送电路30通过导线54向指令译码电路32提供指令。指令译码电路32译码从指令输送电路30接收的指令并通过导线56把输出提供给CPU控制电路42。CPU控制电路42包括异常控制电路44,中断控制电路46和计数器/计时器电路48。
在本发明的一个实施例中,中断控制电路46双向地和计时器/计数器电路48相连。CPU控制电路42通过中断信号50接收来自总线20的一个或几个中断请求信号。其它模块18(见图1)或和外部总线26(未示出)相连的电路可以是通过中断信号50被CPU控制电路42接收的一个或几个中断请求的源。CPU控制电路42可以通过中断信号50向总线20提供一个或几个中断通知信号或其它的和中断有关的信号。CPU控制电路42可以通过异常(exception)信号52选择地接收一个或几个异常发生信号。在本发明的一些实施例中,CPU控制电路42可以向总线提供一个或几个异常通知信号或其它的异常状态信号。
仍然参看图2,在本发明的一个实施例中,异常控制电路44和异常信号52相连,中断控制电路46和中断信号50相连。异常控制电路44和中断控制电路46都和导线56以及控制/状态信号58相连。中断控制电路46可以选择地包括超越电路47。在本发明的另一些实施例中,超越电路47可以位于CPU控制电路42中的其它位置。CPU控制电路42可以通过集成电路端子22选择地使外部和数据处理器10相连。寄存器34双向地和总线20相连,以便接收和提供数据值。寄存器34包括寄存器36。寄存器36包括条件位38。寄存器34通过导线60和导线62与ALU40相连,以便提供计算的值。ALU40的输出通过导线64和寄存器34相连,以便提供来自ALU40的输出值。
图3说明可以由图2的CPU12执行的延迟中断识别指令的一个实施例。
图4说明可以通过使用图3的延迟中断识别指令被用来实现测试和设置功能的指令序列的一个实施例。
图5说明可以通过使用图3的延迟中断识别指令被用来实现交换存储器操作数功能的指令序列的一个实施例。
图6说明可以通过使用图3的延迟中断识别指令被用来实现增加基于存储器的计数器功能的一个实施例。
现在说明最佳实施例的操作。在一个实施例中,本发明提供一种有效的方法和装置,用于把中断识别延迟一个被控制的间隔,或者一个预定的时间间隔,或者一个预定的指令数,使得指令的读/修改/写顺序可以不用限定修改操作的专用指令来执行。
术语“总线”用来指可以用来传递一个或几个各种类型的信息,例如数据,地址,控制或状态的一组信号或导线。术语“肯定”和“否定”分别用来指信号、状态位或类似的装置的逻辑值为真或假。如果逻辑真状态的逻辑值为1,则逻辑假状态的逻辑值为0。并且如果逻辑真状态的逻辑值为0,则逻辑假状态的逻辑值为1。
参看图3,在本发明的一个实施例中,在使用加载/存储结构的处理器,例如图1和2所示的数据处理器10中,延迟中断识别指令(例如IDLY4)可用来使中断识别延迟一个预定的指令数。
在本发明的一个实施例中,中断识别被延迟的预定的立即相继的指令数可以是固定的值(例如4个指令)。本发明的另一个实施例可以把这预定的指令数固定为任何正整数。图3所示的本发明的一个实施例把中断识别延迟4个指令,这在执行延迟中断识别指令(IDLY4)立即执行。这样,执行延迟中断识别指令,则在随后的4个指令期间,没有中断被识别,在开始执行跟随IDLY4指令的第五个指令时,中断识别开始。
要说明的是,本发明的一些实施例可以计数执行的指令作为用作预定的相继指令数部分的异常处理部分。而本发明的其它实施例可以不计数执行的指令作为用作预定的相继指令数部分的异常处理部分。
在本发明的第一实施例中,在已经执行延迟中断识别指令之后,在执行预定的指令数期间,中断识别被禁止或延迟。中断识别被禁止或延迟的这一预定的指令数可用多种方法确定。例如,延迟中断识别指令本身可以包括确定中断识别被延迟的指令数的字段(例如图3中的选择的说明符字段70)。在其它的实施例中,可由用户编程的控制寄存器(例如图2的寄存器34中的一个)包含用于确定中断识别被延迟的预定的指令数的值。本发明的其它实施例可以使用任何类型的方法来选择预定的指令数,例如通过集成电路端子或通过掩模可编程存储装置提供预定的指令数。
在本发明的一个实施例中,如果延迟中断识别指令在执行预定的相继指令数期间延迟中断的识别,则图2所示的电路的操作方式如下。借助于指令管道30从总线20接收延迟中断识别指令。然后,指令管道30把这指令在合适的时刻提供给指令译码电路。然后指令译码电路32通过导线56把对延迟中断识别指令进行正确译码的信号提供给CPU控制电路42。CPU控制电路42然后使用中断控制电路46延迟借助于中断信号50接收的中断请求的识别。CPU控制电路42将延迟中断请求识别一个预定的指令数。CPU控制电路42可以使用计数器/计时器48和借助于信号58从指令管道30和指令译码电路32接收的信息,确定在执行延迟中断识别指令之后紧接执行了多少指令。
对于本发明的一些实施例,尤其是使用流水线处理器结构的那些实施例,CPU控制电路42可以只计数执行完毕的随后的指令,或者可以计数任何随后的指令,对于这些指令在每个指令的取出、译码、和执行周期期间已达到预定的级。
代替延迟中断的识别一个预定的随后指令数,本发明的另外的实施例可以规定一个中断识别被延迟的预定的时间间隔。在这些另外的实施例中,可以使用计时器或计时器(例如图2中的计时器/计时器48)计数预定的时钟周期数,或计数中断识别被延迟的纳秒数。
在本发明的一个实施例中,如果延迟中断识别指令在执行预定的随后时钟周期数或纳秒数期间延迟中断的识别,图2中所示的CPU控制电路42将使用计时器/计时器48计数纳秒数或时钟周期数,而不计数正在被执行的指令数。此外,可以使用用户可编程的机构,例如指令本身(例如图3中的选择的说明符字段70),寄存器值或另外的可编程的方法,向计时器/计时器48提供纳秒数或时钟周期数,以便确定在执行延迟中断识别指令之后中断不被识别的时间间隔的长度。
在本发明的一个实施例中,在执行完毕延迟中断识别指令之后,CPU控制电路42开始计数不识别中断的时间间隔。不过,在本发明的另一个实施例中,CPU控制电路42可以在延迟中断识别指令的译码开始之后的任何时刻开始计数不识别中断的时间间隔。
对于本发明的一些实施例,在延迟中断识别指令之后可以跟随着任何类型的指令。不过,在一些情况下,把需要周期数多的指令例如除指令放在跟随延迟中断识别指令的指令序列中可能引起中断的时间间隔过长。为了解决这一问题,本发明的一些实施例限制紧跟着延迟中断识别指令的指令的类型。例如,参见图3,紧跟着延迟中断识别指令的4个指令可被限制为一个周期的算术或逻辑指令、分支指令和加载或存储指令。限制在其期间中断识别被延迟的指令的目的在于减少最大的中断等待时间间隔。本发明的另一个实施例可以限制或不限制在其期间中断识别被延迟的指令的类型,因而可以限制或不限制可以跟随延迟中断识别指令的指令类型。对于不同的处理器10,可以跟随延迟中断识别指令的指令的具体设置可以不同,并且在一些实施例中,可以是用户可编程的。
本发明的另外的实施例可用不同的方式借助于异常处理来改变。在图3所示的本发明的实施例中,在中断不被识别的时间间隔期间一直检测异常并被取出。不过本发明的其它实施例可以检测而不处理发生在中断识别被延迟的时间间隔内的异常。还有其它的另外的实施例在中断不被识别的时间间隔内甚至可以不检测因而也不处理异常。此外,本发明的另外的实施例可以处理不同地处理不同类型的异常。例如,图3所示的延迟中断识别指令(IDLY4)允许发生非跟踪和非间断点异常,以便在中断不被识别的时间间隔内清除条件位38(见图2),而跟踪和间断点异常不影响条件位38。
在本发明的一些实施例中,可以使用一种机构用于在执行延迟中断识别指令之后的非识别时间间隔重新允许中断。例如,在一个预定的时间间隔期间,计时器/计时器48可用于检测一个特定等级的中断在这段时间间隔已被挂起,并因而在中断非识别间隔过去之前需要被识别。这样,在本发明的一些实施例中,使用超越电路47,即使在执行仍然保留在中断非识别间隔内时(即由预定的指令数、时钟周期、或纳秒数限定的),可以重新允许中断。如果中断识别不被重新允许,当前指令可在数据流中间被中断,或在中断再被识别之前被允许继续并完成执行。
本发明的一些实施例可以延迟所有中断的识别,而本发明的另一些实施例可能仅延迟在预定的中断等级以下的中断的识别。预定的中断等级可用任何方式规定。例如预定的中断等级可规定作为延迟中断识别指令格式本身的部分,或者可以通过在用户可编程的寄存器中存储一个值来规定,可以通过集成电路端子提供一个值来规定,或者可以通过在掩模可编程存储电路中存储一个值来规定。
在另一个实施例中,本发明允许第一指令改变随后的指令影响状态标记的方式。在本发明的一个实施例中,图3所示的延迟中断识别指令(IDLY4)的执行可以改变一个或几个随后的指令影响图2的条件位38的方式。例如,参看图4-6,在本发明的一个实施例中,IDLY4指令肯定条件位38。然后,如果在4个随后的指令的任何一个期间发生异常,在异常发生时正在被执行的指令将否定条件位38。这样,在正常情况下被规定永不清除或否定条件位38的指令(例如加载指令),当加载指令是在IDLY4指令之后的4个随后指令之一时,如果在加载指令的执行期间发生异常,则现在可以清除条件代码位38。这样,IDLY4指令可以影响随后指令(例如加载指令)影响条件位38的方式。用这种方式使用条件位38的一个目的是表明4个随后的指令没有以各自的方式被执行,以及异常处理可能已影响共享的资源。
注意图4-图6所示的指令序列都包括检查条件位38,以便确定在IDLY4指令(即如果条件代码位38等于0,则转换到SEQUENCE-FAILED)之后,在4个非异常处理指令期间是否已收到异常并被处理。如果在IDLY4指令之后已收到异常并被处理,则“BF”指令转换到一个称为SEQUENCE-FAILED的指令的子程序,其可用于表明在IDLY4指令之后的4个指令没有以各自的方式被执行,并且异常处理可能已经影响共享的资源,例如信号量。
图4说明一系列的指令,它们使用图3所示的延迟中断识别指令(IDLY4)以实现测试和设置功能。图4所示的测试和设置功能测试存储器操作数,以便确定存储器操作数的当前值是否都是0,并把存储器操作数的值都改变成1(即设置存储器操作数的所有的位)。因而,图4所示的指令序列可以用来根据在存储器中存储的信号量值实现测试和设置功能。延迟中断识别指令(IDLY4)可被用来保证测试和设置功能以不可分割的方式被实现,从而使得信号量值不会由在测试操作和在设置操作之间的中断图4所示的软件程序的不同的任务搞错。
注意图4所示的指令序列实际上在进行测试操作之前进行设置操作。这是可能的,因为IDLY4指令可被用于保证设置和测试两种操作在另一个任务被允许中断之前被完成,并且因为在本例中的信号量值只有两个可能的值,即全部为1或全部为0。因此如果信号量的起始值全部为1,则设置信号量的步骤将不改变信号量的值。注意执行测试和设置功能的另一个指令序列可以在设置操作之前执行测试操作。
图5说明使用图3所示的延迟中断识别指令(IDLY4)的一个指令序列,其执行“交换存储器操作数和寄存器操作数”功能。图5所示的“交换存储器操作数和寄存器操作数”功能实际上从其存储器的起始位置中的被称为“EXCHANGE-VALUE”的值移动到寄存器R1,然后移动到信号量值的位置。注意信号量值的位置由称为“SEMAPHORE”的指针指定。该信号量的值被从其存储器中的初始位置移动到寄存器R3。在图5所示的特定的指令序列中,最后的“OR”指令除去完成在IDLY4指令之后的4个指令序列之外,不进行有用的操作,并因而停止中断识别的延迟。因此,最后的“OR”指令和no operation(NOP)指令具有相同的效果,并可以用不同的指令替代。
图6说明使用图3所示的延迟中断识别指令(IDLY4)完成“增加基于存储器的计数器”功能的一系列指令。图6所示的“增加基于存储器的计数器”功能实际上把信号量值从其存储器中的初始位置移动到寄存器R3中,然后使信号量值增加1。注意信号量值的位置由称为“SEMAPHORE”的指针指定。然后把增加的信号量值从寄存器R3移动回到其存储器的初始位置。
虽然参照特定的实施例对本发明进行了说明,对于本领域的技术人员,会有其它的改型和改进。因此,应该理解,本发明不限于所说明的特定的形式,所附的权利要求包括了不脱离本发明的构思的所有的改型。

Claims (8)

1.一种影响数据处理器中随后的指令处理的方法,其特征在于包括以下步骤:
接收一个或几个构成数据处理器的一个指令组的一组指令;
对接收的一个或几个一组指令译码;
执行被译码的一个或几个一组指令;
接收一个预定的指令,所述预定的指令是包含在指令组内的一个指令;以及
响应所述的译码,由数据处理器延迟处理其遇到的任何异常,所延迟的时间或者是跟随预定指令的译码的一个预定的指令数,或者是跟随预定指令的译码的一个预定的时间间隔。
2.如权利要求1所述的方法,其特征在于还包括在延迟处理任何异常之前执行预定的指令的步骤。
3.如权利要求1所述的方法,其中延迟处理任何异常的步骤还包括以下步骤:
延迟任何异常的处理直到完成执行跟随着预定指令的译码由数据处理器处理的4个随后的指令。
4.如权利要求1所述的方法,其中延迟处理任何异常的步骤还包括以下步骤:
使用计数器作为计时器,用于确定跟随着预定指令的译码的预定的时间间隔。
5.如权利要求1所述的方法,其中由数据处理器延迟处理任何异常的步骤还包括只响应中断条件异常延迟处理的步骤。
6.一种数据处理器,其特征在于:
指令执行电路,其执行预定的指令组,预定的指令组包括至少一个指令,该指令当由指令执行电路执行时,使数据处理器延迟和数据处理器的操作相关的中断条件的识别一个跟随着至少一个指令的执行的一个预定的指令数。
7.如权利要求6所述的数据处理器,其中数据处理器延迟中断条件的识别的预定的指令数是可以由数据处理器的用户编程的。
8.如权利要求6所述的数据处理器,其中预定的指令数是4。
CN98121455A 1997-11-03 1998-11-02 用于影响数据处理器中的顺序指令处理的方法和装置 Expired - Lifetime CN1098487C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US963,321 1997-11-03
US08/963,321 US6000029A (en) 1997-11-03 1997-11-03 Method and apparatus for affecting subsequent instruction processing in a data processor
US963321 1997-11-03

Publications (2)

Publication Number Publication Date
CN1216375A true CN1216375A (zh) 1999-05-12
CN1098487C CN1098487C (zh) 2003-01-08

Family

ID=25507071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98121455A Expired - Lifetime CN1098487C (zh) 1997-11-03 1998-11-02 用于影响数据处理器中的顺序指令处理的方法和装置

Country Status (9)

Country Link
US (2) US6000029A (zh)
EP (1) EP0913767B1 (zh)
JP (2) JP4883824B2 (zh)
KR (1) KR100588790B1 (zh)
CN (1) CN1098487C (zh)
DE (1) DE69810064T2 (zh)
HK (1) HK1020218A1 (zh)
SG (2) SG71861A1 (zh)
TW (1) TW494363B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100495324C (zh) * 2006-07-27 2009-06-03 中国科学院计算技术研究所 复杂指令集体系结构中的深度优先异常处理方法

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7805724B1 (en) * 1998-05-27 2010-09-28 Arc International I.P., Inc. Apparatus, method and computer program for dynamic slip control in real-time scheduling
JP2000330785A (ja) * 1999-05-18 2000-11-30 Sharp Corp 実時間プロセッサおよび命令実行方法
US6618800B1 (en) * 2000-01-18 2003-09-09 Systemonic Ag Procedure and processor arrangement for parallel data processing
GB2369464B (en) 2000-11-27 2005-01-05 Advanced Risc Mach Ltd A data processing apparatus and method for saving return state
US6857036B2 (en) * 2001-07-17 2005-02-15 Hewlett Packard Development Company, L.P. Hardware method for implementing atomic semaphore operations using code macros
US20030154347A1 (en) * 2002-02-12 2003-08-14 Wei Ma Methods and apparatus for reducing processor power consumption
US7844053B2 (en) 2003-04-18 2010-11-30 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7925891B2 (en) 2003-04-18 2011-04-12 Via Technologies, Inc. Apparatus and method for employing cryptographic functions to generate a message digest
US7542566B2 (en) 2003-04-18 2009-06-02 Ip-First, Llc Apparatus and method for performing transparent cipher block chaining mode cryptographic functions
US7502943B2 (en) 2003-04-18 2009-03-10 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic block cipher round results
US7536560B2 (en) 2003-04-18 2009-05-19 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic key size
US7529368B2 (en) 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent output feedback mode cryptographic functions
US7321910B2 (en) 2003-04-18 2008-01-22 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7532722B2 (en) 2003-04-18 2009-05-12 Ip-First, Llc Apparatus and method for performing transparent block cipher cryptographic functions
US7539876B2 (en) 2003-04-18 2009-05-26 Via Technologies, Inc. Apparatus and method for generating a cryptographic key schedule in a microprocessor
US7392400B2 (en) 2003-04-18 2008-06-24 Via Technologies, Inc. Microprocessor apparatus and method for optimizing block cipher cryptographic functions
US7519833B2 (en) 2003-04-18 2009-04-14 Via Technologies, Inc. Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine
US7900055B2 (en) 2003-04-18 2011-03-01 Via Technologies, Inc. Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms
US7529367B2 (en) 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent cipher feedback mode cryptographic functions
US9436477B2 (en) 2012-06-15 2016-09-06 International Business Machines Corporation Transaction abort instruction
US9336046B2 (en) 2012-06-15 2016-05-10 International Business Machines Corporation Transaction abort processing
US9384004B2 (en) 2012-06-15 2016-07-05 International Business Machines Corporation Randomized testing within transactional execution
US9317460B2 (en) 2012-06-15 2016-04-19 International Business Machines Corporation Program event recording within a transactional environment
US8688661B2 (en) 2012-06-15 2014-04-01 International Business Machines Corporation Transactional processing
US8966324B2 (en) 2012-06-15 2015-02-24 International Business Machines Corporation Transactional execution branch indications
US8682877B2 (en) 2012-06-15 2014-03-25 International Business Machines Corporation Constrained transaction execution
US9442737B2 (en) 2012-06-15 2016-09-13 International Business Machines Corporation Restricting processing within a processor to facilitate transaction completion
US9367323B2 (en) 2012-06-15 2016-06-14 International Business Machines Corporation Processor assist facility
US20130339680A1 (en) 2012-06-15 2013-12-19 International Business Machines Corporation Nontransactional store instruction
US10437602B2 (en) 2012-06-15 2019-10-08 International Business Machines Corporation Program interruption filtering in transactional execution
US9740549B2 (en) 2012-06-15 2017-08-22 International Business Machines Corporation Facilitating transaction completion subsequent to repeated aborts of the transaction
US9348642B2 (en) 2012-06-15 2016-05-24 International Business Machines Corporation Transaction begin/end instructions
US9772854B2 (en) 2012-06-15 2017-09-26 International Business Machines Corporation Selectively controlling instruction execution in transactional processing
US9448796B2 (en) 2012-06-15 2016-09-20 International Business Machines Corporation Restricted instructions in transactional execution
US8880959B2 (en) 2012-06-15 2014-11-04 International Business Machines Corporation Transaction diagnostic block
US9361115B2 (en) 2012-06-15 2016-06-07 International Business Machines Corporation Saving/restoring selected registers in transactional processing
CN110535790B (zh) * 2019-08-23 2022-03-18 天津芯海创科技有限公司 基于semaphore的交换芯片异常报文处理方法
US20240004696A1 (en) * 2022-06-29 2024-01-04 Red Hat, Inc. Synchronizing concurrent tasks using interrupt deferral instructions

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5440049A (en) * 1977-09-06 1979-03-28 Toshiba Corp Information process system
US4236204A (en) 1978-03-13 1980-11-25 Motorola, Inc. Instruction set modifier register
US4435766A (en) * 1981-06-16 1984-03-06 International Business Machines Corporation Nested resource control using locking and unlocking routines with use counter for plural processes
CN1004234B (zh) * 1985-04-01 1989-05-17 坦德姆计算机有限公司 增强的中央处理器(cpu)微转移结构
US4764893A (en) * 1985-04-26 1988-08-16 International Business Machines Corporation Noise-immune interrupt level sharing
CN1009399B (zh) * 1987-06-02 1990-08-29 德国Itt工业股份公司 中央处理器
US5499356A (en) * 1989-12-29 1996-03-12 Cray Research, Inc. Method and apparatus for a multiprocessor resource lockout instruction
JPH03210649A (ja) * 1990-01-12 1991-09-13 Fujitsu Ltd マイクロコンピュータおよびそのバスサイクル制御方法
JP2665813B2 (ja) * 1990-02-23 1997-10-22 三菱電機株式会社 記憶制御装置
JPH05508496A (ja) * 1990-06-11 1993-11-25 クレイ、リサーチ、インコーポレーテッド 命令をロードおよびフラグする方法および装置
JPH0467229A (ja) * 1990-07-06 1992-03-03 Hitachi Ltd マイクロプロセッサおよびメモリシステム
JPH0474229A (ja) * 1990-07-17 1992-03-09 Toshiba Corp 情報処理装置
JPH04306735A (ja) * 1991-04-04 1992-10-29 Toshiba Corp 非同期割込み禁止機構
US5301312A (en) * 1991-08-21 1994-04-05 International Business Machines Corporation Method and system for utilizing benign fault occurrence to measure interrupt-blocking times
US5283870A (en) * 1991-10-04 1994-02-01 Bull Hn Information Systems Inc. Method and apparatus for avoiding processor deadly embrace in a multiprocessor system
JPH05143322A (ja) * 1991-11-15 1993-06-11 Sanyo Electric Co Ltd マイクロコンピユータ
EP0555680B1 (en) * 1992-02-14 1999-10-13 Motorola, Inc. A method and apparatus for determining instruction execution ordering in a data processing system
US5590380A (en) * 1992-04-22 1996-12-31 Kabushiki Kaisha Toshiba Multiprocessor system with processor arbitration and priority level setting by the selected processor
JPH06110846A (ja) * 1992-09-25 1994-04-22 Fujitsu Ltd 排他制御方式
US5768619A (en) * 1996-02-16 1998-06-16 Advanced Micro Devices, Inc. Method and system for enabling and disabling functions in a peripheral device for a processor system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100495324C (zh) * 2006-07-27 2009-06-03 中国科学院计算技术研究所 复杂指令集体系结构中的深度优先异常处理方法

Also Published As

Publication number Publication date
JP2009104675A (ja) 2009-05-14
JP4750865B2 (ja) 2011-08-17
DE69810064D1 (de) 2003-01-23
KR19990044957A (ko) 1999-06-25
JP4883824B2 (ja) 2012-02-22
HK1020218A1 (en) 2000-03-31
EP0913767A2 (en) 1999-05-06
US6237089B1 (en) 2001-05-22
SG71861A1 (en) 2000-04-18
SG101487A1 (en) 2004-01-30
JPH11219302A (ja) 1999-08-10
CN1098487C (zh) 2003-01-08
EP0913767B1 (en) 2002-12-11
US6000029A (en) 1999-12-07
EP0913767A3 (en) 2000-01-26
TW494363B (en) 2002-07-11
KR100588790B1 (ko) 2006-10-04
DE69810064T2 (de) 2003-04-17

Similar Documents

Publication Publication Date Title
CN1098487C (zh) 用于影响数据处理器中的顺序指令处理的方法和装置
US4177513A (en) Task handling apparatus for a computer system
US20040205747A1 (en) Breakpoint for parallel hardware threads in multithreaded processor
US4200912A (en) Processor interrupt system
EP0777877B1 (en) Processing system, processor, memory storing instruction stream and compiler
US7376820B2 (en) Information processing unit, and exception processing method for specific application-purpose operation instruction
EP0482200B1 (en) Interrupt processing system
EP0247155A1 (en) A method and apparatus for minimizing overhead when executing nested do loops
US5778247A (en) Multi-pipeline microprocessor with data precision mode indicator
WO2001086426A2 (en) System and method for performing a synchronization operation for multiple devices in a computer system
US6070218A (en) Interrupt capture and hold mechanism
JP3822568B2 (ja) イベント処理
US20050257224A1 (en) Processor with instruction-based interrupt handling
US5283891A (en) Error information saving apparatus of computer
EP2159692A1 (en) Information processor and load arbitration control method
US5790872A (en) Interrupt control handler for a RISC-type microprocessor
AU626067B2 (en) Apparatus and method for control of asynchronous program interrupt events in a data processing system
US7124288B2 (en) Programmable unit with a stack buffer storage device configurable into discrete shadow storage elements accessible by a plurality of command execution units
JP2990800B2 (ja) 割込み処理装置
EP0211487A1 (en) Conditional operations in computers
CN1133124C (zh) 程序管理/数据处理分离式体系结构的数字信号处理器
CN113806025A (zh) 数据处理方法、系统、电子装置及存储介质
JP2000020310A (ja) プロセッサ
Richardson The Fred VHDL Model
JPH01226031A (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
ASS Succession or assignment of patent right

Owner name: FREEDOM SEMICONDUCTORS CO.

Free format text: FORMER OWNER: MOTOROLA, INC.

Effective date: 20040820

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20040820

Address after: Texas in the United States

Patentee after: FreeScale Semiconductor

Address before: Illinois Instrunment

Patentee before: Motorola, Inc.

C56 Change in the name or address of the patentee

Owner name: FISICAL SEMICONDUCTOR INC.

Free format text: FORMER NAME: FREEDOM SEMICONDUCTOR CORP.

CP01 Change in the name or title of a patent holder

Address after: Texas in the United States

Patentee after: FREESCALE SEMICONDUCTOR, Inc.

Address before: Texas in the United States

Patentee before: FreeScale Semiconductor

CX01 Expiry of patent term

Granted publication date: 20030108

CX01 Expiry of patent term