计算机组成原理学习笔记 - 第一、二章

  • 概论
  • 运算方法和运算器

第 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) 控制下,数据从一个过程段流向相邻的过程段。

线性流水线的时钟周期和频率计算

例题

例:线性流水线的计算 例:运算流水线的时空图

作者

xqmmcqs

发布于

2022-06-08

更新于

2023-03-29

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×