文章目录
- 冯诺依曼体系结构概念
- 冯诺依曼体系结构的优势
- 冯诺依曼体系结构的现实体现
冯诺依曼体系结构概念
冯·诺依曼体系结构也称普林斯顿结构,是现代计算机发展的基础。它的主要特点是“程序存储,共享数据,顺序执行”,即程序指令和数据都存储在同一个存储器中,CPU从存储器中取出指令和数据进行相应的计算。
该体系结构由美籍匈牙利科学家冯·诺依曼在1945年提出,主要包含以下几个基本组成部分:运算器、控制器、存储器、输入设备和输出设备。运算器负责执行各种算术和逻辑运算;控制器则负责解释指令,控制整个计算机系统的操作;存储器用于存储程序和数据;输入设备用于接收外部数据;输出设备则用于显示或输出处理后的结果。
冯·诺依曼体系结构的主要特点包括:
1. 单处理机结构,机器以运算器为中心。 2. 采用程序存储思想,即程序和数据都存储在同一个存储器中,并且程序指令和数据可以共享相同的内存地址空间。 3. 指令和数据一样可以参与运算,这意味着处理器可以像处理数据一样处理指令。 4. 数据以二进制表示,这是计算机内部处理信息的基础。 5. 将软件和硬件完全分离,使得软件设计更加灵活和高效。 6. 指令由操作码和操作数组成,操作码指示要执行的操作类型,而操作数则提供操作所需的数据。 7. 指令顺序执行,即处理器按照程序中的指令顺序逐条执行。
啰啰嗦嗦一大堆,我相信没有人会去特意记这种枯燥乏味的概念知识,我是这样的,看的我头都大了,相比于概念理解更重要,接下来我就带着大家去理解冯诺依曼体系结构。
冯诺依曼体系结构的优势
首先我们要知道冯诺依曼体系的几个基本组成部分
输入设备:键盘, 鼠标,扫描仪, 写板等
输出设备:显示器,打印机等
中央处理器(CPU):含有运算器和控制器等
存储器:内存
各部分之间是相互独立存在,最后通过总线实现连接,这样就能够实现数据的流动,对于数据流动这个概念本质上就是把数据从某一部件拷贝到另一部件,拷贝的快慢就决定了计算机的效率。
我们已经知道了只要数据流动越快,计算机的效率就越高,那么各个部件的速度又是多块呢?
我们可以明确得知每个部件的效率是不同的,具体如下图所示:
当我们有了以上知识储备后,我们来假设现在存在一种结构如下图所示:
在该结构中没有内存,cpu直接与输入输出设备之间进行数据的传递。
在该结构中输入输出设备与CPU的速度存在着巨大的差距,这就像是三个人分工合作完成某一任务一样,输入设备将数据传递给cpu进行处理,cpu处理结束后立即将结果交给输出设备,再进行下一次工作,但是问题出现了,由于他们之间速度的差距,cpu会一直处于一种闲置阻塞的状态中,CPU会说输入设备你好没好,你赶紧把数据给我呀,等它拿到输入设备交过来的数据后一瞬间就处理结束,它转头一瞧,CPU:兄弟(输入设备)你快点把数据给我呀,等到cpu再次处理完数据后刚要准备把数据给输出设备,cpu发现,CPU:不是吧老哥(输出设备)你怎么还没有把结果输出呀,它又阻塞起来等输出设备输出,CPU一整个血压飙升。
这就是木桶短板原理,不管你CPU多牛多块,总体结果还是要看输入输出设备。
于是冯诺依曼体系结构闪亮登场。
冯诺依曼体系结构增加了内存这个单元,内存的速度是介于CPU和输入输出设备之间的,使得计算机的整体效率大幅度提升,但是该体系结构不仅仅是起到平衡速度的作用。
对于我们的程序必须先从外部加载到内存才能运行起来,我们可以把多个程序加载到内存,然后通过各种调度算法运行我们的程序,这使得CPU的利用率得到进一步强化,CPU表示根本停不下来一直在不断工作,由此计算机的效率问题由硬件问题转移到了软件问题,对于同一台计算机更优秀的软件可以使计算机更加高效。
对于我为什么程序必须先从外部加载到内存才能运行起来这个问题是由冯诺依曼体系结构决定的,他就是那么规定的,也是必须遵守的。
关于冯诺依曼体系结构必须强调几点:
- 这里的存储器指的是内存
- 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)
- 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
- 一句话,所有设备都只能直接和内存打交道。
冯诺依曼体系结构的现实体现
现在假设一个场景,你与你的好朋友通过社交软件进行聊天。
首先你从键盘输入信息,加载到内存等待调度,调度成功cpu进行处理后再加载到内存等待资源(输出设备),资源就绪后通过网卡输出,你朋友通过网卡接收数据,然后数据加载到内存等待调度,调度成功后cpu处理,处理成功后再加载到内存等待资源,资源就绪再输出到你朋友的显示器上。
本章到此结束,感谢您的阅读!