计算机固件发展历程与技术解析
1. 用户界面与BIOS早期发展
1.1 用户界面
早期的IBM PC/AT BIOS意识到,终端用户需要了解硬件初始化操作中的故障情况。由于硬件较为复杂,在POST(加电自检)操作中识别故障或潜在的不良硬件十分重要。PC/AT上实现的初始用户界面的一部分是POST代码(2字节数据,也称为错误代码),这些代码会出现在主I/O端口80或视频/串行控制台上,代表错误状态和可采取的纠正措施(如果有的话)。例如,错误代码0x0003表示CMOS电池电量低,纠正措施可以是继续启动或中止启动以修复问题。后来,蜂鸣声代码成为一种更有意义的方式,用于吸引用户对故障的关注或指示启动成功。如果计算机POST失败,会发出不同的蜂鸣声(短蜂鸣声或长蜂鸣声,且有周期性间隔)来告知用户问题的来源。例如,一声短蜂鸣声表示DRAM刷新失败。此后,每个BIOS供应商都设计了自己产品特定的POST和错误代码,以便在POST期间轻松检测故障。
1.2 BIOS服务
BIOS负责在POST期间对连接到主板的所有控制器进行硬件初始化。它实现了特定的例程来执行硬件组件的初始化,如输入和输出设备、存储设备和串行端口。PC/AT BIOS将平台初始化与运行时服务分开。
1.3 BIOS中断调用
IBM平台利用BIOS中断调用来从MS - DOS层调用平台硬件。传统上,通过触发软件中断来访问BIOS例程。这些BIOS中断调用被DOS内部操作和一些应用层使用。这种操作模式需要高权限。当软件触发BIOS中断时,CPU将中断重定向到IVT(中断向量表),并执行与该中断向量对应的特殊例程来执行请求的任务。INT指令用于触发软件中断,例如
超级会员免费看
订阅专栏 解锁全文
27

被折叠的 条评论
为什么被折叠?



