BIOS(控制权交接第一棒)

news2024/9/28 19:22:47

计算机系统的控制权(CPU的使用权)交接的第一棒是BIOS!接下来,我们简单学习一下BIOS相关知识。

在计算机接电后按下开机键,首先运行的软件是基本输入输出系统(Basic Input Output System,BIOS

于是就产生了非常经典的3个问题?

  1. BIOS是由谁加载的?
  2. BIOS被加载到哪里呢?
  3. 它的cs:ip是由谁更改滴?

为了更好的理解上面的3个问题,先简单了解一些实模式下的1MB内存布局。

实模式下的1MB内存布局

Intel 8086 有 20 条地址线,故其可以访问 1MB 的内存空间,即 20 次方=1048576 = 1MB。

地址范围用十六进制来表示,是 0x00000 到 0xFFFFF。这1MB的内存空间对其进行划分,如下表所示:

在这里插入图片描述

实模式下的内存布局

从低地址看,地址0~0x9FFFF (空间范围为640KB)处是 DRAM (Dynamic Random Access Memory ),即动态随机访问内存(动态的含义是需要不断刷新),我们所装的物理内存就是DRAM,如 DDR,DDR2等,也就是插在主板上的内存条

看顶部的 0xF0000~0xFFFFF ,这 64KB 的内存是 ROM 。这里面存的就是 BIOS 的代码。 BIOS 的主要工作是检测、初始化硬件(硬件自己供了一些初始化的功能调用, BIOS 直接调用就可以完成初始化硬件的工作)。


【补充pro】

电脑安装了 4GB 内存,电脑中只显示 3.8GB 左右??

【说明】

上述问题可转化成在CPU眼中,我们插在主板上的物理内存不是它眼里“全部的内存”。

在计算机中,并不是只有咱们插在主板上的内存条需要通过地址总线访问,还有一些外设同样是需要通过地址总线来访问的,这类设备还很多呢。若把全部的地址总线都指向物理内存,那其他设备该如何访问呢?

因此,只好在地址总线上提前预留出来一些地址空间给这些外设用,这片连续的地址给显存,这片连续的地址给硬盘控制器等。留够了以后,地址总线上其余的可用地址再指向 DRAM,也就是指插在主板上的内存条。如下图所示。
在这里插入图片描述


✳✳✳回到最初的3个问题上~

  1. BIOS是由谁加载的?

BIOS是由硬件加载的。这个硬件相当于只读存储器(Read-Only Memory,ROM),只读存储器内容是不可擦除。BIOS被写入此ROM。由于ROM是内存,内存就会被访问,此ROM 被映射在低端1MB 内存的顶部,即地址0xF0000~0xFFFFF 处。因此只要访问此处的地址便是访问了 BIOS ,这个映射是由硬件完成的。

  1. BIOS被加载到哪里呢?

由上面的说明可知,BIOS被加载到0xF0000~0xFFFFF 处。BIOS 本身是个程序,程序要执行,就要有个入口地址才行,此入口地址便是0xFFFF0。

  1. 它的cs:ip是由谁更改滴?

在开机的 瞬间,也就是接电的一瞬间, CPU cs: ip 寄存器被强制初始化为 0xF000 : 0xFFF0。由于开机的时候处于实模式,在实模式下的段基址要乘以 16 ,也就是左移 4 位,于是 0xF000 : 0xFFF0的等效地址将是0xFFFF0 。0xFFFF0 地址便是 BIOS 的入口地址。

参考资料

  • 《操作系统真象还原》

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

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

相关文章

阿里云故障有感

2304阿里云故障有感 为什么会写一个如此奇怪的议题。 人的生活轨迹,不一定只有唯一的叙事方式,可以不那么苦,不那么累,不那么怕,不那么憋屈。 不再去追求宏大的叙事,而是去关心自己的感受,吃没…

Spring Boot学习篇(六)

Spring Boot学习篇(六) mybatis-plus使用篇(二) 1 新增 1.1 示例代码 AutowiredISongsService songsService; Testpublic void add(){Songs snew Songs(null,"11","xx",null,"xx歌曲","2020-02-12");songsService.save(s);System.…

linux之vim编辑器

文章目录1. 概念2.安装3. vim的使用1.使用一些按键没有反应2. 模式转换1.命令模式转换到插入模式1. a2. i3. o2.命令模式切换到底行模式1. 退出3. 整体概念图4. 热键的使用1. 命令模式下1.复制——yy 粘贴——p复制若干行—— n yy粘贴若干行—— n p2. 撤销操作——u3. 对撤销…

03-Alibaba微服务组件Nacos注册中心实战

什么是 Nacos Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 的关键特性包括: 服务发现和服务健康监测 动态配置服务 动态 DNS 服务 服务及其元数据管理 Nacos…

陆道培医疗冲刺香港上市:持续亏损,毛利率下滑,陆佩华为董事长

2023年1月3日,陆道培医疗集团(下称“陆道培医疗”)在港交所递交招股书,准备在港交所主板上市。本次冲刺上市,陆道培医疗拟将募资金额用于河北燕达陆道培医院的扩建及搬迁及上海陆道培医院的开业等。 同时,陆…

新生儿只是睡?了解了他的生长发育情况后就不这么觉得了

在网上看到这样一句话,说:所谓坐月子,其实就是把最需要照顾的产妇和新生儿捆在一起,让他们互相治愈。是的,在很多人眼里,新生儿除了吃饭就是睡觉,照顾起来真的很容易,但是只要了解了新生儿的生长…

Android开发常见问题:为什么不要用Timer?

前言 从刚开始做Android开始,就时刻谨记一条规则:如果有能实现功能的Android API,就不要用Java API。所以我很少用Timer,直到前一阵一个朋友问我: 我有一个Timer计时器,我看logcat已经启动了,为…

嵌入式应该从哪里入手?

就从目前IT行业大的方向上来讲嵌入式工程师相对来讲是非常吃香的,学习嵌入式开发的朋友数量也是非常的多的,那么对于对嵌入式工程师我们应该从哪里入手呢? 下面就根据我自身多年的一个实际的工作经验来给哪些不知道怎么入门的朋友来简单的介绍一下。 前…

C语言进阶——指针(一)

目录 一. 字符指针 二. 指针数组 三. 数组指针 四. 数组参数、指针参数 1.一维数组传参 2.二维数组传参 3.一级指针传参 4.二级指针传参 一. 字符指针 在之前,我们就了解到过字符指针 int main() {char aW;//字符变量char* pa&a;//字符指针*…

1.3日报

今天优化了getMobileByScene接口, 测试accountadd接口 遇到的问题与解决 在升级安装python3时,由于操作失误,导致系统错误,在同事帮助下重装了系统,好在保住了文件。但是软件还得重新配置。 getMobileByScene接口在…

精益|什么是价值流图分析(VSM)?

在精益生产管理中,价值流研究主要是指利用制作价值流图,进行价值流图研究可以发现并消除浪费、降低成本,改进企业运营状况,提升企业竞争力。因此进行价值流研究离不开价值流图。 价值流图(Value Stream Mapping&#x…

基于KT6368A蓝牙芯片开发智能抖音翻页翻页笔总结

一、功能简介 KT6368A蓝牙芯片也是基于 HID 开发,主要用于浏览当下火爆的抖音等小视频的上下翻页、左右菜单切换、暂停等操作。打开手机蓝牙进行连接,进入视频浏览界面操作对应按键即可。包含一个蓝牙的指示灯,表示是否连接 。同时支持adkey按…

HBase面试题汇总

1、请描述HBse的? 答: Memstore级别:当MemStore的大小达到设置阈值(默认128M),会触发flush操作。 1、HBase中Memstore在何时进行数据的flush操作? 答: Memstore级别&#xff1a…

uniapp 填坑之旅---udb微信小程序端显示异常

功能描述:A页面展示列表a,点击a,进入B页面,展示a对象关联的子对象b。在B页面中,通过unicloud-db组件manual模式加载,具体代码按照官网示例来写。问题描述:代码实现后,一直在H5调试&a…

Jmeter安装配置使用超详细教程(亲测有效)

文章目录1、Jmeter下载2、JDK安装3、Jmeter环境部署4、验证jmeter5、修改语言6、接口测试1、Jmeter下载 1.1、下载地址 http://jmeter.apache.org/download_jmeter.cgi 1.2、选择对应版本,本文以windows版本为例,版本号为5.5。 2、JDK安装 jmeter安装…

到底为什么那么多大厂在开始疯狂裁员?

最近几年大家都听到了好多大厂公司开始裁员,比如鹅厂、狗厂、鸟厂、熊厂等。 接下来给大家讲个故事,希望故事看完,你就会懂了! 外国的神父呆了不久 留下几个 P 就走了, 一个 P 叫 BPR, 一个 P 叫 ERP。 …

作业1/4 设备树总结

1.什么是设备树 设备树(Device Tree)是用来描述(存储)硬件信息的一种树形结构,设备树在linux内核启动的时候传递给内核被内核解析,用来描述设备信息的一种方式(地址,中断号...)。设备…

《收获,不止Oracle》表的设计之五朵金花

表设计主要强调什么场合该选择什么技术,没有最高级的技术,只有最适合的技术。 1.表的特性 普通堆表的不足之处 1.查看产生多少日志 [oracleoracle-db-19c ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Jan 4 14:27:13 20…

电商数据监测的应用价值——国内吸尘器行业数据浅析

随着科技的发展与居民生活水平的提高,吸尘器进入日常生活,成为了常见家用清洁用具之一。2022年上半年,吸尘器市场零售额达145亿元,同比增速达14.0%,零售量1008万台,同比下跌2.8%。(数据来源&…

Hadoop HA高可用

文章目录Hadoop HA高可用1.1 HA概述1.2 HDFS-HA工作机制1.2.1 HDFS-HA工作要点1.2.2 HDFS-HA自动故障转移工作机制1.3 HDFS-HA集群配置1.3.1 环境准备1.3.2 规划集群1.3.3 配置Zookeeper集群1)集群规划2)解压安装3)配置zoo.cfg文件4&#xff…