应用于片上控制系统的寻址方法、模块及片上控制系统技术方案

技术编号:24853033 阅读:22 留言:0更新日期:2020-07-10 19:07
本发明专利技术公开了应用于片上控制系统的寻址方法、模块及片上控制系统,片上控制系统包括中央处理器、控制程序处理器、存储器,中央处理器通过真实物理地址对存储器直接寻址,控制程序处理器通过逻辑地址的地址转换对存储器的指令地址空间或数据地址空间进行寻址,该寻址方法包括以下步骤:S1:接收控制程序中的待执行指令或待处理数据的逻辑地址,逻辑地址包括段号、段内偏移量;S2:根据段号查询预先存储的段表,获取起始物理地址;S3:根据段内偏移量与起始物理地址,获取实际物理地址,并根据实际物理地址对存储器进行访问。本发明专利技术解决了冯·诺依曼结构可能造成CPU、控制程序处理器对内存的信息流访问瓶颈的问题,提高了系统寻址效率与稳定性。

【技术实现步骤摘要】
应用于片上控制系统的寻址方法、模块及片上控制系统
本专利技术属于片上控制系统
,尤其涉及应用于片上控制系统的寻址方法、模块及片上控制系统。
技术介绍
目前的片上系统(SoC)的存储结构,通常分为冯·诺伊曼结构和哈佛结构。冯·诺依曼结构又称作普林斯顿体系结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。冯·诺依曼定义了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备)。为避免将程序和指令共同存储在存储器中,并共用同一条总线,使得CPU和内存的信息流访问存取成为系统的瓶颈,人们设计了哈佛结构,原则是将程序和指令分别存储在不同的存储器中,分别访问。如此设计克服了数据流传输瓶颈,提高了运算速度,但结构复杂,对外围设备的连接与处理要求高,不适合外围存储器的扩展,实现成本高,所以哈佛结构未能得到大范围的应用。但是作为冯式存储程序的改良手段,哈佛结构在CPU内的高速缓存Cache中得到了应用。通过设置指令缓存和数据缓存,指令和数据分开读取,提高了数据交换速度,极大克服了计算机的数据瓶颈。哈佛结构处理器有两个明显的特点:使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。对于控制器这样的嵌入式应用,其主控芯片(如ARM架构的芯片)通常采用的是冯·诺依曼结构。即控制指令和数据都存储在同一个存储器中,共享同位宽二进制表达的同一个地址空间,共用同一条片内总线。然而,在片上控制系统的设计中,不仅有CPU需要读取存储器,还有专用的控制程序处理器对控制程序进行读取和执行,仍然简单地沿用冯·诺依曼结构可能造成CPU、控制程序处理器对内存的信息流访问瓶颈,而直接改用哈佛结构,又难以适配目前已成熟的CPU和嵌入式系统设计。
技术实现思路
本专利技术为解决上述冯·诺依曼结构可能造成CPU、控制程序处理器对内存的信息流访问瓶颈的问题,提供了应用于片上控制系统的寻址方法、模块及片上控制系统。为解决上述问题,本专利技术的技术方案为:一种应用于片上控制系统的寻址方法,片上控制系统包括中央处理器、控制程序处理器、存储器,中央处理器通过真实物理地址对存储器直接寻址,存储器的部分地址空间被配置为存储指令段的指令地址空间与存储数据段的数据地址空间,控制程序处理器通过逻辑地址的地址转换对指令地址空间或数据地址空间进行寻址,包括以下步骤:S1:接收控制程序中的待执行指令或待处理数据的逻辑地址,逻辑地址包括段号、段内偏移量;S2:根据段号查询预先存储的段表,获取段表内段号对应的起始物理地址;S3:根据段内偏移量与起始物理地址,获取相对于起始物理地址偏移段内偏移量的实际物理地址,并根据实际物理地址对指令地址空间或数据地址空间进行访问。在其中一个实施例中,步骤S2进一步包括:S21:判断段号是否为初始段号,若是,则执行步骤S22,若否,则执行步骤S23,其中,初始段号为段表内的段基地址对应的段号,段基地址为段表内指令段段表或数据段段表起始位置的地址;S22:直接读取段基地址获取对应的起始物理地址;S23:根据段基地址与段号,获取相对于段基地址偏移段号对应的偏移量的段地址,并读取段地址获取对应的起始物理地址。在其中一个实施例中,步骤S1中,接收到控制程序中的待执行指令的逻辑地址之后还包括:检查逻辑地址是否已存储在指令缓存中,若是,则直接根据指令缓存中待执行指令对应的存储地址对指令缓存中的待执行指令进行取指,并跳过步骤S2至S3,若否,则执行步骤S2至S3将逻辑地址转换为实际物理地址进行取指。一种应用于片上控制系统的寻址模块,应用于片上控制系统的控制程序处理器对存储器的指令地址空间或数据地址空间进行寻址,包括:接收子模块,用于接收控制程序中的待执行指令或待处理数据的逻辑地址,逻辑地址包括段号、段内偏移量;地址转换子模块,地址转换子模块预先存储有存放各个指令段、数据段的起始物理地址的段表,地址转换子模块用于根据段号查询段表,获取段表内段号对应的起始物理地址,以及根据段内偏移量与起始物理地址,获取相对于起始物理地址偏移段内偏移量的实际物理地址;访问子模块,用于根据实际物理地址对指令地址空间或数据地址空间进行访问。在其中一个实施例中,地址转换子模块具体用于根据段号是否为初始段号获取起始物理地址:若是,则直接读取段表的段基地址获取对应的起始物理地址;若否,则根据段基地址与段号,获取相对于段基地址偏移段号对应的偏移量的段地址,并读取段地址获取对应的起始物理地址;其中,初始段号为段基地址对应的段号,段基地址为段表内指令段段表或数据段段表起始位置的地址。在其中一个实施例中,地址转换子模块设有段表基地址寄存器,用于存储与指示段表存储位置的段基地址。在其中一个实施例中,接收子模块设有段号寄存器、段内偏移寄存器,段号寄存器用于存储当前寻址的逻辑地址的段号,段内偏移寄存器用于存储当前寻址的逻辑地址的段内偏移量。在其中一个实施例中,接收子模块还用于检查待执行指令的逻辑地址是否已存储在指令缓存中,若是,则直接根据指令缓存中待执行指令对应的存储地址对指令缓存中的待执行指令进行取指,若否,则调用地址转换子模块将逻辑地址转换为实际物理地址进行取指。在其中一个实施例中,寻址模块为设于控制程序处理器内的模块或者为挂于片上控制系统的片内总线上的独立IP核。一种片上控制系统,包括中央处理器、控制程序处理器、存储器,以及如上述中任意一实施例的寻址模块,寻址模块设于控制程序处理器内或者作为挂于独立IP核挂于片上控制系统的片内总线上,中央处理器基于真实物理地址对存储器直接寻址,控制程序处理器基于逻辑地址经寻址模块对存储器的指令地址空间或数据地址空间进行寻址。本专利技术与现有技术相比具有以下的优点和积极效果:1)本专利技术将基于冯诺依曼结构的片上系统的部分地址空间转换为存储指令段的指令地址空间和存储数据段的数据地址空间,在此之下,不仅中央处理器可以对片上系统的存储器可以进行常规访问,而且控制程序处理器可以基于逻辑地址的地址转换对存储器的指令地址空间或数据地址空间进行高效寻址访问,如此,在中央处理器与专用控制程序处理器并存的片上系统中,即可以不影响中央处理器的冯式结构,又可以适配控制程序处理器的控制指令与数据并行的方法和结构,解决了冯·诺依曼结构可能造成中央处理器、控制程序处理器对内存的信息流访问瓶颈的问题,提高了系统的寻址效率与稳定性;2)本专利技术控制程序处理器寻址采用是逻辑地址而不是物理地址,当中央处理器对内存进行调整后,更新指令段段表和数据段段表就能完成逻辑地址与存储内容的重新映射,不会影响到控制程序处理器的寻址,如此,使得中央处理器本文档来自技高网
...

【技术保护点】
1.一种应用于片上控制系统的寻址方法,所述片上控制系统包括中央处理器、控制程序处理器、存储器,所述中央处理器通过真实物理地址对存储器直接寻址,其特征在于,所述存储器的部分地址空间被配置为存储指令段的指令地址空间与存储数据段的数据地址空间,所述控制程序处理器通过逻辑地址的地址转换对所述指令地址空间或所述数据地址空间进行寻址,包括以下步骤:/nS1:接收控制程序中的待执行指令或待处理数据的所述逻辑地址,所述逻辑地址包括段号、段内偏移量;/nS2:根据所述段号查询预先存储的段表,获取所述段表内所述段号对应的起始物理地址;/nS3:根据所述段内偏移量与所述起始物理地址,获取相对于所述起始物理地址偏移所述段内偏移量的实际物理地址,并根据所述实际物理地址对所述指令地址空间或所述数据地址空间进行访问。/n

【技术特征摘要】
1.一种应用于片上控制系统的寻址方法,所述片上控制系统包括中央处理器、控制程序处理器、存储器,所述中央处理器通过真实物理地址对存储器直接寻址,其特征在于,所述存储器的部分地址空间被配置为存储指令段的指令地址空间与存储数据段的数据地址空间,所述控制程序处理器通过逻辑地址的地址转换对所述指令地址空间或所述数据地址空间进行寻址,包括以下步骤:
S1:接收控制程序中的待执行指令或待处理数据的所述逻辑地址,所述逻辑地址包括段号、段内偏移量;
S2:根据所述段号查询预先存储的段表,获取所述段表内所述段号对应的起始物理地址;
S3:根据所述段内偏移量与所述起始物理地址,获取相对于所述起始物理地址偏移所述段内偏移量的实际物理地址,并根据所述实际物理地址对所述指令地址空间或所述数据地址空间进行访问。


2.根据权利要求1所述的应用于片上控制系统的地址转换方法,其特征在于,所述步骤S2进一步包括:
S21:判断所述段号是否为初始段号,若是,则执行步骤S22,若否,则执行步骤S23,其中,所述初始段号为所述段表内的段基地址对应的段号,所述段基地址为所述段表内指令段段表或数据段段表起始位置的地址;
S22:直接读取所述段基地址获取对应的所述起始物理地址;
S23:根据所述段基地址与所述段号,获取相对于所述段基地址偏移所述段号对应的偏移量的段地址,并读取所述段地址获取对应的所述起始物理地址。


3.根据权利要求2所述的应用于片上控制系统的地址转换方法,其特征在于,所述步骤S1中,所述接收到控制程序中的待执行指令的所述逻辑地址之后还包括:检查所述逻辑地址是否已存储在指令缓存中,若是,则直接根据指令缓存中待执行指令对应的存储地址对指令缓存中的待执行指令进行取指,并跳过所述步骤S2至S3,若否,则执行所述步骤S2至S3将所述逻辑地址转换为所述实际物理地址进行取指。


4.一种应用于片上控制系统的寻址模块,其特征在于,应用于片上控制系统的控制程序处理器对存储器的指令地址空间或数据地址空间进行寻址,包括:
接收子模块,用于接收控制程序中的待执行指令或待处理数据的逻辑地址,所述逻辑地址包括段号、段内偏移量;
地址转换子模块,所述地址转换子模块预先存储有存放各个指令段、数据段的起始物理地址的段表,地址转换子模块用于根据所述...

【专利技术属性】
技术研发人员:杨大胜唐艳丽来晓郑慧娴何超曹焱
申请(专利权)人:宁波中控微电子有限公司
类型:发明
国别省市:浙江;33

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

1