据我所知,计算机加载了第一个称为BIOS的内存扇区,它在硬件上运行诊断程序并加载操作系统。我想我的问题倾向于硬件方面。计算机如何知道从哪个内存启动(RAM,ROM,FLASH等)。我理解内存和我之间的差异了解计算机从硬盘驱动器启动,但我试图制作一台带有z80微处理器的8位计算机,它需要从ROM或闪存启动。唯一的问题是处理器只从地址引脚所连接的任何存储器中读取,而ram和rom没有单独的地址引脚。由于与ram相比,读取/写入时间要慢得多,因此在rom或flash上运行系统也是不切实际的。据我所知,z80并没有从rom和ram读取的单独命令,即使这样做也没关系,因为ram在启动时会是空白的。计算机如何选择仅在启动时从rom读取,然后在加载OS后切换到ram。它是否硬连线使用逻辑门?一旦加载了操作系统,计算机如何选择写入闪存或硬盘而不是ram?闪存会被视为设备吗?或者这也是使用逻辑门硬连线到主板?很抱歉给了这么多背景,我只是不想让你浪费时间来解释我已经掌握过的东西。我刚刚在很大程度上对此进行了研究,并且连续几个小时都在考虑它并且似乎无法弄明白,而且我看到的每个地方都没有解释计算机如何选择要读取的内存,它只是说它确实如此。感谢
答案 0 :(得分:1)
我不确定我是否回答了你的要求,但我会尝试一下。
某些计算机(至少与IBM PC兼容的计算机)通电后,通常运行此BIOS(基本输入/输出系统)程序。为了实现这一点,据我所知,硬件必须跳转到此代码,并且此代码必须可以从物理内存访问(即映射),因为CPU将执行该代码代码来自。因此,具有一些只读区域的物理地址空间可以解决这个问题。
BIOS代码运行后,可以选择下一步的操作方法。它可以将扇区从硬盘复制到内存(或来自闪存驱动器的一堆数据),然后跳转到它,或者其他任何东西。这取决于BIOS编写者。