将处理器映射到电路图

电器工程 微处理器
2022-01-12 14:46:01

我是一名软件开发人员(使用高级语言,如 .NET、C、C++ 等),试图了解计算机如何在较低级别工作。

我对这张图很熟悉:

我正在尝试深入了解链接中的图表如何映射到这样的电路图:

例如,看一下汇编语言语句:

ADD 1,2

我试图了解处理器如何产生“3”作为输出。我意识到这个问题可能很难简单地回答。如果是这样,那么一个链接会有所帮助,也许是一本书。

4个回答

问题是,为了了解计算机如何达到 1 + 2 = 3,您必须了解比您已经了解的更深的 2 个级别。

从最高抽象层次到最物理现实,大致像这样组织计算机(就研究领域而言):

  1. 应用程序软件
  2. 虚拟机
  3. 操作系统
  4. BIOS
  5. 嵌入式系统
  6. IP 块(子单元/外围设备)
  7. 逻辑块
  8. 门级
  9. 晶体管级
  10. 半导体
  11. 器件物理

要正确理解为什么计算机可以产生 2+1 = 3,您必须首先确定您愿意“相信”接受什么,以及在您将其内化之前您不会相信什么。那条信息将在你所理解的事物之下的第二层。因此,如果您想在逻辑级别了解加法器电路,您将需要了解“数字”晶体管(特别是 CMOS)的基础知识。

以您之前的站点为例,请考虑此资源它讨论了“全加器”——最小的完全通用电路,能够进行加法/减法,包括进位和进位。

您还需要了解数字在2 的补码(现代计算机中用于整数运算的数字系统)中的表示方式。

如果你真的想要一门世界级的入门课程,我不能高度推荐佐治亚理工学院的 Scott Wills 教授。他去年因癌症去世,但他的课程仍在继续佐治亚理工学院 ECE2030(计算机工程导论)课程的教科书和练习全部在线。

祝你好运!

我必须在大学学习同样的内容,我们使用了 非常详细的《计算机组织与设计》一书(但可能对您的需求来说太详细了)。

Patterson 和Hennesy 使用了一些“简单”的MIPS 处理器,并用Assembler 中的一些示例代码展示了CPU 的全部功能。

一般来说,我认为采用一些“简单”处理器(Arduino 左右)并尝试在那里理解该功能是一个好主意,因为从那个到更复杂的差异更多的是实现的指令代码有多大。

PS也许谷歌代码的基本微处理器会有所帮助。它是一个用 Java 模拟的微处理器。

Roger Young的免费书籍How Computers Work - Processor and Main Memory将回答您的问题,它使用继电器而不是晶体管来更好地理解。

我在这里找到了答案。它是对数字相加过程的高级概述。