Day 19 MMU 与 TLB

前言

前面几天提到了虚拟记忆体,以及一些关於实体记忆体与虚拟记忆体的映射方式,今天来讲讲两个重要的设计,MMU与 TLB,这两个部分都是属於硬体设计的部分,以下是实际上MMU与TLB做的事情。

MMU

在前面已经讲过,现代的作业系统大多是使用虚拟记忆体管理的方式,这需要处理器里的MMU(memory management unit) 进行支持,才能够进行查找。MMU将虚拟位址(virtual address)映射到实体位址(physical address)的方式,是利用cr3 register 又称为 page table base register拿到分页表的起始位置,再利用 page index(上图的p),对分页表查找。 cr3 是负责记录该行程的分页表在记忆体中的起始位置的暂存器,因为每个行程都有各自的分页表,所以当行程转换的时候也需要同时修改cr3

TLB(Translation Lookaside Buffers)

上面MMU的转换方法,会需要存取实体记忆体,也因为CPU的速度远远大於实体记忆体,所以虚拟位址转成实体位址的过程,很容易变成效能的瓶颈,因此TLB就产生了,处理器会将最近使用的分页目录与分页资料放在名叫TLB的快取中,藉此加速虚拟位址跟实体位址转换的速度。另外要注意的是,当cr3 快取记忆体更新的时候,TLB也要全部刷新,避免转换错误。


<<:  Day 20 服务设计之隐私规划架构实作

>>:  初学者跪着学JavaScript Day19 : 原型毕露(上)

【C# 群益 API 开发教学】取得商品报价、Tick、最佳 5 档教学 #CH3 (附范例)

群益 API 是利用自己开发的程序,结合群益 API 在群益券商下单的一种方式,通常是做程序交易下单...

[自学笔记]什麽是.NET? .NET Framework?.NET Core?

.NET是什麽 .NET是一个微软搭造的开发者平台,它主要包括: 1.支持(面向)该平台的程序语言(...

Day33 ( 电子元件 ) 长条图显示土壤湿度

长条图显示土壤湿度 教学原文参考:长条图显示土壤湿度 这篇文章会介绍如何使用土让湿度感测器,搭配「点...

html表格

今天来说说如何在html中产生一个表格,我们需要用到table这个语法,table的用法如下 tab...

【Day 22】阵列的应用-Bubble sort

有时候我们在写程序时,可能会需要对一组资料进行排序。而关於资料排序的演算法其实有很多种,这里我们先针...