1.冯诺依曼体系结构
1.1 定义
冯诺依曼体系结构是由匈牙利数学家约翰·冯·诺依曼提出的一种计算机设计模型。它描述了一种计算机的基本组成部分及其工作原理。
我们目前所认识的大多计算机,都是由一个一个硬件构成的。并且这些计算机,大多都遵从冯诺依曼体系。
1.2 计算机组成部分
冯诺依曼体系结构主要包括以下几个组成部分:
- 输入设备:负责将外部的信息输入到计算机中,使其能够进行后续的处理。常见的输入设备包括键盘、鼠标、扫描仪、摄像头等。这些设备通过不同的接口与计算机相连,将用户输入的指令或数据转换成计算机能够识别的形式,并存储到存储器中。
- 存储器:存储器可以分为主存储器和辅助存储器。主存储器,即内存,是计算机运行时的核心存储设备,用于存放当前正在执行的程序和数据。内存中的数据访问速度非常快,但容量相对较小,且断电后数据会丢失(RAM)。辅助存储器,如硬盘、光盘等,用于长期保存数据和程序,虽然访问速度较慢,但容量大且断电后数据不会丢失(ROM)。在冯·诺依曼计算机中,程序和数据以二进制的形式不加区别地存放在存储器中,存放位置由地址确定。
- 运算器:负责执行指令、进行算术和逻辑运算,以及控制计算机各个部件之间的数据传输。运算器包括算术逻辑单元(ALU)和控制单元两部分。ALU负责执行具体的算术和逻辑运算操作,如加、减、乘、除、与、或、非等。控制单元则负责控制ALU的操作,以及协调计算机各个部件之间的数据传输。运算器和控制器一起构成了计算机的中央处理器(CPU),是计算机的核心部件。
- 控制器:负责控制计算机各个部件之间的数据传输和协调计算机的运行。控制器从存储器中取出指令,并进行分析和解码,然后根据指令的要求向计算机的各个部件发出控制信号,协调它们的工作。控制器还包含一个程序计数器,用于记录当前正在执行的指令的地址,确保指令能够按照顺序执行。
- 输出设备:用于将计算机处理后的数据或指令转换成人类能够感知的形式。常见的输出设备包括显示器、打印机、音频设备等。
关于冯诺依曼,必须强调⼏点:
• 这⾥的存储器指的是内存
• 所有设备都只能直接和内存打交道。
• 不考虑缓存情况,这里的CPU能且只能对内存进⾏读写,不能访问外设(输⼊或输出设备)
• 外设(输⼊或输出设备)要输⼊或者输出数据,也只能写⼊内存或者从内存中读取。
为什么所有的软硬件设备都只能直接和内存打交道呢?
首先我们需要知道,当代的计算机都是性价比的产物,因此该设计必然是为了提升性能降低成本。
各个硬件的运行效率是不同的,这也就意味着若不存在内存,那么体系结构的效率是由设备的将会由传输速度最慢的设备决定(木桶效应)。如果直接从外设中将数据传入处理器中,因为外设的传数据的速度很慢,所以处理器就需要常常处于等待状态,我们加了内存这个中间设备后,我们就可以将将要处理的数据提前存入内存中,且在处理器处理数据时,我们也可以提前将要处理的下一组数据存进来,进而提高了效率。
1.3 冯诺依曼体系的实例理解
当我们从登录上qq开始和某位朋友聊天开始,数据的流动过程是怎样的呢?
当我们发出消息,键盘作为输入设备接受我们的消息,存贮在qq之中,qq再将消息传输到网卡中,网卡此时作为输出设备将消息发送到网络中。此时就完成了我们这台电脑的冯诺依曼体系的流通。
而朋友那边则是需要接受消息,此时网卡又作为输入设备,将消息从网络中接收到网卡中。网卡将消息传输到qq中,再由qq将消息打印再输出设备显示屏上,由此朋友得以看见了我们发的消息。
2. 操作系统
2.1 概念
任何计算机系统都包含⼀个基本的程序集合,称为操作系统(OS)。
操作系统是一款进行软硬件管理的软件。
操作系统包括:
• 内核(进程管理,内存管理,⽂件管理,驱动管理)
• 其他程序(例如函数库,shell程序等等)
2.2 设计操作系统的目的
对下,操作系统可以很好的统筹管理好所有的软硬件资源。
对上,操作系统在对下管理好了所有的软硬件之后,则为用户(或应用程序)提供了一个良好的执行环境。这也使得当我们一个软件出问题了之后不会波及到其他的程序运行。
在整个计算机软硬件架构中,操作系统起到了承上启下的作用,其定位是:⼀款纯正的“搞管理”的软件
2.3 如何理解管理
我们通过学⽣,辅导员,校⻓三者的例子进行说明
校长在我们校园生活中扮演者管理者的身份,他提供颁布相应规定,再有辅导员来进行执行,从而管理我们学生。
然而校园中又无数的学生,肯定不能单独管理,所以有了学生信息,再将这些学生信息录入一个表格,于是对学生进行管理转换为了对表格中的数据信息进行管理。
因此校长管理学生的过程便是先对学生信息进行描述,再通过表格将信息组织进行管理。
对于任何的管理都是一样,先描述,再组织
例如我们的类,以及STL都是如此。
3.冯诺依曼体系结构与操作系统的关系
1.基础框架
冯诺依曼体系结构为计算机的设计提供了基本框架,而操作系统则是在此基础上进行资源管理和用户交互的重要软件。
2.存储程序概念
冯诺依曼体系结构中的存储程序概念允许操作系统和应用程序共享内存,操作系统可以根据需要动态加载和卸载程序。
3.资源管理
操作系统利用冯诺依曼结构中CPU和内存的特性,通过调度算法优化进程的执行,提高计算机的整体性能。冯诺依曼结构为资源管理提供了物理基础,而操作系统则负责具体的管理任务。
4.数据交互
在冯诺依曼体系结构中,所有设备都只能与内存打交道。操作系统通过总线与硬件进行交互,实现高效的数据传输和处理。这种数据交互方式使得操作系统能够有效地管理硬件资源,为应用程序提供稳定、高效的运行环境。
综上所述,冯诺依曼体系结构与操作系统是相互依存、相互促进的。前者为后者提供了物理基础和框架,而后者则在前者的基础上实现了资源管理和用户交互的功能。