6.11设计一个外设端口译码器,使CPU能寻址四个地址范围:①0280~0287H,②0288~028FH,
③0290~0297H,④0298~029FH。
【答【答】】使用一片2/4译码器,地址线A9、A8、A7、A6、A5通过逻辑电路形成译码器片选信号当为10100 时译码器被选通,A4、A3为2/4译码器输入,译码器输出即为上述4个地址范围。
6.12试画出容量为2K×8的RAM连接图,CPU用8088,RAM用2114,RAM地址区为0800H~0FFFH。
【答【答】】::((11))分析分析::芯片数——一组:1K×4的片子2114组成1K×8的存储器需2片,,22K×8需4
个芯片,分2组
地址线——(211=2048)需11根,(片内10根,片选1根) 数据线——8根
控制线——M/IO,WR,RD
片选信号——用74LS138译码产生8个片选信号
高位地址片选片内寻址
地址引脚A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0 第一组0000100000000000~1111111111 第二组0000110000000000~1111111111
第一组地址范围:0800H~0BFFH 第一组地址范围:0C00H~0FFFH
2)实现:采用74LS138译码器,A10~A12作138的输入,由上面的分析可得,138输出Y2接第一组的片 选端CS端,Y3接第二组的片选端CS.参考连接如图6-1:
图6-12114与CPU的连接
6.13试画出容量为8K×8的ROM连接图,CPU用8086,EPROM用2716,ROM地址区从4000H开
始。
参考PPT课件的第六章例6-7的例子。
【答】【答】容量8K×8=2K×8(EPROM2716)×4片。
地址区A15A14A13A12A11A10~A0
2716-14000H~47FFH01000 2716-24800H~4FFFH01001 2716-35000H~57FFH01010 2716-45800H~5FFFH01011
IO/M接138译码器的G1,A15接138译码器的G2B,A14经过非门接138译码器的G2A,A13、 A12、A11接138译码器的C、B、A。138译码器的Y0~Y3分别接4片2716的片选,8086经锁 存的A10~A0接2716的A10~A0,8086的AD7~AD0接2716的D7~D0,8086的RD接2716 的RD。
6.14一台8位微机系统,CPU为8088,需扩展内存16KB,其中ROM为8K,RAM为8K。ROM
选用EPROM2716,RAM选用2114,地址空间从0000H开始,要求ROM在低地址,RAM在高 地址。试画出存储器组构图,并写出各芯片的存储分配范围。
00000000000~11111111111
【答【答】】ROM容量8K×8=2K×8(EPROM2716)×4片,RAM容量8K×8=1K×4(RAM2114)×16
片
地址区A15A14A13A12A11A10~A0
2716-10000H~07FFH00000 2716-20800H~0FFFH00001 2716-31000H~17FFH00010 2716-41800H~1FFFH00011
地址区A15A14A13A12A11A10A9~A0
2114-1-22000H~23FFH001000 2114-3-42400H~27FFH001001 2114-5-62800H~2BFFH001010 2114-7-82C00H~3FFFH001011 2114-9-103000H~33FFH001100 2114-11-123400H~37FFH001101 2114-13-143800H~3BFFH001110 2114-15-163C00H~3FFFH001111
0000000000~1111111111 00000000000~11111111111
IO/M接138译码器的G1,A15接138译码器的G2B,A14接138译码器的G2A,A13、A12、 A11接138译码器的C、B、A。138译码器的Y0~Y3分别接4片2716的片选,8086经锁存的 A10~A0接2716的A10~A0,8086的AD7~AD0接2716的D7~D0,8086的RD接2716的RD。 138译码器的Y4与A10相或接2114-1-2的片选,
138译码器的Y4与A10非门后输出相或接2114-3-4的片选, 138译码器的Y5与A10相或接2114-5-6的片选,
138译码器的Y5与A10非门后输出相或接2114-7-8的片选, 138译码器的Y6与A10相或接2114-9-10的片选,
138译码器的Y6与A10非门后输出相或接2114-11-12的片选, 138译码器的Y7与A10相或接2114-13-14的片选,
138译码器的Y7与A10非门后输出相或接2114-15-16的片选, 8086经锁存的A9~A0接2716的A9~A0,
8086的AD4~AD0接2114-1-3-5-7-9-11-13-15的D3~D0, 8086的AD9~AD5接2114-2-4-6-8-10-12-14-16的D3~D0, 8086的RD、WR接2114的RD、WR。
6.168086CPU最小模式中,有8KB的RAM,2KB的ROM。ROM采用EPROM2716(2K×8),RAM
采用Intel2114(1K×4),画出硬件连接图。
【答】【答】ROM容量8K×8=2K×8(EPROM2716)×4片,RAM容量2K×8=1K×4(RAM2114)×4
片
地址区A15A14A13A12A11A10~A0
2716-10000H~07FFH00000 2716-20800H~0FFFH00001 2716-31000H~17FFH00010 2716-41800H~1FFFH00011
地址区A15A14A13A12A11A10A9~A0
2114-1-22000H~23FFH001000 2114-3-42400H~27FFH001001
0000000000~1111111111 00000000000~11111111111
IO/M接138译码器的G1,A15接138译码器的G2B,A14接138译码器的G2A,A13、A12、 A11接138译码器的C、B、A。138译码器的Y0~Y3分别接4片2716的片选,8086经锁存的 A10~A0接2716的A10~A0,8086的AD7~AD0接2716的D7~D0,8086的RD接2716的RD。 138译码器的Y4与A10相或接2114-1-2的片选,
138译码器的Y4与A10非门后输出相或接2114-3-4的片选, 8086经锁存的A9~A0接2716的A9~A0, 8086的AD4~AD0接2114-1-3的D3~D0, 8086的AD9~AD5接2114-2-4的D3~D0, 8086的RD、WR接2114的RD、WR。
6.17什么是高速缓冲存储器?在微机系统中使用高速缓冲存储器的作用是什么?
【答】【答】为了使主存储器的速度与CPU的速度匹配,在它们之间的增加的一层存储器称为高速缓冲存储 器,其容量较小,存取速度与CPU相当。
6.18存储器体系为什么采用分级结构,主要用于解决存储器中存在的哪些问题?
【答】【答】因为存储器分级结构较好地解决了存储容量要大,速度要快而成本又比较合理的矛盾。 6.19什么是虚拟存储器?它的作用是什么? 【答】【答】
6.208086在对存储器进行操作时,有什么特点?画出8086系统在读周期和写周期的工作时序。
【答】【答】8086CPU和存储器是用分时方式通过20位的地址/状态/数据总线以及控制线互相联系的。CPU 的总线周期由4个时钟周期组成。如果8086的主频采用5MHZ,则1个时钟周期为200ns。将每个时钟 周期称为1个T状态,所以,最小总线周期由T1~T4这4个状态组成。如果存储器速度比较慢,CPU 就会根据存储器送来的“未准备好”信号,在T3状态后面插入等待状态TW,从而延长总线周期。读周 期和写周期图见课本。
(以上由杨胜波解答)
习题七 CPUCPUCPUCPU与外设的输入输出方式
7.1什么叫端口?通常有哪几类端口?计算机对I/O端口编址时通常采用哪两种方法?在8086/8088系
统中,用哪种方法对I/O端口进行编址? 7.2CPU和输入/输出设备之间传送的信息有哪几类?
7.3一般的IO接口电路安排有哪三类寄存器?它们各自的作用是什么?
7.4简述CPU与外设进行数据交换的几种常用方式。
【答】CPU与外设之间的数据传输有以下三种方式:程序方式、中断方式、DMA方式。
其中程序方式又分为无条件传送方式和条件传送方式两种方式。无条件传送方式用于简单外设,如 LED显示器。条件传送方式用于外设较少的情形,接口简单,但CPU效率低。
在实时系统以及多个外设的系统中,采用中断传送方式。这种方式CPU利用率高,速度快,但需 要专门的中断控制电路。
如果要求实现高速数据传输,采用直接存储器传输方式,即DMA方式。 7.5无条件传送方式用在哪些场合?
【答】无条件传送方式适用于对一些简单的外设的操作中,如:开关、七段LED显示管等。当CPU执
行输入指令是,读信号RD有效,选择信号M/IO处于低电平,因而三态缓冲器被选通,使其中 早已准备好的输入数据进入数据总线,再到达CPU。
CPU执行输出指令时,M/IO和WR信号有效,于是接口中的输出锁存器被选中,CPU输出的 信息经过数据总线打入输出锁存器,输出锁存器保持这个数据,直到外设取走。
7.6条件传送方式的工作原理是怎样的?主要用在什么场合?
【答】数据传送有三个环节:1、CPU从接口中读取状态字。2、CPU检测状态字的对应位是否满足“就
绪”条件,如不满足,则回到前一步读取状态字。3、如状态字表明外设已处于就绪状态,则传 送数据。主要用于非实时系统及单一外设系统。
7.7现有一输入设备,其数据端口的地址为FFE0H,并于端口FFE2H提供状态,当其D0位为1时表
明输入数据备好。请编采用查询方式进行数据传送的程序段,要求从该设备读取100个字节并输 入到从1000H:2000H开始的内存中。 【答】
MOVSI,2000H;初始化数据区地址 MOVAX,1000H MOVDS,AX MOVDX,0FFE2H
LL:
INAX,DX;读状态
TESTAL,01H;测试是否满足就绪? JZLL;不满足,继续读状态
MOVDX,0FFE0H;就绪,准备输入数据 INAX,DX;从输入接口读取数据 MOV[SI],AX;存数据 INCSI
LOOPLL;数据没有输入完,继续
7.9查询式传送方式有什么优缺点?中断方式为什么能弥补查询方式的缺点?
【答】在查询方式下CPU不断地读取状态字,如果状态字表明外设没准备好,则CPU须等待。这些过
程占用了CPU的大量工作时间,而CPU真正用于传输数据的时间却很少。另外,用查询方式工 作时,如果一个系统有多个外设,那么CPU只能轮流对每个外设进行查询,而这些外设的速度往 往并不同。这时CPU显然不能很好的满足各个外设随机性的对CPU提出的输入/输出服务要求, 所以,不具备实时性。使用中断传方式时,CPU就不必花费大量时间去查询外设的工作状态了, 因为当外设就绪时,就会主动向CPU发中断请求信号。那么在中断允许标志为1的情况下,CPU 保留下一条指令的地址和当前的标志,转到中断服务程序去执行。
7.11DMA的意思是(直接存储器存取方式).进行DMA传送一般过程是:外设先向DMA控制器提出
(DMA请求),DMA控制器通过信号有效向CPU提出DMA请求,CPU回以(总线允许) 信号有效表示响应,此时CPU的三态信号线将输出(高阻)状态,即将它们交由(DMA控制 器)进行管理,使数据在DMA控制器的控制下完成外设和内存间的直接传送。
习题八中断控制器
8.18088/8086CPU管理有哪些中断源?各种中断的产生条件是什么?
【答】【答】NMI中断和INTR中断。INTR中断产生的条件是:无总线请求、FR.IF=1、CPU执行完当前指令。 8.28088/8086中断向量表的作用是什么?
【答】【答】中断向量是中断服务程序的入口地址。将所有中断向量集中放在一起,形成中断向量表。8086
系统有256个类型的中断源。每个类型对应一个中断向量,一个中断向量由四个字节组成:2个高
地址字节:存放中断服务程序的代码段的段值;2个低地址字节:存放中断服务程序的偏移地址。 中断向量表放在内存的地段地址0单元开始的单元:00000H~03FFFH。
8.3什么叫中断向量?它放在哪里?对应于1CH的中断向量在哪里?如1CH中断程序从5110H:2030H
开始,则中断向量应怎样存放?
【答【答】】中断向量是中断处理子程序的入口地址,它放在中断向量表中,由1ch*4=70h知中断向量存放在
0000:0070处。由于中断处理入口地址为5110:2030所以0070H,0071H,0072H,0073H这四个 单元的值分别为30H,20H,10H,51H。
8.4叙述可屏蔽中断的响应过程,一个可屏蔽中断或者非屏蔽中断响应后,堆栈顶部四个单元中是什
么内容?
【答【答】】当CPU在INTR引脚上接受一个高电平的中断请求信号并且当前的中断允许标志为1,CPU就会在
当前指令执行完后开始响应外部的中断请求,具体如下:
1、从数据总线上读取外设送来的中断类型码,将其存入内部暂存器中; 2、将标志寄存器的值推入堆栈; 3、将标志寄存器中IF和TF清零; 4、将断点保护到堆栈中;
5、根据中断类型获取中断向量转入中断处理子程序; 6、处理完后恢复现场。
响应后堆栈的顶部4个单元是IP,CS。
8.5从8086/8088的中断向量表中可以看到,如果一个用户想定义某个中断,应该选择在什么范围?
【答】【答】从8086/8088的中断向量表中可以看出,如果一个用户想定义一个中断,应该选择中断类型
60H-6FH,其中断向量在中断向量表的0180H-01BFH。
8.6非屏蔽中断处理程序的入口地址怎样寻找?
【答】【答】非屏蔽对应类型2,它位于中断向量表0000:0008H-0000:000BH处,4个单元的值即为非屏蔽中
断处理程序的入口地址:08H、09H放偏移量,0AH、0BH放段地址。
8.7类型号为20H的中断服务程序入口符号地址为INT-5,试写出中断向量的装入程序片断。 【答】【答】中断向量的地址:20H×4=0010000000=80H
中断向量的装入参考程序: CLI
PUSHDS XORAX,AX MOVDS,AX
MOVAX,OFFSETINT-5 MOVWORDPTR[080H],AX MOVAX,SEGINT-5
MOVWORDPTR[082H],AX POPDS STI……
INT-5PROCNEAR
……. IRET
INT-5ENDP
8.88259A中IRR、IMR和ISR三个寄存器的作用是什么? 【答】【答】中断请求寄存器IRR:保存对应位的中断请求
中断屏蔽寄存器IMR:屏蔽对应位的中断请求;
中断服务寄存器ISR:保存当前正在服务的中断申请。
8.9填空:某时刻8259A的IRR内容是08H(00001000B),说明(_IR3引脚有中断请求_)。某时刻8259A
的ISR内容是08H,说明(_IR3引脚的中断请求正在服务_)。在两片8259A级连的中断电路中,
主片的第5级IR5作为从片的中断请求输入,则初始化主、从片时,ICW3的控制字分别是(00100000 和00000101)。
8.108529A仅占用两个I/O地址,它是如何区别4条ICW命令和3条OCW命令的?在地址引脚A0=l
时读出的是什么?
【答】【答】A0=0写ICW1、OCW2、OCW3,以其特征位区分。
A0=1写ICW2、ICW3、ICW4、OCW1,写ICW1后顺序写的是ICW2、ICW3、ICW4。
A0=0读IRR、ISR、轮询字,由OCW3的RR和RIS两位区分IRR和ISR,通过OCW3的P位向8259 发轮询命令后读出的是轮询字。 A0=1时,读IMR。
8.11一个可屏蔽中断请求来到时,通常只要中断允许标志为1,便可在执行完当前指令后响应,在哪
些情况下有例外?