答:① SRAM ② DRAM
(9)某存储器数据总线宽度为32位,存取周期为250ns,则其带宽是 ① 。
答:① 128Mbit/s
(10)磁盘等磁表面存储器的写入电流波形决定了记录方式,此外还反映了该记录方式是否有 ① 能
力。
答:① 自同步
第五章 作业解答
5.1什么叫指令?什么叫指令系统?指令通常有哪几种地址格式?
答:指令也称机器指令,是控制计算机执行某种操作(如加、减、传送、转移等)的命令。指令能够直接表示对计算机硬件实体的控制信息,是计算机硬件唯一能够直接理解并执行的命令,。 一台计算机所能执行的全部指令的集合,称为该计算机的指令系统或指令集。
指令通常有四地址指令、三地址指令、二地址指令、一地址指令、零地址指令等格式。
5.2 什么叫指令地址?什么叫形式地址?什么叫有效地址? 答:
指令地址:指令所在内存单元的地址。
形式地址:指令中地址字段给出的操作数地址信息.
在不同的寻址方式中,指令中地址字段给出的操作数地址信息,不一定就是操作数所在的实际内存地址,因此将指令中给出的地址称为形式地址。
有效地址:也称为实际地址,是CPU实际访问的主存单元的地址。形式地址需要经过一定的运算才能得到操作数的有效地址。
5.3 什么叫寻址方式?有哪些基本的寻址方式?简述其寻址过程。
答:寻址方式就是指形成本条指令的操作数地址和下一条要执行的指令地址的方法。根据所需的地址信息的不同,寻址可分为操作数地址的寻址和指令地址的寻址两部分。 基本的寻址方式:
1) 立即寻址:指令的地址码部分给出的不是操作数的地址而是操作数本身,即指令所需的操作数由指令的形式地址直接给出。
2) 直接寻址:指令的地址码部分给出的形式地址A就是操作数的有效地址EA,即操作数的有效地址在指令字中直接给出。
3) 间接寻址:指令的地址码部分给出的是操作数的有效地址EA所在的存储单元的地址或是指示操作数地址的地址指示字。即有效地址EA是由形式地址A间接提供的,因而称为间接寻址。 4) 寄存器寻址:指在指令地址码中给出的是某一通用寄存器的编号(也称寄存器地址),该寄存器的内容即为指令所需的操作数。采用寄存器寻址方式时,有效地址EA是寄存器的编号。
5) 寄存器间接寻址:指令中地址码部分所指定的寄存器中的内容是操作数的有效地址。
6) 变址寻址:指操作数的有效地址是由指令中指定的变址寄存器的内容与指令字中的形式地址相加形成的。
7) 基址寻址:指操作数的有效地址等于指令中的形式地址与基址寄存器中的内容之和,基址寄存器中的内容称为基地址。
8) 相对寻址:是将程序计数器 PC 的当前内容与指令中给出的形式地址相加形成操作数的有效地址。 9) 基址加变址寻址:将基址寻址与变址寻址结合起来就形成了基址加变址寻址方式。这种寻址方式是将两个寄存器的内容和指令形式地址中给出的偏移量相加后得到的结果作为操作数的有效地址。其中一个寄存器作为基址寄存器,另一个作为变址寄存器。
10) 堆栈寻址:由堆栈支持的寻址方式,堆栈寻址是按照堆栈指示器SP的内容确定操作数的访存地址。
5.4 基址寻址方式和变址寻址方式各有什么不同?
答:基址寻址是面向系统的,主要用于将用户程序的逻辑地址(用户编写程序时所使用的地址)转换成主存的物理地址(程序在主存中的实际地址),以便实现程序的再定位。例如在多道程序运行时,需要由系统的管理程序将多道程序装入主存。由于用户在编写程序时,不知道自己的程序应该放在主存的哪一个实际物理地址中,只能按相对位置使用逻辑地址编写程序。当用户程序装入主存时,为了实现用户程序的再定位,系统程序给每个用户程序分配一个基准地址。程序运行时,该基准地址装入基址寄存器,通过基址寻址,可以实现逻辑地址到物理地址的转换。由于系统程序需通过设置基址寄存器为程序或数据分配存储空间,所以基址寄存器的内容通常由操作系统或管理程序通过特权指令设置,对用户是透明的。用户可以通过改变指令字中的形式地址A来实现指令或操作数的寻址。另外基址寄存器的内容一般不进行自动增量和减量。
变址寻址是面向用户的,主要用于访问数组、向量、字符串等成批数据,用以解决程序的循环控制问题。因此变址寄存器的内容是由用户设定的。在程序执行过程中,用户通过改变变址寄存器的内容实现指令或操作数的寻址,而指令字中的形式地址A是不变的。变址寄存器的内容可以进行自动增量和减量。
5.5 简述相对寻址和立即寻址的特点。
答:相对寻址方式是将程序计数器 PC 的当前内容与指令中给出的形式地址相加形成操作数的有效地址。 立即寻址方式是指指令的地址码部分给出的不是操作数的地址而是操作数本身。即指令所需的操作数由指令的形式地址直接给出。
5.6 什么叫堆栈?堆栈操作的特点是什么?堆栈操作是如何寻址的?
答:计算机中的堆栈是指按先进后出(FILO)或者说后进先出(LIFO)原则进行存取的一个特定的存储区域。 堆栈操作的特点是:遵循先进后出原则进行信息的存取。数据按顺序存入堆栈称为数据进栈或压入;从堆栈中按与进栈相反的顺序取出数据称为出栈或弹出。堆栈的压入和弹出操作总是根据SP的内容按地址自动增量和自动减量方式在栈顶进行。
堆栈操作的寻址方式:通常用一个寄存器或存储器单元指出栈顶的地址,这个寄存器或存储器单元称为堆栈指针SP,SP的内容永远指向堆栈的栈顶。堆栈的压入和弹出操作总是根据SP的内容按地址自动增量和自动减量方式在栈顶进行。
5.7 一个较完善的指令系统应包括哪些类型的指令?
答:一个完善的指令系统应包括的基本指令有:数据传送指令、算术逻辑运算指令、移位操作指令、堆栈操作指令、字符串处理指令、程序控制指令、输入/输出指令等。一些复杂指令的功能往往是一些基本指令功能的组合。
5.8 转子指令与转移指令有哪些异同?
答:转子指令与转移指令的执行结果都是实现程序的转移,但两者的区别在于:转移指令的功能是转移到指令给出的转移地址处去执行指令,一般用于同一程序内的转移,转移后不需要返回原处,因此不需要保存返回地址。转子指令的功能是转去执行一段子程序,实现的是不同程序之间的转移。因为子程序执行完后必须返回主程序,所以转子指令必须以某种方式保存返回地址,以便返回时能正确返回到主程序原来的位置。
5.9 设某机指令长为16位,每个操作数的地址码为6位,指令分为单地址指令、双地址指令和零地址指令。若双地址指令为K条,零地址指令为L条,问最多可有多少条单地址指令? 答:双地址指令的操作码占4位,可有24条指令,现占了K条。
单地址指令的操作码占10位,可有(24-K)×26条指令;
零地址指令的操作码占16位,现需要L条指令,单地址指令要让出??L?条指令,所以 6?2??单地址指令可有(24-K)×26-??L? 条 6??2?5.10 设某机指令长为16位,每个地址码长为4位,试用扩展操作码方法设计指令格式。其中三地址指令有10条,二地址指令为90条,单地址指令32条,还有若干零地址指令,问零地址指令最多有多少条?
答:{[(24-10)×16-90]×16-32}×16=1024条
5.11 设某机字长为32位,CPU有32个32位通用寄存器,有8种寻址方式包括直接寻址,间接寻址、立即
寻址、变址寻址等,采用R—S型单字长指令格式。共有120条指令,试问:
(1) 该机直接寻址的最大存储空间为多少?
(2) 若采用间接寻址,则可寻址的最大存储空间为多少?如果采用变址寻址呢? (3) 若立即数为带符号的补码整数,试写出立即数范围。
答:(1)该机单字长指令字长为32位,其中:120条指令操作码占7位,R寻址中32个通用寄存器占5位,S寻址中8种寻址方式占3位,32个通用寄存器占5位。如果采用直接寻址,可以不用寄存器,则直接寻址可用的字段长度为32-7-5-3=17位,故该机可直接寻址的最大存储空间为217=128K (2)间接寻址可寻址的最大存储空间为:232。变址寻址可寻址的最大存储空间为:232。
(3)采用立即寻址时,立即数所占字段长度与直接寻址可用的字段长度相同为17位,考虑到补码符号占用1位,故立即数范围为-216~216-1。
5.12简述RISC的主要特点。
5.13 选择题
(1) 计算机系统中,硬件能够直接识别的指令是 A 。
A. 机器指令 B. 汇编语言指令 C. 高级语言指令 D. 特权指令 (2) 指令系统中采用不同的寻址方式的主要目的是 B 。
A. 增加内存的容量 B. 缩短指令长度,扩大寻址范围 C. 提高访问内存的速度 D. 简化指令译码电路
(3) 在相对寻址方式中,若指令中地址码为X,则操作数的地址为 B 。
A. X B. (PC)+X C. X+段基址 D. 变址寄存器+X (4) 在指令的地址字段中直接指出操作数本身的寻址方式,称为 B 。
A. 隐含地址 B. 立即寻址 C. 寄存器寻址 D. 直接寻址 (5) 支持实现程序浮动的寻址方式称为 B 。
A. 变址寻址 B. 相对寻址 C. 间接寻址 D. 寄存器间接寻址 (6) 在一地址指令格式中,下面论述正确的是 C 。
A. 只能有一个操作数,它由地址码提供 B. 一定有两个操作数,另一个是隐含的 C. 可能有一个操作数,也可能有两个操作数
D. 如果有两个操作数,另一个操作数一定在堆栈中。 (7) 在堆栈中,保持不变的是 C 。
A. 栈顶 B. 堆栈指针 C. 栈底 D. 栈中的数据
(8) 在变址寄存器寻址方式中,若变址寄存器的内容是4E3CH,给出的偏移量是63H则它对应的
有效地址是 D 。
A. 63H B. 4D9FH C. 4E3CH D. 4E9FH
(9) 设寄存器R的内容(R)=1000H,内存单元1000H的内容为2000H,内存单元2000H的内容为
3000H,PC的值为4000H。若采用相对寻址方式,-2000H (PC) 访问的操作数是 C 。 A. 1000H B. 2000H C. 3000H D. 4000H (10) 程序控制类指令的功能是 D 。
A. 进行算术运算和逻辑运算
B. 进行主存与CPU之间的数据传送
C. 进行CPU和I/O设备之间的数据传送 D. 改变程序执行的顺序
(11) 算术右移指令执行的操作是 B 。
A. 符号位填0,并顺次右移1位,最低位移至进位标志位 B. 符号位不变,并顺次右移l位,最低位移至进位标志位
C. 进位标志位移至符号位,顺次右移1位,最低位移至进位标志位 D. 符号位填1,并顺次右移1位,最低位移至进位标志位 (12) 下列几项中,不符合RISC指令系统的特点是 B 。
A. 指令长度固定,指令种类少
B. 寻址方式种类尽量多,指令功能尽可能强 C. 增加寄存器的数目,以尽量减少访存次数
D. 选取使用频率最高的一些简单指令以及很有用但不复杂的指令
5.14 填空题
(1) 一台计算机所具有的所有机器指令的集合称为该计算机的 ① 。它是计算机与 ② 之间
的接口。
答:① 指令系统 ② 用户
(2) 在指令编码中,操作码用于表示 ① ,n位操作码最多可以表示 ② 条指令。地址码用
于表示 ③ 。 答:① 指令应执行的操作和应具有的功能 ② 2n ③ 与操作数据相关的地址信息 (3) 在寄存器寻址方式中,指令的地址码部分给出的是 ① ,操作数存放在 ② 。 答:① 某一寄存器的编号 ② 寄存器中
(4) 采用存储器间接寻址方式的指令中,指令的地址码中字段中给出的是 ① 所在的存储器单
元地址,CPU需要访问内存 ② 次才能获得操作数。 答:① 是操作数的有效地址EA ② 2
(5) 操作数直接出现在指令的地址码字段中的的寻址方式称为 ① 寻址;操作数所在的内存单
元地址直接出现在指令的地址码字段中的的寻址方式称为 ② 寻址。 答:① 立即寻址 ② 直接寻址
(6) 相对寻址方式中,操作数的地址是由 ① 与 ② 之和产生的。 答:① PC当前的内容 ② 形式地址部分给出的位移量 5.14 判断下列各题的正误。如果有误,请说明原因。
(1) 利用堆栈进行算术/逻辑运算的指令可以不设置地址码。 √ (2) 指令中地址码部分所指定的寄存器中的内容是操作数的有效地址的寻址方式称为寄存器寻址。
×
原因:寄存器间接寻址
(3) 一条单地址格式的双操作数加法指令,其中一个操作数来自指令中地址字段指定的的存储单
元,另一个操作数则采用间接寻址方式获得。 × 原因:另一个操作数来自累加器
(4) 在计算机的指令系统中,真正必需的指令种类并不多,很多指令都是为了提高机器速度和便
于编程而引入的。 √
(5) RISC系统的特征是使用了丰富的寻址方式。 ×
原因:RISC系统的特征之一:指令数目较少,指令长度固定,指令格式少,寻址方式种类少
第六章 作业解答
6.1 控制器的基本功能是什么?它由哪些基本部件组成?各部件作用是什么?
答:控制器的主要任务是:根据不同的指令、不同的状态条件,在不同的时间,产生不同的控制信号,控制
计算机的各部件自动、协调地进行工作。其基本功能包括: 1. 控制指令的正确执行
2. 控制程序和教据的输入及结果的输出 3. 异常情况和特殊请求的处理 控制器的基本部件包括:
1. 指令部件:用于完成取指令和分析指令
2. 时序控制部件:用于产生一系列时序信号,为各个微操作定时,以保证各个微操作的执行顺序。