专利名称:一种专用双流水线risc指令系统及其操作方法
技术领域:
本发明涉及指令系统及操作方法,特别涉及一种专用的双流水线 RIST指令系统及其操作方法。
背景技术:
计算机指令一般由操作码和地址码组成,不同的指令体系在指令 的结构上存在区别首先,指令字长的位数,是定字长还是变字长; 其次,操作码位数是定量还是浮动量;还有是地址的结构和寻址方式。 这种种区别因素使计算机指令产生了 "简单指令"和"复杂指令"之 分。指令形式的不同也造成了 CPU内部结构的不同。目前CPU的指令 体系可分为CISC (Complex Instructor Set Computing,复杂指令集 运算)和RISC (Reduced Instructor Set Computing,精简指令集运 算)两大体系。RSIC体系结构是IBM公司在70年代发明的,其基本目标是提供一 套可以在硬件上快速高效运行的精简指令集,而比较复杂的指令则用 软件来实现。但是,在传统的RSIC结构中通常采用单流水线结构, 一个系统时 钟周期之内只能执行一条指令,运算速度和效率受到限制。另外,当 集成电路芯片功能和性能加强,若使用由算法直接映射成硬件的方法将各个数据处理模块直接映射为相应电路,其所需要的硬件面积会随 着计算单元数量的增加或信号处理位数的增加而大幅度增加。并且由 算法直接映射成硬件的方法兼容性差, 一旦在功能或算法上有所改变, 就需要增加电路模块或修改电路结构。因此,有必要设计一种新的结构和方法,以满足多功能高性能的 集成电路的指令系统设计要求。发明内容本发明的目的在于提供一种专用双流水线RISC结构,它能在集成 电路芯片内实现电路设计所要求的功能,特别是多功能高性能的集成 电路芯片电路设计要求的功能。因此,本发明一方面提供一种专用双流水线RISC指令系统,该系 统具有两条并行的流水线,其顺序包括获取指令单元、指令译码单元、 指令执行单元、访问内存单元和数据写回单元。该系统使用双流水线RISC指令,该指令包括两条合并的单流水线 指令。所述的两条流水线由指令计数器、指令存储器、寄存器堆、双运 算单元、数据存储器、数据选择模块、跳转预测模块和双数据预测模 块构成。所述的两条流水线上的数据适于相互交换。本发明另一方面提出一种专用双流水线RISC指令系统的操作方 法,包括以下步骤设置两条并行的流水线,即顺序设置获取指令单元、指令译码单 元、指令执行单元、访问内存单元和数据写回单元。
设置包括两条合并的单流水线指令的双流水线RISC指令。所述双流水线RISC指令的寻址方式为寄存器寻址和立即数寻址。所述双流水线RISC指令包括运算指令、读出指令、存储指令和跳 转指令。使用本发明的专用双流水线RISC指令系统来实现多功能高性能 集成电路芯片的数字信号处理器,省却了使用通用数字信号处理器时 其中的很多资源在实现算法时并不用到而造成的资源浪费,并且在实 现了 24位以上运算(内部48位.)的同时,又具有成本低、功耗低的 优点。
图1为单流水线RISC指令结构示意图;图2为本发明的专用双流水线RISC指令结构示意图;图3为单流水线RISC指令系统结构示意图;图4为单流水线指令处理阶段示意图;图5为本发明的专用双流水线RISC指令系统结构示意图。
具体实施方式
下面结合附图对本发明的优选实施例进行详细说明。本实施例为用在一种专用双流水线RISC结构的电能计量芯片内的 专用双流水线RISC指令结构,用以实现电能计量的设计要求。图1为单流水线RISC指令结构示意图。
如图所示,单流水线指令由操作码和地址码组成。操作码为操作 指令类型,地址码为该指令涉及数据的存储地址。图2为本发明的专用双流水线RISC指令结构示意图。如图所示,该专用双流水线RISC指令指令长度为54位,包含两 条单流水线指令,每条单流水线指令各为27位,其中包括操作码5位、 源1地址6位、源2地址6位、目的地址10位。该专用双流水线RISC指令结构的寻址方式只有寄存器寻址和立即 数寻址两种,其指令类型则主要包括运算指令、读出指令、存储指令 和跳转指令,' 一一说明如下运算指令包括加、减、乘、除等,特点是源地址和目标地址都是 寄存器,并对应5级流水线。运算指令的执行步骤为从指令计数器 指向的指令存储器中读出指令,送入寄存器堆;从寄存器堆中读出源操作数;在运算单元中进行运算;将结果传到数据存储器(不参与存 储器访问操作);将计算结果由数据选择器写回寄存器堆。读出指令的作用是将数据存储器中的数据读出到寄存器堆。在本 实施例中,将源2地址定义为存入数据的寄存器地址,将目的地址定 义为存储器地址。读出指令的执行步骤为取指令(不参与寄存器堆 读取操作和运算单元的计算操作);按目的地址从数据存储器中取出数 据;将数据由数据选择器写回源2地址所指的寄存器堆。存储指令的作用是将寄存器堆中的数据存入数据存储器中,在本 实施例中,将源1地址定义为读出数据的寄存器地址,将目标地址定 义为存储器地址。存储指令的执行步骤为取指令;从寄存器堆中取 出源1地址所指的源数据(不参与运算单元计算);将源1地址中读出 的数据写入目标地址所指的数据存储器中。跳转指令的作用是根据源l地址和源2地址取出数据进行比较后 决定跳转偏移量。跳转指令的执行步骤为取指令;取出操作码,同 时根据源1地址和源2地址从寄存器堆中取出数据,将数据与操作码 提供给跳转预测模块,由跳转预测模块给出跳转控制信号和跳转偏移量。图3为单流水线RISC指令系统结构示意图。如图所示,单流水线RISC指令系统包括的主要模块为指令计数器、 指令存储器、寄存器堆、运算单元、数据存储器、数据选择模块、跳 转预测模块和数据预测模块。以下对各个模块分别进行说明指令计数器用于获取需执行的指令在指令寄存器中的位置,即 获取指令地址指针;指令存储器用于存放需执行的指令;寄存器堆用于存放运算过程中的中间数据和预设的参数;运算单元用于执行各种运算操作。数据存储器用于存储所需运算结果和需要返回的数据;数据选择模块用于选择需要返回的数据并进行返回操作;跳转预测模块用于为跳转指令服务;数据预测模块用于进行数据预测。图4为单流水线指令处理阶段示意图。 如图所示,单流水线指令处理过程为5级结构,因此每条指令分 为5个不同的处理阶段获取指令、指令译码、指令执行、访问内存、 数据写回,具体说明如下获取指令由指令计数器输入下一条待执行的指令;指令译码从通用寄存器或特殊功能寄存器中检索响应的操作数;指令执行执行运算操作;访问内存执行各种调用指令和存储指令,完成数据的存取操作;数据写回将执行过程得到的计算结果返回到相应的通用功能寄 存器或特殊功能寄存器。图5为本发明的专用双流水线RISC指令系统结构示意图。该双流水线为5级结构,因此每条指令都如上述单流水线指令处 理过程一样分为5个不同的处理阶段获取指令、指令译码、指令执 行、访问内存、数据写回。该双流水线包括的主要模块为指令计数器、指令存储器、寄存器 堆、双运算单元、数据存储器、数据选择模块、跳转预测模块和双数 据预测模块。指令计数器获取指令地址指针,输出ll位的信号;指令存储器存放完成电能计量芯片功能的所有指令,其对应的 硬件为2Kx54位的存储器;寄存器堆存放48位的运算中间数据以及预设的各种48位参数, 对应硬件为48位寄存器堆。
双运算单元执行所需的运算操作,包含48位的加法器,48位 的减法器,48位的乘法器,48位/24位的除法器,以及其他逻辑操作 单元,所对应的硬件为两个运算单元。数据存储器存储需要的运算结果。两条流水线分别对应为两组 256x48bit的数据,共用一个寄存器堆,两条流水线的数据可以相互 交换。寄存器堆中可以包括128个8位-24位的寄存器,用于进行与外 部数据的交换。数据选择模块从存储的运算结果中选择需要写回的数据。 跳转预测模块用于为跳转指令服务。双数据预测模块两条流水线各使用一个数据预测模块,用于在 流水线方式中完成前后指令中的数据预测功能。使用本实施例的专用双流水线RISC指令系统时,先将用来实现电 能计量芯片功能的所有指令按序存放在指令存储器内,并由指令计数 器来控制指令的运行过程。每条指令分为5个不同的处理阶段,即获 取指令、指令译码、指令执行、访问内存和数据写回。本发明的专用双流水线RISC指令系统的工作频率高,并且具有结 构简单、应用灵活的特点,从而能够以较高的性价比实现电能计量设 计所要求的功能,特别是多功能高性能的电能计量设计要求的功能。本发明不局限于上述特定实施例子,在不背离本发明精神及其实形,但这些相应改变和变形都应属于本发明所附权利要求保护范围之 内。
权利要求
1. 一种专用双流水线RISC指令系统,其特征在于该系统具有两条并行的流水线,其顺序包括获取指令单元、指令译码单元、指令执行单元、访问内存单元和数据写回单元;该系统使用双流水线RISC指令,该指令包括两条合并的单流水线指令。
2、 如权利要求1所述的专用双流水线RISC指令系统,其特征在 于,所述的两条流水线由指令计数器、指令存储器、寄存器堆、双运 算单元、数据存储器、数据选择模块、跳转预测模块和双数据预测模 块构成。
3、 如权利要求1所述的专用双流水线RISC指令系统,其特征在 于,所述的两条流水线上的数据适于相互交换。
4、 一种专用双流水线RISC指令系统的操作方法,其特征在于, 包括以下步骤设置两条并行的流水线,即顺序设置获取指令单元、指令译码单 元、指令4丸行单元、访问内存单元和数据写回单元;设置包括两条合并的单流水线指令的双流水线RISC指令。
5、 如权利要求4所述的操作方法,其特征在于,所述的两条流水 线由指令计数器、指令存储器、寄存器堆、双运算单元、数据存储器、 数据选择模块、跳转预测模块和双数据预测模块构成。
6、 如权利要求4所述的搡作方法,其特征在于,所述双流水线 RISC指令的寻址方式为寄存器寻址和立即数寻址。
7、 如权利要求4所述的操作方法,其特征在于,所述双流水线 RISC指令包括运算指令、读出指令、存储指令和跳转指令。
8、 如权利要求4所述的操作方法,其特征在于,所述的两条流水线上的数据适于相互交换。
全文摘要
本发明提出一种专用双流水线RISC指令系统,该系统具有两条并行的流水线,其顺序包括获取指令单元、指令译码单元、指令执行单元、访问内存单元和数据写回单元;该系统使用双流水线RISC指令,其包括两条合并的单流水线指令。本发明还提出一种专用双流水线RISC指令系统的操作方法,包括以下步骤设置两条并行的流水线,即顺序设置获取指令单元、指令译码单元、指令执行单元、访问内存单元和数据写回单元;设置包括两条合并的单流水线指令的双流水线RISC指令。本发明的使用省却了使用通用数字信号处理器时其中的很多资源在实现算法时并不用到而造成的资源浪费,并且在实现了24位以上运算(内部48位)的同时,又具有成本低、功耗低的优点。
文档编号G06F9/38GK101211256SQ20061014835
公开日2008年7月2日 申请日期2006年12月29日 优先权日2006年12月29日
发明者王祥莉, 明 韩 申请人:上海贝岭股份有限公司