《微机原理与接口技术》
复习题 第1章
1.简述名词的概念:微处理器、微型计算机、微型计算机系统。 答:
(1)微处理器:微处理器(Microprocessor)简称μP或MP,或CPU。CPU是采用大规模和超大规模集成电路技术将算术逻辑部件ALU(Arithmetic Logic Unit)、控制部件CU(Control Unit)和寄存器组R(Registers)等三个基本部分以及部总线集成在一块半导体芯片上构成的电子器件。
(2)微型计算机:微型计算机(Microcomputer)是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线等所组成的计算机,简称微机。
(3)微型计算机系统:微型计算机系统由硬件与软件两大部分组成,分别称为硬件(Hardware)系统与软件(Software)系统。其中,硬件(Hardware)系统由CPU、存储器、各类I/O接口、相应的I/O设备以及连接各部件的地址总线、数据总线、控制总线等组成。
软件(Software)系统:计算机软件(Software)是指为运行、维护、管理、应用计算机所编制的程序及程序运行所需要的数据文档资料的总和。一般把软件划分为系统软件和应用软件。其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
2.简述名词的概念:指令寄存器、地址寄存器、标志寄存器。 答:
(1)指令寄存器:指令寄存器(Instruction Register,IR)用来保存计算机当前正在执行或即将执行的指令。当一条指令被执行时,首先,CPU从存取出指令的操作码,并存入IR中,以便指令译码器进行译码分析。
(2)地址寄存器:地址寄存器(Address Register,AR)被动地接受IP传送给它的地址值(二进制地址),AR的作用是保持IP送来的地址,并且以并行方式连接输出到CPU的地址引脚上,以便CPU访问指定的存单元。
(3)标志寄存器:标志寄存器(Flags,F)是CPU中不可缺少的程序状态寄存器,因此,也称程序状态字寄存器(PSW),所谓状态是指算术或逻辑运算后,结果的状态以二进制的0或1在标志寄存器中标识出来,例如,运算结果有进位,则进位标志位CF=1,否则为0。
3.何谓IA-32处理器? 答:
《微机原理与接口技术》复习题
Intel公司推出了32位结构的80386微处理器后,确定了80386芯片的指令集结构(Instruction Set Architecture)为以后开发80X86系列处理器的标准,称其为Intel 32位结构(Intel Architecture-32,IA-32),后来的80486、Pentium等微处理器统称为IA-32处理器,或称32位80X86处理器。
4.什么叫总线?总线包括哪三种? 答:
所谓总线,它将多个功能部件连接起来,并提供传送信息的公共通道,能为多个功能部件分时共享,CPU通过总线连接存储器和I/O接口等,构成了微型计算机。
这里指的总线(BUS)包括地址总线、数据总线和控制总线三种。
5.地址总线的作用是什么? 答:
地址总线(Address Bus,AB),通常是CPU用来发出地址信息的,用于对存储器和I/O接口进行寻址。
6.什么叫溢出?判断溢出的方法是什么? 答: (1)溢出通常指计算机运算的结果超出了计算机所能允许的围。本章所讲的溢出是指用补码实现加/减运算后,若参与操作的两数在定义域,但运算结果超出了字长围补码所能允许表示的值,所计算出的结果产生了错误,称之为溢出。
(2)加/减运算判断溢出的方法: 如果把加/减法运算都变成补码相加,则两个正数相加可能产生正的溢出,两个负数相加可能会产生负的溢出,正负两数相加不会产生溢出。
具体实现的方法是:两个操作数运算后,用最高位和次高位产生的进位位异或,异或结果为1,则表示有溢出,结果为0,表示无溢出。例如:两个8位数运算后,溢出标志
OF=C6⊕C7
7.假设四种CPU主存地址分别为16根、20根、24根以及32根,试问每种CPU可寻址存多少字节?
16202432
解:每种CPU可寻址存分别是:2=64KB、2=1MB、2=16MB、2=4GB。
8.在一般指令格式中,由哪两部分组成? 答:
由操作码和操作数组成。
9.设字长为16位,将下列十进制数转换成二进制数、十六进制数以及BCD数。 ① 65 ② 129 ③ 257 ④ 513 解:
- -
2
. ① 65=01000000B=41H=(0110 0101)BCD
② 129=10000001B=81H=(0001 0010 1001)BCD ③ 257=100000001B=101H=(0010 0101 0111)BCD ④ 513=1000000001B=201H=(0101 0001 0011)BCD
10.设字长为8位,写出x、y的原码、反码和补码,并且用补码计算x+y,问是否有溢出?
① x=-78 y=35 ② x=-64 y=-66 解:
① x=-78 y=35
[X]原=11001110, [X]反=10110001, [X]补=10110010 [Y]原=00100011, [Y]反=00100011, [Y]补=00100011 [X]补+[Y]补=10110010+00100011=11010101, 无溢出。 ② x=-64 y=-66
[X]原=11000000, [X]反=10111111, [X]补=11000000 [Y]原=11000010, [Y]反=10111101, [Y]补=10111110 [X]补+[Y]补=11000000+10111110=01111110, 有溢出。
11.试用8位二进制写出以下数、字母以及控制命令的ASCⅡ码,还要写出它们各自的奇校验、偶校验、标记校验及空格校验的ASCⅡ码。
① B ② 8 ③ CR ④ NUL
解:各自对应的奇校验、偶校验、标记校验及空格校验的ASCⅡ码如表1所示。
表1 数、字母以及控制命令的ASCⅡ码
数、字母以及控制命令 B 8 奇校验 11000010 00111000 00001101 10000000 偶校验 01000010 10111000 100001101 000000000 标记校验 11000010 10111000 10001101 10000000 空格校验 01000010 00111000 00001101 00000000 CR NUL
12.设两个BCD数X=1000 1001,Y=0111 0101,试用列竖式的方法计算X+Y,注意要做加6修正运算。
解:
1000 1001 0111 0101
1111 1110 结果不正确 110 个位加6修正 1 0000 0100 结果还不正确
.
《微机原理与接口技术》复习题
+ 110 十位加6修正 1 0110 0100 结果正确
13.若规格化32位浮点数N的二进制存储格式为41360000H,求其对应的十进制数值。 解:
41360000H=0 10000010 01101100000000000000000B
SE-1270130-127
N=(-1)×(1.M)×2=(-1)×(1.011011)×2 3
=1.011011×2=1011.011=11.375D
14.微机中的存储器是如何编址的? 答:
在微机中,存储器均按字节(一字节由8位二进制信息组成)编址,即每个字节有一个二进制的地址编码。给每个存储单元分配的一个固定地址,称为单元地址。
15.微型计算机的硬件系统由那些部件组成? 答:
微型计算机的硬件系统主要由运算器、控制器、存储器、输入设备及输出设备五大部分组成。
16.计算机的主要性能指标有哪些?
答:字长、CPU的主频、主存储器的容量及外存储器的容量等。
第2章
1.微型计算机可以工作在哪三种工作模式下? 答:
微处理器可以工作在:实地址模式、保护模式及虚拟8086模式共三种。
2.如何从实模式转变到保护模式? 答:
通过对CPU中的控制寄存器CR0中的b0位置1,即保护允许位PE置1,于是系统进入保护模式。这是由操作系统程序来实现的。
3.实模式有哪些特征? 答:
实地址模式(Real-Address Mode)也称实模式,简单地说,是指80286以上的微处理器所采用的8086的工作模式。在实模式下,采用类似8086 CPU的体系结构,其寻址机制,尤其是存储器寻址,以及中断处理机制均和8086相同。在实模式下,关键是CPU寻址空间
- -
4
. 只有1MB(00000H~FFFFFH),也是采用分段管理存储器的方式,将存储器分成四种类型的段,每段存储空间最大为64KB。将1MB的存储空间保留两个区域:一个是中断向量表区(00000~003FFH),这是1KB的存储空间,用于存放256个中断服务程序的入口地址(中断向量),每个中断向量占4字节。
4.16位微处理器有哪些通用寄存器? 答:
AX、BX、CX、DX、SI、DI、SP和BP。
5.16位微处理器有哪4个段寄存器?每个段寄存器的作用是什么? 答:
4个段寄存器分别是代码段寄存器CS、数据段寄存器DS、附加段寄存器ES及堆栈段寄存器SS。
(1)代码段寄存器CS是一个随机存取存储区,用来保存微处理器使用的程序代码。在8086系统中,代码段寄存器CS定义了代码段的起始地址。代码段的最大存储空间为64KB。
(2)数据段寄存器DS也是一个随机存取存储区,用来保存程序执行过程中所使用的数据及存放程序运行后的结果。数据段寄存器DS定义了数据段的起始地址,其最大存储空间也是64KB。
(3)附加段寄存器ES是为某些串操作指令存放操作数而附加的一个数据段。与数据段类似,附加段寄存器ES定义了附加段的起始地址,其最大存储空间也为64KB。
(4)堆栈段寄存器SS是一个特殊的随机存取存储区,用来临时保存程序执行过程中有关寄存器的容、程序的地址信息及传递参数等。堆栈段寄存器SS与堆栈指针SP共同确定堆栈段的存取地址。其最大存储空间为64KB。
6.如何理解32位微处理器的通用寄存器与16位的通用寄存器兼容? 答:
虽然32位微处理器将8086原来的8个16位通用寄存器AX、BX、CX、DX、SI、DI、BP、SP均扩展成(Extended)32位的寄存器,即EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP。但是,它保留了原来的8个16位寄存器和8个8位的寄存器,仍然可以使用它们编程,当然,所编写的程序仍然可以在32位机上运行。既可以用32位寄存器编程,还可以用16位及8位寄存器编程,这就实现了寄存器的兼容。
7.什么叫段基地址?什么叫偏移地址? 答:
编程人员在编程时,只能涉及到逻辑地址,而不能涉及到实际地址。逻辑地址在实模式下,它由段基地址与段偏移地址组成,习惯上写为“段基地址:偏移地址”,实模式下,段基地址与段偏移地址都是16位,段基地址是段起始地址的高16位,说明每个段在主存中的起始位置,段偏移地址也称“偏移量”,是所要访问存储单元距离起始地址之间的字节距离。
.