全部科目 > 软件设计师 >
2023年上半年 上午试卷 综合知识
第 2 题
知识点 存储系统   高速缓存   CPU   DM   存储体系   控制器   指令   中断  
章/节 计算机硬件基础知识  
 
 
在由高速缓存,主存和硬盘构成的三级存储体系中,CPU执行指令时需要读取数据,那么DMA控制器中断CPU发出的数据地址是()。
 
  A.  高速缓存地址
 
  B.  主存物理地址
 
  C.  硬盘的扇区地址
 
  D.  虚拟地址
 
 




 
 
相关试题     虚拟存储器基本工作原理,多级存储体系 

  第2题    2014年下半年  
计算机采用分级存储体系的主要目的是为了解决()问题。

  第1题    2020年下半年  
在程序执行过程中,高速缓存(Cache) 与主存间的地址映射由( )。

  第4题    2022年下半年  
以下存储器中,()使用电容存储存,而且需要周期性地进行刷新。

 
知识点讲解
· 存储系统
· 高速缓存
· CPU
· DM
· 存储体系
· 控制器
· 指令
· 中断
 
        存储系统
               存储器的层次结构
               计算机的三层存储体系结构如下图所示。
               
               存储器层次结构示意框图
               三层存储结构是高速缓存(Cache)、主存储器(Main Memory,MM)和辅助存储器(外存储器)。若将CPU内部寄存器也看作存储器的一个层次,那么存储器的层次分为4层。若有些计算机没有高速缓存,那么存储器的层次分为两层,即只有主存和辅存。
               存储器的分类
               1)按位置分类
               存储器按位置分类,可分为内存和外存。
               (1)内存(主存):用来存储当前运行所需要的程序和数据,速度快,容量小。
               (2)外存(辅存):用来存储目前不参与运行的数据,容量大但速度慢。
               2)按材料分类
               存储器按材料分类,可分为磁存储器、半导体存储器和光存储器。
               (1)磁存储器:用磁性介质做成的,如磁芯、磁泡、磁盘、磁带等。
               (2)半导体存储器:根据所用元件又可分为双极型和MOS型;根据是否需要刷新又可分为静态和动态两类。
               (3)光存储器:由光学、电学和机械部件等组成,如光盘存储器。
               3)按工作方式分类
               存储器按工作方式分类,可分为读写存储器和只读存储器。
               (1)读写存储器:既能读取数据也能存入数据的存储器。
               (2)只读存储器:根据数据写入方式,又可细分为固定只读存储器、可编程只读存储器、可擦除可编程只读存储器、电擦除可编程只读存储器和闪速存储器。
               4)按访问方式分类
               存储器按访问方式分类,可分为按地址访问的存储器和按内容访问的存储器。
               5)按寻址方式分类
               存储器按寻址方式分类,可分为随机存储器、顺序存储器和直接存取存储器。
               (1)随机存储器(RandomAccessMemory,RAM):这种存储器可对任何存储单元存入或读取数据,访问任何一个存储单元所需时间都是相同的。
               (2)顺序存储器(SequentiallyAddressedMemory,SAM):访问数据所需时fi间与数据所在存储位置有关,磁带是典型的顺序存储器。
               (3)直接存取存储器(DirectAddressedMemory,DAM):采用介于随机存取和顺序存取之间的一种寻址方式。磁盘是一种直接存取控制器,它对磁道的寻址是随机的,而在一个磁道内,则是顺序寻址。
               相联存储器
               相联存储器是一种按内容访问的存储器。其工作原理是把数据或数据的某一部分作为关键字,将该关键字与存储器中的每一单元进行比较,找出存储器中所有与关键字相同的数据字。
               高速缓冲存储器(可简称为高速缓存或缓存)可用在相联存储器中,在虚拟存储器中用来作段表、页表或块表存储器,还可以用在数据库和知识库中。
               高速缓存
               高速缓存(Cache)是位于CPU和主存之间的高速存储子系统。采用高速缓存的主要目的是提高存储器的平均访问速度,使存储器的速度与CPU的速度相匹配。Cache的存在对程序员是透明的。其地址变换和数据块的替换算法均由硬件实现。通常Cache被集成到CPU内,以提高访问速度,其主要特点是容量小、速度快、成本高。
               1)Cache的组成
               Cache的组成如下图所示。Cache由两部分组成,即控制部分和缓存部分。缓存部分用来存放主存的部分复制信息。控制部分的功能是:判断CPU要访问的信息是否在Cache中,若在即为命中,若不在则没有命中。命中时直接对Cache寻址;未命中时,要按照替换原则,决定主存的一块信息放到Cache的哪一块里面。
               
               高速缓存的组成框图
               2)Cache中的地址映像方法
               因为处理机访问都是按主存地址访问的,而应从Cache中读写信息,因此这就需要地址映像,即把主存中的地址映射成Cache中的地址。地址映像的方法有3种,即直接映像、全相联映像和组相联映像。
               (1)直接映像就是主存的块与Cache中块的对应关系是固定的。主存中的块只能存放在Cache的相同块号中。因此,只要主存地址中的主存区号与Cache中的主存区号相同,则表明访问Cache命中。一旦命中,以主存地址中的区内块号立即可得到要访问的Cache中的块。这种方式的优点是地址变换很简单,缺点是灵活性差。
               (2)全相联映像允许主存的任一块可以调入Cache的任何一块的空间中。在地址变换时,利用主存地址高位表示的主存块号与Cache中的主存块号进行比较,若相同则为命中。这种方式的优点是主存的块调入Cache的位置不受限制,十分灵活;其缺点是无法从主存块号中直接获得Cache的块号,变换比较复杂,速度比较慢。
               (3)组相联映像是前面两种方式的折中。具体做法是将Cache中的块再分成组。组相联映像就是规定组采用直接映像方式而块采用全相联映像方式。这种方式下,通过直接映像方式来决定组号,在一组内再用全映像方式来决定Cache中的块号。由主存地址高位决定主存区号,与Cache中区号比较可决定是否命中。主存后面的地址即为组号,但组块号要根据全相联映像方式,由记录可以决定组内块号。
               3)替换算法
               选择替换算法的目标是使Cache获得最高的命中率。常用的替换算法有以下几种。
               (1)随机替换(RAND)算法:用随机数发生器产生一个要替换的块号,将该块替换出去。
               (2)先进先出(FIFO)算法:将最先进入的Cache信息块替换出去。
               (3)近期最少使用(LRU)算法:将近期最少使用的Cache中的信息块替换出去。这种算法比先进先出算法要好些,但此法也不能保证过去不常用的将来也不常用。
               (4)优化替换(OPT)算法:先执行一次程序,统计Cache的替换情况。有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换,达到最优的目的。
               4)Cache的性能分析
               若H为Cache的命中率,tc为Cache的存取时间,tm为主存的访问时间,则Cache的等效访问时间ta
               ta=Htc+(1-H)tm
               使用Cache比不使用Cache的CPU访问存储器的速度提高的倍数r可以用下式求得,即
               
               虚拟存储器
               虚拟存储器是由主存、辅存、存储管理单元及操作系统中存储管理软件组成的存储系统。程序员使用该存储系统时,可以使用的内存空间远远大于主存的物理空间,但实际上并不存在那么大的主存,故称其为虚拟存储器。虚拟存储器的空间大小取决于计算机的访存能力而不是实际外存的大小,实际存储空间可以小于虚拟地址空间。从程序员的角度看,外存被看作逻辑存储空间,访问的地址是一个逻辑地址(虚地址),虚拟存储器使存储系统既具有相当于外存的容量又有接近于主存的访问速度。
               虚拟存储器的访问也涉及虚地址与实地址的映像、替换算法等,这与Cache中的类似。前面讲的地址映像以块为单位,而在虚拟存储器中,地址映像以页为单位。设计虚拟存储系统需考虑的指标是主存空间利用率和主存的命中率。按存储映像算法,可将虚拟存储器的管理方式分为以下3种。
               (1)页式虚拟存储器。以页为信息传送单位的虚拟存储器。为实现页式管理,须建立实页与虚页间的关系表,称为页表;在页表及变换软件的控制下,可将程序的虚拟地址变换为内存的实地址。页式虚拟存储器的优点是:页表硬件少,查表速度快;主存零头少。页式虚拟存储器的缺点是:分页无逻辑意义,不利于存储保护。
               (2)段式虚拟存储器。以程序的逻辑结构形成的段作为主存分配依据的一种管理方法。为实现段式管理,须建立段表;在段地址变换机构及软件的控制下,可将程序的虚拟地址变换为主存的实地址。段式虚拟存储器的优点是:段的界线分明;支持程序的模块化设计;易于对程序段的编译、修改和保护;便于多道程序的共享。段式虚拟存储器的主要缺点是:主存利用率不高,查表速度慢。
               (3)段页式虚拟存储器。这是将段式虚拟存储器和页式虚拟存储器结合的一种管理方式。在这种虚拟存储器中,程序按逻辑结构分段,每一段再分成若干大小固定的页。程序的调入调出是按页进行的,而程序又可按段实现保护。这种管理方式兼有两者的优点,但地址变换速度比较慢。
               外存储器
               外存储器用来存放暂时不用的程序和数据,并且以文件的形式存储。CPU不能直接访问外存中的程序和数据,将其以文件为单位调入主存后方可访问。外存由磁表面存储器(如磁盘、磁带)及光盘存储器构成。
               1)磁盘存储器
               (1)磁盘存储器的构成。磁盘存储器由盘片、驱动器、控制器和接口组成。盘片用来存储信息;驱动器用于驱动磁头沿盘面径向运动以寻找目标磁道位置,驱动盘片以额定速率稳定旋转,并且控制数据的写入和读出;控制器接收主机发来的命令,将它转换成磁盘驱动器的控制命令,并实现主机和驱动器之间数据格式的转换及数据传送,以控制驱动器的读写操作;接口是主机和磁盘存储器之间的连接逻辑。
               (2)磁盘存储器的种类。根据所用材质的不同,磁盘存储器分为软盘和硬盘。
               ①软盘。为了正确存储信息,将盘片划成许多同心圆,称为磁道,从外到里编号,最外一圈为0道,往内道号依次增加。沿径向的单位距离的磁道数称为道密度,单位为tpi。将一个磁道沿圆周等分为若干段,每段称为一个扇段或扇区,每个扇区内可存放一个固定长度的数据块。磁道上单位距离可记录的比特数称为位密度,单位为bpi。因为每条磁道上的扇区数相同,而每个扇区的大小又一样,所以每个磁道都记录同样多的信息。又因为里圈磁道的圆周比外圈磁道的圆周小,所以里圈磁道的位密度要比外圈磁道的位密度高。最内圈的位密度称为最大位密度。
               磁盘容量有两种指标:一种是非格式化容量,它是指一个磁盘所能存储的总位数;另一种是格式化容量,它是指各扇区中数据区容量的总和。计算公式分别为:
               非格式化容量=面数×(磁道数/面)×内圆周长×最大位密度
               格式化容量=面数×(磁道数/面)×(扇区数/道)×(字节数/扇区)
               ②硬盘。按盘片是否固定、磁头是否移动等指标,硬盘可分为移动磁头固定盘片的磁盘存储器、固定磁头的磁盘存储器、移动磁头可换盘片的磁盘存储器和温彻斯特磁盘存储器(简称温盘)。一个硬盘驱动器内可装多个盘片,组成盘片组,每个盘片都配有一个独立的磁头。所以记录面上相同序号的磁道构成一个圆柱面,其编号与磁道编号相同。文件存储在硬盘上时尽可能放在同一圆柱面上,或者放在相邻柱面上,这样可以缩短寻道时间。
               2)光盘存储器
               (1)光盘存储器的类型。根据性能和用途,可分为只读型光盘、只写一次型光盘和可擦除型光盘。
               (2)光盘存储器的组成及特点。光盘存储器由光学、电学和机械部件等组成。特点是:记录密度高;存储容量大;采用非接触式读写信息;信息可长期保存;采用多通道记录时数据传输率可超过200Mb/s;制造成本低;对机械结构的精度要求不高;存取时间较长。
               磁盘阵列技术
               磁盘阵列是由多台磁盘存储器组成的、快速大容量且高可靠的外存子系统。现在常见的廉价冗余磁盘阵列(Redundant Array of Inexpensive Disks,RAID),就是一种由多块廉价磁盘构成的冗余阵列。虽然RAID包含多块磁盘,但是在操作系统下是作为一个独立的大型存储设备出现的。RAID技术分为几种不同的等级,分别可以提供不同的速度、安全性和性价比,如下表所示。
               
               廉价冗余磁盘阵列(RAID)
 
        高速缓存
        高速缓存(Cache)是位于CPU和主存之间的高速存储子系统。采用高速缓存的主要目的是提高存储器的平均访问速度,使存储器的速度与CPU的速度相匹配。Cache的存在对程序员是透明的。其地址变换和数据块的替换算法均由硬件实现。通常Cache被集成到CPU内,以提高访问速度,其主要特点是容量小、速度快、成本高。
        1)Cache的组成
        Cache的组成如下图所示。Cache由两部分组成,即控制部分和缓存部分。缓存部分用来存放主存的部分复制信息。控制部分的功能是:判断CPU要访问的信息是否在Cache中,若在即为命中,若不在则没有命中。命中时直接对Cache寻址;未命中时,要按照替换原则,决定主存的一块信息放到Cache的哪一块里面。
        
        高速缓存的组成框图
        2)Cache中的地址映像方法
        因为处理机访问都是按主存地址访问的,而应从Cache中读写信息,因此这就需要地址映像,即把主存中的地址映射成Cache中的地址。地址映像的方法有3种,即直接映像、全相联映像和组相联映像。
        (1)直接映像就是主存的块与Cache中块的对应关系是固定的。主存中的块只能存放在Cache的相同块号中。因此,只要主存地址中的主存区号与Cache中的主存区号相同,则表明访问Cache命中。一旦命中,以主存地址中的区内块号立即可得到要访问的Cache中的块。这种方式的优点是地址变换很简单,缺点是灵活性差。
        (2)全相联映像允许主存的任一块可以调入Cache的任何一块的空间中。在地址变换时,利用主存地址高位表示的主存块号与Cache中的主存块号进行比较,若相同则为命中。这种方式的优点是主存的块调入Cache的位置不受限制,十分灵活;其缺点是无法从主存块号中直接获得Cache的块号,变换比较复杂,速度比较慢。
        (3)组相联映像是前面两种方式的折中。具体做法是将Cache中的块再分成组。组相联映像就是规定组采用直接映像方式而块采用全相联映像方式。这种方式下,通过直接映像方式来决定组号,在一组内再用全映像方式来决定Cache中的块号。由主存地址高位决定主存区号,与Cache中区号比较可决定是否命中。主存后面的地址即为组号,但组块号要根据全相联映像方式,由记录可以决定组内块号。
        3)替换算法
        选择替换算法的目标是使Cache获得最高的命中率。常用的替换算法有以下几种。
        (1)随机替换(RAND)算法:用随机数发生器产生一个要替换的块号,将该块替换出去。
        (2)先进先出(FIFO)算法:将最先进入的Cache信息块替换出去。
        (3)近期最少使用(LRU)算法:将近期最少使用的Cache中的信息块替换出去。这种算法比先进先出算法要好些,但此法也不能保证过去不常用的将来也不常用。
        (4)优化替换(OPT)算法:先执行一次程序,统计Cache的替换情况。有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换,达到最优的目的。
        4)Cache的性能分析
        若H为Cache的命中率,tc为Cache的存取时间,tm为主存的访问时间,则Cache的等效访问时间ta
        ta=Htc+(1-H)tm
        使用Cache比不使用Cache的CPU访问存储器的速度提高的倍数r可以用下式求得,即
        
 
        CPU
        CPU即中央处理器,它是计算机系统的核心部分。刚才所列的系统性能评价指标都是围绕CPU的。当然,这些指标的评价结果是建立在CPU与其他系统部件(如内存)的协同工作的基础上的。单就CPU而言,考察它在系统中的工作性能要关注CPU利用率、队列长度、每秒中断次数,等。
 
        DM
        DM(Delta Modulation)即增量调制,又称ΔM调制,是最简单的有损预测编码方法,早期在数字电话中被采用,是一种最简单的差值脉冲编码。实际的采样信号与预测的采样信号的差的极性若为正,则用1表示,反之则用0表示。由于DM编码只用1位对声音信号进行编码,所以DM系统又称1位系统。
 
        存储体系
        计算机中,用于存放程序或数据的存储部件有CPU内部寄存器、高速缓冲存储器(Cache)、主存储器(内存储器、内存)和辅存(外存储器、外存)。它们的存取速度不一样,从快到慢依次为寄存器→Cache→内存→辅存。一般来讲,速度越快,成本就会越高。因为成本高,所以容量就会越小。严格来说,CPU内部寄存器不算存储系统。因此,在计算机的存储系统体系中,Cache是访问速度最快的设备。
               主存储器
               内存采用的是随机存取方式,因此简称为RAM。如果计算机断电,则RAM中的信息会丢失。内存需对每个数据块进行编码,即每个单元有一个地址,这就是所谓的内存编址问题。内存一般按照字节编址或按照字编址,通常采用的是十六进制表示。例如,假设某内存储器按字节编址,地址从A4000H到CBFFFH,则表示该存储器有(CBFFFA4000)+1个字节(28 000H字节),也就是163 840个字节(160KB)。
               编址的基础可以是字节,也可以是字(字是由一个或多个字节组成的),要算地址位数,首先应计算要编址的字或字节数,然后对其求2的对数即可得到。例如,上述内存的容量为160KB,则需要18位地址来表示(217=131 072,218=262 144)。
               内存这个知识点的另外一个问题就是求存储芯片的组成问题。实际的存储器总是由一片或多片存储器配以控制电路构成。其容量为W×B,W是存储单元的数量,B表示每个单元由多少位组成。如果某一芯片规格为w×b,则组成W×B的存储器需要用(W/w)×(B/b)块芯片。例如,上述例子中的存储器容量为160KB,若用存储容量为32K×8b的存储芯片构成,因为1B=8b(一个字节由8位组成),则至少需要(160K/32K)×(1B/8)=5块。
               高速缓冲存储器
               Cache的功能是提高CPU数据输入输出的速率,突破所谓的“冯·诺依曼瓶颈”,即CPU与存储系统间数据传送带宽限制。高速存储器能以极高的速率进行数据的访问,但因其价格高昂,如果计算机的内存完全由这种高速存储器组成,则会大大增加计算机的成本。因此通常在CPU和内存之间设置小容量的高速存储器Cache。Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系统的性能会大大改善,就如同其存储系统容量与内存相当而访问速度近似于Cache。
               使用Cache改善系统性能的依据是程序的局部性原理。依据局部性原理,把内存中访问概率高的内容存放在Cache中,当CPU需要读取数据时就首先在Cache中查找是否有所需内容。如果有,则直接从Cache中读取;若没有,再从内存中读取该数据,然后同时送往CPU和Cache。如果CPU需要访问的内容大多都能在Cache中找到(称为访问命中),则可以大大提高系统性能。
               如果以h代表对Cache的访问命中率(“1-h”称为失效率,或者称为未命中率),t1表示Cache的周期时间,t2表示内存的周期时间,在读操作中使用“Cache+主存储器”的系统的平均周期为t3。则:
               t3=t1×h+t2×(1-h
               系统的平均存储周期与命中率有很密切的关系,命中率的提高即使很小也能导致性能上的较大改善。
               当CPU发出访存请求后,存储器地址先被送到Cache控制器以确定所需数据是否已在Cache中,若命中则直接对Cache进行访问。这个过程称为Cache的地址映射。常见的映射方法有直接映射、相联映射和组相联映射。
               当Cache产生了一次访问未命中之后,相应的数据应同时读入CPU和Cache。但是当Cache已存满数据后,新数据必须淘汰Cache中的某些旧数据。最常用的淘汰算法有随机淘汰法、先进先出淘汰法(FIFO)和近期最少使用淘汰法(LRU)。
               因为需要保证缓存在Cache中的数据与内存中的内容一致,相对于读操作而言,Cache的写操作比较复杂,常用的有以下几种方法。
               (1)写直达(Write Through)。当要写Cache时,数据同时写回内存,有时也称为写通。
               (2)写回(Write Back)。CPU修改Cache的某一行后,相应的数据并不立即写入内存单元,而是当该行从Cache中被淘汰时才把数据写回到内存中。
               (3)标记法。对Cache中的每一个数据设置一个有效位,当数据进入Cache后,有效位置1;而当CPU要对该数据进行修改时,数据只需写入内存并同时将该有效位清0。当要从Cache中读取数据时需要测试其有效位:若为1则直接从Cache中取数,否则从内存中取数。
               磁盘
               本知识点的要点是掌握与磁盘相关的最重要的概念与计算公式。
               磁盘是最常见的一种外部存储器,它是由一至多个圆形磁盘组成的,其常见技术指标如下。
               (1)磁道数=(外半径-内半径)×道密度×记录面数
               说明:硬盘的第一面与最后一面是起保护作用的,一般不用于存储数据,所以在计算的时候要减掉。例如,6个双面的盘片的有效记录面数是6×2-2=10。
               (2)非格式化容量=位密度×3.14×最内圈直径×总磁道数
               说明:每个磁道的位密度是不相同的,但每个磁道的容量却是相同的。一般来说,0磁道是最外面的磁道,其位密度最小。
               (3)格式化容量=总磁道数×每道扇区数×扇区容量
               (4)平均数据传输速率=每道扇区数×扇区容量×盘片转速
               说明:盘片转速是指磁盘每秒钟转多少圈。
               (5)存取时间=寻道时间+等待时间
               说明:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间。显然,寻道时间与磁盘的转速没有关系。
               RAID
               廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks,RAID)技术旨在缩小日益扩大的CPU速度和磁盘存储器速度之间的差距。其策略是用多个较小的磁盘驱动器替换单一的大容量磁盘驱动器,同时合理地在多个磁盘上分布存放数据以支持同时从多个磁盘进行读写,从而改善了系统的I/O性能。小容量驱动器阵列与大容量驱动器相比,具有成本低、功耗小和性能好等优势;低代价的编码容错方案在保持阵列的速度与容量优势的同时保证了极高的可靠性,同时也较容易扩展容量。但是由于允许多个磁头同时进行操作以提高I/O数据传输速度,因此不可避免地提高了出错的概率。为了补偿可靠性方面的损失,RAID使用存储的校验信息来从错误中恢复数据。最初,inexpensive一词主要针对当时另一种技术(Single Large Expensive Disk,SLED)而言,但随着技术的发展,SLED已是明日黄花,RAID和non-RAID皆采用了类似的磁盘技术。因此RAID现在代表独立磁盘冗余阵列(Redundant Array of Independent Disks),同时用independent来强调RAID技术所带来的性能改善和更高的可靠性。
               RAID机制中共分8个级别,RAID应用的主要技术有分块技术、交叉技术和重聚技术。
               (1)RAID 0级(无冗余和无校验的数据分块):具有最高的I/O性能和最高的磁盘空间利用率,易管理,但系统的故障率高,属于非冗余系统。它主要应用于那些关注性能、容量和价格而不是可靠性的应用程序。
               (2)RAID 1级(磁盘镜像阵列):由磁盘对组成,每一个工作盘都有其对应的镜像盘,上面保存着与工作盘完全相同的数据拷贝,具有最高的安全性,但磁盘空间利用率只有50%。RAID 1主要用于存放系统软件、数据及其他重要文件。它提供了数据的实时备份,一旦发生故障,所有的关键数据即刻就可重新使用。
               (3)RAID 2级(采用纠错海明码的磁盘阵列):采用了海明码纠错技术,用户需增加校验盘来提供单纠错和双验错功能。对数据的访问涉及阵列中的每一个盘。大量数据传输时I/O性能较高,但不利于小批量数据传输,因此实际应用中很少使用。
               (4)RAID 3级和RAID 4级(采用奇偶校验码的磁盘阵列):把奇偶校验码存放在一个独立的校验盘上。如果有一个盘失效,其上的数据可以通过对其他盘上的数据进行异或运算得到。读数据很快,但因为写入数据时要计算校验位,因此速度较慢。
               (5)RAID 5级(无独立校验盘的奇偶校验码磁盘阵列):与RAID 4类似,但没有独立的校验盘,校验信息分布在组内所有盘上,对于大批量和小批量数据的读写性能都很好。RAID4级和RAID 5级使用了独立存取技术,阵列中每一个磁盘都相互独立地操作,所以I/O请求可以并行处理。因此,该技术非常适合于I/O请求率高的应用,而不太适应于要求高数据传输率的应用。与其他方案类似,RAID 4级和RAID 5级也应用了数据分块技术,但块的尺寸相对大一些。
               (6)RAID 6级(具有独立的数据硬盘与两个独立的分布式校验方案):在RAID 6级的阵列中设置了一个专用的、可快速访问的异步校验盘。该盘具有独立的数据访问通路,但其性能改进有限,价格却很昂贵。
               (7)RAID 7级(具有最优化的异步高I/O速率和高数据传输率的磁盘阵列):是对RAID6级的改进。在这种阵列中的所有磁盘都具有较高的传输速度,有着优异的性能,是目前最高档次的磁盘阵列。
               (8)RAID 10级(高可靠性与高性能的组合):由多个RAID等级组合而成,建立在RAID 0级和RAID 1级基础上。RAID 1级是一个冗余的备份阵列,而RAID 0级是负责数据读写的阵列,因此该等级又称为RAID 0+1级。由于利用了RAID 0极高的读写效率和RAID 1级较高的数据保护和恢复能力,使RAID 10级成为了一种性价比较高的等级,目前几乎所有的RAID控制卡都支持这一等级。
 
        控制器
        控制器是指挥、协调计算机各大部件工作的指挥中心。控制器工作的实质就是解释、执行指令。它每次从存储器中取出一条指令,经分析译码,产生一串微操作命令,发向各个执行部件并控制各部件,使整个计算机连续地、有条不紊地工作。
        为了使计算机能够正确执行指令,CPU必须能够按正确的时序产生操作控制信号,这是控制器的主要任务。
        如下图所示,控制器主要由下列部分组成。
        
        控制器组成图
        (1)程序计数器(PC)。又称指令计数器或指令指针(IP),在某些类型的计算机中用来存放正在执行的指令地址;在大多数机器中则存放要执行的下一条指令的地址。指令地址的形成有两种可能:一是顺序执行的情况,每执行一条指令,程序计数器加“1”以形成下条指令的地址。该加“1”计数的功能,有的机器是PC本身具有的,也有的机器是借用运算器完成的;二是在某些条件下,需要改变程序执行的顺序,这常由转移类指令形成转移地址送到PC中,作为下条指令的地址。
        (2)指令寄存器(IR)。用以存放现行指令,以便在整个指令执行过程中,实现一条指令的全部功能控制。
        (3)指令译码器。又称操作码译码器,它对指令寄存器中的操作码部分进行分析解释,产生相应的控制信号提供给操作控制信号形成部件。
        (4)脉冲源及启停控制线路。脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,是周期、节拍和工作脉冲的基准信号。启停线路则是在需要的时候保证可靠地开放或封锁时钟脉冲,控制时序信号的发生与停止,实现对机器的启动与停机。
        (5)时序信号产生部件。以时钟脉冲为基础,产生不同指令相对应的周期、节拍、工作脉冲等时序信号,以实现机器指令执行过程的时序控制。
        (6)操作控制信号形成部件。综合时序信号、指令译码信息、被控功能部件反馈的状态条件信号等,形成不同指令所需要的操作控制信号序列。
        (7)中断机构。实现对异常情况和某些外来请求的处理。
        (8)总线控制逻辑。实现对总线信息传输的控制。
 
        指令
        指令是指挥计算机完成各种操作的基本命令。
        (1)指令格式。计算机的指令由操作码字段和操作数字段两部分组成。
        (2)指令长度。指令长度有固定长度的和可变长度的两种。有些RISC的指令是固定长度的,但目前多数计算机系统的指令是可变长度的。指令长度通常取8的倍数。
        (3)指令种类。指令有数据传送指令、算术运算指令、位运算指令、程序流程控制指令、串操作指令、处理器控制指令等类型。
 
        中断
        中断是异步发生的,是来自处理器外部的I/O设备的信号的结果。硬件中断不是由任何一条专门的指令造成的,从这个意义上来说它是异步的。硬件中断的异常处理程序常常被称为中断处理程序(interrupt handler)。
               硬中断与软中断
               硬中断是由硬件产生的,例如磁盘、网卡、键盘、时钟等。每个设备或设备集都有它自己的IRQ(中断请求)。基于IRQ,CPU可以将相应的请求分发到对应的硬件驱动上。
               软中断是一组静态定义的下半部分接口,可以在所有的处理器上同时执行,即使两个类型相同也可以。但是一个软中断不会抢占另外的一个软中断,唯一可以抢占软中断的是硬中断。
               可屏蔽中断与不可屏蔽中断
               可屏蔽中断和不可屏蔽中断都属于外部中断,是由外部中断源引起的。不可屏蔽中断源一旦提出请求,CPU必须无条件响应,而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。
               CPU一般设置两根中断请求输入线:可屏蔽中断请求INTR(Interrupt Require)和不可屏蔽中断请求NMI(Non Maskable Interrupt)。对于可屏蔽中断,除了受本身的屏蔽位控制外,还都要受一个总的控制,即CPU标志寄存器中的中断允许标志位IF(Interrupt Flag)的控制,IF位为1,可以得到CPU的响应,否则,得不到响应。IF位可以由用户控制,指令STI或Turbo C的Enable()函数,将IF位置1(开中断),指令CLI或Turbo_c的Disable()函数,将IF位清0(关中断)。
               中断优先级
               当多个中断源同时请求中断时,而CPU一次只能响应其中的一个中断,同时为了能响应所有中断,就引入中断优先级来处理。系统会根据引起中断事件的重要性和紧迫程度,将中断源分为若干个级别,称作中断优先级。中断优先级有两种:查询优先级和执行优先级。
               查询优先级是不可以更改和设置的,在该方式下当多个中断源同时产生中断信号时,中断仲裁器会选择中断源优先处理的顺序,此过程与是否发生中断服务程序的嵌套毫不相干。当CPU查询各个中断标志位的时候,会依照优先级顺序依次查询,当数个中断同时请求的时候,会优先查询到高查询优先级的中断标志位,但并不代表高查询优先级的中断可以打断已经并且正在执行的低查询优先级的中断服务。
               由于可屏蔽的中断源很多,故需要对其进行管理,如区分是哪个中断源发出的中断信号?哪个中断源最优先及怎样处理多级中断嵌套等。为此,可使用中断控制器对多个可屏蔽中断源进行管理。
               中断控制器能够对中断进行排队管理,避免中断信号的丢失,同时支持对不同中断进行优先级的配置,使高优先级中断能够中断低优先级中断,满足系统中具有更高时间约束特性功能的需要。
               中断嵌套
               当处理器正在处理一个中断时,有比该中断优先级高的中断源发出中断请求时,如果处理器正在执行中断处理程序,那么处理器会对高优先级的中断进行立即处理,处理完之后再返回到低优先级的中断服务程序继续执行。这样就形成了中断服务程序中套用中断服务程序的情况,即中断嵌套。可嵌套中断的处理流程和中断服务框图如下图所示。
               
               可嵌套中断处理流程



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有