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

前言

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

  核算机组成原理及体系结构首要包括:数据的表明、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进行项目