【操作系统】BIOS开机自检

news2025/6/22 10:37:59

一.BIOS的基本功能

        BIOS 全称 Basic Input/Output System,中文可译为基本输入/输出系统。电脑在按下电源键后的第一反应就是执行BIOS这个程序。之所以会被称之为“基本”,是因为它主要负责了一些开启计算机所需要最最基本的东西,其它更加复杂的操作它也干不了,会交给后续的其他程序做,它主要实现功能如下:

  • 进行第一次最基本的开机自检,挑一些重要的、能够保证计算机正常运行的检查,比如风扇、灯控、CPU等
  • 检查完成后开始硬件初始化操作,确定设备的启动顺序
  • 完成以上操作后将电脑的控制权交给下一位嘉宾(也就是MBR),然后继续睡觉

        有了上面的基本认识后,我们会产生几个疑问:

  • BIOS放在哪里?
  • 什么东西运行了BIOS?
  • 为什么那个东西可以找到它的位置?
  • BIOS里面放了什么东西?

二.第一第二个问题答案

        先回答第一个和第二个问题:BIOS作为第一个被启动的程序,总不能自己启动自己,它是被固化在主板的一个ROM存储器上面,安安静静地等着被翻牌子,等着被谁翻牌子呢?等着被CPU翻牌子。

        知识补充:RAM(random access memory)即随机存储内存,这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。ROM(Read-Only Memory)即只读内存,是一种只能读出事先所存数据的固态半导体存储器,断电后也能保存数据,一般保存那种一成不变的内容,写进去后便不再变更。如果对存储器为什么可以断电也能保存数据,可以参考我之前写过的一篇文章:【计算机组成原理】寄存器的本质——锁存器

三.第三个问题答案

        再来回答第三个问题:CPU怎么知道BIOS程序在哪里?注意在上面描述BIOS的位置的时候,用了“固化”两个字,说明它的位置已经是确定不变的了,CPU直接来到这个位置找到它就行。那么BIOS具体的位置在哪里呢?0XFFFF0这里。这是什么东西?这是BIOS的地址,CPU打开了导航,把这个地址输入进去,跟着导航走,就能直接找到BIOS。

         这里又引申出来一个问题:

  • 为什么这个地址就是BIOS?而不是其他的地址?

        这里就得从X86架构的CPU鼻祖——Intel 8086微处理器开始说起,传说中8086CPU一共有20条地址总线,所以这个CPU的寻址访问就是:2的20次方=1048576=1MB,如果将用16进制表示,则是0X00000到0XFFFFF。而这每一个地址都有它需要存储的东西:

        PS:这个表格如果看不懂,那么你就可以理解为,因为8086CPU最多只能找到0X00000到0XFFFFF这么大的地址范围(滴滴司机最多就认识本区域内的路是怎么走的,超出这个区域司机就不认路了,也不会走了),为了快速找到需要的功能(司机为了又快又准地把顾客送往目的地),所以规定了每个地址的具体用途(司机自己记住了每个地方的名字),等有指令来的时候就可以直奔那个地址去(顾客说要去公积金中心,司机就知道是去二片区三街道办),不用再花时间找这个数据究竟在那个地址了(司机就不用再从一片区一街道办开始从头到尾地找)。

         从表格中里面可以看到,地址0X00000~0X9FFFF处一共占据640KB的容量,这块地址对应的是DRAM(Dynamic Random Access Memory),也就是动态随机访问内存,也就是对应了插在主板上的内存条。0XA0000~0XEFFFF是预留给外设用的,比如显存、硬盘控制器等,最后的0XF0000~0XFFFFF则是我们的主人公BIOS。

         这里需要再次重申一个细节,这些地址是地址总线的参数输入,与内存条完全没有关系。CPU可以通过地址访问到数据,是由地址总线通过映射完成的,地址总线把某个ROM存储器绑定了这个地址,或者把某个外设的内存绑定了那个地址,等到CPU要使用时就可以直接访问地址,而不需要知道究竟数据放在哪个物理存储单元。

         PS:看到这里,如果你的觉悟够深,那么你可能会遇到和我一样的疑问:

        该问题的答案是直接被CPU执行的,无需加载到内存中运行,此技术叫做XIP eXecute In Place,芯片内就地执行。后续如果我更新了该技术的文章会及时更新链接,如果没有请自行百度,但是懂不懂这个技术都不影响本文章的核心内容。

        回到最先提出的那个问题:为什么这个地址就是BIOS?而不是其他的地址?因为人家就是这么规定的……就相当于为什么1+1=2而不是1+1=10086一样,只是我一开头就和你说你不一定能相信,反正现在估计也不信就是了。

四.第四个问题答案

        最后一个问题:BIOS里面放了什么东西?这个问题的答案可以用BIOS被启动运行的过程来解答,当电源键被按下的一瞬间,CPU中的一对寄存器CS和IP(如果不知道这是什么东西,可以参考我之前写过的一篇文章:【汇编语言】CS:IP寄存器)就被强制初始化成0XF000和0XFFF0,由于开机是在实模式下的,CS和IP再该模式下的段基址会左移四位,所以这对寄存器组合在一起就是BIOS的入口地址。但是从上面那个内存布局表格就可以看到,整个BIOS一共也就16B,这么小的地方又要检查基本硬件又要做各类初始化工作,显然是不够容量的,说明真正进行检查的代码并不在0XFFFF00XFFFFF这个位置,这个位置或许只是一个条状指令,让CPU跳转到真正进行的BIOS自检的代码区域那边去。

        可以看到CS:IP寄存器来到了0XFFFF0这个地址,而这个地址里面保存了一个指令,跳转到0XFE05B这个位置,而这个地方才是BIOS真正的代码开始的地方,检测内存、显卡等外设信息,初始化硬件,建立向量表等等,完成这些工作后,BIOS将控制权交给下一位嘉宾,也就是MBR。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1086533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Visual Studio配置OpenCV(保姆及教程)

Visual Studio配置OpenCV OpenCV安装Visual Studio安装Visual Studio配置OpenCV OpenCV安装 OpenCV安装地址,点击进行下载 二话不说,直接最新版本,安装挺简单的这里就不进行叙述了,安装完后记住安装地址。 打开你的安装目录&#…

dp模板题(y总小迷弟)

这个是总结y总的闫式dp分析方法来写的下面的题目主要核心就是: dp的含义:集合代表说明 如何根据最后一个子问题进行划分根据划分的范文推出状态式 四大经典dp问题 01背包 01背包问题可描述为如下问题: 有一个容量为V的背包,还…

Crypto/加密货币 应用

1. 应用程序功能模块 1) 实时加密货币数据 2) 保存当前用户的货币数据 3)搜索、筛选、排序和重新加载数据 4)自定义颜色主题和加载动画 2. 技术点 1)MVVM 体系结构 2)Core Data(保存当前用户的投资组合) 3…

Web后端开发登录校验及JWT令牌,过滤器,拦截器详解

如果用户名正确则成功进入 登录功能 代码 Controller Service Mapper 结果 若登录成功结果如下: 如果登录失败,结果如下 登录校验 为什么需要登录校验 有时再未登录情况下, 我们也可以直接访问部门管理, 员工管理等功能 因此我们需要一个登录校验操作, 只有确认用户登录…

易点云CFO向征:CFO不能只讲故事,价值创造才是核心

作者 | 曾响铃 文 | 响铃说 在今年6月初,也是易点云上市6天后,《巴伦周刊》正式启动评价“2023港美上市中国企业CFO精英100”的活动。 时间来到9月,评价揭秘,易点云CFO向征成功入选,被评为“年度最具成长潜力CFO”…

入手DDR5内存最佳时机到了,价格大跳水香过DDR4

当时 DDR5 内存刚出来那会儿大家怎么说的来着,售价离谱,提升微弱,鬼都不买… 不过嘛,随着 13 代酷睿以及锐龙 7000 系 CPU 上市,DDR5 彻底真香起来了。 先不说花重金升级 13 代酷睿平台,还用 DDR4 会不会有…

【开源项目】一款轻量级、基于Java语言开发的低代码开发框架,开箱即用!

在当今数字化时代,企业对于灵活、高效和安全的软件开发需求日益旺盛。为了满足这些需求,许多组织转向开源技术,以寻求更具成本效益和创新性的解决方案。JVS基础框架正是在这一背景下应运而生,凭借其私有化部署和完全开源的特性&am…

LeetCode 2578. 最小和分割【贪心,排序+奇偶分组】1350

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

Redis 新手必读。这篇文章是学 Redis 的捷径。

Redis 简介Redis 优势Redis 数据类型基本命令发布订阅订阅者的客户端显示如下事务持久化复制哨兵分片 Redis 简介 Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库 Redis 与 其他 key - value 缓存产品有以下三个特点&#…

经典面试题第九更---Promise养猪场

前言: 🤡 作者简介:我是Morning,计算机的打工人,想要翻身做主人 🙈 🙈 🙈 🏠 个人主页: Morning的主页 📕系列专栏: 前端…

Magic Bullet Suite2024.0.1(ae降噪插件合集)

Red Giant Magic Bullet Suite是一套专业的视频后期处理软件,适用于Adobe Premiere Pro、After Effects等视频编辑软件。它提供了多种精美的视频特效和调色工具,使得视频制作更加专业和出色。 Magic Bullet Suite包括多个插件,其中最为知名的…

安防视频监控平台EasyCVR集成到ios系统不能播放是什么原因?如何解决?

视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流&#…

什么是多云? 为什么我们需要多云可观测性 (Observability)?

Observe 是一家提供可观察性云解决方案的公司,以帮助企业加速应用故障排查和问题解决的效率。公司成立于2017年9月,总部位于美国加利福尼亚州圣马特奥。到目前为止,Observe 已经在5轮融资中总共筹集了1.62亿美元。他们最近的一轮融资是在2023…

【EI会议征稿】第二届可再生能源与电气科技国际学术会议(ICREET 2023)

第二届可再生能源与电气科技国际学术会议(ICREET 2023) 2023 2nd International Conference on Renewable Energy and Electrical Technology 2020年中国可再生能源发电规模显著扩大,风力和太阳能发电均呈迅速增长趋势。中国大力推进能源低碳化,减少温…

醒醒吧,这才叫自动化测试最全教程,看完可就业!

最近看到很多粉丝在后台私信我,叫我做一期自动化测试的教程,其实关于这个问题,我也早就在着手准备了,我录制了一整套完整的Python自动化测试的教程,都上传在网盘里,大家有兴趣的可以去看一下! 一…

Linux系统下centos中在线添加硬盘后不重启在线扩容linux系统目录不重启系统

Centos7 在线添加硬盘不重启系统 CentOS 7在线添加新磁盘,无需重启 现有环境基本都是线下server以及线上虚拟机等,几乎都支持热插拔,热扩容,所以在线添加新磁盘就尤为重要,这样可以无需中断当前服务或进程也可对其进行添加硬盘操作。 1.添加硬盘: 虚拟机在线状态下对其进行添加…

Ansys Zemax | 如何建立LCD背光源模型

本文建立了楔形LCD背光源模型,并对其进行分析,并按照照明输出标准对其进行优化。 附件下载 联系工作人员获取附件 简介 液晶显示器 (LCDs) 作为一种显示技术,在当今社会中已经得到了广泛的应用。在商业领域中最突出的应用包括计算机显示器…

Blender:使用立方体制作动漫头像

好久没水文章 排名都掉到1w外了 ~_~ 学习一下blender,看能不能学习一点曲面变形的思路 一些快捷键 ctrl 空格:区域最大化,就是全屏 ctrl alt 空格:也是区域最大化 shift b:框选区域然后最大化显示该范围 shift 空…

著名色彩专家预测下一个家居空间的色彩趋势竟然是这个

室内造型师和色彩专家索菲-罗宾逊(Sophie Robinson)分享了她对今年下半年色彩和涂料流行趋势的预测。她认为色彩文艺复兴就在我们身边。 在此之前,索菲分享了她摆脱 "50 色调米色 "的秘诀,学会在充满中性客厅配色方案和…

Linux下platform驱动框架描述

文章目录 驱动的分离与分层platform模型简介 如果要写复杂的外设驱动,Linux系统就要考虑到驱动的可重用性,因此提出了驱动的分离与分层这样的软件思路,platform设备驱动就是在这种思路下诞生的,其也称为平台设备驱动。 对于Linux这…