第一章1.2如何理解计算机系统的层次结构?从计算机系统的层次结构来看,它通常可划分五个以上的层次,在每一层次(级)上都能进行程序设计。由下至上可排序为:微程序机器M0级(微指令系统),微指令由硬件直接执行;传统机器M1(机器语言机器级),用微程序解释机器指令;虚拟机器M2(操作系统机器级),用机器语言程序解释操作系统的作业控制语句;虚拟机器M3(汇编语言机器级),用汇编程序翻译成机器语言程序;虚拟机器M4(高级语言机器级),用编译程序翻译成汇编语言程序。还可以有应用语言机器级,采用各种面向问题的应用语言。1.4如何理解计算机组成和计算机体系结构?计算机体系结构是指程序员所见到的计算机系统的属性,即概念性的结构与功能特性。通常是指用机器语言编程的程序员(也包括汇编语言程序设计者和汇编程序设计者)所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O机理等,大都属于抽象的属性。计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的(即程序员不知道的)硬件细节。1.9STAM指令信息流程取指令:PC→MAR→M→MDR→IR分析指令:OP(IR)→CU执行指令:Ad(IR)→MAR→M,ACC→MDR→MADDM指令信息流程取指令:PC→MAR→M→MDR→IR分析指令:OP(IR)→CU执行指令:Ad(IR)→MAR→M→MDR→X,ACC→ALU,同时X→ALU,ALU→ACC假设主存容量为256M*32位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数.256M*32即主存共有256M个存储单元,每个存储单元长为32位,即MDR寄存器为32位。因256M=2^28,故MAR、PC寄存器为28位。又因指令字长、存储字长、机器字长相等,故ACC、MQ、X、IR寄存器与MDR长度相同,均为32位。第三章4.为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?解:总线判优控制解决多个部件同时申请总线时的使用权分配问题;常见的集中式总线控制有三种:链式查询、计数器查询、独立请求;特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式判优速度最快,但硬件器件用量大,连线多,成本较高。14.设总线的时钟频率为8MHz,一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试问总线的带宽是多少?解:总线宽度=16位/8=2B总线带宽=8MHz×2B=16MB/s15.在一个32位的总线系统中,总线的时钟频率为66MHz,假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。若想提高数据传输率,可采取什么措施?解法1:总线宽度=32位/8=4B时钟周期=1/66MHz=0.015µs总线最短传输周期=0.015µs×4=0.06µs总线最大数据传输率=4B/0.06µs=66.67MB/s解法2:总线工作频率=66MHz/4=16.5MHz总线最大数据传输率=16.5MHz×4B=66MB/s若想提高总线的数据传输率,可提高总线的时钟频率,或减少总线周期中的时钟个数,或增加总线宽度。16.在异步串行传送系统中,字符格式为:1个起始位、8个数据位、1个校验位、2个终止位。若要求每秒传送120个字符,试求传送的波特率和比特率。解:一帧=1+8+1+2=12位波特率=120帧/秒×12位=1440波特比特率=1440波特×(8/12)=960bps或:比特率=120帧/秒×8=960bps第四章6.某机字长为32位,其存储容量是64KB,按字编址其寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况。解:存储容量是64KB时,按字节编址的寻址范围就是64KB,则:按字寻址范围=64K×8/32=16K字按字节编址时的主存地址分配图如下:7.一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位解:地址线和数据线的总和=14+32=46根;各需要的片数为:1K×4:16K×32/1K×4=16×8=128片2K×8:16K×32/2K×8=8×4=32片4K×4:16K×32/4K×4=4×8=32片16K×1:16K×32/16K×1=32片4K×8:16K×32/4K×8=4×4=16片8K×8:16K×32/8K×8=2X4=8片13.设有一个64K×8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。解:存储基元总数=64K×8位=512K位=219位;思路:如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的幂的关系,可较好地压缩线数。设地址线根数为a,数据线根数为b,则片容量为:2a×b=219;b=219-a;若a=19,b=1,总和=19+1=20;a=18,b=2,总和=18+2=20;a=17,b=4,总和=17+4=21;a=16,b=8总和=16+8=24;…………由上可看出:片字数越少,片字长越长,引脚数越多。片字数、片位数均按2的幂变化。结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线=19根,数据线=1根;或地址线=18根,数据线=2根。15:(2)选片:ROM:4K×4位:2片;RAM:4K×8位:3片;(3)CPU和存储器连接逻辑图及片选逻辑:24.一个4体低位交叉的存储器,假设存取周期为T,CPU每隔1/4存取周期启动一个存储体,试问依次访问64个字需多少个存取周期?解:本题中,只有访问第一个字需一个存取周期,从第二个字开始,每隔1/4存取周期即可访问一个字,因此,依次访问64个字需:存取周期个数=(64-1)×(1/4)T+T=(63/4+1)T=15.75+1=16.75T与常规存储器的速度相比,加快了:(64-16.75)T=47.25T注:4体交叉存取虽然从理论上讲可将存取速度提高到4倍,但实现时由于并行存取的分时启动需要一定的时间,故实际上只能提高到接近4倍。第五章第六章第七章第八章4.设CPU内有下列部件:PC、IR、SP、AC、MAR、MDR和CU,要求:(1)画出完成间接寻址的取数指令LDA@X(将主存某地址单元X的内容取至AC中)的数据流(从取指令开始)。(2)画出中断周期的数据流。解:CPU中的数据流向与所采用的数据通路结构直接相关,不同的数据通路中的数据流是不一样的。常用的数据通路结构方式有直接连线、单总线、双总线、三总线等形式,目前大多采用总线结构,直接连线方式仅适用于结构特别简单的机器中。为简单起见,本题采用单总线将题意所给部件连接起来,框图如下:(1)假设为一重间址,在上述数据通路中,完成间接寻址的取数指令LDA@X的数据流如下页:5、中断周期前是什么阶段?中断周期后又是什么阶段?在中断周期CPU应完成什么操作?答:从CPU机器周期的时序层次来看,中断周期前是指令的执行阶段。中断周期后是取指令阶段。在中断周期CPU应完成关中断、保存断点和转中断服务程序入口三个操作。24.现有A、B、C、D四个中断源,其优先级由高向低按A→B→C→D顺序排列。若中断服务程序的执行时间为20µs,请根据下图所示时间轴给出的中断源请求中断的时刻,画出CPU执行程序的轨迹。解:CPU执行程序的轨迹图如下:这是一个多重中断的程序运行轨迹,图中忽略了中断响应时间。25.设某机有五个中断源L0、L1、L2、L3、L4,按中断响应的优先次序由高向低排序为L0L1L2L3L4,现要求中断处理次序改为L1L4L2L0L3,根据下面的格式,写出各中断源的屏蔽字。解:各中断源屏蔽状态见下表:表中:设屏蔽位=1表示屏蔽,屏蔽位=0表示中断开放。为了使所有中断都能得到及时响应,现行程序的中断屏蔽字一般设为全开放(全0)状态。讨论:按照修改过的优先次序,当五个中断请求信号同时到来时,CPU中断处理过程如下图:图中括号内为各程序的屏蔽码。注意:中断屏蔽码的判优作用体现在对低级中断请求的屏蔽上,对于多个同时到来的高级中断请求信号之间则只有开放作用,没有判优作用。此时还需依赖硬件排队线路完成进一步的判优。中断处理过程示意图(画法二:时空图表示)26.设某机配有A、B、C三台设备,其优先级按A→B→C降序排列,为改变中断处理次序,它们的中断屏蔽字设置如下:设备屏蔽字A111B010C011请按下图所示时间轴给出的设备请求中断的时刻,画出CPU执行程序的轨迹。设A、B、C中断服务程序的执行时间均为20s。解:CPU执行程序的轨迹图如下:这是一个多重中断的程序运行轨迹,图中忽略了中断响应时间。28.设某机有4个中断源1、2、3、4,其响应优先级按1→2→3→4降序排列,现要求将中断处理次序改为4→1→3→2。根据下图给出的4个中断源的请求时刻,画出CPU执行程序的轨迹。设每个中断源的中断服务程序时间均为20µs。解:CPU执行程序的轨迹图如下: