【发布时间】:2015-03-30 17:05:09
【问题描述】:
我了解计算机会加载称为 BIOS 的内存的第一个扇区,该扇区会在硬件上运行诊断程序,然后再加载操作系统。我想我的问题倾向于硬件方面。计算机如何知道从哪个内存启动(RAM、ROM、FLASH 等)。我了解内存之间的差异,我了解计算机从硬盘驱动器启动,但我试图用 z80 微处理器制作一台 8 位计算机,它需要从 ROM 或闪存启动。唯一的问题是处理器仅从地址引脚连接到的任何内存中读取,并且没有用于 ram 和 rom 的单独地址引脚。由于与 ram 相比读/写时间要慢得多,因此在 rom 或 flash 上运行系统也是不切实际的。据我所知,z80 没有单独的读取 rom 和 ram 的命令,即使这样做也没关系,因为 ram 在通电时将是空白的。计算机如何选择仅在启动时从 rom 读取,然后在加载操作系统后切换到 ram。使用逻辑门是硬连线的吗?加载操作系统后,计算机如何选择写入闪存或硬盘驱动器而不是 RAM?闪存会被视为设备吗?或者这是否也使用逻辑门硬连线到主板中?抱歉给了这么多背景,我只是不想让你浪费时间解释我已经掌握的东西。我刚刚对此进行了很大程度的研究,并连续考虑了几个小时,但似乎无法弄清楚,而且我看过的所有地方都没有解释计算机如何选择要读取的内存,它只是说它确实如此。谢谢
【问题讨论】:
-
大多数处理器从“复位地址”开始执行。存储在安装/映射到那里的任何内存中的该地址的指令在启动时执行。通常,现代 CPU 会在该复位地址安装 ROM。
标签: memory kernel bootloader bios