首页 > 其他分享 >计算机组成原理-运算器实验(1)

计算机组成原理-运算器实验(1)

时间:2023-07-06 16:35:12浏览次数:44  
标签:AB 计算机 S3 S0 实验 原理 运算器 运算

实验2 运算器实验(1)

学号:      姓名:

一、 实验目的

1.掌握开源数字电路模拟软件Logisim的使用;

2.掌握有符号数加减运算溢出检测的基本方法;

3.掌握运算器的组成及其工作原理;

4.验证4位函数发生器74181的组合功能。

 

二、实验设备

EL-JY-II型计算机组成原理实验系统一套,排线若干。            

 

三、实验内容

1.利用Logisim软件设计一个全加器;

2.利用Logisim软件设计一个行波进位的补码加法/减法器;

 

四、实验步骤

  1. 74181功能验证

(1) 参考EL-JY-II型实验仪配套的实验指导(实验一),在EL-JY-II型实验仪上完成运算器实验的线路连接;

(2) 74181的功能表如下:

 

方式

M=1逻辑运算

M=0算术运算

S3 S2 S1 S0

逻辑运算

CN=1(无进位)

CN=0(有进位)

0  0  0  0

F=/A

F=A

F=A加1

0  0  0  1

F=/(A+B)

F=A+B

F=(A+B)加1

0  0  1  0

F=(/A)B

F=A+/B

F=(A+/B)加1

0  0  1  1

F=0

F=负1

F=0

0  1  0  0

F=/(AB)

F=A加A(/B)

F=A加A/B加1

0  1  0  1

F=/B

F=(A+B)加A/B

F=(A+B)加A/B加1

0  1  1  0(异或)

F=A⊕B

F=A减B减1

F=A减B

0  1  1  1

F=A/B

F=A(/B)减1

F=A(/B)

1  0  0  0

F=/A+B

F=A加AB

F=A加AB加1

1  0  0  1

F=/(A⊕B)

F=A加B

F=A加B加1

1  0  1  0

F=B

F=(A+/B)加AB

F=(A+/B)加AB加1

1  0  1  1

F=AB

F=AB减1

F=AB

1  1  0  0

F=1

F=A加A

F=A加A加1

1  1  0  1

F=A+/B

F=(A+B)加A

F=(A+B)加A加1

1  1  1  0(或)

F=A+B

F=(A+/B)加A

F=(A+/B)加A加1

1  1  1  1

F=A

F=A减1

F=A

 

(3) 参考EL-JY-II型实验仪配套的实验指导(实验一),从74181功能表中选择部分功能进行测试,同时记录测试数据与测试结果。

 

A

B

S3 S2 S1 S0 M Cn

F

00000011

00000010

011000

00000001

00000101

00000001

100101

00000110

00000110

00000010

011010

00000100

00000101

00000001

111010

00000101

2、运算器数据传输通路分析与模拟;

 

 

 

 

(1) 学习Logisim中分割器(Splitter)、通道(Tunnel)组件、寄存器(Rigister)等组件,分析电路图lab1-3中运算器的数据通路;

 

 

  

(2) 设计一个操作流程,要求通过该流程能够在电路图lab1-3上模拟两个16位数的算术或逻辑运算,并将运算结果显示在输出灯上。

 

 

 

 

操作

说明

 

 

先分别输入两个16位数,每输入一个数时,先打开C-G,然后点LDR1按钮暂存第一个数,然后点灭C-G、LDR1;第二个数输入后,按打开C-G,然后点LDR2按钮暂存第二个数。此时,两个数据均储存在ALU里,点击ALU-G,再根据表格依次点击,完成对应运算

 

 

 

第1步

输入第一个16位数:0000000000000101,先打开C-G,然后点LDR1按钮暂存第一个数,然后点灭C-G、LDR1

第2步

第二个数:0000000000000001输入后,按打开C-G,然后点LDR2按钮暂存第二个数

第3步

点击ALU-G,依次点亮S0、S3、Cn,点击AR,实现两个数的加法算数运算

第4步

计算结果可知:

0000000000000101+0000000000000001=0000000000000110

最终结果

(截图)

 

 

 

 

问:该实验如何实现多种不同运算的控制?

答:运算器部件要实现多种不同的功能,必须由控制器提供控制信号,运算器只是一个被动执行的部件。S0,S1, S2,S3是功能选择控制端,决定是做加、减、逻辑与、逻辑或、逻辑异或、移位等运算,表一的实验结果与手工验算完全一致,从而验正了整个ALU的算术/逻辑运算功能和移位处理功能。灵活运用SO,S1, S2,S3的不同组合可以实现许多其它功能,如通过移位运算可以实现数据的乘2(左移一位)和除2运算(右移一位)此外选择S3S2S1S0=0000或S3S2S1 S0=0001将操作数A或B可以直接送到ALU的输出,这样可以直接验证输入数据是否正确。

标签:AB,计算机,S3,S0,实验,原理,运算器,运算
From: https://www.cnblogs.com/lyyds666jyqdm/p/17532539.html

相关文章

  • 一套比较完整的字节面试题,包含计算机网络、操作系统、前端等
    一、算法和数据结构 实现一个函数,判断两个给定的字符串是否为异构字符串。异构字符串是指由相同字符但顺序不同的字符串。例如,“abb”和“bab”就是异构字符串。答案:functionisIsomorphic(str1,str2){if(str1.length!==str2.length){returnfalse;}......
  • 第三届计算机应用与信息安全国际会议(ICCAIS2023)
    由湖北省众科地质与环境技术服务中心主办的2023第三届计算机应用与信息安全国际会议(ICCAIS2023)将于2023年12月20-22日在中国武汉召开。 ICCAIS2023力图建立 一个国际化的计算机应用与信息安全领域的学术交流平台,分享最新进展和研究成果。期待您的参与。 ★重要信息大会时间:20......
  • Guzzle 协程原理
    Guzzle是一个流行的PHPHTTP客户端库,它提供了方便的方式来发送HTTP请求并处理响应。Guzzle也支持协程,允许开发者使用协程来编写异步的、非阻塞的代码。在Guzzle中,协程的实现基于Coroutine(协程)这个PHP扩展库。Coroutine提供了一种轻量级的线程替代方案,可以在一个线程......
  • prometheus Histogram 统计原理
    大家好,我是蓝胖子,书接上文,我在prometheus描点原理那一篇文章里,留了一个思考题:我们通常会用到histogram_quantile去计算服务接口时间的耗时情况。histogram_quantile(0.99,rate(server_handle_seconds_bucket{}[1m]))但是rate函数会将原指标按时间求斜率,这样会影响原本分位数......
  • java进阶3:GC 的背景与一般原理
    为什么会有GC其最本质的原因是因为内存资源的稀缺性。我们计算机最核心的资源是CPU和内存,CPU是随着计算机一直存在的东西,核数有限但是一直存在;但内存比较稀缺,A占满了,B就不能用了,我们怎么可以共享使用这个内存呢,这就是GC产生的原因了。背景:在传统的编程语言中,程序员需要手动分配和释......
  • 【后端面经-计算机基础】HTTP和TCP的区别
    【后端面经-计算机基础】HTTP和TCP的区别目录【后端面经-计算机基础】HTTP和TCP的区别1.OSI七层模型和相关协议2.TCP协议2.1特点:2.2报文格式2.3三次握手和四次挥手3.HTTP协议3.1特点3.2报文格式3.2https和http4.HTTPvsTCP5.面试模拟参考资料1.OSI七层模型和相关协......
  • 阿里Java二面:说说Spring MVC执行流程及原理?这样聊能吊打面试官
    面试找虐博主之前每次去面试必问的问题:“讲一下springmvc的执行流程以及常用组件的作用”;记得第一次和面试官说了大概的流程是这样的:“服务器收到一个请求后会先去HandlerMapping中匹配url,找到url之后用HandlerAdapter适配器去执行这个控制器(controller层),执行完之后返回一个mo......
  • 阿里Java二面:说说Spring MVC执行流程及原理?这样聊能吊打面试官
    面试找虐博主之前每次去面试必问的问题:“讲一下springmvc的执行流程以及常用组件的作用”;记得第一次和面试官说了大概的流程是这样的:“服务器收到一个请求后会先去HandlerMapping中匹配url,找到url之后用HandlerAdapter适配器去执行这个控制器(controller层),执行完之后返回一个mode......
  • 性能优化利器 std::move/forward 实现原理
    utility包含了STL经常使用的几个模板函数的定义:std::move()用于得到一个右值引用;std::swap()使用移动语义,交换两个对象;std::forward()支持完美转发。本文分析了上述三个模板函数的实现原理。本文内容:1、std::move2、std::swap3、std::forward 1、std::move......
  • Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用
    https://blog.csdn.net/qq_21438461/article/details/130764349Linux系统编程C/C++以及Qt中的零拷贝技术:从底层原理到高级应用一、零拷贝技术的概念与价值(Zero-CopyConceptandValue)1.1什么是零拷贝(WhatisZero-Copy)1.2为什么我们需要零拷贝(WhyWeNeedZero-C......