计算机组成与体系结构

数据的表示

进制的转换

  • 二进制转十进制
    10100.01 = 1 ∗ 2 4 + 1 ∗ 2 2 + 1 ∗ 2 − 2 10100.01=1 *2^4+1*2^2+1*2^{-2} 10100.01=124+122+122

  • 八进制转十进制
    753 = 7 ∗ 8 2 + 5 ∗ 8 1 + 3 ∗ 8 1 = 491 753 = 7 * 8^2+5*8^1+3*8^1 = 491 753=782+581+381=491

  • 十六进制转十进制
    2 A 3 = 2 ∗ 1 6 2 + A ∗ 1 6 1 + 3 ∗ 1 6 0 = 2 ∗ 256 + 10 ∗ 16 + 3 ∗ 1 = 675 2A3 = 2*16^2+A*16^1+3*16^0 = 2*256 + 10 * 16 +3 *1 = 675 2A3=2162+A161+3160=2256+1016+31=675
    其中A代表10,B代表11,C代表12,D代表13,E代表14,F代表15

  • 十进制转二进制
    2 ∣ 94 余 0 2 ∣ 47 1 2 ∣ 23 1 2 ∣ 11 1 2 ∣ 5 1 2 ∣ 1 0 1 结果 1011110 \begin{aligned} &2|94 \quad 余 & 0 \\ &2|47 \quad & 1 \\ &2|23 \quad & 1 \\ &2|11 \quad & 1 \\ &2|5 \quad & 1 \\ &2|1 \quad & 0 \\ & \quad1 \\ 结果1011110 \end{aligned} 结果10111102∣942∣472∣232∣112∣52∣11011110

  • 二进制转八进制

    从后面开始每3位切割转十进制
    10001110 10 001 110 2 1 6 10001110 \\ 10\quad001\quad110 \\ 2\quad\quad1\quad\quad6 1000111010001110216

  • 二进制转十六进制

    从后面开始每4位切割转十进制
    10001110 1000 1110 8 E 10001110 \\ 1000 \quad 1110 \\ 8 \quad\quad\quad E 10001110100011108E

编码(原码、反码、补码、移码)

  • 原码转反码

    第一位符号位不变后面的取反
    1000 0001 原码 1111 1110 反码 1000 \quad 0001 \quad 原码\\ 1111 \quad 1110 \quad 反码 10000001原码11111110反码

  • 原码转补码

    在反码的基础上加1
    1000 0001 原码 1111 1110 + 1 反码 1111 1111 补码 1000 \quad 0001 \quad 原码\\ 1111 \quad 1110+1 \quad 反码\\ 1111 \quad 1111 \quad 补码 10000001原码11111110+1反码11111111补码

  • 原码转移码

    一般用作浮点运算中的阶码

    在补码的基础上,把首位取反
    1000 0001 原码 1111 1111 补码 0111 1111 移码 1000 \quad 0001 \quad 原码\\ 1111 \quad 1111 \quad 补码 \\ 0111 \quad 1111 \quad 移码 \\ 10000001原码11111111补码01111111移码

数值1数值-11-1
原码0000 00011000 00011000 0010
反码0000 00011111 11101111 1111
补码0000 00011111 11110000 0000
移码1000 00010111 11111000 0000

取值范围

整数
原码 − ( 2 n − 1 − 1 ) -(2^{n-1}-1) (2n11)~ 2 n − 1 − 1 2^{n-1}-1 2n11
反码 − ( 2 n − 1 − 1 ) -(2^{n-1}-1) (2n11)~ 2 n − 1 − 1 2^{n-1}-1 2n11
补码 − ( 2 n − 1 ) -(2^{n-1}) (2n1)~ 2 n − 1 − 1 2^{n-1}-1 2n11(有正0,和负0)

浮点数运算

浮点数表示:
N = M ∗ R e N=M*R^e N=MRe
其中M称为尾数,e是指数,R为基数

运算流程

  • 对阶
    1000 + 119 → 1.0 ∗ 1 0 3 + 0.119 ∗ 1 0 3 1000+119 \rightarrow 1.0*10^3 + 0.119*10^3 1000+1191.0103+0.119103

  • 尾数计算
    1 + 0.119 = 1.119 1+0.119 = 1.119 1+0.119=1.119

  • 结果格式化

    首位必须是个位数
    0.119 ∗ 1 0 3 → 1.19 ∗ 1 0 2 11.9 ∗ 10 → 1.19 ∗ 1 0 2 0.119*10^3 \rightarrow 1.19*10^2 \\ 11.9 * 10 \rightarrow 1.19 *10^2 0.1191031.1910211.9101.19102

计算机结构

计算机结构包括CPU和主存储器

CPU包括运算器和控制器

运算器:

  • 算术逻辑单元ALU:做运算的
  • 累加寄存器AC:
  • 数据缓冲寄存器DR:读写主存储器时,暂存主存储器数据
  • 状态条件寄存器PSW:存储运算过程中的标记位的

控制器

  • 程序计数器PC:存储下一条指令的位置
  • 指令寄存器IR
  • 指令译码器
  • 时序部件

体系结构分类-flynn

在这里插入图片描述

CISC与RISC

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

流水线

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

  • 流水线计算公式:

    1条指令执行时间+(指令条数-1)流水线周期

    *理论公式: ( t 1 + t 2 + ⋯ + t k ) + ( n − 1 ) ∗ Δ t (t1+t2+ \cdots + tk)+(n-1)*\Delta t (t1+t2++tk)+(n1)Δt

    实践公式: ( k + n − 1 ) ∗ Δ t (k+n-1)*\Delta t (k+n1)Δt

  • 吞吐率计算
    T P = 指令条数 流水线执行时间 TP=\frac{指令条数}{流水线执行时间} TP=流水线执行时间指令条数

  • 加速比
    S = 不使用流水线执行时间 使用流水线执行时间 S=\frac{不使用流水线执行时间}{使用流水线执行时间} S=使用流水线执行时间不使用流水线执行时间

  • 流水线的效率
    E = n 个任务占用的时空区 k 个流水段的总的时空区 = T 0 k T k E=\frac{n个任务占用的时空区}{k个流水段的总的时空区} = \frac{T_0}{kT_k} E=k个流水段的总的时空区n个任务占用的时空区=kTkT0

层次化存储结构

在这里插入图片描述

cache

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

如果以代表对Cache的访问命中率, t 1 t_1 t1表示Cachel的周期时间, t 2 t_2 t2表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为 t 3 t_3 t3则:
t 3 = h ∗ t 1 + ( 1 − h ) ∗ t 2 t_3=h*t_1+(1-h)*t_2 t3=ht1+(1h)t2
其中,(1-h)又称为失效率(未命中率)。

局部性原理

  • 时间局部性
  • 空间局部性
  • 工作集理论:工作集是进程运行是被频繁访问的页面集合

主存

分类

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

编址

在这里插入图片描述
C 7 F F F H + 1 = C 8000 H C 8000 H − A C 000 H ( 8 − C , 8 小于 C 需要往前借一位等于 16 + 8 = 24 , C = 12 ,即 24 − 12 = 12 , 所以为 C ) ( B − A = 1 ) = 1 C 000 H 1 C 000 H ÷ 2 10 = ( 1 ∗ 1 6 4 + 12 ∗ 1 6 3 ) ÷ 2 10 = ( 1 ∗ 2 4 ∗ 4 + 12 ∗ 2 4 ∗ 3 ) ÷ 2 10 = ( 2 16 + 12 ∗ 2 12 ) ÷ 2 10 = ( 2 16 − 10 + 12 ∗ 2 12 − 10 ) = ( 2 6 + 12 ∗ 2 2 ) = ( 64 + 12 ∗ 4 ) = ( 64 + 48 ) = 112 C7FFFH+1=C8000H \\ \begin{aligned} &C8000H-AC000H \\ &(8-C,8小于C需要往前借一位等于16+8=24,C=12,即24-12=12,所以为C)\\ &(B-A=1) \\ =& 1C000H \\ \end{aligned} \\ \begin{aligned} &1C000H \div 2^{10} \\ = &(1*16^4+12*16^3)\div 2^{10} \\ = &(1*2^{4*4}+12*2^{4*3})\div 2^{10} \\ = &(2^{16}+12*2^{12})\div 2^{10} \\ = &(2^{16-10}+12*2^{12-10}) \\ = &(2^{6}+12*2^{2}) \\ = &(64+12*4) \\ = &(64+48) \\ =& 112 \end{aligned} C7FFFH+1=C8000H=C8000HAC000H(8C,8小于C需要往前借一位等于16+8=24,C=12,即2412=12,所以为C)(BA=1)1C000H========1C000H÷210(1164+12163)÷210(1244+12243)÷210(216+12212)÷210(21610+1221210)(26+1222)(64+124)(64+48)112

1 = 112 K × 16 28 × 16 K × x = 112 28 × x = 4 x x = 4 \begin{aligned} 1 &= \frac{112K \times 16}{28 \times 16K \times x} \\ & = \frac{112}{28 \times x} \\ & = \frac{4}{x} \\ & x = 4 \end{aligned} 1=28×16K×x112K×16=28×x112=x4x=4

磁盘结构与参数

存取时间=寻道时间+等待时间(平均定位时间+转动延迟)
注意:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间。
在这里插入图片描述

33 m s ÷ 11 = 3 m s 33ms \div 11 = 3ms 33ms÷11=3ms,得到每个物理块读取数据的时间为 3 m s 3ms 3ms,也就是说磁头从 R 0 R_0 R0开始到 R 1 R_1 R1开始,用了 3 m s 3ms 3ms读完数据到缓冲区,等缓冲区处理完,并且需要磁头再转一圈到大 R 1 R_1 R1开始处才能再读取数据。所以读完物理块1到10的数据为
( 33 m s + 3 m s ) ∗ 10 = 360 m s (33ms+3ms)*10 = 360ms (33ms+3ms)10=360ms
此时磁头到达 R 11 R_{11} R11开始处,读取数据需要 3 m s 3ms 3ms,缓冲区处理时间需要 3 m s 3ms 3ms,所以处理完11个记录的时间为
360 m s + 3 m s + 3 m s = 366 m s 360ms+3ms+3ms = 366ms 360ms+3ms+3ms=366ms

优化后的存储顺序为 R 0 , R 6 , R 1 , R 7 , R 2 , R 8 , R 3 , R 9 , R 4 , R 10 , R 5 R_{0},R_{6},R_{1},R_{7},R_{2},R_{8},R_{3},R_{9},R_{4},R_{10},R_{5} R0,R6,R1,R7,R2,R8,R3,R9,R4,R10,R5,磁头只需转两圈就可以读取完全部数据,需要时间为
33 m s ∗ 2 = 66 m s 33ms*2 = 66ms 33ms2=66ms

总线

总线通常被分成三种类型,分别是

  • 内部总线
  • 系统总线
    • 数据总线
    • 地址总线
    • 控制总线
  • 外部总线

系统可靠性分析

串联系统

在这里插入图片描述
可靠度:
R = R 1 × R 2 × ⋯ × R n R=R_1 \times R_2 \times \cdots \times R_n R=R1×R2××Rn
失效率:
λ = λ 1 × λ 2 × ⋯ × λ n \lambda = \lambda_1 \times \lambda_2 \times \cdots \times \lambda_n λ=λ1×λ2××λn

并联系统

在这里插入图片描述

可靠度:
R = 1 − ( 1 − R 1 ) × ( 1 − R 2 ) × ⋯ × ( 1 − R n ) R=1-(1-R1) \times (1-R_2) \times \cdots \times (1-R_n) R=1(1R1)×(1R2)××(1Rn)
失效率:
μ = 1 1 λ ∑ j = 1 n 1 j \mu = \frac{1}{\frac{1}{\lambda}\sum_{j=1}^n\frac{1}{j}} μ=λ1j=1nj11

模冗余系统-了解

在这里插入图片描述
R = ∑ i = n + 1 m C m j × R 0 i ( 1 − R 0 ) m − i R=\sum_{i=n+1}^mC_m^j \times R_0^i(1-R_0)^{m-i} R=i=n+1mCmj×R0i(1R0)mi

混合系统-重点

在这里插入图片描述
R × ( 1 − ( 1 − R ) 3 ) × ( 1 − ( 1 − R ) 2 ) R \times (1-(1-R)^3) \times (1-(1-R)^2) R×(1(1R)3)×(1(1R)2)

差错控制

循环校验码CRC

海明校验码

在这里插入图片描述

校验位的位置为 2 n 2^n 2n

校验位的位数r和信息位的位数k关系:
2 r − 1 ≥ k + r 2^r-1 \geq k+r 2r1k+r
其中 r r r为校验位的位数
在这里插入图片描述

  • 18
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值