BIOS代码存放在什么硬件中?什么时候运行?什么时候结束?
如题所述PS:最近看0.12版本的Linux原代码,有提到BIOS程序,不是很理解,请大虾指点下,先谢了我是用单片机的思想去思考的,看看我理解对不:->硬件通电->CPU...
如题所述
PS:最近看0.12版本的Linux原代码,有提到BIOS程序,不是很理解,请大虾指点下,先谢了
我是用单片机的思想去思考的,看看我理解对不:
->硬件通电
->CPU内部代码(就像单片机中的flash?)读取外部程序(BIOS)到RAM
->执行RAM中BIOS程序(自检,加载OS代码到RAM)
->跳转到RAM中的OS代码
……
上面几个步骤对吗?不对的话,应该是怎么样?
再PS下:是BIOS,不是BISO,纯属吹毛求疵,不必在意哈哈^^ 展开
PS:最近看0.12版本的Linux原代码,有提到BIOS程序,不是很理解,请大虾指点下,先谢了
我是用单片机的思想去思考的,看看我理解对不:
->硬件通电
->CPU内部代码(就像单片机中的flash?)读取外部程序(BIOS)到RAM
->执行RAM中BIOS程序(自检,加载OS代码到RAM)
->跳转到RAM中的OS代码
……
上面几个步骤对吗?不对的话,应该是怎么样?
再PS下:是BIOS,不是BISO,纯属吹毛求疵,不必在意哈哈^^ 展开
3个回答
展开全部
BISO代码存放在BISO芯片中,你在主板中有一块芯片,就是BISO芯片,一般开机的时候,机器都会调入BISO进行机器自检,自检完,BISO会调入开机启动程序,这个时候BISO驻存在内存的固定地址中,BISO调入开机启动程序就会把系统控制权交给开机启动程序,开机启动程序也就是操作系统的调入程序,属于操作系统的一部分,当系统需要使用IO时,会调用BISO的中断,不过好像比较少用到,系统好像有自己的中断处理程序。。。。。
无语,现在才发现把字母打错了。。。。
应该不能像兰州那么理解,因为cpu纯属指令执行的部件,存在内存的代码不一定被执行,当机器上电时BIOS的程序入口都有一个内存地址,CPU从这一个地址读入程序,然后CPU执行程序,而,当BIOS把控制权交给OS时,是指,BIOS的程序跳转地址指向了OS的入口地址,当CPU执行到BIOS的跳转语句时,CPU会调入OS的指令,并且执行OS的指令,这个时候,系统的控制权就交到了OS的手上
参考:http://baike.baidu.com/view/772895.htm?fr=ala0_1_1
至于BIOS的内存地址,我现在也没弄清楚,不知道他是从芯片调入内存的固定地址,还是,系统直接在芯片上分配了内存地址,我更偏向于第二种
普通CPU不知道跟单片机有没区别,好像没有flash程序
无语,现在才发现把字母打错了。。。。
应该不能像兰州那么理解,因为cpu纯属指令执行的部件,存在内存的代码不一定被执行,当机器上电时BIOS的程序入口都有一个内存地址,CPU从这一个地址读入程序,然后CPU执行程序,而,当BIOS把控制权交给OS时,是指,BIOS的程序跳转地址指向了OS的入口地址,当CPU执行到BIOS的跳转语句时,CPU会调入OS的指令,并且执行OS的指令,这个时候,系统的控制权就交到了OS的手上
参考:http://baike.baidu.com/view/772895.htm?fr=ala0_1_1
至于BIOS的内存地址,我现在也没弄清楚,不知道他是从芯片调入内存的固定地址,还是,系统直接在芯片上分配了内存地址,我更偏向于第二种
普通CPU不知道跟单片机有没区别,好像没有flash程序
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询