2. 在微机系统中,缓冲器和锁存器各起什么作用?
答:缓冲器多用在总线上,可提高总线驱动能力、隔离前后级起到缓冲作用,缓冲器多半有 三态输出功能。
锁存器具有暂存数据的能力,能在数据传输过程中将数据锁住,然后在此后的任何时 刻,在输出控制信号的作用下将数据传送出去。
3. 什么叫I/O 端口?一般的接口电路中可以设置哪些端口?计算机对I/O 端口编址时采用哪 两种方法?在8086/8088CPU 中一般采用哪些编址方法?
答:在CPU 与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。在接口 电路中,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统称为I/O 端口。
一般的接口电路中可以设置数据端口、状态端口和命令端口。
计算机对I/O 端口编址时采用两种方法:存储器映像寻址方式、I/O 单独编址方式。 在8086/8088CPU 中一般采用I/O 单独编址方式。 4. CPU 与外设间传送数据主要有哪几种方式?
答:CPU 与外设间的数据传送方式主要有:程序控制方式、中断方式、DMA 方式。 程序控制传送方式:CPU 与外设之间的数据传送是在程序控制下完成的。⑴无条件传 送方式:也称为同步传送方式,主要用于对简单外设进行操作,或者外设的定时是固定的或 已知的场合。 ⑵条件传送:也称为查询式传送方式,在开始传送前,必须先查询外设已处 于准备传送数据的状态,才能进行传送。
采用中断方式:CPU 平时可以执行主程序,只有当输入设备将数据准备好了,或者输
出端口的数据缓冲器已空时,才向CPU 发中断请求。CPU 响应中断后,暂停执行当前的程 序,转去执行管理外设的中断服务程序。在中断服务程序中,用输入或输出指令在CPU 和 外设之间进行一次数据交换。等输入或输出操作完成之后,CPU 又回去执行原来的程序。 DMA 方式:也要利用系统的数据总线、地址总线和控制总线来传送数据。原先,这些
总线是由CPU 管理的,但当外设需要利用DMA 方式进行数据传送时,接口电路可以向CPU 提出请求,要求CPU 让出对总线的控制权,用DMA 控制器来取代CPU,临时接管总线, 控制外设和存储器之间直接进行高速的数据传送。这种控制器能给出访问内存所需要的地址 信息,并能自动修改地址指针,也能设定和修改传送的字节数,还能向存储器和外设发出相 应的读/写控制信号。在DMA 传送结束后,它能释放总线,把对总线的控制权又交还给CPU。 5. 说明查询式输入和输出接口电路的工作原理。
答:查询式传送方式也称为条件传送方式。一般情况下,当CPU 用输入或输出指令与外设 交换数据时,很难保证输入设备总是准备好了数据,或者输出设备已经处在可以接收数据的 状态。为此,在开始传送前,必须先确认外设已处于准备传送数据的状态,才能进行传送, 于是就提出了查询式传送方式。
查询式传送方式的工作过程:
在传送数据前,CPU 要先执行一条输入指令,从外设的状态口读取它的当前状态。如 果外设未准备好数据或处于忙碌状态,则程序要转回去反复执行读状态指令,不断检测外设 状态;如果该外设的输入数据已经准备好,CPU 便可执行输入指令,从外设读入数据。 查询式输入方式的接口电路如下:
查询式输入方式的工作过程:
当输入设备准备好数据后,就向I/O 接口电路发一个选通信号。此信号有两个作用:一 方面将外设的数据打入接口的数据锁存器中,另一方面使接口中的D 触发器的Q 端置l。 CPU首先执行IN指令读取状态口的信息,这时M/ IO和RD信号均变低,M/ IO为低,使 I/O译码器输出低电平的状态口片选信号CS1。CS1和RD经门1 相与后的低电乎输出,使
三态缓冲器开启,于是Q 端的高电平经缓冲器(1 位)传送到数据线上的READY(D0)位,并 被读入累加器。程序检测到READY 位为1 后,便执行IN指令读数据口。这时M/ IO和RD 信号再次有效,先形成数据口片选信号CS2 ,CS2 和RD 经门2 输出低电平。它一方面开 启数据缓冲器,将外设送到锁存器中的数据经8 位数据缓冲器送到数据总线上后进入累加 器,另一方面将D 触发器清0,一次数据传送完毕。接着就可以开始下一个数据的传送。当 规定数目的数据传送完毕后,传送程序结束,程序将开始处理数据或进行别的操作。 查询式输出方式的接口电路如下:
查询式输出方式的工作过程:
当CPU 准备向外设输出数据时,它先执行IN 指令读取状态口的信息。这时,低电平的 M/ IO和有效的端口地址信号使I/O 译码器的状态口片选信号CS1变低,CS1再和有效的 RD 信号经门l 相与后输出低电平,它使状态口的三态门开启,从数据总线的D1 位读入 BUSY 状态。若BUSY=l,表示外设处在接收上一个数据的忙碌状态。只有在BUSY=0 时, CPU 才能向外设输出新的数据。当CPU 检查到BUSY=0 时,便执行OUT 指令将数据送向 数据输出口。这时低电平的M/ IO使I/O 译码器的状态口片选信号CS2变低,CS2再和 WR 信号经门2 相与后输出低电平的选通信号,它用来选通数据锁存器,将数据送向外设。 同时,选通信号的后沿还使D 触发器翻转,置Q 为高电平,即把状态口的BUSY 位置成l, 表示忙碌。当输出设备从接口中取走数据后,就送回一个应答信号ACK,它将D 触发器清 0,即置BUSY=0,允许CPU 送出下一个数据。
6. 简述在微机系统中,DMA 控制器从外设提出请求到外设直接将数据传送到存储器的工作 过程。
答:DMA 方式,外设向內存传输数据的过程:
当一个接口中有数据要输入时,就向DMA 控制器发送DMA 请求; DMA 控制器接收 到请求后,便往控制总线上发一个总线请求;如果CPU 允许让出总线,则发一个总线允许 信号;DMA 控制器接到此信号后,就将地址寄存器的内容送到地址总线上,同时往接口发 一个DMA 回答信号,并发一个1/O 读信号和一个内存写信号;接口接到 DMA 回答信号 以后,将数据送到数据总线上,并撤除DMA 请求信号;内存在接收到数据以后,一般往 DMA 控制器回送一个准备好信号,DMA 控制器的地址寄存器内容加 1 或减 1,计数器的 值减1,而且撤除总线请求信号,这样,就完成了对一个数据的DMA 输入传输。DMA 传 输结束时,往接口发一个结束信号,向CPU 交回总线控制权。其状态寄存器的传输结束标 志置“1”。查询时,CPU 在主程序中通过查询状态寄存器的传输结束标志,决定是否进行 后续处理。
7. 某一个微机系统中,有8 块I/O 接口芯片,每个芯片占有8 个端口地址,若起始地址为 300H,8 块芯片的地址连续分布,用74LS138 做译码器,试画出端口译码电路,并说明每 块芯片的端口地址范围。
答:
8. 什么叫总线?总线分哪几类?在微型计算机中采用总线结构有什么好处?
答:在微型计算机系统中,将用于各部件之间传送信息的公共通路称为总线(BUS)。 总线分三类:片级总线、系统总线、外部总线。 在微型计算机中采用总线的好处有:
(1)总线具有通用性,只要按统一的总线标准进行设计或连接,不同厂家生产的 插件板可以互换,不同系统之间可以互连和通信,很适合于大批量生产、组装和调 试,也便于更新和扩充系统。
(2)对于用户来说,可以根据自身需要,灵活地选购接口板和存储器插件,还可 以根据总线标准的要求,自行设计接口电路板,来组装成适合自己应用需要的系统
或更新原有系统。
9. PC 总线和ISA 总线各用于何种类型的微型计算机中?它们的数据总线各有多少根? 答:IBM PC/XT 使用的总线称为PC 总线,有8 条数据线。 ISA 总线又称AT 总线,是以80286 为CPU 的PC/AT 机及其兼容机所用的总线,具有 16 条数据线。
10. PCI 总线有哪些主要特点?根据PCI 总线引脚图和典型时序图,说明如何完成PCI 突发 读交易。
答:PCI 总线的特点:
(1)PCI 总线传输数据的位数为32 位,也可扩展到64 位。32 位PCI 总线在读写传送中, 以33MHz 的频率进行,传输速率为132MB/s,当数据宽度为64 位时,以66MHz 的频率运 行,传输速率高达528MB/s。
(2)PCI 总线支持突发传送方式(Burst Transfer)。
(3)PCI 总线支持即插即用(Plug and Play,PnP)功能。
(4)PCI 总线与微处理器之间不直接相连,而是通过与CPU 结构无关的中间部件桥接器 相连。
PCI 总线突发读交易的过程:
PCI 突发读交易以周期帧信号FRAME#有效后开始进行PCI 交易,交易的第一个时钟 周期为地址时段,此时主设备通过驱动地址总线寻址目标,驱动PCI 命令确定交易类型。 因PCI 的地址线/数据线(AD)和命令信号(C/BE#)都是分时复用的,所以每个PCI 目标 设备在下一个时钟周期的上升沿将地址信号和命令信号锁存,然后经译码,确定自己是否是 本次寻找的目标和将要交易的类型是什么。PCI 目标确定自己是交易的目标后,则将设备选 择信号DEVSEL#置为有效状态,向交易的启动方声明本次交易有效。在主设备的IRDY#和 目标设备的TRDY#都有效的情况下可以连续进行交易,传送多个数据,直至交易结束为止。 第七章
1. 什么叫中断?什么叫可屏蔽中断和不可屏蔽中断?
答:当CPU 正常运行程序时,由于微处理器内部事件或外设请求,引起CPU 中断正在运行 的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕, 再返回被中止的程序,这一过程称为中断。
可屏蔽中断由引脚INTR 引入,采用电平触发,高电平有效,INTR 信号的高电平必须 维持到CPU 响应中断才结束。可以通过软件设置来屏蔽外部中断,即使外部设备有中断请 求,CPU 可以不予响应。当外设有中断申请时,在当前指令执行完后,CPU 首先查询IF 位, 若IF=0,CPU 就禁止响应任何外设中断;若IF=1,CPU 就允许响应外设的中断请求。 不可屏蔽中断由引脚NMI 引入,边沿触发,上升沿之后维持两个时钟周期高电平有效。 不能用软件来屏蔽的,一旦有不可屏蔽中断请求,如电源掉电等紧急情况,CPU 必须予以 响应。
2. 列出微处理器上的中断引脚和与中断有关的指令。 答:INTR:可屏蔽中断请求输入引脚。 NMI:不可屏蔽中断请求输入引脚 INTA :可屏蔽中断响应引脚
INT n :软件中断指令,其中n 为中断类型号
INTO:溢出中断,运算后若产生溢出,可由此指令引起中断。 CLI:中断标志位IF 清0 STI:置位中断标志位为1
3. 8086/8088 系统中可以引入哪些中断?
答:(1)外部中断
两种外部中断:不可屏蔽中断NMI 和可屏蔽中断INTR (2)内部中断
内部中断又称软件中断,有三种情况引起: ①INT n :中断指令引起的中断
②CPU 的某些运算错误引起的中断:包括除法错中断和溢出中断 ③由调试程序debug 设置的中断:单步中断和断点中断。 4. CPU 响应中断的条件是什么?简述中断处理过程。 答:CPU 响应中断要有三个条件:
外设提出中断申请;本中断位未被屏蔽;中断允许。 可屏蔽中断处理的过程一般分成如下几步:
中断请求;中断响应;保护现场;转入执行中断服务子程序;恢复现场和中断返回。 CPU 在响应外部中断,并转入相应中断服务子程序的过程中,要依次做以下工作: ⑴从数据总线上读取中断类型号,将其存入内部暂存器。
⑵将标志寄存器PSW 的值入钱。 ⑶将PSW 中的中断允许标志IF 和单步标志TF 清0,以屏蔽外部其它中断请求,避 免CPU 以单步方式执行中断处理子程字。 ⑷保护断点,将当前指令下面一条指令的段地址CS 和指令指针IP 的值入栈,中断 处理完毕后,能正确返回到主程序继续执行。
⑸根据中断类型号到中断向量表中找到中断向量,转入相应中断服务子程序。 ⑹中断处理程序结束以后,从堆栈中依次弹出IP、CS 和PSW,然后返回主程序断点 处,继续执行原来的程序。
5. 中断服务子程序中中断指令STI 放在不同位置会产生什么不同结果?中断嵌套时,STI 指令应如何设置?
答:由于响应中断时CPU 自动关闭中断(IF=0),故在中断服务子程序中STI 指令后方可 实现中断嵌套。一般在中断服务子程序中保护现场后即设置开中断指令STI(IF=1),以便 实现中断嵌套。
6. 中断结束命令EOI 放在程序不同位置处会产生什么不同结果?
答:中断结束命令EOI 后,清除中断服务寄存器中的标志位,即允许响应同级或低级中断, 为避免错误,一般将中断结束命令EOI 置于中断服务子程序结束前。 7. 中断向量表的功能是什么?
答:中断向量表又称中断服务程序入口地址表。
将每个设备的中断服务程序入口地址(矢量地址)集中,依次放在中断向量表中。当CPU
响应中断后,控制逻辑根据外设提供的中断类型号查找中断向量表,然后将中断服务程序的 入口地址送到段寄存器和指令指针寄存器,CPU 转入中断服务子程序,这样可大大加快中 断处理的速度。
8086/8088 系统允许处理256 种类型的中断,对应类型号为0~FFH。在存储器的
00000H~003FFH,占1K 字节空间,用作存放中断向量。每个类型号占4 个字节,高2 个字 节存放中断入口地址的段地址,低2 个字节存放段内偏移地址。
8. 假定中断类型号15 的中断处理程序的首地址为ROUT15,编写主程序为其建立一个中断 向量。 PUSH ES MOV AX,0 MOV ES,AX
MOV DI,54H ;15H*4
MOV AX,OFFSET ROUT15 ;中断处理程序的偏移→AX CLD STOSW
MOV AX,SEG ROUT15 ;中断处理程序的段地址→AX STOSW
POP ES
9. 8086/8088CPU 如何获得中断类型号? 答:对于内部中断
①INT n :n 即为中断类型号
②除法错中断自动获得类型号0,INTO 溢出中断自动获得中断类型号4 ③单步中断自动获得类型号1,断点中断自动获得类型号3。 对于外部中断: ① 不可屏蔽中断 NMI:自动获得中断类型号2
② 可屏蔽中断 INTR:
CPU 响应可屏蔽中断,对中断接口电路发出两个中断响应信号INTA ,中断接口电路 收到第二个INTA 以后,通过数据线向CPU 送中断类型号。
10. 给定SP=0100H,SS=0500H,PSW=0240H,在存储单元中已有内容为(00024H)=0060H, (00026H)=1000H,在段地址为0800H 及偏移地址为00A0H 的单元中有一条中断指令INT 9, 试问执行INT 9 指令后,SP、SS、IP、PSW 的内容是什么?栈顶的三个字是什么?
答:执行INT 9 指令,标志寄存器PSW、下一条指令的段地址CS 和指令指针IP 的值分别 入栈,PSW 中的中断允许标志IF 和单步标志TF 清0,中断向量表的中断入口地址送CS 和 IP,转入中断服务子程序。所以此时SP=00FAH,SS=0500H,CS=1000H,IP=0060H, PSW=0040H。栈顶的三个字是:(0500H:00FAH)=00A2H、(0500H:00FCH)=0800H、 (0500H:00FEH)=0240H 标志寄存器 PSW
X X X X OF DF IF TF SF ZF X AF X PF X CF 执行INT 9前 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 执行INT 9后 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
PSW=0040H
11. 8259A 优先权管理方式有哪几种?中断结束方式又有哪几种? 答:8259A 优先权管理方式有如下4 种: (1)全嵌套方式
此方式下,中断优先级分配固定级别0~7 级,IR0 具有最高优先级,IR7 优先级最低。 (2)特殊全嵌套工作方式
此种工作方式主要用于8259A 级联情况。此方式与全嵌套工作方式基本相同,区别在 于当处理某级中断时,有同级中断请求进入,8259A 也会响应,从而实现了对同级中断请求 的特殊嵌套。
(3)优先级自动循环方式
优先级可以改变,初始优先级次序为IR0~IR7,当任何一级中断被处理完后,它的优 先级别变为最低,将最高优先级赋给原来比它低一级的中断请求。 (4)优先级特殊循环方式
特殊循环方式下,初始时优先级由程序指定,而不是固定的。