用于影响数据处理器中的顺序指令处理的方法和装置制造方法及图纸

技术编号:2888387 阅读:162 留言:0更新日期:2012-04-11 18:40
一种方法和装置影响数据处理器(10)内的随后指令的处理,在一个实施例中,由数据处理器(10)执行延迟中断识别指令(IDLY4),从而延迟或有条件地延迟中断识别一个被控制的时间间隔,或者是一个预定的时间段,或者是一个预定的指令数,使得指令的读/修改/写顺序可以不用限定修改操作的专用指令来执行。IDLY4指令可以影响随后指令影响条件位(38)的方式。因而条件位(38)可被用于确定在执行IDLY4指令之后的不识别中断的时间间隔期间是否发生异常处理。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种数据处理器,尤其涉及一种影响数据处理器中的顺序指令处理的方法和装置。数据处理器被越来越多地用于实时控制系统中,需要新的技术保证系统资源的有效利用。例如,在许多多任务系统中,具有几个任务试图共享某些相同的系统资源,例如存储器,打印机,或显示屏的一个端口。在这种多任务系统中,重要的是,以尽可能高的效率共享系统资源。例如,如果多个任务正在共享一个资源,则必须有一种方法用于指示当前哪个任务正在使用该资源,以及是否这一任务正在执行必须不被干扰的功能。在许多多任务系统中,对于这种功能使用信号量(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的延迟中断识别指令被用来实现增加基于存储器的计数器功能的一个实施例。现在说明最佳实施例的操作。在一个实施例中,本专利技术提供一种有效的方法和装置,用本文档来自技高网...

【技术保护点】
一种影响数据处理器中随后的指令处理的方法,其特征在于包括以下步骤: 接收一个或几个构成数据处理器的一个指令组的一组指令; 对接收的一个或几个一组指令译码; 执行被译码的一个或几个一组指令; 接收一个预定的指令,所述预定的指令是包含在指令组内的一个指令;以及 响应所述的译码,由数据处理器延迟处理其遇到的任何异常,所延迟的时间或者是跟随预定指令的译码的一个预定的指令数,或者是跟随预定指令的译码的一个预定的时间间隔。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:威廉姆C莫叶杰福里W斯考特
申请(专利权)人:摩托罗拉公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1