的身份开始的开发可都是.ppt

上传人:za****8 文档编号:14173599 上传时间:2020-07-09 格式:PPT 页数:37 大小:719.51KB
收藏 版权申诉 举报 下载
的身份开始的开发可都是.ppt_第1页
第1页 / 共37页
的身份开始的开发可都是.ppt_第2页
第2页 / 共37页
的身份开始的开发可都是.ppt_第3页
第3页 / 共37页
资源描述:

《的身份开始的开发可都是.ppt》由会员分享,可在线阅读,更多相关《的身份开始的开发可都是.ppt(37页珍藏版)》请在装配图网上搜索。

1、接口就是CPU与外界的连接部件,是CPU与外界交换信息的中转站。 原始数据通过接口由输入设备送进去 运算结果通过接口由输出设备送出来 控制命令通过接口发出去 现场数据通过接口从输入设备送进去,第六章 输入与输出,(一)、CPU和I/O设备之间的信号,(1)、数据信息 1、数字量 2、模拟量 3、开关量 4、脉冲量 (2)、状态信息 反映当前外设所处的工作状态。 (3)、控制信息 CPU 通过接口向外设传送控制信息。,(二)I/O接口电路,一个接口有几个寄存器,不同类型的信息进入不同的寄存器,一般称这些寄存器为端口。,输入指令(IN:将外设数据传送给CPU内的AL/AX) IN AL,i8;字节

2、输入 IN AL,DX;字节输入 IN AX,i8;字输入 IN AX,DX;字输入 输出指令(OUT:将CPU内的AL/AX数据传送给外设) OUT i8,AL;字节输出 OUT DX,AL;字节输出 OUT i8,AX;字输出 OUT DX,AX;字输出,演示,演示,(三) 8088/8086的输入输出指令,若端口地址在 0FFH 范围内,则用直接寻址 IN AL,端口地址 (输入) OUT 端口地址 ,AL (输出) 如: IN AL, 20H OUT 80H, AX OUT 84H, AL 若端口地址在 0100FFFFH 范围内,则用 DX间接寻址: MOV DX, 端口地址 IN

3、AL, DX OUT DX, AL 如: MOV DX, 300H IN AL, DX,(二)累加器专用传送指令,IN和OUT指令,一、CPU 寻址外设有两种方式: 将存储器与外设端口统一编址 外设端口单独编址,1.统一编址:将外设接口电路的一个端口作为存储器的一个单元。每一个外设端口占有存储器的一个地址。从外部设备输入一个数据,作为一次存储器读的操作;而向外部设备输出一个数据,则作为一次存储器写的操作。,优点:不需要专门的输入输出指令, 可用全部的存储器操作指令。 (指令多且灵活) 如:mov kou1,bx 缺点:外设占用内存单元, 相对减少了内存容量。,例:已知一个CPU系统,有32K8

4、内存,2片8位接口(输入输出 各有一片),2. 外设端口单独编址,优点:不占用内存 缺点:CPU需设专门的I/O指令。,CPU有专门的I/O指令,用地址来区分不同的外设。但要注意实际上是以端口(Port)作为地址的单元,因为一个外设不仅有数据寄存器还有状态寄存器和控制命令寄存器,它们各需要一个端口才能加以区分,故一个外设往往需要数个端口地址。CPU用地址来选择外设。 要寻址的外设的端口地址,显然比内存单元的地址要少得多。所以,在用直接寻址方式寻址外设时,它的地址字节,通常总要比寻址内存单元的地址少一个字节,因而节省了指令的存储空间,缩短了指令的执行时间。,补充: I/O 端口地址译码方法 使用

5、74LS138设计系统板上的I/O地址,并且使每个 接口芯片内部可以有32个端口数目. 1)分析:系统板地址范围:00FFH,只使用低8位地址线. 留出低5位地址线不参加译码(25=32);,地址范围: 00001FH 02003FH 0E00FFH,2)设计线路,第二节 CPU与外设数据传送方式,输入:CPU在执行IN指令前,输入三态缓冲器已准备好。,输出:CPU在执行OUT指令前,输出锁存器已空。,一、无条件传送,无条件 查询 中断 DMA,1、执行输入指令时,例:IN AL,80H, RD信号有,M/IO=0,输入三态缓冲器,被选通,已准备好的数据进入数据总线,送到AL. 2.执行输入指

6、令时,读信号有效,80H,例1:输入:IN AL,80H;(80H)=10H 将80H端口的内容送AL。 IO/M=0,RD=0,AL=10H 例2:输出:OUT 82H,AL;AL=10H 将AL中的内容送82H端口。 IO/M=0,WR=0,(82H)=10H,在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送。 适合于简单设备,如LED数码管、按键或按钮。 无条件传送的接口和操作均十分简单。 这种传送有前提:外设必须随时就绪。,流程,总结:,二、查询传送,CPU需不断查询外设的状态,一旦外设满足数据传送的条

7、件,就执行IN或OUT指令,读入或输出数据。,查询输入接口电路(组成),IN AL, DATA_PORT,工作原理,IN AL, STATUS_PORT,输 入 装 置,锁 存 器,D R Q,三态 缓冲 器,三态 缓冲 器,地址 译码,AB,数据端口,状态端口,D7,数据,选通信号,DB,Ready,M/ IO,+5V,M/ IO,复位,状态信息清零,1、数据准备好,选通信号输出正跳变将 数据锁存器 D触发器置1,作为Ready信号,D7=1,2、查询状态信号,执行 IN AL,状态口 Ready(bit7) AL,3、若Ready=1,执行 IN AL,数据口 输入数据AL; D触发器复位

8、,Ready=0,POLL: IN AL, STATUS_PORT TEST AL,80H JE POLL IN AL,DATA_PORT,查询输入的编程,IN AL, STATUS_PORT,OUT DATA_PORT, AL,查询输出接口电路(组成),工作原理,锁 存 器,输 出 装 置,Q D R,三态 缓冲 器,地址 译码 器,AB,数据端口,状态端口,D7,数据,启动,DB,ACK,Busy,VCC,1、上一数据处理结束,ACK的负跳变(恢复)使D触发器复“0” 输出装置,启动信号0(恢复)缓冲器输出 Busy=0;,2、查询状态信号,执行 指令 IN AL,状态口 Busy(bit

9、7) AL,3、若Busy =0,执行指令 OUT 数据口,AL, 输出数据AL DB 锁存器 输出装置; D触发器置1,启动输出装置Busy=1,禁止输出,POLL: IN AL,STATUS_PORT TEST AL,80H JNE POLL MOV AL,STORE ;从数据区取数 OUT DATA_PORT,AL,查询输出的编程,例:若有一台打印机,它的数据端口地址为01H,状态端口地址为00H,状态信息从D4位送入(为1时表示输出缓冲器有空,CPU可以向它输出新的数据)。编写程序把内存中自BLOCK开始的100个字节的数据块通过打印机打印出来。,JNZ WAIT HLT,送完?,Y,

10、N,MOV SI, OFFSET BLOCK MOV CX, 100,WAIT: IN AL, 00H TEST AL, 10H JZ WAIT,MOV AL, SI OUT 01H, AL INC SI DEC CX,CPU需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出。 对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换。 查询传送的特点是:工作可靠,适用面宽,但传送效率低。,就绪?,总结:,流程,(无条件、查询传送都需要CPU的等待或不断查询,使CPU的效率降低。) 中断传送:外设需要传送数据时,申请中断;当C

11、PU允许中断,在中断服务程序中执行IN /OUT指令;然后返回主程序。,三、 中断传送,流程,1、DMA传送的基本概念,无条件、查询、中断传送,每传送一个数据都需要CPU干预一次,限制了数据传送的速度。,DMA(Direct Memory Access):是一种不需要CPU干预也不需要软件介入的高速数据传送方式。在外设(如磁盘)与内存之间成批传送数据时,完全由硬件(DMA)完成外设与内存的数据传送,而不必 CPU的干预。对这一数据传送过程进行控制的硬件称为DMA控制器(DMAC)。,四、直接数据通信传送DMA,流程,问题:(1) 数据传送需AB、DB、CB的参与; (2) 通常情况下,AB、D

12、B、CB由CPU控制。,解决 :(1) 设置直接数据控制器DMAC。当需要DMA时,由DMAC提供内存的地址线、数据串长度和必要的控制信号。,(2) 外设在需要进行DMA传送数据时,向DMAC发出DMA请求。 然后DMAC向CPU提出HOLD总线请求。,CPU响应后,发HLDA响应给DMAC,并将总线暂交DMAC管理。当DMAC接收到HLDA后就可以接管总线,进行DMA传送。,DMAC完成数据串传送后撤销HOLD请求,CPU恢复对总线的控制。,无条件传送:慢速外设需与CPU保持同步 查询传送: 简单实用,效率较低 中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 DMA传

13、送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送,五、传送方式的比较,习题: 编写程序。若有一个CRT(阴极射线管显示器)终端,它的输入输出数据的端口地址为01H,状态端口的地址为00H,其中D7位为1时表示输出缓冲器有空,CPU可以向它输出新的数据;D6为为1时,表示输入数据有效,CPU可以把它输入。实现: (1)从终端上输入100个字节的字符,送入到以BUFFER开始的内存单元。 (2)把内存中自BLOCK开始的100个字节的数据块通过终端显示出来。,LEA SI,BUFFER MOV CX,100 IN AL,00H TEST AL,40H JZ WAIT IN A

14、L,01H MOV SI,AL INC SI DEC CX JNZ WAIT HLT,WAIT:,LEA SI,BLOCK MOV CX,100 IN AL,00H TEST AL,80H JZ WAIT MOV AL,SI OUT 01H,AL INC SI DEC CX JNZ WAIT HLT,WAIT:,例:查询数据输入,有8 个模拟电压,一个8bitA/D转换器。由CPU控制一个8选1多路开关,以及A/D转换启动。依次实现8个模拟电压的A/D转换,并把数据存储在DSTOR为首地址的内存单元中。(组成),M/ IO*WR*4,3,2,4,A/D转换,8bit,bit7,8,D4,数据,

15、READY,DB,M/IO*RD*3,M/ IO*RD*2,CPU,数据,启动,D2,D1,D0,1个模拟量,多路开关,输入数据口地址:1 输入状态口地址:2 bit0,A/D转换结束信号 输出控制口地址:4 bit02,多路开关选择输入端 bit4,A/D转换启动信号,START:MOV DL,0F8H LEA DI,DSTOR AGAIN:MOV AL,DL AND AL,0EFH ;使bit4=0 OUT 4,AL ;停止A/D CALL DELAY ;延时等待 A/D 结束 MOV AL,DL OUT 4,AL ;启动A/D POLL: IN AL,2 ;输入状态信号 SHR AL,1

16、 ;将状态信号 ;移到CF JNC POLL ; 状态信号0,转 IN AL, 3 STORB ;(AL) (DI) INC DL ;改变模拟信号 JNE AGAIN ;判终点,无条件传送流程,返回,在输入场合 “就绪”说明输入接口已准备好送往CPU的数据,正等着CPU来读取 该状态也可用接口中数据缓冲器已“满”来描述 在输出场合 “就绪”说明输出接口已做好准备,等待接收CPU要输出的数据 该状态也可用接口数据缓冲器已“空”、或者用接口(外设)“闲”或不“忙(Busy)”来描述,返回,就绪:满,空、闲、不忙,就绪(Ready),查询传送流程,返回,中断传送流程,返回,DMA传送流程,返回,IN AL, 21H,返回,OUT 43H, AL,返回,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!