CN113312303A - 处理器微架构、SoC芯片及低功耗智能设备 - Google Patents
处理器微架构、SoC芯片及低功耗智能设备 Download PDFInfo
- Publication number
- CN113312303A CN113312303A CN202110485283.3A CN202110485283A CN113312303A CN 113312303 A CN113312303 A CN 113312303A CN 202110485283 A CN202110485283 A CN 202110485283A CN 113312303 A CN113312303 A CN 113312303A
- Authority
- CN
- China
- Prior art keywords
- instruction
- processing
- processor
- architecture
- main
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 178
- 230000015654 memory Effects 0.000 claims description 39
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000000034 method Methods 0.000 claims description 7
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 4
- 230000007717 exclusion Effects 0.000 abstract description 4
- 238000013461 design Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Advance Control (AREA)
Abstract
本发明公开了一种处理器微架构、SoC芯片及低功耗智能设备,该处理器微架构包括协处理器和和至少两个主处理器,每个主处理器通过请求处理单元与协处理器连接;请求处理单元用于在接收到两个主处理器发起的使用请求时确定发起请求的主处理器的处理顺序,并根据处理顺序生成并发送反馈指令至不同的主处理器;主处理器用于在反馈指令表征允许使用时,则将处理指令发送至协处理器进行处理。本发明根据各主控制器CPU发出使用请求,由仲裁单元实现指令级互斥访问,从而实现多个主控制器共享访问同一个协处理器,满足指令级的延时,达到性能和功耗的最佳平衡,且实现对处理器CPU微架构的可定制化需求,满足低功耗智能***的产品配置要求。
Description
技术领域
本发明涉及智能终端技术领域,特别涉及一种处理器微架构、SoC(***级芯片)芯片及低功耗智能设备。
背景技术
目前,在低功耗智能终端(如智能手表)的***架构设计中,需要在芯片中集成多个MCU(微控制单元),以达到通过多个功能子模块共同实现复杂功能的目的。例如用于用户应用程序控制的APCPU(应用处理器主控***)、用于低功耗控制及传感器处理的SensorHub(副控子***)、用于无线蜂窝通信的Modem(调制解调器)子***、用于蓝牙连接与控制的BTCPU子***(一种子***)等。
在传统的CPU(中央处理器)架构实现中,一般会以Cortex-M(一种处理器微架构)系列微架构授权方案作为MCU核实现,但这样做的方式会带来几个不利因素:(1)MCU微架构灵活性不足:只能在可选的MCU架构上进行选择,这样往往导致性能过剩或者性能不足。例如针对APCPU子***来说,需要采用虚拟内存体系以扩展可用地址空间;而ARM MCU不具备MMU(内存管理单元),因而无法满足要求。针对BTCPU子***,要求功耗最低,CodeSize(代码长度)最小,性能上并不追求更高,而ARM MCU往往会因多方面受限于,无法采用最合适的MCU核;(2)多处理器核架构无法达到最优解:例如在智能手表架构中,APCPU、MMCPU(多媒体子***CPU)都可能需要AI处理加速能力。ARM MCU架构中,为每个core都提供了一个DSP协处理单元(SIMD),但无法实现DSP资源共享,从而造成资源浪费;另外,主处理器实现基本的流水线部件和L1 Cache等单元,协处理器基于需求进行单独设计并采用标准的总线接口;主处理器、协处理器、DDR(双倍速率)主存储器等都挂载在总线(如AXI等)上;这样架构设计的好处在于设计简单,能够快速扩充协处理器功能;但缺点是总线传输延时非常大,执行效率非常低,远非指令级的交互延时,无法达到高性能的要求;(3)无法根据客户需求扩展自定义指令,传统基于ARM的MCU只能处理通用指令,而无法根据客户需求自行扩展指令集。
发明内容
本发明要解决的技术问题是为了克服现有技术中处理器微架构要么存在执行效率非常低,无法达到高性能的要求,要么无法实现协处理器的共享使用,且主处理器无法根据实际业务需求进行灵活配置,易造成无法实现微架构最佳性能或者发生微架构性能过剩的缺陷,提供一种处理器微架构、SoC芯片及低功耗智能设备。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供一种处理器微架构,所述处理器微架构包括协处理器和和至少两个主处理器,每个所述主处理器通过请求处理单元与所述协处理器连接;
所述请求处理单元用于在接收到至少两个主处理器发起的使用请求时,根据第一预设条件确定发起请求的每个主处理器对应的处理顺序,并根据所述处理顺序生成并发送反馈指令至不同的主处理器;
所述主处理器用于在接收的所述反馈指令表征允许使用时,则将处理指令发送至所述协处理器进行处理。
较佳地,所述协处理器包括访问接口单元和协处理单元;
所述主处理器用于将所述处理指令发送至所述访问接口单元;
所述访问接口单元用于将所述处理指令传送至所述协处理单元进行处理;
其中,所述请求处理单元独立设置在所述访问接口单元和每个所述主处理器之间;或,所述请求处理单元集成设置在所述访问接口单元中。
较佳地,所述第一预设条件包括预先设定的每个所述主处理器对应的处理优先级。
较佳地,所述请求处理单元用于根据所述处理顺序生成表征允许使用的第一反馈指令和表征继续等待的第二反馈指令,并将所述第一反馈指令发送至排序最靠前的所述主处理器,且将所述第二反馈指令分别发送至其他排序靠后的所述主处理器。
较佳地,所述请求处理单元还用于在正在处理的所述主处理器取消发起使用请求时,将所述第一反馈指令发送至排序在下一位的所述主处理器,且将所述第二反馈指令分别发送至其他排序靠后的所述主处理器。
较佳地,每个所述主处理器对应不同的电源域;和/或,
所述访问接口单元和所述协处理单元划分在同一电源域中。
较佳地,所述主处理器用于通过命令流方式将所述处理指令发送至所述访问接口单元;和/或,
所述协处理单元用于在所述处理指令满足第二预设条件时确定采用阻塞式指令处理方式对所述处理指令进行处理;否则,采用流水线式的指令处理方式对所述处理指令进行处理。
较佳地,所述协处理单元用于根据所述处理指令向对应的所述主处理器发送数据存储单元的访问请求并读取目标数据,以根据所述目标数据进行指令处理操作;所述协处理单元还用于将根据所述目标数据进行指令处理操作的计算结果写回至所述处理指令对应的原始寄存器,并在接收到所述主处理器的指令响应后,将所述原始寄存器中存储的所述计算结果写回至所述主处理器的寄存器中。
较佳地,所述协处理器支持用户自定义指令和/或Vector向量指令。
较佳地,所述主处理器包括多个可配置的功能架构,每个所述功能架构基于开源指令集架构进行配置。
较佳地,所述开源指令集架构包括基于精简指令集原则的开源指令集架构RISC-V;
其中,所述开源指令集架构RISC-V支持多种指令集;
根据每种所述指令集配置对应的计算单元和流水线架构。
较佳地,所述指令集包括基础指令集、浮点指令集、压缩指令集或扩展指令集;和/或,
配置后的所述流水线架构支持三级流水线架构或五级流水线架构。
较佳地,所述功能架构包括多级存储器结构。
较佳地,配置后的所述多级存储器结构中的每级存储器架构对应不同类别的多个存储器;
其中,所述存储器包括L1 Cache、I-Cache、D-Cache、I-TCM、D-TCM(L1 Cache、I-Cache、D-Cache、I-TCM、D-TCM均为一种存储器)或MMU。
较佳地,所述主处理器还包括扩展指令接口和扩展指令协处理单元,所述扩展指令协处理单元分别与扩展指令接口和***总线通信连接,所述扩展指令协处理单元用于基于所述扩展指令接口和所述***总线对所述指令集进行扩展。
本发明还提供一种SoC芯片,所述SoC芯片包括上述的处理器微架构。
本发明还提供一种低功耗智能设备,所述低功耗智能设备包括上述的SoC芯片。
较佳地,所述低功耗智能设备包括智能手表。
在符合本领域常识的基础上,所述各优选条件,可任意组合,即得本发明各较佳实施例。
本发明的积极进步效果在于:
(1)通过每个主处理器与请求处理单元(即仲裁器/仲裁单元)连接,使得在多个主处理器同时向请求处理单元发起使用协处理器的使用请求时,根据预先优先级设置,只返回一个主控制器CPU一个Ready信号,向其余的主控制器CPU分别返回一个Hold信号;当正在处理的主控制器CPU取消使用请求时则向排序在下一位的主控制器CPU返回一个Ready信号,同时向其余的主控制器CPU分别返回一个Hold信号,依次类推,即根据使用场景需求进行划分,各主控制器CPU发出使用请求,由仲裁单元实现指令级互斥访问,从而实现协处理器作为共享资源,多个主控制器共享访问同一个协处理器,满足指令级的延时,达到性能和功耗的最佳平衡,有效地提高了资源利用率。
(2)协处理器由用户自定义指令和Vector向量指令实现,可实现数据级并行处理;指令取指和译码单元由统一的CPU流水线架构所实现;指令执行、数据读取和写回由协处理器完成,并通过专用接口与主控制器CPU实现指令传输和数据访问互通。该CPU微架构设计中,以RISC-V为代表的开源CPU项目,允许用户根据业务需求自行增加并设计指令,以提供最佳的任务处理能力。
(3)共享协处理器单元的各子***CPU(即多个主控制器),采用哈佛结构,需要实现独立的L1指令Cache和L1数据Cache;整个多核处理器架构实现统一的L2 Cache;另外,协处理器通过专用接口访问主控制器的L1 D-cache。
(4)用低功耗设计,各个主控制器划分为独立的供电域,协处理器也采用独立的供电域设计;在无需使用协处理器时可显性切断电源,以达到提升共享效率、降低功耗的目的,能够更好地满足智能穿戴设备对性能功耗比的要求。
(5)根据实际需求基于开源指令集架构RISC-V对不同功能结构(如等流水线架构、存储器架构等)进行灵活配置,搭配组合,可用于实现复杂的SoC***中多功能子***的MCU需求,从而提供了可精确配置、可调整功能特性、性能与功耗最优解的CPU微架构,满足对处理器CPU微架构的可定制化需求,进而满足低功耗智能手表***的产品配置要求。
附图说明
图1为本发明实施例1的处理器微架构的第一结构示意图。
图2为本发明实施例1的处理器微架构的第二结构示意图。
图3为本发明实施例1的处理器微架构的第三结构示意图。
图4为本发明实施例1的处理器微架构的原理框架示意图。
图5为本发明实施例1的处理器微架构的第四结构示意图。
图6为本发明实施例2的处理器微架构中主处理器的架构示意图。
图7为本发明实施例2的扩展向量指令和用户自定义指令内核架构的框架示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例的处理器微架构应用在低功耗智能设备(如智能手表)的SoC芯片中,该处理器微架构即为低功耗智能设备的CPU微架构。以智能手表为代表的可穿戴芯片设计中,基于不同的功能需求,会设计多个主处理器以承载不同的***功能,例如用于应用处理的APCPU、用于多媒体和Camera控制的MMCPU,用于SensorHub的SPCPU等。
如图1和图2所示,本实施例的处理器微架构包括协处理器(Co-Processor Unit)100和和至少两个主处理器(CPU)200,每个主处理器200通过请求处理单元300(或称为Arbitrator,仲裁器/仲裁单元)与协处理器100连接。请求处理单元设置在每个主处理器和协处理器之间,或者设置在协处理器中。
具体地,每个主处理器200通过Req(请求)线和Response(响应)线连接到请求处理单元300,Req线和Response线的数量可以根据实际情况进行设计或者调整。
每个CPU设有CPU Core(处理器核)和L1 D-Cache(一种存储器)等。CPU通过CPUCore发送使用请求(req)以及接收反馈指令(resp,包括Ready/Hold)、发送处理指令(cmd)以及接收指令响应(cmd resp);通过L1 D-Cache接收Mem req(数据请求)以及发送Memresp(数据响应)。具体地:请求处理单元300用于在接收到至少两个主处理器200发起的使用请求时,根据第一预设条件确定发起请求的每个主处理器200对应的处理顺序,并根据处理顺序生成并发送反馈指令至不同的主处理器200;
其中,第一预设条件包括但不限于预先设定的每个主处理器200对应的处理优先级。
主处理器200用于在接收的反馈指令表征允许使用时,则将处理指令发送至协处理器100进行处理。
根据使用场景需求进行划分,各子***CPU(即主处理器200)同时发出使用协处理器100的使用请求,由仲裁单元实现指令级互斥访问,最终实现支持多个子***CPU共享访问同一个协处理器100单元,协处理器100作为共享资源,有效地提高了资源利用率。
在一可实施的方案中,协处理器100支持自定义扩展指令和Vector向量处理指令,以RISC-V指令集为例,其规定了可用于用户扩展的自定义指令和Vector向量指令。根据这些指令集的规范设计实现协处理器100架构,可用于处理自定义指令和向量乘法,向量加法等。
如图3所示,本实施例的协处理器100包括访问接口单元400和协处理单元500。协处理单元500即为Accelarator(加速器),具体包括Commad dispatch Unit(指令分配单元)以及Data access unit(数据存储单元)等。
主处理器200用于将处理指令发送至访问接口单元400;
访问接口单元400用于将处理指令传送至协处理单元500进行处理;
在一可实施例的方案中,请求处理单元300独立设置在访问接口单元400和每个主处理器200之间。在一可实施例的方案中,请求处理单元300集成设置在访问接口单元400中。优选地,将请求处理单元300集成设置访问接口单元400中。
具体地,请求处理单元300用于根据处理顺序生成表征允许使用的第一反馈指令(如Ready信号)和表征继续等待的第二反馈指令(如Hold信号),并将第一反馈指令发送至排序最靠前的主处理器200,且将第二反馈指令分别发送至其他排序靠后的主处理器200。
请求处理单元300还用于在正在处理的主处理器200取消发起使用请求时,将第一反馈指令发送至排序在下一位的主处理器200,且将第二反馈指令分别发送至其他排序靠后的主处理器200。
在一可实施例的方案中,主处理器200用于通过命令流方式将处理指令发送至访问接口单元400。
在一可实施例的方案中,协处理单元500用于在处理指令满足第二预设条件时确定采用阻塞式指令处理方式对处理指令进行处理;否则,采用流水线式的指令处理方式对处理指令进行处理。
其中,第二预设条件对应处理指令所属类别,具体可以根据实际需求设定某种类别的处理指令需要采用阻塞式指令处理方式,某种类别的处理指令需要采用流水线式的指令处理方式。
在采用阻塞式指令处理方式时,主控制器CPU每发一条指令后,协处理器100将返回Busy信号,以通过访问接口单元400Interface通知对应的主控制器CPU,主控制器CPU在一条指令执行完毕后才能继续发送剩余指令。
在采用流水线式指令处理方式时,主控制器CPU可以持续按照流程线方式发送指令,无需等待。
协处理单元500用于根据处理指令向对应的主处理器200发送数据存储单元的访问请求并读取目标数据,以根据目标数据进行指令处理操作;协处理单元500还用于将根据目标数据进行指令处理操作的计算结果写回至处理指令对应的原始寄存器,并在接收到主处理器200的指令响应后,将原始寄存器中存储的计算结果写回至主处理器200的寄存器中。
协处理器100待处理的指令包括用户自定义指令或者向量指令。当用户自定义指令中包含有寄存器值时,该指令将通过专用通道同时传送2个源寄存器值到协处理器100中。协处理器100后继通过mem req请求向主处理器200请求访问L1-Dcache数据,读取寄存器指向的Mem数据,访问Cache的指令传递通过mem_req和mem_resp来进行。
另外,协处理器100通过专用接口访问主控制器的L1 D-cache。另外,每个主处理器200对应不同的电源域,以实现每个主处理器200的单独上下电;访问接口单元400和协处理单元500划分在同一电源域中。若有主处理器200需要使用协处理器100时,则需要提前将协处理器100的电源开关打开。
即采用低功耗设计,各个主控制器划分为独立的供电域,协处理器100也采用独立的供电域设计;在无需使用协处理器100时可显性切断电源,以达到提升共享效率、降低功耗的目的,能够更好地满足智能穿戴设备对性能功耗比的要求。
另外,由于AI应用的扩展,以上主处理器200都有进行AI处理的需求,而向量协处理器100能够提供符合性能功耗比的AI计算能力。
下面结合图4具体说明本实施例的处理器微架构的工作原理:
(1)每个主处理器200通过程序处理器PC产生执行指令并发送至instructionCache(指令存储器),然后进入指令分发队列,如属于主处理器200自身完成的指令则分发至register file(寄存器堆)、ALU执行以将执行结构存储至Data Memory数据存储单元中;若属于需要协处理器100处理的指令,则统一向访问接口单元400(interface)中包含的请求处理单元300即仲裁器发起使用协处理器100的使用请求;
(2)N个主处理器200中的n个主处理器200(CPU1、CPU2…、CPUn)同时发起使用协处理器100的使用请求;(N、n均为正数器且N≥n);
(3)协处理器100根据n个主处理器200预设的请求响应优先级生成处理顺序,首先给排序最靠前的一个主处理器200返回一个Ready信号,并向其他n-1个排序靠后的主处理器200返回Hold信号;
(4)接收Ready信号的主处理器200采用命令流方式将处理指令通过访问接口单元400传送至协处理器100的协处理单元500进行处理;其中处理指令可以采用阻塞式处理方式或流水线式处理方式;
处理指令依次经过协处理器100的协处理器100存取单元和指令分配单元,指令分配单元根据设定条件判断当前处理指令属于向量处理指令还是用户自定义指令,并在确定后分别分配至对应的指令单元进行处理;
以向量处理器单元为例,分析输入的处理指令写回数据请求指令依次通过协处理器100存取单元和访问接口单元400传输访问主处理器200的数据存储单元Data Memory并读取对应的目标数据,进而通过访问接口单元400和协处理器100存取单元完成向量寄存器的填充,以保证向量处理器单元基于加法流水线、向量寄存器堆、乘法流水线等得到指令处理结果,最后通过协处理器100存取单元和访问接口单元400将该指令处理结果存储至主处理器200的数据存储单元Data Memory。
对于用户自定义协处理单元500的指令处理原理与上述向量处理器单元的指令处理原理类似,因此此处就不再赘述。
(5)协处理器100待处理的指令可能为用户自定义指令或者向量指令。当用户自定义指令中包含有寄存器值时,该指令将通过专用通道,同时传送2个源寄存器值到协处理器100中,协处理器100后继通过mem req请求,向主处理器200请求访问L1-Dcache数据,读取寄存器指向的Mem数据,访问Cache的指令传递通过mem_req和mem_resp来进行。
协处理单元500根据处理指令向对应的主处理器200发送数据存储单元的访问请求并读取目标数据,以根据目标数据进行指令处理操作;将根据目标数据进行指令处理操作的计算结果写回至处理指令对应的原始寄存器,并在接收到主处理器200的指令响应后,将原始寄存器中存储的计算结果写回至主处理器200的寄存器中。
(6)若当前正在处理的主处理器200取消发起使用请求时,请求处理单元300则向排序在下一位的主处理器200返回一个Ready信号,并向其他n-2个排序靠后的主处理器200返回Hold信号;依次类推,直至完成所有主处理器200的Ready信号反馈。
依次类推,直至完成n个主处理器CPU1、CPU2…、CPUn的处理指令的处理操作,以实现多个主控制器共享访问同一个协处理器100。
在一可实施的方案中,如图5所示的多核共享协处理器架构,共享协处理器100的多个主控制器采用哈佛结构,需要实现独立的L1指令Cache和L1数据Cache,整个多核处理器架构实现统一的L2 Cache。每个主控制器采用Extension Interface(扩展接口)与协处理器进行连接。
本实施例中,通过每个主处理器与请求处理单元连接,使得在多个主处理器同时向请求处理单元发起使用协处理器的使用请求时,根据预先优先级设置,只返回一个主控制器CPU一个Ready信号,向其余的主控制器CPU分别返回一个Hold信号;当正在处理的主控制器CPU取消使用请求时则向排序在下一位的主控制器CPU返回一个Ready信号,同时向其余的主控制器CPU分别返回一个Hold信号,依次类推,即根据使用场景需求进行划分,各主控制器CPU发出使用请求,由仲裁单元实现指令级互斥访问,从而实现协处理器作为共享资源,多个主控制器共享访问同一个协处理器,满足指令级的延时,达到性能和功耗的最佳平衡,有效地提高了资源利用率。
实施例2
本实施例的处理器微架构是对实施例1的进一步改进,具体地:
如图6所示,本实施例的每个主处理器200包括多个可配置的功能架构,该功能架构包括设置在主Core(处理器核)中的流水线架构1、扩展指令接口2、存储器架构3和TEE4,以及设于主Core外的扩展指令协处理单元5005。每个功能架构基于开源指令集架构进行配置。
其中,开源指令集架构包括基于精简指令集原则的开源指令集架构RISC-V,开源指令集架构RISC-V支持多种指令集;根据每种指令集配置对应的计算单元和流水线架构。
采用开源指令集架构RISC-V根据实际设计需求进行针对性设计、灵活搭配各种功能架构组合以应用在低功耗智能设备中,以满足不同客户的不同设计需求,实现处理器微架构的定制化需求。
处理器微结构可支持的指令集包括基础指令集、浮点指令集、压缩指令集、扩展指令集等。其中,基础指令集包括加法、减法、乘法、除法、原子交换、访问存储器等指令;浮点指令集包括单精度、双精度浮点计算;压缩指令集包括16bit,扩展指令集包括向量指令、SIMD(单指令多数据流)指令等。具体地,根据上述不同的指令集设计不同的ALU(计算单元),并设计不同的流水线架构。
另外,本实施例的处理器微架构包括扩展指令接口和扩展指令协处理单元500,扩展指令协处理单元500分别与扩展指令接口和***总线通信连接,扩展指令协处理单元500用于基于扩展指令接口和***总线对指令集进行扩展。
具体地,CPU处理器微架构设计中的主Core用于支持基础指令集、浮点指令集和压缩指令集等指令集,而扩展指令集的实现则需要依赖于主Core外部的扩展指令协处理单元500。例如向量指令协处理单元500就是用于处理扩展的向量指令,这样可以采用性能功耗比更优的逻辑单元来处理所需求的领域计算要求,即可以通过扩展指令接口以及扩展指令协处理单元500实现用户自定义优化指令集的目的。
可针对FPU(浮点运算的处理器)设计专门的浮点处理流水线,增加了浮点处理的计算单元,其与整型处理流水线共享指令预取和译码单元;当然可根据产品配置的需求,选择支持或不支持浮点处理指令集,保证了配置的灵活性,更好地满足更高的设计需求。
本实施例的功能架构包括但不限于流水线架构、存储器结构等。
具体地,流水线架构为多级流水线架构,配置后的多级流水线架构支持三级流水线架构或五级流水线架构。当然可以为其他级别的流水线架构,具体可以根据实际设计需求进行调整配置。
如图7所示,根据实现复杂度的不同,设计多级流水线架构。例如:一种可配置的多级流水线架构的方式为:在处理性能较高的应用处理器中使用经典的5级流水线架构;在处理性能要求较低,功耗面积要求达到最优的MCU控制器设计中,使用简单的3级流水线架构;由于流水线设计的基本原理,在3级流水线中,最高可支持的主频率低于5级流水线,这样牺牲了处理的能力,换来芯片面积和功耗的优化。
其中,本实施例可以对整型流水线、浮点流水线、3级流水线、5级流水线等形成独立可配置特性,也可以根据***复杂度进行搭配组合设计。
功能架构包括多级存储器结构。配置后的多级存储器结构中的每级存储器架构对应不同类别的多个存储器;
其中,存储器包括L1 Cache、I-Cache、D-Cache、I-TCM、D-TCM或、MMU。
本实施例中的处理器微架构支持L1 Cache、I-Cache、D-Cache、I-TCM、D-TCM或MMU等存储器的灵活配置。根据不同的使用需求进行组合,例如在AP应用处理器环境中,需要将I-Cache、D-Cache、L2 Cache和MMU虚拟内存等进行组合配置;在低功耗要求更高的SensorHub需求中,则仅需要将I-Cache和D-TCM进行组合配置即可满足需求。
本实施例中的处理器微架构支持MMU架构,MMU是内存管理单元,位于CPU core与外部主存储器之间,通过加载页表的方式进行内存管理,主要实现虚拟地址到实际物理地址的变换。通过MMU可以实现虚拟内存的技术,这在扩展内存不足的嵌入式***(如智能手表)中非常有效。MPU(微处理器)可以实现不同协处理单元500和不同MCU对主存空间的访问保护。只要将主存空间划分为不同的区域,并且配置MPU的读写权限,越权访问的请求则会被有效阻止。
另外,处理器微架构支持可信执行环境TEE。
本实施例中的处理器微架构支持实现TEE设计,采用特权模式设计,当设置特殊的指令时,***则进入特权模式。此时在与正常模式完全隔离的硬件环境中执行可信的运行***,包括独立的寄存器,独立且隔离的存储空间,独立且隔离的器件和TOS(可信操作***)等。
对于SoC芯片***,图1中处理器核中的Extension Interface表示扩展指令接口、FIQ-CTL表示快速后中断请求控制模块、IRQ-CTL表示中断请求控制模块、Debug表示调试模块、JTAG表示调试接口、IRQ_src表示中断相应模块、Timer表示计时模块;Per1、Pern、Dev1均表示与总线连接的接线端、SRAM表示静态随机存取存储器、Ext MEM(一种寄存器)。
本实施例中的处理器微架构可以经上述的指令集设计、流水线设计、寄存器设计、Cache设计、扩展指令单元设计等,在同等条件下,本处理器微架构的功耗能力必然优于现有其他的CPU架构的实现。例如,对于本实施例的处理器微架构对应对的特定应用场景(如智能手表的心率检测功能)计算需求,采用现有的ARM架构编译指令,可能需要多条汇编指令。而通过本实施例重新设计的处理器微架构的扩展指令,仅需采用更小的指令数就可以实现相同的功能;由于执行时钟周期减小,对应的功耗也随之得到优化,通过功能单元模块的搭配组合,以及用户自定义扩展指令等优化设计,有效降低了芯片面积和运行主频,从而达到功耗优化的目的。
对于复杂的嵌入式SoC***,例如用于低功耗智能手表的SoC设计,很适合采用本实施例的处理器微架构进行模块化组合和定制化设计。下表为例如低功耗智能手表的SoC设计中各项参数的配置数据:
本实施例中,可根据客户需求定制,设计多主处理器CPU共享同一个协处理器单元的CPU微架构,同时根据实际需求基于开源指令集架构RISC-V对不同功能结构(如实现L1Cache、L2 Cache、MMU、TEE、浮点运算单元、向量运算单元等流水线架构、存储器架构等)进行灵活配置,搭配组合,可用于实现复杂的SoC***中多功能子***的MCU需求,从而提供了可精确配置、可调整功能特性、性能与功耗最优解的CPU微架构,满足对处理器CPU微架构的可定制化需求,进而满足低功耗智能手表***的产品配置要求。
实施例3
本实施例的SoC芯片包括实施例1或2中的处理器微架构。
本实施例的SoC芯片包括上述的处理器微架构,可根据客户需求定制,设计多主处理器CPU共享同一个协处理器单元的CPU微架构,同时根据实际需求基于开源指令集架构RISC-V对不同功能结构进行灵活配置,搭配组合,可用于实现复杂的SoC***中多功能子***的MCU需求,从而提供了可精确配置、可调整功能特性、性能与功耗最优解的CPU微架构,满足对处理器CPU微架构的可定制化需求,进而满足低功耗智能手表***的产品配置要求。
实施例4
本实施例的低功耗智能设备包括SoC芯片。其中,低功耗智能设备包括智能手表。
本实施例的低功耗智能设备包括上述的SoC芯片,可根据客户需求定制,设计多主处理器CPU共享同一个协处理器单元的CPU微架构,同时根据实际需求基于开源指令集架构RISC-V对不同功能结构进行灵活配置,搭配组合,可用于实现复杂的SoC***中多功能子***的MCU需求,从而提供了可精确配置、可调整功能特性、性能与功耗最优解的CPU微架构,满足对处理器CPU微架构的可定制化需求,进而满足低功耗智能手表***的产品配置要求。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (18)
1.一种处理器微架构,其特征在于,所述处理器微架构包括协处理器和和至少两个主处理器,每个所述主处理器通过请求处理单元与所述协处理器连接;
所述请求处理单元用于在接收到至少两个主处理器发起的使用请求时,根据第一预设条件确定发起请求的每个主处理器对应的处理顺序,并根据所述处理顺序生成并发送反馈指令至不同的主处理器;
所述主处理器用于在接收的所述反馈指令表征允许使用时,则将处理指令发送至所述协处理器进行处理。
2.如权利要求1所述的处理器微架构,其特征在于,所述协处理器包括访问接口单元和协处理单元;
所述主处理器用于将所述处理指令发送至所述访问接口单元;
所述访问接口单元用于将所述处理指令传送至所述协处理单元进行处理;
其中,所述请求处理单元独立设置在所述访问接口单元和每个所述主处理器之间;或,所述请求处理单元集成设置在所述访问接口单元中。
3.如权利要求1或2所述的处理器微架构,其特征在于,所述第一预设条件包括预先设定的每个所述主处理器对应的处理优先级。
4.如权利要求3所述的处理器微架构,其特征在于,所述请求处理单元用于根据所述处理顺序生成表征允许使用的第一反馈指令和表征继续等待的第二反馈指令,并将所述第一反馈指令发送至排序最靠前的所述主处理器,且将所述第二反馈指令分别发送至其他排序靠后的所述主处理器。
5.如权利要求4所述的处理器微架构,其特征在于,所述请求处理单元还用于在正在处理的所述主处理器取消发起使用请求时,将所述第一反馈指令发送至排序在下一位的所述主处理器,且将所述第二反馈指令分别发送至其他排序靠后的所述主处理器。
6.如权利要求2所述的处理器微架构,其特征在于,每个所述主处理器对应不同的电源域;和/或,
所述访问接口单元和所述协处理单元划分在同一电源域中。
7.如权利要求2所述的处理器微架构,其特征在于,所述主处理器用于通过命令流方式将所述处理指令发送至所述访问接口单元;和/或,
所述协处理单元用于在所述处理指令满足第二预设条件时确定采用阻塞式指令处理方式对所述处理指令进行处理;否则,采用流水线式的指令处理方式对所述处理指令进行处理。
8.如权利要求2所述的处理器微架构,其特征在于,所述协处理单元用于根据所述处理指令向对应的所述主处理器发送数据存储单元的访问请求并读取目标数据,以根据所述目标数据进行指令处理操作;所述协处理单元还用于将根据所述目标数据进行指令处理操作的计算结果写回至所述处理指令对应的原始寄存器,并在接收到所述主处理器的指令响应后,将所述原始寄存器中存储的所述计算结果写回至所述主处理器的寄存器中。
9.如权利要求1所述的处理器微架构,其特征在于,所述协处理器支持用户自定义指令和/或Vector向量指令。
10.如权利要求1所述的处理器微架构,其特征在于,所述主处理器包括多个可配置的功能架构,每个所述功能架构基于开源指令集架构进行配置。
11.如权利要求10所述的处理器微架构,其特征在于,所述开源指令集架构包括基于精简指令集原则的开源指令集架构RISC-V;
其中,所述开源指令集架构RISC-V支持多种指令集;
根据每种所述指令集配置对应的计算单元和流水线架构。
12.如权利要求11所述的处理器微架构,其特征在于,所述指令集包括基础指令集、浮点指令集、压缩指令集或扩展指令集;和/或,
配置后的所述流水线架构支持三级流水线架构或五级流水线架构。
13.如权利要求10所述的处理器微架构,其特征在于,所述功能架构包括多级存储器结构。
14.如权利要求13所述的处理器微架构,其特征在于,配置后的所述多级存储器结构中的每级存储器架构对应不同类别的多个存储器;
其中,所述存储器包括L1 Cache、I-Cache、D-Cache、I-TCM、D-TCM或MMU。
15.如权利要求10所述的处理器微架构,其特征在于,所述主处理器还包括扩展指令接口和扩展指令协处理单元,所述扩展指令协处理单元分别与扩展指令接口和***总线通信连接,所述扩展指令协处理单元用于基于所述扩展指令接口和所述***总线对所述指令集进行扩展。
16.一种SoC芯片,其特征在于,所述SoC芯片包括权利要求1-15中任一项所述的处理器微架构。
17.一种低功耗智能设备,其特征在于,所述低功耗智能设备包括权利要求16所述的SoC芯片。
18.如权利要求17所述的低功耗智能设备,其特征在于,所述低功耗智能设备包括智能手表。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110485283.3A CN113312303B (zh) | 2021-04-30 | 2021-04-30 | 处理器微架构***、SoC芯片及低功耗智能设备 |
PCT/CN2021/142830 WO2022227671A1 (zh) | 2021-04-30 | 2021-12-30 | 处理器微架构、SoC芯片及低功耗智能设备 |
US18/288,627 US20240211020A1 (en) | 2021-04-30 | 2021-12-30 | Processor micro-architecture, soc chip and low-power-consumption intelligent device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110485283.3A CN113312303B (zh) | 2021-04-30 | 2021-04-30 | 处理器微架构***、SoC芯片及低功耗智能设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312303A true CN113312303A (zh) | 2021-08-27 |
CN113312303B CN113312303B (zh) | 2022-10-21 |
Family
ID=77371469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110485283.3A Active CN113312303B (zh) | 2021-04-30 | 2021-04-30 | 处理器微架构***、SoC芯片及低功耗智能设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240211020A1 (zh) |
CN (1) | CN113312303B (zh) |
WO (1) | WO2022227671A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629665A (zh) * | 2022-05-16 | 2022-06-14 | 百信信息技术有限公司 | 一种用于可信计算的硬件平台 |
WO2022227671A1 (zh) * | 2021-04-30 | 2022-11-03 | 展讯通信(上海)有限公司 | 处理器微架构、SoC芯片及低功耗智能设备 |
WO2023092620A1 (zh) * | 2021-11-29 | 2023-06-01 | 山东领能电子科技有限公司 | 基于risc-v的三维互联众核处理器架构及其工作方法 |
US11714649B2 (en) | 2021-11-29 | 2023-08-01 | Shandong Lingneng Electronic Technology Co., Ltd. | RISC-V-based 3D interconnected multi-core processor architecture and working method thereof |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108766A (en) * | 1997-08-12 | 2000-08-22 | Electronics And Telecommunications Research Institute | Structure of processor having a plurality of main processors and sub processors, and a method for sharing the sub processors |
US20020166017A1 (en) * | 2001-05-02 | 2002-11-07 | Kim Jason Seung-Min | Cross bar multipath resource controller system and method |
CN101187908A (zh) * | 2007-09-27 | 2008-05-28 | 上海大学 | 单芯片多处理器共享数据存储空间的访问方法 |
US20160092238A1 (en) * | 2014-09-26 | 2016-03-31 | Qualcomm Incorporated | Coprocessor for out-of-order loads |
CN112130901A (zh) * | 2020-09-11 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 基于risc-v的协处理器、数据处理方法及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009026135A (ja) * | 2007-07-20 | 2009-02-05 | Nec Electronics Corp | マルチプロセッサ装置 |
CN101667165B (zh) * | 2009-09-28 | 2012-09-05 | 中国电力科学研究院 | 一种分布式多主cpu共享总线的方法及其装置 |
CN102110072B (zh) * | 2009-12-29 | 2013-06-05 | 中兴通讯股份有限公司 | 一种多处理器完全互访的方法及*** |
CN102402422B (zh) * | 2010-09-10 | 2016-04-13 | 北京中星微电子有限公司 | 处理器组件及该组件内存共享的方法 |
US11169916B2 (en) * | 2018-09-24 | 2021-11-09 | Hewlett Packard Enterprise Development Lp | Exception handling in wireless access points |
CN113312303B (zh) * | 2021-04-30 | 2022-10-21 | 展讯通信(上海)有限公司 | 处理器微架构***、SoC芯片及低功耗智能设备 |
-
2021
- 2021-04-30 CN CN202110485283.3A patent/CN113312303B/zh active Active
- 2021-12-30 US US18/288,627 patent/US20240211020A1/en active Pending
- 2021-12-30 WO PCT/CN2021/142830 patent/WO2022227671A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108766A (en) * | 1997-08-12 | 2000-08-22 | Electronics And Telecommunications Research Institute | Structure of processor having a plurality of main processors and sub processors, and a method for sharing the sub processors |
US20020166017A1 (en) * | 2001-05-02 | 2002-11-07 | Kim Jason Seung-Min | Cross bar multipath resource controller system and method |
CN101187908A (zh) * | 2007-09-27 | 2008-05-28 | 上海大学 | 单芯片多处理器共享数据存储空间的访问方法 |
US20160092238A1 (en) * | 2014-09-26 | 2016-03-31 | Qualcomm Incorporated | Coprocessor for out-of-order loads |
CN112130901A (zh) * | 2020-09-11 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 基于risc-v的协处理器、数据处理方法及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022227671A1 (zh) * | 2021-04-30 | 2022-11-03 | 展讯通信(上海)有限公司 | 处理器微架构、SoC芯片及低功耗智能设备 |
WO2023092620A1 (zh) * | 2021-11-29 | 2023-06-01 | 山东领能电子科技有限公司 | 基于risc-v的三维互联众核处理器架构及其工作方法 |
US11714649B2 (en) | 2021-11-29 | 2023-08-01 | Shandong Lingneng Electronic Technology Co., Ltd. | RISC-V-based 3D interconnected multi-core processor architecture and working method thereof |
CN114629665A (zh) * | 2022-05-16 | 2022-06-14 | 百信信息技术有限公司 | 一种用于可信计算的硬件平台 |
CN114629665B (zh) * | 2022-05-16 | 2022-07-29 | 百信信息技术有限公司 | 一种用于可信计算的硬件平台 |
Also Published As
Publication number | Publication date |
---|---|
CN113312303B (zh) | 2022-10-21 |
US20240211020A1 (en) | 2024-06-27 |
WO2022227671A1 (zh) | 2022-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113312303B (zh) | 处理器微架构***、SoC芯片及低功耗智能设备 | |
US10120728B2 (en) | Graphical processing unit (GPU) implementing a plurality of virtual GPUs | |
EP3155521B1 (en) | Systems and methods of managing processor device power consumption | |
US7934036B2 (en) | Interrupt-related circuits, systems, and processes | |
US8347012B2 (en) | Interrupt morphing and configuration, circuits, systems, and processes | |
US6594713B1 (en) | Hub interface unit and application unit interfaces for expanded direct memory access processor | |
US20120079155A1 (en) | Interleaved Memory Access from Multiple Requesters | |
US8904109B2 (en) | Selective cache access control apparatus and method thereof | |
US8578387B1 (en) | Dynamic load balancing of instructions for execution by heterogeneous processing engines | |
JP2006522385A (ja) | マルチスレッドのコンピュータ処理を提供する装置および方法 | |
CN108121685A (zh) | 一种嵌入式多核cpu固件运行方法 | |
US8533400B2 (en) | Selective memory access to different local memory ports and method thereof | |
Makni et al. | A comparison and performance evaluation of FPGA soft-cores for embedded multi-core systems | |
Leibson et al. | Configurable processors: a new era in chip design | |
US8413151B1 (en) | Selective thread spawning within a multi-threaded processing system | |
Shirur et al. | Design and implementation of efficient direct memory access (DMA) controller in multiprocessor SoC | |
US20130246670A1 (en) | Information processing system | |
CN115858439A (zh) | 三维堆叠式可编程逻辑架构和处理器设计体系结构 | |
Lee et al. | Fast shared on-chip memory architecture for efficient hybrid computing with CGRAs | |
Liang et al. | Design of 16-bit fixed-point CNN coprocessor based on FPGA | |
Natvig et al. | Multi‐and Many‐Cores, Architectural Overview for Programmers | |
Bhure et al. | Design of cache controller for multi-core processor system | |
Moon et al. | A 32-bit RISC microprocessor with DSP functionality: Rapid prototyping | |
Hussain | Memory resources aware run-time automated scheduling policy for multi-core systems | |
Jeong et al. | Design of a combined processor containing a 32-bit RISC microprocessor and a 16-bit fixed-point DSP on a chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |