一种寻址范围扩展方法和装置,及存储介质和电子设备与流程

文档序号:24872229发布日期:2021-04-30 12:44阅读:143来源:国知局
一种寻址范围扩展方法和装置,及存储介质和电子设备与流程

本发明涉及数据传输领域,特别涉及一种寻址范围扩展方法和装置,及存储介质和电子设备。



背景技术:

在现有sdio协议的标准下,协处理器只能访问存储器0-128kb空间,如果sdioslave支持csa,每个function只能最多扩展到16mb的地址空间进行寻址,如果协处理器芯片没有cpu,仅依靠主机,通过sdio无法进行大规模寻址。



技术实现要素:

(一)发明目的

本发明的目的是提供一种基于asic电路的能有效扩展寻址范围,提高寻址效率的寻址范围扩展方法和装置,及存储介质和电子设备。

(二)技术方案

为解决上述问题,本发明的第一方面提供一种寻址范围扩展方法,包括:获取预设数量的预留寄存器;将寻址基址存于预设数量的预留寄存器中;从存有所述寻址基址的所述预设数量的预留寄存器中,获取寻址基址以进行寻址。

可选地,所述获取预设数量的预留寄存器,包括:获取预留寄存器存储宽度;基于所述寻址基址的宽度和预留寄存器存储宽度,得到预设数量的预留寄存器。

可选地,所述预设数量至少为两个。

可选地,所述将寻址基址存于预设数量的预留寄存器中,包括:基于sdio协议的cmd52命令将寻址基址存于预设数量的预留寄存器中。

可选地,所述从存有所述寻址基址的所述预设数量的预留寄存器中,获取寻址基址以进行寻址,包括:基于sdio协议的cmd53命令从存有所述寻址基址的所述预设数量的预留寄存器中,获取寻址基址以进行数据传输。

可选地,所述基于sdio协议的cmd53命令从存有所述寻址基址的所述预设数量的预留寄存器中,获取寻址基址以进行数据传输,包括:修改cmd53命令中的获取寻址基址部分,使其从存有所述寻址基址的所述预设数量的预留寄存器进行读取。

可选地,所述获取预设数量的预留寄存器,包括:在cia寄存器中获取cmd53命令可传输的预设数量的fbr寄存器。

本发明的第二方面提供一种寻址范围扩展装置,包括:获取模块,用于获取预设数量的预留寄存器;存储模块,用于将寻址基址存于预设数量的预留寄存器中;传输模块,从存有所述寻址基址的所述预设数量的预留寄存器中,获取寻址基址以进行寻址。

本发明的第三方面提供一种存储介质,存储介质上存储有计算机程序,程序被处理器执行时实现如本发明第一方面提供的寻址范围扩展方法。

本发明的第四方面提供电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如本发明第一方面提供的寻址范围扩展方法。

(三)有益效果

本发明的上述技术方案具有如下有益的技术效果:

本发明通过获取预设数量的预留寄存器;将寻址基址存于预设数量的预留寄存器中;从存有所述寻址基址的所述预设数量的预留寄存器中,获取寻址基址以进行寻址,可大幅度扩展了sdio协议的寻址范围,使协处理器可以完全摆脱cpu,驱动完全在主机端实现,减少了驱动的复杂度,使得芯片结构简单清晰,并且兼容标准的sdio协议。

附图说明

图1是是本发明第一实施方式的寻址范围扩展方法的流程图;

图2是是本发明第二实施方式的寻址范围扩展装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

现有技术中因为sdio的从基地址范围有限,一般采取先搬移部分数据到sdio从基地址空间中,然后cpu介入把这部分数据搬走,sdio主机再搬移部分数据到sdio从机地址范围之中,然后cpu再介入把数据搬走,这样循环,直到所有数据传输完成,所以这个流程之中是必须有cpu介入,导致寻址范围小,速度慢。

下面先对本发明的术语进行解释

cia,即为commonioarea,是通用io区段,区段内有各种寄存器,寄存器地址依照标准规划。

fbr,即为functionbasicregisters,是基本功能寄存器,fbr寄存器的内部地址为00n0ch-00n0eh。其中,本发明的fbr寄存器为:fbr寄存器组中sdio标准预留给用户自定义寄存器部分。

第一实施方式

如图1所示,本实施方式提供了一种寻址范围扩展方法,包括:获取预设数量的预留寄存器;将寻址基址存于预设数量的预留寄存器中;从存有所述寻址基址的所述预设数量的预留寄存器中,获取寻址基址以进行寻址。本实施方式的方法可大幅度扩展了sdio协议的寻址范围,使协处理器可以完全摆脱cpu,驱动完全在主机端实现,减少了驱动的复杂度,使得芯片结构简单清晰,并且兼容标准的sdio协议。

在一可选实施例中,主机下寻址命令,协处理器接收命令后用于实现上述方法。

在一可选实施例中,所述获取预设数量的预留寄存器,包括:获取预留寄存器存储宽度;基于所述寻址基址的宽度和预留寄存器存储宽度,得到预设数量的预留寄存器。可选地,所述预设数量至少为两个。

在一可选实施例中,所述将寻址基址存于预设数量的预留寄存器中,包括:基于sdio协议的cmd52命令将寻址基址存于预设数量的预留寄存器中。以便于进行后续寻址。具体来说,需要多少预留寄存器就需要以cmd52命令搬运多少次。

在一可选实施例中,所述从存有所述寻址基址的所述预设数量的预留寄存器中,获取寻址基址以进行寻址,包括:基于sdio协议的cmd53命令从存有所述寻址基址的所述预设数量的预留寄存器中,获取寻址基址以进行数据传输。

在一可选实施例中,所述基于sdio协议的cmd53命令从存有所述寻址基址的所述预设数量的预留寄存器中,获取寻址基址以进行数据传输,包括:修改cmd53命令中的获取寻址基址部分,使其从存有所述寻址基址的所述预设数量的预留寄存器进行读取。

在一可选实施例中,所述获取预设数量的预留寄存器,包括:在cia寄存器中获取cmd53命令可传输的预设数量的fbr寄存器。其中fbr寄存器是cia寄存器的下属存储器。

在一具体实施中,需求是将寻址范围扩展至4gb,此时,需要32比特寻址基址,若是预留存储器的存储宽度为8比特,那么需要4个预留存储器,使用4次cmd52命令配置任意特定用户自定义fbr寄存器,该4个寄存器组成32比特寻址基址,然后使用cmd53命令对数据进行搬运,可以扩展cmd53命令的寻址范围至4gb。

在一具体实施中,在上一个实施例中,若是预留存储器的存储宽度为16比特,那么需要2个预留存储器,使用2次cmd52命令配置任意特定用户自定义fbr寄存器,该2个寄存器组成32比特寻址基址,然后使用cmd53命令对数据进行搬运,可以扩展cmd53命令的寻址范围至4gb。

第二实施方式

如图2所示,本发明的第二实施方式提供一种寻址范围扩展装置,包括:获取模块,用于获取预设数量的预留寄存器;存储模块,用于将寻址基址存于预设数量的预留寄存器中;传输模块,从存有所述寻址基址的所述预设数量的预留寄存器中,获取寻址基址以进行寻址。本实施方式的寻址范围扩展装置可大幅度扩展了sdio协议的寻址范围,使协处理器可以完全摆脱cpu,驱动完全在主机端实现,减少了驱动的复杂度,使得芯片结构简单清晰,并且兼容标准的sdio协议。

在一可选实施例中,主机下寻址命令,协处理器接收命令后用于实现上述方法。

在一可选实施例中,所述获取模块,包括:寄存器存储宽度获取单元,用于获取预留寄存器存储宽度;寄存器数量获取单元,用于基于所述寻址基址的宽度预留寄存器存储宽度,得到预设数量的预留寄存器。

在一可选实施例中,所述存储模块,包括:存储单元,用于基于sdio协议的cmd52命令将寻址基址存于预设数量的预留寄存器中,以便于进行后续寻址。

在一可选实施例中,所述传输模块,包括:传输单元,用于基于sdio协议的cmd53命令从存有所述寻址基址的所述预设数量的预留寄存器中,获取寻址基址以进行数据传输。

在一可选实施例中,所述传输单元,包括:cmd53命令传输单元,用于修改cmd53命令中的获取寻址基址部分,使其从存有所述寻址基址的所述预设数量的预留寄存器进行读取。

在一可选实施例中,所述获取模块,包括:寄存器获取单元,用于在cia寄存器中获取cmd53命令可传输的预设数量的fbr寄存器。其中fbr寄存器是cia寄存器的下属存储器。

本实施方式与第一实施方式相同的部分,不在多做赘述。

第三实施方式

本发明的第三实施方式提供一种存储介质,存储介质上存储有计算机程序,程序被处理器执行时实现如本发明第一实施方式提供的寻址范围扩展方法。本实施方式与第一实施方式相同的部分,不在多做赘述。

第四实施方式

本发明的第四实施方式提供电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如本发明第一实施方式提供的寻址范围扩展方法。本实施方式与第一实施方式相同的部分,不在多做赘述。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1