【发布时间】:2021-01-12 08:36:09
【问题描述】:
BIOS 如何初始化屏幕?我正在寻找我一直在通过网络搜索的答案,但是找不到任何东西......但是,我找到了一个网站!但是,它说here 已初始化为地址 C000h。显卡真的硬连线到内存地址C000h吗?请提前告知我和TY...:D
【问题讨论】:
-
它不是“硬连线”的,虽然主显卡在此类系统中映射 - xwindow.angelfire.com/page13_1.html
-
也相关:wiki.osdev.org/VGA_Hardware。尽管在现代机器中,可能实际上模拟了很多 VGA I/O 端口接口,即使当固件在启动期间将现代视频硬件置于该模式时,文本模式帧缓冲区仍然是真实 RAM。
-
那里有 BIOS 功能,所以我们不需要知道显卡(或其他外围设备)如何工作的具体细节,这是一组常见的调用,供应商会提供 BIOS 代码他们的卡处理了这些调用并在他们的卡上执行了任何操作来实现这一点。主主板 BIOS/bootloader 会检测这些外设 bioses 并将它们映射到中断表中,这样我们只需要进行 bios 调用即可进行基本的显示和磁盘等操作。
-
谢谢!我会搜索一些关于该卡的文档!
-
视频尤其是在一个已知的地址空间,并且会暴露那里的BIOS,所以是硬编码的。后来像声音和以太网这样的外围设备会争夺空间和资源(dma、中断、I/O 和内存),有些有检测方案,允许它们降落在不同的地方,有些是跳线,有些只是硬编码。 PCI 太过分了,但它的出现部分是为了克服供应商之间这些经常硬编码的冲突(不是视频)