linux 上电执行的第一条代码是在内存里吗?
来源:互联网 发布:明亡之后无华夏 知乎 编辑:程序博客网 时间:2024/06/05 00:52
摘自oldlinux:
上电执行的第一条代码是在内存里吗?
“访问的F000h : FFF0h是内存的地址还是存放bios的rom地址 ”
这个是由北桥内的一个寄存器设置的(具体的资料你可以去找一些芯片组的资料)。当北桥收到CPU外部的地址总线上的信号时,会根据这个寄存器内的值来决定是从内存里取内容还是把这个地址传送给南桥--因为BIOS是挂在南桥的FWH上的,然后由南桥来读取BIOS里的内容。
由上面的描述可以看出,其实从0XE0000到0XFFFFF这段地址存在两个芯片,一个是ROM,一个是RAM,这也就是所谓的Shadow RAM
并且这个Shadow RAM机制是由BIOS来控制的,BIOS通过在上面据说的寄存器里设定值来开启或者关闭Shadow RAM,BIOS程序刚开始执行的时候Shadow RAM并没有打开,这时默认访问到的地址F000h : FFF0h会是ROM内的BIOS,开启Shadow RAM后再访问这个地址就会读到RAM内的内容了!
还有什么不理解的话请参考这篇讨论:
http://programmer-club.com/pc2020v5/Forum/ShowSametitleN.asp?URL=N&board_pc2020=assembly&index=122&id=5154&mode=&type_pc2020=sametitleLevel-2
这个是由北桥内的一个寄存器设置的(具体的资料你可以去找一些芯片组的资料)。当北桥收到CPU外部的地址总线上的信号时,会根据这个寄存器内的值来决定是从内存里取内容还是把这个地址传送给南桥--因为BIOS是挂在南桥的FWH上的,然后由南桥来读取BIOS里的内容。
由上面的描述可以看出,其实从0XE0000到0XFFFFF这段地址存在两个芯片,一个是ROM,一个是RAM,这也就是所谓的Shadow RAM
并且这个Shadow RAM机制是由BIOS来控制的,BIOS通过在上面据说的寄存器里设定值来开启或者关闭Shadow RAM,BIOS程序刚开始执行的时候Shadow RAM并没有打开,这时默认访问到的地址F000h : FFF0h会是ROM内的BIOS,开启Shadow RAM后再访问这个地址就会读到RAM内的内容了!
还有什么不理解的话请参考这篇讨论:
http://programmer-club.com/pc2020v5/Forum/ShowSametitleN.asp?URL=N&board_pc2020=assembly&index=122&id=5154&mode=&type_pc2020=sametitleLevel-2
- linux 上电执行的第一条代码是在内存里吗?
- 请教,cpu加电执行的第一句代码,究竟是从bios中执行,还是从内存中执行?
- 为什么 __start 是处理器执行的第一条指令?
- java代码在内存中是怎么执行的
- 计算机加电后执行的第一条指令
- x86系统执行的第一条指令
- 第一条要执行的命令
- 在Linux下编写运行你的第一条代码——Hello Linux
- cpu启动之后执行的第一条指令
- makefile 的make命令默认只执行第一条命令
- 在Linux操作系统上执行java代码,执行交互式命令
- 执行堆上的一块代码调用
- SQL SERVER 取出 一张表中的每个分组中 的第一条数据 ,第一条数据是按照某种排序规则进行排序取的第一条
- JavaScript的执行原理,很多人都理解错了:在js被加载后,其实就将js代码执行了一遍,在内存中创建了所有js文件中的变量。而不是激发了某个js方法后,再去相应的js文件中去执行,是去内存中执行
- CPU执行第一条指令时情形
- 关于引导程序第一条指令为什么是org 07c00h,org到底是干嘛的
- 关于引导程序第一条指令为什么是org 07c00h,org到底是干嘛的
- 实现Java代码在内存中编译执行
- openjweb1.8新增工作流引擎介绍
- linux 中断
- 研究生如何做好科研和发表文章
- Makefile详解(超级好)
- linux 系统调用
- linux 上电执行的第一条代码是在内存里吗?
- A research line from cloud computing to hypergraph
- Oracle存储过程,以游标的方式返回一个记录集
- tftp 命令格式
- hibernate配置文件映射元素详解
- 解析spring schedule
- 日本产业研究--读后感三 能源
- delphi调用C#写的web服务例子
- silverlight3 开发包安装顺序