计算机组成原理课后答案

更新时间:2023-05-24 07:29:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

唐塑飞第二版

习题解答

第一章 思考题与习题

1.什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?

计算机系统是指计算机硬件、软件和数据通信设备的物理或逻辑的综合体。 硬件即指计算机的实体部分。

软件是由计算机运行所需的程序及相关文档

硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要

4.如何理解计算机组成和计算机体系结构?

计算机体系结构是指那些能够被程序员所见到的计算机系统的属性, 即概念性的结构与 功能特性,通常是指用机器语言编程的程序员所看到的传统机器的属性,包括指令集、数据 类型、存储器寻址技术、I/O 机理等等

计算机组成是指如何实现计算机体系结构所体现的属性, 它包含了许多对程序员来说是 透明的硬件细节。 5.冯·诺依曼计算机的特点是什么?

(1) 计算机由运算器、存储器、控制器和输入设备、输出设备五大部件组成 (2) 指令和数据以同等的地位存放于存储器内,并可以按地址寻访 (3) 指令和数据均可以用二进制代码表示 (4) 指令由操作码和地址码组成 (5) 指令在存储器内按顺序存放。

(6) 机器以运算器为中心。

6.画出计算机硬件组成框图,说明各部件的作用及计算机硬件的主要技术指标。

硬件的主要技术指标:

(1) 机器字长:指 CPU 一次能处理数据的位数,通常与 CPU 的寄存器位数有关 (2) 存储容量: 包括主存容量和辅存容量, 存放二进制代码的总数=存储单元个数×存储字长

(3) 运算速度:主频、Gibson 法、MIPS 每秒执行百万条指令、CPI 执行一条指令所需 时钟周期数、FLOPS 每秒浮点运算次数

7.解释下列概念: 主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储 容量、机器字长、指令字长。

主机——是计算机硬件的主体部分,由CPU+MM(主存或内存)组成; CPU——中央处理器,是计算机硬件的核心部件,由运算器+控制器组成;

存储字长——存储器一次存取操作的最大位数; 存储容量——存储器中可存二进制代码的总量;

机器字长——CPU能同时处理的数据位数;等于处理器内部寄存器位数 指令字长——一条指令包含的二进制代码位数;

唐塑飞第二版

8.解释下列英文代号: CPU、PC、IR、CU、ALU、ACC、MQ、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 instruction per second 每秒执行百万条指令 CPI: cycle per instruction 执行一条指令所需的时钟周期数

FLOPS: floating point operation per second 每秒浮点运算次数来衡量运算速度。

第三章 思考题与习题

1.什么是总线?总线传输有何特点?为了减轻总线的负载,总线上的部件都应具备什么特 点?

① 总线是连接多个部件的信息传输线,是个部件共享的传输介质。 ② 总线传输特点:在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以 同时从总线上接受相同的信息。

③ 为减轻总线上的负载,总线上的设备需通过三态缓冲驱动电路连接到总线上。

2.总线如何分类?什么是系统总线?系统总线又分几类?它们各有何作用?是单向的还是 双向的?它们与机器字长、存储字长、存储单元有何关系?

①分类:按数据传输方式,可分为并行传输总线和串行传输总线。

按使用范围,可分为计算机总线,控制总线,网络通信总线。 按连接部件,可分为片内总线,系统总线,通信总线。

②系统总线指 CPU,主存,I/O 各大部件之间的信息传输线。

按系统总线传输信息的不同,分为数据总线,地址总线,控制总线。

数据总线: 用来传输各功能部件之间的数据信息,是双向传输总线, 其位数与机器字长, 存储字长有关,一般为 8 位,16 位或 32 位。

地址总线: 用来指出数据总线上的源数据或目的数据在贮存单元的地址, 是单向传输的, 其位数与存储单元的个数有关

控制总线:用来发出各种控制信号的,对任意控制线,是单向的;

4.为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响 应时间最快?哪种方式对电路故障最敏感?

总线上的设备有主设备和从设备,当总线有多个主设备时,需要总线判优控制解决多个主设备同时申请总线时的使用权分配问题;

常见的集中式总线控制有三种:链式查询、计数器查询、独立请求;

链式查询方式连线简单,易于扩充,对电路故障最敏感;

计数器查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂; 独立请求方式判优速度最快,但硬件器件用量大,连线多,成本较高。

5.解释下列概念:总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。

唐塑飞第二版

总线宽度——指数据总线的位(根)数,用bit(位)作单位。

总线带宽——指总线在单位时间内可以传输的数据量,等于总线工作频率与总线宽度(字节数)的乘积。

总线复用——指两种不同性质且不同时出现的信号分时使用同一组总线,称为总线的“多路分时复用”。 总线的主设备(主模块)——总线传输期间对总线控制权的设备(模块); 总线的从设备(从模块)——总线传输期间没有总线控制权的设备(模块),它只能被动接受主设备发来的命令;

总线的传输周期——总线完成一次完整而可靠的传输所需时间; 总线的通信控制——指总线传送过程中双方的时间配合方式 6.试比较同步通信和异步通信。

同步通信——由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降。适合于速度差别不大的场合;

异步通信——不由统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率 7.画图说明异步通信中请求与回答有那几种互锁关系?

不互锁、半互锁、全互锁

8.为什么说半同步通信同时保留了同步通信和异步通信的特点?

半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间。

9.分离式通信有何特点?主要用于什么系统?

特点:各模块有权申请占用总线 采用同步方式通信,不等对方回答 各模块准备数据时,不占用总线 总线被占用时,无空闲

应用于大型计算机系统

10.为什么要设置总线标准?你知道目前流行的总线标准有哪些?什么叫 plug and play?哪 些总线有这一特点?

总线标准——可理解为系统与模块、模块与模块之间的互连的标准界面。 总线标准的设置主要解决不同厂家各类模块化产品的兼容问题;

目前流行的总线标准有:ISA、EISA、PCI等;

即插即用——指任何扩展卡插入系统便可工作。EISA、PCI等具有此功能。

14. 设总线的时钟频率为8MHz,一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试问总线的带宽是多少? 解:总线宽度 = 16位/8 =2B 总线带宽 = 8MHz×2B =16MB/s

15. 在一个32位的总线系统中,总线的时钟频率为66MHz,假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。若想提高数据传输率,可采取什么措施? 解答:总线工作频率 = 66MHz/4 =16.5MHz

总线最大数据传输率 =16.5MHz×4B =66MB/s 若想提高总线的数据传输率,可提高总线的时钟频率,或减少总线周期中的时钟个数,或增加总线宽度

16. 波特率 = 120 *(1+8+1+2)= 1440 baud 比特率 = 120 * 8= 960 bit/s

唐塑飞第二版

第四章 思考题与习题

1.解释下列概念 主存、 辅存、 Cache、 RAM、 SRAM、 DRAM、 ROM、 PROM、 EPROM、 EEPROM、 CDROM、 Flash Memory

主存:与 CPU 直接交换信息,用来存放数据和程序的存储器。 辅存:主存的后援存储器,不与 CPU 直接交换信息。

CACHE:为了解决 CPU 和主存的速度匹配,设在主存与 CPU之间,起缓冲作用,用于提高访存速度的一种存储器。

RAM:随机存储器:是随机存取的,在程序执行过程中既可读出也可写入,存取时间与存储单元所在位置无关。

SRAM:静态 RAM,以触发器原理存储信息。

DRAM:动态 RAM,以电容充放电原理存储信息。

ROM:只读存储器,在程序执行过程中只能读出,而不能对其写入。 PROM:一次性编程的只读存储器。

EPROM:可擦除的可编程只读存储器,用紫外线照射进行擦写。

EEPROM:用电可擦除的可编程只读存储器。 CDROM:只读型光盘

Flash Memory:快擦型存储器,是性能价格比好,可靠性高的可擦写非易失型存储器

2.计算机中哪些部件可用于存储信息,请按其速度、容量和价格/位排序说明。

寄存器、缓存、主存、磁盘、磁带等。 速度按顺序越来越慢,容量越来越高和价格/位越来越低

3.存储器的层次结构主要体现在什么地方?为什么要分这些层次,计算机如何管理这些层 次?

答:存储器的层次结构主要体现在Cache—主存和主存—辅存这两个存储层次上。 Cache—主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,接近于Cache的速度,而容量和位价却接近于主存。

主存—辅存层次在存储系统中主要起扩容作用,其容量和位价接近于辅存,而速度接近于主存

4.说明存取周期和存取时间的区别。

存取周期和存取时间的主要区别是:存取时间仅为完成一次存取操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。即: 存取周期 = 存取时间 + 恢复时间

5.什么是存储器的带宽?若存储器的数据总线宽度为 32 位,存取周期为 200ns,则存储器 的带宽是多少?

解:存储器的带宽指单位时间内从存储器进出信息的最大数量。

存储器带宽 = 1/200ns×32位= 160M位/秒 = 20MB/S = 5M字/秒

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片

9.什么叫刷新?为什么要刷新?说明刷新有几种方法。

解:刷新——对DRAM定期进行的全部重写过程;

刷新原因——因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;

常用的刷新方法有三种——集中式、分散式、异步式。

集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新; 分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间; 异步式:是集中式和分散式的折衷

10.半导体存储器芯片的译码驱动方式有几种?

半导体存储器芯片的译码驱动方式有两种:线选法和重合法。

线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材; 重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。。可大大节省器材用量,是最常用的译码驱动方式

11. 一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为0.1µs。试问采用集中刷新、分散刷新及异步刷新三种方式的刷新间隔各为多少? 解:设DRAM的刷新最大间隔时间为2ms,

则异步刷新的刷新间隔 =2ms/256行 =0.0078125ms =7.8125µs 即:每7.8125µs刷新一行。

集中刷新时,死时间为256*0.1us=25.6us。

分散刷新,刷新间隔0.2us,死时间为0.1us,读写周期0.2us

唐塑飞第二版

异步刷新,死时间0.1us,刷新间隔7.8125us。

13. 设有一个 64K×8 位的 RAM 芯片, 试问该芯片共有多少个基本单元电路 (简称存储基元) ? 欲设计一种具有上述同样多存储基元的芯片, 要求对芯片字长的选择应满足地址线和数 据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。

解:存储基元总数 = 64K × 8位 = 512K位 = 2^19位;

设存储器有X根地址线和Y根数据线 则有 2^X *Y=2^19 Y=1,X=19 X+Y=20 Y=2,X=18 X+Y=20 Y=4,X=17 X+Y=21 Y=8,X=16 Y=16,X=15

X+Y=24 X+Y=31

Y=32。。。

因此,有两种解答,512K*1位和256K*2位

14.某 8 位微型机地址码为 18 位,若使用 4K×4 位的 RAM 芯片组成模块板结构的存储器, 试问: (1)该机所允许的最大主存空间是多少? (2)若每个模块板为 32K×8 位,共需几个模块板? (3)每个模块板内共有几片 RAM 芯片? (4)共有多少片 RAM? (5)CPU 如何选择各模块板?

解: (1)218 = 256K,则该机所允许的最大主存空间是256K×8位(或256KB); (2)模块板总数 = 256K×8 / 32K×8 = 8块;

(3)板内片数 = 32K×8位 / 4K×4位= 8 × 2 = 16片; (4)总片数 = 16片× 8 = 128片;

(5)CPU通过最高3位地址译码选板,次高3位地址译码选片。地址格式分配如下:

15.设 CPU 共有 16 根地址线,8 根数据线,并用 MREQ (低电平有效)作访存控制信号, R W 作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片: ROM(2K×8 位,4K×4 位,8K×8 位), RAM(1K×4 位,2K×8 位,4K×8 位) 及 74138 译码器和其他门电路(门电路自定)。 试从上述规格中选用合适芯片,画出 CPU 和存储芯片的连接图。要求: (1)最小 4K 地址为系统程序区,4096~16383 地址范围为用户程序区; (2)指出选用的存储芯片类型及数量; (3)详细画出片选逻辑。

解:(1)地址空间分配图如下

A15~A12

0~4K 4K~8K

0000

0000 0001 0001

A11~A8 0000 1111 0000 1111 0000 1111 0000

A7~A4 0000 1111 0000 1111 0000 1111 0000

A3~A0 0000 1111 0000 1111 0000 1111 0000

8k~12k 0010 0010 12k~16k 0011

唐塑飞第二版

0011 1111 1111 1111

(2)选片:ROM:4K × 4位:2片; RAM:4K × 8位:3片;

(3)CPU和存储器连接逻辑图及片选逻辑

16.CPU 假设同上题,现有 8 片 8K×8 位的 RAM 芯片与 CPU 相连,试回答: (1)用 74138 译码器画出 CPU 与存储芯片的连接图; (2)写出每片 RAM 的地址范围; (3)如果运行时发现不论往哪片 RAM 写入数据后,以 A000H 为起始地址的存储芯片 都有与其相同的数据,分析故障原因。 (4)根据(1)的连接图,若出现地址线 A13 与 CPU 断线,并搭接到高电平上,将出 现什么后果?

解:(1)CPU与存储器芯片连接逻辑图:(此题画法不标准,见15题答案画法)

(2)地址空间分配

0000~1FFF 0~8K; 2000~3fff 8K~16K; 4000~5fff 16k~24K 8000~9FFF 32~40K;A000~Bfff 40K~48K; C000~Dfff 48k~56K

6000~7FFF 24k~32k E000~FFFF 56k~64k

唐塑飞第二版

(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,则根本的故障原因为:该存储芯片的片选输入端很可能总是处于低电平。

(4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为“1”的情况。此时存储器只能寻址A13=1的地址空间,A13=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+1)T =15.75+1 =16.75T

25. 什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理? 解:程序运行的局部性原理指:对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象。

(时间:在一小段时间内,最近被访问过的程序和数据很可能再次被访问; 空间:在空间上,这些被访问的程序和数据往往集中在一小片存储区; 在访问顺序上,指令顺序执行比转移执行的可能性大。)

存储系统中Cache—主存层次采用了程序访问的局部性原理。

26. 计算机中设置Cache的作用是什么?能不能把Cache的容量扩大,最后取代主存,为什么?

答:计算机中设置Cache主要是为了加速CPU访存速度;

不能把Cache的容量扩大到最后取代主存,价格以及体积原因不适合。 28. 设主存容量为256K字,Cache容量为2K字,块长为4。 (1)设计Cache地址格式,Cache中可装入多少块数据? (2)在直接映射方式下,设计主存地址格式。 (3)在四路组相联映射方式下,设计主存地址格式。 (4)在全相联映射方式下,设计主存地址格式。

(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式 解:(1)cache地址长度为11位,块内地址长度为2位。主存地址位数为18位

Cache可装入(2)直接映射方式

(3)四路组相连

唐塑飞第二版

(4)全相连

(5) 直接映射方式

四路组相连

全相连

29. 假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期是30ns,主存的存取周期是150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少? 命中率h=4800/(4800+200)= 96%

平均访问时间 ta= 0.96*30+0.04*150=34.8ns 效率e=tc/ta=30/34.8=86.2% 性能提高倍数 150/34.8 -1 =3.3

30. 一个组相联映射的Cache由64块组成,每组内包含4块。主存包含4096块,每块由128字组成,访存地址为字地址。试问主存和Cache的地址各为几位?画出主存的地址格式。

解:缓存块号6位,块内地址7位,cache地址为13位。组地址6-2=4位,

主存块号12位,块内地址7位。主存地址19位

31. 设主存容量为1MB,采用直接映射方式的Cache容量为16KB,块长为4,每字32位。试问主存地址为ABCDEH的存储单元在Cache中的什么位置?

A19

A15

A11

A7

A3

1010 1011 1100 1101 1110

32. 设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映射(即Cache每组内共有4个字块)的Cache组织。 (1)画出主存地址字段中各段的位数;

(2)设Cache的初态为空,CPU依次从主存第0、1、2……89号单元读出90个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?

(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度约提高多少倍?

唐塑飞第二版

答:

(1)考虑按字编址:

(2)当主存读0号字单元时,将主存0号字块(0~7)调入Cache(0组0号块),主存读8号字单元时,将1号块(8~15)调入Cache(1组0号块) 主存读89号单元时,将11号块(88~89)调入Cache(11组0号块)。

不命中次数为 90/8 = 12 (上取整) 总访问次数为 90*8=720

Cache命中率 =(720-12)/720=98%

(3)设无Cache时访主存需时720T(T为主存周期),加入Cache后需时: 708´T/6+12T =(118+12)T=130T 则:720T/130T =5.54倍

有Cache和无Cache相比,速度提高了4.54倍左右

38. 磁盘组有6片磁盘,最外两侧盘面可以记录,存储区域内径22cm,外径33cm,道密度为40道/cm,内层密度为400位/cm,转速3600转/分。 (1)共有多少存储面可用? (2)共有多少柱面?

(3)盘组总存储容量是多少? (4)数据传输率是多少? 解:

(1)共有:6×2 -2= 10个存储面可用; (2)有效存储区域 =(33-22)/2 = 5.5cm 柱面数 = 40道/cm × 5.5cm= 220道 (3)内层道周长=3.14*22cm= 69.08cm

道容量=400位/cm×69.08cm = 3454B 面容量=3454B×220道 = 759 880B 盘组总容量 =759,880B×10面 = 0.76MB

4)转速 = 3600转 / 60秒 = 60转/秒

数据传输率 = 3454B × 60转/秒=207,240 B/S

39. 某磁盘存储器转速为3000转/分,共有4个记录盘面,每毫米5道,每道记录信息12 288字节,最小磁道直径为230mm,共有275道,求: (1)磁盘存储器的存储容量;

(2)最高位密度(最小磁道的位密度)和最低位密度; (3)磁盘数据传输率; (4)平均等待时间。

解: (1)存储容量 = 275道×12 288B/道×4面 = 13. 5MB

(2)最高位密度 = 12 288B/(230*3.14)≈17B/mm≈136位/mm

最大磁道直径 =230mm+275道/5道 × 2 = 230mm + 110mm = 340mm 最低位密度 = 12 288B /( 340*3.14)≈11B/mm≈92位 / mm (3)磁盘数据传输率 = 12 288B × 3000转/分=614KB/S (4)平均等待时间 = 1/50 / 2 = 10ms

唐塑飞第二版

41. 设有效信息为110,试用生成多项式G(x) =11011将其编成循环冗余校验码。 解:编码过程如下: M(x) =110 n =3

G(x) =11011 k+1 =5 k =4 M(x)·x4 =110 0000 M(x)·x/G(x) =110 0000/11011 =100+1100/11011 R(x) =1100

CRC码=110 1100

3

42. 有一个(7,4)码,生成多项式G(x) =x+x+1,写出代码1001的循环冗余校验码。 解:编码过程如下: M(x) =1001 n =4 G(x) =x+x+1 =1011 k+1 =4 k =3 M(x)·x3 =1001 000

M(x)·x3/G(x) =1001 000/1011 =1010+110/1011 R(x) =110 M(x)·x+R(x) =1001 000+110 =1001 110 =CRC码

第5章

1. I/O有哪些编址方式?各有何特点?

解:常用的I/O编址方式有两种: I/O与内存统一编址和I/O独立编址; 特点:统一编址方式I/O设备和主存占用同一个地址空间,不需要安排专门的I/O指令。 I/O独立编址方式时机器I/O地址与主存地址是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。

2. 简要说明CPU与I/O之间传递信息可采用哪几种联络方式?它们分别用于什么场合? 答:三种联络方式:直接控制(立即响应)、 同步、异步。

直接控制适用于结构极简单、速度极慢的I/O设备,CPU直接控制外设处于某种状态而无须联络信号。

同步方式采用统一的时标进行联络,适用于CPU与I/O速度差不大,近距离传送的场合。 异步方式采用应答机制进行联络,适用于CPU与I/O速度差较大、远距离传送的场合。 8. 某计算机的I/O设备采用异步串行传送方式传送字符信息。字符信息的格式为一位起始位、七位数据位、一位校验位和一位停止位。若要求每秒钟传送480个字符,那么该设备的数据传送速率为多少?

解:480×10=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. 实现数据缓冲达到速度匹配

334

唐塑飞第二版

3. 实现数据串--并格式转换 4. 实现电平转换 5. 传送控制命令 6. 反映设备的状态

I/O接口分类方法很多,主要有:

按数据传送方式分,有并行接口和串行接口两种;

按数据传送的控制方式分,有程序控制接口、程序中断接口、DMA接口三种。

11.简述I/O接口的功能和基本组成

答:接口的功能有:1)选址功能 2)传送命令的功能 3)传送数据的功能 4)反映设备状态的功能

接口的组成有:设备选择电路、命令寄存器和命令译码器、数据缓冲寄存器、设备状态标记和控制逻辑电路

12. 结合程序查询方式的接口电路,说明其工作过程。 答:程序查询接口工作过程如下(以输入为例):

1)CPU发I/O地址 地址总线 接口 设备选择器译码 选中, SEL信号有效 2)CPU发启动命令 D置0,B置1 接口向设备发启动命令 设备开始工作; 3)CPU等待,输入设备读出数据 DBR;

4)外设工作完成,完成信号 接口 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. 说明中断向量地址和入口地址的区别和联系。

解:中断向量地址和入口地址的区别: 向量地址是硬件电路(向量编码器)产生的中断源的内存中断向量表表项地址编号,中断入口地址是中断服务程序首址。

中断向量地址和入口地址的联系:中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。 14. 在什么条件下,I/O设备可以向CPU提出中断请求?

解:设备工作完成触发器D=1,B=0,MASK触发器=0,CPU中断查询信号有效 16. 在什么条件和什么时间,CPU可以响应I/O的中断请求?

解:CPU响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。

17. 某系统对输入数据进行取样处理,每抽取一个输入数据,CPU就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P秒。此外,缓冲区内每存储N个数据,主程序就要将其取出进行处理,这个处理需Q秒。试问该系统可以跟踪到每秒多少次中断

唐塑飞第二版

请求?

N个数据所需的处理时间=P×N+Q秒

每秒可以跟踪到的中断请求数=N/(P×N+Q)次。

19. 在程序中断方式中,磁盘申请中断的优先权高于打印机。当打印机正在进行打印时,磁盘申请中断请求。试问是否要将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行?为什么?

解:不需要,因为打印机只是在与CPU交换信息时占用处理器,打印过程中不占用处理器资源。

20.试比较单重中断和多重中断服务程序的流程,说明它们不同的原因

单重中断:保护现场、中断服务、恢复现场、开中断、中断返回。 多重中断:保护现场、开中断、中断服务、恢复现场、中断返回。

多重中断在中断服务前,开中断,允许级别更高的中断打断中断服务程序,转到响应的

中断服务程序去执行,而单重中断在中断返回前开中断,在中断服务过程中,不允许其他中断中断现有服务程序。

21.中断向量通过什么总线送到什么地方,为什么? 中断向量通过数据总线送给CPU。(PC)

CPU通过中断向量到主存中找到中断服务程序的入口地址。

22. 程序查询方式和程序中断方式都是通过“程序”传送数据,两者的区别是什么? 答:程序查询方式通过“程序”传送数据时,程序对I/O的控制包括了I/O准备和I/O传送两个阶段,两个阶段都需要占用处理器资源。在外设准备状态,CPU需要不断查询外设状态,占用处理器资源。而程序中断方式仅仅是在数据传送过程中占用处理器资源,I/O准备阶段不需要CPU查询。因此,程序查询方式,CPU与I/O串行工作,而程序中断方式CPU与I/O并行工作。

26. 什么是多重中断?实现多重中断的必要条件是什么?

解:多重中断是指:当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。

实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。

28. CPU对DMA请求和中断请求的响应时间是否相同?为什么?

解:不相同:中断请求响应时间是在指令周期结束的时刻,而DMA请求响应的时间是在存取周期结束的时刻。

31. 假设某设备向CPU传送信息的最高频率是40 000次/秒,而相应的中断处理程序其执行时间为40us,试问该外设是否可用程序中断方式与主机交换信息,为什么?

解:中断时间间隔 =1/40K=0.025×10^-3=25us < 40us 则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执行时间大于中断的间隔时间

32. 设磁盘存储器转速为3000转/分,分8个扇区,每扇区存储1K字节,主存与磁盘存储器数据传送的宽度为16位(即每次传送16位)。假设一条指令最长执行时间是25us,是否可采用一条指令执行结束时响应DMA请求的方案,为什么?若不行,应采取什么方案

唐塑飞第二版

解:磁盘与CPU之间的传输率 8*1K*3000/60 =400KB/s

DMA传输间隔时间 2/400K = 5us

由于:5us<<25us,所以不能采用一条指令执行结束响应DMA请求的方案,应采取存取周期结束响应的方案。

33. 试从下面七个方面比较程序查询、程序中断和DMA三种方式的综合性能。 (1)数据传送依赖软件还是硬件; (2)传送数据的基本单位; (3)并行性; (4)主动性; (5)传输速度; (6)经济性; (7)应用对象。 解:比较如下:

(1)程序查询、程序中断方式的数据传送主要依赖软件,DMA主要依赖硬件。

(2)程序查询、程序中断传送数据的基本单位为字或字节,DMA为数据块。 (3)程序查询方式传送时,CPU与I/O设备串行工作; 程序中断方式时,CPU与I/O设备并行工作,现行程序与I/O传送串行进行; DMA方式时,CPU与I/O设备并行工作,现行程序与I/O传送并行进行

(4)程序查询方式时,CPU主动查询I/O设备状态; 程序中断及DMA方式时,CPU被动接受I/O中断请求或DMA请求。

(5)程序中断方式由于软件额外开销时间比较大,因此传输速度最慢; 程序查询方式软件额外开销时间基本没有,因此传输速度比中断快; DMA方式基本由硬件实现传送,因此速度最快;

注意:程序中断方式虽然CPU运行效率比程序查询高,但传输速度却比程序查询慢。

(6)程序查询接口硬件结构最简单,因此最经济; 程序中断接口硬件结构稍微复杂一些,因此较经济; DMA控制器硬件结构最复杂,因此成本最高;

(7)程序查询方式适用于中、低速设备的I/O交换; 程序中断方式适用于中、低速、实时处理过程; DMA方式适用于高速设备的I/O交换;

第6章

*号开始的题目不重要

1. 最少用几位二进制数即可表示任一五位长的十进制正整数?

解:五位长的十进制正整数中,最大的数99999满足条件:2^16(=65536)<99999<2^17(=131072),故最少用17位二进制数即可表示任一五位长的十进制正整数。 4. 设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。 -13/64,29/128,100,-87

解:真值与不同机器码对应关系如下:

唐塑飞第二版

5. 已知[x]补,求[x]原和x。

[x1]补=1.1100; [x2]补=1.1001; [x3]补=0.1110; [x4]补=1. 0000; [x5]补=1,0101; [x6]补=1,1100; [x7]补=0,0111; [x8]补=1,0000; 解:

*6. 设机器数字长为8位(含1位符号位在内),分整数和小数两种情况讨论真值x为何值时,[x]补=[x]原成立。 解:当x为小数时,

若x 0,则[x]补=[x]原成立;

若x < 0,[x]补= 2+x ;[x]原=1-x 则有 2+x=1-x 因此x=-1/2; 当x为整数时,

若x 0,则[x]补=[x]原成立; 若x < 0,[x]补=2^8 +x [x]原= 2^7-x 则有 2^8+x=2^7 –x 因此x=-64;

*7. 设x为真值,x*为绝对值,说明[-x*]补=[-x]补能否成立。 解:当x为真值,x*为绝对值时,[-x*]补=[-x]补不能成立。

[-x*]补=[-x]补的结论只在x>=0时成立。当x<0时,由于[-x*]补是一个负值,而[-x]补是一个正值,因此此时[-x*]补不等于[-x]补。 *8. 讨论若[x]补>[y]补,是否有x>y?

解:若[x]补>[y]补,不一定有x>y。 [x]补 > [y]补时 x > y的结论只在 x > 0、y > 0,及 x<0、y<0时成立。当x>0、 y<0时,有x>y,但由于负数补码的符号位为1,则[x]补<[y]补。同样,当x<0、 y >0时,有x < y,但[x]补>[y]补。

唐塑飞第二版

9. 当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)?

10. 在整数定点机中,设机器数采用一位符号位,写出±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 (0.110 011)2

[x1]原=1,0001;0.110 011 000 0 [x1] =1,1111;0.110 011 000 0 [x1] =0,1111;0.110 011 000 0

x2= -27/1024=(24+23+21+20)/2 10=(-0.000 001 101 1)2 =2-5 (-0.110 11)2

[x2] 原=1,0101;1.110 110 000 0 [x2] 补=1,1011;1.001 010 000 0

[x2] 阶移,尾补=0,1011;1.001 010 000 0 x3=7.375=(111.011)2

=23 (0.111 011)2 [x3] 原=0,0011;0.111 011 000 0 [x3] 补=0,0011;0.111 011 000 0 [x3] 阶移,尾补=1,0011;0.111 011 000 0 x4= -86.5=(-1 010 110.1)2 =27 (-0.101 011 01)2 则以上各数的浮点规格化数为: [x4] 原=0,0111;1.101 011 010 0 [x4] 补=0,0111;1.010 100 110 0

[x4] 阶移,尾补=1,0111;1.010 100 110 0

-1

唐塑飞第二版

14. 设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取一位外,阶码和尾数各取几位?

答:若要表示±6万间的十进制数,由于32768(215)< 6万 <65536(216),保证最大精度的情况下,阶码需5位,尾数25位

17. 设机器数字长为8位(含1位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。

[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.110 0111;溢出(丢00)出错 算术右移一位: [x1]原=0.000 1101;正确 [x2]原=1.011 0100;正确

[x3]原=1.000 1100(1);丢1,损失精度 [y1]补=0.010 1010;正确

[y2]补=1.111 0100;正确

[y3]补=1.100 1100(1);丢1,损失精度 [z1]反=1.101 0111;正确

[z2]反=1.111 0100(0);丢0,损失精度 [z3]反=1.100 1100;正确

算术右移两位: [x1]原=0.000 0110(10);损失精度 [x2]原=1.001 1010;正确 [x3]原=1.000 0110(01);损失精度 [y1]补=0.001 0101;正确

唐塑飞第二版

[y2]补=1.111 1010;正确

[y3]补=1.110 0110(01);损失精度 [z1]反=1.110 1011;正确 [z2]反=1.111 1010(00);损失精度 [z3]反=1.110 0110(01);损失精度

18. 试比较逻辑移位和算术移位。

解:逻辑移位是对逻辑数或无符号数进行的移位,其特点是不论左移还是右移,空出位均补0,移位时不考虑符号位。

算术移位是对带符号数进行的移位操作,移位时符号位保持不变,空出位的补入值与数的正负、移位方向、采用的码制等有关。

19. 设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。 (1)A=9/64, B=-13/32, 求A+B; (2)A=19/32,B=-17/128,求A-B; (3)A=-3/16,B=9/32, 求A+B; (4)A=-87, B=53, 求A-B; (5)A=115, B=-24, 求A+B。 解:

(1)A=9/64=(0.001 0010)2

B= -13/32=(-0.011 0100)2 [A]补=0.001 0010 [B]补=1.100 1100

[A+B]补= 0. 0 0 1 0 0 1 0 + 1. 1 0 0 1 1 0 0

= 1. 1 0 1 1 1 1 0 ——无溢出 A+B=( -0.010 0010)2 = -17/64 (2)A=19/32=(0.100 1100)2 B= -17/128=(-0.001 0001)2 [A]补=0.100 1100 [B]补=1.110 1111 [-B]补=0.001 0001

[A-B]补= 0. 1 0 0 1 1 0 0 +0. 0 0 1 0 0 0 1

= 0. 1 0 1 1 1 0 1 ——无溢出 (3) A= -3/16=(-0.001 1000)2 B=9/32=(0.010 0100)2 [A]补=1.110 1000 [B]补= 0.010 0100 [A+B]补= 1. 1 1 0 1 0 0 0 + 0. 0 1 0 0 1 0 0

= 0. 0 0 0 1 1 0 0 —— 无溢出 A+B=(0.000 1100)2 = 3/32 (4) A= -87=(-101 0111)2 B=53=(110 101)2

唐塑飞第二版

[A]补=1,010 1001

[B]补=0,011 0101 [-B]补=1,100 1011 [A-B]补= 1,0 1 0 1 0 0 1 + 1,1 0 0 1 0 1 1

= 0,1 1 1 0 1 0 0 —— 溢出 A-B=(-1,000 1100)2 = -140 (5) A=115=(111 0011)2 B= -24=(-11 000)2 [A]补=0,111 0011 [B]补=1,110 1000

[A+B]补= 0,1 1 1 0 0 1 1

+ 1,1 1 0 1 0 0 0

0,1 0 1 1 0 1 1——无溢出 A+B=(101 1011)2 = 91

第7章

1.什么叫机器指令,什么叫指令系统? 机器指令是计算机能够直接识别并执行指令的指令。 指令系统是全部机器指令的集合。 2.什么叫寻址方式?

寻址方式是确定本条指令的数据地址以及确定下一条要执行的指令地址的方法。 3.什么是指令字长、机器字长和存储字长 指令字长:一个指令字中包含二进制代码的位数,取决于操作码长度、操作数地址的长度和操作数的个数

机器字长:CPU一次能处理数据的最大位数,通常与CPU寄存器位数有关 存储字长:存储器的一个存储单元可存放2进制代码的位数。

6. 某指令系统字长为16位,地址码取4位,试提出一种方案,使该指令系统有8条三地址指令、16条二地址指令、100条一地址指令。

解:三地址指令格式如下:

三地址指令8条,OP安排:0000~0111。

二地址指令指令格式如下:

1000,0000,~1000,1111, 一地址指令指令格式如下:

一地址指令100条,操作码安排:

1001,0000,0000,~ 1001,0110,0011,

唐塑飞第二版

7. 设指令字长为16位,采用扩展操作码技术,每个操作数的地址为6位。如果定义了13条二地址指令,试问还可安排多少条一地址指令? 解:二地址指令格式如下:

还剩3种代码未用,如不考虑零地址指令,该指令系统最多还能安排: 一地址指令条数 =3×26 =192条

8. 某机指令字长16位,每个操作数的地址码为6位,设操作码长度固定,指令分为零地址、一地址和二地址三种格式。若零地址指令有M种,一地址指令有N种,则二地址指令最多有几种?若操作码位数可变,则二地址指令最多允许有几种? 解:1)若采用定长操作码时,二地址指令格式如下:

2)若采用变长操作码时,二地址指令格式仍如1)所示,设二地址指令有K种。

4 6

则可扩充一地址指令 (2–K)* 2种, 可安排零地址指令 ((24 –K)* 26-N)*26

可得((2–K)* 2-N)*2〉=M K<=2-(M*2 +N)*2

4

-6

-6

4

-6

-6

4 66

因此K最多有2-(M*2 +N)*2种。 9. 试比较间接寻址和寄存器间接寻址。 假设存储字长=机器字长,两者的寻址范围相同(不考虑二次间址)

1) 间接寻址 EA=(A),寄存器间接寻址EA=(Ri)

2) 寄存器间接寻址能有效缩短指令字长

3) 寄存器间接寻址能减少一次访存操作

10. 试比较基址寻址和变址寻址。

答:相同:都可有效地扩大指令寻址范围;有效地址计算类似EA=A+(BR)和EA=A+(IX)。 不同:1)基址寻址时,BR不变,A可变,变址寻址时,A不变,IX可变。 2)基址寄存器内容通常由系统程序设定,变址寄存器内容通常由用户设定。 3)基址寻址适用于程序的动态重定位,变址寻址适用于数组或字符串处理。

14. 设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2000H,且CPU每取出一个字节便自动完成(PC)+1 PC的操作。试问当执行“JMP *+8”和“JMP *-9”指令时,转移指令第二字节的内容各为多少?

解:JMP *+8指令取出后,PC的值为2002H,要转移到2008H去执行,因此转移指令的第二个字节为06H,

JMP *-9指令的第二个字节为 F5H。

15.一相对寻址的转移指令占3个字节,第一个字节是操作码,第二三个字节为相对位移量,而且数据在存储器中采用高字节地址为字地址的存放方式。假设PC当前值是4000H,试问当结果为0,执行“JZ * +35”和“JZ * -17”指令时,该指令的第二、第三字节的机器代码各为多少?

唐塑飞第二版

同14:可知偏移量分别为 32和-20,因此第二、三字节机器代码分别为

Jz * +35: 00H(高位)和 20H(低位) JZ * -17: FFH和ECH。

16. 某机主存容量为4M 16位,且存储字长等于指令字长,若该机指令系统可完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答以下问题。

(1)画出一地址指令格式并指出各字段的作用。 (2)该指令直接寻址的最大范围。

(3)一次间接寻址和多次间接寻址的寻址范围。 (4)立即数的范围(十进制表示)。

(5)相对寻址的位移量(十进制表示)。

(6)上述六种寻址方式的指令中哪一种执行时间最短,哪一种最长,为什么?哪一种便于程序浮动,哪一种最适合处理数组问题?

(7)如何修改指令格式,使指令的寻址范围可扩大到4M?

(8)为使一条转移指令能转移到主存的任一位置,可采取什么措施?简要说明之 解:共108种操作,则OP所需位数7位。,寻址特征6种,所需位数3位。 (1)单字长一地址指令格式:

(16

(3)一次间接寻址寻址范围 2字

多次间接寻址的寻址范围2字(4)立即数范围 -32~31

15

(5)相对寻址位移量 -32~31

(6)立即寻址执行时间最短。执行阶段不需要访存。 间接选址执行时间最长。执行阶段2次访存。(多次间址更多) 相对寻址便于程序浮动,变址寻址便于处理数组问题

(7)4M单元所需地址位数为22位。可以采用双字长指令。(相对寻址是相对当前位

置-2M~2M的空间)

(-2M~2M的空间)

(注:(7)、(8)可采用段基址的方式实现 EA=(BR)<<6 +A的形式实现。不要求。)

17. 举例说明哪几种寻址方式在指令的执行阶段不访问存储器?哪几种寻址方式在指令的执行阶段只需访问一次存储器?

解:举例如下:

1)一地址指令在执行阶段不访存的寻址方式有:寄存器寻址、立即寻址。

2)一地址指令在执行阶段只访存一次的寻址方式有:寄存器间接寻址、直接寻址、基址寻址、变址寻址、相对寻址

本文来源:https://www.bwwdw.com/article/7424.html

Top