CN105183697B - 嵌入式rsic‑dsp处理器系统及构建方法 - Google Patents
嵌入式rsic‑dsp处理器系统及构建方法 Download PDFInfo
- Publication number
- CN105183697B CN105183697B CN201510586979.XA CN201510586979A CN105183697B CN 105183697 B CN105183697 B CN 105183697B CN 201510586979 A CN201510586979 A CN 201510586979A CN 105183697 B CN105183697 B CN 105183697B
- Authority
- CN
- China
- Prior art keywords
- rsic
- dsp
- streamlines
- embedded
- memory block
- 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.)
- Active
Links
- 238000010276 construction Methods 0.000 title claims abstract description 17
- 230000009977 dual effect Effects 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 23
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 claims abstract description 11
- 102100039558 Galectin-3 Human genes 0.000 claims abstract description 11
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 claims abstract description 11
- 101150051246 MAC2 gene Proteins 0.000 claims abstract description 11
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 claims abstract description 10
- 101150115300 MAC1 gene Proteins 0.000 claims abstract description 10
- 108010014691 Lithostathine Proteins 0.000 claims abstract description 9
- 230000004927 fusion Effects 0.000 claims abstract description 7
- 239000000872 buffer Substances 0.000 claims description 69
- 238000003860 storage Methods 0.000 claims description 30
- 230000005611 electricity Effects 0.000 claims 1
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 8
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000000454 anti-cipatory effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种嵌入式RSIC‑DSP处理器系统及构建方法,包括融合的RSIC‑DSP双核处理器,所述RSIC‑DSP双核处理器采用并行8级双流水线进行指令处理,其中,所述双流水线包括:RSIC流水线和DSP流水线;8级所述RSIC流水线依次为IC1、IC2、DEC、REG、ALU、DC1、DC2和WRB;8级所述DSP流水线依次为IC1、IC2、DEC、REG、MAC1、MAC2、MAC3和WRB;该处理器系统能够提高处理器性能,降低功耗。
Description
技术领域
本发明涉及处理器设计领域,特别涉及一种嵌入式RSIC-DSP处理器系统及构建方法。
背景技术
现有的片上系统(System-on-a-chip,SOC)芯片性能以及芯片制造成本,芯片低功耗等领域。业界常见的中高端SOC芯片采用单核、双核、4核、8核甚至更多核处理器模式来构建片上系统的控制和数据运算等。
为了能让处理器在超高频下工作,在处理器架构上考虑时,处理器流水线必须拥有15-20级以上超长流水线,这意味着更多的指令被同时送入指令流水中来处理。当一切顺利时,可以获得更高的吞吐量,更高的功耗,当流水线停顿时,流水线被迫停下来,整个处理器性能为零,保持高功耗不变;当处理器出现异常时,流水线暂停,进入流水线中的所有指令需要做清除操作,采用流水线级数越多时,流水操作复杂度加大,需要更多的逻辑电路处理流水异常,逻辑电路增多导致功耗加大,同时处理器性能也在大幅降低。如此采用超长流水线来设计处理器是不科学。
处理器所占SOC面积的40%以上,占整个芯片功耗的50%以上,且处理器工作性能和功耗直接影响片上系统的性能和功耗,由此处理器在整个片上系统起着至关重要的工作。因此,如何提高处理器性能,降低功耗是本领域技术人员员需要解决的关键性技术问题。
发明内容
本发明的目的是提供一种嵌入式RSIC-DSP处理器系统,该嵌入式RSIC-DSP处理器系统采用双发射,8级流水线来提高处理器性能,降低功耗,提高效率。
为解决上述技术问题,本发明提供一种嵌入式RSIC-DSP处理器系统构建方法,包括:
将RSIC和DSP融合成RSIC-DSP双核处理器;
所述RSIC-DSP双核处理器采用并行8级双流水线进行指令处理;
其中,所述双流水线包括:RSIC流水线和DSP流水线;
8级所述RSIC流水线依次为IC1、IC2、DEC、REG、ALU、DC1、DC2和WRB;
8级所述DSP流水线依次为IC1、IC2、DEC、REG、MAC1、MAC2、MAC3和WRB。
其中,所述的嵌入式RSIC-DSP处理器系统构建方法还包括:
在RSIC-DSP双核处理器外部增加指令缓存存储区,用于嵌入式RSIC-DSP处理器系统根据所述指令缓存存储区的使用情况和指令高速缓冲存储区的使用情况进行动态合并,扩大所述指令缓存存储区或所述指令高速缓冲存储区的空间;
在RSIC-DSP双核处理器外部增加数据缓存存储区,用于嵌入式RSIC-DSP处理器系统根据所述数据缓存存储区的使用情况和数据高速缓冲存储区的使用情况进行动态合并,扩大所述数据缓存存储区或所述数据高速缓冲存储区的空间。
其中,所述的嵌入式RSIC-DSP处理器系统构建方法还包括:
利用搬移操作,将所述指令缓存存储区和所述数据缓存存储区动态合并,扩大所述指令缓存存储区或所述数据缓冲存储区的空间;和/或,
将所述指令高速缓冲存储区和所述数据高速缓冲存储区动态合并,扩大所述指令高速缓冲存储区或所述数据高速缓冲存储区的空间。
其中,所述的嵌入式RSIC-DSP处理器系统构建方法还包括:
其中,通过指令相关性特性判断RSIC流水线和DSP流水线中数据相关性,并将具有相关性的数据通过转发电路进行传递。
本发明提供一种嵌入式RSIC-DSP处理器系统,包括:
融合的RSIC-DSP双核处理器,所述RSIC-DSP双核处理器采用并行8级双流水线进行指令处理,其中,所述双流水线包括:RSIC流水线和DSP流水线;
8级所述RSIC流水线依次为IC1、IC2、DEC、REG、ALU、DC1、DC2和WRB;
8级所述DSP流水线依次为IC1、IC2、DEC、REG、MAC1、MAC2、MAC3和WRB。
其中,所述的嵌入式RSIC-DSP处理器系统还包括:
设置在所述RSIC-DSP双核处理器外部的指令缓存存储区和数据缓存存储区。
其中,所述RSIC-DSP双核处理器的指令长度为16位和32位。
其中,所述RSIC-DSP双核处理器采用AMBA-AXI标准接口。
其中,所述嵌入式RSIC-DSP处理器系统的地址空间划分为用户模式、第一核心模式和第二核心模式。
本发明所提供的嵌入式RSIC-DSP处理器系统及嵌入式RSIC-DSP处理器系统构建方法,包括融合的RSIC-DSP双核处理器,所述RSIC-DSP双核处理器采用并行8级双流水线进行指令处理,其中,所述双流水线包括:RSIC流水线和DSP流水线;8级所述RSIC流水线依次为IC1、IC2、DEC、REG、ALU、DC1、DC2和WRB;8级所述DSP流水线依次为IC1、IC2、DEC、REG、MAC1、MAC2、MAC3和WRB。
本发明通过将RSIC(Reduced Instruction Set Computing,精简指令集计算机)与DSP(Digital Signal Processing,数字信号处理)融合在一起形成RSIC-DSP双核处理器结构,可以解决RSIC与DSP处理器之间的通讯和单独编程的问题,由于两个处理器融合在一起,因此其指令集即合二为一;这样可以简化系统的编程,提高处理效率,同时也降低了成本及系统的功耗;且本发明还摒弃了现有技术中采用超长流水线进行指令处理的方式,而是采用双发射的8级流水线进行指令处理;这样可以提高RSIC-DSP双核处理器的性能,降低功耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的嵌入式RSIC-DSP处理器系统拓扑图;
图2为本发明实施例提供的嵌入式RSIC-DSP处理器系统并行8级双流水线的示意图;
图3为本发明实施例提供的嵌入式RSIC-DSP处理器系统并行8级双流水线的任务划分示意图;
图4为本发明实施例提供的RSIC流水线和DSP流水线指令相关性检测在流水线中的执行示意图;
图5为本发明实施例提供的嵌入式RSIC-DSP处理器系统的功能结构框图;
图6为本发明实施例提供的嵌入式RSIC-DSP处理器系统的地址空间划分的示意图;
图7为本发明实施例提供的指令高速缓冲存储区控制器的示意图;
图8为本发明实施例提供的数据高速缓冲存储区控制器的示意图。
具体实施方式
本发明的核心是提供一种嵌入式RSIC-DSP处理器系统,该嵌入式RSIC-DSP处理器系统采用双发射,8级流水线来提高处理器性能,降低功耗,提高效率。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的嵌入式RSIC-DSP处理器系统构建方法可以包括:
将RSIC和DSP融合成RSIC-DSP双核处理器;
所述RSIC-DSP双核处理器采用并行8级双流水线进行指令处理;
其中,所述双流水线包括:RSIC流水线和DSP流水线;
8级所述RSIC流水线依次为IC1、IC2、DEC、REG、ALU、DC1、DC2和WRB;8级所述DSP流水线依次为IC1、IC2、DEC、REG、MAC1、MAC2、MAC3和WRB。
其中,嵌入式RSIC-DSP处理器系统主要可以包括以下5部分请参考图1,图1为本发明实施例提供的嵌入式RSIC-DSP处理器系统拓扑图:(1)CPU Core处理器内核(2)Ix-RAM指令缓存存储区,Dx-RAM数据缓存存储区(3)I-Cache RAM指令高速缓冲存储区,D-Cache RAM数据高速缓冲存储区(4)Bus Interface总线接口(5)JTAG在线Debug接口。
其中,(1)CPU Core:CPU Core主要由内存管理MMU(ITLB(InstructionTranslation Lookaside Buffer指令地址变换高速缓存),DTLB(Data TranslationLookaside Buffer数据地址变换高速缓存)等组成)、DSP、Main Pipeline主流水线、Register Files寄存器堆、ALU执行单元、控制状态寄存器、指令cache、数据Cache等部件构成。
(2)Ix-RAM指令缓存存储区,Dx-RAM数据缓存存储区:指令RAM存储区和数据RAM存储区等构成,直接与处理器之外的外设快速交互数据;
(3)I-Cache RAM指令高速缓冲存储区,D-Cache RAM数据高速缓冲存储区:指令cache存储单元和数据cache存储单元等构成。在CPU core之外的存储区。
(4)Bus Interface:处理器总线接口,支持AMBA-AIX总线协议接口,采用双通道64bit数据总线。
(5)JTAG:在线Debug接口。
请参考图2,图2为本发明实施例提供的嵌入式RSIC-DSP处理器系统并行8级双流水线的示意图;其中,所述双流水线包括:RSIC流水线和DSP流水线;8级所述RSIC流水线依次为IC1、IC2、DEC、REG、ALU、DC1、DC2和WRB;8级所述DSP流水线依次为IC1、IC2、DEC、REG、MAC1、MAC2、MAC3和WRB。从图中可以清楚地看到RSIC流水线和DSP流水线的前四级都是共用的以及最后一级WRB也是共用的。其中5至7级RSIC流水线和DSP流水线具有自己的流程。
其中,RSIC流水线说明如下:
IC1:instruction cache第一周期stage,主要是指令TLB由虚拟地址产生物理地址;由虚拟地址作为index来预取指令cache数据。
IC2:instruction cache第二周期stage,由物理地址和虚拟地址找到正确指令;
DEC:指令译码stage;
REG:Register files stage,读寄存器堆;指令相关性检测等;
ALU:逻辑运算部件,完成逻辑和算术运算;同时由当前load/store指令产生读、写memory的虚拟地址(base address+offset address);
DC1:data cache第一周期,主要是数据TLB由虚拟地址产生物理地址;由虚拟地址作为index来预期数据。
DC2:data cache第二周期,在数据cache中由物理地址找到数据。
WRB:写回,把store memory数据最后结果写回Write Buffer或者load memory、ALU操作结果保存Register files。
DSP流水线解释如下:
IC1:instruction cache第一周期stage,主要是指令TLB由虚拟地址产生物理地址;由虚拟地址作为index来预取指令cache的数据;
IC2:instruction cache第二周期stage,由物理地址找到正确指令;
DEC:指令译码stage;
REG:Register files stage,读寄存器堆数据;指令相关性检测电路;
MAC1:DSP操作的第一个周期;
MAC2:DSP操作的第二个周期;
MAC2:DSP操作的第三个周期;
WRB:把DSP指令运算结果保存register files。
RISC流水线完成Load/Store Memory操作;Load/store Memory操作的地址产生;读、写通用Registers;数值比较;移位;逻辑运算;加法、减法、乘法;条件跳转、无条件跳转、条件搬移等操作。
DSP流水线完成SIMD(单指令多数据)指令等运算。MAC指令采用SIMD原理完成32bit(含16bit)相乘加、减,饱和运算;完成比较大小操作;移位器完成逻辑移位、算术移位、位的压缩和解压缩操作。完成定点转浮点,浮点转定点操作。
其中,嵌入式RSIC-DSP处理器系统采用2条超标量流水线,如图2所示。第一条是RISC流水线主要完成Load Memory操作、Store Memory操作、读写Memory操作的地址产生、比较、移位、加法、减法、条件跳转、无条件跳转、条件搬移等操作。第二条是DSP流水线主要完成DSP指令操作,执行单指令处理多数据(SIMD)指令的运算。处理器使用采用2条8级超标量流水线能提高处理器系统的性能,降低功耗。
嵌入式RSIC-DSP处理器系统的2条8级超标量流水线的任务划分如图3所示,图3为本发明实施例提供的嵌入式RSIC-DSP处理器系统并行8级双流水线的任务划分示意图;工作任务划分如下:
第一stage:1、I-TLB VPN与虚拟地址(VA)对比,不相等产生miss信号输出,相等产生hit信号输出;2、如果I-TLB hit了,I-cache的tag,valid,data,parity提前读出,如果I-TLB miss,产生pipeline stall;3、如果I-TLB hit,I-cache数据和检验位信息输出。
第二stage:1、I-TLB PA(物理地址)输出;2、I-cache Tag与PA对比,相等I-Cachehit产生,否则miss产生;3、I-Cache输出数据;4、I-Cache miss产生pipeline stall,暂停流水线操作;
第三stage:1、指令Issue;2、指令译码。
第四stage:1、读Register files;2、指令相关性检测产生bypass信号或者pipeline stall信号;3、ALU源操作数据产生;
第五stage:1、D-cache虚拟地址(VA)产生;2、ALU运算的第一周期;3、DSP指令第一周期执行。
第六stage:1、D-TLB虚拟地址(VA)与VPN(虚拟页面)对比,相等为hit,物理地址产生,否则为D-TLB miss;2、以虚拟地址低位作为index读取D-cache的tag,valid,parity、data输出;3、ALU指令第二周期执行;4、DSP指令第二周期执行。
第七stage:1、D-Cache PA(物理地址)与cache TAG对比,相等输出D-cache hit,否则输出D-cache miss;2、如果D-cache hit产生,data输出。3、ALU指令第3周期执行,结果产生。4、DSP指令第3周期执行,结果产生。
第八stage:1、store操作时结果保持到D-cache或者Wirte-Buffer,伺机由Businterface写请求AXI把数据写入主存。2、当load memory、ALU运算、DSP运算等指令操作产生的结果可以保持在Register Files。
通过上述双发射流水线,可以将指令集即合二为一,简化系统的编程,提高处理效率。
基于上述技术方案,本发明实施例提供的嵌入式RSIC-DSP处理器系统构建方法,通过将RSIC与DSP融合在一起形成RSIC-DSP双核处理器结构,可以解决RSIC与DSP处理器之间的通讯和单独编程的问题,由于两个处理器融合在一起,因此其指令集即合二为一;这样可以简化系统的编程,提高处理效率,同时也降低了成本及系统的功耗;且本发明还摒弃了现有技术中采用超长流水线进行指令处理的方式,而是采用双发射的8级流水线进行指令处理;这样可以提高RSIC-DSP双核处理器的性能,降低功耗。
基于上述技术方案,本发明的另一实施例中通过在RSIC-DSP双核处理器外部增加指令缓存存储区,可以用于嵌入式RSIC-DSP处理器系统根据所述指令缓存存储区的使用情况和指令高速缓冲存储区的使用情况进行动态合并,扩大所述指令缓存存储区或所述指令高速缓冲存储区的空间;
在RSIC-DSP双核处理器外部增加数据缓存存储区,可以用于嵌入式RSIC-DSP处理器系统根据所述数据缓存存储区的使用情况和数据高速缓冲存储区的使用情况进行动态合并,扩大所述数据缓存存储区或所述数据高速缓冲存储区的空间。
通过增加的指令缓存存储区和数据缓存存储区可以与(3)中I-Cache RAM和D-Cache RAM结合使用,即Ix-RAM与I-cache RAM结合使用、Dx-RAM与D-cache RAM结合使用,来扩展cache或者处理器缓存存储区,动态分配处理器存储空间,提高处理器性能。
例如:I-Cache RAM(Instruction-Cache RAM)存储容量为16k-byte。Ix-RAM是16k-byte存储容量,当处理器不使用I-Cache(指令cache)时,把I-Cache RAM分配给Ix-RAM用,由此,Ix-RAM的容量增加到32Kbyte;或者当处理器不使用Ix-RAM时,把Ix-RAM容量分配给I-Cache用,由此I-Cache RAM的存储容量由16Kbyte增加到32Kbyte;
例如:D-Cache RAM(Data-Cache RAM)存储容量为8k-byte。Dx-RAM由16k-byte组成,当处理器不使用D-Cache时(数据cache),系统把D-Cache RAM分配给Dx-RAM,由此Dx-RAM容量由16k-byte增加到24kbyte;或者当处理器不使用Dx-RAM时,把Dx-RAM容量分配给D-Cache;由此D-Cache RAM的存储容量由8Kbyte增加到24Kbyte。这里的存储容量数值仅为举例数值,并不对本发明的转移容量进行限定。
基于上述技术方案,本发明提供的又一实施例中还可以包括:
利用搬移操作,将所述指令缓存存储区和所述数据缓存存储区动态合并,扩大所述指令缓存存储区或所述数据缓冲存储区的空间;和/或,
将所述指令高速缓冲存储区和所述数据高速缓冲存储区动态合并,扩大所述指令高速缓冲存储区或所述数据高速缓冲存储区的空间。
其中,通过系统驱动程序控制,利用搬移操作,可以动态把数据从Ix-RAM搬移到Dx-RAM,或者动态把数据从Dx-RAM搬移到Ix-RAM;或者可以动态把数据从I-cache RAM搬移到D-cache RAM,或者动态把数据从D-cache RAM搬移到I-cache RAM;按系统需求动态配置cache容量或者RAM缓存容量,来提高系统性能。
上述各个具体实施例都还可以包括:
利用循环零延时指令,使得系统进行自动动态分支预测,在满足预定条件时,进行预取指令操作。
其中,增加循环零延迟指令,在发起循环零延迟指令时,处理器自动检测,做动态分支预测,预取指令,提前判断,不需要对流水中的指令作清除操作,提高性能。在系统应用中,能提高30%以上的性能。例如:在做jump或者branch指令时,预先取指令,由此大大提高处理器性能。由于不用对处理器流水中的指令作flush处理,节省控制逻辑电路,降低功耗。
上述各个具体实施例都还可以包括:
通过指令相关性特性判断RSIC流水线和DSP流水线中数据相关性,并将具有相关性的数据通过转发电路进行传递。
其中,RSIC流水线在执行ALU操作时与DSP流水线在执行DSP操作时有数据相关性,通过指令相关性特性预先判断出其相关性,通过Forwarding电路采用Bypass把RSIC和DSP流水线的数据互用。同时还要考虑流水线的平衡性,在某些时刻暂停流水。RSIC流水线在执行取数或者是存数操作时(访问主存)与DSP流水线在执行DSP操作时有数据相关性,通过指令相关性特性预先判断出其相关性,通过Forwarding电路把RSIC和DSP流水线的数据互用。由此减少了RISC或者DSP流水线暂停来提高处理器的性能,还减少了RSIC或者DSP访问主存,提高处理器性能。上述过程可以参照图4所示,图4为本发明实施例提供的RSIC流水线和DSP流水线指令相关性检测在流水线中的执行示意图。
基于上述技术方案,本发明实施例提供的嵌入式RSIC-DSP处理器系统构建方法,通过将RSIC与DSP融合在一起形成RSIC-DSP双核处理器结构,可以解决RSIC与DSP处理器之间的通讯和单独编程的问题,由于两个处理器融合在一起,因此其指令集即合二为一;这样可以简化系统的编程,提高处理效率,同时也降低了成本及系统的功耗;且本发明还摒弃了现有技术中采用超长流水线进行指令处理的方式,而是采用双发射的8级流水线进行指令处理;这样可以提高RSIC-DSP双核处理器的性能,降低功耗。还可以动态分配处理器存储空间,提高处理器性能;自动配置cache容量或者RAM缓存容量,来提高系统性能。还增加循环零延迟指令做动态分支预测,预取指令,提前判断,不需要对流水中的指令作清除操作,提高性能。由于不用对处理器流水中的指令作flush处理,节省控制逻辑电路,降低功耗。最后还可以通过指令相关性检测来减少流水线暂停来提高处理器的性能。
本发明实施例提供了嵌入式RSIC-DSP处理器系统构建方法,可以通过上述方法能够提高处理器性能,降低功耗。
下面对本发明实施例提供的嵌入式RSIC-DSP处理器系统进行介绍,下文描述的嵌入式RSIC-DSP处理器系统与上文描述的嵌入式RSIC-DSP处理器系统构建方法可相互对应参照。
本发明实施例提供一种嵌入式RSIC-DSP处理器系统,包括:
融合的RSIC-DSP双核处理器,所述RSIC-DSP双核处理器采用并行8级双流水线进行指令处理,其中,所述双流水线包括:RSIC流水线和DSP流水线;
8级所述RSIC流水线依次为IC1、IC2、DEC、REG、ALU、DC1、DC2和WRB;
8级所述DSP流水线依次为IC1、IC2、DEC、REG、MAC1、MAC2、MAC3和WRB。
可选的,上述嵌入式RSIC-DSP处理器系统还可以包括:
设置在所述RSIC-DSP双核处理器外部的指令缓存存储区和数据缓存存储区。
其中,请参考图5,图5为本发明实施例提供的嵌入式RSIC-DSP处理器系统的功能结构框图;整个嵌入式RSIC-DSP处理器系统的功能结构可以包括:DSP,ALU执行单元、控制状态寄存器,GPR Files,CP0(协处理器),Main Pipeline Control,Exception&InterruptHandling异常处理和中断处理,Hazards Detect&Forwarding故障检测和转递,Instruction Decode指令译码,Branch/Jump Processing分支和跳转,AddressCalculation寻址,Load/Store Unit,Instruction decode指令译码,PC generator,D-TLB,I-TLB,Data Cache Controller,Instruction Cache Controller,Ix-RAM,Dx-RAM,Data cache RAM,Instruction Cache RAM,Power Manager电源管理,Write Buffer写缓冲器,Bus Interface,JTAG等功能模块构成。
其中,所述RSIC-DSP双核处理器的指令长度为16位和32位。
16bit指令集可以有效减少指令存储空间,降低成本,减少功耗。因此,尽可能将指令长度设置为16bit。
其中,所述RSIC-DSP双核处理器可以采用AMBA-AXI标准接口,如图1所示。
其中,请参考图6,图6为本发明实施例提供的嵌入式RSIC-DSP处理器系统的地址空间划分的示意图;所述嵌入式RSIC-DSP处理器系统的地址空间可以划分为用户模式、第一核心模式即核心模块1和第二核心模式即核心模式2。
其中,优选的,上述具体实施例还可以包括:指令高速缓冲存储区控制器和数据高速缓冲存储区控制器;
其中,请参考图7,图7为本发明实施例提供的指令高速缓冲存储区控制器的示意图;
指令cache控制器如图7是4路组相连结构。在IC1-Stage检查到VA[1:5]作为存储器的Index,把Tag ram里面的20bit Tag、1bit Valid、1bit Parity以及32Byte数据读出来。
在IC2-Stage由I-TLB送来的PA(物理地址),PA[31:12]与Tag[19:0]比较,如果相等并且Valid为1,同时Parity有效,表示命中(hit),否则miss。如果hit,把所对应的那组数据送出去。如果miss,发出pipeline Stall信号,还没有进入IC1-Stage的信号检测到Stall信号有效而Keep住当前状态等待Stall信号无效从而进入下一个stage状态。
其中,请看考图8,图8为本发明实施例提供的数据高速缓冲存储区控制器的示意图;
数据cache控制器如图8是2路组相连结构。在DC1-Stage检查到PA[11:5]作为存储器的Index,把Tag ram的20bit、1bit valid、1bit Parity以及32Byte数据读出来。
在DC2-Stage由D-TLB送来的PA(物理地址),PA[31:12]与TAG比较,比较相等时再判断valid为1,如果parity有效,表示命中(hit),否则miss。如果hit,把所对应的那组数据送出去。如果miss,发出pipeline Stall信号,还没有进入DC1-Stage的信号检测到Stall信号有效而Keep住当前状态等待Stall信号无效从而进入下一个stage状态。
基于上述技术方案,本发明通过将RSIC与DSP融合在一起形成RSIC-DSP双核处理器结构,可以解决RSIC与DSP处理器之间的通讯和单独编程的问题,由于两个处理器融合在一起,因此其指令集即合二为一;这样可以简化系统的编程,提高处理效率,同时也降低了成本及系统的功耗;且本发明还摒弃了现有技术中采用超长流水线进行指令处理的方式,而是采用双发射的8级流水线进行指令处理;这样可以提高RSIC-DSP双核处理器的性能,降低功耗。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的嵌入式RSIC-DSP处理器系统及构建方法行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (9)
1.一种嵌入式RSIC-DSP处理器系统构建方法,其特征在于,包括:
将RSIC和DSP融合成RSIC-DSP双核处理器;
所述RSIC-DSP双核处理器采用并行8级双流水线进行指令处理;
其中,所述双流水线包括:RSIC流水线和DSP流水线;
8级所述RSIC流水线依次为IC1、IC2、DEC、REG、ALU、DC1、DC2和WRB;
8级所述DSP流水线依次为IC1、IC2、DEC、REG、MAC1、MAC2、MAC3和WRB;
利用循环零延时指令,使得系统进行自动动态分支预测,在满足预定条件时,进行预取指令操作。
2.如权利要求1所述的嵌入式RSIC-DSP处理器系统构建方法,其特征在于,还包括:
在RSIC-DSP双核处理器外部增加指令缓存存储区,用于嵌入式RSIC-DSP处理器系统根据所述指令缓存存储区的使用情况和指令高速缓冲存储区的使用情况进行动态合并,扩大所述指令缓存存储区或所述指令高速缓冲存储区的空间;
在RSIC-DSP双核处理器外部增加数据缓存存储区,用于嵌入式RSIC-DSP处理器系统根据所述数据缓存存储区的使用情况和数据高速缓冲存储区的使用情况进行动态合并,扩大所述数据缓存存储区或所述数据高速缓冲存储区的空间。
3.如权利要求2所述的嵌入式RSIC-DSP处理器系统构建方法,其特征在于,还包括:
利用搬移操作,将所述指令缓存存储区和所述数据缓存存储区动态合并,扩大所述指令缓存存储区或所述数据缓存存储区的空间;和/或,
将所述指令高速缓冲存储区和所述数据高速缓冲存储区动态合并,扩大所述指令高速缓冲存储区或所述数据高速缓冲存储区的空间。
4.如权利要求1所述的嵌入式RSIC-DSP处理器系统构建方法,其特征在于,通过指令相关性特性判断RSIC流水线和DSP流水线中数据相关性,并将具有相关性的数据通过转发电路进行传递。
5.一种嵌入式RSIC-DSP处理器系统,其特征在于,包括:
融合的RSIC-DSP双核处理器,所述RSIC-DSP双核处理器采用并行8级双流水线进行指令处理,利用循环零延时指令,使得系统进行自动动态分支预测,在满足预定条件时,进行预取指令操作,其中,所述双流水线包括:RSIC流水线和DSP流水线;
8级所述RSIC流水线依次为IC1、IC2、DEC、REG、ALU、DC1、DC2和WRB;
8级所述DSP流水线依次为IC1、IC2、DEC、REG、MAC1、MAC2、MAC3和WRB。
6.如权利要求5所述的嵌入式RSIC-DSP处理器系统,其特征在于,还包括:
设置在所述RSIC-DSP双核处理器外部的指令缓存存储区和数据缓存存储区。
7.如权利要求6所述的嵌入式RSIC-DSP处理器系统,其特征在于,所述RSIC-DSP双核处理器的指令长度为16位和32位。
8.如权利要求7所述的嵌入式RSIC-DSP处理器系统,其特征在于,所述RSIC-DSP双核处理器采用AMBA-AXI标准接口。
9.如权利要求5至8任一项所述的嵌入式RSIC-DSP处理器系统,其特征在于,所述嵌入式RSIC-DSP处理器系统的地址空间划分为用户模式、第一核心模式和第二核心模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510586979.XA CN105183697B (zh) | 2015-09-15 | 2015-09-15 | 嵌入式rsic‑dsp处理器系统及构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510586979.XA CN105183697B (zh) | 2015-09-15 | 2015-09-15 | 嵌入式rsic‑dsp处理器系统及构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105183697A CN105183697A (zh) | 2015-12-23 |
CN105183697B true CN105183697B (zh) | 2018-03-20 |
Family
ID=54905786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510586979.XA Active CN105183697B (zh) | 2015-09-15 | 2015-09-15 | 嵌入式rsic‑dsp处理器系统及构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183697B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182082A (zh) * | 2017-12-06 | 2018-06-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种流水处理双发射处理器记分板电路 |
CN109490895B (zh) * | 2018-10-25 | 2020-12-29 | 中国人民解放军海军工程大学 | 一种基于刀片服务器的干涉合成孔径声纳信号处理系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697225A (zh) * | 2009-09-24 | 2010-04-21 | 上海交通大学 | 基于arm和dsp异构双核处理器的图像融合系统和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030112585A1 (en) * | 2001-12-13 | 2003-06-19 | Silvester Kelan Craig | Multiprocessor notebook computer with a tablet PC conversion capability |
US7328332B2 (en) * | 2004-08-30 | 2008-02-05 | Texas Instruments Incorporated | Branch prediction and other processor improvements using FIFO for bypassing certain processor pipeline stages |
US9690582B2 (en) * | 2013-12-30 | 2017-06-27 | Intel Corporation | Instruction and logic for cache-based speculative vectorization |
-
2015
- 2015-09-15 CN CN201510586979.XA patent/CN105183697B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697225A (zh) * | 2009-09-24 | 2010-04-21 | 上海交通大学 | 基于arm和dsp异构双核处理器的图像融合系统和方法 |
Non-Patent Citations (1)
Title |
---|
《MD16:基于特定 RISC规则的 16位 DSP处理器》;陈继承等;《电路与系统学报》;20071031;第12卷(第5期);第65~71页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105183697A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144573A (zh) | 基于risc-v指令集的二级流水线架构 | |
US10216693B2 (en) | Computer with hybrid Von-Neumann/dataflow execution architecture | |
TWI599949B (zh) | 實施動態無序處理器管線的方法與設備 | |
CN102750133B (zh) | 支持simd的32位三发射的数字信号处理器 | |
US7657708B2 (en) | Methods for reducing data cache access power in a processor using way selection bits | |
CN102156637A (zh) | 向量交叉多线程处理方法及向量交叉多线程微处理器 | |
CN103729306B (zh) | 高速缓存块无效的方法和数据处理设备 | |
CN105512088B (zh) | 一种可重构的处理器架构及其重构方法 | |
AU2016265131B2 (en) | Method and apparatus for cache tag compression | |
CN109643233A (zh) | 具有带读取和读取/前进操作数编码的流引擎的数据处理设备 | |
CN102640132A (zh) | 用于并行处理器的高效断言执行 | |
TW202143044A (zh) | 用於在異質處理資源上調適性地排程工作的設備及方法 | |
US7650465B2 (en) | Micro tag array having way selection bits for reducing data cache access power | |
KR101787851B1 (ko) | 다중 페이지 크기 변환 색인 버퍼(tlb)용 장치 및 방법 | |
US9898298B2 (en) | Context save and restore | |
CN104252425A (zh) | 一种指令缓存的管理方法和处理器 | |
Lee et al. | Improving energy efficiency of GPUs through data compression and compressed execution | |
CN112130901A (zh) | 基于risc-v的协处理器、数据处理方法及存储介质 | |
TW201804319A (zh) | 用以校驗具有指示校驗位元值之位元的位元校驗處理器、方法、系統與指令 | |
CN105183697B (zh) | 嵌入式rsic‑dsp处理器系统及构建方法 | |
Ickes et al. | A 10-pJ/instruction, 4-MIPS micropower DSP for sensor applications | |
Sedaghati et al. | X-cache: a modular architecture for domain-specific caches | |
CN202720631U (zh) | 基于单/双发射指令集的微处理器指令处理系统 | |
CN105095145B (zh) | 一种自适应嵌入式处理器 | |
Yazdanpanah et al. | EREER: Energy-aware register file and execution unit using exploiting redundancy in GPGPUs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |