MIT_xv6 学习笔记_1

The BIOS is responsible for performing basic system initialization such as activating the video card and checking the amount of memory installed.

关闭 qemu , Ctrl+a x.

PC architects nevertheless preserved the original layout for the low 1MB of physical address space in order to ensure backward compatibility with existing software.

+------------------+  <- 0xFFFFFFFF (4GB)
|      32-bit      |
|  memory mapped   |
|     devices      |
|                  |
/\/\/\/\/\/\/\/\/\/\

/\/\/\/\/\/\/\/\/\/\
|                  |
|      Unused      |
|                  |
+------------------+  <- depends on amount of RAM
|                  |
|                  |
| Extended Memory  |
|                  |
|                  |
+------------------+  <- 0x00100000 (1MB)
|     BIOS ROM     |
+------------------+  <- 0x000F0000 (960KB)
|  16-bit devices, |
|  expansion ROMs  |
+------------------+  <- 0x000C0000 (768KB)
|   VGA Display    |
+------------------+  <- 0x000A0000 (640KB)
|                  |
|    Low Memory    |
|                  |
+------------------+  <- 0x00000000

解释一下, 最低的 Low Memory 是最初的计算机使用的, 目前不再使用

从 0x000A0000 到 0x000FFFFF, 这 384KB 是被硬件保存使用的, 这一部分最重要的是 BIOS(Basic Input/Output System) 占 64KB, 目前的架构中, 内存中的最低的 1MB仍然保存,是为了向下兼容,

The ROM BIOS

BIOS到底是什么呢?

在我们的电脑上, BIOS 是以固件的形式嵌入在我们的主板上的, 也就是PC 中的ROM固件, 是PC 开启时运行的第一个程序, 主要是为了引导其他程序运行, 开机

我们使用 GNU 来调试 QEMU 的执行过程, 具体操作很简单, 打开两个 Lab 的Terminals, 然后在其中一输入 make qemu-gdb, 另一个输入 make gdb 即可实现对 QEMU 的调试, 输出的结果我们得到下面一段输出,

+ target remote localhost:26000
The target architecture is assumed to be i8086
[f000:fff0] 0xffff0:    ljmp   $0xf000,$0xe05b
0x0000fff0 in ?? ()
+ symbol-file obj/kern/kernel

第一条指令就是:

[f000:fff0] 0xffff0:    ljmp   $0xf000,$0xe05b

这也就是 GDB 要执行的第一条反汇编指令, 从这条指令我们可以得到以下信息:

  1. 指令开始执行的地址是 0x000ffff0 , 这个地址就在 BIOS ROM 的64KB之中
  2. 第一条指令是一个跳转指令, 表示 PC 开始执行的地址, 这个地址就是 CS 0xf000, IP 0xe05b, 这两个寄存器是 x86结构中的, CS是段寄存器, 存储的是段的基地址, IP 存储的是地址偏移量,
  3. 与我们现在的的 PC 不同的是, 在 IBM 最初的 PC, 以及 QEMU 模拟器中, BIOS 的位置是在地址为 0x000ffff0 地方.

猜你喜欢

转载自www.cnblogs.com/wevolf/p/12453764.html