目录
1、计算机基础知识
1.1、数据的表示
①、进制转换
②、码制
③、浮点数表示
④、逻辑数运算
1.2、校验码
1、奇偶校验(Parity Codes):
2、循环校验码CRC(Cyclic Redundancy Check,CRC):
3、海明校验:
4、校验码对比
2、计算机的组成
2.1、计算机体系结构的分类
2.2、CPU的组成
2.3、存储系统
2.3.1、层次化存储
2.3.2、 Cache
2.3.3、主存编址计算
2.4、I/O技术(输入输出)
2.5、总线系统
3、指令系统
3.1、寻址方式
3.2、CISC与RISC
3.2.1、指令集名词解释
3.2.2、各个指令集的特点:
3.3、流水线技术
4、可靠性
5、计算机性能指标
一般为一些基础的进制转换,二进制(B),八进制(O),进制(D),十六进制(H)这里是后缀表示法
易混淆的为(计算机常见数据计量单位):
原码:符号位+数值位绝对值。
反码:正数的反码是原码本身,负数的反码是符号位不变数值位按位取反。
补码:正数的补码是原码本身,负数的补码是符号位不变数值位在反码基础上加1。
移码:正数和负数的移码都是在补码基础上符号位取反。
浮点数的表示格式:
要点注意:
1、运算符
较高优先级(关系运算符):<(小于);<= (小于或等于);>(大于);>= (大于或等于)。
较低优先级(关系运算符):==等于;!=不等于。逻辑运算符:
逻辑或( ||、+ 、∪、∨、OR):连接的两个逻辑值全 0 时才取 0。
逻辑与(&&、*、・、∩、∧、AND ):连接的两个逻辑值全 1 时才取 1。逻辑异或(⊕、XOR ):连接的两个逻辑值不相同时才取 1,相同则取 0。
逻辑非(!、﹃ 、~ 、NOT,—):将原逻辑值取反即可。
2、优先级
!(非)->&&(与)->||(或)
逻辑运算符中的“&&”和 “||”低于关系运算符,“!”高于算术运算符
因此运算符的优先顺序为:!>算术运算符>关系运算符>&&>||>赋值运算符
3、短路原则:在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。
(1)a&&b&&c 只有 a 为真时,才需要判断 b 的值,只有 a 和 b 都为真时,才需要判断 c 的值。
(2)a||b||c 只要a 为真,就不必判断b 和 c 的值,只有 a 为假,才判断 b。a 和b 都为假才判断c。
是一种简单有效的校验方法。它可以检测代码中奇数位出错的编码,但不能发现偶数位出错的情况,即当合法编码中的奇数位发生了错误时,即编码中的1变成0或0变成1,则该编码中1的个数的奇偶性就发生了变化,从而可以发现错误。因而奇偶校验码只有检错的功能,不能进行纠错。
广泛应用于数据通信领域和磁介质存储系统校验码是由信息码产生的,校验码位数越多,该代码的校验能力就越强。在求CRC编码时,采用的是模2运算。模2加减运算的规则是按位运算,不发生借位和进位。也是只能检错,不能进行纠错。
是一种利用奇偶性来检错和纠错的校验方法。海明码的构成方法是在数据位之间的特定位置上插入 k 个校验位,通过扩大码距来实现检错和纠错。
设数据位是n位,校验位是k位海明校验码校验位计算:>=r+m+1。
校验码类别 |
校验码位数 |
校验码位置 |
检错 |
是否可以纠错 |
校验方式 |
奇偶校验 |
1 |
一般拼接在头部 |
可检奇数位错 |
不可纠错 |
奇校验:最终 1 的个数是奇数个; 偶校验:最终 1 的个数是偶数个; |
CRC 循 环冗余校验 |
生成多项式最高次幂决 定 |
拼接在信息位尾部 |
可检错 |
不可纠错 |
模二除法求余数,拼接作为校验位 |
海明校验 |
>=r+m+1 |
插入在信息 位中间 |
可检错 |
可纠 错 |
分组奇偶校验 |
体系结构类型 |
结构 |
关键特性 |
代表 |
单指令流单数据流 SISD |
控制部分:一个处 理 器:一个 主存模块:一个 |
单处理器系统 |
|
单指令流多数据流 SIMD |
控制部分:一个 处 理 器:多个主存模块:多个 |
各处理器以异步 的形式执行同一条指令 |
并行处理机阵列处理机 超级向量处理机 |
多指令流单数据流 MISD |
控制部分:多个 处 理 器:一个主存模块:多个 |
被证明不可能, 至少是不实际 |
目前没有,有文献称流水线计算机为此类 |
多指令流多数据流 MIMD |
控制部分:多个处 理 器:多个 主存模块:多个 |
能够实现作业、任务、指令等各 级全面并行 |
多处理机系统多计算机 |
中央处理单元(Central Processing Unit,CPU)主要由运算器和控制器组成
运算器主要由:
①算术逻辑单元(ALU):数据的算术运算和逻辑运算
②累加寄存器(AC):通用的寄存器为算术逻辑单元提供一个工作区,用于暂时缓存数据
③数据缓冲寄存器(DR):写内存时,暂存指令或数据
④状态条件寄存器(PSW):存状态标志与控制标志
(对于④的存在有争议,有人认为其归于控制器)
控制器主要由:
①程序计数器(PC):存储下一条要执行指令的地址
②指令寄存器(IR):存储即将执行的指令
③指令译码器(ID):对指令中的操作码字段进行分析解释
④时序部件:提供时序控制信号
存储器的分类:
1、 存储器的位置:内存&外存
2、存取方式
(1)按内容存取:相联存储器(如Cache)
(2)按地址存取:
随机存取存储器(如内存)
顺序存取存储器(如磁带)
直接存取存储器(如磁盘)
3、工作方式
(1)随机存取存储器RAM
(2)只读存储器ROM(如BIOS)
1、在计算机的存储系统体系中,Cache是访问速度最快的层次(若有寄存器,则寄存器最快)。
2、使用Cache改善系统性能的依据是程序的局部性原理,提高了CPU访问内存的效率。
时间局部性:指程序中的某条指令一旦执行,不久以后该指令可能再次执行,典型原因是由于程序中存在着大量的循环操作。
空间局部性:指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型情况是程序顺序执行。
3、Cache的地址映像由硬件直接完成
4、Cache的地址映射方式主要分为3类:直接相联、全相联、组相联印象
①直接相联映像:主存的块地址与Cache块的对应关系固定,其优点在于地址变换简单,但缺点在于冲突率很高。
②全相联映像:主存的任意一块地址可以调用Cache任意一块空间的地址,其冲突率大大减少,但缺点在于电路设计复杂,难于实现设计,通常用于小容量的Cache
③组相联映像:等价于直接相联和全相联的折中
Cache的地址映射方式 | 冲突率 | 电路复杂度 | 其它 |
直接相联映像 | 高 | 简单 | 对应位置有数据即冲突 |
全相联映像 | 低 | 复杂 | 所有位置有数据即冲突 |
组相联映像 | 中 | 折中 |
1、内存单元数计算:最大地址-最小地址+1
2、内存总容量:
按字节编址,内存单元数*8bit;
按字编址,内存单元数*4bit
3、已知芯片单位容量,求所用芯片的片数,总容量/单位容量;
4、已知所用芯片的片数,求取芯片单位容量,总容量/芯片片数。
这里主要强调3种常用的编址方式:
①、直接程序控制:
外部输入的数据是在CPU执行程序的控制下完成的。该方式分为无条件传送和程序查询方式两种情况
无条件传送:外设总是准备好,随时无条件接收CPU发来的输出数据,也能无条件为CPU提供数据。
程序查询方式:通过CPU执行程序,查询外设状态,观察是否有向CPU发送数据或接受CPU发来的数据。
缺点:方法简单,I/O能力不高,严重影响CPU的利用率
优点:硬件开销小
②、中断处理方式:
CPU无须等待也不必去查询I/O的状态,而可以抽身出来处理其他任务。通过中断向量表(这里有很多种方法,这里用平时写程序用的打断点来举例)返回一个中断服务程序的入口地址,并保存正在执行程序的现场,然后再返回被打断的程序继续执行。从而提高了效率
③、直接存取方式:
直接内存存取(Direct Memory Access,DMA)是指数据在内存与I/O设备间的直接成块传输,该过程不需要CPU的任何干涉,只需要CPU在过程开始启动与过程结束时的处理,实际操作由DMA硬件直接完成。具体的传输过程(简述)如下:
1)外设DMA控制器向DMA提出传送请求
2)DMA控制器向CPU提出请求
3)CPU在完成当前总线周期后立即对此请求作出响应
4)DMAC获得了对系统总线的控制权,并送出地址信号和控制信号,实现数据的高速传送。
5)DMAC执行完后,CPU重新获得系统总线的控制权,接着DMA前的总线周期继续执行下面的总线周期。
总结:
在DMA传输过程中,无须CPU的干预,在DMA传送数据期间CPU不能使用总线。
在微机中总线主要分为以下3类
1、数据总线(Data Bus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。
2、地址总线(Address Bus):用来指定在RAM(Random Access Memory)之中储存的数据的地址。
3、控制总线(Control Bus):将微处理器控制单元(Control Unit)的信号,传送到周边设备。
立即寻址方式
特点:操作数直接在指令中,速度快,灵活性差。
直接寻址方式
特点:指令中存放的是操作数的地址。
间接寻址方式
特点:指令中存放了一个地址,这个地址对应的内容是操作数的地址。
寄存器寻址方式
特点:寄存器存放操作数。
寄存器间接寻址方式
特点:寄存器内存放的是操作数的地址。
CISC:复杂指令集;
RISC:精简指令集。
CISC的特点:指令数量多,指令频率差别大,多寻址,使用微码。
RISC的特点:指令数量少,操作寄存器,单周期,少寻址,多通用寄存器,硬布线逻辑控制,适用于流水线。
指令系统类型 |
指令 |
寻址方式 |
实现方式 |
其他 |
CISC(复杂) |
数量多,使用频率差 别大,可变长格式 |
支持多种 |
微程序控制技术 (微码) |
研制周期 长 |
RISC(精简) |
数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有 Load/Store 操作内存 |
支持方式少 |
增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 |
优化编 译,有效支持高级语言 |
(1)流水线执行时间(理论公式):(t1+t2+…+tk)+(n-1)*t
(2)流水线执行时间(实践公式):k*t +(n-1)*t
(3)流水线吞吐率:
(4)流水线最大吞吐率:
TPmax =
平均无故障时间:
(MTTF) MTTF= (λ 为失效率)
平均故障修复时间:
(MTTR) MTTR= (μ 为修复率)
在实际应用中,一般 MTTR 很小,所以通常认为 MTBF≈MTTF
1、主频(计算机参数),时钟周期=主频的倒数,主频=倍频*外频。
2、平均每条指令的平均时钟周期个数(CPI)
CPI=时钟周期总数 / 指令总条数。
3、每(时钟)周期运行指令条数(IPC),
IPC=指令总条数/时钟周期总数
4、百万条指令每秒(MIPS)
MlPS=(IPC*时钟周期)/
5、每秒百万个浮点操作(MFLOPS)针对的是浮点操作。
6、字长(计算机参数)。
7、总线宽度:每次脉冲通过的数据量。
8、带宽:单位时间通过的数据量,带宽=数据总量/总时间
(这里的单位M,G,K单位换算均是)