当前位置: 技术问答>linux和unix
PC的开机,关机,重启过程,8042工作原理,ROM区的映射,把不懂的问题一下都列了出来,希望大侠帮我看看
来源: 互联网 发布时间:2015-06-29
本文导语: 总是看到书上说reset,加电之后CPU开始工作, (1) 但具体开机(加电)是怎么个过程, reset也可分为按机箱上的reset键和通过键盘的8042对system reset输出端发一个脉冲,(2) 这两种方式有何不同?经我观察,直接按reset键的话,不管...
总是看到书上说reset,加电之后CPU开始工作,
(1) 但具体开机(加电)是怎么个过程,
reset也可分为按机箱上的reset键和通过键盘的8042对system reset输出端发一个脉冲,(2) 这两种方式有何不同?经我观察,直接按reset键的话,不管内存中是不是有1234,都进行了POST,但如果是发一个脉冲,则会实现热重启,通过jmp ffff:0000则是重引导BIOS.
(3) CPU在RESET之后,386以下的CPU是不是CS:ffff IP:0000; 386及以上的拥有保护模式的CPU是不是CS:f000 IP:fff0 CS的隐藏段基址寄存器中地址为ffff0000 ???
(4) PC的关机是怎么个过程,只会调用函数,用个命令的,可不知它具体怎么做,是不是跟PC结构,电源管理有关?看了源代码,用到了高级电源管理,15号BIOS中断是什么用的,好像很复杂.
(5) ROM区的映射,在UMA中,是通过硬件直接映射到ROM区的吧,有些书上说那个4G的最高端fffffff0也是被映射到BIOS的,再通过跳转到ffff:0000进入实模式的段式寻址,这个地址也是BIOS中的,又是一条跳转指令,为什么要这么做,兼容?
(6) ROM的读写困扰了我三年,在CMOS里选中了BIOS映射后,那些隐藏的内存被加载到BIOS程序,但是不可写的,不过应该有办法写进去的,我记得CIH的源代码里说是通过设置一个东西,使BIOS电压升高,这样写在那些RAM区的内容会直接写进ROM,但具体应该怎么做呢?本人只是对技术的渴求,绝无他念.
(7) GATE A20, 是通过设置8042输出端口的一个bit来控制的,我在DOS下用DEBUG设置那个位,但好像并没有屏蔽掉,访问ffff:0010 和0000:0000的内容不同,当然DOS本身上加载在high memory中的,为什么设了那个后还能访问高于1M的地址,难道是DOS过滤掉了设置?但在DOS中我的程序是有绝对权限的,不知其原因.
这些是我在学习过程中碰到的问题,大家有什么看法都可以说说,高手请不要保留,解决其中一题我另开贴100分相送.
(1) 但具体开机(加电)是怎么个过程,
reset也可分为按机箱上的reset键和通过键盘的8042对system reset输出端发一个脉冲,(2) 这两种方式有何不同?经我观察,直接按reset键的话,不管内存中是不是有1234,都进行了POST,但如果是发一个脉冲,则会实现热重启,通过jmp ffff:0000则是重引导BIOS.
(3) CPU在RESET之后,386以下的CPU是不是CS:ffff IP:0000; 386及以上的拥有保护模式的CPU是不是CS:f000 IP:fff0 CS的隐藏段基址寄存器中地址为ffff0000 ???
(4) PC的关机是怎么个过程,只会调用函数,用个命令的,可不知它具体怎么做,是不是跟PC结构,电源管理有关?看了源代码,用到了高级电源管理,15号BIOS中断是什么用的,好像很复杂.
(5) ROM区的映射,在UMA中,是通过硬件直接映射到ROM区的吧,有些书上说那个4G的最高端fffffff0也是被映射到BIOS的,再通过跳转到ffff:0000进入实模式的段式寻址,这个地址也是BIOS中的,又是一条跳转指令,为什么要这么做,兼容?
(6) ROM的读写困扰了我三年,在CMOS里选中了BIOS映射后,那些隐藏的内存被加载到BIOS程序,但是不可写的,不过应该有办法写进去的,我记得CIH的源代码里说是通过设置一个东西,使BIOS电压升高,这样写在那些RAM区的内容会直接写进ROM,但具体应该怎么做呢?本人只是对技术的渴求,绝无他念.
(7) GATE A20, 是通过设置8042输出端口的一个bit来控制的,我在DOS下用DEBUG设置那个位,但好像并没有屏蔽掉,访问ffff:0010 和0000:0000的内容不同,当然DOS本身上加载在high memory中的,为什么设了那个后还能访问高于1M的地址,难道是DOS过滤掉了设置?但在DOS中我的程序是有绝对权限的,不知其原因.
这些是我在学习过程中碰到的问题,大家有什么看法都可以说说,高手请不要保留,解决其中一题我另开贴100分相送.
|
ROM可以写呀。现在的主板有BIOS写保护才不能写。原来的都是可以写的。真正不可写的。只读的ROM也不会遭到CIH攻击。至于怎么做。去找找awdflash.exe程序看看是怎么做的吧。
其他问题实在是深奥。小弟只能关注了。
其他问题实在是深奥。小弟只能关注了。
|
不好意思,问题太多了。好难写啊!
给你推荐 IA32 架构 和 南北桥芯片组的资料,
所有问题的答案均在里面,呵呵!很不好意思我是懒人:)
给你推荐 IA32 架构 和 南北桥芯片组的资料,
所有问题的答案均在里面,呵呵!很不好意思我是懒人:)