计算机的定时和计数

计算机的定时和计数通常是一回事。 提供定时和计数能力的芯片是 8253/8254 三个计数器结构相同,相互独立 CLK 外部时钟信号 Gate 门控制信号 Out 对外输出信号 CPU 通过数据总线控制总线和 8253 挂接。 $A_1$ $A_0$ 功能 0 0 Counter0 0 1 Counter1 1 0 Counter2 1 1 控制端 对 8253/8254 编程 写入方式字 写入初值 $D_7$ $D_6$ $D_5$ $D_4$ $D_3$ $D_2$ $D_1$ $D_0$ 计数器 读写格式 工作方式 数制 读写格式 00 锁存当前值 01 写低8位,高8位置0 10 写高8位,低8位置0 11 先写低8位,再写高8位 数制: 0 二进制 1 BCD 当初值为类似 2000 时,使用 BCD 有效提高写入速度(低8位为0,高8位为 0010 0000) 计算初值 $$ \text{定时时间} T_{out} = \text{计数初值}n \times 计数时钟周期 T_{CLK} $$ $$ \text{计数初值} n = \frac{T_{out}}{T_{CLK}} = \frac{f_{CLK}}{f_{out}} $$ 写入端口 使用 IN 和 OUT 命令进行编程...

2024/01/10 · updated 2024/01/10 · 166 words · Finley Ge

中断和8259A中断控制器

在之前学习计算机组成原理的时候就曾经研究过中断: TD-CMA下计算机组成实验:带中断的复杂模型机 | Finley’s Blog 今年学习了汇编和微机接口,这是一篇对中断机制和中断控制器 8259A 的总结性文章。 术语 中断:暂停当前程序,转去处理异常或外设请求程序 主程序 中断服务程序 ISR: Interrupt Service Routine 断点:中断时,主程序中被终止指令的下一条指令地址,被压入栈中进行保护。 中断源:引发中断的事件或设备。 内部中断: CPU执行程序错误,例如除法错 外部中断:CPU外部的中断,外设提出的中断,如电源故障 中断类型号:每个中断源分配一个编号,即中断类型号 中断接口:实现中断管理的逻辑电路被称为中断接口。8259A 可编程中断控制器 中断识别:CPU确定哪一个中断源发出中断请求的过程。找到中断源对应的中断服务程序的入口地址,转去进行处理 查询法: 软件查询,确定中断源 硬件法:硬件法,由可编程中断寄存器提供中断类型号 中断向量:中断服务程序的入口地址: CS:IP 中断向量表:将系统中的所有中断向量集中起来,按照中断类型号从小到大的顺序存放在内存某区域。(数据段0段中) 中断响应:收到中断请求,CPU满足响应条件则进入中断响应周期。接受响应的条件 CPU当前指令执行结束 没有更高级的中断请求正在执行 CPU处于开中断状态,(IF = 1) 改变 IF 的状态: STI 开中断 SeT Interrupt CLI 关中断 CLear Interrupt 中断响应周期需要完成的动作:(CPU 硬件自动完成) 清IF, TF标志 将 FLAGS、CS、IP 压桟保存 查找中断向量表,获得 ISR 入口地址,转而去执行 ISR 8086/8088 微机中断系统 8 位二进制数表示一个中断类型号 一共支持 256 个中断源, 放置在 0 数据段的 0 ~ 3FFH (1KB)...

2024/01/08 · updated 2024/01/10 · 417 words · Finley Ge
晋ICP备2022008114