美文网首页
1. 冯诺依曼体系结构:计算机组成的金字塔

1. 冯诺依曼体系结构:计算机组成的金字塔

作者: Jason_Shu | 来源:发表于2019-12-09 15:09 被阅读0次

一. 计算机的基本组成:
  我们知道计算机的三大件:CPU、内存、主板
  CPU,全名叫中央处理器(Central Processing Unit),它是最重要的核心配件,因为计算机基本所有的“计算”工作都是由CPU来完成的。
  第二个是内存。我们撰写的程序,打开的网页,运行的游戏,都要加载到内存中运行。程序读取的数据、计算得到的结果,也都要放到内存中。内存越大,加载的东西越多。
存放在内存中的数据,需要被CPU读取,CPU计算完后,再放回内存,然而内存不能直接插到CPU上,故而我们有了最后一个大件——主板
  主板是一个有着各种各样的插槽的配件。CPU和内存都会插到主板上,主板的芯片组总线解决了CPU和内存之间如何通讯的问题。
芯片组:控制着数据传输的流转,也就是数据从哪里到哪里的问题。
总线:就是数据传输的高速公路。因此总线速度决定了数据传输的多快。

  三大件配上电源,计算机差不多就可以跑起来了,但是目前还确实输入/输出设备,也就是I/O设备,比如鼠标、键盘就是输入设备,显示器就是输出设备。
  最后配上硬盘,就可以保证数据的持久化。显卡是一个特殊的设备,因为显卡有除了CPU之外的另一个“处理器”,也就是GPU,也可以处理一些“计算”工作。
  鼠标键盘这些都插在主板上,作为外部I/O设备,它们主要是通过主板的南桥芯片组来实现与CPU的通讯的。“南桥”顾名思义,在主板的南侧,是为了连接鼠标、键盘以及硬盘这些外部设备和CPU之间的通讯。
  有了“南桥”,我们可以想到应该是有“北桥”的。以前主板上有“北桥”,用来连接CPU和内存、显卡之间的通讯。但是随着时间推移,这部分功能已经内置到CPU中,所以在主板上,已经没有“北桥”了。

二. 冯诺依曼体系结构
  冯诺依曼体系结构,也叫做存储程序计算机。什么是“存储程序计算机”?这里暗含两个概念,一个是“可编程”的计算机,一个是“可存储”的计算机。
  说到“可编程”,我们先说说“不可编程”。计算机是由各种门电路组合而成,然后通过组装成电路板,来完成一个特定的计算程序,一旦需要修改功能,就要重新组装电路。这样的话,就是“不可编程”的,因为计算机硬件层面是“写死”的。最常见的就是老式的计算器,电路板设计好了加减乘除,做不了任何计算逻辑固定之外的事情。
  我们再看“可存储”的计算机。其实这里就是说,程序本身是存储在计算机的内存中,可以通过加载不同的程序来解决不同的问题。
  冯诺依曼在他的一篇《First Draft》文章中,说了一台计算机应该有哪些部分组成。
  首先是一个包含“算术逻辑单元”和“处理器寄存器”的处理器单元,用来完成各种算术和逻辑运算。因为它能完成数据的各种处理和计算工作,所以也称之为“数据通路”或者“运算器”。
  然后是一个包含“指令寄存器”和“程序计数器”的控制器单元,用来控制程序的流程,通常就是在不同条件下的分支和跳转。在现在的计算机中,上述所说的“运算器”和“控制器”组成了CPU。
  接着是用来存储数据和指令的内存。以及更大容量的外部存储,再过去可能是磁带,磁鼓这样的设备,现在是硬盘
  最后就是各种输入输出设备,以及对应的输入输出机制。
  任何一台计算机中的任何一个部件,都可以归到运算器、控制器、存储器、输入设备和输出设备中,而现在所有的计算机也都是基于这个基础架构设计的。
  而所有的计算机程序,可以抽象为从输入设备读取输入信息,通过运算器控制器来执行,执行后的数据存储到存储器中,最终把结果输出到输出设备上。

冯诺依曼体系结构示意图

三. 总结:
  冯诺依曼体系结构确立了现在计算机硬件的基础架构,因此我们学习计算机组成原理,就是学习和拆解冯诺依曼体系结构。
  具体来说,学习计算机组成原理,其实就是学习运算器和控制器的运行原理,也就是CPU怎么工作,为何这样设计;学习内存的工作原理,从最基本的电路,到上层抽象给到CPU乃至应用程序的接口是怎样的;学习CPU怎么和输入/输出设备打交道?
  学习计算机组成原理,就是在理解从控制器、运算器、存储器、输入设备和输出设备,从电路这样的硬件到最终开放给软件的接口,是如何运行的,为什么这么设计,以及软件开发层怎么尽可能用好它。

四. 思考:
  除了冯诺依曼,还有图灵机,那么图灵机和冯诺依曼有什么区别?图灵机是什么样的计算机抽象呢?

答:(1)冯诺依曼体系结构侧重于计算机硬件的抽象,提出了“存储程序计算机”的设计思想。
(2)图灵机,侧重于计算抽象,是一种思想模型(计算机的基础理论基础),是一种有穷的、构造性问题的求解思路,图灵机解决的是“哪些可计算”和“哪些不可计算”的问题。

如果你想一起学习这门课,可以扫下面的二维码购买:


相关文章

  • Linux基础知识

    1、计算机的组成及其功能   说到计算机的组成那就不得不提冯·诺依曼体系结构,美籍匈牙利数学家冯·诺依曼于1946...

  • LINUX的初探

    计算机的组成 冯诺依曼体系 一般而言,计算机的组成遵循着“冯诺依曼体系结构”。这种结构的体现实质上是一种存储程序的...

  • 计算机组成原理笔记

    计算机组成原理笔记 ch01 冯·诺依曼体系结构 计算机基本硬件组成: CPU Memory Mother Boa...

  • 一个简单C程序的汇编程序执行分析

    1.冯诺依曼体系结构——存储程序式计算机 冯诺依曼体系结构核心是存储程序,将数据和代码都存储在存取器中,都是二进制...

  • 冯·诺依曼体系结构

    冯·诺依曼体系结构(von Neumann architecture) 冯·诺依曼体系结构是由1946年美籍匈牙利...

  • JVM相关知识整理和学习

    JVM是虚拟机,也是一种规范,他遵循着冯·诺依曼体系结构的设计原理。冯·诺依曼体系结构中,指出计算机处理的数据和指...

  • JVM重要知识点整理和学习

    JVM是虚拟机,也是一种规范,他遵循着冯·诺依曼体系结构的设计原理。冯·诺依曼体系结构中,指出计算机处理的数据和指...

  • 计算机组成原理——冯·诺依曼计算机

    冯·诺依曼计算机结构图 冯·诺依曼计算机以运算器为中心。 冯·诺依曼计算机特点 1.计算机由运算器、控制器、存储器...

  • 学习计算机组成原理的感想

    “计算机组成原理” 这门课讲的是计算机硬件基础。内容围绕冯诺依曼体系结构的计算机展开,介绍了计算机的功能部件、运行...

  • 极客时间| 计组学习笔记

    先整体: VonNeumannArchitecture 冯·诺依曼体系结构, 也叫 普林斯顿架构, 存储程序计算机...

网友评论

      本文标题:1. 冯诺依曼体系结构:计算机组成的金字塔

      本文链接:https://www.haomeiwen.com/subject/xlsbgctx.html