重庆理工大学计算机组成原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告书
实验课堂表现实验报告成绩实验总成绩A()B()C()
实验名称:计算机组成原理实验
专业班级:
学号:
姓名:王卫东
联系:
指导老师:小洋
实验时间:2016-2017 (2)
计算机科学与工程学院物联网工程系
实验1 位操作实验
1.实验目的
本实验的目的是为更好地熟悉和掌握计算机中整数的二进制编码表示。在本实验中,你需要解开一系列编程“难题”——使用有限类型和数量的运算操作实现一组给定功能的函数,在此过程中你将加深对数据二进制编码表示的了解。
2.实验容
1.学习Linux操作系统的基本操作方法,练习常用命令。
2.阅读README文件和bits.c中的代码及注释,然后根据下述实验要求完成bits.c中的各函数代码。
3.实验要求
实验中实现的函数代码必须满足下述基本条件(更多具体要求见函数的注释):
•只能使用顺序程序结构(不得使用循环或条件分支控制程序结构,例如if, do, while, for, switch等)。
•仅能使用有限类型和数量的C语言算术和逻辑操作,例如如下的操作符,但注意每个题目可能有不同的可用操作符列表,详见具体函数说明。
!~ & ^ | + <<>>
•不得使用超过8位表示的常量(即其值必须位于[0,255]中)。
•不得使用任何形式的强制类型转换。
•不得使用除整型外的任何其它数据类型,如数组、结构、联合等。
•不得定义和使用宏。
•不得定义除已给定的框架函数外的其他函数,不得调用任何函数。
•特定于浮点数操作函数的额外限制条件:
o可以使用循环和条件控制;
o可以使用整型和无符号整型常量及变量(取值不受[0,255]限制);
o不使用任何浮点数据类型、操作及常量。
上述实验要求的主要目的是使得你必须从二进制位的角度考虑数据,进而更清楚地理解数据的二进制表示。
4.实验结果
int bitAnd(int x, int y) {
return ~(~x | ~y);
}
int bitXor(int x, int y) {
return ~(~(x&~y)&~(~x&y));
}
int thirdBits(void) {
return 2;
}
int getByte(int x, int n) {
return 2;
}
int logicalShift(int x, int n) {
return (x>>n)&~(((1<<31)>>n)<<1);
}
int bang(int x) {
return (~((x|(~x+1))>>31))&0x01;
}
int conditional(int x, int y, int z) {
return (((!!x<<31)>>31)&y)+((((!x)<<31)>>31)&z);
}
5.实验收获和体会
在本次试验中,更好地熟悉和掌握了计算机中整数的二进制编码表示。学会了一些运算操作用有限类型和数量来实现给定的功能函数,加深了对二进制编码表示的理解,对ubuntu的操作更加熟练。
6.实验中碰到的问题和解决的方法
很多运算符分不清,就去查资料做标记。
实验2 运算器组成实验
1.实验目的
1.熟悉Logisim软件平台;
2.掌握运算器基本工作原理;
3.掌握运算溢出检测的原理和实现方法;
4.理解有符号数和无符号数运算的区别;
5.理解基于补码的加/减运算实现原理;
6.熟悉运算器的数据传输通路
2.各模块的设计电路和系统的整体电路,对设计要进行详细的分析与说明;
主电路
OF
74LS181
S3-S0
分析:此电路由74ls181子电路构成的八位运算器和运算操作符S3-S0、OF溢出检测组成。3.实验结果的记录与分析
运算结果
4.列出操作步骤及顺序,标出重要的开关控制端
先将运算操作符设置位0000加法运算,X值为01101000,y为00100100,加起来为10001100结果正确。
5.实验收获和体会
学会了74ls181的使用和掌握了logisim基本部件的使用,掌握了利用逻辑表达式、真值表自动生成电路。
6.实验中碰到的问题和解决的方法
此S3-S0的与74ls181自身运算符不对应,使用真值表自动生成。
实验3 存储器运算器综合实验实验报告包含:
1.实验目的:
1.掌握算术逻辑运算单元构成原理。
2.熟悉运算通路构成。
3.熟悉存储器的使用。
2.各模块的设计电路和系统的整体电路,对设计要进行详细的分析与说明;
16位ALU
74ls181
主电路
分析:利用74ls181子电路构成一个16位运算器,可支持算术加、算术减、位与、位或、位非、位异或、逻辑左移、逻辑右移、算术右移九中运算。该电路由时钟驱动,可自动完成RAM的0-15号单元的累加,并将结果保存到16-31单元。
3.实验结果的记录与分析;
4.列出操作步骤及顺序,标出重要的开关控制端;
先加载RAM镜像文件,可自动完成RAM的0-15号单元的累加,并将结果保存到16-31单元。
5.实验收获和体会;
熟悉了RAM、计数器、多路选择器和寄存器的使用,掌握了子电路封装的使用方法。
6.实验中碰到的问题和解决的方法。
16进制的数码管显示有误,改变引脚输入顺序就正确了。
实验4 控制器综合实验
1. 实验目的
1.理解总线系统的原理和作用。
2.进一步加深对运算器、存储器及时序电路的理解。
3.掌握硬布线控制器设计原理。
4.为整机实验以及课程设计做准备。
2. 各模块的设计电路和系统的整体电路,对设计要进行详细的分析与说明