专题一:计算机组成与体系结构

115 阅读11分钟

数据的表示

进制转换

(1)R 进制转十进制:按权展开法

(2)十进制转R 进制:除以 R 取余,倒着排列余数

(3)二进制、八进制、十六进制转换:

二进制转八进制将每 3 个二进制数转换为八进制数
二进制转十六进制数将每 4 个二进制数转换为八进制数
八进制转二进制将每个八进制数转换为 3 位二进制数
十六进制转二进制将每个十六进制数转换为 4 位二进制数

八进制数和十六进制数转换可先转换为二 进制数,然后再转换为目标进制。

原码、反码、补码、移码

  • 0 表示正数,1 表示负数
  • 正数=原码=反码=补码
  • 负数的补码=负数的反码+1
  • 移码只用于整数,补码的符号位取反

表示范围

整数
原码-(2n-1-1)~2n-1-1
反码-(2n-1-1)~2n-1-1
补码-2n-1~2n-1-1

浮点数运算(小阶向大阶对齐,小阶尾数右移)

**N = M * R e M:尾数;e:指数;R:基数 **

计算机结构

  • (1)运算器=算术逻辑单元(ALU)+累加寄存器(AC)+数据缓冲寄存器(DR)+状态条件寄存器(PSW)
  • (2)控制器=指令寄存器(IR)+程序计数器(PC)+地址寄存器(AR)+指令译码器(ID)+时序部件

Flynn分类法(指令流/数据流)

体系结构类型结构关健特性代表
单指令流单数据流控制部分:单处理器系统
SISD
控制部分:一个
处理器:一个
主存模块:一个
单处理器系统
单指令流多数据流控制部分:一个各处理器以异并行处理机
SIMD
控制部分:一个
处理器:多个
主存模块:多个
各处理器以异步的形式执行同一条指令并行处理机
阵列处理机
超级向量处理机
多指令流单数据流
MISD
控制部分:多个
处理器:一个
主存模块:多个
被证明不可能,
至少是不实际
目前没有,有文献称流水线计算机为此类
多指令流多数据流
MIMD
控制部分:多个
处理器:多个
主存模块:多个
能够实现作业、任务、指令等各级全面并行多处理机系统
多计算机

CISC 与 RISC

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

流水线技术(计算指令的执行总时间、平均时间、计算机运算速度)

基本概念

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

画板

取指123
分析123
执行123

未使用流水线执行指令情况

取指123
分析123
执行123

使用流水线执行指令情况

流水线周期及执行时间的计算

取指123...n
分析123...n
执行123...n

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

流水线计算公式为:

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

①理论公式:(t1+t2++tk)+(n-1)*△t

②实践公式:(k+n-1)*△t

例:若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别

是取指2ns,分析2ns,执行1ns。那么,流水线周期是多少?100条指令全部执行

完毕需要的时间是多少?

流水线周期是2ns。

100条指令的总时间是: 5ns+99×2ns=5ns+198ns=203ns

综上所述,流水线周期是2ns,100条指令全部执行完毕需要的时间是203ns。

流水线吞吐率的计算

流水线的吞吐率(ThoughPutrate,TP)是指在单位时间内流水线所完成的

任务数量或输出的结果数量。计算流水线吞吐率的最基本的公式如下:

image

流水线最大吞吐率: image

流水线的加速比计算

image

流水线的效率

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

画板

空间

S41234
S31234
S21234
S11234

15△t时间

连续处理4个数据的时空图

计算流水线效率的公式为:

image

多级存储体系

层次化存储结构

基于性价比:速度快的存储空间小,价格昂贵;速度慢的存储空间大,价格便宜。

画板

Cache的概念以及命中率

Cache-概念:

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

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

image

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

局部性原理(Cache的依据)

:::info 时间局部性

空间局部性

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

:::

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

内存问题(随机存储器和只读存储器)

主存分类

画板

主存编址

000
001
010
011
100
101
110
111

8*4位的存储器

8*8位的存储器

16*4位的存储器

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

(1)A.96 B.112 C.132 D.156

(2)A.4 B.8 C.16 D.24

:::

:::color2 image

:::

已知每个地址单元是按字编址,即每个地址单元的位数是 16位。代入公式计算每存储单元存储的位数。

image

磁盘的工作原理

磁盘结构

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

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

头下方所用的时间。

磁盘容量计算

(1)非格式化容量=面数×(磁道数/面)×内圆周长×最大密度

(2)格式化容量=面数×(磁道数/面)×(扇区数/面)X(字节数/扇区)

计算机总线

总线分类

:::color2 根据总线所处的位置不同,总线通常被分成三种类型,分别是:

:::

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

计算机的可靠性

串联模型=可靠度相乘

画板

并联模型=1-不可靠度相乘

画板

N模冗余模型

画板

串并联混合模型

画板

校验码(海明码)

校验码的检错纠错原理(增加码距)

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

:::color2 什么是码距?

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

例:

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

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

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

:::

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

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

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

:::

循环校验码马(CRC)-只能检错

循环余校验码在进行编码时,其编码的结果由数据位+校验位组成,其中数据位在前,而校验位在后。

校验码-循环校验码CRC

:::color1 什么是模2除法,它和普通的除法有何区别?

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

例如,10111对110进行模2除法为:

:::

海明校验码-既可以检错也可以纠错

例:求信息1011的海明码。

(1)image,确定校验码为3位:image>=4+3+1.分别放在imageimageimage位.

(2)列出校验位公式。

image

image

image

image

(3)根据公式得image

(4)将数据加入表格,如表所示。

7654321位数
imageimageimageimage信息位
imageimageimage校验位
7654321位数
imageimageimage1信息位
0imageimage校验位