【问题标题】:How does the PIC knows a keyboards is a keyboard and should be mapped to IRQ #1?PIC 如何知道键盘是键盘并且应该映射到 IRQ #1?
【发布时间】:2018-12-24 12:13:26
【问题描述】:

我在 OSDev Wiki 的一篇文章中读到,IRQ #1 与键盘匹配。但是 PIC 怎么知道键盘是键盘,然后它应该映射到 IRQ #1?

【问题讨论】:

  • 每个 8259 PIC(或模拟 2 个 PIC 行为的硬件)在每个 PIC 上具有相当于 8 条输入线。键盘中断与输入线 1 上的主 pic 相关联。PICS 由 BIOS 或硬件设置为映射到从向量 0x08(主 IRQ0 到 IRQ7)和 0x70(从 IRQ 08 到 IRQ15)开始的 PC 中断向量。 PIC 不知道每个输入引脚与什么相关联。由处理器(CPU)向 PIC 查询中断源,然后调用正确的中断向量(例程)
  • 0x08(主)和0x70(从)的基向量可以通过向每个PIC发送命令来重新编程。

标签: assembly operating-system hardware interrupt interrupt-handling


【解决方案1】:

PIC 根本不知道这件事。如果它在其 IRQ 1 引脚上收到信号,它只会触发 IRQ 1。该引脚连接到主板上的键盘控制器,因此当键盘控制器发出中断时,PIC 会接收到该中断。当然,在现代 PC 兼容机中,所有这些线都是高度集成的超级 IO 芯片的一部分,肉眼实际上是看不到的。

所以回答你的问题:PIC 知道是因为键盘控制器和 PIC 之间有一条线。

【讨论】:

    【解决方案2】:

    在带有 BIOS 和 USB 的系统上,BIOS 包含一个 USB 键盘驱动程序,该驱动程序在系统管理模式下运行并将键盘事件提供给键盘接口,从而模拟物理 PS2 键盘。

    【讨论】:

    • 我认为这实际上并不能回答所提出的问题。
    猜你喜欢
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    相关资源
    最近更新 更多