【收藏】快速了解计算机组成原理及体系结构看这篇就足够了!周末手绘思维导图

1658240700682.jpg

前言

  学而时习之不亦说乎,越是基础的知识越需要巩固学习,正好这几天回顾复习了一下计算机组成原理及体系结构,因此记录下来分享给大家,欢迎学习交流。

  计算机组成原理及体系结构主要包括:数据的表示、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快速接入钉钉群机器人

2022年已经过半,恍惚之间犹如昨日,还记得那年许下的诺言吗

Spring Boot专栏,Spring Boot 快速入门系列。本专栏用于 Java 开发人员,尤其是初学 Spring Boot 和需要从传统 Spring 转向 Spring Boot 开发的技术人员。大量示例快速Spring Boot进行项目

猜你喜欢

转载自juejin.im/post/7122093677404487694