找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
楼主: bini

[原创]BIOS知识点滴Follow Bini之--BIOS起步:顺藤摸瓜第一条指令

[复制链接]
发表于 2010-6-18 10:00:21 | 显示全部楼层
不知道新注册的新手可以发东西吗?
回复

使用道具 举报

发表于 2010-12-17 11:02:01 | 显示全部楼层
多谢了,学习一下。
回复

使用道具 举报

发表于 2011-1-4 14:25:08 | 显示全部楼层
新手来报道 学习~~
回复

使用道具 举报

发表于 2011-4-22 23:02:44 | 显示全部楼层

有点疑问

从IA32中的相关章节我们可以了解到,当上电一切就绪后,CPU的状态其实是实模式,但是在寻址的时候却用了big real mode的寻址方式去做。因为reset后CPU的CS默认是段选择子,而且它的值是F000H。当我们用F000H去选择CS的时候,CPU在计算地址的时候是用了CS的base(为0FFFF0000H),且此时的EIP默认是FFF0H,所以CPU计算好后才是从FFFFFFF0H处去取指令。一般我们在BIOS中都在这里是用了FAR jump来显示地修改CS的值,这样就可以真正的进入real mode模式了。CPU寻址才会是segment:offset的寻址方式。相应章节在IA32 programming guide 3A的Processor Built-In Self-Test (BIST)。
9 q# s; u  n9 M/ E* T9 R# ~0 @# d, G/ S. N
3 [1 V- o4 e. t' J9 w, u/ z. H' h# [
cpu 第一条指令是在0xFFFFFFF0  是毫无疑问的,这就要求rom 必须映射在这个地址上,这里一般就是far jump, 来显示地修改CS的值,这样就可以真正的进入real mode模式了, 而在这种模式下寻址只能到1m 多一点, 那他怎样能执行rom 里的代码, 除非是rom 被映射到两个地址上了。 是不是这样呢,那位高人指点一下。
回复

使用道具 举报

发表于 2011-4-22 23:11:57 | 显示全部楼层

刚刚找到答案

现在解释一下地址影射问题. N/B 和S/B 组合的MAP机制会把4G-8G到4G的部分地址空间和E0000-FFFFF的空间MAP 到LPC上. 同时LPC上挂 FWH EEPROM(BIOS ROM)能够解码FF00 0000 -FFFF FFFF和0000 0000-00FF FFFF两部分地址. 这也就是CPU 为什么能够在两种寻址方式下都能够寻址EEPROM的原因
回复

使用道具 举报

发表于 2011-9-6 10:26:37 | 显示全部楼层
谢谢楼主的贴子,学习下。。。
回复

使用道具 举报

发表于 2011-10-2 21:01:27 | 显示全部楼层
为了学习。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2024-12-23 20:23 , Processed in 0.057679 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表