CN114780453A - 一种地址转换缓存表项管理方法 - Google Patents

一种地址转换缓存表项管理方法 Download PDF

Info

Publication number
CN114780453A
CN114780453A CN202210446247.0A CN202210446247A CN114780453A CN 114780453 A CN114780453 A CN 114780453A CN 202210446247 A CN202210446247 A CN 202210446247A CN 114780453 A CN114780453 A CN 114780453A
Authority
CN
China
Prior art keywords
address translation
translation cache
table entry
page table
address
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.)
Pending
Application number
CN202210446247.0A
Other languages
English (en)
Inventor
姜若旭
张磊
罗庆
印象
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cetc Shentai Information Technology Co ltd
Original Assignee
Cetc Shentai Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cetc Shentai Information Technology Co ltd filed Critical Cetc Shentai Information Technology Co ltd
Priority to CN202210446247.0A priority Critical patent/CN114780453A/zh
Publication of CN114780453A publication Critical patent/CN114780453A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开一种地址转换缓存表项管理方法,属于处理器领域。根据所请求的虚拟地址,判断该虚拟地址对应的页表项是否在地址转换缓存中,若在地址转换缓存中,则直接将该页表项对应的物理地址返回给处理器;若该页表项不在地址转换缓存中,则首先根据预置的重填方法在物理内存中获取该页表项,再判断地址转换缓存是否存在剩余空间;若地址转换缓存存在剩余空间,将页表项依照顺序写入地址转换缓存后,将页表项对应的物理地址返回给处理器,否则根据预置的替换算法,替换地址转换缓存中的表项后,将页表项对应的物理地址返回给处理器。

Description

一种地址转换缓存表项管理方法
技术领域
本发明涉及处理器技术领域,特别涉及一种地址转换缓存表项管理方法。
背景技术
地址转换是指将处理器发出访问内存的虚拟地址转换为实际的物理地址,地址转换允许在多个程序间高效安全地共享内存,地址转换消除小而受限的主存容量对程序设计造成的影响。
使用基于分页的虚拟存储器是当前处理器最通用的方法,用表格存储虚拟地址到物理地址的对应关系,这个表格被称为页表。当处理器发出虚拟地址,地址转换单元需要在物理内存中查找页表项,将虚拟地址转换为物理地址;但由于物理内存的访问速度受存储介质影响较大,而物理内存的运行速度相对于处理器本身来说,有几十倍的差距,借鉴Cache的设计理念,使用速度较快的缓存,将最近使用的地址转换表项缓存下来,缓存地址转换表项的部件称之为TLB。
地址转换缓存表项是在缓存中存放被访问过地址转换的页表项,当需要再次使用该地址转化时,可以直接从缓存中取出该地址转换页表项,使用页表项中的物理地址访问内存空间。目前替换表项的方法主要有基于最近最少使用替换算法LRU、基于FIFO的替换算法以及随机替换算法,它们应用在不同的环境中将有不同的表现,目前并没有在所有环境中都足够好的替换表项办法。
同时处理表项缺失的方法有两种:一旦发生地址转换缓存缺失,硬件把产生缺失的虚拟地址保存到地址缺失缓存寄存器中,同时产生一个地址转换缓存缺失类型的异常。在异常处理程序中,软件使用地址缺失缓存寄存器当中的虚拟地址去寻址物理内存中的页表项,找到对应的地址转换页表项,并写回到地址转换缓存中。当发生地址转换缓存缺失时,硬件自动使用当前的虚拟地址去寻址物理内存中的页表项,如果找到的页表项有效,那就将它写回到地址转换缓存中,整个过程全部都是有硬件自动完成的,软件不需要做任何事情;如果找到的页表项无效,硬件会产生一个页表项缺失类型的异常,在由操作系统来处理当前情况。
软件重填的方式相对灵活,但在发生缓存缺失时,会清空流水线,处理时间相对增加,而硬件重填不需要清空流水线,处理时间相对较短,但在发生页表项缺失时,仍然要由软件进行管理,目前并没有足够好的处理缺失的方法。
发明内容
本发明的目的在于提供一种地址转换缓存表项管理方法,以实现多种应对缓存缺失的办法与切换不同替换表项方法进行地址缓存表项管理。
为解决上述技术问题,本发明提供了一种地址转换缓存表项管理方法,包括:
根据所请求的虚拟地址,判断该虚拟地址对应的页表项是否在地址转换缓存中,若在地址转换缓存中,则直接将该页表项对应的物理地址返回给处理器;
若该页表项不在地址转换缓存中,则首先根据预置的重填方法在物理内存中获取该页表项,再判断地址转换缓存是否存在剩余空间;
若地址转换缓存存在剩余空间,将页表项依照顺序写入地址转换缓存后,将页表项对应的物理地址返回给处理器,否则根据预置的替换算法,替换地址转换缓存中的表项后,将页表项对应的物理地址返回给处理器。
可选的,所述预置的重填方法包括硬件重填:若所述虚拟地址对应的页表项不在地址转换缓存中,即发生地址转换缓存缺失,硬件自动使用当前虚拟地址去寻址物理内存中的页表项,若找到的页表项有效,则将它写回到地址转换缓存中,整个过程均是由硬件自动完成;若找到的页表项无效,硬件会产生一个页表项缺失类型的异常,再由操作系统来处理当前情况。
可选的,所述预置的重填方法包括软件重填:若所述虚拟地址对应的页表项不在地址转换缓存中,即发生地址转换缓存缺失,硬件把产生缺失的虚拟地址保存到地址缺失缓存寄存器中,同时产生一个地址转换缓存缺失类型的异常,在异常处理程序中,软件使用地址缓存缺失寄存器当中的虚拟地址去寻址物理内存中的页表项,找到对应的地址转换页表项,并写回到地址转换缓存中。
可选的,所述预置的替换算法为按照最近最少使用的替换算法LRU调整该地址转换缓存中的对象:
采用二叉树的方法实现伪LRU算法,在访问过程中从树的根到被访问数据块的路径记录在树的节点中,每次访问会指向不同的数据块节点,当地址转换缓存需要被替换时,替换当前二叉树所指向的数据块节点;对于A路组相联的地址转换缓存,需要预留A-1位来组成逻辑上的二叉树。
可选的,所述预置的替换算法为按照随机替换算法RANDOM调整该地址转换缓存中的对象:
通过计数器方法实现随机替换,计数器根据地址转换缓存的表项数选择位宽,根据处理器时钟,每周期加一,当地址转换缓存需要被替换时,访问该计数器,使用计数器当前的值作为被替换表项的索引,以此近似实现随机替换。
在本发明提供的地址转换缓存表项管理方法中,根据所请求的虚拟地址,判断该虚拟地址对应的页表项是否在地址转换缓存中,若在地址转换缓存中,则直接将该页表项对应的物理地址返回给处理器;若该页表项不在地址转换缓存中,则首先根据预置的重填方法在物理内存中获取该页表项,再判断地址转换缓存是否存在剩余空间;若地址转换缓存存在剩余空间,将页表项依照顺序写入地址转换缓存后,将页表项对应的物理地址返回给处理器,否则根据预置的替换算法,替换地址转换缓存中的表项后,将页表项对应的物理地址返回给处理器。本发明通过灵活的替换原则,降低页表项缺失概率;动态选择不同的重填方法,可以提高流水线效率。
附图说明
图1所示为本发明提供的一种地址转换缓存表项管理方法的流程图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种地址转换缓存表项管理方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
处理器发出虚拟地址VA,判断虚拟地址所在的页表项是否在地址转换缓存中,如果是,将地址转换缓存的表项中对应地址转换页表项的物理地址返回给处理器;否则触发地址转换缓存缺失异常,根据预先设置的方法,选择软件或硬件处理地址转换缓存缺失。
一、选取硬件处理地址转换缓存缺失,硬件单元利用页表基址寄存器找到存储于物理内存中的页表项,利用当前请求的虚拟地址进行寻址对应地址转换的页表项,同时判断页表项所对应物理内存空间属性,以及页表项的有效性:
(a)如果不满足内存访问属性,硬件单元发起内存访问错误;
(b)如果页表项无效,硬件单元发起页表项缺失异常,等待软件处理;
(b)如果页表项有效且满足访问属性要求,硬件单元将对应页表项写入地址转换缓存后,输出页表项中虚拟地址所对应的物理地址。
二、选取软件处理地址转换缓存缺失,硬件单元会在发生地址转换缓存缺失时,将所请求的虚拟地址保存在缺失地址缓存寄存器中,软件单元利用页表基址寄存器找到存储于物理内存中的页表项,获取虚拟地址进行寻址对应地址转换的页表项,判断页表项所对应物理内存空间属性,以及页表项的有效性:
(a)如果不满足内存访问属性,软件单元重新进行内存空间分配;
(b)如果页表项无效,软件单元通过访问下一级存储结构查找对应页表项;
(c)如果页表项有效且满足访问属性要求,软件单元通过相关指令将页表项写入地址转换缓存后,输出页表项中虚拟地址所对应的物理地址。
从物理内存中获取缺失的地址转换页表项,若地址转换缓存未被写满,则将所获取的地址转换页表项顺序写入地址转换缓存的空白空间;
若地址转换缓存已被写满,根据预先设置的方法,选择不同的地址转换缓存替换算法,对地址转换缓存中的表项进行替换操作。
选用随机替换算法RANDOM,则需要访问计数器模块,获取当前计数值,将计数值对应地址转换缓存删除,将当前得到的地址转换页表项写入所述地址转换缓存。
随机替换算法RANDOM更新地址转换缓存,通过计数器方法实现随机替换,计数器根据地址转换缓存的表项数选择位宽,根据处理器时钟,每周期加一,当地址转换缓存需要被替换时,访问该计数器,使用计数器当前的值作为被替换表项的索引,这样就近似实现了随机替换。
选用基于最近最少使用的替换算法LRU,则需要访问对应的LRU算法模块,获取要替换的地址转换缓存的表项索引,根据索引将从物理内存中获取的页表项写入地址转换缓存中。
基于最近最少使用的替换算法LRU,利用二叉树实现伪LRU算法,在访问过程中从树的根到被访问数据块的路径记录在树的节点中,对于A路组相联的地址转换缓存,需要预留A-1位来组成逻辑上的二叉树,通过每次访问地址转换缓存,改变二叉树节点数值,当地址转换缓存需要被替换时,访问二叉树,获取所指向的二叉树节点,将该节点所对应地址转换缓存的表项替换,这样就实现了伪LRU替换。通过二叉树的方法实现地址转换缓存替换,这种方法可以大大地减少硬件开销。
在地址转换页表项写入地址转换缓存后,将页表项中虚拟地址所对应的物理地址返回给处理器。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

Claims (5)

1.一种地址转换缓存表项管理方法,其特征在于,包括:
根据所请求的虚拟地址,判断该虚拟地址对应的页表项是否在地址转换缓存中,若在地址转换缓存中,则直接将该页表项对应的物理地址返回给处理器;
若该页表项不在地址转换缓存中,则首先根据预置的重填方法在物理内存中获取该页表项,再判断地址转换缓存是否存在剩余空间;
若地址转换缓存存在剩余空间,将页表项依照顺序写入地址转换缓存后,将页表项对应的物理地址返回给处理器,否则根据预置的替换算法,替换地址转换缓存中的表项后,将页表项对应的物理地址返回给处理器。
2.如权利要求1所述的地址转换缓存表项管理方法,其特征在于,所述预置的重填方法包括硬件重填:若所述虚拟地址对应的页表项不在地址转换缓存中,即发生地址转换缓存缺失,硬件自动使用当前虚拟地址去寻址物理内存中的页表项,若找到的页表项有效,则将它写回到地址转换缓存中,整个过程均是由硬件自动完成;若找到的页表项无效,硬件会产生一个页表项缺失类型的异常,再由操作系统来处理当前情况。
3.如权利要求2所述的地址转换缓存表项管理方法,其特征在于,所述预置的重填方法包括软件重填:若所述虚拟地址对应的页表项不在地址转换缓存中,即发生地址转换缓存缺失,硬件把产生缺失的虚拟地址存储到缺失地址缓存寄存器中,同时产生一个地址转换缓存缺失类型的异常,在异常处理程序中,软件使用缺失地址缓存寄存器当中的虚拟地址去寻址物理内存中的页表项,找到对应的地址转换页表项,并写回到地址转换缓存中。
4.如权利要求3所述的地址转换缓存表项管理方法,其特征在于,所述预置的替换算法为按照最近最少使用的替换算法LRU调整该地址转换缓存中的对象:
采用二叉树的方法实现伪LRU算法,在访问过程中从树的根到被访问数据块的路径记录在树的节点中,每次访问会指向不同的数据块节点,当地址转换缓存需要被替换时,替换当前二叉树所指向的数据块节点;对于A路组相联的地址转换缓存,需要预留A-1位来组成逻辑上的二叉树。
5.如权利要求4所述的地址转换缓存表项管理方法,其特征在于,所述预置的替换算法为按照随机替换算法RANDOM调整该地址转换缓存中的对象:
通过计数器方法实现随机替换,计数器根据地址转换缓存的表项数选择位宽,根据处理器时钟,每周期加一,当地址转换缓存需要被替换时,访问该计数器,使用计数器当前的值作为被替换表项的索引,以此近似实现随机替换。
CN202210446247.0A 2022-04-26 2022-04-26 一种地址转换缓存表项管理方法 Pending CN114780453A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210446247.0A CN114780453A (zh) 2022-04-26 2022-04-26 一种地址转换缓存表项管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210446247.0A CN114780453A (zh) 2022-04-26 2022-04-26 一种地址转换缓存表项管理方法

Publications (1)

Publication Number Publication Date
CN114780453A true CN114780453A (zh) 2022-07-22

Family

ID=82432743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210446247.0A Pending CN114780453A (zh) 2022-04-26 2022-04-26 一种地址转换缓存表项管理方法

Country Status (1)

Country Link
CN (1) CN114780453A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115640241A (zh) * 2022-10-08 2023-01-24 中科驭数(北京)科技有限公司 基于地址池的内存转换表表项管理方法、查询方法及装置
CN116775512A (zh) * 2023-08-22 2023-09-19 摩尔线程智能科技(北京)有限责任公司 页表管理装置、方法、图形处理器及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929796A (zh) * 2012-06-01 2013-02-13 杭州中天微系统有限公司 同时支持软件回填与硬件回填的内存管理模块
CN105701032A (zh) * 2014-12-14 2016-06-22 上海兆芯集成电路有限公司 具多样替换策略的集合关联快取内存
US20200341900A1 (en) * 2019-04-26 2020-10-29 Arm Limited System, method and apparatus for secure functions and cache line data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929796A (zh) * 2012-06-01 2013-02-13 杭州中天微系统有限公司 同时支持软件回填与硬件回填的内存管理模块
CN105701032A (zh) * 2014-12-14 2016-06-22 上海兆芯集成电路有限公司 具多样替换策略的集合关联快取内存
US20200341900A1 (en) * 2019-04-26 2020-10-29 Arm Limited System, method and apparatus for secure functions and cache line data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张雪霞: "《西北工业大学研究生学术年会论文集》", 30 November 2004, 西北工业大学出版社, pages: 292 - 294 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115640241A (zh) * 2022-10-08 2023-01-24 中科驭数(北京)科技有限公司 基于地址池的内存转换表表项管理方法、查询方法及装置
CN115640241B (zh) * 2022-10-08 2023-06-09 中科驭数(北京)科技有限公司 基于地址池的内存转换表表项管理方法、查询方法及装置
CN116775512A (zh) * 2023-08-22 2023-09-19 摩尔线程智能科技(北京)有限责任公司 页表管理装置、方法、图形处理器及电子设备
CN116775512B (zh) * 2023-08-22 2023-12-05 摩尔线程智能科技(北京)有限责任公司 页表管理装置、方法、图形处理器及电子设备

Similar Documents

Publication Publication Date Title
KR100843536B1 (ko) 컴퓨터 시스템 내의 메모리 관리 향상 방법, 메모리 관리 메커니즘 및 컴퓨터 판독 가능한 기록 매체
EP1196850B1 (en) Techniques for improving memory access in a virtual memory system
US6282617B1 (en) Multiple variable cache replacement policy
US20170235681A1 (en) Memory system and control method of the same
US5668968A (en) Two-level virtual/real set associative cache system and method with improved synonym detection
CN114780453A (zh) 一种地址转换缓存表项管理方法
JPH08235052A (ja) ディレクトリ内にアドレス・タグを記憶するためのシステムおよび方法
US5897651A (en) Information handling system including a direct access set associative cache and method for accessing same
JP3929872B2 (ja) キャッシュメモリ、プロセッサ及びキャッシュ制御方法
US6851038B1 (en) Background fetching of translation lookaside buffer (TLB) entries
US7024536B2 (en) Translation look-aside buffer for improving performance and reducing power consumption of a memory and memory management method using the same
CN114546898A (zh) 一种tlb管理方法、装置、设备及存储介质
US6990551B2 (en) System and method for employing a process identifier to minimize aliasing in a linear-addressed cache
US10754786B2 (en) Memory access method using simplified mapping table requiring smaller memory space
US20140013054A1 (en) Storing data structures in cache
US6397298B1 (en) Cache memory having a programmable cache replacement scheme
JP2008511882A (ja) 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法
WO2021008552A1 (zh) 数据读取方法和装置、计算机可读存储介质
US7143239B2 (en) Cache structure and methodology
CN114827076B (zh) 一种基于地址翻译单元的地址返回方法及系统
JPH05216767A (ja) エントリ置き換え制御方式
WO2000045270A1 (en) Techniques for improving memory access in a virtual memory system

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