[课堂小笔记] 计算机组成与结构

时间:2024-03-09 12:21:27

第二章 计算机的逻辑部件 / 加法器

> 第二/三节课 20200218/20

一、逻辑电路分类

1、组合逻辑电路

(非门的第二个图方框连接F处少了个圈)

2、时序逻辑电路

3、阵列逻辑电路

二、半加器

定义:不考虑进位的一位加法器。

输入:Xn, Yn,输出:Hn,逻辑函数:

三、一位全加器

定义:考虑进位的一位加法器

输入:Xn, Yn, Cn-1,输出:Fn, Cn,

逻辑函数:

四、串行进位全加器

五、超前进位加法器

 

 

第三章 运算方法和运算部件

> 第四节课 20200224 数的表示和转换

> 第五/六节课 20200225/27 带符号数的表示和转换

> 第七节课 20200302 定点数一位乘法

一、定点原码一位乘法

二、定点补码一位乘法

布斯公式

> 第八节课 20200303 定点数一位除法

略。

> 第九节课 20200305 浮点数运算

浮点数表示方法:N = M * 2 ^ E,M为尾数,一般为原码或补码;E为阶数,一般为移码或者补码。

移码是一种表示带符号数的编码。性质:

1、[X]移 = 2 ^ n + [X]补,即补码的符号位取反;

2、[X + Y]移 = 2 ^ n + [X]移 + [Y]移。

浮点数的加减法运算步骤:

1、对阶

2、尾数相加减

3、规格化

4、舍入

5、检查阶码是否溢出

 

> 第十节课 20200309/10 数据校验码

数据校验码:是指针对传输数据,具有发现其中错误或自动改正错误的编码及其编码方法。

奇偶校验码:是一种通过增加冗余位使得码字中"1"的个数恒为奇数或偶数的编码方法,它是一种检错码。

海明校验码:

*特指能够纠正一位错误并且发现2位错误的海明校验码

 

第五章 指令系统

> 第十二节课 20200312 指令系统

指令组成:操作码 + 地址码;

分类:零地址指令,一地址指令,二地址指令,多地址指令。

① 零地址指令:OP;无需操作数(NOP, HLT)或默认操作数(PUSH, GET);

② 一地址指令:OP A;

③ 二地址指令:OP A1, A2;

④ 多地址指令。

寻址:参见https://www.cnblogs.com/jinkun113/p/12343867.html

RISC和CISC:RISC = Reduced Instruction Set Computer,精简指令集计算机。

 

第六章 *处理器

> 第十五节课 20200319 控制器的组成

一、控制器的组成

1、控制器的组成

① 程序计数器:存放下一条指令地址;

② 指令寄存器:存放当前执行的指令(现在多使用指令队列,即多个指令寄存器)

③ 指令译码器; ④ 脉冲及启停线路; ⑤ 时序控制信号形成部件。

2、指令执行过程

典型的控制器实现方案:① 微程序控制器; ② 组合逻辑控制器。

指令细分(以加法为例)

“取指” -> "计算操作数地址" -> "取操作数" -> "加操作和送结果"

① 取指:从存储器取出指令送入指令寄存器,程序计数器+1;

PC→AB:指令地址送地址总线
M/-IO=1; W/-R=0:读出存储器内容放到数据总线上
DB→IR:将数据总线内容送指令寄存器
PC+1:程序计数器+1,为下一条指令取指做准备

② 计算操作数地址:在ALU中计算,并送入地址寄存器;

rs1→GR; (rs1)→ALU:rs1寄存器内容送ALU
disp→ALU:偏移量内容送ALU
+:向ALU发出加操作命令
ALU →AR:有效地址送地址寄存器

③ 取操作数:到存储器中取操作数;

AR→AB:地址寄存器内容送地址总线
M/-IO=1; W/-R=0:读出存储器内容放到数据总线上
DB→DR:将数据总线内容送数据寄存器

④ 加操作和送结果:执行加法运算,将求和结果送给指定寄存器;并根据运算结果设置标志位;

rs→GR; (rs)→ALU:rs寄存器内容送ALU
DR→ALU:数据寄存器内容送ALU
+:向ALU发出加操作命令
rd→GR; ALU →rd:ALU结果送rd寄存器,并设置标志位

 

> 第十六节课 20200323 微程序

二、微程序控制器工作原理

1、基本概念

机器指令功能分解成若干个微操作(微命令),每个微操作对应一个或若干个控制信号

每一组微操作的编码结果叫做微指令,每条微指令由一个或若干个微操作构成。

每一条机器指令对应一段由多条微指令构成微程序

(已经不认识微字)

2、工作原理

用微指令的控制命令字段,来提供一条机器指令的一个执行步骤所需要的控制信号;

用微指令的下地址字段,来指令下一条微指令的地址。

3、构成

① 程序计数器; ② 指令寄存器; ③ 控制存储器; ④ 下址形成逻辑; ⑤ 微指令寄存器。

三、微程序设计技术

如何缩短微指令字长,减少微程序程度,提高微程序执行速度?

1、微指令控制字段编译方法

① 直接控制法; ② 字段直接编译法; ③ 字段间接编译法; ④ 常数源字段E。

2、后继微指令地址的形成方式

① 指令操作码译码产生(主要体现在取指中);

② 由微指令下址字段产生:I. 增量与下址字段相结合;II. 多路转移方式;III. 微中断方式。

3、微指令格式

① 水平型微指令:1①②③;

② 垂直型微指令:设置操作码字段,控制信号由操作码字段译码产生。特点:不强调并行控制能力,执行速度慢。长度短,易于掌握。

 

> 第十七节课 20200324 组合逻辑控制器工作原理

四、组合逻辑控制器工作原理

1、构成

① 程序计数器; ② 指令寄存器; ③ 脉冲源、启停控制逻辑,节拍发生器; ④ 时序控制信号产生部件。

2、组合逻辑控制器和微程序的区别

 

> 第十八节课 20200326 并行计算技术

五、并行计算技术

1、概述

并行计算指同时使用多种计算资源通过相互协作解决计算问题的过程。

提高运算任务重各个层次的并行性强化系统性能始终是CPU技术发展的主线。它们有:

① 位级并行:通过提高数据总线DB宽度实现;

② 指令级并行:通过流水线技术和超标量技术实现;

③ 数据级并行:通过SIMD(单指令多数据流)技术实现;

④ 线程级并行:通过超线程技术实现;软硬件结合,需要CPU,芯片组,编译程序和OS的支持;

⑤ 任务级并行:通过多任务OS实现;软件技术;

> 表现形式

① 时间重叠技术:典型如流水线技术;

② 空间重叠技术:重复设置硬件资源,典型如超标量技术,多处理机技术;

③ 资源共享技术:典型如超现成技术,分时系统。

2、流水线技术

流水线,超流水线,超标量流水线:

 

> 影响效率的因素——相关

数据相关:当前指令执行依赖之前指令的结果;写后读,读后写,写后写;

控制相关:分支指令或其他需要改写程序计数器指向的指令;

结构相关:发生硬件资源冲突。

> 流水线性能的技术指标

吞吐率Tp:单位时间完成指令数;

加速比S:串行完成时间与流水线完成时间比;

利用率(效率):每个流水线功能部件平均使用率。

> 阿姆达尔定律

Td为不可改进部分执行时间;

Te1为可改进部分改进前执行时间,Te2为改进后;

Tk为流水线方式完成总时间,Tk = Te2 + Td;T0为串行方式完成总时间,T0 = Te1 + Td;

Se为可改进部件加速比,Se = Te1 / Te2,Fe为可改进部件改进比,Fe = Te1 / T0。

则系统的加速比为:S = T0 / Tk = 1 / (1 - Fe + Fe / Se)

3、单指令多数据流SIMD技术

一个控制器控制多个运算器,同时对一组数据执行相同操作。

4、超线程技术

把一个物理芯片模拟成两个逻辑内核,使CPU能进行线程级并行计算,进而兼容多线程OS和软件,较少CPU闲置时间,提高运行效率。

5、乱序执行技术

允许多条指令不按规定的顺序分开发送给各相应电路单元处理的技术。

【例题】

解答:先明确之间的关系:计算8个浮点数的和,总共需要相加7次;对于每一次浮点加法,都需要3个步骤(流水段)。

首先我们将7次相加分别进行如下标记:

B1必须在A1和A2后执行,其他同理;对阶、尾数相加、规格化必须依次执行,故:

总共需要12T。

吞吐率:Tp = 7 / 12T;加速比:S = 12T / 21T = 3 / 7;效率: