首页 / 专利库 / 软件 / 后台任务 / 事件驱动与循环的前后关系控制器及其应用处理器

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

阅读:481发布:2020-10-23

专利汇可以提供事件驱动与循环的前后关系控制器及其应用处理器专利检索,专利查询,专利分析的服务。并且一种用于管理处理器中多任务处理的前后关系 控制器 和操作该控制器的方法。在一个 实施例 中,前后关系控制器包括:(1)一个前台任务控制器,根据优先级并且响应于事件激活对应于前台任务的前后关系,以及(2)一个 后台任务 控制器,与前台任务控制器合作,当执行对应于前台任务的前后关系时它服从可利用的处理器资源,循环地执行对应于激活的后台任务的前后关系。,下面是事件驱动与循环的前后关系控制器及其应用处理器专利的具体信息内容。

1.一种用于管理处理器中多任务处理的前后关系控制器,包括:
一个前台任务控制器,根据优先级并且响应于事件,激活对应于前 台任务的前后关系;以及
一个后台任务控制器,与所述前台任务控制器合作,服从于对应于 所述前台任务的所述前后关系的激活,循环地激活对应于后台任务的前 后关系。
2.如权利要求1所述的前后关系控制器,其中软件转换状态将所述 前台任务与所述后台任务区分开。
3.如权利要求1所述的前后关系控制器,其中所述事件从下列构成 的组中选择:
外部事件,以及
内部事件。
4.如权利要求1所述的前后关系控制器,其中所述后台任务控制器 根据由每个所述后台任务执行的指令数激活对应于后台任务的所述前后 关系。
5.如权利要求1所述的前后关系控制器,其中所述前后关系存储在 分开的寄存器集中。
6.如权利要求1所述的前后关系控制器,其中当所有所述前台任务 和所述后台任务是非激活时所述前后关系控制器将所述处理器置于空闲 状态。
7.如权利要求1所述的前后关系控制器,其中所述前台任务控制器 通过转向一个软件可选择存储单元而适用于激活对应于一个特定前台任 务的前后关系。
8.一种管理处理器中多任务处理的方法,包括步骤:
根据优先级并且响应于事件,激活对应于前台任务的前后关系;以 及
服从对应于所述前台任务的所述前后关系的激活,循环地激活对应 于后台任务的前后关系。
9.如权利要求8所述的方法,还包括将所述前台任务与所述后台任 务区分开的步骤。
10.如权利要求8所述的方法,其中所述事件从下列构成的组中选 择:
外部事件,以及
内部事件。
11.如权利要求8所述的方法,其中循环地激活的所述步骤包括根 据由每个所述后台任务执行的指令数激活对应于后台任务的所述前后关 系的步骤。
12.如权利要求8所述的方法,还包括在分开的寄存器集中存储所 述前后关系的步骤。
13.如权利要求8所述的方法,还包括当所有所述前台任务和所述 后台任务是非激活时将所述处理器置于空闲状态的步骤。
14.如权利要求8所述的方法,其中激活对应于所述前台任务的前 后关系的所述步骤包括通过转向软件可选择存储单元激活对应于特定前 台任务的前后关系的步骤。
15.一种处理器,包括:
一个指令译码器,它译码接收进所述处理器并且对应于多个任务的 指令;
多个寄存器集,对应于所述多个任务,包含要被操作的操作数。
一个执行核心,连接到所述指令译码器和所述多个寄存器集,它执 行对应于所述多个任务中一个激活任务的诸指令以操作所述诸操作数中 的诸个;以及一个前后关系控制器,连接到所述指令译码器和所述执行核心,它 管理关于所述多个任务的多任务处理,包括:
一个前台任务控制器,根据优先级并且响应于事件它激活对应于所 述多个是指定的诸前台任务的任务的诸个的诸前后关系,以及
一个后台任务控制器,与所述前台任务控制器合作,服从对应于所 述诸前台任务的所述诸前后关系的激活,循环地激活对应于所述多个是 指定的诸后台任务的任务的诸个的诸前后关系。
16.如权利要求15所述的处理器,其中软件转换状态将所述前台任 务与所述后台任务区分开。
17.如权利要求15所述的处理器,其中所述事件从下列构成的组中 选择:
外部事件,以及
内部事件。
18.如权利要求15所述的处理器,其中根据由每个所述后台任务执 行的指令数,所述后台任务控制器激活对应于后台任务的所述前后关 系。
19.如权利要求15所述的处理器,其中所述前后关系存储在分开的 寄存器集中。
20.如权利要求15所述的处理器,其中当所有所述前台任务和所述 后台任务是非激活时所述前后关系将所述处理器置于空闲状态。
21.如权利要求15所述的处理器,其中通过转向软件可选择存储单 元所述前台任务控制器被适用于激活对应于特定前台任务的前后关系。
22.如权利要求15所述的处理器,其中所述处理器形成通用计算机 的一部分。

说明书全文

通用计算机中的处理器以及用作嵌入式控制器的处理器一般被编程 来同时处理多个任务。这些任务的一个子集必须响应特定的、外部事件 以及时的方式执行,而这些任务其余部分的执行可以不受严格的、实时 限制。为了使用单个数据路径处理这两组任务,这些处理器要求一个有 效的装置用于快速地响应外部事件,而每当不处理外部事件时允许进行 非实时处理。

用于事件响应的主要机理是程序中断,它首先用在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)以确定有关的任务是前台任务还是后台任务。当然,前台和后 台任务的指示可以以牺牲灵活性为代价在硬件中产生。

在本发明的一个实施例中,从(1)外部事件和(2)内部事件构成 的组中选择事件。“事件”定义为一种激励,它能够引起前后关系控制 器来响应从一个前台任务转换到另一个。外部事件在处理器外有它的来 源并且可以在任何时间发生。内部事件在处理器内有它的来源并且与处 理器的时钟同步。

在本发明的一个实施例中,在允许下一个后台前后关系执行之前后 台任务控制器根据执行一些预定数量指令的每个这样的前后关系对对应 于后台任务的前后关系的执行定序。在这里这被称为“指令片(Slice)”。 可以另外根据时间(“时间片”)进行后台前后关系的执行。当然,用 于循环地执行判定的其他根据是在本发明的整个范围内。

在本发明的一个实施例中,每个前后关系的状态存储在一个分开的 寄存器集中。一些处理器结构支持多个物理寄存器集,当任务转换时重 新映射在那里的逻辑寄存器上。另一方面,主存储器部分可以用于在分 开的存储块中存储寄存器内容。

在本发明的一个实施例中,当所有前台任务和后台任务在非激活时 前后关系控制器设置处理器在空闲状态。在要被说明和描述的实施例 中,在空闲状态期间处理器保持准备作用于事件的发生。

在本发明的一个实施例中,前台任务控制器通过转向软件可选择存 储单元适用于激活对应于一个特定前台任务的前后关系。由于允许特定 前台任务的进入点改变,可以建立状态机器,其中用于前后关系激活的 初始异常地址也用作状态指示器,允许前台任务作为促使它执行的事件 的函数执行。当然,相同的状态机器处理可以相对于后台任务的激活而 产生。

前面已经相当广泛地概述了本发明的更好的和另一方面的特征使得 本领域的技术人员可以更好地理解下面本发明的详细描述。本发明的其 他特征将在此后形成的本发明权利要求书中描述。本领域的技术人员应 该理解他们能够容易地使用公开的概念和特定的实施例作为设计或修改 用于实现本发明相同目的的其他结构的基础。本领域的技术人员应该认 识到这种类似的结构就最广泛的形式来说并不背离本发明的精神和范 围。

为了更全面地理解本发明,现在结合附图进行下面的描述。

图1说明了以各个前后关系的观点展示本发明处理器一个实施例操 作的状态转移图;

图2说明了在具有五个前台前后关系和三个后台前后关系的处理器 操作上示范可能的处理流、抢先和前后关系内部通讯的示意图;

图3说明了利用本发明实施例可以进入处理器中执行的软件的示范 的每个前后关系控制和状态寄存器。

图4说明了结合本发明的前后关系控制器实施例的典型处理器或 I/O控制器的系统图;

图5说明了展示图4中说明的前后关系控制器内部结构的相互作用 图;

图6说明了图5中说明的事件同步处理的进程图。

图7A、7B、7C和7D共同说明了图5说明的事件优先处理的进程图;

图8说明了一个用于由本发明控制的前后关系转换的时序图,其中 当前前后关系的状态存储到同步的(自定时)SRAM或寄存器堆,并且下 一个前后关系的状态从同步的(自定时)SRAM或寄存器堆加载;

图9说明了一个用于由本发明控制的前后关系转换的时序图,这里 当前前后关系的状态存储到异步的SRAM或寄存器堆,并且下一个前后关 系的状态从异步的SRAM或寄存器堆加载;

图10说明了一个电路实施例的示意图,该电路适用于实现事件记 录、事件屏蔽和对于每个激活事件的事件确认,以及前后关系激活位的 管理,包括初始化请求和等待请求逻辑;

图11说明了根据本发明的一个实施例关于指令组中前后关系控制 和前后关系间通讯的机器指令的字段和位分配;

图12说明了根据本发明的一个实施例用于产生处理器上的控制存 储地址的位源;

图13说明了根据本发明的一个实施例用于在控制存储中初始化向 量的示范数据结构图;以及

图14说明了根据本发明的一个实施例通过用在处理器上按优先序 排列和译码特定的前后关系激活位的向量指令描述目标地址产生的图。

首先参照图1,说明以各个前后关系的观点展示本发明的处理器的 一个实施例的操作的状态转移图。本发明提供用于管理处理器中多任务 处理的前后关系控制器并且使用实质上不同的准则引入将任务分为前台 和后台任务的广义的概念。利用事件(能够引起前台前后关系转换动作 的激励)结合分配给各种任务的相对优先级确定执行哪一个前台任务。 相反,后台任务被循环地执行并且可以基于时间片、指令片或处理资源 的任何其他周期的分配。

根据本发明的说明实施例,前后关系控制器管理前台和后台任务的 多任务处理激活。当前后关系是在可以管理一批前后关系的前台任务控 制器的指导下在前台操作时,前后关系激活的发生只响应根据优先级的 事件的发生。当多个前台任务同时激活时在前台任务之间建立相关的优 先级以帮助冲突的解决。另外,当更高优先级的前台前后关系变为激活 时可以抢先前后关系的执行。

当前后关系是在可以管理一批前后关系的后台任务控制器的指导下 在后台操作时,可以由允许及时处理事件的任何前台前后关系抢先该前 后关系的执行。后台任务控制器合作并且服从对应于在前台任务控制器 下操作的前台任务的前后关系的激活。然而,在说明的实施例中,所有 激活的后台前后关系在周期的基础上共享处理器资源。在软件规定的指 令数量(一个指令片)已经执行以在激活的后台前后关系之间公平地分 配可得到处理资源之后,前后关系控制器可以抢先每个运行的后台前后 关系。后台前后关系的激活可以另外根据时间(时间片)。当然,用于 循环地激活的其他根据是在本发明的整个范围内。

根据由软件规定的指令数量或计数的后台时间量而不是绝对时间是 说明实施例的与众不同的特性。这个特性改进了激活的后台前后关系之 间处理资源分配的公平性。如果使用绝对时间,当发生在实时系统操作 系统下在常规处理器上运行的相同优先级的任务之间,通过在后台前后 关系的时间片期间激活一个或多个前台前后关系的事件的发生,一个给 定后台前后关系在它的时间片能够执行的指令数可能减少、可能到零。 通过例如使用一个指令计数或指令片,在后台处理的周期重复之前本实 施例允许每个激活的后台前后关系完成相同的工作量。对于一个给定数 量的激活的后台前后关系,副作用是后台周期的绝对持续期间是可变 的、服从前台前后关系的抢先。

在许多现有技术系统中,这会构成一个问题,即干扰周期性任务的 及时执行。然而,在说明的实施例中,具有严格的时间限制的任何活动 可以分配到适当优先级的前台前后关系上。说明的实施例改进了满足实 时响应限制的可靠性并且改进了激活的后台任务组之间的处理器分配的 公平性。

在处理器正在操作的任何给定时间,每个前后关系可以是六个状态 之一,这六个状态作为两行乘以两列(2×2)矩阵被逻辑地分为四组。 顶端或前台行10包含三个状态:由前台前后关系使用的Rf状态18、Pf 状态20以及Wf状态22(这里每个包括一个表示前台的“f”)。底端 或后台行12包含三个状态:由后台前后关系使用的Rb状态24、Qb状态 26以及Wb状态28(这里每个包括一个表示后台的“b”)。激活列14 包含由激活前后关系使用的四个状态18、20、24、26,而非激活列16 分别包含由非激活前后关系使用的两个状态22和28。

前台行10状态可以进一步定义为Rf18(运行,前台)、Pf 20(抢 先,前台)以及Wf 22(等待,前台)。后台行12状态可以进一步定义 为Rb 24(运行,后台)、Qb 26(排队,后台)以及Wb 28(等待,后 台)。在每个指令周期期间,只有一个前后关系可以“运行”(在处理 器上执行一个指令),或者另一方面处理器可以是空闲的。如果被占用, 运行的前后关系是在前台运行状态Rf中唯一的前后关系。或者如果状态 Rf 18未被占用,运行的前后关系是在后台运行状态Rb 24(如果被占 用)中唯一的前后关系。前后关系的执行状态一般存储在分开的寄存器 集中。

大多数前后关系转换允许发生在前台行10或后台行12内,因为当 前后关系在可以由软件转换操作区别的前台和后台操作任务之间转换时 仅仅需要行间转换。然而,这可能比前后关系激活、抢先和等待发生得 少一些。软件转换操作可以由与每个前后关系有关的任务可编程寄存器 控制。前后关系控制器检测转换的状态(0或1)以确定有关的任务是前 台任务还是后台任务。前台和后台任务的指示也可以在硬件中产生,当 然以牺牲灵活性为代价。从前台到后台的转换可能仅仅发生在运行的前 台前后关系Rf 18执行CLRFG(“清除前台”)功能34时,它导致从前 台运行状态Rf 18转换到后台排队状态Qb 26。因为在后台前后关系之 间没有任何的相对优先级差别,给予执行CLRFG功能34的前后关系的 后台排队中的位置是任意的。

执行CLRFG功能34的前后关系离开前台操作并且有益地放弃对于一 个最小的指令周期的处理器控制(如执行WAIT功能32或42的前后关系 所做)。如果较低的优先级前台前后关系是在抢先状态Pf 20,则该较 低优先级前台前后关系运行下一个(经过最高优先级转换36)。如果抢 先状态Pf 20未被占用,则已经在后台状态Rb 24中的抢先的前后关系 运行下一个,除非后台状态Rb 24也未被占用。在这种情况下,在后台 排队状态Qb 26中后台排队首位的前后关系经过时间片开始转换44运行 下一个。在说明的实施例中,这发生在处理器空闲的单个指令周期之后, 因为前台运行状态Rf 18和后台运行状态Rb 24未被占用。

后台和前台之间的转换一般发生在后台运行状态Rb 24的前后关系 执行SETFG(“设置前台”)功能30时,它导致它从后台运行状态Rb 24 到前台运行状态Rf 18的转换。通过转向软件可选择存储单元特定的前 后关系的前台激活也可以发生。由于允许特定前台任务的进入点改变, 可以建立状态机器,允许前台任务作为促使它执行的事件的函数执行。 当然,相同的状态机器处理也可以相对于后台任务的激活发生。

为了防止前后关系操作的错误中断,前后关系控制器中可得到的功 能有益地不包括一种装置,通过该装置运行前后关系会改变任何其他前 后关系的前台或后台设置而不用也强迫该前后关系的初始化(INIT)。 INIT功能可以由具有任何其他前后关系作为目标的运行的前后关系执 行。INIT功能可以执行到运行的前后关系,但不存在任何理由这样做除 非特定的实施例加上附加的初始化副作用到INIT功能。如下面将进一步 详细讨论的,INIT功能的执行给前台抢先状态Pf 20的目标前后关系留 下它的程序计数器设置为预定初始化向量地址。

一般地,INIT功能的目标驻留在前台等待状态Wf 22并且经过转换 40进入前台抢先状态Pf 20。或者它可以驻留在后台等待状态Wb 28并 且进入前台抢先状态Pf 20,经过转换50从后台转换到前台。事实上, 如果目标前后关系驻留在后台运行状态Rb 24或后台排队状态Qb 26, 转换50也是可能的和相同的,但图1没有说明这两种情况。

在处理器复位结束时,所有前后关系是在前台等待状态Wf 22,除 了在前台运行状态Rf 18的最低优先级前后关系。执行前后关系前台运 行状态Rf 18的软件可以通过执行WAIT功能32启动一个转换到前后关 系前台等待状态Wf 22。前台等待状态Wf 22前后关系以被前后关系的 事件屏蔽允许的要求的任何前后关系的激活事件转换到前台抢先状态 Pf 20,或者当运行前后关系执行INIT功能时经过转换40转换到这个 前后关系前台抢先状态Pf 20。

在说明的实施例中,抢先前后关系转换可能发生在每个指令周期的 结束时,如果有的话,具有在前台抢先状态Pf 20的最高优先级前后关 系经过最高优先级转换36进入前台运行状态Rf 18,并且如果有的话, 在前台运行状态Rf 18中的前面的前后关系经过较高优先级激活转换38 进入前台抢先状态Pf 20。

在前后关系后台运行状态Rb 24执行的软件可以通过执行WAIT功能 42启动到后台等待状态Wb 28的转换。后台等待状态Wb 28的前后关系 以被前后关系的事件屏蔽允许的要求的任何前后关系的激活事件转换到 后台排队状态Qb 26,这些事件。从后台排队状态Qb 26到后台运行状 态Rb 24的转换可以只发生在没有任何前台前后关系正在运行时(状态 Rf 18中没有任何前后关系)。在这种情况下,如果有的话,运行的前 后关系在后台运行状态Rb 24,或者处理器在空闲状态,因为没有任何 前后关系准备在前台或后台运行。

在每个指令周期结束时,随着在后台状态Rb 24的前后关系运行, 时间片计数递减,并且当计数到达零时在指令周期上,时间片前后关系 转换优先发生。在这一点,在后台排队的首位的前后关系经过转换44 进入后台运行状态Rb 24,并且先前在后台运行状态Rb 24的前后关系 经过转换46进入后台排队状态Qb 26。

一般地,当先前运行后台前后关系进入后台排队状态Qb 26时,采 用从最高前后关系数量到最低前后关系数量发生的“环绕式处理”以先 进先出(FIFO)的安排组织了后台排队的前后关系。应该注意前台抢先 包括一个经过转换36的状态转换,而没有后台被前台抢先。在这种情况 下,先前运行的后台前后关系保留在状态Rb 24直到前台运行状态Rf 18 再次未被占用并且后台前后关系能够运行。

现在转到图2,说明在具有五个前台前后关系和三个后台前后关系 的处理器操作上示范可能的处理流、抢先和前后关系间通讯的示意图。 前后关系可以由一个事件信号的要求激活。

有关的每个前后关系可以是0或者更多的外部事件信号以及0或者 更多的内部事件信号。外部和内部事件信号的主要不同是外部事件具有 它们在处理器外的来源,并且能够在任何时间发生,在被用于前后关系 控制器内前后关系激活判定之前它们的信号有益地同步于处理器的时 钟。相反,内部事件具有它们在处理器内的来源,并且它们的信号假定 同步于处理器的时钟产生以及可以直接使用。

通过在软件控制下在特定前后关系事件屏蔽寄存器中设置和清零位 可以允许和禁止每个前后关系的激活事件。除了由于来自外部源如外部 干扰,或者来自内部源如间隔定时器协处理器或数据传送逻辑的硬件 信号要求的激活事件的要求以外,可以使用信号指令由软件要求一些和 所有的事件,这些指令规定与目标前后关系有关的事件组内目标前后关 系数量和事件数量。因为任何前后关系能够发事件信号给它本身或其他 前后关系,这允许说明的实施例用作一种有效的装置用于前后关系内部 和前后关系之间通讯以及用作优先中断控制器和用作时间片控制器。

在图2中,垂直轴表示前后关系,而平轴表示对于在示范的前后 关系控制器支持的八个前后关系之一的前后关系激活。水平轴是时间, 单位为指令执行周期。用于前台前后关系的宽黑线和用于后台前后关系 的宽交叉影线示出运行的前后关系。带有箭头的垂直线示出前后关系转 换并且被标记以识别前后关系转换发生的原因。穿过宽线的小垂直线表 示指令周期。当指令执行时用于后台前后关系在每个指令周期间隔上面 的数是时间片指令计数器的值。用于前台前后关系的窄的虚黑线和用于 后台前后关系的窄的交叉影虚线示出激活的抢先的前后关系。窄的点线 示出激活的、排队的后台前后关系。这个实施例具有八个前后关系,表 示为前后关系0(最高优先级)到前后关系7(最低优先级),并且在这 个例子以一个时间片操作期间有八个指令计数或指令片。

在这个例子开始时,前后关系0、2、4和5全是非激活前台前后关 系(状态Wf)。前后关系3、6和7全是后台前后关系,前后关系3是 非激活的(状态Wb),前后关系7是排队的(状态Qb)以及前后关系6 是运行的(状态Rb)。

前后关系1是非激活的,并且具有一个未知的(或未确定的)前台/ 后台设置。示出的第一指令周期46随着它的时间片计数值递减到2由后 台前后关系6执行。在下一个指令周期47中,后台前后关系6执行SIGNAL 功能到后台前后关系3。结果,后台前后关系3在后面的指令周期变为 激活进入状态Qb。在发送SIGNAL功能之后,后台前后关系6随着它的 时间片计数递减到0执行另一个指令周期48。这引起前后关系转换到激 活的前后关系后台排队状态Qb中下一个最高前后关系数,它是后台前后 关系7。前后关系6进入Qb状态而前后关系7在具有一个为7的时间片 计数值的指令周期50进入Rb状态。在前后关系7已经执行三个指令之 后,一个外部事件激活前台前后关系4。因此,在下一个指令周期52结 束时,后台前后关系7在时间片计数值保留在4的抢先期间它被前台前 后关系4抢先。

当外部事件激活前台前后关系2时前台前后关系4执行它的第一指 令。因此,在下一个指令周期54结束时,前台前后关系4被前台前后关 系2(在抢先点53)抢先进入抢先状态Pf而前台前后关系2进入运行状 态Rf。在执行两个指令处理它的激活事件之后,前台前后关系2在第三 指令周期56期间执行WAIT功能。这个WAIT功能对于前台前后关系2 的激活触发器清零,并且在又一个指令周期之后,前台前后关系2变为 非激活回转到等待状态Wf的。这允许抢先的前台前后关系4返回到运行 状态Rf并且执行另一个指令周期58。因为前台前后关系4已经在抢先 点5 3之前执行它自己的WAIT功能,这是在回转到等待状态Wf并且允许 抢先的后台前后关系7重新开始在指令周期60运行之前由前台前后关系 4执行的最后指令。在又执行四个指令之后,后台前后关系7完成它的 时间片62,因为从前后关系7到前后关系0的前后关系数的环绕式处理 导致前后关系转换到后台前后关系3的下一个顶端Qb前后关系。

在相同指令周期64期间,后台前后关系3执行它的时间片7的第一 个指令,外部事件66激活前台前后关系0。因此,在这个指令周期64 的结束时,在后台前后关系3在时间片计数值保持在七的抢先期间它被 前台前后关系0抢先。在执行三个指令处理它的激活事件之后,前台前 后关系0在第四指令周期69期间执行WAIT功能。这个WAIT功能对于 前台前后关系0的激活触发器清零,并且在又一个指令周期之后前台前 后关系0变为非激活,回转到等待状态Wf。这一般允许抢先的后台前后 关系3重新开始运行,但是在这个例子中当前台前后关系0正在运行时 外部事件68已经激活前台前后关系5。注意这个激活将前台前后关系5 的状态从等待状态Wf改变到抢先状态Pf,这示出对于前台前后关系因 为激活如何可能进入抢先状态而没有执行任何指令。

如果后台前后关系3已经在前台操作,则当前台前后关系0回转到 等待状态Wf时前台前后关系5是在抢先状态Pf是没有关系的,因为后 台前后关系3比前台前后关系5的优先级高。然而,前后关系3是在后 台操作,所以由前台前后关系0执行的WAIT功能69导致前后关系转换 到前台前后关系5,该前后关系5进入运行状态Rf并且开始执行指令70 而后台前后关系3保持在状态Rb中的抢先。

在执行两个指令处理它的激活事件之后,前台前后关系5在第三指 令周期71期间执行WAIT功能。这个WAIT功能清零了激活触发器f或 前台前后关系5,并且在又一个指令周期之后,前后关系5变为非激活 并且回转到等待状态Wf。因为没有任何其他的前台前后关系在这时激 活,抢先的后台前后关系3重新开始在状态Rb运行并且执行它的时间片 72的第二个指令。在下一个指令周期,后台前后关系3执行WAIT功能 73。WAIT功能73多于后台前后关系3的激活触发器清零,并且在又一 个指令周期之后,后台前后关系3变为非激活,回转到等待状态Wb。这 允许排队的后台前后关系6在指令周期74返回到运行状态Rb。注意即 使这个前后关系转换没有通过时间片计数递减到0而启动,后台前后关 系6以为七的全部时间片计数值在指令周期74进入运行状态Rb,而不 是当后台前后关系3执行WAIT功能73时继承的部分时间片剩余。

作为它的第二个指令,由于可能必需从由前后关系1执行的代码中 的软件错误恢复,后台前后关系6对于前台前后关系1执行INIT功能 76以强迫前台前后关系1进入一个已知的状态。这个INIT功能激活前 后关系1为前台前后关系抢先状态Pf,并开始在控制存储中的前后关系 1初始化向量地址执行设置。因为现在激活的前台前后关系存在,在又 一个指令执行之后通过前后关系转换到前后关系1抢先后台前后关系6 (在抢先点77)。在它的第二个指令,前后关系1执行CLREG(清零前 台位)功能78,该功能引起前后关系1进入后台排队状态Qb。因为前后 关系1现在在后台排队并且已经在状态Rb存在一个前后关系,在跟随 CLREG功能78执行的指令周期之后前后关系1放弃处理器的控制(在放 弃点80),因此允许在状态Rb的前后关系6重新开始执行它的时间片 82的其余部分。

在这个详细描述的其余部分,数字常数是十进制的,除非先前有 “0x”,而在这种情况下它们是十六进制,并且位位置是数字的,位0 是最低有效位。

现在转到图3,说明在利用本发明实施例可以进入处理器中执行的 软件的示范的每个前后关系控制和状态寄存器。在说明的实施例中,每 个前后关系84的九个控制位具有由软件确定的值,每个前后关系86的 九个状态位具有由前后关系控制器硬件确定的值,但是它们的值可以由 软件以其他方式读出或检测。前后关系控制器保持每个前后关系的一部 分状态。这些状态位不是执行状态的部分(在前后关系转换期间它被保 存和恢复),因为在前后关系控制器内的特定的前后关系状态用于由激 活逻辑继续地请求并且也作为对于前后关系转换判定逻辑的输入。

每个前后关系控制位84包括一个前台(FG)位88和事件屏蔽寄存 器90。当前后关系在前台时FG位88等于1。当这个前后关系作为规定 的目标时说明的FG位88由INIT功能的硬件复位执行设置,或者当这个 前后关系正在运行时由SETFG功能的执行设置。当这个前后关系正在运 行时说明的FG位88由CLREG功能的执行清零。事件屏蔽寄存器90具 有一个对应于与前后关系有关的激活事件中每一个的位。

在说明的实施例中,每个前后关系被分配八个激活事件;因此事件 屏蔽寄存器90包含八位。当在前后关系事件屏蔽寄存器90中等于事件 数的相应位位置数的值为1时一个给定激活事件仅仅激活一个前后关 系。然而,如下面将进一步详细解释的,激活事件的要求记录在事件触 发器中,该触发器保持设置直到用于规定位的ACKNOWLEDGE(ACK)功能 的执行。事件触发器的设置不受事件屏蔽寄存器90内容的影响。

每个前后关系状态位86包括一个ACT位92和一个事件状态寄存器 94。当前后关系激活时ACT位92等于1。ACT位92由非屏蔽激活事件 的要求,即用于要求的未确认激活事件的事件屏蔽位的设置或者当这个 前后关系作为规定的目标时INIT功能的执行来设置。ACT位92通过硬 件复位清零(除了前后关系7,这里ACT位由硬件复位设置),并且当 前后关系正在运行时通过WAIT功能的执行清除。事件状态寄存器94具 有一个对应于与前后关系有关的激活事件的每一个的位。在这个详细描 述的一些部分中这些位也称为事件触发器。

如上所述,在说明的实施例中,每个前后关系被分配八个激活事件, 规定事件状态寄存器94包含至少八位。对应于要求的事件读数的位等于 1,而对应于未要求事件、包括确认的事件读数的位等于0。各个事件状 态寄存器位(事件触发器)根据内部或外部事件信号的要求(一般是一 个0到1的转换)的检测由前后关系控制器硬件设置。各个事件状态位 还根据在这个前后关系中规定作为目的的目标事件的SIGNAL功能的执 行被设置。在这个前后关系正在运行时,各个事件状态寄存器位通过硬 件复位和通过把目标事件作为规定的目标执行ACK功能而清零。在一些 情况下,特别的ACK功能也可能作为执行其他指令或访问特别的数据路 径(一般的I/O端口)寄存器的副作用而产生。

下面示出说明前后关系定义和用于IEEE 802.11中媒体访问控制子 层(MAC)控制器的实现例子。MAC控制器的功能已经分为八个前后关系, 表示为0到7,0是最高优先级。前后关系0到5最好是前台而6和7 最好是后台。每个前后关系具有八个激活事件并且每个激活事件一般应 用下面的缺省情况:

A.使用SIGNAL功能不能要求一个事件(除非该事件专留作这样的 目的);

B.使用ACK功能清除一个事件;

C.当相应的定时器递减到0时定时器终端计数事件发生;

D.通过将ClearTC(位2)等于1写到相应的定时器的控制寄存器 而不用ACK功能,清除定时器终端计数事件; F.外部事件信号的“要求”定义为0到1的转换; G.外部事件信号的“非”意味着1到0的转换;以及 H.当控制位等于1时选择的该位名称是有意义的。 下面描述示范的前后关系和它们的相应激活事件。 前后关系0-调试支持(以及高优先级、实时事件): 激活事件: 0)硬件断点(BKPTin); 1)软件断点(信号0、1); 2)GP串行移位完成或UART发射机完成(GPDN/UTXDN); 3)间隔定时器A终端计数(INTATC); 4)UART接收机完成(URXDN); 5)间隔定时器B计数(INTBTC); 6)主机(计算机系统)注意(HATN);以及 7)协处理器注意(CPATN)。 前后关系1-较低MAC(LMAC)异常处理: 激活事件: 0)调制解调器数据接口注意(MDIATN); 1)物理层数据不可用(!PDA); 2)IFS(间空间)定时器终端计数(IFSTC); 3)从MMAC到LMAC(信号1、3)的前后关系间通讯; 4)物理层发射机没有准备好(!TXR); 5)信标/停止定时器比较器相等(BCNTC); 6)调制解调器数据接口可编程位边界(MDIBIT);以及 7)调制解调器管理接口传送完成(MMIDN)。 前后关系2-较低MAC(LMAC)数据传送 激活事件: 0)调制解调器数据接口注意(MDIATN); 1)间隔定时器B终端计数(INTBTC); 2)IFS(帧间空间)定时器终端计数(IFSTC); 3)从MMAC到LMAC(信号2、3)的前后关系间通讯; 4)TSFT(同步功能定时器)环绕式处理(TSFWRP); 5)NAV(网络分配向量)定时器终端计数(INTCTC); 6)物理层介质忙(MBUSY);以及 7)物理层介质不忙(!MBUSY)。 前后关系3-主机接口支持: 激活事件 0)缓冲器访问路径0偏置解决(BUFATN0); 1)缓冲器访问路径1偏置解决(BUFATN1); 2)用于报告给主机(信号3、2)的状态的前后关系间通讯; 3)缓冲器访问路径0块边界交叉(BLKATN0); 4)缓冲器访问路径1块边界交叉(BLKATN1); 5)用于报告给主机(信号3、5)的状态的前后关系间通讯; 6)主机接口寄存器注意(HATN);以及 7)来自后台(信号3、7)的前后关系间通讯。 前后关系4-中等MAC(MMAC)媒体访问和定时: 激活事件: 0)来自LMAC或HMAC(信号4、0)的前后关系间通讯; 1)先前忙的介质变得可用(MAVL); 2)IFS/时间片定时器终端计数(IFSTC); 3)间隔定时器A终端计数(INTATC); 4)信标/停止定时器比较器(BCNTC); 5)调制解调器数据接口注意(MDIATN); 6)软件标记3-0(与前后关系7、事件7共享);以及 7)调制解调器管理接口传送完成(MMIDI)。 前后关系5-WEP(有线等价保密)解密支持: 激活事件: 0)用于状态报告(信号5、0)的前后关系间通讯; 1)解密密钥流值准备(DECRYPT); 2)GP串行移位完成或UART发射机完成(GPDN/UTXDN); 3)前后关系间通讯(信号5、3); 4)UART接收机传送完成(URXDN); 5)前后关系间通讯(信号5、5); 6)间隔定时器D终端计数(INTDTC);以及 7)调制解调器管理接口传送完成(MMIDN)。 前后关系6-附加的访问点功能: 激活事件: 0)软件标记11-8; 1)软件标记15-12; 2)GP串行移位完成或UART发射机完成(GPDN/UTXDN); 3)间隔定时器A终端计数(INTATC); 4)软件标记7-4; 5)间隔定时器B终端计数(INTBTC); 6)间隔定时器D终端计数(INTDTC);以及 7)协处理器注意(CPATN)。 前后关系7-较高MAC(UMAC)和杂用支持: 激活事件: 0)软件标记19-16; 1)软件标记23-20;

2)软件标记27-24;

3)间隔定时器A终端计数(INTATC);

4)信标/停止定时器比较器(BCNTC);

5)间隔定时器B终端计数(INTBTC);

6)间隔定时器D终端计数(INTDTC);以及

7)软件标记3-0(与前后关系4、事件6共享)。

现在转到图4,说明结合本发明的前后关系控制器的实施例的典型 处理器或I/O控制器的系统图。这个图(以及那些在图5、6和7中说明 的)使用由国际电信联盟在电信标准化部推荐技术标准Z.100 (03/93)标准化的规范和描述语言(SDL)的公知的图解语法表示。

使用这种形式的描述语言表示系统特性是因为可以得到更精确和更 广泛的适用性。例如图示的段落可以用于强调说明实施例的实现特征。 然而,因为这种前后关系控制器可应用于几乎任何类型的处理器,对于 特定处理器的图示可能省略隐含用于该处理器的控制顺序的方面但是可 以适用于使用不同结构的另一种处理器。同样地,常规的状态图是一种 具有与SDL处理图相似目的的更非正式的符号表示。但是,SDL具有严 格定义的图示语法、更加明确。的确,已经发现在这种控制器的特性中 许多“边界条件”并没有用常规状态图进行充分解释。这里由SDL描述 覆盖的所有这些边界条件的例子包括:(1)如果一个前后关系在WAIT 功能的执行和在WAIT功能之后指令的执行之间被抢先,会发生什么情 况?(2)如果一个前后关系在执行WAIT功能之后的指令期间执行对于 引起它激活的事件的ACK功能,会发生什么情况?以及(3)如果后台前 后关系的时间片在如同它执行SETFG功能相同的指令周期结束,在被新 的前台前后关系抢先之前该前后关系继续运行在前台或在状态Qb的下 一个前后关系执行一个指令吗?同样地,SDL能够比使用英语叙述文可 能做的更精确和更明确地描述前后关系控制器的特性。因此,在下面段 落中描述的SDL用作本发明一些实施例的重要特性的结构和预期目的的 一般和详细的指南。

SDL系统图100示出在说明实施例中使用的处理器的相关顶级功能 块。正文符号102和104包含特定系统扩展到SDL的预定义数据类型的 定义、用于经过输出/输入装置的隐式块间通讯的远程变量的说明和用于 显式块间通讯的信号的名称和参数类型的说明。所示系统图100包括五 个功能块:时钟发生器106、定序器108、指令译码器112、数据路径和 接口资源管理器114以及前后关系控制器110。

时钟发生器106经过ClocksIn信道122接收输入时钟或产生时钟 的时基参考(例如晶体控制信号),并且经过ResetIn信道120接收硬 件复位信号。时钟发生器106产生由所有其他块使用的周期时钟。这些 周期时钟将指令周期再分为四个实质上相等的部分。这使用一对正交的 方波实现,导致在四个时钟沿启动不同的动作。在图8和9中示出实际 的时钟波形,主时钟MCLK信号504限定了指令周期边界,正交的时钟 QCLK信号506提供每个指令周期内另外的时钟沿。四个沿连续次序是: MCLK信号504的上升沿,表示为Mr 517,标记一个指令周期的结束和 下一个指令周期的开始,QCLK信号506的上升沿,表示为Qr 518,它 在经过每个指令周期的25%时发生,MCLK信号504的下降沿,表示为Mf 519,它在经过每个指令周期的50%时发生,以及QCLK信号506的下降 沿,表示为Qf 520,它在经过每个指令周期的75%时发生。

在SDL模型中,时钟发生器106发送适当的Mr 517、Qr 518、Mf 519 或Qf 520信号以及复位信号到所有其他的功能块。当处理器在运行或空 闲时时钟发生器106操作,但在非常低功率的睡眠模式期间可以关闭它 的大多数电路,包括MCLK信号504和QCLK信号506的产生,当时钟发 生器106经过信道ClkCctl 140接收来自前后关系控制器110的睡眠信 号时可以进入睡眠模式。

在许多实现中,不可能在每个时钟周期期间执行一个指令。因此, 在由远程布尔变量“ien”识别的为真时(见正文符号102),在指令实 际执行的周期期间指令译码器112、定序器108和前后关系控制器110 仅仅完成它们的功能。

定序器108经过ToCS信道116产生指令地址并且启动指令取出周 期。这些地址逻辑地连接到处理器100外部的控制存储阵列117。注意, 根据实现技术和所需的性能等级,控制存储阵列117和有关的数据存储 127可以实际上分开,完全共同置于单个存储器件上或者任何它们的混 合型式上。定序器108经过CctlSeq信道141接收来自前后关系控制器 110的前后关系转换信号CsLoad(检索保存的前后关系状态信息)、 CsStore(保存前后关系状态信息)和InitSeq(设置前后关系执行地址 到适当的初始化向量)。

指令译码器112经过FromCS信道118接收在定序器108控制下取 出的指令字。译码的指令作为信号与作为参数的指令字段值一起发送到 所有其他适当的块。要求在前后关系控制器110中处理的指令经过 InstCctl信道142发送。

数据路径和接口资源管理器114表示处理器其余部分,包括ALU、 程序员可见寄存器等等。所有I/O器件、主计算机(如果有的话)和本 地数据存储器接口(信道126、128、130、132)连接到这个功能块。数 据路径和接口资源管理器114经过CctlIDP信道143发送事件信号到前 后关系控制器110并且接收来自前后关系控制器110的AckEv信号(它 表示那个软件已经执行ACK功能以确认一个特定的先前事件)、CsLoad 和CsStore信号(恢复和存储前后关系状态信息)以及SetCy和ClearCy 信号(用于在硬件复位和INIT功能之后设置和清除进位标志)。这个功 能块还输出ien(如果当前时钟周期是指令执行周期则等于真)和片(用 于初始指令计数的软件规定的最后的值或用于每个后台时间片的指令 片)的值。

前后关系控制器110有益地经过EventsIn信道124接收外部事件 信号,并且如上面提到的与其他功能块通讯。这个功能块还输出布尔变 量睡眠值(当在睡眠模式时等于真)、CSW值(在前后关系转换周期的 后半周等于真)和空闲值(当没有激活前后关系时等于真)、CtxNum值 (前后关系数量)、变量前后关系值(运行前后关系的数)以及nctx 值(执行转换到的前后关系的数)。并且这个功能块还输出BitString 变量事件(当前前后关系的事件状态寄存器)和屏蔽(当前前后关系的 事件屏蔽寄存器值)。

现在转到图5,展示图4中说明的前后关系控制器110的内部结构 的SDL处理相互作用图。这里没有表示其他顶级块的内部结构,因为它 们不是本发明的部分并且不要求它们理解前后关系110控制器的特性。

说明包含在前后关系控制器块110中的两种处理。事件同步装置150 接收来自AsyncEvents信号路由158的外部事件信号并且将它们与主时 钟上升沿Mr 517同步,该上升沿由时钟发生器106经过ClkSyn信号路 由156提供。这些事件经过SyncEvents信号路由166,作为事件信号恰 好(固有同步的)与PriDP信号路由164上来自内部源的事件信号一起 发送。

在这个实施例中基本的前后关系控制状态机器在事件优先次序排列 处理器152中操作。事件优先次序排列器152经过ClkPri信号路由154 接收来自时钟发生器106的输入信号,经过SyncEvents信号路由166 接收来自事件同步装置150和经过PriDP信号路由164的数据路径 CctlDP功能143的事件信号。另外,用于与前后关系控制和前后关系间 通讯有关的各种指令的译码信号经过InstPri信号路由162在InstCctl 信道142上从指令译码器接收。

现在转到图6,说明图5的事件同步处理的处理图,它描述了数据 同步装置150的操作。这个处理保证保存每个输入ExtEvent信号208 直到主时钟上升沿Mr 206发生,此时所有保存的ExtEvent信号214被 接收并且作为Event信号218立刻送到事件优先次序排列器152。

现在转到图7A、7B、7C和7D,它们共同说明了图5中示出的定义 事件优先次序排列器152处理的状态转换的事件优先处理的处理图。这 个处理对于本发明的这个实施例实现了事件驱动和时间片前后关系转换 功能。

图7A定义了起动和复位序列。在“所有状态”符号272中,在加入 起动初始化(符号282)在开始符号254开始之前复位信号274抢先于 所有其他输入信号并且使得处理输入队列(符号276-280)被清仓。一 个序列(符号256-270)初始化所有的相关变量,清除事件屏蔽、事件 状态寄存器和等待触发器,设置所有前后关系为前台,并且清除所有ACT 触发器,除了被强迫激活的前后关系7以外。

图7B定义了在每个周期的后半周,Mf到Mr周期(一个从主时钟下 降沿Mf到它的下一个上升沿Mr的周期)期间的操作,以及紧随着主时 钟上升沿Mr 292的接收之后的事件。运行和空闲状态284均具有相同的 转换,因为在紧随WAIT功能之后的周期期间执行一个指令,并且因为在 任何周期期间事件可能发生以及需要被处理,包括当处理器是空闲的时 间。在Mf到Mr周期期间,除了ACK(AckInst)、WAIT或SLEEP功能 300所有指令译码信号被立刻处理。这三个信号被保存用于在主时钟上 升沿Mr 292之后处理,因为在已经处理所有的事件信号288之后必须处 理它们。如果前后关系转换发生,在主时钟上升沿Mr 292(即信号286、 290、294、296、209)之前处理的指令可能改变必需在主时钟上升沿Mr 292保存的信息。

在主时钟上升沿Mr 292之后,在ien为真(1)(293)的周期上 更新CSW(在进行标志的前后关系转换)、CTX(当前前后关系数)、NCTX (下一个前后关系数)以及事件屏蔽和事件状态寄存器的值(分别是符 号320、321)。处理器可以进入睡眠状态(符号338),在此期间处理 器时钟停止,并且只有低频睡眠定时器操作直到睡眠时间已过(一个 Wake信号,在符号340中)或者硬件复位发生。如果没有睡眠,如果后 台前后关系正在运行(符号326、328),时间片指令计数递减(符号330)。 如果片计数递减到0(符号332),通过将循环处理curBg(当前后台前 后关系)指针推进一个单位启动时间片前后关系转换,按模计算前后关 系的数(符号334),并且时间片指令计数复位(符号335)到它的编程 值。然后进入按优先次序排列状态336以处理Mr到Qr周期(一个从主 时钟上升沿Mr到下一个正交时钟上升沿Qr的周期)。

图7C定义了在每个周期的第一象限期间(Mr到Qr周期)的操作。 这个时间是在主时钟上升沿Mr 292采样的事件被屏蔽并且ACT触发器被 更新以准备在一个正交时钟上升沿Qr 380之后做出前后关系转换判定 时。在正交时钟上升沿Qr 380之前处理ACK(AckInst)信号352、WAIT 信号360和SLEEP信号366,并且一个屏蔽和ACT更新序列(符号 386-392)发生在正交时钟上升沿Qr 380之后。

为了理解有关被执行的操作,ACT位的更新作为迭代处理(符号 388-392)描述。这种操作一般对于所有前后关系同时执行。图7C中一 个细微但非常重要的动作是处理WAIT功能360,这里WAIT功能360的 发生记录在先前(prev)前后关系(符号362)的变址上(这个前后关 系是当译码WAIT功能360时在主时钟上升沿Mr 292之前正在运行的)。 然后在当前(ctx)前后关系的变址上完成ACT触发器(符号382-384) 的清除。在正交时钟上升沿Qr 380之前和之后的所有情况下,除了前后 关系转换紧接在主时钟上升沿Mr 292之前发生时,prev和ctx的值相 等。这意味着执行WAIT功能的前后关系在前后关系转换保持激活之前的 最后周期上,但是它的WAIT触发器(等待位串中的位)等于1直到那个 前后关系再次能够运行和执行WAIT功能之后的指令。图7C中另一个有 趣的动作是当处理ACK功能352时发送AckEv信号356到数据路径。实 现这个使得当确认一个特定事件时允许完成器件或主机接口逻辑中的副 作用。

图7D定义了每个周期第二象限,Qr到Mf周期(从正交时钟上升沿 Qr到下一个主时钟下降沿Mf的周期)期间的操作。这是当按优先次序 排列事件和进行前后关系转换判定时的时间周期。第一组动作(符号 422-428)搜索可能的抢先。该搜索作为为了理解有关被执行的操作的迭 代处理而描述。这个操作一般对于所有的前后关系同时执行。如果运行 的前后关系是在前台,搜索在范围0:ctx,而如果运行的前后关系是在 后台则搜索在范围0:7,因为所有前台前后关系的优先级比任何后台前 后关系的优先级高(符号423)。优先级编码隐含在上升前后关系数424 (下降优先级)序列中。如果找到一个激活的、前台前后关系,它的数 记录在nctx(符号452)。否则,搜索(符号430-434)被引导用于一 个开始于表示的当前后台前后关系并且继续到更高前后关系数(模8) 的激活的后台前后关系。

如果时间片(图7B的符号334)在这个周期的主时钟上升沿Mr 292 结束,则表示的curBg将已经递增,意味着搜索将在当前正在运行的前 后关系之后的前后关系开始并且如果没有任何其他前后关系在排列的状 态Qb将仅仅重新选择相同的前后关系。在后台运行状态Rb中抢先的前 后关系现在能够重新开始的情况下,这种检测(符号430)将立刻退出 到一组新的前后关系数(nctx)450。如果前台(符号452)或后台(符 号450)搜索找到一个前后关系运行,新的前后关系数(nctx)与当前 前后关系数(ctx)相比(符号454)以确定是否需要一个前后关系转换。 如果不需要前后关系转换,在这个周期期间没有另外的前后关系控制激 活发生并且控制器返回到运行状态458。

如果要求前后关系转换,控制器进入保持输入信号462的Start-CSW 状态456直到主时钟下降沿Mf发生(符号460)。然后要求CSW(符号 474、476),并且启动下一个前后关系的保存状态的加载(符号478) 同时请求保存当前的前后关系状态(符号480)。下面结合图8和9更 全面地解释存储之前请求加载的原因。

如果没有激活的前后关系,控制器保存所有的输入信号(符号440) 直到主时钟下降沿Mf发生(符号438),然后表示空闲状态442并且在 实际进入空闲状态448之前请求保存当前的前后关系状态446。保存前 后关系状态,因为不能保证相同的前后关系将是在空闲周期结束时运行 的第一个前后关系。事实上,转换到空闲状态448和从空闲状态448的 转换是一种分开的前后关系转换,在转换到空闲期间保存(符号442- 446),在从空闲转换期间加载(符号466-470)。在空闲状态期间,时 钟继续运行并且事件继续被采样,但指令既没有被取出也没有被执行。 然而,在空闲状态期间处理器保持准备对事件的发生起作用。

如果使用互补金属化物半导体(CMOS)或者另一种功率消耗非常 低或基本上是0的处理技术实现处理器,当电路部分没有定时或改变电 平时,空闲状态448对于大多数处理器提供特有的功率节省模式,包括 定序器、指令译码器和数据路径。如果仍然要求较低功率操作模式,SLEEP 功能366(图7C中)能够停止高速时钟,以及挂起事件监控,仅仅留下 低频睡眠定时器在操作。

现在转到图8,说明一个由本发明控制的前后关系转换的时序图, 其中当前前后关系的状态存储到同步的(自定时)SRAM或寄存器堆,并 且下一个前后关系的状态从同步的(自定时)SRAM或寄存器堆加载。描 述的时序图(在图8和9中)表明要求使用在存储非运行前后关系的执 行状态的两种不同类型存储器技术之一的差别。前后关系存储在分开的 寄存器集中。一些处理器结构支持多物理寄存器集,当转换任务时重新 映射到那里的逻辑寄存器上。另一方面,主存储器部分可以用来在分开 的组中存储寄存器内容。

这些定时序列中每一个具有优点,即前后关系转换操作不需要额外 的周期来保存和恢复前后关系执行状态,而是与转换的前后关系的最后 指令的执行一起同时实现这个功能。为了使用这种技术,处理器数据路 径应该包括专用的寄存器堆或静态RAM(SRAM)阵列用于执行状态的每 个寄存器。可以结合不提供这种存储的处理器数据路径使用本发明的说 明实施例。然而,由于为了保存和恢复前后关系执行状态可能的额外周 期和附加指令的执行,与这种处理器的前后关系有关的转换有更多的额 外开销。

当使用同步的(自定时)静态RAM(SRAM)实现存储阵列时得到图8 所示的简单的定时和控制信号序列。这也是根据图7中定义的SDL处理 由直接实现产生的定时。虽然程序员可见特性是相同的,用于存储阵列 的异步静态RAM要求更加复杂(如将结合图9讨论的)。假定同步SRAM 和异步SRAM器件有相同的性能,使用同步SRAM的方法允许较短的周期 时间和较低的功率消耗,这是由于减少的信号转换数和比指令周期时间 的50%短的控制信号占空因数的消除。

同步SRAM在每个写允许脉冲的前沿捕获写地址和数据,并且使用内 部产生的控制信号完成写操作,而在写周期的其余部分期间不需要稳定 的输入信号(除了电源)。利用使用具有独立地址的读端口和写端口的 寄存器堆元件的同步SRAM的基于元件、半定制的集成电路是容易得到 的。如图8所示,当使用这些同步SRAM元件完成存储阵列时对于前后关 系转换的控制信号定时变得相当简单。

在每个指令执行周期500、502期间前后关系控制器514在允许周期 的第一象限用于安排和选通同步信号(时间间隔532)的主时钟上升沿 Mr 517采样激活事件信号。在正交时钟上升沿Qr 518,更新所有的ACT 触发器并且优先级编码和比较操作确定一个前后关系转换的需要,如果 要求,选择下一个前后关系(时间间隔533)。与这些前后关系控制器 激活的同时,处理器已经执行在主时钟上升沿Mr 517启动的516指令, 而不考虑在这个指令执行周期期间前后关系转换是否需要。如果处理器 数据路径具有由内部寄存器源组合的路径,在整个执行周期它被认为是 稳定的,则在这些路径上的值必须定在主时钟下降沿Mf 519以允许下 一个前后关系的保存状态的读出开始(时间间隔540)。另一方面,如 果处理器设计者喜欢加上额外开销周期用于读出存储的前后关系状态, 则不要求这种锁定。但是,在大多数情况下,插入一个或多个周期并且 如果这些锁定被去除,净效应将是处理和实时响应的放慢,导致在旧的 前后关系的最后指令周期和新的前后关系的第一个指令周期之间一个周 期不能执行指令。

在主时钟下降沿Mf 519,前后关系控制器能够确定是否需要一个前 后关系转换(时间间隔534),并且如果这样则要求CSW信号522。通过 将下一个前后关系的前后关系数置于NCTX[2:0]信号组530上表示要被 恢复的目标状态。使用NCTX[2:0]信号组512开始下一个前后关系的“存 储状态”读出(时间间隔540)以与当前前后关系的最后指令完成的同 时寻址存储阵列,它们的前后关系数保持在CTX[2:0]信号组524上。

在由主时钟上升沿Mr 517表示的这个前后关系转换周期结束时(将 周期500与周期502分开),包括在这个执行周期500期间产生的输出 的当前前后关系的执行状态被使用CTX[2:0]信号组510存储以寻址存储 阵列。当要求CSW信号508时(时间间隔522)由主时钟上升沿Mr 517 启动存储阵列写操作(时间间隔542)。

由于写到同步SRAM的有益的特性,下一个前后关系的第一个指令能 够立刻开始执行(时间间隔536),因为在结束周期500的主时钟上升 沿Mr 517发生之后没有写到存储阵列的地址或数据必需保持。为了正常 地执行,包括写恢复的同步SRAM周期时间不能超过一个指令周期期间的 50%。启动SRAM写的相同主时钟上升沿Mr 517转换也可以有益地用于 以求反的CSW信号508和更新的CTX[2:0]信号组510完成前后关系转换 到新的前后关系数526。

现在转到图9,说明用本发明控制的前后关系转换的时序图,其中 当前前后关系的状态存储到异步SRAM或寄存器堆,并且下一个前后关系 的状态从异步SRAM或寄存器堆加载。常规的或异步的SRAM要求写地址 和数据在整个写周期的相应部分是稳定的。在写允许脉冲的后沿之前这 需要一个建立时间并且有时在这个后沿之后要求一个短的保持时间。许 多半定制的集成电路技术能够使用异步SRAM提供RAM阵列或寄存器堆, 该SRAM提供可以用于读或写的单个地址和数据端口。以这种方式操作的 分开的SRAM和寄存器堆芯片也可以容易地得到。

如图9所示,为了使用这种类型的常规的、单端口SRAM来实现存储 阵列,对于前后关系转换的控制信号定时变得更加复杂。一般的定时与 图8一样,使用相同的参考数表明类似的部分。主要的不同是NCTX[2:0] 信号组512的产生,在CSW信号508的要求期间和紧接着之后(如图9 的时间522、528、530、534、535、537、540、541、543中详细描述) 由前后关系控制器514和数据路径516操作。假定当存储和恢复一个前 后关系状态时不执行任何指令,必需以一个周期时间使用异步SRAM,该 周期时间不超过包括写恢复的指令周期期间的25%以便避免额外开销周 期的插入。这个速度要求是需要获得使用同步SRAM时的相同处理器周期 速率的两倍。在前后关系转换周期的前半周期间(时间间隔532、533、 538)前后关系转换激活是相同的。在前后关系转换周期的主时钟下降沿 Mf 519,要求CSW信号508(时间间隔522)并且NCTX[2:0]信号组512 被设置到下一个前后关系数(时间间隔534)。在将由当前前后关系执 行的最后指令的结果写到存储阵列时地址和数据信息必须是稳定的。因 此,只有从主时钟下降沿Mf 519到下一个正交时钟下降沿Qf 520的一 个周期可用于下一个前后关系存储状态的读出(时间间隔540)。然后 从正交时钟下降沿Qf 520到下一个主时钟上升沿Mr 517的一个周期期 间这个输出最好被锁定和保持。于是,这些锁定值被有益地发送到处理 器的工作寄存器(时间间隔543)。在正交时钟下降沿Qf 520,NCTX[2:0] 信号组512的值转换回当前前后关系数(时间间隔535),允许包括这 个指令(周期500)结果的当前前后关系状态写到存储阵列(时间间隔 541)。在主时钟上升沿Mr 517,NCTX[2:0]信号组512转换回下一个前 后关系数(时间间隔530)并且下一个前后关系的第一个指令的执行开 始(时间间隔537)。

不像同步SRAM实现,写操作是在主时钟上升沿Mr 517实现的。异 步SRAM的使用要求数据路径结果相当早就是稳定的以允许从正交时钟 下降沿Qf 520到主时钟上升沿Mr 517的间隔期间写到存储阵列。而用 同步SRAM时,不需要数据路径结果直到恰恰在主时钟上升沿Mr 517之 前,这便于缩短指令周期并因此加快处理。

现在转到图10,说明一个电路实施例的示意图,该电路适用于实现 事件记录、事件屏蔽、对于每个激活事件的事件确认、以及前后关系激 活位的管理,包括初始化请求和等待请求逻辑,这里可以更好地理解在 前后关系控制器内的事件记录、屏蔽和确认的细节。

表示一个前后关系控制器事件逻辑的“片”的一般示意段落用于包 括与该事件有关的前后关系的ACT位和WAIT功能逻辑的单个事件。在这 个图中,所有的逻辑信号被认为要求在“高”真(逻辑1)状态。这个 示意段落是事件逻辑实施例的说明并且不意味着是本发明的实际上的限 制。

外部事件信号550可以用任一极性要求,所以可编程反相功能560 在软件信号551的控制下可以提供建立高真的信号用于内部使用。因为 这个外部信号与内部时钟有未确定的相位关系,同步装置562在利用它 的内部使用之前将输入信号与主时钟上升沿Mr 517同步。多个源可以用 于设置事件触发器570,包括同步的外部信号564的前沿、内部源566 的前沿或者表示这个前后关系和事件的软件SIGNAL功能552。这些事件 源由OR门568组合,该OR门的输出允许事件触发器570在主时钟上升 沿Mr 517设置。

因为事件触发器D输入570是硬件设置为真(如所示为逻辑1), 在设置事件触发器570之后事件信号的“非”不取消该事件。如果处理 器提供如说明实施例的SKPn的指令,事件触发器输出570可以由作为事 件状态寄存器94中的1位和事件条件信号组596中的可检测条件读出 (如下面描述的)。通过硬件复位555或AND门572的输出经过OR门 574被应用于清除事件触发器570,它们被“与”的输入加入了对于这个 事件数的ACK(确认)功能554的执行,同时这个前后关系正在运行(信 号556)。

来自前后关系的事件屏蔽寄存器94的这个前后关系事件的适当 位,事件屏蔽位558在AND门580与事件触发器输出570一起被“与” 并且经过OR门584应用于ACT触发器590的输入端。如下面进一步详 细描述的,当实现用于VECTOR功能的前后关系事件的优先级编码时也使 用这个AND门580的输出。来自AND门580的屏蔽的事件信号与来自和 这个前后关系有关的所有其他事件的屏蔽的事件信号一起在OR门584 中被“或”,这些信号包括经过AND门582来自等待逻辑的输出门的信 号。

OR门584的逻辑真输出条件使能ACT触发器590,允许ACT触发器 590在正交时钟上升沿Qr 518设置到NOT倒相器586的输出值上。通过 使用AND门582的输出和经过NOT倒相器586的相同信号的反相,可以 使能ACT触发器590 D输入。如果要求一个或多个激活事件,ACT触发 器590在正交时钟上升沿Qr 518设置,并且在前面指令周期期间不执行 任何WAIT功能。ACT触发器590也可以通过INIT功能588的执行直接 设置到这个前后关系上,并且由硬件复位信号555直接清零。ACT触发 器输出590也由前后关系优先级逻辑使用并且被NOT倒相器592反相以 清零WAIT触发器578。如果在前面指令周期期间不管是否要求任何激活 事件执行WAIT功能,则经过NOT倒相器586清零ACT触发器590。

因为在执行WAIT功能和执行WAIT功能之后的指令之间前后关系可 能被抢先,所以需要WAIT触发器578。(这个例子发生在图2所示的53、 54和58)。当由AND门576译码WAIT功能557同时这个前后关系正在 运行(信号556)时,WAIT触发器578允许在主时钟上升沿Mr 517设 置。因为前后关系必须被激活以执行WAIT功能,这个动作记录了WAIT 功能的发生,因为在真状态的ACT触发器590的输出经过NOT倒相器592 求反清除WAIT触发器578的输入。

在下一个正交时钟上升沿Qr 518,此时这个前后关系在一个运行状 态(信号556),由于AND门输出582的要求,ACT触发器590被清零。 如果这个前后关系在设置WAIT触发器578的相同指令周期边界(主时钟 上升沿Mr 517)上被抢先或者被时间片,将不运行前后关系。因此,在 下一个正交上升沿Qr 518之前将求反前后关系运行信号556,并且ACT 触发器590将保持设置。当这个前后关系重新开始运行时,ACT触发器 590将在执行这样一个指令之后在引起前后关系变为非激活的第一个指 令周期的正交时钟上升沿Qr 518被清零。ACT触发器输出590经过NOT 倒相器592求反清零WAIT触发器578。

现在转到图11,说明根据本发明的一个实施例关于指令组中前后关 系控制和前后关系之间通讯的机器指令的字段和位分配。指令译码和字 段编码的细节与本发明没有直接的关联,并且这个图主要用于说明操作 数字段,该字段提供前后关系控制器需要的信息。

使用SKPx指令600最有效地完成在前后关系事件状态寄存器94中 位的检测。这些指令完成在屏蔽下的检测或者完成八个相关信号的规定 的“条件组”(C组)604和包含在指令字中八位屏蔽值605之间的逐位 比较。如果由检测操作603规定的条件是真的,则跳过SKPx之后的指令。 与本发明有关的是C组01、“EVENTS”组608,它不受事件屏蔽的影响 并且检测运行的前后关系的事件状态寄存器94的内容。

VECTOR指令610从如SKPx指令相同的操作码602译码,但在它的 “检测操作”字段612中具有不同的值。VECTOR指令字的其他10位是 向量基地址613,该基地址的使用将在下面描述。

SIGNAL指令620用于实现前面描述的前后关系间软件发信号功能。 SIGNAL指令620是根据扩展操作码字段622的值与不同的再译码值623 的处理器控制指令之一。当执行SINGAL指令时两个参数字段在前后关系 控制器内被译码。规定的事件数624表明在与规定的前后关系数625有 关的事件中一个特定的事件来提出要求。所有事件可以是SIGNAL指令 620的目标,但这个前后关系控制器和连接的事件源在特定情况下的实 现细节可能使得难于允许SIGNAL指令620去要求一定的条件。

ACK指令630和INIT指令640以对于SIGNAL指令620类似的方式 被格式化和译码但每个只有一个参数字段。ACK指令630仅有事件数 624,因为前后关系的事件的确认仅仅由相同前后关系中执行的代码允 许,所以前后关系数参数将是多余的。INIT指令640仅有前后关系数 625,因为初始化功能转向一个前后关系,而不是与前后关系有关的事 件。

STROBE指令650能够从多到32个离散的、命令控制功能653中产 生规定的一个。WAIT指令654是相关于前后关系控制器的,它清零运行 的前后关系的ACT位;SETFG指令655设置了运行的前后关系的FG位; CLRFG指令656清零运行的前后关系的FG位;以及SLEEP指令657引 起前后关系控制器挂起操作并且允许处理器进入非常低功率的睡眠模 式。

INIT指令640用于迫使目标前后关系进入已知状态用于初始化或用 于差错校正。INIT指令640的执行设置在指令中规定的前后关系中ACT 和FG位为逻辑真。它也设置前后关系CY(进位)标志以允许前后关系 在硬件复位(当CY等于0时)和INIT(当CY等于1时)之间区别并且 迫使前后关系在特定的前后关系初始化向量开始执行。

现在转到图12,说明根据本发明的一个实施例用于产生处理器上控 制存储地址的位源。用于上面提到的特定的前后关系初始化向量的初始 化向量地址可以通过将(图11中)INIT指令640的前后关系数字段625 的内容置于如图12所示用于INIT指令666的一个入口中所见包含所有 0的地址字的位位置5到3形成。

现在转到图13,说明根据本发明的一个实施例用于在控制存储中初 始化向量的示范数据结构图。如所示的,这个实施例使用一组八个初始 化向量670-677,位于连续的四个字间隔,控制存储地址模式678在控 制存储地址0x0000开始。选择四个字向量间距是因为在这个处理器上一 个长的、绝对分支要求三个字,并且所有的除了最后(前后关系7)向 量677很可能要求这样一个分支。对于前后关系7不要求任何分支是有 用的,因为前后关系7是在硬件复位之后被激活的唯一的前后关系。

因此,在前后关系7初始化向量的代码用于在硬件复位之后初始化 其他的前后关系并且用于处理对于前后关系7的INIT功能。在其他处理 器上使用的向量间距可以用依赖于实施例的方式选择。最好在一些处理 器上使用初始化向量的内容作为经过向量实现间接分支的地址,而不是 在向量地址上开始程序执行。如图11所示的VECTOR指令610对于引起 前后关系激活的基于优先级的事件的译码是有用的。

现在转到图14,说明根据本发明的一个实施例通过用于在处理器上 按优先序排列和译码特定的前后关系激活位的向量指令描述目标地址产 生的示意图。如上所述,VECTOR指令610对于引起前后关系激活的事件 的基于优先级的译码是有用的。当被执行时,这个指令分支到位于控制 存储中向量表690中一组八个处理程序680-687之一。

在VECTOR指令字610的十个最低位中规定向量表基地址613。通过 优先级编码前后关系事件状态寄存器94“与”前后关系事件屏蔽寄存器 90选择一个特定的向量。然后,使用生成的事件数694作为位位置6到 4以及向量地址678(如图13所见)的位位置3到0中一组零692引起 在分配到最高优先级(最低的数)要求的非屏蔽事件的八个字处理程序 位置680-687的开始继续执行。因为图11所示的VECTOR指令610一般 在紧随WAIT指令654的重新激活之后不久使用,有理由预期至少一个非 屏蔽事件触发器是真的(等于1)。如果不是这种情况,前后关系将不 会变为激活。然而,有可能在没有任何事件位被设置的情况下在基地址 +64字688包括一个向量。

对于当前实施例的指令组,这个八个字的向量间距允许许多处理程 序完全在处理该事件时不要求在分支的向量表范围内。对于提供这种类 型的向量译码功能的实施例,由于处理程序区域比一般要求的长许多, 可以选择间距在使整个处理程序组适合向量表和留下相当大的未使用的 控制存储量之间获得一种平衡。

从上面可知,显然本发明提供了一种用于管理处理器中多任务处理 的前后关系控制器和操作该控制器的方法。在一个实施例中,前后关系 控制器包括:(1)一个前台任务控制器,根据优先级和响应于事件激活 对应于前台任务的前后关系,以及(2)一个后台任务控制器,与前台任 务控制器合作,当执行对应于前台任务的前后关系时它服从于可利用的 处理器资源循环地执行对应于激活后台任务的前后关系。

虽然已经详细地描述了本发明,本领域的技术人员应该理解他们可 以用最广泛的形式在这里做出各种变化、替换和改变而不背离本发明的 精神和范围。

                  相互参照有关的申请   系列号   题目   发明人   申请日期   60/077,469   Context Controller   Having Instruction-   based Time Slice Task   Switching Capability   And Processor   Employing The Same   Diepstraten,   et al.   March 10,   1998   60/077,461   Context Controller   Having Status-based   Background Task   Resource Allocation   Capability and   Processor Employing   the Same   Diepstraten,   et al.   March 10,   1998   60/077,384   Context Controller   Having Automatic   Entry to Power Saving   Mode and Processor   Employing the Same   Diepstraten,   et al.   March 10,   1998   60/077,406   Context Controller   Having Context-   specific Event   Selection Mechanism   and Processor   Employing the Same   Diepstraten,   et al.   March 10,   1998   60/077,575   Context Controller   Having Event-   Dependent Vector   Selection and   Processor Employing   the Same   Diepstraten,   et al.   March 10,   1998

上面列出的申请是与本发明一起共同转让的,在此作为一个整体再 现并且作为参考。

这个申请还要求与本发明一起共同转让的并且在此作为参考的美国 临时申请系列号60/077,454的利益,它于1998年3月10日申请,名 称为“事件驱动与周期的前后关系(context)控制器及其应用处理器”。

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈