处理设备的制作方法

文档序号:6419222阅读:267来源:国知局
专利名称:处理设备的制作方法
技术领域
本发明涉及计算机体系结构上的处理设备。
现有技术的描述目前有许多基于一个单主处理器的常规计算机体系结构,该单主处理器与一个协处理器共同工作。协处理器增加了计算机结构体系中主处理器所不具有的或者不能高效实现的功能。协处理器通常使用主处理器的指令组中没有设定的指令。因此,许多协同处理器用于对所需的特定码进行寻址,如浮点运算或信号处理。在大多数的应用中,这意味着此协处理器的指令组是专用于该协处理器的。
另外,许多主处理器使用实时操作系统来执行多项任务和对异常检测,如中断。执行多项任务可以引起上下关系的交换,该上下关系的交换可以占用处理器中尚有的大量的处理能力。当由一个处理器正在执行的任务改变时就会发生关系交换。一项任务的上下关系和相应于任务的代码以及处理器的内部寄存器的状态有关。另外,在低功率的应用中为了节省电能,经常要使用睡眠模式,并且当发生中断或服务请求时处理器必须从睡眠模式中重新激活。当处理器被激活时,必须加载上下关系然后进行服务,最后处理器返回到一个待用状态。这样的一个处理器可消耗大量的电能。
因此期望具有一种能克服这些缺点的计算机结构体系。
本发明的简述根据本发明的一个方面,提供了用于计算机的一个处理设备,包括用于处理一个第一指令组的第一处理器装置;和用于处理一个第二指令组的第二处理器装置,第二指令组是第一指令组的子组,其中将第二处理器装置设置成可接收控制信号并根据这些控制信号对指令进行处理而不参考第一处理器装置。
图面说明

图1是根据本发明的计算机处理器结构的方框图2展示了包括多个处理器的计算机体系结构;图3为示意性地表示了体现本发明的处理器如何实现一个所期望的虚拟处理器的功能。
优选实施例的详细描述图1为展示与一个辅助(或第二)处理器2相连接的一个主(或第一)处理器1的一个方框图。在所示的实例中,辅助处理器2用于控制来自与处理器系统相连接的外围设备的中断。
主处理器1通过外部总线接口4与一个外部总线3进行通信。外部总线3用于在主处理器和存储设备(图中未示出)之间进行数据的双向传输(未示出)。主处理器1还包括一个用于控制对存储设备的数据存取的存储器控制器5。存储器控制器5通过一个具有主处理器1的总控制的执行单元6进行自控。主处理器1还包括一个算术逻辑单元(ALU)7和多个寄存器8,图中所示的寄存器为16个。主处理器1的各个部件之间通过适当的内部总线彼此进行通信。
为了尽可能长时间的使主处理器1处于一个低功率待用状态,将一个辅助处理器2与该主处理器1相连接。辅助处理器2包括一个中断控制器10,该中断控制器10通过一个中断输入12接收中断信号。辅助处理器2也包括多个寄存器,该寄存器与主处理器1中选择的寄存器相对应。如图1所示,中断控制器可与外围设备相连接,其中该外围设备与一个外围总线11相连接。
辅处理器2还包括一个执行单元14、代码存储器15和数据存储器16。辅处理器2对来自主处理器1运行的指令的一个选择的子集进行处理,并且这些指令被存储在代码存储器15中。辅处理器2可通过一个存储器控制器17对主处理器的存储器进行访问,其中该存储器控制器17通过主处理器外部总线接口4与外部总线3相连接。
为了在主处理器1和辅处理器2之间建立连接,通过一个主中断控制器18将两个处理器的执行单元连接在一起,并且通过一个寄存器桥单元19将两个处理器的寄存器连接在一起。主中断控制器18是一个模块,为了在执行任务及一个关系交换时引起与系统需求相当的变化,该模块让辅处理器向主处理器发出一个中断命令。它利用主中断协议向主处理器发出一个中断指令并将中断源表示为一个辅处理器所编写的、与一个所需的新任务有关的一个向量。
下面对处理器的描述是辅处理器2运行的一个例子,其中上述处理器用于对来自外围总线11的中断进行服务。一个外围设备(图中未示出)在中断输入线12上产生一个中断请求。输入控制器10对中断请求进行解释,如果中断请求是可由辅处理器2处理的类型,则辅处理器2将对该中断进行服务。一个中断的一个实例是如果一个外部设备,如一个串行端口从其所连接的一个系统中接收数据。来自这样一个串行端口的数据被包含在一个信息体中,该信息体包括关于数据源和数据内容的信息。然后通过辅处理器2接受该信息而后从该信息中除去数据来对请求的中断进行服务。一旦数据被除去并且通过核查,则通过主中断控制器18向主处理器,发出一个中断指令,并且该主中断处理器18具有第一次建立的任务所需的关系来服务信息内的数据。在辅处理器2存储中断任务的关系时主处理器1将开始处理数据。
寄存器桥单元19允许主处理器和辅处理器对一组寄存器进行多重访问。在处理器的物理资源空间内解决访问时的冲突以及对这些寄存器的映射时,它允许在两个处理器系统中出现物理寄存器。
该单元包含了允许对每一个处理器总线进行双重访问的多路复用器、能防止访问冲突的仲裁逻辑和允许访问地址改变的逻辑,该逻辑允许对每一个处理器的地址变换内的寄存器的位置进行重新映射。
例如映射到主处理器位置4~7的寄存器也可以出现在辅处理器的位置4~7处或者重新映射到辅处理器的位置8~11处。或者在寄存器调换的实例中,主处理器的寄存器x-y可以变为辅处理器中相当的寄存器,反之亦然。它允许辅处理器的寄存器x-y在加载时具有一个新的上下文关系,然后在一个关系交换中调换到主处理器中。在辅处理器中被取代的寄存器将包含旧主关系并且当主处理器对新的关系进行处理时,该寄存器在辅处理器中能被存储和重新存储。
当主处理器1正在执行一个任务或者处于一个非活动(静止)状态时,辅处理器将接收中断指令来确定请求并决定所请求的动作。如果该动作可由辅处理器单独处理,则对此进行处理而无需涉及主处理器,但是如果它确实需要主处理器的一些介入的话,则辅处理器2将通过主中断控制器18激活主处理器。
在所示的例子中,辅处理器2可以处理来自外围设备的常规请求而不必要求主处理器进行介入。为了使两个处理器能处理相同的数据,通过寄存器桥单元19可使将要处理的数据在主处理器和辅处理器之间进行共享。
很容易理解的是辅处理器2可以使用主处理器的指令集的一个子集。这种辅处理器的主要优点在于指令代码很容易在主处理器和辅处理器之间共享而无需进行处理器仿真或者复合代码转换(complex code conversion)。另一个显著的优点是任何需要开发辅处理器的工作可以基于主处理器的开发工作。另外,辅处理器基于对主处理器的指令的一个限定范围进行处理,因而可使辅处理器的设计得到最优化。可对用于这样一个应用程序的代码进行分析从而确认出使用频率最高的指令,辅处理器可以专门用于处理这些使用频率高的指令。辅处理器可以基于公共指令集但尽量不涉及寄存器和寻址范围请求。辅处理器可以访问主处理器使用的所有相关寄存器和内存区,这样主处理器和辅处理器可以相互合作进行工作,辅处理器可以处理独立于主处理器的任何参考的任务。可以理解的是多个辅处理器与一个单个主处理器共同工作从而达到高效的数据处理而无需直接涉及主处理器本身。
该系统的一个显著的优点是辅处理器可以服务中断请求和其它例行任务而无需将主处理器激发到活动状态。这样可以在整体上减少处理系统的电能消耗。
可以理解的是如果在多个辅处理器中每一个处理器致力于主处理器功能的一个部分,则多个辅处理器有可以提供主处理器的所有功能。利用这种方式可以产生一个处理体系,该体系无需使用这样的主处理器而是使用一组辅处理器,在该辅处理器组中每一个处理器都是为了一个特定的功能而得到最优化。这种处理体系如图2、3所示,其中辅处理器被布置成对数据和寄存器进行共享,由此对程序步骤的处理可具有连续性。
图2是一个不使用一个主处理器的辅处理器理念的一个应用。
多个辅处理器依次进行布置;每一个处理器对来自上一个辅处理器的数据进行特定的处理并将处理过的数据依次传送给下一个辅处理器。该序列在末端辅处理器上具有输入/输出口,该输入/输出口用于与其它系统部件相连接。在辅处理器的两个方向上进行数据处理(即1到5和5到1)。另外片段3和4包含具有附加输入/输出口的两个辅处理器(A&B),该输入/输出口用于与主序列相连接。辅处理器6执行存储器控制的任务并确保将所需的合适代码由主存储器加载到辅处理器中。它也执行系统的主协作任务。
这种应用的一个实例可以是一个通信终端。辅处理器1的I/O端口可以连接在RF子系统上,处理器5的I/O端口连接在音频子系统上。辅处理器3b/4b的第二I/O端口连接在数据处理、用户接口如LCD和键盘上。辅处理器1~5中的每一个均执行由音频编解码器、交织/去交织等所需的特定任务。
图3是一个虚拟处理器理念的一个实例。
主处理器作为一个虚拟处理器和一个仿真机,该虚拟处理器仅能存在于理念中。由该虚拟处理器可以对各种实例进行分析,得到特定的执行指令。这三个执行指令1~3在下面主处理器取出。每一个执行指令都包含该应用所需的主处理器的特定部件。例如辅处理器A(1)可具有一个RISC CPU的特性,辅处理器B(2)可以是一个逻辑处理器,辅处理器C(3)可以是一个存储器管理处理器。
图3的重要特性在于主处理器是一个虚拟处理器,该虚拟处理器可以不以有形的方式存在。
辅处理器是虚拟处理器的最优化部分(fragment),该部分可以合成为一个芯片上的一个物理执行件。
权利要求
1.一种用于一个计算机上的处理设备,包括第一处理器装置,用于处理一个第一指令组;和第二处理器装置,用于处理一个第二指令组,第二指令组是第一指令组的子组,其中将第二处理器装置设置成可接收控制信号并根据这些控制信号对指令进行处理而不参考第一处理器装置。
2.如权利要求1所述的设备,其中第一处理器装置包括多个寄存器,第二处理器装置可以访问,一个预定的选择的所述寄存器。
3.如权利要求1或2所述的设备,其中第一处理器装置具有运行的活动状态和待用状态,其中当第一处理器装置处于待用状态时,第二处理器装置可操作地对指令进行处理。
4.如权利要求3所述的设备,当接收到的控制信号表示出指令不能由第二处理器装置处理时,第二处理器装置可操作地将第一处理器装置从待用状态变化到活动状态。
5.一种操作一个计算机的方法,该计算机包括用于处理一个第一指令组的第一处理器装置,用于处理一个第二指令组的第二处理器装置,第二指令组是第一指令组的子组,该方法包括使用第二处理器装置接收控制信号;和当接收到的指令选自所述第二指令组中时,利用第二处理器装置而不参考第一处理器装置来根据接收到的控制信号对指令进行处理,
6.如权利要求5所述的方法,其中第一处理器装置具有运行的活动状态和待用状态,其中当第一处理器装置处于待用状态时,如果指令是所述第二指令组的一部分时,利用第二处理器装置对指令进行处理。
7.一种用于一个计算机上的处理设备,包括第一和第二处理器装置,第二处理器与第一处理器可代码兼容,这样指令代码可以在第一和第二处理器之间进行共享,并且可以仅由第一或第二处理器处理而无需进行转换或改变。
8.一种用于一个计算机上的处理设备,包括多个处理部件,每一个部件被用于一个预定功能,其中处理部件可以共享指令代码而无需转换或改变,多个部件所具有的功能等同于一个预定虚拟处理器的功能。
全文摘要
一种用于一个计算机上的处理设备,包括:用于处理一个第一指令组的该第一处理器装置(1);和用于处理一个第二指令组的第二处理器装置(2),第二指令细是笫一指令组的子组,其中将第二处理器装置(2)设置成可接收控制信号并根据这些控制信号对指令进行处理而不参考第一处理器装置。
文档编号G06F9/38GK1325511SQ99812768
公开日2001年12月5日 申请日期1999年10月25日 优先权日1998年10月30日
发明者R·N·奈洛尔 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1