微机原理与系统设计笔记7常用芯片接口技术中断系统与可编程中断控制器8259Aclimerecho

打算整理汇编语言与接口微机这方面的学习记录。本部分介绍常用芯片接口技术、中断系统与可编程中断控制器8259A。

参考资料

由于设备种类繁多,通信的信息格式多样,所以CPU与设备之间不能直接通信,必须在两者之间设计一个电路将两者连接,这就是I/O接口电路。

硬件、软件两者合起来,就是I/O接口技术。

I/O接口电路介于系统总线和I/O设备之间。课本图示如下:

老师的图示如下:

一种信息要通过一个IO端口来传送

这个端口本质是一个缓冲器/锁存器/寄存器,用来存放一些信息。

状态信息(入)

以一个输出设备为例,CPU采集I/O设备的状态,如果可以响应CPU,则放入数据给设备

数据信息(入/出)

数据线将数据放到数据端口,

命令信息(出)

通过命令信息,让设备知道数据信息已经来到。比如一个负脉冲,告知设备数据有效,设备在该负脉冲器件就可将数据端口的数据取出。

出--CPU、入--CPU

一个I/O端口要分配一个I/O地址,叫I/O端口地址、端口地址。

同时上图还有片选信号CS,用于选中这个IO端口,也要针对它们设计I/O地址译码电路。

此前提到过:

独立编址(80x86):

8086CPU中表现为低16位地址线编址I/O,通过M/IOfei来区别是对存储器操作还是对I/O操作。

8088中是IO/Mfei

这样I/O地址不占用存储器地址空间。但是缺点是指令系统不能通用地操作存储器和I/O了,这样对I/O寻址的方式也不会像存储器那么丰富了(直接寻址和DX寄存器间接寻址),不那么灵活。

统一编址(MCS51CPU):

比如AT89C51,统一共享64kb的存储空间。

无条件输入输出方式和查询法输入输出以及中断法

无条件输入/输出方式

一些简单设备(比如LED灯)永远处于准备好状态,不需要提前获取状态信息。

这种情况下,没有状态端口,也没有命令端口,只留数据端口即可。不过像第2节组成部分里讲的一样,还是需要锁存信息。(锁存常用74LS374和74LS273)

这里老师讲了74LS373,emm,涉及总线那一部分的时序问题,总之不选

查询法输入输出

测设备状态:

MOVDX,PORT_NUML1: INAL,DX;设备状态读入AL TESTAL,01H ;假如状态是低电平有效 JNZL1;没准备好继续查询电路实现比较简单,缺点是效率比较低,1是如果设备一直没准备好,需要反复询问,如果设备比较多,轮询的过程中可能错过某个设备准备好的时机。

如果CPU不忙,设备较少,可以使用这种方法。

中断法:重点

CPU查询效率太低,不如让设备准备好后向中断控制器8259提出请求,8259再向CPU提出请求。

当CPU开中断(允许中断),CPU就会保护当前程序的现场(几个重要寄存器),进而执行中断对应的中断服务程序,执行完毕后IRET返回。返回后恢复现场。

三种方法可以统称为:程序直接控制的输入输出方法(因为都是用IN、OUT指令)

重点并且此前计组和计操对这点掌握都不深刻。

3.1的中断法虽然很好了,但是:

而DMA方法完全由硬件(DMAC,DMA控制器,8237)完成,不受程序控制,速度很快。

DMA虽然不考,但好歹继续了解一下。

一个输入设备的完整DMA传送过程:

此后讲解的是3.1受程序控制的的例程,并且不包含中断法,中断法的例程在Part2单独一章。

上面还提到了尽量选374而不是373,因为前者是上升沿有效,后者高电平有效,由于微处理器的时序关系,可以知道前者更好一点。

以及,不同的系统进行I/O端口地址译码以及I/O电路设计时,总线信号:

值得注意的是IBMPC/XT系统,对IO编址只用了A9~A0,共编址1KB,前为主机板上的I/O,后512B分配给插件板上的I/O。

当AEN=1时,表示正进行DMA操作,所以设计译码电路时,应使AEN=0。

可以通过缓冲器/总线驱动器来提高总线负载能力,比如74LS37374LS244(单向8位)74LS245(双向8位),双向系统数据总线驱动需要:

这里老师讲了书上231页例题7.1(无条件输出)、7.2(无条件输入),讲的很不错

2023-02-22,又听了一遍,跟后续查询法和中断法的设备难度差距很大,不做记录了。

2022-02-21,P93和P94回头再看吧,要考试了5555.

2022-02-22,昨天太焦虑了,又听了一遍,感觉还好

讲了一个查询法A/D转换器的例子,书上没有。

中断系统主要是8086系统,而8259A管理的是INTR引脚的可屏蔽中断。

中断源:内部中断源、外部中断源

中断类型号:为每个中断源编号,8位2进制编码,所以可以管理256个中断(最多),进而执行相应服务。

其中,内部中断源和外部不可屏蔽中断都有固定中断号,而INTR可屏蔽中断没有固定的中断号,要加一个中断控制器8259A,CPU要将相应中断号初始化到8259A上(OUT指令),中断响应期间,CPU就会从外部8259上取中断类型号。

所以外部可屏蔽中断号是可自己设置的。同时还可以设置这些外部可屏蔽中断的优先级(初始化时)

中断向量:32位,中断服务子程序的入口地址,段地址:偏移地址。

中断向量表:8086中将存储器1M最低的1024个单元作为中断向量表,依次有序存放中断向量(一个向量4个字节,前两字节偏移地址,后两字节段地址)。

中断过程:

如果是外部可屏蔽中断,需要IF=1才能响应

中断发生时,先将当前指令执行完。

保护现场再保护PSWCSIP等寄存器,依次压栈保护。

如果是外部中断,从8259A获取中断号

清除IF和TF=0,也就是拒绝外部可屏蔽中断请求。

如果允许中断嵌套,那在中断服务开始时,用指令STI开中断

执行中断服务子程序,执行完毕后IRET返回主程序,恢复现场继续执行原程序。

首先是8259A的外部引脚,及其功能:

IR0~IR7:八个引脚,输入,用于外设向8259A发送中断请求信号

CSfei:片选,片外寻址

A0:片内寻址,用于寻址8259A内部的端口。

只有两个地址,但8259A不止两个端口,需要D0~D7中某些位为特征位来识别。

D0~D7:数据线。CS片选无效,则高阻态;CS片选有效,则两态,可供读写。

WRfei、RDfei:写控制端、读控制端

INT:高电平有效,当中断来临,且未被屏蔽,通过INT向8086CPU的INTR引脚发送中断请求。

如果CPU开中断,则通过INTAfei发送两个负脉冲(接收端是8259A的INTA引脚),第一个脉冲告知8259A其请求CPU可响应,第二个脉冲期间,8259A将此次中断源的中断类型号发到D0~D7,CPU读取中断类型号(8086的低八位数据线)。

SPfei/ENfei:主从设备设定/缓冲器读写控制,双向双功能。

缓冲方式是:D0~D7和CPU之间可再加一双向缓冲器,ENfei作为输出端控制该缓冲器的使能端(很少用)。

非缓冲方式:D0~D7直连CPU,该引脚作为输入,此时说明8259A是单片工作或是级联工作中的主片(是直接与CPU相连的8259A)

主片:SPfei接+5V

从片:SPfei接GND

CAS2~CAS0:三根双向级联线,主片上该引脚为输出,从片为输入。

当从片收到中断请求,从片发送给主片,主片向CPU发送,CPU若响应,则第一个负脉冲主从两片都收到,第二个负脉冲,也是主从两片都能收到,此时主片查看是哪个引脚到来的中断(假设从片接在IR1上,那就是IR1的中断),并从CS2CS0端口向从片发送编码001,表明是IR1的请求。后续级联的从片根据该001编码,检测主片是在呼叫哪一片从片,如果是自己,则将自己的中断找到对应的中断类型号,通过D0D7送到数据线上。

直接说可能太抽象了,看看图吧:

IRR中断请求寄存器:8位,寄存外部中断请求信号,请求来到,则对应位置为1。能否寄存受IMR寄存器的控制。

IMR中断屏蔽寄存器:8位,屏蔽对应位置的中断输入,比如0000_0001,屏蔽的是IR1的中断。

优先权分析器:把IRR8位中所有的1分析一下,找出最高优先级的中断,将其交给ISR寄存器,使其对应位置1。置为1说明8259A已经开始服务该中断。

接下来就是INT向CPU发送请求,CPU可响应的话向INTAfei发送两负脉冲,取出中断类型号。

中断结束方式:结束方式,8259A可以初始化为两种方式

中断自动结束,收到第二个负脉冲,8259A一方面发送中断类型号,另一方面将ISR对应位清0,中断服务结束。

一般不用。

非自动结束:发送中断类型号后并不清0,CPU执行完中断服务子程序,在IRET之前,向8259A发送OUT中断结束指令,8259A收到后结束中断。

内部控制逻辑电路:

到现在已经有了7个端口,而只有一个A0用于片内寻址,还需要通过D0~D7的特征位进行区分。

最后还有几点:

基本已经讲的差不多了。8259A一次完整的中断响应过程如下:

跟上面的讲解多少有点出入,以此为准)

中断源在IR0~IR7上产生中断请求

中断请求锁存在IRR(经过IMR屏蔽),结果送给优先权分析器。

控制逻辑电路接收中断请求,向微处理器发送INT信号

CPU从INTR接收8259A的INT信号,发送连续两个INTA负脉冲

优先权分析后根据最高优先级中断置位ISR。

若8259A是主片(中断源不直接连在其上时),第一个INTA负脉冲将级联地址从CAS2~CAS0发出。

若8259A是单独使用或是由CAS0~CAS2选择的从片,则在第二个负脉冲将中断类型号发送到低八位数据总线。

8086CPU读取中断类型号,转移到对应的中断处理程序。

(非自动结束方式),中断服务子程序结束前,向8259A发送EOI(中断结束)命令,ISR复位,中断结束。

首先是对ICW的4个寄存器写

初始化ICW1:

举例:

MOVAL,11HOUT20H,AL;写到主片,编码为00010001;从片;MOVAL,11H;OUT0A0H,AL

THE END
1.别针简单制作手机架制所谓钓鱼线组搭配,指的拉力值,主线拉力值比子线强一倍左右就可以了。一般鱼线的拉力... 2022-03-15 生活 上班族怎么理财 1、制定财富目标。财富目标就像跑步时的终点线,只要看得见终点,那就有冲刺的动力。对上班族来说,设定财富目标,也能起到激励的作用,敦促自己想方设法通过各种合规渠道去实现该目标。2、...http://m.qicaisi.com/bk-1214737.shtml
2.原来我们买的数据线是这样打包的原来我们买的数据线是这样打包的声明:个人原创,仅供参考今有搞笑配音 河南 0 打开网易新闻 体验效果更佳北京大妈退休金5000申请廉租房,谈如何养老时被回怼,气氛尴尬 北京大明 1481跟贴 打开APP 讲真,是球网先动手的!!! 新媒体 打开APP 论背景音乐的重要性!! 新媒体 打开APP 旁边有个抢活的…怎么办?人都...https://m.163.com/v/video/VKGJD6PN5.html
3.计算机组成原理知识点第一台电子计算机ENIAC诞生于1946年美国宾夕法尼亚大学.ENIAC用了18000电子管,1500继电器,重30吨,占地170m2,耗电140kw,每秒计算5000次加法.冯·诺依曼(VanNeumann)首次提出存储程序概念,将数据和程序一起放在存储器,使编程更加方便.50年来,虽然对冯·诺依曼机进行很多改革,但结构变化不大,仍称冯·诺依曼机. ...https://www.360doc.cn/article/32212187_937728309.html
4.数据线贴图材质贴图免费下载SP材质 纹理合辑 光域网 ZBrush笔刷 上传材质贴图作品 数据线贴图x 种类 石材 石材 装饰 装饰 木材 木材 家具 家具 人体 人体 图案纹理 图案纹理 电器部件 电器部件 布纹 布纹 屋顶 屋顶 建筑 建筑 窗户 窗户 马赛克 马赛克 地面 地面 雕塑 雕塑 玻璃 玻璃 植物 植物 塑料橡胶 塑...https://www.aigei.com/3d/map/shu_ju_xia/
1.心软编织飞线PQT心软编织飞线PQT 在得物App发布了一条热门动态!快来围观,就等你啦!https://m.dewu.com/note/trend/details?id=248256419
2.计算机组成原理学习笔记寄存器中的魔法数数据的表示与运算 数值与编码 进位计数法和相互转换 每个数为所用到的不同符号的个数称之为基数。 一进制:一个符号 二进制:0、1 八进制:0、1、2、3、4、5、6、7 十进制:0、1、2、3、4、5、6、7、8、9 十六进制:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F ...https://blog.csdn.net/weixin_45362105/article/details/129622139
3.大学课程《微机原理与接口技术》笔记腾讯云开发者社区DX——-DH,DL:数据寄存器,在间接寻址的I/O指令中存放I/O端口地址;在32位乘除法运算时,存放高16位数。 地址指针寄存器: SP:堆栈指针寄存器,其内容为栈顶的偏移地址 BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。 变址寄存器 SI:源变址寄存器 ...https://cloud.tencent.com/developer/article/1918316
4.微机原理与接口技术顾晖习题参考答案(精选8篇)在计算机中用地址来区分不同的端口,采用两种编址方法:存储器对应的(存储器映像方式)和端口寻址的输入输出方式(隔离I/O方式)。8086/8088系统中,采用隔离I/O方式。7.7 CPU和外设之间的数据传输方式有哪几种?实际选择某种传输方式时,主要依据是什么? 【解】CPU与外设之间的数据传送方式主要有三种:查询传送方式、中断...https://www.360wenmi.com/f/fileb2rf3sc3.html
5.Sp工具评测硬-条状——数据线(hhhhhh….) 数据线可以说是最信手拈来的SP工具了,但是它的痛感绝对是高的。当使用它时,作为moon的你千万不要作死对思tar说“你今天没吃晚饭吗”,那样你可能会需要云南白药来清理伤痕了…… 测评:痛觉尖锐如同触电,是一种线状的尖锐刺痛,会驻留数秒,并有种向深层持续渗透的感觉。分分钟...https://www.huidusm.com/191.html
6.驱动器伺服A6松下400W端子X4专用转接板系列台数据线接口SCSI50PDM端子台HL-SCSI-50P(CN)-PDM-SP SCSI50PDM-SP端子台+0.5米线 SCSI50PDM-SP端子台+1米线 SCSI50PDM-SP端子台+1.5米线 SCSI50PDM-SP端子台+2米线 SCSI50PDM-SP端子台+2.5米线 SCSI50PDM-SP端子台+3米线 SCSI50数据线0.5米 SCSI50数据线1米 SCSI50数据线1.5米 SCSI50数据线2米 SCSI50数据线2.5米 SCSI50...https://item.jd.com/10108841585989.html
7.[技巧]SP常用问题解答(应用篇)网游综合区动态网游综合区官网答: 开始~设置~无线数据交换 将里面的勾选上,然后就可以文件管理器发送了,但必须对准红外线端口,距离不超过1M。 19、如何使用蓝牙发送文件? 答:系统本身不直接支持蓝牙发送文件,必须安装IA1.4版本、SmartExplorer、RescoExplorer等能够支持蓝牙发送的文件管理器,使用方法,和使用红外线发送是一样的。 https://ng.d.cn/wangyouzonghequ/news/detail_64249_1.html
8.微型计算机及接口技术2008年1月真题试题(04732)自考8.执行近调用CALL指令后,SP将( ) A.保持不变 B.减2 C.加2 D.减4 9.有一SRAM芯片,地址线为A0~A15,数据线为D0~D7,则该芯片的存储容量为( ) A.8KB B.16KB C.32KB D.64KB 10.用2164DRAM芯片构成8086内存的最小容量是( ) A.64KB B.128KB ...https://www.educity.cn/zikao/26467.html
9.如何成为专业的打PP爱好者?–耐美尔测评网除此之外,数据线、热熔胶条也是最近比较流行的SP工具,便宜又顺手。 一定要事先与对方进行充分的沟通,选择符合两个人共同需求的工具。 实际操作的时候,应该注意左右分开轮流受力,这样既可以保持痛感,也能避免严重淤青,毕竟这是游戏不是暴力,有人受伤就不好了。 https://faxian.naimal.com/4849.html
10.福州机电工程职业技术学校2022年实训和竞赛耗材等货物采购项目附件3、投标人提供声明函内容不实的或提供虚假证明文件的,均属于提供虚假材料谋取中标、成交,一经发现将依照《中华人民共和国政府采购法》等国家有关规定追究相应责任。 节能、环境标志产品 1、根据财政部 发展改革委 生态环境部 市场监管总局印发《关于调整优化节能产品、环境标志产品政府采购执行机制的通知》(财库〔2019...http://zfcg.fuzhou.gov.cn/upload/document/20220708/36996e8152f746cebd57dfa4be9c1592.html
11.数据线R.SCHEUCHLE111235AWMSTYLE2654货号:12041/50数据线 R.SCHEUCHL E111235AWM STYLE 2654 货号:12041/50 备件 KNARR 37111 备件 TOKYO KEISO AM71EE-02J1R-6 密封块 VISCOTEC 20151 备件 HAMMA 07.12.207.Rapid 1.1-Bandskimmer, 100mm Bandbreite,380V 50Hz 备件 JM Concept XALIS3400P1 备件 CIRCOR SPKF58584-01 备件 STAUBLI CBI 03.7150/IA/JE 备件...http://wap.app17.com/C144412/Article/D332462.html