计算机组成原理(十一):冯诺依曼体系
计算机组成原理概述
计算机组成原理是研究计算机系统内部各组成部件的结构、工作原理以及相互关系的一门基础课程,是计算机科学与工程领域的重要基础。它主要研究计算机如何实现数据的输入、存储、处理和输出,以及各硬件部件之间如何协调工作。
现代计算机系统主要由运算器、控制器、存储器、输入设备和输出设备五大部分组成。其中,运算器和控制器通常集成在一起形成中央处理器(CPU),负责指令执行和数据处理;存储器负责保存程序和数据;输入输出设备负责实现计算机与外部环境之间的信息交互。
计算机的基本工作过程可以概括为:用户通过输入设备将程序和数据输入计算机,程序和数据被存储在存储器中,CPU按照程序中的指令顺序从存储器读取指令,对数据进行分析和处理,最终将结果通过输出设备显示或保存。
计算机组成原理的核心目标是理解计算机内部各模块如何实现信息传输、数据运算以及指令执行,从而掌握计算机系统设计和性能优化的基础知识。
冯·诺依曼体系结构
冯·诺依曼体系结构是现代计算机系统设计的基础,由美籍匈牙利数学家约翰·冯·诺依曼(John von Neumann)*于20世纪40年代提出。该体系结构最大的特点是提出了*“存储程序”的思想,即将程序和数据统一存放在存储器中,由计算机自动读取并执行程序。
在冯·诺依曼体系结构提出之前,计算机通常采用固定线路控制方式,每执行一种任务都需要重新设计硬件连接,灵活性较差。而存储程序思想使计算机能够通过改变存储器中的程序来完成不同任务,大大提高了计算机的通用性和灵活性。
冯·诺依曼体系结构主要包括以下五个基本组成部分:
运算器(Arithmetic Logic Unit,ALU)
运算器是计算机进行数据加工和处理的核心部件,主要负责完成各种算术运算和逻辑运算。
算术运算包括加、减、乘、除等基本数学计算;逻辑运算包括与、或、非、异或以及比较等操作。运算器通常包含算术逻辑单元、寄存器等部件。
CPU执行程序时,从存储器读取的数据会进入运算器,在控制器的控制下完成指定计算。例如,一个简单的加法指令,CPU会从存储器取出两个操作数,由运算器完成加法,然后将结果保存到寄存器或存储器中。
控制器(Control Unit,CU)
控制器是计算机的指挥中心,负责控制和协调计算机各个部件的工作。
控制器主要完成以下任务:
(1)从存储器中读取指令;
(2)分析指令含义;
(3)产生控制信号;
(4)协调运算器、存储器和输入输出设备完成操作。
计算机执行程序的过程实际上就是不断执行“取指令—分析指令—执行指令”的循环过程,这个过程被称为指令周期。
例如,执行一条数据加法指令时,控制器首先从内存读取指令,然后解析指令要求,控制存储器提供操作数据,再控制运算器完成计算。
存储器(Memory)
存储器是计算机存放程序和数据的部件,是冯·诺依曼体系结构的重要特点之一。
按照访问速度和容量不同,存储器可以分为:
(1)高速缓存(Cache)
Cache位于CPU和主存之间,用于存放CPU近期可能使用的数据和指令,可以减少CPU访问内存的时间,提高系统性能。
(2)主存储器(Main Memory)
通常指内存(RAM),用于存放正在运行的程序和数据。CPU可以直接访问主存中的内容。
(3)辅助存储器(Secondary Storage)
包括硬盘、固态硬盘等,用于长期保存数据,容量较大但速度较慢。
计算机采用多级存储体系的原因是:高速存储器价格昂贵且容量较小,而大容量存储器速度较慢,通过多级结构可以在成本和性能之间取得平衡。
输入设备(Input Device)
输入设备用于将外部信息转换为计算机能够识别的数据形式。
常见输入设备包括:
- 键盘;
- 鼠标;
- 摄像头;
- 扫描仪;
- 麦克风等。
输入设备负责数据采集,是人与计算机进行交互的重要接口。
输出设备(Output Device)
输出设备负责将计算机处理后的结果转换为用户能够理解的形式。
常见输出设备包括:
- 显示器;
- 打印机;
- 音响;
- 网络通信设备等。
通过输出设备,计算机能够向用户反馈处理结果。
计算机的工作过程
基于冯·诺依曼体系结构,计算机执行程序主要经历以下几个阶段:
- 程序和数据存入内存
用户编写的程序经过编译后形成机器指令,与相关数据一起存放到存储器中。
- 取指令
CPU中的程序计数器(PC)保存下一条要执行指令的地址。控制器根据PC中的地址访问存储器,将指令取出并存入指令寄存器。
- 分析指令
控制器对指令进行译码,确定该指令需要完成的操作以及所需的数据位置。
- 执行指令
根据控制器产生的控制信号,运算器、存储器或输入输出设备完成具体操作。
- 更新程序计数器
执行完成后,程序计数器自动指向下一条指令,继续执行后续程序。
这个过程不断循环,直到程序运行结束。
冯·诺依曼体系结构的特点
- 程序和数据统一存储
这是冯·诺依曼体系结构最重要的特点。程序不再固定于硬件,而是作为数据存储,使计算机具有高度灵活性。
- 指令按顺序执行
计算机默认按照存储地址递增顺序执行指令,通过跳转指令可以改变执行流程。
- 二进制表示信息
计算机内部所有信息,包括程序、数据、指令等,都采用二进制形式表示。二进制适合电子设备实现,可靠性高。
- 以CPU为核心
传统冯·诺依曼结构中,CPU负责控制整个系统运行,存储器、输入输出设备围绕CPU进行工作。
冯·诺依曼结构存在的问题与发展
虽然冯·诺依曼体系结构推动了计算机技术的发展,但随着计算机性能不断提升,也出现了一些限制。
1. “存储墙”问题
CPU运行速度提升非常快,而内存访问速度提升相对较慢,导致CPU经常等待数据读取,限制系统性能。
解决方法包括:
- 增加Cache;
- 使用高速内存;
- 采用并行计算技术。
2. 指令和数据共享通道
传统结构中指令和数据通过同一总线传输,容易产生传输瓶颈,这被称为“冯·诺依曼瓶颈”。
现代计算机通过:
- 多级缓存;
- 多总线结构;
- 哈佛结构改进;
提高数据访问效率。
3. 并行计算发展
现代CPU已经从单核发展到多核,通过并行执行提高计算能力。同时GPU、AI专用芯片等异构计算架构也逐渐发展。
总结
计算机组成原理研究的是计算机硬件系统的基本结构和运行机制,而冯·诺依曼体系结构则奠定了现代计算机设计的基础。其核心思想是“存储程序”,即将程序和数据统一存放在存储器中,由CPU按照指令自动执行。
