一种RISC处理器架构及其实现方法与流程

文档序号:20916865发布日期:2020-05-29 13:38阅读:350来源:国知局
一种RISC处理器架构及其实现方法与流程

本发明实施例涉及但不限于精简指令集(reducedinstructionsetcomputer,risc)处理器重构技术,尤其涉及一种risc处理器架构及其实现方法。



背景技术:

在相关技术中,在传统的基于risc架构的处理器设计中,由于硬件逻辑在设计过程中就已经固化下来;因此,在处理器物理实现之后,基于某一指令集的处理器所使用的软件代码,无法直接用于另一种指令集的处理器;导致整个软件代码需要根据另一种指令集的处理器重新编译,进而,在基于不同指令集的risc处理器平台之间进行软件移植的效率较低。



技术实现要素:

本发明实施例提供了一种risc处理器架构及其实现方法,能够通过对risc处理器的一部分进行重构,提高已有的软件代码移植到risc处理器的效率。

为达到上述目的,本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种risc处理器架构,所述risc处理器架构包括:逻辑配置控制器和基于可编程逻辑器件实现的可重构硬件组件;其中,

所述逻辑配置控制器,用于选取配置文件,并将选取的配置文件发送至所述可重构硬件组件;

所述可重构硬件组件,用于根据接收的配置文件进行重构。

本发明实施例还提供了一种risc处理器架构的实现方法,所述risc处理器架构包括:逻辑配置控制器和基于可编程逻辑器件实现的可重构硬件组件;所述方法包括:

所述逻辑配置控制器选取配置文件,将选取的配置文件发送至所述可重构硬件组件;

所述可重构硬件组件根据接收的配置文件进行重构。

本发明实施例提供的一种存储控制方法、装置、设备和计算机存储介质中,所述risc处理器架构包括:逻辑配置控制器和基于可编程逻辑器件实现的可重构硬件组件;其中,所述逻辑配置控制器,用于选取配置文件,并将选取的配置文件发送至所述可重构硬件组件;所述可重构硬件组件,用于根据接收的配置文件进行重构。如此,在采用上述记载的技术方案时,通过对可重构硬件组件进行重构,提高已有的软件代码移植到risc处理器的效率,并降低软件开发者在硬件上和开发时间上的成本,同时也节省了处理器的设计迭代时间,降低了处理器的开发和使用门槛。

附图说明

图1为本发明实施例的risc处理器架构的示意图一;

图2为本发明实施例的risc处理器架构的一个工作流程示意图;

图3为本发明实施例的risc处理器架构的一个系统开发流程示意图;

图4为本发明实施例的risc处理器架构的示意图二;

图5为本发明实施例的risc处理器架构的示意图三;

图6为本发明实施例的risc处理器架构的示意图四;

图7为本发明实施例的risc处理器架构的实现方法的流程图。

具体实施方式

以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

第一实施例

本发明实施例提供了一种risc处理器架构,图1为本发明实施例的risc处理器架构的示意图一,如图1所示,risc处理器架构包括:逻辑配置控制器和可重构硬件组件,这里,可重构硬件组件可以基于可编程逻辑器件实现;实际应用中,可编程逻辑器件包括以下至少一项:复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)、现场可编程门阵列(field-programmablegatearray,fpga)。

逻辑配置控制器,用于选取配置文件,并将选取的配置文件发送至所述可重构硬件组件。

可重构硬件组件,用于根据接收的配置文件进行重构。

本发明实施例中,可以将risc处理器架构划分为可重构部分和不可重构部分,其中,可重构部分可以基于可编程逻辑器件重构自身,可重构部分可以是上述可重构硬件组件。

参照图1,作为一种实现方式,上述可重构硬件组件可以包括可重构译码单元、可重构调度器和n个可重构功能单元;其中,n为大于1的整数,图1中,n个可重构功能单元分别为可重构功能单元1、可重构功能单元2、可重构功能单元3…可重构功能单元n。

上述可重构译码单元用于对指令进行译码;这里,可重构译码单元可以从外部接收指令,例如,可重构译码单元可以从risc处理器架构的不可重构部分接收指令;可重构译码单元接收的指令是可以是risc中的指令。

实际实施时,可重构译码单元可以根据接收的配置文件进行重构,可以理解的是,在可重构译码单元的重构前后,可重构译码单元的译码方式会根据内部硬件结构的变化而发生变化,也就是说,可重构译码单元在接收不同的配置文件时,可以实现对不同架构处理器的指令译码功能。

上述可重构调度器用于将译码后的指令分发至至少一个可重构功能单元;具体地,可重构调度器可以根据所需要的指令种类,对译码后的指令进行分发,将指令操作数发送到对应的功能单元中。这里,可重构调度器连接可重构译码单元,可以用于接收可重构译码单元发送的译码后的指令。

实际实施时,可重构调度器可以根据接收的配置文件进行重构,可以理解的是,在可重构调度器的重构前后,可重构调度器的指令分发方式会根据内部硬件结构的变化而发生变化,也就是说,可重构调度器在接收不同的配置文件时,可以实现对不同架构处理器的指令分发功能。

上述可重构功能单元用于执行接收的指令对应的功能;也就是说,可重构功能单元可以按照接收的指令执行相应的功能。这里,可重构功能单元连接可重构调度器,用于接收可重构调度器发送的指令。

实际实施时,可重构功能单元可以根据接收的配置文件进行重构,可以理解的是,在可重构功能单元的重构前后,可重构功能单元的指令执行方式会根据内部硬件结构的变化而发生变化,也就是说,可重构功能单元在接收不同的配置文件时,可以实现对不同指令集或同一指令集中不同功能的执行。

进一步地,上述可重构硬件组件还可以包括冗余状态控制寄存器(csr),所述冗余csr用于实现各种指令集对应的状态控制寄存器的功能;具体地,冗余csr用于将冗余寄存器单元进行功能映射以及初始化,来实现不同指令集中控制状态寄存器的功能。

实际实施时,冗余csr可以根据接收的配置文件进行重构,可以理解的是,在冗余csr的重构前后,冗余csr的工作方式会根据内部硬件结构的变化而发生变化,也就是说,冗余csr在接收不同的配置文件时,可以实现不同指令集中控制状态寄存器的功能。

参照图1,上述risc处理器架构还可以包括:配置文件存储器,所述配置文件存储器,用于存储至少一种risc处理器的配置文件;所述配置文件存储器存储的配置文件可以包括至少一种种指令集处理器的配置文件;图1中,配置存储器存储的配置文件分别为配置文件1、2...m,其中,m为大于1的整数。

实际实施时,逻辑配置控制器连接配置文件存储器,逻辑配置控制器可以从所述配置文件存储器中存储的配置文件中,选取配置文件;也就是说,逻辑配置控制器,用于选择从配置文件存储器中读取预置的配置文件,并将读取配置文件发送到可重构硬件组件中,对包含可重构硬件组件中的各个可重构单元(可重构译码单元、可重构调度器、可重构功能单元和冗余csr)进行配置。

可以看出,本发明实施例可以利用risc架构的特点和可重构硬件单元的灵活性,通过对可重构硬件组件进行重构,提高已有的软件代码移植到risc处理器的效率,并降低软件开发者在硬件上和开发时间上的成本,同时也节省了处理器的设计迭代时间,降低了处理器的开发和使用门槛。

作为一种实现方式,逻辑配置控制器,具体用于根据预先确定的软件开发需求,从所述配置文件存储器中存储的配置文件中,选取配置文件;如此,由于配置文件是可重构硬件组件的重构依据,因而,可以根据软件开发需求,对可重构硬件组件进行重构,降低了软件开发人员的处理器设计时间。

参照图1,上述risc处理器架构还可以包括:通用寄存器(generalpurposeregister,gpr)、用于获取指令的取指单元、系统总线和内存,其中,可重构硬件组件、gpr和取指单元构成主处理器,主处理器可以通过系统总线与内存进行数据交互;可选地,上述不可以重构部分可以包括:gpr和取指单元。

作为一种实现方式,上述可重构硬件组件的封装结构遵循统一的通用接口封装协议的要求;这里,通用接口封装协议,可以用于可重构硬件组件与不可重构部分之间的物理连接,此通用接口封装协议为业界提供的一个统一的接口协议,上述可重构硬件组件内各个单元的接口涉及均符合该通用接口封装协议,如此,可实现可重构硬件组件与不可重构部分的正常通信,从而保证该重构后的risc处理器的灵活性和设计规范性。

在实际实施时,可重构硬件需要在基于risc架构的处理器设计时,按照配置统一的通用接口封装协议的规范进行设计,并且在设计阶段中实现该接口封装协议的规范规范;配置文件可以根据可重构硬件组件内各单元的种类和数量进行同步开发。

基于上述记载的内容,risc处理器架构的重构方法可以包括:

在基于risc架构的处理器流水线设计阶段加入可重构译码单元与可重构执行单元,这里,可重构执行单元可以包括可重构调度器和可重构功能单元;在基于risc架构的处理器流水线设计阶段,还可以csr的设计上加入冗余单元,形成上述冗余csr;可重构硬件组件的各单元的设计需要遵循统一的通用接口封装协议的要求。

在基于特定risc架构的处理器的asic(applicationspecificintegratedcircuit)产品开发过程中,编写可重构硬件组件的配置文件;所有的配置文件需要遵循统一的通用接口封装协议的要求。

在risc处理器架构的产品工作阶段,根据目标软件的实际需求,对基于risc架构的处理器流水单元进行重构,实现不同指令集处理器之间的切换。

可以看出,本发明实施例的risc架构的处理器,在功能灵活度方面大大超过了相关技术中risc架构的处理器的开发流程,缩短了risc处理器设计和软件移植时间,并为跨平台软件的开发人员降低了硬件成本;并且通过统一的通用接口封装协议对可重构硬件组件进行封装,这样,当多位处理器设计者对同一处理器进行可重构设计时,可以避免所带来的处理器体系架构碎片化,进而可以提升risc架构的处理器的设计的健壮度。

可以看出,在risc架构的处理器的设计阶段,采用可重构部分与不可重构部分相结合的方法,可重构部分突出灵活配置的优势,通过一个统一的通用接口封装协议进行封装,与突出高性能和低成本的不可重构部分相连;由于可重构部分采用可编程逻辑器件实现,因此,在设计risc架构的处理器时,开发人员可以提前将配置文件保存在片上的配置文件存储器中;在risc处理器实际使用过程中,开发人员可以根据实际需求,对可重构部分进行灵活配置。这种实施方式适用于面向一般客户的产品,可以将硬件部分的交付与软件部分的交付分开,保护设计者的知识产权。

在图1所示的risc处理器架构的基础上,得到图2所示的risc处理器架构的一个工作流程示意图,如图2所示,在实际使用中,开发人员根据软件的需要,通过逻辑配置控制器从配置文件存储器中读取目标处理器所对应的配置文件,再把配置文件转化成配置文件bit流,发送到主处理器中的可重构硬件组件中,可重构硬件组件依据配置文件bit流的内容进行重构,生成指定的译码、执行单元以及相应的csr;重构后的主处理器就可以执行软件移植工作。

在图1所示的risc处理器架构的基础上,得到图3所示的risc处理器架构的一个系统开发流程示意图,如图3所示,在处理器设计阶段,首先规定好通用接口封装协议的规范(对应图3中的通用接口定义),之后就可以开始进行主处理器的设计和主处理器集成,通过设计者也可以进行配置文件的开发;在配置文件开发和主处理器集成完成后,可以根据配置文件和主处理器,进行risc处理器架构的系统集成;这里,由于可重构硬件组件采用可编程逻辑器件实现,因而,在处理器设计中一旦有任何问题,可以很方便地对设计缺陷进行修正。

第二实施例

为了能够更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。

图4为本发明实施例的risc处理器架构的示意图二,如图4所示,采用外部主机存储上述配置文件1、2…m,外部主机通过下载电缆连接可重构硬件组件;图4中risc处理器架构的其余组成单元与图1相同,这里不再赘述。

参照图4,在risc处理器的设计阶段,采用可重构部分与不可重构部分相结合的方法,可重构部分突出灵活配置的优势,通过一个统一的通用接口封装协议进行封装,与突出高性能与低成本的不可重构部分相连;同时,在可重构硬件组件上留出一个配置文件bit流下载接口;由于可重构部分采用可编程逻辑器件实现,因此,在risc处理器使用时,开发人员可以在外部主机上通过在线编程的方式,将新的配置文件通过下载电缆下载到可编程硬件组件中,对可重构部分进行灵活配置;这种实施方式适用于面向深度客户的产品,除了可以将硬件部分的交付与软件部分的交付分开之外,由于配置文件本身的编写必须遵从于统一的通用接口封装协议,因此,可以提供配置文件的文本编辑、语法检查以及功能测试的软件,增加设计的健壮度,同时也可以更好地保护设计者的知识产权。

第三实施例

为了能够更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。

图5为本发明实施例的risc处理器架构的示意图三,如图5所示,采用远程主机存储上述配置文件1、2…m,远程主机通过网线连接可重构硬件组件的网络接口;图5中risc处理器架构的其余组成单元与图1相同,这里不再赘述。

参照图5,在risc处理器的设计阶段,采用可重构部分与不可重构部分相结合的方法,可重构部分突出灵活配置的优势,通过一个统一的通用接口封装协议进行封装,与突出高性能与低成本的不可重构部分相连;同时,在可重构硬件组件上预留一个网络接口,与外部主机进行通信。由于可重构部分采用可编程逻辑器件实现,因此,在risc处理器使用时,开发人员可以通过远程主机,将配置文件bit流通过网线下载到可重构硬件组件中,对可重构部分进行重构;这种实施方式适用于开源社区,面向众多深度爱好者,可以提供的配置文件编写、语法检查和功能测试的软件,扩大该技术的生态圈。

第四实施例

为了能够更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。

在图1所示的risc处理器架构上,增加位于开源社区的配置文件托管仓库,得到图6所示的risc处理器架构,如图6所示,配置文件托管仓库存储存储上述配置文件1、2…m,配置文件托管仓库可以连接配置文件存储器,可以通过外部主机和下载电缆连接可重构硬件组件,可以通过网线连接可重构硬件组件的网络接口。

参照图6,在针对risc-v指令集的处理器设计时,risc-v具有灵活性的特点,即risc-v指令集由若干个具有统一规定的子指令集与用户自定义的指令集所组成,因此,针对risc-v的自身灵活性的特点,在处理器设计阶段,可以根据选择的不同子指令集来设计不同的配置文件,对处理器进行重构。同时,还可以设计公用的配置库(即配置文件托管仓库),该公用配置库基于开源资源开发社区理念,对符合risc-v指令集规范和兼容于通用接口封装的配置文件进行托管。不同用户可以通过片上存储、主机在线配置和网络下载等手段,获取并实现用户所需要的配置,对risc-v处理器进行重构。同时,用户还可以在实践中检验该配置文件的正确性,在开源社区上对该配置文件进行反馈。这种实施方式可以针对risc-v处理器指令集,在配置文件编写和通用封装接口协议中进行优化,以更加高效地支持risc-v处理器架构。

第五实施例

为了能够更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。

相关技术中,对于芯片定制设计者,从接收到客户订单、分析需求、系统设计、代码编写和后端实现,再到流片测试,最后交付给客户,整个流程通常需要一年以上的时间;而一旦接收到新的客户需求,需要改变处理器体系架构时,需要重新按照上述流程进行实施,导致芯片产品的交付周期长,并且,设计芯片的迭代速度也慢。相应地,本发明实施例中,由于芯片的risc处理器部分采用硬件可重构技术,在芯片已经完成生产,且客户的需求发生改变,要求切换处理器体系架构时,可以直接对主处理器进行重构;作为一种实现方式,在重构时可以采用一次性可编程(onetimeprogrammable,otp)技术,仅支持一次性烧写,烧写完成后用户不可以自行修改主处理器功能;采用这种方法尽管电路成本比较高,但是可以极大地压缩产品的交付周期,有利于客户快速推出产品。

第六实施例

在前述实施例记载的risc处理器架构的基础上,本发明第六实施例提出了一种risc处理器架构的实现方法,所述risc处理器架构包括:逻辑配置控制器和基于可编程逻辑器件实现的可重构硬件组件。

图7为本发明实施例的risc处理器架构的实现方法的流程图,如图7所示,该流程可以包括:

步骤701:所述逻辑配置控制器选取配置文件,将选取的配置文件发送至所述可重构硬件组件;

步骤702:所述可重构硬件组件根据接收的配置文件进行重构。

在一实施方式中,所述可重构硬件组件包括可重构译码单元、可重构调度器和多个可重构功能单元;所述方法还包括:

所述可重构译码单元对指令进行译码;所述可重构调度器将译码后的指令分发至至少一个可重构功能单元;所述可重构功能单元执行接收的指令对应的功能。

在一实施方式中,所述可重构硬件组件还包括冗余csr;所述方法还包括:所述冗余csr实现各种指令集对应的状态控制寄存器的功能。

在一实施方式中,所述可重构硬件组件的封装结构遵循统一的通用接口封装协议的要求。

在一实施方式中,所述处理器架构还包括配置文件存储器,所述配置文件存储器,用于存储至少一种risc处理器的配置文件;

所述逻辑配置控制器选取配置文件,包括:

所述逻辑配置控制器从所述配置文件存储器中存储的配置文件中,选取配置文件。

在一实施方式中,所述逻辑配置控制器从所述配置文件存储器中存储的配置文件中,选取配置文件,包括:

所述逻辑配置控制器根据预先确定的软件开发需求,从所述配置文件存储器中存储的配置文件中,选取配置文件。

本发明实施例的risc处理器架构的实现方法,已经在前述实施例中作出具体说明,这里不再赘述。

本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1