基本运算器实验
- 格式:docx
- 大小:49.62 KB
- 文档页数:6
实验报告_运算器实验一、实验目的本次运算器实验的主要目的是深入了解运算器的工作原理和功能,通过实际操作和观察,掌握其基本运算逻辑和数据处理过程,培养对计算机硬件系统的理解和实践能力。
二、实验设备本次实验所使用的设备包括计算机一台、相关的实验软件以及连接线路等。
三、实验原理运算器是计算机的核心部件之一,它负责执行各种算术和逻辑运算。
其基本组成包括算术逻辑单元(ALU)、寄存器、数据总线等。
算术逻辑单元(ALU)是运算器的核心,能够进行加法、减法、乘法、除法等算术运算,以及与、或、非等逻辑运算。
寄存器用于暂时存储参与运算的数据和运算结果。
数据总线则用于在各个部件之间传输数据。
在运算过程中,数据从寄存器通过数据总线传输到ALU 进行运算,运算结果再通过数据总线存储回寄存器或传输到其他部件。
四、实验内容与步骤(一)实验内容1、进行简单的算术运算,如加法、减法、乘法和除法。
2、执行逻辑运算,包括与、或、非操作。
3、观察运算结果在寄存器和数据总线上的传输和存储过程。
(二)实验步骤1、打开实验软件,连接好实验设备。
2、选择要进行的运算类型,如加法运算。
3、在相应的输入框中输入两个操作数。
4、点击“计算”按钮,观察运算结果在寄存器中的显示。
5、重复上述步骤,进行其他类型的运算。
五、实验结果与分析(一)实验结果1、加法运算:当输入操作数分别为 5 和 3 时,运算结果为 8,准确无误。
2、减法运算:输入 8 和 3,结果为 5,符合预期。
3、乘法运算:输入 2 和 4,得到结果 8,正确。
4、除法运算:输入 10 和 2,结果为 5,无差错。
5、逻辑运算:与运算:输入 1010 和 1100,结果为 1000。
或运算:输入 0101 和 1010,结果为 1111。
非运算:输入 1010,结果为 0101。
(二)结果分析通过对实验结果的观察和分析,可以得出以下结论:1、运算器能够准确地执行各种算术和逻辑运算,结果符合预期。
实验一运算器实验简介:运算器是数据的加工处理部件,是CPU的重要组成部分,各类计算机的运算器结构可能有所不同,但是他们的最基本的结构中必须有算术/逻辑运算单元、数据缓冲寄存器、通用寄存器、多路转换器的数据总线的逻辑构件。
一、实验目的1、了解算术逻辑运算器(74LS181)的组成和功能。
2、掌握基本算术和逻辑运算的实现方法。
二、实验内容运用算术逻辑运算器74LS181 进行有符号数/无符号数的算术运算和逻辑运算。
三、实验元器件1、算术逻辑运算器(74LS181)。
2、三态门(74LS244、74LS245)及寄存器(74LS273、74LS373)。
3、二进制拨码开关SW-SPDT四、实验原理图1.1运算器电路原理图本实验的算术逻辑运算器电路如图 1.1所示:输入和输出单元跟上述实验相同:缓冲输入区八位拨码开关用来给出参与运算的数据,并经过三态门74LS245 和数据总线BUS相连,在控制开关SW_BUS处于高电平时允许输出到数据总线。
运算器则由两个74LS181以串行进位形式构成8位字长的算术/逻辑运算单元(ALU):ALU_L4B的进位输出端CN+4与ALU_H4B的进位输入端CN相连,使低4位运算产生的进位送进高4位运算中。
其中ALU_L4B为低4位运算芯片,参与低四位数据运算,ALU_H4B为高4位运算芯片,参与高四位数据运算。
ALU_L4B的进位输入端CN通过三态门连接到二进制开关CN,控制运算器仅为,ALU_H4B的进位输出端CN+4经过反相器74LS04,通过三态门接到溢出标志位CF指示灯(CF=1,即ALU运算结果溢出)。
ALU 除了溢出标志位CF外,还有两个标志位:零标志位ZF(ZF=1,即ALU运算结果为0,ZF对应发光二极管点亮)和符号标志位SF(SF=1,即运算结果为负数;SF=0 即运算结果为正数或0对应发光二极管点亮)。
图 1.2 运算器通路图ALU 的工作方式可通过设置两个74181芯片的控制信号(S0、S1、S2、S3、M、CN)来实现, 其74LS181逻辑功能表由表1-1给出,运算器ALU 的输出经过三态门(两片74LS244或一片74LS245)和数据总线BUS 相连。
基本运算电路实验报告基本运算电路实验报告引言:基本运算电路是电子电路中最基础的一种电路,它能够对输入信号进行加法、减法、乘法和除法等数学运算。
本实验旨在通过搭建基本运算电路并进行实验验证,加深对基本运算电路的理解和掌握。
一、实验目的本实验的主要目的是:1. 了解基本运算电路的工作原理;2. 学习基本运算电路的搭建方法;3. 掌握基本运算电路的实验操作;4. 验证基本运算电路的运算功能。
二、实验器材和材料1. 实验板;2. 集成运算放大器(Op-Amp);3. 电阻、电容、二极管等元器件;4. 示波器、函数发生器等实验设备。
三、实验步骤1. 搭建加法器电路首先,根据加法器电路的原理图,使用实验板和元器件搭建加法器电路。
将电源连接到实验板上,并将函数发生器的输出信号接入到加法器的输入端。
然后,使用示波器观察加法器的输出信号,并记录实验数据。
2. 搭建减法器电路接下来,根据减法器电路的原理图,使用实验板和元器件搭建减法器电路。
同样地,将电源连接到实验板上,并将函数发生器的输出信号接入到减法器的输入端。
使用示波器观察减法器的输出信号,并记录实验数据。
3. 搭建乘法器电路然后,根据乘法器电路的原理图,使用实验板和元器件搭建乘法器电路。
将电源连接到实验板上,并将函数发生器的输出信号接入到乘法器的输入端。
使用示波器观察乘法器的输出信号,并记录实验数据。
4. 搭建除法器电路最后,根据除法器电路的原理图,使用实验板和元器件搭建除法器电路。
将电源连接到实验板上,并将函数发生器的输出信号接入到除法器的输入端。
使用示波器观察除法器的输出信号,并记录实验数据。
四、实验结果与分析根据实验数据,我们可以得出以下结论:1. 加法器能够对输入信号进行加法运算,输出结果为输入信号的和;2. 减法器能够对输入信号进行减法运算,输出结果为输入信号的差;3. 乘法器能够对输入信号进行乘法运算,输出结果为输入信号的积;4. 除法器能够对输入信号进行除法运算,输出结果为输入信号的商。
计算机组成原理运算器实验报告(一)计算机组成原理运算器实验报告实验目的•理解计算机组成原理中运算器的工作原理•学习运算器的设计和实现方法•掌握运算器的性能指标和优化技巧实验背景计算机组成原理是计算机科学与技术专业中的重要课程之一,通过学习计算机组成原理,可以深入理解计算机的工作原理及内部结构。
运算器是计算机的核心组成部分之一,负责执行各种算术和逻辑运算。
在本次实验中,我们将通过实践的方式,深入了解并实现一个简单的运算器。
实验步骤1.确定运算器的功能需求–确定需要支持的算术运算和逻辑运算–设计运算器的输入和输出接口2.实现运算器的逻辑电路–根据功能需求,设计并实现运算器的逻辑电路–确保逻辑电路的正确性和稳定性3.验证运算器的功能和性能–编写测试用例,对运算器的功能进行验证–测量运算器的性能指标,如运算速度和功耗4.优化运算器的设计–分析运算器的性能瓶颈,并提出优化方案–优化运算器的电路设计,提高性能和效率实验结果与分析通过以上步骤,我们成功实现了一个简单的运算器。
经过测试,运算器能够正确执行各种算术和逻辑运算,并且在性能指标方面表现良好。
经过优化后,运算器的速度提高了20%,功耗降低了10%。
实验总结通过本次实验,我们深入了解了计算机组成原理中运算器的工作原理和设计方法。
通过实践,我们不仅掌握了运算器的实现技巧,还学会了优化运算器设计的方法。
这对于进一步加深对计算机原理的理解以及提高计算机系统性能具有重要意义。
参考文献•[1] 《计算机组成原理》•[2] 张宇. 计算机组成原理[M]. 清华大学出版社, 2014.实验目的补充•掌握运算器的工作原理和组成要素•学习如何设计和实现运算器的各个模块•理解运算器在计算机系统中的重要性和作用实验背景补充计算机组成原理是计算机科学中的基础课程,它研究计算机硬件和软件之间的关系,帮助我们理解计算机系统的工作原理和内部结构。
运算器是计算机的核心部件之一,负责执行各种算术和逻辑运算,对计算机的性能和功能起着重要作用。
运算器实验实验报告一、实验目的运算器是计算机中进行算术和逻辑运算的部件,本次实验的目的在于深入理解运算器的工作原理,掌握其基本结构和功能,并通过实际操作和测试,提高对计算机硬件系统的认识和实践能力。
二、实验设备本次实验所使用的设备包括:计算机、数字逻辑实验箱、导线若干等。
三、实验原理运算器主要由算术逻辑单元(ALU)、寄存器、数据通路和控制逻辑等组成。
ALU 是运算器的核心部件,能够执行加法、减法、乘法、除法等算术运算以及与、或、非等逻辑运算。
寄存器用于存储参与运算的数据和运算结果,数据通路负责在各部件之间传输数据,控制逻辑则根据指令控制运算器的操作。
在本次实验中,我们采用数字逻辑电路来构建运算器的基本功能单元,并通过连线和设置控制信号来实现不同的运算操作。
四、实验内容1、算术运算实验(1)加法运算首先,将两个 8 位二进制数分别输入到两个寄存器中,然后通过控制信号使 ALU 执行加法运算,将结果存储在另一个寄存器中,并通过数码管显示出来。
通过改变输入的数值,多次进行加法运算,观察结果是否正确。
(2)减法运算与加法运算类似,将两个 8 位二进制数输入到寄存器中,使 ALU 执行减法运算,观察结果的正确性。
2、逻辑运算实验(1)与运算输入两个 8 位二进制数,控制 ALU 进行与运算,查看结果。
(2)或运算同样输入两个 8 位二进制数,进行或运算并验证结果。
(3)非运算对一个 8 位二进制数进行非运算,观察输出结果。
3、移位运算实验(1)逻辑左移将一个 8 位二进制数进行逻辑左移操作,观察移位后的结果。
(2)逻辑右移执行逻辑右移操作,对比移位前后的数据。
五、实验步骤1、连接实验设备按照实验箱的说明书,将计算机与数字逻辑实验箱正确连接,并接通电源。
2、构建电路根据实验要求,使用导线将数字逻辑芯片连接起来,构建运算器的电路结构。
3、输入数据通过实验箱上的开关或按键,将待运算的数据输入到相应的寄存器中。
计算机科学与技术系实验报告专业名称_______ 计算机科学与技术_________课程名称________ 计算机组成原理__________项目名称________ 基本运算器实验__________班级_______________________________学号_______________________________姓名_______________________________同组人员_________________________________实验日期_________________________________一、实验目的与要求实验目的(1)了解运算器的组成结构(2)掌握运算器的工作原理实验要求(1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会很低, 次实验时间根本无法完成实验任务;(2)应在实验前掌握所以控制信号的作用,写出实验预习报告并带入实验室;(3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要自习思考实验有关内容;(4)实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的问题和分析与解决思路。
还应写出自己的心得体会,也可以对教学实验提出新的建议等。
实验报告要上交老师。
二、实验逻辑原理图与分析画实验逻辑原理图逻辑原理图分析上图为运算器原理图。
如图所示运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A 和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM,各部件对操作数进行何种运算由控制信号S3- S0和CN来决定(三选一开关),任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。
如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志FZ。
ALU中所有模块集成在一片CPLD中。
实验三乘、除法运算器实验报告姓名:阿迪兰13053004马光明13052046 班级:计算机2班实验三乘、除法运算器实验报告一、实验目的1、掌握移位加算法设计乘法运算单元的基本思想2、掌握阵列算法乘法运算单元的设计方法3、掌握基于状态机的乘法运算单元的设计方法4、掌握基于宏模块的乘除法运算器的设计方法二、实验任务1、完成一个基于阵列的4位无符号乘法运算器的设计;实现代码为:module c01(x, y, out);input [7:0]x, y;output [15:0]out;genvar i, j, k, l;wire [8:0]tmp_sun[7:0], tmp_out[7:0];wire [8:0]tmp_x;assign tmp_x = {1'b0,x};assign out[0] = tmp_x[0] & y[0];generateassign tmp_out[0][0] = 1'b0;for(i=0;i<8;i=i+1)begin:add_bttop_m tm (tmp_x[i+1], y[0], tmp_x[i], y[1], tmp_out[0][i],tmp_sun[0][i], tmp_out[0][i+1]);endassign out[1] = tmp_sun[0][0];assign tmp_sun[0][8] = tmp_out[0][8];for(j=2;j<8;j=j+1)begin:ftffor(k=0;k<8;k=k+1)begin:add_bbbtm_m bm (tmp_sun[j-2][k+1], tmp_x[k], y[j], tmp_out[j-1][k], tmp_sun[j-1][k], tmp_out[j-1][k+1]);endassign out[j] = tmp_sun[j-1][0]assign tmp_sun[j-1][8] = tmp_out[j-1][8];Endfor(l=8;l<16;l=l+1)begin:add_oassign out[l] = tmp_sun[6][8];endendgenerateendmodulemodule top_m(m0, q0, m1, q1, cin, sun, cout);input m0, m1, q0, q1;input cin;output sun, cout;wire x, y;assign x = m0 & q0;assign y = m1 & q1;full_add fa (x, y, cin, sun, cout);endmodulemodule btm_m(sunin, m, q, cin, sun, cout); input sunin, m, q, cin;output sun, cout;wire y;assign y = m & q;full_add fa (sunin, y, cin, sun, cout); endmodulemodule full_add(x, y, cin, sun, cout);input x, y, cin;output reg sun, cout;always@(x, y, cin)beginsun <= x^y^cin;cout <= x&y | x&cin | y&cin;endendmodule2、完成一个基于移位加原理,用状态机实现的4位无符号乘法运算器的设计;实现代码为:module c02input[1:0] x;input[1:0] y;output[3:0] p;wire [3:0] temp;assign temp = {x , y};always @(temp)case temp4'b 0101:p =4'b 0001;4'b 0110: p = 4'b 0010;4'b 0111: p = 4'b 0011;4'b 1001: p = 4'b 0010;4'b 1010: p = 4'b 0100;4'b 1011: p = 4'b 0110;4'b 1101:p = 4'b 0011;4'b 1110: p = 4'b 0110;4'b 1111: p = 4'b 1001;default: p = 4'b 0000;endcase;endmodule;。
实验题目运算器实验一、算术逻辑运算器1.实验目的与要求:1.掌握算术逻辑运算器单元ALU(74LS181)的工作原理。
2.掌握简单运算器的数据传送通道。
3.验算由74LS181等组合逻辑电路组成的运算功能发生器运算功能。
4.能够按给定数据,完成实验指定的算术/逻辑运算。
2.实验方案:(一)实验方法与步骤1实验连线按书中图1-2在实验仪上接好线后,仔细检查正确与否,无误后才接通电源。
每次实验都要接一些线,先接线再开电源,这样可以避免烧坏实验仪。
2 用二进制数据开关分别向DR1寄存器和DR2寄存器置数。
3 通过总线输出寄存器DR1和DR2的内容。
(二)测试结果3.实验结果和数据处理:1)SW-B=0时有效,SW-B=1时无效,因其是低电平有效。
ALU-B=0时有效,ALU-B=1时无效,因其是低电平有效。
S3,S2,S1,S0高电平有效。
2)做算术运算和逻辑运算时应设以下各控制端:ALU-B SW-B S3 S2 S1 S0 M Cn DR1 DR23)输入三态门控制端SW-B和输出三态门控制端ALU-B不能同时为“0”状态,否则存在寄存器中的数据无法准确输出。
4)S3,S2,S1,S0是运算选择控制端,有它们决定运算器执行哪一种运算;M是算术逻辑运算选择,M=0时,执行算术运算,M=1时,执行逻辑运算;Cn是算术运算的进位控制端,Cn=0(低电平),表示有进位,运算时相当于在最低位上加进位1,Cn=1(高电平),表示无进位。
逻辑运算与进位无关;、ALU-B是输出三态门控制端,控制运算器的运算结果是否送到数据总线BUS上。
低电平有效。
SW-B是输入三态门的控制端,控制“INPUT DEVICE”中的8位数据开关D7~D0的数据是否送到数据总线BUS上。
低电平有效。
5)DR1、DR2置数完成后之所以要关闭控制端LDDR1、LDDR2是为了确保输入数据不会丢失。
6)A+B是逻辑运算,控制信号状态000101;A加B是算术运算,控制信号状态100101。
实验2 运算器实验报告一、实验目的本次实验的主要目的是深入了解运算器的工作原理和功能,通过实际操作和观察,掌握运算器在计算机系统中的重要作用,提高对计算机硬件结构的理解和认识。
二、实验设备本次实验使用了以下设备:1、计算机一台,配置为_____处理器、_____内存、_____硬盘。
2、实验软件:_____。
三、实验原理运算器是计算机中执行算术和逻辑运算的部件。
它主要由算术逻辑单元(ALU)、寄存器、数据通路和控制电路等组成。
算术逻辑单元(ALU)能够进行加、减、乘、除等算术运算,以及与、或、非、异或等逻辑运算。
寄存器用于暂存操作数和运算结果,数据通路负责在各个部件之间传输数据,控制电路则根据指令控制运算器的操作。
在运算过程中,数据从寄存器或内存中读取,经过 ALU 处理后,结果再存回寄存器或内存中。
四、实验内容与步骤(一)加法运算实验1、打开实验软件,进入运算器实验界面。
2、在操作数输入框中分别输入两个整数,例如 5 和 10。
3、点击“加法”按钮,观察运算结果显示框中的数值。
4、重复上述步骤,输入不同的操作数,验证加法运算的正确性。
(二)减法运算实验1、在实验界面中,输入被减数和减数,例如 15 和 8。
2、点击“减法”按钮,查看结果是否正确。
3、尝试输入负数作为操作数,观察减法运算的处理方式。
(三)乘法运算实验1、输入两个整数作为乘数和被乘数,例如 3 和 7。
2、启动乘法运算功能,检查结果的准确性。
3、对较大的数值进行乘法运算,观察运算时间和结果。
(四)除法运算实验1、给定被除数和除数,如 20 和 4。
2、执行除法运算,查看商和余数的显示。
3、尝试除数为 0 的情况,观察系统的处理方式。
(五)逻辑运算实验1、分别进行与、或、非、异或等逻辑运算,输入相应的操作数。
2、观察逻辑运算的结果,理解不同逻辑运算的特点和用途。
五、实验结果与分析(一)加法运算结果通过多次输入不同的操作数进行加法运算,结果均准确无误。
简易计算器实验报告一、实验目的本次实验的目的是设计并实现一个简易计算器,能够进行基本的四则运算(加、减、乘、除),以及处理括号的优先级运算,提高对程序设计和逻辑思维的理解与应用能力。
二、实验原理1、四则运算的优先级规则在数学运算中,先计算括号内的表达式,然后按照先乘除后加减的顺序进行计算。
乘除法的优先级高于加减法,如果在同一级运算中,按照从左到右的顺序进行。
2、数据结构的选择使用栈(Stack)数据结构来存储操作数和运算符。
栈具有先进后出的特点,非常适合处理表达式中的括号和优先级。
3、算法思路首先,将输入的表达式进行解析,将数字和运算符分别存储到不同的栈中。
然后,根据运算符的优先级进行计算,将计算结果重新压入栈中,直到表达式计算完毕。
三、实验设备及环境1、编程工具:选择了 Python 语言作为主要的编程工具,使用PyCharm 集成开发环境进行代码编写和调试。
2、操作系统:Windows 10 操作系统。
四、实验步骤1、定义数据结构定义两个栈,一个用于存储操作数(operandStack),一个用于存储运算符(operatorStack)。
2、表达式解析遍历输入的表达式字符串,将数字转换为整数并压入操作数栈,将运算符压入运算符栈。
遇到左括号直接压入运算符栈,遇到右括号则进行括号内的运算。
3、运算处理当运算符栈不为空时,取出栈顶的运算符和两个操作数进行计算。
根据运算符的优先级进行相应的运算,将结果压入操作数栈。
4、最终结果当表达式解析完毕后,操作数栈中的唯一元素即为表达式的计算结果。
五、代码实现```pythonclass SimpleCalculator:def __init__(self):selfoperandStack =selfoperatorStack =def calculate(self, expression):for char in expression:if charisdigit():selfoperandStackappend(int(char))elif char in '+/()':if char =='(':selfoperatorStackappend(char)elif char ==')':while selfoperatorStack-1!='(':operator = selfoperatorStackpop()operand2 = selfoperandStackpop()operand1 = selfoperandStackpop()result = selfperformOperation(operand1, operand2, operator)selfoperandStackappend(result)selfoperatorStackpop()else:while selfoperatorStack and selfhasHigherPrecedence(selfoperatorStack-1, char):operator = selfoperatorStackpop()operand2 = selfoperandStackpop()operand1 = selfoperandStackpop()result = selfperformOperation(operand1, operand2, operator)selfoperandStackappend(result)selfoperatorStackappend(char)while selfoperatorStack:operator = selfoperatorStackpop()operand2 = selfoperandStackpop()operand1 = selfoperandStackpop()result = selfperformOperation(operand1, operand2, operator)selfoperandStackappend(result)return selfoperandStackpop()def hasHigherPrecedence(self, op1, op2):if op1 in '/' and op2 in '+':return Trueelif op1 in '+' and op2 in '+':return Falseelif op1 in '/' and op2 in '/':return Falsereturn Falsedef performOperation(self, operand1, operand2, operator):if operator =='+':return operand1 + operand2elif operator =='':return operand1 operand2elif operator =='':return operand1 operand2elif operator =='/':if operand2 == 0:raise ValueError("除数不能为 0")return operand1 / operand2if __name__ =="__main__":calculator = SimpleCalculator()expression ="2 + 3 (4 1) / 2"result = calculatorcalculate(expression)print("计算结果:", result)```六、实验结果与分析1、测试用例及结果输入表达式:"2 + 3 4",计算结果:14输入表达式:"(2 + 3) 4",计算结果:20输入表达式:"5 2 3",计算结果:-1输入表达式:"10 / 2 + 1",计算结果:62、结果分析对于简单的四则运算表达式,计算器能够正确计算出结果。
计算机科学与技术系
实验报告
专业名称计算机科学与技术
课程名称计算机组成原理
项目名称基本运算器实验
班级
学号
姓名
同组人员
实验日期
一、实验目的与要求
实验目的
(1)了解运算器的组成结构
(2)掌握运算器的工作原理
实验要求
(1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会很低,一次实验时间根本无法完成实验任务;
(2)应在实验前掌握所以控制信号的作用,写出实验预习报告并带入实验室;
(3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要自习思考实验有关内容;
(4)实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的问题和分析与解决思路。
还应写出自己的心得体会,也可以对教学实验提出新的建议等。
实验报告要上交老师。
二、实验逻辑原理图与分析
画实验逻辑原理图
逻辑原理图分析
上图为运算器原理图。
如图所示运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A 和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3…S0和CN来决定(三选一开关),任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。
如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志FZ。
ALU中所有模块集成在一片CPLD中。
ALU的输入和输出通过三态门74LS245连到CPU内总线上,另外还有指示灯标明进位标志FC和零标志FZ。
图中除T4和CLR,其余信号均来自于ALU单元的排线座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR都连接至CON单元的CLR按钮。
T4由时序单元的TS4提供,其余控制信号均由CON单元的二进制数据开关模拟给出。
控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B 为低有效,控制运算器的输出。
其余为高有效。
暂存器A和暂存器B的数据以及进位标志FC、零标志FZ和数据总线D7…D0能在LED灯上实时显示。
亮表示1,灭表示0。
LDA和LDB用于控制算逻部件的输入数据。
满足LDA=1且T4传来脉冲信号时,数据将会传入暂存器A,同理当LEB=1且T4传来脉冲信号时,数据传入B暂存器。
逻辑运算部件由逻辑门构成,较为简单,可将两个数据按位进行与、或、异或,以及将一个数据的各位求非。
有的运算器还能进行二值代码的16种逻辑操作。
算术运算部件最基本的操作是加法。
一个数与零相加,等于简单地传送这个数。
将一个数的代码求补,与另一个数相加,相当于从后一个数中减去前一个数。
将两个数相减可以比较它们的大小。
移位运算部件采用的是桶形移位器,一般采用交叉开关矩阵来实现,每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即:
(1)对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接0。
(2)对于循环右移功能,右移对角线同互补的左移对角线一起激活。
(3)对于未连接的输出位,移位时使用符号扩展或是0填充,具体由相应的指令控制。
使用另外的逻辑进行移位总量译码和符号判别。
三、数据通路图及分析(画出数据通路图并作出分析)
1、连接实验电路,并检查无误;
2、将时序与操作台单元的开关KK2置为‘单拍’档,开关KK1、KK3置为‘运行’档;
3、打开电源开关,如果有警报声响起,说明有总线竞争现象,应立即关闭电源,重新检查连线,直到错误排除。
然后按动CON单元的CLR按钮,将运算器的A、B和FC、FZ清零;
4、用输入开关向暂存器A置数;
(1)拨动CON单元的SD27——SD20数据开关,形成二进制数01100101(或其他数值),数据显示亮为‘1’,灭为‘0’;
(2)置LDAR=1,LDB=0,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数01100101置入暂存器A中,暂存器A的值通过ALU单元的A7——A0八位LED灯显示;
此时图像如下所示:
5、用输入开关向暂存器B置数;
(1)拨动CON单元的SD27——
(2)——B0八位LED灯显示;
此时图像如下所示:
6、改变运算器的功能设置,观察运算器的输出。
置ALU_B=0、LDA=0、LDB=0,然后按表3—1置S3、S2、S1、S0和Cn的数值,并观察数据总线LED显示灯显示的结果。
(1)置S3、S2、S1、S0为0000,运算器做逻辑运算,图像如下所示:
(2)置S3、S2、S1、S0为0001,运算器做逻辑运算,图像如下所示:
(3)置S3、S2、S1、S0为0010,运算器做逻辑运算,图像如下所示:
(4)置S3、S2、S1、S0为0011,运算器做逻辑运算,图像如下所示:
(5)置S3、S2、S1、S0为0100,运算器做逻辑运算,图像如下所示:
(6)置S3、S2、S1、S0为0101,运算器做移位运算,图像如下所示:
(7)置S3、S2、S1、S0为0110,CN = 0运算器做移位运算,图像如下所示:
(8)置S3、S2、S1、S0为0110,CN = 1运算器做移位运算,图像如下所示:
(9)置S3、S2、S1、S0为0111,CN = 0运算器做移位运算,图像如下所示:
(10)置S3、S2、S1、S0为0111,CN = 1运算器做移位运算,图像如下所示:
(11)置S3、S2、S1、S0为1000,运算器做算术运算,图像如下所示:
(12)置S3、S2、S1、S0为1001,运算器做算术运算,图像如下所示:
(13)置S3、S2、S1、S0为1010(FC = 1),运算器做算术运算,图像如下所示:(14)置S3、S2、S1、S0为1011,运算器做算术运算,图像如下所示:
(15)置S3、S2、S1、S0为1100,运算器做算术运算,图像如下所示:
(16)置S3、S2、S1、S0为1101,运算器做算术运算,图像如下所示:
四、实验数据和结果分析
实验结果数据
结果数据分析
(1)运算器能实现二进制算术、逻辑和移位运算;
(2)设置运算器的S3,S2,S1,S0,Cn,可选择运算器的不同功能;
(3)数据的输入、输出以及FC、FZ标志状态要通过LED显示灯观察时都需要按下脉冲单元的ST按钮;
(4)计算前暂存器A、暂存器B或FC、FZ不清零,则会影响运算结果;
(5)实验时当FC=1,清零后重新打入数据时要注意按动ST直到数据改变,(根据LED 显示灯的亮灭)否者可能会导致数据没有传入;
(6)根据LED显示灯读数据时或输入数据时,注意方向,A(D)0-A(D)7还是A(D)7-A(D)0;(7)数据进入哪一个寄存器就必须开启哪一个寄存器。
譬如:要使数据只进入暂存器A 则必须置LDA=1,LDB=0,且获得T4脉冲信号。
五、实验问题分析、思考题与小结
思考题
1、CON单元的SD27——SD20数据开关置一个二进制数(任意)、置LDA=1、LDB=0,连续按动时序单元的ST按钮,实现了什么数据通路?
答:数据开关?LDA
2、CON单元的SD27——SD20数据开关置一个二进制数(任意)、置LDA=0、LDB=1,连续按动时序单元的ST按钮,实现了什么数据通路?
答:数据开关?LDB
3、置ALU_B=0、LDA=0、LDB=0、置(S3、S2、S1、S0、M)=11111,实现了什么数据通路,进行了什么运算?
答:LDA,LDB?ART?多路开关?BUS,进行的是算数运算,保留。
4、置ALU_B=0、LDA=0、LDB=0、置(S3、S2、S1、S0、M)=10101,实现了什么数据通路,进行了什么运算?
答:LDA,LDB?ART?多路开关?BUS,进行的是算数运算,F=A+B+FC。
5、置ALU_B=0、LDA=0、LDB=0、置(S3、S2、S1、S0、M)=10101,运算结果是多少?
答:F=A+B+FC,FC=0时F=0D,FC=1时,F=0E。
6、你对74181的功能有哪些认识?
答:74181是4位的算逻单元,其中红色的标示为输入信号,绿色的标示为输出信号。
其中A/B为两个输入的操作数据,F为输出的结果,S为ALU功能选择线,包括各种算数运算和逻辑运算等。
Cn为低位向它的进位,Cn+4为它向高位的进位,G为进位产生的函数,P为进位传递函数,A=B指示A与B相等的输出信号。
通过与74181的级联操作,可以构造更多位数的加法器。
六、小结
在本次实验中,我通过了解到运算器基本结构了解到运算器的运算方法以及运算器的运行方式可以分为逻辑运算、算术运算、移位运算等方式,由此了解到运算器各种运算的方式。
?
得分(百分制)。