Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

‎虚拟存储技术:程序员在逻辑存储空间编程,可

‎以解决物理地址空间大小有限和多道程序如何安
‎全共享内存的问题

‎ 存储器管理部件(MMU):将逻辑地址转化为物理
‎ 地址的元件
‎在地址转换过程中,通过硬件检查是否发生了访
‎问地址不在主存、地址越界或者访问越权的情况

‎如果访问信息不在主存,则由操作系统将数据从
‎虚拟存储器的基本概念
‎硬盘读到主存

‎如果发生了地址越界或者访问越权的现象,则由
‎操作系统进行相应的异常处理

‎虚拟存储机制由硬件与操作系统共同协作实现

‎进程:一个具有一定独立功能的程序关于某个数
‎据集合的一次运行活动

‎进程有自己的地址空间,包括只读区、可读可写
‎数据去、动态堆区和栈区

‎虚拟地址空间:高级语言源程序经过编译、汇
‎编、链接等处理生成可执行二进制机器目标代码
‎时,被映射到地址空间,是主存和硬盘存储器的
‎抽象

‎存放操作系统内核代码和数据
‎内核空间
‎内核代码和数据区在每个进程的地址空间中都相
‎同,用户程序没有权限访问

‎用来存放进程的代码和数据

‎用户栈:用来存放程序运行时过程调用的参数,
‎返回地址,过程局部变量等,随着程序的执行用
‎户栈不断的从高地址向低地址增长或者反方向减
退

‎共享库:存放公共的共享函数库代码

‎堆:用于动态申请存储区 ‎用户空间 ‎虚拟地址空间

‎可读写数据区:存放进程中的静态全局变量,堆
‎区从该区域的结尾处开始向高地址增长

‎只读数据和代码区:存放进程中的代码和只读数

‎将区域映射在虚拟地址空间两端的技术有利于存
‎储保护和存储管理

‎所有进程虚拟空间大小一致简化了链接器的设计
‎与实现,也简化了程序的加载过程

‎每个进程的虚拟地址空间一致,方便管理

‎把主存看成是硬盘存储器的一个缓存,在主存中
‎仅保存当前活动的程序段和数据区,根据需要在
‎虚拟地址空间的好处
‎硬盘和主存之间进行数据交换,有效利用有限的
‎主存空间

‎每个进程虚拟地址空间是私有的独立的,保证了
‎进程的独立运行

‎虚拟存储系统中,生成可执行文件时,会通过可
‎执行文件中的程序头表,将可执行文件中具有相
‎同访问属性的代码和数据段映射到虚拟地址空间

‎虚拟地址空间被划分成大小相等的页面

‎硬盘和主存之间按页面为单位交换信息

‎虚拟页:虚拟地址空间中的页,也称为逻辑页或
‎者虚页

‎页框:主存空间被划分成同样大小的页框,有时
‎也称为页帧、物理页或者实体页

‎请求分页:每次访问指令或数据,仅将当前需要
‎的页面从硬盘调入主存中,而进程中其他不活跃
‎ 的页则保留在硬盘上
缺页异常:访问的信息所在的页不在主存中,此

时,将硬盘缺失页面装入主存

‎未分配页:虚拟地址空间中没有内容的页,例如
‎栈和共享库映射区之间的区域

‎已分配页:代码和数据等有内容的区域所关联的
‎页面,已调入主存缓存在DRAM中的页面称为缓
‎存页,未调入主存而存在于硬盘上的页称为未缓
‎存页
半导体存储器:使用半导体器件构成的存储器

‎磁表面存储器:磁性材料存储器,例如磁盘、磁
‎页是内存和磁盘信息交换的单位,大小比块大很 按存储元件分类


‎多,也确实导致的磁盘访问代价也很大,为了提

‎高命中率,主存和虚拟页之间采用全相联映射的
‎光介质存储器:光盘
‎方式,同时在处理写操作时,使用回写的策略

‎随机存取存储器(RAM):按地址访问存储单元,
‎页表是用于描述虚拟页和主存页框号或者磁盘存
‎每个地址译码时间相同,存储介质是半导体存储
‎储位置之间关系的数据结构
‎ 器件
‎页表项:进程中每个虚拟页在页表中对应的表
‎项,内容包括存放位置、装入位、修改位、使用
顺序存取存储器(SAM):信息按照顺序存取,存

位、访问权限位和禁止缓存位 取时间取决于信息位置,以记录块为单位编址,


例如磁带

装入位:表示对应页面是否在主存,也称为有效 按存取方式分类

‎直接存取存储器(DAM):兼有RAM和SAM特点,

位或者存在位,装入位为1表示虚拟页已从外存调

‎先直接定位到信息所在区域开始处,然后顺序存
入主存,此时页表的存放位置字段指向主存物理

取,例如磁盘
页号,装入位为0表示没有被调入主存,此时如


果存放位置字段为null说明虚拟页是未分配的,

相联存储器:按内容检索到存储位置进行读写,
否则存放位置字段给出虚拟页在磁盘上的起始地

‎页表

例如快表
址 ‎ ‎

‎修改位:说明页是否被修改过,用于判断是否需 ‎读写存储器:信息可以读出和写入,例如RAM芯
‎要写回磁盘 存储器的分类


‎使用位:说明页的使用情况,用来确定换出的 ‎只读存储器(ROM):一般情况下不能写,但是某
按信息可更改性分类

‎些情况也可以写入
‎页,也称为替换控制位

‎访问权限位:说明页的访问权限,例如可读可 ‎读写存储器和只读存储器都使用随机存取的方式
‎写、只读还是只可执行等,用于存储保护 ‎进行访问

‎禁止缓存位:说明页是否能够装入cache,用于 ‎非易失性存储器:信息可以一直保留,不需要电
‎保证磁盘主存和cache中数据的一致性 ‎源维持,例如ROM,磁表面存储器,光盘存储器
‎按断电后信息的可保存性分类
‎根据表项的存放位置字段,从磁盘中将所缺失的 ‎易失性存储器:也称为挥发性存储器,电源关闭
‎页面读出,找一个空闲的页框存放该页信息 ‎时信息自动丢失,例如RAM,cache

‎如果没有空闲的页框,使用页替换策略,选择一 ‎高速缓冲存储器:速度接近CPU,静态RAM芯片
‎个页面进行淘汰 ‎组成,主要用来存放CPU经常使用到的指令和数
‎缺页异常处理程序的工作过程 ‎据
‎淘汰页面时,需要根据修改位确定是否需要将页
信息写回硬盘 ‎主存储器:指令直接面向的存储器,一般使用
‎MOS管半导体存储器组成

最后对页表项进行相应的更新,然后程序回到原

‎辅助存储器:系统运行时直接和主存储器交换信
来发生缺页的地方继续执行
‎ ‎按功能分类
‎息的存储器
‎系统中每个进程都有一个页表,操作系统加载程
分页式虚拟存储器

‎序时,根据可执行文件中的程序头表,确定每个 ‎海量后备存储器
‎可分配段所在的虚拟页号,及其磁盘存放位置,
‎在主存生成一个初始页表,初始页表中对应的装 ‎辅助存储器和海量后备存储器统称为外部存储
‎器,简称外存
‎入位都是0
虚拟存储器

‎页表属于进程控制信息,位于虚拟地址空间的内 ‎记忆单元:具有两种稳态能表示二进制0/1的物理
‎核空间,页表在主存的首地址记录在页表基址寄 ‎器件,也叫存储元或位元
存器中 ‎
‎存储列阵也称为存储体或者存储矩阵
‎ PU
C 执行指令时,首先要将虚拟地址转换为主存
‎ 物理地址,才能取到主存的指令和数据 ‎地址:为了存取存储体的信息,对存储单元进行
‎的编号
‎存储器管理部件:CPU中用于地址转换的部件
‎编址单位:具有相同地址的存储单元构成的一个
‎虚拟地址:两个字段,高字段是虚拟页号,低字 ‎单位,可以是一个字节或者一个字
‎段是页内偏移地址
‎按字节编址:一个地址中有一个字节
‎主存物理地址:两个字段,高字段是物理页号, ‎编址方式
‎地址转换 ‎按字编址
‎低字段是页内偏移地址
‎虚拟存储器的实现
‎因为虚拟页和物理页的大小是一样的,所以偏移 ‎CPU首先把想访问的主存单元地址送到主存地址
‎主存储器的组成和基本操作 ‎单元寄存器
‎地址字段长度相同

‎首先根据页表基址寄存器的内容,找到主存中对 ‎然后通过地址线将主存地址送到主存中的地址寄
‎应页表的起始位置 ‎存器,以便地址译码器译码后选中相应的单元

‎然后以虚拟地址高位的字段的虚拟页号作为索 ‎同时CPU将读写控制信号通过控制线送到主存的
‎指令访问主存的流程
‎引,找到对应的页表项 ‎读写控制电路

‎地址转换的过程 ‎如果是写操作,CPU将要写的信息送到主存数据
‎若装入位为1,则取出物理页号并和虚拟地址中的
‎寄存器,在读写控制电路的控制下,经数据线将
‎页内偏移地址进行拼接,形成访问主存时实际的
‎物理地址
存储器概述

‎信息写入选中的单元

‎若装入位为0,说明缺页,由操作系统进行缺页 ‎如果是读操作,主存读出选中的内容送数据线,
‎处理 ‎然后送到MDR中

‎快表(TLB):为了减少访存次数,把页表中最活跃 ‎最大可寻址范围:由地址线的位数决定
‎的几个页表项复制到高速缓存中,快表是高速缓
‎存中页表项组成的页表,也称为后备转换缓冲 ‎存储速度:可以用访问时间、存储周期或者存储
‎器,相应的主存中的页表称为慢表 ‎器带宽来表示

‎快表比页表小的多,为提高命中率,快表通常具 ‎访问时间:一般用读出时间和写入时间来表示
‎快表
‎有较高的关联度
‎读出时间:存储器接到命令开始,到信息被送到
‎TLB中的表项通过页表中的表项加一个TLB标记字 ‎数据线上所需要的时间
‎段组成,用来表示该表项取自哪个虚拟页表对应
‎的表项,在全相联方式下TLB标记字段就是虚拟 ‎写入时间:存储器接到命令开始,到信息被写入
‎存储器的主要性能指标
‎页号,组相联方式下就是虚拟页号的高位部分, ‎存储器所需的时间
‎虚拟页号的低位部分作为TLB组索引用于选择TLB

‎ ‎存储周期:存储器进行一次读写操作所需的全部
‎时间,也就是存储器进行连续写操作的最短间隔
‎CPU访存的过程存在三种缺失的情况 时间 ‎

‎TLB缺失:要访问的虚拟页不在TLB中 存储器带宽:表示存储器被连续访问时,可以提

供的数据传输效率,通常以每秒传送信息位数来

‎cache缺失:要访问的主存块不在cache中 ‎CPU访存过程 衡量

‎缺页:要访问的虚拟页不在主存中 静态RAM(SRAM):使用六个晶体管实现一个二

进制位,功耗大,集成度低,成本昂贵,无需读‎
‎这三种缺失一共有八种组合的情况,其中只有五
后再生,读写速度快,适合做高速小容量存储 ‎
‎种是可能发生的
器,例如高速缓存存储器 ‎
随机读取存储器

‎动态RAM(DRAM):只要一个晶体管就能实现一
‎TLB缺失异常处理程序:操作系统处理TLB缺失异
‎个二进制位,功耗小,集成度高,价格便宜,需
‎常的程序
‎要定时刷新和读后再生,读写速度慢,适合做慢
‎速大容量存储器,例如主存
‎实现简单,开销少
半导体存储器

‎分页式存储的特点 ‎不可在线改写内容的ROM:使用随机存取方式工
‎对于不采用对齐方式存储的计算机,可能出现指
‎作,使用特殊方式写入,写入后可以长期保存,
‎令或者数据跨页,不方便数据的处理、管理、保
‎用来存放固定的程序,例如监控程序或者启动程
‎护和共享
‎序,例如MROM、PROM、EPROM和EEPROM
‎只读存储器(ROM)
‎段:根据程序模块化特征将程序的逻辑结构划分 ‎各类存储元件的特点 ‎闪存:高密度非易失性读写存储器,兼有RAM和
‎成多个相对独立的部分,例如过程、数据表、数
‎ROM的优点,功耗低,集成度高,可擦除和编程
‎据阵列,段的结构通常包括了段名、段起点、段
‎写入,也叫快擦型电可擦除重编程ROM,例如U


‎盘和存储卡,也用于存放BIOS

‎段名:可用用户名、数据结构名或段号标识,以
‎信息的存取主要由磁层和磁头完成,是机械运
‎便程序编写、编译器优化和操作系统的调度管理 ‎磁表面存储器
‎动,速度很慢

‎段表项:用来指明对应段在主存中的位置、段 ‎处理器和存储器性能发展差异越来越大,存储器
‎长、访问权限、使用和装入情况等 ‎逐渐赶不上处理器

‎分段式虚拟存储器中,虚拟地址由段号和段内地 ‎存储器层次结构:把各种不同容量和不同存储速
‎址组成 ‎度的存储器按一定的结构组织在一起,形成层次
‎存储器的层次结构 ‎化的存储器结构,把程序和数据按照不同的层次
‎段表基址寄存器:存放每个进程的段表在内存的 ‎放在各级存储器之中,使得整个存储系统在速
‎分段式虚拟存储器
‎首地址 ‎度,容量和价格等方面具有较好的综合性能指标

‎缺段:段不存在,即装入位=0 ‎数据使用时一般在相邻的两层之间复制传送,而
‎且总是从慢速存储器复制到快速存储器,传送的
‎地址越界:偏移量超出最大段长 ‎段表项对应的异常 ‎单位是一个定长块,因此需要确定块的大小并建
‎立块之间的映射关系
‎访问越权:操作方式与指定的访问权限不符

‎段本身是程序逻辑结构决定的一些独立的部分,
‎分段对程序员不透明,而分页方式对编译器透明
双译码结构:使用行和列方向进行存储器单元选

择的结构

‎段的逻辑独立性使程序容易编译、管理、修改和
‎保护,便于多道程序共享
‎DRAM 芯片技术 ‎位片式芯片:采用二维双译码结构的存储器芯片

‎引脚复用技术:行地址和列地址先后两次输入,
‎某些类型的段具有动态可变的长度,允许自由调
‎分段式存储的特点 ‎这样地址引脚数量可以减少一半
‎度以便有效利用主存空间

‎传统DRAM和CPU之间采用异步方式交换数据,
‎由于段的长度不同,段的起点和终点不同,给主
‎CPU发出地址和控制信号后,经过一段时间数据
‎存空间分配带来麻烦,而且容易留下零碎的空间
‎ 才读出或者写入
‎段页式虚拟存储器中,程序按模块分段,段内再
‎分页,用段表和页表进行两级定位管理
‎SDRAM 的每一步操作都在外部系统时钟CLK的控
制下进行,支持突发传输方式

‎段表中每个表项包括一个指向该段页表起始位置
‎突发传输:在第一次存取的时候给出首地址,以
‎的指针,以及该段其他的控制和存储保护信息,
‎段页式虚拟存储器 ‎后按地址顺序读写即可
‎由页表指明该段各页在主存中的位置以及是否装
‎入、修改等状态信息
基本SDRAM芯片技术
‎ ‎突发长度:在模式寄存器设置的传送数据的长度
‎段页式的优点是程序调入调出按页进行,但是又
‎可以按段实现共享和保护,兼有分段和分页的优 ‎CAS潜伏期:从收到读命令到开始传送数据的延
‎点,缺点是地址映像过程需要多次查表 ‎迟时间

‎避免主存中多道程序相互干扰,防止因为某进程 ‎在时钟信号上升沿,片选信号和行地址选通信号
‎出错破坏其他程序正确性,或者不合法地访问其 ‎主存芯片技术 ‎有效
‎他进程的代码区或数据区,需要对每个进行进行
‎存储保护 ‎经过一段时间,列选通信号有效,同时发出读命
‎令或者写命令
‎使部分CPU状态只能由操作系统内核程序写,用
‎户程序只能读不能写,例如页表首地址,TLB内 ‎SDRAM工作过程 ‎对于读信号,进过一个CAS潜伏期后,输出数据
‎ 容等 ‎开始有效,以后每一个时钟都有一个或者多个数
‎据从总线上传出,直到完成突发长度指定的所有
管理模式:执行内核程序时处理器所处的模式,
‎ ‎数据的传输
也称为内核模式、超级用户模式或管理程序状
第 章 层次结构存储系

态,简称管态、管理态、内核态或者核心态 ‎对于写操作,没有CAS潜伏期,数据直接开始写

至少支持两种特权模式 为了对操作系统存储保护提供支持,硬件需要提
‎ ‎ 6 入
供三种基本功能

‎ ‎
‎用户模式:执行用户程序时处理器所处的模式,

‎也称为用户状态或者目标程序状态,简称目态或 ‎ ‎对标准SDRAM的改进,通过芯片内部I/O缓冲中
者用户态 ‎数据的两位预取功能,利用存储器总线上时钟信
‎ ‎DDR SDRAM芯片技术
‎号的上升沿或者下降沿进行两次传送,实现一个
‎系统调用:如果用户进程需要内核的代码和数 ‎时钟周期传送两次数据
‎据,那么必须通过系统调用接口间接访问
主存与CPU的连接及其读写操作

提供让CPU在内核态和用户态之间相互转换的机
‎ ‎进行四位预取,每个时钟周期传送两次数据,存
制 ‎DDR2 SDRAM芯片技术
返回指令:异常和中断处理后使CPU从内核态转


存储保护
‎ ‎储器总线时钟周期是存储芯片时钟周期的两倍
移到用户态的指令

‎进行八位预取,每个时钟周期传送两次数据,存
‎DDR3 SDRAM芯片技术
硬件通过提供相应的专用寄存器、专门的指令、
‎ ‎储器总线时钟周期是存储芯片时钟周期的四倍
专门的状态/控制位,与操作系统一起实现以上三

‎总线:连接其上的各部件共享的传输介质,通常
个功能

‎由控制线、数据线和地址线组成
‎检查是否发生了访问越权
访问权限保护 ‎存储器芯片拓展技术:将多个芯片做在一个内存
‎模块上

‎通过在段表或者页表中设置访问权限位来实现

‎检查是否发生了地址越界 ‎位拓展:使用若干片位数较少的存储器芯片,构
‎成给定字长的存储器
每个程序或者程序段都记录有起始地址和终止地 ‎加界重定位

‎主存与CPU的连接及其读写 ‎字拓展:容量扩充,位数保持不变

‎操作系统为主存的每一个页框分配一个存储键, ‎数据对齐的原因:因为存储器每次会读出多个存
‎为每个用户进程设置一个程序键 ‎储单元的数据,数据对齐可以减少访问存储器的
‎键保护 存储区域保护

‎ 次数
‎只有当存储键和程序键匹配的时候进程才可以访
问页框 行列数量:为了提高芯片性价比,通常让行数小


于等于列数,同时让两者尽可能的接近

主存中各进程按照重要性分成多个保护级,各级

‎超元:抽象出的数据传送的单位,通过存储器位
别构成同心环

‎拓展实现
环保护

‎最内环的进程保护级别最高,向外逐次降低,内
‎层可以访问外层地址空间但是外层无法访问内层
硬盘存储器主要由磁记录介质、磁盘驱动器、磁

盘控制器三大部份组成

‎ 程序访问的局部性:较短时间间隔内,程序产生 ‎磁盘控制器包括控制逻辑电路和控制时序电路
‎ 的地址往往集中在存储空间很小的一个范围内
‎时间局部性:被访问的存储单元经过较短的时间 ‎盘面号:每个盘面的两个面上各有一个磁头,因
‎可能又被访问 ‎此磁头号就是盘面号
程序访问的局部性

‎磁头:磁头和盘面相对运动形成的圆构成一个磁
‎空间局部性:被访问的存储单元的邻近单元在较
‎短时间内可能被访问 ‎道,磁头位于不同半径上则得到不同的磁道

‎为了利用空间局部性,通常把访问单元及其邻近 ‎柱面:多个盘面上相同的磁道形成,磁道号就是
‎单元作为主存块一起调入cache ‎柱面号

‎cache:主存和CPU之间的一种小容量高速缓冲 ‎扇区:每个磁道被分为若干个扇区,扇区是读写
‎存储器,由快速的SRAM组成,直接制作在CPU ‎的单位
‎芯片内,速度较快几乎和CPU一个量级
‎盘地址:柱面号、磁头号和扇区号,是读写磁盘
‎块:主存中的区域,cache和主存之间信息交换
硬盘存储器的结构

‎的根据
‎的单位
‎寻道操作:根据磁盘号和柱面号,选择磁头移动
‎行:cache中存放一个主存块的区域,也称为槽 ‎到指定的柱面,操作完成后发出寻道结束信号,
‎或者cache行 进入旋转等待操作

‎cache的有效位:每个cache行都有,说明cache ‎旋转等待操作:扇区计数器清零,盘片旋转,每
‎行中的信息是否有效 磁盘读写的过程
‎ ‎到来一个扇区标志脉冲计数加一,达到扇区数时
‎输入扇区符合信号
‎CPU需要从主存中取指令或者读数据的时候,先
‎检查cache中有没有需要的指令或数据 ‎读写操作:写操作将数据送到写入电路,生成相
‎应的写电流脉冲,读操作由读出放大电路将内容
‎如果有直接从cache中获得指令或数据 ‎送到磁盘控制器
‎cache 的基本工作原理
‎如果没有,将主存中包含当前信息的块复制到 温切斯特盘:一种定长磁盘记录格式

‎CPU在cache中的访问过程
‎cache,并将信息送往CPU
‎道密度:沿磁道分布方向上,单位长度内的磁道
‎数目
‎将主存中信息复制到块中时,如果cache已满,
‎需要使用块替换策略
‎位密度:沿磁道分布方向上,单位长度内存放的
‎记录密度 ‎二进制信息数目
‎如果CPU进行的是写操作,就要考虑cache的数
‎据一致性问题
‎低密度存储方式:所有磁道上的扇区数相同
‎cache命中:CPU访问单元所在的主存块在
‎cache之中 ‎高密度存储方式:每个磁道上的位密度相同

‎cache缺失:CPU访问单元所在的主存块不在 ‎存储容量指整个存储器能够存放的二进制信息量
‎cache之中
‎cache-主存层次平均访问时间 ‎未格式化容量:按照道密度和位密度计算出的容
‎命中时间:直接从cache中存取信息所用的时间 ‎存储容量 ‎量,包括了空头,ID区域,CRC码等信息,是可
‎ 销
开 利用的磁化单元总数

‎主存访问时间:缺失时进行主存访问,将主存块 格式化后的实际容量:只包含数据区

‎送进cache并且将请求数据送CPU的额外时间
‎内部数据传输速率:磁盘表面存储器完成磁头定
‎cache是一个映射表,每一行由对应的标记、实 ‎位和旋转等待后,单位时间内从存储介质上读出
‎现其他技术的位、以及数据组成 ‎或者写入的信息量,也称为持续信息传输速率
磁盘存储器的性能指标
‎ 数据传输速率

‎把主存的每一个块映射到一个固定的cache行 ‎外部数据传输速率:主机的外设控制接口从外存
‎中,也称为模映射 ‎储器的缓存中读出或者写入数据的速度,也称为
突发数据传输速率或者接口数据传输速率

‎主存地址被分成标记、cache行号和块内地址三
‎个字段 首先读写请求在队列中排队

‎块内地址:用于在块确定的时候寻找存储单元的 ‎出列后由磁盘控制器解析请求命令
‎地址
‎然后进行寻道、旋转等待和读写数据过程
‎cache行号:字段长度和cache大小相关,每个
‎行号对应一个cache中的行
硬盘存储器
‎ ‎总响应时间:排队延迟、控制器时间和存取时间
‎的总和
‎标记:主存中块号减去cache行号的剩余部分,
‎直接映射 ‎存取时间:寻道时间、旋转等待时间和数据传输
‎可以用于判断cache是否命中 平均存取时间 磁盘响应读写请求的过程 ‎时间的总和
‎ ‎

‎判断cache是否命中时要考虑有效位和标记位,
‎两个条件都满足的时候cache才命中 ‎寻道时间:磁头移动到指定磁道的时间

‎cache抖动:因为映射方式不合适导致主存块频 ‎旋转等待时间:要读写的扇区旋转到磁头下方需
‎繁的调进调出 ‎要的时间
‎cache 和主存块的映射
‎优点是容易实现,命中时间短 ‎数据传输时间:传输一个扇区的时间

‎缺点是不够灵活,容易产生抖动,命中率低 ‎由于数据传输时间相对短,磁盘平均存取时间近
‎似等于平均寻道时间加上平均旋转等待时间
‎一个主存块可以装入cache的任意一行中
逻辑块:物理扇区的抽象,逻辑块和物理扇区的

‎主存地址只分成标记和块内地址两个字段 映射由磁盘控制器维护

‎块可以存放在cache任何地方,每次都需要检查 ‎磁盘控制器:内置固件的硬件设备,能将主机送
‎全相联映射 ‎来的请求逻辑块号转换成物理扇区地址,并控制
‎所有的块的标记
‎ 磁盘驱动器的相应动作
‎只要有空闲行,块就可以装入,块冲突概率低
‎ 磁盘驱动器和控制器的接口:并行ATA接口(
‎全相联的时间开销和元件开销都比较大,实现困
‎IDE) ,串行ATA接口(SATA)
‎难,不适合容量大的cache
‎磁盘与主机交换数据的最小单位是扇区,磁盘按
‎将cache分成大小相等的组,每个主存块被映射
高速缓冲存储器
‎ 磁盘存储器的连接

‎成批数据交换的方式进行读写
‎到cache固定组中的一样,也就是组间模映射组
‎内全相联 ‎直接存储器存取(DMA):高速成批数据交换设备
‎输入输出的方式
‎cache中每一组有N个块,就成为N路组相联
‎DMA控制器:专门用来控制总线进行DMA传送的
‎组相联映射 ‎接口硬件
‎组相联的程度越大,块冲突的概率就越低,但是
‎相联电路的设计就越复杂
‎在进行DMA传送时,CPU让出总线控制权限,由
‎DMA控制器控制总线,每一个主存周期完成和主
‎组相联具有直接映射和全相联的优点,容易实现
‎存之间的一次数据交换
‎查找速度也快
‎固态硬盘(SSD):使用NAND闪存组成的外部存储
‎替换策略:当有新的主存块需要调入cache并且
‎系统,与U盘没有本质区别,使用闪存颗粒代替
‎对应的行已经占满时,用于选择淘汰旧的块的算
‎磁盘作为存储介质,利用闪存的特点,以区块写
‎ 法 ‎入和擦除的方式进行数据的读取和写入

‎总是选择最早装入cache的主存块进行替换
‎固态硬盘的接口规范和定义、功能及使用方法与
‎先进先出算法(FIFO) ‎传统硬盘完全相同,外型也与普通硬盘一致
‎实现方便但是不能正确反映访问局部性,可能产
‎生较大的缺失 ‎闪存翻译层:将来自CPU的逻辑磁盘块读写请求

‎总是替换最近最少使用的主存块
‎cache中主存块的替换算法 固态硬盘
‎ ‎翻译成对SSD物理设备的读写控制信号,相当于
‎ 磁盘翻译器
‎最近最少使用算法(LRU)
‎LRU位:一个计数器,记录存储块使用情况,用
‎于进行块的淘汰
固态硬盘写页信息时需要进行擦除操作,擦除过

多就会磨损变成坏区块

‎替换到cache中引用次数最少的块 ‎最不经常使用算法(LFU)
‎均化磨损逻辑电路:闪存翻译层中平均分配擦除
‎操作的电路
‎从主存块中随机选取一个淘汰 ‎随机替换算法
‎固态硬盘随机读写比硬盘低两个数量级,还有抗
‎cache中的块是主存中的副本,两个存储层次之
‎震性好、安全性高、无噪声、能耗低、发热低和
‎间数据的一致称为cache一致性问题
‎ 适应性高的特点
‎多个设备都允许访问主存,例如CPU和I/O设备同
‎时访问主存
‎产生cache一致性问题的场景
‎多个CPU带有各自的cache但是共享主存

‎处理cache一致性问题的关键在于处理写操作

‎全写法也称为通写法、直写法或者写直达法

‎当CPU执行写操作的时候,如果写命中,同时写
‎cache和主存,如果不命中,使用以下两种处理
方式 ‎

写分配法:现在主存块中更新相应的存储单元,

然后分配一个cache行,将更新后的主存块装入

分配好的cache行中,优点在于充分利用空间局
‎ 全写法
‎ ‎cache一致性问题
部性,缺点在于每次都要读主存块到cache增大

了读主存块的开销

‎ 非写分配法:仅更新主存单元但是不把主存块装
入 中,优点在于减少读主存块的时间,缺
‎ cache
‎ 点在于没有利用空间局部性
‎写缓冲:在cache和CPU之间增加的一层,CPU
‎写cache时也将内容写入写缓冲,由存储控制器
‎将写缓冲内容写入主存,这是一个FIFO队列,如
‎果写操作不频繁效果较好,写操作频繁则会因为
‎ 写缓冲饱和发生阻塞
‎回写法也称为一次性写方式或者写回法

‎在CPU执行写操作的时候,只会更新cache但是
‎不会更新主存单元,只有当cache中的块被换出
‎的时候,才会一次性写回主存
‎回写法
好处在于减小主存写次数,降低主存带宽需求, ‎
缺点在于存在潜在隐患需要同步机制保持数据一 ‎
致性 ‎

‎修改位:也称为脏位,用于标记cache中的块是
‎否受到了修改

‎关联度:一个主存块对应的cache行的个数

‎cache的关联度越大,命中率越高,cache的容
‎量越大,命中率越高

‎较大的主存块可以很好的利用空间局部性,但是
‎会花费更多的时间存取,所以大小需要适中

‎分离cache:数据cache和指令cache分开设着

‎多级cache:对于L1 cache主要关注速度而不是 ‎单级/多级cache、联合/分离cache的选择问题 ‎ 响cache性能的因素



‎命中率,因为缺失了可以去低一层的L2 cache之
‎中寻找,L2 cache主要关注的是命中率,因为缺
‎失了就会进行主存访问代价很大

‎窄型结构:在主存、总线和cache之间每次按照
‎一个字的宽度进行传送

‎宽型结构:每次传送多个字 ‎主线-总线-cache间连接结构问题

‎交叉存储结构:主存采用多模块交叉存取方式,
‎每次按照一个字的宽度进行传送,性价比最好

You might also like