1.1 计算机系统简介
一、计算机软硬件概念
1.计算机系统
- 硬件\(\to\)计算机实体
- 主机
- 外设
- ……
- 软件\(\to\)由具有各类特殊功能的信息(程序)组成
- 系统软件\(\to\)用来管理整个计算机系统
- 语言处理程序
- 操作系统
- 服务性程序
- 数据库管理系统
- 网络软件
- ……
- 应用软件\(\to\)按任务需要编制成的各种程序
- 系统软件\(\to\)用来管理整个计算机系统
二、计算机系统的层次结构
三、计算机体系结构和计算机组成
1. 计算机体系结构
计算机系统的属性,概念性的结构与功能特性\(\to\)可见的
- 指令系统
- 数据类型
- 寻址技术
- I/O机理
2.计算机组成
实现计算机体系结构所体现的属性
- 具体指令的实现
1.2计算机的基本组成
一、冯·诺依曼计算机的特点
计算机由五大部件组成
运算器:算术运算+逻辑运算
控制器:指挥控制程序运行
存储器:存放数据和程序
输入设备:将信息转换成机器能识别的信息
输出设备:将结果转化为人们熟悉的形式
指令和数据以同等地位存于存储器,可按地址寻访
指令和数据用二进制表示
指令由操作码和地址码组成
存储程序
以运算器为中心
冯·诺依曼计算机硬件框图
二.计算机硬件框图
以存储器为中心的计算机硬件框图
现代计算机硬件框图
\[ \left. \begin{array}{1} \text{$ \left. \begin{array}{1} \text{$ \left. \begin{array} \text{运算器 ALU}\\ \text{控制器 CU} \end{array} \right\}$ CPU}\\ \text{存储器$ \begin{cases} \text{主存}\\ \text{辅存} \end{cases} $} \end{array} \right\} 主机 $}\\ \text{$ \left. \begin{array}{1} \text{输入设备}\\ \text{输出设备} \end{array} \right\} I/O设备 $} \end{array} \right\} 硬件 \]
三.计算机的工作步骤
1.上机前的准备
- 建立数学模型
- 确定计算方法
- 编制解题程序
- 程序——运算的全部步骤
- 指令——每一个步骤
指令格式:操作码+地址码
2.计算机的解题过程
(1) 存储器的基本组成
存储体 \(\to\) 存储单元 \(\to\) 存储元件 (0/1)
- 存储元件:用来存放一位二进制信息
- 存储单元: 存放一串二进制代码(字长)
- 存储体:许多个存储单元可组成存储矩阵
- 存储字:存储单元中二进制代码的组合,可表示
- 数值
- 指令
- 地址
- 逻辑数……
- 存储字长: 每个存储单元中二进制代码的位数
- 按地址寻访
MAR 存储器地址寄存器 (A-Address)
- 反应存储单元的个数
- \(存储单元个数=2^\text{MAR位数}\)
MDR 存储器数据寄存器(D-Data)
- 反应存储字长
- \(存储字长=MDR位数\)
(2)运算器的基本组成及操作过程
基本组成
操作过程
ACC | MQ | X | |
---|---|---|---|
加法 | 被加数&和 | 加数 | |
减法 | 被减数&差 | 减数 | |
乘法 | 乘积高位 | 乘数&乘积低位 | 被乘数 |
除法 | 被除数&余数 | 商 | 除数 |
加法操作过程
减法操作过程
乘法操作过程
除法操作过程
(3)控制器基本组成
- PC——程序计数器
- 存放当前欲执行指令的地址
- 具有计数功能
- \((PC)+1\to PC\)
- IR——指令寄存器
- 存放当前欲执行的指令
- 功能
- 解释指令
- 保证指令的按序执行
(4)主机完成一条指令的过程
\[ \text{完成一条指令} \begin{cases} \text{取指令——PC}\\ \text{分析指令——IR}\\ \text{执行指令——CU}\\ \end{cases} \]
取数指令
- 取指令1-4
- 指令地址从PC放入MAR
- 指令地址由MAR送至存储体
- 指令被存储体送入MDR
- 指令由MDR送至IR
- 分析指令5
- 指令由IR送至CU进行分析
- 执行指令6-9
- 数据地址由IR传到MAR
- 数据被存储体送到MDR
- 数据被MDR送到ACC
存数指令(执行指令不同)
(5) \(ax^2+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=\sum_{i=1}^{n}f_it_i\)
- CPI $\to $ 执行一条指令所需时钟周期数(平均值)
- MIPS $\to $ 每秒执行百万条指令(还取决于指令复杂程度)
- FLOPS \(\to\) 每秒浮点运算次数
- 存储容量\(\to\)存放二进制信息的总位数
- 主存容量
- 存储单元个数×存储字长
- MAR10,MDR8\(\to\) 1K×8位
- MAR16,MDR32\(\to\) 64K×32位
- \(1K=2^\text{10}\)
- 字节数
- \(2^\text{13}b=1KB\)
- \(2^\text{21}b=256KB\)
- 存储单元个数×存储字长
- 辅存容量
- 字节数\(1GB=2^\text{30}b\)
- 主存容量
疑难点
三个字长
字长 定义 存储字长 每个存储单元中二进制代码的位数 机器字长 CPU一次能处理数据的位数 与CPU的寄存器位数有关 指令字长 一条指令的位数(操作码+地址码) 与指令寄存器位数有关 如何区分存放在存储器中的指令和数据
完成一条指令有三个步骤\(\begin{cases}\text{取指令}\\\text{分析指令}\\\text{执行指令} \end{cases}\),其中需要两次访问内存,可依此分为两个阶段:取指阶段\(\begin{cases}\text{取指令}\\\text{分析指令}\end{cases}\)取出指令、执行阶段\(\begin{cases}\text{执行指令}\end{cases}\)取出操作数,CPU根据阶段的不同可以判断取出的是指令还是数据:
\[ 取指阶段取出:指令\\ 执行阶段取出:数据 \]