计算机组成原理实验五
移位运算实验...............
姓名:陈衍席 学号:1205110125 网工1202
【实验环境】
1. Windows 20## 或 Windows XP
2. QuartusII9.1 sp2、DE2-115计算机组成原理教学实验系统一台,排线若干。
【实验目的】
本次实验要求掌握移位控制的组合功能。
【实验要求】
可以利用原理图设计并实现给定数据的逻辑左移SLL、逻辑右移SRL、算术右移SRA几种指定的运算。实验要求自己给定一个数据,然后进行功能仿真,验证仿真结果与理论结果是否一致。
【实验原理】
移位运算器就是实现将二进制数向左或者向右移动多少位。二进制数据(真值)每相对于小数点左移一位,相当于乘以2;每相对于小数点右移一位,相当于除以2。
它根据二进制数有无符号分为逻辑移位运算和算术移位运算,另外还有循环移位。
1、逻辑移位:将移位的数据视为无符号数据,各数据位在位置上发生了变化,导致无符号数据的数值(无正负)放大或缩小。
2、算术移位:将移位的数据视为带符号数据(机器数)。算术移位的结果,在数值的绝对值上进行放大或缩小,同时,符号位必须要保持不变。
3、循环移位:所有的数据位在自身范围内进行左移或者右移,左移时最高位移入最低位,右移时最低位移入最高位。
其中算术左移 SLA、算术右移 SRA:把操作数看成带符号数。对寄存器操作数进行移位(要移动数的第0位——符号位不变。右移时空出的其余位补与第0位相同的1或0;左移时空出的位补0),位数由有效地址决定。
逻辑左移SLL、逻辑右移 SRL:把操作数看成无符号数。对寄存器操作数进行移位(不管左右移,要移动数空出的位补0),位数由有效地址决定。
表 移位运算器真值表
【实验步骤】
1、根据图中提示,建立移位运算器原理图文件。
注意:
由于在位移运算器的原理图设计中需要调用前面设计的32位2选1多路选择器,因此需要将在实验四的工程文件中建立的mux2x32、nux2x8、mux2x1的.bdf、.bsf文件导入到本次实验的工程文件中来。具体步骤:
(1) 首先,最好将要调用到的所有的文件复制到本次建立的工程文件夹内。
例如:
(2)在新建项目工程文件时,弹出添加文件界面,点击【User Libraries】按键(或者在设计原理图的时候,点击【Project】-->【Add/Remove Files in Project…】,在“General”中选择“Libraries”)。
在弹出的界面,点击【…】,导入含有以前所建文件的文件夹,点击【打开】,
点击【Add】按键,添加该元件库,
添加成功,单击【OK】。
添加成功后在后来建立的原理图文件中,就可以看见该原理图库文件,
(3) 根据图中提示,完成原理图设计。
2、文件编译
3、功能仿真
仿真结果及结果分析:
设置D为任意32位二进制数,SA为从0开始的5位二进制计数脉冲,Aright为周期为50ns的时钟脉冲,Right为周期为10ns的时钟脉冲。
如图所示:
在10ns--15ns时,D=00110111101010100011100101100100 ,SA=1、Arith=0、Right=0,逻辑左移1位。
输出为SH=01101111010101000111001011001000 。
在15ns--20ns时,D=00110111101010100011100101100100 ,SA=1、Arith=0、Right=1,逻辑右移1位。
输出为SH=00011011110101010001110010110010 。
在140ns--145ns时,D=11000010101110100100100001111100 ,SA=14、Arith=1、Right=0,算术左移14位。 输出为SH=10010010000111110000000000000000 。
在15ns--20ns时,D=00110111101010100011100101100100 ,SA=14、Arith=1、Right=1,算术右移14位。 输出为SH=11111111111111110000101011101001 。
上图说明SA计数到32位又从0开始。
实验总结:通过本次实验,我掌握移位控制的组合功能。
第二篇:实验报告 计组
西安财经学院信息学院
《计算机组成原理及系统结构》实验报告
实验名称 运算器实验、通用寄存器实验、移位寄存器实验
实验室 实验楼418 实验日期 20##-11-20、20##-11-25、20##-11-27