77范文网 - 专业文章范例文档资料分享平台

计算机组织与结构实验报告 CQUPT

来源:网络收集 时间:2019-03-04 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

计算机组织与结构

实验报告

目录

实验一 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

8位数据 编码后(手工计算) A12~A0(实验现象) 输入待校验13位数据 R4~R0(实验现象) 输入待校验13位数据 R4~R0(实验现象) 第1组数据 1010 1100 1101001101011 1101001101011 1111001101011 11011 0101001101010 00001 第2组数据 1001 1101 0100101101111 0100101101111 0100101101110 10001 0100101101100 00011 第3组数据 0110 1011 1011001010100 1011001010100 1011001010000 10011 1011001010001 00010 思考题:

1、根据8位数据位的hamming编码原理,写出16位数据位的编码原理。 答:数据位k与校验位r的对应关系 k值 1~3 4~10 11~25 26~56 57~119 最小的r值 4 5 6 7 8 只实现一位纠错两位检错,根据数据位k与校验位r的对应关系,16位数据位需要6位校验位,可表示为H22H24…H2H1。

六个校验位P6~P1对应的海明码位号分别为H22、H16、H8、H4、H2和H1。P6只能放在H22位上,因为

H22已经是海明码的最高位了,其他五位满足Pi的位号等于2i1的关系,其余位为数据位Di,则有如下排列关系:

P6D16D15D14D13D12P5D11D10D9D8D7D6D5P4D4D3D2P3D1P2P1

根据8位数据位的hamming编码原理,可以得出16为数据位的hamming码必须满足如下关系: P1=D1?D2?D4?D5?D7?D9?D11?D12?D14?D16 P2=D1?D3?D4?D6?D7?D10?D11?D13?D14 P3=D2?D3?D4?D8?D9?D10?D11?D15?D16 P4=D5?D6?D7?D8?D9?D10?D11 P5=D12?D13?D14?D15?D16

各数据位形成Pi(i=1到5)值时,不同数据位出现在Pi项中的次数是不一样的,使不同数据码的海明码的码距不等,并且有两位出错与一位出错分不清的问题。为此,还要补充一个P5总校验位,使 P6=D1?D2?D3?D4?D5?D6?D7?D8?D9?D10?D11

?D12?D13?D14?D15?D16?P1?P2?P3?P4?P5

在这种安排中,每一位数据位,都至少出现在三个Pi值的形成关系中。当任一位数据码发生变化时,必将引起三个或四个Pi跟着变化,即合法海明码的码距都为4。 如按如下关系对所得到的海明码实现偶校验,即:

S1=P1?D1?D2?D4?D5?D7?D9?D11?D12?D14?D16 S2=P2?D1?D3?D4?D6?D7?D10?D11?D13?D14 S3=P3?D2?D3?D4?D8?D9?D10?D11?D15?D16 S4=P4?D5?D6?D7?D8?D9?D10?D11 S5=P5?D12?D13?D14?D15?D16

S6=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,表明某一位校验位出错,或四位海明码(包括数据位与校验位)同时出错。由于后一种出错的可能性要比前一种小得多,认为就是一位出错,出错位是该Si对应的Pi位。 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亮时,输入新的被乘数、乘数(拨动开关),然后按动单脉冲开关即可观察正确的寄存器结果。

重复 0 1 初始值 1:00→积=积+0 2:积右移1位 2 1:10→积=积-被乘数 2:积右移1位 3 1:11→积=积+0 2:积右移1位 4 1:01→积=积+被乘数 2:积右移1位 1001 1001 1001 1001 1001 步骤 被乘数(md) 被乘数是(-7)10 1001 1001 1001 1001 积(p) 乘数是(6)10 000001100 000001100 000000110 011100110 001110011 001110011 000111001 101011001 110101100

重复 0 初始值 步骤 被乘数(md) 被乘数是(-4)10 1100 积(p) 乘数是(-5)10 000010110 重复 1 步骤 1:10→积=积-被乘数 2:积右移1位 被乘数(md) 被乘数是(-4)10 1100 1100 1100 1100 1100 1100 1100 1100 积(p) 乘数是(-5)10 010010110 001001011 001001011 000100101 110100101 111010010 001010010 000101001 2 1:11→积=积+0 2:积右移1位 3 1: 01→积=积+被乘数 2:积右移1位 4 1:10→积=积-被乘数 2:积右移1位

思考题

1、试述Booth乘法器的原理,即为什么可以用相邻两位的差来决定加减操作。 Booth算法的关键在于把1分类为开始、中间、结束三种。

当然一串0的时候加法减法都不做。因此,总结1的分类情况有4种如表所示:

当前位 1 1 0 0 当前位右边的位 0 1 1 0 分类 1的开始 1的中间 1的结束 0的中间 以前乘法器的第一步是根据乘数的最低位来决定是否将被乘数加到中间结果积,而Booth算法则是根据乘数的相邻2位来决定操作,第一步根据相邻2位的4种情况来进行加或减操作,第二步仍然是将积寄存器右移。算法描述如下:

1) 根据当前位和其右边的位,做如下操作: 00:0的中间,无任何操作;

01:1的结束,将被乘数加到积的左半部分; 10:1的开始,积的左半部分减去被乘数; 11:1的中间,无任何操作。

2) 像前面所讲的算法,将积寄存器右移1位。

需要注意的是,因为Booth乘法器是有符号数的乘法,因此积寄存器移位的时候,为了保留符号位,进行算术右移,不像前面的算法逻辑右移就可以了。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库计算机组织与结构实验报告 CQUPT在线全文阅读。

计算机组织与结构实验报告 CQUPT.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/495981.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: