一种新型的CPU加载方法与流程

    专利2022-07-08  80


    本发明涉及程序控制设计技术领域,具体涉及一种新型的cpu加载方法。



    背景技术:

    星载cpu软件功能复杂,程序规模较大,编译器生成的加载数据数据量巨大,而cpu加载数据需要存储在抗辐射性能强的prom中,cpu加载时,外围硬件控制cpu复位,cpu在复位信号撤销后自动从prom中读取加载程序至内存中运行。cpu加载过程如下:当cpu的有效复位信号撤销后,cpu从0地址(prom)读取指令,0地址存放cpu的引导程序,其依次完成的任务是1)对寄存器初始化;2)将应用程序从prom搬移到内存中;3)控制程序跳转到内存中运行。对寄存器的初始化和控制程序跳转到内存中运行的指令一般采用顺序结构,而将应用程序从prom搬移到内存的指令一般采用循环结构,获取循环结构的指令序列,需要对prom的某段地址进行循环寻址。

    因此,为了满足循环寻址的需求,通常要求存储cpu加载数据的prom带有寻址功能且数据位宽与cpu数据总线位宽必须匹配,目前国内满足上述条件的抗辐射prom容量比较小,使用时需多片prom组合使用,硬件成本较高,pcb布线难度较大,亟需一种加载方案,在满足星载cpu加载数据容量要求的前提下,能够克服不能循环寻址的弊端。



    技术实现要素:

    本发明是为了解决现有抗辐射只读存储器容量不足的缺点,提供一种使用大容量prom作为星载cpu加载存储器,通过fpga辅助实现星载cpu循环寻址的方法,该方案中的prom无地址总线,数据总线为8位,硬件连接简单,可降低pcb布线难度及硬件成本,fpga控制星载cpu的加载过程。

    本发明提供一种新型的cpu加载方法,包括如下步骤:

    s1、烧录:将编译器生成的cpu加载数据转换成prom烧录文件格式,并烧录进prom;

    s2、连接:将prom挂载在fpga上,并将fpga与cpu连接;

    s3、预读取:fpga预读取cpu引导程序并加载至fpga的内部缓冲区备用;

    s4、复位:fpga控制cpu复位信号将cpu复位;

    s5、cpu加载:cpu发出读取指令控制信号;fpga识别读取指令控制信号并按照读取指令控制信号的取指地址从fpga的内部缓存区或prom读取cpu加载数据发送至cpu数据总线;直至所有cpu加载数据读取完毕,cpu加载完毕。

    本发明所述的一种新型的cpu加载方法,作为优选方式,引导程序是取指范围cpu加载数据中不按地址规律递增的取指地址范围。

    本发明所述的一种新型的cpu加载方法,作为优选方式,包括如下步骤:

    s1、烧录:将编译器生成的cpu加载数据转换成prom烧录文件格式,并烧录进prom;

    s2、连接:将prom挂载在fpga上,并将fpga与cpu连接;

    s3、预读取:fpga预读取cpu引导程序并加载至fpga的内部缓冲区备用;

    s4、复位:fpga控制cpu复位信号将cpu复位;

    s5、cpu加载:cpu发出读取指令控制信号;fpga识别读取指令控制信号;当读取指令控制信号的取指范围小于或等于引导程序大小时,将fpga内部缓冲区的数据发送至cpu数据总线;当读取指令控制信号的取指范围大于引导程序大小时,直接从prom依次读取cpu加载数据拼接成数据总线的位宽后发送至数据总线;直至所有cpu加载数据读取完毕,cpu加载完毕。

    本发明所述的一种新型的cpu加载方法,作为优选方式,步骤s1prom是大容量prom。

    本发明所述的一种新型的cpu加载方法,作为优选方式,步骤s1prom是无地址总线。

    本发明所述的一种新型的cpu加载方法,作为优选方式,步骤s3中,引导程序大小为80kb且缓存至fpga。

    本发明所述的一种新型的cpu加载方法,作为优选方式,步骤s3中,fpga内部缓冲区是fpga的ram。

    本发明所述的一种新型的cpu加载方法,作为优选方式,包括如下步骤:

    s1、烧录:将编译器生成的cpu加载数据转换成prom烧录文件格式,并烧录进prom;

    s2、连接:将prom挂载在fpga上,并将fpga与cpu连接;

    s3、预读取:fpga预读取cpu引导程序并加载至fpga的内部缓冲区备用;

    s4、复位:fpga控制cpu复位信号将cpu复位;cpu复位后,撤销复位;

    s5、cpu加载:cpu发出读取指令控制信号;fpga识别读取指令控制信号;当读取指令控制信号的取指范围小于或等于引导程序大小时,将fpga内部缓冲区的数据发送至cpu数据总线;当读取指令控制信号的取指范围大于引导程序大小时,直接从prom依次读取cpu加载数据拼接成数据总线的位宽后发送至数据总线;直至所有cpu加载数据读取完毕,cpu加载完毕。

    本发明所述的一种新型的cpu加载方法,作为优选方式,包括如下步骤:

    s1、烧录:将编译器生成的cpu加载数据转换成prom的烧录文件格式,并烧录进prom;

    s2、连接:将prom挂载在fpga上,并将fpga与cpu连接;

    s3、预读取:fpga预读取cpu加载数据中的引导程序并加载至fpga的内部缓冲区备用;

    s4、复位:fpga控制cpu复位信号将cpu复位;cpu复位后,撤销复位;

    s5、cpu加载:cpu自动发出读取指令控制信号;fpga识别读取指令控制信号;当读取指令控制信号的取指范围小于或等于引导程序大小时,将fpga内部缓冲区的cpu加载数据发送至cpu数据总线;当读取指令控制信号的取指范围大于引导程序大小时,直接从prom依次读取cpu加载数据拼接成数据总线的位宽后发送至数据总线;直至所有cpu加载数据读取完毕,cpu加载完毕。

    本发明所述的一种新型的cpu加载方法,作为优选方式,步骤s5中,从prom依次读取cpu加载数据的大小为8比特。

    本发明所述的一种新型的cpu加载方法,作为优选方式,步骤s5中,数据总线为40位双向数据总线。

    具体步骤如下:

    将编译器生成的cpu加载数据(指令)转换成大容量prom的烧录文件格式,并烧录rpom;

    fpga预读取cpu引导程序加载数据至fpga内部缓冲区备用;

    fpga控制cpu复位信号,复位cpu;

    fpga识别cpu取指操作,按照cpu取指地址从内部缓存或prom读取加载数据发送至cpu数据总线。将cpu取指地址映射到引导程序缓存ram的读地址端口,当访问取指范围小于引导程序大小时选择ram的数据发送至cpu数据总线,否则直接从prom依次读取5字节数据拼接成40比特发送至cpu总线

    本发明与现有技术相比的优点在于:

    充分利用prom大容量优势,将cpu加载所需要的数据存储在prom中;

    充分利用了加载时cpu取指特点,cpu取指时具有一定的规律,从取指地址范围看,包括按地址递增顺序访问和不按地址递增顺序访问2类,其不按地址顺序递增访问的部分为cpu加载引导程序,在加载期间多次重复访问,按地址顺序递增访问的部分则在加载期间只访问一次,可将引导程序预先存储到fpga的ram中,并将cpu取指地址映射到fpga内部ram读地址,实现引导程序寻址访问,而非引导程序的部分则直接从prom读取5字节数据拼接成40比特发送至cpu总线。

    本发明提供系统,包括:

    本发明具有以下优点:

    (1)充分利用prom大容量优势,将cpu加载所需要的数据存储在prom中;

    (2)充分利用了加载时cpu取指特点,cpu取指时具有一定的规律,从取指地址范围看,包括按地址递增顺序访问和不按地址递增顺序访问2类,其不按地址顺序递增访问的部分为cpu加载引导程序,在加载期间多次重复访问,按地址顺序递增访问的部分则在加载期间只访问一次,可将引导程序预先存储到fpga的ram中,并将cpu取指地址映射到fpga内部ram读地址,实现引导程序寻址访问,而非引导程序的部分则直接从prom读取5字节数据拼接成40比特发送至cpu总线。

    附图说明

    图1为一种新型的cpu加载方法流程图;

    图2为一种新型的cpu加载方法基于大容量prom的cpu加载电路结构图;

    图3为一种新型的cpu加载方法prom中cpu加载数据储存结构图。

    具体实施方式

    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

    实施例1

    如图1-2所示,一种新型的cpu加载方法,其特征在于:包括如下步骤:

    s1、烧录:将编译器生成的cpu加载数据转换成prom烧录文件格式,并烧录进prom;prom是大容量prom;

    s2、连接:将prom挂载在fpga上,并将fpga与cpu连接;

    s3、预读取:fpga预读取cpu引导程序并加载至fpga的内部缓冲区备用;

    s4、复位:fpga控制cpu复位信号将cpu复位;

    s5、cpu加载:cpu发出读取指令控制信号;fpga识别读取指令控制信号并按照读取指令控制信号的取指地址从fpga的内部缓存区或prom读取cpu加载数据发送至cpu数据总线;直至所有cpu加载数据读取完毕,cpu加载完毕。

    实施例2

    如图1-3所示,一种新型的cpu加载方法,其特征在于:包括如下步骤:

    s1、烧录:将编译器生成的cpu加载数据转换成prom烧录文件格式,并烧录进prom;prom是无地址总线;

    s2、连接:将prom挂载在fpga上,并将fpga与cpu连接;s3、预读取:fpga预读取cpu引导程序并加载至fpga的内部缓冲区备用;引导程序取指范围是cpu加载数据中不按地址规律递增的取指地址范围;引导程序大小为80kb且暂存至pgfa;fpga内部缓冲区是fpga的ram;

    s4、复位:fpga控制cpu复位信号将cpu复位;cpu复位后,撤销复位;

    s5、cpu加载:cpu自动发出读取指令控制信号;fpga识别读取指令控制信号;当读取指令控制信号的取指范围小于或等于引导程序大小时,将fpga内部缓冲区的数据发送至cpu数据总线;当读取指令控制信号的取指范围大于引导程序大小时,直接从prom依次读取cpu加载数据拼接成数据总线的位宽后发送至数据总线;直至所有cpu加载数据读取完毕,cpu加载完毕。

    实施例3

    如图1-3所示,一种新型的cpu加载方法,充分利用cpu加载时的取指特点,cpu加载过程取指具有一定的规律,从取指地址范围看,分为按地址递增和不按地址递增两部分,其不按地址递增访问的部分位于引导程序范围内(程序开始的80kb),并在加载期间多次重复访问,按地址递增访问的部分则在加载期间只访问一次,可将不按顺序访问的部分存储到fpga的ram中,并将cpu取指地址映射到ram,实现80kb范围内的寻址。

    下面结合附图和具体实施例对本发明作进一步详细的描述:

    (1)将cpu软件编译器编译生成的二进制文件转换成prom烧录所需的mcs文件格式,将该文件烧录到prom中;

    (2)fpga预读取prom中80kb数据,存储到内部ram备用;

    (3)fpga控制cpu的复位信号,有效复位cpu,之后撤销复位;

    (4)撤销复位后,cpu自动发出取指控制信号,cpu间断性重复读取80kb范围内的数据,并按顺序间断性读取大于80kb范围的数据,fpga监测cpu活动,当取指范围小于80kb时,则按地址将内部预先缓存的数据从ram中读出发送给cpu,当取指范围大于80kb时,则按顺序将外部prom中的数据读出来发送给cpu,直至cpu将所有加载数据读取到内存,加载过程完毕。

    本发明设计的prom容量为16mb,是一种专门为fpga加载设计的只读存储器,外部电路简单,容量扩展方便,不支持按地址访问。

    本发明涉及的电路结构如图2所示,其中复位信号由fpga产生,控制cpu复位,地址总线由cpu产生,通知fpga取数据地址。40位双向数据总线用于传输fpga发送给cpu的加载数据。cpu控制信号由cpu产生,用于fpga识别cpu取数据动作,prom控制信号由fpga产生,用于fpga控制prom。8比特数据用于传输prom数据至fpga。fpga将从prom读取的8比特数据拼接成cpu需要的40比特数据。整个加载过程fpga只需要缓存少量数据,大部分数据从prom读取直接发送至cpu。本发明正是基于cpu取加载数据的特点及prom特点cpu加载电路及流程进行设计,解决了抗辐射prom容量限制难题。

    以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。


    技术特征:

    1.一种新型的cpu加载方法,其特征在于:包括如下步骤:

    s1、烧录:将编译器生成的cpu加载数据转换成prom烧录文件格式,并烧录进所述prom;

    s2、连接:将所述prom挂载在fpga上,并将所述fpga与cpu连接;

    s3、预读取:所述fpga预读取所述cpu引导程序并加载至所述fpga的内部缓冲区备用;

    s4、复位:所述fpga控制cpu复位信号将所述cpu复位;

    s5、cpu加载:所述cpu发出读取指令控制信号;所述fpga识别所述读取指令控制信号并按照所述读取指令控制信号的取指地址从所述fpga的内部缓存区或所述prom读取所述cpu加载数据发送至所述cpu数据总线;直至所有所述cpu加载数据读取完毕,所述cpu加载完毕。

    2.根据权利1所述的一种新型的cpu加载方法,其特征在于:所述引导程序取指地址范围是所述cpu加载数据中不按地址规律递增的取指地址范围。

    3.根据权利2所述的一种新型的cpu加载方法,其特征在于:包括如下步骤:

    s1、烧录:将编译器生成的所述cpu加载数据转换成所述prom烧录文件格式,并烧录进所述prom;

    s2、连接:将所述prom挂载在所述fpga上,并将所述fpga与所述cpu连接;

    s3、预读取:所述fpga预读取所述cpu引导程序并加载至所述fpga的内部缓冲区备用;

    s4、复位:所述fpga控制所述cpu复位信号将所述cpu复位;

    s5、cpu加载:所述cpu发出所述读取指令控制信号;所述fpga识别所述读取指令控制信号;当所述读取指令控制信号的取指范围小于或等于所述引导程序大小时,将所述fpga内部缓冲区的数据发送至所述cpu数据总线;当所述读取指令控制信号的取指范围大于所述引导程序大小时,直接从所述prom依次读取所述cpu加载数据拼接成所述数据总线的位宽后发送至所述数据总线;直至所有所述cpu加载数据读取完毕,所述cpu加载完毕。

    4.根据权利1所述的一种新型的cpu加载方法,其特征在于:步骤s1所述prom是无地址总线。

    5.根据权利1所述的一种新型的cpu加载方法,其特征在于:步骤s3中,所述引导程序大小为80kb且暂存至所述fpga。

    6.根据权利1所述的一种新型的cpu加载方法,其特征在于:步骤s3中,所述fpga内部缓冲区是所述fpga的ram。

    7.根据权利3所述的一种新型的cpu加载方法,其特征在于:包括如下步骤:

    s1、烧录:将编译器生成的所述cpu加载数据转换成所述prom烧录文件格式,并烧录进所述prom;

    s2、连接:将所述prom挂载在所述fpga上,并将所述fpga与所述cpu连接;

    s3、预读取:所述fpga预读取所述cpu引导程序并加载至所述fpga的内部缓冲区备用;

    s4、复位:所述fpga控制所述cpu复位信号将所述cpu复位;所述cpu复位后,撤销复位;

    s5、cpu加载:所述cpu发出读取指令控制信号;所述fpga识别所述读取指令控制信号;当所述读取指令控制信号的取指范围小于或等于所述引导程序大小时,将所述fpga内部缓冲区的数据发送至所述cpu数据总线;当所述读取指令控制信号的取指范围大于所述引导程序大小时,直接从所述prom依次读取所述cpu加载数据拼接成所述数据总线的位宽后发送至所述数据总线;直至所有所述cpu加载数据读取完毕,所述cpu加载完毕。

    8.根据权利3所述的一种新型的cpu加载方法,其特征在于:包括如下步骤:

    s1、烧录:将编译器生成的所述cpu加载数据转换成所述prom的烧录文件格式,并烧录进所述prom;

    s2、连接:将所述prom挂载在所述fpga上,并将所述fpga与所述cpu连接;

    s3、预读取:所述fpga预读取所述cpu加载数据中的引导程序并加载至所述fpga的内部缓冲区备用;

    s4、复位:所述fpga控制所述cpu复位信号将所述cpu复位;所述cpu复位后,撤销复位;

    s5、cpu加载:所述cpu自动发出读取指令控制信号;所述fpga识别所述读取指令控制信号;当所述读取指令控制信号的取指范围小于或等于所述引导程序大小时,将所述fpga内部缓冲区的所述cpu加载数据发送至所述cpu数据总线;当所述读取指令控制信号的取指范围大于所述引导程序大小时,直接从所述prom依次读取所述cpu加载数据拼接成所述数据总线的位宽后发送至所述数据总线;直至所有所述cpu加载数据读取完毕,所述cpu加载完毕。

    9.根据权利3所述的一种新型的cpu加载方法,其特征在于:步骤s5中,从所述prom依次读取所述cpu加载数据的大小为8比特。

    10.根据权利3所述的一种新型的cpu加载方法,其特征在于:步骤s5中,所述数据总线为40位双向数据总线。

    技术总结
    本发明提供一种新型的CPU加载方法,将编译器生成的CPU加载数据转换成PROM烧录文件格式,并烧录进PROM;将PROM挂载在FPGA上,并将FPGA与CPU连接;FPGA预读取CPU引导程序并加载至FPGA的内部缓冲区备用;FPGA控制CPU复位信号将CPU复位;CPU发出读取指令控制信号;FPGA识别读取指令控制信号并按照读取指令控制信号的取指地址从FPGA的内部缓存区或PROM读取CPU加载数据发送至CPU数据总线;直至所有CPU加载数据读取完毕,CPU加载完毕。本发明是为了解决现有抗辐射只读存储器容量不足的缺点,提供一种使用大容量PROM作为星载CPU加载存储器,通过FPGA辅助实现星载CPU循环寻址的方法,该方案中的PROM无地址总线,数据总线为8位,硬件连接简单,可降低PCB布线难度及硬件成本,FPGA控制星载CPU的加载过程。

    技术研发人员:殷彦浩;陈庚;卫荣荣;马荣;李鑫;余显勇
    受保护的技术使用者:北京遥测技术研究所;航天长征火箭技术有限公司;上海卫星工程研究所
    技术研发日:2020.11.04
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-23202.html

    最新回复(0)