中级职称软考设计师笔记之【计算机组成原理与体系结构】

本文详细介绍了计算机组成原理中的数据表示,包括进制转换、原码、反码、补码、移码的概念和计算方法,以及浮点数运算的流程。此外,还涵盖了计算机结构的基本组成,如CPU、存储系统、Flynn分类法、CISC与RISC、流水线技术和存储系统的Cache概念。同时讨论了系统可靠性、校验码及其在错误控制中的应用。
摘要由CSDN通过智能技术生成

目录

计算机组成原理与体系结构——数据的表示

计算机组成原理与体系结构——数据的表示——进制转换

计算机组成原理与体系结构——数据的表示——进制转换——R进制转十进制

计算机组成原理与体系结构——数据的表示——进制转换——十进制转R进制

计算机组成原理与体系结构——数据的表示——进制转换——二进制转八进制

计算机组成原理与体系结构——数据的表示——进制转换——二进制转十六进制

计算机组成原理与体系结构——数据的表示——原码、反码、补码、移码

计算机组成原理与体系结构——数据的表示——浮点数运算

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

计算机组成原理与体系结构——Flynn分类法

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

计算机组成原理与体系结构——流水线技术

计算机组成原理与体系结构——流水线技术——流水线计算

计算机组成原理与体系结构——流水线技术——流水线吞吐率计算

计算机组成原理与体系结构——流水线技术——流水线的加速比计算

计算机组成原理与体系结构——流水线技术——流水线的效率

计算机组成原理与体系结构——存储系统

计算机组成原理与体系结构——存储系统——Cache概念

计算机组成原理与体系结构——存储系统——局部性原理

计算机组成原理与体系结构——存储系统——主存分类

计算机组成原理与体系结构——存储系统——主存分类——主存编址

计算机组成原理与体系结构——存储系统——磁盘结构与参数

计算机组成原理与体系结构——总线系统

计算机组成原理与体系结构——可靠性

计算机组成原理与体系结构——可靠性——串联系统可靠性

计算机组成原理与体系结构——可靠性——并联系统可靠性

计算机组成原理与体系结构——可靠性——模冗余系统

计算机组成原理与体系结构——可靠性——混合系统:采用串联和并联组合

计算机组成原理与体系结构——校验码

计算机组成原理与体系结构——校验码——差错控制

计算机组成原理与体系结构——校验码——循环校验码CRC

计算机组成原理与体系结构——校验码——海明校验码


计算机组成原理与体系结构——数据的表示

计算机组成原理与体系结构——数据的表示——进制转换

计算机组成原理与体系结构——数据的表示——进制转换——R进制转十进制

        R进制转十进制使用按权展开法,其具体操作方式为:将R进制数的每一位数值用R^{k}形式表示,即幂的底数是R,指数是k,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该位和小数点之间数码的个数。而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1。

 例如:将二进制10100.01转换为十进制

10100.01 = 1 \times 2^4 + 1 \times 2^2 + 1 \times 2^{-2}

=================================================

例如:将七进制604.01转换为十进制

604.01 = 6 \times 7^2 + 4 \times 7^0 + 1 \times 7^{-2}

计算机组成原理与体系结构——数据的表示——进制转换——十进制转R进制

        十进制转R进制使用短除法。

例如:将十进制94转换为二进制

94 \div 2 = 47 \cdots 0

47 \div 2 = 23 \cdots 1

23 \div 2 = 11 \cdots 1

  11 \div 2 = 5 \cdots 1

    5 \div 2 = 2 \cdots 1

    2 \div 2 = 1 \cdots 0

    1 \div 2 = 0 \cdots 1

按余数倒序往上排序,依次为:1011110。

十进制94转换为二进制的结果为:1011110。

计算机组成原理与体系结构——数据的表示——进制转换——二进制转八进制

二进制转换八进制转换表示
二进制表示八进制表示
0000
0011
0102
0113
1004
1015
1106
1117

计算机组成原理与体系结构——数据的表示——进制转换——二进制转十六进制

二进制转换十六进制转换表示
二进制

十六进制

00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
1010A
1011B
1100C
1101D
1110E
1111F

计算机组成原理与体系结构——数据的表示——原码、反码、补码、移码

原码、反码、补码、移码

数值1

数值-11-1
原码0000  00011000  00011000  0010
反码0000  00011111  11101111  1111
补码0000  00011111  11110000  0000
移码1000  00010111  11111000  0000
原码、反码、补码数值表示范围
整数结果
原码-(2^{n-1}-1)\sim 2^{n-1}-1-127 \sim 127
反码-(2^{n-1}-1)\sim 2^{n-1}-1-127 \sim 127
补码-2^{n-1}\sim -2^{n-1}-1-128 \sim 127

计算机组成原理与体系结构——数据的表示——浮点数运算

        浮点数表示: N = M * R^{e}其中M称为尾数,e为指数,R为基数。

浮点数运算流程:


浮点数运算:将1000 + 119

1000 = 1.0 \times 10^3

119 = 1.19 \times 10^2

其中,1.0和1.19为尾数、

其中,10^3 和 10^2 为指数、

其中,10为基数、

运算开始进行对阶:

119 = 1.19 \times 10^2  转换为119 = 0.119 \times 10^3

运算开始进行尾数计算

1.0 + 0.119 = 1.119

运算开始进行结果格式化

1000 + 119 = 1.119 \times 10^3

如果结果为以下情况,将转换为 1.xxx

如:0.1119 \times 10^3  转换为 1.119 \times 10^2

如:  11.19 \times 10^3  转换为 1.119 \times 10^4

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

        整个计算机的组成是主机外设。主机只包含两个部分,一部分是CPU,另一部分是主存储器。硬盘、声卡、网卡等被称为外设。

CPU包含:运算器和控制器。

        主存储器包含:ROM只读内存和RAM随机存取存储器。

CPU中的运算器
名称简称
算术逻辑单元ALU
累加寄存器AC
数据缓冲寄存器DR
状态条件寄存器PSW
CPU中的控制器
名称简称
程序计数器PC
指令寄存器IR
指令译码器ID
时序部件

计算机组成原理与体系结构——Flynn分类法

Flynn分类法
体系结构类型结构关键特性代表
指令流 数据流 SISD

控制部分:一个

处 理  器:一个

主存模块:一个

单处理器系统
指令流 数据流 SIMD

控制部分:一个

处 理  器:多个

主存模块:多个

各处理器以异步的形式执行同一条指令

并行处理机、

阵列处理机、

超级向量处理机

指令流 数据流 MISD

控制部分:多个

处 理  器:一个

主存模块:多个

被证明不可能,至少是不实际目前没有,有文献称流水线计算机为此类
指令流 数据流 MIMD

控制部分:多个

处 理  器:多个

主存模块:多个

能够实现作业、任务、指令等各级全面并行

多处理机系统、

多计算机

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

CISC与RISC
指令系统类型指令寻址方式实现方式其他
CISC 复杂数量多,使用频率差别大,可变长格式支持多种微程序控制技术、微码研制周期长
RISC 精简数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存支持方式少增加了通用寄存器,硬布线逻辑控制为主,适合采用流水线优化编译,有效支持高级语言

计算机组成原理与体系结构——流水线技术

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

流水线执行流程与使用指令情况:

计算机组成原理与体系结构——流水线技术——流水线计算

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

流水线计算公式为:一条指令执行时间 + (指令条数 - 1) * 流水线周期

  1. 理论公式:( t1 + t2 + ... + tk) + ( n - 1 ) * \Delta t  (注:Delta
  2. 实践公式:( k + n - 1 ) * \Delta t  (注:Delta

答:

流水线周期是2ns。

使用理论公式执行100条指令全部执行完毕需要的时间为203ns。

使用实践公式执行100条指令全部执行完毕需要的时间为204ns。

解释:

  • 优先使用理论公式的结果,没有理论公式的结果选择实践公式的结果。
  •  使用理论公式:

    一条指令执行时间为( 2 + 2 + 1 )

    指令条数 -1为( 100 - 1)

    流水线周期为2ns

    ( 2 + 2 + 1 ) + ( 100 - 1) \times 2 = 5 + 99 \times 2 = 5 + 198 = 203(ns)

  •  使用实践公式:

    一条指令执行阶段取指、分析、执行  \times  流水线周期为( 3 * 2 )

    指令条数-1为( 100 - 1)

    流水线周期为2ns

    ( 3 \times 2) + ( 100 - 1 ) \times 2 = 6 + 99 \times 2 = 6 + 198 = 204(ns)

计算机组成原理与体系结构——流水线技术——流水线吞吐率计算

        流水线的吞吐率(Though Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。

计算流水线吞吐率最基本的公式如下:

  100条指令  \div  流水线执行时间203 = 0.49261083743842

计算流水线最大吞吐率公式如下:

 1条指令  \div  流水线周期2ns = 0.5

计算机组成原理与体系结构——流水线技术——流水线的加速比计算

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

计算流水线加速比的基本公式如下:

  不使用流水线执行时间为  (2+2+1)\times100=500 \div  使用流水线执行时间为203=2.4630541871921。

计算机组成原理与体系结构——流水线技术——流水线的效率

        流水线的效率是指流水线的设备利用率。在时空图上,流水线的效率定义为N个任务占用的时空区与K个流水段总的时空区之比。

计算流水线效率的公式如下:

N个任务占用的时空区为: \left ( \Delta t + \Delta t + \Delta t + 3\Delta t \right ) \times 4

K个流水段的总的时空区为:15\Delta t \times 4

流水线效率为:E = \left ( \Delta t + \Delta t + \Delta t + 3\Delta t \right ) \times 4 \div 15\Delta t \times 4

例如1\Deltat为2ns

\left ( \Delta t + \Delta t + \Delta t + 3\Delta t \right ) \times 4 = \left ( 2 + 2 + 2 + 6 \right ) \times 4 = 12 \times 4 = 48

15\Delta t \times 4 = 30 \times 4 = 120

流水线效率为:E = 48 \div 120 = 0.4

计算机组成原理与体系结构——存储系统

计算机组成原理与体系结构——存储系统——Cache概念

        Cache的功能:提高CPU数据输入输出的速率,突破冯·诺依曼瓶颈,即CPU与存储系统间数据传送带宽限制、在计算机的存储系统体系中,Cache是访问速度最快的层次、使用Cache改善系统性能的依据是程序的局部性原理。

        如果以h代表对Cache的访问命中率,t_{1}表示Cache的周期时间,t_{2}表示主存储器周期时间,以读操作为例,使用“Cache + 主存储器”的系统的平均周期为t_{3},则:t_{3} = h \times t_{1} + ( 1 - h ) \times t_{2}  ,其中,(1 - h)又称为失效率(未命中率)。

例如:

对Cache的访问命中率为:95%、

Cache的周期时间为:1ns、

主存储器周期时间为:1ms = 1000ns、

Cache的访问命中率为:95%、

使用Cache和主存储器的系统的平均周期为:

95% \times 1ns + ( 1 - 95% ) \times 1000ns = 0.95 + 0.05 \times 1000 = 50.95(ns)

计算机组成原理与体系结构——存储系统——局部性原

  • 时间局部性

  • 空间局部性

  • 工作集理论:工作集是进程运行时被频繁访问的页面集合。

例如:
int i,s = 0;
for( i = 1; i < 1000; i++)
    for( j = 1; j < 1000; J++)
        s += j;
printf("结果为:%d",s)

计算机组成原理与体系结构——存储系统——主存分类

  • 随机存取存储器
    • DRAM(Dynamic RAM,动态RAM)——SDRAM
    • SRAM(Static RAM,静态RAM)
  • 只读存储器
    • MROM(Mask ROM,掩模式ROM)
    • PROM(Programmable ROM,一次可编程ROM)
    • EPROM(Erasable PROM,可擦除的PROM)
    • 闪速存储器(Flash Memory,闪存)

计算机组成原理与体系结构——存储系统——主存分类——主存编址

答:

(1):B.112 

(2):A.4

解释:

(1):C7FFFH - AC000H + 1 = C7FFFH + 1 - AC000H = C8000H - AC000H = 1C000H = 1C000H \div 2^{10} = 112

(2):112K地址单元 * 16Bit位 = 112 * 16、28片存储器芯片 * 16K个存储单元 = 28 * 16

             112 \times 16

               28 \times 16

              ————

                4

计算机组成原理与体系结构——存储系统——磁盘结构与参数

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

        注意:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间。

答:

(48):C.366ms

(49):B.66ms

解释:

(48):磁盘旋转周期33ms + 每条记录处理时间3ms * 10条记录 + 最后一条记录处理时间3ms + 单缓冲区处理3ms

             ( 33 + 3 ) * 10 + 3 + 3 = 36 * 10 + 3 + 3 = 360 + 3 + 3 = 363 + 3 = 366(ms)

(49):磁盘旋转周期33ms + 每条记录处理时间3ms \times 11个记录

             33 + 3 x 11 = 66ms

计算机组成原理与体系结构——总线系统

        根据总线所处的位置不同,总线通常被分为三种类型,分别为:内部总线系统总线(内含数据总线地址总线控制总线)、外部总线

计算机组成原理与体系结构——可靠性

计算机组成原理与体系结构——可靠性——串联系统可靠性

        有一个子系统失效,整个系统都将失效。

串联系统可靠性:

串联系统可靠性计算:​​​

        ​​ R = R_{1}\times R_{2}\times ... \times R_{n}

串联系统失效率计算:

         \lambda = \lambda_{1} +\lambda_{2}+...+\lambda_{n}

计算机组成原理与体系结构——可靠性——并联系统可靠性

        有一个子系统失效,其他系统正常,整个系统正常,除非所有子系统失效,整个系统才会失效。

并联系统可靠性:

并联系统可靠性计算:​​​ 

        R = 1 - (1 - R_{1})\times (1-R_{2}) \times ... \times(1-R_{n})

并联系统失效率计算:

        \mu =\frac{1}{\frac{1}{\lambda}\sum_{j=1}^{n}\frac{1}{j}}

计算机组成原理与体系结构——可靠性——模冗余系统

        有多个子系统输出结果,这些结果通过表决器来选择正确的结果。有一个子系统输出错误结果,就会采纳相同结果最多的结果。

模冗余系统:

 模冗余系统计算:

        R = \sum_{i=n+1}^{m} C_{m}^{j}\times R_{0}^{i}(1-R_{0})^{m-i}

计算机组成原理与体系结构——可靠性——混合系统:采用串联和并联组合

混合系统:采用串联和并联组合:

 混合系统:采用串联和并联组合计算:

        R\times(1-(1-R)^{3}) \times (1-(1-R)^{2})

计算机组成原理与体系结构——校验码

计算机组成原理与体系结构——校验码——差错控制

        一个编码系统的码距是整个编码系统中任意(所有)两个码字的最小距离。

例如:

若用1位长度的二进制编码,若A=1,B=0.这样A、B之间的最小码距为1。

若用2位长度的二进制编码,若以A=11,B=00为例,A、B之间的最小码距为2。

若用3位长度的二进制编码,可选用111,000作为合法编码。A、B之间的最小码距为3。

码距与检错、纠错有何关系?

  1. 在一个码组内为了检测 e 个误码,要求最小码距d应该满足:d >= e + 1。
  2. 在一个码组内为了纠正 t  个误码,要求最小码距d应该满足:d >= 2t +1。

计算机组成原理与体系结构——校验码——循环校验码CRC

        摸2除法是指在做除法运算的过程中不计其进位的除法。

循环校验码:

例如:

10111对110进行摸2除法:

10111 \div 110 = 110

110

——————————

0111

  110

——————————

  0011

普通除法运算过程:

10111 \div 110 = 11

0110

——————————

  1011

  0110

——————————

  0101

答:

对其进行CRC编码后的结果为:110010101010011

解释:

其中“ x^4 + x^3 + x + 1 ”转为二进制为:11011。

其中原始报文“11001010101”需要补充多项式的位数 - 1个0。

110010101010000 \div 11011 = 0011

11011

———————————

        10010

        11011

———————————

          10011

          11011

———————————

            10000

            11011

———————————

              10111

              11011

———————————

                11000

                11011

———————————

                        11000

                        11011

————————————

                            0011

计算机组成原理与体系结构——校验码——海明校验码

求信息1011的海明校验码

确定海明校验码为3位、其公式为:2^{r} >= 4 + r + 1 == 2^{3} >= 4 + 3 + 1

7的位数 = 2^{2} + 2^{1} + 2^{0}

6的位数 = 2^{2} + 2^{1}

5的位数 = 2^{2} + 2^{0}

3的位数 = 2^{1} + 2^{0}

2^{0} = 位数1  = r_{0} 校验位

2^{1} = 位数2  = r_{1} 校验位

2^{2} = 位数4  = r_{2} 校验位

2^{3} = 位数8  = r_{3} 校验位

7654321位数
I_{4} = 1I_{3} = 0I_{2} = 1I_{1} = 1信息位
r_{2}r_{1}r_{0}校验位

r_{2} = I_{4} \bigoplus I_{3} \bigoplus I_{2} == r_{2} = 1 \bigoplus 0 \bigoplus 1 == r_{2} = 1 \bigoplus 1 = 0

r_{1} = I_{4} \bigoplus I_{3} \bigoplus I_{1} == r_{1} = 1 \bigoplus 0 \bigoplus 1 == r_{2} = 1 \bigoplus 1 = 0

r_{0} = I_{4} \bigoplus I_{2} \bigoplus I_{1} == r_{0} = 1 \bigoplus 1 \bigoplus 1 == r_{0} = 0 \bigoplus 0 = 1

纠错

例如:收到的信息为:1011101则:

r_{2} \bigoplus I_{4} \bigoplus I_{3} \bigoplus I_{2} = 1 \bigoplus 1 \bigoplus 0 \bigoplus 1 = 1

r_{1} \bigoplus I_{4} \bigoplus I_{3} \bigoplus I_{1} = 0 \bigoplus 1 \bigoplus 0 \bigoplus 1 = 0

r_{0} \bigoplus I_{4} \bigoplus I_{2} \bigoplus I_{1} = 1 \bigoplus 1 \bigoplus 1 \bigoplus 1 = 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vin Cente

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值