1、习题解答第一章思考题与习题1什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?计算机系统是指计算机硬件、软件和数据通信设备的物理或逻辑的综合体。硬件即指计算机的实体部分。软件是由计算机运行所需的程序及相关文档硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要4如何理解计算机组成和计算机体系结构?计算机体系结构是指那些能够被程序员所见到的计算机系统的属性, 即概念性的结构与 功能特性,通常是指用机器语言编程的程序员所看到的传统机器的属性,包括指令集、数据 类型、存储器寻址技术、I/O 机理等等计算机组成是指如何实现计算机体系结构所体现的属性, 它包含了许多对程序员来说是 透明
2、的硬件细节。5冯诺依曼计算机的特点是什么?(1) 计算机由运算器、存储器、控制器和输入设备、输出设备五大部件组成(2) 指令和数据以同等的地位存放于存储器内,并可以按地址寻访(3) 指令和数据均可以用二进制代码表示(4) 指令由操作码和地址码组成(5) 指令在存储器内按顺序存放。(6) 机器以运算器为中心。6画出计算机硬件组成框图,说明各部件的作用及计算机硬件的主要技术指标。硬件的主要技术指标:(1) 机器字长:指 CPU 一次能处理数据的位数,通常与 CPU 的寄存器位数有关(2) 存储容量: 包括主存容量和辅存容量, 存放二进制代码的总数存储单元个数存储字长(3) 运算速度:主频、Gibs
3、on 法、MIPS 每秒执行百万条指令、CPI 执行一条指令所需 时钟周期数、FLOPS 每秒浮点运算次数7解释下列概念:主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储 容量、机器字长、指令字长。主机是计算机硬件的主体部分,由CPU+MM(主存或内存)组成;CPU中央处理器,是计算机硬件的核心部件,由运算器+控制器组成;存储字长存储器一次存取操作的最大位数;存储容量存储器中可存二进制代码的总量;机器字长CPU能同时处理的数据位数;等于处理器内部寄存器位数指令字长一条指令包含的二进制代码位数;8解释下列英文代号: CPU、PC、IR、CU、ALU、ACC、MQ、
4、X、MAR、MDR、I/O、MIPS、CPI、FLOPS。CPU: central processing unit 中央处理器PC: program counter 程序计数器IR: instruction register 指令寄存器CU: control unit 控制单元ALU: arithmetic logic unit 算术逻辑运算单元MAR: memory address register 存储器地址寄存器MDR: memory data register 存储器数据寄存器I/O: input/output equipment 输入与输出设备MIPS: million instru
5、ction per second 每秒执行百万条指令CPI: cycle per instruction 执行一条指令所需的时钟周期数FLOPS: floating point operation per second 每秒浮点运算次数来衡量运算速度。第三章 思考题与习题1什么是总线?总线传输有何特点?为了减轻总线的负载,总线上的部件都应具备什么特点? 总线是连接多个部件的信息传输线,是个部件共享的传输介质。 总线传输特点:在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以 同时从总线上接受相同的信息。 为减轻总线上的负载,总线上的设备需通过三态缓冲驱动电路连接到总线上。2总线如何分类
6、?什么是系统总线?系统总线又分几类?它们各有何作用?是单向的还是双向的?它们与机器字长、存储字长、存储单元有何关系?分类:按数据传输方式,可分为并行传输总线和串行传输总线。按使用范围,可分为计算机总线,控制总线,网络通信总线。按连接部件,可分为片内总线,系统总线,通信总线。系统总线指 CPU,主存,I/O 各大部件之间的信息传输线。按系统总线传输信息的不同,分为数据总线,地址总线,控制总线。数据总线:用来传输各功能部件之间的数据信息,是双向传输总线,其位数与机器字长, 存储字长有关,一般为 8 位,16 位或 32 位。地址总线:用来指出数据总线上的源数据或目的数据在贮存单元的地址,是单向传输
7、的, 其位数与存储单元的个数有关控制总线:用来发出各种控制信号的,对任意控制线,是单向的;4为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?总线上的设备有主设备和从设备,当总线有多个主设备时,需要总线判优控制解决多个主设备同时申请总线时的使用权分配问题;常见的集中式总线控制有三种:链式查询、计数器查询、独立请求;链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式判优速度最快,但硬件器件用量大,连线多,成本较高。5解释下列概念:总线宽度、总线带宽、总线
8、复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。总线宽度指数据总线的位(根)数,用bit(位)作单位。总线带宽指总线在单位时间内可以传输的数据量,等于总线工作频率与总线宽度(字节数)的乘积。总线复用指两种不同性质且不同时出现的信号分时使用同一组总线,称为总线的“多路分时复用”。总线的主设备(主模块)总线传输期间对总线控制权的设备(模块);总线的从设备(从模块)总线传输期间没有总线控制权的设备(模块),它只能被动接受主设备发来的命令;总线的传输周期总线完成一次完整而可靠的传输所需时间;总线的通信控制指总线传送过程中双方的时间配合方式6试比较同步通信和异步
9、通信。同步通信由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降。适合于速度差别不大的场合;异步通信不由统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率7画图说明异步通信中请求与回答有那几种互锁关系?不互锁、半互锁、全互锁8为什么说半同步通信同时保留了同步通信和异步通信的特点?半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间。9分离式通信有何特点?主要用于什么系统?特点:各模块有权申请占用总线采用同步方
10、式通信,不等对方回答各模块准备数据时,不占用总线总线被占用时,无空闲应用于大型计算机系统10为什么要设置总线标准?你知道目前流行的总线标准有哪些?什么叫 plugandplay?哪 些总线有这一特点?总线标准可理解为系统与模块、模块与模块之间的互连的标准界面。总线标准的设置主要解决不同厂家各类模块化产品的兼容问题;目前流行的总线标准有:ISA、EISA、PCI等;即插即用指任何扩展卡插入系统便可工作。EISA、PCI等具有此功能。14. 设总线的时钟频率为8MHz,一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试问总线的带宽是多少?解:总线宽度 = 16位/8 =2B总线
11、带宽 = 8MHz2B =16MB/s15. 在一个32位的总线系统中,总线的时钟频率为66MHz,假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。若想提高数据传输率,可采取什么措施?解答:总线工作频率 = 66MHz/4 =16.5MHz总线最大数据传输率 =16.5MHz4B =66MB/s若想提高总线的数据传输率,可提高总线的时钟频率,或减少总线周期中的时钟个数,或增加总线宽度16. 波特率 =120*(1+8+1+2)=1440baud比特率 =120*8=960bit/s第四章 思考题与习题1解释下列概念 主存、辅存、Cache、RAM、SRAM、DRAM、ROM、P
12、ROM、EPROM、EEPROM、 CDROM、 FlashMemory主存:与 CPU 直接交换信息,用来存放数据和程序的存储器。辅存:主存的后援存储器,不与 CPU 直接交换信息。CACHE:为了解决 CPU 和主存的速度匹配,设在主存与 CPU之间,起缓冲作用,用于提高访存速度的一种存储器。RAM:随机存储器:是随机存取的,在程序执行过程中既可读出也可写入,存取时间与存储单元所在位置无关。SRAM:静态 RAM,以触发器原理存储信息。DRAM:动态 RAM,以电容充放电原理存储信息。ROM:只读存储器,在程序执行过程中只能读出,而不能对其写入。PROM:一次性编程的只读存储器。EPROM
13、:可擦除的可编程只读存储器,用紫外线照射进行擦写。EEPROM:用电可擦除的可编程只读存储器。CDROM:只读型光盘Flash Memory:快擦型存储器,是性能价格比好,可靠性高的可擦写非易失型存储器2计算机中哪些部件可用于存储信息,请按其速度、容量和价格/位排序说明。寄存器、缓存、主存、磁盘、磁带等。速度按顺序越来越慢,容量越来越高和价格/位越来越低3存储器的层次结构主要体现在什么地方?为什么要分这些层次,计算机如何管理这些层次?答:存储器的层次结构主要体现在Cache主存和主存辅存这两个存储层次上。Cache主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,接近于C
14、ache的速度,而容量和位价却接近于主存。主存辅存层次在存储系统中主要起扩容作用,其容量和位价接近于辅存,而速度接近于主存4说明存取周期和存取时间的区别。存取周期和存取时间的主要区别是:存取时间仅为完成一次存取操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。即:存取周期 = 存取时间 + 恢复时间5什么是存储器的带宽?若存储器的数据总线宽度为 32 位,存取周期为 200ns,则存储器 的带宽是多少?解:存储器的带宽指单位时间内从存储器进出信息的最大数量。存储器带宽 = 1/200ns32位= 160M位/秒 = 20MB/S = 5M字/秒6某机字长为 32 位,其存储容
15、量是 64KB,按字编址它的寻址范围是多少?若主存以字节 编址,试画出主存字地址和字节地址的分配情况。存储容量是64KB时,按字节编址的寻址范围就是64KB,则:按字寻址范围 = 64K8 /32=16K字7一个容量为 16K32 位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片? 1K4 位,2K8 位,4K4 位,16K1 位,4K8 位,8K8位 地址线和数据线的总和 = 14 + 32 = 46根;各需要的片数为:1K4:16K32 /1K4 = 168 = 128片2K8:16K32 /2K8 = 8 4 = 32片4K4:16K32 /4K4
16、= 4 8 = 32片16K1:16K32 /16K1 = 32片4K8:16K32 /4K8 = 4 4 = 16片8K8:16K32 / 8K8 = 2X4 = 8片8试比较静态 RAM 和动态 RAM。特性 SRAM DRAM存储 触发器 电容破坏性读出 非 是需要刷新 不要 需要地址复用 无 有运行速度 快 慢集成度 低 高功耗 高 低适用场合 cache 大容量主存9什么叫刷新?为什么要刷新?说明刷新有几种方法。解:刷新对DRAM定期进行的全部重写过程;刷新原因因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;常用的刷新方法有三种集中式、分散式、异步式。集
17、中式:在最大刷新间隔时间内,集中安排一段时间进行刷新;分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间;异步式:是集中式和分散式的折衷10半导体存储器芯片的译码驱动方式有几种?半导体存储器芯片的译码驱动方式有两种:线选法和重合法。线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材;重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。可大大节省器材用量,是最常用的译码驱动方式11. 一个8K8位的动态RAM芯片,其内部结构排列成256256形式,存取周期为0.1s。试问采用集中刷新、分散刷新及异步刷新三种方式的刷新间隔各为多少?解:设DRAM的刷新最大间隔
18、时间为2ms,则异步刷新的刷新间隔 =2ms/256行 =0.0078125ms =7.8125s即:每7.8125s刷新一行。集中刷新时,死时间为256*0.1us=25.6us。分散刷新,刷新间隔0.2us,死时间为0.1us,读写周期0.2us异步刷新,死时间0.1us,刷新间隔7.8125us。13设有一个 64K8 位的 RAM 芯片,试问该芯片共有多少个基本单元电路(简称存储基元)? 欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数 据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。解:存储基元总数 = 64K 8位 = 512K位 =
19、 219位;设存储器有X根地址线和Y根数据线则有 2X *Y=219Y=1,X=19 X+Y=20Y=2,X=18 X+Y=20Y=4,X=17 X+Y=21Y=8,X=16 X+Y=24Y=16,X=15 X+Y=31Y=32。因此,有两种解答,512K*1位和256K*2位14某 8 位微型机地址码为 18 位,若使用 4K4 位的 RAM 芯片组成模块板结构的存储器,试问:(1)该机所允许的最大主存空间是多少?(2)若每个模块板为 32K8 位,共需几个模块板?(3)每个模块板内共有几片 RAM 芯片?(4)共有多少片 RAM?(5)CPU 如何选择各模块板?解: (1)218 = 25
20、6K,则该机所允许的最大主存空间是256K8位(或256KB);(2)模块板总数 = 256K8 / 32K8 = 8块;(3)板内片数 = 32K8位 / 4K4位= 8 2 = 16片;(4)总片数 = 16片 8 = 128片;(5)CPU通过最高3位地址译码选板,次高3位地址译码选片。地址格式分配如下:15设 CPU 共有 16 根地址线,8 根数据线,并用 MREQ (低电平有效)作访存控制信号, RW 作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片: ROM(2K8位,4K4 位,8K8 位), RAM(1K4 位,2K8 位,4K8 位)及 74138 译码器和其他门
21、电路(门电路自定)。 试从上述规格中选用合适芯片,画出 CPU 和存储芯片的连接图。要求: (1)最小 4K 地址为系统程序区,409616383 地址范围为用户程序区; (2)指出选用的存储芯片类型及数量; (3)详细画出片选逻辑。解:(1)地址空间分配图如下A15A12 A11A8 A7A4 A3A004K 0000 0000 0000 00000000 1111 1111 11114K8K 0001 0000 0000 00000001 1111 1111 11118k12k 0010 0000 0000 00000010 1111 1111 111112k16k 0011 0000 0
22、000 00000011 1111 1111 1111(2)选片:ROM:4K 4位:2片;RAM:4K 8位:3片;(3)CPU和存储器连接逻辑图及片选逻辑16CPU 假设同上题,现有 8 片 8K8 位的 RAM 芯片与 CPU 相连,试回答: (1)用 74138 译码器画出 CPU 与存储芯片的连接图;(2)写出每片 RAM 的地址范围;(3)如果运行时发现不论往哪片 RAM 写入数据后,以 A000H 为起始地址的存储芯片 都有与其相同的数据,分析故障原因。(4)根据(1)的连接图,若出现地址线 A13 与 CPU 断线,并搭接到高电平上,将出 现什么后果?解:(1)CPU与存储器芯
23、片连接逻辑图:(此题画法不标准,见15题答案画法)(2)地址空间分配00001FFF08K; 20003fff8K16K; 40005fff 16k24K 60007FFF 24k32k80009FFF3240K;A000Bfff40K48K;C000Dfff 48k56K E000FFFF 56k64k(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,则根本的故障原因为:该存储芯片的片选输入端很可能总是处于低电平。(4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为“1”的情况。此时存储器只能寻址A13=1的地址空间,A1
24、3=0的另一半地址空间将永远访问不到。若对A13=0的地址空间进行访问,只能错误地访问到A13=1的对应空间中去。22某机字长 16 位,常规的存储空间为 64K 字,若想不改用其他高速的存储芯片,而使访 存速度提高到 8 倍,可采取什么措施?画图说明。提示:单体多字、低位交叉的多体并行结构24. 一个4体低位交叉的存储器,假设存取周期为T,CPU每隔1/4存取周期启动一个存储体,试问依次访问64个字需多少个存取周期?解:本题中,只有访问第一个字需一个存取周期,从第二个字开始,每隔1/4存取周期即可访问一个字,因此,依次访问64个字需:存取周期个数 =(64-1)(1/4)T+T =(63/4
25、+1)T =15.75+1 =16.75T25. 什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理?解:程序运行的局部性原理指:对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象。(时间:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;空间:在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大。)存储系统中Cache主存层次采用了程序访问的局部性原理。26. 计算机中设置Cache的作用是什么?能不能把Cache的容量扩大,最后取代主存,为什么?答:计算机中设置Cache主要是为了加速CPU访存
26、速度;不能把Cache的容量扩大到最后取代主存,价格以及体积原因不适合。28. 设主存容量为256K字,Cache容量为2K字,块长为4。(1)设计Cache地址格式,Cache中可装入多少块数据?(2)在直接映射方式下,设计主存地址格式。(3)在四路组相联映射方式下,设计主存地址格式。(4)在全相联映射方式下,设计主存地址格式。(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式解:(1)cache地址长度为11位,块内地址长度为2位。主存地址位数为18位9位 2位缓存块号 块内地址Cache可装入29=512个块(2)直接映射方式7位 9位 2位标记 缓存块号
27、块内地址(3)四路组相连 9位 7位 2位标记 组地址 块内地址(4)全相连 16位 2位标记 块内地址(5)直接映射方式 7位 9位 4位标记 缓存块号 块内地址四路组相连 9位 7位 4位标记 组地址 块内地址全相连16位 4位标记 块内地址29. 假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期是30ns,主存的存取周期是150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少?命中率h=4800/(4800+200)= 96%平均访问时间 ta= 0.96*30+0.04*150=34.8
28、ns效率e=tc/ta=30/34.8=86.2%性能提高倍数 150/34.8 -1 =3.330. 一个组相联映射的Cache由64块组成,每组内包含4块。主存包含4096块,每块由128字组成,访存地址为字地址。试问主存和Cache的地址各为几位?画出主存的地址格式。解:缓存块号6位,块内地址7位,cache地址为13位。组地址6-2=4位,主存块号12位,块内地址7位。主存地址19位8位 4位 7位主存标记 组地址 块内地址31. 设主存容量为1MB,采用直接映射方式的Cache容量为16KB,块长为4,每字32位。试问主存地址为ABCDEH的存储单元在Cache中的什么位置?6位 1
29、0位 4标记 缓存块号 块内地址A19 A15 A11 A7 A31010 1011 1100 1101 111032. 设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映射(即Cache每组内共有4个字块)的Cache组织。(1)画出主存地址字段中各段的位数;(2)设Cache的初态为空,CPU依次从主存第0、1、289号单元读出90个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度约提高多少倍?答:(1)考虑按字编址:10位 7位 3主存标记 组地址
30、 块内地址(2)当主存读0号字单元时,将主存0号字块(07)调入Cache(0组0号块),主存读8号字单元时,将1号块(815)调入Cache(1组0号块) 主存读89号单元时,将11号块(8889)调入Cache(11组0号块)。不命中次数为 90/8 = 12 (上取整)总访问次数为 90*8=720Cache命中率 =(720-12)/720=98%(3)设无Cache时访主存需时720T(T为主存周期),加入Cache后需时:708T/6+12T =(118+12)T=130T则:720T/130T =5.54倍有Cache和无Cache相比,速度提高了4.54倍左右38. 磁盘组有6
31、片磁盘,最外两侧盘面可以记录,存储区域内径22cm,外径33cm,道密度为40道/cm,内层密度为400位/cm,转速3600转/分。(1)共有多少存储面可用?(2)共有多少柱面?(3)盘组总存储容量是多少?(4)数据传输率是多少?解:(1)共有:62 -2= 10个存储面可用;(2)有效存储区域 =(33-22)/2 = 5.5cm柱面数 = 40道/cm 5.5cm= 220道(3)内层道周长=3.14*22cm= 69.08cm道容量=400位/cm69.08cm = 3454B面容量=3454B220道 = 759 880B盘组总容量 =759,880B10面 = 0.76MB4)转速
32、 = 3600转 / 60秒 = 60转/秒数据传输率 = 3454B 60转/秒=207,240 B/S39. 某磁盘存储器转速为3000转/分,共有4个记录盘面,每毫米5道,每道记录信息12288字节,最小磁道直径为230mm,共有275道,求:(1)磁盘存储器的存储容量;(2)最高位密度(最小磁道的位密度)和最低位密度;(3)磁盘数据传输率;(4)平均等待时间。解: (1)存储容量 = 275道12 288B/道4面 = 13. 5MB(2)最高位密度 = 12 288B/(230*3.14)17B/mm136位/mm最大磁道直径 =230mm+275道/5道 2 = 230mm + 1
33、10mm = 340mm最低位密度 = 12 288B /( 340*3.14)11B/mm92位 / mm(3)磁盘数据传输率 = 12 288B 3000转/分=614KB/S(4)平均等待时间 = 1/50 / 2 = 10ms41. 设有效信息为110,试用生成多项式G(x)=11011将其编成循环冗余校验码。解:编码过程如下:M(x) =110 n =3G(x) =11011 k+1 =5 k =4M(x)x4 =110 0000M(x)x4/G(x) =110 0000/11011=100+1100/11011 R(x) =1100CRC码=110 110042. 有一个(7,4)
34、码,生成多项式G(x)=x3+x+1,写出代码1001的循环冗余校验码。解:编码过程如下:M(x) =1001 n =4G(x) =x3+x+1 =1011k+1 =4 k =3M(x)x3 =1001 000M(x)x3/G(x) =1001 000/1011=1010+110/1011 R(x) =110M(x)x3+R(x) =1001 000+110=1001 110 =CRC码 第5章1.I/O有哪些编址方式?各有何特点?解:常用的I/O编址方式有两种: I/O与内存统一编址和I/O独立编址;特点:统一编址方式I/O设备和主存占用同一个地址空间,不需要安排专门的I/O指令。I/O独立
35、编址方式时机器I/O地址与主存地址是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。2. 简要说明CPU与I/O之间传递信息可采用哪几种联络方式?它们分别用于什么场合?答:三种联络方式:直接控制(立即响应)、 同步、异步。直接控制适用于结构极简单、速度极慢的I/O设备,CPU直接控制外设处于某种状态而无须联络信号。同步方式采用统一的时标进行联络,适用于CPU与I/O速度差不大,近距离传送的场合。异步方式采用应答机制进行联络,适用于CPU与I/O速度差较大、远距离传送的场合。8. 某计算机的I/O设备采用异步串行传送方式传送字符信息。字符信息的格式为一位起始位、七位数据位、一
36、位校验位和一位停止位。若要求每秒钟传送480个字符,那么该设备的数据传送速率为多少?解:48010=4800位/秒=4800波特;10. 什么是I/O接口?它与端口有何区别?为什么要设置I/O接口?I/O接口如何分类?解: I/O接口一般指CPU和I/O设备间的连接部件;I/O端口一般指I/O接口中的各种寄存器。I/O端口是I/O接口内的寄存器,I/O接口除了包含端口外还有其他的辅助逻辑。设置接口的原因:1. 实现设备的选择2. 实现数据缓冲达到速度匹配3. 实现数据串-并格式转换4. 实现电平转换5. 传送控制命令6. 反映设备的状态I/O接口分类方法很多,主要有:按数据传送方式分,有并行接
37、口和串行接口两种;按数据传送的控制方式分,有程序控制接口、程序中断接口、DMA接口三种。11简述I/O接口的功能和基本组成答:接口的功能有:1)选址功能 2)传送命令的功能 3)传送数据的功能 4)反映设备状态的功能接口的组成有:设备选择电路、命令寄存器和命令译码器、数据缓冲寄存器、设备状态标记和控制逻辑电路12. 结合程序查询方式的接口电路,说明其工作过程。答:程序查询接口工作过程如下(以输入为例):1)CPU发I/O地址地址总线接口设备选择器译码选中, SEL信号有效2)CPU发启动命令D置0,B置1接口向设备发启动命令设备开始工作;3)CPU等待,输入设备读出数据DBR;4)外设工作完成
38、,完成信号接口B置0,D置1;5)准备就绪信号控制总线CPU;6)输入:CPU通过输入指令(IN)将DBR中的数据取走;若为输出,工作过程如下:1)CPU发I/O地址地址总线接口设备选择器译码选中,SEL信号有效;2)输出: CPU通过输出指令(OUT)将数据放入接口DBR中;3)CPU发启动命令D置0,B置1接口向设备发启动命令设备开始工作;4)CPU等待,输出设备将数据从 DBR取走;5)外设工作完成,完成信号接口B置0,D置1;6)准备就绪信号控制总线CPU,CPU可通过指令再次向接口DBR输出数据,进行第二次传送13. 说明中断向量地址和入口地址的区别和联系。解:中断向量地址和入口地址
39、的区别:向量地址是硬件电路(向量编码器)产生的中断源的内存中断向量表表项地址编号,中断入口地址是中断服务程序首址。中断向量地址和入口地址的联系:中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。14. 在什么条件下,I/O设备可以向CPU提出中断请求?解:设备工作完成触发器D=1,B=0,MASK触发器=0,CPU中断查询信号有效16. 在什么条件和什么时间,CPU可以响应I/O的中断请求?解:CPU响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。17. 某系
40、统对输入数据进行取样处理,每抽取一个输入数据,CPU就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P秒。此外,缓冲区内每存储N个数据,主程序就要将其取出进行处理,这个处理需Q秒。试问该系统可以跟踪到每秒多少次中断请求?N个数据所需的处理时间=PN+Q秒每秒可以跟踪到的中断请求数=N/(PN+Q)次。19. 在程序中断方式中,磁盘申请中断的优先权高于打印机。当打印机正在进行打印时,磁盘申请中断请求。试问是否要将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行?为什么?解:不需要,因为打印机只是在与CPU交换信息时占用处理器,打印过程中不占用处理器资源。20试比较单重中
41、断和多重中断服务程序的流程,说明它们不同的原因单重中断:保护现场、中断服务、恢复现场、开中断、中断返回。多重中断:保护现场、开中断、中断服务、恢复现场、中断返回。多重中断在中断服务前,开中断,允许级别更高的中断打断中断服务程序,转到响应的中断服务程序去执行,而单重中断在中断返回前开中断,在中断服务过程中,不允许其他中断中断现有服务程序。21中断向量通过什么总线送到什么地方,为什么?中断向量通过数据总线送给CPU。(PC)CPU通过中断向量到主存中找到中断服务程序的入口地址。22. 程序查询方式和程序中断方式都是通过“程序”传送数据,两者的区别是什么?答:程序查询方式通过“程序”传送数据时,程序
42、对I/O的控制包括了I/O准备和I/O传送两个阶段,两个阶段都需要占用处理器资源。在外设准备状态,CPU需要不断查询外设状态,占用处理器资源。而程序中断方式仅仅是在数据传送过程中占用处理器资源,I/O准备阶段不需要CPU查询。因此,程序查询方式,CPU与I/O串行工作,而程序中断方式CPU与I/O并行工作。26. 什么是多重中断?实现多重中断的必要条件是什么?解:多重中断是指:当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。实现多重中断的必要条件是:在现行中断服务期间,中断允许触
43、发器为1,即开中断。28.CPU对DMA请求和中断请求的响应时间是否相同?为什么?解:不相同:中断请求响应时间是在指令周期结束的时刻,而DMA请求响应的时间是在存取周期结束的时刻。31. 假设某设备向CPU传送信息的最高频率是40000次/秒,而相应的中断处理程序其执行时间为40us,试问该外设是否可用程序中断方式与主机交换信息,为什么?解:中断时间间隔 =1/40K=0.02510-3=25us =0时成立。当xy补,是否有xy?解:若x补y补,不一定有xy。x补 y补时 x y的结论只在 x 0、y 0,及 x0、 yy,但由于负数补码的符号位为1,则x补0时,有x y补。9. 当十六进制
44、数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)?解:真值和机器数的对应关系如下:十六进制 真值 无符号数 原码 反码 补码 移码9BH 二进制十进制 1001 1011155 -11 011-27 -1100100-100 -1100101-101 +11011+27FFH 二进制十进制 1111 1111255 -111 1111-127 -0000000-0 -0000001-1 +1111111+12710. 在整数定点机中,设机器数采用一位符号位,写出0的原码、补码、反码和移码,得出什么结论?真值 原码 补码 反码 移码+0
45、 0,000 0,000 0,000 1,000-0 1,000 0,000 1,111 1,000结论:补、移码0的表示唯一,原、反码不唯一。12. 设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。写出51/128、27/1024、7.375、-86.5所对应的机器数。要求如下:(1)阶码和尾数均为原码;(2)阶码和尾数均为补码;(3)阶码为移码,尾数为补码。答: x1=51/128= (25+24+21+20)/27=(0.011 001 1)2=2-1(0.110 011)2x1原=1,0001;0.110 011 000 0x1 =1,1111;0.110 011 0
46、00 0x1 =0,1111;0.110 011 000 0x2= -27/1024=(24+23+21+20)/2 10=(-0.000 001 101 1)2=2-5 (-0.110 11)2x2原=1,0101;1.110 110 000 0x2 补=1,1011;1.001 010 000 0x2 阶移,尾补=0,1011;1.001 010 000 0x3=7.375=(111.011)2=23 (0.111 011)2x3 原=0,0011;0.111 011 000 0x3 补=0,0011;0.111 011 000 0x3阶移,尾补=1,0011;0.111 011 000
47、0x4= -86.5=(-1 010 110.1)2=27 (-0.101 011 01)2则以上各数的浮点规格化数为:x4 原=0,0111;1.101 011 010 0x4 补=0,0111;1.010 100 110 0x4 阶移,尾补=1,0111;1.010 100 110 014. 设浮点数字长为32位,欲表示6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取一位外,阶码和尾数各取几位?答:若要表示6万间的十进制数,由于32768(215) 6万 65536(216),保证最大精度的情况下,阶码需5位,尾数25位17. 设机器数字长为8位(含1位符号位),对下列各机器数
48、进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。x1原=0.001 1010; x2原=1.110 1000; x3原=1.001 1001;y1补=0.101 0100; y2补=1.110 1000; y3补=1.001 1001;z1反=1.010 1111; z2反=1.110 1000; z3反=1.001 1001。解:算术左移一位:x1原=0.011 0100;正确x2原=1.101 0000;溢出(丢1)出错x3原=1. 011 0010;正确y1补=0. 010 1000;溢出(丢1)出错y2补=1.101 0000;正确y3补=1.011 0010;溢出(丢0)出错z1反=1. 101 1111;溢出(丢0)出错z2反=1. 101 0001;正确z3反=1.011 0011;溢出(丢0)出错算术左移两位:x1原=0.110 1000;正确x2原=1.010 0000;溢出(丢11)出错x3原=1. 110 0100;正确y1补=0. 101 0000;溢出(丢10)出错y2补=1.010 0000;正确y3补=1.110 0100;溢出(丢00)出错z1反=1. 011 1111;溢出(丢01)出错z2反=1. 010 0011;正确z3反=1.