gpt4 book ai didi

c - 复位 vector 在现代处理器中的意义

转载 作者:行者123 更新时间:2023-11-30 15:51:34 27 4
gpt4 key购买 nike

我正在尝试详细了解计算机如何启动。

我遇到了两件事让我更好奇,
1. RAM放置在ROM的底部,以避免Z80处理器中的Memory Holes。
2. 使用复位 vector ,它将处理器带到 ROM 中的内存位置,其内容指向处理器实际开始执行指令(POST 指令)的实际位置(再次是 ROM)。为什么会这样?

如果你还是不明白我的意思,这个链接会为你简单解释一下, http://lateblt.tripod.com/bit68.txt

最佳答案

处理器逻辑通常是严格且固定的,因此称为硬件。软件是可以更改、塑造等的东西,因此称为“软件”。

硬件需要如何启动一些,两种基本方法,

1) 读取处理器内存空间中逻辑中硬编码的地址,该值是开始执行代码的地址

2) 逻辑中硬编码的地址是处理器开始执行代码的位置

当处理器本身与其他硬件集成时,任何东西都可以映射到任何地址空间。您可以将 ram 放在地址 0x1000 或 0x40000000 或两者处。您可以将外设映射到 0x1000 或 0x4000 或 0xF0000000 或以上所有值。事情的走向取决于系统设计者或工程师团队的组合。一个重要因素是重置释放后系统将如何启动。由于其架构,处理器的启动是众所周知的。设计师通常选择两条路径:

1) 根据处理器的引导方法,将一个 ROM 放入包含复位 vector 或入口点的内存空间中(无论什么架构,都有读取的第一个地址或第一个地址 block 及其内容)驱动处理器的启动)。软件将代码或 vector 表或两者都放置在此 ROM 中,以便处理器启动并运行。

2)将RAM放入内存空间,这样某些主机就可以将程序下载到该RAM中,然后释放处理器上的复位。然后处理器遵循其硬编码的 Bootstrap 并执行软件。

第一个是最常见的,第二个是在一些外围设备、鼠标和网卡等中找到的(例如/usr/lib/firmware/中的一些固件用于此目的)。

底线是处理器通常设计为一种引导方法,一种固定方法,因此为该处理器编写的所有软件都可以符合该一种方法,而不必不断更改。此外,处理器在设计时并不知道其目标应用,因此需要通用解决方案。目标应用程序通常定义内存映射、处理器内存空间的位置以及该分配中的任务之一是该产品将如何启动。从那里,软件被编译和放置,使其符合处理器规则和产品硬件规则。

关于c - 复位 vector 在现代处理器中的意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15030732/

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