第一章【计算机组成与体系结构】

考情分析

考试题型分析:选择题

考试时间上午
试题类型选择题
分值6分
分值占比9%

数据的表示(★★★★)

第一节:数据的表示

  R进制转十进制使用按权展开法,其具体操作为:将R进制操作的每一位数值用RK表示,即幂的底数是R,指数是k,k与该位和小数点之间的举例有关。

当该位在小数点左边,k值是该位和小数点之间数码的个数。
而当该位位于小数点右边,K值是负值,其绝对值是该位和小数点之间的数码的个数加1。

  举例:
二进制10100.01=1x24+1x22+1x2-2;
七进制604.01=6x72+4x70+1x7-2
十进制5220=5x103+2x102+2x101

  十进制转R进制使用短除法(求取公约数),除到最后商为1为止。

二进制有两个基数,可以表示0-1的数;
八进制有八个基数,可以表示0-7的数;
十六进制有16个基数,可以表示0-15数;

  例如94转换成二进制
  2|94   0
  2|47   1
  2|23   1
  2|11   1
  2|5     1
  2|2     0
  2|1     1
  94对应的二进制就是1011110
  二进制转八进制
  八进制可以表示0-7的数,那么八进制用多少位二进制数表示?八进制最大的是7,7用2进制表示是111,三个二进制000代表的是八进制的0,那这样一来,每3位2二进制表示一位八进制。八进制每一位可以换3位二进制。二进制转八进制默认右边是低位,左边是高位。
  例如:二进制10001110转换为八进制
  三位一拆分缺0补0
  010 001 110
  2   1   6
  结果为(216)8,也可以写为o216
  八进制转二进制是以上结果的逆运算。
  十六进制可以表示0-15的数,那么十六进制用多少位二进制数来表示?十六进制最大的是15,15用2进制表示是1111,那这样一来,我们用四位的二进制来表示一个十六进制的数。为了不引起混乱,计算机中规定,A,B,C,D,E,F分别代表10,11,12,13,14,15。
  例如:二进制10001110转换为十六进制
  四位一拆分缺0补0
  1000 1110
  8    E
十六进制转二进制是以上结果的逆运算。

码制有四种 ,首位为符号位,0表示正数,1表示负数
原码 把数转换为二进制,机器数。
反码 正数的反码和他的原码是一样的。负数的反码就是在原码的基础上,除符号位外,取反。
补码 正数的补码和他的原码是一样的。负数的补码在反码的基础上再加1。
移码 再补码的基础上符号位取反。
负数的原码转补码,补码转原码是同样的规则,除符号位外,取反再加1。
在计算机里,使用补码参与加减乘除运算

第二节:数值的表示范围、浮点的运算

数值的表示范围

定点:小数点位置是固定的数
定点整数:固定小数点在最低位的右边。-128的补码为10000000是人为规定的。

码制(n为机器数)定点整数定点小数
原码-(2n-1 -1)~+(2n-1-1)
反码-(2n-1 -1)~+(2n-1-1)
补码-2n-1 ~+(2n-1-1)
移码-2n-1 ~+(2n-1-1)

  推导过程:以四位机器数为例子,最小的机器数为1111(转换10进制为-7),最大的四位机器数为0111(转换10进制为7)7=23-1,-7=-23-1。

浮点的运算

浮点数的表示: N=尾数*基数指数(阶码) 运算过程 对阶>尾数计算>结果格式化 特点
1.一般尾数用补码,阶码用移码
2.阶码的位数决定数的表示范围,位数越多,范围越大。
3.位数的位数决定的有效精度,位数越多,精度越高。
4.对阶时,小数向大数看齐。
5.对阶是通过较小数的尾数右移来实现的。
6.浮点数的存储格式是阶符(阶码的正负0为正,1为负)、阶码、数符(0为正,1为负)、尾数

运算器与控制(★★★★)

在这里插入图片描述
硬盘不属于主机,它是辅助存储器。

运算器
算术逻辑单元ALU:专门做算术运算,逻辑运算。
累加寄存器AC:给算术逻辑单元提供工作区域,把临时的计算结果存储在累加寄存器里面。
数据缓冲寄存器DR:写内存时,暂存指令或数据。
状态条件寄存器PSW:记录进位,清零,等操作,存状态标志与控制标志。(历年软考有时候状态条件寄存器属于运算,有时候属于控制器)
控制器
程序计数器PC:存放CPU将要执行的下一条指令底地址。(下一条指令)
指令寄存器IR:存储即将执行底的指令 (做什么)
指令译码器ID:翻译用户发出的指令。
时序部件:提供时序控制信号
地址存储器DR:记录CPU当前要访问的指令的地址。(当前指令)

Flynn分类法(★★)

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

CISC与RISC(★★)

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

流水线与技术(★★★★)

  流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术,各种不见同时处理时针对不同这个i零而言的,他们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均速度。
  相关参数计算:流水线执行计算时间计算、流水线吞吐率、流水线加速比、流水线效率

流水线执行计算时间计算
流水线周期为执行时间最长的一段。
串行方式指的是内有引入流水线方式。
流水线计算公式为: 1条指令执行时间+(指令条数-1)*流水线周期 理论公式
①理论公式:(t1+t2+……tk)+(n-1)Δt
②实际公式: kΔt+(n-1)Δt
做题时,先验证理论公式,再验证实际公式
流水线-超标量流水线。效率提升为度的倍数。假设有10条指令要去执行的话,度为2的话,我们就相当于只需要5条指令的执行时间。度可以理解为N条相同的流水线

流水线吞吐率计算
流水线的吞吐率时值在单位时间内流水线所完成的任务数量或输出的结果数量。
TP=指令条数/流水线执行时间 流水线最大吞吐率:
TPmax=Limn→∞n/(k+n-1)Δt =1/Δt

存储系统(★★★★)

Cache概念
在计算机的存储系统体系中,Cache时访问速度最快的层次(若有寄存器,则寄存器最快)。
使用Cache改善系统性能的依据时程序的局部性原理。局部性原理又分为时间局部性原理和空间局部性原理,能够防止抖动(电脑闪屏)。
如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”系统的平均周期为t3,则:
t3=hxt1+(1-h)xt2
其中(1-h)又称为失效率。

Cache映像
直接相连映像:硬件电路较为简单,但冲突率最高。
全相连映像:电路难于设计和实现,只适用于小容量的cache,冲突率最低。
组相连映像:直接相联与全相联的折中。 地址映像是将主存与Cache的存储空间划分为若干大小相同的页(或者称为快)。先分区,再分组,组和组之间采用直接相连映像,组内采用全相连映像。
例如,某机的主存容量为1GB,划分为2048页,每页512kb;Cache容量为8mb,划分为16页,每页512kb。

磁盘结构与参数(★★)

磁盘:软盘,机械硬盘等属于磁盘,SSD属于不属于磁盘。
磁盘用一个环形的盘片来保存数据,上面涂上特殊的材质来保存数据,读取数据用专业的设备,磁头来保存数据,数据存储在盘面的磁道扇区上面。读取数据的时候,需要磁头移动到对应的磁道上面,这个时间就被称为寻道时间。
在一个磁道上面,会分为很多个扇区,等待读写的扇区转到磁道下方所用的时间,称为等待时间。
存取时间=寻道时间+等待时间

   例题:假设某磁盘的每个磁道划分成9个物理块,每块存放1个逻辑记录。逻辑记录R0,R1,…,R8存放在同一个磁道上,记录的安排顺序如下表所示:

物理块123456789
逻辑记录R1R2R3R4R5R6R7R8R9

  如果磁盘的旋转速度为 27ms/周,磁头当前处在 R0 的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为 3ms,则处理这 9 个记录的最长时间为( );若对信息存储进行优化分布后,处理 9个记录的最少时间为( )。

  分析:系统读记录的时间为27/9=3ms,
对R1的处理,先读出记录需要3ms,然后处理,同时磁头也在转动,当处理完R1时,磁头已经到达R3的位置。
再处理R2 ,磁头需要旋转到R2的开始位置,至此,一共花费了30ms。后面的R2至R8依此类推。
···
  再处理R9,读出记录3ms,然后处理需要3ms。
  因此整个的时间为:8*30+3+3=246ms
  对于第二种情况,若对信息进行分布优化的结果如下所示:
  从上表可以看出,当读出记录R1并处理结束后,磁头刚好转至R2记录的开始处,立即就可以读出并处理,因此处理9个记录的总时间为:
  9×(3ms(读记录)+3ms(处理记录))=9 × 6ms=54ms

总线系统(★)

广义地讲,任何连接两个以上电子元器件的导线都可以称为总线。通常可分为4类:
①芯片内总线。用于在集成电路芯片内部各部分的连接。
②元件级总线。用于一块电路板内各元器件的连接。
③内总线,又称系统总线。用于构成计算机各组成部分(CPU、内存和接口等)的连接。 .
④外总线,又称通信总线。用计算机与外设或计算机与计算机的连接或通信。
连接处理机的处理器、存储器及其他部件的总线属于内总线,按总线上所传送的内容分为数据总线、地址总线和控制总线。
一条总线同一时刻仅允许一个设备发送,但允许多个设备接收。 总线的分类
数据总线:在CPU与RAM之间来回传送需要处理或者存储的数据。
地址总线:用来指定在RAM之中存储的数据的地址。 控制总线:将微处理控制单元的信号,传送到周边设备。一般常见的为USB Bus和1394Bus。
控制总线:发送相应的控制信号的总线。

釆用总线结构主要有以下优点:简化系统结构,便于系统设计制造;大大减少了连线数目,便于布线,减小体积,提髙系统的可靠性;便于接口设计,所有与总线连接的设备均釆用类似的接口;便于系统的扩充、更新与灵活配置,易于实现系统的模块化; 便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作;便于故障诊断和维修,同时也降低了成本。
内存容量为4GB,即内存单元的地址宽度为32位。字长为32位即要求数据总线的宽度为32位。

例题1:总线宽度为32bit,时钟频率为200MHz,若总线上每5个时钟周期传送一个32bit的字,则该总线的带宽为(160)MB/s。
解析:总线的宽度指的是总线的线数,即数据信号的并行传输能力,也体现总线占用的物理空间和成本;总线的带宽指的是总线的最大传输速率,即每秒传输的数据总量。总线宽度与始终频率共同决定了总线的带宽。
32bit/8=4Byte
200MHz/5 X 4 Byte = 160 MB/s

可靠性(★)

串联系统与并联系统的可靠度。

串联系统:假设一个系统由n个子系统组成,当且仅当所有的子系统都有能正常工作时,系统才能正常工作,这种系统称为串联系统。
设系统各个子系统的可靠性分别用R1, R2, R3……, Rn表示,则系统的可靠性 R=R1×R2×R3×……×Rn
如果系统的各个子系统的失效率分别用λ1, λ2, λ3……, λn来表示,则系统的失效率 λ=λ1+λ2+λ3+……+λn
则系统平均故障间隔时间为: MTBF=1/λ
系统平均故障间隔时间 MTBF=1/0.0003=3333

并联系统:假如一个系统由n个子系统组成,只要有一个子系统能够正常工作,系统就能正常工作。 设系统各个子系统的可靠性分别用R1, R2,
R3……, Rn表示,则系统的可靠性 R=1-(1-R1)×(1-R2)×(1-R3)×……×(1-Rn)
如果系统的各个子系统的失效率均为λ,则系统的失效率μ为
在这里插入图片描述
则系统平均故障间隔时间为: MTBF= 1/μ

校验码(★★)

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

码距:任意两个合法编码(码字)之间不同的二进制数位数。
例题1:
编码系统用3位二进制来编写4个码字,那么此编码系统的码距是多少?
码字:
001 010 100 111
解答
码字001
001(码字)和010(码字)二进制位有第1位相同(从左到右),第2位不同,第3位不同,码距为2;
001(码字)和100(码字)二进制位有第1位(从左到右)不同、第2位相同,第3位不同,码距为2;
001(码字)和111(码字)二进制位有第1位(从左到右)不同、第2位不同,第3位相同,码距为2;
码字010
010(码字)和100(码字)二进制位有第1位(从左到右)不同、第2位不同,第3位相同,码距为2;
010(码字)和111(码字)二进制位有第1位(从左到右)不同、第2位相同,第3位不同,码距为2;
码字100
100(码字)和111(码字)二进制位有第1位(从左到右)相同、第2位不同,第3位不同,码距为2。
因此,此编码系统的码距为:2。
在一个码组内,为了检测e个误码,要求最小码距d应该满足d>=e+1
在一个码组内,为了纠正t个误码,要求最小码距d应该满足d>=2t+1

环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设要发送的信息用多项式C(X)表示,将C(x)左移R位(可表示成C(x)*2R),这样C(x)的右边就会空出R位,这就是校验码的位置。用 C(x)*2R 除以生成多项式G(x)得到的余数就是校验码。
任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。

对应关系
多项式和二进制数有直接对应关系:X的最高幂次对应二进制数的最高位,以下各位对应多项式的各幂次,有此幂次项对应1,无此幂次项对应0。可以看出:X的最高幂次为R,转换成对应的二进制数有R+1位。
多项式包括生成多项式G(X)和信息多项式C(X)。 如生成多项式为G(X)=X4+X3+X+1, 可转换为二进制数码11011。
而发送信息位 101111,可转换为数据多项式为C(X)=X5+X3+X2+X+1。 生成多项式
是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。
在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接收方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。
应满足以下条件: A、生成多项式的最高位和最低位必须为1。
B、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做除后应该使余数不为0。 C、不同位发生错误时,应该使余数不同。
D、对余数继续做除,应使余数循环。 校验码位数 CRC校验码位数 = 生成多项式位数 -
1。注意有些生成多项式的简记式中将生成多项式的最高位1省略了。 原则编辑
若设码字长度为N,信息字段为K位,校验字段为R位(N=K+R),则对于CRC码集中的任一码字,存在且仅存在一个R次多项式g(x),使得
V(x)=A(x)g(x)=xRm(x)+r(x); 其中: m(x)为K次原始的信息多项式,
r(x)为R-1次校验多项式(即CRC校验和), g(x)称为生成多项式: g(x)=g0+g1x1+
g2x2+…+g(R-1)x(R-1)+gRxR 发送方通过指定的g(x)产生CRC码字,接收方则通过该g(x)来验证收到的CRC码字。
生成方法编辑 借助于模2除法则,其余数为校验字段。 1、将X的最高次幂为R的生成多项式G(X)转换成对应的R+1位二进制数。
2、将信息码左移R位,相当于对应的信息多项式C(X)*2R。
3、用生成多项式(二进制数)对信息码做除,得到R位的余数(注意:这里的二进制做除法得到的余数其实是模2除法得到的余数,并不等于其对应十进制数做除法得到的余数。)。
4、将余数拼到信息码左移后空出的位置,得到完整的CRC码。
【例1】假设使用的生成多项式是G(X)=X3+X+1。4位的原始报文为1010,求编码后的报文。 解:
1、将生成多项式G(X)=X3+X+1转换成对应的二进制除数1011。
2、此题生成多项式有4位(R+1)(注意:4位的生成多项式计算所得的校验码为3位,R为校验码位数),要把原始报文C(X)左移3(R)位变成1010 000
3、用生成多项式对应的二进制数对左移3位后的原始报文进行模2除(高位对齐),相当于按位异或:

例2:信息字段代码为: 1011001;对应m(x)=x6+x4+x3+1
假设生成多项式为:g(x)=x4+x3+1;则对应g(x)的代码为: 11001
x4m(x)=x10+x8+x7+x4 对应的代码记为:10110010000;
采用模2除法则: 得余数为: 1010(即校验字段为:1010)
发送方:发出的传输字段为: 10110011010
信息字段 校验字段
接收方:使用相同的生成码进行校验:接收到的字段/生成码(二进制除法)
如果能够除尽,则正确,
给出余数(1010)的计算步骤:
除法没有数学上的含义,而是采用计算机的模二除法,即除数和被除数做异或运算。进行异或运算时除数和被除数最高位对齐,按位异或。

利用CRC进行检错的过程可简单描述为:在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的r位监督码(CRC码),附在原始信息后边,构成一个新的二进制码序列数共k+r位,然后发送出去。在接收端,根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。这个规则,在差错控制理论中称为“生成多项式”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值