掌桥专利:专业的专利平台
掌桥专利
首页

一种处理器、处理器启动方法及启动装置

文献发布时间:2024-01-17 01:26:37


一种处理器、处理器启动方法及启动装置

技术领域

本发明涉及一种处理器、处理器启动方法及启动装置,属于处理器设计技术领域。

背景技术

一般的嵌入式处理器在执行主程序之前都需要执行一些初始化的过程,用于构建嵌入式程序运行的环境,所以开机启动程序对于一个嵌入式处理器来说很重要。常见的处理器开机流程一般先由各种源文件经过编译产生目标(object)文件,接着再对object文件进行映射,根据描述文件装在到指定的固态存储器(ROM)地址之中。而在程序真正执行之前还需要根据描述文件将程序需要的数据装入核心内部的动态存储器之中,在上述准备完成之后,启动程序从ROM开始执行。

传统的处理器启动一般流程首先在处理器固态存储器(只读存储器Read-OnlyMemory,ROM、闪存FLASH)中会预先存入一些固定的启动程序;接着在处理器正式启动之前,根据软件配置将所需要读写数据部分读出放入同步动态随机存储器(SynchronousDynamic Random Access Memory,SDRAM)中,完成之后程序开始执行。

传统处理方式程序首先将所需读写数据从外部存储器搬入主存,CPU首次访存时必然会出现核内未命中的情况,从而需要再次将数据从主存中搬到核内高速缓存(Cache)之中。这样的流程会大幅度增加硬件启动的流程的时间,而且在数据搬运过程中可能还会存在安全风险。

发明内容

本发明的目的在于克服现有技术中的不足,提供一种处理器、处理器启动方法及启动装置,能够减少处理器启动时间。为达到上述目的,本发明是采用下述技术方案实现的:

第一方面,本发明提供了一种处理器,包括:

置于核内的核心内部高速缓存,置于核外的SDRAM;所述核心内部高速缓存与外部存储器通过所述SDRAM进行通信连接;

所述核心内部高速缓存包括取指管理部件和访存管理部件,所述取指管理部件包括用于存储指令标签的ICTAG_SRAM和用于存储指令数据的ICDATA_SRAM;所述访存管理部件包括用于配置处理模式的控制与状态寄存器、通用寄存器以及用于存储数据标签的DCTAG_SRAM和用于存储数据的DCDATA_SRAM。

结合第一方面,可选的,所述处理器处于TM模式下,核心内部高速缓存划分为三个具体空间,包括:ROM空间、ITM空间和DTM空间;

所述ROM空间、ITM空间的操作对象为ICDATA_SRAM,所述ROM空间仅进行读取操作,读取ICDATA_SRAM存储的指令,所述ITM空间进行读取或写入操作,读取ICDATA_SRAM存储的指令或将指令写入ICDATA_SRAM;

所述DTM空间的操作对象为DCDATA_SRAM;所述DTM空间进行读取或写入操作,读取DCDATA_SRAM存储的数据或将数据写入DCDATA_SRAM。

第二方面,本发明提供了基于第一方面所述的处理器启动方法,所述核心内部高速缓存中预加载了硬件启动指令,所述处理器的初始模式为TM模式,包括:

获取启动处理器的指令;

根据指令进行物理地址路由,判断物理地址所属的核心内部高速缓存的具体空间,执行对应空间中的硬件启动指令进行硬件启动;

硬件启动完成后处理器进入非TM模式。

结合第二方面,可选的,所述处理器的核心内部高速缓存中预加载了硬件启动指令,通过以下步骤实现预加载:

初始化核心内部高速缓存的控制与状态寄存器和通用寄存器;

通过LD/ST指令将硬件启动指令写入ITM空间,将硬件启动相关数据写入DTM空间。

结合第二方面,可选的,预加载硬件启动指令的步骤存储在所述ROM空间。

结合第二方面,可选的,还包括:预加载完成后,处理器的PC程序计数器跳转至ITM空间执行处理器启动方法。

结合第二方面,可选的,所述启动处理器的指令中包括取指指令和/或访存指令,

所述取指指令的执行步骤包括:判断物理地址所属的核心内部高速缓存的具体空间为ROM空间或ITM空间,当具体空间为ROM空间,则对ROM空间进行取指操作,当具体空间为ITM空间,则对ICDATA_SRAM进行取指操作;

所述访存指令的执行步骤包括:判断物理地址所属的核心内部高速缓存的具体空间为ITM空间或DTM空间,当具体空间为ITM空间,则访存指令读写的对象为ICDATA_SRAM,当具体空间为DTM空间,则访存指令读写的对象为DCDATA_SRAM。

结合第二方面,可选的,还包括处理器进入非TM模式后执行取指指令,执行步骤包括:

根据指令进行物理地址路由,物理地址所属的核心内部高速缓存的具体空间为Cache空间;

根据物理地址查询ICTAG_SRAM,判断指令是否命中ICTAG_SRAM中的指令,若命中,则根据物理地址与命中路号则对ICDATA_SRAM进行取指操作;若未命中,则进行核外访存,访存对象为核外缓存或核外的SDRAM或外部存储器。

结合第二方面,可选的,还包括处理器进入非TM模式后进行访存流程,执行步骤包括:

根据指令进行物理地址路由,物理地址所属的核心内部高速缓存的具体空间为Cache空间;

根据物理地址查询DCTAG_SRAM,判断指令是否命中DCTAG_SRAM中的指令,若命中,则根据物理地址与命中路号则对DCDATA_SRAM进行访存操作;若未命中,则进行核外访存,访存对象为核外缓存或核外的SDRAM或外部存储器。

第三方面,本发明提供了一种处理器启动装置,所述核心内部高速缓存中预加载了硬件启动指令,所述处理器的初始模式为TM模式,包括:

获取模块:用于获取启动处理器的指令;

启动模块:用于根据指令进行物理地址路由,判断物理地址所属的核心内部高速缓存的具体空间,执行对应空间中的硬件启动指令进行硬件启动;

跳转模块:用于启动完成硬件启动完成后处理器进入非TM模式。

与现有技术相比,本发明实施例所提供一种处理器、处理器启动方法及启动装置所达到的有益效果包括:

本发明提供的处理器包括:置于核内的核心内部高速缓存,置于核外的SDRAM;所述核心内部高速缓存与外部存储器通过所述SDRAM进行通信连接;所述核心内部高速缓存包括取指管理部件和访存管理部件,所述取指管理部件包括用于存储指令标签的ICTAG_SRAM和用于存储指令数据的ICDATA_SRAM;所述访存管理部件包括用于配置处理模式的控制与状态寄存器、通用寄存器以及用于存储数据标签的DCTAG_SRAM和用于存储数据的DCDATA_SRAM;本发明处理器中存在两种访存模式,TM模式与非TM模式,两种访存模式共用一片DATA_SRAM,结构简单,在考虑不新增SRAM存储模块的减少消耗减低成本的要求下采用了紧耦合访存结构与高速缓存访存复用的方式实现处理器启动程序直接装入了核心的SRAM中;

本发明的存储空间分成ROM地址空间、ITM地址空间、DTM地址空间以及Cache空间,用于区分TM与非TM模式下对于同一片SRAM读写地址;Cache空间只用在非TM模式下才能访问,其余空间在TM模式下访问,否则作为地址越界错误处理;

本发明提供的处理器启动方法,核心内部高速缓存中预加载了硬件启动指令,所述处理器的初始模式为TM模式,包括:获取启动处理器的指令;根据指令进行物理地址路由,判断物理地址所属的核心内部高速缓存的具体空间,执行对应空间中的硬件启动指令进行硬件启动;硬件启动完成后处理器进入非TM模式;本发明将硬件启动指令与相关数据通过软件配置直接存入核心内部高速缓存,在程序准备好之后即可直接执行,能够加快处理器启动流程完成速率;提高处理器启动的安全性;

本发明硬件启动完成即可跳出TM模式,处理器开机方法在硬件启动之后不再存在使用价值,ITM空间和DTM空间中存储的指令与数据也被接下来的程序替代。

附图说明

图1是本发明实施例一提供的一种处理器的结构示意图;

图2是本发明实施例二提供的一种处理器启动方法的流程图;

图3是本发明实施例二提供的一种处理器启动方法中取指指令的执行步骤示意图;

图4是本发明实施例二提供的一种处理器启动方法中读取指令的执行步骤示意图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施例一

如图1所示,本发明实施例提供了一种处理器,包括:

置于核内的核心内部高速缓存,置于核外的SDRAM;所述核心内部高速缓存与外部存储器通过所述SDRAM进行通信连接;

所述核心内部高速缓存包括取指管理部件和访存管理部件,所述取指管理部件包括用于存储指令标签的ICTAG_SRAM和用于存储指令数据的ICDATA_SRAM;所述访存管理部件包括用于配置处理模式的控制与状态寄存器(CSR)、通用寄存器以及用于存储数据标签的ICTAG_SRAM和用于存储数据的DCDATA_SRAM。

其中,ICTAG_SRAM(Instruction Cache Tag Static Random Access Memory)表示指令高速缓存Tag静态存储器阵列,ICDATA_SRAM(Instruction Cache Data StaticRandom Access Memory)表示指令高速缓存数据静态存储器阵列,DCTAG_SRAM(Data CacheTag Static Random Access Memory)表示数据高速缓存Tag静态存储器阵列,DCDATA_SRAM(Data Cache Data Static Random Access Memory)表示数据高速缓存数据静态存储器阵列。SDRAM(Synchronous Dynamic Random Access Memory)表示同步动态随机存取内存。

处理模式包括TM模式和非TM模式,采用控制与状态寄存器(CSR)进行控制,两种访存模式共用一片DATA_SRAM,结构简单,在考虑不新增SRAM存储模块的减少消耗减低成本的要求下采用了紧耦合访存结构与高速缓存访存复用的方式实现处理器启动程序直接装入了核心的SRAM中。

处理器处于TM模式下,核心内部高速缓存划分为三个具体空间,包括:ROM空间、ITM空间和DTM空间。ROM空间的操作对象为ICDATA_SRAM,ROM空间仅进行读取操作。ITM空间的操作对象为ICDATA_SRAM,ITM空间进行读取或写入操作,读取ICDATA_SRAM存储的指令或将指令写入ICDATA_SRAM。DTM空间的操作对象为DCDATA_SRAM,DTM空间进行读取或写入操作,读取DCDATA_SRAM存储的数据或将数据写入DCDATA_SRAM。

其中,ROM(Read Only Memory)表示只读存储器,ITM(Instruction Tight-Coupled Memory)表示指令紧耦合寄存器,DTM(Data Tight-Coupled Memory)表示数据紧耦合寄存器。

处理器处于非TM模式下,核心内部高速缓存包括Cache空间,Cache空间只用在非TM模式下才能访问,其余空间只能在TM模式下访问,否则作为地址越界错误处理。

实施例二

本发明实施例提供了基于实施例一的处理器启动方法,包括:处理器的程序计数器在核心内部高速缓存中预加载硬件启动指令和执行处理器启动方法。

在核心内部高速缓存中预加载硬件启动指令,存储在ROM空间,通过以下步骤实现预加载:

初始化核心内部高速缓存的控制与状态寄存器和通用寄存器;

通过LD/ST指令将硬件启动指令写入ITM空间,将硬件启动相关数据写入DTM空间。

其中,LD/ST指令为Load and Store指令。

预加载完成后,处理器的PC程序计数器跳转至ITM空间执行处理器启动方法。

如图2所示,处理器的初始模式为TM模式,在TM模式下执行处理器启动方法,包括:

获取启动处理器的指令;

根据指令进行物理地址路由,判断物理地址所属的核心内部高速缓存的具体空间,执行对应空间中的硬件启动指令进行硬件启动;

硬件启动完成后处理器进入非TM模式。

启动处理器的指令中包括取指指令和/或访存指令。

如图3所示,具体为图3核心处于TM模式部分的流程示意图,取指指令的执行步骤包括:判断物理地址所属的核心内部高速缓存的具体空间为ROM空间或ITM空间,当具体空间为ROM空间,则对ROM空间进行取指操作,当具体空间为ITM空间,则对ICDATA_SRAM进行取指操作。若具体空间不是ROM空间或ITM空间,处理器报错。

如图4所示,具体为图4核心处于TM模式部分的流程示意图,访存指令的执行步骤包括:判断物理地址所属的核心内部高速缓存的具体空间为ITM空间或DTM空间,当具体空间为ITM空间,则访存指令读写的对象为ICDATA_SRAM,当具体空间为DTM空间,则访存指令读写的对象为DCDATA_SRAM。若具体空间不是ITM空间或DTM空间,处理器报错。

处理器开机流程在硬件启动之后不再存在使用价值,当硬件启动完成跳出TM模式, ITM空间和DTM空间中存储的指令与数据也同样可以被接下来的程序替代。

处理器中存在两种访存模式,TM模式与非TM模式。在TM模式下,直接根据指令PC或物理的地址信息访问、装填数据SRAM阵列,不存在不命中的情况;在非TM模式下,需要根据物理地址命中情况进行访问/装填数据SRAM阵列,若地址未命中则还需要进行访问内存操作。

如图3所示,具体为图3核心处于非TM模式部分的流程示意图,处理器进入非TM模式后执行取指指令,执行步骤包括:根据指令进行物理地址路由,物理地址所属的核心内部高速缓存的具体空间为Cache空间;根据物理地址查询ICTAG_SRAM,判断指令是否命中ICTAG_SRAM中的指令,若命中,则根据物理地址与命中路号则对ICDATA_SRAM进行取指操作;若未命中,则进行核外访存,访存对象为核外缓存或核外的SDRAM或外部存储器。

如图4所示,具体为图4核心处于非TM模式部分的流程示意图,处理器进入非TM模式后进行访存流程,执行步骤包括:根据指令进行物理地址路由,物理地址所属的核心内部高速缓存的具体空间为Cache空间;根据物理地址查询DCTAG_SRAM,判断指令是否命中DCTAG_SRAM中的指令,若命中,则根据物理地址与命中路号则对ICDATA_SRAM进行访存操作;若未命中,则进行核外访存,访存对象为核外缓存或核外的SDRAM或外部存储器。

本实施例将硬件启动指令与相关数据通过软件配置直接存入核心内部高速缓存,在程序准备好之后即可直接执行,能够加快处理器启动流程完成速率;提高处理器启动的安全性。

实施例三

本发明实施例提供了一种处理器启动装置,所述核心内部高速缓存中预加载了硬件启动指令,所述处理器的初始模式为TM模式,包括:

获取模块:用于获取启动处理器的指令;

启动模块:用于根据指令进行物理地址路由,判断物理地址所属的核心内部高速缓存的具体空间,执行对应空间中的硬件启动指令进行硬件启动;

跳转模块:用于启动完成硬件启动完成后处理器进入非TM模式。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

相关技术
  • 一种处理器接口装置以及处理器数据处理方法
  • 一种蒸汽轮机的启动装置和启动方法
  • 一种织机的启动装置及其方法
  • 处理器启动方法、异构处理器系统及处理器启动装置
  • 发动机的降级启动方法、降级启动装置、处理器与车辆
技术分类

06120116215477