在整个存储体系的组织中,缓冲技术成为解决容量与速度之间矛盾的主要方法。实际上在计算机系统中缓冲技术解决了许多难题,促进了计算机系统的发展。在存储体系中,缓冲技术主要体现在Cache的应用和磁盘缓冲的使用。
* O: Y" u+ h* F! T; d(1)Cache的原理和作用Cache的工作原理基于对大量典型程序运行实例的分析。分析结果表明,在较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间很小的范围内。指令地址的分布又是连续的,加上循环程序和子程序段的重复执行,对这些地址的访问自然具有时间上集中分布的倾向。这种对局部范围的存储器地址频繁访问,对此范围外的地址访问甚少的现象称为程序访问的局部性。程序访问的局部性为Cache的引入提供了理论依据。2 P- T' O: u; A; h* S$ v$ i4 T
Cache是缓冲技术在存储体系中的一个具体应用。Cache处于主存与CPU之间,负责解决主存与CPU之间速度的协调问题。Cache中存放着主存的一部分副本(主存中的部分内容),当存储器接到有关读取指令时,先在Cache中查找此信息是否存在,若有则不经主存直接从 Cache中取出;否则直接从主存中取出,同时写入Cache,以备再次使用。当向存储器写入内容时,由辅助硬件采用各种方法保证主存中的内容同 Cache中的内容保持一致。. C) S" W4 I& N8 a
为保证写入时两者内容一致的方法有:①将内容同时写入主存和Cache;②数据仅写入主存,若Cache中有此内容则将其释放;③数据只写入Cache,在规定的时候将修改过的Cache的内容写入主存。
/ s6 l, f2 z/ f& E! OCache的主要特点是:①存取速度快,一般Cache的速度完全可以跟上CPU的运算速度;②存储量小,由于Cache的速度快,其价格也相当昂贵,因此为保证整个存储器的性能价格比,一般采用适当容量的Cache,其容量小于主存。# L. F6 F6 D. l, q& D* B
(2)磁盘缓冲技术
; @) Z5 V- X* h' e) H磁盘缓冲技术的目的是减少由于主、辅存之间的速度差异对计算机总体性能的影响。磁盘是存储系统中的辅助部分,其主要作用是用来存储不常用的数据和程序等信息,减轻对主存容量的需求压力。由于磁盘中的信息不能被计算机的其他部件直接调用,因此在信息的输入/输出过程中必须在主存中开辟一定的空单位和为与磁盘上信息交换的中间过渡区域称为磁盘缓冲区。如从键盘(输入设备)向磁盘中输入一个信息,此信息必须通过总线先输入到主存中的特定区域中,通过程序控制将信息存放到主存中对应于磁盘输入/输出的一个特定区域内,然后将此信息转存到磁盘上。一般将主存中对应于磁盘的特定区域称为磁盘缓冲区。5 B' z' R( M2 P; e! O4 j
为了提高磁盘的读写速度,操作系统一般根据程序运行的需要设置磁盘缓冲区的大小及输入/输出操作。同Cache技术相类似,不立即覆盖磁盘缓冲区的内容,当系统需要继续读入磁盘中的信息时,首先检查磁盘缓冲区中是否有所需要的信息,若有则直接使用,否则根据信息的位置将磁盘上特定扇区的内容调入磁盘缓冲区后再加以使用。这样可以提高磁盘的信息读取速度,减少因磁盘存取速度慢对系统整体性能的影响
8 A" a* [6 ?3 H) p8 A& x九、输入与输出系统
( y( e. K, b2 I5 j; C- E1.输入输出系统的发展, n Z6 g9 f+ b* v/ I
输入输出系统的发展大致分为五种方式,即程序控制的输入输出方式、中断方式,DMA方式、输入/输出通道方式和I/O处理机等五种方式。 |