第二章 计算机组成与体系结构
第二章
2.01 计算机组成与体系前言
- 数据的表示 进制(存储、网络ip的计算)
- 计算机结构 (基本特性,做什么用)
- Flynn分类法 (对计算机进行分类的方法)
- CISC与RISC 计算机的指令集(特点)
- 流水线技术 (计算方面问题)
- 存储系统 概念、计算
- 总线系统 分类、概念
- 可靠性 串联、并联、串并混合的计算
- 校验码 作用、常见种类(CRC、海明)、运算
2.02 数据的表示(不同进制转换问题)
R进制转十进制使用按权展开法,其具体操作方式为:将R进制数的每一位数值用$R^k$形式表示,即幂的底数是R,指数为k,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1。
十进制转R进制使用短除法
二进制转八进制与十六进制数,一位八进制对应三位二进制,一位十六进制对应四位二进制。十六进制中,A表示10,B表示11…F表示15。
八进制与十六进制数互相转换,可以先转成二进制数,再按不同进制一位对应几位二进制数进行分隔,进而求出。
2.03 数据的表示(原码反码补码移码)
编码类型
原码:把数转成二进制形式,符号位正数为0负数为1
反码:在原码基础上,符号位不变,每位取反
补码:在原码基础上,符号位不变,每位取反,末位加一
移码:在补码基础上,首位取反(用于做浮点运算的阶码)

数值表示范围
n为数位

2.04 数据的表示(浮点数运算)
浮点数表示:N=M*R^e^
其中M称为尾数,e是指数,R为基数
基本流程:

(可以看作是科学计数法)
2.05 CPU结构(运算器与控制器的组成)
计算机结构

1)运算器
算术逻辑单元ALU:和运算相关
累加寄存器AC:一个通用寄存器,存储运算时需要用到的值
数据缓重寄存器DR:对内存储器进行读写操作时,用于暂存数据
状态条件寄存器PSW:存储运算过程中相关的标志位
2)控制器
程序计数器PC:用于计算下一条指令的位置
指令寄存器IR:从缓冲寄存器读取数据并暂存
指令译码器ID:从IR中读取数据并分析,向操作控制器发出控制信号
地址寄存器:保存当前CPU所访问的内存单元的地址
时序控制逻辑
总线逻辑
中断控制逻辑
3)寄存器组
分为专用寄存器和通用寄存器
2.06 Flynn分类法简介

分类依据:指令流(单、多)、数据流(单、多)
根据组合,共有四种结构(SISD\SIMD\MISD\MIMD)
SISD:在PC领域接近绝迹,广泛见于单片机
SIMD:常用于阵列处理机(处理数组间的运算)、并行处理机、超级向量处理机
MISD:只存在于理论层面,不具备实际意义与价值
MIMD:非常之常见,用于现代计算机
2.07 CISC和RISC
*在软考中常以选择题形式出现,给出CISC和RISC描述特点,选择正确\错误说法,下面表格必须做到背会

CISC:在计算机还未大规模通用化时代提出的一种比较常用的指令系统,这时计算机属 于奢侈品大多为定制。所以CISC指令复杂、指令数量相当多
RISC:计算机成为通用设备后,根据CISC精简、保留基本指令后得到的指令系统,复杂 指令由基本指令组合得到。为了提升效率引入大量寄存器
2.08 流水线的基本概念
什么是流水线
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种不见同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
流水线工作示意图


2.09 流水线周期及流水线执行时间计算
流水线周期为执行时间最长的一段
流水线计算公式为:
1条指令执行时间+(指令条数-1)流水线周期
①理论公式:(t1+t2+…+tk)+(n-1)Δt
②实践公式:**(k+n-1)Δt*(k是第一个指令所分阶段数,实践公式实际就是把第一条指令执行时每个阶段长度都认为是一个流水线周期)
*考试时首先用理论公式,若无对应选项则用实践公式
2.10 流水线吞吐率计算
流水线的吞吐率(Though Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。
计算流水线吞吐率的最基本的公式如下:
TP=$\frac{指令条数}{流水线执行时间} $
流水线最大吞吐率:
TPmax=Limn→∞$\frac{n}{(k+n-1)Δt} $=$\frac{1}{Δt} $
其中,Δt为周期时间
2.11 流水线的加速比计算
流水线的加速比
完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。
意义:说明使用流水线加速效果的好坏程度,越高越好
计算流水线加速比的基本公式:
S=$\frac{不使用流水线执行时间}{使用流水线执行时间} $
流水线的效率
流水线的效率是指流水线的设备利用率。在时空图是,流水线的效率定义为n个任务占用的时空去与k个流水段总的时空区之比。
意义:衡量在整个时空图上有多少时间片有效利用的情况

可见空白块代表的时间片依旧未被有效利用
n个任务占用的时空区=Δt+Δt+Δt+3Δt)×4
k个流水段的总的时空区=15Δt×4
计算流水线加速比的基本公式:
E=S=$\frac{n个任务占用的时空区}{k个流水段的总的时空区} $=$\frac{T_{0}}{kT_{k}} $
2.12 计算机层次化存储结构

**从上到下:**速度越来越慢,容量越来越大
**多级的来源:**一种性价比方案,同时满足性能与价格
**局部性原理:**程序运行过程中,会反复执行某个指令块。把这个指令块先从内存调入Cache当中,让Cache和CPU频繁交互,这就是加入Cache后速度成十倍百倍提升的原理
2.13 Cache的基本概念|
- Cache的功能:提高CPU数据输入输出的速率,突破冯·诺伊曼瓶颈,即CPU与存储系统间数据传送带宽限制.
- 在计算机的存储系统体系中,Cache是访问速度最快的层次。
- 使用Cache改善系统性能的依据是程序的局部性原理。
如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为t3,
t3=h×t1+(1-h)× t2
其中,(1-h)又称为失效率(未命中率)。
2.14 时间局部性与空间局部性
时间局部性:被引用过一次的内存位置很可能在不远的将来再被多次引用
空间局部性:如果一个内存位置被引用了一次,那么程序很可能在不远的将来引用其附近的一个内存位置
工作集理论:把进程运行时被频繁访问的页面打包成集合,保证短时间内不被替换出Cache
2.15 随机存储器与只读存储器
主存的分类
随机存取存储器(RAM):一旦断电所有数据都将清除 eg.内存
DRAM(Dynamic RAM,动态RAM)-SDRAM
SRAM(Static RAM,静态)
只读存储器(ROM):断电后依然存储相应信息 eg. BIOS
- MROM(Mask ROM,掩模式ROM)
- PROM(Programmable ROM,一次可编程ROM)
- EPROM(Erasable PROM,可擦除的PROM)
- 闪速存储器(flash memory,闪存)
主存的编址
编址:把芯片组成相应的存储器,需要分析什么样规格芯片多少块能够组成按什么方式编址的存储空间

答案:B、A
磁盘工作原理

磁盘种类:软盘、机械硬盘
盘面:保存数据
磁头:读取数据
磁道:磁盘上一圈一圈的同心圆
扇区

(33+3)×10+(3+3)
C、B
2.17 计算机总线
根据所处的位置不同,总线统筹被分成三种类型,分别是:
内部总线:
微机内部各个外围的芯片与处理器之间的总线,芯片级别
##系统总线:
微机中各个插件板和系统板之间的总线,插件板级别(eg.PCI接口、VGA接口)
用于传输数据(eg.位数代表总线宽度,一个周期能传送的数据量是32bit位)
管理地址空间的总线(eg.32bit操作系统能管理的内存只有4G)
发送控制信号的总线
##外部总线:
微机和外部设备的总线
2.18 串联系统与并联系统可靠度计算
串联模型

特点:一个子系统出问题整个系统都出问题
可靠度R求法:累乘
失效率μ计算:把各个失效率累加(简化近似公式,存在误差,当子系统比较多且每个失效率极低时使用)
并联模型
特点:所有子系统同时失效时整个系统才失效

失效率μ一般由1-可靠度得到
系统可靠性分析-模冗余系统与混合系统
n模冗余模型(几乎不考)

系统通过表决器决定使用哪个子系统的结果,少数服从多数
混合系统(串并联)

核心思路:从整体来看,把并行系统看成一个子系统
2.19 校验码的概念

通过增大码距,使错误信息更容易被检测出来,同时方便纠错
2.20 循环校验码(CRC)
一种可以做检错但是不能做纠错的一种编码
基本原理和思路:在进行信息编码时,在尾部加入校验信息,让编码后的数据能够与循环校验码的生成多项式相除,余数为0
除时使用模2除法,上商时把竖式中上下两个数做异或操作
实例:

补0:生成多项式的位数减一(实质上是补余数的位数)
2.20 海明校验码
它不仅具有检测错误的能力,同时还具有给出错误所在准确位置的能力 但是因为这种海明校验的方法只能检测和纠正一位出错的情况。所以如果有多个错误,就不能查出了
(5.6没学懂,还要再返工 )