深圳市航顺芯片技术研发有限公司
直播中

张飞雄

7年用户 982经验值
私信 关注
[问答]

怎样去通过门电路去实现一种运算器设计呢

运算器的工作原理是什么?
怎样去通过门电路去实现一种运算器设计呢?

回帖(1)

冯待策

2021-10-20 15:48:42
  实验基于多思计算机组成原理网络虚拟实验系统
  实验目的: 通过门电路实现运算器
  1)掌握算术逻辑运算单元的工作原理。
  2) 熟悉简单运算器的电路组成。
  3) 熟悉 4 位运算功能发生器(74LS181)的算术、逻辑运算功能。
  提示:
  74LS181的特性限制:
  由于74LS181芯片的特性所致,仅能接受四位数据的处理,但是一般而言,一个字占八个字节,所以如果我们要处理一个字的数据量时,就需要对74LS181 进行组合以满足处理八位数据的要求。故采用两片74LS181芯片进行组合使用。
  三态门:
  计算机中的记忆元件由触发器组成,而触发器只有两个状态。即“0”态和“1”态,所以每条信号线上只能传送一个触发器的信息。如果要在一条信号线上连接多个触发器,而每个触发器可以根据需要与信号线连通或断开,当连通时可以传送“0”或“1”,断开时对信号线上的信息不产生影响,就需要一个特殊的电路加以控制,此电路即为三态输出电路,又称为三态门。
  实验思路:
  实验电路图:
  
  实验基本原理概述:
  运算器的工作原理其实还是很简单的,以我们平时计算1 + 2 = 3为例进行阐述:
  1. 输入数据信息 1 ,2 ,通过数据开关的操作来完成数据的输入处理,由于计算机不像人一样有数以万计的神经元细胞,所以他必须依赖于三态门来进行信息的记忆,也就是图中74LS245芯片的作用(注:74LS245即一个三态门)。
  2. 信息保存。将三态门所存的信息保存至数据锁存芯片74LS273,以用来保存输入的数据信息。
  3. 数据运算,将锁存器的信息加载至74LS181中,进行数据的运算处理,而单纯有数据是远远不够,还必须有运算规则,图中s3 ----- s0 的作用就在提供不同的运算规则,其中M的作用用于区分计算是属于算数运算还是逻辑运算。
  4. 保存数据运算结果,将计算结果暂存至74LS245,便于后序的输出。
  5. 小灯显示数据信息。
  下面是对实验图中所需元器件部件具体功能概述:
  1) M:选择 ALU 的运算模式(M=0,算术运算;M=1,逻辑运算)。
  2) S3,S2,S1,S0:选择 ALU 的运算类型,例如在算术运算模式下设为 1001 则 ALU做加法运算,详见 74LS181 功 能表 3-1。
  3) Cn:向 ALU 最低位输入的进位信号,Cn=0 时有进位输入,Cn=1 时无进位输入。
  4) Cn+4:ALU 最高位向外输出的进位信号,为 0 时有进位输出,为 1 时无进位输出。
  5) P1:脉冲信号,在上升沿将数据打入 DR1。74LS273 触发器在时钟输入为高电平 或低电平时,输入端的信号不影响输出,仅仅在时钟脉冲的上升沿,输入端数据才会发送到输出端,并将数据锁存。
  6) P2:脉冲信号,在上升沿将数据打入 DR2。
  7) MR:芯片 74LS273 的清零信号,低电平有效。当MR为电平时,74LS273 的数据
  输出引脚被置零。
  8) ALU − BUS:ALU 输出三态门使能信号,为 0 时将 74L
  9) SW − BUS:开关输出三态门使能信号,为 0 时将 SW7~SW0 数据送到数据总线
  连接线路
  由于线路相对较多,所以将会逐步对连线结果进行解释,以期读者能了解每步连接的具体连接细节。
  1.实验元器件准备
  
  2. 输入数据的连接
  在输入数据的连接过程中,右侧的74ls273同左侧的接线方式一模一样,此处不加以赘述。
  
  3.数据信息的保存
  由于74LS181芯片的限制,我们在对数据进行运算时,需要分别对数据的第四位,高四位进行运算,最后对结果进行整合,已完成对八位数据的运算。图中仅展示了连接第四位时数据的接线情况,高位连接同底位连接方式相同,值得一提的就是SinglePulse的作用,其是一个单脉冲期间,单脉冲有效时才会将数据信息保存至具体的74LS273芯片中。
  类似一个选择器的作用,选择将信息存放至不同的锁存器中。
  
  纠错
  最后在检查时发现此处连接有误,由于过多的文字阐述,返工比较耗费时间,请多担待,下面将贴出正确的连接图。
  
  正确连接:
  
  4.运算结果的处理
  此处一定要注意图中标出来的提示信息!
  
  5.结果输出
  
  完整电路图:
  
  实验操作步骤:
  1. 进行电路预设置,具体步骤如下:
  1) 将ALU − BUS设为高电平,关闭 ALU 输出端的三态门; 输出开关
  2) 将两片 74LS273 的MR都设为高电平,否则 74LS273 会一直处于清零状态。
  3. 打开电源开关。
  2. 设置 SW7~SW0 向 DR1 和 DR2 置数。以 DR1=65H,DR2=A7H 为例,具体步骤如下:
  1) 将SW − BUS置 0,打开数据输入端的三态门;
  2) 将数据开关的 SW7~SW0 置为 01100101;
  3) 发出 P1 单脉冲信号,在 P1 的上升沿,数据打入寄存器 DR1;
  4) 将数据开关的 SW7~SW0 置为 10100111;
  5) 发出 P2 单脉冲信号,在 P2 的上升沿,数据打入寄存器 DR2。
  6) 将SW − BUS置 1,关闭数据输入端的三态门;
  3. 检验 DR1 和 DR2 中存的数是否正确。其具体操作如下:
  1) ALU − BUS=0,打开 ALU 输出端的三态门;
  2) 设置 Cn=1,ALU 无进位输入;
  3) 将 S3、S2、S1、S0、M 置为 00000,指示灯应显示 DR1 中数据 01100101;
  4) 将 S3、S2、S1、S0、M 置为 10101,指示灯应显示 DR2 中数据 10100111。
  
  操作:
  输入信息:
  按照操作提示进行操作,其中ALU − BUS=0 ,Sw-BUs值得就是三态门的控制开关!!!!
  
  结果显示:
  
  总结
  实验电路至此就已经搭建完成,由于连接失误,在第三部数据保存时,出现了一些连接错误,出现的问题也已及时纠正,按照文章内容可以保证顺利搭建好电路图,由于时间显示笔者并没有将所有的实验结果进行记录。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分