计算机组成复习重点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.理解以下概念
①主频:又称时钟频率,表示在CPU内数字脉冲信号震荡的速度,用MHz或GHz 为单位。
②CPU时钟周期:主频的倒数,是CPU中最小的时间单位。
③CPI:执行一条指令所需要的时钟周期。
由于不同指令的功能不同,造成指令执行时间不同,所以CPI是一个平均值。
④MIPS:每秒执行指令的数量。
MIPS=指令数/(执行时间*106)=主频/CPI
⑤CPU执行时间,是指运行一个程序所花费的时间。
CPU执行时间=IC*CPI/主频
例:根据程序跟踪实验结果,每条指令所占的比例及CPI数如表1所述,求其平
CPI:执行一条指令所需要的时钟周期。
由表所给数据可知
该系统平均CPI=(1*40+22*2+10*2+28*2)/100=1.6
2.理解以下概念
(1)总线宽度:数据总线的根数。
用bit表示。
(2)总线带宽:总线的传输速率,即单位时间内总线上传输数据的位数,单位为MB/s。
总线带宽=总线工作频率*(总线宽度/8)
(3)总线工作频率:总线上各种操作的频率,等于总线周期的倒数。
实际上是指
一秒内传输几次数据。
(4)总线周期:是指一次总线操作所需的时间。
总线周期通常由若干个总线时钟周期构成。
总线时钟周期就是机器的时钟周期。
(5)总线时钟频率:指机器的时钟频率。
总线时钟频率=1/总线时钟周期。
(6)总线控制的4种方式:同步通信、异步通信、半同步通信、分离式通信。
例:某总线支持二级Cache 块传输方式,若每块 6 个字,每个字长 4 字节,时钟频率为100MHz。
(1)当读操作时,第一个时钟周期接收地址,第二、三个为延时周期,另用4 个周期传送一个块。
读操作的总线传输速率为多少?
(2)当写操作时,第一个时钟周期接收地址,第二个为延时周期,另用4 个周期传送一个块,写操作的总线传输速率是多少?
(3)设在全部的传输中,70%用于读,30%用于写,则该总线在本次传输中平均传输速率是多少?
分析:读操作传输一个块需要7个时钟周期,每块 6 个字,每个字长 4 字节,共24B,时钟频率为100MHz,故读操作的总线传输速率为24B/[(1/100MHz)*7]=343MB/s。
写操作时传输一个块需要6个时钟周期,每块 6 个字,每个字长 4 字节,共24B,时钟频率为100MHz,故读操作的总线传输速率为24B/[(1/100MHz)*6]=400MB/s。
设传送数据量为X字节,又已知在全部的传输中,70%用于读,30%用于写,读的数据量0.7X,读所用时间为0.7X/343;
写的数据量为0.3X,写所用时间为0.3X/400,传输X字节的数据需要花去0.7X/343+ 0.3X/400,
故平均传输速率=X/(0.7X/343+ 0.3X/400)
=1/(0.7/343+ 0.3/400)
=358MB/s
3.理解以下概念
①命中率:CPU要访问的信息已在Cache内的比率。
在一个程序执行期间,设
Nc为访问Cache的总命中次数,Nm为访问主存的总次数,则命中率
h= Nc /(Nc + Nm)
②Cache-主存系统平均访问时间ta:
ta =htc+(1-h)tm
tc为命中时的Cache访问时间。
tm为未命中时的主存访问时间。
③访问效率e:e= tc/ ta *100%
④写直达法和写回法
例:CPU 执行一段程序时,Cache 完成存取的次数为1900 次,主存完成存取的次数为100 次,已知Cache 存取周期为50ns,主存存取时间周期为250ns,设主存与Cache 同时访问,试问:
(1)Cache/主存系统的效率?
(2)平均访问时间?
分析:由已知条件可得命中率:
h=1900/2000=0.95,
e=tc/[htc+(1-h)tm]=1/[0.95*1+0.05*5]=83.3%
ta= htc+(1-h)tm=0.95*50+0.05*250=60ns
4.理解以下概念
I/O设备与主机的三种联络方式及特点
①程序查询方式
②中断传送方式
③DMA传送方式
例:硬磁盘共有4 个纪录面,存储区域内半径为10cm,外半径为15.5cm,道密度为60 道/cm,外层位密度为600bit/cm,转速为6000r/min。
问:
(1) 硬磁盘的磁道总数是多少?
(2) 硬磁盘的容量是多少?
(3) 将长度超过一个磁道容量的文件记录在同一柱面上是否合理?
(4) 采用定常数据块记录格式,直接寻址的最小单位是什么?
(5) 假定每个扇区的容量为512B,每个磁道有12 个扇区,寻道的平均等待时间为10.5ms,试计算磁盘平均存取时间。
分析:硬磁盘的一面磁道总数=(15.5-10)*60=330道。
记录面4个,故磁道总数=4*330=1320道。
因为在磁盘各磁道上记录的信息量是相同的,硬磁盘外周长= 15.5cm*2*3.14=97.34cm,外层位密度为600bit/cm,故外层磁道存储信息量=97.34*600=58404bit=7300B,磁盘总容量=7300*1320=3636000B。
合理。
不需要重新寻找新的磁道。
最小单位为扇区。
读取一个扇区的平均时间=平均寻址时间+平均读取时间
=平均等待时间+平均找扇区时间+平均读取时间
6000r/min=100r/s,1转的时间为1s/100=10ms
平均找扇区时间=(0+10)/2=5ms
平均读取时间=10/12=0.83ms
10.5+5+0.83=16.33ms
5.存储器校验(这节没讲过,但是……,你们懂的)
在计算机运行过程中,由于种种原因致使数据在存储过程中存在差错。
为了能及时发现错误并纠正错误,通常将原数据配成汉明编码。
汉明码具有一位纠错能力。
1.汉明码组成
由纠错理论可得:L-1=D+C (D>=C)
L:编码最小距离,任意两组合法代码之间的最少二进制位数差异。
D:检测错误位数。
C:纠正错误位数。
(1)码距:两组编码之间各位不同的数量之和。
例如:1100和1010的码距为2,
1111和0000的码距为4。
一个编码系统的码距就是整个编码系统中任意两个码字的最小距离。
例如:一个编码系统有四种编码,0000,0011,1100,1111,此编码系统中0000与1111的码距为4;0000与0011的码距为2,是此编码系统的最小码距。
因此该编码系统的码距为2。
(2)码距和检错纠错的关联
在一个码组内为了检测e个误码,要求最小码距应满足:d>=e+1。
在一个码组内为了纠正t个误码,要求最小码距应该满足:d>=2t+1。
为了能准确对错误定位以及指出代码没错,新增加的检测位数k应满足:2k>=n+k+1。
(3)汉明码形成过程
增加k位检测位:2k>=n+k+1,把k位依次放在1,2,4,8,…2k-1位上。
每个ki位负责检测的小组规则如下:
每1个小组gi有一位且仅有一位为它所独占,即gi独占第2i-1位。
每2个小组gi和gj共同占有一位是其他小组没有的,即gi和gj共同占有2i-1和2j-1。
每3个小组gi,gj和gl共同占有一位是其他小组没有的,即gi,gj和gl共同占有2i-1,2j-1和2l-1。
其它组以此类推。
(4)配奇,配偶原则
配奇原则:增加的检测位使得这一组的1的个数为奇数。
配偶原则:增加的检测位使得这一组的1的个数为偶数。
例1:按配偶原则配置0101的汉明码。
设0101的各位表示为b4b3b2b1(n=4),欲传送信息为b4b3b2b1 ,根据2k>=n+k+1,可得配置成汉明码需增添检测位k=3,把k位依次放在1,2,4,8,…2k-1位上。
由于k=3,这3位检测位应放置1,2,4位上,可得下表
按配偶原则,C1应使1、3、5、7位,C2应使2、3、6、7位,C4应使4、5、6、7位1的个数为偶数,故得:
故0101的汉明码为0100101
例2:参见教材102页例4.5
2.汉明码纠错过程
汉明码纠错过程实际上是对传送后的汉明码形成新的检测位Pi,根据Pi的状态便可以直接指出错误的位置。
具体实例见教材102页例4.4。
6.理解以下概念
①流水线方式特点
②影响流水线的因素
结构相关、数据相关、控制相关
③流水线的表示方法
流水线时空图表示
④指令周期流程
例:某台单流水线多操作部件处理机,包含有取指、译码、执行、写回4个功能段,取指和译码各需要一个时钟周期,MOV指令执行需要1个时钟周期,SUB 需要2个时钟周期,DIV需要3个时钟周期,每个操作都是在第一个时钟周期接
收数据,在最后一个时钟周期把结果写入通用寄存器。
画出指令执行过程中流水线的时空图。
I:MOV R1,R0 (R0)→R1
I+1:DIV R0,R1,R2 (R1)/(R2)→R0
I+2:SUB R0,R2,R3 (R2)-(R3)→R0
分析:由给出的指令可知,I+1指令的执行需用到R1寄存器,而R1寄存器内容是在I指令写回阶段执行完形成的,若按照正常流水执行,必然会发生冲突。
即数据相关。
故要让I+1指令得到正确结果需要推迟其中的阶段执行。
指令I+1和I+2执行都是将结果赋给R0,故不会发生相关,但是指令是按顺序执行的,指令I+1必须先执行完,指令I+2必须后执行完。
时空图如下图所示:
7.理解以下概念
(1)无符号数和带符号数
(2)机器数以及表示方法(原码、反码、补码)
(3)补码的运算以及溢出的判断
(4)浮点数的加减运算
例:假设有两个整数x和y,x=-68,y=-80,采用补码形式(含1位符号位)表示,x和y分别放在8位寄存器A和B中。
回答下列问题,所得结果均用16进制表示。
计算[x+y]补,判断结果是否溢出并说明判断的依据?
分析:带符号数-68转换为2进制为-0100 0100B(寄存器是8位的,所以用8位表示),-80转换为2进制为-0101 0000B。
X补=1011 1100B,Y补=1011 0000B
[x+y]补= 1011 1100B+ 1011 0000B=1 0110 1100B
结果超出8为寄存器保存范围,舍去最高位,故结果为0110 1100B
根据溢出判断方法,x补码最高位1,y补码最高位为1,结果最高位为0,说明结果溢出。
例:设x=2-101*(-0.101000),y=2-100*(+0.111011),并假设阶符取2位,阶码的数值部分取3位,数符取两位,尾数的数值部分取6位,求x-y。
分析:该题来自教材272页,例6.30,请同学自行阅读理解。
例:单总线计算机结构如图所示,其中M为主存,XR为变址寄存器,EAR为有效地址寄存器,LATCH为锁存器。
指令地址已存于PC中,图中各个寄存器的输入和输出均受控制信号控制,例如,PCi表示PC的输入控制信号,MDRo表示MDR的输出控制信号。
请给出指令ADD X,D(X表示变址寄存器XR,D表示形式地址)取指周期和执行周期微操作流程及相应控制信号。
分析:该题来自教材383页,例9.2,请同学自行阅读理解。
9.理解以下概念
(1)指令的结构
(2)指令中操作数的各种寻址方式和特点
例:某计算机字长16位,主存地址空间大小为128KB,按字编址,采用单字长指令格式,指令各字段定和寻址方式定义如下:
注:相对偏量用补码表示。
(1)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器和存储器数据寄存器至少需要几位?
(2)转移指令的目标地址范围是多少?
(3)若操作码0010B表示加法操作,寄存器R4和R5编号分别为100B和101B,R4的内容为1234H,R5的内容为5678H,地址1234H的内存单元的内容为5678H,地址5678H的内存单元的内容为1234H,则汇编指令add (R4),(R5)+对应的机器码是多少?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的值是?
分析:(1)由指令格式,OP从12~15共4位,指令有16条。
指令操作数寻址方式占3位,故寄存器占6-3=3位,寄存器最多有8个。
主存地址空间大小为128KB,按字编址,采用单字长指令格式,故内存单元地址为128KB/16bit=64K个=216,故存储器地址寄存器需要16位。
字长16位,数据寄存器需要16位。
(2)通用寄存器和PC都是16位的,故转移目标地址0~0FFFFH。
(3)汇编指令add (R4),(R5)+,机器码应为
0010 001 100 010 101B=2315H
执行完后R5要自增(R5)=5678H+1=5679H
指令是加法指令,源操作数和目的操作数都为寄存器间接寻址,故源操作数为5678H,目的操作数为1234H,执行指令后得到和为
5678H+1234H=68ACH,保存在目的操作数中,故地址为5678H的存储单元从1234H变为68ACH。