计算机组成原理答案

习题解答(唐朔飞版)

第一章 思考题与习题

1.什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要? 2.如何理解计算机系统的层次结构?

3.说明高级语言、汇编语言和机器语言的差别和联系。 4.如何理解计算机组成和计算机体系结构? 5.冯·诺依曼计算机的特点是什么?

6.画出计算机硬件组成框图,说明各部件的作用及计算机硬件的主要技术指标。 7.解释下列概念:

主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。 8.解释下列英文代号:

CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS。

x?1x(yn?)2yn,设初态y0=1,要求精度为ε,试编制求x的解题程序

9.根据迭代公式

(指令系统自定),并结合所编程序简述计算机的解题过程。 10.指令和数据都存于存储器中,计算机如何区分它们?

第一章 计算机系统概论习题答案

1、答:

计算机系统由硬件和软件两大部分组成。

硬件即指计算机的实体部分,它由看得见摸的着的各种电子元器件,各类光电、机设备的实物组成,如主机、外设等。

软件时看不见摸不着的,由人们事先编制成具有各类特殊功能的信息组成,用来充分发挥硬件功能,提高机器工作效率,便于人们使用机器,指挥整个计算机硬件系统工作的程序集合。

软件和硬件都很重要。

2、答:

从计算机系统的层次结构来看,它通常可有五个以上的不同级组成,每一个上都能进行程序设计。由下至上可排序为:第一级微程序机器级,微指令由硬件直接执行;第二级传统机器级,用微程序解释机器指令;第三级操作系统级,一般用机器语言程序解释作业控制语句;第四级汇编语言机器级,这一级由汇编程序支持合执行;第五级高级语言机器级,采用高级语言,由各种高级语言编译程序支持合执行,还可以有第六级应用语言机器级,采用各种面向问题的应用语言。

3、答:

机器语言由0、1代码组成,是机器能识别的一种语言。汇编语言是面向机器的语言,它由一些特殊的符号表示指令,高级语言是面向用户的语言,它是一种接近于数学的语言,直观,通用,与具体机器无关。

4、答:

计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。

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

5、答:

特点是:

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

(5) 指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定情况下,可根据运算结果或根据设定的条件改变执行顺序

(6) 机器以运算器为中心,输入输出设备与存储器的数据传送通过运算器。

6、答:

见下图

ACC MQ CU控 制单元 IR PC MDR 主存储器 存储体 ALUX ACC MAR I/O

运算器用来完成算术和逻辑运算,并将运算的中间结果暂存再运算器内,它内部各部分用途如下:

ACC:累加器,用于存放操作数,如被加数及和,被减数及差,乘积高位、被除数及系数等。

MQ:乘商寄存器,用于存放乘数及乘积地位、商。

X:操作数寄存器,用于存放加数、减数、被乘数、除数。 ALU:算逻部件,用来完成算术逻辑运算。

控制器用来控制,指挥程序和数据的输入,运行以及处理运算结果。它内部各部分用途如下:

CU:控制但愿,用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用以控制所有被控对象。

PC:程序计数器,用来存放当前欲执行指令的地址,而且具有计数功能。 IR:指令寄存器,存放当前指令。

存储器:用来存放数据和程序。它内部各部分用途如下: MAR:存放欲访问的存储但愿和地址。

MDR:存放从存储体某但愿取出的代码或者准备往某存储单元存入的代码。 硬件的主要技术指标:

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

CPU 储字长

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

7、答:

主机:中央处理器,CPU与主存储器合起来称为主机。 CPU:运算器合控制器合起来称为中央处理器。

主存:是存储器子系统的一类,用来存放程序合数据,可直接与CPU交换信息。 存储单元:由若干个连续的存储元件构成,是组成存储体的单位

存储(基)元:即存储元件,是构成存储单元的单位,每个存储(基)元只能寄存一位二进制代码0或1。

存储字:一个存储单元可存储一串二进制代码,称这串二进制代码为一个存储字。 存储字长:存储字所对应的二进制代码的个数称为存储字长。

存储容量:存储单元个数×存储字长,存储容量包括主存容量合辅存容量。 机器字长:指CPU一次能处理数据的位数,通常与CPU寄存器位数有关。 指令字长:一条指令在计算机中用一串二进制代码表示,此二进制代码的个数称为指令字长。

8、答:

CPU: central processing unit 中央处理器 PC: program counter 程序计数器

IR: instruction register 指令寄存器 CU: control unit 控制单元

ALU: arithmetic logic unit 算术逻辑运算单元 ACC: accumulator 累加器

MQ: multiplier-quotient register 乘商寄存器 X: 操作数寄存器

MAR: memory address register 存储器地址寄存器 MDR: memory data register 存储器数据寄存器 I/O: input/output equipment 输入与输出设备

MIPS: million instruction per second 每秒执行百万条指令 CPI: cycle per instruction 执行一条指令所需的时钟周期数

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

9、答:

主要有以下步骤: (1) 取X到ACC (2) 加1存于ACC

(3) 除2存于MQ,又[MQ]→主存单元m (4) 取X到ACC

(5) 将y1从m中取出,执行[m]→X,[ACC]÷[X]→MQ,得x/yn (6) [MQ]→ACC,执行yn+x/yn,即[ACC]+[X]→ACC (7) 除2得结果于MQ,又[MQ]→ACC,[MQ]→m (8) [ACC]-[X]→ACC,然后判断[ACC]与ε的大小,若|[ACC]|≦ε则到(9),否则返回(5)

(9) 打印[m] (10) 停机

10、答:

在取指阶段从存储器取出的信息即为指令,在执行阶段从存储器取出的信息为数据。

第三章 思考题与习题

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

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

3.常用的总线结构有几种?不同的总线结构对计算机的性能有什么影响?举例说明。 4.为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?

5.解释下列概念:总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。 6.试比较同步通信和异步通信。

7.画图说明异步通信中请求与回答有那几种互锁关系? 8.为什么说半同步通信同时保留了同步通信和异步通信的特点? 9.分离式通信有何特点?主要用于什么系统?

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

些总线有这一特点?

11.画一个具有双向传送功能的总线逻辑图。

12.设数据总线上接有A、B、C、D、四个寄存器,要求选用合适的74系列芯片,完成下

列逻辑设计:

(1)设计一个电路,在同一时间实现D→A、D→B和D→C寄存器间的传送; (2)设计一个电路,实现下列操作: T0 时刻完成D→总线; T1 时刻完成总线→A; T2 时刻完成A→总线; T3 时刻完成总线→B。

第三章 系统总线习题部分答案

1、答:

① 总线是连接多个部件的信息传输线,是个部件共享的传输介质。

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

③ 为减轻总线上的负载,各种I/O设备要通过I/O接口接在总线上,而且还要通过三态门挂在总线上,没有数据交换时置成高阻态。

2、答:

①分类:按数据传输方式,可分为并行传输总线和串行传输总线。 按使用范围,可分为计算机总线,控制总线,网络通信总线。 按连接部件,可分为片内总线,系统总线,通信总线。

②系统总线指CPU,主存,I/O各大部件之间的信息传输线,按系统总线传输信息的不同,分为数据总线,地址总线,控制总线。

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

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

控制总线:用来发出各种控制信号的,对任意控制线,是单向的;对与机器字长,存储字长,存储单元无关系。

3、答:

常用的总线结构有单总线结构,双总线结构,三总线结构,四总线结构。

① 单总线结构:将CPU,主存,I/O设备都挂在一组总线上,允许I/O之间或I/O与主存之间直接交换信息。因为所有的传送都通过这组共享总线,极易形成计算机系统的瓶颈,不允许两个以上部件在同一时刻向总线传输信息,必然会影响系统工作效率的提高,其结构图见课本图3.2ISA.EISA总线是单总线结构

② 双总线结构:双总线结构的特点是将速度较低的设备从总线上分离出来,形成主存总线与I/O总线分开的结构,见课本图3.5。途中通道是一个具有特殊功能的处理器,CPU将一部分功能下放给通道,使其对I/O设备具有统一管理的功能,系统的吞吐能力可以相当大。如果将不同速率的I/O设进行分类,然后将它们连接在不同的通道上,将成为总线结构。

③ 三总线结构:图3.6:主存总线用于CPU与主存间的传输;I/O总线供CPU与各类I/O之间传递信息,DMA总线用于高速外设(磁盘,磁带等)与主存之间直接交换信息。图3.7:处理器于高速缓冲存储器Cache之间怎叫一条局部总线,Cache可以通过系统总线与主存传输信息,I/O 与主存之间也不必通过CPU。还有一条扩展总线,可以支持相当多的I/O设备。

④四总线结构(见图3.8)在三总线基础上,增加一条与计算机系统机密相连的高速总线,这种结构对高速设备而言,其自身的工作可以很少依赖处理器,同时他们又比扩展总线上的设备更贴近处理器。

4、答:

① 如多个主设备同时要使用总线时,就由总线控制器的判优,仲裁逻辑按一定的优先级顺序,确定那个主设备能使用总线,只有获得总线使用权的主设备才能开始传送数据。

② 常见的集中式总线控制有三种

⑴ 链式查询:其特点是只需很少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感。

⑵ 计数器定时查询:其特点是,计数可以从“0”开始,此时设备的优先次序是固定的,计数也可以从终止点开始,既是一种循环方式,此时设备使用总线的优先级相等,计数器的初始值还可以由程序设置,故优先次序可以改变。此外,对电路故障不如链式查询方式敏感,但增加了主控线数,控制也较复杂。

⑶ 独立请求方式:其特点是:响应速度快,优先次序控制灵活(通过程序改变),但控制线数量多,总线控制更复杂。

③ 独立请求方式响应时间最快,链式查询对电路故障最敏感。

第四章 思考题与习题

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

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

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

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

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

6.某机字长为32位,其存储容量是64KB,按字编址它的寻址范围是多少?若主存以字节

编址,试画出主存字地址和字节地址的分配情况。

7.一个容量为16K?32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?

1K?4位,2K?8位,4K?4位,16K?1位,4K?8位,8K?8位 8.试比较静态RAM和动态RAM。

9.什么叫刷新?为什么要刷新?说明刷新有几种方法。 10.半导体存储器芯片的译码驱动方式有几种?

11.画出用1024?4位的存储芯片组成一个容量为64K?8位的存储器逻辑框图。要求将64K

分成4个页面,每个页面分16组,指出共需多少片存储芯片。 12.设有一个64K?8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?

欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。

13.某8位微型机地址码为18位,若使用4K?4位的RAM芯片组成模块板结构的存储器,

试问:

(1)该机所允许的最大主存空间是多少?

(2)若每个模块板为32K?8位,共需几个模块板? (3)每个模块板内共有几片RAM芯片? (4)共有多少片RAM?

(5)CPU如何选择各模块板? 14.设CPU共有16根地址线,8根数据线,并用MREQ(低电平有效)作访存控制信号,RW作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:

ROM(2K?8位,4K?4位,8K?8位), RAM(1K?4位,2K?8位,4K?8位)

及74138译码器和其他门电路(门电路自定)。

试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求: (1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区; (2)指出选用的存储芯片类型及数量; (3)详细画出片选逻辑。

15.CPU假设同上题,现有8片8K?8位的RAM芯片与CPU相连,试回答:

(1)用74138译码器画出CPU与存储芯片的连接图; (2)写出每片RAM的地址范围;

(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片

都有与其相同的数据,分析故障原因。

(4)根据(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出

现什么后果?

16.反映主存和外存的速度指标有何不同?

17.某机字长16位,常规的存储空间为64K字,若想不改用其他高速的存储芯片,而使访

存速度提高到8倍,可采取什么措施?画图说明。

18.什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理? 19.计算机中设置Cache的作用是什么?能不能把Cache的容量扩大,最后取代主存,为什

么?

20.Cache做在CPU芯片内有什么好处?将指令Cache和数据Cache分开又有什么好处? 21.设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一

个四路组相联映象(即 Cache 每组内共有4个字块)的Cache组织,要求: (1)画出主存地址字段中各段的位数;

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

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

将存储器分成若干个容量相等的区域,每一个区域可看作一个页面。

倍?

22.简要说明提高访存速度可采取那些措施?

23.画出NR、NRZ、NRZ1、PE、FM写入数字串1011001的写入电流波形图。 24.以写入10010110为例,比较调频制和改进调频制的写电流波形图。

25.画出调相制记录01100010的驱动电流、记录磁通、感应电势、同步脉冲及读出代码等

几种波形。

26.磁盘组有六片磁盘,每片有两个记录面,存储区域内径22cm,外径33cm,道密度为

40道/cm,内层密度为400 位/cm,转速2400 转/分,问: (1)共有多少存储面可用? (2)共有多少柱面?

(3)盘组总存储容量是多少? (4)数据传输率是多少? 27.某磁盘存储器转速为3000转/分,共有4个记录盘面,每毫米5道,每道记录信息12288

字节,最小磁道直径为230mm,共有275道,求: (1)磁盘存储器的存储容量;

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

28.磁表面存储器和光盘存储器记录信息的原理有何不同?

29.试从存储容量、存取速度、使用寿命和应用场合方面比较磁盘、磁带和光盘存储器。 30.写出1100、1101、1110、1111对应的海明码。

(1)按配偶原则配置; (2)按配奇原则配置。

31.已知接受到的海明码(按配偶原则配置)为1100100,1100111,1100000,1100001,

检查上述代码是否出错?第几位出错?

32.已知接收到下列海明码,分别写出它们所对应的欲传送代码。

1100000(按偶性配置); 1100010(按偶性配置); 1101001(按偶性配置); 0011001(按奇性配置); 1000000(按奇性配置); 1110001(按奇性配置);

33.欲传送的二进制代码为1001101,用奇校验来确定其对应的海明码,若在第六位出错,

说明它的纠错过程。

34.为什么海明码纠错过程中,新的检测位P4P2P1的状态即指出了编码中错误的信息位? 35.设有效信息为1100,试用生成多项式G(x) = 1011,将其编成循环冗余校验码。

36.有一个(7,4)码,其生成多项式G(x)= x3 + x + 1,写出代码1001的循环冗余校验码。

第四章 存储器习题部分答案

1、答:

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

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

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

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

SRAM:静态RAM,以触发器原理寄存信息。 DRAM:动态RAM,以电容充放电原理寄存信息。

ROM:只能对其存储的内容读出,而不能对其写入的只读存储器。

PROM:可实现一次性编程的只读存储器。

EPROM:可擦洗可编程的只读存储器,用紫外线照射进行擦写。 EEPROM:用电气方法进行擦写的可擦洗可编程的只读存储器。

CDROM:只读型光盘,此中光盘内数据程序由厂家事先写入,用户只能读出,不能修改或写入新的内容。

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

2、答:

计算机中有以下部件可以存储信息:寄存器、缓存、主存、磁盘、磁带等。 速度上:寄存器>缓存>主存>磁盘>磁带 容量上:寄存器<缓存<主存<磁盘<磁带 价格/位:寄存器>缓存>主存>磁盘>磁带

3、答:

(1) 存储器的层次结构主要体现在:缓存-主存和主存-缓存这两个存储层次上。 (2) 从CPU的角度来看,缓存-主存这一层次的速度接近于缓存,高于主存,其容量和位价却接近于主存。从主存-缓存这一层次,其速度接近于主存,容量接近辅存,平均位价也接近于辅存,从而解决了速度、容量、成本这三者间的矛盾。

(3) 主存与缓存之间的数据调动是由硬件自动完成的,CPU不能直接访问辅存,辅存只能与主存交换数据,他们之间的信息调动均由硬件和操作系统来实现。

4、答:

存取周期:是指存储器进行连续两次独立的存储器操作(如连续两次读操作)所需的最小间隔时间。

存取时间:是指启动一次存储器操作(读或写)到完成该操作所需的全部时间。 由概念可知,这两个概念是有很大区别的,通常存取周期大于存取时间。

5、答:

(1) 存储器带宽:每秒从存储器进出信息的最大数量。 (2) 带宽=32bit/200ns=160M位/秒

7、答:

因为容量为16K×32,所以需地址线14根,数据线32根,总和是46根。

需要128片1K×4,32片2K×8,32片4K×4,32片16K×1,16片4K×8,8片8K×8

8、答:

静态RAM是触发器存储信息,因此即使信息读出后,它仍保持其原状态,不需要在城,但电源掉电时,原存信息丢失。动态RAM靠电容存储电荷的原理来寄存信息,即使电源不掉电,信息也会自动消失。

动态RAM的优点:

① 在同样大小的芯片中,动态RAM的集成度远高于静态RAM,如动态RAM的基本单元电路为一个MOS管,静态RAM的基本单元电路为六个MOS管;② 动态RAM行、累地址按先后顺序输送,减少了芯片引脚,封装尺寸也减少;③ 动态RAM的功耗仅为静态RAM的1/6;动态RAM的价格仅为静态RAM的1/4

动态RAM的缺点:

① 由于使用动态元件,因此他的速度比静态RAM低;② 动态RAM需要再生,故需配置再生电路,也需要消耗一部分功率。

15、答:

(1) 见下图

(2) 第一片0000H~1FFFH,第二片2000H~3FFFH,??,第八片E000H~FFFFH (3) 说明译码器有误,第六根线的输出始终是0。

24、答:

见下图

30、答:

配奇:1010100,0111101,1111110,0010111 配偶:0111100,1010101,0010110,1111111

31、答:

1100100第6位错,1100111第7位错,1100000第3位错,1100001第4位错

32、答:

1100000欲传送代码是1000,1100010欲传送代码是0110,1101001欲传送代码是0001, 0011001欲传送代码是1000,1000000欲传送代码是0010,1110001欲传送代码是1001

35、答:

1101100

36、答:

1001110

第五章 思考题与习题 1. 2. 3. 4. 5. 6. 7. 8.

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

简要说明CPU与I/O之间传递信息可采用哪几种联络方式?它们分别用于什么场合? I/O与主机交换信息时,共有哪几种控制方式?简述它们的特点。

试比较程序查询方式、程序中断方式和 DMA方式对CPU工作效率的影响。 图形显示和图像显示有何区别?

字符显示器的接口电路中配有缓冲存储器和只读存储器,各有何作用? 试比较针式打印机、激光打印机和喷墨打印机。

某计算机的I/O设备采用异步串行传送方式传送字符信息。字符信息的格式为一位起始位、七位数据位、一位检验位和一位停止位。若要求每秒钟传送480个字符,那么该设备的数据传送速率为多少?

什么是多媒体技术?简要说明研制多媒体计算机的关键技术。 什么是 I/O接口?为什么要设置 I/O接口?I/O接口如何分类? 简述 I/O接口的功能和基本组成。

结合程序查询方式的接口电路,说明其工作过程。 说明中断向量地址和入口地址的区别和联系。

在什么条件下,I/O设备可以向CPU提出中断请求? 什么是中断允许触发器?它有何作用?

在什么条件和什么时间,CPU可以响应I/O的中断请求?

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

试用键盘设备为例,结合中断接口电路,说明其工作过程。

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

试比较单重中断和多重中断服务程序的处理流程,说明他们不同的原因。 DMA方式有何特点?什么样的I/O设备与主机交换信息时采用DMA方式,举例说明。 CPU对DMA请求和中断请求的响应时间是否一样?为什么? 结合DMA接口电路说明其工作过程。

DMA的工作方式中,CPU暂停方式和周期挪用方式的数据传送流程有何不同,画图说明。

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

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

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

解释周期挪用,分析周期挪用可能会出现的几种情况。 试从五个方面比较程序中断和 DMA方式有何区别。 什么是多重中断?实现多重中断的必要条件是什么?

9. 10. 11. 12. 13. 14. 15. 16. 17.

18. 19.

20. 21. 22. 23. 24. 25. 26.

27.

28. 29. 30.

第五章 输入输出系统习题部分答案

1、答:

I/O的编制方式有两种:统一编址和不统一编址。统一编址就是将I/O地址看作是存储器地址的一部分。不统一编址就是将I/O地址和存储器地址分开,所有对I/O的访问必须有专用的I/O指令。统一编址占用了存储空间,减少了主存容量,但无需专用的I/O指令。不统一编址由于不占用主存空间,所以不影响主存容量,但是需要设置I/O专用指令。

2、答:

CPU与I/O之间传递信息可以采用以下3种联络方式。第一种是立即响应方式,它适用于一些工作速度十分缓慢的I/O设备。第二种是异步工作采用应答信号联络,这种方式适用于I/O设备与主机工作速度不匹配时的情况。第三种是同步工作采用同步时标联络,这种方式用于I/O设备与CPU的工作速度完全同步。

3、答:

(1) 程序查询方式。特点是主机与I/O串行工作,CPU启动I/O后,时刻查询I/O是否准备好,若设备准备就绪,CPU便转入处理I/O与主机间传送信息的程序;若设备没有准备就绪,则CPU反复查询,踏步等待,直到I/O准备就绪为止,这种方式CPU效率很低。

(2) 程序中断方式。特点为主机与I/O并行工作。CPU启动I/O后,不必时刻查询I/O是否准备好,而是继续执行程序,当I/O准备就绪时,向CPU发出中断信号,CPU在适当的时候相应I/O的中断请求,暂停现行的程序为I/O服务,此方式消除了踏步现象,提高了CPU的效率。

(3) DMA方式。其特点是主机与I/O并行工作,主存和I/O之间有一条直接数据通路,CPU启动I/O后,不必查询I/O是否准备好,当I/O准备就绪后,发出DMA请求,此时CPU不直接参与I/O和主存间的信息交换,只是把外部总线的使用权暂时交付DMA,仍然可以完成自身内部的操作,所以不必中断现行程序,只需暂停一个存取周期访存,CPU效率更高。

(4) 通道方式,通道是一个具有特殊功能的处理器,CPU把部分权力下放给通道,由它实现对外围设备的同意管理和外围设备与内存之间的数据交换,大大提高了CPU的效率,但是它是以花费更多的硬件为代价的。

(5) I/O处理机方式。他是通道方式的进一步发展,CPU将I/O的操作以及外围设备的管理全部给I/O处理机,其实质是多机系统,因而效率有很大的提高。

4、答:

程序查询方式要求CPU时刻查询I/O,直到I/O准备好为止,这种方式CPU工作效率很低。程序中断方式比程序中断方式提高了CPU的工作效率,消除了“踏步”现象。DMS方式中CPU的工作效率是这三种之中最高的一个。CPU启动I/O后,不必查询I/O是否准备好,当I/O准备就绪后,发出DMA请求,此时CPU不直接参与I/O和主存间的信息交换,只是把外部总线的使用权暂时交付DMA,仍然可以完成自身内部的操作,所以不必中断现行程序,只需暂停一个存取周期访存,CPU效率更高。

5、答:

图形显示器是用点、线、面组合而成的平面或立体图形。并可以做平移、比例变化、旋转、坐标变换、投影变换、透视变换、透视投影、轴侧投影、单点透视、两点或三点透视以及隐线处理等操作。主要用于CAD和CAM等。图形显示器所显示的图形是由计算机用一定的算法形成的点、线、面、阴影等,它来自主观世界,因此又称主观图像或叫做计算机图像。图像显示器所显示的图像通常来自客观世界,故又称客观图像。图像显示器是把由计算机处理后的图像,以点阵列的形式显示出来。

6、答:

(1) 缓冲存储器做为显示存储器,存放欲显示的字符的ASII码,其容量与显示屏能显示的字符个数有关,每个字符所在存储单元的地址与字符所在荧光屏上的位置一一对应。

(2) 只读存储器做为字符发生器,将ASII码转变为一组光点矩阵信息ROM的个数与显示器所能显示的字符种类有关。

7、答:

针式打印机、激光打印机和喷墨打印机都配有一个字符发生器,它们的共同特点是都能将字符编码信息变为点阵信息,不同的是这些点阵信息的控制对象不同。点阵针式打印机的字符点阵用于控制打印机的驱动电路;激光打印机的字符点阵脉冲信号用于控制激光束;喷墨打印机的字符点阵信息控制墨滴的运动轨迹。

此外,点阵针式打印机是属于击打式打印机,可以逐字打印也可以逐行打印,喷墨打印机只能逐字打印,激光打印机数据页式输出设备,后两种都属于非击打式打印机。

不同种类的打印机其性能和价格差别很大,用户可以根据不同的需要合理选用。要求印字质量高的场合可以选用激光打印机;要求价格便宜的或是只需要具有文字处理功能的个人用计算机,可配置串行点阵针式打印机;要求处理的信息量很大,速度要求快,应该配置行式打印机或是高速激光打印机。

8、答:

数据传送速率为480×(1+7+1+1)=4800位/秒

9、答:

多媒体技术是指强调计算机与声音、活动图像和文字相结合的技术。 多媒体技术的关键技术主要有:视频和音频数据的压缩和解压缩技术、多媒体专用芯片、大容量存储器、适用于多媒体技术的软件。

第六章 思考题与习题

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

2.已知X=0.a1a2a3a4a5a6(ai为0或1),讨论下列几种情况时ai各取何值。 (1)X>

1(2)X≥81412

(3)

3.设x为整数,[x]补=1,x1x2x3x4x5,若要求x<-16,试问x1~ x5应取何值?

4.设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。 ,100,-87 5.已知[x]补,求[x]原和x

[x]补=1.1100;[x]补=1.1001;[x]补=0.1110;[x]补=1.0000 [x]补=1,0101;[x]补=1,1100;[x]补=0,0111;[x]补=1,0000

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

7.设x为真值,x*为绝对值,说明[-x*]补=[-x]补能否成立。 8.讨论若[x]补>[y]补,是否有x>y?

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

10.在整数定点机中,设机器数采用一位符号位,写出±0的原码、补码、反码和移码,得

出什么结论?

11.已知机器数字长为4位(其中1位为符号位),写出整数定点机和小数定点机中原码、

补码和反码的全部形式,并注明其对应的十进制真值。

?136429,1281≥X>1612.设浮点数格式为:阶符1位、阶码4位、数符1位、尾数10、、7.375、

-86.5所对应的机器数。要求 (1)阶码和尾数均为原码; (2)阶码和尾数均为补码; (3)阶码为移码,尾数为补码。

13.浮点数格式同上题,当阶码基值分别取2和16时, (1)说明2和16在浮点数中如何表示。

(2)基值不同对浮点数什么有影响?

(3)当阶码和尾数均用补码表示,且尾数采用规格化形式,给出两种情况下所能表示的最大正数和非零最小正数真值。

14.设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除

阶符、数符各取1位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么? 15.什么是机器零?若要求全0表示机器零,浮点数的阶码和尾数应采用什么机器数形式? 16.设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用一位

符号位,答案均用十进制表示。 (1)无符号数;

(2)原码表示的定点小数; (3)补码表示的定点小数; (4)补码表示的定点整数; (5)原码表示的定点整数;

(6)浮点数的格式为:阶符1位、阶码5位、数符1位、尾数9位(共16位)。分

别写出其正数和负数的表示范围;

(7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的

真值范围。

17.设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,

算术右移一位、两位,讨论结果是否正确。

[x]原=0.0011010;[x]补=0.1010100;[x]反=1.0101111; [x]原=1.1101000;[x]补=1.1101000;[x]反=1.1101000; [x]原=1.0011001;[x]补=1.0011001;[x]反=1.0011001。 18.试比较逻辑移位和算术移位。

19.设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。 (1)A=

96451位。写出128?271024,B=,B=

??1332,求A+B

A+B

19(2)A=32?17128,求

(3)A=,求A+B (4)A=-87,B=53,求A+B (5)A=115,B=-24,求A+B

20.用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算x·y。 (1)x=0.110111,y=-0.101110 (2)x=-0.010111,y=-0.010101 (3)x=19,y=35

(4)x=0.11011,y=-0.11101

21.用原码加减交替法和补码加减交替法计算x÷y。 (1)x=0.100111,y=0.101011 (2)x=-0.10101,y=0.11011 (3)x=0.10100,y=-0.10001

3169,B=32 ,y=

22.设机器数字长为16位(含1位符号位),若一次移位需1?s,一次加法需1?s,试问原

码一位乘、补码一位乘、原码加减交替除和补码加减交替除法各最多需多少时间? 23.对于尾数为40位的浮点数(不包括符号位在内),若采用不同的机器数表示,试问当

尾数左规或右规时,最多移位次数各为多少? 24.按机器补码浮点运算步骤,计算[x+y]补

(1)x=2-011×0.101100,y=2-010×(-0.011100) (2)x=2-011×(-0.100010),y=2-010×(-0.011111) (3)x=2101×(-0.100101),y=2100×(-0.001111)

25.假设阶码取3位,尾数取6位(均不包括符号位),计算下列各题。 (1)[2 (2)[2 (3)[2

5

13(4)x=32?273211×1613×16]- [2×(

-4

-4

??91658)] )] )] )]

-3

]- [2×(]×[2×(

4

3

13×16??916 (4)[2×(

3

6

1115?3

16)]÷[2×(16-2

(5)[2×(-1)]×[2×

-6

7

5764?]

12 (6)[2×(-1)]÷[2×()] (7)3.3125+6.125 (8)14.75-2.4375 26.如何判断定点和浮点补码加减运算结果是否溢出,如何判断原码和补码定点除法运算结

果是否溢出?

27.设浮点数阶码取3位,尾数取6位(均不包括符号位),要求阶码用移码运算,尾数用

补码运算,计算x·y,且结果保留1倍字长。

-100

(1)x=2×0.101101,y=2-011×(-0.110101) (2)x=2-011×(-0.100111),y=2101×(-0.101011)

28.机器数格式同上题,要求阶码用移码运算,尾数用补码运算,计算x÷y。 (1)x=2101×0.100111,y=2011×(-0.101011) (2)x=2110×(-0.101101),y=2011×(-0.111100)

29.设机器字长为32位,用与非门和与或非门设计一个并行加法器(假设与非门的延迟时

间为30?s,与或非门的延迟时间为45?s),要求完成32位加法时间不得超过0.6?s。画出进位链及加法器逻辑框图。

30.设机器字长为16位,分别按4、4、4、4和5、5、3、3分组,

(1)画出按两种分组方案的单重分组并行进位链框图,并比较哪种方案运算速度快。 (2)画出按两种分组方案的双重分组并行进位链,并对这两种方案进行比较。 (3)用74181和74182画出单重和双重分组的并行进位链框图。 31.画出实现Booth算法的运算器框图。要求:

(1)寄存器和全加器均用方框表示,指出寄存器和全加器的位数; (2)说明加和移位的次数;

(3)详细画出最低位全加器的输入电路。

32.画出实现补码加减交替除法的运算器框图。要求:

(1)寄存器和全加器均用方框表示,指出寄存器和全加器的位数; (2)说明加和移位的次数;

(3)详细画出第5位(设n为最低位)全加器的输入电路; (4)画出上商的输入电路。

见习题文件夹

第七章 思考题与习题

1. 什么叫机器指令?什么叫指令系统?为什么说指令系统与机器的主要功能以及与硬件结构之间存在着密切关系?

2. 什么叫寻址方式?为什么要学习寻址方式? 3. 什么是指令字长、机器字长和存储字长?

4. 零地址指令的操作数来自哪里?一地址指令中,另一个操作数的地址通常可采用什么寻址方式获得?各举一例说明。

5. 对于二地址指令而言,操作数的物理地址可安排在什么地方?举例说明。 6. 试比较间接寻址和寄存器间址。 7. 试比较基址寻址和变址寻址。

8. 画出先变址再简址及先间址再变址的寻址过程示意图。

9. 画出SUB @ R1指令对操作数的寻址及减法过程的流程图。设被减数和结果存于ACC中, @表示间接寻址, R1寄存器的内容为2074H。

10. 画出执行ADD * -5指令(*为相对寻址特征)的信息流程图。设另一个操作数和结果

存于ACC中,并假设(PC)= 4000H。

11. 设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,

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

12. 某机主存容量为4M×16位,且存储字长等于指令字长,若该机指令系统可完成108种

操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答:

(1)画出一地址指令格式并指出各字段的作用; (2)该指令直接寻址的最大范围; (3)一次间址和多次间址的寻址范围; (4)立即数的范围(十进制表示); (5)相对寻址的位移量(十进制表示);

(6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?为什么?哪一种便

于程序浮动?哪一种最适合处理数组问题?

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

(8)为使一条转移指令能转移到主存的任一位置,可采取什么措施?简要说明之。 13. 举例说明哪几种寻址方式在指令的执行阶段不访问存储器?哪几种寻址方式在指令的

执行阶段只需访问一次存储器?完成什么样的指令,包括取指令在内共需访问四次存储器?

14. 某机器共能完成78种操作,若指令字长为16位,试问一地址格式的指令地址码可取几

位?若想使指令的寻址范围扩大到216,可采用什么办法?举出三种不同的例子加以说明。

15. 某CPU内有32个32位的通用寄存器,设计一种能容纳64种操作的指令系统。假设指

令字长等于机器字长,试回答:

(1)如果主存可直接或间接寻址,采用“寄存器?存储器”型指令,能直接寻址的最

大存储空间是多少?画出指令格式并说明各字段的含义。

(2)如果采用通用寄存器作基址寄存器,则上述“寄存器?存储器”型指令的指令格

式有何特点?画出指令格式并指出这类指令可访问多大的存储空间?

16. 某机字长16位,存储器直接寻址空间为128字,变址时的位移量为-64 ~ +63,16个通

用寄存器均可作为变址寄存器。采用扩展操作码技术,设计一套指令系统格式,满足下列寻址类型的要求:

(1)直接寻址的二地址指令3条; (2)变址寻址的一地址指令6条; (3)寄存器寻址的二地址指令8条; (4)直接寻址的一地址指令12条; (5)零地址指令32条。

试问还有多少种代码未用?若安排寄存器寻址的一地址指令,还能容纳多少条?

17. 某机指令字长16位,每个操作数的地址码为6位,设操作码长度固定,指令分为零地

址、一地址和二地址三种格式。若零地址指令有M种,一地址指令有N种,则二地址指令最多有几种?若操作码位数可变,则二地址指令最多允许有几种? 18. 什么是RISC?简述它的主要特点。 19. 试比较RISC和CISC。

20. RISC机中指令简单,有些常用的指令未被选用,它用什么方式来实现这些常用指令的

功能,举例说明。

第七章 指令系统习题部分答案

1、答:

① 机器指令:把每一条机器语言的语句叫机器指令。 指令系统:将全部机器指令的集合叫做机器的指令系统 ② 机器的指令系统集中反映了机器的功能

计算机设计者主要研究如何确定机器的指令系统,如何用硬件电路,芯片,设备来实现机器指令系统的功能,计算机的使用者则是依据机器提供的指令系统,使用汇编语言来编制各种程序。计算机使用者根据机器指令系统所描述的机器功能,能很清楚地了解计算机内部寄存器-存储器的结构。以及计算机能直接支持的各种数据类型。

2、答:

寻址方式实质确定本条指令的数据地址,以及下一条将要执行的指令地址的方法,他与硬件结构紧密相关,而且也直接影响指令格式和指令功能。

3、答:

指令字长即指机器指令中含二进制代码的总位数。 存储字长即指存储单元中二进制代码的个数。 机器字长即指CPU中寄存器的位数。 三这位数可以相等,也可以不等。

4、答:

① 零地址指令的操作数的地址隐含在堆栈指针SP中。

② 一地址指令中,另一个操作数地址可采用隐含寻址,另一操作数隐含在累加器ACC中。

5、答:

对于二地址指令,操作数的物理地址可安排在 两个主存单元

两个寄存器

一个主存单元和一个寄存器。

6、答:

间接寻址和寄存器间址都可扩大寻址范围,他们形成有效地址的方式类似:间址需通过访存(若是多次间址还需多次访存)得到有效地址;寄存器间址需通过访问存储器得到有效地址,因有效地址放于寄存器中,故比间接寻址少一次访存。

7、答:

基址寻址 变址寻址

① 有效地址等于形式地址加上 ① 有效地址等于形式地址加上

基址寄存器的内容 变址寄存器的内容

② 可扩大寻址范围 ② 可扩大寻址范围

③ 基址寄存器的内容由操作系统给定 ③ 变址寄存器的内容由用户给定

且在程序的执行过程中不可变 且在程序的执行过程中可变

④ 支持多道程序技术的应用 ④ 用于处理数组程序

8、答:

9、答:

10、答:

第八章 思考题与习题

1.CPU有哪些功能,画出其结构框图并简要说明每个部件的作用。 2.什么是指令周期?指令周期是否有一个固定值?为什么? 3.画出指令周期的流程图,分别说明图中每个子周期的作用。

4.设CPU内有下列部件:PC、IR、SP、AC、MAR、MDR和CU,要求:

(1)画出完成间接寻址的取数指令LDA @X(将主存某地址单元X的内容取至AC中)的数据流(从取指令开始)。 (2)画出中断周期的数据流。 5.中断周期前是什么阶段?中断周期后又是什么阶段?在中断周期CPU应完成什么操作? 6.什么叫系统的并行性?粗粒度并行和细粒度并行有何区别?

7.什么是指令流水?画出指令二级流水和四级流水的示意图,它们中哪一个更能提高处理器速度,为什么?

8.当遇到什么情况时流水线将受阻?举例说明。

9.为什么说超长指令字比超标量更能提高并行处理能力? 10.指令流水线和运算流水线在结构上有何共同之处? 11.什么是中断?设计中断系统需考虑哪些主要问题? 12.计算机为了管理中断,在硬件上通常有哪些设置?各有何作用?对指令系统有何考虑? 13.在中断系统中INTR、INT、EINT三个触发器各有何作用? 14.什么是中断隐指令,它有哪些功能? 15.中断系统中采用屏蔽技术有何作用? 16.为实现多重中断,需有哪些硬件支持?

17.CPU在处理中断过程中,有几种方法找到中断服务程序的入口地址?举例说明。 18.中断处理过程中为什么要中断判优?有几种实现方法?若想改变原定的优先顺序,可

采取什么措施?

19.中断处理过程中“保护现场”需完成哪些任务?如何实现?

20.现有A、B、C、D四个中断源,其优先级由高向低按A、B、C、D顺序排列。若中断

服务程序的执行时间为20?s,请根据下图所示时间轴给出的中断源请求中断的时刻,画出CPU执行程序的轨迹。

D服务C服务B服务A服务t (?s)0102030405060708090100110120130140B与C请求D请求B请求A请求

21.某机有五个中断源L0、L1、L2、L3、L4,按中断响应的优先次序由高向低排序为L0→

L1→L2→L3→L4,现要求中断处理次序改为L1→L3→L4→L0→L2,根据下示格式,写出各中断源的屏蔽字。

中断源 L0 L1 L2 L3 L4

22.设某机配有A、B、C三台设备,其优先顺序是A>B>C,为改变中断处理次序,将它

们的中断屏蔽字分别设为:

设备 A B C 屏蔽字 1 1 1 0 1 0 0 1 1 屏蔽字 1 2 3 4 5 请按下图所示时间轴给出的设备请求中断的时刻,画出CPU执行程序的轨迹。设A、B、C中断服务程序的执行时间均为20?s。

A服务B服务C服务0102030405060708090t (?s)A请求B请求C请求

第八章 CPU的结构和功能

1、答:

CPU具有控制程序的顺序执行,产生完成每条指令所需的控制命令,对各种操作实施时间上的控制,对数据进行算术和逻辑运算和处理中断等功能。

CPUALU寄存器中断系统CU控制总线数据总线地址总线系统总线

2、答:

指令周期是CPU每取出并执行一条指令所需的全部时间,也即CPU完成一条指令的时间。由于各种指令操作的功能不同,因此各种指令的指令周期是不同的,指令周期的长短主要和指令在执行阶段的访问主存的次数和执行阶段所需要完成的操作有关。

3、答:

取指周期有间址吗?否执行周期是中断周期是间址周期有中断吗?否 取指周期完成取指令和分析指令的操作;

间址周期是当遇到间接寻址的指令时,需访问两次存储器,第一次取出有效地址,再取出操作数,间址周期用于取操作数;

执行周期完成执行指令的操作;

中断周期是当CPU采用中断方式实现主机与I/O交换信息时,当有中断请求时,CPU要进入中断响应阶段,又称中断周期。

4、答:

(1) 见下图

(2) 见下图

5、答:

中断周期前是执行阶段,后是取指阶段。中断周期中,由中断隐指令完成: ① 保存程序断点 ② 硬件关中断

③ 将向量地址送至程序计数器(硬件向量法)或将中断识别程序入口地址送至程序计数器(软件查询法)。

6、答:

所谓并行包含同时性合并发性两个方面。前者是指两个或多个事件在同一时刻发生,后者是指两个或多个事件在同一时间段发生。也就是说,在同一时刻或同一时间段内完成良种或两种以上性质相同或不同的功能,只要在时间上互相重叠,就存在并行性。

从计算机体系上看,粗粒度并行性是在多个处理机上分别运行多个进程,由多台处理机合作完成一个程序,一般用算法(软件)实现。细粒度并行性是指在处理及的操作级和指令级的并行性,一般用硬件实现。指令流水就是一项重要技术。

8、答:

影响流水线性能的因素主要反映在两方面:访存冲突和相关问题。

① 访存冲突:取指令、取操作数和存结果都要访问存储器,若在某一时间,前后流水的若干条指令同时访存,则产生访存冲突。

② 相关问题:指程序的相近指令之间出现某种关联,使指令流水线出现停顿。例如:

当下一条指令需用前一条指令的结果时,必须待前面的指令流出流水线后才能执行,包括控制相关和数据相关。

9、答:

超长指令字(VLIW)技术和超标量技术都是采用多条指令在多个处理部件中并行处理的体系结构,在一个时钟周期内能流出多条指令。但超标量的指令来自同一标准的指令流,超长指令字则是由编译程序在编译时挖掘指令间潜在的并行性后,把多条能并行操作的指令组合成一条具有多个操作码字段的超长指令(指令字长可达几百位),由这条超长指令控制VLIW机中多个独立工作的功能部件,由每一个操作码字段控制一个功能部件,相当于同时执行多条指令。

10、答:

指令流水线和运算流水线的共同点是由于相邻两段在执行不同的操作,因此在相邻两段之间必须设置锁存器或寄存器,以保证在一个周期内流水线的输出信号不便。

第九章 思考题与习题

1.设CPU内有下列部件:PC、IR、MAR、MDR、AC、CU。 (1)写出取指周期的全部微操作;

(2)写出加法指令ADD X,取数指令LDA X,存数指令STA X在执行阶段所需

的全部微操作;

(3)当上述指令为间接寻址时,写出运行这些指令所需的全部微操作;

(4)写出无条件转移指令JMP Y和结果为零则转指令BAZ Y在执行阶段所需的全部

微操作。

2.控制单元的功能是什么?其输入受什么控制?

3.什么是指令周期、机器周期和时钟周期?三者有何关系? 4.能不能说机器的主频越快,机器的速度就越快,为什么?

5.设机器A的主频为8MHz,机器周期含4个时钟周期,且该机的平均指令执行速度是0.4MIPS,试求该机的平均指令周期和机器周期,每个指令周期中含几个机器周期?如果机器B的主频为12MHz,且机器周期也含4个时钟周期,试问B机的平均指令执行速度为多少MIPS?

6.设某机主频为8MHz,每个机器周期平均含2个时钟周期,每条指令平均有2.5个机器周期,试问该机的平均指令执行速度为多MIPS?若机器主频不变,但每个机器周期平均含4个时钟周期,每条指令平均有5个机器周期,则该机的平均指令执行速度又是多MIPS?由此可得出什么结论?

7.某CPU的主频为8MHz,若已知每个机器周期平均包含4个时钟周期,该机的平均指令执行速度为0.8MIPS,试求该机的平均指令周期及每个指令周期含几个机器周期?若改用时钟周期为0.4μs的CPU芯片,则计算机的平均指令执行速度为多少MIPS?若要得到平均每秒40万次的指令执行速度,则应采用主频为多少的CPU芯片?

8.某计算机的主频为4MHz,各类指令的平均执行时间和使用频度如下表所示,试计算该机的速度(单位用MIPS表示),若上述CPU芯片升档为6MHz,则该机的速度又为多少?

指令类别 存取 加、减、比较、转乘除 其他 移 平均指令执行时间 使用频度 9.试比较同步控制、异步控制和联合控制的区别。

10.什么是典型的同步控制?为了提高CPU的效率,在同步控制方式中又有哪些方式?以

8085的输出指令为例,说明它属哪种控制方式?

11.设CPU内部结构如图9.4所示,此外还设有B、C、D、E、H、L六个寄存器,它们各

自的输入和输出端都与内部总线相通,并分别受控制信号控制(如Bi为寄存器B的输入控制;Bo为寄存器B的输出控制)。要求从取指令开始,写出完成下列指令所需的控制信号。

(1)ADD B,C ((B) – (C)→B); (2)SUB A,H ((AC) – (H) →AC)。

12.CPU结构同上题,写出完成下列指令所需的控制信号(包括取指令)。 (1)寄存器间址的无条件转移指令JMP @ B; (2)间接寻址的存数指令STA @ X。

第九章 控制单元的功能习题部分答案

1、答:

(1) 写出取指周期的全部微操作; ① PC→MAR ② 1→R

③ M(MAR)→MDR ④ MDR→IR ⑤ (PC)+1→PC

(2) 写出加法指令ADD X,取数指令LDA X,存数指令STA X在执行阶段所需的全部微操作。

答: ADD X LDA X STA X ①Ad(IR) →MAR ①Ad(IR) →MAR ①Ad(IR) →MAR ②1→R ②1→R ②1→W ③M(MAR)→MDR ③M(MAR)→MDR ③ACC→MDR ④(ACC)+(MDR) →ACC ④MDR →ACC ④MDR →M(MAR) (3) 当上述指令为间接寻址时,写出运行这些指令所需的全部微操作。 答: ADD X LDA X STA X ①Ad(IR) →MAR,1→R ②M(MAR)→MDR ③MDR→Ad(IR) ①Ad(IR) →MAR,1→R ②M(MAR)→MDR ③(ACC)+(MDR) →ACC ①Ad(IR) →MAR,1→R ②M(MAR)→MDR ③MDR→Ad(IR) ①Ad(IR) →MAR,1→R ②M(MAR)→MDR ③MDR →ACC ①Ad(IR) →MAR,1→R ②M(MAR)→MDR ③MDR→Ad(IR) ①Ad(IR) →MAR,1→R ②M(MAR)→MDR ③MDR →M(MAR) 0.6?s 35% 0.8?s 50% 10?s 5% 1.4?s 10% (4) 写出无条件转移指令JMP Y和结果为零则转指令BAZ Y在执行阶段所需的全部微操作。

答: JMP Y Ad(IR) →PC BAZ Y 设Z为标记触发器,结果为0时,Z=1 BAZ Y指令执行阶段的微操作为 Z·Ad(IR) →PC 2、答:

控制单元具有发出各种微操作命令(即控制信号)序列的功能。 在执行程序的过程中,控制单元要发出各种微操作命令,而且不同的指令对应不同的命令。其输入必须受时钟控制,即每一个时钟脉冲使控制单元发一个操作命令,或发一组需同时执行的操作命令。

3、答:

指令周期:CPU取出并执行一条指令所需的全部时间,即完成一条指令的时间。

机器周期:所有指令执行过程中的一个基准时间,取决于指令的功能及其间的速度。 时钟周期:用时钟信号来控制产生每一个微操作命令。一个机器周期内包含了若干个时钟周期,又称节拍或状态。在每个节拍内机器可完成一个或几个同时执行的操作。

三者的关系:一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期(节拍),每个指令周期内的机器周期数可以不等,每个机器周期内的节拍数也可以不等。机器周期、节拍组成了多级时序系统。

4、答:

不能说机器的主频越快,机器的速度就越快。因为机器的速度不仅和主频有关,还与机器周期中所包含的时钟周期数有关。同样主频的机器,由于机器周期所含的时钟周期数不同,机器的速度也不同。机器周期中所含的时钟周期少的机器速度更快。

9、答:

同步控制方式:任何一条指令或指令中的任何一个微操作的执行,都由事先确定且有统一基准时标的时序信号所控制的方式叫做同步控制。如果机器内的存储器其存取周期不统一,那么只有把最长的存取周期作为机器周期,才能采用同步控制,否则取指令和取数时间不同,无法用统一的基准。

异步控制方式:异步控制方式不存在基准时标信号,没有固定的周期节拍和严格的时钟同步,执行每条指令和每个操作需要多少时间就占用多少时间,这种方式微操作的时序由专门的应答线路控制,其结构比同步方式复杂。

联合控制方式:是同步控制和异步控制的结合,对各种不同指令的微操作实行大部分统一,小部分区别对待的方法。

第十章 思考题与习题

1.假设响应中断时,要求将程序断点存在堆栈内,并且采用软件办法寻找中断服务程序的入口地址,试写出中断隐指令的微操作及节拍安排。

2.写出完成下列指令的微操作及节拍安排(包括取指操作)。 (1)指令ADD R1, X完成将R1寄存器的内容和主存X单元的内容相加结果存于R1的

操作。

(2)指令ISZ X完成将主存X单元的内容增1,并根据其结果若为0,则跳过下一条

指令执行。

3.按序写出下列程序所需的全部微操作命令及节拍安排。

指令地址 指 令 LDA 206 ADD 207 BAN 204 STA 205 STP 200 201 202 203 204 4.已知带返转指令的含义如下图所示,写出机器在完成带返转指令时,取指阶段和执行阶段所需的全部微操作及节拍安排。

主程序KK+1M带返转KM+1JMPIK间址特征子程序

5.画出组合逻辑控制单元的组成框图,根据指令处理过程,结合有关部件说明其工作原理。 6.画出微程序控制单元的组成框图,根据指令处理过程,结合有关部件说明其工作原理。 7.试比较组合逻辑设计和微程序设计的设计步骤和硬件组成,说明哪一种控制速度更快,为什么?

8.微指令的操作控制有几种编码方式,各有何特点?哪一种控制速度最快? 9.什么是垂直型微指令?什么是水平型微指令?各有何特点? 10.能否说水平型微指令就是直接编码的微指令,为什么? 11.微指令的地址有几种形成方式?各有何特点?

12.微指令操作控制字段采用直接编码或显式编码时,其微指令字长如何确定?

13.设控制存储器的容量为512×48位,微程序可在整个控存空间实现转移,而控制微程序

转移的条件共有4个(采用直接控制),微指令格式如下:

转移条件下地址操作控制顺序控制

试问微指令中的三个字段分别为多少位? 14.试比较静态微程序设计和动态微程序设计。

15.解释机器指令、微指令、微程序、毫微指令和毫微程序,它们之间有什么对应关系? 16.毫微程序设计的特点是什么?与微程序设计相比,其硬件组成有何不同?

17.假设机器的主要部件有:程序计数器PC,指令寄存器IR,通用寄存器R0、R1、R2、

R3,暂存器C、D,ALU,移位器,存储器地址寄存器MAR,存储器数据寄存器MDR及存储矩阵M。

(1)要求采用单总线结构画出包含上述部件的硬件框图,并注明数据流动方向。

(2)画出ADD (R1),(R2) 指令在取指阶段和执行阶段的信息流程图。R1寄存器存放

原操作数地址,R2寄存器存放目的操作数的地址。 (3)写出对应该流程图所需的全部微操作命令。 18.假设机器的主要部件同17题,外加一个控制门G。

(1)要求采用双总线结构(每组总线的数据流动方向是单向的)画出包含上述部件的

硬件框图,并注明数据流动方向。

(2)画出SUB R1, R3完成 (R1) – (R3)→R1操作的指令周期信息流程图(假设指令地

址已放在PC中),并列出相应的微操作控制信号序列。

19.下表给出8条微指令I1~I8及所包含的微命令控制信号,设计微指令操作控制字段格式,

要求所使用的控制位最少,而且保持微指令本身内在的并行性。

微指令 I1 I2 I3 I4 I5 I6 I7 I8 所含的微命令 a b c d e a d f g b h c c e g I a h j c d h a b h 20.设有一运算器通路如下图所示,假设操作数a和b(均为补码)分别放在通用寄存器

R1和R2中,ALU有+、c、M(传送)三种操作功能,移位器可实现左移、右移和直送功能。试回答:

(1)指出相容性微操作和相斥性微操作;

(2)采用字段直接编码方式设计适合于此运算器的微指令格式;

(3)画出计算1/2(a - b)→R2的微程序流程图,试问执行周期需用几条微指令? (4)按设计的微指令格式,写出(3)要求的微代码。

右移R左移L直送V+-MMDR→AR1→AR2→AR3→A移位器ALU+1PC→BR1→BR→BR2→B1R3→BR2→BR3→BA选通门(与或门)B选通门(与或门)R1outR2outR3outPCoutRinR1inR2inR3inPCR1R2R3

第十章 控制单元的设计习题部分答案

1、答:

T0:SP→MAR,1→W,硬件关中断 T1:PC→MDR

T2:MDR→M(MAR),中断识别程序入口地址→PC

4、答:

T0:PC→MAR,1→R

T1:M(MAR)→MDR,(PC)+1→PC T2:MDR→IR,OP(IR) →ID T0:Ad(IR)→MAR,1→W

T1:PC→MDR

T2:MDR→M(MAR),Ad(IR)+1 →PC

5、答:

组合逻辑控制器框图如下所示:

完成一条指令经过取指阶段和执行阶段。取指阶段完成的任务是:根据PC给定的地址发出读命令,访存后取出相应的指令送至IR,再经指令译码器ID给出信号,控制微操作命令序列形成部件,并修改PC。

执行阶段完成的任务是:微操作命令序列形成部件同时还接受时序电路发来的时序信号,在译码输出的共同作用下,按指令操作码的含义,发出一系列微操作命令信号,控制相应部件操作,实现指令功能。

7、答:

首先从设计步骤上比较组合逻辑控制其的设计思想是采用硬布线逻辑。首先根据指令系统,写出对应所有机器指令的全部微操作及其节拍安排,然后列出操作时间表。再写出每一种微操作的逻辑表达式,化简后画出相应的逻辑图,即完成了设计。这种逻辑电路主要是由门电路构成的复杂树形网络,一旦构成后,除非重新设计和物理上对它重新接线,否则要增加新的控制功能是不可能的。

微程序控制器的设计思想是采用存储逻辑。首先根据指令系统,写出对应所有机器指令的全部微操作及其节拍安排,然后列出操作时间表,再根据微操作的数目,经压缩确定微指令的控制方式、下地址形成方式、微指令格式及微指令字长,编写出全部微指令的代码即码点,即完成了设计。最后将微指令的码点注入到ROM中,即可作为微操作的命令信号。 其次从硬件组成上比较

两种控制器的相同之处是:均有PC、IR时序电路,中断机构及状态条件。不同之处主要是微操作命令序列形成部件不同,组合逻辑控制器的接口部件是门电路,微程序控制器的核心部件是控制存储器ROM。

8、答:

微指令中操作控制字段有两种控制方式。

(1) 接控制,其特点是操作控制字段中的每一位代表一个微命令。其优点是简单直观,其输出直接用于控制。缺点是微指令字较长,使控存容量较大。

(2) 码控制,其特点是将微指令操作控制字段分成几个字段,并使每个字段经译码后发出各个微操作命令。每个字段中的微命令必须是互斥的。这种控制方式用较少的二进制信息表示较多的微命令信号,它缩短了微指令字长,但增加了译码电路,使微程序的执行速度降低,这种编码控制又叫显式编码(或称字段直接译码法)。如果字段译码信号不直接用作微操作命令,必须由其他字段或某些特征触发器的状态作补充解释或互相配合,才能使微操作命令有确切含义,即为隐式编码法(或称字段间接译码法),这种方法更能缩短微指令字长。

另外,还可采用混合编码,把直接编码和字段编码混合使用,以便能综合考虑微指令的字长,灵活性和执行微程序的速度等方面的要求,直接控制由于不用译码电路,所以控制速度最快。

9、答:

一条微指令中定义并执行多个并行操作微命令的微指令是水平型微指令,其并行操作能力强,效率高。而且水平型微指令的微命令一般直接控制对象,故执行每条微指令的时间短,又因水平型微指令字长,故可用较少的微指令来实现一条机器指令的功能。

垂直型微指令的结构类是与一般机器指令的结构,由微操作码译码规定微指令的功能。通常一条微指令只能有1-2个微操作命令。因为它要经过译码才控制对象,影响每条微指令的执行时间。而且垂直型微指令字短,实现一条机器指令的微程序要比水平型微指令编写的微程序长得多,它是用较长的微程序结构来换取较短的微指令结构。

10、答:

不能说水平型微指令就是直接编码的微指令,因为水平型微指令是指一次能定义并执行多个并行操作的微命令:从编码方式看,直接编码,字段直接编码,字段间接编码以及直接和字段混合编码都属水平型微指令,只要在一条微命令中定义并执行多个并行操作,即可称为水平型微指令,与编码方式无关,但直接编码速度最快,字段编码要经过译码,故速度受影响。

联系客服:779662525#qq.com(#替换为@)