计算机的循环寄存器阵列制造技术

技术编号:2913769 阅读:313 留言:0更新日期:2012-04-11 18:40
一种堆栈处理器包括数据堆栈,所述数据堆栈具有T寄存器、S寄存器和以循环重复模式工作的八个硬连线底部寄存器。所述堆栈处理器还包括返回堆栈,所述返回堆栈包含R寄存器和以循环重复模式工作的八个硬连线底部寄存器。这里描述的循环寄存器阵列消除了上溢和下溢的堆栈状况。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机和计算机处理器领域,更具体地涉及更有效地使用堆栈计算机处理器中的堆栈的方法和装置。
技术介绍
堆栈机器提供的处理器复杂度远低于复杂指令集计算机(CISC)提供的处理器复杂度,并且提供的总体系统复杂度低于精简指令集计算机(RICS)或CISC机器提供的总体系统复杂度。它们在不需要复杂的编译器或高速缓存控制硬件来获得高性能的情况下实现了低的处理器复杂度和总体系统复杂度。在众多编程环境中,针对给定的价格,它们还达到了有竞争力的原始(raw)性能和高级(superior)性能。它们最初成功的应用领域是在实时嵌入式控制环境中,在该领域中它们远胜过其它系统设计方法。先前堆栈大多被保留在程序存储器中,而更新的堆栈机器为堆栈保留了独立的存储器芯片或甚至是片上存储区域。这些堆栈机器提供了极快的子例程调用能力以及卓越的中断处理和任务切换性能。然而,没有堆栈上溢或下溢状况的硬件检测。堆栈上溢发生在没有足够数目的寄存器可用且结果还持续被压入堆栈中,使得底部寄存器被重写时。堆栈下溢发生在所有的寄存器变空,并且持续的弹出堆栈产生了无意的或不正确的结果时。一些其它堆栈处理器使用堆栈指针和存储器管理,从而在堆栈指针超出为该堆栈分配的存储范围时对错误状况进行标记。授予Zahir等人的美国专利No.6,367,005公开了一种寄存器堆栈引擎,其为寄存器堆栈保存存储空间足够的寄存器,以在堆栈上溢的情况下提供更多可用的寄存器。在堆栈下溢的情况下,寄存器堆栈引擎还延迟微处理器,直到该引擎能-->够恢复适当数目的寄存器为止。授予Story的美国专利No.6,219,685公开了一种将操作结果与阈值进行比较的方法。然而,该方法没有区分下舍入成为阈值的结果(可能会导致上溢异常)与刚好等于阈值的结果。由Story公开的另一种方法读写硬件标志来识别上溢或下溢状况。然而,指令必须被顺序执行,而且任何跟随寄存器读/写的指令在读/写操作完成之前都不能执行,这使得进程缓慢。使用存储器中的堆栈,上溢或溢可能会重写堆栈项目,或者使用不意在作为堆栈一部分的堆栈项目。需要一种减少或消除堆栈中上溢和下溢的改进方法。
技术实现思路
本专利技术的目的在于提供这样一种设备和方法,即其中双堆栈处理器的数据堆栈和返回堆栈不是存储器中由堆栈指针访问的阵列,而是由独立的专用移位寄存器访问的硬线(hardwire)。本专利技术的另一目的在于减小或消除数据堆栈或返回堆栈的上溢和下溢。本专利技术的再一目的在于最小化双向堆栈寄存器的一位堆栈寄存器间的电连接长度,从而最小化所需的驱动器大小并最小化缓冲。这些和其它目的是由这里所描述的专利技术来实现的,其中传统的堆栈由以循环重复模式工作的寄存器阵列来代替。该循环重复模式通过使用相关联的包括以交替模式电互连的多个一位移位寄存器的双向移位寄存器来实现。该配置防止从堆栈的外部进行读取,并且防止读取无意的空寄存器值。以上所述的双堆栈处理器可以作为独立运行的处理器来工作,也可以与互连计算机阵列中的若干其它类似的或不同的处理器一起使用。附图说明图1是描绘堆栈计算机的一般布局的框图;图2是根据本专利技术的数据堆栈;-->图3是堆栈的单个寄存器的更详细视图;图4是根据本专利技术的返回堆栈;图5是根据本专利技术的计算机阵列的概略图;和图6是示出图5的计算机的子集的详细图及图5的互连数据总线的更详细视图。具体实施方式参考附图描述本专利技术,在附图中,相同的附图标记表示相同的或相似的元件。虽然根据用于实现本专利技术目的的模式对本专利技术进行了描述,但是本领域技术人员将认知到,在脱离本专利技术的精神或范围的情况下,可以鉴于这些启示来实现变体。这里所描述的和/或在附图中所示的本专利技术的实施例及其变体仅以示例方式给出,并不限定本专利技术的范围。由于本专利技术意在适应多种变体,因此除非以其它方式具体说明,本专利技术的独立方面和部件可以在保持在所要求的专利技术的精神和范围之内的同时,针对各种各样的应用被省略或修改。图1是描绘本专利技术中使用的双堆栈计算机12的一般布局的框图。计算机12通常为具有其自己的RAM 24和ROM 26的整装计算机。计算机12的其他基本部件为包括R寄存器29的返回堆栈28、指令区域30、算术逻辑单元(ALU或处理器)32、数据堆栈34和用于对指令进行解码的解码逻辑段36。计算机12是具有数据堆栈34和分离的返回堆栈28的双堆栈计算机。本领域技术人员通常应该很熟悉诸如本例子中的计算机12之类的基于堆栈的计算机的操作。在当前描述的实施例中,指令区域30包括若干个寄存器40,在本例子中,寄存器40包括A寄存器40a、B寄存器40b和P寄存器40c。在本例子中,A寄存器40a为全18位寄存器,而B寄存器40b和P寄存器40c为9位寄存器。本专利技术公开了一种堆栈计算机处理器,在该堆栈计算机处理器中,数据-->堆栈和返回堆栈包括寄存器阵列,该寄存器阵列以周期(cyclical)、重复或循环(circular)模式进行工作。正如在众多现有技术的计算机中,数据堆栈和返回堆栈并不是存储器中的由堆栈指针访问的阵列。图2公开了根据本专利技术的18位数据堆栈的实施例。数据堆栈中顶部的两个寄存器是18位T寄存器和18位S寄存器。数据堆栈的其余部分包括八个附加的18位硬件寄存器,在该例子中这些硬件寄存器编号为S2至S9。循环寄存器阵列S2-S9可以在T寄存器和S寄存器不存在的情况下操作。然而,至少S寄存器的存在与S2-S9寄存器的结合提供更快的访问电路和最优的时序,从而提供循环寄存器阵列的更高的操作速度。另外,S寄存器充当S2-S9可寻址寄存器与处理器系统的其它部分之间的缓冲器,这提供了S2-S9寄存器与处理器系统的其它部分之间的时序独立性。该实施例还包括双向移位寄存器,该双向移位寄存器包含多个一位移位寄存器。一位移位寄存器的数目等于位于S寄存器之下的底部堆栈寄存器S2至S9的数目。各个一位移位寄存器连接至其对应的S2至S9堆栈寄存器,如图2中所示。一位移位寄存器以交替模式电互连,从而使堆栈的S2至S9寄存器以如图2所示的由S2→S4→S6→S8→S9→S7→S5→S3→S2给定的顺序循环互连模式来工作。底部堆栈寄存器的顺序选择以循环重复的模式来操作。一位移位寄存器的互连线从不跨越多于三个相邻的移位寄存器,这避免了将底部移位寄存器连接至顶部移位寄存器的长线的需要。这些较短的线需要较小的驱动器,并且缓冲也得到了最小化。给定的实施例使用八个附加堆栈寄存器作为循环寄存器阵列。然而,也可以采用以四的倍数个的形式使用的底部寄存器的其它组合。图2还公开了使寄存器S2-S9以及T寄存器和S寄存器互连的读总线和写总线。双向移位寄存器中的各个一位移位寄存器连接至S2-S9阵列中的对应底部堆栈寄存器,其中一段时间内移位寄存器中仅有一位为高(读为一),所有其它位读为零。在上电时,必须对移位寄存器进行初始化,以便刚好包含设置为一的一位和设置为零的所有其它位。在给定的例子中,移位-->寄存器顶部位指向S2以读取,并指向互连的相邻寄存器S4以写入,如图2中的虚写线所示。尽管为了不引起对附图的不必要混淆,其它写线未被示出,但是单一位移位寄存器的剩余位相似地连接至寄存器S2至S4中的对应寄存器。由寄存器T、S和S2至S9形成深度为十单元的后进先出栈本文档来自技高网
...

【技术保护点】
一种堆栈计算机,包括: 用于存储数据和代码的存储器; 用于处理所述数据和代码的处理器;和 可被所述处理器用作堆栈的多个硬件寄存器。

【技术特征摘要】
【国外来华专利技术】US 2006-5-26 11/441,818;US 2006-5-26 11/441,784;US1、一种堆栈计算机,包括:用于存储数据和代码的存储器;用于处理所述数据和代码的处理器;和可被所述处理器用作堆栈的多个硬件寄存器。2、根据权利要求1所述的计算机,其中:所述多个寄存器中的寄存器根据预定重复序列以正序或逆序被访问。3、根据权利要求2所述的计算机,其中:当所述寄存器以所述正序被访问时,所述序列中所述寄存器中的首寄存器在所述序列中所述寄存器中的末寄存器之后被访问;而当所述寄存器以所述逆序被访问时,所述寄存器中的末寄存器在所述寄存器中的首寄存器之后被访问。4、根据权利要求1所述的计算机,进一步包括:双向移位寄存器,包括多个单一位寄存器,每个单一位寄存器的输出被连接起来,以至少部分控制对所述寄存器中相关联的寄存器的访问,从而使得所述双向移位寄存器通过沿所述单一位寄存器移位,作为堆栈指针来工作。5、根据权利要求1所述的计算机,其中所述单一位寄存器中的末单一位寄存器连接至所述单一位寄存器中的首单一位寄存器,使得所述单一位寄存器为沿所述单一位寄存器移位的位提供循环路径。6、一种堆栈计算机处理器,包括:数据堆栈,包括至少一个数据寄存器;和返回堆栈,包括至少一个返回寄存器;其中:所述数据堆栈和所述返回堆栈中的每一个均能够容纳18位指令字。7、根据权利要求6所述的处理器,其中所述至少一个数据寄存器包括堆栈顶部(T)寄存器。8、根据权利要求7所述的处理器,其中所述至少一个数据寄存器进一步包括堆栈第二位置(S)寄存器。9、根据权利要求6所述的处理器,其中所述至少一个返回堆栈包括顶部寄存器(R)。10、根据权利要求6所述的处理器,其中所述数据堆栈进一步包括硬件寄存器阵列。11、根据权利要求6所述的处理器,其中所述返回堆栈进一步包括硬件寄存器阵列。12、根据权利要求10所述的处理器,其中所述阵列以循环模式工作。13、根据权利要求11所述的处理器,其中所述阵列以循环模式工作。14、一种操纵计算机处理器的方法,包括:将多个指令字输入至所述处理器的对应多个指令单元;和处理所述多个指令字,其中:指令不会由于所述输入和所述处理而上溢或下溢。15、根据权利要求14所述的方法,其中所述输入包括填充所有可用的指令单元。16、根据权利要求15所述的方法,其中所述输入进一步包括在所有可用的指令单元已被填充之后输入附加指令字。17、根据权利要求16所述的方法,其中所述输入和所述处理在不使用由软件实现的指针的情况下发生。18、根据权利要求14所述的方法,...

【专利技术属性】
技术研发人员:查理斯H莫尔杰佛瑞阿特胡尔福克斯约翰W瑞博
申请(专利权)人:VNS组合有限责任公司
类型:发明
国别省市:US[美国]

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

1