找回密码
 请使用中文注册
搜索附件  
《家电维修》技术论坛 附件中心 电脑维修 网络与软件 c7ec1fa1bba1ede06ad92d69a4761565.jpg

c7ec1fa1bba1ede06ad92d69a4761565.jpg

 

BIOS与系统自启:
知识储备
  • C语言
  • C++
  • 汇编
  • Linux
  • 汇编补充C++文章复习
汇编部分补充数据描述符
  • AX累加器:用到最多最频繁,AX,AH和AL在乘,除法等操作中有专门的用途。
  • BX基址寄存器: 用于存放偏移地址
  • CX为计数寄存器:在循环操作中做计数器用,用于控制循环程序的执行次数
  • DX数据寄存器:在乘,除法及I/O端口操作时专门用途。
指令操作方向标识为DF(Direction Flas)

使用此指令控制方向标志DF,决定内存地址增大还是减小。

在子串操作中使SI或DI的地址指针自动递减,字串处理由后往前。

  • CLD 使DF复位,即让DF=0 向高地址增加
  • STD 使DF置位,即让DF = 1 向低地址减少
CPU架构

CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。


CPU架构
  • 复杂指令集CISC  (Complex Instruction Set Computer):增强原有指令的功能,设置更为复杂的新指令实现软件功能的硬化。

  • 精简指令集RISC  (Reduced Instruction Set Computer):较少指令种类和简化指令功能,提高指令的执行效率



指令集对比南桥北桥

在早期,芯片组分为南桥芯片组和北桥芯片组两部分,其中北桥负责CPU与内存的数据交换,图形处理,CPU与PCIE(高速串行计算机扩展总线标准)数据交换,南桥负责系统的输入输出功能。北桥芯片还叫"图形与内存控制器",南桥叫"输入/输出控制器"。北桥芯片组因与CPU联系密切靠近CPU位置,在现代制造工艺越来越先进,集成度越来越高,内存控制器已经被集成到CPU内部,显卡收进CPU(核显),而PCIE控制器收归南桥管理,北桥芯片组功能基本被瓜分。在Intel 芯片组中北桥被取消,而AMD只有早期主板仍保留着北桥和南桥。

PCIE:属于高速串行点对点双通道高宽带传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量QOS等功能。


南桥电脑启动过程(早期)
启动顺序
  • 系统加电BIOS初始化硬件
  • BI0S读取引导扇区代码 -- 加载程序
  • 加载内核并跳转到内核执行 - 操作系统内核

刚启动时内存布局
十六位实模寻址当装入多个操作系统
主引导记录MBR格式
多个操作系统工作模式
  • 实模式

程序中用到的地址都是真实的物理地址。

在实模式下,内存寻址方式和8086(8086,微处理器,1MB内存地址,3微米晶体管,IBM1981年生产的第一台电脑就是使用8086简化版,标志着x86架构和IBM PC兼容电脑的产生)相同,机器段起始地址的低4位设置为0,由16位段寄存器的内容乘以16(左移4位)作为段基址(Segment Base Address)(能被16整除的主存物理地址),加上16位段偏移地址形成20位物理地址,


段基址

最大寻址空间1MB,最大分段64KB。可以使用32位指令,即32位的x86 CPU也可以兼容实模式,此时的实模式相当于高速8086(32位CPU的实模式可以使用32位下的资源)。在32位CPU下,系统复位或加电时都是以实模式启动,然后再切换为保护模式。在实模式下,所有的段都可以读,写和可执行的。由于实模式下没有特权级,程序可以随意修改自己的段基址,加上实模式下对地址的访问就是实际物理地址,随意修改给操作系统带来极大安全隐患

  • 保护模式

标志位表示权限,当用户访问与读取的段文件权限进行对比,已达到保护的目的。

每一个指令,每一个程序本身就有一个权限,可以用CPL/RPL描述,访问的目标字符段也有一个权限为DPL。处理器会对特权集进行检查,判断当前的CPL/RPL是不是大于等于DPL。


实模式与保护模式BIOS概念

BIOS(Basic Input Output System)全称基本输入/输出系统,固件,它是存储在主板ROM(只读存储器,生成之后只有一次写入机会,数据一旦写入则不可更改。按照内容写入方式分为: 可一次变成PROM,可擦除ROM,又分为EPROM紫外线擦除电写入和E2PROM电擦除电写入等)里的一组程序代码。

主要包括:

  • 加电自检(Power On Self Test POST)程序,用于开机时对硬件的检测,BIOS包含基本输入输出程序,包括读取键盘,写入屏幕,和执行磁盘I/O等操作过程,去检测开机时系统状况,而显卡不可检测

Blos(Blos采用16位汇编语言编写)只能运行在16位实模式下,实模式下最大寻址范围时1MB

系统加电时,当CPU收到复位事件时,当它被上电或重新启动时--指令寄存器就被装入 一个预定义的内存位置,并在那里开始执行。

  • 系统初始化代码,包括硬件设备的初始化,创建BIOS中断向量等
  • 基本的外围I/O处理子程序代码
  • CMOS设置程序:Complementary Metal-Oxide-Semiconductor: 保存了系统引导的最基本的资料(基本设置,时钟信息)。
初始化过程
  • 硬件自检POST
  • 检测系统中内存和显卡等关键部件的存在和工作状态
  • 查找并执行显卡等接口卡BIOS,进行设备初始化
  • 执行系统BIOS,进行系统检测  -- 检测和配置系统中安装的即插即用设备
  • 更新CMOS中的扩展系统配置数据ESCD
  • 按指定启动顺序从软盘,硬盘或光驱启动

bios启动加载程序Bootloader
引导启动内核的过程
引导启动内核程序
linux启动代码

到setup部分,进入保护模式

运行system模块,进入操作系统

bootsect.s

工作在实模式下,起到搬运工的作用


第一部分
片段二
片段三
片段四
片段六


setup.s

setup.s负责从BIOS中获取系统数据,并将这些数据放到系统内存的适当地方。此setup.s和system已经由bootsect引导块加载到内存中。


setup
片段一
片段二
片段四
片段五
head.s

进一步设置中断描述符和全局描述符表,设计页表--开始对系统内存进行管理


head.s
设置中断描述符
mian函数工作流程
main函数BIOS缺点
  • 开发效率低 :大部分BIOS使用汇编开发,开发效率低,汇编开发代码与设备的耦合度太高,(软件工程讲究高内聚低耦合,目的是使程序模块的可重用性,移值性大大增强)
  • 性能差:BIOS基本输入输出通过中断来完成,开销大,并且BIOS没有提供异步工作模式,大量时间消耗在等待上
  • 功能扩展性差,升级缓慢:BIOS代码采用静态链接,增加硬件功能时,必须将16位代码放置在0x0C0000 ~ 0x0DFFFF区间,初始化时将其设置为约定的中断处理程序。而且BIOS没有提供动态加载设备驱动方案
  • 安全性:BIOS运行过程中对可执行代码没有安全方面考虑
  • 不支持从硬盘2TB以上的地址引导:受限于BIOS硬盘的寻址方式,BIOS硬盘采用32位地址,因而引导扇区的最大逻辑块地址2^32 (换算成字节地体,即2^32 X 512 = 2TB)
UEFI
UEFI参考资料



c7ec1fa1bba1ede06ad92d69a4761565.jpg
         同一主题附件:
    7f9801d0331bea8c0010de3f2d0fad68.png
    1828ec5c16e5a2e4c92f92a9cbac52bd.jpg
    619409b2b7c01ddea98206dee81634e4.jpg
    7f9101eaa9afbc28140e94308b9b2d6b.jpg
    ccdb597df36b4dfaed0356a957042f54.jpg
    d04d4b5c172626215239b73dc5397126.jpg
    5ad82b209713be19edaf9b07cae037d3.jpg
    1137eaa63e760b83ba0fae681e2a1fc0.jpg
    b744a4fdd0fbbabaffa452f946d5ad22.jpg
    0645ffc995e7d158cfe9e2a76459e20b.jpg
    6a0aaf21f71c82f7f28d88b2f51d50f9.jpg
    cfb113fc9c9d2dd5d41e117818c8d177.jpg
    97b60e4db7a4aeafbdceda2f69f37a43.jpg
    1ed54c95a37d0ac009b71df745e3d4cb.jpg
    615959387f8ba5c941ef9e05c1ba9fc1.jpg
    5f03309ff064a7f52cfe77c1ee2b92f1.jpg
    814a78e00f0dd5aa4a2b34002bcb1dae.jpg
    8e6ea9c04994ab866dbd7f268d6dc668.jpg
    bddeec759d9f2c1651cd29150ffcdeb4.jpg
    c7ec1fa1bba1ede06ad92d69a4761565.jpg
    9be35209a8013bddb6533e72559c3154.jpg
    095e231dce09bc71e69abe31e1f5011f.jpg
    38a2b5ab4d4eb86b21f7df05d83e94d5.jpg
    f5c0bc5f3fec88f8af5999a97b5c05a5.jpg
    4a28e31d0b694342e4cbb7c541f22360.jpg
    6863ed6e64a104873595b58a7a1e076c.jpg
    ee43385e497da845922bc291d47901d7.jpg
    5c2d494904dde797bb268bed857e4e51.jpg
    a904ef5bd188434fd2207856a2d9a188.jpg
    b250e0d438f3bf3cc87817d07349a4d3.jpg
    3df2ce288b2926ab1e4ef85dfc95394d.jpg

QQ|Archiver|手机版|家电维修论坛 ( 蜀ICP备19011473号-4 川公网安备51102502000164号 )

GMT+8, 2025-10-9 03:07 , Processed in 0.187419 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部