2.7 冯·诺依曼结构与具体实现

计算机组成

2 计算机基本结构

2.7 冯·诺依曼结构与具体实现

Screen Shot 2018-05-27 at 10.12.38

我们现在日常所接触的计算机,几乎全部都是冯·诺依曼结构,都遵循着存储程序的基本原理。那这些计算机的具体实现,和当年冯·诺依曼的设计方案有哪些区别和联系呢?这就需要我们来对比分析了。

Screen Shot 2018-05-27 at 10.12.49

冯·诺依曼计算机的主要构成,我们现在已经非常熟悉了,包括运算器CA,控制器CC,存储器M,输入设备I,和输出设备O。此外,还有在计算机外部的记录介质R。这样原理性的框图和现在计算机的具体实现是如何来对应的呢?

Screen Shot 2018-05-27 at 10.12.59

我们还是拿个人计算机作为例子来进行讲解。在这块个人计算机的主板上,可以插上CPU芯片,主存,我们也常称为内存条,再接上硬盘,连上键盘,插上显卡,连上显示器,最后再接上电源,这样就构成了一台可以正常运行的计算机。CPU对应的是运算器CA和控制器CC,主存对应的是存储器M,这些我们已经比较清楚了。那CPU是如何获取指令开始执行的呢?这块主板上采用的是个人计算机上长期占据主导地位的南北桥结构,所以CPU对外会连接的一块芯片,叫做北桥,这是在主板上非常明显的一块芯片,CPU想要访问主存,就得通过北桥芯片。但是我们还要注意,计算机刚启动的时候,主存里面是没有信息的。因为当计算机断电之后,主存的信息都会丢失。那在系统启动之后,CPU从哪里获得指令呢?

我们也可以看到北桥下方,还有一块比较大的芯片,它就是南桥。我们已经知道南桥内部,集成了很多输入输出设备的控制器。其中就包括硬盘的控制器,所以硬盘实际上是和南桥芯片相连的。而硬盘,我们也已经知道它是属于外部记录介质,它内部保存着计算机系统所需的程序和数据。那CPU所需要的指令是否就直接从硬盘取得呢?

其实也不是。因为要从硬盘中访问数据,相对比较复杂。对硬盘进行配置和访问,本身还需要程序来控制,这也就是所谓的硬盘驱动程序。所以在计算机刚启动时,CPU是无法从硬盘中获得自己想要的第一条指令的,那第一条指令在哪呢?

实际上在主板上还会有一个很小的芯片,它会与南桥相连,一般我们称之为BIOS芯片,这个芯片存储容量很小,会保存一段比较简单但十分重要的程序,包括检查主板上都有哪些设备,这些设备工作是否正常。这个芯片实际上是一颗只读存储器。当系统断电之后,只读存储器中保存的信息是不会丢失的,所以当计算器启动后,CPU可以依次通过北桥,南桥,访问到BIOS芯片,从里面取得指令,所以这颗BIOS芯片,虽然是一颗只读存储器,但是从冯·诺依曼结构原理上来看,它并不属于存储器的范畴,而是和硬盘一样,属于外部记录介质,它和早年计算机的穿孔纸带也属于同一类别。严格地说,BIOS是指这颗只读存储器当中存储的软件,它是基本输入输出系统的缩写。通常我们把保存了BIOS这个软件的只读存储器称为BIOS芯片。现在计算机主板上的BIOS芯片,有很多种封装形式,位置也有不同。但大多会在芯片旁边的主板上,标出BIOS的字样。大家有兴趣可以找一找。

CPU从BIOS中取出指令后,会依次地检查主板上的各个设备,包括有显卡,通过显卡点亮显示器,检查键盘的存在,之后我们就可以通过键盘进行输入,这些都属于I/O设备。此外,现在的显卡功能越来越复杂,性能也越来越强大,尤其是其中的图形处理单元,我们也常称为GPU。GPU往往支持很多复杂的数学运算,拥有很强的运算能力。所以有时候,也会让GPU承担一些运算的工作。实际上在现在高性能的超级计算机中,经常会采用大量的GPU来进行运算,所以从这个意义上讲,GPU也承担了运算器和控制器的一些功能。那在这个结构当中,只有北桥芯片的特征比较特殊一些,实际上,它提供了各个芯片之间互相访问的通道。当然,我们也不用太纠结,北桥到底对应着哪个结构,因为整个南北桥的结构也在迅速地发生着变化。

Screen Shot 2018-05-27 at 10.13.09

这还是刚才那块主板,我们先来看右侧这张图。最上方是微处理器,也就是CPU,这颗芯片中,往往包含着多个CPU核,往下,它连接着北桥。北桥中,主要会有主存控制器,对外连接着主存。那现在的显卡,一般采用PCIE接口,所以在北桥中,会集成PCIE控制器,对外通过PCIE的插槽,连接PCIE的显卡。当然如果你对显示的性能要求不高,也可以通过北桥内部自带的集成显卡,直接连接显示器。那北桥还连接着南桥,南桥中,集中了大多数 I/O设备的控制器。

那我们再来看左边这张图。这是CPU,它对外的访问都需要通过北桥。而其中对传输的性能要求最高的就是与主存的这条通道。主存通道的性能也成为了整个计算机性能的关键瓶颈。除此之外,另一条对性能影响很大的通道就是显示通道,那么这就是PCIE的插槽,这上面可以插上PCIE显卡。再有一条重要的通道,就是北桥与南桥的连接,通过这条通道,外部的输入输出设备可以对主存进行访问。那在这里,红颜色的箭头表示传输压力很大的通道,而南北桥之间的绿色箭头表示这条通道传输压力相对较小。那在这种情况下,首先要解决对性能影响最大的关键问题,这就是CPU访问主存的通道。

Screen Shot 2018-05-27 at 10.13.38

所以在南北桥架构上,发生的第一个重要的变化,就是北桥中的主存控制器被移到了CPU芯片当中。通过左边这张图,我们也可以看出来,CPU的插槽与主存的插槽变得更近了,这就是因为现在CPU是直接访问主存,而不需要再通过北桥了。这样可以大大地提高数据的传输率,进而提升系统的性能。现在,显示的这条通道,就成为了下一个要解决的问题。而南桥中连接的这些设备,暂时还不关键。

Screen Shot 2018-05-27 at 10.13.48

因此,在最新的个人计算机的CPU设计中,不仅包括了主存控制器,还包含了PCIE控制器,在外部可以直接连接显卡。这样北桥当中最重要的一些部件,都被集成到了CPU芯片当中,那北桥就没有存在的必要了。于是将北桥中剩余的一些功能和南桥芯片整合到一起之后,所谓南北桥的架构,其实已经消失了。整个个人计算机的主板由三片式的架构缩减成了两片式。由于没有了北桥,南桥这个名字也显得有些奇怪了,所以它现在往往有一些不同的名字。那我们再看左边这张图。现在CPU直接连接着主存,还直接连接着显卡,还与原先的南桥直接相连。这样就将原先通过主板的复杂的通路,大多移到了芯片的内部。而芯片内部的数据传输率,是远远高于主板的。这样就大大地提升了系统的性能。那既然从三片缩减成了两片,我们可不可以进一步缩减呢?

Screen Shot 2018-05-27 at 10.14.01

其实已经有人这么做了,这就是系统芯片的概念。系统芯片,可以认为是将计算机系统,或其它电子系统集成到一个单一的芯片上。我们来看一个例子,左上是一颗硬币大小的芯片,我们来看它内部包含了哪些功能呢?右边这个框图就是这颗芯片中所包含的功能模块。中上这部分是一个四核的CPU。下边这一部分是显卡的功能模块。两侧则是南桥中数量繁多的各种接口的控制器。而且这个芯片还采用了一些特殊的方法,把主存也集中在了一起。这样,就在这一颗芯片内部,集中了冯·诺依曼结构当中的所有组件。所以我们可以用这样的芯片制造出非常小巧的计算机。你看左下这个计算机的主板,大约只有手掌大小,却拥有非常丰富的外部接口,与一个普通的计算机并没有什么差别。那这样高集成度的优势就让系统芯片的技术广泛应用于智能手机,平板电脑等移动计算设备上。那么原先的计算机中那么多的芯片和板卡,为什么能够集中到越来越少的芯片当中呢?那我们就得说一说一个非常著名的定律。

Screen Shot 2018-05-27 at 10.14.12

这就是摩尔定律。摩尔定律最初是由摩尔提出的。早年,摩尔加入了晶体管的设计者肖克利的实验室,但是由于肖克利的性格问题和这些青年人产生了很大的矛盾。那么包括摩尔在内有8个年轻人一起密谋脱离了肖克利实验室,创办了仙童公司,而肖克利非常生气,把他们称为8个叛徒。而仙童公司迅速聚集了大批有才干的人,创造出了属于自己的辉煌,后来由于投资方的一些原因,仙童公司的这些精英们又逐渐的离去。他们当中的很多人都在硅谷创办了公司,因此人们常将仙童公司比作硅谷的人才摇篮,说仙童公司就好比一颗成熟的蒲公英,风吹之下飘散到硅谷各处,生根发芽,而其中就有摩尔和当年八叛逆之一的罗伯特·诺伊斯共同创办的因特尔公司。而在1965年,当时摩尔还在仙童公司,他应邀为电子学杂志35周年的专刊撰写文章,他在文中做出了这样一个预测,在最低原件价格下,集成电路的复杂度每年大约增加一倍,这一增长率至少可以维持10年。这个预测就是摩尔定律的原型。这十年,集成电路的增长果然非常的迅速,不过增长的速度和摩尔的预测略有差别。所以十年后,摩尔在一次报告中调整了他的预测,将每年增加一倍调整为每两年增加一倍。所以我们要注意摩尔进行的预测是指集成电路的复杂度,而且他认为这个增长速度应该是每两年增加一倍。但是后来被称为摩尔定律的这一预测又发生了很多的演变。

Screen Shot 2018-05-27 at 10.14.24

现在我们常见的摩尔定律的描述是这样的。当价格不变时,集成电路上可容纳的晶体管数目约每隔18个月便会增加一倍,性能也将提升一倍。我们需要注意的是,这和摩尔原本的预测是有些差别的。首先时间不一样;第二,摩尔也没有提及性能的事情。此外摩尔定律还有一些其他的描述,比如每18个月,计算机产品的性能会翻一番;或者说相同性能的计算机产品每18个月价格会降一半,在这样描述的基础上还引出了反摩尔定律等其他的描述。

Screen Shot 2018-05-27 at 10.14.43

既然说到了性能,我们不妨来做个有趣的对比。左边是1946的ENIAC,它每秒钟能执行5000次定点的加法运算。右边是现在全世界最快的超级计算机,中国研制的天河2号,从2013年到2014年连续3次占据世界超级计算机500强的首位。它每秒钟能执行3.3亿亿次浮点运算。我们不妨就来一个非常粗略的比较,就以运算次数作为指标,那么从ENIAC到天河2号,67年的时间,性能增长超过6万亿倍,恰好相当于每18个月翻了一番。当然这只是一个很有趣的对比,它并不严谨。所以我们还是回来看一看摩尔定律它原本想描述的内容。

Screen Shot 2018-05-27 at 10.14.57

这张图展示了微处理器,芯片的晶体管数量的增长情况。在集成电路芯片上,晶体管数量的增长速度才是摩尔最初预测的内容。最早的是1971年的4004,大约有2300个晶体管。现在我们来看整体的发展趋势,从1971年到2011年总共40年的时间,微处理器晶体管的数量从2300个迅速增长到26亿个,增长幅度超过100万倍。如此算来,不到两年就翻了一番。与当年摩尔的预测是非常贴近的。虽然在这之中也有一些人为控制的因素,而且摩尔定律是否已走到尽头也是这些年来不断被提及的话题。但是无论怎样摩尔定律所展示的集成电路的快速发展,的确是计算机性能快速提升的关键动力。

Screen Shot 2018-05-27 at 10.15.10

当然在摩尔定律推动下产生的这些计算机其实都是冯·诺依曼结构的计算机。我们需要牢记的是冯·诺依曼结构存储程序的概念和冯·诺依曼计算机各大组成部分之间的关系。

Screen Shot 2018-05-27 at 10.15.22

由此看来,私人计算机的具体实现方式发展变化的很快,但是其内在的结构特点却长期保持着稳定。因此想要真正掌握计算机的结构和运行的原理,就要不断的学习其最新发展的变化,也要深入的了解它内部不变的原理,二者不可偏废。

转载于:https://www.cnblogs.com/houhaibushihai/p/9095500.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值