寄存器堆系统、方法及使用该寄存器堆的汽车控制处理器技术方案

技术编号:35826103 阅读:11 留言:0更新日期:2022-12-03 13:53
本发明专利技术公开了一种紧偶合寄存器堆系统,其包括,系统内存,用于暂时存放处理器中的运算数据,以及与硬盘外部储存器交换的数据;系统总线,电性耦合连接与加载和保存通路和系统内存之间;其特征在于,还包括整型寄存器堆I,通过加载和保存通路电性耦合进入系统总线并与系统内存进行数据交互,且与整型计算通路进行数据交互;整型寄存器堆X,与整型计算通路进行数据交互;或通过加载和保存通路电性耦合进入系统总线并与系统内存进行数据交互,且与整型计算通路进行数据进行交互。与现有技术相比,本发明专利技术创新地利用浮点和向量处理器的存储资源来增强整型处理器的性能,但是摒弃掉不需要的浮点和向量的计算通路,从而以更小的面积成本代价获得特定程序的加速性能。本代价获得特定程序的加速性能。本代价获得特定程序的加速性能。

【技术实现步骤摘要】
寄存器堆系统、方法及使用该寄存器堆的汽车控制处理器


[0001]本专利技术涉及汽车电子控制领域的
,尤其涉及一种寄存器堆系统和方法及使用该寄存器堆的控制器。

技术介绍

[0002]随着控制领域应用的需求发展,要求处理器提供越来越高的性能。尤其是在汽车电子控制领域,随着汽车电动化、智能化的发展,对控制算法提出更多的数值计算的需求和更高的运算性能需求。由于汽车尾气控制的要求,能耗的要求越来越高,需要对汽车的喷油、点火、废气排放的时机控制更加精准。由于汽车电动化和能量回收的需求,汽车需要感知的传感器数量增加,需要控制的执行单元数量也在增加。这些新的需求反映在计算程序上,就是它的工作集变大了。工作集是衡量计算机程序的一个量化指标,它指的是为了完成某一功能,程序执行时需要访问、中间缓存和最终存储的数据量。
[0003]如何提高整型计算能力是这一领域处理器设计的一个重点。处理器包括的主要硬件资源有计算资源、存储资源、通信资源等,通过对不同资源的配制可以有效提高对应应用领域的计算效率。根据距离计算资源的远近,存储资源分为流水线寄存器、寄存器堆、缓存、芯片内存储和芯片外存储。从以上资源调度为切入点,提高程序运行能力有很多种办法,本专利技术关注的是与计算资源紧偶合的寄存器堆的优化利用。
[0004]本专利技术适用于各种指令集处理器,是一种通用型的电路结构和软件方法。处理器指令集可以分为两个大的类型,复杂指令集处理器(CSIC)和精简指令集处理器(RISC)。前者的典型代表是X86,后者的典型代表是ARM和RISC

V。
[0005]本专利技术适用于各种汽车电子控制器,也适用于工业控制器和家用电器控制器等。

技术实现思路

[0006]为了提高控制处理器的运行性能和效率,已经有比较多的办法。传统上以增加运算资源,即运算指令和存储资源,即各级缓存为主,现概述如下:
[0007]1)为了提高某一类程序的性能,有针对性的增加特定的指令,利用已有的计算资源重新整合或者增加新的专门的计算资源来支持这些新的指令。DSP数据信号处理器和ASIP专用指令集处理器是基于这种方法设计的处理器。
[0008]2)为了解决数据搬移的问题,在计算资源和片外存储器之间设置多级缓存Cache。离计算资源越近的存储器,访问速度越快,性能越高,但是制造成本和功耗成本越高。离计算资源越远的存储器,访问速度越慢,性能越差,但是单位制造和功耗成本越低,通信成本高。人们利用这些特性,把经常使用的数据放在离计算资源近的存储器里边,获得成本和性能的平衡。
[0009]3)另外一种利用存储的机制是直接在芯片内部放置程序可以访问的存储器,一般叫作紧偶合存储器TCM,Tightly coupled memory。这种片上存储和缓存的区别是,片上存储是软件程序可以直接使用地址进行寻址的,而缓存的内容是硬件自动管理的,对软件是
透明的。
[0010]这些优化方法可以从不同的角度优化处理器的设计,对目标应用有很好的优化效果。但是它们都没有注意到处理器设计的一些新变化,如增加新的更靠进计算单元的专门的寄存器堆,如专门的浮点寄存器堆,向量寄存器堆等,另一方面,随着芯片内的晶体管密度增加,在芯片内部放置更多的专门的存储空间的成本也在降低。本专利技术针对汽车使用的控制芯片,增加专门用途的寄存器堆,并配合相关的指令,从而获得比缓存和紧偶合存储器TCM更好的性能,并针对一类新的存储器进行优化。这就是本专利技术要解决的问题。
[0011]为了提高整型程序的运行性能,增加处理器的工作集(working set)的临时保存能力,本专利技术为整型处理器增加了新的寄存器堆。这增加的两个新的寄存器堆分别为第二标量寄存器堆和可伸缩的寄存器堆。
[0012]为了解决上述的主要技术问题采取以下技术方案实现:
[0013]本专利技术的第一种形式:
[0014]紧偶合寄存器堆系统,其包括,
[0015]系统内存,用于暂时存放处理器中的运算数据,以及与硬盘外部储存器交换的数据;
[0016]系统总线,电性耦合连接与加载和保存通路和系统内存之间;
[0017]其特征在于,还包括
[0018]整型寄存器堆I,通过加载和保存通路电性耦合进入系统总线并与系统内存进行数据交互,且与整型计算通路进行数据交互;
[0019]整型寄存器堆X,与整型计算通路进行数据交互;这种方式整型寄存器堆X不直接访问系统内存,即不直接访问存储器。
[0020]或通过加载和保存通路电性耦合进入系统总线并与系统内存进行数据交互,且与整型计算通路进行数据进行交互。这种方式可以直接访问系统内存,即通过通路和总线直接访问存储器。
[0021]本专利技术的第二种形式,在第一种形式的基础上:
[0022]可伸缩寄存器堆V,与整型计算通路进行数据交互;
[0023]优先地,还包括可伸缩寄存器堆V,与整型计算通路进行数据交互;这种方式可伸缩寄存器堆V不直接访问系统内存,即不直接访问存储器;
[0024]或通过加载和保存通路电性耦合进入系统总线并与系统内存进行数据交互,且与整型计算通路进行数据交互,这种方式可以直接访问系统内存,即通过通路和总线直接访问存储器。
[0025]优先地,通过第一种和第二种形式,本申请为了使3者之间进行数据交换,进行了程序设定,所述整型寄存器堆I、整型寄存器堆X和可伸缩寄存器堆之间的数据交换方法如下:
[0026]1)设第一寄存器堆为I,则In为它的第n个寄存器,计第二寄存器堆为X,Xm为它的第m个寄存器;每个寄存器宽度为W,W典型的取值如8、16、32、64、128,寄存器堆I共有N个寄存器,寄存器堆X共有M个寄存器,设M=N;但M或者N的宽度为W可以具体为不同的数值,如15、16、31、32、48、63、64;
[0027]则实现MOVE In,Xm,即寄存器Xm的值拷贝到In;MOVE Xm,In,即把寄存器In的值拷
贝到Xm;
[0028]2)设内存为Memory,它的地址A可以存放一个字节,当地址A是对齐的时候,也可以表示2个字节,4个字节或8个字节,设在第一寄存器堆的第n个寄存器保存了地址A,也即,In=A;
[0029]则实现LOAD Xm,[In],即把以In(A)为地址的内存单元内的数据读取到第二标量寄存器堆的第m个寄存器Xm内;
[0030]STORE Xm,[In],即把第二标量寄存器堆的第m个寄存器Xm里的数据保存到以In(A)为地址的内存单元;
[0031]3)根据方法1)设可伸缩的寄存器堆为V,Vm为它的第m个寄存器,它的宽度W是第一标量寄存器宽度的整数倍,Vn[i],i=0,1,2

是这个寄存器第i个单元,它的宽度与一个标量寄存器的宽度相等,寄存器堆内寄存器的个数与第一标量寄存器堆内寄存器的个数相等,也为N;
[0032]则实现MOVE In,Xm[i],把寄存器Xm[i]的值拷贝到In本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.紧偶合寄存器堆系统,其包括,系统内存,用于暂时存放处理器中的运算数据,以及与硬盘外部储存器交换的数据;系统总线,电性耦合连接于加载和保存通路和系统内存之间;其特征在于,还包括整型寄存器堆I,通过加载和保存通路电性耦合进入系统总线并与系统内存进行数据交互,且与整型计算通路进行数据交互;第二整型寄存器堆X,与整型计算通路进行数据交互;或通过加载和保存通路电性耦合进入系统总线并与系统内存进行数据交互,且与整型计算通路进行数据进行交互。2.如权利要求1所述的紧偶合寄存器堆系统,其特征在于,还包括可伸缩寄存器堆V,与整型计算通路进行数据交互;或通过加载和保存通路电性耦合进入系统总线并与系统内存进行数据交互,且与整型计算通路进行数据交互。3.如权利要求1或2所述的紧偶合寄存器堆系统,其特征在于,所述整型寄存器堆I、第二整型寄存器堆X和可伸缩寄存器堆V之间的数据交换方法如下:1)设第一寄存器堆为I,则In为它的第n个寄存器,计第二寄存器堆为X,Xm为它的第m个寄存器;每个寄存器宽度为W,W典型的取值如8、16、32、64、128,寄存器堆I共有N个寄存器,寄存器堆X共有M个寄存器,设M=N;但M或者N的宽度为W可以具体为不同的数值,如15、16、31、32、48、63、64;则实现MOVE In,Xm,即寄存器Xm的值拷贝到In;MOVE Xm,In,即把寄存器In的值拷贝到Xm;2)设内存为Memory,它的地址A可以存放一个字节,当地址A是对齐的时候,也可以表示2个字节,4个字节或8个字节,设在第一寄存器堆的第n个寄存器保存了地址A,也即,In=A;则实现LOAD Xm,[In],即把以In(A)为地址的内存单元内的数据读取到第二标量寄存器堆X的第m个寄存器Xm内;STORE Xm,[In],即把第二标量寄存器堆的第m个寄存器Xm里的数据保存到以In(A)为地址的内存单元;3)根据方法1)设可伸缩的寄存器堆为V,Vm为它的第m个寄存器,它的宽度W是第一标量寄存器宽度的整数倍,Vn[i],i=0,1,2

是这个寄存器第i个单元,它的宽度与一个标量寄存器的宽度相等,寄存器堆内寄存器的个数与第一标量寄存器堆内寄存器的个数相等,也为N;则实现MOVE In,Xm[i],把寄存器Xm[i]的值拷贝到In;MOVE Xm[i],In,把寄存器In的值拷贝到Xm[i];4)根据方法2)可以得到:LOAD Xm[i],[In],即把以In(A)为地址的内存单元内的数据读取到第二标量寄存器堆的第m个寄存器Xm[i]内;STORE Xm[i],[In],即把第二标量寄存器堆的第m个寄存器Xm[i]里的数据保存到以In(A)为地址的内存单元。4.如权利要求3所述的紧偶合寄存器堆系统,其特征在于,还包括数据交换方法5),设
交换第一和第二寄存器堆的内容为SWAP I,X,即把I内寄存器堆的每个寄存器的数据拷贝到X寄存器堆的对应的寄存器内,同时,把X内寄存器堆的每个寄存器的数据拷贝到I寄存器堆的对应的寄存器内,过程如下:51)逐条交换I的每条寄存器的内容到X对应的寄存器,其中交换某一对寄存器的方法为,利用一个中间临时寄存器tmp,tmp<=In;In<=Xn;Xn<=tmp;或直接交换两个寄存器堆的名字:在该处理器内设有一个专门的体系结构寄存器IX,可以通过系统寄存器初始化,读取和改写该寄存器的值;当IX的值为0时,所有以In的名字访问的寄存器都访问真实的In;所有以Xn的名字访问的寄存器都访问真实的Xn;当IX的值为1时,所有以In的名字访问的寄存器都访问真实的Xn;所有以Xn的名字访问的寄存器都访问真实的In。5.如权利要求4所述的紧偶合寄存器堆系统,其特征在于,还包括数据交换方法6),本方法增加体系结构寄存器IV和XV,结构寄存器IV和XV与整型计算通路进行数据进行交互;或通过加载和保存通路电性耦合进入系统总线...

【专利技术属性】
技术研发人员:李晓武
申请(专利权)人:苏州发芯微电子有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1