江西省建设局网站,网站建设 名词解释,成都灯光设计公司,深圳注册公司需要什么资料7.1.1 输入输出系统和几种IO控制方式
输入设备#xff1a;把数据从主机外部输入主机内部
输出设备#xff1a;把数据从主机内部输出到主机外部
现在的IO接口(芯片)通常被集成在南桥芯片的内部 DMA接口其实也是IO接口(芯片)的一种#xff0c;磁盘准备的数据先一个字一个字…7.1.1 输入输出系统和几种IO控制方式
输入设备把数据从主机外部输入主机内部
输出设备把数据从主机内部输出到主机外部
现在的IO接口(芯片)通常被集成在南桥芯片的内部 DMA接口其实也是IO接口(芯片)的一种磁盘准备的数据先一个字一个字地送入DMA的寄存器然后再送到主存当中主存总线和DMA总线当然会冲突这也需要仲裁当然CPU需要的数据80%都在cache当中可以找到所以主存大部分时间都是可以判给DMA总线
IO总线当然包括了地址总线、数据总线、控制总线 通道其实就相当于是一个弱鸡版的CPU它也可以取指执行但是它只能识别很小的一部分和IO相关的操作指令(了解即可) 7.1.2 显存
了解即可
独立显卡有自己专门的一块存储芯片
集成显卡是在内存当中单独划出来一块区域作为显存 7.2.1 I/O接口
主机与IO设备交互通过的就是IO接口 控制外设输入的示例 7.3.1 程序查询方式
打印是时候打印机是忙状态(busy)CPU轮询in来检查端口是否空闲打印完a之后就会把状态从busy设置为ready
当打印任务全部完成之后CPU就会给io接口发送一个停机的命令
打印3个字符abc的过程 7.3.2 中断的原理和作用
中断处理的过程
中断请求(INT) - 中断响应(INTA) - 中断处理(中断隐指令(硬件)中断服务程序(软件))
中断请求中断控制芯片8259告诉CPU有外部中断产生了
中断响应CPU检查自己的IF位如果IF1就通知8259我准备好了可以把中断类型码发过来了
中断处理8259把中断类型码送给CPU(比如放到eax当中)然后CPU通过执行中断隐指令的引出中断服务程序(比如eax - PC)就可以到对应位置继续取指顺序执行了 CPU在指令周期的末尾会例行检查中断(检查CPU的INT端口有没有信号)
根据IF位可以判断当前CPU有没有关中断如果IF位为1就从中断寄存器当中取数据IF为0就不取相当于不会响应中断
关中断的目的是为了实现原子操作是通过硬件实现的 中断请求寄存器是在中断控制器8259当中的 关机之前会进行一系列的紧急处理之后才会被关闭
现在的计算机一般使用硬件实现中断判优这样比较快速 中断判优的优先级问题 中断处理过程
中断隐指令指的是一些列的指令这一系列指令都是由CPU自动完成的只要检测到中断请求CPU就会自动执行这一系列的指令(是通过硬件电路自动实现的)
中断隐指令关中断、保存断点(PC)、获取中断向量
所有中断源的中断隐指令都是一模一样的
引出中断服务程序先通过中断类型号指明要去主存为12H的位置取指令并执行(在操作系统的内核空间常驻内存)执行JMP 200CPU就会从200的地址处去继续取指执行了
二级指针你一级变化二级不变不用改动这样可以方便拓展中断服务程序 中断服务程序的执行过程 7.3.3 多重中断
执行中断期间也可以响应新的(一般是优先级更高的)中断请求 肯定得在保护完现场/恢复完现场之后才能开中断啊
至于中断隐指令和中断返回都是通过硬件电路实现的直接一气呵成好吧 中断屏蔽技术
中断屏蔽字1111都给屏蔽喽(这个中断源的优先级很高)
中断屏蔽字存储在屏蔽字寄存器当中这样可以动态地调整各个中断源的优先级从而为实现多重中断提供了技术支撑
每个中断源都有一个中断屏蔽字在这个中断源被响应的时候就可以把它的屏蔽字写到中断屏蔽字寄存器当中了以此来决定在他进行中断处理的过程中会对哪些其他中断源进行响应
也就是说当CPU在处理当前中断的过程中有其他IO端口发出中断请求但是这个信号不会被立即送到CPU的INT当中而是由中断控制器8259根据中断屏蔽字和判优逻辑电路来决定要不要给CPU发送一个INT信号(8259决定了中断信号会不会被送出去给CPU) 一个小练习题 实际CPU当中的中断系统 中断类型号是通过数据寄存器传给CPU的
中断请求寄存器IR1,IR2...IR7连接的就是IO接口优先级电路会根据当前中断源的中断屏蔽寄存器等信息决定选择哪一个中断中断服务寄存器(前面PPT当中用于产生中断向量的)
不管是哪个IO端口(IRx)产生了电信号中断请求寄存器IRR都会给控制逻辑的INT发一个信号然后传给CPU的INTR引脚如果IF1的话CPU允许中断就会通过INTA引脚发给控制逻辑告诉他我收到了你可以把中断类型号发给我了然后控制逻辑控制8259通过和CPU数据寄存器相连的线把中断向量发给CPU