二级堆栈装置制造方法及图纸

技术编号:2914633 阅读:179 留言:0更新日期:2012-04-11 18:40
本实用新型专利技术公开了一种二级堆栈装置,其特征在于包括一控制器、一二级堆栈寄存器和一地址总线模块,其中,控制器产生控制信号,用于控制数据的压栈和出栈操作;二级堆栈寄存器由复数个基本单元组成,用于存储压栈的数据;地址总线模块通过地址总线与所述二级堆栈寄存器连接。本实用新型专利技术的有益效果在于将地址总线(PC)和堆栈(STACK)相结合,利用4相时钟的特点来实现堆栈(STACK)的数据压栈和出栈操作,电路结构简单,控制方便,电路面积小,有效降低了成本。(*该技术在2017年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术涉及集成电路领域的一种二级堆栈装置
技术介绍
在多点控制单元(MCU)电路中,堆栈(STACK)是不可或缺的模块。堆栈的特性是先入后出,这是子程序调用的关键。二级堆栈意味着能够实现两级子程序嵌套,即主程序可以调用子程序1,子程序1可以调用子程序2,而子程序2不能够再调用其它子程序。在对堆栈的设计中,往往把堆栈(STACK)和地址总线(PC)分离开来,堆栈(STACK)用随机存储器(RAM)结构来实现。如果地址总线(PC)为10位,可寻址1K的存储器空间,则二级堆栈需用两个10位的随机存储器(RAM)单元来实现,用以存储两次子程序调用时的跳转地址。但用随机存储器(RAM)结构实现堆栈(STACK)电路复杂,控制不易,且电路面积大,成本高。
技术实现思路
有鉴于此,本技术的目的就在于提供一种二级堆栈装置,不采用RAM结构,将地址总线(PC)和堆栈(STACK)结合,利用4相时钟的特点来实现堆栈(STACK)的数据压栈和出栈操作。为实现上述目的,本技术采用的技术方案如下:一种二级堆栈装置,其特征在于所述二级堆栈装置包括一控制器、一二级堆栈寄存器和一地址总线模块,其中,控制器产生控制信号,用于控制数据的压栈和出栈操作;二级堆栈寄存器由复数个基本单元组成,用于存储压栈的数据;地址总线模块通过地址总线与所述二级堆栈寄存器连接。所述基本单元包括第一、第二级锁存器,一逻辑控制单元和一使能传送器,其中,-->第一级锁存器用于存储第二级子程序的返回地址数据;第二级锁存器用于存储第一级子程序的返回地址数据;逻辑控制单元在选择信号的控制下将返回地址数据送入第一级锁存器;使能传送器在出栈使能信号的控制下执行地址数据的出栈操作。所述第一级锁存器的反向输出端连接第二级锁存器的数据输入端,第一、二级锁存器分别受第一、二钟控信号控制。所述第一、二钟控信号由所述控制器产生。所述逻辑控制单元为二选一数据选择器,该二选一数据选择器的一个数据输入端接收入栈的地址数据,另一个数据输入端接收第二锁存器的输出数据,其输出端与第一锁存器的数据输入端连接,其控制端接收选择信号。所述使能传送器的输入端连接第一锁存器的反向输出端,其使能端接收出栈使能信号。所述控制器包括用于接收系统控制信号的复数个输入端。所述系统控制信号包括四相时钟、子程序调用指令使能信号、子程序返回指令使能信号、总线复位/置位信号和跳转指令使能信号。本技术将地址总线(PC)和堆栈(STACK)相结合,通过设置控制器,利用4相时钟的特点来实现堆栈(STACK)的数据压栈和出栈操作。本技术的有益效果在于电路结构简单,控制方便,电路面积小,有效降低了成本。附图说明下面结合附图和具体实施方式对本技术作进一步的阐述。附图1为本技术所述二级堆栈装置的结构框图;附图2为二级堆栈寄存器的基本单元的电路结构图;附图3为本技术所述二级堆栈装置的工作时序图。具体实施方式如图1所示,一种二级堆栈装置,包括控制器PC_STACK CONTROL、总线模块PC和二级堆栈寄存器STACK,总线模块PC和二级堆栈寄存器STACK通过地址总线连接,并在控制器PC_STACK CONTROL的控制下进行数据的压栈和出栈操作。控制器PC_STACK CONTROL包括八个信号输入端,其中四个输入端作为-->四相时钟的输入端;一个输入端接收系统的子程序调用指令使能信号CALL_EN,子程序调用指令使能信号CALL_EN在子程序调用指令执行时有效;一个输入端接收系统的跳转指令使能信号JMP_EN,跳转指令使能信号JMP_EN在跳转指令执行时有效(含子程序调用指令和地址跳转指令);一个输入端接收系统的子程序返回指令使能信号RET_EN,子程序返回指令使能信号RET_EN在子程序返回指令执行时有效;还有一个输入端接收总线复位/置位信号CLR。控制器PC_STACK CONTROL为总线模块PC和二级堆栈寄存器STACK产生控制信号,控制总线地址的增加和跳转以及地址数据的压栈和出栈操作。总线模块PC为n位地址总线PC,用以控制只读存储器ROM,读取指令;二级堆栈寄存器STACK由与地址总线模块PC对应的n个基本单元组成,每个基本单元分别对应地址总线PC的一位数据。如图2为二级堆栈寄存器的基本单元的电路结构图。该基本单元包括第一级锁存器I1、第二级锁存器I2、使能传送器G(高电平有效)和二选一数据选择器mux2。第一级锁存器I1的反向输出端Q_连接第二级锁存器I2的数据输入端D,二选一数据选择器mux2的数据输入端A接收入栈的地址数据PCin,数据输入端B连接第二锁存器I2的反向输出端Q_。二选一数据选择器mux2的输出端Y与第一锁存器I1的数据输入端D连接,其控制端S接收选择信号SEL。使能传送器G的输入端连接第一锁存器I1的反向输出端Q_,其使能端接收出栈使能信号Pop,其输出端STout输出出栈的地址数据。第一级锁存器I1和第二级锁存器I2为普通的锁存器(LATCH)。二选一数据选择器mux2当选择信号SEL=0时,输出Y=A;当选择信号SEL=1时,输出Y=B。当出栈使能信号Pop有效时(高电平有效),使能传送器G的输出端STout输出第一锁存器I1的输出值,用以影响地址总线PC的当前值。第一钟控信号CK1和第二钟控信号CK2由控制器PC_STACK CONTROL产生,分别作为第一级锁存器I1和第二级锁存器I2的时钟输入。图2所示电路结构的工作原理如下:当第一钟控信号CK1=1时,第一锁存器I1读入二选一数据选择器mux2的输出端Y的值;当第二钟控信号CK2=1时,第二锁存器I2读入第一锁存器I1的值。当出栈使能信号Pop=1时,能传送器G的输出端Stout输出第一级锁存器I1的输出值。下面结合图2、图3对数据压栈和出栈操作过程进行介绍:如图3所示,四相时钟Q1~Q4为构成一个指令周期的四个时钟周期,第一个时钟周期Q1修改地址总线PC的当前值,第二个时钟周期Q2取指令进行译-->码,第三个时钟周期Q3执行逻辑算术运算,第四个时钟周期Q4写入结果。子程序调用指令使能信号CALL_EN和子程序返回指令使能信号RET_EN在第二个时钟周期Q2时有效。当系统执行第一次子程序调用指令时,子程序调用指令使能信号CALL_EN=1,第二钟控信号CK2在第二个时钟周期Q2时有效,第二锁存器I2读入第一锁存器I1的值,第一钟控信号CK1在第三个时钟周期Q3时有效,此时选择信号SEL=0,第一寄存器I1读入地址总线PC的值PCin(此时,第一锁存器I1存入的为第一次子程序调用时的返回地址,第二锁存器I2存入不确定量);当系统执行第二次子程序调用指令时,子程序调用指令使能信号CALL_EN=1,当第二钟控信号CK2=1时,第二锁存器I2读入第一锁存器I1的值(此时第二锁存器I2的值为第一次子程序调用时的返回地址),当第一钟控信号CK1=1时,第一锁存器I1读入当前要跳转时的地址值,此时第一锁存器I1的值为第二次子程序调用时的返回地址。这样就实现了堆栈的特性,即压栈时,后入的数据在栈顶(即第一锁存器I1)。当子程序返回(返回指令需要执行2个指令周期)时,子程序返回指令使能信号RET_EN有效本文档来自技高网...

【技术保护点】
一种二级堆栈装置,其特征在于所述二级堆栈装置包括一控制器、一二级堆栈寄存器和一地址总线模块,其中,    控制器产生控制信号,用于控制数据的压栈和出栈操作;    二级堆栈寄存器由复数个基本单元组成,用于存储压栈的数据;    地址总线模块通过地址总线与所述二级堆栈寄存器连接。

【技术特征摘要】
1.一种二级堆栈装置,其特征在于所述二级堆栈装置包括一控制器、一二级堆栈寄存器和一地址总线模块,其中,控制器产生控制信号,用于控制数据的压栈和出栈操作;二级堆栈寄存器由复数个基本单元组成,用于存储压栈的数据;地址总线模块通过地址总线与所述二级堆栈寄存器连接。2.如权利要求1所述的二级堆栈装置,其特征在于所述基本单元包括第一、第二级锁存器,一逻辑控制单元和一使能传送器,其中,第一级锁存器用于存储第二级子程序的返回地址数据;第二级锁存器用于存储第一级子程序的返回地址数据;逻辑控制单元在选择信号的控制下将返回地址数据送入第一级锁存器;使能传送器在出栈使能信号的控制下执行地址数据的出栈操作。3.如权利要求2所述的二级堆栈装置,其特征在于所述第一级锁存器的反向输出端连接第二级锁存器的数据输入端,第一、二级锁存器分别受第一...

【专利技术属性】
技术研发人员:江猛贾力
申请(专利权)人:苏州市华芯微电子有限公司
类型:实用新型
国别省市:32[中国|江苏]

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

1