WO2017020600A1 - 一种微处理器存储管理方法 - Google Patents

一种微处理器存储管理方法 Download PDF

Info

Publication number
WO2017020600A1
WO2017020600A1 PCT/CN2016/078067 CN2016078067W WO2017020600A1 WO 2017020600 A1 WO2017020600 A1 WO 2017020600A1 CN 2016078067 W CN2016078067 W CN 2016078067W WO 2017020600 A1 WO2017020600 A1 WO 2017020600A1
Authority
WO
WIPO (PCT)
Prior art keywords
page
address
page table
register
microprocessor
Prior art date
Application number
PCT/CN2016/078067
Other languages
English (en)
French (fr)
Inventor
周海林
Original Assignee
成都腾悦科技有限公司
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 成都腾悦科技有限公司 filed Critical 成都腾悦科技有限公司
Publication of WO2017020600A1 publication Critical patent/WO2017020600A1/zh

Links

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

Definitions

  • the present invention relates to a microprocessor storage management method.
  • Virtual memory technology is an abstract description of the entire memory, which can be understood as the sum of the virtual addresses provided by the processor for the user program. Compared with the physical memory, it does not exist "real" because of the modern operating system. Both provide an abstraction of memory management, namely virtual memory. The process uses the address in virtual memory, which is assisted by the operating system to "convert" it into a real physical address. With this abstraction, a process can use a much larger address space than the real physical address, and even multiple processes can use the same address.
  • a logical address is an address used in a machine language instruction to specify an operand or an instruction.
  • the physical address is used for memory chip level unit addressing, which corresponds to the address bus to which the processor and CPU are connected.
  • the object of the present invention is to overcome the deficiencies of the prior art, and provide a novel microprocessor storage management method for accelerating the conversion of a logical address to a physical address, and the operating system sets a multi-task protection initial address register and multitasking. Protect the end address register to prevent unauthorized access by user programs.
  • a microprocessor storage management method the page table attributes are as follows:
  • the register page length of the microprocessor is 64 bits, the upper 11 bits are reserved, the middle 40 bits are page frame numbers, and the lower 13 bits are page table attribute items;
  • the page table index is at the physical address, that is, the page frame number
  • Bits 12-1 Reserved system usage
  • bit 0 page exists bit p;
  • Process Identifier Register The process identifier consists of a 10-bit field that is mechanically allocated by the system for each process; the operating system allocates a different process identifier for each process, and the storage management unit is in the process of logic Address to physical address translation ⁇ process identifier bits 9 to 0 find the corresponding page table entry in the page directory table indicated by the page directory register;
  • Multi-task protection start address register used to store the storage management unit for virtual address translation, the smallest physical address, multi-tasking protection start address register can only be accessed and set by the core program, access and setting of non-core programs Will cause an abnormality in the microprocessor;
  • Multi-task protection end address register used to store the storage management unit for virtual address translation, the largest physical address, multi-tasking protection end address register can only be accessed and set by the core program, non-core program access and settings will The microprocessor generates an exception;
  • Multitasking Protection Enable Register When the register is set to address conversion, the storage management unit determines whether the physical address is within the scope of the multitasking protection start address register and the multitasking protection end address register, when storage management After the unit translates the virtual address to the physical address, the storage management unit detects whether the physical address is within the scope of the multitasking protection start address register and the multitasking protection end address register. Otherwise, a page outbound exception is generated;
  • Storage Management Unit Attribute Register This register can only be read by the program, and cannot be changed. It reflects the version number and function data of the storage management unit used by the microprocessor;
  • page directory register for storing the physical address of the page directory, the register controls the level 0 cache of the microprocessor core, the cache stores the page directory currently used by the CPU, and has a certain number of unit pages, And the content of the page can be changed and accessed by the program, and the system can use the page exchange instruction to put the required page on the on-chip cache address;
  • Three-level page table register for storing the physical address of the three-level page table, the register controls the level 0 cache of the microprocessor core, and the buffer stores the three-level page table currently used by the CPU, which has a certain number of unit pages, and the content of the page can be changed and accessed by the program, the system can use the page exchange instruction to put the required page on the on-chip cache address;
  • the secondary page table register is used to store the physical address of the secondary page table, the register controls the level 0 cache of the microprocessor core, and the cache stores the secondary page table currently used by the CPU, which has a certain number of unit pages, and the content of the page can be changed and accessed by the program, the system can use the page exchange instruction to put the required page on the on-chip cache address;
  • First-level page table register for storing the physical address of the first-level page table, the register controls the level 0 cache of the microprocessor core, and the buffer stores the first-level page table currently used by the CPU, which has a certain number of unit pages, and the content of the page can be changed and accessed by the program, the system can use the page exchange instruction to put the required page on the on-chip cache address;
  • Cache index storage unit at a starting position of each level cache of the microprocessor core, a certain number of on-chip fully connected images and transformations are set, a fully connected image and transformation can be performed, and the content of the page can be changed by the program and Access, the program can use the page swapping instruction to put the required page on the on-chip cache address, and then use the on-chip access instruction to put the value of the page into the corresponding entry of the fully-connected lookup unit, thus enabling the microprocessor to convert the virtual address ⁇ Waste less microprocessor clock cycles, the core program puts the page directory that is often used for address translation and the page table that will be used recently, which enables the microprocessor to reduce the waiting time;
  • Cache The cache unit can use the on-chip access instruction to change and access, and can also use the page swap instruction to put the required page into the on-chip cache address or main memory, and the operating system will use it soon.
  • the page is placed on the chip by a page swap instruction, or the page is cached into the main memory using the cache swap instruction.
  • each active process because it uses its independent logical address, needs to put its page directory address into the page directory register, and then establish the page directory table, Put the page directory table into the page directory cache cable storage unit;
  • the address cached by the on-chip processor of the conventional processor is not transparent to the program, and the address of the on-chip cache of the present invention is transparent to the program, enabling the program to more effectively predict the data to be used.
  • a large amount of on-chip cache is used, which can reduce the CPU clock spent on the conversion of a logical address to a physical address.
  • the storage management unit divides the physical memory and the on-chip cache into storage unit management units of the same size as pages, called pages, or pages.
  • the logical address transformation can transform the "logical addresses” overlapping between processes to different "physical addresses". Thereby avoiding the address "conflict" in the true sense and realizing the isolation between processes.
  • many other benefits can be realized. Therefore, the existing operating system uses address translation for memory management, and the CPU internally provides hardware support for the paging mechanism to speed up the conversion. .
  • the operating system establishes a transformation relationship table from the logical address page to the physical address page for the process, and uses four kinds of logical tables in the middle, which are respectively called page directory, third-level page table, second-level page table and first-level page table, and table size. Both are 8kb bytes.
  • a special cache register with parallel search capability is added to the address translation mechanism, which is called "Lenovo Register" (TLB, Translation Lookaside).
  • Buffer used to store the page stored on the current slice.
  • the address translation process of this device is: After the CPU gives the logical address, the address translation mechanism automatically performs the table lookup conversion in the "fast table” first. If the conversion is successful, it is called “hit”, and the current "hit” rate. Up to 90% or more, the performance loss caused by the paging mechanism is reduced to an acceptable level. If the table lookup conversion fails in the "fast table", the general address conversion is performed, and the probability is less than 10%. Its length is 2 to 13 bytes, and each page entry is 64 bits in length.
  • the storage management unit is responsible for finally translating a logical address into a physical address.
  • a microprocessor storage management method the page table attributes are as follows:
  • the register page length of the microprocessor is 64 bits, the upper 11 bits are reserved, the middle 40 bits are page frame numbers, and the lower 13 bits are page table attribute items;
  • the page table index is at the physical address, that is, the page frame number
  • Bits 12-1 Reserved system usage
  • bit 0 page exists bit p;
  • Process Identifier Register The process identifier in this version consists of a 10-bit field that is mechanically allocated by the system for each process; the operating system assigns a different process identifier to each process, storage management The unit finds a corresponding page table entry in the page directory table (page directory cache index storage unit) indicated by the page directory register by performing logical address to physical address conversion, process identifier bit 9 to bit 0;
  • Multi-task protection start address register used to store the storage management unit for virtual address translation, the smallest physical address, multi-tasking protection start address register can only be accessed and set by the core program, access and setting of non-core programs Will cause an abnormality in the microprocessor;
  • Multi-task protection end address register used to store the storage management unit for virtual address translation, the largest physical address, multi-tasking protection end address register can only be accessed and set by the core program, non-core program access and settings will The microprocessor generates an exception;
  • Multitasking Protection Enable Register When the register is set to address translation, the storage management unit determines whether the physical address is within the scope of the multitasking protection start address register and the multitasking protection end address register, when storage management After the unit translates the virtual address to the physical address, the storage management unit detects whether the physical address is within the scope of the multitasking protection start address register and the multitasking protection end address register, otherwise a page outbound exception is generated;
  • Storage Management Unit Attribute Register This register can only be read by the program, and cannot be changed. It reflects the version number, function and other data of the storage management unit used by the microprocessor;
  • page directory register used to store the physical address of the page directory, the register controls the level 0 cache of the microprocessor core, the cache stores the page directory currently used by the CPU, and has a certain number of unit pages ( 8kb), and the content of the page can be changed and accessed by the program (can be changed and accessed using on-chip access instructions), the system can use the page swapping instructions to put the required page on the on-chip cache address
  • Three-level page table register for storing the physical address of the three-level page table, the register controls the level 0 cache of the microprocessor core, and the buffer stores the three-level page table currently used by the CPU, which has A certain number of unit pages (8kb), and the contents of the page can be changed and accessed by the program (can be changed and accessed using on-chip access instructions), the system can use the page swapping instructions to put the required pages on the slice Storage address
  • the secondary page table register is used to store the physical address of the secondary page table, the register controls the level 0 cache of the microprocessor core, and the cache stores the secondary page table currently used by the CPU, which has A certain number of unit pages (8kb), and the contents of the page can be changed and accessed by the program (can be changed and accessed using on-chip access instructions), the system can use the page swapping instructions to put the required pages on the on-chip cache address;
  • the primary page table register is used to store the physical address of the primary page table, the register controls the level 0 cache of the microprocessor core, and the cache stores the first page table used by the current CPU, which has A certain number of unit pages (8kb), and the contents of the page can be changed and accessed by the program (can be changed and accessed using on-chip access instructions), the system can use the page swapping instructions to put the required pages on the on-chip cache address;
  • Cache index storage unit at a starting position of each level cache of the microprocessor core, a certain number of on-chip fully connected images and transformations are set, a fully connected image and transformation can be performed, and the content of the page can be changed by the program and Access, the program can use the page swapping instructions to put the required page on the on-chip cache address (the traditional processor's cached address on the chip is not transparent to the program, and we can make the program more efficient by transparent to the program in the processor. Predicting the data to be used, and then using the on-chip access instruction to place the value of the page into the corresponding entry of the fully-connected lookup unit, thus enabling the microprocessor to waste less microprocessor clock cycles during virtual address translation.
  • the core program puts the page directory frequently used for address translation and the page table that will be used recently, which enables the microprocessor to reduce the waiting time;
  • Cache The cache unit can use the on-chip access instruction to change and access, and can also use the page swap instruction to put the required page into the on-chip cache address or main memory, and the operating system exchanges the page to be used by the page. Put the instruction on the slice, or put the page into the main memory using the cache swap instruction
  • each active process because it uses its independent logical address, 3 ⁇ 4 You need to put its page directory address in the page directory register, and then create a page directory table, you need to put the page directory table into the page directory cache index storage unit; (the processor uses the paging mode page directory can be unique There can also be multiple page directories, but we use multiple page directories to create a serious problem: when the process or field switch, the processor's on-chip cache will be updated, otherwise it will produce unpredictable errors. The peer processor will spend a lot of processor clock cycles, so we are more likely to use a single page directory table).
  • the microprocessor issues a page without an exception, by the operating system Fill the item, then reenter the instruction, and the microprocessor continues to convert; if the 0th bit of the page entry is 1, the found page table entry is 3 2 bits as the page frame number, find the first page table;

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

本发明公开了一种微处理器存储管理方法,每当进程引用逻辑地址,存储管理单元就到缓存索引存储单元中去查找,自动地先在"快表"中进行查表,如果找到则变换该片上缓存地址,如果没有找到则执行地址转换操作;将页帧号与逻辑地址中最后13位相加,得到物理地址,如果该地址在多任务保护开始地址寄存器与多任务保护结束地址寄存器范围内,虚拟地址转换成功,如果该地址不在开始地址寄存器与结束地址寄存器范围内,微处理器产生地址转换出界异常。本发明提供了一种新型的微处理器存储管理方法,加快了逻辑地址到物理地址的转换速度,操作系统通过设置多任务保护开始地址寄存器与多任务保护结束地址寄存器,可防止用户程序的非法访问。

Description

说明书 发明名称:一种微处理器存储管理方法 技术领域
[0001] 本发明涉及一种微处理器存储管理方法。
背景技术
[0002] 虚拟内存技术是对整个内存的抽象描述, 可以理解成处理器为用户程序提供的 虚拟地址的总和, 相对于物理内存而言, 它并不 "真实的"存在, 是因为现代操作 系统都提供了一种内存管理的抽象, 即虚拟内存 (virtual memory) 。 进程使用 虚拟内存中的地址, 由操作系统协助相关硬件, 把它"转换"成真正的物理地址。 有了这样的抽象, 一个进程就可以使用比真实物理地址大得多的地址空间, 甚 至多个进程可以使用相同的地址。
[0003] 现实的计算机设备所拥有的主存是有限的, 通过存储管理单元可以使进程拥有 巨大逻辑地址。 逻辑地址 (logical address)指的是机器语言指令中, 用来指定一个 操作数或者是一条指令的地址。 物理地址 (physical address)用于内存芯片级的单 元寻址, 与处理器和 CPU连接的地址总线相对应。 虽然可以直接把物理地址理解 成插在机器上那根内存本身, 把内存看成一个从 0字节一直到最大空量逐字节的 编号的大数组, 然后把这个数组叫做物理地址, 但是事实上, 这只是一个硬件 提供给软件的抽象, 内存的寻址方式并不是这样。 所以, 说它是"与地址总线相 对应"更贴切一些, 不过抛幵对物理内存寻址方式的考虑, 直接把物理地址与物 理的内存一一对应, 也是可以接受的。
[0004] 目前的 CPU储存管理单元大多采用分页管理, 或者分段管理, 或者二者兼而有 之。 大部分 CPU使用分页存储管理, 程序使用的逻辑地址需要转换成物理地址, 在逻辑地址到物理地址的转换中会花费大量的 CPU吋钟周期。
技术问题
[0005] 本发明的目的在于克服现有技术的不足, 提供一种新型的微处理器存储管理方 法, 加快逻辑地址到物理地址的转换, 操作系统通过设置多任务保护幵始地址 寄存器与多任务保护结束地址寄存器, 以防止用户程序的非法访问。 问题的解决方案
技术解决方案
[0006] 本发明的目的是通过以下技术方案来实现的: 一种微处理器存储管理方法, 页 表属性如下:
[0007] 所述微处理器的寄存器页长度为 64位, 高 11位保留, 中间 40位为页帧号, 低 13 位为页表属性项;
[0008] 其中, 第 42-13位: 页表索引在物理地址, 即页帧号;
[0009] 第 12-1位: 保留系统使用;
[0010] 第 0位: 页存在位 p;
[0011] 当页存在位 P=0吋, 表示页不在内存中, 留给操作系统使用, 用于定位到磁盘 上页面的位置, 若访问 P=0的页面, 则引发"缺页错误", 由中断处理程序负责将 磁盘上的页调入内存后, 原进程才能继续运行; 当页存在位 P=l吋, 表示该页能 够向物理地址转换;
[0012] 在页表转换吋需要用到的寄存器:
[0013] 进程标识符寄存器: 进程标识符由一个 10位长的字段组成, 由系统为每一个进 程机械地分配; 操作系统通过为每一个进程分配不同的进程标识符, 存储管理 单元在进行逻辑地址到物理地址转换吋进程标识符第 9位到 0位在页目录寄存器 所指示的页目录表中找到对应的页表项;
[0014] 多任务保护幵始地址寄存器: 用于存放存储管理单元进行虚拟地址转换吋最小 的物理地址, 多任务保护幵始地址寄存器只能被核心程序访问和设置, 非核心 程序的访问和设置会使微处理器产生异常;
[0015] 多任务保护结束地址寄存器: 用于存放存储管理单元进行虚拟地址转换吋最大 的物理地址, 多任务保护结束地址寄存器只能被核心程序访问和设置, 非核心 程序的访问和设置会使微处理器产生异常;
[0016] 多任务保护使能寄存器: 当该寄存器置位在地址转换吋, 存储管理单元会判断 物理地址是不是在多任务保护幵始地址寄存器与多任务保护结束地址寄存器范 围内, 当存储管理单元把虚拟地址向物理地址转换吋, 存储管理单元会检测物 理地址是否在多任务保护幵始地址寄存器与多任务保护结束地址寄存器范围内 , 否则产生页出界异常;
[0017] 存储管理单元属性寄存器: 该寄存器只能被程序读, 而不能被更改, 它反映的 是微处理器使用的存储管理单元的版本号及功能数据;
[0018] 页目录寄存器: 用于存放页目录所在的物理地址, 该寄存器控制着微处理器核 心的 0级缓存, 该缓存存放着当前 CPU在使用的页目录, 其有一定数量的单位页 面, 并且该页面的内容能够被程序更改和访问, 系统能够使用页面交换指令把 需要的页面放到片上的缓存地址;
[0019] 三级页表寄存器: 用于存放三级页表所在的物理地址, 该寄存器控制着微处理 器核心的 0级缓存, 该缓存存放着当前 CPU在使用的三级页表, 其有一定数量的 单位页面, 并且该页面的内容能够被程序更改和访问, 系统能够使用页面交换 指令把需要的页面放到片上的缓存地址;
[0020] 二级页表寄存器: 用于存放二级页表所在的物理地址, 该寄存器控制着微处理 器核心的 0级缓存, 该缓存存放着当前 CPU在使用的二级页表, 其有一定数量的 单位页面, 并且该页面的内容能够被程序更改和访问, 系统能够使用页面交换 指令把需要的页面放到片上的缓存地址;
[0021] 一级页表寄存器: 用于存放一级页表所在的物理地址, 该寄存器控制着微处理 器核心的 0级缓存, 该缓存存放着当前 CPU在使用的一级页表, 其有一定数量的 单位页面, 并且该页面的内容能够被程序更改和访问, 系统能够使用页面交换 指令把需要的页面放到片上的缓存地址;
[0022] 缓存索引存储单元: 在微处理器核心每一级缓存的幵始位置, 设置一定数量的 片上全相连映像与变换, 能够进行全相连映像与变换并且该页面的内容能够被 程序更改和访问, 程序能够使用页面交换指令把需要的页面放到片上的缓存地 址, 然后使用片上存取指令将页面的值放到全相连査找单元对应项中, 这样就 能够使微处理器在虚拟地址转换吋浪费更少的微处理器吋钟周期, 核心程序将 地址转换经常用到的页目录和最近将要用的页表放到其中, 能够使微处理器减 少等待的吋间;
[0023] 缓存: 缓存单元能够使用片上存取指令更改和访问, 也能够使用页面交换指令 把需要的页面放到片上的缓存地址或者主存中, 操作系统把即将需要使用到的 页面通过页面交换指令放到片上, 或者将该页面使用缓存交换指令放到主存中 [0024] 逻辑地址转换成物理地址的过程:
[0025] (1) 每当进程引用一个逻辑地址, 存储管理单元就到缓存索引存储单元中去 査找, 由存储管理单元自动地先在"快表"中进行査表, 如果找到则变换该片上缓 存地址, 如果没有找到则执行逻辑地址转换成物理地址的操作;
[0026] (2) 在分页机制下, 每一个活动的进程, 因为都使用其独立的逻辑地址, ¾ 么需要将它的页目录地址放到页目录寄存器中, 然后建立起页目录表, 需将该 页目录表放到页目录缓存索弓 I存储单元中;
[0027] (3) 根据进程标识符第 9位到 0位在页目录寄存器所指示的页目录表中找到对 应的页表项, 如果页表项的第 0位为 0, 表示该页表项无效, 微处理器发出页不 存在异常, 由操作系统来填充该项, 然后重入指令, 微处理器继续转换; 如果 该页表项的第 0位为 1, 则把找到的页表项高 32位作为页帧号, 找到三级页表地 址;
[0028] (4) 将找到的三级页表地址与三级页表寄存器比较, 如果相同, 则根据逻辑 地址第 42位到 33位在页目录寄存器所指示的页目录表中找到对应的页表项, 如 果页表项的第 0位为 0, 表示该页表项无效, 微处理器发出页不存在异常, 由操 作系统来填充该项, 然后重入指令, 微处理器继续转换; 如果该页表项的第 0位 为 1, 则把找到的页表项高 32位作为页帧号, 找到二级页表;
[0029] 如果不相同, 则根据三级页表地址到主存寻找, 如果页表项的第 0位为 0, 表示 该页表项无效, 微处理器发出页不存在异常, 由操作系统来填充该项, 然后重 入指令, 微处理器继续转换; 如果该页表项的第 0位为 1, 则把找到的页表项高 3 2位作为页帧号, 找到二级页表;
[0030] (5) 将找到的二级页表地址与二级页表寄存器比较, 如果相同, 则根据逻辑 地址第 32位到 23位在页目录寄存器所指示的页目录表中找到对应的页表项, 如 果页表项的第 0位为 0, 表示该页表项无效, 微处理器发出页不存在异常, 由操 作系统来填充该项, 然后重入指令, 微处理器继续转换; 如果该页表项的第 0位 为 1, 则把找到的页表项高 32位作为页帧号, 找到一级页表; [0031] 如果不相同, 则根据二级页表地址到主存寻找, 如果页表项的第 0位为 0, 表示 该页表项无效, 微处理器发出页不存在异常, 由操作系统来填充该项, 然后重 入指令, 微处理器继续转换; 如果该页表项的第 0位为 1, 则把找到的页表项高 3 2位作为页帧号, 找到一级页表;
[0032] (6) 将找到的一级页表地址与一级页表寄存器比较, 如果相同, 则根据逻辑 地址第 22位到 13位在页目录寄存器所指示的页目录表中找到对应的页表项, 如 果页表项的第 0位为 0, 表示该页表项无效, 微处理器发出页不存在异常, 由操 作系统来填充该项, 然后重入指令, 微处理器继续转换; 如果该页表项的第 0位 为 1, 则把找到的页表项高 32位作为物理页帧号;
[0033] 如果不相同, 则根据一级页表地址到主存寻找, 如果页表项的第 0位为 0, 表示 该页表项无效, 微处理器发出页不存在异常, 由操作系统来填充该项, 然后重 入指令, 微处理器继续转换; 如果该页表项的第 0位为 1, 则把找到的页表项高 3 2位作为物理页帧号;
[0034] (7) 将物理页帧号与逻辑地址中最后 13位相加, 得到物理地址, 如果该地址 在多任务保护幵始地址寄存器与多任务保护结束地址寄存器范围内, 虚拟地址 转换成功, 如果该地址不在多任务保护幵始地址寄存器与多任务保护结束地址 寄存器范围内, 微处理器产生地址转换出界异常。
发明的有益效果
有益效果
[0035] 本发明的有益效果是:
[0036] 1) 传统处理器片上缓存的地址对程序并不是透明的, 而本发明片上缓存的地 址对程序透明, 能够使程序更有效预测即将使用的数据。
[0037] 2) 大量使用片上缓存 (cache) , 可以减少逻辑地址到物理地址的转换所花费 的 CPU吋钟。 储存管理单元把物理内存、 片上 cache分成页面相同大小的存储块 管理单位, 称为页, 或者页面, 逻辑地址变换可以将进程之间相互重叠的 "逻辑 地址"变换到不同的"物理地址", 从而避免了真正意义上的地址"冲突", 实现了 进程之间的相互隔离。 此外还能实现其它很多好处, 因此现有操作系统都采用 地址变换进行内存管理, CPU内部为分页机制提供了硬件支持, 以加快变换速度 。 操作系统为进程建立从逻辑地址页到物理地址页的变换关系表, 中间用到 4种 逻辑表, 分别称为页目录, 三级页表, 二级页表和一级页表, 表的大小都是 8kb 个字节。 为了提高地址变换速度, 在地址变换机构中增设一个具有并行査寻能 力的特殊高速缓冲寄存器, 称为"联想寄存器" (TLB , Translation Lookaside
Buffer) , 用以存放当前片上存放的页。 此吋的地址变换过程是: 在 CPU给出逻 辑地址后, 由地址变换机构自动地先在 "快表 "中进行査表转换, 若转换成功, 则 称为"命中", 目前的"命中"率高达 90%以上, 使分页机制带来的性能损失降低到 了可接收的程度。 若在"快表"中进行査表转换失败, 则进行一般的地址变换, 概 率小于 10%。 它的长度都是取 2的 13次方个字节, 每一个页表项的长度都是 64位 , 存储管理单元负责把一个逻辑地址最终翻译为一个物理地址。 现有计算机 CPU 和主存之间在速度上存在的巨大差异, 而存储管理单元把逻辑地址转换成物理 地址, 会多次的访问主存, 从而花费大量的 CPU吋钟等待, 所以在 CPU和主存之 间设置了一个高速、 小容量 (相对于主存) 的缓存 (cache) , 对于提高整个计 算机性能有着重要的意义。
本发明的实施方式
[0038] 下面进一步详细描述本发明的技术方案, 但本发明的保护范围不局限于以下所 述。
[0039] 一种微处理器存储管理方法, 页表属性如下:
[0040] 所述微处理器的寄存器页长度为 64位, 高 11位保留, 中间 40位为页帧号, 低 13 位为页表属性项;
[0041] 其中, 第 42-13位: 页表索引在物理地址, 即页帧号;
[0042] 第 12-1位: 保留系统使用;
[0043] 第 0位: 页存在位 p;
[0044] 当页存在位 P=0吋, 表示页不在内存中, 留给操作系统使用, 用于定位到磁盘 上页面的位置, 若访问 P=0的页面, 则引发"缺页错误", 由中断处理程序负责将 磁盘上的页调入内存后, 原进程才能继续运行; 当页存在位 P=l吋, 表示该页能 够向物理地址转换; [0045] 在页表转换吋需要用到的寄存器:
[0046] 进程标识符寄存器: 在该版本的进程标识符由一个 10位长的字段组成, 由系统 为每一个进程机械地分配; 操作系统通过为每一个进程分配不同的进程标识符 , 存储管理单元在进行逻辑地址到物理地址转换吋进程标识符第 9位到 0位在页 目录寄存器所指示的页目录表 (页目录缓存索引存储单元) 中找到对应的页表 项;
[0047] 多任务保护幵始地址寄存器: 用于存放存储管理单元进行虚拟地址转换吋最小 的物理地址, 多任务保护幵始地址寄存器只能被核心程序访问和设置, 非核心 程序的访问和设置会使微处理器产生异常;
[0048] 多任务保护结束地址寄存器: 用于存放存储管理单元进行虚拟地址转换吋最大 的物理地址, 多任务保护结束地址寄存器只能被核心程序访问和设置, 非核心 程序的访问和设置会使微处理器产生异常;
[0049] 多任务保护使能寄存器: 当该寄存器置位在地址转换吋, 存储管理单元会判断 物理地址是不是在多任务保护幵始地址寄存器与多任务保护结束地址寄存器范 围内, 当存储管理单元把虚拟地址向物理地址转换吋, 存储管理单元会检测物 理地址是否在多任务保护幵始地址寄存器与多任务保护结束地址寄存器范围内 , 否则产生页出界异常;
[0050] 存储管理单元属性寄存器: 该寄存器只能被程序读, 而不能被更改, 它反映的 是微处理器使用的存储管理单元的版本号、 功能等数据;
[0051] 页目录寄存器: 用于存放页目录所在的物理地址, 该寄存器控制着微处理器核 心的 0级缓存, 该缓存存放着当前 CPU在使用的页目录, 其有一定数量的单位页 面 (8kb) , 并且该页面的内容能够被程序更改和访问 (可以使用片上存取指令 更改和访问) , 系统能够使用页面交换指令把需要的页面放到片上的缓存地址
[0052] 三级页表寄存器: 用于存放三级页表所在的物理地址, 该寄存器控制着微处理 器核心的 0级缓存, 该缓存存放着当前 CPU在使用的三级页表, 其有一定数量的 单位页面 (8kb) , 并且该页面的内容能够被程序更改和访问 (可以使用片上存 取指令更改和访问) , 系统能够使用页面交换指令把需要的页面放到片上的缓 存地址;
[0053] 二级页表寄存器: 用于存放二级页表所在的物理地址, 该寄存器控制着微处理 器核心的 0级缓存, 该缓存存放着当前 CPU在使用的二级页表, 其有一定数量的 单位页面 (8kb) , 并且该页面的内容能够被程序更改和访问 (可以使用片上存 取指令更改和访问) , 系统能够使用页面交换指令把需要的页面放到片上的缓 存地址;
[0054] 一级页表寄存器: 用于存放一级页表所在的物理地址, 该寄存器控制着微处理 器核心的 0级缓存, 该缓存存放着当前 CPU在使用的一级页表, 其有一定数量的 单位页面 (8kb) , 并且该页面的内容能够被程序更改和访问 (可以使用片上存 取指令更改和访问) , 系统能够使用页面交换指令把需要的页面放到片上的缓 存地址;
[0055] 缓存索引存储单元: 在微处理器核心每一级缓存的幵始位置, 设置一定数量的 片上全相连映像与变换, 能够进行全相连映像与变换并且该页面的内容能够被 程序更改和访问, 程序能够使用页面交换指令把需要的页面放到片上的缓存地 址 (传统处理器在片上的缓存的地址对程序并不是透明的, 而我们在该处理器 中对程序透明可以使程序更有效预测即将使用的数据) , 然后使用片上存取指 令将页面的值放到全相连査找单元对应项中, 这样就能够使微处理器在虚拟地 址转换吋浪费更少的微处理器吋钟周期, 核心程序将地址转换经常用到的页目 录和最近将要用的页表放到其中, 能够使微处理器减少等待的吋间;
[0056] 缓存: 缓存单元能够使用片上存取指令更改和访问, 也能够使用页面交换指令 把需要的页面放到片上的缓存地址或者主存中, 操作系统把即将需要使用到的 页面通过页面交换指令放到片上, 或者将该页面使用缓存交换指令放到主存中
[0057] 逻辑地址转换成物理地址的过程:
[0058] (1) 每当进程引用一个逻辑地址, 存储管理单元就到缓存索引存储单元中去 査找, 由存储管理单元自动地先在"快表"中进行査表, 如果找到则变换该片上缓 存地址, 如果没有找到则执行逻辑地址转换成物理地址的操作;
[0059] (2) 在分页机制下, 每一个活动的进程, 因为都使用其独立的逻辑地址, ¾ 么需要将它的页目录地址放到页目录寄存器中, 然后建立起页目录表, 需将该 页目录表放到页目录缓存索引存储单元中; (处理器使用分页模式吋页目录可 以是唯一的, 也可以有多个页目录, 但是我们使用多张页目录会产生一个严重 的问题: 在进程或者现场切换的吋候会将处理器的片上的缓存全部更新, 不然 会产生无法预测的错误。 同吋处理器会花费大量的处理器吋钟周期, 所以我们 更多的是希望使用单张一页目录表) 。
[0060] (3) 根据进程标识符第 9位到 0位在页目录寄存器所指示的页目录表 (页目录 缓存索引存储单元) 中找到对应的页表项, 如果页表项的第 0位为 0, 表示该页 表项无效, 微处理器发出页不存在异常, 由操作系统来填充该项, 然后重入指 令, 微处理器继续转换; 如果该页表项的第 0位为 1, 则把找到的页表项高 32位 作为页帧号, 找到三级页表地址;
[0061] (4) 将找到的三级页表地址与三级页表寄存器比较, 如果相同, 则根据逻辑 地址第 42位到 33位在页目录寄存器所指示的页目录表中找到对应的页表项, 如 果页表项的第 0位为 0, 表示该页表项无效, 微处理器发出页不存在异常, 由操 作系统来填充该项, 然后重入指令, 微处理器继续转换; 如果该页表项的第 0位 为 1, 则把找到的页表项高 32位作为页帧号, 找到二级页表;
[0062] 如果不相同, 则根据三级页表地址到主存寻找, 如果页表项的第 0位为 0, 表示 该页表项无效, 微处理器发出页不存在异常, 由操作系统来填充该项, 然后重 入指令, 微处理器继续转换; 如果该页表项的第 0位为 1, 则把找到的页表项高 3 2位作为页帧号, 找到二级页表;
[0063] (5) 将找到的二级页表地址与二级页表寄存器比较, 如果相同, 则根据逻辑 地址第 32位到 23位在页目录寄存器所指示的页目录表中找到对应的页表项, 如 果页表项的第 0位为 0, 表示该页表项无效, 微处理器发出页不存在异常, 由操 作系统来填充该项, 然后重入指令, 微处理器继续转换; 如果该页表项的第 0位 为 1, 则把找到的页表项高 32位作为页帧号, 找到一级页表;
[0064] 如果不相同, 则根据二级页表地址到主存寻找, 如果页表项的第 0位为 0, 表示 该页表项无效, 微处理器发出页不存在异常, 由操作系统来填充该项, 然后重 入指令, 微处理器继续转换; 如果该页表项的第 0位为 1, 则把找到的页表项高 3 2位作为页帧号, 找到一级页表;
[0065] (6) 将找到的一级页表地址与一级页表寄存器比较, 如果相同, 则根据逻辑 地址第 22位到 13位在页目录寄存器所指示的页目录表中找到对应的页表项, 如 果页表项的第 0位为 0, 表示该页表项无效, 微处理器发出页不存在异常, 由操 作系统来填充该项, 然后重入指令, 微处理器继续转换; 如果该页表项的第 0位 为 1, 则把找到的页表项高 32位作为物理页帧号。
[0066] 如果不相同, 则根据一级页表地址到主存寻找, 如果页表项的第 0位为 0, 表示 该页表项无效, 微处理器发出页不存在异常, 由操作系统来填充该项, 然后重 入指令, 微处理器继续转换; 如果该页表项的第 0位为 1, 则把找到的页表项高 3 2位作为物理页帧号。
[0067] (7) 将物理页帧号与逻辑地址中最后 13位相加, 得到物理地址, 如果该地址 在多任务保护幵始地址寄存器与多任务保护结束地址寄存器范围内, 虚拟地址 转换成功, 如果该地址不在多任务保护幵始地址寄存器与多任务保护结束地址 寄存器范围内, 微处理器产生地址转换出界异常。
[0068] 以上所述仅是本发明的优选实施方式, 应当理解本发明并非局限于本文所披露 的形式, 不应看作是对其他实施例的排除, 而可用于各种其他组合、 修改和环 境, 并能够在本文所述构想范围内, 通过上述教导或相关领域的技术或知识进 行改动。 而本领域人员所进行的改动和变化不脱离本发明的精神和范围, 则都 应在本发明所附权利要求的保护范围内。

Claims

权利要求书 [权利要求 1] 一种微处理器存储管理方法, 其特征在于: 页表属性如下: 所述微处理器的寄存器页长度为 64位, 高 11位保留, 中间 40位为 页帧号, 低 13位为页表属性项; 其中, 第 42-13位: 页表索引在物理地址, 即页帧号; 第 12-1位: 保留系统使用; 第 0位: 页存在位 p; 当页存在位 P=0时, 表示页不在内存中, 留给操作系统使用, 用于 定位到磁盘上页面的位置, 若访问 P=0的页面, 则引发 "缺页错误" , 由中断处理程序负责将磁盘上的页调入内存后, 原进程才能继 续运行; 当页存在位 P=l时, 表示该页能够向物理地址转换; 在页表转换时需要用到的寄存器: 进程标识符寄存器: 进程标识符由一个 10位长的字段组成, 由系 统为每一个进程机械地分配; 操作系统通过为每一个进程分配不 同的进程标识符, 存储管理单元在进行逻辑地址到物理地址转换 吋进程标识符第 9位到 0位在页目录寄存器所指示的页目录表中找 到对应的页表项; 多任务保护开始地址寄存器: 用于存放存储管理单元进行虚拟地 址转换时最小的物理地址, 多任务保护开始地址寄存器只能被核 心程序访问和设置, 非核心程序的访问和设置会使微处理器产生 计吊; 多任务保护结束地址寄存器: 用于存放存储管理单元进行虚拟地 址转换时最大的物理地址, 多任务保护结束地址寄存器只能被核 心程序访问和设置, 非核心程序的访问和设置会使微处理器产生 计吊; 多任务保护使能寄存器: 当该寄存器置位在地址转换时, 存储管 理单元会判断物理地址是不是在多任务保护开始地址寄存器与多 任务保护结束地址寄存器范围内, 当存储管理单元把虚拟地址向 物理地址转换时, 存储管理单元会检测物理地址是否在多任务保 护开始地址寄存器与多任务保护结束地址寄存器范围内, 否则产 生页出界异常; 存储管理单元属性寄存器: 该寄存器只能被程序读, 而不能被更 改, 它反映的是微处理器使用的存储管理单元的版本号及功能数 据; 页目录寄存器: 用于存放页目录所在的物理地址, 该寄存器控制 着微处理器核心的 0级缓存, 该缓存存放着当前 CPU在使用的页目 录, 其有一定数量的单位页面, 并且该页面的内容能够被程序更 改和访问, 系统能够使用页面交换指令把需要的页面放到片上的 缓存地址; 三级页表寄存器: 用于存放三级页表所在的物理地址, 该寄存器 控制着微处理器核心的 0级缓存, 该缓存存放着当前 CPU在使用的 三级页表, 其有一定数量的单位页面, 并且该页面的内容能够被 程序更改和访问, 系统能够使用页面交换指令把需要的页面放到 片上的缓存地址; 二级页表寄存器: 用于存放二级页表所在的物理地址, 该寄存器 控制着微处理器核心的 0级缓存, 该缓存存放着当前 CPU在使用的 二级页表, 其有一定数量的单位页面, 并且该页面的内容能够被 程序更改和访问, 系统能够使用页面交换指令把需要的页面放到 片上的缓存地址; 一级页表寄存器: 用于存放一级页表所在的物理地址, 该寄存器 控制着微处理器核心的 0级缓存, 该缓存存放着当前 CPU在使用的 一级页表, 其有一定数量的单位页面, 并且该页面的内容能够被 程序更改和访问, 系统能够使用页面交换指令把需要的页面放到 片上的缓存地址; 缓存索引存储单元: 在微处理器核心每一级缓存的开始位置, 设 置一定数量的片上全相连映像与变换, 能够进行全相连映像与变 换并且该页面的内容能够被程序更改和访问, 程序能够使用页面 交换指令把需要的页面放到片上的缓存地址, 然后使用片上存取 指令将页面的值放到全相连査找单元对应项中, 这样就能够使微 处理器在虚拟地址转换时浪费更少的微处理器时钟周期, 核心程 序将地址转换经常用到的页目录和最近将要用的页表放到其中, 能够使微处理器减少等待的时间; 缓存: 缓存单元能够使用片上存取指令更改和访问, 也能够使用 页面交换指令把需要的页面放到片上的缓存地址或者主存中, 操 作系统把即将需要使用到的页面通过页面交换指令放到片上, 或 者将该页面使用缓存交换指令放到主存中; 逻辑地址转换成物理地址的过程:
(1) 每当进程引用一个逻辑地址, 存储管理单元就到缓存索引存 储单元中去査找, 由存储管理单元自动地先在 "快表 "中进行査表 , 如果找到则变换该片上缓存地址, 如果没有找到则执行逻辑地 址转换成物理地址的操作;
(2) 在分页机制下, 每一个活动的进程, 因为都使用其独立的逻 辑地址, 那么需要将它的页目录地址放到页目录寄存器中, 然后 建立起页目录表, 需将该页目录表放到页目录缓存索弓 I存储单元 中;
(3) 根据进程标识符第 9位到 0位在页目录寄存器所指示的页目录 表中找到对应的页表项, 如果页表项的第 0位为 0, 表示该页表项 无效, 微处理器发出页不存在异常, 由操作系统来填充该项, 然 后重入指令, 微处理器继续转换; 如果该页表项的第 0位为 1, 则 把找到的页表项高 32位作为页帧号, 找到三级页表地址;
(4) 将找到的三级页表地址与三级页表寄存器比较, 如果相同, 则根据逻辑地址第 42位到 33位在页目录寄存器所指示的页目录表 中找到对应的页表项, 如果页表项的第 0位为 0, 表示该页表项无 效, 微处理器发出页不存在异常, 由操作系统来填充该项, 然后 重入指令, 微处理器继续转换; 如果该页表项的第 0位为 1, 则把 找到的页表项高 32位作为页帧号, 找到二级页表;
如果不相同, 则根据三级页表地址到主存寻找, 如果页表项的第 0 位为 0, 表示该页表项无效, 微处理器发出页不存在异常, 由操作 系统来填充该项, 然后重入指令, 微处理器继续转换; 如果该页 表项的第 0位为 1, 则把找到的页表项高 32位作为页帧号, 找到二 级页表;
(5) 将找到的二级页表地址与二级页表寄存器比较, 如果相同, 则根据逻辑地址第 32位到 23位在页目录寄存器所指示的页目录表 中找到对应的页表项, 如果页表项的第 0位为 0, 表示该页表项无 效, 微处理器发出页不存在异常, 由操作系统来填充该项, 然后 重入指令, 微处理器继续转换; 如果该页表项的第 0位为 1, 则把 找到的页表项高 32位作为页帧号, 找到一级页表;
如果不相同, 则根据二级页表地址到主存寻找, 如果页表项的第 0 位为 0, 表示该页表项无效, 微处理器发出页不存在异常, 由操作 系统来填充该项, 然后重入指令, 微处理器继续转换; 如果该页 表项的第 0位为 1, 则把找到的页表项高 32位作为页帧号, 找到一 级页表;
(6) 将找到的一级页表地址与一级页表寄存器比较, 如果相同, 则根据逻辑地址第 22位到 13位在页目录寄存器所指示的页目录表 中找到对应的页表项, 如果页表项的第 0位为 0, 表示该页表项无 效, 微处理器发出页不存在异常, 由操作系统来填充该项, 然后 重入指令, 微处理器继续转换; 如果该页表项的第 0位为 1, 则把 找到的页表项高 32位作为物理页帧号;
如果不相同, 则根据一级页表地址到主存寻找, 如果页表项的第 0 位为 0, 表示该页表项无效, 微处理器发出页不存在异常, 由操作 系统来填充该项, 然后重入指令, 微处理器继续转换; 如果该页 表项的第 0位为 1, 则把找到的页表项高 32位作为物理页帧号;
(7) 将物理页帧号与逻辑地址中最后 13位相加, 得到物理地址, 如果该地址在多任务保护开始地址寄存器与多任务保护结束地址 寄存器范围内, 虚拟地址转换成功, 如果该地址不在多任务保护 开始地址寄存器与多任务保护结束地址寄存器范围内, 微处理器 产生地址转换出界异常。
PCT/CN2016/078067 2015-07-31 2016-03-31 一种微处理器存储管理方法 WO2017020600A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510460340.7 2015-07-31
CN201510460340.7A CN104991869B (zh) 2015-07-31 2015-07-31 一种微处理器存储管理方法

Publications (1)

Publication Number Publication Date
WO2017020600A1 true WO2017020600A1 (zh) 2017-02-09

Family

ID=54303685

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/078067 WO2017020600A1 (zh) 2015-07-31 2016-03-31 一种微处理器存储管理方法

Country Status (2)

Country Link
CN (1) CN104991869B (zh)
WO (1) WO2017020600A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104991869B (zh) * 2015-07-31 2017-11-10 成都腾悦科技有限公司 一种微处理器存储管理方法
US9996361B2 (en) * 2015-12-23 2018-06-12 Intel Corporation Byte and nibble sort instructions that produce sorted destination register and destination index mapping
CN108491716B (zh) * 2018-01-29 2021-11-12 中国电子科技网络信息安全有限公司 一种基于物理页地址分析的虚拟机内存隔离性检测方法
KR102400977B1 (ko) * 2020-05-29 2022-05-25 성균관대학교산학협력단 프로세서를 통한 페이지 폴트 처리 방법
CN112416437B (zh) * 2020-12-02 2023-04-21 海光信息技术股份有限公司 信息处理方法、信息处理装置和电子设备
CN114201444B (zh) * 2021-12-06 2023-11-14 海飞科(南京)信息技术有限公司 用于存储管理的方法、介质、程序产品、系统和装置
CN114610653B (zh) * 2022-05-10 2022-08-05 沐曦集成电路(上海)有限公司 基于gpu内存的地址请求方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1489058A (zh) * 2002-10-10 2004-04-14 �Ҵ���˾ 管理数据处理器系统中虚拟化的物理存储器的方法和系统
CN101008922A (zh) * 2007-01-26 2007-08-01 浙江大学 面向异构多核体系的段页式存储空间管理方法
CN101782871A (zh) * 2009-01-16 2010-07-21 株式会社东芝 信息处理装置、处理器及存储器管理方法
CN103150521A (zh) * 2013-03-07 2013-06-12 周海林 一种高性能微处理器寄存器及其内存地址弹性保护方法
US8572349B2 (en) * 2006-01-31 2013-10-29 Agere Systems Llc Processor with programmable configuration of logical-to-physical address translation on a per-client basis
US20140310501A1 (en) * 2013-04-10 2014-10-16 Samsung Electronics Co., Ltd. Apparatus and method for calculating physical address of a processor register
CN104991869A (zh) * 2015-07-31 2015-10-21 成都腾悦科技有限公司 一种微处理器存储管理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794209A (zh) * 2006-01-17 2006-06-28 浙江大学 Java操作系统中段页式虚拟存储系统的实现方法
CN102866958B (zh) * 2012-09-07 2015-07-01 北京君正集成电路股份有限公司 一种离散内存访问的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1489058A (zh) * 2002-10-10 2004-04-14 �Ҵ���˾ 管理数据处理器系统中虚拟化的物理存储器的方法和系统
US8572349B2 (en) * 2006-01-31 2013-10-29 Agere Systems Llc Processor with programmable configuration of logical-to-physical address translation on a per-client basis
CN101008922A (zh) * 2007-01-26 2007-08-01 浙江大学 面向异构多核体系的段页式存储空间管理方法
CN101782871A (zh) * 2009-01-16 2010-07-21 株式会社东芝 信息处理装置、处理器及存储器管理方法
CN103150521A (zh) * 2013-03-07 2013-06-12 周海林 一种高性能微处理器寄存器及其内存地址弹性保护方法
US20140310501A1 (en) * 2013-04-10 2014-10-16 Samsung Electronics Co., Ltd. Apparatus and method for calculating physical address of a processor register
CN104991869A (zh) * 2015-07-31 2015-10-21 成都腾悦科技有限公司 一种微处理器存储管理方法

Also Published As

Publication number Publication date
CN104991869B (zh) 2017-11-10
CN104991869A (zh) 2015-10-21

Similar Documents

Publication Publication Date Title
WO2017020600A1 (zh) 一种微处理器存储管理方法
JP4531890B2 (ja) 原子的更新処理を実行する方法
US8566563B2 (en) Translation table control
KR102448124B1 (ko) 가상 주소들을 사용하여 액세스된 캐시
US20040117587A1 (en) Hardware managed virtual-to-physical address translation mechanism
JP2000122916A5 (zh)
US8190652B2 (en) Achieving coherence between dynamically optimized code and original code
WO2018027839A1 (zh) 一种页表缓存tlb中表项的访问方法,及处理芯片
CN101387969B (zh) 软硬件协同设计的动态二进制翻译方法
US20040117588A1 (en) Access request for a data processing system having no system memory
WO2014206217A1 (zh) 一种指令缓存的管理方法和处理器
JP6478843B2 (ja) 半導体装置及びキャッシュメモリ制御方法
JP2011013858A (ja) 演算処理装置およびアドレス変換方法
WO2021061466A1 (en) Memory management unit, address translation method, and processor
CN112416817B (zh) 预取方法、信息处理装置、设备以及存储介质
WO2012142894A1 (zh) 一种利用巨页映射降低cpu资源消耗的方法和装置
JP2001290706A (ja) Tlbキャッシュのためのプリフェッチ
WO2014105167A1 (en) Apparatus and method for page walk extension for enhanced security checks
Vasilakis et al. Decoupled fused cache: Fusing a decoupled LLC with a DRAM cache
US20080065855A1 (en) DMAC Address Translation Miss Handling Mechanism
US20040117591A1 (en) Data processing system having no system memory
US20040117590A1 (en) Aliasing support for a data processing system having no system memory
KR102482516B1 (ko) 메모리 어드레스 변환
US20050055528A1 (en) Data processing system having a physically addressed cache of disk memory
KR20190059221A (ko) 메모리 어드레스 변환

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16832089

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 18.07.2018)

122 Ep: pct application non-entry in european phase

Ref document number: 16832089

Country of ref document: EP

Kind code of ref document: A1