前言
学而时习之不亦说乎,越是基础的知识越需要巩固学习,正好这几天回顾复习了一下计算机组成原理及体系结构,因此记录下来分享给大家,欢迎学习交流。
计算机组成原理及体系结构主要包括:数据的表示、Flynn分类法、计算机结构、CISC与RISC、存储系统、流水线技术、总线系统、校验码、可靠性等相关技术。
数的表示
数表示法在我们学习计算机的时候就开始接触了,输的表示是指依据不同的角度可以分为不同的类型。
数根据用图和含义不同可以分为不同的类型,例如:从数的是否带符号,可分为带符号数和无符号数;从数的符号的表示方法,可分为真值和机器数;从不同的数制表示数,可分为二进制数、十进制数、八进制数和十六进制数等;从计算机编码角度,数的表示法有原码、反码和补码;对于小数点的表示,可以分为定点表示法和浮点表示法。
-
N进制转十进制
- 方法:按权展开法
- 具体步骤:10100转十进制。12^4+12^2=20
-
十进制转N进制
- 方法:短除法
- 具体步骤:把N作为除数,根据余数继续除N,除到无法整除,然后拼接余数,将余数逆序拼接即可。
-
二进制转八进制
- 每三个二进制,对应一个8进制,将二进制从右往左每三个分一段不足的补0,转出多个二进制对应的数,即八进制数。010 001 110 即分别对应 2 1 6 。八进制数是:216
-
二进制转十六进制
- 每四个二进制,对应一个16进制,将二进制从右往左每四个分一段不足的补0,转出多个二进制对应的数,即16进制数。1000 1110 即分别对应 8 E 。16进制数是:8E
-
原码
- 将一个数转成二进制形式,一个字节8位,不足的补0,最高位为符号位,0正数,1负数 。例如:1 原码为:0000 0001, 3的原码为:0000 0101
- 正数:原码=反码=补码。例如:1 0000 0001
- 负数:符号位-1。例如:-1 1000 0001
- 范围:-(2^n-1 -1)~ 2^n-1 -1。例如:n=8 则范围为:-127~127
-
反码
- 正数:原码=反码=补码 。例如: 1 0000 0001
- 负数:符号位取出(默认-1),其他位置按位取反。例如:-1 1111 1110
- 范围:-(2^n-1 -1)~ 2^n-1 -1。例如:n=8 则范围为:-127~127
-
补码
- 正数:原码=反码=补码。例如: 1 0000 0001
- 负数:补码是在反码的基础上+1,得到补码。例如:1 1111 1111
- 范围:-2^n-1 ~ 2^n-1 -1。例如:n=8 则范围为:-128~127
-
移码
- 正数:在补码的基础上,首位取反
- 负数:在补码的基础上,首位取反
-
浮点数运算
- 概念:实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法
- 表示:N=M*Re,其中M为尾数,R为底数,e为指数。
- 计算:对阶----尾数计算----结果格式化,小数点左边不能为0。
计算机结构
-
主机
-
CPU
-
运算器
- 算术逻辑单元ALU
- 累加寄存器AC
- 数据缓冲寄存器DR
- 状态条件寄存器PSW
-
控制器
- 程序计数器PC
- 指令寄存器IR
- 指令译码器
- 时序部件
-
-
主存储器
-
CISC与RISC
-
CISC复杂指令系统
- 指令:数量多、使用数量差别大、可变长格式
- 寻址方式:支持多种
- 实现方式:微程序控制技术
- 其他:研制周期长
-
RISC简单指令系统
- 指令:数量少、使用频率接近、不可变长格式、大部分为单周期指令、操作寄存器、只有load|store操作内存
- 寻址方式:支持较少
- 实现方式:增加通用寄存器、硬布线逻辑控制为主、多用于流水线
- 其他:优化编译、有效支持高级语言
Flynn分类法
-
计算机体系结构的分类方法。依据数据流和指令流
-
单指令流单数据流
- SISD
- 结构:控制一个、处理一个、主存一个
- 使用:单处理器系统
-
单指令流多数据流
- SIMD
- 结构:控制一个、处理多个、主存多个
- 使用:并行处理机、阵列处理机、超级向量处理机
-
多指令流单数据流
- MISD
- 结构:控制多个、处理一个、主存多个
- 使用:目前没有,类似于流水线
-
多指令流多数据流
- MIMD
- 结构:控制多个、处理器多个、主存多个
- 使用:多处理机、多计算机
存储系统
-
层次化的存储结构:CPU(寄存器)、Cache、内存(主存)、外存(辅存)
-
Cache
- 在CPU与主存之间使用Cache,提高CPU输入输出速率
- Cache依据:局部性原理
- 使用Cache+主存的 平均周期=Cache访问命中率*Cache的访问时间+(1-Cache访问命中率)*主存的访问时间
- 空间局部性、时间局部性
- 工作集理论:进程访问时被频繁访问的页面集合
-
主存
-
随机存取存储器
- 特点:掉电会丢失数据
- 分类:DRAM 动态RAM,SRAM静态RAM
-
只读存储器
- 特点:掉电不丢失数据
- 分类:MROM掩模式ROM,PROM一次可编程ROM,EPROM可擦除ROM,闪速存储器
- 计算:(末尾地址-起始地址)/内存单位
-
-
磁盘
- 磁盘的存取时间计算:存起时间=寻道时间+等待时间(平均定位时间+转动延迟)
- 最少记录时间计算=旋转周期+最优读取周期
- 最长记录时间计算=旋转周期*(周期数-1)+最后一个扇区读取处理时间
流水线技术
流水线,又称装配线,工业上的一种生产方式,指每一个生产单位只专注处理某一个片段的工作,以提高工作效率及产量。
-
概念:在程序执行时
-
流水线周期:流水线中执行时间最长的一段。
-
流水线执行时间计算
- 理论公式:每个阶段的时长+(指令条数-1)*流水线周期。t1+t2...+tk+(n-1)*△t
- 实际公式:(指令阶段数量+指令条数-1)*流水线周期.。(k+n-1)*△t
-
流水线吞吐率TP
- 概念:在单位时间内流水线完成的任务数量或输出的结果数量
- TP=指令条数/流水线执行时间
- 最大吞吐量TP=1/△t
-
流水线的加速比
- 概念:完成统一批任务,不使用流水线技术与使用流水线技术所用时间的比
- 计算:S=不使用流水线技术完成的时间/使用流水线技术所用的时间
-
流水线的效率
- 概念:流水线的效率是指流水线的设备利用率。
- 计算:E=N个任务所占用的时空区与K个流水段总的时空区之比
总线系统
-
内部总线
- 处理器与芯片之间的总线,芯片之间的总线
-
系统总线
- 系统总线是插线板之间的总线
- 数据总线
- 地址总线
- 控制总线
-
外部总线
校验码
-
差错控制
-
检错
- 检查出错误
-
纠错
- 检查出错误并纠正错误
-
码距
- 整个编码系统中两个码字之间的最小距离
-
码距与检错:在一个码组内为了检错e个误码,码距d最小为:d>=e+1
-
码距与纠错:在一个码组内为了纠错t个误码,码距d最小为:d>=2t+1
-
-
循环校验码CRC(检错)
- 模2除法:在进行除法运算时,不计其进位除法。对商值进行异或处理。
- 计算时:多项式转成2进制形式;取最高位次方,在原报文后加最高次方的0;进行模2的除法;将原始报文后+余数
-
海明校验码
- 计算公式:2^R >=N+R+1。其中R是校验位的个数,N是信息位的个数
- 检错:信息位转为2进制,判断信息位影响的校验位,校验位根据影响的信息位值进行异或处理
- 纠错:检错位之后取反即纠错
可靠性
- 可靠性计算:串联可靠性、并联可靠性
- 模冗余系统、混合系统
结语
好了,以上就是计算机组成原理及体系结构的介绍,感谢您的阅读,希望您喜欢,如对您有帮助,欢迎点赞收藏。如有不足之处,欢迎评论指正。下次见。
作者介绍:【小阿杰】一个爱鼓捣的程序猿,JAVA开发者和爱好者。公众号【Java全栈架构师】维护者,欢迎关注阅读交流。
我正在参与掘金技术社区创作者签约计划招募活动,点击链接报名投稿。
推荐阅读
【Spring Boot 快速入门】二十五、详细介绍Spring Boot快速接入钉钉群机器人