为多个电路模块分配指令的方法和装置制造方法及图纸

技术编号:2883999 阅读:206 留言:0更新日期:2012-04-11 18:40
一种将指令存储在内存字中的指令存储器。每个指令有一个标号字段和操作字段。为减少存储在指令存储器中的信息数量,对指令进行合并。控制单元对指令进行翻译并存储指令在被合并清楚时的顺序。控制单元根据标号字段中的信息将操作字段安排为控制字中的指令。当指令被压缩到指令存储器中时,不是并行执行的指令可以被存储在相同的内存字中,并行执行的指令可以被存储在不同的内存字中。控制字中指令的顺序由标号字段中的信息来决定,例如该指令是否与前面的指令并行执行等。一些指令组通过解码产生实时的控制字或是跳转指令的目标的控制字,它们被排在内存字的边缘,以便使那些形成控制字的指令能够在一个单时钟周期内被读出。可以通过在前面的存储器字中插入一个特定的编码或一个无效指令将指令组排列在内存字的边界。指令可以被放置在一个指令组中,以进一步较少指令存储器的大小。如果一个条件指令是一组指令中的第一条指令,则该条件适用与该组中的所有指令。如果条件指令不是指令序列中的第一条指令,则该条件仅适用于其前面紧相连接的一条指令。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
本专利技术涉及数据处理,更具体涉及存储于一个单片存储器中的指令。随着半导体技术的发展,可以做到将复杂的电路模块集成于单一的芯片、芯片组或电路板中。一个单片可以有输入输出单元、数据路径操作器、内存单元和控制单元。不同的电路模块执行不同功能(或操作)。控制结构的工作是保证特定的电路模块在特定的时间里进行特定的操作。一个电路模块的例子是加法器。加法器是用于计数、过滤和做乘法。寄存器常用于加法器的输入和输出来保证输入和输出在相同的时间到达。另一个电路模块的例子是乘法器。乘法器是用于数字信号处理操作来进行相关、卷积、滤波和频率分析。其它电路模块的例子包括奇偶发生器、比较器、0/1检测器、布尔运算器、算术逻辑单元(ALUs)和移位器。奇偶发生器是用来确定在一个输入字中1的个数是奇数还是偶数。比较器用于比较两个二进制数字值的大小。0/1检测器用于确定一个数字是否全部由1和全部由0组成。二进制计数器是用于进行一个二进制数字序列的循环。移位器对算术移位、逻辑移位和旋转功能来讲是很重要的。在其它组件中,内存单元是用于存储输入到电路模块和从电路模块输出的指令。内存单元通常分为三类随机存取存储器、串行存取存储器和内容存取存储器(content memory)。随机存取存储器常被定义为存取时间与数据的物理位置无关的存储器。在通常的随机存取存储器的类别中,有两个子类只读存储器(ROM)和读/写存储器。术语RAM常指读/写存储器。RAM常用于存储电路模块的输出。短语″数据处理″是指在两个电路模块中移动数据以实现特定的功能。这种数据移动是通过一个在每一个时钟周期开始时发出新的指令的控制结构来协调的。有些系统采用一个SISD(单指令流单数据流)控制单元,其中每次处理一个指令。因为仅有一个指令,SISD系统的效率通常可以通过增加指令字的长度或增加时钟频率来得到提高。在超级标量(superscalar)系统中,控制单元可以通过同时执行两个或多个指令(并行),在同一时钟周期内操作两个或多个电路模块。如果有N个电路模块,在理论上超标量系统可以在同一个时钟周期内操作N个电路模块。因为有多个指令,超标量控制单元通常比SISD控制单元更有效。术语″流水线技术″是指从一个单片存储器取回(获取)指令并对这些指令进行解码来及时组织这些指令,对不同的电路模块进行操作。控制单元可以把解码的指令存储在一个如同流水线级的指令路径中。指令路径可以分为不同的级,如指令获取、指令解码、寄存器读取、执行、和/或写。控制单元可以进行比较操作,允许忽略或保证在适当的序列中产生某些操作。大多数的系统使用通常所谓的甚长指令字(VLIW)控制器。在一个VLIW控制器中,控制程序以特定的字的形式被存储在一个单片存储器中,每一个字对应于一个单独的时钟周期。每一个VLIW针对每个电路模块,即使是那些对于当前的VLIW来讲是非活动的电路模块,都有至少一个位字段。VLIW控制器的一个问题是当电路模块增加时,控制程序的长度和规模也会增加。在特别复杂的系统中,没有足够的芯片空间来存储控制程序。如果没有超比例地大量增加芯片来存储指令,要管理每一个电路模块是不可能的。在大多数的系统中,在每一个时钟周期中只有小的电路模块子集是活动的。结果是,每个VLIW中只有一小部分是实际使用的。换句话说,控制字比需要的要长,有价值的的芯片区域被浪费了。在一些应用中,这种情况不可能再适用于单片上的指令存储器。这就需要能够管理多个电路模块和能够发出并行指令而不浪费有用芯片区域的控制结构和指令存储器。概述对于常规的控制单元和指令存储器,这些或其它的缺陷、问题和限制可以通过合并指令从而减少存储于指令存储器中的信息量来克服。控制单元翻译这些指令并恢复由合并而移除的顺序。按照本专利技术的一个方面,指令被连续地存储到指令存储器中的内存字中。每个指令都有一个标号字段和操作字段。一个控制单元接收一个指令组,这组指令被统称为一个内存字。控制单元解码这些指令并根据标号字段中的信息把操作字段作为指令安排到控制字中。控制单元把控制字存储在一个寄存器中并从寄存器中把控制字分配到多个电路模块中。当指令被压缩到指令存储器中时,非并行执行的指令可以存储在相同的内存字中。并行的指令可以存储在不同的内存字中。指令在控制字中的顺序由标号字段中的信息来决定,比如当前指令是否是与前面的指令是并列执行的等。按照本专利技术的另一个方面,经解码后形成时敏(time sensitive)控制字或作为跳转指令的目标的控制字的指令组被排列在内存字的边缘。如果指令组起始于一个内存字,结束于另一个内存字,控制单元就要读入这两个内存字。如果这组指令是跳转指令的目标,需要两个时钟周期才能使指令组完全可用。在实时的应用中,要等待两个时钟周期才能使指令组完全可用是不利的。然而,如果指令组被排列在内存字的边缘,控制单元只需读入一个内存字,控制字会很快变得可用。在一个特别的实施方案中,一个特殊代码或一个非法指令被插入到前面的内存字中,以使该指令组在下一个内存字的起始处开始。按照本专利技术的另一个方面,指令被放置在一个指令组中,以便进一步减小指令存储器的大小。例如,一个条件指令为一条要求一个特定的电路模块进行条件衡量的指令。如果条件为真,则执行其它指令。在本专利技术得一个规范的实施方案中,如果一个条件指令是一个指令组的第一条指令,那么该条件适用于该组中所有的指令。如果条件指令不是指令组中的第一条指令,则条件仅适用于其前面紧相连接的一条指令。换句话说,指令在组中的位置体现出附加的信息。本专利技术的一个优势是指令存储器不用浪费有用的芯片区域去为非活动的电路模块存储指令。指令存储器最小化,以便使得所用的芯片区域最少。本专利技术的另一个优势是在一个特定的系统中,不管并行的数目(独立路径或流水线的数目)的多少,都可使用同样的控制器和同样的一套指令。本专利技术的另一个重要的优势是同样的控制字段可以与重复使用许多相同的电路模块的略有不同的芯片一同使用。电路模块的重复使用对于减少开发新系统所需的时间和费用是很重要的。本专利技术的另一个优势是在实时应用中,指令组可以排列在内存字的边缘以使其可以在一个单独得时钟周期里被读取。附图简述借助于下面的附图可以更容易地了解本专利技术的上述的和其它的属性,特征和优势,其中附图说明图1是一个具有控制单元的系统的方框图;图2概要示出将指令作为内存字存储在指令存储器中;图3概要示出控制单元对指令进行的排序;图4概要示出当一条指令表明形成下一个的内存字的指令组起始于内存不同位置并且该指令组没有排列在内存字的边缘时,控制单元对其进行的指令排序;图5概要示出在一个指令存储器中存储形成一个控制字的指令组,该指令组是有选择地排列在内存字的边缘;和,图6概要示出当一条指令表明一个形成下一个的内存字的指令组起始于内存不同位置,并且该指令组是有选择地排列在内存字的边缘时,控制单元进行的指令排序。专利技术详述在下面的说明中,为了对本专利技术有一个透彻的了解,对本专利技术的特定的细节进行了阐述。然而,对于在该领域的熟练人员来讲,本专利技术很明显是可以用于这些特定细节之外的其它的实施方案中。在其它的实例中,众所周知的方法的细节说明和电路被省略,以便使不必要的细节对本专利技术的描述造成混淆。图1是一个具有控制单元20的系统的方框图本文档来自技高网...

【技术保护点】
一种为多个电路模块分配指令的装置,装置包括: 一个可在内存字中连续存储指令的指令存储器,指令包括一个标号字段和一个操作字段; 一个控制单元,用于接收内存字,解码内存字,基于标号字段中的信息将操作字段安排为控制字中的指令,和存储控制字到一个寄存器中;和 从寄存器分配控制字给多个电路模块的方法。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:C哈马M雅各布松S哈坎松
申请(专利权)人:艾利森电话股份有限公司
类型:发明
国别省市:SE[瑞典]

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

1