上海大学
计算机组成原理实验报告二
姓名: 学号: 座位号:
上课时间: 教师: 报告成绩:
一、实验名称:运算器实验
二、实验目的:
1. 学习数据处理部件的工作方式控制。
2. 学习机器语言程序的运行过程。
三、实验原理:
CP226实验仪的运算器由一片CPLD实现,包括8种运算功能。运算时先将数据写到寄存器A和寄存器W中,根据选择的运算方式系统产生运算结果送到直通门D。
手动方式下,运算功能的通过信号S1、S2、S3选择。
实验箱上可以向DBUS送数据的寄存器有:直通门D、左移门L、右移门R、程序计数器PC、中断向量寄存器IA、外部输入寄存器IN和堆栈寄存器ST。 它们由138译码器的输入信号X2,X1,X0的编码来选择。
四、实验内容:
1. 计算37H+56H后左移一位的值送OUT输出。
2. 把36H取反同54H相与的值送人R1寄存器。
五、实验步骤:
实验内容(一):
1. 关闭电源。用8位扁平线把J2和J1连接。
2. 用不同颜色的导线分别把K0和AEN、K1和WEN、K2和S0、K3和S1、K4和S2、K6和X0、K7和X1、K8和X2、K9和OUT连接。
3. K15~K0全部放在1位,K23 ~K16放0位。
4. 注视仪器,打开电源,手不要远离电源开关,随时准备关闭电源,注意各数码管、发光管的稳定性,静待10秒,确信仪器稳定、无焦糊味。
5. 设置实验箱进入手动模式。
6. 设置K0=0,K8K7K6=000,K23 ~K16=0011 0111。
7. 按下STEP键,在A寄存器中存入37。
8. 设置K0=1,K1=0,K23 ~K16=0101 0110。
9. 按下STEP键,在W寄存器中存入56。
10. 设置K0=1,K1=1,K8K7K6=110,K4K3K2=000。
11. 按下STEP键,L寄存器显示1A。
12. 设置K9=0,其他保持不变。
13. 按下STEP键,OUT寄存器显示1A。
14. 关闭实验箱电源。
实验内容(二):
1. 基本与实验内容(一)的前5个步骤相同(去掉连接OUT寄存器的导线)。
2. 连接K10和SA,K11和SB,K12和RWR。
3. 设置K0=0,K8K7K6=000,K23~K16=0011 0110。
4. 按下STEP键,A寄存器显示36。
5. 设置K8K7K6=100,K4K3K2=110。
6. 按下STEP键,A寄存器显示9C。
7. 设置K1K0=01,K8K7K6=000,K4K3K2=111,K23~K16=0100 0101。
8. 按下STEP键,W寄存器显示45。
9. 设置K1K0=11,K8K7K6=100,,4K3K2=011,K10K11=10,K12=0。
10. 按下STEP键,D寄存器和R1寄存器显示40。
11. 关闭实验箱电源。
六、实验结论:
实现数据处理部件的工作方式控制和机器语言程序的运行过程。
七、体会:
通过本次试验,我对运算器实验了解更深了并进一步巩固了第一周所学的内容。
八、思考题:
如何计算3456H+12EFH的值?
答:
通过CP226实验仪,把S2S1S0设置为100,可以使用带进位加法运算。由于是四位16进制,可以把它拆开,从个位开始计算,一位一位向上计算通过带进位加法器,即算(64H*64H+64H*10H*3H+64H*3H+10H*9H+8h)+(64H*10H*4H+64H*8H+10H*4H+7H)
第二篇:计算机组成原理实验报告
实验名称:一位十进制BCD码加法器
学号: 2010310200823
班级:计科1004班
姓名:陈宏
一.实验目的
设计一个BCD码加法器,使用MAX+ plus II 10.0 BASELINE软件设计,并输入几组数据观察其波形。得出结果。二.实验原理
BCD码(Binary-Coded Decimal?)亦称二进码十进数或二-十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数码。是一种二进制的数字编码形式,用二进制编码的十进制代码表示,则考虑用四个全加器(FA)级联成一个行波进位加法器来解决。
三.实验内容
步骤:
1.设计其逻辑结构,画图找出规律,设计逻辑连线。
用门电路设计出FA全加器并进行封装,结果如下:
(1)利用封装好的FA设计电路,如图所示
2.在软件中输入其连线。
3仿真,做出其波形
四.实验小结
实验中连线没有注意,多出了一点结果,多次编译没有通过,编辑波形文件上一度陷入困境,但幸好都解决掉了
五.心得体会
开始时没有建立project,导致无法保存,同时,保存的acf格式的文件打开时变成了代码,导致又重做一次。。。。。
在建立波形文件的时候忘记了波形文件与gdf格式文件同名,导致导出波形图失败了一次。