计算机硬件基础
本章在综合考试中的平均分数为6分,约总分的8%
考点归纳
1、数值的计算
各进制数相互间的转换、二进制的特点、原码、反码、补码、移码的特点、数值的表示范围
2、计算机系统的组成
计算机包含的部件、常见的寄存器及各寄存器的作用重点
、计算机的性能和基本工作原理、计算机体系结构的分类、指令系统基础、寻址方式重点
、CISC和RISC、流水线工作原理、流水线的计算重点
、总线系统
3、存储系统
存储器的分类、主存-Cacher的工作原理、命中率计算、存储芯片容量计算重点
、虚拟存储器重点
、RAID类型和特点、主存、存储器地址编码
4、可靠性与性能评价
可靠性计算重点
、系统性能评价
5、校验码
循环冗余校验码(CRC)、海明效验码、奇偶校验码的基本原理
6、输入输出
常见的I/O设备、I/O控制方式
一、机内代码及运算
一、数的进制
十进制
二进制
八进制
十六进制
二、进制转换
1、十进制转二进制
把被转换的十进制整数反复地除以2,直到商为0,所得的余数(从末位读起)就是这个数的二进制表示。简称“除2取余法”。
例: (221)10=(11011101)2
2、二进制转十进制
方法是:二进制数按权展开求和。
例:(10110)2转换成十进制数(22)10
三、原码、反码、补码、移码
1、带符号数的表示
通常的做法是约定一个数的最高位为符号位,若该位为0,则表示正数;若该位为1,则表示负数。
1.原码
用最高位表示符号位,数值部分用二进制绝对值表示,这就是原码的表示方法。
例如:+11的原码:00001011 -11的原码是:10001011
2.反码
原码变反码规则:正数的反码和其原码形式相同,负数的反码是除符号位,其他各位逐位取反(即0变1,1变为0) 。
+11的原码:00001011
-11的原码是:10001011
例如:+11的反码:00001011 -11的反码是:11110100
3.补码
补码规则为:正数的补码和其原码形式相同,负数的补码是原码除符号位以外逐位取反(即0变1,1变为0),最后在末尾加1。
+11的原码:00001011
-11的原码是:10001011
例如:+11的补码:00001011 -11的补码是:11110101
将补码转换为真值:[[X]补]补=[X]原
4.移码(增码)
无论正数、负数,在补码的基础上对符号位取反,一般用做浮点数的阶码,引入的目的是为了保证浮点数的机器零为全0。
+11的补码:00001011
-11的补码是:11110101
例如:+11的移码:10001011 -11的移码是:01110101
四、定点数和浮点数
计算机中,通常是用定点数来表示整数和纯小数,分别称为定点整数和定点小数。对于既有整数部分、又有小数部分的数,一般用浮点数表示。
1、定点数
- 定点整数:小数点的位置固定在最低位的右边,不占位
- 定点小数:小数点的位置固定在符号位与最高数值位之间,表示一个纯小数。
2、浮点数
用类似科学计数法来表达,即
N=M*Re
M称为尾数,R称为基数,e为阶码(指数)
比如 1001.101 的规范浮点数表达为 1.001101 ×23
浮点数利用指数达到了浮动小数点的效果,从而灵活地表达更大范围的实数。
三、校验码概述
编码体系指一种编码方式中所有合法码字的集合。 合法码字占所有码字的比率就是编码效率。
- 一个编码系统中任意两个合法的编码之间的不同的二进制位 的数目叫这两个码字的码距。
- 该编码系统的任意两个编码之间的距离的最小值称为该编码 系统的码距
- 码距是衡量一种编码方式的抗错误能力的一个指标。
数字信息在传输和存取的过程中,由于各种意外情况的发生,数 据可能会发生错误,即所谓误码。
四、奇偶校验
奇偶校验较简单,串口通信中使用奇偶校验作为数据校验的方法 。
- 奇校验:被传输的有效数据中“1”的个数是奇数个,校验位 填“0”,否则填“1”;
- 偶校验:被传输的有效数据中“1”的个数是偶数个,校验位 填“0”,否则填“1”。
例:奇校验 1000110(0)
偶校验 1000110(1)
使用一位奇偶校验的方法能够检测出一位错误,但无法判断是哪 一位出错。
当发生两位同时出错的情况时,奇偶校验也无法检测出来。所以奇偶校验常用于对少量数据的校验,如一个字节。
五、海明码
海明码是奇偶校验的一种扩充。和奇偶校验的不同之处在于海明码采用多位校验码的方式,在这些多个校验位中的每一位都对不 同的信息数据位进行奇偶校验,通过合理地安排每个校验位对原 始数据进行的校验的位组合,可以达到发现错误、纠正错误的目 的(当出现两位错误时,海明码能够查错,但无法纠错)。
还需要记住以下几个关键的关系。
• 可查出多少位错误:可以发现“ ≤码距-1” 位的错误。
• 可以纠正多少位错误:可以纠正“ <码距/2” 位的错误,因此如果要能够纠正n位错误,所需最小的码距应该是“ 2n+1” 。
- 海明码的原理
在数据中间加入几个校验码,码距均匀拉大,当某一位出错,会引起几个校验位的值发生变化。 - 海明不等式:
校验码个数为k,可以表示2k个信息,1个信息用来表示“没有错误”,其余2k -1个表示数据中存在错误,如果满足2k-1≥m+k( m+k为编码后的数编总长度),则在理论上k个校验 码就可以判断是哪一位(包括信息码和校验码)出现了问题。 - 海明码的编码规则
校验位依次放在第2i(i=0,1,2,3…)位,其余位置为信息位。
4个信息位k0,k1,k2,k3;3个校验位r0,r1,r2。
第 i 个信息位的位数为参与校验它的校验位的位数之和。
如上例 7=4+2+1;6=4+2;5=4+1;3=2+1。
若三个校验方程都成立,即方程式右边都等于0,则说明没有出现错误。若不成立,即方程式右边不等于0,说明有错。 从三个方程式右边的值,可以判断那一位出错。出错位置为从下向上看相应的二进制数值,若三个方程式右边的值为100,说明第4位出错。
六、循环冗余校验码
广泛地在网络通信及磁盘存储时采用。
1.多项式
在循环冗余校验(CRC)码中,无一例外地要提到多项式的概念。一个二进制数可以以一个多项式来表示。如1011表示为多项式 X3+X1+X0,如果把这里的x替换为2,这个多项式的值就是该数的值。从这个转换可以看出多项式最高幂次为n,则转换为二进 制数有n+1位。
2.编码组成
编码的组成是由K位信息码,加上R位的校验码。
3.校验码的生成
校验码的生成步骤如下:
- (1)将K位数据C(x)左移R位,给校验位留下空间,得到移位后的多项式为C(x) × XR。
- (2)将这移位后的信息多项式除以生成多项式,得到R位的余数多项式。
- (3)将余数作为校验码嵌入信息位左移后的空间。
例:信息位为1010 0110,生成多项式为
a(x)= X5+X4+X+1,则:
1010 0110 左移5位-> 1010 0110 0000 0
用1010 0110 0000 0 和110011 进行模2运算(异或)
余11000
即校验码11000,所以CRC码是1010 0110 11000。
循环冗余校验码的纠错能力取决于K值和R值。在实践中,K值往往取得非常大,远远大于R的值,提高了编码效率。在这种情况下,循环冗余校验就只能检错不能纠错。
一般来说,R位生成多项式可检测出所有双错、奇数位错和突发错位小于或等于R的突发错误。
二、中央处理器
一、计算机的组成
计算机硬件由五大部件构成:控制器、运算器、存储器、输入设备和输出设备。
(1)运算器
也称算术逻辑单元(ALU),对数据进行算术运算和逻辑运算。
- 加法器(累加器)
专门存放算术或逻辑运算的操作数和运算结果的寄存器。 - 程序状态寄存器
PSW用来存放两类信息:一类是体现当前指令执行结果的各种状 态信息,如有无进位(CY位),有无溢出(OV位),结果正负 (SF位),结果是否为零(ZF位),奇偶标志位(P位)等;另 一类是存放控制信息,如允许中断(IF位),跟踪标志(TF位)等
(2)控制器
是分析和执行指令的部件
指令寄存器
指令译码器
程序计数器
定时与控制电路
堆栈和堆栈指针
二、计算机的分类
计算机体系结构是计算机系统的概念性结构和功能特性。 常见的分类法包括Flynn、冯氏分类法两种。
1、Flynn分类法
根据指令流、数据流和多倍性三方面进行分类。
三、输入/输出控制方式
I/O控制方式
一、程序I/O方式
二、中断驱动I/O方式
三、直接存储器访问DMA I/O控制方式
四、I/O通道控制方式
(1)程序I/O方式(程序查询方式)
由于无中断机构,处理机对I/O设备的控制采取程序I/O方式,或 称为忙–等待方式,即在处理机向控制器发送一条I/O指令启动输 入设备输入数据时,要同时把状态寄存器中的忙/闲标志置为1。 然后便不断测试标志。当为1时,表示输入机尚未输完一个字, 处理机应继续对该标志测试,直到它为0,表明数据已输入到控 制器的数据寄存器中,于是处理机将数据取出送入内存单元,便完成了一个字的I/O 。
在程序I/O方式中,由于CPU高速,I/O设备低速致使CPU极大浪费。
(2)中断控制I/O方式
当某进程要启动某个I/O设备时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回继续执行原来的任务。设备控 制器于是按照命令的要求去控制指定I/O设备。这时CPU与I/O 设备并行操作。
中断驱动方式在I/O设备输入数据的过程中,无需CPU干预,而 是当I/O设备准备就绪时“主动”通知CPU。才需 CPU花费极 短的时间去进行中断处理。从而大大地提高了整个系统的资源 利用率及吞吐量,特别是CPU的利用率。但每中断一次仅能传输一个字(节)。
(3)直接存储器访问(DMA)
方式虽然中断方式比程序I/O方式更有效,但它仍是以字(节)为单 位进行I/O的,每当完成一个字(节)的I/O时,控制器便要请 求一次中断。极其低效的。因此引入了直接存储器访问方式。 该方式的特点是:数据传输的基本单位是数据块;所传送的数 据是从设备直接送入内存的,或者相反;仅在传送一个或多个 数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。可见DMA方式又是成百倍的减少了 CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。
(4) I/O通道控制方式
I/O通道是一种特殊的处理机。它具有执行I/O指令的能力,并通 过执行通道(I/O)程序来控制I/O操作。但I/O通道又与一般的处 理机不同,一是其指令类型单一,只能执行I/O操作有关的指令 ;二是通道没有自己的内存,与CPU共享内存。
根据信息交换方式,通道分为三种类型:
- 字节多路通道(Byte Multiplexor Channel)
- 数组选择通道(Block Selector Channel)
- 数组多路通道(Block Multiplexor Channel)
四、流水线技术
流水线技术是指在程序执行时,多条指令重叠进行操作的一种任务分解技术。把一个任务分解为若干顺序执行的子任务,不同的子任务由不同的执行机构来负责执行,而这些执行机构可以同时并行工作。
(1)计算执行时间
假定有某种类型的任务,可分成N个子任务,每个子任务需要时间t,则完成该任务所需的时间为N×t
。
- 若以传统的方式,完成k个任务所需的时间是
kNt
。 - 使用流水线技术,花费的时间是
Nt+(k-1)t
。
注意,如果每个子任务所需的时间不同,其时间取决于执行顺序中最慢的那一个。
例1:若指令流水线把一条指令分为取指令、分析和执行三部分 ,三部分的时间分别是取指令2ns,分析2ns,执行1ns。最长的是2ns,因此100条指令全部执行完毕所需要的时间是:
(2ns+2ns+1ns)+(100-1) x2ns=203ns
①流水线的吞吐率
指在单位时间内流水线所完成的任务数量或输出的结果数量。
n为任务数,Tk是处理完成n个任务所用的时间
例1的吞吐率为 100×109 /203=4.93×108/s
②加速比
是指不采用流水线的执行时间/采用流水线的执行时间。
用来衡量并行系统或程序并行化的性能和效果。
例1中的加速比为 500/203=2.46
(如果不采用流水线,则执行100条指令需要500 ns)。
(2)影响流水线的主要因素
- 转移指令:因为前面的转移指令还没有完成,流水线无法确定下一条指令的地址,因此也就无法向流水线中添加这条指令。
- 共享资源访问的冲突:后一条指令需要使用的数据,与前一条指令发生冲突,或者相邻的指令使用了相同的寄存器
- 响应中断:当有中断请求时,流水线也会停止。对于这种情况有两种响应方式:
- 精确断点法:立即停止,这种方法能够立即响应中断;
- 不精确断点法:流水线中的指令继续执行,不再新增指令到流水线。
五、精简指令计算机
一、指令系统
指计算机所能执行的全部指令的集合,它描述了计算机内全部的控制信息和“逻辑判断”能力。
一条指令包括: 操作码 ; 地址码
根据地址码代表的地址类型,指令系统可以分为:
立即寻址
直接寻址
间接寻址
寄存器寻址
寄存器间接寻址
二、RISC与CISC
- 为提高操作系统的效率,人们最初选择向指令系统中添加更多、更复杂的指令来实现,导致指令集越来越大。这种类型的计算机,称为复杂指令集计算机(CISC)。
- 对指令数目和寻址方式做精简,指令的指令周期相同,采用流水线技术,指令并行执行程度更好,这类是精简指令集计算机(RISC)。
复杂指令系统计算机(CISC)的主要特点
- (1)指令数量多:指令系统拥有大量的指令,有100 -250条。
- (2)指令使用频率相差悬殊:最常使用的是一些比较简单的指令,80%的时候使用的是20%指令。
- (3)支持很多种寻址方式:通常为5-20种。
- (4)变长的指令:指令长度不是固定的,变长的指令增加指令译码电路的复杂性。
- (5)指令可以对存储器单元中数据直接进行处理:典型的CISC 处理器通常都有指令能够直接对内存单元中的数据进行处理,其执行速度较慢。
精简指令系统计算机(RISC)的主要特点
- (1)指令数量少:优先选取使用频率最高的一些简单指令以及 一些常用指令,避免使用复杂指令。
- (2)指令的寻址方式少:通常只支持寄存器寻址方式、立即数寻址方式以及相对寻址方式。
- (3)指令长度固定,指令格式种类少:因为RISC指令数量少,格式相对简单,其指令长度固定,指令之间各字段的划分比较一致,译码相对容易。
- (4)只提供了Load/Store指令访问存储器:只提供了从存储器读数Load和把数据写入存储器Store两条指令,其余所有的操作 都在CPU的寄存器间进行。
- (5)以硬布线逻辑控制为主:为了提高操作的执行速度,通常采用硬布线逻辑来构建控制器。
- (6)单周期指令执行:因为简化了指令系统,很容易利用流水线技术使得大部分指令在一个机器周期内完成。
- (7)优化的编译器:RISC精简指令集使编译工作简单化。
转载:https://blog.csdn.net/ghan110/article/details/101768373