西北工业大学网安学院25春计算机组成实验1-运算器实验

玻珠是23届的 老师给的资料关键的不说 网上找到的所有资料要么不一样要么糊的要死对着都做不出来 最后自己钻研到凌晨两点才搞明白 我不许你们再熬夜啦TT

叠甲:转行刚半年不到所以不一定对,错了补药骂我呀

前言

电路图如下,我自己连的始终不知道错哪了于是用了同学的:

在这里插入图片描述

电路图那个线上的标号每一根都要标注,我的精神状态很好啊

简单说一下左边的开关:

  • ALU_EN 是ALU部件的开关,决定是否使用ALU
  • ALU_BUS 是输出开关
  • SW_BUS 是输入开关
  • CLK 结尾的是管时钟信号的
  • ALU 打头的控制进行什么运算
  • S0S1 是缓存器信号 不要动
  • 红色是1,蓝色是0

所以正确的初始状态是

在这里插入图片描述

开始之前这几个必须按照这个打 右边那一列用的时候调对就好

开始

接下来启动仿真
在这里插入图片描述

我们接下来要做的事情是把两个操作数依次写进寄存器里,在这里用二进制输入你的第一个操作数 我的尾号对应是0X22,如下:

在这里插入图片描述

这时候你的整个界面是这样的:

在这里插入图片描述

这个时候你需要手动拨动时钟产生一个脉冲来把这个数字写进寄存器,操作如下

  1. 快速点击两下 DRA_CLK (在左边的那一堆开关里)
  2. 快速点击两下r0_clk(在右边)

怎么检查是否写入成功呢?

在这里插入图片描述

看一下这张图,如上操作后我把输入数字的地方改成0x00了,这个时候看右上角这里:

在这里插入图片描述

左边U5下面红蓝的地方 0010 0010 就是0X22 右边 U6 是刚刚新打的数字0X00 说明成功了

接下来写入第二个数字,0X55 应该是统一的 和第一个一样:

  1. 快速点击两下 DRB_CLK (在左边的那一堆开关里)
  2. 快速点击两下r1_clk(在右边)

一通操作之后应该是这样的,说明两个数字写进去了。

在这里插入图片描述

接下来开始运算,依次:

  1. SW_BUS 打到 1(红)
  2. ALU_BUS 打到 0
  3. ALU_EN 打到 0

接下来选定你要做的运算按照表格给的S0 S1 S2 S3 M CN拨号,我就选这个示范一下:

注意这里要拨动的是ALU开头那个,S0 S1 CLK从这个时候就不要再去动了!如果误触最好从头开始

在这里插入图片描述

比如这个,这个时候有朋友就要问了:玻珠我怎么和你的标识符显示不一样,其实老师给的文档里说了

在这里插入图片描述

中译中就是:每次动了ALU_:S0 S1 S2 S3 M CN 之后都需要再点两下ALU_BUS 刷新标识符才是真正的标识符

嗯应该没了,至少我想不起来了,按照表里给的做就完了。如果有时候突然按开关不动了结束进程从头操作下就行,有的时候会突然抽风算出很奇怪的结果。

刚开是不会做是正常的,这个实验一度做得我很崩溃^^如果能帮到后人就太好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值