- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编第8篇章.ppt
第8章 输入/输出程序设计; I/O设备与主机(CPU和存储器)的通信是通过外设接口进行的,传送控制、状态、数据三种不同的信息,都支持使用IN/OUT指令执行信息交换。;CPU与外设的工作速度不一致,如何使两者高效、可靠地进行数据传送?;程序直接控制方式
CPU利用IN/OUT指令直接在端口级上处理输入输出
中断方式
CPU在执行程序的同时兼顾对I/O设备的控制或数据传送。当I/O设备准备好(空闲),由I/O通知CPU暂停正在运行的程序,转而处理I/O设备的请求,处理完即返回主程序继续执行。
DMA方式(直接存储器存取方式/成组传送方式)
主要适用于高速I/O设备(如磁盘),CPU向I/O接口提供控制信息(如数据块的首地址及字节数),I/O设备直接和存储器进行成批数据的快速传送。;1、程序直接控制方式
无条件传送(CPU与外设同步工作):
外部控制过程各种动作时间是固定的,而且是已知的。
查询方式(CPU与外设不同步工作):
传送前,先查询外设状态,准备好才传送,否则CPU处于等待状态。
2、中断方式:
外设与CPU处于并行工作,一旦外设准备好,外设向CPU发中断申请,条件具备,CPU暂停原程序执行,响应中断,外设与CPU串行工作。
3、DMA方式(高速I/O及成组交换数据):
CPU不干予,由硬件实现存储器与外设之间交换数据,称直接存取存储器。;?DMA传送方式的特点
1. 外设和内存之间,直接进行数据传送,
不通过CPU, 传送效率高。
适用于在内存与高速外设、或两个高速外设之间进行大批量 数据传送。
2. 电路结构复杂,硬件开销较大。; 外设接口由一组寄存器(数据寄存器/状态寄存器/命令寄存器)组成,每个寄存器有一个端口地址(端口号),;对于8位端口, 可达64K(0000~FFFFH) ,即65536
对于16位端口,可达32K(0000~FFFFH) ,即32768
对于32位端口,可达16K(0000~FFFFH) ,即16384;;;例:测试某状态寄存器(端口号27H)的第2位是否为1
IN AL, 27H
TEST AL,
JNZ ERROR
I/O指令是主机与外设进行通信的最基本途径。DOS功能调用和BIOS例行程序中的输入/输出功能也是由IN和OUT指令完成的。;;例8.3 CPU要从3个设备轮流输入数据,设备1,2,3的状态寄存器
端口号分别用STAT1,STAT2,STAT3表示,第5位是输入
准备位。
INPUT: IN AL, STAT1
TEST AL, 20H
JZ DEV2
CALL FAR PTR PROC1
DEV2: IN AL, STAT2
TEST AL, 20H
JZ DEV3
CALL FAR PTR PROC2
DEV3: IN AL, STAT3
TEST AL, 20H
JZ NO_INPUT
CALL FAR PTR PROC3
NO_INPUT:
……;?查询传送方式,编程流程:;8.3 中断传送方式;中断服务程序;使用中断方式时:
外设准备数据,CPU执行程序,
CPU与外设并行工作;
一旦外设准备就绪,外设向CPU发中断申请, CPU暂停原程序执行,响应中断,进行数据传输。此时,CPU与外设是串行工作。; INTEL 8059A可编程中断控制器(PIC);1. 向CPU的引脚INTR发中断申请信号
当有多个外设同时发出中断请求时,
能按照一定的优先级顺序,向CPU发出中断申请,
使CPU能优先响应优先级最高的外部设备的中断申请。
2. 送中断类型号
在CPU中断响应周期,针对不同外设的中断请求,
向CPU传送不同的中断类型号,
使CPU执行相应的中断子程。;1.软中断(内中断):
(1)INT指令
(2) CPU错(除法错、溢出)
(3)为调试程序设置的中断( 单步、断点)
2.硬中断(外中断):
(1)外设的I/O请求 —— 可屏蔽中断
(2)电源掉电/奇偶错 —— 非屏
文档评论(0)