软考学习--计算机组成原理与体系结构

计算机组成原理与体系结构

数据的表示

进制转换
  • R 进制转换为 10 进制--按权展开法

  • 10进制转换为2进制

原码 反码 补码 移码
  • 原码 :数字的二进制表示
  • 反码 : 正数的反码等于原码,负数的反码等于原码取反
  • 补码: 正数的补码等于原码,负数的补码等于原码取反+1
  • 移码:浮点运算中的阶,最高位取反
浮点数运算

​ 浮点数表示:N= M*Rⁿ(科学计数法)M为尾数,R为基数,n为指数

​ 对阶 ->尾数运算=>结果格式化

计算机结构

Flynn分类法

计算机体系结构分类

CISC与RISC

  • CISC:复杂指令集,数量多,使用频率差别大,可变长格式;支持多种寻址方式;微程序控制技术;颜值周期长。

  • RISC:精简指令集,数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存;寻址方式支持方式少;增加了通用寄存器,硬布线逻辑控制为主,适合采用流水线;优化编译,有效支持高级语言。

流水线技术

​ 是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理事针对不同指令而言 的,他们可同时为多条指令的不同部分进行工作。以提高 各部件的利用率和指令的平均执行速度。

->取指->分析->执行->

  • 流水线周期为执行时间最长的一段

  • 流水线计算公式为:

    • 1条指令执行时间 + (指令条数-1)流水线周期
    • 理论公式:(t1 + t2+...+tk)+(n-1)△t
    • 实践公式:(k+ n- 1)*△t

    △t:周期,k:执行步骤步数

  • 流水线吞吐率计算

    • 含义:单位时间内流水线所完成的任务数量或输出的数量结果。

    • 计算公式:
      T P = 指令条数 / 流水线执行时间 TP = 指令条数/ 流水线执行时间 TP=指令条数/流水线执行时间

    • 流水线最大吞吐率:
      T P m a x = l i m ( n / ( k + n − 1 ) ∗ △ t ) = 1 / △ t TPmax = lim(n/(k+n-1)*△t )= 1/△t TPmax=lim(n/(k+n−1)∗△t)=1/△t

  • 流水线的加速比

    • 含义:完成同样一批任务,不使用流水线所用时间与使用流水线所用时间之比称为流水线的加速比。

    • 公式:
      S = 不使用流水线执行时间 / 使用流水线执行时间 S = 不使用流水线执行时间/使用流水线执行时间 S=不使用流水线执行时间/使用流水线执行时间

  • 流水线的效率:

    • E = n 个任务占用的时空区 / k 个流水段的做哪个的时空区 = T 0 / k T k E = n个任务占用的时空区/k个流水段的做哪个的时空区 = T0/kTk E=n个任务占用的时空区/k个流水段的做哪个的时空区=T0/kTk

存储系统

  • Cache:

    • 提高CPU数据输入输出的速率,突破冯·诺依曼瓶颈,即CPU与存储系统间数据传送带宽限制。

    • 在计算机的存储系统体系中,Cache是访问速度最快的层次

    • 使用Cache改善系统性能的依据是程序的局部性原理

  • 局部性原理

    • 时间局部性:刚刚访问的指令需要再次访问,直接从cache中读取
    • 空间局部性:程序访问某个空间,立即又访问与他邻近的空间
    • 工作集理论:工作集是进程运行时被频繁访问的页面集合
  • 主存

    • 分类

      • 随机存储存储器RAM
      • 只读存储器ROM
    • 编址

      (1)

      (2)

      112 K * 16 bit = 28*16 K * x => x=4

  • 磁盘结构与参数

    存取时间 = 寻道时间 + 等待时间(平均定位时间+ 转动延迟)

    • (1)(33 ms + 3 ms) * 10 + (33 ms / 11) + 3 ms= 366 ms;

      ​ 33 ms / 11 为数据读取时间,每转一圈只能读取一个数据,指针从开始到下一个数据的时间为 33 ms + 3 ms,读取前十个记录的时间为(33 ms + 3 ms) * 10 ,读取完倒数第二个数据时,此时指针在最后一个数据前,因此加上最后一个数据的读取时间和处理时间。

      (2)(33 ms / 11) + 3 ms *11 = 66 ms

      ​ 数据存放时如下图

总线系统

  • 分类(根据所处位置不同)

    • 内部总线

    • 系统总线

      • 数据总线
      • 地址总线
      • 控制总线
    • 外部总线

可靠性

  • 串联系统

    • 每一个子系统都正常运行才能保证系统正常运行

    • 可靠度计算:R = R1 * R2 *R3 * ... *Rn

    • 失效率计算:λ = λ1 + λ 2 +... +λ n(近似公式,当失效率极小时这么计算)

  • 并联系统

    • 只有所有子系统都失效时,系统才会失效

    • 可靠度计算:R = 1 - (1 - R1)* (1 - R2)*... *(1 - Rn)

    • 失效率:

    • 通常情况下失效率计算: μ = 1 - R

  • 模冗余系统

    • 可靠性计算:(几乎不考)

  • 混合系统

    • 总体来看是串联系统,先计算出每一个并联系统的可靠性,再计算总的可靠性

校验码

  • CRC循环校验码

    • 模2除法:在做除法运算的过程中不计其进位的除法

      • 例如 10111 对110 进行模2除法

      • 余数首位为1 ,商1,首位为0,商0,然后进行异或运算

    • 生成多项式为

      则,除数为11011,根据CRC编码的计算方法,除数11001010101后面补4个0(多项式长度减一,也是余数位数),然后进行模2除法运算

      最后得到CRC编码为0011,补在被除数后面,即完整信息为

      110010101010011

      检验 :将发送的信息与除数进行模2除法运算,得到余数为0,则说明数据正确。

  • 海明校验码

    参考博客
    海明检验码

    海明检验码

相关推荐
ZhaiMou2 小时前
HTML5拖拽API学习 托拽排序和可托拽课程表
前端·javascript·学习·html5
我想回家种地2 小时前
渗透学习之windows基础
学习
·云扬·3 小时前
Java IO 与 BIO、NIO、AIO 详解
java·开发语言·笔记·学习·nio·1024程序员节
小杨 学习日志4 小时前
C高级学习笔记
c语言·笔记·学习
lcintj5 小时前
【WPF】Prism学习(十)
学习·wpf·prism
NightCyberpunk5 小时前
JavaScript学习笔记
javascript·笔记·学习
李笠^_^6 小时前
Python学习------第十天
学习
suzh1qian7 小时前
Unity类银河战士恶魔城学习总结(P133 Merge skill tree with Parry skill把技能树和格挡技能相组合)
学习·unity·c#·游戏引擎
被猫枕的咸鱼9 小时前
工作学习--Arrays.asList的问题
java·开发语言·学习
@小博的博客9 小时前
C++初阶学习第十一弹——list的用法和模拟实现
开发语言·c++·学习·list