计算机硬件基础第七章(未完成版)

一、简答题(20分)

1.归纳总结CPU和外设交换数据的传送方式的优缺点。

1、程序查询方式
优点: 当计算机工作任务较轻或CPU不太忙时,程序拆线呢输入输出传送方式能较好地协调外设与CPU之间的定时的差别,程序和接口电路也比较简单。
缺点: CPU必须作程序等待循环,不断测试外设的状态,直至外设为交换数据准备就绪时为止。这种循环等待方式很花费时间,大大降低了CPU的运行效率,也很难使每一个外设都工作在最佳工作状态。并且实时性较差。
注: 适用于CPU不太忙,传送速度要求不高的场合。要求各种外设不能同时工作,外设处于被动状态。
2、中断方式
优点: 大大提高了CPU的工作效率,增加了系统的实时性能。
缺点: 无法保证及时处理。需要进行保护现场和恢复现场,这对于高速外设来说太慢了,且编程复杂。
注: 适用于CPU的任务较忙、传送速度要求不高的场合,尤其适合实时控制中的紧急事件处理。
3、DMA方式
优点: 让外设接口可以直接与内存进行告诉的数据传输,而不必经过CPU,这样就不必进行保护现场之类的额外操作,可以实现对存储器对的直接存取。大批量数据传输很快。大大提高了传输的速度和效率。响应很快,能够及时处理。
缺点: 对外设的管理和某些操作仍需要CPU承担。外设数量增多,多个DMA同时使用,会引起访问主机冲突。接口电路复杂,硬件开销大。
注: 适用于存储器与存储器之间、存储器与外设之间的大批量数据传送的场合。

2.假设某8259A的A0接CPU的地址总线A1,若其中一个口地址22H,问另外一个口地址是为多少?若某外设的中断类型码是5EH,则该中断源应加到8259A中的中断请求寄存器IRR的哪个输入端?

在8086当中,A0接CPU的地址总线A1,22H = 00100010B,
00100011B = 23H,所以另一个端口地址为23H。
外设的中断类型码为5EH = 01011110B,而110B = 6,所以接IR6。
(中断类型码的高五位由ICW2的高五位决定,低三位是由引入中断请求的引脚IR7~IR0决定的。)

3.8259A的特殊的全嵌套方式应用在什么场合?如何向CPU送出中断类型码?

特殊的全嵌套方式在处理某一级中断时,允许响应嵌套同级的中断请求。通常,特殊的全嵌套方式适用于多个8259A级联的系统。在这种情况下,对主片编程时,让其工作于特殊的全嵌套方式,而对从片编程时,仍让处于其他优先级方式(包括全嵌套方式以及优先级自动循环方式或优先级特殊循环方式)
8259A由中断控制逻辑部件产生中断类型码,
在单片的情况下:当8259A接收到第二个INTA负脉冲后,8258A向 DB 送出中断类型码 n 由CPU接收这个类型码 n ,
在级联的情况下:当收到第一个INTA负脉冲后,如果不是主8259A产生的中断,则主8259A通过CAS输出从片ID,通过验证的从8259A负责相应CPU,从8259A接收到第二个INTA负脉冲后,向 DB 发送中断类型码 n ,由CPU接收。

4.简述8086中断系统响应可屏蔽中断的全过程。

1、中断请求信号INTR由外部设备接口电路产生并送至8086的INTR引脚上。
2、由 IF 标志决定CPU是否响应。
3、CPU从外部设备接口电路读取中断类型号 n ,CPU通过 INTA 引脚向向中断接口电路发送响应信号,,启动中断过程。
4、保护断点和现场。
5、清除 IF 和 TF 标志。
6、取中断向量新值。
7、得到中断入口地址,CPU转入中断服务程序。
8、执行STI指令,允许中断嵌套。
9、执行IRET指令,恢复现场。
10、返回断点。

二、初始化及编程(30分+15分)

1.已知某8086微处理器的非屏蔽中断(NMI)服务程序的入口地址标号为NMITS,试编写一段程序将入口地址填写到中断向量表中。

CLI
MOV DI,02H*4
CLD
XOR AX,AX
MOV ES,AX
MOV AX,SEG NMITS
STOSW
STI

2.如果需要在8255A的PC3输出连续的方波(高电平时间和低电平时间一样),如何用C口的置位与复位控制命令字编程实现?(程序中高低电平的时间用一延时子程序实现)

首先假设 8255A 的端口号为 0000H-0003H
且初始化控制字为 AL = 1XXX 0XX0(由于 PC3 是低四位,且做输出,最后一位必须为 0 ,X 不妨设为 0 )
对 PC3 置位 1 ,那么 AL = 0XXX 0111 = 0000 0111(不妨让 X 为 0)
对 PC3 复位 0 ,那么 AL = 0XXX 0110 = 0000 0110

MOV DX,0003H;8255A控制口地址
MOV AL,1000 0000B;设置初始化方式控制字,D7必须为 1 ,D0必须为 0 ,由于不用PA,PB其他位任意。
OUT DX,AL;送控制字到控制口
MOV AL,0000 0110B;由C口复位为设定 PC0 = 0
A:OUT DX,AL;让C口输出低电平\高电平
CALL DELAY;延时程序
JMP A;循环调用 A 实现连续输出方波

3.试按照如下要求对8259A设定初始化命令字:8086系统中只有一片8259A,中断请求信号使用电平触发方式,全嵌套中断优先级,数据总线无缓冲,采用中断自动结束方式。中断类型码为20H~27H,8259A的端口地址为B0H和B1H。

ICW1:1BH 送 B0H端口
D0 = 1(要设置工作模式)
只有一片 8259A 故采用单片方式   D1 = 1
D2 = 0(默认)
D3 = 1
D4 = 1(默认)
因此 ICW1 = 00011001
MOV AL,00011001B
MOV DX,0B0H
OUT DX,AL
ICW2:20H 送B1H端口
中断类型码为20H-27H 因此ICW2 = 0010 0000
MOV AL,00100000B
MOV DX,0B1H
OUT DX,AL
ICW3:没有级联,所以不需要。
ICW4: 03H 送 B1H 端口
D0 = 1(8086/8088 默认)
D1 = 1(自动结束)
D2 = 0
D3 = 0(无缓冲)
D4 = 0(无嵌套)
D5 - D7 = 0
MOV AL,00000011B
OUT 0B1H,AL

三、选择题(50分)

1.用中断控制方式进行输入/输出的特点是______。
A.可以快速地进行成批数据传送
B.通过查询设备的状态位决定传送的时机
C.适合如开关和数码段显示器之类的外设
D.适合中低速的外设通过实时方式进行数据传送

A选项:DMA比较适合大批量数据传送。
B选项:适合使用程序查询方式
C选项:适合使用无条件传送方式(同步传送)。

2.在DMA方式下,数据从 内存传送到外设 的路径是______。
A.内存→CPU→总线→外设 B.内存→DMAC→外设
C.内存→数据总线→外设 D.外设→CPU→内存

外设接口直接与内存进行高速的数据传输,不必经过CPU。

在这里插入图片描述

3.响应 NMI 请求的必要条件是______。
A.IF=1 B.IF=0 C.一条指令结束 D.无 INTR 请求

NMI请求(非屏蔽中断信号)是不能用指令禁止和允许中断的。
不管标志位 IF 的状态如何,CPU都能响应。
INTR和NMI引脚上都有中断请求信号,则CPU将首先响应NMI引脚上的中断请求。

4.CPU响应INTR中断和NMI中断的相同必要条件是______。
A.开放所有可屏蔽中断 B.当前访问内存结束
C.总线空闲 D.当前指令执行结束

中断传送在每一条指令执行的结尾阶段,才会去查询是否有中断请求信号。

5.8086微处理器最多可处理______。
A.3种不同类型的中断 B.256种不同类型的中断
C.128种不同类型的中断 D.1024种不同类型的中断

8086微处理器中共有256种不同类型的中断。
8086的中断系统将256个中断向量制成了一个中断向量表,每个向量包含四个字节
两个低地址字节是 IP 偏移地址,两个高地址字节是 CS 段地址。

6.8086微处理器的中断优先级中,从高到底正确的优先级是______。
A.软件中断→非屏蔽中断→可屏蔽中断 B.非屏蔽中断→可屏蔽中断→软件中断
C.可屏蔽中断→非屏蔽中断→软件中断 D.软件中断→可屏蔽中断→非屏蔽中断
在这里插入图片描述

7.8086微处理器中,17H中断对应的中断处理程序的首地址存放在______。
A.0000:0017H开始的4个单元中 B.0000:002EH开始的4个单元中
C.0000:005EH开始的4个单元中 D.0000:005CH开始的4个单元中

CPU对中断类型编码的编号 n 乘以 4 得到 4n 指向该中断向量的首字节。
17H × 4 = 5CH

8.8086微处理器在响应外部可屏蔽中断时,第一步工作做的是______。
A.从数据总线上读取中断类型码 B.将标志寄存器的值推入堆栈
C.中断允许寄存器IF清零 D.将断点保护到堆栈

CPU响应中断时,首先从外部设备接口电路读取中断类型号 n .
然后将 PS、CS和IP的当前内容压入堆栈,以保护现场和断点。
然后清除 IF 和 TF 标志。

9.8086微处理器从开始响应外部中断请求,到进入中断处理子程序的过程中,可屏蔽中断和非屏蔽中断响应主要差别描述正确的是______。
A.可屏蔽中断要清IF标志位,非屏蔽中断不需要清IF标志位
B.可屏蔽中断要把标志寄存器入栈,非屏蔽中断不需要把标志寄存器入栈
C.可屏蔽中断要把断点入栈,非屏蔽中断不需要把断点入栈
D.可屏蔽中断要从数据总线读取中断类型码,非屏蔽中断不需要从外部读取中断类型码

CPU响应NMI中断请求时,不需要从外部设备接口电路读取中断类型号,因为其中断类型号已经预先定义为类型 2。

10.通常,一个可屏蔽中断服务程序的第一条指令是STI,其目的是______。
A.开放所有可屏蔽中断 B.允许响应低一级中断
C.允许响应高一级中断 C.允许响应同一级中断

CPU进入中断入口并保护现场后要用软件(STI)开中断,以便在执行中断服务程序时能响应更高级别的中断请求。

11.当8255A工作于方式1输入状态时,用来确定端口是否输入数据的信号是______。
A.#ACK B.INTR C.#OBF D.#STB

12.当8255A工作在方式1输出时,通知外设将数据取走的信号是______。
A.#ACK B.INTR C.#OBF D.IBF

13.8255A的A口工作在方式1输出时,可用来通知CPU再次输出数据的信号是______。
A.#OBFA或INTRA B.IBFA 和#STBA C.#IBFA和#ACKA D.IBFA或INTRA

14.设对8255A控制口地址输出控制字86H,则设置A、B端口的工作方式描述正确的是__g。
A.A口工作在方式1,输出;B口工作在方式1,输出;
B.A口工作在方式0,输出;B口工作在方式1,输出
C.A口工作在方式0,输出;B口工作在方式1,输入
D.A口工作在方式0,输出;B口工作在方式0,输入

15.采用两片8259A进行级连的方式,最多可处理______个中断源。
A.8 B.15 C.16 D.64

最多可处理中断源的数目 = 7N + 1(N为8259A的数目,且 0 < N < 10)

16.下面关于8259可编程中断控制器的叙述中,错误的是______。
A.在CPU对8259A初始化编程时,若4个初始化命令字都需写入,则必须按ICW1~ICW4的顺序进行
B.多片8259A级联使用时,中断源最多只能扩展到16个
C.CPU在向8259A写完初始化命令字后,为了进一步提高它的中断处理能力,可继续向8259A写入操作命令字
D.8259A的每一个中断源如需要都可以用中断屏蔽寄存器进行屏蔽

最多可处理中断源的数目 = 7N + 1(N为8259A的数目,且 0 < N < 10)
所以多片8259A级联使用时,中断源最多可以扩展到 64 个

17.给某8259A设置ICW2确定各中断源的中断类型码时,如果要求其IR3的中断类型码是7BH,则错误的设置值是______。
A.78H B.7BH C.7FH D.76H

中断类型码的高五位是由ICW2的高五位确定的,中断类型码的低三位是由引入中断请求的引脚IR7~IR0决定的。

18.8259A工作在中断优先级全嵌套方式下,意味着______。
A.在处理某一中断时,允许响应级别更高的中断请求
B.在处理某一中断时,允许响应同级的中断请求
C.当一个中断源被响应后,其优先级将自动排到最低
D.初始优先级由编程决定的

中断优先级全嵌套方式(普通全嵌套方式):若在初始化编程后,没有设置其他优先级方式,则8259A会自动进入全嵌套方式。在处理中断的过程中,中断请求按优先级 0 ~ 7 进行处理。只有当更高级别的中断请求到来时,才能进行嵌套;当同级中断请求到来时,则不予以响应。

19.下面是关于8259A可编程中断控制器的叙述,其中错误的是______。
A.8259A具有将中断源进行优先级管理的功能
B.一片8259A的8个中断对应的中断类型码可以单独设置
C.8259A具有向CPU提供中断类型码的功能
D.两片8259A级联使用时,可将中断源扩展到15个

8259A用于在有多个中断源的系统中,协助CPU实现对外部中断请求的管理,对他们进行优先权排队以及选中当前优先权最高的中断向CPU发送中断请求。
在CPU响应中断后,8259A可在中断响应周期内提供响应的中断类型号,使CPU立即转向中断入口地址去执行中断程序。
中断类型码的具体值不但与8259A的ICW2相关,还与引入中断的引脚序号有关。(高五位由ICW2的高五位决定,低三位由引入中断的引脚序号决定。)

20.下面是关于8259A可编程中断控制器的叙述,其中错误的是______。
A.每个中断源均可屏蔽或允许
B.多片8259A通过级联最多可扩展至64级中断
C.可实现非屏蔽中断的优先级管理
D.8259A的各种工作参数均可通过编程实现

每一级中断都可以由程序单独屏蔽和允许。
8259A只可以实现可屏蔽中断的优先级管理
8259A的中断处理功能和各种工作方式,都是通过编程设置的。

21.当多片8259A级联时,为了实现从片中断源的优先级管理,主片的优先级管理方式是______。
A.特殊的全嵌套方式 B.全嵌套方式
C.普通EOI循环方式 D.特殊EOI循环方式

特殊的全嵌套方式适用于多个8259A级联的系统。

22.当用8259A中断控制器时,其中断服务程序在返回前对8259A的偶地址口输出一个EOI命令字的一般目的是______。
A.要用它屏蔽该正在被服务的中断,使其不再发生中断
B.要用它来清除该中断服务寄存器中对应位,以允许同级或低级的中断能被响应
C.要用它来清除该中断服务寄存器中对应位,以免重复响应该中断
D.要用它来清除该中断服务寄存器中对应位,以允许更高级的中断能被响应

普通EOI方式:一旦中断服务结束,将给 8259A 送出 EOI 结束命令,8259A将使当前中断服务程序对应的ISRi位清零,并使系统仍工作在非循环的的优先级方式下。这种编码一般用于系统预先被设置为全嵌套(包括特殊全嵌套)的工作情况。

23.有关主程序和中断处理程序以及主程序调用子程序特点描述错误的是____。
A.中断处理程序和子程序调用都有实现断点保护,保护的内容是一样的
B.子程序的执行是由程序员事先安排好的,而中断处理程序的执行是由随机的中断事件引起的
C.子程序的执行受到主程序或上层程序的控制,而中断处理程序一般和被中断的现行程序没有关系
D.主程序不可能同时调用多个子程序,但存在多个外设同时请求CPU进行中断处理的情况

内容并不相同,程序状态字(PSW)寄存器用于记录当前处理器的状态和控制指令的执行顺序,并且保留与运行程序相关的各种信息,主要作用使实现程序状态的保护和恢复。所以中断处理程序要将PSW保存,子程序的调用,不会更改PSW。

24.8086微处理器在响应中断时,下面描述正确的是______。
A.标志寄存器(PSW)入栈、返回地址CS:IP入栈、通用寄存器入栈都由硬件自动完成
B.标志寄存器(PSW)入栈、返回地址CS:IP入栈由硬件自动完成,通用寄存器入栈由中断服务程序完成
C.只需要保护断点(返回地址),其它的不需要保护
D.只需要保护标志寄存器和通用寄存器

若允许响应,则CPU必须在执行完现行指令后,保护断点和现场(即把断点处的断点地址和各寄存器的内容与标志位的状态推入堆栈),然后再转到需要处理的中断读物程序的入口。

25.以下叙述错误的是______。
A.一个更高级的中断请求一定可以中断另一个中断处理程序的执行
B.DMA和CPU必须分时使用总线
C.DMA在数据传送时不需CPU参与
D.DMA中有中断机制

该中断请求可能被屏蔽了。
DMA有两种方式,一种是查询方式,一种是中断方式。
查询方式是通过查询标志位来判定DMA结束,中断方式是DMA结束的时候返回中断,在程序中不需要一直查询标志位。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值