浅谈8086下CPU实模式下1MB的内存结构(一)

众所周知,计算机开机那一瞬间第一个启动的软件是BISO,那你有没有去想过如下三个问题?

1.bios程序是被谁加载的?
2.它被加载到哪里?
3.它的cs:ip是谁来修改的?

Intel 8086 有20条地址线, 所以它可以访问的内存长度为2的20次方=1048576=1MB。如果按照16进制来表示其范围就是0x00000到0xFFFFF。而这1MB的空间被分为了若干空间。大致如下图:

首先我们乍一看这张表或许会觉得挺复杂,其实我们给它做一下分类就非常容易理解。在讲这张表之前我们先回答第一个问题。

bios程序是被谁加载的?

在计算机硬件构造中,有一种存储结构ROM(只读存储器),它用来存储一尘不变的数据,数据一旦写进去,就不会再修改,当然现在很多的bios支持升级,这估且不谈,起码从前几乎是不会修改的,除非主板坏了需要刷bios了,哈哈哈。 ok,了解了bios的硬件特性后,我们看一下它在实际的内存中的地址。 biso通常被映射在低端1MB内存的顶部, 即0xF0000 ~ 0xFFFFF,上图中可以看出这块空间包含了bios系统的本体,与一条16B大小的跳转指令。

ok,看完内存结构,我们来讲一下bios实际在硬件层中的启动过程。

它的cs:ip是谁来修改的?

在通电开机的一瞬间,c

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值