CN109388584A - 一种透过不同映址空间实现弹性且快速存取硬件内存队列方法 - Google Patents
一种透过不同映址空间实现弹性且快速存取硬件内存队列方法 Download PDFInfo
- Publication number
- CN109388584A CN109388584A CN201811236267.5A CN201811236267A CN109388584A CN 109388584 A CN109388584 A CN 109388584A CN 201811236267 A CN201811236267 A CN 201811236267A CN 109388584 A CN109388584 A CN 109388584A
- Authority
- CN
- China
- Prior art keywords
- write
- read
- data
- access
- difference
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
本发明提供一种透过不同映址空间实现弹性且快速存取硬件内存队列方法,包括以下步骤:步骤一:根据内存逻辑地址中不同映像地址的存取决定选择执行不同的存取方式;步骤二:匹配对应的硬件队列模块;步骤三:将数据写入到真正允许读写的内存中。所述存取方式包括高效能模式和高弹性模式两种;所述高效能模式对应高效能模式映射区间;所述高弹性模式对应高弹性模式映射区间。所述执行高效能模式具体包括两个步骤:1)读取空满寄存器;2)对固定地址进行读写,即可完成一笔数据的读取或写入。所述执行高弹性模式包括四个步骤:1)读取空满状态寄存器;2)读取读写指针寄存器;3)读写数据到读写指针所指向的地址;4)更新指针寄存器。
Description
技术领域
本发明涉计算机技术领域,特别是涉及一种透过不同映址空间实现弹性且快速存取硬件内存队列方法。
背景技术
通信和信号处理领域经常要用到的数据缓冲,由于数据接收和处理往往不是同频同步,需要有一个足够强大的缓冲区来缓冲数据,一般的,我们采用队列来缓冲数据。队列是一种常用的线性表数据结构,在一端插入数据,在以另一端删除数据,就是我们常说的FIFO。
现有以内存为主的硬件队列设计方式,常常需要由处理器来读取寄存器中的读写指针, 与空满的状态来决定是否能够写入与读取, 并经由读取出来的读写指针发出读写地址。如此的存取包含1.读取空满状态寄存器2.读取读写指针寄存器3.读写数据到读写指针所指向的地址4.更新指针寄存器,以上可见一笔数据的读取在传统的设计上需经过四个步骤。
例如中国专利CN1851677A,申请号为200510101852.0,华为公司在2005年公开了一种嵌入式处理器系统及其数据操作方法,并具体给出,高速缓存储存器,连接在处理器和主存储器之间,为处理器提供高速数据存取,用写缓冲器,连接在处理器与主存储器之间,存储处理器之间可缓存的写数据,主要提供嵌入式处理,采用分离写缓存实现牺牲高速缓存的功能,从而提高处理器的读写能力和命中率。该技术方案放到现在看来,存在读取步骤繁琐,损耗大。
华为公司在2013年,研究了一种数据写入方法及内存系统,(中国专利CN104252420A,申请号为201310270239.6)适用于至少包括内存控制器与内存设备的内存系统,内存控制器接收高速缓存发送的变化信息,所述变化信息为所述高速缓存将最后一级缓存LLC的第一待写入高速缓存条cache Line划分为至少一个数据块后,生成的指示各所述数据块上的数据是否发生变化的信息;所述内存设备发送各所述非变化数据块对应的列地址和各所述非变化数据块对应的数据,对于所述变化信息指示的发生数据变化的各变化数据块,向所述内存设备发送各所述变化数据块对应的列地址和各所述变化数据块对应的数据。该技术方案存在的问题依然有读取步骤繁琐、占用时间长、损耗大等。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种透过不同映址空间实现弹性且快速存取硬件内存队列方法,用于解决现有技术中读取步骤繁琐、占用时间长、损耗大的问题。
为实现上述目的及其他相关目的,本发明在提供一种透过不同映址空间实现弹性且快速存取硬件内存队列方法,并具体公开了以下技术方案:一种透过不同映址空间实现弹性且快速存取硬件内存队列方法,其创新点在于,所述方法包括以下步骤:
步骤一:根据内存逻辑地址中不同映像地址的存取决定选择执行不同的存取方式;
步骤二:匹配对应的硬件队列模块;
步骤三:将数据写入到真正允许读写的内存中。
于本发明的一实施例中,所述存取方式包括高效能模式和高弹性模式两种;所述高效能模式对应高效能模式映射区间;所述高弹性模式对应高弹性模式映射区间。
于本发明的一实施例中,所述执行高效能模式具体包括两个步骤:1) 读取空满寄存器;2)对固定地址进行读写,即可完成一笔数据的读取或写入。
于本发明的一实施例中,所述执行高弹性模式包括四个步骤:1)读取空满状态寄存器;2)读取读写指针寄存器;3)读写数据到读写指针所指向的地址;4)更新指针寄存器。
于本发明的一实施例中,所述高效能模式的硬件队列上,需要额外硬件模块支持,译码写入的地址加上状态寄存器来协助将数据写入到真正允许读写的内存中。
于本发明的一实施例中,所述高效能模式还包括映射译码判断与数据存取电路,通过映射译码判断与数据存取电路执行写入地址的操作。
于本发明的一实施例中,当执行高效能模式时,对内存逻辑地址中的高效能模式映像区间作读写的动作,对此区间的读写为固定地址;经由映像驿码判断与数据存取电路模块的处理,将存取的地址加上状态寄存器的指针判断后,读写真正的数据存储器地址。
于本发明的一实施例中,当执行高弹性模式时,对高弹性模式映像区间作存取,此区间以直接映像方式存取硬件队列模块中的数据存储器,使其达到最高自由的使用程度。
如上所述,本发明的一种透过不同映址空间实现弹性且快速存取硬件内存队列方法,具有以下有益效果:本发明改善此操作流程,缩减至两个步骤,直接加倍处理器对队列存取的效能,并透过不同的映像地址提供上述传统的操作模式,达到不同目的弹性使用。此外,高效能模式是对内存逻辑地址中的高效能模式映像区间作读写的动作,对此区间的读写为固定地址,因此不需要去读出状态寄存器中的读写指针,而是经由映像驿码判断与数据存取电路模块的处理,将存取的地址加上状态寄存器的指针判断后,读写真正的数据存储器地址,藉此减少处理器的指令执行达到高效能。如处理器希望能够更弹性的去读写数据,则可以对高弹性模式映像区间作存取,此区间以直接映像方式存取硬件队列模块中的数据存储器,使其达到最高自由的使用程度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1显示为本发明的一种透过不同映址空间实现弹性且快速存取硬件内存队列方法的流程示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
如本领域技术人员所知,当前的内存系统基本包括内存控制器、内存设备等。
请参阅图1。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
本发明的目的在于提供一种透过不同映址空间实现弹性且快速存取硬件内存队列方法,其创新点在于,所述方法包括以下步骤:
步骤一:根据内存逻辑地址中不同映像地址的存取决定选择执行不同的存取方式;
步骤二:匹配对应的硬件队列模块;
步骤三:将数据写入到真正允许读写的内存中。
本发明适用于处理器存取资料存放在任何以内存方式实现之硬件设计队列。
该存取方式包括高效能模式和高弹性模式两种;该高效能模式对应高效能模式映射区间;所述高弹性模式对应高弹性模式映射区间。具体的,该执行高效能模式具体包括两个步骤:1) 读取空满寄存器;2)对固定地址进行读写,即可完成一笔数据的读取或写入。另外一方面,该执行高弹性模式包括四个步骤:1)读取空满状态寄存器;2)读取读写指针寄存器;3)读写数据到读写指针所指向的地址;4)更新指针寄存器。
需要说明的是,该高效能模式的硬件队列上,需要额外硬件模块支持,译码写入的地址加上状态寄存器来协助将数据写入到真正允许读写的内存中。在本发明的此实施方式中,该高效能模式还包括映射译码判断与数据存取电路,通过映射译码判断与数据存取电路执行写入地址的操作。
当执行高效能模式时,对内存逻辑地址中的高效能模式映像区间作读写的动作,对此区间的读写为固定地址;经由映像驿码判断与数据存取电路模块的处理,将存取的地址加上状态寄存器的指针判断后,读写真正的数据存储器地址。
当执行高弹性模式时,对高弹性模式映像区间作存取,此区间以直接映像方式存取硬件队列模块中的数据存储器,使其达到最高自由的使用程度。
综上所述,本发明改善此操作流程,缩减至两个步骤,直接加倍处理器对队列存取的效能,并透过不同的映像地址提供上述传统的操作模式,达到不同目的弹性使用。此外,高效能模式是对内存逻辑地址中的高效能模式映像区间作读写的动作,对此区间的读写为固定地址,因此不需要去读出状态寄存器中的读写指针,而是经由映像驿码判断与数据存取电路模块的处理,将存取的地址加上状态寄存器的指针判断后,读写真正的数据存储器地址,藉此减少处理器的指令执行达到高效能。如处理器希望能够更弹性的去读写数据,则可以对高弹性模式映像区间作存取,此区间以直接映像方式存取硬件队列模块中的数据存储器,使其达到最高自由的使用程度。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (8)
1.一种透过不同映址空间实现弹性且快速存取硬件内存队列方法,其特征在于,所述方法包括以下步骤:
(1)根据内存逻辑地址中不同映像地址的存取决定选择执行不同的存取方式;
(2)匹配对应的硬件队列模块;
(3)将数据写入到真正允许读写的内存中。
2.根据权利要求1所述的透过不同映址空间实现弹性且快速存取硬件内存队列方法,其特征在于,所述存取方式包括高效能模式和高弹性模式两种;所述高效能模式对应高效能模式映射区间;所述高弹性模式对应高弹性模式映射区间。
3.根据权利要求2所述的透过不同映址空间实现弹性且快速存取硬件内存队列方法,其特征在于,所述执行高效能模式具体包括两个步骤:1) 读取空满寄存器;2)对固定地址进行读写,即可完成一笔数据的读取或写入。
4.根据权利要求2所述的透过不同映址空间实现弹性且快速存取硬件内存队列方法,其特征在于,所述执行高弹性模式包括四个步骤:1)读取空满状态寄存器;2)读取读写指针寄存器;3)读写数据到读写指针所指向的地址;4)更新指针寄存器。
5.根据权利要求4所述的透过不同映址空间实现弹性且快速存取硬件内存队列方法,其特征在于,所述高效能模式的硬件队列上,需要额外硬件模块支持,译码写入的地址加上状态寄存器来协助将数据写入到真正允许读写的内存中。
6.根据权利要求5所述的透过不同映址空间实现弹性且快速存取硬件内存队列方法,其特征在于,所述高效能模式还包括映射译码判断与数据存取电路,通过映射译码判断与数据存取电路执行写入地址的操作。
7.根据权利要求6所述的透过不同映址空间实现弹性且快速存取硬件内存队列方法,其特征在于,当执行高效能模式时,对内存逻辑地址中的高效能模式映像区间作读写的动作,对此区间的读写为固定地址;经由映像驿码判断与数据存取电路模块的处理,将存取的地址加上状态寄存器的指针判断后,读写真正的数据存储器地址。
8.根据权利要求4所述的透过不同映址空间实现弹性且快速存取硬件内存队列方法,其特征在于,当执行高弹性模式时,对高弹性模式映像区间作存取,此区间以直接映像方式存取硬件队列模块中的数据存储器,使其达到最高自由的使用程度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811236267.5A CN109388584A (zh) | 2018-10-23 | 2018-10-23 | 一种透过不同映址空间实现弹性且快速存取硬件内存队列方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811236267.5A CN109388584A (zh) | 2018-10-23 | 2018-10-23 | 一种透过不同映址空间实现弹性且快速存取硬件内存队列方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109388584A true CN109388584A (zh) | 2019-02-26 |
Family
ID=65427715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811236267.5A Withdrawn CN109388584A (zh) | 2018-10-23 | 2018-10-23 | 一种透过不同映址空间实现弹性且快速存取硬件内存队列方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109388584A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290856A (zh) * | 2020-03-23 | 2020-06-16 | 优刻得科技股份有限公司 | 数据处理装置和方法 |
-
2018
- 2018-10-23 CN CN201811236267.5A patent/CN109388584A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290856A (zh) * | 2020-03-23 | 2020-06-16 | 优刻得科技股份有限公司 | 数据处理装置和方法 |
CN111290856B (zh) * | 2020-03-23 | 2023-08-25 | 优刻得科技股份有限公司 | 数据处理装置和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5384576B2 (ja) | 複数の異種のソリッドステート・ストレージ・ロケーションの選択的利用 | |
US20170060434A1 (en) | Transaction-based hybrid memory module | |
US20140028693A1 (en) | Techniques to request stored data from a memory | |
Schroeder | Peer-to-peer & unified virtual addressing | |
CN112631961A (zh) | 一种内存管理单元、地址转译方法以及处理器 | |
EP2860690B1 (en) | Techniques and architecture for improved vertex processing | |
CN110858188A (zh) | 具有分布式信箱结构的多处理器系统及其沟通方法 | |
US8441495B1 (en) | Compression tag state interlock | |
CN106709025A (zh) | 更新聚合对象的方法及装置 | |
EP1721298A2 (en) | Embedded system with 3d graphics core and local pixel buffer | |
US20080256300A1 (en) | System and method for dynamically reconfiguring a vertex cache | |
CN106354664A (zh) | 一种固态硬盘数据传输方法及装置 | |
CN109799959A (zh) | 一种提高开放通道固态盘写并行性的方法 | |
CN1896971B (zh) | 操作系统辅助磁盘高速缓存系统和方法 | |
CN105550979A (zh) | 一种高数据通量纹理Cache层次结构 | |
US20100036979A1 (en) | External Direct Memory Access of Embedded Controller Memory | |
CN109388584A (zh) | 一种透过不同映址空间实现弹性且快速存取硬件内存队列方法 | |
US8139073B1 (en) | Early compression tag lookup for memory accesses | |
US20100049898A1 (en) | Memory management system and method thereof | |
CN115237349A (zh) | 数据读写控制方法、控制装置、计算机存储介质和电子设备 | |
CN116340203A (zh) | 数据预读取方法、装置、处理器及预取器 | |
US7861007B2 (en) | Method and apparatus for multimedia display in a mobile device | |
CN109634583B (zh) | 一种基于SystemC和TLM模型的GPU颜色存储Cache模块的硬件及存储装置 | |
US11016898B2 (en) | System and method for mixed tile-aware and tile-unaware traffic through a tile-based address aperture | |
CN112988074B (zh) | 一种存储系统管理软件适配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190226 |
|
WW01 | Invention patent application withdrawn after publication |