x86的最低级别详细信息

时间:2010-11-25 15:06:56

标签: assembly operating-system x86

我正在阅读broken thorn operating system development series。我读到了关于实模式和保护模式的内容。我读到中断在保护模式下不可用。我必须设置一点在模式之间切换。我可以在bios中断的帮助下以实模式编码。这一切都很好。但我想知道这些背后的原因是什么?当我们关闭CR0中的PE标志时会发生什么?为什么我们不能在保护模式下使用bios中断?这些BIOS中断的背后是什么?为什么我们必须使用bios?如何直接与硬件交互?那些0和1是如何使硬件工作的?为什么这些机器代码有效? 我想要了解所有这些事情的最低级细节。任何人都可以为我推荐一本好书或链接吗?提前谢谢。

2 个答案:

答案 0 :(得分:3)

你在那里问了很多问题,试图在这里回答这些问题会很费时间。

我将提供一些快速答案和一些指向其他资源的建议,这些资源可能有助于为您提供理解问题答案所需的背景知识。

大多数PC BIOS例程都是以实模式写入的,一旦CPU处于保护模式,将无法正常工作;有一些BIOS例程具有兼容的32位保护模式接口。

目前,PC BIOS主要用于引导另一个操作系统,之后很难使用BIOS。最初提供PC BIOS是为了在操作系统和底层硬件之间可以有一个抽象层,这样操作系统可以更容易地在不同的硬件上运行,而无需针对各种(稍微)不同的硬件配置进行定制。 Gary Kildall和他的CP / M操作系统通常被认为是第一个拥有BIOS的微电脑操作系统。

直接硬件编程与您可以获得的平台相关。您需要确切知道硬件具有哪些芯片组,端口及其配置才能对其进行编程。

Messmer的必不可少的PC硬件手册提供了对PC操作的全面和可读的介绍,包括BIOS的作用和中断和CPU模式(例如,真实的,受保护的)以及机器代码(1和0的方式) )推动硬件实现我们的预期结果。

其他可以回答你的问题的书籍,也许更适合你/可用的书籍,包括:Tanenbaum的结构化计算机组织,Tocci的数字系统。

编辑:有关更多技术细节,您可以尝试Brey的英特尔微处理器(最新版本涵盖Core2架构),然后是英特尔/ AMD开发人员手册(可免费下载)。

答案 1 :(得分:2)

通过阅读intel和amd开发人员手册(不是每个指令部分,而是更大/更广泛的概述)以及关于cpu架构的技术论文(addison-weasley),你会感觉更好有一些很好的书籍)