冯诺依曼体系究竟是什么?

简介: 冯诺依曼体系究竟是什么?

一、冯诺依曼体系是什么?

 冯·诺依曼体系结构,也被称为普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。这种结构的特点是“程序存储,共享数据,顺序执行”,CPU从存储器取出指令和数据进行相应的计算。(百度百科)

二、冯诺依曼体系结构特点

 冯诺依曼体系计算机由计算器、存储器、控制器、输入设备、输出设备组成。其中存储器也被称为内存,计算器和控制器被称为中央处理器(CPU)。


 在计算机中,指令和数据都是二进制,以相同的地位存放在存储器中,可通过地址来寻访。其中指令由操作码和地址码组成,操作码表示操作的属性,地址码用于表示操作码在存储器中的位置。


经典冯诺伊曼体系结构计算机是以运算器为中心,输入设备、输出设备已经存储器之间的数据通过运算器来完成。但由于木桶效应,计算机的运行效率快慢却决于运行速度最慢的部件。经典冯诺伊曼体系中·计算机直接通过运算器来控制输入和输出设备之间的数据传递,速度受输入设备和输出设备影响巨大,导致整机的性能下将。因此,现代计算机通常以存储器为中心,或者说是CPU。并且实际上,现代计算机并不会直接从输入设备和输出设备中获取数据。数据必须先传到存储区(即内存中),CPU在通过从存储器中读取数据,并将处理后的结果先返回给存储器,在通过存储器将结果传给输出设备。这样做的意义在于,由于CPU和输入设备、输出设备的运行速度差距还是挺大的,在CPU处理某个任务时,我们可以提前将下一个任务所所需要的数据通过输入设备先加载到存储器中,待CPU处理完当前任务后,可以立即从存储器中获取数据。通过认为巧妙的控制两者之间的时间差,来减少CPU等待获取数据的时间。


总结:现代计算机在不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备);外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。一句话,所有设备都只能直接和内存打交道

三、现代计算机结合框图

现代计算机以存储器为中心,分为计算器、存储器、控制器、输入设备、输出设备。存储器、控制器称为CPU


  其中计算机的输入设备主要有:键盘、话筒、摄像头、网卡、显卡、usb、磁盘/ssd等。需要注意的是,现如今计算机大多是采用ssd(固态磁盘)代替磁盘。两个本质不同:机械硬盘本质是电磁存储,固态则是半导体存储。


  输出设备有:网卡、显卡、喇叭、打印机等。

  存储器为内存;运算器和控制器,即CPU中,通常为寄存器和各级缓存

四、数据如何流动?

假设某天你(小明)和朋友(李华)同时登上QQ并打开了对话框,你在对话框中输入“你好”并发送传到李华的手机上,这其中数据是如何流动的?

 在计算机启动并打开QQ时,操作系统和QQ两个软件会加载到内存,在QQ中输入“你好”,实际上是输给内存(存储器)。同时实际上我们通过QQ发送消息时,不仅仅有文字“你好”,还有头像,昵称等等,其中会涉及到一些字符串剪切拼接等问题,所以需要将这些附带信息一同加载到CPU中,进行处理打包后在写回内存。然后内存将打包好的输出传给输出设备。在通过输出设备中的显卡,通过网络(省略)传给李华输入设备中的显卡。然后通过内存加载到李华电脑的CPU对信息进行解压,随后写回内存,传给输出设备,最终李华便能在他的手机上看到“你好”和你的昵称和头像的信息了。


相关文章
|
20天前
|
存储 缓存 安全
浅谈冯诺依曼体系和操作系统
浅谈冯诺依曼体系和操作系统
|
1月前
|
存储 物联网 C语言
嵌入式微处理器的系统架构中冯诺依曼计算机系统
嵌入式微处理器的系统架构中冯诺依曼计算机系统
10 0
|
3月前
|
存储 缓存 Linux
冯诺依曼体系结构
冯诺依曼体系结构
|
9月前
|
存储 容器
冯诺依曼体系
冯诺依曼体系
49 0
|
4月前
|
JavaScript 前端开发 Java
关于对计算机发展史、冯诺依曼体系、CPU基本工作流程以及关于编程语言的简单认识
关于对计算机发展史、冯诺依曼体系、CPU基本工作流程以及关于编程语言的简单认识
|
9月前
|
存储 缓存 算法
【软考:软件设计师】 3 计算机组成与体系结构(二)详解存储系统 | 输入输出与总线
【软考:软件设计师】 3 计算机组成与体系结构(二)详解存储系统 | 输入输出与总线
202 0
|
6月前
|
存储 安全 Linux
冯诺依曼体系结构与进程概念理解
冯诺依曼体系结构与进程概念理解
37 0
|
6月前
|
存储 安全 Linux
介绍冯诺依曼体系、认识系统【Linux】
介绍冯诺依曼体系、认识系统【Linux】
37 0
|
8月前
|
存储 Linux
【Linux】冯诺依曼体系结构思想
【Linux】冯诺依曼体系结构思想
|
存储 程序员 芯片
一文详解8086微处理器系统结构
地址指针和变址寄存器 - 地址指针和变址寄存器组包括堆栈指针 SP、堆栈基址寄存器 指针BP以及变址寄存器 指针SI和DI等4个16位寄存器。它们主要是用来存放或指示操作数的偏移地址。 - 堆栈指针SP中存放的是当前堆栈段中**栈顶**的偏移地址。堆栈操作指令PUSH和POP就是从SP中得到操作数的段内偏移地址的。 - BP是访问堆栈时的基址寄存器。BP中存放的是堆栈中某一存储单元的偏移地址,SP、BP通常和SS联用。 - **SI和DI称为变址寄存器**。它们通常与DS联用,为程序访问当前数据段提供操作数的**段内**偏移地址。SI和DI除
736 0
一文详解8086微处理器系统结构