8259A简介

1中断简介

1.1中断

定义:CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。在此,称引起紧急事务的事件为中断源,称处理紧急事务的程序为中断服务程序或中断处理程序
CPU中的中断源分为内中断和外中断,外中断又分为可屏蔽中断(INTR)和不可屏蔽中断(NMI)
在这里插入图片描述

1.2禁止中断与中断屏蔽

在某些情况下,CPU可能不允许响应可屏蔽中断INTR,此时当中断源向CPU申请中断后.CPU就不能终止当前正在运行的程序并转到中断服务程序,这种情况称为禁止中断。一般在 CPU内部有个中断允许触发器.只有当该触发器的状态为允许状态时 ,CPU才能响应外部中断,否则CPU禁止中断。中断允许触发器可以通过指令STI 进行置位和指令CLI进行复位,以达到CPU允许中断和禁止中断的目的。
在另外一种情况下,CPU不能响应几种特殊类型的中断,而其余的中断则可以响应,这就叫作中断屏蔽。
中断屏蔽可以通过中断屏蔽触发器来实现,将中断源对应的中断屏蔽触发器置1,则该中断源的中断请求被屏蔽,否则该中断源的中断请求被允许。中断允许触发器在CPU内部,其控制所有INTR中断源的允许与禁止。中断屏蔽寄存器在CPU外部,设置在中断控制器8259内部,其控制部分INTR中断源的允许与禁止。

1.3中断嵌套

当CPU正在处理某种类型的中断时,又有级别更高的新中断源申请中断,这时CPU就会暂停当前的中断服务程序,而转去执行新的中断处理,这种中断处理方式就叫作中断嵌套

1.4中断类型号和中断向量表

  1. 中断向量:中断服务程序的入口地址(首地址)
  2. 逻辑地址包括段地址CS和偏移地址IP(共32位)
  3. 每个中断向量占用4个字节
  4. 物理地址00000H开始,依次安排各个中断向量,向量号从0开始
  5. 256个中断占用1KB区域,就形成中断向量表
  6. 向量号为N的中断向量的物理地址=N×4
    在这里插入图片描述

2,8259A简介

2.1 8259A介绍

8259a:为8088、80286等CPU设计的一种可编程中断控制器PIC(Programmable Interrupt Controller),接收外部中断源的请求,在对中断源进行处理后向CPU发出中断请求,然后由CPU响应中断并处理
功能:
①管理8级中断,多片级连可扩展至64级;
②在中断响应周期提供相应的中断向量号
③可通过编程选择多种工作方式。

2.2 8259A内部结构

在这里插入图片描述
(1) 中断请求寄存器IRR (Interrupt Request Resgister)表示相应中断请求线是否有中断请求信号。保存8个中断请求信号,当相应的中断请求有中断请求时,该寄存器相应位置置1
(2) 中断服务寄存器ISR (In-Service Register)用于表示相应的中断是否正在服务中。当CPU正在处理某个中断源的中断请求时,ISR相应位置1
(3) 中断屏蔽寄存器IMR (Interrupt Mask Register) 用于对8个中断源进行屏蔽控制。当某位清零时,则相应的中断请求可以向CPU提出,否则不可以
1 —屏蔽,0 —允许
(4) 优先权电路PR(Priority Resigter):用于比较正在处理的中断和正在请求的中断源的优先级别,确定各中断请求的优先权。
(5) 控制逻辑:向CPU发送中断请求信号,并接受响应信号。控制逻辑有6个寄存器,ICW1–ICW4用来存放初始化程序的工作字方式,管理8259A的工作,OCW2—OCW3用来存放操作命令字,对中断过程进行控制
(6) 数据总线缓冲器:接收CPU的命令数据,发送状态信息及向量号。
(7) 读/写控制逻辑:接收CPU发来命令信号。实现对8259A的读/写操作
(8) 级联缓冲比较器:实现8259A的ID号的存储与比较。用以实现8259A芯片的级联,最高由8级拓展到64级

2.3 8259A引脚

在这里插入图片描述
8259A一共28个引脚,一组与CPU相连,一组与设备相连

2.3.1 与CPU相连的引脚

D7~D0:数据线,双向,三态。与系统的数据总线相连,与CPU进行信息交换
1,A0:奇/偶地址选择信号
2,/CS:片选信号,低电平有效,输入。决定8259A端口地址范围
3,/(WR):写控制信号,输入,低电平有效
4,/(RD):读控制信号,输入,低电平有效
5,INT:(Interrupt):中断请求信号,输出,高电平有效。与CPU的 INTR(Interrupt Request)相连,向CPU发出中断请求
6,/(INTA):Interrupt Acknowledgement 中断响应信号,输入,低电平有效,与CPU的/(INTA)相连,在CPU发出第二个/(INTA)信号时,8259A将最高级别的中断请求的中断类型码传给CPU

2.3.2 与外设相连的引脚

1,CAS2~CAS0:级联信号
2,/(SP)/ /(EN):从片开启/缓冲信号
3,+5V,GND:接地

2.4 8259a可编程寄存器

8259a在工作前要先接受初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3,
ICW1
在这里插入图片描述
ICW2
在这里插入图片描述
ICW3
在这里插入图片描述
ICW4
在这里插入图片描述

爬虫Python学习是指学习如何使用Python编程语言来进行网络爬取和数据提取的过程。Python是一种简单易学且功能强大的编程语言,因此被广泛用于爬虫开发。爬虫是指通过编写程序自动抓取网页上的信息,可以用于数据采集、数据分析、网站监测等多个领域。 对于想要学习爬虫的新手来说,Python是一个很好的入门语言。Python的语法简洁易懂,而且有丰富的第三方库和工具,如BeautifulSoup、Scrapy等,可以帮助开发者更轻松地进行网页解析和数据提取。此外,Python还有很多优秀的教程和学习资源可供选择,可以帮助新手快速入门并掌握爬虫技能。 如果你对Python编程有一定的基础,那么学习爬虫并不难。你可以通过观看教学视频、阅读教程、参与在线课程等方式来学习。网络上有很多免费和付费的学习资源可供选择,你可以根据自己的需求和学习风格选择适合自己的学习材料。 总之,学习爬虫Python需要一定的编程基础,但并不难。通过选择合适的学习资源和不断实践,你可以逐步掌握爬虫的技能,并在实际项目中应用它们。 #### 引用[.reference_title] - *1* *3* [如何自学Python爬虫? 零基础入门教程](https://blog.csdn.net/zihong523/article/details/122001612)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [新手小白必看 Python爬虫学习路线全面指导](https://blog.csdn.net/weixin_67991858/article/details/128370135)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炒香菇的书呆子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值