1.1 计算机系统简介
一、计算机软硬件概念
1.计算机系统
硬件\(\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根据阶段的不同可以判断取出的是指令还是数据:
\[
取指阶段取出:指令\\
执行阶段取出:数据
\]