网站建设发展,手机软件开发工具有哪些,和田网站建设,个人网站免费推广高速缓冲存储器
大家好呀#xff01;我是小笙#xff0c;由于存储器这部分章节内容较多#xff0c;我分成二部分进行总结#xff0c;以下是第二部分#xff0c;希望内容对你有所帮助#xff01;
概述
目的#xff1a;避免CPU空等现象
原理#xff1a;程序访问的局部…高速缓冲存储器
大家好呀我是小笙由于存储器这部分章节内容较多我分成二部分进行总结以下是第二部分希望内容对你有所帮助
概述
目的避免CPU空等现象
原理程序访问的局部性原理指令和数据在主存地址分布不是随机的而是相对的簇聚也就是说程序大部分访问都是少数的指令和数据 Cache 工作原理
主存和缓存的编址
主存和缓存按块存储块的大小相同B 就是块的大小Cache 内的块内地址不仅大小和主存一样而且取值也是一样的Cache 内的标记就是来记录主存的主存块号 命中与未命中
缓存共有 C 块主存共有 M 块M C
命中CPU 所要访问的数据已经从主存储器映射到了 Cache 缓存中用标记建立起与主存的关系未命中CPU 所要访问的数据没有在 Cache 缓存中找到命中率 hCPU欲访问的信息在 Cache 中的比率与 Cache 的容量和块长有关访问效率 etc / (h * tc (1-h) * (tm tc)) * 100% 区间[tc / tm ,1] 访问 Cache 的时间 tc 访问主存的时间 tm
示例详解
假设 CPU 执行某段程序时共访问 Cache 命中3000次访问主存 20 次。已知 Cache的存取周期为50ns,主存的存取周期为200ns求Cache-主存系统的命中率、访问效率和平均访问时间
命中率 命中 Cache 的次数 / 总次数 3000 / (300020)平均访问时间 Cache的存取周期 * 命中率 1 - 命中率 * 主存的存取周期 50ns * h (1-h) * 200ns访问效率 e 访问 Cache 的时间 / 平均访问时间 * 100% 50ns / 50ns * h (1-h) * 200ns Cache 的基本结构
Cache 的基本结构原理框图
CPU通过地址总线给出地址这个地址包括**主存块号和块内地址**。块内地址直接传给Cache使用块号在主存Cache地址映像机构中确认是否命中。如果发生命中得到Cache的块号如果未命中查看Cache中是否有空间可装入主存块。若有访问主存装入Cache若没有启用Cache替换机构根据替换算法决定Cache中哪块可以被替换然后访问主存替换Cache即可 它主要由Cache存储体、地址映射变换机构、Cache替换机构几大模块组成 Cache存储体 Cache存储体以块为单位与主存交换信息为加速Cache与主存之间的调动主存大多采用多体结构且Cache访存的优先级最高 地址映射变换机构 地址映射变换机构是将CPU送来的主存地址转换为Cache地址 Cache替换机构 当Cache内容已满无法接受来自主存块的信息时就由Cache内的替换机构按一定的替换算法来确定应从Cache内移出哪个块返回主存而把新的主存块调入Cache Cache的读写操作 读操作 写操作 写直达 写操作数据既写入Cache 又写入主存写操作时间就是访问主存的时间 写回法 写操作只把数据写入到 Cache 缓存而不写入主存当 Cache 写入的数据要被替换的时候才写入主存
注意Cache 对用户来说是透明的 Cache 的改进
Cache 的改进框图 片内缓存也称单一缓存是指在CPU和主存之间只设一个缓存
片内缓存与CPU之间的数据通路很短大大提高了存取速度外部总线又可更多地支持I/O设备与主存的信息传输增强了系统的整体效率可是由于片内缓存在芯片内其容量不可能很大这就可能致使CPU欲访问的信息不在缓存内势必通过系统总线访问主存访问次数多了整机速度就会下降
片外缓存也称二级缓存由比主存动态RAM和ROM存取速度更快的静态RAM组成
统一缓存和分立缓存的选取主要考虑两个因素
与主存结构有关。如果计算机的主存是统一的指令和数据存储在统一主存中则相应的Cache采用统一缓存如果主存采用指令、数据分开存储的方案则相应的Cache采用分立缓存与指令执行的控制方式有关。当采用超前控制或流水线控制方式时一般采用分立缓存所谓超前控制是指在当前指令执行过程尚未结束时就提前将下一条准备执行的指令取出 Cache - 主存的地址映射
由主存地址映射到Cache地址称为地址映射。地址映射方式很多有直接映射、全相联映射、组相联映射三种
直接映射
每个缓存块 i 可以和若干个主存块对应每个主存块 j 只能和一个缓存块对应 说明 主存字块标记区号将主存分成 2 的 t 次方倍的 Cache 大小也就是 t 的位数取决于 主存 / Cache 的大小 Cache 字块地址块号主存每个区都会对应字块 2 的 c 次方块数Cache中也会有对应的块号与之一一对应只要区号和块号都一致就可以知道Cache中是否有该数据
优点实现简单只需利用主存地址的某些位直接判断就可确定所需字块是否在缓存中
缺点不够灵活因每个内存块只能固定地对应某个缓存块即使缓存内还空着许多位置也不能占用使缓存的存储空间得不到充分的利用。此外如果程序恰好要重复访问对应同一缓存位置的不同主存块就要不停地进行替换从而降低命中率
全相联映射
允许主存中每一字块映射到Cache中的任何一块位置上 优点灵活命中率高缩短了块冲突率。
缺点
主存字块标记需要与Cache的所有标记进行同时比较电路会非常复杂。主存字块标记从t位增加到tc位这就使Cache”标记“的位数增多比较器的长度就会增长。
组相联映射
组相联映射是对直接映射和全相联映射的一种折中
i j mod Q 某一主存块 j 按模 Q 映射到缓存的第 i 组中的任一块 说明主存的字块号对应了 Cache 的组数Cache 的组数决定可以主存相同块号同时放入 Cache 中的数量
优点
减少了冲突失效与直接映射相比组相联映射通过将主存块映射到一组而不是单一的缓存块减少了因为多个频繁访问的内存块映射到同一个缓存块而产生的冲突失效冲突失效是指不同的内存块需要映射到同一个缓存块简化了替换策略由于一个组内有多个块可供选择替换因此替换策略如最少使用替换或随机替换的实施比全相联映射简单因为它只需在组内进行选择而不是在整个缓存中进行选择灵活性和适应性组相联映射可以根据缓存的大小和设计调整组的大小从而提供更好的性能和适应性成本适中与全相联映射相比组相联映射在硬件实现上的成本更低因为它不需要在整个缓存中搜索可替换的块
缺点
硬件复杂性尽管组相联映射的硬件复杂性低于全相联映射但它仍然比直接映射复杂因为它需要额外的硬件来识别和选择组内的缓存块有限的并行度组相联映射的并行度低于全相联映射因为它仍然存在一定程度的冲突失效这限制了并行访问缓存的能力
例题详集
例题 1直接映射
假设有一个Cache容量为16KB块大小为4字节使用直接映射技术。主存地址为32位。求
Cache中有多少个块Cache的索引位数是多少主存中的一个特定地址0x0000A5F8会被映射到Cache的哪个块
解答
Cache的总块数 Cache容量 / 块大小 16KB / 4B 4096个块Cache的索引位数 log2(总块数) log2(4096) 12位对于直接映射Cache的索引部分直接由主存地址的中间部分给出忽略最低的块偏移量和最高的主存标记位。假设Cache的起始地址为0那么地址0x0000A5F8的索引部分是A5F8的后12位即0xA5F8的最低12位所以索引是0x5F8。这个索引值将指定Cache中的相应块
例题 2组相联映射
假设有一个Cache容量为32KB块大小为8字节使用2路组相联映射技术。主存地址为32位。求
Cache中有多少个块Cache的组数是多少主存地址0x00012345会被映射到Cache的哪个组
解答
Cache的总块数 Cache容量 / 块大小 32KB / 8B 4096个块由于是2路组相联映射每个组包含2个块所以组数 总块数 / 每组的块数 4096 / 2 2048组对于组相联映射Cache的索引位数 log2(组数) log2(2048) 11位。地址0x00012345的索引部分是中间的11位即0x12345的最低11位所以索引是0x345。这个索引值将指定Cache中的相应组
例题 3全相联映射
假设有一个Cache容量为8KB块大小为16字节使用全相联映射技术。主存地址为32位。求
Cache中有多少个块主存地址0x00005678会被映射到Cache中的哪个块假设使用最少使用替换策略
解答
Cache的总块数 Cache容量 / 块大小 8KB / 16B 512个块对于全相联映射不需要索引位因为Cache中的任何块都可以映射到任何一个地址。但是替换策略在这个例子中最少使用决定了哪个块将被替换。地址0x00005678映射到Cache中的哪个块取决于当前的Cache状态和替换策略。全相联映射没有固定的映射规则需要额外的硬件来跟踪每个块的使用情况 替换算法
先进先出FIFO算法
选择最早调入Cache的字块进行替换它不需要记录各字块的使用情况
优点比较容易实现开销小缺点没有根据访存的局部性原理故不能提高 Cache 的命中率
近期最少使用LRU算法
LRU算法比较好地利用访存局部性原理替换出近期用得最少的字块。它需要随时记录 Cache中各字块的使用情况以便确定哪个字块是近期最少使用的字块。
优点它实际是一种推测的方法比较复杂一般采用简化的方法只记录每个块最近一次使用的时间LRU算法的平均命中率比FIFO的高
辅助存储器了解
概述
辅助存储器也称为外部存储器或第二存储器是计算机系统中用于长期存储大量数据和程序的设备与主存储器RAM相对。辅助存储器不像主存储器那样直接由CPU访问但其存储容量通常要大得多而且数据在断电后仍然可以保持 记录密度它决定了磁盘上可以存储多少数据位磁带存储器则用位密度表示磁盘沿半径方向单位长度的磁道数为道密度存储容量硬盘的存储容量主要由磁盘的数量、磁盘的尺寸以及存储密度决定平均寻址时间包括寻道时间和等待时间。寻道时间是磁头移动到正确磁道的时间等待时间是磁头等待所需数据旋转到磁头下方的时间数据传输速率受限于磁盘的旋转速度和磁头的读写能力记录密度 Db记录介质的运动速度 V误码率通常与存储介质的品质、磁头的技术以及读写过程的准确性有关 磁记录原理
概述
磁记录原理是利用磁性的变化来存储和读取数据的技术。在磁记录中信息被转换成电信号这些电信号通过磁头产生变化的磁场进而改变磁记录介质如磁带或硬盘上的磁化方向以此来记录数据
本质就是利用磁体的南北极来对应二进制的 0 和 1
写入记录过程
输入信息首先被转换成电信号这些电信号通过磁头线圈产生磁场当磁场强度足够大能够克服磁介质的矫顽力时磁介质表面会产生磁化区域磁化区域的方向北极指向南极代表二进制信息中的一个位0或1 读取再现过程
磁头移动到磁化区域上方磁介质的磁化状态会影响磁头的磁场这种变化被转换成电信号通过放大和处理恢复成原始的输入信息 总的来说磁记录是一种成熟且广泛应用的存储技术它通过改变磁性材料表面的磁化方向来存储和读取数字信息 硬磁盘存储器
概述
硬磁盘存储器是一种利用磁记录技术进行数据存储的辅助存储设备。它由一个或多个快速旋转的磁盘盘片组成每个磁盘表面都涂有一层磁性材料。硬磁盘存储器通过磁头在磁盘表面读写数据这些磁头悬浮在磁盘表面非常小的距离上不会与磁盘表面直接接触
硬磁盘存储器的类型 固定磁头和移动磁头 可换盘和固定盘可换盘片指盘片可以脱机保存固定盘磁盘存储器是指磁盘不能从驱动器中取下更换时要把整个头盘组合体一起更换
硬磁盘储存器的结构
硬磁盘存储器由磁盘驱动器、磁盘控制器和盘片3大部分组成 磁盘驱动器这是硬磁盘存储器的核心部件负责控制磁头的移动以及磁盘的旋转。它通常包括磁头组件、盘片组件、电机和控制器等磁盘磁盘是硬磁盘存储器的数据存储介质通常由一个或多个铝或玻璃制成的盘片组成。每个盘片都涂有一层磁性材料用于存储数据磁头磁头是硬磁盘存储器中读取和写入数据的关键部件。它通常安装在磁头臂上可以精确地移动到磁盘的指定位置进行读写操作硬盘控制器硬盘控制器是硬盘存储器和计算机主板之间的接口负责管理数据传输和磁盘操作。常见的硬盘控制器标准有IDE、SCSI、SATA等
磁盘驱动器
磁盘驱动器是主机外的一个独立装置又称磁盘机主要包括主轴、定位驱动及数据控制等3部分 磁盘控制器
磁盘控制器通常制作成一块电路板插在主机总线插槽中
作用接收由主机发来的命令将它转换成磁盘驱动器的控制命令实现主机和驱动器之间的数据格式转换和数据传送并控制驱动器的读/写 磁盘控制器是主机与磁盘驱动器之间的接口
接收主机发来的命令转换成磁盘驱动器的控制命令实现主机和驱动器之间的数据格式转换控制磁盘驱动器读写
盘片
由硬质铝合金材料制成 软磁盘存储器
概述
软磁盘存储器与硬磁盘存储器的存储原理和记录方式是相同的但在结构上有较大的区别
硬盘软盘速度高低磁头固定、活动浮动活动接触盘片盘片固定盘、盘组大部分不可换可换盘片价格高低环境苛刻不苛刻
软盘片
是一种已经较为过时的存储介质它由一个柔软的磁性圆盘封装在一个方形或圆形的保护套中。软盘片在个人电脑和计算机历史上曾广泛使用但因其有限的存储容量和相对较慢的数据传输速度已经被更高效的大容量存储设备所取代
软盘片的工作原理
软盘片的工作原理与硬磁盘驱动器类似都是利用磁性材料记录数据。软盘片的数据存储在磁盘的磁性涂层上通过改变磁性的方向来表示二进制数据0和1。读写数据时软盘驱动器中的磁头会接触或非常接近磁盘表面的磁性涂层进行数据的读取或写入。 光盘存储器
概述
是一种使用光学技术来读取和写入数据的存储设备。光盘存储器利用激光束在光盘表面形成的小凹槽即“坑”来存储信息。这些凹槽代表二进制数据通过激光读取凹槽的反射差异来识别数据
采用光存储技术 —- 利用激光写入和读出第一代光存储技术 —- 采用非磁性介质 — 不可擦写第二代光存储技术 —- 采用磁性介质 — 可擦写
光盘存储器的工作原理
写入数据在可写或可重写光盘上激光束会加热光盘表面的特殊染料或相变材料使其融化或改变相位形成凹槽读取数据读取数据时激光束照射在光盘表面当激光遇到凹槽时反射率会发生变化光传感器检测到这些变化并将其转换为电信号进而解码为数字数据
光盘的存储原理
只读型和只写一次型 — 热作用物理或化学可擦写光盘 — 热磁效应