CN101211256A - 一种专用双流水线risc指令系统及其操作方法 - Google Patents
一种专用双流水线risc指令系统及其操作方法 Download PDFInfo
- Publication number
- CN101211256A CN101211256A CNA2006101483527A CN200610148352A CN101211256A CN 101211256 A CN101211256 A CN 101211256A CN A2006101483527 A CNA2006101483527 A CN A2006101483527A CN 200610148352 A CN200610148352 A CN 200610148352A CN 101211256 A CN101211256 A CN 101211256A
- Authority
- CN
- China
- Prior art keywords
- instruction
- data
- unit
- production line
- special
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Advance Control (AREA)
Abstract
本发明提出一种专用双流水线RISC指令系统,该系统具有两条并行的流水线,其顺序包括获取指令单元、指令译码单元、指令执行单元、访问内存单元和数据写回单元;该系统使用双流水线RISC指令,其包括两条合并的单流水线指令。本发明还提出一种专用双流水线RISC指令系统的操作方法,包括以下步骤:设置两条并行的流水线,即顺序设置获取指令单元、指令译码单元、指令执行单元、访问内存单元和数据写回单元;设置包括两条合并的单流水线指令的双流水线RISC指令。本发明的使用省却了使用通用数字信号处理器时其中的很多资源在实现算法时并不用到而造成的资源浪费,并且在实现了24位以上运算(内部48位)的同时,又具有成本低、功耗低的优点。
Description
技术领域
本发明涉及指令系统及操作方法,特别涉及一种专用的双流水线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地址中读出的数据写入目标地址所指的数据存储器中。
跳转指令的作用是根据源1地址和源2地址取出数据进行比较后决定跳转偏移量。跳转指令的执行步骤为:取指令;取出操作码,同时根据源1地址和源2地址从寄存器堆中取出数据,将数据与操作码提供给跳转预测模块,由跳转预测模块给出跳转控制信号和跳转偏移量。
图3为单流水线RISC指令系统结构示意图。
如图所示,单流水线RISC指令系统包括的主要模块为指令计数器、指令存储器、寄存器堆、运算单元、数据存储器、数据选择模块、跳转预测模块和数据预测模块。以下对各个模块分别进行说明:
指令计数器:用于获取需执行的指令在指令寄存器中的位置,即获取指令地址指针;
指令存储器:用于存放需执行的指令;
寄存器堆:用于存放运算过程中的中间数据和预设的参数;
运算单元:用于执行各种运算操作。
数据存储器:用于存储所需运算结果和需要返回的数据;
数据选择模块:用于选择需要返回的数据并进行返回操作;
跳转预测模块:用于为跳转指令服务;
数据预测模块:用于进行数据预测。
图4为单流水线指令处理阶段示意图。
如图所示,单流水线指令处理过程为5级结构,因此每条指令分为5个不同的处理阶段:获取指令、指令译码、指令执行、访问内存、数据写回,具体说明如下:
获取指令:由指令计数器输入下一条待执行的指令;
指令译码:从通用寄存器或特殊功能寄存器中检索响应的操作数;
指令执行:执行运算操作;
访问内存:执行各种调用指令和存储指令,完成数据的存取操作;
数据写回:将执行过程得到的计算结果返回到相应的通用功能寄存器或特殊功能寄存器。
图5为本发明的专用双流水线RISC指令系统结构示意图。
该双流水线为5级结构,因此每条指令都如上述单流水线指令处理过程一样分为5个不同的处理阶段:获取指令、指令译码、指令执行、访问内存、数据写回。
该双流水线包括的主要模块为指令计数器、指令存储器、寄存器堆、双运算单元、数据存储器、数据选择模块、跳转预测模块和双数据预测模块。
指令计数器:获取指令地址指针,输出11位的信号;
指令存储器:存放完成电能计量芯片功能的所有指令,其对应的硬件为2K×54位的存储器;
寄存器堆:存放48位的运算中间数据以及预设的各种48位参数,对应硬件为48位寄存器堆。
双运算单元:执行所需的运算操作,包含:48位的加法器,48位的减法器,48位的乘法器,48位/24位的除法器,以及其他逻辑操作单元,所对应的硬件为两个运算单元。
数据存储器:存储需要的运算结果。两条流水线分别对应为两组256×48bit的数据,共用一个寄存器堆,两条流水线的数据可以相互交换。寄存器堆中可以包括128个8位-24位的寄存器,用于进行与外部数据的交换。
数据选择模块:从存储的运算结果中选择需要写回的数据。
跳转预测模块:用于为跳转指令服务。
双数据预测模块:两条流水线各使用一个数据预测模块,用于在流水线方式中完成前后指令中的数据预测功能。
使用本实施例的专用双流水线RISC指令系统时,先将用来实现电能计量芯片功能的所有指令按序存放在指令存储器内,并由指令计数器来控制指令的运行过程。每条指令分为5个不同的处理阶段,即获取指令、指令译码、指令执行、访问内存和数据写回。
本发明的专用双流水线RISC指令系统的工作频率高,并且具有结构简单、应用灵活的特点,从而能够以较高的性价比实现电能计量设计所要求的功能,特别是多功能高性能的电能计量设计要求的功能。
本发明不局限于上述特定实施例子,在不背离本发明精神及其实质情况下,熟悉本领域技术人员可根据本发明作出各种相应改变和变形,但这些相应改变和变形都应属于本发明所附权利要求保护范围之内。
Claims (8)
1.一种专用双流水线RISC指令系统,其特征在于:
该系统具有两条并行的流水线,其顺序包括获取指令单元、指令译码单元、指令执行单元、访问内存单元和数据写回单元;
该系统使用双流水线RISC指令,该指令包括两条合并的单流水线指令。
2.如权利要求1所述的专用双流水线RISC指令系统,其特征在于,所述的两条流水线由指令计数器、指令存储器、寄存器堆、双运算单元、数据存储器、数据选择模块、跳转预测模块和双数据预测模块构成。
3.如权利要求1所述的专用双流水线RISC指令系统,其特征在于,所述的两条流水线上的数据适于相互交换。
4.一种专用双流水线RISC指令系统的操作方法,其特征在于,包括以下步骤:
设置两条并行的流水线,即顺序设置获取指令单元、指令译码单元、指令执行单元、访问内存单元和数据写回单元;
设置包括两条合并的单流水线指令的双流水线RISC指令。
5.如权利要求4所述的操作方法,其特征在于,所述的两条流水线由指令计数器、指令存储器、寄存器堆、双运算单元、数据存储器、数据选择模块、跳转预测模块和双数据预测模块构成。
6.如权利要求4所述的操作方法,其特征在于,所述双流水线RISC指令的寻址方式为寄存器寻址和立即数寻址。
7.如权利要求4所述的操作方法,其特征在于,所述双流水线RISC指令包括运算指令、读出指令、存储指令和跳转指令。
8.如权利要求4所述的操作方法,其特征在于,所述的两条流水线上的数据适于相互交换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101483527A CN101211256A (zh) | 2006-12-29 | 2006-12-29 | 一种专用双流水线risc指令系统及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101483527A CN101211256A (zh) | 2006-12-29 | 2006-12-29 | 一种专用双流水线risc指令系统及其操作方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101211256A true CN101211256A (zh) | 2008-07-02 |
Family
ID=39611315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101483527A Pending CN101211256A (zh) | 2006-12-29 | 2006-12-29 | 一种专用双流水线risc指令系统及其操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101211256A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894013A (zh) * | 2010-07-16 | 2010-11-24 | 中国科学院计算技术研究所 | 处理器内指令级流水线控制方法及其系统 |
CN102207882A (zh) * | 2011-05-27 | 2011-10-05 | 杭州中天微系统有限公司 | 一种risc处理器应用程序编译中立即数的锚地址装载方法 |
CN104866458A (zh) * | 2015-05-13 | 2015-08-26 | 南通理工学院 | 一种流水线可逆cpu设计与仿真系统 |
CN105354117A (zh) * | 2015-10-26 | 2016-02-24 | 清华大学 | 超标量处理器中指令相关性检测的方法 |
WO2017045212A1 (zh) * | 2015-09-20 | 2017-03-23 | 张鹏 | 一种分支预取的方法 |
CN109490895A (zh) * | 2018-10-25 | 2019-03-19 | 中国人民解放军海军工程大学 | 一种基于刀片服务器的干涉合成孔径声纳信号处理系统 |
CN109918130A (zh) * | 2019-01-24 | 2019-06-21 | 中山大学 | 一种具有快速数据旁路结构的四级流水线risc-v处理器 |
CN113961247A (zh) * | 2021-09-24 | 2022-01-21 | 北京睿芯众核科技有限公司 | 一种基于risc-v处理器的向量存/取指令执行方法、系统及装置 |
WO2022151854A1 (zh) * | 2021-01-15 | 2022-07-21 | 苏州浪潮智能科技有限公司 | 基于risc-v的格密码处理系统、方法、设备及存储介质 |
-
2006
- 2006-12-29 CN CNA2006101483527A patent/CN101211256A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894013A (zh) * | 2010-07-16 | 2010-11-24 | 中国科学院计算技术研究所 | 处理器内指令级流水线控制方法及其系统 |
CN101894013B (zh) * | 2010-07-16 | 2013-07-31 | 中国科学院计算技术研究所 | 处理器内指令级流水线控制方法及其系统 |
CN102207882A (zh) * | 2011-05-27 | 2011-10-05 | 杭州中天微系统有限公司 | 一种risc处理器应用程序编译中立即数的锚地址装载方法 |
CN102207882B (zh) * | 2011-05-27 | 2013-07-24 | 杭州中天微系统有限公司 | 一种risc处理器应用程序编译中立即数的锚地址装载方法 |
CN104866458A (zh) * | 2015-05-13 | 2015-08-26 | 南通理工学院 | 一种流水线可逆cpu设计与仿真系统 |
CN104866458B (zh) * | 2015-05-13 | 2017-12-22 | 南通理工学院 | 一种流水线可逆cpu设计与仿真系统 |
WO2017045212A1 (zh) * | 2015-09-20 | 2017-03-23 | 张鹏 | 一种分支预取的方法 |
CN105354117A (zh) * | 2015-10-26 | 2016-02-24 | 清华大学 | 超标量处理器中指令相关性检测的方法 |
CN105354117B (zh) * | 2015-10-26 | 2018-10-19 | 清华大学 | 超标量处理器中指令相关性检测的方法 |
CN109490895A (zh) * | 2018-10-25 | 2019-03-19 | 中国人民解放军海军工程大学 | 一种基于刀片服务器的干涉合成孔径声纳信号处理系统 |
CN109918130A (zh) * | 2019-01-24 | 2019-06-21 | 中山大学 | 一种具有快速数据旁路结构的四级流水线risc-v处理器 |
WO2022151854A1 (zh) * | 2021-01-15 | 2022-07-21 | 苏州浪潮智能科技有限公司 | 基于risc-v的格密码处理系统、方法、设备及存储介质 |
CN113961247A (zh) * | 2021-09-24 | 2022-01-21 | 北京睿芯众核科技有限公司 | 一种基于risc-v处理器的向量存/取指令执行方法、系统及装置 |
CN113961247B (zh) * | 2021-09-24 | 2022-10-11 | 北京睿芯众核科技有限公司 | 一种基于risc-v处理器的向量存/取指令执行方法、系统及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150146B (zh) | 基于可扩展处理器架构的专用指令集处理器及其实现方法 | |
CN101211256A (zh) | 一种专用双流水线risc指令系统及其操作方法 | |
CN101373427B (zh) | 程序执行控制装置 | |
CN100545804C (zh) | 一种基于cisc结构的微控制器及其指令集的实现方法 | |
CN101178644B (zh) | 一种基于复杂指令集计算机结构的微处理器架构 | |
CN102750133B (zh) | 支持simd的32位三发射的数字信号处理器 | |
CN113050990A (zh) | 用于矩阵操作加速器的指令的装置、方法和系统 | |
CN109643233A (zh) | 具有带读取和读取/前进操作数编码的流引擎的数据处理设备 | |
CN103329132A (zh) | 架构优化器 | |
CN104040487A (zh) | 用于合并掩码模式的指令 | |
CN109992302A (zh) | 远程原子操作的空间和时间上的归并 | |
KR20220151134A (ko) | 이종 처리 자원들에 대한 작업을 적응적으로 스케줄링하기 위한 장치 및 방법 | |
CN101859241B (zh) | 基于全展开的全流水128位精度浮点累加器 | |
CN101504599A (zh) | 适于数字信号处理应用的专用指令集微处理系统 | |
CN104011665A (zh) | 超级乘加(超级madd)指令 | |
CN102279818A (zh) | 支持有限共享的向量数据访存控制方法及向量存储器 | |
CN102262611B (zh) | 一种16位的risc cpu系统结构 | |
CN112784970A (zh) | 一种硬件加速器、数据处理方法、系统级芯片及介质 | |
CN102945148A (zh) | 一种并行指令集的实现方法 | |
CN109582364B (zh) | 基于忆阻器的精简指令集处理器 | |
CN101739383A (zh) | 一种可配置处理器体系结构和控制方法 | |
Shang et al. | LACS: A high-computational-efficiency accelerator for CNNs | |
CN101206561B (zh) | 一种专用运算单元alu | |
CN101470600B (zh) | 一种超长指令字处理的方法和装置 | |
CN101246435A (zh) | 一种支持高级语言部分语句功能的处理器指令集 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080702 |