0%

计算机组成原理

计算机组成原理

1. 计算机组成原理

1.1 计算机组成原理概述

1.1.1 软硬件发展

机器字长:计算机一次整数运算所能处理的二进制位数

操作系统位数:其所依赖的指令集的位数

CPU:运算器+控制器

存储器+控制器+运算器

层次结构

虚拟机器 M4 高级语言机器
虚拟机器 M3 汇编语言机器
虚拟机器 M2 操作系统机器
传统机器 M1 机器语言机器
微程序机器 M0 微指令系统

存储器

存储器:MAR(地址寄存器)—>存储体<—>MDR(数据寄存器)
译码器:n位地址—>2^n 个存储单元
最大容量:2^n 存储字长
实际容量:存储单元个数
存储字长 bit

CPI 执行一条指令所需的时钟周期数
指令耗时: CPI x CPU时钟周期
MIPS 每秒可以执行多少百万条指令

数据通路带宽:数据总线一次所能并行传送信息的位数
吞吐量:系统在单位时间内处理请求的数量
响应时间:用户向计算机发出请求,到系统对该请求做出响应并获得它所需要的结果的等待时间

2. 进位计数法

2.1 BCD 码

BCD 码:4位二进制数表示1位十进制数,使二进制与十进制之间的转换得以快捷的进行。

8421码

0 1 2 3 4 5 6 7 8 9
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

5+8=13
0101+1000=1101, 1101+0110=0001 0011=13(加6强行进制)

余3码

0 1 2 3 4 5 6 7 8 9
0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

2421码

0 1 2 3 4 5 6 7 8 9
0000 0001 0010 0011 0100 1011 1100 1101 1110 1111

大端模式:存储单元内先存储高位字节、后存储低位字节的顺序
小端模式:存储单元内先存储低位字节、后存储高位字节的顺序

字符串:ABCDEFGH

大端模式:

A B C D
E F G H

小端模式:

D C B A
H G F E

2.2 校验

码距:两个合法码字对应位上数字的不同位的个数

奇偶校验码:保证一段数据中出现奇数/偶数个1

海明码:k+n 位

循环冗余校验码 CRC:K+R位,模2余法,余数

[X]补 —> [-X] 补 连同符号位一起取反加1

补码: 正负数的相加,-2^n ~ 2^n-1, -1~ 1-2^-n
-2^n:1,0000, -1:1,0000

移码:符号位取反的补码,为了保证浮点数的机器0为全0,易于比较大小

2.3 符号数

2.3.1 溢出

设A的符号位是A_s,B的符号位是B_s,结果的符号位是V_s, V=A_s B_s ~V_s+~(A_s B_s)V_s
如果V=0,表示无溢出,如果V=1,表示有溢出。

双符号位:00表示正,11表示负,低位符号位参与移位,高位符号位表示符号

2.3.2 乘法

原码一位乘法:ACC, MQ:数值位 加法+右移,符号位:亦或
补码一位乘法:Booth算法

2.3.3 强制类型转换

有符号数<—>无符号数:不改变数据内容,改变解释方式
长位—>短位:高位截断,保留低位
短—>长: 符号扩展(负数补1,正数补0)

2.3.4 除法

原码不恢复余数法:
被除数减去除数 |x|+[-| y |]_补,若结果为正,商1,左移,再减去除数;若结果为负,商0,左移,再加上除数。若最终余数为负,需恢复余数。

补码加减交替法:被除数和除数同号,则被除数减去除数;异号则被除数加上除数。余数和除数同号,商1,余数左移1位减去除数;余数和除数异号,商0,余数左移1位加上除数,重复n次。商末位恒置1.

2.4 浮点数

阶码:常用补码或者移码表示
尾数:常用原码或者补码表示

规格化浮点数: 1/2<=|M|<=1,移码+原码,隐藏1

int->float:可能损失精度
float->int:可能溢出以及损失精度

2.5 基本逻辑符号

运算器:

MQ
ACC
ALU
X
PSW

2.5.1 加法器

一位全加器:

Ai, B_i, C{i-1} —> S_i, C_i

Si: 输入中有奇数个1 (异或)
C_i=(A+B)C
{i-1}+AB: A和B中有一个1且C为1 或者 A和B都为1 才产生进位

串行加法器:只有一个全加器,逐位进行计算
并行加法器:串行进位的并行加法器、并行进位的并行加法器、4位CLA加法器(单级先行进位方式、多级先行进位方式)

3. 存储系统

存储器和CPU的协同工作:

  1. 存储器的简单模型以及寻址的概念
  2. 主存与CPU的连接
  3. 双口RAM和多模块存储器
  4. 高速缓冲存储器
  5. 虚拟存储器

半导体存储器:

  1. 静态SRAM、动态DRAM的工作原理

3.1 存储系统

层次化结构:CPU—Cache—主存—辅存

3.2 半导体存储芯片

地址线— 译码驱动—存储矩阵—读写电路—数据线
片选线—读写控制线

地址线:单向,10位
数据线:双向,4位。2^10*4位
片选线:选择芯片

易失性:静态SRAM和动态DRAM

DRAM的刷新:

RAM 读写周期:地址线—片选线—数据线

只读ROM:

3.3 主存连接原理

总容量 1KB

按字节寻址:1K个单元,每个单元1B
按字寻址:256个单元,每个单元4B
按半字寻址:512个单元,每个单元2B
按双字寻址:128个单元,每个单元8B

主存容量扩展—位扩展(8个1Kx1位—>1Kx8位)、字扩展(译码器:8个1Kx8位—>8Kx8位)

3.4 双口RAM和多模块存储器

存储器加快读写时间

双口RAM:空间并行
多模块存储器:时间并行,多体并行存储器,流水线

3.5 高速缓冲存储器

高速缓冲存储器:组相联映射:按号分组,组内随意放,某一主存块j按模Q映射到缓存的第i组的任意一块

地址: 主存字块标记,组地址,字块内地址

替换算法: 近期最少使用算法(LRU), 最不经常使用算法(LFU)

写策略:写回法+写分配法、全写法+非写分配法

3.6 虚拟存储器

段页式虚拟存储器:段号+段内页号+页内地址

4. 指令系统

指令格式
指令的寻址方式
CISC和RISC

4.1 指令格式

指令基本格式
地址码的个数
定长操作码和扩展操作码
操作类型

指令基本格式

指令格式:操作码字段(OP), 地址码字段(A)

地址码字段(A):四地址指令,三地址指令,二地址指令,一地址指令,零地址指令

扩展操作码

15条四地址指令:xxxx,xxxx,xxxx,xxxx,xxxx
15条三地址指令:1111,xxxx,xxxx,xxxx,xxxx
15条二地址指令:1111,1111,xxxx,xxxx,xxxx
15条一地址指令:1111,1111,1111,xxxx,xxxx
16条零地址指令:1111,1111,1111,1111,xxxx

操作类型

转移操作:陷阱与陷阱指令

4.2 寻址方式

寻址方式:

  1. 指令寻址
  2. 数据寻址

指令寻址

程序计数器PC给出:PC+1
转移指令:跳跃寻址

数据寻址

寻址特征+形式地址:直接寻址、间接寻址、寄存器寻址(R)、偏移寻址、堆栈寻址

偏移寻址:基址寻址(基址寄存器)、变址寻址(变址寄存器)、相对寻址(程序计数器)

4.3 CISC和RISC

CISC:一条指令完成一个复杂的基本功能,x86
RISC:一条指令完成一个基本功能,ARM,手机、平板

5. 中央处理器

CPU的功能和结构
指令执行过程
数据通路的功能和基本结构
控制器的功能和工作原理
指令流水线

5.1 CPU的功能和结构

CPU=运算器+控制器

控制器的功能:取指令,分析指令,执行指令,中断处理
运算器:算术逻辑单元、通用寄存器组、暂存寄存器(主存的数据)

5.2 指令执行过程

时钟周期:
机器周期:若干个时钟周期
指令周期:若干个机器周期,取指周期+间址周期+执行周期+中断周期

数据流:数据总线+地址总线+控制总线

指令执行方案:流水线方案

5.3 数据通路的功能和基本结构

数据通路:数据在功能部件之间传送的路径
系统总线、内部总线

CPU内部单总线
CPU内部多总线
专用数据通路方式

主存数据寄存器MDR、主存地址寄存器MAR、程序寄存器PC、指令分析器IR、累加寄存器ACC

5.4 控制器的功能和工作原理

控制器的功能:

从主存中取出一条指令
对指令进行译码
指挥并控制CPU、主存等设备之间的数据流动方向

CU的设计:硬布线、微程序 ROM

CPU控制方式:同步控制方式、异步控制方式
一条机器指令对应一个微程序
微程序:ROM、微指令,下地址

IF:取址
ID:译码
EX:执行
M:数据
WB:写回

影响流水线的因素:结构相关、数据相关、控制相关

6. 总线

总线概述
总线仲裁
总线操作与定时
总线标准

6.1 总线概述

总线:一组能为多个部件时共享的公共信息传送线路

总线:片内总线、系统总线、通信总线

系统总线:单总线(系统总线)、双总线(I/O总线)、三总线(I/O总线,DMA总线)、四总线(桥,CPU总线、系统总线、高速总线、扩充总线)

总线仲裁:集中仲裁方式

即插即用、热插拔

7. 输入输出系统

接口—端口

DMA