CN104809079B - 分页寄存器的访问方法和装置 - Google Patents
分页寄存器的访问方法和装置 Download PDFInfo
- Publication number
- CN104809079B CN104809079B CN201510175439.2A CN201510175439A CN104809079B CN 104809079 B CN104809079 B CN 104809079B CN 201510175439 A CN201510175439 A CN 201510175439A CN 104809079 B CN104809079 B CN 104809079B
- Authority
- CN
- China
- Prior art keywords
- page
- register
- address
- accessed
- home
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种分页寄存器的访问方法和装置。分页寄存器包括页地址寄存器和数据寄存器,数据寄存器划分为两个以上寄存器页,页地址寄存器用于存储被访问寄存器页的页标识,数据寄存器采用内部地址进行寻址,内部地址包括寄存器页的页标识和数据寄存器的外部地址,该方法包括:接收页地址寄存器的外部地址,根据页地址寄存器的外部地址访问页地址寄存器,读取被访问寄存器页的页标识;接收被访问数据寄存器的外部地址,生成被访问数据寄存器的内部地址,根据被访问数据寄存器的内部地址访问寄存器页。本发明可以实现当地址总线的宽度一定时,即使访问的寄存器的个数大于能够分配的地址空间范围,实现对所有寄存器进行访问。
Description
技术领域
本发明涉及寄存器领域,尤其涉及一种分页寄存器的访问方法和装置。
背景技术
当前,在系统级芯片(System On Chip,简称:SOC)的设计当中,基本上都会使用寄存器列表(register file),寄存器列表一般用来存储软件对硬件的控制信号以及一些状态信号。
在寄存器列表中,会为每个寄存器分配一个地址,然后通过通信接口访问该地址来实现对寄存器的访问,从而实现对寄存器的读写等操作。在为寄存器进行地址分配的时候,地址空间范围一般由地址总线的宽度决定,当地址总线的宽度一定时,也就意味着地址空间范围已经定了,也就是说能够访问的寄存器的个数已经定了。假设地址总线宽度为n,可以得到地址空间的范围为0x0h~0x(2n)h,则总共可以访问2n个寄存器。例如:通信接口上传输的地址宽度为4-bit,地址空间的范围为0x0h~0xFh,那么总共可以访问16个寄存器。
但是,当地址总线的宽度一定时,若访问的寄存器的个数大于能够分配的地址空间范围,如何对寄存器进行访问成为一个问题。
发明内容
本发明提供一种分页寄存器的访问方法和装置,用以实现当地址总线的宽度一定时,即使访问的寄存器的个数大于能够分配的地址空间范围,实现对所有寄存器进行访问。
本发明提供一种分页寄存器的访问方法,所述分页寄存器包括页地址寄存器和数据寄存器,所述数据寄存器划分为两个以上寄存器页,所述页地址寄存器用于存储被访问寄存器页的页标识,所述数据寄存器采用内部地址进行寻址,所述内部地址包括所述寄存器页的页标识和所述数据寄存器的外部地址,所述方法包括:
接收所述页地址寄存器的外部地址,根据所述页地址寄存器的外部地址访问所述页地址寄存器,将所述被访问寄存器页的页标识写入页地址寄存器,并读取该所述被访问寄存器的页标识;
接收被访问数据寄存器的外部地址,生成所述被访问数据寄存器的内部地址,其中,所述被访问数据寄存器的内部地址包括所述被访问数据寄存器的外部地址和所述被访问寄存器页的页标识,根据所述被访问数据寄存器的内部地址访问所述寄存器页。
本发明还提供一种分页寄存器的访问装置,所述分页寄存器页包括页地址寄存器和数据寄存器,所述数据寄存器划分为两个以上寄存器页,所述页地址寄存器用于存储被访问寄存器页的页标识,所述数据寄存器采用内部地址进行寻址,所述内部地址包括所述寄存器页的页标识和所述数据寄存器的外部地址,所述装置包括:
页标识访问模块,用于接收所述页地址寄存器的外部地址,根据所述页地址寄存器的外部地址访问所述页地址寄存器,将所述被访问寄存器页的页标识写入页地址寄存器,并读取该所述被访问寄存器页的页标识;
数据访问模块,用于接收被访问数据寄存器的外部地址,生成所述被访问数据寄存器的内部地址,其中,所述被访问数据寄存器的内部地址包括所述被访问数据寄存器的外部地址和所述被访问寄存器页的页标识,根据所述被访问数据寄存器的内部地址访问所述寄存器页,。
在本发明实施例中,将寄存器分为页地址寄存器和数据寄存器,再将数据寄存器划分为两个以上寄存器页,页地址寄存器保存被访问寄存器页的页标识,当访问寄存器时,页标识访问模块首先访问页地址寄存器,从页地址寄存器中读取被访问寄存器页的页标识,然后数据访问模块根据总线传输的被访问数据寄存器的外部地址和被访问寄存器页的页标识生成被访问数据寄存器的内部地址,再根据该内部地址访问寄存器页,由于将外部地址扩展为内部地址,而内部地址的宽度大于外部地址的宽度,这样当外部的地址总线的宽度一定时,通过扩展后的内部地址访问寄存器页,就可以增加能够分配的地址空间范围,实现对所有寄存器进行访问。
附图说明
图1为本发明分页寄存器的访问装置实施例中分页寄存器的结构示意图;
图2为本发明分页寄存器的访问装置实施例的结构示意图;
图3为本发明分页寄存器的访问方法实施例的流程示意图;
图4为本发明分页寄存器的访问装置实施例中一个分页寄存器实例的结构示意图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明作进一步的描述。
分页寄存器的访问装置实施例
在本实施例中,如图1所示,为本发明分页寄存器的访问装置实施例中分页寄存器的结构示意图,该分页寄存器可以包括页地址寄存器11和数据寄存器12,数据寄存器12划分为两个以上寄存器页121、122……12n,其中,n为大于或等于2的自然数,页地址寄存器11用于存储被访问寄存器页的页标识,数据寄存器12用于存储数据,数据寄存器12采用内部地址进行寻址,该内部地址包括寄存器页的页标识和数据寄存器的外部地址,该外部地址为地址总线上传输的地址。
如图2所示,为本发明分页寄存器的访问装置实施例的结构示意图,该装置可以包括页标识访问模块21和数据访问模块22。其中,页标识访问模块21用于接收页地址寄存器的外部地址,根据页地址寄存器的外部地址访问页地址寄存器,读取被访问寄存器页的页标识;数据访问模块22用于接收被访问数据寄存器的外部地址,生成被访问数据寄存器的内部地址,根据被访问数据寄存器的内部地址访问寄存器页,其中,被访问数据寄存器的内部地址包括被访问数据寄存器的外部地址和被访问寄存器页的页标识。
本实施例的工作过程如下:如图3所示,为本发明分页寄存器的访问方法实施例的流程示意图,可以包括如下步骤:
步骤31、页标识访问模块21接收页地址寄存器的外部地址,根据页地址寄存器的外部地址访问页地址寄存器,读取被访问寄存器页的页标识;
步骤32、数据访问模块22接收被访问数据寄存器的外部地址,生成被访问数据寄存器的内部地址,根据被访问数据寄存器的内部地址访问寄存器页;
其中,被访问数据寄存器的内部地址包括被访问数据寄存器的外部地址和被访问寄存器页的页标识,内部地址的宽度大于外部地址的宽度。访问寄存器页具体可以为将数据从寄存器页中读出或将数据写入寄存器页。
在本实施例中,将寄存器分为页地址寄存器和数据寄存器,再将数据寄存器划分为两个以上寄存器页,页地址寄存器保存被访问寄存器页的页标识,当访问寄存器时,页标识访问模块21首先访问页地址寄存器,从页地址寄存器中读取被访问寄存器页的页标识,然后数据访问模块22根据总线传输的被访问数据寄存器的外部地址和被访问寄存器页的页标识生成被访问数据寄存器的内部地址,再根据该内部地址访问寄存器页,由于将外部地址扩展为内部地址,而内部地址的宽度大于外部地址的宽度,这样当外部的地址总线的宽度一定时,通过扩展后的内部地址访问寄存器页,就可以增加能够分配的地址空间范围,实现对所有寄存器进行访问。
可选地,为了修改被访问寄存器页的页标识以便改变访问的寄存器页,页标识访问模块21还可以用于接收页地址寄存器的外部地址,根据页地址寄存器的外部地址访问页地址寄存器,将被访问寄存器页的页标识写入页地址寄存器。相应地,在图3所示流程示意图中,还可以包括如下步骤:
步骤33:页标识访问模块21接收页地址寄存器的外部地址,根据页地址寄存器的外部地址访问页地址寄存器,将被访问寄存器页的页标识写入页地址寄存器;
这样,就可以随时修改被访问寄存器页的页标识,从而改变被访问的寄存器页。
可选地,页地址寄存器可以采用外部地址直接进行寻址,与数据寄存器采用内部地址进行寻址的方式不同。页标识访问模块21接收页地址寄存器的外部地址,直接根据页地址寄存器的外部地址访问页地址寄存器,读取被访问寄存器页的页标识或者将被访问寄存器页的页标识写入页地址寄存器。
可选地,页地址寄存器还可以采用内部地址进行寻址,与数据寄存器采用内部地址进行寻址的方式相同。页标识访问模块21根据页地址寄存器的外部地址,生成页地址寄存器的内部地址,根据页地址寄存器的内部地址,访问分页寄存器,读取被访问寄存器页的页标识或者将被访问寄存器页的页标识写入页地址寄存器,其中,页地址寄存器的内部地址包括被访问寄存器页的页标识和页地址寄存器的外部地址。
可选地,参见图1所示结构示意图,页地址寄存器11的数量可以为两个以上,即页地址寄存器111、112……11n,并且两个以上页地址寄存器111、112……11n与两个以上寄存器页121、122……12n一一对应,两个以上页地址寄存器111、112……11n共享相同的物理空间,此时,可以采用内部地址或外部地址对页地址寄存器进行寻址。
可选地,页地址寄存器11的数量可以为一个,该页地址寄存器可以配置在任何1个寄存器页中或与两个以上寄存器页121、122……12n是独立的。当该页地址寄存器配置在寄存器页中时,可以采用内部地址或外部地址对页地址寄存器进行寻址。当该页地址寄存器独立时,可以采用外部地址对页地址寄存器进行寻址。
下面通过实例详细说明本实施例。如图4所示,为本发明分页寄存器的访问装置实施例中一个分页寄存器实例的结构示意图,该分页寄存器包括两个寄存器页:PAGE0和PAGE1,两个页地址寄存器分别配置在每个寄存器页中,这两个页地址寄存器共享相同的物理空间,页地址寄存器采用外部地址进行寻址,数据寄存器采用内部地址进行寻址,地址总线的位宽为7-bit,这样,外部地址addr_smp[0:6]的位宽也为7-bit。由于寄存器数量多,7-bit位宽的外部地址已不能满足需求。所以,在寄存器列表里有一个外部地址为0x00的寄存器—reg_page_num[7:0],用来存储被访问寄存器页的页标识,该寄存器的数据的最低位reg_page_num[0]则表明被访问寄存器页的页标识。页标识访问模块21通过外部地址访问页地址寄存器,读取被访问寄存器页的页标识reg_page_num[0],然后数据访问模块22接收被访问数据寄存器的外部地址addr_smp[0:6],将该被访问寄存器页的页标识reg_page_num[0]添加到原本的外部地址addr_smp[6:0]前面,从而将7-bit位宽的外部地址扩展为8-bit位宽的内部地址addr[7:0],内部地址的最高位addr[7]作为被访问寄存器页的页标识,用来区别访问哪一个的寄存器页,数据访问模块22通过多路选择器将该内部地址addr[7:0]发送给两个以上寄存器页进行寻址,实现对两个寄存器页进行访问,完成读取或写入操作。若被访问数据寄存器位于寄存器页PAGE0,则8位内部地址为A00-A07,若被访问数据寄存器位于寄存器页PAGE1,则8位内部地址A10-A17,通过多路选择器MUX将被访问数据寄存器的8位内部地址addr[0:7]发送给内部模块。此外,对reg_page_num的最高位进行改写,就可以对寄存器页进行翻页,访问另一个寄存器页。
需要说明的是,被访问寄存器页的页标识的位宽与寄存器页的数量相关,至少需要将不同的寄存器页区分开。例如,在图4所示实例中,当寄存器页的数量为3页或4页时,为了区分不用的寄存器页,被访问寄存器页的页标识的位宽需要为2-bit。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种分页寄存器的访问方法,其特征在于,所述分页寄存器包括页地址寄存器和数据寄存器,所述数据寄存器划分为两个以上寄存器页,所述页地址寄存器用于存储被访问寄存器页的页标识,所述数据寄存器采用内部地址进行寻址,所述内部地址包括所述寄存器页的页标识和所述数据寄存器的外部地址,所述方法包括:
接收所述页地址寄存器的外部地址,根据所述页地址寄存器的外部地址访问所述页地址寄存器,将所述被访问寄存器页的页标识写入页地址寄存器,并读取该所述被访问寄存器页的页标识;
接收被访问数据寄存器的外部地址,生成所述被访问数据寄存器的内部地址,其中,所述被访问数据寄存器的内部地址包括所述被访问数据寄存器的外部地址和所述被访问寄存器页的页标识,根据所述被访问数据寄存器的内部地址访问所述寄存器页。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收所述页地址寄存器的外部地址,根据所述页地址寄存器页的外部地址访问所述页地址寄存器,将所述被访问寄存器页的页标识写入所述页地址寄存器。
3.根据权利要求1或2所述的方法,其特征在于,所述页地址寄存器采用内部地址进行寻址,所述根据所述页地址寄存器的外部地址访问所述页地址寄存器具体为:
根据所述页地址寄存器的外部地址,生成所述页地址寄存器的内部地址,其中,所述页地址寄存器的内部地址包括所述被访问寄存器页的页标识和所述页地址寄存器的外部地址,根据所述页地址寄存器的内部地址,访问所述分页寄存器。
4.根据权利要求1所述的方法,其特征在于,所述页地址寄存器的数量为两个以上并且与所述两个以上寄存器页一一对应,所述两个以上页地址寄存器共享相同的物理空间。
5.根据权利要求1所述的方法,其特征在于,所述页地址寄存器的数量为1个,所述页地址寄存器配置在1个寄存器页中或与所述两个以上寄存器页是独立的。
6.一种分页寄存器的访问装置,其特征在于,所述分页寄存器页包括页地址寄存器和数据寄存器,所述数据寄存器划分为两个以上寄存器页,所述页地址寄存器用于存储被访问寄存器页的页标识,所述数据寄存器采用内部地址进行寻址,所述内部地址包括所述寄存器页的页标识和所述数据寄存器的外部地址,所述装置包括:
页标识访问模块,用于接收所述页地址寄存器的外部地址,根据所述页地址寄存器的外部地址访问所述页地址寄存器,将所述被访问寄存器页的页标识写入页地址寄存器,并读取该所述被访问寄存器页的页标识;
数据访问模块,用于接收被访问数据寄存器的外部地址,生成所述被访问数据寄存器的内部地址,其中,所述被访问数据寄存器的内部地址包括所述被访问数据寄存器的外部地址和所述被访问寄存器页的页标识,根据所述被访问数据寄存器的内部地址访问所述寄存器页。
7.根据权利要求6所述的装置,其特征在于,所述页标识访问模块还用于接收所述页地址寄存器的外部地址,根据所述页地址寄存器页的外部地址访问所述页地址寄存器,将所述被访问寄存器页的页标识写入所述页地址寄存器。
8.根据权利要求6或7所述的装置,其特征在于,所述页地址寄存器采用内部地址进行寻址,所述页标识访问模块用于根据所述页地址寄存器的外部地址,生成所述页地址寄存器的内部地址,根据所述页地址寄存器的内部地址,访问所述分页寄存器,其中,所述页地址寄存器的内部地址包括所述被访问寄存器页的页标识和所述页地址寄存器的外部地址,根据所述页地址寄存器的内部地址,访问所述分页寄存器。
9.根据权利要求6所述的装置,其特征在于,所述页地址寄存器的数量为两个以上并且与所述两个以上寄存器页一一对应,所述两个以上页地址寄存器共享相同的物理空间。
10.根据权利要求6所述的装置,其特征在于,所述页地址寄存器的数量为1个,所述页地址寄存器配置在1个寄存器页中或与所述两个以上寄存器页是独立的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510175439.2A CN104809079B (zh) | 2015-04-14 | 2015-04-14 | 分页寄存器的访问方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510175439.2A CN104809079B (zh) | 2015-04-14 | 2015-04-14 | 分页寄存器的访问方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104809079A CN104809079A (zh) | 2015-07-29 |
CN104809079B true CN104809079B (zh) | 2018-01-16 |
Family
ID=53693917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510175439.2A Active CN104809079B (zh) | 2015-04-14 | 2015-04-14 | 分页寄存器的访问方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104809079B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5666510A (en) * | 1991-05-08 | 1997-09-09 | Hitachi, Ltd. | Data processing device having an expandable address space |
CN1251185A (zh) * | 1997-03-27 | 2000-04-19 | 爱特梅尔股份有限公司 | 具有risc结构的八位微控制器 |
CN1446332A (zh) * | 2000-08-09 | 2003-10-01 | 先进微装置公司 | 用以在扩充寄存器模式下存取扩充寄存器集的中央处理单元及其方法 |
CN1719421A (zh) * | 2005-07-28 | 2006-01-11 | 上海大学 | 基于mcs-51架构的16m字节数据存储器寻址空间扩充方法 |
CN101719101A (zh) * | 2010-01-19 | 2010-06-02 | 华为技术有限公司 | 存储器的数据读写方法和装置 |
CN102754069A (zh) * | 2010-02-18 | 2012-10-24 | 国际商业机器公司 | 加载/存储分离设施及其指令 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9329996B2 (en) * | 2011-04-27 | 2016-05-03 | Veris Industries, Llc | Branch circuit monitor with paging register |
-
2015
- 2015-04-14 CN CN201510175439.2A patent/CN104809079B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5666510A (en) * | 1991-05-08 | 1997-09-09 | Hitachi, Ltd. | Data processing device having an expandable address space |
CN1251185A (zh) * | 1997-03-27 | 2000-04-19 | 爱特梅尔股份有限公司 | 具有risc结构的八位微控制器 |
CN1446332A (zh) * | 2000-08-09 | 2003-10-01 | 先进微装置公司 | 用以在扩充寄存器模式下存取扩充寄存器集的中央处理单元及其方法 |
CN1719421A (zh) * | 2005-07-28 | 2006-01-11 | 上海大学 | 基于mcs-51架构的16m字节数据存储器寻址空间扩充方法 |
CN101719101A (zh) * | 2010-01-19 | 2010-06-02 | 华为技术有限公司 | 存储器的数据读写方法和装置 |
CN102754069A (zh) * | 2010-02-18 | 2012-10-24 | 国际商业机器公司 | 加载/存储分离设施及其指令 |
Also Published As
Publication number | Publication date |
---|---|
CN104809079A (zh) | 2015-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6986369B2 (ja) | メモリモジュール、これを含むシステム及びその動作方法 | |
CN1988034B (zh) | 具有在端口间的数据发送模式的多径访问半导体存储器件 | |
US10031674B2 (en) | DIMM SSD addressing performance techniques | |
US9965222B1 (en) | Software mode register access for platform margining and debug | |
US7725609B2 (en) | System memory device having a dual port | |
CN102681946A (zh) | 内存访问方法和装置 | |
KR102575913B1 (ko) | 비대칭 세트 결합된 캐시 | |
CN107203475B (zh) | 包括存储器件的存储系统及其操作方法 | |
WO2009089350A2 (en) | Systems and methods for memory expansion | |
CN102859504B (zh) | 复制数据的方法和系统以及获得数据副本的方法 | |
CN104360825B (zh) | 一种混合内存系统及其管理方法 | |
CN102999441A (zh) | 一种细粒度内存访问的方法 | |
CN104714898B (zh) | 一种Cache的分配方法和装置 | |
US10503657B2 (en) | DIMM SSD Addressing performance techniques | |
CN102541769A (zh) | 一种存储器接口访问控制方法及装置 | |
CN106066833A (zh) | 存取多端口存储器模块的方法及相关的存储器控制器 | |
US9195622B1 (en) | Multi-port memory that supports multiple simultaneous write operations | |
CN108139993B (zh) | 内存装置、内存控制器、数据缓存装置及计算机系统 | |
CN104809079B (zh) | 分页寄存器的访问方法和装置 | |
CN105630727A (zh) | 多SoC节点之间的访问方法、装置和系统 | |
CN112306420B (zh) | 一种基于存储池的数据读写方法、装置、设备及存储介质 | |
CN113157602B (zh) | 一种对内存进行分配的方法、设备及计算机可读存储介质 | |
CN111651380B (zh) | 一种基于描述符表的参数加载方法 | |
CN107066208B (zh) | 一种外存设备的非对称读写方法及nvm外存设备 | |
CN104636268B (zh) | 一种可重构缓存产品与方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |