计算机组成原理学习笔记 - 第一、二章
- 概论
- 运算方法和运算器
第 1 章 计算机系统概论
计算机的分类:按应用
计算机的性能指标
吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量。
响应时间:表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量
利用率:在给定的时间间隔内系统被实际使用的时间所占的比率,用百分比表示。
处理机字长:指处理机运算器中一次能够完成二进制数运算的位数,如 32 位、64 位。
总线宽度:一般指 CPU 中运算器与存储器之间进行互连的内部总线二进制位数
存储器容量:存储器中所有存储单元的总数目,通常用 KB、MB、GB、TB 来表示。
存储器带宽:单位时间内从存储器读出的二进制数信息量,一般用字节数/秒表示。
主频/时钟周期:CPU 的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率 (\(f\)) 叫 CPU 的主频。度量单位是 MHz(兆赫兹)、GHz(吉赫兹)。主频的倒数称为 CPU 时钟周期 (\(T\)),\(T=1/f\),度量单位是 us、ns。
重点
CPU 执行时间表示 CPU 执行一般程序所占用的 CPU 时间,可用下式计算:
CPI表示每条指令周期数,即执行一条指令所需的平均时钟周期数。用下式计算
MIPS(Million Instructions Per Second) 的缩写,表示平均每秒执行多少百万条定点指令数,用下式计算
FLOPS(Floating-point Operations Per Second) 的缩写,表示每秒执行浮点操作的次数,用来衡量机器浮点操作的性能。用下式计算:
例题
例:计算机性能指标计算
重点
冯诺依曼结构
区分指令和数据:一般来讲,取指周期中从内存读出的信息流是指令流,它流向控制器;而在执行周期中从内存读出的信息流是数据流,它由内存流向运算器。
重点
多级组成的计算机系统
第 1 级是微程序设计级或逻辑电路级。这是一个实在的硬件级,由硬件直接执行。 第 2 级是一般机器级,也称为机器语言级,它由微程序解释机器指令系统。这一级也是硬件级。 第 3 级是操作系统级,它由操作系统程序实现。这些操作系统由机器指令和广义指令组成,广义指令是操作系统定义和解释的软件指令,所以这一级也称为混合级。 第 4 级是汇编语言级,它给程序人员提供一种符号形式语言,以减少程序编写的复杂性。这一级由汇编程序支持和执行。 第 5 级是高级语言级,它是面向用户的,为方便用户编写应用程序而设置的。这一级由各种高级语言编译程序支持和执行。
第 2 章 运算方法和运算器
数据与文字的表示方法
数据格式
定点数:
如果数\(x\)表示的是纯小数,那么小数点位于\(x_n\)和\(x_{n-1}\)之间。\(0\leq |x|\leq 1-2^{-n}\) 如果数\(x\)表示的是纯整数,那么小数点位于最低位\(x_0\)的右边。\(0\leq|x|\leq 2^n-1\)
重点
浮点数 \[ N=2^e.M \] 其中\(M\)称为浮点数的尾数,是一个纯小数。\(e\)是比例因子的指数,称为浮点数的指数,是个整数。比例因子的基数 2 对二进记数制的机器是一个常数。
十进制数串的表示:字符串形式,即 1 字节存放一个十进制的数位或符号位。
数的机器码表示
真值/机器码:为了区别一般书写表示的数和机器中这些编码表示的数,通常将前者称为真值,后者称为机器数或机器码。
重点
原码 逻辑定义:在数值前面增加一个符号位,该位为 0 表示正数,该位为 1 表示负数
补码
反码 逻辑定义:正数的反码为其本身;负数的反码等于把其相反数的各个二进制位取反
补码和反码的关系
通过补码求原码
求补码的相反数
移码
例题
例:原码、反码、补码的范围 例:定点原码的范围
机器零
重点
浮点数的规格化
IEEE754
例题
例:规格化浮点数的范围
汉字的表示方法*
汉字输入码(外码)/汉字输出码
校验码*
奇校验位/偶校验位
定点加法、减法运算
重点
溢出检测
行波进位补码加法/减法器
定点乘法运算
手算乘法
不带符号的阵列乘法器
带符号的阵列乘法器
例题
例:原码阵列乘法器计算乘积 例:补码阵列乘法器计算乘积 与原码乘法器相比,只是输入和输出用补码表示
定点除法运算
手算除法
并行除法器
例题
例:加减交替法计算除法
定点运算器的组成
多功能算术/逻辑运算单元
ALU
当 M=0 时,M 对进位信号没有任何影响。此时\(F_i\)不仅与本位的被操作数\(Y_i\)和操作数\(X_i\)有关,而且与向本位的进位值\(C_{n+i}\)有关,因此 M=0 时,进行算术操作。 当 M=1 时,封锁了各位的进位输出,即\(C{n+i}=0\),因此各位的运算结果\(F_i\)仅与\(Y_i\),和\(X_i\)有关,故 M=1 时,进行逻辑操作
重点
组内并行
组间并行
其中 G 称为进位发生输出, P 称为进位传送输出。在电路中多加这两个进位输出的目的,是为了便于实现多片(组)ALU 之间的先行进位
成组先行进位部件 CLA
重点
成组先行进位
G 称为成组进位发生输出,P 称为成组进位传送输出。
内部总线
内部总线是指 CPU 内各部件的连线,而外部总线是指系统总线,即 CPU 与存储器、I/O 系统之间的连线。
单向/双向总线 所谓单向总线,就是信息只能向一个方向传送。所谓双向总线,就是信息可以向两个方向传送,既可以发送数据,也可以接收数据。
浮点运算方法和浮点运算器
浮点加法、减法运算
浮点加减法
重点
浮点加减法的步骤 完成浮点加减运算的操作过程大体分为四步:第一步,0 操作数检查;第二步,比较阶码大小并完成对阶;第三步,尾数进行加或减运算;第四步,结果规格化并进行舍入处理。
- 对阶
- 结果规格化
- 舍入
- 溢出
例题
例:浮点数加减法
浮点乘法、除法运算
浮点乘除法
重点
浮点乘除法的步骤 浮点数的乘除运算大体分为六步:第一步,0 操作数检査,如果被除数\(x\)为 0,则商为 0,如果除数为 0,则商为\(\infty\);第二步,阶码加/操作;第三步,尾数乘除操作;第四步结果规格化;第五步,舍入处理;第六步,确定积的符号。
例题
例:浮点数乘除法
浮点运算流水线
重点
线性流水线 假设作业\(T\)被分成\(k\)个子任务,可表达为
各个子任务之间有一定的优先关系:若\(i<j\),则必须在\(T_i\)完成以后,\(T_j\)オ能开始工作。具有这种线性优先关系的流水线称为线性流水线。
处理一个子任务的过程为过程段 (\(S_i\))。线性流水线由一系列串联的过程段组成,各个过程之间设有高速的缓冲寄存器 (L),以暂时保存上一过程子任务处理的结果。在一个统一的时钟 (C) 控制下,数据从一个过程段流向相邻的过程段。
例题
例:线性流水线的计算 例:运算流水线的时空图
计算机组成原理学习笔记 - 第一、二章