前言
本课程研究计算机底层硬件协同工作原理 ;计算机整体分层:硬件→操作系统→应用软件,依托网络实现多设备互联。
所有图像、文字、音视频在硬件中统一以二进制 0/1存储传输,依靠高低电平区分 0、1。
一、计算机系统组成
1. 两大核心部分:硬件 + 软件
- 硬件:看得见摸得着的实体(主机、外设)
- 主机:CPU、内存(主存)
- 外设(I/O):输入(键盘鼠标)、输出(显示器)、辅存(硬盘 SSD)
- 硬件决定计算机性能上限
- 软件:逻辑程序,无实体,最大化发挥硬件性能
- 分类:系统软件、应用软件
(1)系统软件(管理硬件、为上层提供服务)
- 操作系统 OS(Windows/Linux/iOS/Android)核心
- 数据库管理系统 DBMS
- 语言处理程序:编译器、汇编器、解释器
- 标准程序库、网络软件、调试服务程序
(2)应用软件(面向用户,解决具体需求)
微信、抖音、PS、CAD、美图秀秀等
2. 软硬件逻辑等效性
同一功能可硬件 / 软件两种方式实现:
- 硬件实现:成本高、运算速度快(如专用乘法电路)
- 软件实现:成本低、速度慢(多次加法模拟乘法)
二、计算机硬件发展四代(按逻辑元件划分,考试重点)
第一代:电子管计算机(1946,ENIAC)
- 逻辑元件:电子管
- 特点:体积巨大(170㎡)、耗电 150 千瓦、每秒 5000 次加法、故障率高
- 编程:机器语言(二进制纸带打孔)
- 衍生概念 Bug:早期纸带小虫导致程序出错,漏洞由此得名
第二代:晶体管计算机(贝尔实验室 1947 发明)
- 逻辑元件:晶体管
- 特点:体积大幅缩小、功耗低、速度提升至几十万次 / 秒
- 软件:出现 Fortran 高级语言、早期操作系统
- 缺陷:人工焊接几十万晶体管,焊点易故障
第三代:中小规模集成电路
- 逻辑元件:集成电路(晶体管集成在芯片)
- 特点:体积更小、功耗更低、可靠性大幅提升
- 软件:高级语言爆发、分时操作系统
- 用途:专业科学计算,未普及个人使用
第四代:大规模 / 超大规模集成电路(当前主流)
- 逻辑元件:微处理器(CPU),指甲大小芯片集成百亿级晶体管(如 A13 集成 85 亿晶体管)
- 产物:微型计算机、手机、智能设备
- 软件:Windows、Linux 等成熟图形操作系统
补充:芯片产业发展史
- 肖克利(晶体管之父)创办公司,吸引 8 名人才,后 8 人集体离职,被称为八叛徒
- 八叛徒创立仙童半导体,1959 年发明集成电路
- 仙童分支:摩尔等人创立英特尔;桑德斯创立 AMD
- 摩尔定律:集成电路晶体管数量约 18~24 个月翻倍,性能同步翻倍;主存容量成本同步符合该规律
三、软件语言发展三级
- 机器语言(低级):纯二进制 01,硬件唯一识别语言,可读性极差
- 汇编语言(低级):助记符替代二进制,和机器指令一一对应,仍贴近硬件
- 高级语言:C/C++/Python/Java,贴近人类自然语言,无需关注硬件底层
翻译程序(高级语言转机器语言)
- 编译器:一次性全部翻译为可执行文件(C 语言生成.exe),重复执行无需二次翻译,效率高
- 解释器:边运行边翻译(Python/JS),重复代码重复翻译,效率低
- 汇编器:汇编语言→机器语言
- 三者统称翻译程序
C 语言程序完整编译流程
源程序 (.c) → 预处理器(处理宏定义 #)→ 编译器(C→汇编)→ 汇编器(汇编→目标文件.o)→ 链接器(整合库函数)→ 可执行文件 (.exe)
四、计算机两大发展趋势
- 微型化:手机、智能穿戴,便携、多用途、高性能
- 巨型化:超级计算机,超高并行运算速度
- 国内代表:神威・太湖之光、天河二号
五、计算机系统多级层次结构(自下而上)
- 微程序机器层(硬件底层,微指令)
- 传统机器层(机器语言,计组核心研究层)
- 操作系统机器层(软硬件分界)
- 汇编语言虚拟机
- 高级语言虚拟机
|-----------------------------------|
| 底层是上层基础;上层为上层提供抽象;计算机专业 "透明"= 不可见 |
易混概念区分:计算机体系结构 vs 计算机组成原理
- 计算机体系结构:程序员可见的硬件属性(指令集 ISA、有无乘法指令),定义软硬件接口
- 计算机组成原理:硬件内部如何实现接口(乘法电路怎么搭建),对程序员透明
第二章 计算机硬件五大部件 & 两类冯诺依曼结构
一、冯诺依曼五大硬件部件
运算器、控制器、存储器、输入设备、输出设备(I/O)
- 输入设备:信息转为二进制送入计算机(键盘、鼠标)
- 输出设备:二进制数据转为人类可读形式(显示器、打印机)
- 存储器 :存指令 + 数据,分主存(内存) 、辅存(硬盘 SSD,属于 I/O)
- 运算器 ALU:完成算术运算(加减乘除)、逻辑运算(与或非)
- 控制器 CU:解析指令,发送控制信号调度所有硬件
|--------------------------------------|
| 运算器 + 控制器集成在同一芯片 = CPU;CPU + 主存 = 主机 |
二、两种冯诺依曼结构(考试核心考点)
1. 传统冯诺依曼结构(EDVAC,以运算器为中心)
- 核心特点:所有 I/O、内存的数据传输必须经过运算器中转
- 流程缺陷:运算器既要计算又要搬运数据,占用运算资源,效率低
- 课程原文明确结论:传统冯诺依曼机是以运算器为中心
2. 现代计算机结构(优化版,以存储器为中心)
- 核心特点:I/O 设备直接和主存交换数据,无需经过 CPU 运算器中转
- 优势:解放运算器,专注数值计算,效率大幅提升
- 手机、台式机、笔记本全部采用此结构
三、冯诺依曼体系六大核心特点
- 五大硬件部件组成计算机
- 指令与数据同等地位存放在存储器,统一按地址寻访
- 全部采用二进制表示指令、数据
- 指令格式:操作码(做什么运算)+ 地址码(操作数据存放地址)
- 存储程序:运行前将整套程序提前存入主存,自动逐条执行
- 传统结构以运算器为中心(现代改为存储器为中心)
第三章 主存储器(内存)详细结构
一、主存三大核心组件
- 存储体:海量存储元组成,存放二进制数据
- 存储元:1 个电子元件,存 1bit(0/1)
- 存储单元:一组存储元,存放 1 个存储字
- 存储字长:一个存储单元包含的二进制位数(8/16/32/64bit)
- MAR 存储器地址寄存器
- 功能:存放要访问的存储单元地址
- 位数 = 存储单元总数的二进制位数(4 位 MAR 对应 2⁴=16 个单元)
- MDR 存储器数据寄存器
- 功能:存放从主存读出 / 写入的数据
- 位数 = 存储字长
补充:MAR、MDR 逻辑归属主存,物理通常集成在 CPU 内
二、主存读写流程(菜鸟驿站类比记忆)
读操作(取数据)
- CPU 将目标地址送入 MAR
- 控制器发读信号,主存根据 MAR 地址找到存储单元
- 单元数据送入 MDR
- CPU 从 MDR 取出数据使用
写操作(存数据)
- 写入地址送入 MAR,待写入数据送入 MDR
- 控制器发写信号
- 将 MDR 数据写入 MAR 对应存储单元
三、关键单位区分(高频选择题)
- bit(小写 b,比特):1 位二进制,宽带单位 100Mb/s
- Byte(大写 B,字节):1Byte = 8bit,文件下载速度单位 MB/s
- 字 Word:存储单位,字长由硬件决定(16/32/64 位),不等于字节
第四章 CPU 内部结构:运算器 + 控制器
一、运算器(负责计算,核心 ALU)
组成部件
- ALU 算术逻辑单元:运算核心,硬件成本最高,实现算术 / 逻辑运算
- ACC 累加器:存放操作数、运算结果
- X 通用操作数寄存器:存放另一个操作数
- MQ 乘商寄存器:仅乘除运算使用,存放乘数、商、乘积低位
运算示例
Y=A×B+C
- 取 A 放入 ACC
- 取 B 放入 MQ,A 送入 X,ALU 相乘,结果存入 ACC
- 取 C 送入 X,ALU 相加,结果存入 ACC
- ACC 结果写入内存 Y 地址
二、控制器(指挥全机工作,核心 CU)
组成部件
- CU 控制单元:解析指令,发出硬件控制信号
- IR 指令寄存器:存放当前正在执行的指令
- PC 程序计数器:存下一条指令地址,取指后自动 + 1
三、单条指令执行三阶段(通用流程)
- 取指令
PC→MAR→主存读出指令→MDR→IR;PC 自动 + 1
- 分析指令
IR 内指令操作码送入 CU,CU 判断运算类型(加 / 乘 / 存数)
- 执行指令
CU 发送控制信号,调度运算器、主存完成对应操作
第五章 程序完整执行模拟(复习实操案例)
示例代码:Y = A × B + C
变量地址:A (5)、B (6)、C (7)、Y (8),程序指令存 0~4 号单元
完整执行步骤简化总结:
- PC 初始为 0,取出第一条取数指令,将内存 5 号 A=2 送入 ACC
- PC=1,取出乘法指令,取出 B=6,X=2、MQ=6,ALU 相乘 ACC=6
- PC=2,取出加法指令,取出 C=1 送入 X,ACC=6+1=7
- PC=3,取出存数指令,将 ACC=7 写入内存 8 号单元 Y
- PC=4,取出停机指令,程序结束
第六章 补充易混考点汇总
1. 主存 vs 辅存
- 主存(内存):主机组成部分,程序运行时调入,断电数据丢失
- 辅存(硬盘):属于 I/O 外设,长期存放程序,运行前载入主存,断电数据保留
2. 主机范围
主机 = CPU(运算器 + 控制器)+ 主存储器;硬盘、显示器不属于主机
3. 存储程序核心意义
无需人工手动接线切换指令,计算机可自动连续执行整套程序,是冯诺依曼架构最大突破(解决 ENIAC 人工操作低效问题)
4. 区分两类中心结构(必背)
- 老式冯诺依曼(EDVAC):运算器为中心
- 现代计算机:存储器为中心
5. ISA 指令集体系结构
软硬件之间的接口规范,规定 CPU 支持哪些指令,是体系结构课程核心内容。