东阳市网站建设,西安做网站选哪家公司,如何创立自己的网址,怎么在网上卖自己的产品RAM#xff1a;随机存取存储器#xff0c;常见的内存条就是一类RAM#xff0c;其特点是加电状态下可任意读、写#xff0c;断电后信息消失。在RAM中什么程序也没有的时候#xff0c;谁来完成加载软盘中操作系统的任务呢#xff1f;答案是#xff1a;BIOS。BIOS的启动原理…RAM随机存取存储器常见的内存条就是一类RAM其特点是加电状态下可任意读、写断电后信息消失。在RAM中什么程序也没有的时候谁来完成加载软盘中操作系统的任务呢答案是BIOS。BIOS的启动原理在了解BIOS是如何将操作系统程序加载到内存中之前我们先来了解一下BIOS程序自身是如何启动的。从我们使用计算机的经验得知要想执行一个程序必须在窗口中双击它或者在命令行界面中输入相应的执行命令。从计算机底层机制上讲其实是在一个已经运行起来的操作系统的可视化界面或命令行界面中执行一个程序。但是在开机加电的一瞬间内存中什么程序也没有没有任何程序在运行不可能有操作系统更不可能有操作系统的用户界面。我们无法人为地执行BIOS程序那么BIOS程序又是由谁来执行的呢秘诀是0xFFFF0 从体系的角度看不难得出这样的结论既然用软件方法不可能执行BIOS就只能靠硬件方法完成了。从硬件角度看Intel 80x86系列的CPU可以分别在16位实模式和32位保护模式下运行。为了兼容也为了解决最开始的启动问题Intel将所有80x86系列的CPU包括最新型号的CPU的硬件都设计为加电即进入16位实模式状态运行。同时还有一点非常关键的是将CPU硬件逻辑设计为加电瞬间强行将CS的值置为0xF000、IP的值置为0xFFF0这样CS:IP就指向0xFFFF0这个地址位置如 1-1所示。从图1-1中可以清楚地看到0xFFFF0指向了BIOS的地址范围。图1-1 启动时BIOS在内存的状态及初始执行位置小贴士IP/EIP(Instruction Pointer)指令指针寄存器存在于CPU中记录将要执行的指令在代码段内的偏移地址和CS组合即为将要执行的指令的内存地址。实模式为绝对地址指令指针为16位即IP保护模式下为线性地址指令指针为32位即EIP。CS(Code Segment Register)代码段寄存器存在于CPU中指向CPU当前执行代码在内存中的区域(定义了存放代码的存储器的起始地址)。注意这是一个纯硬件完成的动作如果此时这个位置没有可执行代码那么就什么也不用说了计算机就此死机。反之如果这个位置有可执行代码计算机将从这里的代码开始沿着后续程序一直执行下去。BIOS程序的入口地址恰恰就是0xFFFF0 也就是说BIOS程序的第一条指令就设计在这个位置。