我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:六合特肖 > 访问局部性 >

第六章 存储系统2

归档日期:07-15       文本归类:访问局部性      文章编辑:爱尚语录

  高速缓冲存储器 一、Cache存储器工作原理 程序访问的局部性 将当前正在执行的程序和数据存放在这个Cache存储器中。程 序运行时,不必从主存中取指令和取数据,而只要访问高速存储 器即可。 速度更高,但容量较小, 一般仅为几十KB 大多采用SRAM器件。 CPU芯片中集成的Cache,称为一级Cache(L1 Cache); 把安装在主板上的Cache称为二级Cache(L2 Cache)。 可以有较大的容量, 从256KB到2MB不等 PentiumⅡ以后的CPU则将L2 Cache与CPU内核一起封装在一个 金属盒内,或者直接把L2 Cache也集成到CPU芯片内,以进一步提 高速度。这样,主板上的Cache就称为三级Cache(L3 Cache)。 1 3. 地址映象(先讲解) 来自cpu的主存地址 装入时,地 址映像 执行程序时, 地址变换 Cache地址 2 假设某机 主存容量1MB=220,被分为2048=211块,每块512=29B; Cache容量为8KB=213B,被分为16=24块,每块也是512B。 (1) 直接映象:j=i mod 2c 制字块号的位数(该例c=4)。 7位 标记 标记 Ca ch e j是Cache的字块号、i是主存的字块号、c为Cache二进 主存储器 0块 1块 0块 1块 主存地址 t 7位 主存标记 c 4位 Ca ch e块 号 9位 块内地址 } 主存块号 ? ? 0组 标记 15块 15块 Ca ch e地 址 4位 Ca ch e块 号 9位 块内地址 16块 17块 1组 31块 20 32块 20 33块 主存的第0块、第16块…第 2032块等,映象到Cache的第0 块(mod 16=0);究竟存入的是 第几块写入标记,如第0块写0, 第16块写1…(主存)标记的 位数211块/24块=27 20 47块 ? 25 5组 在访存时,比较主存地址中高7 位的标记段与对应Cache块的7位 (主存)标记,两者相同 则命中。 例:Cache第0块中复制的是主存 中第16块的内容,则其标记段为 1,标志它现在与主存的第1组相 对应 具体过程见下页 ? ? ? 127 图6 -3 4 直接 映像C a c he 3 3)直接从主存 地址获得 cache地址 并没有引入新的编址格式,二者地址自然对应。本例主存地址如下: 0000000 0000 000000000 0000000 0000 111111111 0000000 0001 000000000 0000000 0001 111111111 第1块 … 第0块 第0组 0000001 0000 000000000 第16块 … 不够灵活, Cache的存储空间得不到充分利用 4 (2) 全相联映象 11位 Ca ch e 标记 0块 标记 1块 主存储器 0块 1块 主存地址 1)查询相等,现在所映象的 主存块号(2048个字块中之一) t+c 11位 主存标记 9位 块内地址 ? ? 标记 15块 15块 Ca ch e地 址 4位 Ca ch e块 号 9位 块内地址 ? 2)拼装出cache地址 20 47块 图6 -3 5 全相 联映 像C ac h e 主存的各字块可映象到Cache的任一个字块 访问Cache时,需要和Cache的全部标记进行“比较” 后才能判断出所访主存地址单元的内容是否已在 Cache中 。 5 (3) 组相联映象 例:主存分 为256组,每 组 8 块 ; Cache 分 为 8 组,每组2块。 主存中的各 块与Cache的 组号间有固 定的映象关 系 但可自由映 象到对应的 Cache组中的 任一块。 如主存中的 第0块、第8 块…均映象 于Cache的第 0组,但可映 象于Cache的 第0块或第1 块。 8位 Ca ch e 标 记 0块 0组 标 记 1块 1组 共8位,为主存块标记 m 标记 3块 ? 标记 7组 ? ? 20 40块 20 41块 25 5组 20 47块 图6 -3 6 组相 联映像 Ca c h e ? ? { { 标记 标记 14块 15块 { { { { 主存储器 0块 1块 0组 } 8位标 记 7位 t 3位 Ca ch e组 号 , 1位 主存和Cache都分组,主存中一个组内的块数与Cache中的分组数相同。 组间采用直接映象,组内采用全相联映象。 高7位连同1位Cache组内块号, 主存地址 { 主存标记 2块 c =( c - r) ? 7块 8块 9块 1组 Ca ch e地 址 1位 3位 Ca ch e组 号 组 内 块 号 15块 Cache组号共3位, 可选择8组之一,低 9位为块内地址。 主存地址的低13位 即是Cache地址 访存时,以Cache组 号开始查找,比较 该组所有标记,确 定是否命中。 6 Cache地址仍为查询 后拼接。 { 组内块号 r 9位 块内地址 9位 块内地址 若把Cache字块分为2c’组,每组包含2r个字块,于是 有c=c′+r。那么,主存字块Mm(i) (0≤i≤2m-1)可以 用下列映象函数映象到Cache字块Mc(j)(0≤j≤2c-1) 上: j=(i mod 2c')×2r+k 0≤k≤2r-1 k为组中的第几块。 命中率=Nc/(Nc+Nm) 程序执行期间, Catch完成存取 的总次数 程序执行期间, 主存直接完成 存取的总次数 1. Cache的基本结构(后讲) 7 来自CPU 主存地址 标记 块号 修改标记 块内地址 不命中 主 存 Cache满 替换算法 比较器 命 中 Cache 访标记 标记 Cache地址 块号 块内地址 块 (多字) 直接通路 Cache 数据 单字 去CPU 或来自CPU 图6-3 3 C a c h e的 基 本 结 构 本图是直接映像:用主存地址的块号字段访问Cache标记 将取出的cache标记和主存地址的标记字段相比较。 若相等,说明访问Cache有效,称Cache命中(即要访问的 在cache中) 若不相等,说明访问Cache无效,称Cache不命中或失效 8 2. Cache的读/写操作 (1) Cache的读操作 3.不命中,仍需访 问主存,并把相应 块的信息一次从主 存调入Cache内。 若此时Cache已满, 则需根据某种替换 算法,用这个块替 换掉Cache中原来 的某块信息。 1.CPU发出读请求 来自CPU 主存地址 标记 块号 块内地址 修改标记 不命中 主 存 Cache满 替换算法 比较器 命 中 Cache 访标记 标记 Cache地址 块号 块内地址 块 (多字) Cache 数据 单字 去CPU 或来自CPU 2.Cache命中,直接 对Cache进行读操 作,与主存无关 直接通路 图6-33 Cache的 基 本 结 构 9 2. Cache的读/写操作 (2) Cache的写操作 3.不命中,就直接 把信息写入主存, 而与Cache无关。 1.CPU发出读请求 来自CPU 主存地址 标记 块号 块内地址 修改标记 不命中 主 存 Cache满 替换算法 比较器 命 中 Cache 访标记 标记 2.如果Cache命中,保 持Cache与主存中的内 容相一致的问题: ①写直达法:同时写入 Cache和主存。 ②写回法:信息暂时只 写入Cache,并用标记 将该块加以注明,直 到该块从Cache中替换 出来时才一次写入主 存,有可能出错。 Cache地址 块号 块内地址 块 (多字) 直接通路 Cache 数据 单字 去CPU 或来自CPU 图6-33 Cache的 基 本 结 构 10 4. 替换算法 当新的主存字块需要调入Cache存储器而Cache中的可用位置又被占满时, 就产生替换算法问题。 (1) (2) FIFO算法:把一组中最先调入Cache的字块替换出去 LRU算法:把Cache组中各字块的使用情况记录在一张表上。并把最近使用过 的字块放在表的最上面 原 始状 态 0 1 2 3 4 5 6 7 替 换7 7 0 1 2 3 4 5 6 访 问5 5 7 0 1 2 3 4 6 访 问1 1 5 7 0 2 3 4 6 替 换6 6 1 5 7 0 2 3 4 图6-39 LRU算法替换登记表 设组内有8个字块,其地址编号为0,1,…,7。从图中可以看到,7号字块在最下 面,所以当要求替换时,首先更新7号字块内容;如要访问7号字块,则将7号写到表 的顶部,其它号向下顺移。接着访问5号字块,如果此时命中,不需要替换,但也要 将5号移到表的顶部,其它号向下顺移。6号块是以后要首先被替换的,…。 11 [例6.6] 一个组相联映象Cache由64个存储块构成,每组包含4个存储 块。主存包含4096个存储块,每块由128字节组成,访存地址为字节 地址。 (1) (2) (3) (4) 写出Cache地址位数和地址格式; 写出主存地址位数和地址格式; 画出组相联映象方式示意图; 主存地址48AB9H映射到Cache的哪一个字块? 12 解:(1) Cache由64个存储块构成,每组包含4个存储块 Cache组数=64/4=16组 Cache容量=64×128字节=213字节。需13位。Cache地址格式为: 12 Cache组号4位 9 8 7 6 0 组内块号2位 块内地址7位 4096/16(cache的组数) =256组 ? (2) 主存包含4096个存储块,每组包含4个存储块 主存组数=1024个组。 主存容量=4096×128字节=219字节,主存地址格式为: 18 主存标记 13 12 Cache组号 9 8 7 6 块内地址 0 组内块号 13 (3) 组相联映象方式的示意图见图6-37,图中由主存高位地址和组内块 号组成标记,分别与由组号选中的组中的四个标记进行比较,比较符合 即可访问相应的字块 第0块 组 0 标记 字块0 标记 字块1 标记 字块2 标记 字块3 1 标记 字块4 标记 字块5 标记 字块6 标记 字块7 ? ? ? ? ? ? ? ? 第15块 第16块 第17块 ? ? Cache(r=2) 第1块 0组 1组 14 标记 字块56 标记 字块57 标记 字块58 标记 字块59 15 标记 字块60 标记 字块61 标记 字块62 标记 字块63 第31块 第4079块 比 较 第4080块 ? ? 255组 主存高位地址 Cache组号 组内块号 18 13 12 9 8 7 块内地址 6 0 第4095块 图6-37 相 联映 像 方 式 的 示 意图 14 (4) 主存地址48AB9H=100 1000 1010 1011 1001。 主存标记 Cache组号 组内块号 块内地址 方法1:组地址为0101,所以主存地址48AB9H可以映射到Cache的 第5组中的字块20、字块21、字块22或字块23。 方法2:主存块内地址为0111001 主存块号为=1 设Cache的块号为j,因为 j=(i mod 24)×22+k 0≤k≤22-1 所以j=(1 mod 24)×22+k=0101×22+k=5×4+k。 所以主存地址48AB9H可以映射到Cache的第5组中的字块20、字块 21、字块22或字块23。 组相联映像Cache地址为查询后拼接。 15 CPU 内部高 速总线 Cache Cache 控制器 SRAM 地址总线 数据总线 控制总线 存储器 I/O ? I/O 图6-3 8 具 有C a c h e的 计 算 机结 构 框 图 16 作业:6.12 17 P253 6.12答案: 1)因为主存容量=2MB=2*220B,按字节编址所以主存 地址21位。 每个字块8个字,每个字32位,所以按字节编址32*8位 /8(位/字节)=32B=25 Cache为4路组相连,4=22,所以组内块号2位。 Cache容量16kB,每组4*32B,16*210/(4*32)=214/27=27, 所以,共27组,组号7位。所以,主存地址格式: 主存高位7 组号7 组内块号2 块内5 Cache地址 18 27块,每块放8 个字 2)因为要从主存单元中读出0至100个字,重复读11次, 第1次读,cache为空,不命中,直接访存,并把内容调入cache的 0~12组。(101个字/每块8个字≈13块) 随后10次读,cache都命中。所以命中率=10/11=91% 3)设访问cache时间为Tc,则直接访存时间5Tc 所以,有cache上述访问时间:10Tc+5Tc 无cache上述访问时间:11*5Tc 所以,速度提高55/15=3.67倍 19 答案二: 2)因为读操作时cache 不命中,cup从主存读取信息的同时,cache 的替换控制线路将把包含该地址的那一信息块的内容从主存一次 调入cache。即以块为单位调入,以提高下次访问的命中率。 所以,可认为本题读取的101个单元仅在每块的第一个单元不命中 (共13块,即13个单元不命中),其余单元命中。 所以,(11*101-13)/(11*101)=98.8% (必须是主存有多体交叉等结构,这样在某块第一个单元没命中 时,来得及将整块调入,使得访问第二单元时可访问cache。但无 多体交叉时,被连续访问的第二个单元应该是来不及调入cache的, 即应服从答案一) 3)Tc+Tm*(1-命中率)=有cache的访问时间 = 1.06Tc 4.72倍 20 虚拟存储器 一、基本概念 1.虚拟存储器(Virtual Memory,VM)的概念 : 目的:为了扩大主存的寻址空间。 基本方法:把主存和辅存的地址空间统一编址,形成一个庞大 的存储空间,在这个大空间里,用户可自由编程。 编好的程序由计算机操作系统装入辅存中,程序运行时,附 加的辅助硬件机构和存储管理软件会把辅存的程序一块块地自动 调入主存,由CPU执行或从主存中调出。 现代计算机中有两方面的含义: 21 (1) 字长较长的计算机中,采用虚拟存储技术后, 就允许程序员直接用这种较长的地址字编程。不 足的地址空间可由辅存补充,不需考虑主存容量 的限制。 (2) 字长较短的计算机中,采用虚拟存储技术后, 每个用户仍允许使用整个主存空间,这时可由辅 助软件(操作系统)自动进行程序调度、存储空间 分配、地址转换(称再定位)以及扩大地址字长度。 22 2. 虚拟址与实地址 虚拟地址、虚地址、逻辑地址 :程序员编程所用的地址以及CPU访 问主存时所产生的地址。 虚存空间:虚地址的集合构成的地址空间(即存储空间) 虚存容量:虚存空间容量。 真实地址、实地址、物理地址:实际的主存的地址 主存空间、物理空间:实地址对应的空间。 实存容量、主存容量:对应的存储容量 对于虚拟存储器,程序运行每次访问主存时,都必须进行虚、实地 址的交换,通常使用硬件与软件相结合的方法来实现。 23 主存和辅存组成的虚拟存储器和主存-Cache存储器是两 个不同存储层次的存储体系。相同之处: (1)它们都把程序划分为一个个信息块,运行时都能自动 地把信息块从慢速存储器向快速存储器调度。信息块的 调度都采用一定的替换策略,新的信息块将淘汰最不活 跃的旧的信息块,以提高继续运行时的命中率。新调入 的信息块需遵守一定的映射关系,变换地址以确定其在 存储器中的位置。 (2)两个存储体系均以信息块作为存储层次之间基本信 息的传递单位,主存-Cache存储器每次传递定长的信息块, 长度只有几十字节。而虚拟存储器信息块划分方案很多, 如有页、段等,长度均在几百字节至几千字节左右。 24 不同之处: Cache:弥补主存和CPU之间的速度差距 虚拟存储器:弥补了主存的容量不足 Cache:硬件 虚拟存储器:操作系统的存储管理软件辅助 对设计存储管理软件的系统程序员虚拟存储器是 不透明的。 对应用程序员来说是透明的。 25 二、虚拟存储的结构 1. 页式虚拟存储器? (1) 分页原理 1)虚实页 大小相同 2)位数由页面大小决定, 且两者相同。 3)因为虚页 数量大,所 以位数比实 页号位数多 26 二、虚拟存储的结构 1. 页式虚拟存储器? (1) 分页原理 2)页表是存储管理软件根 据主存运行情况自动建立 的 ?在主存中分配固定区域存 放页表 ?每个程序都有一张页表。 ?页表中的每一行记录(无 虚页号)、装入位和实页 号等 1)Cpu访存时, 给出的是虚地 址。必须查找 “虚页号”— —“实页号” 对照表,即 (内)页表, 确定该虚页是 否已装入主存 3)页表存于主存中,访存 时要先查页表,增加了访 存次数。 为了提高速度,增加快表 (小,存放最活跃页。源 页表称为慢表),整机各 程序公用一个。比慢表多 27 虚页号一项。 (3)虚地址到实地址(主存)变换过程与工作过程 1)由虚地址寄存器(提供 道号、虚页号、页内号) 查找页表基址寄存器(存 放每道程序对应的一个页 表初始地址)和虚页号相 加成为页表索引地址,根 据这个索引地址可读到一 个页表信息字,然后检测 页表信息字中装入位的状 态。 页表基址寄存器 页表起始地址 + 控制位 实页号 虚页号 页内地址 虚地址 2)包含装入位,若装入位为“1”, 表示该页已在主存中,将对应的实 页号与虚地址中的页内地址相拼接 就得到完整的实地址; 若装入位为“0”,表示该页面不在 主存中,于是要启动I/O系统,把该 页从辅存中调到主存后再供CPU使 用。 后者过程略。 来 自C P U 实页号 页表(在主存中) 页内地址 实地址 28 图6-4 0 页式虚拟存储器地址变换 (4)快表和慢表 采用快、慢表结构后,访问页表时,根据虚页号可以同时访问快 表和慢表,若该页号在快表中,就能迅速找到实页号并形成实地址。 如果在快表中查不到时,那就要开销一个访主存时间去查慢表, 从中查到实页号送入实主存地址寄存器,并将此虚页号和对应的实 页号送入快表,替换快表中某一行内容,这要用到替换算法。 29 虚 页号 字 地址 ⑤ 虚 地址 实 页号 字 地址 实 存地 址 ② 快 表中 查 到 按 地 址 访 问 ③ 快 表中 查 不到 ④ 控 实 页号 制 位 虚 页号 ? 实 页号 ? 快 表( T L B表 ) 1 6行 ~ 6 4行 ( 硬件 构 成) ① 相 联比 较 慢 表( 在 主存 中 ) 图6-42 用 快表 和 慢 表 实 现虚 实 地 址 变 换 30 (2) 虚地址到实地址(主存)的地址映射 ① 全相联映象:任何虚页都可以调到主存中的任意 页面位置 ② 直接映象:每个虚页只能调到主存的一个特定页 面的方式称为直接映象 ③ 组相联映象:将虚存空间与主存空间均分组,虚 存每组只能调到主存的一个特定组(即组间采用直接映 象);每组又分成若干页(各组的页面数都相同),组内各 页在虚实存之间按全相联方式映象。换句话说,虚存的 一页可调到特定的主存组内的任意一个页面中。 虚地址到辅存实地址的地址映射 辅存与主存页的装入关系可存于“主存页面表” 外页表: 31 指明该页是否在辅存中 外页表 32 (5)软硬件分工 虚实地址变换:硬件实现 主、辅存之间的页面调动:软件实现。(不要求太 快,此时cpu切换到别道程序运行) (6)页式虚拟存储器的优缺点: 页式虚拟存储器的每页长度是固定的,页表的建 立很方便,新页的调入也容易实现。 由于程序不可能正好是页面的整倍数,最后一页 的零头将无法利用而造成浪费。 页不是逻辑上独立的实体,使程序的处理、保护 和共享都比较麻烦。 33 [例6.7] 某计算机的虚拟存储系统有40位虚地址,32位 实地址,虚页为1M(220)。假设有效位、保护位、修改位 和使用位共用去四位(valid、protection、dirty、wu), 所有虚页都在使用。 (1) 计算页表大小; (2) 计算页面大小; (3) 画出该虚拟存储系统的虚、实地址转换逻辑图(包括 虚地址、实地址、页表、页表寄存器及相互关系)。 解:因为虚拟存储系统有40位虚地址,32位实地址,虚 页为1M(220),所以主存地址格式为: 31 20 19 实页号(12位) 页内地址(20位) 0 34 虚地址格式为: 39 20 19 0 虚页号(20位) 页内地址(20位) (1)页表的字长=实页号位数(12位)+有效位、保护位、 修改位和使用位(4位)=16位。 页表的单元数=1M(220)字。 所以页表大小=1M×16b。 (2)页面大小=1M(220)字。 (3)虚实地址转换示意如图6-41所示。 35 虚 页 面号 10000H 地 址 页 表起 址 寄存 器 20000H 页 内地 址 24500H + 虚 页号 00000H 00001H 150 H 实 页号 装 入位 0 1 其 他位 10000H ? 345 H 1 FFFFEH FFFFFH 680 H ? 0 1 345 H 1 其 他位 左 移2 0 位 + 实 地址 34524500H 图6 -4 1 虚 实地 址 转 换 示 意图 36 2. 段式虚拟存储器 (1)分段原理: 段是利用程序的模块化性质,按照程序的逻辑结构将其划分成的多个 相对独立的部分。例如,过程、函数子程序、数据表、阵列等。 段式虚拟存储器一般用段表来指明各段在主存中的位置 装入位为“1”,表示该段已调入主存;装入位为“0”,则表示该段 不在主存中。 程序空间 长度 段1 段2 段3 段4 段5 1K 2K 3K 1K 2K 主存实空间 段1 段5 地址 0000H 0400H 0C00H 段3 1400H 1FFFH 段号 1 2 3 4 5 段表 段起点 装入位 段长 0000H 1K 1 0 1400H 1 3K 0 0400H 1 2K 图6-4 3 程 序在 主 存 中 的 分 配及 其 段 表 37 (2) 地址变换 段表基址寄存器 段表起始地址 段号 1)编程使用的虚地址包 含两部分:高位是段号, 低位是段内地址。 段内地址 虚地址 + + 主存地址 实地址 2)访问段表对应行的 地址 =段号+段表的 起始地址 4)若已调入主存,从段 段起点 段长 装入位 段号 表读出该段在主存中的起 始地址,与段内地址(偏 移量)相加,得到对应的 38 图6-44 段 式虚 拟 存 储主存实地址。 器 地 址变 换 3)根据段表内装入 位判断该段是否已 调入主存。 (3)段式虚拟存储的优缺点: 由于段的分界与程序的自然分界相对应,所以具有 逻辑独立性,易于程序的编译、管理、修改和保护,也 便于多道程序共享。 但是,因为段的长度参差不齐,起点和终点不定,给 主存空间分配带来了麻烦,容易在段间留下不能利用的 零头,造成存储空间的浪费。 39 3. 段页式虚拟存储器 将程序按其逻辑结构分段,每段再划 分为若干大小相等的页;主存空间也划分 为若干同样大小的页。 虚存和实存之间以页为基本传送单位, 每个程序对应一个段表,每段对应一个页 表。 40 CPU访问时,虚地址包含段号、段内页号、页 内地址三部分。 段表起始地址与段号合成,得到段表地址; 然后从段表中取出该段的页表起始地址,与段 内页号合成,得到页表地址; 最后从页表中取出实页号,与页内地址拼接形 成主存实地址。 段页式存储器综合了前两种结构的优点,但 要经过两级查表才能完成地址转换,时间开销 要多些。 41 作业:6.16 42 相联存储器 Cache和虚拟存储器中,都要进行虚实地址的转换。 为了提高查表的速度,需要使用相联存储器。 虚拟存储器中虚页号——实页号 cache主存标记——cache标记 相联存储器不是按地址访问存储器,而对所存数据的 全部内容或部分内容进行查找(或检索)。 这种访问方式可用于数据库中的数据检索等。相联 存储器结构,如图6-45所示。 43 输入寄存器 所需的关键字段由 屏蔽寄存器指定 屏蔽寄存器 关键字段同时与所有 存储的字进行比较,若比 较结果相同的单元,则发 出一个匹配信号。 这个匹配信号进入选 择电路,选择电路从各匹 配单元中选择出要访问的 字段。如果多个字段含有 相同的键,则选择电路决 定读出哪个字段 匹配 存储体 选择 选 择 电 路 输出寄存器 图6-45 相联存储器的结构 44 相联存储器的单元电路,如图6-46所示。 3.We=1时 写允许 异或非门 WE M D 1 0 Q D 5.将读写 设置为无 效。新D= 老D则M=1 即匹配 MK S 2.MK=0,可 进行读写 图6-46 相联存储器的单元结构 4.读写选通=1 有效 1.输出=D, 读写允许时 45 上述相联存储器单元可以方便地组合相联存储器的阵 列结构,图6-47中给出这种结构的实例。 WE D0 Q0 C 0,0 MK 0 D1 C 1,0 M0 Q1 来自输入 寄存器 C 0,1 MK 1 C 1,1 M1 来自屏蔽寄存器 S0 S1 图6-47 相联存储器的阵列结构 46 例子。假设相联存储器阵列是一个4×4的矩阵,其中 存储的数据,如图6-48所示。 01xx 输入寄存器 0011 屏蔽寄存器 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 匹 配 结 果 0111 输出寄存器 图6-4 8 相 联存 储 器 的 例 子 47 存储保护 为了使系统能正常工作,要防止 由于一个用户程序出错而破坏其它用户的程序和系 统软件 一个用户程序不合法地访问不是分配给它的主存区 域 用 现 行环 号 寄存 器 1. 存储区域保护 户 向外 向内 程 (1) 页表保护 序 操 0 1 2 345 6 7 (2) 键方式 作 环 控例 行 程序 (3) 环保护方式 系 2. 访问方式保护 统 上 限环 号 寄存 器 图6-49 环保护方式 48 辅助存储器 辅助存储器的特点: 容量大 成本低 在断电后能保存信息(其中大部分存储介质还能脱机保存信息) 辅助存储器主要有: 磁表面存储器 光盘存储器 49 磁表面存储器 一、磁记录原理 1. 磁表面存储器的读写原理 后间隙 写入线圈 Iw g 工作间隙 局部磁化 v 局部磁化单元 v 磁力线 读出线圈 e (a) 写入 (b) 读出 通过磁头对磁层写入/读出。 图6-50 读写原理 磁层上被磁化的小区域,称为磁化单元。 写入信息时,写“1”和写“0”时分别在读写线圈中通以不同方向的电流, 如图6-50(a)所示。读出信息时,在读/写线圈中感应出不同方向的电势,分 50 别记为“1”和“0”。如图6-50(b)所示。 2.信息的记录方式 数 据序 列 RZ T0 1 0 1 1 1 位周期 0 0 0 1 直 接 记 录 方 式 NRZ NRZ-1 PE 归零制记录方式:记录“1”时磁头线圈中加正向脉 冲,记录“0”时加负向脉冲。 不论待记录的信息是“0”还是“1”,在记录下一 位信息前,写入电流的波形都要回到零。 有自同步能力 按 位 编 码 记 录 方 式 FM MFM M 2 FM 图6-51 记 录 方式 的 写 电 流 波 形 51 2.信息的记录方式 数 据序 列 RZ T0 1 0 1 1 1 0 0 0 1 直 接 记 录 方 式 NRZ NRZ-1 PE 按 位 编 码 记 录 方 式 不归零制记录方式:磁头线圈中始终有电流。 记录“1”时有正向电流,记录“0”时有负向 电流。 无自同步能力 FM MFM M 2 FM 图6-51 记 录 方式 的 写 电 流 波 形 52 2.信息的记录方式 数 据序 列 RZ T0 1 0 1 1 1 0 0 0 1 直 接 记 录 方 式 NRZ NRZ-1 PE 按 位 编 码 记 录 方 式 FM MFM M 2 FM 不归零-1制:一种改进的不归零制,记录“1” 时,写磁头线圈中写电流改变方向,使磁层磁 化翻转;而记录“0”时,写电流方向维持不 变,保持原来的磁化状态,所以称之为见“1” 就翻的不归零制。 无自同步能力 53 图6-51 记 录 方式 的 写 电 流 波 形 2.信息的记录方式 数 据序 列 RZ T0 1 0 1 1 1 0 0 0 1 直 接 记 录 方 式 NRZ NRZ-1 PE 按 位 编 码 记 录 方 式 FM MFM M 2 FM 记录“1”时,写电流在位周期中间由负变正; 记录“0”时,写电流在位周期中间由正变负。 当连续出现两个或两个以上“1”或“0”时, 为了维持上述原则,在位周期的边界上也要翻 转一次。 每写一位,磁头中的电流方向至少都要改变一 次,因此有自同步能力。 图6-51 记 录 方式 的 写 电 流 波 形 54 2.信息的记录方式 数 据序 列 RZ T0 1 0 1 1 1 0 0 0 1 直 接 记 录 方 式 NRZ NRZ-1 PE 调频制:根据写电流的频率来区分记录“1”或 “0” 记录“1”时,写电流在位周期中间和边界各改 变一次方向,对应的磁层有两次磁化翻转;记 录“0”时,写电流仅在位周期边界改变一次方 向,对应的磁层只有一次磁化翻转。 有自同步能力。 按 位 编 码 记 录 方 式 FM MFM M 2 FM 图6-51 记 录 方式 的 写 电 流 波 形 55 2.信息的记录方式 数 据序 列 RZ T0 1 0 1 1 1 0 0 0 1 直 接 记 录 方 式 改进型调频制(MFM):又称为延迟调制码或密勒码。 记录“1”时,写电流在位周期中间改变方向,产生磁化翻转; NRZ 记录独立的一个“0”时,写电流不改变方向,不产生磁化翻转; 记录连续的两个“0”时,写电流在位周期边界改变方向,产生 NRZ-1 磁化翻转。 磁化翻转间距有三种:T0、1.5T0、2T0 ,有自同步能力 PE 按 位 编 码 记 录 方 式 FM MFM M 2 FM 图6-51 记 录 方式 的 写 电 流 波 形 56 2.信息的记录方式 数 据序 列 RZ T0 1 0 1 1 1 0 0 0 1 直 接 记 录 方 式 NRZ NRZ-1 PE 按 位 编 码 记 录 方 式 FM MFM M2FM制:记录“1”时,写电流在位周期中间改变 方向,产生磁化翻转; 记录独立的一个“0”时,写电流不改变方向,不 产生磁化翻转; 记录连续的两个“0”时,写电流在位周期边界处 改变方向,产生磁化翻转; 记录连续两个以上的“0”时,写电流在前两个“0” 的位周期边界处改变方向,产生磁化翻转;以后每 隔两个“0”在周期边界处,写电流再改变一次方 向,产生磁化翻转。 磁化翻转间距有四种:T0、1.5T0、2T0、2.5T0, M 2 FM 图6-51 记 录 方式 的 写 电 流 波 形 57 (3) 成组编码记录方式 将数据序列中的数据位几位分成一组,按一定的变 换规则变换成对应的记录码,再采用NRZ-1制写入记录 介质,从而使记录密度得以提高。 ① 群码制(GCR) ② 三位调制码(3PM) ③ 游程长度受限码(RLL)码:任何相邻的两个1之间的0 最大位数k最小位数d。写入时可按RNZ-1 58 (4) 评定记录方式的优劣标准 ① 自同步能力 ② 编码效率 :位密度/最大磁化翻转密度 ③ 读分辨率 ④ 信息的相关性 ⑤ 信道带宽、抗干扰能力、编码译码电路的复杂性等。 59 二、磁表面存储器的特征和技术指标 1. 磁表面存储器的特征 (1) 非破坏性读出,不需再生过程; (2) 记录信息为永久性存储,不会因断电而丢失,可 以长期保持,重复使用; (3) 重新磁化可以改变记录介质的磁化状态,即允许 多次重写; (4) 数据的存取方式可为顺序存取方式(磁带),也可 为直接存取方式(磁盘); (5) 在运动过程中读/写,因而读/写速度较慢; (6) 记录密度高,容量大,每位价格低。 60 2. 磁表面存储器的主要指标 (1) 记录密度 磁道:磁头记录介质表面上形成的磁化轨道。磁道具有一定的宽度,相 邻两条磁道中心线之间的距离叫做道距。 单道存取的装置(如磁盘)为位密 道密度:指磁道半径上方向上单位长度中的磁道数,单位为道数/英寸 度; (Tracks Per Inch,TPI)或道/毫米(Tracks Per Millimeter,TPM) 对于多道存储的装置(如磁带)则 为位密度与磁道数之乘积。 V——速度。 对磁带为走带速度; 位密度: 磁道单位长度上记录的二进制代码的位数,单位是位/英寸 对磁盘为记录介质通过磁 (bpi)或位/毫米(bpm)。 头时的线速度。(一般以 因同一盘片上每条磁道的记录数相同。而各磁道的周长不同,因此外圈与 最内全线速度为准) 内圈的记录密度是不同的,位密度一般是指内圈所能达到的记录密度。 (2) 存储容量 :非格式化容量和格式化容量 (3) 平均存取时间:平均寻道时间Ts+平均等待时间Tw 3.数据传送率:Dr=D×v 4.误码率 61 磁盘转一圈所需时间的一半 三、硬盘存储器 1.硬盘存储器的基本结构 (1) 硬盘驱动器 磁盘 心轴 磁头 磁 盘 组 滑 架 音 圈电 机 读 写臂 传 动机 构 图6-52 硬盘驱动器结构示意图 62 ① 磁盘及磁盘组 ② 磁头 ③ 磁头定位系统 ④ 传动系统 (2) 硬盘控制器(适配器) 硬盘控制器的逻辑结构,如图6-53所示。 控 制逻 辑 写 电流 驱 动器 读 出放 大 电路 读 写开 关 磁头 63 图6-53 基本的硬盘控制器逻辑结构 完整的硬盘控制逻辑,如图6-54所示。 串/并转换电路 读出电路 S C I C接 口 DMA 控制 格式 控制 数据 缓存 并串 转换 串并 转换 E S D I接 口 数据 译码 时钟 产生 S T 5 0 6接 口 读放 大器 数据 编码 写放 大器 图6-54 控制逻辑与时序 硬盘控制器接口类型 写入电路 数据并/串转换电路 64 硬盘的硬件组成常分为适配卡和驱动器 S C I C接 口 DMA 控制 格式 控制 数据 缓存 并串 转换 串并 转换 E S D I接 口 数据 译码 时钟 产生 S T 5 0 6接 口 读放 大器 数据 编码 写放 大器 图6-54 将所有的硬盘 控制逻辑全放在 驱动器中 硬盘控制器接口类型 磁盘驱动器只完成数 据的读写和放大 数据分离以后的控制 逻辑放在适配卡中。 将数据的分离任务交 给硬盘驱动器, 硬盘控制器实现并行 与串行、串行与并行的转 换和格式控制。 65 2.磁盘存储器的分类 浮动式固定磁头 金属硬盘 磁盘 塑料软盘 浮动式活动磁头 接触式活动磁头 浮动式活动磁头 固定式磁盘 固定式磁盘 可换式磁盘 均为可换式软盘 图6-5 5 磁盘 存 储 的 分 类 66 3.硬盘存储器的信息分布 (1) 硬盘地址格式 硬盘中信息分布呈以下层次:记录面、磁道、圆柱面、扇 区、记录,如图6-56所示。 n 主轴 0道 0 记 录面 滑 架 n道 扇区 磁头 (a ) ( b) ( c) 图6-56 硬盘信息分布示意图 67 3.硬盘存储器的信息分布 (1) 硬盘地址格式 硬盘中信息分布呈以下层次:记录面、圆柱面、磁道、扇 区、记录,如图6-56所示。 n 滑 架 每条磁道以扇区为界分成 主轴 若干个记录(或扇段) 每个记录中信息的数量相 同,记录是磁盘地址的最小 记 录面 单位。 只要知道记录面号、磁道 号、扇区号,就可以定位记 录。 0 0道 n道 扇区 磁头 (a ) ( b) ( c) 图6-56 硬盘信息分布示意图 68 硬盘的地址格式如下: 驱动器号 磁道号 (圆柱面号) 记录面号 扇区号 请注意磁道号(圆柱面号)与记录面号的顺序。 如果有一个较大的文件,在某磁道、某记录面的所有扇 区内存储不下时,应先改变记录面号(即换成与该磁道号对 应的另一记录面存放),这样可避免磁头的机械运动给存取 速度带来影响。 只有当该磁道号(圆柱面号)对应的所有记录面都存不下 时,才改变磁道号(圆柱面号)。 69 (2) 磁道的记录格式 自由 G4 20 G1 检 索孔 ID 1 5 10 131 数 据记 录1 21 G3 5 ID 2 10 G2 131字节 数 据记 录2 F F?F F 0 0?0 0 G2 4 用 户数 据 F F?F F I D 地 址标 志 F F?F F 0 0?0 0 CRC1 CRC2 4 磁 道地 址 扇 区地 址 CRC1 CRC2 0 0?0 0 4 图6-5 7 磁道 记 录 格 式 间隙在一条磁道上只有一个。它是一个自由的间隙,处在一条磁道的末尾 到检索孔之前。 70 (2) 磁道的记录格式 自由 G4 20 G1 检 索孔 ID 1 5 10 131 数 据记 录1 21 G3 5 ID 2 10 G2 131字节 数 据记 录2 F F?F F 0 0?0 0 G2 4 用 户数 据 F F?F F I D 地 址标 志 F F?F F 0 0?0 0 CRC1 CRC2 4 磁 道地 址 扇 区地 址 CRC1 CRC2 0 0?0 0 4 图6-5 7 磁道 记 录 格 式 G1间隙在一磁道的开始处 71 (2) 磁道的记录格式 自由 G4 20 G1 检 索孔 ID 1 5 10 131 数 据记 录1 21 G3 5 ID 2 10 G2 131字节 数 据记 录2 F F?F F 0 0?0 0 G2 4 用 户数 据 F F?F F I D 地 址标 志 F F?F F 0 0?0 0 CRC1 CRC2 4 磁 道地 址 扇 区地 址 CRC1 CRC2 0 0?0 0 4 图6-5 7 磁道 记 录 格 式 ID地址标志、磁道地址、扇区地址和两个CRC(循环冗 余校验)检验字节。 磁道地址和扇区地址是实现读写的依据。它们是在磁盘 72 初始化(格式化)时确定的。 (2) 磁道的记录格式 自由 G4 20 G1 检 索孔 ID 1 5 10 131 数 据记 录1 21 G3 5 ID 2 10 G2 131字节 数 据记 录2 F F?F F 0 0?0 0 G2 4 用 户数 据 F F?F F I D 地 址标 志 F F?F F 0 0?0 0 CRC1 CRC2 4 磁 道地 址 扇 区地 址 CRC1 CRC2 0 0?0 0 4 图6-5 7 磁道 记 录 格 式 G2为标识符间隙,它用来分隔记录中的数据和标识段。 73 (2) 磁道的记录格式 自由 G4 20 G1 检 索孔 ID 1 5 10 131 数 据记 录1 21 G3 5 ID 2 10 G2 131字节 数 据记 录2 F F?F F 0 0?0 0 G2 4 用 户数 据 F F?F F I D 地 址标 志 F F?F F 0 0?0 0 CRC1 CRC2 4 磁 道地 址 扇 区地 址 CRC1 CRC2 0 0?0 0 4 图6-5 7 磁道 记 录 格 式 数据记录段中第一个 字节是数据被删除的 地址标志,接着是用 户数据,最后两个是 CRC检验字节。 74 (2) 磁道的记录格式 自由 G4 20 G1 检 索孔 ID 1 5 10 131 数 据记 录1 21 G3 5 ID 2 10 G2 131字节 数 据记 录2 F F?F F 0 0?0 0 G2 4 用 户数 据 F F?F F I D 地 址标 志 F F?F F 0 0?0 0 CRC1 CRC2 4 磁 道地 址 扇 区地 址 CRC1 CRC2 0 0?0 0 4 图6-5 7 磁道 记 录 格 式 G3用来结束第一个记 录,称为数据间隙。 75 4. 硬盘存储器的参数 (1) 硬盘的主要参数 ① 硬盘容量 格式化容量=记录面数×每面的磁道数×扇区数×每个记录的字节数 非格式化容量=记录面数×每面的磁道数×磁道容量(最内道总共的位 数) ② 主轴转速 ③ 平均寻道时间 ④ 高速缓存 76 ⑤ 数据传输率:数据传输率是指硬盘存储器在单位 时间内向主机传送的字节数。 如果硬盘的旋转速度为每秒r转,每条磁道的容 量为N个字节,则数据传输率Dr=rN(B/s)。 由于各个扇区之间存在间隙,存取时还需要有一 些判别性操作,所以一条磁道的平均数据传输率要低 于存取一个扇区的“瞬时”数据传输率。 平均数据传输率=每道扇区数×扇区容量×盘片转 速。 77 [例6.8] 某硬盘存储器转速为3000r/min,共有4个记录面, 每个记录面上共有275条磁道,每mm为5道,每道记录信息为12,288 字节,最小磁道直径为230mm。问: (1) 磁盘存储器的容量是多少? (2) 最高位密度与最低位密度是多少? (3) 硬盘数据传输率是多少? (4) 平均等待时间是多少? (5) 给出一个硬盘地址格式方案。 解:(1) 每道记录信息容量=12,288字节 每个记录面信息容量=275×12,288字节 共有4个记录面, 硬盘存储器总容量=4×275×12,288字节=13,516,800字节 (2) 最高位密度D1按最小磁道半径R1计算(R1=115mm): D1=12,288字节/2π R1≈17字节/mm 最低位密度D2按最大磁道半径R2计算: R2=R1+(275÷5)=115+55=170mm D2=12,288字节/2π R2≈11.5字节/mm 78 (3) 硬盘传输率Dr=rN r=3000/60=50转/秒 N=12,288字节(每道信息容量) Dr=r×N=50×12,288字节=614,400字节/秒 (4) 平均等待时间=1/2r=1/(2×50)=10ms (5) 假定只有一台硬盘驱动器,所以不考虑驱动器号地址。有4个 记录面,每个记录面有275条磁道。假定每个扇区记录1024个 字节,则需要12,288字节÷1024字节=12个扇区。由此可得如 下地址格式: 柱面(磁道)号 记录面号 扇区号 14 6 5 4 3 0 四、软盘存储器 五、磁带存储器 79 光盘存储器 一、光盘存储器的类型 1.只读型光盘(CD-ROM) 2.只写一次型光盘(WORM) 3.可读/写型光盘(CD-RW) 80 二、光盘的存取原理 1.只读型和只写一次型 2.读/写型 写入时,将激光束聚焦成直径 为小于1μ m的微小光点,以其 热作用,融化盘表面上的光存 (1) 磁光型 储介质薄膜,在薄膜上形成凹 坑。有凹坑的位置表示记录了 (2) 相变型 “1”,没有凹坑的位置表示 “0”。 三、光盘存储器的组成 读出时,在读出光束的照射 下,在有凹坑处和无凹坑处反 (1) 激光器及准直部分。 射的光强度是不同的。利用这 种差别,可以读出二进制信息。 由于读出光束的功率只有写 (2) 分束部分。 入光束功率1/10,因此不会融 出新的凹坑。 (3) 聚焦物镜。 (4) 读出和伺服信号检测器。 写一次型光盘的光学系统示意图,如图6-64所示。 81 二、光盘的存取原理 1.只读型和只写一次型 2.读/写型 磁畴,初始时,全部磁畴转向 同一方向。 当数据写入时,利用凸透镜进 (1) 磁光型 行聚集,当此点的温度上升到 约300℃时,磁畴随外磁场的作 (2) 相变型 用而改变其原磁化方向。 数据的读取是利用低功率的激 三、光盘存储器的组成 光探测盘片表面, 要进行数据重写时,需经过 (1) 激光器及准直部分。 “擦”和“写”两步:先利用 中功率激光照射拟擦除的位置, 使磁畴翻转恢复到原来的方向 (2) 分束部分。 (3) 聚焦物镜。 (4) 读出和伺服信号检测器。 写一次型光盘的光学系统示意图,如图6-64所示。 82 二、光盘的存取原理 1.只读型和只写一次型 2.读/写型 存储介质的晶态、非晶态可逆转换 (1) 磁光型 (2) 相变型 三、光盘存储器的组成 (1) 激光器及准直部分。 (2) 分束部分。 (3) 聚焦物镜。 (4) 读出和伺服信号检测器。 写一次型光盘的光学系统示意图,如图6-64所示。 83 光盘 调制信号 聚焦系统 激光器 Hi-Ne 10% 光束分离器 90% 调制器 记录光束 径 向 跟 踪 反 射 镜 物镜 读出信号 光束分离器 光敏二极管 读出信号 旋转台 84 四、光盘驱动器的技术指标 1.容量和体积 2.数据传输率 3.平均存取时间 4.缓冲存储器 五、接口类型 作业:6.18 6.19 85 6.19 (1) 磁盘记录区域: (30-20)/2=5cm 磁盘的磁道数=5*10mm*8道/mm=400道 每道非格式化容量 =周长*位密度 =2*3.14*20/2*10mm*250bit/mm=19625B 每道格式化容量 =16*1024=16384B 盘组非格式化容量=4*400*19625=31400000B 盘组格式化容量=4*400*16384=26214400B (2)磁盘数据传输速率=16384B*7200转/60s=1.966M/s 磁头移动400道时间=5cm*10/2000mm/s=0.025s=25ms 平均寻道时间=25ms/2=12.5ms 转一周时间=60s/7200=8.3ms 平均旋转等待时间=8.3/2=4.15ms (3)余下的存于同一柱面 地址方案:磁道号9位 记录面号2位 扇区号4位 86

本文链接:http://shawntierney.com/fangwenjubuxing/632.html