计算机的硬件基本组成

目录

计算机体结构

 发展历程

什么是程序存储?

冯诺依曼体系结构概述

现代计算机结构

cpu

 写在最后


计算机体结构

        随着集成电路的不断发展,以及人们的不断实践,计算机主要分为两种结构,第一种是早期的冯诺依曼结构,另一种是现代计算机所普遍采用的结构,其实也是冯诺依曼结构的一个优化。

 发展历程

        世界上第一台计算机是埃尼亚克,当时冯诺依曼就是这台计算机设计的一个顾问。那这台计算机一个很大的缺点就是每一步的计算需要执行什么指令都需要这些程序员、操作员们通过手动连接这些线缆的方式来告诉计算机。所以虽然这台计算机它执行运算的速度很快,但是由于这些程序员们每一次都需要手动的接线来告诉他下一步应该怎么做,因此,安妮亚克的计算速度就被手工操作拉低了,所以为了解决这个问题,冯诺依曼这些天才他第一次提出了存储程序的概念。进而产生了冯诺依曼结构。

什么是程序存储?

        所谓存储程序,就是指可以把我们需要执行的一系列指令以二进制代码的方式提前把它输入到计算机的主存储器当中,也就是我们熟悉的内存里边,然后计算机会根据存储器里边存储的这一系列的指令来一条一条的执行,直到程序执行结束。也就是说,对于艾尼亚克这台计算机,是程序员们告诉他一条指令,它就往下执行一条指令,说一句做一句。而弗诺依曼提出的存储程序的这种实现方式,就意味着我们可以把我们想要让计算机执行的一系列指令。全部一口气告诉他,全部先放到储存里,然后接下来会由计算机一条一条的来执行这些指令,程序猿们就不需要每一步都进行手工连接的操作,这就可以大幅提升计算机的一个计算速度。那基于他提出的这个设计方案,世界上第一台具有冯诺依曼结构的计算机就诞生了。

冯诺依曼体系结构概述

         从图中我们可以看到,首先需要有一个输入设备,把数据输入到计算机当中,那这儿的数据包含我们要进行数学运算的数据,也包含了程序,也就是指令集合。

        所以输入设备的一个作用就是把计算机要处理的这些信息转换成机器能够识别的形式,也就是0101这样的二进制数。那可以看到我们输入的这些数据程序,通过输入设备处理之后,这些数据事先流向了运算器,然后通过运算器的中转,才会把这些程序数据把它放到内存,也就是这所谓的存储器当中。所以这个存储器就是用来存放我们要处理的数据,还有程序指令。  

        而中间的这个运算器,它最主要的一个功能是实现算术运算,还有逻辑运算,算术运算就是加减乘除那些运算,逻辑运算指的就是与或非这些运算。那经过运算器的处理之后,这些数据的运算结果会通过输出设备把它转换成我们人类比较熟悉的形式。

        另外还有一个非常重要的部件叫控制器,控制器会用一些电信号来协调其他这些部件相互配合的工作。另外,控制器也会负责来解析存储器里存储的那些程序指令。所以我们会看到这儿有一条存储器到控制器的呃,一个数据线,那这条数据线其实就是控制器从存储器当中读取出一条指令的呃,一个数据流。比如说读入的是一个加法指令还是乘法指令,那控制器解析了这条指令之后,他才会来指挥这个运算器执行相应的加减乘除之类的运算,所以程序指令的解析是由控制器来完成的。

        因此,计算机中的控制器就是用来指挥程序,有条不紊的运行的。那我们输入计算机的这些数据和程序,其实就是所谓的软件的模块,那这个框里边的这些部分其实就是计算机的硬件部件。那在计算机系统中,其实软件和硬件在逻辑上是等效的,什么意思呢?对于同一个功能,我们既可以用软件来实现,也可以用硬件来实现。

        不过通常来说,用软件实现的成本更低,但是效率也会更低,而用硬件来实现,成本会更高,当然效率也会更高。比如说,如果我们要实现乘法运算,那么我们完全可以在运算器里边设计一个专门的硬件电路来实现这种乘法运算,我们只需要给出一条乘法指令运算器,就可以得到最终的结果。但是如果我们没有这个硬件部件,其实也可以实现乘法,因为乘法其实可以用多次的加法运算来模拟,那么我们完全可以使用加法运算的这个指令执行多次加法,用这样的方式来等效的呃,模拟出乘法运算,所以我们才说软件和硬件在逻辑上其实是等效的。显然,用硬件的方式乘法电路直接计算肯定是更快一些,用软件的方式进行多次加法,那就需要消耗更长的时间。好的,那到目前为止我们就搞清楚了,什么是冯诺依曼机(就是使用冯诺依曼的设计图造出来的计算机啦)。      

总结一下:

        冯诺依曼结构的计算机有具有这样的一些特点

  1. 计算机由五大部件组成
  2. 指令和数据同样都是以二进制的方式存放在存储器当中(地位相同)
  3. 指令由操作码和地址码组成
  4. 以运算器为核心

现代计算机结构

        虽然说刚开始输入的这些数据和程序本来就是想要放到这个存储器里的,但是冯诺依曼这种结构的计算机都是会通过运算器作为中转站,把它转存到这个存储器里边呢,所以由于数据的传送必须经过运算器来完成,因此我们说这种结构是以运算器为中心。那这就产生了一个问题,我们的运算器,本来是用来处理这些数据的核心部件,但是现在所有的数据中转还需要通过他来帮忙完成,那这样的话会导致数据计算的效率降低。

        来看这样的一个例子,其实我们的计算机,它本质上就是一个数据的加工厂,数据输入到计算机当中,然后处理完了之后输出,那对于现实世界当中的加工厂,通常会有一个采购部门负责采购一些他需要加工的原材料,那这其实就是我们输入的数据。另外,我们会有一个生产加工的部门,对这些原材料来进行加工处理,那还有一个部门是仓储部门,这个部门其实就是用来存放我们接下来要处理的这些原材料物资的,那当我们加工完成之后,会由销售部门把产品卖出去。另外,我们还会有一个霸道总裁来负责指挥各个部门的运行,所以在我们的这个例子当中,采购部门他采购的这些原材料本来是可以直接放到仓储部门的,但是现在他也偏偏要先把这些东西先交给这个加工部门,然后让加工部门再来把它转运到仓储部门去。同样的,加工完的这些产品,我们其实本来可以直接放到仓储部门,然后直接由销售部门从仓储部门取走这些产品,但是当销售部门要取走最终的成品的时候,还需要由这个生产加工部门来进行一个中转,把这些东西交给他,这显然是低效的。

         于是为了解决这种效率低下问题,就提出了一种立竿见影的解决方案,那就是现代计算机硬件体系结构。

        

        传统的冯诺依曼结构的计算机都是以运算器作为核心,数据的传输都需要通过运算器作为中转。但是现代计算机通常是以存储器为中心,也就是说输入设备,它的数据是直接放到这个存储器里边的。当运算器处理完这些数据之后,输出设备也会直接从存储器当中取走最终的数据,进行计算结果的输出。那这样的话就可以更多的解放运算器的时间,可以让运算器进行更多的运算。 

cpu

        由于运算器、控制器,它们之间的逻辑关系十分紧密,所以在大规模集成电路制作工艺出现了之后,这两个部件通常是被集成在同一个芯片上的,那整合了这两个部件的芯片就是我们现在熟悉的cpu,所以cpu既包含了运算器,也包含了控制器。

 写在最后

        本文主要阐述了现代计算机与冯诺伊曼机的硬件架构,他们主要体现在现代计算机以存储器为中心,冯诺依曼机的核心是运算器。现代计算机一般将运算器和控制器合成到一个芯片中,也就是cpu。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值