事件驱动与循环的前后关系控制器及其应用处理器制造技术

技术编号:2887302 阅读:205 留言:0更新日期:2012-04-11 18:40
一种用于管理处理器中多任务处理的前后关系控制器和操作该控制器的方法。在一个实施例中,前后关系控制器包括:(1)一个前台任务控制器,根据优先级并且响应于事件激活对应于前台任务的前后关系,以及(2)一个后台任务控制器,与前台任务控制器合作,当执行对应于前台任务的前后关系时它服从可利用的处理器资源,循环地执行对应于激活的后台任务的前后关系。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】
相互参照有关的申请 上面列出的申请是与本专利技术一起共同转让的,在此作为一个整体再现并且作为参考。这个申请还要求与本专利技术一起共同转让的并且在此作为参考的美国临时申请系列号60/077,454的利益,它于1998年3月10日申请,名称为“事件驱动与周期的前后关系(context)控制器及其应用处理器”。通用计算机中的处理器以及用作嵌入式控制器的处理器一般被编程来同时处理多个任务。这些任务的一个子集必须响应特定的、外部事件以及时的方式执行,而这些任务其余部分的执行可以不受严格的、实时限制。为了使用单个数据路径处理这两组任务,这些处理器要求一个有效的装置用于快速地响应外部事件,而每当不处理外部事件时允许进行非实时处理。用于事件响应的主要机理是程序中断,它首先用在50年代中期。过去的四十年中,大多数处理器结构已经包括一个程序中断功能,一旦外部事件发生,该功能挂起“后台”任务的执行并且启动“前台”任务的执行。一般称为“中断”的每个程序中断根据一个适当事件的要求(适合同步于处理器的指令流)导致对处理器的执行状态的可逆变化。50年代后期发展的优先中断是对于程序中断功能的一般增强。在支持优先中断的处理器中,对于多个事件(中断请求)信号,静态地或动态地分配不同的优先级。与这些信号中每一个有关的是用于在处理器执行状态中可逆变化的唯一的可识别总状态。当启动中断状态变化时优先中断的每次发生选择与此时要求的最高优先中断请求有关的总状态。当在处理器的程序执行状态中执行可逆变化时的基本动作是保存中断程序的执行地址(以及隐含的指令间状态,如条件码),并且在与引起中断的事件有关的程序地址上开始中断处理。这个程序地址一般从称为中断向量的预定存储单元获得。在中断处理程序结束时,恢复保存的执行地址(以及状态值,即使有的话),允许在中断的点重新开始执行中断程序。在大多数中断处理程序中,必需保存并且接着恢复附加的处理器状态以执行响应中断所需的操作。这个附加的状态主要是处理器寄存器而不是程序计数器的内容。保存这些寄存器到堆栈或专用的存储器块和从堆栈或专用的存储器块恢复这些寄存器可能消耗相当多的时间量。因此,由于在60年代中期集成电路开始降低硬件寄存器的成本和尺寸,一些处理器配备有多组寄存器。由中断支持硬件或由中断处理软件选择不同组的寄存器,通过消除保存寄存器到主存储器和从主存储器恢复寄存器的额外开销实质上允许更快的中断响应。多寄存器集(multiple register set)的概念体现在1970年引入的IBM System/7的现代形式上。System/7具有一个专用的、硬件选择的寄存器集用于每个中断级,当该级被较高优先级的一个中断抢先时通过包括在每个组中一个寄存器来存储执行地址(程序计数器值)更进一步减少中断前后关系转换时间。结果是800ns的中断前后关系转换时间和400ns的中断返回时间,两者事实上是使用1969年技术组成的16位小型计算机的较优速度。System/7还首创动态中断分配,这里由每个中断源使用的优先级被软件设置,并且在系统操作期间可以被改变。这种寄存器集加程序计数器技术的最终统一是允许事件在它们最后的执行地址启动处理程序,而不要求它们总是使用中断向量地址开始。对于控制I/O器件、数据通讯和网络协议以及根据通讯状态机器定义的其他处理,这是主要的好处,因为状态机器是通过使用用于指令寻址和作为(隐含的)状态寄存器的级别的程序计数器实现的。这不仅不需要单独的状态寄存器,而且省去了根据状态寄存器的值选择适当的处理程序的调度程序的额外开销。事实上,寄存器集加程序计数器结构对通常由操作系统软件支持的“任务”或者“执行线程”概念提供直接的硬件支持。使用这种技术试图实现I/O控制状态机器而开发的第一个机器是由Charles Thacker在Xerox Palo Alto研究中心在1972年设计的“Alto”试验个人计算机。因为70年代初期这些中断和前后关系转换装置的许多变化已经开发出用于单片微型计算机和微处理器。然而,这些变化中没有一个已经引入一种用于响应外部事件的快速前后关系转换的根本上新装置。在高性能系统中,常常可能有专用的(一个或多个)处理器用于I/O控制和/或外部事件处理。然而,如果以类似于在系统的中央处理器中使用的技术实现,则这些I/O处理器的利用往往会非常低。这是由于对于任何特定的电路技术,用于实现处理器数据路径的逻辑器件明显地比用于实现主存储器的存储器件操作得快,并且逻辑和存储器件能够比任何附加的外围器件支持更高的数据带宽。在60年代期间,要求多个I/O控制器的高性能系统的结构开发了一种技术以在多个控制器功能中共享单个数据路径,即使那些功能逻辑上是分离的。该技术使用单个物理数据路径和指令译码器,根据一种循环法处理多个逻辑处理器的指令流。用于每个逻辑处理器的唯一专用资源是保持它的执行状态(程序计数器和寄存器值)的存储器。控制电路允许每个逻辑处理器连续地、循环地执行预定数量的指令(一般是一个)。存储的执行状态之一改变的这种控制电路容易进入用于不同逻辑处理器的指令周期性之间的数据路径。这种技术首先由Seymour Cray在60年代初期用于在Control Data Corporation(CDC) model 6600上使用单个、共享的数据路径实现10个I/O控制器(称为外围处理器或“PPU”)。注意这个逻辑处理器状态转换根据一个严格的时间发生,并且不响应外部事件。的确,对于Control Data 6600 PPU的一些继承型号在它们的逻辑处理器上实现优先中断方案设计。近来这种数据路径共享技术已经应用于中央处理器,这里它被称为“共享资源多重处理”。在这种情况下来自不同CPU任务或程序的多个独立指令流被交错以降低管道依赖性,因此改进了超标量数据路径的资源利用率。因此,在本领域中需要一种方式来配置和分配前后关系,该前后关系在前台和后台任务的管理中具有更一般的灵活性和平衡。针对现有技术的上面讨论的不足,本专利技术提供了一种用于管理处理器中多任务处理的前后关系控制器和操作该控制器的方法。在一个实施例中,前后关系控制器包括(1)一个前台任务控制器,根据优先级并且响应事件激活对应于前台任务的前后关系,以及(2)一个后台任务控制器,与前台任务控制器合作,它服从于可得到的处理器资源循环地执行对应于激活的后台任务的前后关系,同时执行对应于前台任务的前后关系。本专利技术引入了将任务分为前台和后台任务和使用实质上不同的准则分配处理器资源到前台和后台任务的广义的概念。利用事件(下面定义的)确定何时激活前台任务。相反,循环地激活后台任务(根据时间片、指令片或任何其他的周期性分配)。前台任务仍然超过后台任务,允许前台任务以及时的方式处理事件。在前台任务之间建立相对的优先级以帮助在资源分配中冲突的解决。在本专利技术的一个实施例中,一个软件转换状态将前台任务和后台任务区别开。在要被说明和描述的实施例中,一个软件转换包含在与每个前后关系有关的任务可编程寄存器内。对于本专利技术来说,“前后关系”定义为可以用于恢复处理器到一个给定状态的所有处理器状态信息(或者它的任何子集,以及如寄存器值)。前后关系控制器检测转换的状态(0或1)以确定有关的任务是前台任务还是后台任务。当然本文档来自技高网...

【技术保护点】
一种用于管理处理器中多任务处理的前后关系控制器,包括:一个前台任务控制器,根据优先级并且响应于事件,激活对应于前台任务的前后关系;以及一个后台任务控制器,与所述前台任务控制器合作,服从于对应于所述前台任务的所述前后关系的激活,循环地 激活对应于后台任务的前后关系。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:威尔海尔姆斯约瑟弗斯迪普斯特拉藤迈克尔A非斯切尔威斯利D哈德尔
申请(专利权)人:朗迅科技公司
类型:发明
国别省市:US[美国]

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

1