gpt4 book ai didi

cpu - 普通的 x86 或 AMD PC 是直接从 ROM 运行启动/BIOS 代码,还是先将其复制到 RAM?

转载 作者:行者123 更新时间:2023-12-04 00:51:07 25 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

5年前关闭。



Improve this question




我知道现代计算机已经修改了哈佛架构。

他们可以从保存数据的地方以外的其他地方读取指令这一事实是否允许他们直接从 ROM 芯片中获取指令?他们是先将 BIOS 加载到 RAM 中,还是直接从芯片执行?我附近没有可以打开的计算机,所以...如果我从内存插槽中取出所有 RAM,计算机是否能够启动完整的 BIOS、运行 POST 内容并告诉我我需要 RAM?有趣的是我从来没有尝试过......

编辑:我对这个问题的意图是了解商业 CPU(或至少英特尔 cpus)是否可以直接从 ROM 执行代码。这不是出于实际目的,而是为了增加我对计算机体系结构和其他东西的理解。删除 RAM 部分不是我的主要疑问,只是一个例子

最佳答案

两者 直接从 ROM 执行 将东西复制到 RAM 中。

在现代 x86 处理器上,芯片组内存 Controller 在初始加电时未初始化,因此没有可用的 RAM。

现代 BIOS 通常分为两部分:

  • 引导块(早期 POST)
  • 压缩区(POST中后期)

  • 当处理器结束复位时,它开始在内存中的一个固定地址执行指令,称为“复位向量”。 BIOS 闪存芯片映射到内存中的这个地址。处理器只是从这个地址开始执行指令。

    “引导块”是指从重置向量(加上一些 JMP)开始的 BIOS 代码。这是直接从 ROM 执行的(内存 Controller 还没有启动),所以速度很慢。

    BIOS 引导块通常执行以下操作:
  • 初始化内存 Controller 。 (如果您从主板收到“未检测到内存”的哔声代码,就会发生在这里。)
  • 对压缩区域执行校验和以确保 BIOS 的其余部分没有损坏。
  • 如果检测到任何损坏,则跳转到恢复模式。
  • 如果校验和通过,则将 BIOS 的其余部分解压缩到 RAM 某处(通常低于 1MB 边界)。
  • 跳转到 RAM 中的解压代码并继续引导。
  • 关于cpu - 普通的 x86 或 AMD PC 是直接从 ROM 运行启动/BIOS 代码,还是先将其复制到 RAM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5300527/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com