计算机系统结构课后答案unit3
最新计算机系统结构课后习题答案
4.设某机阶值 6 位、尾数 48 位,阶符和数符不在其内, 当尾数分别以 2、8、16 为基时,在非负阶、正尾数、规格
化数情况下,求出其最小阶、最大阶、阶的个数、最小尾
数值、最大尾数值、可表示的最小值和最大值及可表示的
规格化数的总个数。
解 : 依 题 意 知 : p=6 m=48 rm=2, 8, 16, m'=m/log2(rm),列下表:
除根本数据表示不可少外,高级数据表示的引入遵循 以下原那么:
〔1〕看系统的效率有否提高,是否养活了实现时间 和存储空间。
〔2〕看引入这种数据表示后,其通用性和利用率是 否高。
2.标志符数据表示与描述符数据表示有何区别?描述符数 据表示与向量数据表示对向量数据结构所提供的支持有什 么不同?
11
答:标志符数据表示与描述符数据表示的差异是标志符与 每个数据相连,合存于同一存储单元,描述单个数据的类 型特性;描述符是与数据分开存放,用于描述向量、数组等 成块数据的特征。
〔2〕相同的组成可有多种不同的实现。如主存器件可 用双极型的,也可用 MOS 型的;可用 VLSI 单片,也可用 多片小规模集成电路组搭。
〔3〕计算机的系统结构不同,会使采用的组成技术不 同,反之组成也会影响结构。如为实现 A:=B+CD:=E*F,
3
可采用面向存放器的系统结构,也可采用面向主存的三地 址寻址方式的系统结构。要提高运行速度,可让相加与相 乘并行,为此这两种结构在组成上都要求设置独立的加法 器和乘法器。但对面向存放器的系统结构还要求存放器能 同时被访问,而对面向主存的三地址寻址方式的系统结构 并无此要求,倒是要求能同时形成多个访存操作数地址和 能同时访存。又如微程序控制是组成影响结构的典型。通 过改变控制存储器中的微程序,就可改变系统的机器指令, 改变结构。如果没有组成技术的进步,结构的进展是不可 能的。
计算机系统结构课件:第三章作业答案
2367 23
时间t 1 2 3 4 5 6 7 8 9 10 11 12 块地址流 6 2 4 1 4 6 3 0 4 5 7 3
C0
4444 44 4 4 4 4
C1பைடு நூலகம்
111 10 0 5 5 5
C2 6 6 6 6 6 6 6 6 6 6 7 7
C3
22222 33 3 3 3 3
LFU
调调调调命命 替 替命 替 替 命 进进进进中中 换 换中 换 换 中
(2) 写出Cache地址的格式,并标出各字段的长度。
(3) 画出主存与Cache之间各个块的映象对应关系。
(4) 如果Cache的各个块号为C0、C1、C2和C3,列出程 序执行过程中Cache的块地址流情况。
(5) 如果采用FIFO替换算法,计算Cache的块命中率。
(6)采用LFU替换算法,计算Cache的块命中率。
合适。
C2 6 6 6 6 6 6 3 3 3 3 3 3
C3
22222 22 2 2 7 7
FIFO 调调调调命命 替 替替 替 替 命 进进进进中中 换 换换 换 换 中
命中3次
命中率H=3/12=25%
2、假设机器的时钟周期为10ns,Cache失效时的访存时 间为20个时钟周期,Cache的访问时间为一个时钟周 期。
命中4次 命中率H=4/12=33.3%
Cache的块地址流情况: C2 C3 C0 C1 C0 C2 C3 C1 C0 C1 C2 C3
时间t 1 2 3 4 5 6 7 8 9 10 11 12 块地址流 6 2 4 1 4 6 3 0 4 5 7 3
C0
4444 40 0 5 5 5
C1
计算机系统结构课后答案unit3
第3章总线、中断与输入输出系统3.1.简要举出集中式串行,定时查询和独立请求3种总线控制方式的优缺点。
同时分析硬件产生故障时通讯的可靠性。
答:集中式串行链连接方式。
其过程为:①所有部件都经公共的“总线请求”线向总线控制器发使用总线申请。
②当“总线忙”信号未建立时,“总线请求”才被总线控制器响应,送出“总线可用”信号,它串行地通过每个部件。
③如果某部件未发过“总线请求”,则它将“总线可用”信号往下一部件转,如果某部件发过“总线请求”,则停止“总线可用”信号的传送。
④该部件建立“总线忙”,并除去“总线请求”,此时该部件获得总线使用权,准备传送数据。
⑤数据传送期间,“总线忙”维持“总线可用”的建立。
⑥传送完成后,该部件去除“总线忙”信号和“总线可用”信号。
⑦当“总线请求”再次建立时,就开始新的总线分配过程。
优点:①选择算法简单;②控制总线数少;③可扩充性好;④可靠性高。
缺点:①对“总线可用”线及其有关电路失效敏感,②不灵活;③总线号传送速度慢。
集中式定时查询方式,过程:①总线上每个部件通过“总线请求”发请求。
②若“总线忙”信号未建立,则计数器开始计数,定时查询个部件,以确定是谁发的请求。
③当查询线上的计数值与发出请求的部件号一致时,该部件建立“总线忙”,计数停止,查询也停止。
除去“总线请求”,该部件获得总线使用权。
④“总线忙”维持到数据传送完毕。
⑤数据传送完,去除“总线忙”。
⑥当“总线请求”线上有新的请求,就开始下一个总线分配过程。
优点:①优先次序灵活性强;②可靠性高。
缺点:①控制线数较多;②扩展性较差;③控制较为复杂;④总线分配受限于计数信号,不能很高。
集中式独立请求方式,过程:①每个部件有一对“总线请求”和“总线准许”线。
②每个部件使用“总线请求”发中请,当“总线已分配”无信号时,总线控制器根据某种算法对同时送来的多个请求进行仲裁,以确定哪个部件使用总线,信号从“总线准许”送回该部件,去除该部件的“总线请求”,建立总线已分配”。
计算机系统结构课后答案unit3
第3章总线、中断与输入输出系统3.1.简要举出集中式串行链接,定时查询和独立请求3种总线控制方式的优缺点。
同时分析硬件产生故障时通讯的可靠性。
答:集中式串行链连接方式。
其过程为:①所有部件都经公共的“总线请求”线向总线控制器发使用总线申请。
②当“总线忙”信号未建立时,“总线请求”才被总线控制器响应,送出“总线可用”信号,它串行地通过每个部件。
③如果某部件未发过“总线请求”,则它将“总线可用”信号往下一部件转,如果某部件发过“总线请求”,则停止“总线可用”信号的传送。
④该部件建立“总线忙”,并除去“总线请求”,此时该部件获得总线使用权,准备传送数据。
⑤数据传送期间,“总线忙”维持“总线可用”的建立。
⑥传送完成后,该部件去除“总线忙”信号和“总线可用”信号。
⑦当“总线请求”再次建立时,就开始新的总线分配过程。
优点:①选择算法简单;②控制总线数少;③可扩充性好;④可靠性高。
缺点:①对“总线可用”线及其有关电路失效敏感,②不灵活;③总线中信号传送速度慢。
集中式定时查询方式,过程:①总线上每个部件通过“总线请求”发请求。
②若“总线忙”信号未建立,则计数器开始计数,定时查询个部件,以确定是谁发的请求。
③当查询线上的计数值与发出请求的部件号一致时,该部件建立“总线忙”,计数停止,查询也停止。
除去“总线请求”,该部件获得总线使用权。
④“总线忙”维持到数据传送完毕。
⑤数据传送完,去除“总线忙”。
⑥当“总线请求”线上有新的请求,就开始下一个总线分配过程。
优点:①优先次序灵活性强;②可靠性高。
缺点:①控制线数较多;②扩展性较差;③控制较为复杂;④总线分配受限于计数信号,不能很高。
集中式独立请求方式,过程:①每个部件有一对“总线请求”和“总线准许”线。
②每个部件使用“总线请求”发中请,当“总线已分配”无信号时,总线控制器根据某种算法对同时送来的多个请求进行仲裁,以确定哪个部件使用总线,信号从“总线准许”送回该部件,去除该部件的“总线请求”,建立总线已分配”。
计算机组织与系统结构第三章习题答案
第 3 章习题答案2( 4)高级语言中的运算和机器语言(即指令)中的运算是什么关系?假定某一个高级语言源程序P 中有乘、除运算,但机器M 中不提供乘、除运算指令,则程序P 能否在机器M 上运行?为什么?参考答案:(略)3 .考虑以下C 语言程序代码:int func1(unsigned word){return (int) (( word <<24) >> 24);}int func2(unsigned word){return ( (int) word <<24 ) >> 24;}假设在一个32 位机器上执行这些函数,该机器使用二进制补码表示带符号整数。
无符号数采用逻辑移位,带符号整数采用算术移位。
请填写下表,并说明函数func1 和func2 的功能。
函数func1 的功能是把无符号数高24 位清零(左移24 位再逻辑右移24 位),结果一定是正的有符号数;而函数func2 的功能是把无符号数的高24 位都变成和第25 位一样,因为左移24 位后进行算术右移,高24 位补符号位(即第25 位)。
45 .以下是两段C 语言代码,函数arith( ) 是直接用C 语言写的,而optarith( ) 是对arith( ) 函数以某个确定的M 和N编译生成的机器代码反编译生成的。
根据optarith( ) ,可以推断函数arith( ) 中M 和N的值各是多少?#define M#define Nint arith (int x, int y){int result = 0 ; result = x*M + y/N; return result;}int optarith ( int x, int y){int t = x;x << = 4;x - = t;if ( y < 0 ) y += 3; y>>2;r eturn x+y;参考答案:可以看出x*M 和“ int t = x; x << = 4; x-=t; ”三句对应,这些语句实现了x 乘15 的功能(左移4 位相当于乘以16 ,然后再减1 ),因此,M 等于15;y/N 与“if ( y < 0 ) y += 3; y>>2; ”两句对应,功能主要由第二句“ y右移2位”实现,它实现了y除以4 的功能,因此N是4。
计算机组成与系统结构(陈泽宇 主编 清华大学出版社)第三章课后习题答案
第3章存储系统课后习题1.(B)2. (C)3. (B)4.(D)5.(B)6. (A)7. (A)8.(A)9.(A)10.(B,C,D)11.(A)12.(A)13.(C)14.答:1)目前通常采用多级存储器体系结构,使用高速缓冲存储器、主存储器和外存储器:内存储器(简称内存),是CPU能直接访问的存储器,包括高速缓冲存储器和主存储器。
外存储器(简称外存,也叫辅助存储器),是CPU不能直接访问的存储器。
2)由Cache和主存储器构成的Cache-主存系统;由主存和外存构成的虚拟存储器系统3)优点:速度接近于最快的那个存储器;存储容量接近于容量最大的那个存储器;单位价格则接近最便宜的那个存储器15.答:位扩展法,字扩展法,字位同时扩展法。
一个存储器的容量假定为M×N位,若使用L×K位的芯片,则需要在字向和位向同时进行扩展,此时共需要(M/L)×(N/K)个存储器芯片16. 答:EDRAM 芯片是指在DRAM 芯片上集成一个高速小容量的SRAM 的芯片。
这个小容量的SRAM 芯片起到高速缓存的作用,从而使DRAM 芯片的性能得到显著改进。
17. 答:为了使CPU 不至于因为等待存储器读写操作完成而无事可做可采取一些特殊措施以加速CPU 和存储器之间有效传输⑴主存储器采用更高速技术来缩短存储器的读出时间,或加长存储器的字长 ⑵采用并行操作的双端口存储器⑶在CPU 和存储器之间插入一个高速缓冲存储器(Cache ),以缩短读出时间 ⑷在每个存储器周期中存取几个字18. (26)解:(1)(2)(片)(3) 8片,需要3位地址做片选19. (27)解:命中率 :h = N e / (N C + N m ) = 2000 / (2000 + 180) = 0.917平均访问时间Ta= h*tc+(1-h)*tm=0.917*40+(1-0.917)*250=57.43ns访问效率 :e = tc/ta=40/57.43 = 69.66%20. (28)解 ta=50ns. tc=40ns,tm=200nsMB 4832220=⨯8851232220=⨯⨯Kta=h*tc+(1-h)*tm,即50=40*h+(1-h)*200h=93.75%21.(29)解:256M 物理地址线为:282G 虚拟地址线为:31231/212=219=512K22.(30) 答:没有虚拟内存,会产生内存不足错误,卡顿甚至不能运行。
系统结构课后习题答案
用程序员却是透明的。“执行”指令则对系统程序员和应用程序员都是不透明的。
见下表,“√”表示都透明,“应”表示仅对应用程序员透明,“×”表示都不透明。
数据通路宽度,√,
虚拟存储器,应,
Cache 存储器,√,
程序状态字,×,
“启动 I/O”指令,应,
“执行”指令,×,
指令缓冲寄存器,√,
1.11 想在系列机中发展一种新型号机器,你认为下列哪些设想是可以考虑的,哪些则不行的?为什么? (1)新增加字符数据类型和若干条字符处理指令,以支持事务处理程序的编译。 (2)为增强中断处理功能,将中断分级由原来的 4 级增加到 5 级,并重新调整中断响应的优先次序。 (3)在 CPU 和主存之间增设 Cache 存储器,以克服因主存访问速率过低而造成的系统性能瓶颈。 (4)为解决计算误差较大,将机器中浮点数的下溢处理方法由原来的恒置“1”法,改为用 ROM 存取下溢 处理结果的查表舍入法。 (5)为增加寻址灵活性和减少平均指令字长,将原等长操作码指令改为有 3 类不同码长的扩展操作码; 将源操作数寻址方式由操作码指明改成如 VAX-11 那种设寻址方式位字段指明。 (6)将 CPU 与主存间的数据通路宽度由 16 位扩展成 32 位,以加快主机内部信息的传送。(7)为减少公 用总路线的使用冲突,将单总线改为双总线。 (8)把原 0 号通用寄存器改作堆栈指示器。 答:可以考虑的有:(1)(3)(4)(6)(7)。
计算机系统结构课后答案
第1章部分习题参考答案1.1 解释下列术语⏹翻译:先用转换程序将上一级机器级上的程序整个地变换成下一级机器级上可运行的等效程序,然后再在下一级机器级上去实现的技术。
⏹解释:在下一级机器级上用它的一串语句或指令来仿真上一级机器级上的一条语句或指令的功能,通过对上一级机器语言程序中的每条语句或指令逐条解释来实现的技术。
⏹层次结构:将计算机系统由上往下依次划分为应用语言机器级、高级语言机器级、汇编语言机器级、操作系统机器级、传统机器级和微程序机器级。
对于一个具体的计算机系统,层次的多少会有所不同。
⏹计算机系统结构:传统机器级的程序员所看到计算机的基本属性,即计算机的概念性结构和功能特性。
简称为计算机的外特性。
⏹计算机组成:计算机系统结构的逻辑实现,也常称为计算机组织。
该组织包括机器级内的数据流和控制流的组成以及逻辑设计等。
⏹计算机实现:计算机组成的物理实现。
它包括处理机、主存等部件的物理结构,器件的集成度、速度和信号,器件、模块、插件、底板的划分与连接,专用器件的设计,电源、冷却、装配等技术。
⏹透明性:本来存在的事物或属性,但从某个角度看似乎不存在,称为透明性现象。
⏹固件:是一种具有软件功能的硬件。
如将软件固化在ROM中,就是一种固件。
⏹由上往下设计:先考虑如何满足应用要求,确定好面对使用者那级机器应有什么基本功能和特性,然后再逐级往下设计,每级都考虑怎样优化上一级实现。
这种方法适合于专用机设计。
⏹由下往上设计:根据现有的部件,并参照或吸收已有各种机器的特点,先设计出微程序机器级(如果采用微程序控制)及传统机器级,然后再为不同应用配置多种操作系统和编译系统软件,采用合适的算法来满足相应的应用。
这是20世纪60-70年代前常用的通用机设计思路。
⏹系列机:同一厂家生产的具有相同系统结构,但具有不同组成和实现的一系列的机器。
⏹软件兼容:同一软件可以不加修改地运行于系统结构相同的不同档次的机器上,而且它们所获得的结果一样,差别只是运行时间不同。
计算机系统结构第3章部分习题参考答案
第3章 部分习题参考答案3.2 (题目略)【解】overlap o i cpu T T T T -+=/,其中T overlap 的最大值为T cup 。
由题意可得当CPU 速度提高4倍后,T =30/4+20-30/4=20(s)。
(注:T overlap 为CPU 和I/O 重叠执行的时间)3.7 (题目略)【解】(1)处理机响应各中断源的中断请求的先后次序与它们的中断优先级一样:D 1D 2D 3D 4D 5;实际的中断处理次序为:D 1D 2D 3D 4D 5。
(2)处理机响应各中断源的中断请求的先后次序与它们的中断优先级一样:D 1D 2D 3D 4D 5;实际的中断处理次序为: D 4D 5 D 3 D 2D 1。
(3)处理机响应各中断源的中断服务请求和实际运行中断服务程序过程的示意图如下:(4)处理机响应各中断源的中断服务请求和实际运行中断服务程序过程的示意图如下:3.9 (题目略)【解】字节多路通道适用于连接大量像光电机等字符类低速设备。
这些设备传送一个字中断请求D 3,D 4,D 5时间tD 1, D 2 中断请求主程序中断服务程序 D 1,D 2,D 3,D 4,D 5 时间t符(字节)的时间很短,但字符(字节)间的等待时间很长。
通道“数据宽度”为单字节,以字节交叉方式轮流为多台设备服务,使效率提高。
字节多路通道可有多个子通道,同时执行多个通道程序。
数组多路通道适合于连接多台像磁盘等高速设备。
这些设备的传送速率很高,但传送开始前的寻址辅助操作时间很长。
通道“数据宽度”为定长块,多台设备以成组交叉方式工作,以充分利用并尽量重叠各台高速设备的辅助操作时间。
传送完K个字节数据,就重新选择下个设备。
数组多路通道可有多个子通道,同时执行多个通道程序。
选择通道适合于连接像磁盘等优先级高的高速设备,让它独占通道,只能执行一道通道程序。
通道“数据宽度”为可变长块,一次将N个字节全部传送完,在数据传送期只选择一次设备。
计算机系统结构作业答案第三章(张晨曦)
计算机系统结构作业答案第三章(张晨曦)3.1 -3.3为术语解释等解答题。
3.4 设一条指令的执行过程分为取指令,分析指令和执行指令3个阶段,每个阶段所需时间分别为ΔT, ΔT, 2ΔT,分别求出下列各种情况下,连续执行N条指令所需的时间。
(1) 顺序执行方式(2) 只有“取指令”与“执行指令”重叠(3) “取指令”,“分析指令”与“执行指令”重叠解:(1) 4NΔT(2) (3N+1) ΔT(3) 2(N+1) ΔT3.6 解决流水线瓶颈问题有哪两种常用方法?解:(1) 细分瓶颈段将瓶颈段细分为若干个子瓶颈段(2) 重复设置瓶颈段重复设置瓶颈段,使之并行工作,以此错开处理任务3.9 列举下面循环中的所有相关,包括输出相关,反相关,真数据相关。
for(i = 2; i < 100; i=i+1){a[i] = b[i] + a[i]; -----(1)c[i+1] = a[i] + d[i]; -----(2)a[i-1] = 2*b[i]; -----(3)b[i+1] = 2*b[i]; -----(4)}解:输出相关:第k次循环时(1)与第k+1轮时(3)反相关:第k次循环时(1)和(2)与第k-1轮时(3)真数据相关:每次循环(1)与(2),第k次循环(4)与k+1次循环(1),(3),(4)3.12 有一指令流水线如下所示50ns 50ns 100ns 200ns(1)求连续如入10条指令的情况下,该流水线的实际吞吐率和效率(2)该流水线的“瓶颈”在哪一段?请采用两种不同的措施消除此“瓶颈”。
对于你所给出的两种新的流水线连续输入10条指令时,其实际吞吐率和效率各是多少?解:(1)(m表示流水线级数,n 表示任务数)(2)瓶颈在3、4段。
方法一:变成八级流水线(细分)11.7e8方法二:变成两级流水线(合并)方法三:将段1、2 合并为一段,段4 细化流水为两段方法四:重复设置部件,设置2个部件3,4个部件4,和第一种方法结果相同3.14 有一条静态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第3段时间为2Δt,其余各段时间均为Δt,而且流水线的输出可以直接返回输入端或暂存于相应的流水寄存器中,现要在该流水线上计算41()i iiA B =+∏,画出其时空图,并计算其吞吐率、急速比和效率。
计算机组成与系统结构第三章课后作业参考答案
• Cache-主存系统的访问效率 e = tc / ta e = tc / ta = 10 / 11.8 = 84.7%
•
有一个Cache主存系统,按字节编址, 主存容量2MB,Cache容量16KB,每块 (行)容量2KB,采用直接映射方式。
1. 给出主存地址格式。 2. 若主存地址为125301H,那么它在主存 的哪一个存储块中?映射到Cache的哪 个块?画出地址映射示意图
• • • • • • • • •
page table 页表 process 进程 address 地址 virtual page number 页号 valid bit 有效位 page frame number 页架号(物理块号) physical address 物理地址(主存地址) virtual addresses 虚拟地址 fault 故障
Nc :表示Cache完成存取的总次数, Nm :表示主存完成存取的总次数
h = (4500-90)/ 4500 = 98%
• Cache-主存系统的平均访问时间
ta= h • tc+ (1-h) • tm tc :表示命中时的Cache访问时间 tm :表示未命中时的主存访问时间 ta= 0.98 • 10+ (1-0.98) • 100 = 11.8 ns
3位
0#块 1#块 … 7#块 0#块 1#块 … 7#块 … 0#块 1#块 2#块 …
11位
0#区
主存
1#区
73#区
• 某Cache存储系统,主存有0~7共8个块。 Cache有4行,采用组相联映像,分2组。 假设主存的第5、1、2、4块已依次装入 Cache,现访存块地址流为1、2、4、1、 3、7、0、1、2、5、4、6时:画出用 LRU替换算法,Cache内各块的实际替换 过程图,并标出命中和替换时刻;
计算机系统结构 第三章练习 答案
计算机系统结构第三章练习答案计算机系统结构-第三章练习答案第三章练习(1)一、单项选择题以下问题的四个备选答案中,只有一个是正确的。
请在问题后面的括号中填写正确答案的标签(a~d)。
1.程序员编写程序时使用的访存地址是()。
a、物理地址B.有效地址C.逻辑地址D.主存地址2.虚拟存储器通常采用的地址映像是(d)。
a、完全关联、组关联和直接图像B.直接图像C.组关联图像D.完全关联图像3.不属于堆栈型替换算法是()。
a、最近使用最少的替换算法B.先进先出替换算法C.最优替换算法d.近期最久未使用替换算法4.提高虚拟内存主存命中率的方法是()。
a.采用lfu替换算法并增大页面数b.采用fifo替换算法并增大页面c.采用fifo 替换算法并增大页面数d.采用lru替换算法并增大页面5.虚拟内存主要用于解决()问题。
a.便于程序的“访存操作”b.扩大存储系统的容量和提高存储系统的速度c.提高存储系统的速度d.扩大存储系统的容量6.独立于虚拟内存的等效访问速度为()。
a.辅存的容量b.主存的容量c.页面替换算法d.访存页地址流二、填空1.使二级存储系统的等效访问速度接近于第一级存储器访问速度的依据是程序的(局部它包括两个方面(时间局部性)和(空间局部性)。
2.程序的空间局部性意味着程序通常是(按顺序)存储和执行的,程序使用的数据通常是(群集)聚或集中)存储的。
3.假设T1和T2分别是CPU访问M1和M2中的信息所需的时间,H是命中M1的概率,则由m1和m2构成的二级存储系统的等效访问时间应当表示为(h*t1+(1-h)*t2)。
4.存储器速度性能可以采用存储器的(频宽)衡量,它是存储器单位时间能够访问的信息量5.虚拟存储器的存储管理方式有(页式)、(段式)和(段页式)三种。
6.页式虚拟存储器把(程序“虚拟”)空间和(主存储器“物理实”)空间都分成相同样大小的页面。
7.当两个虚拟空间的页面需要加载相同的主存页面时,称之为(实页面冲突或页面争用)。
计算机组织与系统结构第三章习题答案
第 3 章习题答案2(4)高级语言中的运算和机器语言 (即指令) 中的运算是什么关系?假定某一个高级语P中有乘、言源程序除运算,但机器M中不提供乘、除运算指令,则程序P 能否在机器M上运行?为什么?参考答案:(略)3.考虑以下 C 语言程序代码:int func1(unsigned word){return (int) (( word <<24) >> 24);}int func2(unsigned word){return ( (int) word <<24 ) >> 24;}假设在一个32 位机器上执行这些函数,该机器使用二进制补码表示带符号整数。
无符号数采用逻辑移位,带符号整数采用算术移位。
请填写下表,并说明函数func1 和func2 的功能。
函数func1 的功能是把无符号数高24 位清零(左移24 位再逻辑右移24位),结果一定是正的有符号数;而函数func2 的功能是把无符号数的高24 位都变成和第25 位一样,因为左移24 位后进行算术右移,高24 位补符号位(即第25 位)。
4.填写下表,注意对比无符号数和带符号整数的乘法结果,以及截断操作前、后的结果。
5.以下是两段 C 语言代码,函数arith( ) 是直接用 C 语言写的,而optarith( ) 是对arith( ) 函数以某个确定的M和N编译生成的机器代码反编译生成的。
根据optarith( ) ,可以推断函数arith( ) 中M和N的值各是多少?#define M#define Nint arith (int x, int y){int result = 0 ;result = x*M + y/N;return result;}int optarith ( int x, int y){i nt t = x;x << = 4;x - = t;i f ( y < 0 ) y += 3;y>>2;r eturn x+y;参考答案:可以看出x*M 和“ int t = x; x << = 4; x-=t; ”三句对应,这些语句实现了x 乘15 的功能(左移 4 位相当于乘以16,然后再减 1 ),因此,M等于15;y/N 与“if ( y < 0 ) y += 3; y>>2; ”两句对应,功能主要由第二句“ y右移2位”实现,它实现了y除以4的功能,因此N是4。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章总线、中断与输入输出系统3.1.简要举出集中式串行链接,定时查询和独立请求3种总线控制方式的优缺点。
同时分析硬件产生故障时通讯的可靠性。
答:集中式串行链连接方式。
其过程为:①所有部件都经公共的“总线请求”线向总线控制器发使用总线申请。
②当“总线忙”信号未建立时,“总线请求”才被总线控制器响应,送出“总线可用”信号,它串行地通过每个部件。
③如果某部件未发过“总线请求”,则它将“总线可用”信号往下一部件转,如果某部件发过“总线请求”,则停止“总线可用”信号的传送。
④该部件建立“总线忙”,并除去“总线请求”,此时该部件获得总线使用权,准备传送数据。
⑤数据传送期间,“总线忙”维持“总线可用”的建立。
⑥传送完成后,该部件去除“总线忙”信号和“总线可用”信号。
⑦当“总线请求”再次建立时,就开始新的总线分配过程。
优点:①选择算法简单;②控制总线数少;③可扩充性好;④可靠性高。
缺点:①对“总线可用”线及其有关电路失效敏感,②不灵活;③总线中信号传送速度慢。
集中式定时查询方式,过程:①总线上每个部件通过“总线请求”发请求。
②若“总线忙”信号未建立,则计数器开始计数,定时查询个部件,以确定是谁发的请求。
③当查询线上的计数值与发出请求的部件号一致时,该部件建立“总线忙”,计数停止,查询也停止。
除去“总线请求”,该部件获得总线使用权。
④“总线忙”维持到数据传送完毕。
⑤数据传送完,去除“总线忙”。
⑥当“总线请求”线上有新的请求,就开始下一个总线分配过程。
优点:①优先次序灵活性强;②可靠性高。
缺点:①控制线数较多;②扩展性较差;③控制较为复杂;④总线分配受限于计数信号,不能很高。
集中式独立请求方式,过程:①每个部件有一对“总线请求”和“总线准许”线。
②每个部件使用“总线请求”发中请,当“总线已分配”无信号时,总线控制器根据某种算法对同时送来的多个请求进行仲裁,以确定哪个部件使用总线,信号从“总线准许”送回该部件,去除该部件的“总线请求”,建立总线已分配”。
③获得总线使用权的部件传送数据,直至完毕。
④数据传送完毕后,除去总线已分配”和“总线准许”,开始新的总线分配。
优点:①总线分配速度快;②灵活;③能方便隔离失效部件的请求。
缺点:①控制线数多;②复杂。
硬件产生故障时,通信的可靠性分析:串行链接对通信的可靠性,主要表现在“总线可用”线及其有关电路的失效会造成系统整体瘫痪的问题。
一旦“总线可用”线出现断路或碰地,其高电平不能顺链往下传送,就会使后面的部件在要求使用总线时,其请求无法得到响应。
为了提高可靠性,可对“总线可用”线及其相关电路,采取重复设置两套或多套来解决。
定时查询对通信的可靠性要求比串行链接的高。
因为总线控制器通过计数,查询到某个出故障的部件时,故障部件不会给出“总线忙”信号,这样,不会影响控制器继续计数,去查询下一个部件,所以整个总线系统的工作不会瘫痪。
独立请求对通信的可靠性要求同样比串行链接的高。
因为某个部件在发生故障时,不发总线请求,即使发出总线请求,总线控制器也可以通过软件或硬件的措施,将发生故障的部件送来的请求予以屏蔽掉,不让其参与总线的分配。
所以,某个部件的故障不会导致整个系统的工作处于瘫痪状态。
3.2. 设中断级屏蔽位“1”对应于开放,“0”对应于屏蔽,各级中断处理程序的中断级屏蔽位设置如下:(见课本)(1)当中断响应优先次序为1→2→3→4时,其中断处理次序是什么?答:(1)1—3—4—2 中断处理程序(2)如果所有的中断处理都各需3个单位时间,中断响应和中断返回时间相对中断处理时间少得多。
当机器正在运行用户程序时,同时发生第2,3级中断请求,过两个单位时间,又同时发生第1,4级中断请求,试画出程序运行过程示意图。
答:《南京大学出版社》李学干主编的辅导书对本题的分析:为了领会中断响应排队器对中断响应优先次序是用硬件固定的,以及通过由操作系统给各中断级服务程序现行程序状态字中的中断级屏蔽位设置不同的状态,可以改变中断处理(完)的次序这两个要点,下图给出了一个中断响应硬件部分的简单逻辑原理示意图。
图中略去了某些实现上的具体细节,因为这些已不是本课程要讨论的内容。
中断级屏蔽位是程序状态字中的一个组成部分。
程序状态字是将散布于系统各部分,反映程序工作时某些关键性硬件的状态,组合在一起所构成的字,有的计算机也称其为处理器状态字或程序换道区。
每类程序均在主存中指定一个区域来放置其程序状态字。
运行一个程序或进程时,就会将其程序状态字从主存指定单元或区域取出送到分散于系统各部分的寄存器或计数器中,建立起运行此程序或进程的环境。
一个程序或进程在退出运行时,也会将反映该程序状态的这些寄存器或计数器内容组拼成程序状态字,存回该程序或进程在主存中的指定单元或区域里。
因此,程序或进程的切换,只需要通过硬件启动的交换新旧程序状态字的内容即可快速完成。
例如,在IBM370系列机上,程序状态字为64位,等于它的长字,交换程序状态字只需硬件启动写长字和读长字两次访存即可完成。
尽管中断请求是随机发出的,为了便于精确保存中断的断点以及在中断处理完后又能返回到原中断处,中断响应排队器总是在每条指令执行到最后一个机器周期的最后一个时钟周期时,对目前到达中断响应排队器入口的所有中断请求排一次队,择优进行响应。
在中断响应排队器相应的输出端产生出响应信号。
此信号经中断级服务程序入口地址形成硬件,生成出该级中断服务程序的程序状态字在内存区中所存放的地址。
同时,经中断响应控制信号启动,进行新旧程序状态字的交换,完成程序的切换。
被中断的程序的断点地址(即程序计数器的内容),由硬件自动压入返回地址堆栈,予以保存。
系统切换到新的程序或进程后,继续运行下去。
如果新的程序或进程是一个中断服务程序,在运行结束,执行到中断返回指令时,就会从堆栈中弹出所保存的返回地址,再次交换程序状态字,系统又重新返回到原被中断的程序,恢复运行。
当然,低级的中断服务程序在处理过程中又遇到了比其更高级的中断请求时,应允许其被中断,以实现多级中断的嵌套。
利用返回地址堆栈的后进先出工作方式,就可以完成中断嵌套时的正确返回。
可以看出,只要某道程序运行时,由操作系统在现行程序的程序状态字中,根据对各中断级的中断请求是否屏蔽,设置好中断级屏蔽位的状态,就可以控制这些级别的中断请求是否进入中断响应排队器去参加排队。
只有能进入中断响应排队器的中断级请求,才有机会得到响应,从而就可改变中断实际处理完的次序。
应当注意的是,用户程序是不能屏蔽任何中断的。
因此,用户程序的现行程序状态字中,对各中断级的屏蔽位均应让其处于“开放”状态。
根据本题中所给出的各级中断处理程序对中断级屏蔽位设置的状况,很容易得出其中断处理(完)的次序应当是1342。
因为正处理1级的中断处理程序时,现行程序状态字中的中断级屏蔽位为0000,在其执行期间,任何新的同级和低级的中断请求都不可能进入中断响应排队器进行排队,所以,1级中断处理程序一定会先处理完。
当执行3级中断服务程序时,由于现行程序状态字中的中断级屏蔽位为1000,即对1级中断请求是“开放”的,而对其他各级中断请求则处于“屏蔽”状态。
所以,只要此时发生1级中断请求,它就能进入中断响应排队器去排队。
从而在中断请求排队的微操作发出时,就可打断3级中断服务程序的执行,交换程序状态字,转去执行1级中断处理程序,使之被优先处理完。
而在执行3级中断服务程序时,由于现行程序状态字对2、3、4级的中断请求处于被“屏蔽”的状态,所以,它们都不能打断正在执行的3级中断处理程序。
其他的情况可以依此类推得到。
3.3.若机器共有5级中断,中断响应优先次序为1→2→3→4→5,现要求其实际的中断处理次求序1→4→5→2→3。
(1)设计各级中断处理程序的中断级屏蔽位(令“1”对应于开放,“0”对应于屏蔽);略(2)若在运行用户程序时,同时出现第4,2级中断请求,而在处理第2级中断未完成时,又同时出现第1,3,5级中断请求,请画出此程序运行过程示意图。
答:( 选自老版主的答案)1)五个级别的中断屏蔽位分别为(1开放;0屏蔽):1:00000 2:10011 3:11011 4:10000 5:100102)中断过程示意图:如图a. 2、4中断同时出现,进行排队器;b. 按中断响应优先次序,2响应;c. 此时屏蔽字为10011,所以;d. 响应4,中断4运行结束,回2;e. 1、3、5进入排队器,此时屏蔽字为10011,且1优先级最高,所以;f. 响应1,1运行结束,回2,根据屏蔽字,所以;g. 5响应,5运行结束,回2;h. 根据屏蔽字,不响应3,所以2运行结束;回用户程序;i. 3还在排队器,响应3,运行直到结束,回用户程序3.4.简述字节多路,数组多路和选择通道的数据传送方式。
答:字节多路通道适用于连接大量的字符类低速设备。
它以字节交叉方式轮流为多台设备服务,它可有多个子通道,它们分时进入通道。
数组多路通道适合于连接多台高速设备,每传送一个定长块就选择一次设备,多台设备以成组交叉方式工作。
它可有多个子通道。
它们分时进入通道。
选择通道方式适合于优先级高的高速设备,让它独占通道,数据传送以不定长方式进行,在数据传送期只选择一次设备。
3.5 如果通道在数据传送期中,选择设备需9.8μs,传送一个字节数据需0.2μs。
某低速设备每隔500μs发出一个字节数据传送请求,问至多可接几台这种低速设备?对于如下A~F6种高速设备,一次通讯传送的字节数不少于1024个字节,问哪些设备可以挂在此通道上?哪些则不能?其中A—F设备每发出一个字节数据传送请求的时间间隔分别为(单位为μs):设备A B C D E F发申请间隔0.2 0.25 0.5 0.19 0.4 0.21答:(1)∵选择设备需9.8μs,传送一个字节需0.2μs∴该通道完成一个字节的传送需9.8+0.2=1μs∵某低速设备每隔500μs发出一字节数据请求,为使数据不丢失,该通道可连设备数至多为500μs/1μs=500台。
(2)对于高速设备,由于一次传送字节数不少于1024byte∴该通道一次传送数据的时间为9.8μs+1024×0.2μs=214.6μs由表中可得出每台设备发送1024字节的时间间隔分别为A B C D E F单位μs 204.8 256 512 194.56 409.6 215.04∴为使数据不丢失,B、C、E、F可挂在该通道上。
A、D不能。
3.6 某字节多路通道连接6台外设,某数据传送速率分别如表中所列。
设备1 2 3 4 5 6传送速率(KB/s)50 15 100 25 40 20(1)计算所有设备都工作时的通道实际最大流量:答:实际最大流量=50+15+l00+25+ 40+20=250KB/S。