第一章 计算机系统概论
1.1 计算机系统概述
1.1.1 计算机的定义与发展历程
计算机是一种能够按照事先存储的程序,自动、高速地进行大量数值计算和各种信息处理的现代化智能电子设备。从1946年第一台电子计算机ENIAC诞生至今,计算机已经经历了七十多年的发展历程。
计算机发展的四个阶段:
第一代计算机(1946-1958年):电子管时代。主要特点是采用电子管作为基本电子元件,体积庞大、功耗高、可靠性差、价格昂贵。代表机型有ENIAC、EDVAC、UNIVAC等。这一时期奠定了计算机的基本体系结构,即冯·诺依曼体系结构。
第二代计算机(1958-1964年):晶体管时代。晶体管取代电子管,使计算机体积缩小、功耗降低、可靠性提高。出现了高级程序设计语言,如FORTRAN、COBOL等。代表机型有IBM 7090、CDC 6600等。
第三代计算机(1964-1971年):集成电路时代。采用小规模和中规模集成电路(SSI/MSI),计算机体积进一步缩小,性能大幅提升。操作系统开始成熟,出现了多道程序设计技术。代表机型有IBM 360系列、PDP-8等。
第四代计算机(1971年至今):大规模和超大规模集成电路时代。采用LSI/VLSI技术,微处理器诞生,个人计算机普及。网络技术、多媒体技术、人工智能等新技术不断涌现。代表产品有Intel 4004、IBM PC、现代多核处理器等。
1.1.2 计算机系统的层次结构
计算机系统是一个复杂的层次化系统,从底层硬件到高层软件,可以分为多个层次:
第0层:数字逻辑层
这一层是计算机的最底层,由门电路、触发器等数字逻辑元件组成。这些元件实现基本的逻辑运算(与、或、非)和存储功能。数字逻辑层的设计直接影响计算机的速度、功耗和成本。
第1层:微体系结构层
也称为微程序层或硬件控制层。这一层实现指令的具体执行过程,包括取指、译码、执行、写回等操作。现代计算机普遍采用微程序控制技术,将复杂指令分解为一系列微操作。
第2层:指令系统层
这是机器语言层,是硬件和软件的分界面。指令系统定义了计算机能够执行的全部指令集合,包括数据传送指令、算术逻辑运算指令、控制转移指令、输入输出指令等。程序员可以通过机器语言直接控制计算机硬件。
第3层:操作系统层
操作系统是计算机系统中最基本的系统软件,负责管理计算机的硬件资源和软件资源,提供用户接口,支持多任务并发执行。主要功能包括进程管理、存储管理、文件管理、设备管理等。
第4层:汇编语言层
汇编语言是机器语言的符号化表示,使用助记符代替二进制操作码,使用符号地址代替绝对地址。汇编语言程序需要通过汇编程序翻译成机器语言才能执行。
第5层:高级语言层
高级语言接近人类自然语言和数学语言,易于学习和使用。常见的高级语言有C、C++、Java、Python等。高级语言程序需要通过编译程序或解释程序转换成机器语言。
第6层:应用层
这是最上层,包括各种应用软件,如办公软件、图形图像软件、数据库软件、网络软件等。用户通过应用软件与计算机系统交互,完成各种实际任务。
1.2 计算机硬件系统
1.2.1 冯·诺依曼体系结构
1945年,美籍匈牙利数学家冯·诺依曼(John von Neumann)提出了存储程序计算机的概念,奠定了现代计算机的基本结构。冯·诺依曼体系结构的主要特点包括:
(1)计算机由五大部件组成
- 运算器:执行算术运算和逻辑运算
- 控制器:控制计算机各部件协调工作
- 存储器:存储程序和数据
- 输入设备:将外部信息输入计算机
- 输出设备:将计算机处理结果输出
(2)采用存储程序原理 程序和数据以同等地位存放在存储器中,计算机可以在程序控制下自动从存储器中取出指令并执行。这是冯·诺依曼体系结构最核心的思想。
(3)指令和数据用二进制表示 计算机内部采用二进制表示指令和数据,简化了硬件设计,提高了可靠性。
(4)指令由操作码和地址码组成 操作码指明指令的操作性质,地址码指明操作数的地址。
(5)以运算器为中心 早期的冯·诺依曼计算机以运算器为中心,输入输出设备通过运算器与存储器传送数据。
1.2.2 现代计算机硬件组成
现代计算机硬件系统主要由以下部分组成:
中央处理器(CPU)
CPU是计算机的核心部件,包含运算器和控制器。现代CPU还集成了高速缓存(Cache)、浮点运算单元、内存管理单元等。CPU的主要性能指标包括主频、字长、核心数、缓存容量等。
主存储器(内存)
主存储器用于存放正在运行的程序和数据。目前主要采用半导体存储器,包括DRAM(动态随机存取存储器)和SRAM(静态随机存取存储器)。内存容量和速度是影响计算机性能的重要因素。
辅助存储器(外存)
辅助存储器用于长期存储程序和数据,包括硬盘、固态硬盘(SSD)、光盘、U盘等。辅助存储器容量大、价格低,但访问速度比内存慢。
输入设备
常用的输入设备有键盘、鼠标、扫描仪、摄像头、麦克风等。输入设备负责将外部信息转换为计算机能够识别的数字信号。
输出设备
常用的输出设备有显示器、打印机、音箱等。输出设备负责将计算机处理结果转换为人类可识别的形式。
系统总线
系统总线是连接计算机各部件的公共通道,包括数据总线、地址总线和控制总线。总线的带宽直接影响系统的数据传输能力。
主板
主板是计算机的基础平台,上面安装了CPU插槽、内存插槽、扩展插槽、芯片组等。主板的设计决定了计算机的扩展能力和兼容性。
1.2.3 计算机的主要性能指标
评价计算机性能的主要指标包括:
字长
字长是指CPU一次能够处理的二进制数据的位数。字长越长,计算精度越高,处理能力越强。常见的字长有8位、16位、32位、64位等。现代计算机普遍采用64位字长。
主频
主频是指CPU的时钟频率,单位是赫兹(Hz)。主频越高,CPU的运算速度越快。但主频并不是衡量性能的唯一指标,还与CPU的微架构、缓存大小等因素有关。
运算速度
通常用每秒执行的指令数(IPS)或每秒浮点运算次数(FLOPS)来衡量。常见的单位有MIPS(百万条指令每秒)、MFLOPS(百万次浮点运算每秒)、GFLOPS、TFLOPS等。
存储容量
包括内存容量和外存容量。内存容量影响计算机能够同时运行程序的数量和规模,外存容量决定能够存储数据的多少。
存取周期
存储器完成一次读或写操作所需的时间。存取周期越短,存储器速度越快。
数据传输率
单位时间内传输的数据量,通常用字节/秒(B/s)或位/秒(bps)表示。数据传输率受总线宽度、总线频率等因素影响。
响应时间
从用户提交请求到系统给出响应所需的时间。响应时间越短,系统的交互性能越好。
吞吐量
单位时间内系统能够处理的工作量。吞吐量越高,系统的处理能力越强。
1.3 计算机软件系统
1.3.1 系统软件
系统软件是管理、控制和维护计算机硬件和软件资源的软件,主要包括:
操作系统(Operating System)
操作系统是计算机系统中最基本的系统软件,是用户和计算机硬件之间的接口。主要功能包括:
- 进程管理:负责进程的创建、调度、同步和通信
- 存储管理:负责内存的分配、回收和保护
- 文件管理:负责文件的存储、检索、共享和保护
- 设备管理:负责设备的分配、控制和数据传输
- 用户接口:提供命令行接口和图形用户接口
常见的操作系统有Windows、Linux、macOS、Android、iOS等。
语言处理程序
将高级语言或汇编语言编写的程序翻译成机器语言程序的程序。包括:
- 汇编程序:将汇编语言程序翻译成机器语言程序
- 编译程序:将高级语言程序整体翻译成机器语言程序
- 解释程序:逐条解释执行高级语言语句
数据库管理系统(DBMS)
用于管理数据库的软件系统,提供数据的定义、操纵、控制和维护功能。常见的DBMS有MySQL、Oracle、SQL Server、PostgreSQL等。
系统实用程序
用于系统维护和管理工具程序,如磁盘清理工具、磁盘碎片整理工具、系统监控工具、杀毒软件等。
1.3.2 应用软件
应用软件是为解决特定问题而开发的软件,包括:
办公软件:如Microsoft Office、WPS Office等,用于文档处理、表格计算、演示制作等。
图形图像软件:如Photoshop、AutoCAD、3ds Max等,用于图像处理、工程设计、三维建模等。
多媒体软件:如Premiere、Audition等,用于音视频编辑处理。
网络软件:如浏览器、邮件客户端、即时通讯软件等。
行业专用软件:如财务管理软件、ERP系统、医疗信息系统等。
1.3.3 软件开发与运行环境
软件开发过程 软件开发通常包括需求分析、系统设计、编码实现、测试验证、运行维护等阶段。常用的开发方法有结构化方法、面向对象方法、敏捷开发方法等。
程序设计语言 程序设计语言是人与计算机交流的工具。按级别可分为机器语言、汇编语言、高级语言;按范式可分为命令式语言、函数式语言、逻辑式语言、面向对象语言等。
集成开发环境(IDE) IDE集成了编辑器、编译器、调试器等多种工具,提高开发效率。常见的IDE有Visual Studio、Eclipse、IntelliJ IDEA、PyCharm等。
1.4 计算机的工作过程
1.4.1 指令的执行过程
计算机执行程序的基本过程是:取指令、分析指令、执行指令、取下一条指令,如此循环直到遇到停机指令。
取指令阶段
根据程序计数器(PC)中的地址,从内存中读取下一条指令到指令寄存器(IR),同时PC自动增量指向下一条指令。
分析指令阶段
对指令寄存器中的指令进行译码,确定该指令要完成的操作和操作数的地址。
执行指令阶段
根据译码结果,发出控制信号,控制运算器、存储器、输入输出设备等完成指令规定的操作。
写回阶段
将运算结果写回寄存器或存储器。
1.4.2 程序的执行流程
程序装入
操作系统将程序从外存加载到内存,建立进程控制块,分配必要的资源。
程序执行
CPU从程序的入口地址开始,按顺序取指令、执行指令。遇到转移指令时,改变程序的执行顺序;遇到输入输出指令时,调用相应的设备驱动程序。
中断处理
当外设完成数据传输或发生异常情况时,向CPU发出中断请求。CPU响应中断后,保存当前执行状态,转去执行中断服务程序,处理完后再返回原程序继续执行。
程序结束
程序执行完毕或遇到错误时,操作系统回收资源,撤销进程。
1.5 计算机系统的分类
1.5.1 按用途分类
通用计算机
适用于各种应用领域,如个人计算机、服务器等。特点是软件丰富、通用性强、性价比高。
专用计算机
针对特定应用设计,如嵌入式系统、工业控制计算机等。特点是专用性强、实时性好、可靠性高。
1.5.2 按规模分类
超级计算机
具有极强的计算能力,用于科学计算、天气预报、核武器模拟等领域。如中国的“神威·太湖之光”、美国的“顶点”(Summit)等。
大型机
具有高可靠性、高可用性、高服务性,用于银行、电信等关键业务领域。如IBM z系列。
小型机
规模介于大型机和微型机之间,用于部门级应用。如IBM AS/400、HP 9000等。
工作站
高性能的单用户计算机,用于工程设计、图形处理等专业领域。
微型计算机
以微处理器为核心,包括台式机、笔记本、平板电脑等。是目前应用最广泛的计算机类型。
嵌入式计算机
嵌入到其他设备中的专用计算机,如智能手机、智能家电、汽车电子等。
1.5.3 按数据表示分类
数字计算机
处理离散的数字量,精度高、通用性强。现代计算机大多是数字计算机。
模拟计算机
处理连续的物理量,如电压、电流等。运算速度快但精度较低,现已很少使用。
混合计算机
结合数字计算机和模拟计算机的优点,用于特定应用领域。
1.6 例题分析
例题1:简述冯·诺依曼体系结构的特点。
解答:冯·诺依曼体系结构的主要特点有:
(1)计算机由运算器、控制器、存储器、输入设备和输出设备五大部件组成;
(2)采用存储程序原理,程序和数据存放在同一存储器中;
(3)指令和数据采用二进制表示;
(4)指令由操作码和地址码组成;
(5)以运算器为中心(早期)。
其中,存储程序原理是最核心的思想,它使得计算机可以自动连续地执行程序,是通用计算机的基础。
例题2:某计算机字长为32位,主频为3GHz,平均每条指令需要4个时钟周期。求该计算机的运算速度(MIPS)。
解答:
$时钟周期 = 1 / 主频 = 1 / (3 × 10^9) 秒$
$每条指令执行时间 = 4 × 时钟周期 = 4 / (3 × 10^9) 秒$
$运算速度 = 1 / 每条指令执行时间 = (3 × 10^9) / 4 = 750 × 10^6 指令/秒 = 750 MIPS$
例题3:说明计算机系统层次结构中各层的主要功能。
解答:
第0层数字逻辑层:实现基本逻辑运算和存储功能;
第1层微体系结构层:实现指令的具体执行过程;
第2层指令系统层:定义计算机的指令集合,是软硬件接口;
第3层操作系统层:管理软硬件资源,提供用户接口;
第4层汇编语言层:机器语言的符号化表示;
第5层高级语言层:接近自然语言的程序设计语言;
第6层应用层:面向用户的各种应用软件。
1.7 本章重点总结
核心概念:
- 冯·诺依曼体系结构的五大部件和存储程序原理
- 计算机系统的层次结构
- 硬件系统的主要组成部分
- 软件系统的分类
关键知识点:
- 计算机发展的四个阶段及其特点
- CPU、存储器、输入输出设备的功能
- 字长、主频、运算速度、存储容量等性能指标
- 系统软件与应用软件的区别
- 指令的取指、译码、执行过程
学习要点:
- 理解冯·诺依曼体系结构的核心思想及其对现代计算机的影响
- 掌握计算机各组成部分的功能和相互关系
- 了解计算机系统的层次结构及其意义
- 熟悉计算机的主要性能指标及其含义
思考题:
- 为什么说存储程序原理是冯·诺依曼体系结构最核心的思想?
- 现代计算机与早期冯·诺依曼计算机相比有哪些改进?
- 计算机系统的层次化设计有什么优点?
- 如何综合评价一台计算机的性能?











