【问题标题】:Lowest level details of x86x86 的最低级别细节
【发布时间】:2011-05-15 18:33:41
【问题描述】:

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

【问题讨论】:

  • 好吧,在最低级别,您可能需要检查Central processing unit。或Microprocessor。或Silicon.
  • 为什么有人投票结束这个问题?
  • 可能是因为what is behind all thesehow to directly interact with the hardwarewhy these machine codes work 比较模糊。
  • @Frédéric Hamidi:可能适合你。我会等待合适的人的回答。可能问题很模糊,但我不知道。我对这一切都很陌生,我想学习。希望我能得到更好的建议。
  • 请帮忙。我等了一个小时。

标签: assembly operating-system x86


【解决方案1】:

你在那里问了很多问题,在这里尝试全部回答会很费时间。

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

大部分 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 开发人员手册(可免费下载)。

【讨论】:

  • 谢谢哥们,我一直在急切地等待答案。
  • 还有一本书。 Douglas Hall 撰写的“微处理器和接口”,介绍了 x86 架构的基础知识。
【解决方案2】:

听起来你会更好地阅读英特尔和 AMD 开发人员手册(不是每个指令部分,而是更大/更广泛的概述),以及关于 cpu 架构的技术论文(addison-weasley有一些关于这方面的好书)

【讨论】:

  • 感谢您的建议。让我搜索艾迪生韦斯莱的书。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-27
  • 1970-01-01
  • 2016-03-18
相关资源
最近更新 更多