1、堆栈指针进行修改时,要特别注意什么问题?为什么?答:1.必须先修改堆栈段寄存器SS的值,接着修改堆栈指针SP的值。2.因为,CPU在修改段寄存器值时不响应中断,待下一条指令执行后才响应中断。这样对SS、SP的修改是一个完整的过程。否则先修改SP后修改SS则可能中断响应而分开修改,导致堆栈指针的错误,因此CS、IP、FR进入错误的堆栈区域而破坏该单元的数据或程序。2.33 在编写中断处理子程序时,为什么要在子程序中保护许多寄存器?有些寄存器即使在中断处理子程序中并没有用到也需要保护,这又是为什么(联系串操作指令执行时遇到中断这种情况来回答)?答:1.因为中断处理子程序运行时需要使用CPU内部的寄
2、存器,这些寄存器的值发生了改变。因此若不加保护在返回原程序时就修改了断点处的现场,而使程序不能正常运行。2.因为串操作指令允许在执行过程中进入中断,若与串操作有关的寄存器未保护好,中断返回时串操作指令就不能正常继续运行。而且还有隐含寻址问题。2.34 一个可屏蔽中断响应时,CPU要执行哪些读/写周期?对一个软件中断又如何?答:1.对可屏蔽中断响应,CPU要执行的读/写周期如下: 执行两个中断响应总线周期。并取得中断类型码。 执行一个总线写周期。标志寄存器FR值入栈。 执行一个总线写周期。CS值入栈。 执行一个总线写周期。IP值入栈。 执行一个总线读周期。读取中断处理子程序入口地址的偏移量IP。
3、 执行一个总线读周期。读取中断处理子程序入口地址的段地址CS。2.若是一个软件中断,则跳过上述第步,而执行步。2.35 中断处理子程序在结构上一般是怎样一种模式?答: 保护中断时的现场,即保护CPU各寄存器的值。 一般应置IF=1来开放中断,以允许级别较高的中断请求进入。 中断处理的具体内容。 恢复中断时的现场。 中断返回指令。2.36 软件中断有哪些特点?在中断处理子程序和主程序的关系上,软件中断和硬件中断有什么不同之处?答:1.软件中断有如下特点: 用一条中断指令进入中断处理子程序,并且,中断类型码由指令提供。 进入中断时,不需要执行中断响应总线周期。 不受中断允许标志IF的影响。 软件中
4、断的优先级最高。 软件中断没有随机性。2.软件中断允许在主程序和中断处理子程序之间传递数据。而硬件中断由于是随机的,所以不能传递数据。2.37 系统中有多个总线模块时,在最大模式和最小模式下分别用什么方式来传递总线控制权?答:1.8086/8088在最小模式下用总线控制联络信号(HOLD和HLDA)来传递总线控制权。2.8086/8088在最大模式下用总线请求/总线允许信号及释放信号/和/来传递总线控制权。2.38 8086存储空间最大为多少?怎样用16位寄存器实现对20位地址的寻址?答:1.8086存储空间最大为220=1MB。2.采用分段的方法实现16位寄存器实现对20位地址的寻址。物理地
5、址=段基址10H+偏移地址2.39 IBM PC/XT系统中,哪个区域为显示缓冲区?哪个区域用来存放中断向量?在FFFF0H到FFFFFH单元中存放什么内容?答:1.B0000HB0F9FH约4KB为单色显示器的显示缓冲区;B8000BBF3FH约16KB为彩色显示器的显示缓冲区。2.00000H003FFH共1KB区域用来存放中断向量。3.在FFFF0H到FFFFFH单元中存放一条无条件转移指令,转到系统的初始化程序。第 3 章 8086的寻址方式和指令系统略第 4 章 存储器和高速缓存技术4.1 计算机的内存有什么特点?内存由哪两部分组成?外存一般指哪些设备?外存有什么特点?答:1.内存可
6、被CPU直接访问,内存的存取速度快,内存的空间大小受到地址总线位数的限制。2.内存由ROM和RAM两部分组成。3.外存一般指软盘、硬盘、磁带机上的磁带及光盘。4.外存的特点是大容量,所存信息即可修改,又可长期保存。但外存速度慢,要配置专用设备。4.2 用存储器件组成内存时,为什么总是采用矩阵形式?请用一个具体例子进行说明。答:1.为了简化选择内存内部单元的地址译码电路及减少译码线数量。2.例如,要组成1K字节的内存,若不用矩阵组织这些单元,而是将它们一字排开,就要1024条译码线才能实现对这些单元的寻址。译码电路也因此而很复杂。若用3232来实现排列,就只要32条行选择线和32条列选择线就可以
7、了。因此其译码电路也将变得较为简单。4.3 为了节省存储器的地址译码电路,一般采用哪些方法?答: 存储器件按矩阵排列; 内存按模块结构设计; 模块内再进行分组处理。4.4 在选择存储器件时,最重要的考虑因素是什么?此外还应考虑哪些因素?答:1.最重要的考虑因素是:易失性、只读性、位容量和速度。2.此外还应考虑:功耗、可靠性和价格等因素。4.5 什么叫静态RAM?静态RAM有什么特点?答:1.在电源不断电的情况下,信息一旦写入后不会丢失的RAM就叫静态RAM。2.静态RAM的特点有:不需刷新,因此简化了外部电路;但位容量较类似方法设计的动态RAM少,且功耗较大。4.6 静态RAM芯片上为什么往往
8、只有写信号而没有读信号?什么情况下可以从芯片读得数据?答:1.因为在存储器中,当允许信号有效之后,一定是进行读/写操作,非写即读。因此,只用写信号就可以即控制写操作,又控制读操作。在写操作时,写脉冲发生器送来一个负脉冲作为写入信号;在读操作时,写脉冲发生器不产生负脉冲,而是使端处于高电平,此高电平就用来作为读出信号。2.当芯片允许信号=0及写信号=1时,可以从芯片上读得数据。4.7 在对静态存储器进行读/写时,地址信号要分为几个部分?分别产生什么信号?答:1.地址信号分为三个部分。如:A19A14,A13A12,A11A0。2.例中A19A14用来作为模块选择信号,地址译码器判断A19A14给
9、出的模块选择信号和本模块的约定信号是否匹配,如匹配,则再根据或产生内部的模块选择信号;A13A12产生4个矩阵的芯片允许信号;A11A0则作为矩阵内部的行地址和列地址。4.8 动态RAM工作时有什么特点?和静态RAM比较,动态RAM有什么长处?有什么不足之处?动态RAM一般用在什么场合?答:1.动态RAM工作时需要对其存储的信息定时(约2ms)刷新一次。因此需要刷新控制电路来支持。2.动态RAM的优点(长处)为:动态RAM的位密度高;动态RAM的功耗较低;动态RAM的价格低廉,适合于大容量使用。3.动态RAM的缺点(不足之处)为:要配置刷新逻辑电路;在刷新周期中,内存模块不能启动读周期或写周期
10、。4.动态RAM一般用在大容量、低功耗场合。4.9 动态RAM为什么要进行刷新?刷新过程和读操作比较有什么差别?答:1.因为动态RAM是利用电容的存储作用来保存信息的,但电容由于放电或泄漏,电荷保存时间较短(约2ms),若不及时补充电荷会使存放的数据丢失,因此需定时刷新以补充所需要的电荷。2.刷新过程是由刷新逻辑电路定时完成的,且每次对所有模块的一行同时刷新,数据不输出,数据总线处于高阻状态。读过程是随机的,每次选中一个存储单元(8位),且数据输出到数据总线上。4.10 动态RAM控制器完成什么功能?Intel 8203从功能上分为哪两部分?叙述这两部分的工作原理。答:1.动态RAM控制器要完
11、成的功能有:刷新定时器产生刷新周期并提供各种时序信号,并对CPU的读/写操作及刷新操作进行仲裁;刷新地址计数器提供刷新用的行地址,并通过多路转换器进行地址切换。2.Intel 8203从功能上分为:地址处理部分和时序处理部分两个。3.地址处理部分用来处理动态RAM正常读/写时的地址信号(正常的行/列地址合用一组地址线的区分)和刷新过程中的地址信号(区分正常的行地址及刷新周期的行地址)。时序处理部分通过一个基准时钟来产生各种时序;通过一个仲裁器来解决刷新请求和内存正常读/写请求之间的矛盾。内部有两级同步电路用来对外部请求信号实现同步。4.11 ROM、PROM、EPROM分别用在什么场合?答:
12、ROM用在一个计算机系统完成开发以后,容纳不再修改的程序和数据。且批量产量要大的场合。 PROM用于非批量的场合。 EPROM用于软件或系统的开发阶段及批量很小的场合。第 5 章 微型计算机和外设的数据传输5.1 外部设备为什么要通过接口电路和主机系统相连?存储器需要接口电路和总线相连吗?为什么?答:1.因为外设的功能多种多样,对于模拟量信息的外设必须要进行A/D和D/A转换,而对于串行信息的外设则必须转换为并行的信息,对于并行信息的外设还要选通。而且外设的速度比CPU慢的多,必须增加缓冲功能。只有这样计算机才能使用这些外设。而所有这些信息转换和缓冲功能均由接口电路才能完成。2.存储器不需要接
13、口电路和总线相连。3.因为存储器功能单一,且速度与CPU相当。因此可直接挂在CPU总线上。5.2 是不是只有串行数据形式的外设需要接口电路和主机系统连接?为什么?答:1.不是。并行数据形式的外设也需要接口电路和主机系统连接。2.因为,CPU每次只能访问一个外设,因此并行信息的外设需增加选通功能,才能满足CPU的访问要求,必须用接口电路。5.3 接口电路的作用是什么?按功能可分为几类?答:1.接口电路的作用就是在外设和CPU之间起信息变换和缓冲功能。2.按功能可分为两类: 一种是使微处理器正常工作所需要的辅助电路。 另一种是输入/输出接口电路。5.4 数据信息有哪几类?举例说明它们各自的含义。答
14、:1.数据信息有四类:数字量、模拟量、开关量、脉冲量。2.如键盘、磁带机等就是数字量信息;温度、湿度、压力等转换的电信号就是模拟量;电机的起停、发光设备的亮灭等都是开关量;计数脉冲、定时脉冲等都是脉冲量。5.5 CPU和输入/输出设备之间传送的信息有哪几类?答:有数据信息、控制信息、状态信息三类。5.6 什么叫端口?通常有哪几类端口?计算机对I/O端口编址时通常采用哪两种方法?在8086/8088系统中,用哪种方法对I/O端口进行编址?答:1.CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口。2.有数据端口、控制端口、状态端口三类。3.在微型计算机中通
15、常用两种I/O端口编址方式:存储器映象寻址和I/O端口单独寻址。4.在8086/8088系统中,用I/O端口单独寻址方式编址。5.7 为什么有时候可以使两个端口对应一个地址?答:因为这两个端口一个是只读端口,一个是只写端口。而CPU对一个I/O端口地址可进行读/写两种访问。如果将这两个只读和只写端口编为一个地址,则CPU对该端口地址读操作对应的是只读端口;CPU对该端口地址写操作则对应的是只写端口,互不影响。因此可以使两个单向的只读和只写端口对应一个端口地址。5.8 CPU和外设之间的数据传送方式有哪几种?实际选择某种传输方式时,主要依据是什么?答:1.CPU和外设之间的数据传送方式有三种:程
16、序方式、中断方式、DMA方式。2.主要依据是外设的情况(外设的速度和外设提供信息的方式)。5.9 无条件传送方式用在哪些场合?画出无条件传送方式的工作原理图并说明。答:1.无条件传送方式只用在对一些简单外设进行操作的场合。如开关、LED显示等。2.无条件传送方式的工作原理图:(见书203页图5.2所示) 在无条件输入时:CPU执行一条输入指令,使和M/信号为有效低电平,并对应送出该端口地址,因此选中输入缓冲器,打开其三态门,使输入缓冲器的数据经数据总线送到CPU的累加器中。 在无条件输出时:CPU执行一条输出指令,使和M/信号为有效低电平,并对应送出该端口地址,因此选中输出锁存器,将由累加器送
17、到数据总线上的数据打入输出锁存器中供外设使用。5.10 条件传送方式的工作原理是怎样的?主要用在什么场合?画出条件传送(查询)方式输出过程的流程图。答:1.条件传送方式的工作原理是:外设给CPU提供一个状态信息,当CPU要访问外设时,必须先检测该状态信息是否合乎要求,不停检测直至合乎要求时才进行CPU对外设的访问。2.查询方式主要用在外设较少,数据交换不频繁的非实时系统的场合。开始初始化外设空吗?CPU从内存取数由累加器输出给外设外设空吗?YNNY后续处理3.查询式输出过程的流程图如右:5.11 设一个接口的输入端口地址为0100H,而它的状态端口地址为0104H,状态口中第5位为1表示输入缓
18、冲区中有一个字节准备好,可输入。设计具体程序实现查询式输入。答:DATASEGMENTBUFFERDB20DUP(?);接收数据缓冲区DATAENDSCODESEGMENTASSUME DS:DATA,CS:CODESTAT:MOVAX,DATA;对DS初始化MOVDS,AXMOVDI,OFFSET BUFFERMOVDX,0104HSTATIN:INAL,DXTESTAL,20H;测试第5位JZSTATIN;第5位为0继续测试MOVDX,0100HINAL,DX;输入数据MOVDI,ALCODEENDSENDSTAT5.12 查询式传送方式有什么缺点?中断方式为什么能弥补查询方式的缺点?答:
19、1.查询式传送方式缺点是:花费CPU的时间作等待循环,大大降低了CPU的运行效率。2.中断方式是在外设准备就绪时向CPU申请中断,再进行传送,因而CPU无需花费时间作等待循环,弥补了查询方式的缺点。5.13 画一个用中断方式进行输出传输的接口电路。答:中断方式输出的接口电路如下:DB数据锁存器输出设备RQ DACK+5V中断屏蔽触发器Q中断请求Q DBUSY+5VINTR (中断请求)选通信号M/IOWRINTA端口译码AB5.14 叙述可屏蔽中断的响应和执行过程。答: 接口发中断请求信号。 CPU的IF=1时,当前指令执行完后,CPU进行中断回答,发两个负脉冲。 接口将中断类型号n送CPU。
20、 当前的PSW、CS和IP推入堆栈,并清除IF和TF。 (4n)作为IP,(4n+2)作为CS,即取中断向量。 执行中断子程序,并开中断。 中断返回IRET指令使IP、CS和PSW弹出堆栈。 返回被中断的程序。5.15 通常解决中断优先级的方法有哪几种?各有什么优缺点?答:1.有软件查询方式、简单硬件方式菊花链法、专用硬件方式三种。2.软件查询方式的优点是节省硬件,缺点是中断响应时间长;简单硬件方式的优点是中断响应时间短,硬件较简单,缺点是优先级固定,变动起来很麻烦;专用硬件方式优点是对优先级可编程修改,中断管理非常方便,缺点是硬件复杂的多,好在有专用的中断控制器。5.16 和DMA比较,中断
21、传输方式有什么不足之处?答:CPU执行一次传送要花费许多与传送操作无关的指令执行等时间,另外中断传送方式不能进行数据块传送,而是按字节或字传送。5.17 叙述用DMA方式传送单个数据的全过程。答: 接口准备就绪,发DMA请求信号给DMA控制器。 DMA控制器向CPU转发总线请求信号HOLD。 CPU向DMA控制器发总线请求允许信号HLDA,DMA控制器得到总线控制权。 DMA控制器把地址送地址总线。 DMA控制器向接口发DMA请求确认信号。 内存和接口通过数据总线传送数据。 DMA控制器撤销总线请求信号HOLD。 8086 CPU收回总线控制权。5.18 DMA控制器的地址线为什么是双向的?什么时候往DMA控制器传输地址?什么时候DMA控制器往地址总线传输地址?答:1.因为DMA控制器要接受CPU的控制,接收CPU发来的初始化等信息,这要求地址线来寻址各端口,地址线