x86的最低级别细节

问题描述:

我在阅读broken thorn operating system development series。我读了关于实模式和保护模式。我读过中断在保护模式下不可用。我必须设置一些模式之间的切换。我可以在真实模式下使用BIOS中断进行编码。所有这些都很好。但是我想知道这些背后是什么?当我们关闭CR0中的PE标志时究竟发生了什么?为什么我们不能在保护模式下使用BIOS中断?这些BIOS中断背后是什么?为什么我们必须使用BIOS?如何直接与硬件进行交互?这些0和1如何使硬件工作?为什么这些机器码工作? 我想要所有这些东西的最低级别的细节。任何人都可以为我推荐一本好书或链接吗?提前致谢。x86的最低级别细节

+1

那么,在最低级别,您可能需要检查[*处理单元](http://en.wikipedia.org/wiki/Central_processing_unit)。或[微处理器](http://en.wikipedia.org/wiki/Microprocessor)。或[Silicon](http://en.wikipedia.org/wiki/Silicon)。 – 2010-11-25 15:31:12

+0

为什么有人投票结束这个问题? – narayanpatra 2010-11-25 15:33:22

+2

可能是因为“这些背后有什么”,“如何直接与硬件交互”以及“为什么这些机器代码工作”都很模糊。 – 2010-11-25 15:36:33

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

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

大多数PC BIOS例程都是在实模式下编写的,一旦CPU处于保护模式下就不能正常工作;有一些BIOS程序具有兼容的32位保护模式界面。

现在PC BIOS主要用于引导另一个操作系统,之后几乎不用BIOS。 PC BIOS最初是为了在操作系统和底层硬件之间可能存在一个抽象层而提供的,以便操作系统可以更容易地运行在不同的硬件上,而不必针对各种(稍微)不同的硬件配置进行定制。 Gary Kildall和他的CP/M操作系统经常被认为是拥有BIOS的第一台微型计算机操作系统。

直接硬件编程就像您可以获得的特定平台一样。您需要确切了解您的硬件具有哪些芯片组,端口及其配置,才能对其进行编程。

梅斯梅尔不可缺少的PC硬件手册提供了一个全面而可读的PC操作介绍,包括BIOS的作用,中断和CPU模式(如真实,受保护)以及机器代码(1和0's)驱动硬件来实现我们预期的结果。

其他可以回答您的问题并可能更易于使用的书籍包括:由Tocci的数字系统Tanenbaum提供的结构化计算机组织。

编辑:如需进一步了解技术细节,您可以尝试Brey提供的英特尔微处理器(最新版本涵盖Core2架构),然后使用英特尔/ AMD开发人员手册(可免费下载)。

听起来像是通过阅读intel和amd开发人员手册(不是每个指令部分,而是更大/更广泛的概述)以及cpu体系结构上的技术论文(addison- weasley在这方面有一些很好的书籍)