freebsd 发表于 2010-6-18 10:00:21

不知道新注册的新手可以发东西吗?

wind1856 发表于 2010-12-17 11:02:01

多谢了,学习一下。

iwillbeback008 发表于 2011-1-4 14:25:08

新手来报道 学习~~

totin_c 发表于 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)。


cpu 第一条指令是在0xFFFFFFF0是毫无疑问的,这就要求rom 必须映射在这个地址上,这里一般就是far jump, 来显示地修改CS的值,这样就可以真正的进入real mode模式了, 而在这种模式下寻址只能到1m 多一点, 那他怎样能执行rom 里的代码, 除非是rom 被映射到两个地址上了。 是不是这样呢,那位高人指点一下。

totin_c 发表于 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的原因

jacalhu 发表于 2011-9-6 10:26:37

谢谢楼主的贴子,学习下。。。

a281572218 发表于 2011-10-2 21:01:27

为了学习。
页: 1 [2]
查看完整版本: [原创]BIOS知识点滴Follow Bini之--BIOS起步:顺藤摸瓜第一条指令