文章目录
1.1 计算机系统简介
一、计算机软硬件概念
1.计算机系统
- 硬件
→
\to
→计算机实体
- 主机
- 外设
- ……
- 软件
→
\to
→由具有各类特殊功能的信息(程序)组成
- 系统软件
→
\to
→用来管理整个计算机系统
- 语言处理程序
- 操作系统
- 服务性程序
- 数据库管理系统
- 网络软件
- ……
- 应用软件 → \to →按任务需要编制成的各种程序
- 系统软件
→
\to
→用来管理整个计算机系统
二、计算机系统的层次结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-apGj59Jf-1583478946183)(https://raw.githubusercontent.com/Thooooor/NoteImg/master/image-20200304152829204.png)]
三、计算机体系结构和计算机组成
1. 计算机体系结构
计算机系统的属性,概念性的结构与功能特性 → \to →可见的
- 指令系统
- 数据类型
- 寻址技术
- I/O机理
2.计算机组成
实现计算机体系结构所体现的属性
- 具体指令的实现
1.2计算机的基本组成
一、冯·诺依曼计算机的特点
-
计算机由五大部件组成
-
运算器:算术运算+逻辑运算
-
控制器:指挥控制程序运行
-
存储器:存放数据和程序
-
输入设备:将信息转换成机器能识别的信息
-
输出设备:将结果转化为人们熟悉的形式
-
-
指令和数据以同等地位存于存储器,可按地址寻访
-
指令和数据用二进制表示
-
指令由操作码和地址码组成
-
存储程序
-
以运算器为中心
冯·诺依曼计算机硬件框图

二.计算机硬件框图
-
以存储器为中心的计算机硬件框图
-
现代计算机硬件框图

三.计算机的工作步骤
1.上机前的准备
- 建立数学模型
- 确定计算方法
- 编制解题程序
- 程序——运算的全部步骤
- 指令——每一个步骤
指令格式:操作码+地址码
2.计算机的解题过程
(1) 存储器的基本组成

-
存储体 → \to → 存储单元 → \to → 存储元件 (0/1)
- 存储元件:用来存放一位二进制信息
- 存储单元: 存放一串二进制代码(字长)
- 存储体:许多个存储单元可组成存储矩阵
- 存储字:存储单元中二进制代码的组合,可表示
- 数值
- 指令
- 地址
- 逻辑数……
- 存储字长: 每个存储单元中二进制代码的位数
- 按地址寻访
-
MAR 存储器地址寄存器 (A-Address)
- 反应存储单元的个数
- 存 储 单 元 个 数 = 2 MAR位数 存储单元个数=2^\text{MAR位数} 存储单元个数=2MAR位数
-
MDR 存储器数据寄存器(D-Data)
- 反应存储字长
- 存 储 字 长 = M D R 位 数 存储字长=MDR位数 存储字长=MDR位数
(2)运算器的基本组成及操作过程
基本组成

操作过程
ACC | MQ | X | |
---|---|---|---|
加法 | 被加数&和 | 加数 | |
减法 | 被减数&差 | 减数 | |
乘法 | 乘积高位 | 乘数&乘积低位 | 被乘数 |
除法 | 被除数&余数 | 商 | 除数 |
-
加法操作过程
-
减法操作过程
-
乘法操作过程
-
除法操作过程

(3)控制器基本组成

-
PC——程序计数器
- 存放当前欲执行指令的地址
- 具有计数功能
- ( P C ) + 1 → P C (PC)+1\to PC (PC)+1→PC
-
IR——指令寄存器
- 存放当前欲执行的指令
-
功能
- 解释指令
- 保证指令的按序执行
(4)主机完成一条指令的过程
完成一条指令 { 取指令——PC 分析指令——IR 执行指令——CU \text{完成一条指令} \begin{cases} \text{取指令——PC}\\ \text{分析指令——IR}\\ \text{执行指令——CU}\\ \end{cases} 完成一条指令⎩⎪⎨⎪⎧取指令——PC分析指令——IR执行指令——CU
取数指令

- 取指令1-4
- 指令地址从PC放入MAR
- 指令地址由MAR送至存储体
- 指令被存储体送入MDR
- 指令由MDR送至IR
- 分析指令5
- 指令由IR送至CU进行分析
- 执行指令6-9
- 数据地址由IR传到MAR
- 数据被存储体送到MDR
- 数据被MDR送到ACC
存数指令(执行指令不同)

(5) a x 2 + b x + c ax^2+bx+c ax2+bx+c 程序的运行过程
-
将程序通过输入设备送至计算机
-
程序首地址** → \to →PC**
-
启动程序运行
-
取指令 PC → \to →MAR → \to →M → \to →MDR → \to →IR, (PC) + 1 → \to →PC
-
分析指令OP(IR) → \to →CU
-
执行指令Ad(IR) → \to →MAR → \to →M → \to →MDR → \to →ACC
……
-
打印结果
-
停机
1.3 计算机硬件的主要技术指标
- 机器字长
→
\to
→CPU一次能处理数据的位数
- 通常与CPU的寄存器位数有关
- 运算速度
- 主频
- 核数 → \to → 每个核支持的线程数
- 吉普森法 → \to → T M = ∑ i = 1 n f i t i T_M=\sum_{i=1}^{n}f_it_i TM=∑i=1nfiti
- CPI $\to $ 执行一条指令所需时钟周期数(平均值)
- MIPS $\to $ 每秒执行百万条指令(还取决于指令复杂程度)
- FLOPS → \to → 每秒浮点运算次数
- 存储容量
→
\to
→存放二进制信息的总位数
- 主存容量
- 存储单元个数×存储字长
- MAR10,MDR8 → \to → 1K×8位
- MAR16,MDR32 → \to → 64K×32位
- 1 K = 2 10 1K=2^\text{10} 1K=210
- 字节数
- 2 13 b = 1 K B 2^\text{13}b=1KB 213b=1KB
- 2 21 b = 256 K B 2^\text{21}b=256KB 221b=256KB
- 存储单元个数×存储字长
- 辅存容量
- 字节数 1 G B = 2 30 b 1GB=2^\text{30}b 1GB=230b
- 主存容量
疑难点
-
三个字长
字长 定义 存储字长 每个存储单元中二进制代码的位数 机器字长 CPU一次能处理数据的位数 与CPU的寄存器位数有关 指令字长 一条指令的位数(操作码+地址码) 与指令寄存器位数有关 -
如何区分存放在存储器中的指令和数据
完成一条指令有三个步骤 { 取指令 分析指令 执行指令 \begin{cases}\text{取指令}\\\text{分析指令}\\\text{执行指令} \end{cases} ⎩⎪⎨⎪⎧取指令分析指令执行指令,其中需要两次访问内存,可依此分为两个阶段:取指阶段 { 取指令 分析指令 \begin{cases}\text{取指令}\\\text{分析指令}\end{cases} {取指令分析指令取出指令、执行阶段 { 执行指令 \begin{cases}\text{执行指令}\end{cases} {执行指令取出操作数,CPU根据阶段的不同可以判断取出的是指令还是数据:
取 指 阶 段 取 出 : 指 令 执 行 阶 段 取 出 : 数 据 取指阶段取出:指令\\ 执行阶段取出:数据 取指阶段取出:指令执行阶段取出:数据