微型计算机技术及应用第四版习题和答案.docx

上传人:b****6 文档编号:5992079 上传时间:2023-01-02 格式:DOCX 页数:31 大小:111.03KB
下载 相关 举报
微型计算机技术及应用第四版习题和答案.docx_第1页
第1页 / 共31页
微型计算机技术及应用第四版习题和答案.docx_第2页
第2页 / 共31页
微型计算机技术及应用第四版习题和答案.docx_第3页
第3页 / 共31页
微型计算机技术及应用第四版习题和答案.docx_第4页
第4页 / 共31页
微型计算机技术及应用第四版习题和答案.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

微型计算机技术及应用第四版习题和答案.docx

《微型计算机技术及应用第四版习题和答案.docx》由会员分享,可在线阅读,更多相关《微型计算机技术及应用第四版习题和答案.docx(31页珍藏版)》请在冰豆网上搜索。

微型计算机技术及应用第四版习题和答案.docx

微型计算机技术及应用第四版习题和答案

微型计算机技术及应用(第四版)

习题和答案

第二章

1、8088与8086的区别

[解答]①外部数据总线位数不同。

8086外部数据总线16位,在一个总线周期内可以输入/输出一个字(16位数据),而8088外部数据总线8位,在一个总线周期内只能输入/输出一个字节(8位数据)。

②指令队列缓冲器大小不同。

8086指令队列可容纳6个字节,且在每一个总线周期中从存储器取出2个字节的指令代码填入指令队列;而8088指令队列只能容纳4个字节,在一个机器周期中取出一个字节的指令代码送指令队列。

③部分引脚的功能定义有所区别。

(1)AD15-AD0的定义不同。

在8086中都定义为地址/数据分时复用引脚;而在8088中,由于只需要8条数据线,因此,对应于8086的AD15-AD8这8根引脚在8088中定义为A15-A8,它们在8088中只做地址线用。

(2)引脚28和34的定义不同。

在最大方式下,8088的第34引脚保持高电平,在最小模式时,8088和8086的第28引脚的控制信号相反,而8086的第34引脚为BHE/S7,BHE用来区分是传送字节、还是字,8088的第34引脚为SS0,用来指出状态信息,不能复用。

(3)引脚28的有效电平高低定义不同。

8088和8086的第28引脚的功能是相同的,但有效电平的高低定义不同。

8088的第28引脚为IO/M,当该引脚为低电平时,表明8088正在进行存储器操作;当该引脚为高电平时,表明8088正在进行I/O操作。

8086的第28引脚为M/IO,电平与8088正好相反。

2、根据8086CPU的存储器读写时序图,请说明:

   

(1)地址信号应在哪些时间内有效?

   

(2)读、写动作发生在什么时间内?

   (3)为什么读与写数据的有效时间长短不一样?

  (4)T1状态下数据/地址线上是什么信息?

数据信息是什么时候给出?

[解答]地址信号只在T1状态时有效,并被锁存起来。

读动作发生在T3、T4状态,而写动作发生在T2、T3、T4状态。

读与写数据的有效时间长短不一样是因为CPU的速度与外设的速度不相匹配所造成的。

T1状态下数据/地址线上是地址信息,数据信息是在T2状态,由AD15-AD0给出。

3、8086CPU形成三大总线时,为什么要对部分地址线进行锁存?

用什么信号控制锁存?

[解答]为了确保CPU对存储器和I/O端口的正常读/写操作,需要求地址和数据同时出现在地址总线和数据总线上。

而在8086CPU中有AD0-AD15部分总线是地址/数据复用的,因此需在总线周期的前一部分传送出地址信息,并存于锁存器中,而用后一部分周期传送数据。

8086CPU中是通过CPU送出的ALE高电平信号来控制锁存的。

4、BHE信号的作用是什么?

试说明当起始地址为奇地址、偶地址、一次读写一个字节和一个字时,BHE和A0的状态。

[解答]BHE信号的作用是高8位允许引脚。

若BHE为0则表示对一个字进行操作,即高8位有效,若BHE为1则表示对一个字节进行操作,即高8位无效。

当起始地址为奇地址时,一次读写一个字节时,BHE为1,A0状态为1;当起始地址为偶地址时,一次读写一个字节时,BHE为1,A0状态为0;当起始地址为奇地址时,一次读写一个字时,BHE为0,A0状态为1;当起始地址为偶地址时,一次读写一个字时,BHE为0,A0状态为0。

5、CPU在8086的微机系统中,为什么常用AD0作为低8位数据的选通信号?

[解答]在8086系统中,常将AD0作为低8位数据的选通信号,因为每当CPU和偶地址单元或偶地址端口交换数据时,在T1状态,AD0引脚传送的地址信号必定为低电平,在其他状态,则用来传送数据.而CPU的传输特性决定了只要是和偶地址或偶地址端口交换数据,那么,CPU必定通过总线低8位(AD7-AD0)传输数据.可见,如果在总线周期的T1状态,AD0为低电平,实际上就指示了在这一总线周期中,CPU将用总线低8位和偶地址单元或偶地址端口交换数据。

6、系统中有多个总线模块时,在最大模式和最小模式下分别用什么方式来传递总线控制权?

[解答]在最小模式下总线控制权是通过HOLD引脚来实现的,当系统中CPU之外的另一个模块要求占用总线时,通过此引脚向CPU发一个高电平的请求信号。

这时,如果CPU允许让出总线,就在当前总线周期完成时,于T4状态从HOLD引脚发出一个回答信号,对刚才的HOLD请求作出响应。

同时,CPU使地址/数据总线和控制状态线处于浮空状态。

总线请求部件收到HLDA信号后,就获得了总线控制权。

在最大模式下总线控制权是通过LOCK、RQ/GT1,RQ/GT0引脚来实现的,首先,总线模块通过RQ/GT1向CPU发出一个请求信号,并通过RQ/GT0来接受CPU的响应,如果LOCK为低电平,则总线请求部件就获得了总线控制权。

1、8086CPU在内部结构上的主要特点是什么?

[解答]:

8086CPU在内部结构上从结构上可分为:

总线接口部件BIU和执行部件EU。

它是16位微处理器有16根数据线20根地址线,内部寄存器、内部运算部件以及内部操作都是按16位设计的。

2、什么是流水线结构?

流水线操作有什么好处?

试举一个例子说明流水线操作的过程。

[解答]:

流水线结构是把处理执行部件分成几个功能不同的处理执行部件,不同的处理执行部件就可以同时并行工作,分别负责不同的任务.这样的好处是可以实现多任务重叠执行,以提高效率。

例如:

有一任务共可以分成N个子任务,每子任务需要时间T,则完成该个任务需要时间NT。

若单独执行方式完成K个任务,则共需要时间K*NT。

若采用流水线执行方式完成K个任务,则共需要时间NT+(K-1)T。

当K较大时,很明显K*NT》NT+(K-1)T

3、画出8086CPU各寄存器图,并声明每个寄存器的作用。

[解答]8086CPU各寄存器图如图:

1)四个通用寄存器:

AX,BX,CX,DX既可以作16位寄存器使用,也可以作8位寄存器使用。

2)四个专用寄存器:

BP用作基数指针寄存器,SP用作堆栈指针寄存器,SI用作源变址寄存器,DI用作目的变址寄存器。

3)四个段地址寄存器:

CS为16位的代码段地址寄存器,DS为16位的数据段地址寄存器,ES为16位的扩展段地址寄存器,SS为16位的堆栈段地址寄存器。

4)IP为16位的指令指针寄存器

5)标志寄存器有16位,其中7位未用,各位的含义如下:

(1)标志有6个,即SF、ZF、PF、CF、AF、和OP。

符号标志SF:

与运算结果的最高位相同。

零标志ZF:

若结果为零则为1,若结果非零则为0。

奇/偶标志PF:

若运算结果的低8位有1的个数为偶数,则PF为1,否则为0。

进位标志CF:

若运算中有进位或有借位时,则为1。

另外循环指令也会影响该位。

辅助进位标志AF:

当加法运算时,如果第三位往第四位有进位或者当减法时,如果第三位从第四位有借位,则AF为1。

另外,辅助进位标志一般在BCD码运算中作为是否进行十进制调整的判断依据。

溢出标志OF:

当运算过程中产生溢出时,

(2)标志有3个,即DF、IF、TF。

方向标志DF:

这是控制串操作指令用的标志。

如果DF为0,则串操作过程中地址会不断增加;反之,如果DF为1,则串操作过程中地址会不断减少。

中断标志IF:

这是控制可屏蔽中断的标志.如果IF为0,则CPU不能对可屏蔽中断请求作出响应;如果IF为1,则CPU可以接受可屏蔽中断请求.

跟踪标志TF:

如果TF为1,则CPU按跟随方式执行指令.

会使OF为1。

4、总线接口部件有哪些功能?

请逐一说明。

[解答]:

总线接口部件的功能是负责与存储器、I/O端口传送数据。

具体讲,总线接口部件要从内存取指令队列;CPU执行指令时,总线接口部件要配合执行部件从指定的内存单元或者外设端口中取数据,将数据传送给执行部件,或者把执行部件的操作结果传送到指定的内存单元或外设端口中。

5、8086的总线接口部件有那几部分组成?

[解答]:

8086的总线接口部件有以下4部分组成:

(1)4个段地址寄存器,即:

CS——16位的代码段寄存器,DS——16位的数据段寄存器,ES——16位的扩展段寄存器,SS——16位的堆栈段寄存器;

(2)16位的指令指针寄存器IP

(3)20位的地址加法器

(4)6字节的指令队列

6、8086的执行部件有什么功能?

由那几部分组成?

[解答]:

执行部件的功能是负责指令的执行。

8086的执行部件有:

(1)4个通用寄存器:

AX,BX,CX,DX;

(2)4个专用寄存器:

即基数指针寄存器BP,堆栈指针寄存器SP,原变址寄存器SI,目的变址寄存器DI。

(3)标志寄存器

(4)算术逻辑单元

7、状态标志和控制标志又何不同?

8086的状态标志和控制标志分别有哪些?

[解答]:

状态标志表示前面的操作执行后,算术逻辑部件处在怎样一种状态,这种状态会像某种先决条件一样影响后面的操作。

状态标志有6个,即SF、ZF、PF、CF、AF和OF。

控制标志是人为设置的,指令系统中有专门的指令用于控制标志的设置和清除每个控制标志都对某一种特定的功能起控制作用。

控制标志有3个,即DF、IF、TF。

程序中用专门的指令对它们进行操作。

8、总线周期的含义是什么?

8086/8088的基本总线周期由几个时钟组成?

如果一个CPU的时钟频率(主频)为24MHz,那么,它的一个时钟周期为多少?

一个基本总线周期为多少?

[解答]:

总线周期的含义是计算机执行一条访问内存或端口的机器指令的时间;8086/8088的基本总线周期由4个时钟周期组成;如果CPU的时钟频率为24MHz,那么它的一个时钟周期为(T=1/F)41.5ns,一个基本总线周期为(4T)166ns;

9、在总线周期的T1、T2、T3、T4状态,CPU分别执行什么动作?

什么情况下需要插入等待状态Tw?

Tw在哪儿插入?

[解答]:

在总线周期的T1、T2、T3、T4状态,CPU分别执行的动作是:

(1)在T1状态,CPU往多路复用总线上发出地址信息,以指出要寻址的存储单元或处设端口的地址;

(2)在T2状态,CPU从总线上撤消地址,而使总线的低16位浮置成高阻状态,为传输数据作准备。

总线的最高4位(A19-A16)用来输出本总线周期状态信息,这些状态信息用来表示中断允许状态、当前正在使用的段寄存器名等;

(3)在T3状态,多路总线的高位继续提供状态信息,而多路总线的低16位(8088则为低8位)上出现由CPU的数据或者CPU从存储器或者CPU从存储器或端口读入或端口读入的数据;

(4)在T4状态,总线结束。

在有些情况下,外设或存储器速度较慢,不能及时地配合CPU传送数据。

这时,外设或存储器会通过“Ready”信号在T3状态启动前向CPU发一个“数据未准备好”信号,于是CPU会在T3之后插入1个或多个附加的时钟周期Tw。

1、80386的MMU功能块具体有什么功能?

逻辑地址、线性地址、物理地址分别由其中什么部件管理?

[解答]MMU的功能就是实现存储器的管理,它由分段部件和分页部件组成。

前者管理面向程序员的逻辑地址空间,并且将逻辑地址转换为线性地址;后者管理物理地址空间,将分段部件或者指令译码部件产生的线性地址转换为物理地址。

2、80386有哪三种工作方式?

为什么要这样多工作方式?

[解答]80386有三种工作方式,一种叫实地址方式,另一种叫保护虚拟地址方式,还有一种叫虚拟8086方式。

80386在刚加电或者复位时便进入实地址方式,主要是为80386进行初始化用的。

完成初始化后,便立即转到保护方式,此方式提供了多任务环境中的各种复杂功能以及复杂存储器组织的管理机制。

在保护方式下,80386才充分发挥其强大的功能和本性。

虚拟8086方式可以使大量的8086软件有效地与80386保护方式下的软件并发运行,可以是80386保护方式中多任务操作的某一个任务。

3、80386的实地址方式用于什么时候?

为什么说它是为建立保护方式作准备的方式?

实地址工作方式有什么特点?

[解答]80386的实地址方式用于为80386进行初始化用的,为在该工作方式下所需要的数据结构做好各种配置和准备,因此,这是一种为建立保护方式作准备的方式。

实地址工作方式的特点:

(1)寻址机构、存储器管理、中断处理机构均和80386一样。

(2)操作数默认长度为16位,但允许访问80386的32位寄存器组,在使用时,指令中要加上前缀以表示越权存取。

(3)不用虚拟地址的概念,存储器容量最大1M字节。

(4)实地址方式下,存储器中保留两个固定区域,一个为初始化程序区,另一个为中断向量区。

(5)80386具有4个特权级,实地址方式下,程序在最高级(0级)上执行。

4、虚拟8086方式有什么特点?

为什么要设置这种方式?

[解答]其特点如下:

(1)可以执行8086的应用程序。

(2)段寄存器的用法和实地址方式时一样,即段寄存器内容左移4位加上偏移量为线性地址。

(3)存储器寻址空间为1M字节,可以使用分页方式,将1M字节分为256个页面,每页4K字节。

在80386多任务系统中,可以其中一个或几个任务使用虚拟8086方式。

此时,一个任务使用的全部页面可以定位于某个物理地址空间,另一个任务的页面可以定位于其他区域,即每个虚拟8086方式下的任务可以转换到物理存储器的不同位置,这样,把存储器虚拟化了,虚拟8086方式的名称正是由此而来。

(4)虚拟8086方式中,程序在最低特权级上运行,因此,80386指令系统中的一些特权指令不能使用。

设置这种方式是因为虚拟8086方式是80386中很重要的设计特点,他可以使大量的8086软件有效的与80386保护方式下的软件并发运行。

5、80386的标志寄存器中,哪些是状态标志?

哪些是控制标志?

哪些是系统方式标志?

[解答]状态标志:

CF、PF、AF、ZF、SF、OF、NT。

控制标志:

DF、IF、TF、IOPL。

系统方式标志:

VM、PF。

6、什么叫段基地址?

它有多少位?

什么叫选择子?

选择子作用?

[解答]段基地址是指每段的起始地址,有32位;选择子是用于查找段基地址和段属性的参数,作用是用来选描述符。

7、80386的段描述符寄存器中包含哪些内容?

[解答]80386的段描述符寄存器中(64位)包括段基地址(32位)、段界限值(20位)、属性值(12位)。

其中属性包括:

是否存在内存、特权值级别(2位)、是否已存取过、粒度、扩展方向、可读、可写、可执行。

1、80386的流水线技术主要体现在哪两个方面?

[解答]指令流水线和地址流水线。

2、指令流水线由哪些部件构成?

这些部件的主要功能分别是什么?

[解答]指令流水线是由总线接口部件、指令预取部件、指令译码部件和执行部件构成。

它们的功能如下:

总线接口部件BIU:

其是80386和计算机系统与其他部件之间的高速接口。

它控制着32位数据总线和32位地址总总线的信息传输。

总线接口部件最主要的操作就是响应分段部件和分页部件的请求,实现读取指令和存取数据的功能。

指令预取部件IPU:

在总线周期时从存储器读取指令放入16字节的指令预取队列,每当队列有部分字节或产生一次控制转移后,指令预取部件就向总线接口部件发总线请求信号,如果没有其它总线周期请求,那么,总线接口部件就响应该请求,使指令预取队得到补充。

指令译码部件IDU:

对指令进行译码,它从指令预取队列中取出指令并将其译成内部代码,再将这些代码送入先进先出译码指令列中,等待执行部件处理。

执行部件EU:

由运算器等一系列的寄存器,包括控制ROM在内的控制部件和测试部件组成,后者能对复杂的存储器保护功能进行快速测试。

3、80386的逻辑地址,线性地址,物理地址分别指什么?

它们的寻址能力分别为多少?

[解答]逻辑地址:

程序员所看到和使用的地址,也叫虚拟地址,逻辑地址可表示为:

段选择器:

偏移地址。

80386段内偏移地址为32位,在保护方式下,可实现对16384(214)个段的管理,它的寻址能力为46位,故可提供的虚拟存储空间为64TB(246)。

      线性地址:

通过段描述符表将含选择子和偏移量的逻辑地址转化成32位的线性地址其寻址为32位,即232=4GB。

       物理地址:

指出了存储单元在存储体中的具体位置。

若段内不分页,那么线性地址就是物理地址。

寻址空间为32位,即232=4GB。

4、地址流水线由哪些部件组成?

地址流水线技术具体是如何体现的?

[解答]地址流水线有分段部件、分页部件和总线接口部件构成。

地址流水线技术具体体现在如下方面:

(1)有效地址的形成:

分段部件把各地址分量送到一个加法器中,各地址分量可能有立即数和另外一、二个寄存器给出的值构成。

(2)逻辑地址与物理地址的转换:

有效地址通过(另一个)加法器和段基址相加,得到线性地址。

(3)线性地址与物理地址的转化:

由分页部件将线性地址转换成物理地址。

三个动作的重叠进行,通常一个操作还在总线上进行时,下一个物理地址就已经算好了,充分体现了流水的特点。

5、80386采用哪几种描述符表?

这些表的设置带来什么优点?

[解答]80386共设计三中描述符表即:

全局描述符表,局部描述符表,中断描述符表。

采用描述符表带来如下三方面的优点:

1.可以大大扩展存储空间;2.可以实现虚拟存储;3.可以实现多任务隔离。

6、分页部件用什么机制实现线性地址往物理地址的转换?

[解答]映射的第一步是查询CR3,CR3的高20位指向页组目录项表;映射的第二步是将线性地址的高10位作为页组项号从页组目录项表中找出所需要的项,此项的首字节地址就是项地址,它由CR3的高20位和线性地址高10位乘4所得的值组成;第三步是查询相应页组目录对应的页表,一个页表也占4K字节,内含1024个页表项;有了页表项,再将其中高20位和线性地址的最低12位合起来就得到了所得的物理地址。

7、段选择子存与何处?

它有什么作用?

概述段选择子是如何从GDT或LDT中选择一个描述符的。

[解答]段选择子存于段寄存器中。

段选择子的第0,1位RDL用来定义此段使用的特权级别,第2位T1称为描述表的指示符,用来指出此描述符在哪个当前描述符表中,如T1为1,则在CDT中,如T1为0,则在GDT中,高13位是段描述符索引依次指出所在选项在描述符表中的位置。

第三章

1、8086/8088的指令有哪些寻址方式?

它们的具体含义是什么?

指令中如何表示它们?

[解答]:

8086/8088指令系统的寻址方式分为两大类:

数据寻址方式和地址寻址方式。

数据寻址方式可分为立即数寻址方式、寄存器寻址方式、存储器寻址方式和I/O端口寻址方式四种类型。

存储器寻址方式又分为:

直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址变址寻址方式、基址变址相对寻址方式。

地址寻址方式可分为段内直接寻址方式、段内间接寻址方式、段间直接寻址方式、段间间接寻址方式。

2、分别指出下列指令中源操作数和目的操作数的寻址方式:

(1)MOVAX,1000H

(2)MOVAX,ES:

1000H

(3)MOV[BX],AL(4)MOVDI,[SI]

(5)ADDAX,[BX+4](6)SUBAX,[BX+DI+5]

(7)MOV[DI+2],AX(8)ADDAX,[BP+DI-7]

[解答]:

(1)立即寻址和寄存器寻址;

(2)直接寻址和寄存器寻址

(3)寄存器寻址和间接寻址;(4)间接寻址和寄存器寻址;

(5)基址寻址和寄存器寻址;(6)基址变址寻址和寄存器寻址;

(7)寄存器寻址和变址寻址;(8)基址变址寻址和寄存器寻址;

3、指出下列指令是否合法:

(1)MOVAX,DL

(2)MOV[BX],5

(3)ADDAX,5(4)MOVDS,1000H

(5)PUSHCH(6)POPCS

(7)ADDES,AX(8)MOVSS,CS

(9)DECBX(10)INC[BX]

[解答]:

(1)类型不一致;

(2)两个操作数的类型都不明确;(3)正确;

(4)立即数不能直接送段寄存器;(5)栈操作是字操作,不能进行字节操作;

(6)POP指令的操作数不能是CS;

(7)段寄存器仅能做MOV指令和栈操作指令的操作数,不能作累加器;

(8)段寄存器间不能传送;(9)正确;

(10)类型不明确,不知是字加1,还是字节加1。

4、写出MOVAH,[BX+DI+50H]的机器语言编码。

5、写出ADDAX,[BX+DI+0826H]的机器语言编码。

此指令的存储器有效地址EA=BX+DI+0826H,其指令功能是(EA)+(AX)→AX中。

6、写出指令MOV[BX+DI-8],CL的机器语言编码(假设在80386/80486上是16位操作)。

这条指令可用符号写成MOVmem,reg的形式,源操作数是寄存器寻址,目的数是存储器寻址方式,故此指令的编码形式为:

由于目的数是存储器寻址,D=0和reg域指定了源寄存器。

CL寄存器的reg编码是001B,它与W=0一起表示一个8位操作数。

至此编码又可进一步写成如下形式:

取r/m的值为001B,是对[BX+DI+disp]的寻址计算。

位移量disp8的范围是在-128到+127之间,-6为FAH。

当mod=01B时,为选取8位位移量,则指令MOV[BX+DI-6],CL的完整编码如下:

第4章存储器和高速缓存技术

1、微型计算机中存储器分成哪几个等级?

它们各有什么特点?

用途如何?

[解答]微型计算机中存储器分为外部存储器和内部存储器。

外存容量大,但存取速度慢,且cpu使用外存信息时需先把信息送到内存中。

内存容量小,存取速度快,其信息cpu可直接使用,故外存存放相对来说不经常使用的程序和数据。

另外,外存总是和某个外部设备有关。

内存容纳当前正在使用的或者经常使用的程序和数据。

2、什么是直接寻址范围?

地址线的多少与它有什么关系?

[解答]直接寻址范围就是利用地址线可寻址的最大地址范围,以地址线的位数为指数,以2为底数的幂为最大直接寻址范围。

3、根据你对CPU和各种存储器的了解,一个微型计算机是如何开始工作的?

[解答]计算机工作时,一般先由ROM(ReadOnlyMemory,只读存储器)中的引导程序,启动系统,再从外存中读取系统程序和应用程序,送到内存的RAM(RandomAccessMemory,随机存取存储器)中。

在程序的运行过程中,中间结果一般放在内存RAM中,程序结束时,又将结果送到外存。

4、存储器的存取时间是什么意思?

它在系统设计时有什么实际意义?

[解答]存储器的存取时间是指存储器接收到稳定的地址输入到完成操作的时间,系统设计时可以据此考虑数据传输、总线的选择和时序安排。

5、什么是随机存储器?

它在系统中起什么作用?

[解答]随机存取是指对所有的存储单元都可以用同样的时间访问,起到暂时保存中间结果和运行的程序。

6、什么是只读存储器?

它在系统中起什么作用?

[解答]存储器被写入后,只能被读出而不能用通常的办法重写或改写,以保存启动程序和部分固化系统程序段作用。

7、RAS、CAS信号有什么用?

请画一个原理图并说明它们是如何产生的?

[解答]RAS和CAS是提供给外部RAM的行地址和列地址的选通信号。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1