当前位置:  技术问答>linux和unix

开机后,CPU执行的第一条指令是BIOS中的指令吗?

    来源: 互联网  发布时间:2015-03-07

    本文导语:  一般认为,开机后BIOS最先被启动,首先进行上电自检,然后进入系统启动自举程序。但我认为,未必如此。上电自检程序和系统启动自检程序都是程序,既然是程序,就应当由CPU执行。Pentium的资料上说,CPU在完成初...

一般认为,开机后BIOS最先被启动,首先进行上电自检,然后进入系统启动自举程序。但我认为,未必如此。上电自检程序和系统启动自检程序都是程序,既然是程序,就应当由CPU执行。Pentium的资料上说,CPU在完成初始化之后首先从FFFF,FFF0H开始执行,此时地址线的31-20位为高,在执行到第一条段间跳转指令或者CALL指令(在地址FFFF,FFF0H-FFFF,FFFFH之间必须有段间跳转指令或CALL指令)之后,地址线的31-20位变为低,转入系统的入口处,只执行低1M物理内存的指令(即进入实模式)。既然Pentium首先从FFFF,FFF0H开始执行,就必须有一个存储部件的物理地址包含FFFF,FFF0H,请问是哪个存储部件呢?我所知道的主板上的存储部件包括ROM BIOS、CMOS RAM、内存插槽上的内存,ROM BIOS占用的是从0FE00H开始的8K空间,显然ROM BIOS中不包含FFFF,FFF0H,也就是说,开机后,CPU执行的第一条指令不是BIOS中的指令。各位大侠以为对否?望赐教。

|
就是BIOS的ROM。
开机时是实模式,CPU从FFFF:FFF0寻址(实模式的指令字长),其实就是读了内存最高端的第一个指令,通常是跳转指令,跟入真正的代码段。
别忘了实模式的内存寻址是:内存段:偏移地址,同一个物理内存地址可以有不同的段+偏移地址表示方式。(若没记得的话段地址间只相差16K的)
ROM BIOS还可以实现代码整段搬移、重定位等功能。

|
http://expert.csdn.net/Expert/topic/1766/1766165.xml?temp=.1257288
上面有一篇写得很详细

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Ubuntu程序开机自动启动设置(服务和自动运行配置文件)的几种方法
  • 怎样判断当前系统是冷开机还是热开机?
  • 急急!!我的声卡为什末有时有声,有时没有(不是同一次开机时有时无,而是多次开机)?
  • Mac开机菜单选择 rEFIt
  • 开机密码
  • 如何在开机过程中打开数字小键盘?
  • 如何关闭开机检查新硬件?
  • 如何屏蔽linux开机自检,用图片代替
  • 如何开机使用grub引导?
  • linux开机运行的程序无法输出
  • linux 开机启动
  • 新手求教双系统开机启动问题
  • 求助关于ubuntu12开机后定期运行程序
  • 高分:在Linux中怎么样实现自动开机?
  • 病毒实现计算机定时开机的原理是什么?
  • linux开机自启动程序可以访问数据库吗?
  • 更改开机画面问题! logo.gif
  • 如何在单用户模式下,开机就启动自己的应用程序?
  • 如何开机强制进入文本模式??
  • Bootsplash制作开机动画
  • linux如何开机运行软件?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3