




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机的存储器是存放数据和程序的设备 可分为主存储器 memory 也称内存储器或简称为主存 和辅助存储器 也称为外存储器或简称为辅存 主存直接与CPU交换信息 因此要求速度快 辅存用于存放当前不立即使用的信息 主存都由半导体存储器所组成 辅存则是由磁盘 磁带 光盘 U盘等所组成 第7章存储器系统 1概述 一 基本概念1 记忆单元 存储元件 存储一位二进制数的器件 2 存储单元 多个记忆单元组成一个存储单元 一般为8个记忆单元 3 存储体 存储器的核心 相当于存储芯片 4 存储器 由若干存储体同周围的逻辑线路一起组成的部件 5 存储字长 一个存储字中说包含的二进制的位数 6 按字编址 一个存储单元可以存放一个字 7 按字节编址 一个存储单元可以存放若干个字节 二 主存储器的主要技术指标1 存储容量 主存所能容纳的二进制信息的总量 字节编址 以字节数来表示容量 字编址 以字数 字长来表示容量 如 某计算机的容量为64K 16 表示它有64K个字 每个字的字长为16位 若用字节表示 则可记为128K字节 2 存取速度 存取时间 存取周期 1 存取时间Ta 访问时间 读写时间 指从启动一次存储器操作到完成该操作说经历的时间 2 存取周期Tm 读写周期 访问内存周期 指存储器从接受读写命令型号开始 将信息读出或写入后 到接到下一个读写命令为止所需的时间 一般情况下 Tm Ta 为什么 因为对任何一种存储器 在读写操作之后总要有一段恢复内部状态的复原时间 对于破坏性读出的存储器 存取周期往往比存取时间要大得多 甚至可以达到Tm 2Ta 这是因为存储器中的信息读出后需要马上进行重写 再生 3 可靠性 以平均无故障时间 两次故障之间的平均间隔来衡量 4 性价比 性能 价格比 希望价格越低性能越好 5 功耗 是一个不容忽视的问题 它反映了存储器件耗电的多少 同时也反映了器件的发热程度 因为温度高会限制集成度的提高 功耗小 也有利于存储器的稳定工作 2半导体存储器 一 基本组成及操作为了实现按 地址 存入或读出数据 存储器至少由如下部件组成 1 地址寄存器 MAR 2 地址译码和驱动器 3 存储体 4 读 写放大电路 5 数据寄存器 MDR 6 读 写控制电路A0 A4 为地址线 来源于MARD0 D7 为数据线 来源于MDR 1 存储体 MB memoryBank 虚线框内 一般呈矩阵式 以便于译码 存储体由存储单元组成 每个存储单元包含若干个存储元件 每个存储元件只存储一位二进制数 1或0 每个存储单元有一个编号 称之存储单元的地址 简称 地址 计算机的数据和指令是按地址存放在存储体的各个存储单元中 存储体所包含的存储单元总数称为存储器的容量 2 地址寄存器 MAR MemoryAddressRegister 地址寄存器由若干个触发器组成 用来存放访问存储器的地址 指令地址或操作地址 地址寄存器的长度 即位数 应该与存储器的容量相匹配 地址寄存器的长度i 至少应满足 2i 存储器容量 如 存储器容量为8K 则地址寄存器的长度至少为13 3 地址译码和驱动器该部件实现对地址寄存器所提供的地址码进行译码 经驱动器的电流放大 选中 某一存储单元 如 地址寄存器提供的地址码为00 01000则选中存储体的第8号存储单元 地址译码有 1 单译码 线选法 一个译码器 一次就能选中一个存储单元 2 双译码 重合法 两个译码器 由X Y双向决定被选中单元 单译码 4根地址线 16根选择线双译码 4根地址线 8根选择线 由上图可以看出 采用双译码结构 不能节省地址线的数目 由存储单元的个数决定 但可以节省地址线选择线的数目 现一般都采用这种结构 4 数据寄存器 MDR memorydataregister 用来暂存从存储单元中读出的数据 或指令 或暂存从数据总线来的即将写入存储单元的数据 很显然 数据寄存器的宽度W应该与存储单元的长度相匹配 如果存储单元的长度为一个字节 则数据寄存器的位数为8位 5 读 写放大电路该部件实现信息电平的转换 即将存储元件表示 1 和 0 的电平转换为数据寄存器中触发器上所需要的电平 反之亦然 6 读 写控制电路该部件一般由逻辑门电路组成 它根据控制器发来的读 写信号 发出实现读 写操作的控制信号 片选信号是由若干个位地址码经译码而形成 当 0时 该存储芯片工作 否则 该芯片不工作 二 存储器的工作原理 存储器如何实现读操作 取数 和写操作 存数 通常 我们把这两种操作统称为 访问 当对某一存储器芯片进行访问时 该芯片应处于工作状态 故必须选中该芯片 1 读操作过程 1 送地址 控制器通过地址总线 ABUS 将指令地址或操作数地址送人地址寄存器 MAR 2 发读命令 控制器通过控制总线 CBUS 将存储器读信号 送人读 写控制电路 3 从存储器读出数据 读 写控制电路根据读信号有效 和电选信号有效 向存储器内部发出 读出 控制信号 在该信号的作用下 地址寄存器中的地址码经地址译码器的译码 选中并驱动存储体中的某一存储单元 从该单元的全部存储元件中读出数据 经读 写放大器放大 送入数据寄存器 再经数据总线 DBUS 将读出的数据送入控制器 若读出的数据是指令 或运算器 若读出的数据是操作数 2 写操作过程 1 送地址 2 送数据 将要写入存储体的数据由运算器或输入设备经数据总线 DBUS 送入数据寄存器 3 将数据写入存储器 读 写控制电路存储器地址译码选中存储单元写入数据 三 存储空间的计算1 递推法0000H 1K03FFH0400H 1K07FFH0800H 2K0FFFH1000H 4K1FFFH地址码每增加1位 空间便扩大1倍 2 数位计算法在十六进制中 上一位的数是下一位的数的16倍1H 10000H 64K10H 100000H 1024K100H 1000H 4K3 幂值计算法如果地址码的位数位N 那么地址码所能表示的存储单位的个数M满足如下关系 M 2N如 地址码为16位 则存储单元个数M 216 64K这就是说 16根地址所能寻址的范围为64K容量 3存储元件 在讲述具体的存储器之前 我们有必要先了解一下构成存储器的存储元件的种类和特性 存储元件用来存储一位二进制信息 不同的半导体存储器 其存储元件的结构不同 就存储信息的原理而言 大致可分为三种 1 用触发器作为存储元件 双极型和MOS型静态RAM 2 用电容器作为存储元件 MOS型动态RAM DRAM 充电为1 放电为0 3 用晶体管作为存储元件 导通为0 截止为1 一 MOS型静态RAM存储元件和动态RAM存储元件的组成及其存储信息的原理 T5 T6作为行选管T7 T8作为列选管 当行选X上为高电平时 T5 T6导通 反之截止 当列选Y上为高电平时 T7 T8导通 反之截止 当存储器的地址寄存器MAR所提供的地址码 经译码选中某一存储单元时 该单元中的所有存储元件的行选和列选均为高电平 即X 1 Y 1 而且 由于该存储器芯片处于工作状态 故电选信号有效 CS 1 1 读操作的工作原理X 1 T5 T6导通 Y 1 T7 T8导通读操作时 故CS 三态门4打开 存储元件所存储的信息 设Q 1 经T6 T8和读写放大器3 从门4读出 此时 由于CS WE 0 门5关闭 写入电路不工作 2 写操作的工作原理X 1 T5 T6导通 Y 1 T7 T8导通写操作时 WE 1 故CS WE 1 三态门5打开写入信息 设Din 1 经门5加到写入电路1和2这样 反相器1的输出为写入信息的非 经T7 T5 使存储元件的端置于写入信息的非 同向器2的输出为写入信息的原 经T8 T6使存储元件的Q端置于写入信息的原 综上可知 存储元件的信息的读写是从Q端实现的 而写入则是从Q和两端实现的 二 MOS型动态RAM存储元件动态RAM存储元件是用电容的充电来存储二进制信息 1 读出 地址选择为高电平 T导通 电容C上的电压 经T从数据线上读出 2 写入写入信息置于数据线上 且地址选择线为高电平 T导通 此时 数据线上的信息经T对电容C充电 写入1 或放电 写入0 使写入信息以电荷方式存储在电容C上 为了缩减元件所占的芯片面积 动态存储元件中的电容C不可能做得很大 故每次读写后信息会很快消失 为维持原存信息 需在读出后立即进行 重写 此外 即使不进行读操作 电容C上的电荷也会通过电路内部的漏电电阻和分布电容进行慢速放电 以致经过一段时间后 电容上的电荷也会放光 存储的信息自动丢失 因此 在由动态存储元件所组成的动态RAM中 每隔一定时间需对存储元件进行 刷新 以保证原存的信息不丢失 重写 和 刷新 是动态RAM要解决的两个特殊问题 这使得存储器的外围电路比较复杂 三 动态MOS存储器的刷新1 刷新的时间间隔 决定于电荷的泄露速度 Q CUC 电容容量U 两端电压泄露电流 I Q t C U t泄露时间 t C U I一般器件的刷新周期为2ms 即要在2ms内对每一个存储单元的信息刷新一次 2 几点要求 两次刷新时间间隔不能超过允许时间2ms 刷新优先于访存 但不能打断访存周期 在刷新期间内 不准访存 3 刷新方式 集中式 在允许的最大刷新时间间隔2ms内 集中安排刷新时间 如下图 如存储单元1024个 排成32 32的方阵 存取周期500ns 刷新按行进行 每刷新一行 用一个存取周期 那么刷新32行就需要用32个存储周期 2ms 500ns 4000个周期特点 存取周期不受刷新影响 速度快 存在 死区 刷新时间内不能读 写 分散式 如下图 把系统的存取周期分成两部分 一部分读写 一部分刷新 每次读写信息后 立即对它刷新 如上例 存取周期500ns 刷新一行500ns 系统周期 1us特点 刷新时间间隔短 32us 无 死区 但系统存取周期长 降低了整机的运算速度 不适于高速缓存 异步方式 如下图 结合上面两种方式 在2ms的时间内 把存储单元分散地刷新一遍 如上例 32 32方阵 2ms 32 62 5us 每行刷新的平均间隔 特点 单个间隔里集中 整个周期内分散 这种方式使用较多 另外 异步刷新方式还可以采用不定期刷新方式 可以在主机不访存的时间内刷新 这种方式取消了机器的 死区 但刷新控制电路极其复杂 注意事项 刷新对CPU是透明的 刷新按行进行 不需要列地址 刷新与读出操作既相似又不同读出时 要对C1或C2充电 刷新也要对其充电 但刷新时仅补充电荷 无需信息输出 刷新和重写 再生 是两个完全不同的概念 切不可加以混淆 重写是随机的 某个存储单元只有在破坏性读出后才需要重写 而刷新是定时的 即使许多记忆单元长期未被访问 若不及时补充电荷的话 信息也会丢失 重写一般是按存储单元进行的 而刷新通常以存储体矩阵中的一行为单位进行的 4用存储器芯片构成半导体存储器 用现成的集成电路芯片构成一个一定容量的半导体存储器 大致要完成以下四项工作 1 根据所需要的容量大小 确定所需芯片的数目2 完成地址分配 设计片号信号译码器3 实现总线 DBUS ABUS CBUS 连接4 解决存储器与CPU的速度匹配问题下面通过一个简单例子 说明如何用现成芯片来构成一个存储器 2片 4组 练习 用2K 8位存储芯片组成16K 8位的存储器 5只读存储器ROM 最初提出ROM的概念定义为只读是从提高机器的可靠性和随机存储器的效能两个方面考虑的 当时人们发现 计算机在执行程序过程中有好多程序是固定不变的 于是 就可把这些程序放在只能读出 不能写入的存储器中 尤其在一些专用机中采用比较普遍 甚至把一些常数也放在只读存储器 后来 这种思想又发展了 把只读存储器应用于微程序控制器 成了微程序库 因而增强了控制器对机器控制的灵活性 也使控制器的设计更加方便和有条件 现在 随着计算机的发展 只读存储器的作用已显得越来越重要了 只读存储器ROM常用来存储计算机的监控程序 基本输入输出系统 BIOS 微程序库 汉字库等 是一种在程序执行过程中只能将内部信息读出而不能写入的存储器 主要包含四种 1 固定掩模型ROM 这一类ROM的内部信息是在制作集成电路芯片时用定做的掩膜写入的 制作后用户不能再修改 这种芯片生产成本较高 尤其数量小时 更高 2 PROM 可编写的ROM这一类ROM的内部信息是由用户按需要写入的 但只允许编程一次 3 EPROM 可擦洗的ROM这一类ROM的内部信息可多次改写 当用户自行写入的信息不需要时 可用 擦除器 紫外线照射 将原存的信息擦掉 再写入新的内容 4 E2PROM 电可擦洗的ROM通过大电源即可将原存的信息擦掉 再写入新的内容 6辅助存储器 辅助存储器用于存放当前不立即使用的信息 一旦需要 辅存便与主存成批交换数据 或将信息从辅存调入内存 或将信息从主存调出到辅存 辅存的最大特点 1 存储容量大 2 可靠性高 3 价格低 4 信息永久保存 目前 常用的辅助存储器有 一 磁表面存储器的存储原理是用某些磁性材料涂在金属铝片或塑料片 带 的表面上作为载体而来存储信息的存储器 在载磁体的附近有一个磁头 其上绕有一个读写线圈 1 写操作时 在磁头的线圈中通过一定方向的脉冲电源 磁头的铁芯内便产生一定方向的磁通 该磁通使磁头空隙下的载磁体局部磁化 形成相应极性的磁化元 写入脉冲电源的方向不同 在载磁体上形成的磁化元的极性不同 用一种极性表示信息1 另一种表示0 则一个磁化元就是一个存储元件 可存放一位二进制信息 写操作是将两个方向的电流脉冲转化为两种极性磁化元的过程 该磁化元的极性状态可永久地保存在载磁体上 直到下一次重新写入为止 2 读操作时 当载磁体按一定方向移动时 磁头作切割磁力线运动 便在磁头的线圈中产生感应电势 该电势在外电路作用下转化为脉冲电流 可见 读操作是将不同极性的雌化状态转化为不同方向的电流脉冲的过程 二 磁带存储器 磁表面存储器的一种 1 存储格式磁带机是一种顺序存取的存储器 磁带上的信息以信息块的形式 一个 记录 或一个 文件 顺序地存放在磁带上 其格式如下各信息块之间留有间隙 每个信息块都有头标和尾标 整个磁带有卷头标和卷尾标 整个磁带有卷头标和卷尾标 若要读取的信息块在磁带的尾部 则必须空转磁带到尾部 才能读该信息块 因此磁带的存取时间较长 速度较慢 但存储容量大 价格便宜 便于携带 互换性好 是大中型计算机系统中常用的辅助存储器 2 磁带机的主要技术指标 1 带速 4 5米 秒 2 记录密度 每英寸所能记录的字节数 单位BPI 常用的有 800BPI 1600BPI 3200BPI 6250BPI 3 数据传输速率 单位时间内所能传送信息的数量 带速 记录密度三 磁盘存储器 magneticdiskstorage 1 软盘 floppyDisk 是以塑料圆盘为基片 上下两面涂有磁性而制成的磁盘 标签 生产厂家的标志及软盘的规格 型号 单面 SS 双面 DS 低密度 DD 高密度 HD 1 磁盘要远离磁场 注意防磁 2 磁盘久置容丢失信息 尤其是软盘要注意防潮 每一片磁盘可有两个盘面 每一个盘面上都有一个磁头用于读取或写入该盘面的信息 盘面信息存放格式 每个盘面上有几条到几百条同心圆磁道 由外向内 分别为0磁道 1磁道 N磁道 每条磁道上又分成若干个扇区 每个扇区存放若干个字节信息 信息存取以扇区为单位 读 写信息时 必须知道 1 盘面号 2 磁道号 3 扇区号 4 存取信息的长度 由上述几项就可以知道 存储信息的位置 称为磁盘存储器的地址 主要技术指标 1 记录密度 存储密度 一般用磁道密度和位密度来表示 磁道密度 指沿磁盘半径方向 单位长度内磁道的条数 位密度 指沿磁道方向 单位长度内存储二进制信息的个数 由于每个磁道上的存储容量是相同的 很显然 0磁道的密度比最后一个磁道的密度要小得多 2 存储容量C 所能存储得有用信息得容量C 盘面数 磁道数 扇区数 每扇区字节数 3 寻址时间 指磁头从启动位置到达所要求的读 写位置所经历的全部时间 由寻道时间ts和平均等待时间tw两部分时间组成 寻道时间 磁头找到目的磁道所需的时间 平均等待的时间 所读 写的扇区转到磁头下方所用的平均时间 一般取转一周所用时间的一半 4 数据传输速率 指磁头找到位置后 每秒读出或写入的字节数 V 一个磁道上存储的字节数 每转一周所需的时间 2 硬盘 harddisk 是以铝合金圆盘为基片 上下两面涂有磁性材料而制成的磁盘 它是将多个盘片固定在一根轴上 以组成一个盘组 硬盘上的读 写磁头大多数是悬浮的 它可沿着盘面的径向移动 目前常用的硬盘是温彻斯特盘 简称温盘 在微型机中 多采用直径3 5英尺和2 5英尺的小温盘 并将硬盘片 磁头 电机和驱动部件全做在一个密封的盒里 因此 具有体积小 重量轻 防尘性好 可靠性高 使用环境比较随便等特点 磁盘机的结构 硬盘存储的原理 数据存储在密封于洁净的硬盘驱动器内腔的若干个磁盘片上 这些盘片一般是在以铝为主要成分的片基表面涂上磁性介质所形成 在磁盘片的每一面上 以转动轴为轴心 以一定的磁密度为间隔的若干个同心圆就被划分成磁道 track 每个磁道又被划分为若干个扇区 sector 数据就按扇区存放在硬盘上 在每一面上都相应地有一个读写磁头 head 所以不同磁头的所有相同位置的磁道就构成了所谓的柱面 cylinder 传统的硬盘读写都是以柱面 磁头 扇区为寻址方式的 CHS寻址 硬盘在上电后保持高速旋转 5400转 min以上 位于磁头臂上的磁头悬浮在磁盘表面 可以通过步进电机在不同柱面之间移动 对不同的柱面进行读写 所以在上电期间如果硬盘受到剧烈振荡 磁盘表面就容易被划伤 磁头也容易损坏 这都将给盘上存储的数据带来灾难性的后果 硬盘的第一个扇区 0道0头1扇区 被保留为主引导扇区 在主引导区内主要有两项内容 主引导记录和硬盘分区表 主引导记录是一段程序代码 其作用主要是对硬盘上安装的操作系统进行引导 硬盘分区表则存储了硬盘的分区信息 计算机启动时将读取该扇区的数据 并对其合法性进行判断 扇区最后两个字节是否为0 x55AA或0 xAA55 如合法则跳转执行该扇区的第一条指令 所以硬盘的主引导区常常成为病毒攻击的对象 从而被篡改甚至被破坏 可引导标志 0 x80为可引导分区类型标志 0表示未知 1为FAT12 4为FAT16 5为扩展分区等等 四 光盘存储器光盘是利用光学原理进行读 写信息的辅助存储器 它利用激光束在光盘表面上存储信息 并根据激光束反射光的强弱来读出信息 1 分类 1 只读型 CDROM compactDiskReadonlymemory 2 只写一次型 WORM writeonereadmanydisk 3 可重写型 WROM 2 读写原理 只读型和只写一次型的光盘与可重写型完全不同 只读型和只写一次型在写人信息时 将激光束聚焦成直径不超过1微米的激光束 照射到记录介质上 使其局部加热到能把介质熔化 形成一个小凹坑 改变了光学特性 读出信息时 光电检查电路根据被激光照过的介质和没有被照过的介质对光的反射率不同 便可读出所存储的信息 可重写型是用磁光材料做成的 利用激光束的热作用改变介质上局部磁场的方向来记录信息 再利用磁光效应来读出信息 3 光盘的优点 1 存储量大 一张光盘为650MB 2 可靠性 信息几乎不可能被丢失 3 存取速度高 五 优盘 U盘 1 构造原理 主要就是在原有的晶体管上加入了浮动栅和选择栅 在源极和漏极之间电流单向传导的半导体上形成贮存电子的浮动棚 浮动栅包裹着一层硅氧化膜绝缘体 它的上面是在源极和漏极之间控制传导电流的选择 控制栅 数据是0或1取决于在硅底板上形成的浮动栅中是否有电子 有电子为0 无电子为1 闪存就如同其名字一样 写入前删除数据进行初始化 具体说就是从所有浮动栅中导出电子 即将有所数据归 1 2 存储的原理 写入时只有数据为0时才进行写入 数据为1时则什么也不做 写入0时 向栅电极和漏极施加高电压 增加在源极和漏极之间传导的电子能量 这样一来 电子就会突破氧化膜绝缘体 进入浮动栅 读取数据时 向栅电极施加一定的电压 电流大为1 电流小则定为0 浮动栅没有电子的状态 数据为1 下 在栅电极施加电压的状态时向漏极施加电压 源极和漏极之间由于大量电子的移动 就会产生电流 而在浮动栅有电子的状态 数据为0 下 沟道中传导的电子就会减少 因为施加在栅电极的电压被浮动栅电子吸收后 很难对沟道产生影响 7提高主存储器性能的技术 一 概述考查一个存储器的性能好坏 主要有三个因素 速度 容量 可靠性 如何提高主存储器性能是非常重要的 一 速度因素 速度因素主要指CPU与主存之间传输速度 CPU为ns级 内存为几十个ns级 解决方案有五种 1 采用存取时间短的存储器芯片一般地讲 SRAM 静态RAM 比DRAM快 双极型比MOS型快 2 采用双端口存储器3 采用多个芯片并联使用 扩大字长 提高频宽 单位时间内存取的位数 4 多体存储器交叉编址 使得可同时进行多个字的读或写 5 加入高速缓冲存储器 cache 把使用频率高的数据存入cache 从而提高数据的传输率 二 容量因素 主存容量决定于CPU的地址总线宽度 理论上讲扩大地址总线宽度 即地址线的位数 可以扩大主存容量 但这会带来控制器的困难 因此 实际上 普遍采用虚拟存储器技术 三 可靠性因素随着集成电路技术的发展 集成电路存储器芯片本身的可靠性已很高 在实际应用中 我们要考虑的是防止破坏和非法使用 二 采用双端口存储器 如下图 一个存储体有两套外围电路 在某一时刻可以同时对两个存储单元进行读写 三 主存多体交叉存取方式 如下图 将一个大容量的主存分成多个容量相同的个体 每一个个体相互独立 交叉编址 每个个体有自己的地址寄存器 数据寄存器 读写电路等 这样每个个体都可与CPU交换信息 即CPU可在一个存取周期内分时访问每个个体 但要注意解决 相关性 问题 指令相关和数据相关 后一条指令需要前一条指令的结果 四 高速缓冲存储器Cache 如下图 就是在CPU和内存之间增设一种速度和CPU相当的存储器 1 为什么增设cache就可以提高访问速度 因为在运行程序时 在较短时间内 程序的地址往往集中在某个很少的地址范围内 在时间上和地址上往往具有分布较集中的特性 即程序的局部性原理 若都要到内存中去调取 需要浪费较多的时间 容量问题 不能太大也不能太小 太大 内存与Cache交换的信息量大 影响CPU效率且硬件线路复杂 太小 命中率低 所谓命中率 CPU在Cache中取得的有效信息的次数与访问Cache的总次数的比率 一般为90 如P L1Cache32K 位于CPU内部 16K指令 16K数据 L2Cache512K 位于主板上 速度相当于CPU核心速度的一半 2 工作原理 如下图 将主存分块 每块有若干个字节 将Cache也分成同样大小的块 由于其容量小 故其块数也比内存少 主存中只有一部分块的内容可放在Cache中 Cache的内容是主存内容的副本 cpu要访问主存时 先根据块标记判断要访问的数据是否在cache中 若在即命中 否则访问cache无效 即没命中 说明要访问主存中的一块信息 并到内存把该块信息装入cache 如果cache已装满 则需要根据某种算法 把某一块先调出 再调入所需块 3 主存与cache之间信息块的调度算法设计调度算法的目的就是要使用cache获得较高的命中率 即cpu要访问的数据总是能在cache中找到 常用的算法有四种 1 随机替换法 公平 但命中率很低 已淘汰 2 FIFO 先进先出 算法 最先进入cache的信息块最先被替换 最先进去的块可能就是最常用的块 3 LUR算法 近期最少使用算法把最近最少使用的信息块替换掉 最近少用 但并不证明将来也少使用 4 OPT 优化替换 算法 理想算法 但实现起来难度较大 先让程序试运行一次 从而分析出地址 然后才真正运行第二次 4 Cache的一致性Cache中的字块 是主存中相应字块的副本 程序运行过程中会对Cache的某块进行写操作 如何保持Cache的信息和主存的信息的一致性呢 写直达 Cache与主存单元同时更新 WriteThrough 写回法 仅更新Cache单元 用标志位标记 直至修改的字块被从Cache中替换出来时 再一次性写入内存 WriteBack 特点 写直达法简单 但当一个字倍多次更新时 会引起对主存的多次写入 这是不必要的 写回法速度快 但因在最后写主存前 主存中的字块未经随时修改而可能失效 5 CPU是如何访问cache Cpu提供的是内存地址 而cache又并非和主存采用统一编址 因此要访问cache 就必须cpu提供的内存地址转换成cache地址 这种地址转换称为地址映象 那么有哪些方法 1 直接映象法 cache块地址J与主存块I的关系满足J Imod2n n为cache块地址位数 特点 地址变换简单 但对应关系不灵活 2 全相联映象允许主存的每一块信息可以存到cache的任何一个块空间 也允许用任何替换算法从被占满的cache中替换掉任何一块信息 特点 对应关系灵活 但访问速度太慢 成本太高 目前很少使用 最早的cache就是用硬件方法实现的全相联地址映象的 3 组相联映象把cache分为2c组 每组包含2r个信息块 cache共有2c r个信息块 此时 cache地址I与主存的块地址J的对应关系满足I Jmod2c 2r kkK为可选参数 很显然组间直接映象 而组内是全相联映象 提醒 为提高速度 Cache需用全硬件实现 Cache全由静态RAM组成 五 虚拟存储器 VirtualMemory 解决内存容量问题 1 问题的提出 目前 计算机内存主要由半导体存储器组成 由于成本 工艺 速度的原因 内存的容量受到限制 而用户却希望内存的容量越大越好 如 当多个用户同时使用一台计算机或一个用户同时运行多个程序或运行一个很大的程序时 内存往往放不下这些程序和数据 怎么办 解决的办法是把外存当内存用 CPU仍然只与内存打交道 所需程序和数据及时自动地从外存调入内存 这样 对用户来讲好像机器有一个容量很大的内存 这种由于把外存当作内存用而扩大的存储空间 称为 虚拟存储器 2 虚拟存储器 由主存和联机工作的辅存组成 主存 辅存在硬件和软件的共同作用下 构成一个对应用程序员来讲是单一的 速度相当于主存 容量相当于辅存的存储系统 虚拟存储器对系统程序员不透明 对应用程序员是透明的 4 相关概念 1 逻辑地址 虚拟地址 程序员编程以及CPU通过指令访问内存所用的程序地址 其寻址空间完全由指令中的地址码长度决定 如 地址码32位 寻址空间可达4G 2 物理地址 真实地址 内存实际提供的地址 其可寻址空间完全由内存容量决定 3 辅存地址 外存地址空间 4 形式地址 5 有效地址 6 指令的地址 7 指令中的地址 5 虚存中的地址映像和地址变换 1 地址映像 缓存技术和虚存技术有很多相似之处 只是实现的细节不同而已 缓存要解决的是CPU与内存速度差异问题 故由硬件实现 而虚存要解决的是内存与外存的容量差距问题 故多由软件实现 2 地址变换 虚拟地址的可寻址空间远大于内存的可寻址空间 虚实地址变换的解决方案 由操作系统自动转换 6 实现存储管理的方法 页式存储管理 段式存储管理 段页式存储管理 8存储器的层次结构 目前 整个存储系统采用层次结构 常见的有两种 1 二级存储器层次结构2 三级存储器层次结构 一 存储器层次结构的特点和追求目标1 特点 各层次之间的信息调度是由辅助硬件或软件直接完成 避免了用户来分配内存管理内存的缺陷 为什么要避免 用户管理的内存的手段是采用程序覆盖处理技术 用户把辅助中的程序或数据 一块一块地分别调入内存进行处理的技术 这种技术要求用户在编程中要不断地对内存进行动态分配 因为新调入的块要覆盖原有的块 很显然 严重影响速度而且使编程变得复杂 2 追求目标 存取速度接近于内存 存储容量越大越好 价格接近于辅存的价格 二 存储体系结构的性能指标及其提高的措施 性能指标有三项 访问时间TA 存储容量S和每位价格C1 TA HTA1 1 H TA2其中 1 H为从一个存储体获取信息的概率 命中率 H 或H N1 N2分别为访问两个存储体的次数 2 TA1和TA2分别为访问两个存储体的时间要想缩短TA 有两种途径 一是提高H 二是缩短TA1和TA2 提高H的办法 1 加大存储体的容量 2 改进辅助软硬件的性能 缩短TA1和TA2的办法 1 同时缩短TA1和TA2 2 使TA1和TA2接近2 每位价格CC 理论上si si 1时 c ci 1 即低一级的存储容量远远小于上一级的存储容量时 C就越接近高一级的存储元件价格ci 1 但实际上 si和si 1的差别越大 信息调度的难度亦愈大 这样会降低访问效率 反之 信息调度的难度下降 而结构层次要增多 同样会降低效率 9应用举例 例1 设有主存M1和辅存M2构成的二级存储体系 其中M1和M2的读出时间分别时1ns和1ms 经实测 该二级存储系统的平均读出时间为100ns 今欲使其减小为10ns 试给出两种改进设计的实现方法 解 设主存的命中率为H M1和M2的读出时间为Tm1和Tm2 已知Tm1 1ns Tm2 1000ns系统平均读出时间Ta 100ns 因为Ta Tm1 1 H Tm2 要想Ta降低 则应该考虑H提高 Tm1和Tm2降低 方案1 提高H原来的H Tm1 Tm2 Ta tm2 1 1000 100 1000 0 901要使Ta 10ns 则H 1 1000 10 1000 0 991 通过改进调度算法是可以实现的 方案2 减小Tm1Tm1 Ta 1 H Tm2 10 1 0 901 1000 0 89ns 这种方法显然是不可行的 方案3 减小tm2Tm2 Ta Tm1 1 H 10 1 1 0 901 90 9ns 只要将辅存的读出时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版高品质商品房预售协议合同范本解读
- 2025版天强建设工程有限公司承接XX学校教学楼及宿舍楼工程合同
- 2025版通信网络优化通信劳务分包合同规范文本
- 2025版全新民间借款合同利息计算及下载服务
- 2025版泰和泰大豆短量合同审查与诉讼代理服务合同
- 2025年度生猪屠宰与屠宰废弃物处理设施建设合同
- 2025年度多人持股企业股权转让及后续分红权益分配合同
- 2025标准私人别墅购置合同
- 2025版金融创新产品融资咨询与居间服务协议
- 2025年新能源汽车充电桩股份投资与运营管理协议
- 临时用水施工专项方案
- 北京市各县区乡镇行政村村庄村名明细
- 工艺联锁(报警)管理制度
- GB∕T 9286-2021 色漆和清漆 划格试验
- DB35∕T 1844-2019 高速公路边坡工程监测技术规程
- 720全景照片制作方案及发布流程
- 工作责任心主题培训ppt课件(PPT 26页)
- 除尘器基础知识培训资料(54页)ppt课件
- 完整解读新版《英语》新课标2022年《义务教育英语课程标准(2022年版)》PPT课件
- 《国际商务(双语)》课程教学大纲
- 2011版义务教育生物课程标准word版
评论
0/150
提交评论