CN100520739C - 一种快速虚实地址转换装置及其方法 - Google Patents
一种快速虚实地址转换装置及其方法 Download PDFInfo
- Publication number
- CN100520739C CN100520739C CNB2006101715187A CN200610171518A CN100520739C CN 100520739 C CN100520739 C CN 100520739C CN B2006101715187 A CNB2006101715187 A CN B2006101715187A CN 200610171518 A CN200610171518 A CN 200610171518A CN 100520739 C CN100520739 C CN 100520739C
- Authority
- CN
- China
- Prior art keywords
- virtual
- physical address
- rapid
- address
- page
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 238000013519 translation Methods 0.000 claims description 84
- 230000002708 enhancing effect Effects 0.000 claims description 15
- 230000008034 disappearance Effects 0.000 claims description 6
- 238000005267 amalgamation Methods 0.000 claims description 3
- 238000005728 strengthening Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 abstract description 14
- CNQCVBJFEGMYDW-UHFFFAOYSA-N lawrencium atom Chemical compound [Lr] CNQCVBJFEGMYDW-UHFFFAOYSA-N 0.000 description 12
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 10
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000005755 formation reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 239000008358 core component Substances 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 101001074449 Crotalus durissus terrificus Phospholipase A2 inhibitor CNF Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种快速虚实地址转换装置,包括取指和译码部件、发射部件、执行单元、地址计算单元、高速缓存、快速虚实地址转换部件和数据选择部件;还包括增强访存队列,增强访存队列包括访存队列和选择单元;快速虚实地址转换部件包括快速虚实地址转换表单元和物理地址生成单元;其中,取指和译码部件电连接到发射部件上,发射部件则与执行单元和地址计算单元相连,执行单元和地址计算单元之间并联连接,执行单元连接在结果总线上,地址计算单元与增强访存队列电连接,增强访存队列则连接到高速缓存和快速虚实地址转换部件上,高速缓存和快速虚实地址转换部件并联到数据选择部件上,数据选择部件则与结果总线连接。本发明还公开了一种快速虚实地址转换方法。
Description
技术领域
本发明涉及微处理器体系结构,特别涉及一种在具有流水线结构的处理器中将访存操作对应的虚拟地址快速转换为相应的物理地址的方法和使用该方法的处理器。
背景技术
在主流的处理器的设计中,快速虚实地址转换部件作为访存部分的核心部件,已经成为流水线中不可或缺的一环,通常被设计成独立的流水级。通过快速虚实地址转换部件可以将虚拟地址快速的转换为物理地址,所以使用快速虚实地址转换部件进行虚实地址转换可以在很大程度上提高访存的性能,现在主流通用处理器的设计中无一例外的采用了快速虚实地址转换部件作为其核心组件。
快速虚实地址转换部件的命中率和快速虚实地址转换部件重填的开销是影响整个处理器性能的关键因素,多数处理器都把解决这两个问题作为提高处理器访存部分性能乃至整个处理器性能的途径。
在采用页式存储管理的系统中,应用程序中的访存指令使用虚拟地址,在应用程序被操作系统加载后,由操作系统为其分配相应的页目录和页表,页目录和页表保存了应用程序的虚拟地址与物理地址之间的映射关系,通过查询页目录和页表完成虚拟地址到物理地址的转换。在32位地址空间的程序中,一条访存操作需要从页目录中取出页目录项,根据该页目录项读取页表,得到页表项,再根据页表项中的物理页面基址,作为页内偏移的虚拟地址低位和物理地址低位一致,不需要参与映射,根据物理页面基址和虚拟地址中的页内偏移计算出访存操作最终需要访问的物理地址,整个过程需要三次访存;对于使用大于32位地址空间的程序,其访存操作需要查询的表需要更多级的页目录和页表才能得到对应的物理地址。应用程序中存在大量的访存操作,如果每个访存操作都进行上述的查表过程,将会大大增加访存部件的负担,严重影响处理器执行的速度。
在程序执行的过程中,除了程序中的访存指令本身需要访存外,处理器的取指操作也需要访存,而一般程序的访存操作都具有较好的局部性。快速虚实地址转换部件主要是利用了访存操作的空间局部性和时间局部性,对某些页面查询页目录和页表得到的虚实地址映射关系进行缓存;在再次访问该页内容时,利用缓存中的内容,快速完成虚拟地址到物理的转换,避免每次访存操作都进行复杂的页目录和页表查询。快速虚实地址转换部件的硬件组成一般分为CAM(Content-AddressableMemory)和RAM两部分。其中CAM是根据内容查询的存储模块,用来存放虚拟地址的高位;RAM是根据索引查询的存储模块,用来存放物理地址的高位,一些和虚实物理地址映射相关的标志位也存放在RAM中。
访存操作在流水线中流经快速虚实地址转换部件时,根据访存的虚拟地址查询快速虚实地址转换部件CAM,如果命中其中一项,则得到该项的索引,根据这个索引到快速虚实地址转换部件RAM中读取相应的物理地址;如果查询快速虚实地址转换部件CAM没有命中,则发生了快速虚实地址转换部件缺失。
快速虚实地址转换部件缺失时需要对快速虚实地址转换部件进行重填操作,而重填操作需要查询页目录和页表,这是快速虚实地址转换部件的主要开销来源。所以,为了降低快速虚实地址转换部件缺失带来的开销,最直观的方法就是提高快速虚实地址转换部件的命中率以及提高快速虚实地址转换部件重填的速度。
降低load-to-use延迟是提高处理器访存性能的关键,高速缓存的引入就是为了缓解这一问题,通过位于处理器主流水线和存储器之间的这层存储逻辑,处理器可以在大多数情况下避免直接访问内存,提高了访存的性能。几乎所有的主流通用处理器都在流水线中包含高速缓存逻辑,并且高速缓存逻辑往往被作为独立的流水级。在其他条件确定的情况下,增加访存通路的带宽是降低load-to-use延迟的最有效途径,但增加带宽意味着增加访存通路的逻辑复杂度,并且访存通路上的RAM逻辑都需要提供双端口。这些复杂度上的增加势必会增加访存通路的时延和功耗。
为了降低访存延迟,主流处理器一般将高速缓存和快速虚实地址转换部件放在相同的流水级,采用虚地址索引的高速缓存,访存操作同时访问高速缓存和快速虚实地址转换部件,所以高带宽的访存流水线的宽度需要快速虚实地址转换部件提供同时对多个访存操作进行虚实地址转换的能力。一种简单的处理方式是使快速虚实地址转换部件提供多个访问端口,同时访问快速虚实地址转换部件的多个访存操作分别对应一个访问端口,但这直接导致快速虚实地址转换部件的RAM模块需要提供相应数目的访问端口,严重影响快速虚实地址转换部件的面积和功耗。
发明内容
本发明的目的是为了克服现有的快速虚实地址转换部件的RAM模块在提供多个访问端口时会严重影响快速虚实地址转换部件的面积和功耗的缺陷,从而提供一种快速虚实地址转换方法以及使用该方法的处理器。
为了实现上述目的,本发明提供了一种快速虚实地址转换装置,包括取指和译码部件101、发射部件102、执行单元103、地址计算单元104、高速缓存106、快速虚实地址转换部件107和数据选择部件108;还包括增强访存队列801,所述的增强访存队列801包括访存队列105和选择单元802;所述的快速虚实地址转换部件107包括快速虚实地址转换表单元600和至少两个物理地址生成单元806;
其中,所述的取指和译码部件101电连接到所述的发射部件102上,所述的发射部件102则分别与所述的执行单元103和地址计算单元104相连,所述的执行单元103和地址计算单元104之间并联连接,所述执行单元103都连接在装置中的结果总线上,所述地址计算单元104都与所述的增强访存队列801电连接,所述的增强访存队列801则分别连接到所述的高速缓存106和快速虚实地址转换部件107上,所述的高速缓存106和快速虚实地址转换部件107并联连接到所述的数据选择部件108上,数据选择部件108则与装置中的结果总线连接;
在所述的快速虚实地址转换部件107中,所述的快速虚实地址转换表单元600与所述的增强访存队列801中的选择单元802直接相连,并分别连接到所述的至少两个物理地址生成单元806上,所述的物理地址生成单元806还与所述的选择单元802直接连接,并与所述的数据选择部件108连接;
所述的选择单元802选择对应相同虚拟页面的多个访存操作,并发送到所述的快速虚实地址转换部件107和高速缓存106。
上述技术方案中,所述的物理地址生成单元806用虚拟页面查询快速虚实地址转换部件107得到物理页面起始地址,根据对应相同虚拟页面的访存操作的虚拟地址的页内偏移得到页内偏移,将物理页面起始地址和虚拟地址的页内偏移拼合,得到所需的物理地址。
上述技术方案中,所述的至少两个物理地址生成单元806的个数与所述的选择单元802每次从所述的访存队列105中选出的对应相同虚拟页面的访存操作的最大个数相同。
本发明还提供了一种快速虚实地址转换方法,包括:
步骤701)、一个访存操作经所述的取指和译码部件101译码后被送到发射部件102上,由发射部件102将该访存操作发射到地址计算单元104;
步骤702)、所述的地址计算单元104计算访存操作所需要的虚拟地址,并将计算的结果发送到所述的增强访存队列801中;
步骤703)、所述的增强访存队列801对所存储的访存操作进行查找,查看是否存在虚拟地址已知但物理地址未知的访存操作,若不存在,执行步骤710),否则,执行下一步;
步骤704)、从所述的增强访存队列801中选择一组或多组具有相同虚拟页面的访存操作;
步骤705)、从步骤704)所选择出的访存操作组中选出一组,计算该组访存操作所对应的虚拟页面的起始地址;
步骤706)、利用步骤705)中所计算得到的虚拟页面的起始地址,在所述的快速虚实地址转换部件107的快速虚实地址转换表单元600上查找是否存在对应的虚拟地址,若有,则执行下一步,否则执行步骤709);
步骤707)、根据虚拟页面的起始地址,得到物理页面的起始地址;
步骤708)、同组的各个访存操作都可根据步骤707)中得到的物理页面的起始地址,以及本身所带有的虚拟地址的页内偏移量计算各自对应的物理地址,计算结束后执行步骤710);
步骤709)、发生快速虚实地址转换部件缺失,由处理器作相应处理;
步骤710)、结束操作。
本发明的优点在于:
1、本发明利用了访存操作的局部性,即访存队列中的多个访存操作往往对应相同的虚拟页面;访存队列中一组对应相同虚拟页面的访存操作在同时被发往快速虚实地址转换部件时,仅需要占用快速虚实地址转换部件的一个访问端口,这样就节省了快速虚实地址转换部件的访问端口。
2、本发明通过节省访问端口的方式来减少快速地址转换部件的面积和功耗,有利于高带宽访存通路的设计。
附图说明
图1为现有处理器中与快速虚实地址转换相关部分的结构图;
图2为可以允许多条访存操作同时处理的访存部分的流水线结构;
图3a为对写访存操作进行独立管理的队列的示意图;
图3b为对读访存操作进行独立管理的队列的示意图;
图4为对写访存操作和读访存操作统一进行管理的队列的示意图;
图5为访存队列中包含有多条访存操作的示意图;
图6为虚实页面地址对照表的示意图;
图7为本发明的快速虚实地址转换方法的流程图;
图8为增强访存队列和快速虚实地址转换部件的结构图;
图9为本发明的快速虚实地址转换装置的结构图。
图面说明
101 取指和译码部件 102 发射部件 103 执行单元
104 地址计算单元 105 访存队列 106 高速缓存
107 快速虚实地址转换部件 108 数据选择部件 801 增强访存队列
802 选择单元 806 物理地址生成单元
600 快速虚实地址转换表单元
具体实施方式
下面结合附图和具体实施方式对本发明作进一步说明。
图2是可以允许多条访存操作同时处理的访存部分的流水线结构;访存队列105每次可以选择多条虚拟地址已知的访存操作,并将选出的访存操作发送到高速缓存106和快速虚实转换部件107,这就要求高速缓存106和快速虚实转换部件107具有同时处理多条访存操作的能力,同时得到多个查询结果。相应地,数据选择部件108也需要同时生成多条访存操作的结果。而快速虚实转换部件107由于会受到面积和功耗的制约,因此需要通过本发明来克服这种缺陷,从而实现对多条访存操作的同时处理。
图1是一个现有处理器的内部结构图,其中包括与快速虚实地址转换相关的部分,在该部分中包括取指和译码部件101、发射部件102、执行单元103、地址计算单元104、访存队列105、高速缓存106、快速虚实地址转换部件107和数据选择部件108。其中,取指和译码部件101电连接到发射部件102上,发射部件102则分别与执行单元103和地址计算单元104相连,执行单元103和地址计算单元104在处理器中都可以有多个,各个执行单元和地址计算单元间并联连接,所述执行单元103都连接在处理器中的结果总线上,所述地址计算单元104都与访存队列105连接,访存队列105则分别连接到高速缓存106和快速虚实地址转换部件107上,高速缓存106和快速虚实地址转换部件107并联连接到数据选择部件108上,数据选择部件108则与处理器中的结果总线连接。
与现有技术中的处理器相比,如图9所示,本发明的快速虚实地址转换装置将访存队列105转换为增强访存队列801,而对于快速虚实地址转换部件107中的结构也有一定的改变。下面对本发明装置中的各个部分作详细的说明:
取指和译码部件101:取指和译码部件101根据给出的pc值取出下一条要执行的指令,部件中的译码逻辑对取到的指令进行译码生成一条或多条处理器内部表示的微码格式,该宏指令是对应处理器兼容的指令集格式的,如x86架构处理器对应的CICS格式指令,或者诸如PowerPC、Alpha等RISC架构的指令格式,而内部微码格式则一般都是类RISC的格式的。取指和译码部件101的实现与现有技术相同。
发射部件102:内部格式的微码在译码后进入发射部件102,该模块负责从进入到发射部件102的微操作中选出当前可以发射的若干个,并送到后续的功能部件(执行单元103和地址计算单元104)去执行。
执行单元103:执行单元103用于处理定点和浮点计算,计算得到的结果被发送到结果总线上。
地址计算单元104:地址计算单元104用于计算访存操作的虚拟地址,并将访存操作发送到访存队列105。
上述的发射部件102、执行单元103和地址计算单元104的实现都与现有技术相同。
增强访存队列801:增强访存队列801具有存储访存操作,并根据条件选择访存操作并发送的功能。如图8所示,增强访存队列801包括访存队列105和选择单元802。其中的访存队列105与现有技术中的访存队列的功能相同,在本实施例中不作详细说明。选择单元802的功能是选择对应相同虚拟页面的多个访存操作并发送到快速虚实地址转换部件107和高速缓存106。
访存队列105在管理访存操作时,可以将读操作和写操作分成两个独立的队列管理,如图3a和图3b所示,也可用一个统一的读写队列来管理,如图4所示。队列中的读写操作按照程序顺序进行排列,队列头表示在程序顺序上应该最先被执行的操作,队列尾为第一个空项。对于读写操作采用独立队列管理的访存队列,除了要在各独立队列中维持程序顺序,还必须在两个队列之间维持程序顺序。
高速缓存106:高速缓存106存储着访存操作所需要的数据。
快速虚实地址转换部件107:快速虚实地址转换部件107中存储了虚拟地址与物理地址间的转换关系,通过快速虚实地址转换部件107可由虚拟地址得到物理地址。与现有技术中的快速虚实地址转换部件相比,本发明的快速虚实地址转换部件107存在着差异。如图8所示,快速虚实地址转换部件107包括快速虚实地址转换表单元600和至少两个物理地址生成单元806,物理地址生成单元806的个数与选择单元802每次从访存队列105中选出的对应相同虚拟页面的访存操作的最大个数相同。其中,快速虚实地址转换表单元600与选择单元802直接相连,并分别连接到所述的至少两个物理地址生成单元806上,所述的物理地址生成单元806还与选择单元802直接连接,并与快速虚实地址转换部件107外的数据选择部件108连接。
物理地址生成单元806:物理地址生成单元806根据用虚拟页面查询快速虚实地址转换部件107得到的物理页面起始地址810、对应相同虚拟页面的访存操作(501和502)的虚拟地址的页内偏移,将二者拼合得到所需的物理地址。
数据选择部件108:数据选择部件108根据查询高速缓存106得到的访存操作的数据和查询快速虚实地址转换部件107得到的物理地址,把两部分的查询结果形成最终结果并发送到结果总线上。
在对处理器部分进行描述后,再对本发明的快速虚实地址转换方法作进一步的说明。如图7所示,本发明的快速虚实地址转换方法包括以下步骤:
步骤701、一个访存操作经取指和译码部件101译码后被送到发射部件102上,由发射部件102将该访存操作发射到地址计算单元104;
步骤702、地址计算单元104计算访存操作所需要的虚拟地址,并将计算的结果发送到增强访存队列801中;
步骤703、增强访存队列801对所存储的访存操作进行查找,查看是否存在虚拟地址已知但物理地址未知的访存操作,若不存在,执行步骤710,否则,执行下一步;
步骤704、从增强访存队列801中选择一组或多组具有相同虚拟页面的访存操作;
由于访存行为具有的局部性,程序中连续的访存操作访问相同页面的情况很普遍,访存队列可以缓存多条访存操作,从中选出多条对应相同虚拟页面的访存操作的概率很大。而将访存队列中对应相同虚拟页面的访存操作视为一组,这一组访存操作一定对应相同的物理页面。因此从一个访存操作组中任意选择一个访存操作可以计算得到该组中所有访存操作的物理页面,在这种情况下,快速虚实地址转换部件107中的快速虚实地址转换表单元600只需要为该组访存操作提供一个查询端口即可。
图5所示的是图4对应的访存队列在某一时刻的现场,包含多条对应不同虚拟地址的读操作和写操作。对于采用4KB大小页面的系统来说,虚拟地址中的前20位为虚拟页面地址,后12位为虚拟页面内的地址偏移量。因此,对于标记为501到507的7个访存操作,标记为502和504的访存操作对应相同虚拟页面(它们的虚拟页面地址同为0x34523),标记为503和505的访存操作对应相同的虚拟页面(它们的虚拟页面地址同为0x33056)。因此,在步骤704中就可以选择两组具有相同虚拟页面的访存操作。
步骤705、从步骤704所选择出的访存操作组中选出一组,计算该组访存操作所对应的虚拟页面的起始地址。
以标记为502和504的访存操作组为例,虚拟页面的起始地址就是0x34523。
步骤706、利用步骤705中所计算得到的虚拟页面的起始地址,在快速虚实地址转换部件107的快速虚实地址转换表单元600上查找是否存在对应的虚拟地址,若有,则执行下一步,否则执行步骤709。
步骤707、根据虚拟页面的起始地址,得到物理页面的起始地址。
如图6所示,虚实页面地址对照表600主要包括三个部分:有效位601、虚拟页面起始地址的高位602、物理页面起始地址的高位603。在规定页面的起始地址必须是页面大小的整数倍的系统中,602和603仅需要保存地址的高位,不需要保存地址的页内偏移部分。在采用32位地址空间和4KB大小页面的系统中,602和603的宽度是20位。根据虚拟页面起始地址的高位对602进行查找,命中后根据得到的索引可以在603种查到相应的物理页面起始地址的高位。将得到的物理页面起始地址的高位和原始虚拟地址的业内偏移进行拼接,可以得到访存操作对应的物理地址。仍以标记为502和504的访存操作组为例,该寄存器组的虚拟页面的起始地址为0x34523,从表中可以查找到对应的物理页面的起始地址0x7915。
步骤708、同组的各个访存操作都可根据步骤707中得到的物理页面的起始地址,以及本身所带有的虚拟地址的页内偏移量计算各自对应的物理地址,计算结束后执行步骤710;
以标记为502和504的访存操作组为例,访存操作502的物理页面的起始地址为0x7915,而虚拟地址的页内偏移量为784,因此最后得到访存操作502的物理地址为0x7915784。
步骤709、发生快速虚实地址转换部件缺失,由处理器作相应处理。
步骤710、结束操作。
Claims (4)
1、一种快速虚实地址转换装置,包括取指和译码部件(101)、发射部件(102)、执行单元(103)、地址计算单元(104)、高速缓存(106)、快速虚实地址转换部件(107)和数据选择部件(108);其特征在于,还包括增强访存队列(801),所述的增强访存队列(801)包括访存队列(105)和选择单元(802);所述的快速虚实地址转换部件(107)包括快速虚实地址转换表单元(600)和至少两个物理地址生成单元(806);
其中,所述的取指和译码部件(101)电连接到所述的发射部件(102)上,所述的发射部件(102)则分别与所述的执行单元(103)和地址计算单元(104)电连接,所述的执行单元(103)和地址计算单元(104)之间并联连接,所述执行单元(103)都连接在装置中的结果总线上,所述地址计算单元(104)都与所述的增强访存队列(801)电连接,所述的增强访存队列(801)则分别连接到所述的高速缓存(106)和快速虚实地址转换部件(107)上,所述的高速缓存(106)和快速虚实地址转换部件(107)并联连接到所述的数据选择部件(108)上,数据选择部件(108)则与装置中的结果总线连接;
在所述的快速虚实地址转换部件(107)中,所述的快速虚实地址转换表单元(600)与所述的增强访存队列(801)中的选择单元(802)电相连,并分别电连接到所述的至少两个物理地址生成单元(806)上,所述的物理地址生成单元(806)还与所述的选择单元(802)电连接,并与所述的数据选择部件(108)电连接;
所述的选择单元(802)选择对应相同虚拟页面的多个访存操作,并发送到所述的快速虚实地址转换部件(107)和高速缓存(106)。
2、根据权利要求1所述的快速虚实地址转换装置,其特征在于,所述的物理地址生成单元(806)用虚拟页面查询快速虚实地址转换部件(107)得到物理页面起始地址,根据对应相同虚拟页面的访存操作的虚拟地址的页内偏移得到页内偏移,将物理页面起始地址和虚拟地址的页内偏移拼合,得到所需的物理地址。
3、根据权利要求1所述的快速虚实地址转换装置,其特征在于,所述的至少两个物理地址生成单元(806)的个数与所述的选择单元(802)每次从所述的访存队列(105)中选出的对应相同虚拟页面的访存操作的最大个数相同。
4、一种使用权利要求1所述的快速虚实地址转换装置进行快速虚实地址转换的方法,包括:
步骤701)、一个访存操作经所述的取指和译码部件(101)译码后被送到发射部件(102)上,由发射部件(102)将该访存操作发射到地址计算单元(104);
步骤702)、所述的地址计算单元(104)计算访存操作所需要的虚拟地址,并将计算的结果发送到所述的增强访存队列(801)中;
步骤703)、所述的增强访存队列(801)对所存储的访存操作进行查找,查看是否存在虚拟地址已知但物理地址未知的访存操作,若不存在,执行步骤710),否则,执行下一步;
步骤704)、从所述的增强访存队列(801)中选择一组或多组具有相同虚拟页面的访存操作;
步骤705)、从步骤704)所选择出的访存操作组中选出一组,计算该组访存操作所对应的虚拟页面的起始地址;
步骤706)、利用步骤705)中所计算得到的虚拟页面的起始地址,在所述的快速虚实地址转换部件(107)的快速虚实地址转换表单元(600)上查找是否存在对应的虚拟地址,若有,则执行下一步,否则执行步骤709);
步骤707)、根据虚拟页面的起始地址,得到物理页面的起始地址;
步骤708)、同组的各个访存操作都可根据步骤707)中得到的物理页面的起始地址,以及本身所带有的虚拟地址的页内偏移量计算各自对应的物理地址,计算结束后执行步骤710);
步骤709)、发生快速虚实地址转换部件缺失,由处理器作相应处理;
步骤710)、结束操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101715187A CN100520739C (zh) | 2006-12-30 | 2006-12-30 | 一种快速虚实地址转换装置及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101715187A CN100520739C (zh) | 2006-12-30 | 2006-12-30 | 一种快速虚实地址转换装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101211318A CN101211318A (zh) | 2008-07-02 |
CN100520739C true CN100520739C (zh) | 2009-07-29 |
Family
ID=39611355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101715187A Expired - Fee Related CN100520739C (zh) | 2006-12-30 | 2006-12-30 | 一种快速虚实地址转换装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100520739C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9477634B2 (en) | 2010-06-04 | 2016-10-25 | Intersil Americas LLC | I2C address translation |
CN102426554A (zh) * | 2011-11-04 | 2012-04-25 | 杭州中天微系统有限公司 | 控制旁路转换缓冲器的接口转换装置 |
US10558584B2 (en) | 2014-06-23 | 2020-02-11 | Intel Corporation | Employing intermediary structures for facilitating access to secure memory |
US9703720B2 (en) | 2014-12-23 | 2017-07-11 | Intel Corporation | Method and apparatus to allow secure guest access to extended page tables |
US9940129B2 (en) * | 2015-04-24 | 2018-04-10 | Optimum Semiconductor Technologies, Inc. | Computer processor with register direct branches and employing an instruction preload structure |
CN106775587B (zh) * | 2016-11-30 | 2020-04-14 | 上海兆芯集成电路有限公司 | 计算机指令的执行方法以及使用此方法的装置 |
CN116339916B (zh) * | 2023-03-17 | 2023-11-10 | 摩尔线程智能科技(北京)有限责任公司 | 一种内存虚拟化方法及装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194462A1 (en) * | 2001-05-04 | 2002-12-19 | Ip First Llc | Apparatus and method for selecting one of multiple target addresses stored in a speculative branch target address cache per instruction cache line |
CN1447228A (zh) * | 2003-02-21 | 2003-10-08 | 中国航天科技集团公司第九研究院七七一研究所 | 一种16位微处理器的系统结构 |
CN1547126A (zh) * | 2003-12-04 | 2004-11-17 | 中国科学院计算技术研究所 | 一种发起方触发的远程内存访问操作虚实地址转换方法 |
US7134005B2 (en) * | 2001-05-04 | 2006-11-07 | Ip-First, Llc | Microprocessor that detects erroneous speculative prediction of branch instruction opcode byte |
-
2006
- 2006-12-30 CN CNB2006101715187A patent/CN100520739C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194462A1 (en) * | 2001-05-04 | 2002-12-19 | Ip First Llc | Apparatus and method for selecting one of multiple target addresses stored in a speculative branch target address cache per instruction cache line |
US7134005B2 (en) * | 2001-05-04 | 2006-11-07 | Ip-First, Llc | Microprocessor that detects erroneous speculative prediction of branch instruction opcode byte |
CN1447228A (zh) * | 2003-02-21 | 2003-10-08 | 中国航天科技集团公司第九研究院七七一研究所 | 一种16位微处理器的系统结构 |
CN1547126A (zh) * | 2003-12-04 | 2004-11-17 | 中国科学院计算技术研究所 | 一种发起方触发的远程内存访问操作虚实地址转换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101211318A (zh) | 2008-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7447868B2 (en) | Using vector processors to accelerate cache lookups | |
CN100520739C (zh) | 一种快速虚实地址转换装置及其方法 | |
US7694077B2 (en) | Multi-port integrated cache | |
JP5945291B2 (ja) | デフレート圧縮のために高速で高圧縮のlz77トークン化及びハフマンエンコーディングを行う並列装置 | |
KR101710116B1 (ko) | 프로세서, 메모리 관리 장치 및 방법 | |
CN102141905B (zh) | 一种处理器体系结构 | |
US9396117B2 (en) | Instruction cache power reduction | |
CN101523359B (zh) | 具有减小数据高速缓存访问功率的微标签阵列的处理器及其应用 | |
US7831760B1 (en) | Serially indexing a cache memory | |
US20130054665A1 (en) | Methods and systems for performing exponentiation in a parallel processing environment | |
CN107111455A (zh) | 使用虚拟地址的缓存访问 | |
US20080065809A1 (en) | Optimized software cache lookup for simd architectures | |
US20060047884A1 (en) | System and method for power efficent memory caching | |
CN110018971B (zh) | 缓存替换技术 | |
CN109983536A (zh) | 响应标签匹配命令的存储电路 | |
US8195889B2 (en) | Hybrid region CAM for region prefetcher and methods thereof | |
WO2013166101A1 (en) | Managing buffer memory | |
CN105393210A (zh) | 用于模拟共享存储器结构的存储器单元 | |
CN102708190A (zh) | 一种CC-NUMA系统中结点控制芯片目录Cache的方法 | |
CN103778070A (zh) | 多个块一致性操作的并行处理 | |
CN102541761B (zh) | 应用于嵌入式芯片的只读高速缓冲存储器 | |
CN107291630B (zh) | 一种高速缓冲存储器处理方法及装置 | |
US6694407B1 (en) | Cache memory with data transfer control and method of operating same | |
KR100304779B1 (ko) | 다방향연상기억방식의캐시메모리 | |
CN103019657B (zh) | 支持数据预取与重用的可重构系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090729 |