认识冯诺依曼体系

1.1、简介

约翰·冯·诺依曼(John von Neumann,1903年12月28日—1957年2月8日),出生于匈牙利布达佩斯,匈牙利犹太裔美籍数学家、计算机科学家、物理学家和化学家,美国国家科学院院士,生前是普林斯顿高等研究院教授 [1]。

约翰·冯·诺依曼于1921年进入柏林大学;1923年进入瑞士苏黎世联邦工业大学学习化学;1926年从苏黎世联邦工业大学毕业,同年获得布达佩斯大学数学博士学位;1927年至1929年在柏林大学任兼职讲师;1929年转任汉堡大学兼职讲师;1930年首次前往美国,成为普林斯顿大学客座讲师;1933年担任普林斯顿高级研究院教授;1937年当选为美国国家科学院院士;1943年至1955年担任洛斯·阿拉莫斯国家试验室顾问;1954年至1957年担任导弹顾问委员会主席;1957年2月8日在华盛顿沃尔特·里德医院逝世,享年53岁 [4]。

约翰·冯·诺依曼早期从事算子理论、共振论量子理论集合论等方面的研究,后期转向研究自动机理论研究 

2.1、冯诺依曼体系结构

2.1.1 什么是冯诺依曼体系结构

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系:

冯诺依曼体系结构简单描述了一个计算机内部的主要构成。

主要由5部分构成:输入设备、输出设备、存储器、运算器、控制器

​ 其中运算器和控制器在CPU中

输入设备:输入设备是向计算机输入数据和信息的设备。是计算机与用户或其他设备通信的桥梁。输入设备是用户和计算机系统之间进行信息交换的主要装置之一。

例:包括键盘, 鼠标,扫描仪, 写板等

输出设备:是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。也是把各种计算结果数据或信息以数字、字符、图像、声音等形式表现出来。

例:显示器,打印机等

存储器:存储器分为内存和外存。内存是电脑的记忆部件,用于存放电脑运行中的原始数据、中间结果以及指示电脑工作的程序。外存就像笔记本一样,用来存放一些需要长期保存的程序或数据,断电后也不会丢失,容量比较大,但存取速度慢。当电脑要执行外存里的程序,处理外存中的数据时,需要先把外存里的数据读入内存,然后中央处理器才能进行处理。

运算器:计算机中执行各种算术和逻辑运算操作的部件。

控制器:由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。运算器和控制器统称中央处理器,也叫做CPU。

对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上!

例:从你登录上qq开始和某位朋友聊天开始,解释数据的流动过程。

A发送消息给B,数据被B的输入设备接受,传到存储器中,CPU控制存储器把数据提取给运算器,进行各种运算,再传输给存储器,再传输给输出设备,这一切都是由CPU控制进行的。

其中,设备之间的数据流动,本质是设备之间会进行数据的来回拷贝,(拷贝的的整体速度,是衡量计算机效率的重要指标)

注:

1.一般情况存储器指的是内存

2. 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)
3.外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
4.总结:所有设备都只能直接和内存进行交互。(或者说通过内存进行交互,设备与设备直接不直接交互)

2.1.2  为什么要这么设计

计算机的流程就是:输入数据——> 处理数据 ——>输出数据。

那么,为什么这样设计:

上文提到,数据的流动本质是拷贝,拷贝的速度很重要,问题是这里!
不同设备数据的访问速度:
        

其中硬盘以上的主存、L1、L2、L3、寄存器一旦发生断电行为数据立刻丢失,只有硬盘能持久化保存。

所以,数据拷贝的整体速度将取决于最慢的速度,就像木桶原理一样; 直接访问CPU,外设很可能拖慢CPU,导致整个计算机运行非常缓慢;而内存,对于CPU还是外设,数据拷贝速度都不慢,可以作为中间介质来加快整体速度!(还能解决设备产生的经济问题)

3.1 内存是这么提高效率的

由上述内容,我们可以推出内存与各个设备组成的结构:

3.1.1 内存数据怎么加载到CPU

数据要被CPU读取,首先要从外设加载到内存,然后CPU直接去内存中读取数据。但是数据要先到内存再到CPU这个过程是怎么实现的呢?

最容易想到的是CPU需要数据,就去控制内存,让数据加载;其实不然,就想生活中的快递一样,并不是像送外卖那样“随叫随到”,而是像驿站那样,先存着,存到一定数量,或者现在很闲,没有其他任务要做,再加载到CPU(听着很慢,其实这个过程很快,不要用生活中的速度去度量CPU)

3.1.2 外设的数据怎么加载到内存的

这个就要靠操作系统了,也就是靠软件层面;说到底,计算机里的各种资源,都要靠操作系统进行管理。操作系统会把可能用到的数据提前加载到内存中,这样CPU就直接可以去内存中找数据。

4.1 操作系统

4.1.1 概念

 任何计算机系统都包含一个基本的程序集合,称为操作系统(OS) 。

 笼统的理解,操作系统包括:
  
内核(进程管理,内存管理,文件管理,驱动管理)
其他程序(例如函数库,shell程序等等)
设计 OS 的目的:
与硬件交互,管理所有的软硬件资源
为用户程序(应用程序)提供一个良好的执行环境
定位:
在整个计算机软硬件架构中,操作系统的定位是: 一款纯正的 搞管理 的软件。

4.1.2  操作系统怎么管理计算机?

管理结构图
 

其中,操作系统层到硬件层就是冯诺依曼体系结构
注:

1.管理者与被管理者不需要直接交互,管理的本质是对被管理的对象的信息进行管理;而管理者的核心工作是根据数据做决策。

2.通过操作系统获取信息

3.数据量非常多的情况,为了方便管理,会根据数据的性质进行建模管理;也就是先描述,再组织!

 4.1.3 如何理解先描述,再组织

先描述,其实就是面向对象的过程;对于一个对象,先对它的性质进行描述(例如Java语音,C++语言,类别生活中描述一个事物);

再组织,根据数据的性质,选择高效的数据结构把数据组织起来(例如链表,类比学校就是通过班级-年级这样的结构把学生组织起来)

当然,对于计算机管理硬件, 描述起来,用struct结构体 ;组织起来,用链表或其他高效的数据结构。

总结:对管理的一个计算机建模的过程就是先描述再组织!

补充:

系统调用和库函数概念
1.在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分 由操作系统提供的接口,叫做系统调用。
2.系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统 调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。
感谢浏览!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值