首页> 外国专利> Virtual memory system with hardware TLB and unmapped software TLB updated from mapped task address maps using unmapped kernel address map

Virtual memory system with hardware TLB and unmapped software TLB updated from mapped task address maps using unmapped kernel address map

机译:使用未映射的内核地址映射从映射的任务地址映射更新具有硬件TLB和未映射的软件TLB的虚拟内存系统

摘要

A virtual memory system includes a hardware-implemented translation lookaside buffer (HTLB) as well as a software-implemented translation lookaside buffer (VTLB). The VTLB is in the system's unmapped memory. The system further includes a plurality of address maps, corresponding to an operating system kernel and to individual tasks executing within the system. The kernel has an address space which includes both mapped and unmapped memory. The address maps corresponding to the individual tasks are stored in the mapped memory of the kernel's address space. The address map corresponding to the kernel itself, however, is stored in the kernel's unmapped memory. HTLB misses are handled by referring to the VTLB. VTLB misses are handled by referring to an appropriate one of the address maps. The code for handling these misses resides in unmapped memory of the kernel's address space. This arrangement prevents recursive TLB misses, without requiring permanent or "wired" VTLB entries. Because there are no permanent VTLB entries, the VTLB can have a simple and efficient structure, and its size can be bounded. As a further feature, the address maps are associated with both spin locks and mutex locks. A routine which modifies an individual address map first acquires the mutex lock associated with the address map and performs initial examination of the address map. Once the routine is ready to make actual modification, it also acquires the spin lock. By having the two types of locks, the majority of the routine can be preemptible. Only the portion of the routine which actually modifies the address map needs to be non- preemptible.
机译:虚拟存储器系统包括硬件实现的转换后备缓冲器(HTLB)和软件实现的转换后备缓冲器(VTLB)。 VTLB位于系统的未映射内存中。该系统还包括多个地址映射,其对应于操作系统内核以及系统中执行的各个任务。内核具有一个地址空间,其中既包含映射的内存,也包含未映射的内存。与各个任务相对应的地址映射存储在内核地址空间的映射内存中。但是,与内核本身相对应的地址映射存储在内核的未映射内存中。通过参考VTLB处理HTLB未命中。通过引用适当的地址映射之一来处理VTLB丢失。处理这些未命中的代码驻留在内核地址空间的未映射内存中。这种安排可防止递归TLB遗漏,而无需永久或“有线” VTLB条目。因为没有永久性的VTLB条目,所以VTLB可以具有简单有效的结构,并且可以限制其大小。作为进一步的功能,地址映射与自旋锁和互斥锁都关联。修改单个地址图的例程首先获取与该地址图关联的互斥锁,并对地址图执行初始检查。一旦例程准备好进行实际修改,它还将获取自旋锁。通过拥有两种类型的锁,大部分例程可以被抢占。只有例程中实际修改地址映射的部分才是不可抢占的。

著录项

  • 公开/公告号US5835964A

    专利类型

  • 公开/公告日1998-11-10

    原文格式PDF

  • 申请/专利权人 MICROSOFT CORPORATION;

    申请/专利号US19960639773

  • 发明设计人 GILAD ODINAK;RICHARD P. DRAVES;

    申请日1996-04-29

  • 分类号G06F12/10;

  • 国家 US

  • 入库时间 2022-08-22 02:38:10

相似文献

  • 专利
  • 外文文献
  • 中文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号