计算机组织与结构实验报告目录实验一 Hamming码 (2)实验二乘法器 (4)实验三时序部件 (6)实验四 CPU算术逻辑单元实验 (6)实验五 CPU指令译码器实验 (7)实验六 CPU微程序控制器实验 (10)实验七&八 CPU实验_无流水无cache (16)实验一 Hamming码观察实验现象并记录相应数据输入输出规则对应如下:1.输入的8位操作数对应开关SD15~SD8,编码后的hamming码在灯A0~A12上体现。
2.开关SA0是控制位,待校验的13位数据对应SD7~SD0与SA5~SA1。
3.比较的结果在灯R4~R0上体现。
如对8位数据10101100进行hamming编码和校验。
1、先手工计算校验位P5~P1=___10111_____,编码后的hamming码为___1101001101011____________。
2、拨动开关SD15~SD8输入10101100,观察灯A12~A0=_____1101001101011________,看是否与自己手工计算的hamming码相符。
3、输入待校验的13位数据,假设输入1111001101011。
拨动开关SA0为1开始校验,拨动SD7~SD0设置为11110011(13位数据中的高八位),SA5~SA1设置为01011(13位中的低5位)。
观察灯R4~R0=_ ___11011___,也就是校验结果的值。
4、比较编码后的hamming码和校验的hamming码,发现第_11_ 位数据错误,手工计算S=_____11011____,和3中观察到的R4~R0是否相符。
5、可以输入其他位错误的校验数据观察结果值S是否正确。
6、1~5做完后,重新输入新的8位数据做实验,并填写表1.1.4。
表1.1.4思考题:1、根据8位数据位的hamming编码原理,写出16位数据位的编码原理。
只实现一位纠错两位检错,根据数据位k与校验位r的对应关系,16位数据位需要6位校验位,可表示为H22H24…H2H1。
六个校验位P6~P1对应的海明码位号分别为H22、H16、H8、H4、H2和H1。
P6只能放在H22位上,因为H22已经是海明码的最高位了,其他五位满足P i的位号等于2i-1的关系,其余位为数据位D i,则有如下排列关系:P6D16D15D14D13D12P5D11D10D9D8D7D6D5P4D4D3D2P3D1P2P1根据8位数据位的hamming编码原理,可以得出16为数据位的hamming码必须满足如下关系:P1=D1⊕D2⊕D4⊕D5⊕D7⊕D9⊕D11⊕D12⊕D14⊕D16P2=D1⊕D3⊕D4⊕D6⊕D7⊕D10⊕D11⊕D13⊕D14P3=D2⊕D3⊕D4⊕D8⊕D9⊕D10⊕D11⊕D15⊕D16P4=D5⊕D6⊕D7⊕D8⊕D9⊕D10⊕D11P5=D12⊕D13⊕D14⊕D15⊕D16各数据位形成P i(i=1到5)值时,不同数据位出现在P i项中的次数是不一样的,使不同数据码的海明码的码距不等,并且有两位出错与一位出错分不清的问题。
为此,还要补充一个P5总校验位,使P6=D1⊕D2⊕D3⊕D4⊕D5⊕D6⊕D7⊕D8⊕D9⊕D10⊕D11⊕D12⊕D13⊕D14⊕D15⊕D16⊕P1⊕P2⊕P3⊕P4⊕P5在这种安排中,每一位数据位,都至少出现在三个P i值的形成关系中。
当任一位数据码发生变化时,必将引起三个或四个P i跟着变化,即合法海明码的码距都为4。
如按如下关系对所得到的海明码实现偶校验,即:S1=P1⊕D1⊕D2⊕D4⊕D5⊕D7⊕D9⊕D11⊕D12⊕D14⊕D16S2=P2⊕D1⊕D3⊕D4⊕D6⊕D7⊕D10⊕D11⊕D13⊕D14S3=P3⊕D2⊕D3⊕D4⊕D8⊕D9⊕D10⊕D11⊕D15⊕D16S4=P4⊕D5⊕D6⊕D7⊕D8⊕D9⊕D10⊕D11S5=P5⊕D12⊕D13⊕D14⊕D15⊕D16S6=P6⊕D1⊕D2⊕D3⊕D4⊕D5⊕D6⊕D7⊕D8⊕D9⊕D10⊕D11⊕D12⊕D13⊕D14⊕D15⊕D16⊕P1⊕P2⊕P3⊕P4⊕P5则得出的结果值S6~S1能反映22位海明码的出错情况。
任何偶数个数出错,S6一定为0。
1)当S6~S1为000000时,表明无错。
2)当S6~S1中仅有一位不为0,表明某一位校验位出错,或四位海明码(包括数据位与校验位)同时出错。
由于后一种出错的可能性要比前一种小得多,认为就是一位出错,出错位是该S i对应的P i位。
3)当S5~S1有不为0且S5=0时,表明两位海明码同时出错,此时只能发现这种错误,而无法确定是哪两位错。
4)当S5~S1中有3位或4位不为0,表明是一位数据位出错,或多个海明码同时出错。
由于后一种出错的可能性要比前一种小得多,认为就是一位数据位出错,出错位位号由S4~S1的编码值指明,因此此时不仅能发现一位错,而且能改正一位错,即将出错的数据位变为其反码。
2、思考hamming码中校验位出错时的情况,最高位的校验位出错时呢?对于8位数据位的hamming 码而言,当校验位出错时,对应的检验为有如下几种情况:S1-S5 : 10000 、11000 、10100 、10010 、10001。
最高位的校验位出错时情况是:S1-S5 : 10000实验二乘法器观察实验现象并记录相应数据进行新的乘法运算时,或者说当上一次运算结束即灯R7亮时,输入新的被乘数、乘数(拨动开关),然后按动单脉冲开关即可观察正确的寄存器结果。
思考题1、试述Booth乘法器的原理,即为什么可以用相邻两位的差来决定加减操作。
Booth算法的关键在于把1分类为开始、中间、结束三种。
当然一串0的时候加法减法都不做。
因此,总结1的分类情况有4种如表所示:以前乘法器的第一步是根据乘数的最低位来决定是否将被乘数加到中间结果积,而Booth算法则是根据乘数的相邻2位来决定操作,第一步根据相邻2位的4种情况来进行加或减操作,第二步仍然是将积寄存器右移。
算法描述如下:1)根据当前位和其右边的位,做如下操作:00:0的中间,无任何操作;01:1的结束,将被乘数加到积的左半部分;10:1的开始,积的左半部分减去被乘数;11:1的中间,无任何操作。
2)像前面所讲的算法,将积寄存器右移1位。
需要注意的是,因为Booth乘法器是有符号数的乘法,因此积寄存器移位的时候,为了保留符号位,进行算术右移,不像前面的算法逻辑右移就可以了。
实验三时序部件观察实验现象并记录相应数据表3.1 启停逻辑电路信息记录表:实验四 CPU算术逻辑单元实验观察实验现象并记录相应数据思考题如果保持原有操作码功能不变,运算器单元加上逻辑左移、逻辑右移等操作,那该如何处理?答:由于运算器是由:算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存器组等组成。
算术逻辑运算单元(ALU)的基本功能为加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、求补等操作。
计算机运行时,运算器的操作和操作种类由控制器决定。
运算器处理的数据来自存储器;处理后的结果数据通常送回存储器,或暂时寄存在运算器中。
实验五 CPU指令译码器实验观察实验现象并记录相应数据实验六 CPU微程序控制器实验观察实验现象并记录相应数据当C=0;Z=0时候各个指令执行的过程及各微指令的执行情况思考题比较在实验CPU中组合逻辑控制器和微程序控制器的特点;答:组合逻辑控制器和微程序控制器,两种控制器各有长处和短处。
组合逻辑控制器设计麻烦,结构复杂,一旦设计完成,就不能再修改或扩充,但它的速度快。
微程序控制器设计方便,结构简单,修改或扩充都方便,修改一条机器指令的功能,只需重编所对应的微程序;要增加一条机器指令,只需在控制存储器中增加一段微程序,但是,它是通过执行一段微程。
具体对比如下:组合逻辑控制器又称硬布线控制器,由逻辑电路构成,完全靠硬件来实现指令的功能。
组合逻辑控制器的基本组成(1)指令寄存器用来存放正在执行的指令。
指令分成两部分:操作码和地址码。
操作码用来指示指令的操作性质,如加法、减法等;地址码给出本条指令的操作数地址或形成操作数地址的有关信息(这时通过地址形成电路来形成操作数地址)。
(2)操作码译码器用:来对指令的操作码进行译码,产生相应的控制电平,完成分析指令的功能。
(3)时序电路:用来产生时间标志信号。
(4)指令计数器:用来形成下一条要执行的指令的地址。
微程序控制的基本思路微程序控制(简称微码控制)的基本思路是:用微指令产生微操作命令,用若干条微指令组成一段微程序实现一条机器指令的功能(为了加以区别,将前面所讲的指令称为机器指令)。
设机器指令M执行时需要三个阶段,每个阶段需要发出如下命令:阶段一发送K1、K8命令,阶段二发送K0、K2、K3、K4命令,阶段三发送K9命令。
当将第一条微指令送到微指令寄存器时,微指令寄存器的K1和K8为1,即发出K1和K8命令,该微指令指出下一条微指令地址为00101,从中取出第二条微指令,送到微指令寄存器时将发出K0、K2、K3、K4命令,接下来是取第三条微指令,发K9命令。
微程序控制器的组成1)控制存储器(contmlMemory)用来存放各机器指令对应的微程序。
(2)微指令的宽度直接决定了微程序控制器的宽度。
为了简化控制存储器,可采取一些措施来缩短微指令的宽度。
如采用字段译码法一级分段译码。
怎样才能让微程序自己跑起来,不用我们人工一个一个地输入IR指令呢?答:组合逻辑控制器和微程序控制器,两种控制器各有长处和短处。
组合逻辑控制器设计麻烦,结构复杂,一旦设计完成,就不能再修改或扩充,但它的速度快。
微程序控制器设计方便,结构简单,修改或扩充都方便,修改一条机器指令的功能,只需重编所对应的微程序;要增加一条机器指令,只需在控制存储器中增加一段微程序,但是,它是通过执行一段微程。
具体对比如下:组合逻辑控制器又称硬布线控制器,由逻辑电路构成,完全靠硬件来实现指令的功能。
实验七&八 CPU实验_无流水无cache观察实验现象并记录相应数据123。