计算机的体系与结构

文章目录


前言

今天给大家介绍计算机的体系和结构,分为两个板块:冯诺依曼体系和现代计算机的结构。


一、冯诺依曼体系

冯诺依曼体系是将程序指令和数据一起存储的计算机设计概念结构。

冯诺依曼体系可以说是学习计算机基础最重要的知识点之一,为什么该体系如此重要呢?接下来就说说冯诺依曼体系诞生的背景。

早期的计算机仅能运行固定用途的程序,举个例子:有个计算机,它只能运行数学计算的程序,那就不能拿来做文字处理、打游戏等其他用途。如果这时候想要改变计算机的程序,让他可以具备其他功能,就必须更改结构,重新设计电路。而在当时,所谓的重写程序并不是现在重新写个代码这么简单,这里面的重写程序就是指的重新设计整个计算机,再施工重新制造一台计算机。

这样的计算机显然是不合理的,于是,冯诺依曼就想出一个办法:把程序存储起来,然后在设计底层硬件的时候不再设计专有电路,而是设计通用电路。当我们需要运行某种程序的时候,先把这段程序翻译成电路能理解的语言,然后让通用电路去执行相关的逻辑。这就是冯诺依曼体系结构的核心概念:存储程序指令,设计通用电路。

通过上面介绍,我们就了解了冯诺依曼体系是怎样诞生的,由此也就理解了冯诺依曼体系给计算机领域带来了翻天覆地的改变,这就是冯诺依曼体系为什么如此重要了。由冯诺依曼体系所衍生的存储型计算机的概念改变了之前糟糕的一切,一台存储型的计算机可以轻易的改变其程序,并且在程序的控制上面改变运行的内容,改变的时候不需要重新设计电路,不需要重新改变计算机的结构,这就是冯诺依曼体系所带来的贡献。

由冯诺依曼体系指导设计的计算机有五大组件:存储器(存储程序及数据)、控制器(控制程序执行先后顺序)、运算器(负责完成运算操作)、输入设备、输出设备。有了这五大部件,冯诺依曼体系结构的计算机就可以运行起来。我们现代使用的所有计算机从本质上来讲都是冯诺依曼机。

由冯诺依曼体系指导设计的计算机必须完成哪些功能呢?我们可以从现实的计算机找到一些启发,具体完成的功能如下:

1.能够把需要的程序和数据送至计算机中(需要通过输入设备来实现,如键盘、鼠标)
2.能够长期记忆程序、数据、中间结果及最终运算结果的能力(依赖存储器来实现)
3.能够具备算术、逻辑运算和数据传送等数据加工处理的能力(由运算器和控制器来完成)
4.能够按照要求将处理结果输出给用户(需要输出设备来实现,如显示器、打印机等)

以上4点就是冯诺依曼体系结构的计算机必须能够完成的功能,按照这些功能实现,我们可以来看看冯诺依曼机的结构,示意图如下:

输入设备完成用户数据的接收,把用户输入的数据送到运算器中,接着运算器协同存储器和控制器完成相关的处理和操作,最后把相关的结果送到输出设备,通过输出设备返回给用户,这就是计算机处理的整个过程。从中我们可以看到控制器不仅控制了运算器,还控制了存储器、输入设备和输出设备,所以说控制器是非常重要的部件。

结构中的控制器和运算器是设计在一起的,共同组成中央处理器(CPU),也就是 CPU=运算器+控制器。以上示意图是早期冯诺依曼机的结构示意图,从中可以看出存储器和CPU是分开的。

其实把存储器和CPU分开并不是一个好的结构,因为这会导致一个问题,这个问题也是冯诺依曼瓶颈,它就是:CPU和存储器速率之间的问题无法调和。CPU的处理速度很快,而存储器到CPU的传输速度一般不高,这就会导致CPU经常空转等待数据传输。这种就是对CPU的浪费,只有把CPU跑满才是对资源的最好利用。

既然我们知道了冯诺依曼体系结构计算机的问题,那怎么解决呢?接下来就进入到第二个板块:现代计算机的结构。

二、现代计算机的结构

现代计算机的结构从本质上来讲还是冯诺依曼体系里面的计算机,但是它在原有的结构里面进行了一定的改变,来解决冯诺依曼结构计算机的瓶颈问题。现代计算机的特点如下:

  • 现代计算机在冯诺依曼体系结构基础上进行修改
  • 解决CPU与存储设备之间的性能差异问题

如下图所示为现代计算机结构示意图:

从上图可以看到,同样包括冯诺依曼计算机所必备的五个组件:输入设备、存储器、运算器、控制器、输出设备。跟前面不一样的是:存储器、运算器和控制器做在了一块芯片上面,由此所组成的就是现代计算机的CPU,也就是 CPU=运算器+控制器+存储器。当然了,这里面的存储器指的是围绕CPU的更高速设备,包括CPU的寄存器和内存。现代计算机的结构可以理解为是以存储器为核心的结构。


总结

以上就是给大家介绍的冯诺依曼体系产生的背景,解决的问题,以及现代计算机结构的特点和解决的问题。

相关推荐
果冻的猿宇宙1 个月前
<<迷雾>> 第11章 全自动加法计算机(8)--一只开关取数并相加 示例电路
存储器·指令寄存器·译码器·circuitjs·穿越计算机的迷雾·自动加法器·循环移位寄存器
果冻的猿宇宙1 个月前
<<迷雾>> 第11章 全自动加法计算机(5)--顺序取数 示例电路
存储器·circuitjs·穿越计算机的迷雾·加法器·自动加法器·地址计数器·地址寄存器
Projectsauron2 个月前
ROM、RAM 和 Flash 的区别
内存·flash·ram·存储器·rom
GGBondlctrl2 个月前
【后端开发】JavaEE初阶——计算机是如何工作的???
java·java-ee·操作系统·进程·冯诺依曼体系·计算机工作原理
果冻的猿宇宙2 个月前
<<编码>> 第 16 章 存储器组织(3)--3-8 译码器 示例电路
数字电路·存储器·地址·译码器·circuitjs·《编码》·3-8译码器
热爱学习地派大星2 个月前
BRAM IP Native模式使用
fpga开发·ip·verilog·fpga·存储器·bram
研究司马懿3 个月前
【云原生】Ingress控制器超级详解
云原生·kubernetes·云计算·k8s·ingress·控制器·服务暴露
csshuobo0013 个月前
CAN总线显示屏,工业用触摸显示器,显控一体
嵌入式硬件·人机交互·显示器·控制器
研究司马懿3 个月前
【云原生】Job一次性任务详解
云原生·云计算·k8s·控制器·job·任务计划·一次性任务
研究司马懿3 个月前
【云原生】CronJob周期性任务详解
云原生·kubernetes·云计算·k8s·控制器·周期性任务计划