将处理器映射到电路图


11

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

我熟悉此图:

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

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

ADD 1,2

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


参考您发布的第一个图,实际算术所需的详细信息都隐藏在标有“ ALU”的大块中:该图上的每个其他块都在那里,将1,2并“添加”到ALU中结果又出来了 知道了,你就可以开始阅读ALU是如何工作的,如果这是你在问..
布赖恩·德拉蒙德

5
第一张图映射到第二张图中的Z80 CPU。
starblue 2013年

Answers:


7

问题在于,为了了解计算机如何达到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(计算机工程入门)课程有其教科书,并且全部在线练习。

祝好运!


谢谢你 +1。我是.NET开发人员,尽管我有使用C和C ++的经验。我知道C#被编译为中间语言,而JIT编译器通过动态编译IL代码来针对计算机体系结构。我试图了解微控制器如何接收操作数和操作码并产生输出。我对电子元器件(例如晶体管,电容器等
了如指掌

...然后,我将从阅读材料中的“开关设计”开始,然后从那里继续上课。
DrFriedParts 2013年

您的主题列表设法抛出与问题无关的几个主题,而跳过最相关的主题。
克里斯·斯特拉顿

@Chris-不,不是。
DrFriedParts

3

我必须在大学学习相同的知识,我们使用了 非常详尽的书《计算机组织与设计》(但也许对于您的需求来说太详尽了)。

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

通常,我认为采用一些“简单”处理器(Arduino左右)并尝试在那里了解其功能是一个好主意,因为从该处理器到更复杂的处理器之间的区别在于所实现的指令代码的大小更大。

PS也许Google Code 的基本微处理器会有所帮助。它是用Java模拟的微处理器。


2

罗杰·杨(Roger Young)提供的免费书籍《计算机如何工作-处理器和主存储器》将回答您的问题,它使用继电器而不是晶体管来更好地理解。


2
虽然该书确实有用,但请编辑答案以包含完整的标题和作者信息。这样,如果链接发生更改,将来仍有可能对其进行跟踪。
PeterJ 2013年

这看起来像我当时正在寻找的东西。+1。我先看一下再回来。
w0051977

-1

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


4
如果您总结答案中的材料,则对将来的读者会更有用。仅提供指向外部资源的链接不会对EE.SE有所帮助。
Photon

请注意@ThePhoton在这里说什么。尽管该youtube视频可能会为您提供帮助,但您能否总结一下您学到的内容,以便在该视频链接中断的情况下仍然可以找到答案?
Kortuk
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.