Linux操作系统下关于引导和初始化的问题

http://tech.ddvip.com   2007年07月10日    社区交流

内容摘要:Linux操作系统下关于引导和初始化的问题

  960-KB–1-MB memory (BIOS Area) - System BIOS Area.

  扩展内存区:由1M到4GB-1

  — High BIOS area from 4 GB to 4 GB–2 MB

  Intel 82875P Memory Controller Hub (MCH)

  memery的监测和初始化:在对内存接口做操作前,必须初始化MCH DRAM寄存器.MCH必须配制成针对所安

  装的内存的类型进行操作.对内存类型和大小的检测是通过ICH5上的System Management Bus (SMBus)来

  完成.这个两线的总线通过DRAM DIMM上的Serial Presence Detect端口获得DRAM的类型和大小信息.

  BIOS需要确定每行内存的大小和类型来配置MCH内存接口.

  2.x86MPU 启动时的初始化

  复位输入提供一种初始化的硬件手段.通过复位接口电路向mpu提供信号,Reset要保持1至少15个

  CLK2周期,当返回0后,MPU启动内部初始化程序,进入实地址模式.初始化完成后,标志寄存器设为

  0xUUUU0002(u代表未定义,实模式下9位标志可用,这里是奇偶标志为1);指令指针设为0x0000FFF0,CS

  寄存器设为0xF000,DS,SS,ES,FS和GS寄存器都设为0x0000,指令队列清空.

  实模式下地址的形成:段基址+指令指针偏移

  MPU在识别出Reset信号后把数据总线设在高阻状态,地址线强行设为1.由于清空中断标志是初始化

  的一部分,外部中断被禁止.因为代码段寄存器为0xF000,指令指针为0x0000FFF0,地址线A20-A31全部

  是1,从而复位后实模式程序从地址0xFFFFFFF0开始(只用于实模式高地址位忽略,从地址0xFFFF0开始.

  该地址处可以包含一条转移指令跳到启动程序处.

  物理地址为0xfffffff0的代码将被执行.这个地址被存储在一个只读存储器(ROM)里.BIOS(基本

  输入/输出系统)实际上是一段存储在ROM里的程序.它包含了一系列可以被某些操作系统调用,用于处理

责编:豆豆技术应用

正在加载评论...