二、论述题1. 计算机除CPU和主存以外,其余所有部件均可归人输入/输出系统,即1/O系统。所谓I/O操作是指1/O设备与主存之间的信息交换。请回答下面的问题:
(1)I/O方式发展经历了哪些阶段?
(2)各阶段的工作原理及优缺点是什么?
(1)I/O方式发展经历了如下六个阶段;
①程序控制阶段
②重叠处理阶段
③中断阶段
④DMA阶段
⑤通道阶段
⑥I/O处理机阶段.
(2)①程序控制阶段
在程序控制阶段,I/O操作完全由CPU控制,即由CPU执行启动、控制以及停止I/O操作,第一代计算机就采用了这种方式。在这种结构里,没有专门的I/O控制部件和专用的数据通路。每传送一个数据都要由CPU执行一段程序,通过算术逻辑部件或由CPU硬件的微操作序列来控制数据的流动。这种方式的优点是控制简单,编程容易。缺点是CPU要把大量的时间花在琐碎的I/O操作上,外设和CPU不能同时工作,各个外设之间也不能同时工作,因此系统的整体性能差,效率很低。
②重叠处理阶段
为了提高CPU的效率,可使它与I/O设备重叠工作,这就导致多道作业“同时”执行。当一个作业进行I/O操作时,CPU又转向另一个作业进行处理,即让多道作业以一定间隔轮流执行,这称为处理器重叠(Processor Overlap)方式。
③中断阶段
进一步发展产生了中断(Interrupt)的概念。这样CPU就不必定时检测I/O设备的状态,它只要处理I/O设备的中断请求即可同时启动多个外部设备同时工作。
中断方式的优点是初步解决了CPU、主存和外设之间的速度匹配。缺点是中断所需的辅助操作很多,当I/O设备较多时,中断过分频繁而加重CPU的负担。
④DMA阶段
随着体系结构的发展,在I/O系统中增设数据寄存器、地址寄存器以及计数器等,使外部设备不必通过CPU而直接与内存交换信息,这称为DMA方式,即直接存储器存取(Direct Memory Access)方式。为此I/O设备及其控制器要能形成存储地址,能把数据送人主存总线或从主存总线取得数据。DMA采用了“挪用周期”(Cycle Stealing)的概念,即在CPU执行程序期间,由I/O设备插入使用。
DMA方式的优点是它把部分I/O控制交给设备控制部分,实现了CPU与I/O设备的部分并行。缺点是CPU仍需启动每个信息块的传输,而且DMA也增加了设备成本。
⑤通道阶段
通道(Channel)控制方式是在DMA基础上发展起来的。通道执行I/O的过程是;开始时,CPU进入管理状态,自动形成通道程序并把它放入内存,然后由CPU启动通道。以后则由通道按照通道程序处理I/O,而CPU则返回目的状态继续执行原来的程序,直至整个I/O过程全部结束再由CPU做结束处理。一个I/O过程不论交换多少信息,只打扰CPU两次。
通道方式的优点是I/O与CPU有较强的并行操作能力,能充分发挥设备的利用率。缺点是通道还不能完全独立于主机,还需要借助CPU的某些控制。
⑥I/O处理机阶段
设置外部处理机专门负责I/O操作,也就是具有更强处理功能的通道,称为I/O处理机(I/O Processor,简称IOP)。一个IOP不必借助于CPU就能在主存与多台I/O设备之间执行独立的数据传输工作。
IOP方式的优点是CPU几乎移交了对I/O操作的全部控制,IOP几乎完全独立于主机。缺点只是提高了系统的成本。
2. 通道实质上是主存与I/O设备之间的DMA接口在逻辑上的延伸。请回答下面的问题:
(1)通道分为哪几种?各有什么特点?
(2)通道程序由哪三种通道命令字组成?
(3)简述通道的工作原理。
(1)通道按传送数据的工作方式可分为三类:
①字节多路通道(Byte Multiplexer Channel)
适合连接大量低速设备,如终端、打印机等。这些低速设备的特点是以字节为单位与内存交换信息,而且各字节之间的空闲时间较长。字节多路通道可以有两种工作模式;一种是字节交叉模式 (Byte Interleave Mode),不同的设备在各自分得的时间片内与通道建立逻辑连接;另一种是突发模式 (Burst Mode),它允许一次让某一设备占用较长的时间来传送较多的信息。
②选择通道(Selector Channel)
适合连接多台高速设备,但每次只能让一台设备独占通道,只装备一套高速通道硬件而轮流为几个物理设备服务。
③数组多路通道(Block Multiplexer Channel)
又称块多路通道或成组多路通道。它综合了字节多路通道和选择通道的工作方式,适合连接多个磁盘机、磁带机之类的设备。这类设备的特点是查找数据的时间较长而读写数据的时间较短,因此当n台设备同时连接时,可让其中一台使用通道传送数据,而让n-1台设备进行数据查找,这可提高通道的利用率。
(2)通道程序由通道地址字、通道状态字、通道命令字三种通道字组成。
(3)通道的I/O操作过程可分为五个阶段:
①准备阶段
用户程序需要输入输出时,在目态程序中安排一条访管(Supervisor Call)指令并给出相应的参数,产生自愿访管中断后即转入管理程序。管理程序根据参数要求生成相应的通道程序及通道地址字。通道程序生成后就存入主存中对应此通道的缓冲区中,并将人口地址CAW置于主存固定单元中,在准备阶段,没有任何信号送给通道和外部设备。
②启动阶段
启动阶段主要是CPU执行“STARTI/O”指令的过程。它属于管理指令.通道进入设备选择期。 CPU在查找设备的同时,还取出CAW以及通道程序把它们放到通道的指令寄存器中.通道把命令送往选好的设备,启动阶段完成。
③数据传送阶段
在通道数据传送期,CPU与通道分别做各自的工作,CPU继续执行目态程序,不再过问I/O情况,而通道则控制着设备与主存的数据直接交换。
④结束传送阶段
通道程序执行到无链通道指令时数据传送完成,它就转入通道传送结束阶段。设备发出结束服务请求,并将设备状态宇送人通道。通道检查无误后,向CPU发中断请求。在此之前,CPU仍在执行目态程序,直至响应中断。
⑤结束中断阶段
CPU响应中断,进人中断处理程序。通道进一步查询发出中断请求的设备,检查无误后,发出释放命令将设备释放。CPU处理完中断以后,返回目态程序,到此全部输入输出过程结束。
3. (1)从体系结构的观点对指令集进行分类。根据哪五种尺度?
(2)通常有哪三种指令集体系结构?请写出各自的优缺点?
(3)GRP机分为几类?它们的优缺点各是什么?
从体系结构的观点对指令集进行分类,可以根据下述五种尺度:
①操作数在CPU中的存储方式,即操作数从主存中取来后要把它保存在什么地方。
②显式操作数的数量,即在一条典型的指令中有多少个显式命名的操作数。
③操作数的位置,即任一个ALU指令的操作数能否放在主存中,或者必须把某些操作数甚至全部操作数都放在CPU的内部存储器中?如果某操作数要放在主存中,那么它是如何定位的?
④指令的操作,即在指令集中提供哪些操作。
⑤操作数的类型与大小,即每个操作数是什么类型、尺寸大小,以及怎样对它规定。
以上五条排列的次序大体上反映了它们在区分指令集时所扮演角色的重要程度。次序越靠前就越重要。
(2)通常有三种指令集体系结构,这三类分别为:堆栈(Stack)、累加器(Accumulator)和寄存器集 (a set of registers)。
它们的优缺点如下:
类型 |
优点 |
缺点 |
堆栈 |
表达式采用逆波兰表示法具有简单的求解模型。短指令也能获得良好的代码密度 |
堆栈不能随机访问,这一局限性使得产生有效代码比较困难。同样也使实现变得困难,因为堆栈成为瓶颈 |
累加器 |
机器的内部状态很少,指令也比较短 |
由于累加器是仅有的暂存器,因此这种方式的存储器存取流量最大 |
寄存器集 |
对于代码的产生有最通用的模型 |
所有操作数都必须同名,从而导致较长的指令 |
(3)GRP机分为三类,这三类分别是;
①寄存器—寄存器(Regi9ter—Register)类
②寄存器—存储器(Register—Memory)类
③存储器—存储器(Memory—Memory)类
它们的优缺点如下:
类型 |
优点 |
缺点 |
寄存器—寄存器 |
简单的定长指令编码,简单的代码生成模型,指令执行时间与机器周期数相同 |
比其他指令中带访问存储器体系结构有更多的指令数。某些指令较短,对比特位编码会造成浪费 |
寄存—存储器 |
没有事先的装入,也能访问数据。指令格式容易编码,而且也有较高的密度 |
由于源操作数在二进制操作中会被损坏,所以操作数是不等效的。对寄存器数和存储地址在每条指令中编码会限制寄存器数。每条指令的周期会随操作数的位置而变化 |
存储器—存储器 |
很紧凑,不浪费用作暂存的寄存器 |
指令长度有较大的变化,尤其是对三操作数指令。每条指令的工作也有较大变化。存储器访问会形成存储器瓶颈 |
4. (1)Amdahl给计算机体系结构的定义是什么?
(2)Myres给计算机体系结构的定义是什么?请画出虚拟机层次模型?
(3)计算机体系结构、计算机组织和计算机实现三者的关系是什么?
Amdah1指出计算机体系结构是站在程序员的角度所看到的计算机属性,即程序员要能编写出可在机器上正确运行的程序所必须了解的概念性结构和功能特性。
(2)Myres指出传统体系结构就是指硬件与软件之间的界面。
虚拟机层次模型如下所示:
(3)应对计算机体系结构、计算机组织、计算机实现三者的关系加以区别:
①计算机体系结构(Computer Architecture)是指计算机的概念性结构和功能属性。
②计算机组织(Computer Organization)是指计算机体系结构的逻辑实现,包括机器内的数据流和控制流的组成以及逻辑设计等。我们平常也把它称为计算机组成原理。
③计算机实现(Computer Implementation)是指计算机组织的物理实现。
5. (1)对指令格式设计时要优先考虑哪些原则?
(2)什么叫作指令格式的优化?
(1)对指令格式(Instruction Format)的设计有一些优先考虑的原则,可概括如下:
①关于指令的长度,短指令要比长指令更节约些。尽管存储器的价格越来越便宜,但设计者还是不愿意浪费它们。显然,一个程序如果采用m个16位长的指令,要比采用m个32位长的指令节省一半的存储空间。
②还要考虑是否有足够的空间表示所有期望的操作。如果一个指令集有2n个操作,那么指令长度就不应短于n位。
③在GPR结构中,无论是哪种寄存器与存储器类型,提高存取指令的速度都是应该考虑的一个重要原则。存储器的存取速率越高,就能给处理机提供更多的指令进行处理。在一定的存取速率下,如果平均指令长度较短,那么存储器就能供应更多的指令。从这个意义上说,较短的指令意味着较快的处理速度。
④机器字长(Word Length)应该是字符长度(Character Length)的整数倍。否则,在存储字符时就会造成浪费,而且也会造成寻址困难。
⑤寻址字段长度的选择。
(2)所谓指令格式的优化就是从整个指令系统的利用率角度出发,尽量设法减少指令中的冗余信息量,以便用最少的位数提供足够的操作信息和地址信息。
6. (1)指令的控制方式有几种?优缺点各是什么?
(2)如何评价流水线的性能?
(3)一台非流水线机器执行指令时共分五步,所需时间分别为40ns、40ns、50ns、40ns和40ns。若
采用流水线工作方式,并且由于锁存器而附加了20ns的延迟,那么该流水线的加速比是多大?
指令控制方式有三种:顺序方式、重叠方式、流水方式。
①顺序方式是指各条机器指令之间顺序串行地执行,执行完一条指令后才取下一条指令,而且每条机器指令内部的各个微操作也是顺序串行地执行。这种方式的优点是控制简单。缺点是速度上不去,机器各部件的利用率低。
②重叠方式是指在解释第K条指令的操作完成之前,就可开始解释第K+1条指令。通常采用的是一次重叠,即在任何时候,指令分析部件和指令执行部件都只有相邻两条指令在重叠解释。这种方式的优点是速度有所提高,控制也不太复杂。缺点是会出现冲突、转移、相关进入等问题,在设计时必须想办法解决。
③流水方式是模仿工业生产过程的流水线(如汽车装配线)而提出的一种指令控制方式。流水 (Pipelining)技术是把并行性或并发性镶嵌到计算机系统里的一种形式,它是一种把重复的顺序处理过程分解为若干子过程,每个子过程能在专用的独立模块上有效地并发工作的技术。
(2)衡量流水处理机性能的主要指标是吞吐率、效率、流水深度以及加速比等。
①吞吐率(Throughput Rate)是指单位时间内能处理的指令条数或者能输出的信息量。
②效率(Efficiency)是指流水线的设备利用率。即在整个运行时间里,流水线的设备有多少时间是真正用于工作的。由于流水线有初始的建立时间和结束的排空时间,因此在连续完成n个任务的时间里,各段并不总是满负荷的。
③流水深度(Deep)是指流水线充满时,同时能够解释的指令数,也就是流水线的段数m。
④加速比(Speedup)是指采用流水方式后,执行指令的速度提高的程度,也就是流水方式和等效的非流水线顺序串行方式相比,其速度提高的比值。
(3)根据加速比的定义可知:
显然,分子应该是(40+40+50+40+40)ns,即210ns,而分母应该选择最慢的子过程50ns并加上延迟时间20ns,即70ns,所以加速比为:
S
p=210/70=3(倍)
7. (1)什么叫并行性?并行性分为哪几种?
(2)高速并行结构分为哪几类?每类各举一例。
(3)相联处理机有哪些特点?
(1)我们把问题求解中能够同时处理的性质称为并行性(Parallelism),或称平行性。
并行性可分为同时性和并发性两种。同时性(Simultaneity)是指两个以上的事件在同一时刻发生。例如一个字的各位同时进行存取、CPU和通道同时工作、各处理单元同时处理同一指令的;同数据。并发性(Concurrency)是指两个以上的事件在同一时间间隔内发生,例如在多位并行加法器中,由于低位向高位的进位时间延迟,各位的运算不是在同一时刻进行的,而是在一个时间间隔内完成的,因此各位运算之间存在并发关系。
(2)高速并行结构共分为六类:
①专用多功能单元,代表是脉动阵列技术。
②相联处理机,代表是STARAN机。
③阵列处理机,代表是ILLIAC IV机。
④数据流计算机,代表是MIT机。
⑤函数式编程语言处理机,代表是MAGO机。
⑥多处理机系统,代表是C. mmp机。
(3)相联处理机有三个特点:
①采用按内容访问的相联存储器,即按所给信息内容的部分或全部特征,将内容与该特征相符的所有存储单元在一次访存中都检索出来。因此,存储操作是并行的,这种处理机当然也是并行的。
②来自控制器的一条指令能对许多数据同时进行算术和逻辑运算,从而它是典型的SIMD并行处理机。
③运算速度提高,程序编制简化,出错减少。相联处理机的缺点是硬件成本很高。