计算机组成原理

黑色的灵眸大约 9 分钟软考重点

计算机组成原理

数据的表示

进制转换

    R进制转十进制:使用按权展开法

    十进制转R进制:短除法取余

原码 反码 补码 移码

    原码:正数符号位为0,负数符号位为1           【-(2n-1-1) ~ 2n-1-1】

    反码:正数与原码相同,负数符号位不变、其余取反【-(2n-1-1) ~ 2n-1-1】

    补码:正数与原码相同,负数反码基础上加1       【-2n-1 ~ 2n-1-1】

    移码:补码基础上首位取反

浮点数运算

    浮点数:  N = M * R^e  其中M为尾数,e是指数,R为基数

    对阶->尾数计算->结果格式化

计算机结构

    CPU、运算器、控制器、主存储器、主机
cpu结构1
cpu结构1
cpu结构2
cpu结构2

CPU是计算机的控制中心,是硬件系统的核心,用于数据的加工处理,能完成各种算术、逻辑运算及控制功能。主要由运算器、控制器、寄存器组和内部总线\color{red}运算器、控制器、寄存器组和内部总线等部件组成。

控制器由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器\color{red}程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,

它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作,控制整个计算机的各个部件有条不紊地工作。

控制器的基本功能是从内存取指令和执行指令\color{red}内存取指令和执行指令

控制器的主要功能有:从内存中取出一条指令,并指出下一条指令在内存中的位置;对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作;指挥并控制CPU、内存和输入输出设备之间数据的流动。

为了保证程序指令能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。CPU中跟踪指令地址】\color{red}【CPU中跟踪指令地址】而程序计数器正起到这种作用,所以通常又称为指令计数器。

程序计数器(PC)是专用寄存器,具有寄存信息和计数两种功能,又称为指令计数器。

在程序开始执行前,将程序的起始地址, 即程序的一条指令所在的内存单元地址送入PC,该地址在程序加载到内存时确定,因此PC的初始内容即是程序第一条指令的地址。

执行指令时,CPU将自动修改PC的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序执行的,因此修改的过程通常只是简单地对PC加1。

当遇到转移指令时,后继指令的地址根据当前指令的地址加上一个向前或向后转移的位移量得到,或者根据转移指令给出的直接转移的地址得到。

cpu结构3
cpu结构3

指令寄存器(IR\color{red}指令寄存器(IR)用来保存当前正在执行的指令。当执行一条指令时,先把它从内存取到数据寄存器(MDR)中,然后再传送至IR。

为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。

指令译码器(ID\color{red}指令译码器(ID)就是做这项工作的。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。

地址寄存器(MAR\color{red}地址寄存器(MAR)用来保存当前CPU所访问的内存单元的地址,以方便对内存的读写操作。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。

【注:地址寄存器(AR)用来保存当前CPU所访问的内存单元的地址

程序计数器(PC\color{red}程序计数器(PC)用于存放下一条指令所在单元的地址】

数据寄存器(MDR\color{red}数据寄存器(MDR)主要是用来保存操作数和运算结果等信息的,其目的是为了节省读取操作数所需占用总线和访问存储器的时间。

累加器(AC\color{red}累加器(AC)是专门存放算术或逻辑运算的一个操作数和运算结果的寄存器。能进行加、减、读出、移位、循环移位和求补等操作,是运算器的主要部分。

ALU(算逻运算单元)\color{red}ALU(算逻运算单元)是CPU的执行单元,主要负责运算工作。

在CPU中,常用来为ALU执行算术逻辑运算提供数据并暂存运算结果的寄存器是累加寄存器。

VLIW\color{red}VLIW:(Very Long Instruction Word,超长指令字)一种非常长的指令组合,它把许多条指令连在一起,增加了运算的速度。

Flynn分类法

    单指令流单数据流 SISD:单处理器系统

    单指令流多数据流 SIMD:各处理器以异步的形式执行同一条指令:并行处理机、阵列处理机、超级向量处理机

    多指令流单数据流 MISD:并不存在

    多指令流多数据流 MIMD:多处理机系统、多计算机

CISI与RICI

CISI与RICI
CISI与RICI

流水线技术

取指->分析->执行

流水线计算

1条指令执行时间(总和)+(指令条数1流水线周期(流水线中用时最大的段为周期)\color{red}1条指令执行时间(总和)+(指令条数-1)* 流水线周期(流水线中用时最大的段为周期)

吞吐率

TP=指令条数/流水线执行时间\color{red}指令条数/流水线执行时间

流水线最大吞吐率:1/Δt\color{red}1/Δt

加速比

S=不使用流水线执行时间/使用流水线执行时间

效率

E=n个任务占用的时空区/k个流水段的总的时空区

层次化存储结构

CPU -> 寄存器

Cache -> 按内容存取

内存(主存)

外存(辅存) -> 硬盘、光盘、U盘等

Cache功能:提高CPU数据输入输出的效率

如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为tξ,则:

tξ=ht1+(1-h) t2

其中,(1-h)又称为失效率(未命中率)

主存

分类:随机存取存储器RAM、只读存储器ROM\color{red}随机存取存储器RAM、只读存储器ROM(掉电后仍能存储信息)

主存编址

例:内存地址从AC000H到C7FFFH,共有 112 K个地址单元,如果该内存地址按字(16bit)编址,由28片存储器芯片构成。已知构成此内存的芯片每片有16K个存储单元,则该芯片每个存储单元存储 4 位。

∵地址单元:大地址-小地址+1

∴地址单元:C7FFFH-AC000H+1=C8000H-AC000H【从高位借一位即借16】=1C000H

∵K=210=1024

∴地址单元为1C000H/210=112K【1C000H=1164+12163=(114688)10,114688/1024=112】

设芯片每个存储单元存储x位,则11216bit/(2816K*x)=1,得x=4

磁盘结构与参数

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

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

总线:根据总线所处位置不同分为

  • 内部总线(微机内部各个外围芯片与处理器之间的总线,芯片级别)

  • 系统总线(微机中各个插线板与系统板之间的总线,插线板级别)【数据总线、地址总线、控制总线】

    1.数据总线

传输数据用的。如果是32位的计算机代表一个字是32个bit位,代表总线的宽度就是32bit位。一个周期能够传输的数据量就是32个bit位。

  2. 地址总线

假如地址总线是32位,说明代表的地址空间是232,也就是4G的宽度。

往往我们需要用到的内存超过4G,就要考虑32位以上的系统,否则管理不到这么多内存。

  3.控制总线

发送相应的控制信号的总线。

  • 外部总线(微机和外部设备的总线)

系统可靠性分析-串联系统与并联系统

 1.串联系统

可靠性计算:R=R1R2R3*…*Rn

失效率计算:λ=λ1+λ2+…+λn

 2. 并联系统

设R1是子系统1的可靠度,则失效是 1-R1

可靠性计算:R=1-(1-R1)x(1-R2)x(1-R3)…x(1-Rn)

差错控制-CRC与海明校验码

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

在一个码组内为了检测e个误码,要求最小码距应满足:d>=e+1

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

①循环校验码CRC:可检错不可纠错

模2除法的特点就是:每一位除的结果不影响其它位,即不向上一位借位

模2除法原则:

1、被除数的首位为1,商为1

2、被除数的首位为0,商为0

3、模2除法等同于按位异或,要保证每次除完首位都为0,才能进行右移

4、计算时每次右移一位,当被除数的位数小于除数,其为余数

②海明校验码:能检错,还能纠错

海明校验码是在n个数据位之外增设k个校验位,从而形成一个k+n位的新的码字,是新的码字的码距比较均匀地拉大。n与k的关系是2k-1≥n+k。

海明校验码
海明校验码

校验位: 校验位的位置是有规律的。都是位于2n。

信息位:不是校验位的其他位置。

X是信息位长度,r是校验位个数,得出 2r >= X+r+1

纠错:把接收到的校验位与真实校验位进行异或操作,取反就能纠错了。

Loading...