加速存储器存取的电子装置及方法制造方法及图纸

技术编号:32016634 阅读:18 留言:0更新日期:2022-01-22 18:34
一种电子装置包括存储器及集成电路。存储器包括多个存储页。集成电路依据映射表,依序将多个虚拟地址对应地转换为多个物理地址。集成电路包括地址重映射单元。当该多个虚拟地址所对应的该多个物理地址不在存储器中的同一存储页时,地址重映射单元依据当前所依序存取的该多个虚拟地址是否超出预取地址,预先存取该多个物理地址中不属于该同一存储页的至少一个物理地址。一个物理地址。一个物理地址。

【技术实现步骤摘要】
加速存储器存取的电子装置及方法


[0001]本专利技术涉及电子装置,特别是涉及加速存储器存取的电子装置及方法。

技术介绍

[0002]在计算器系统中,直接存储器访问(DMA)指令的传输效率和速度直接关系到IO设备性能。在支持硬件虚拟化的系统中,每一笔DMA指令的传输需要重映射(remapping)硬件的参与来完成虚拟地址至物理地址的转换。为了提高效能,重映射硬件中设置了高速缓存(cache),一旦高速缓存未命中(cache miss),重映射硬件需要访问存储器多次。以现有的架构来说,每一4K字节(对应于存储器的每一页的大小)的第一笔DMA指令都可能会导致高速缓存未命中。

技术实现思路

[0003]依据本专利技术实施例的电子装置,包括存储器及集成电路。存储器包括多个存储页。集成电路依据映射表,依序将多个虚拟地址对应地转换为多个物理地址。集成电路包括地址重映射单元。当该多个虚拟地址所对应的该多个物理地址不在存储器中的同一存储页时,依据当前所依序存取的该多个虚拟地址是否超出预取地址,预先存取该多个物理地址中不属于同一存储页的至少一个物理地址。
[0004]如上所述的电子装置,当当前所依序存取的该多个虚拟地址超出预取地址,则集成电路输出重映射预取指令到地址重映射单元,使得地址重映射单元将该多个物理地址中不属于同一存储页的至少一个物理地址存储于自身的高速缓存(cache)中,并且更新映射表。
[0005]如上所述的电子装置,当地址重映射单元存取至对应于不属于同一存储页的至少一个物理地址的该多个虚拟地址的一个时,地址重映射单元依据更新后的映射表,直接将存储于高速缓存的该多个物理地址中不属于该同一存储页的该至少一个物理地址输出。
[0006]如上所述的电子装置,还包括中央处理单元。中央处理单元依据该多个虚拟地址所对应该多个物理地址,对存储器进行存取。
[0007]如上所述的电子装置,还包括外部装置。外部装置传送存取请求指令予集成电路。当集成电路接收到存取请求指令时,集成电路传送重映射指令(remapping request)到地址重映射单元。存取请求指令及重映射指令都包括该多个虚拟地址。
[0008]如上所述的电子装置,当地址重映射单元依据更新后的映射表,将该多个虚拟地址对应地转换为该多个物理地址后,该地址重映射单元传送重映射答复指令到集成电路。当集成电路接收到该重映射答复指令时,集成电路传送直接存储器访问(DMA)指令予中央处理单元。重映射答复指令及直接存储器访问指令都包括该多个物理地址。
[0009]如上所述的电子装置,存储器的每一该多个存储页的大小为4K字节(bytes)。预取地址为4K+400、4K+600、4K+800、4K+a00、4K+c00,或4K+e00字节。
[0010]如上所述的电子装置,预取地址依据存储器的读取延迟而作对应设定。
[0011]依据本专利技术实施例的存储器存取的加速方法,存储器包括多页,方法包括:接收多个虚拟地址;依据映射表,依序将该多个虚拟地址对应地转换为多个物理地址;当该多个虚拟地址所对应的该多个物理地址不在存储器中的同一存储页时,依据当前所依序存取的该多个虚拟地址是否超出预取地址,预先存取该多个物理地址中不属于同一存储页的至少一个物理地址。
[0012]如上所述的加速方法,还包括:当当前所依序存取的该多个虚拟地址超出预取地址,产生重映射预取指令;依据重映射预取指令,将该多个物理地址中不属于同一存储页的该至少一个物理地址存储于高速缓存(cache)中,并且更新映射表。
[0013]如上所述的加速方法,还包括:当存取至对应于不属于同一存储页的至少一个物理地址的该多个虚拟地址的一个时,依据更新后的映射表,直接将存储于高速缓存的该多个物理地址中不属于同一存储页的至少一个物理地址输出。
附图说明
[0014]图1为本专利技术实施例的电子装置100的示意图。
[0015]图2为本专利技术实施例的图1电子装置100进行操作时的信号时序波形图。
[0016]图3为本专利技术实施例的存储器存取的加速方法的流程图。
[0017]图4为本专利技术实施例的图3步骤S304的详细流程图。
具体实施方式
[0018]本专利技术参照所附图式进行描述,其中遍及图式上的相同参考数字标示了相似或相同的组件。上述图式并没有依照实际比例大小描绘,其仅仅提供对本专利技术的说明。一些专利技术的型态描述于下方作为图解示范应用的参考。这意味着许多特殊的细节、关系及方法被阐述来对这个专利技术提供完整的了解。无论如何,拥有相关领域通常知识的人将认识到若没有一个或更多的特殊细节或用其他方法,此专利技术仍然可以被实现。
[0019]以其他例子来说,众所皆知的结构或操作并没有详细列出以避免对这专利技术的混淆。本专利技术并没有被阐述的行为或事件顺序所局限,如有些行为可能发生在不同的顺序亦或同时发生在其他行为或事件之下。此外,并非所有阐述的行为或事件都需要被执行在与现有专利技术相同的方法之中。
[0020]图1为本专利技术实施例的电子装置100的示意图。如图1所示,电子装置100包括集成电路102、存储器104、中央处理单元106、外部装置108。在一些实施例中,存储器104包括多个存储页(pages),并且每一存储页的大小为4K字节(bytes)。集成电路102依据映射表,依序将来自外部装置108的存取请求指令170所载有的多个虚拟地址对应地转换为多个物理地址,并且通过直接存储器访问(DMA)指令150,将所转换而成的物理地址传送到中央处理单元106。之后,中央处理单元106通过存取接口160对存储器104内的该多个物理地址进行写入或读取的动作。在本专利技术另一实施例中,集成电路102可以为北桥芯片,也可以为集合了北桥芯片的芯片组。
[0021]受限于存储器104的每一存储页的大小(例如为4K字节),存储器104中每一存储页所包括的物理地址(即地址数值)不超过4K字节。一般来说,存储器104存取(例如读或写)物理地址的最小单位为存储页。换句话说,尽管存储器104接收到(例如来自中央处理单元
106)对其内的多个物理地址的存取指令,只要多个物理地址设置于存储器104中的同一存储页,则中央处理单元106仅需一次存取,就可将位于存储器104中同一存储页的多个物理地址的数据全部读出。相反地,若存取指令中的多个物理地址设置在存储器104中的不同存储页,则中央处理单元106需至少两次的存取,才可将存储器104中多个物理地址内的数据读出。
[0022]在一些实施例中,集成电路102内的映射表记载了以存储器104的存储页为单位的虚拟地址与物理地址的对应关系。由于虚拟地址与存储器104的物理地址为彼此相对应(通过映射表),因此对应于存储器104中每一存储页的物理地址的虚拟地址(即地址数值)同样不超过4K字节。在一些实施例中,集成电路102包括地址重映射单元110,并且地址重映射单元110包括高速缓存(cache)114。中央处理单元106包括直接存储器访问(DMA)控制器,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种电子装置,包括:存储器,包括多个存储页;集成电路,依据映射表,依序将多个虚拟地址对应地转换为多个物理地址;该集成电路包括:地址重映射单元,当该多个虚拟地址所对应的该多个物理地址不在该存储器中的同一存储页时,依据当前所依序存取的该多个虚拟地址是否超出预取地址,预先存取该多个物理地址中不属于该同一存储页的至少一个物理地址。2.如权利要求1所述的电子装置,其中,当当前所依序存取的该多个虚拟地址超出该预取地址,则该集成电路输出重映射预取指令到该地址重映射单元,使得该地址重映射单元将该多个物理地址中不属于该同一存储页的该至少一个物理地址存储于自身的高速缓存中,并且更新该映射表。3.如权利要求2所述的电子装置,其中,当该地址重映射单元存取至对应于不属于该同一存储页的该至少一个物理地址的该多个虚拟地址的一个时,该地址重映射单元依据该更新后的映射表,直接将存储于该高速缓存的该多个物理地址中不属于该同一存储页的该至少一个物理地址输出。4.如权利要求2所述的电子装置,还包括中央处理单元,依据该多个虚拟地址所对应该多个物理地址,对该存储器进行存取。5.如权利要求4所述的电子装置,还包括外部装置,传送存取请求指令到该集成电路;当该集成电路接收到该存取请求指令时,该集成电路传送重映射指令到该地址重映射单元;其中,该存取请求指令及该重映射指令都包括该多个虚拟地址。6.如权利要求5所述的电子装置,其中,当该地址重映射单元依据该更新后的映射表,将该多个虚拟地址对应地转换为该多个物...

【专利技术属性】
技术研发人员:杨群祎焦洋相晋崔廷立贵兴林
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:

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

1