当前位置:文档之家› 运算器组成实验

运算器组成实验

运算器组成实验
运算器组成实验

实验二 运算器组成实验

1.算术逻辑运算实验

一.实验目的

1. 了解简单运算器的数据传输通路。 2. 验证运算功能发生器的组合功能。

3. 掌握算术逻辑运算加、减、与的工作原理。 4. 验证实验台运算的8位加、减、与、直通功能。 5. 按给定数据,完成几种指定的算术和逻辑运算。

二.实验内容

1.实验原理

算术逻辑单元ALU 的数据通路如图2-1所示。其中运算器ALU181根据74LS181的功能用VHDL 硬件描述语言编辑而成,构成8位字长的ALU 。参加运算的两个8位数据分别为A[7..0]和B[7..0],运算模式由S[3..0]的16种组合决定,而S[3..0]的值由4位2进制计数器LPM_COUNTER 产生,计数时钟是Sclk (图2-1);此外,设M=0,选择算术运算,M=1为逻辑运算,C N 为低位的进位位;F[7..0]为输出结果,C O 为运算后的输出进位位。两个8位数据由总线IN[7..0]分别通过两个电平锁存器74373锁入,ALU 功能如表2-1所示。

表2-1

ALU181的运算功能 选择端 高电平作用数据

S3 S2 S1 S0 M=H M=L 算术操作

逻辑功能

Cn=L (无进位)

Cn=H (有进位)

0 0 0 0 A F =

A F = 1加A F =

0 0 0 1 B A F += B A F +=

)(B A F +=加1

0 0 1 0 B A F = B A F += B A F +=+1

0 0 1 1 0=F

=F 减1(2的补码)

0=F

0 1 0 0 AB F =

B A A F 加=

B A A F 加=加1

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

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

0 1 1 0 B A F ⊕= B A F 减=

1减减B A F =

0 1 1 1 B A F = B A F +=

1)(减B A F +=

1 0 0 0 B A F +=

AB A F 加= AB A F 加=加1 1 0 0 1 B A F ⊕=

B A F 加= B A F 加=加1

1 0 1 0 B F =

AB B A F )加(+=

AB B A F 加)(+=加1

1 0 1 1 AB F = AB F =

1减AB F =

1 1 0 0 1=F

A A F 加=* 1加加A A F =

1 1 0 1 B A F +=

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

A B A F )加(+=加1

1 1 1 1

A F =

A F =

1减A F =

注1、* 表示每一位都移至下一更高有效位, “+”是逻辑或,“加”是算术加 注2、在借位减法表达上,表2-1与标准的74181的真值表略有不同。

三.实验步骤

(1)设计ALU 元件

在Quartus II 环境下,用文本输入编辑器Text Editor 输入ALU181.VHD 算术逻辑单元文件,编译VHDL 文件,并将ALU181.VHD 文件制作成一个可调用的原理图元件。

(2)以原理图方式建立顶层文件工程

选择图形方式。根据图2-1输入实验电路图,从Quartus II的基本元件库中将各元件调入图形编辑窗口、连线,添加输入输出引脚。

将所设计的图形文件ALU.bdf保存到原先建立的文件夹中,将当前文件设置成工程文件,以后的操作就都是对当前工程文件进行的。

(3)器件选择

选择Cyclone系列,在Devices中选择器件EP1C6QC240C8。编译,引脚锁定,再编译。引脚锁定后需要再次进行编译,才能将锁定信息确定下来,同时生成芯片编程/配置所需要的各种文件。

(4)芯片编程Programming(可以直接选择光盘中的示例已完成的设计进行验证实验)

打开编程窗口。将配置文件ALU.sof下载进GW48系列现代计算机组成原理系统中的FPGA中。

(5)选择实验系统的电路模式是NO.0,验证ALU的运算器的算术运算和逻辑运算功能

根据表2-1,从键盘输入数据A[7..0]和B[7..0],并设置S[3..0]、M、Cy,验证ALU运算器的算术运算和逻辑运算功能,记录实验数据。

图2-1 算术逻辑单元ALU实验原理图

四.实验任务

(1)按图2-1所示,在本验证性示例中用数据选择开关(键3控制)的高/低电平选择总线通道上的8位数据进入对应的74373中;即首先将键3输入高电平,用键2、键1分别向A[7..0] 置数01010101(55H),这时在数码管4/3上显示输入的数据(55H);然后用键3输入低电平,再用键2、键1分别向B[7..0]置数10101010(AAH),这时在数码管2/1上显示输入的数据(AAH);这时表示在图2-1中的两个74373锁存器中分别被锁入了加数55H和被加数AAH。可双击图2-1的ALU181元件,了解其VHDL描述。

(2)设定键8为低电平,即M=0(允许算术操作),键6控制时钟SCLK,可设置表2-1的S[3..0]=0 ~ F。现连续按动键6,设置操作方式选择S[3..0]=9(加法操作),使数码管8显示9,以验证ALU的算术运算功能:当键7设置cn=0(最低位无进位)时,数码管7/6/5=0FF(55H+AAH=0FFH);

当键7设置cn=1(最低位有进位)时,数码管7/6/5=100(55H+AAH+1=100H);

(3)若设定键8为高电平,即M=1,键KEY6控制时钟SCLK,设置S[3..0]=0~F,KEY7设置cn=0或cn=1,验证ALU 的逻辑运算功能,并记录实验数据。

表2-2 A[7..0],B[7..0]设置值检查

F[7..0] SW_B 寄存器内容S3 S2 S1 S0 M BUS

A[7..0] B[7..0]

01010101 1010101010

01010101 1010101010

(4) 验证ALU181的算术运算和逻辑运算功能,ALU181模块功能可参照表2-1。

表2-3给定了寄存器DRl=A[7..0]和DR2=B[7..0]的数据(十六进制),要求根据此数据对照逻辑功能表所得的理论值(要求课前完成)与实验结果值进行比较(均采用正逻辑0)。

(4)表2-4列出了8种常用的算术与逻辑运算要求指定的操作内容,正确选择运算器数据通路、控制参数S3、S2、S1、S0、M,并将实验结果值填入括号内,表中给定原始数据DR1=A[7..0]和DR2=B[7..0],以后的数据取自前面运算的结果。

表2-3

S3 S2 S1 S0 A[7..0] B[7..0]

算术运算M=0

逻辑运算(M=1)cn=0(无进位)cn=1(有进位)

0000 A A 5 5 F=()F=()F=()000 1 A A 5 5 F=()F=()F=()0010 A A 5 5 F=()F=()F=()001 1 A A 5 5 F=()F=()F=()0100 F F 0 1 F=()F=()F=()010 1 F F 0 1 F=()F=()F=()0110 F F 0 1 F=()F=()F=()011 1 F F 0 1 F=()F=()F=()1000 F F F F F=()F=()F=()100 1 F F F F F=()F=()F=()1010 F F F F F=()F=()F=()101 1 F F F F F=()F=()F=()1100 5 5 0 1 F=()F=()F=()110 1 5 5 0 1 F=()F=()F=()1110 5 5 0 1 F=()F=()F=()111 1 5 5 0 1 F=()F=()F=()表2-4 8种常用的算术与逻辑运算

操作S3 S2S1S0 M Cn DR1 DR2 运算关系及结果显示Cn4 逻辑乘66 FF D R1.D R2→D R2()

传送D R1→D R2()

按位加D R

1 D R

2

→D R2()

取反

1

DR→D R2()

加1 D R2+1→D R2()

求负

2

DR+1→D R2()

加法D R1+D R2→D R2()

减法D R1–D R2→D R2()

五.实验要求

1、做好实验预习,掌握运算器的数据传送通路和ALU的功能特性,并熟悉本实验中所用的控制台开关的作用和使用方法。

2、写出实验报告,内容是:

①实验目的;②按理论分析值填写好表2-2、表2-3和表2-4,给出对应的仿真波形。

③列表比较实验数据(2)的理论分析值与实验结果值;并对结果进行分析。实验结果与理论分析值比较,有没有不同?为什么? ④通过本实验,你对运算器ALU有何认识,有什么心得体会?

六.实验题与思考题

1.用VHDL实现输入暂存器74373B的功能,及模式选择计数器LPM_COUNTER的功能。

3.用VHDL表达整个ALU实验电路的功能,对电路进行仿真、引脚锁定、并在实验台上实现其功能。

4.用VHDL设计一个简化的8位alu,具有基本算术运算(加、减、带进位加、减)功能和逻辑运算(与AND、或OR、异或XOR、非NOT等)功能,给出仿真波形,并在实验台上实现。

5.用VHDL设计一个16位的ALU,实现基本的算术逻辑运算,为了节省逻辑资源,建议使用两个8位ALU模块级联而成。

6.对ALU181进行算术运算和逻辑运算的功能仿真,并记录仿真波形。

2.带进位算术运算实验

一.实验目的

1、验证带进位控制的算术运算功能发生器的功能。

2、按指定数据完成几种指定的算术运算。

二.实验原理

在实验(1)的基础上增加进位控制电路,将运算器ALU181的进位位送入D锁存器,由T4和CN控制其写入,在此,T4是由键5产生的脉冲信号,这时,CN的功能是电平控制信号(高电平时,CN有效),控制是否允许将进位信号co加入下一加法周期的最低进位位,从而可实现带进位控制运算。

图2-2A 带进位控制的ALU

三.实验步骤

(1)根据电路图2-2A和波形图B,首先使键5(T4)和键7(CN)=0;键8(M)和键3(A0_B1)=1;连续按键6,使产生9个脉冲,这时数码管8显示9(作加法运算);再用键2,键1输入加数9DH(数码管4/3显示9D);

(2)按键3=0,再用键2,键1输入被加数E5H(数码管4、3、2、1分别显示加数和被加数);再将键8(M)置0,使ALU作算术运算,这时可以从数码管6,5上看到9DH+E5H=82H(低8位和);

(3)先将键7(CN)置为1(允许锁存ALU的进位),再用键5(T4)产生一个正脉冲,就能将进位锁入D触发器中:数码管7将显示1,表示加法有进位,并被锁;同时可以看到此进位被累加,使数码管6,5=83H。

(4)置键8=1,在实验箱上作逻辑运算方面的实验,给出相应的仿真波形图;

(5)利用带进位控制,控制T4,分别由低到高输入3个8位加数和被加数,计算24位加法:

7AC5E9 H+ BD5AF8H = ?最后按照下表完成实验,记录实验数据,给出对应仿真波形图。

表2-5

S3 S2 S1 S0 A[7..0] B[7..0]

算术运算M=0

逻辑运算(M=1)cn=0(无进位)cn=1(有进位)

010 1 F F 0 1 F=()F=()F=()0110 F F 0 1 F=()F=()F=()011 1 F F 0 1 F=()F=()F=()1000 F F F F F=()F=()F=()100 1 F F F F F=()F=()F=()1010 F F F F F=()F=()F=()

四.实验要求

1、做好实验预习,掌握带进位控制的算术运算功能发生器的功能特性。

2、写出实验报告,内容是:①实验目的;②按理论分析值填写表2-5。③列表比较实验数据的理论分析值与实验结果值;并对结果进行分析。④实验结果与理论分析值比较,有没有不同?为什么?

五.附加实验题和思考题

1.带进位运算与不带进位运算有何区别?

2.如何实现带进位运算,将上一次运算的进位位用于下一次的运算当中,并实现多个8位数据的(如两个24位数据的加法)运算?在控制电路上应作怎样的改动?给出24位加法详细的仿真波形图。

图2-2B带进位

控制的ALU的仿真波形

3. 移位运算器实验

一.实验目的

1. 验证移位控制的组合功能。

二.实验原理

1、移位运算实验原理图如图2-3所示。移位运算器SHEFT使用VHDL语言编写,其输入/输出端分别与键盘/显示器LED连接。移位运算器是时序电路,在时钟信号到来时状态产生变化,CLK为其时钟脉冲。由S0、S1、M控制移位运算的功能状态,具有数据装入、数据保持、循环右移、带进位循环右移,循环左移、带进位循环左移等功能。移位运算器的具体功能见表2-7所示:

2.电路连接、输入数据的按键、输出显示数码管的定义如图2-3右上角所示。

CLK——时钟脉冲,通过键5产生0—1;

M ——工作模式,M=1时带进位循环移位,由键8控制;

C0 ——允许带进位移位输入,由键7控制;

S ——移位模式0~3,由键6控制,显示在数码管LED8上;

D[7..0] ——移位数据输入,由键(2和1)控制,显示在数码管(2和1)上;

QB[7..0]——移位数据输出,显示在数码管(6和5)上;

CN——移位数据输出进位,显示在数码管(7)上;

三.实验步骤

(1)实验台选择模式0、下载(Configure)到实验台;示例工程文件是1SHEFT.bdf,

(2)键入待移位数据。通过键盘键1、键2向D[7..0]置数01101011(6BH,显示在数码管2和1)。

(3)将D[7..0]装入移位运算器QB[7..0]。键6设置(S1,S0)=3,键8设置M=0,(S&M=6,允许加载待移位数据,显示于数码8);此时用键5产生CLK(0-1-0),将数据装入(加载进移位寄存器,显示在数码管6和5)。

(4)对输入数据进行移位运算。再用键6设置为(S1,S0)=2(S&M=4,显示于数码8,允许循环右移);连续按键5,产生CLK,输出结果QB[7..0](显示在数码管6和5)将发生变化:6BH→B5H→DAH…,

(5)键8设置M=1(允许带进位循环右移),观察带进位移位允许控制C0的置位与清零对移位的影响;

(5)根据表2-7,通过设置(M、S1、S0)验证移位运算的带进位和不带进位移位功能。

四.实验要求

1、做好实验预习,掌握带进位控制的算术运算功能发生器的功能特性。

2、写出实验报告,内容是:①实验目的,实验原理;②按理论分析值准备并填写好实验数据表;③列表比较实验数据的理论分析值与实验结果值,并对结果进行分析;④实验结果与理论分析值比较,有没有不同?为什么?

图2-3 移位运算实验原理图

表2-7 移位发生器的功能

G S1 S0 M 功能

0 0 0 任意保持

0 1 0 0 循环右移

0 1 0 1 带进位循环右移

0 0 1 0 循环左移

0 0 1 1 带进位循环左移

任意 1 1 任意加载待移位数

五.思考题

如何实现有符号数的算术右移和算术左移?修改用VHDL编写的实验参考程序,进行功能仿真,并在实验台上调试实现。附:实验参考程序请参考文件夹中的1SHEFT.VHD和CNT2.VHD

实验1运算器组成实验

实验一运算器组成实验 一、实验目的 1、掌握算术逻辑运算加、减、乘、与的工作原理。 2、熟悉简单运算器的数据传输通路。 3、验证试验台运算器的8位加、减、乘、与、直通功能。 二、实验电路 S0,S1,S2为片选信号,通过它们的高低电平的转换,使各模块的电路是否处于工作状态。每次输入数据存入存储器中,通过控制器取出指令,然后进行计算。 三实验过程 一、接线 1、固定接线 RS_BUS#接VCC,禁止寄存器堆RF向数据总线DBUS送数。 IAR_BUS#接VCC,禁止中断地址寄存器IAR向DBUS送数。 CEL#接VCC,禁止双端口RAM向数据总线DBUS送数。 M1、M2接VCC,选择DBUS作为DR1、DR2的数据输入源。 2、其他控制信号线 SW_BUS#接K0;ALU_BUS接K1; S0接K2;S1接K3;S2接K4; LDDR1接K5;LDDR2接K6。 接线图如下:

二、设置功能开关 1、置开关DB=0,DZ=0,DP=1,使实验系统处于单排状态(每按一次QD按钮,顺序产生T1、T 2、T 3、T4各一个脉冲) 2、将开关IP/DBUS拨到DBUS位置;置SW_BUS#(K0)=0,ALU_BUS(K1)=0,使数据输入设备(SW7~SW0)与数据总线DBUS接通;ALU的输出与数据总线DBUS断开。 三、实验操作 1、按下试验台上电源开关,接通电源。按复位按钮CLR#(使实验系统处于初始状态)。 2、置开关SW7~SW0为相应数字(eg:1000001)此数据通过74HC244加至数据总线DBUS。DBUS的数据指示灯显示相应数字(eg:1000001) 3、置LDDR2=1,LDDR1=0,按QD按钮(产生T3),则将DBUS的数据(1000001)打入DR2。 4、置开关SW7~SW0为相应数字(eg:1000010)此数据通过74HC244加至数据总线DBUS。DBUS的数据指示灯显示相应数字(eg:1000010) 5、置LDDR2=0,LDDR1=1,按QD按钮(产生T3),则将DBUS的数据(1000010)打入DR1。 6、置K0(SW_BUS#)=1、K1(ALU_BUS)=1。是数据输入设备(SW7~SW0)与数据总线DBUS 断开接通;ALU的输出与数据总线DBUS接通。 7、置S0、S1、S2为相应高低电平,使ALU进行相应计算(见下表)。运算的结果送至数据总线DBUS,DBUS的红色数据指示灯显示运算结果(10000011B);此时仅为指示灯为C=1。按QD按钮(产生T4),进位C=1保存。 8、其他运算通过变换S0、S1、S2的高低电平进行不同的运算(见下表)。

计算机组成原理运算器实验—算术逻辑运算实验

实验报告 、实验名称 运算器实验—算术逻辑运算实验 、实验目的 1、了解运算器的组成原理。 2、掌握运算器的工作原理。 3、掌握简单运算器的数据传送通路。 4、验证运算功能发生器( 74LS181)的组合功能 三、实验设备 TDN-CM++ 计算机组成原理教学实验系统一套,导线若干四、实验原理 实验中所用的运算器数据通路如图1-1 所示。其中两片74LSl81以串行方式构成8 位字长的ALU,ALU 的输出经过一个三态门(74LS245)和数据总线相连。三态门由ALU-R 控制,控制运算器运算的结果能否送往总线,低电平有效。为实现双操作数的运算,ALU 的两个数据输入端分别由二个锁存器DR1、DR2 (由74LS273实现)锁存数据。要将数据总线上的数据锁存到DRl、DR2 中,锁存器的控制端LDDR1 和DDR2必须为高电平,同时由T4 脉冲到来。 数据开关“( INPUT DEVICE")用来给出参与运算的数据,经过三态 (74LS245) 后送入数据总线,三态门由SW—B控制,低电平有效。数据显示灯“( BUS UNIT") 已和数据总线相连,用来显示数据总线上的内容。 图中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4 为脉冲信号外,其它均为电平信号。由于实验电路中的时序信号均已连至“W/R UNIT ”的相应时序信号引出端,因此,在进行实验时,只需将“W /R UNIT"的T4接至“ STATE UNIT ”的微动开关KK2 的输入端,按动微动开关,即可获得实验所需的单脉冲。 ALU 运算所需的电平控制信号S3、S2、S1、S0 、Cn、M、LDDRl、 LDDR2 、ALU-B 、SW-B均由“ SWITCH UNIT ”中的二进制数据开关来模拟,其中Cn、ALU —B、SW 一 B 为低电平有效LDDR1 、LDDR2 为高电平有效。 对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。

基本运算器实验定稿版

基本运算器实验 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成原理 项目名称基本运算器实验 班级 学号 姓名 同组人员 实验日期 一、实验目的与要求 实验目的 (1)了解运算器的组成结构 (2)掌握运算器的工作原理 实验要求

(1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会很低,一次实验时间根本无法完成实验任务; (2)应在实验前掌握所以控制信号的作用,写出实验预习报告并带入实验室; (3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要自习思考实验有关内容; (4)实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的问题和分析与解决思路。还应写出自己的心得体会,也可以对教学实验提出新的建议等。实验报告要上交老师。 二、实验逻辑原理图与分析 画实验逻辑原理图 逻辑原理图分析 上图为运算器原理图。如图所示运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A 和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3…S0和CN来决定(三选一开关),任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志FZ。ALU中所有模块集成在一片CPLD中。

计算机组成原理实验-运算器组成实验报告

计算机组成原理课程实验报告 9.3 运算器组成实验 姓名:曾国江 学号: 系别:计算机工程学院 班级:网络工程1班 指导老师: 完成时间: 评语: 得分:

9.3运算器组成实验 一、实验目的 1.熟悉双端口通用寄存器堆的读写操作。 2.熟悉简单运算器的数据传送通路。 3.验证运算器74LS181的算术逻辑功能。 4.按给定数据,完成指定的算术、逻辑运算。 二、实验电路 ALU-BUS# DBUS7 DBUS0 Cn# C 三态门(244) 三态门(244)ALU(181) ALU(181) S3S2S1S0M A7A6A5A4F7F6F5F4 F3F2F1F0B3B2B1B0 Cn+4 Cn Cn Cn+4 LDDR2T2 T2 LDDR1LDRi T3 SW-BUS# DR1(273) DR2(273) 双端口通用寄存器堆RF (ispLSI1016) RD1RD0RS1RS0WR1WR0 数据开关(SW7-SW0)数据显示灯 A3A2A1A0B7B6B5B4 图3.1 运算器实验电路 LDRi T3A B 三态门 R S -B U S # 图3.1示出了本实验所用的运算器数据通路图。参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF 中。

RF(U30)由一个ispLSI1016实现,功能上相当于四个8位通用寄存器,用于保存参与运算的数据,运算后的结果也要送到RF中保存。双端口寄存器堆模块的控制信号中,RS1、RS0用于选择从B端口(右端口)读出的通用寄存器,RD1、RD0用于选择从A端口(左端口)读出的通用寄存器。而WR1、WR0用于选择写入的通用寄存器。LDRi是写入控制信号,当LDRi=1时,数据总线DBUS上的数据在T3写入由WR1、WR0指定的通用寄存器。RF的A、B端口分别与操作数暂存器DR1、DR2相连;另外,RF的B端口通过一个三态门连接到数据总线DBUS上,因而RF中的数据可以直接通过B端口送到DBUS 上。 DR1和DR2各由1片74LS273构成,用于暂存参与运算的数据。DR1接ALU的A输入端口,DR2接ALU的B输入端口。ALU由两片74LS181构成,ALU的输出通过一个三态门(74LS244)发送到数据总线DBUS上。 实验台上的八个发光二极管DBUS7-DBUS0显示灯接在DBUS上,可以显示输入数据或运算结果。另有一个指示灯C显示运算器进位标志信号状态。 图中尾巴上带粗短线标记的信号都是控制信号,其中S3、S2、S1、S0、M、Cn#、LDDR1、LDDR2、ALU_BUS#、SW_BUS#、LDRi、RS1、RS0、RD1、RD0、WR1、WR0都是电位信号,在本次实验中用拨动开关K0—K15来模拟;T2、T3为时序脉冲信号,印制板上已连接到实验台的时序电路。实验中进行单拍操作,每次只产生一组T1、T2、T3、T4时序脉冲,需将实验台上的DP、DB开关进行正确设置。将DP开关置1,DB开关置0,每按一次QD 按钮,则顺序产生T1、T2、T3、T4一组单脉冲。 三、实验设备 1.TEC-5计算机组成实验系统1台 2.逻辑测试笔一支(在TEC-5实验台上) 3.双踪示波器一台(公用) 4.万用表一只(公用) 四、实验任务 1、按图3.1所示,将运算器模块与实验台操作板上的线路进行连接。由于运 算器模块内部的连线已由印制板连好,故接线任务仅仅是完成数据开关、控制信号

运算器部件实验报告

实验一运算器部件实验报告 班级姓名学号日期 一、实验目的 ●熟悉与深入理解4位运算器芯片Am2901的功能和内部组成,运行中要求 使用的控制信号及其各自的控制作用。 ●熟悉与深入理解用4片4位的运算器芯片构成16位的运算器部件的具体方 案,各数据位信号、各控制位信号的连接关系。 ●熟悉与深入理解用2片GAL20v8芯片解决ALU最低位的进位输入信号和 最高、最低位的移位输入信号、实现4位的标志位寄存器的方案,理解为什么这些功能不能在运算器芯片之内实现而要到芯片之外另外处理。 ●明确教学计算机的运算器部件,使用总计24位的控制信号就完全确定了它 的全部运算与处理功能,脱机运算器实验中可以通过24位的微型开关提供这些控制信号。 二、实验说明 脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过24位的微型开关来完成,通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。 三、实验要求 1、实验之前认真预习,写出预习报告,包括操作步骤,实验过程所用数据和运行结果等 2、实验过程当中,要仔细进行,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,记录运行结果 3、实验之后,认真写出实验报告,包括对遇到的各种现象的分析,实验步骤和实验结果,自己在这次实验的心得体会与收获。 四、实验所使用到的控制信号 AM2901所用的控制信号

1、将教学机设置为单步、16位、脱机状态下,即把教学机左下方的5个控制开关置为1XX00。 2、按一下RESET按键,进行初始化。 3、按照指定功能给出控制信号和数据信息,观察各信号指示灯状态。 4、按压START键,给出脉冲信号,观察各信号灯状态。 六、实验内容 1、下表中所列操作在教学机上进行运算器脱机实验。并将结果填入表中。 运算器功能所用到的控制信号

计算机组成原理实验三运算器

实验三:八位运算器组成实验 一:实验目的: 1:掌握运算器的组成原理、工作原理; 2:了解总线数据传输结构; 3:熟悉简单的运算器的数据通路与控制信号的关系; 4:完成给定数据的算术操作、逻辑操作; 二:实验条件: 1:PC机一台; 2:MAX+PLUSⅡ软件; 三:实验内容(一) 1:所用到的芯片 74181:四位算术逻辑运算单元; 74244:收发器(双向的三态缓冲器) 74273:八位D触发器; 74374:八位D锁存器; 74163:八进制计数器; 7449:七段译码器 2:实验电路图 (1)运算器电路图 (A)数据输入电路由两个十六进制计数器连接成16*16=256进制的计数器,可以实现八位的输入。 (B)运算功能选择电路由一个十六进制计数器组成,可以实现16种不同运算的选择。再加上逻辑运算器上的M位和Cn位的选择,一共可以实现16*3=48种运算功能。内部由一个74163构成。

内部结构: (C)数码管扫描显示电路由一个扫描电路scan和一个七段译码器7449组成,scan 内部是一个二选一的多路复用器。 scan内部结构: (D)运算器电路图

(2)波形仿真图 (A)输入两个数A=05H,B=0AH,O5H DR1,0AH DR2,并通过经由74181在总线上显示。

(B)对两个数进行各种数学运算和逻辑运算。加法运算:输出控制:s4s3s2s1=0001,M=0,CN=0 输出使能:ALU_BUS=0 计算结果:05H+0AH=10H

四:实验内容(二) 给定A,B两个数,设A=05H,B=0AH,完成几种常见的算术运算和逻辑运算画出运算的波形和仿真图 (1)逻辑运算:A and B,A or B,取反/A,A⊙B,A⊕B; /A A⊕B A⊙B A and B A or B 输入控制s3s2s1s0 0000 0110 1001 1011 1110 计算结果FAH 0FH F0H 00H 0FH

嵌入式--计算器--实验报告

计算器设计实验报告 一、实验设计主要分工 04009320 文斌:算法设计,LCD显示。 04** 张希:界面(按钮控件)设计,文件内容读取。 共同调试、完善设计。 二、程序设计实现功能效果 (1)支持整数、小数基本加减乘除运算; (2)有优先级的判别计算。优先级由高到低一次为括号运算、乘除运算、加减运算。(3)支持键盘输入和触摸屏输入; (4)能读取指定目录下文本内容(内容为计算表达式)并计算得出结果,将内容和结果显示在LCD上。 程序任务开始后,等待键盘或触摸屏的输入。输入键有0~9数字键、+-*/()运算符、del退格键、clear清屏键、read读指定目录文本内容并计算键、enter'='键、‘.’小数点键。 每当有字符输入时,触摸屏相应键显示“AAA”,100ms后恢复原相应按键符号,同时LCD 屏幕上显示相应字符。当输入'del'键时,屏幕显示去掉最后一位字符。当输入'='号后,得出计算结果,结果显示于表达式的下一行。若是除零错误,则结果显示为“/0ERROR!”。若有非法字符(触摸点不能识别为设计按键符则视为非法字符),则结果输出为“Syntax Error!!”。若表达式有运算符连续输入,则忽略前面的运算符,只取最后一位运算符计算,正常显示数字结果。当输入'clear'键时,情况显示区域。当输入'read'键时,从指定目录文本文件中读取表达式并计算。将表达式内容和计算结果显示在LCD上。 三、程序算法实现 1、计算算法 首先将输入的0~9数字、+-*/()运算符的内容存储于一个全局变量cal[number]中, 表达为中缀表达式。用void str2repol()函数,将输入字符串cal[number]转换成逆波 兰表达式并存于全局数组char repol[maxs]中。str2repol()函数中缀表达式转成逆波兰 后缀表达式算法如下: (1)首先构造一个运算符栈stack[maxs],此运算符在栈内遵循越往栈顶优先级越高的 原则。

计算机组成原理实验报告运算器组成存储器

计算机组成原理实验报告 一、实验1 Quartus H的使用 一.实验目的 掌握Quartus H的基本使用方法。 了解74 1 38(3:8)译码器、74244、74273的功能。 利用Quartus H 验证74138 (3: 8)译码器、74244、74273 的功能。 二.实验任务 熟悉Quartus H中的管理项目、输入原理图以及仿真的设计方法与流程。新建项目,利用原理编辑方式输入74138、74244、74273的功能特性,依照其功能表分别进行仿真,验证这三种期间的功能。 三.74138、74244、74273的原理图与仿真图 1.74138 的原理图与仿真图 74244的原理图与仿真图 1.

实验2运算器组成实验 一、 实验目的 1. 掌握算术逻辑运算单元(ALU 的工作原理。 2. 熟悉简单运算器的数据传送通路。 3. 验证4位运算器(74181)的组合功能。 4. 按给定数据,完成几种指定的算术和逻辑运算。 二、 实验电路 附录中的图示出了本实验所用的运算器数据通路图。 8位字长的ALU 由2 片74181构成。2片74273构成两个操作数寄存器 DR1和DR2用来保存参 与运算的数据。DR1接ALU 的A 数据输入端口,DR2接 ALU 的B 数据输入端 口,ALU 的数据输出通过三态门74244发送到数据总线BUS7-BUS 上。参与 运算的数据可通过一个三态门74244输入到数据总线上,并可送到DR1或 DR2 暂存。 图中尾巴上带粗短线标记的信号都是控制信号。除了 T4是脉冲信号外,其 4. 74273的原理图与仿真图、

他均为电位信号。nCO, nALU-BUS nSW-BU鈞为低电平有效。 三、实验任务按所示实验电路,输入原理图,建立.bdf 文件。 四. 实验原理图及仿真图 ,然后利用ALU的直通功能,检查DR1 DR2中是否保存了所置的数。 其实验原理图如下: 波形图如下: 实验 3 半导体存储器原理实验 (一)、实验目的 (1)熟悉静态随机存储器RAM和只读存储器ROM勺工作特性和使用方法; (2)熟悉半导体存储器存储和读出数据的过程; (3)了解使用半导体存储器电路时的定时要求。 (二)、实验要求 利用Quartus H器件库提供的参数化存储单元,设计一个由128X8 位的RAM和128X8位的ROM勾成的存储器系统。请设计有关逻辑电路,要求仿真通过,并设计波形文件,验证该存储器系统的存储与读出。 (三)、实验原理图与仿真图 ram内所存储的数据: rom 内所存储的数据: 仿真图如下: (四)心得体会 本次试验中,我们应该熟练掌握Quartus H软件的使用方法;熟悉静态随机存储器RAM和只读存储器RO啲工作特性和使用方法;熟悉半导体存储器存

java计算器实验报告

Java计算器实验报告 计算机032 胡勇健 03095218 2005年5月5日

目录 1.设计名称与要求 2.各模块功能的介绍和实现3.系统的特色和不足4.参考书

一. 实验名称及其要求: A)名称: java计算器的设计 B)要求:1.实验目的:图形界面设计。 熟悉java.awt包中的组件,掌握图形界面设计方法,理解委托事件处理模型。 2.题意: 请设计并实现Windows系统中“计算器”的窗口及功能。 3.实验要求: (1)设计图形界面添加菜单:窗口上添加各种组件及菜单,并处理组件及菜单的事件监听程序。 (2)运算:实现多种运算,保证运算正确性。 二.各模块功能的介绍和实现: A)GUI图形界面的组件: a)所用到的Java类库包: java.awt.*; 基本的图形界面组件来源于awt包。 java.awt.event.*; 事件的属性处理来源于awt.event包。 javax.swing.*; swing组件增加了awt包中所不具备的各种优越功能。 java.awt.datatransfer.*; 用于计算器与外部的程序进行复制粘贴。 b)所用的各部分图形组件的定义: Frame mainFrame; //主框架 JTextField answerText; //显示计算结果 JTextField memoryState; //显示计算器内存的使用情况MenuBar menuGroup; //菜单栏 Menu editMenu,viewMenu,helpMenu; //编辑,查看,帮助菜单 MenuItem copyItem,pasteItem; //复制,粘贴 MenuItem standardModel; //标准型 CheckboxMenuItem numGroup; //数字分组 MenuItem aboutCal; //关于计算器 Button buttonBackSpace,buttonCE,buttonC; //退格,清除,清空按钮 Button buttonMC,buttonMR,buttonMS,buttonMADD; //内存操作按钮 Button buttonNum[]; //数字按钮 Button buttonAdd,buttonSub,buttonMul,buttonDiv; //+,-,*,/ Button buttonDot,buttonSign,buttonEqual; //. +/- =

运算器实验报告模板

脱机运算器实验报告 理论课教师姓名:高金山实验指导教师:刘万成 组号:姓名:闫麟阁学号:12281212 实验目的: (1)了解脱机操作下AM2901运算器的功能与控制信号的使用,了解运算器AM2901的内部结构及工作时序,观察运算器运算的结果对状态标志的影响。 (2)深入了解AM2901运算器的功能与具体用法,掌握用AM2901完成各种运算操作时各控制信号的使用,观察指令执行的结果对状态标志的影响;了解4片AM2901的级联方式,深化运算器部件的组成、设计、控制与使用等诸项知识。 实验内容: 1.将教学机左下方的5个拨动开关置为1XXOO(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化。 2.接下来,按下表所列的操作在机器上进行运算器脱机实验,将结果填入表中:其中D1取为0101H,D2取为1010H;通过两个12位的红色微型开关向运算器提供控制信号,通过16位数据开关向运算器提供数据,通过指示灯观察运算结果及状态标志。 运算器实验(1) 实验结果分析(每人选择2个操作运算进行控制信号取值和运算结果值的分析):

此式的功能是R0∨R1然后将值赋给R1,由于有两个值,所以A、B口均有对应地址输入,B 对应的是R0,所以B的地址为0001,A对应的是R1,所以A的地址为0000。因为最后的值存储到B口多对应的地址并输出,所以I8-I6所选值为011;该式实现的是并运算,所以I5-I3所选值为011;数据来源是A和B,所以I2-I0所选值为001。 该式接受ALU的标志位输出的值,所以SST所选值为001;该式执行的并(SUB),所以SSH SCI 所选值为000。 因为R0=0101,R1=1010,所以按START前ALU的输出值为0F0F,故输出值为0F0F。 此时的功能是实现R0的逻辑左移功能,由于只有一个值,所以只有B口有对应地址输入,B对应的是R0,所以B的地址为0000。因为最后的值存储到B口对应的地址并输出,所以I8-I6所选值为111,;该式实现的是逻辑左移,所以I5-I3取000(加法);数据来源是B,所以I2-I0所选值为011。 该式是左移操作,另三个标志不变,所以SST所选值为110;SSH SCI所选值为100。 因为R0=FEFE,实现逻辑左移后补0,所以按START之前R0为FEFE,按START后R0变为FDFC。 运算器实验(2) 实验步骤 将教学机左下方的5个拨动开关置为1XX00(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化。接下来,按下表所列的操作在机器上进行运算器脱机实验,将结果填入表中:

运算器部件实验报告

实验一运算器部件实验报告 班级____________ 姓名_______________ 学号 _______________ 日期_____________ 一、实验目的 熟悉与深入理解4位运算器芯片Am2901的功能和内部组成,运行中要求使用的控制信号及其各自的控制作用。 熟悉与深入理解用4片4位的运算器芯片构成16位的运算器部件的具体方案,各数据位信号、各控制位信号的连接关系。 熟悉与深入理解用2片GAL20V8芯片解决ALU最低位的进位输入信号和最高、最低位的移位输入信号、实现4位的标志位寄存器的方案,理解为什么这些功能不能在运算器芯片之内实现而要到芯片之外另外处理。 明确教学计算机的运算器部件,使用总计24位的控制信号就完全确定了它的全部运算与处理功能,脱机运算器实验中可以通过24位的微型开关提供这些控制信号。 二、实验说明 脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过24位的微型开关来完成,通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。 三、实验要求 1、实验之前认真预习,写出预习报告,包括操作步骤,实验过程所用数据和运行结果等 2、实验过程当中,要仔细进行,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,记录运行结果 3、实验之后,认真写出实验报告,包括对遇到的各种现象的分析,实验步骤和实验结果,自己在这次实验的心得体会与收获。 四、实验所使用到的控制信号 AM2901所用的控制信号 运算器用到的GAL20V8的控制信号

五、实验步骤 1、将教学机设置为单步、16位、脱机状态下,即把教学机左下方的5个控制开关置为1XX00。 2、按一下RESET按键,进行初始化。 3、按照指定功能给出控制信号和数据信息,观察各信号指示灯状态。 4、按压START键,给出脉冲信号,观察各信号灯状态。 六、实验内容 1、下表中所列操作在教学机上进行运算器脱机实验。并将结果填入表中 2、下表中所列操作在教学机上进行运算器脱机实验。并将结果填入表中 运算器功能所用到的控制信号

《计算机组成原理》实验报告---8位算术逻辑运算实验

. '. 计算机专业类课程 实验报告 课程名称:计算机组成原理 学 院:信息与软件工程学院 专 业:软件工程 学生姓名: 学 号: 指导教师: 日 期: 2012 年 12 月 15 日

电子科技大学 实验报告 一、实验名称:8位算术逻辑运算实验 二、实验学时:2 三、实验内容、目的和实验原理: 实验目的: 1.掌握算术逻辑运算器单元ALU(74LS181)的工作原理。 2.掌握模型机运算器的数据传送通路组成原理。 3.验证74LS181的组合功能。 4.按给定数据,完成实验指导书中的算术/逻辑运算。 实验内容: 使用模型机运算器,置入两个数据DR1=35,DR2=48,改变运算器的功能设定,观察运算器的输出,记录到实验表格中,将实验结果对比分析,得出结论。 实验原理: 1.运算器由两片74LS181以并/串形式构成8位字长的ALU。

. '. 2.运算器的输出经过一个三态门(74LS245)和数据总线相连。 3.运算器的两个数据输入端分别由两个锁存器(74LS273)锁存。 4.锁存器的输入连至数据总线,数据开关(INPUT DEVICE)用来给 出参与运算的数据,并经过一三态门(74LS245)和数据总线相连。 5.数据显示灯(BUS UNIT)已和数据总线相连,用来显示数据总线内 容。 实验器材(设备、元器件):模型机运算器 四、实验步骤: 1. 仔细查看试验箱,按以下步骤连线 1)ALUBUS连EXJ3 2) ALU01连BUS1 3) SJ2连UJ2 4) 跳线器J23上T4连SD 5) LDDR1,LDDR2,ALUB,SWB四个跳线器拨在左边 6) AR跳线器拨在左边,同时开关AR拨在“1”电平 2. 核对线路,核对正确后接通电源 3. 用二进制数据开关KD0-KD7向DR1和DR2寄存器置入8位运算数据。

运算器组成实验

实验二 运算器组成实验 1.算术逻辑运算实验 一.实验目的 1. 了解简单运算器的数据传输通路。 2. 验证运算功能发生器的组合功能。 3. 掌握算术逻辑运算加、减、与的工作原理。 4. 验证实验台运算的8位加、减、与、直通功能。 5. 按给定数据,完成几种指定的算术和逻辑运算。 二.实验内容 1.实验原理 算术逻辑单元ALU 的数据通路如图2-1所示。其中运算器ALU181根据74LS181的功能用VHDL 硬件描述语言编辑而成,构成8位字长的ALU 。参加运算的两个8位数据分别为A[7..0]和B[7..0],运算模式由S[3..0]的16种组合决定,而S[3..0]的值由4位2进制计数器LPM_COUNTER 产生,计数时钟是Sclk (图2-1);此外,设M=0,选择算术运算,M=1为逻辑运算,C N 为低位的进位位;F[7..0]为输出结果,C O 为运算后的输出进位位。两个8位数据由总线IN[7..0]分别通过两个电平锁存器74373锁入,ALU 功能如表2-1所示。 表2-1 ALU181的运算功能 选择端 高电平作用数据 S3 S2 S1 S0 M=H M=L 算术操作 逻辑功能 Cn=L (无进位) Cn=H (有进位) 0 0 0 0 A F = A F = 1加A F = 0 0 0 1 B A F += B A F += )(B A F +=加1 0 0 1 0 B A F = B A F += B A F +=+1 0 0 1 1 0=F =F 减1(2的补码) 0=F 0 1 0 0 AB F = B A A F 加= B A A F 加=加1 0 1 0 1 B F = )(B A F +=加B A )(B A F +=加B A +1 0 1 1 0 B A F ⊕= B A F 减= 1减减B A F = 0 1 1 1 B A F = B A F += 1)(减B A F += 1 0 0 0 B A F += AB A F 加= AB A F 加=加1 1 0 0 1 B A F ⊕= B A F 加= B A F 加=加1 1 0 1 0 B F = AB B A F )加(+= AB B A F 加)(+=加1 1 0 1 1 AB F = AB F = 1减AB F = 1 1 0 0 1=F A A F 加=* 1加加A A F = 1 1 0 1 B A F += A B A F )加(+= A B A F )加(+=加1 1 1 1 0 B A F += A B A F )加(+= A B A F )加(+=加1 1 1 1 1 A F = A F = 1减A F = 注1、* 表示每一位都移至下一更高有效位, “+”是逻辑或,“加”是算术加 注2、在借位减法表达上,表2-1与标准的74181的真值表略有不同。 三.实验步骤 (1)设计ALU 元件 在Quartus II 环境下,用文本输入编辑器Text Editor 输入ALU181.VHD 算术逻辑单元文件,编译VHDL 文件,并将ALU181.VHD 文件制作成一个可调用的原理图元件。 (2)以原理图方式建立顶层文件工程

计算机组成原理运算器实验报告

计算机组成原理实验一 运算器实验 一、实验目的: 1、掌握简单运算器的数据传输方式。 2、验证运算功能发生器(74LS181)及进位控制的组合功能。 二、实验要求: 完成不带进位及带进位算数运算实验、逻辑运算实验,了解算数逻辑运算单元的运用。 三、实验原理: 74LS181是4位算术逻辑运算器,用两个74LS181并联可以实

现8位运算,为了实现双操作的运算,ALU 的输入端分别由两个锁存器DR1,DR2锁存数据。数据显示灯和数据总线相连接,用来显示数据总线上的内容。由于实验电路中的时序信号均已连接至W /RUIT相应的时序信号引出端,只要微动开关,即可获得实验所需的单脉冲。 四、 实验连接: 1.八位运算器控制信号连接: S3,S2,S1,S0,M ,/CN ,LDDR1,LDDR2,LDCZY ,/SW-B ,/ALU-B ,Cn+4 Cn+4I 2.完成连接并检查无误后接通电源。 五、实验仪器状态设定: 在闪动的“P.”状态下按动“增址”命令键,使LED 显示器自左向右第一位显示提示符“H ”,表示本装置已进入手动单元实验状态。 五、 实验项目: (一)算数运算实验 拨动二进制数据开关向DR1和DR2寄存器置数(灯亮为1,灯灭为0)。 步骤如下: [CBA=001] [LDDR1=1] [LDDR1=0] [LDDR2=0] [LDDR2=1] 数据开关 (01100101) 三态门 寄存器DR1 (01100101) 数据开关 (10100111) 寄存器DR2 (10100111)

[“按STEP”] [“按STEP”] 然后检查数据: 1.关闭数据输入三态门(CBA=000) 2.打开ALU输出三态门(CBA=010) 3.当置S3,S2,S1,S0,M为11111时,总线指示灯显示DR1中的数 4.当置S3,S2,S1,S0,M为10101时,总线指示灯显示DR2中的数 算数运算(不带进位)实验: 置CBA=010,S3,S2,S1,S0,M,/CN为100101,LDCZY=0,则数据总线指示灯显示00001100(0CH) (二)进位控制实验 (1)进位标志清零 CBA=000 置S3,S2,S1,S0,M为00000 置/CN为0,LDCZY为1 按STEP (2)向DR1和DR2置数(同上) (3)验证进位运算及进位锁存功能,使/CN=1,LDCZY=1,来进行算数运算。 给定DR1=65,DR2=A7,改变运算器功能(逻辑或非运算方法见逻辑运算实验),得到运算器输出记录如下: DR1 DR2 S3 S2 S1 S0 M=0 (算数运算) M=1 (逻辑运算)CN=1 无进位 CN=0 有进位 65 A7 0000 F=(65)F=(66)F=(9A) 0001 F=(E7)F=(E8)F=(18) 0010 F=(7D)F=(7E)F=(82) 0011 F=(FF)F=(0)F=(0) 0100 F=(A5)F=(A6)F=(82) 0101 F=(27)F=(B8)F=(58) 0110 F=(BD)F=(-42)F=(C2) 0111 F=(3F)F=(40)F=(40) 1000 F=(8A)F=(E3)F=(BF) 1001 F=(C)F=(10D)F=(3D) 1010 F=(A2)F=(BE)F=(A7) 1011 F=(25)F=(7D)F=(7D) 1100 F=(CA)F=(CB)F=(1) 1101 F=(4C)F=(DD)F=(7D) 1110 F=(E2)F=(E3)F=(77) 1111 F=(64)F=(65)F=(65)

计算机组成原理实验-运算器实验报告

1.逻辑运算 (1)S3S2S1S0=0000时,F=A,例如:当A=00010101,B=01101001时 F=00010101; 当A=01011000时,B=01011110时 F=01011000 (2)S3S2S1S0=0001时,F=B,例如: 当A=10110111,B=01110010时 F=01110010 当A=11100011,B=01010110 F=01010110 (3)S3S2S1S0=0010时,F=AB。例如:当A=10110010,B=10010111时 F=10010010 当A=11000011,B=00111100时 F=00000000 (4)S3S2S1S0=0011时,F=A+B。例如:当A=00110101,B=11001010时, F=11111111 当A=01011011,B=11000101时 F=11011111 (5)S3S2S1S0=0100时,F=/A。例如:

当A=00110100,B=11010010时, F=11001011 当A=01001111,B=10100101时 F=10110000 2.移位运算 (1)S3S2S1S0=0101时,F=A逻辑右移B(取低三位)位。例如: 当A=01000101,B=00000010时, F=00010001 当A=01011011,B=00000101时 F=00000010 (2)S3S2S1S0=0110时,F=A逻辑左移B(取低三位)位。例如: 当A=00110101,B=00000011时, F=10101000 当A=01101011,B=00000001时 F=11010110 (3)S3S2S1S0=0111时,F=A算术右移B位。例如:当A=01110101,B=00000010时, F=00011101 当A=01000111,B=00000101时

实验一 运算器实验(1)

级班学号姓名 实验报告 实验一运算器实验 一、实验目的: 1、掌握简单运算器的数据传送通路; 2、验证运算功能发生器(74LS181)的组合功能; 3、验证带进位控制的算术运算功能发生器的功能; 4、按指定数据完成几种指定的算术运算。 二、实验设备 DVCC-C5JH计算机组成原理教学实验系统一台,排线若干。 三、实验原理 1、实验中所用的运算器数据通路图如附A图1-3所示。其中运算器由两片74LS181以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由二个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关(“INPUT DEVICE”)用来给出参与运算的数据,并经过一三态门(74LS245)和数据总线相连,数据显示灯(“BUS UNIT”)已和数据总线相连,用来显示数据总线内容。 2、控制信号说明: T4:脉冲信号;实验时,将W/R UNIT的T4接至STATE UNIT的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲。 S3~S0、M:运算器的功能控制信号;可参见74181芯片的功能表P64。 Cn:进位控制信号,低电平有效。 LDDR1、LDDR2:数据寄存器DR1和DR2的数据装载控制信号,高电平有效。ALU-B:该控制信号控制是否将ALU的结果送到总线上,低电平有效。

SW-B :三态门开关信号,控制是否打开三态门,低电平有效。 四、实验内容 1、算术逻辑运算实验: 实验步骤: ①按图1-2连接路线,仔细检查无误后,接通电源; ②用二进制数码开关向DR1和DR2寄存器置数。 A )数据开关置01100101; B )设置switch unit :ALU-B=1 SW-B=0 LDDR1=1 LDDR2=0 C )按动KK2给出一个单脉冲信号,即T4=┎┒ D )数据开关置10100111; E )设置switch unit :LDDR1=0 LDDR2=1 F )按动KK2给出一个单脉冲信号。 ③检验DR1和DR2中存的数是否正确: A )设置switch unit :SW-B=1 ALU-B=0 B )设置switch unit :当S 3S 2S 1S 0M=00000,总线显示灯显示DR1中的数,而 置为S 3S 2S 1S 0M=01010,总线显示灯显示DR2中的数。 ④验证74LS181的算术运算和逻辑运算功能:[给定A=(DR1)=65 H ,B=(DR2)=A7 H] A )改变运算器的功能设置,观察运算器的输出,填入下表: DR1 DR2 S 3S 2S 1S 0 M=1(算术运算) M=0(逻辑运算) Cn=1 (无进位) Cn=0 (有进位) 65 A7 0000 01100101 01100110 10011010 65 A7 0001 11100111 11101000 00011000 65 A7 0010 01111101 01111110 10000010 65 A7 0011 11111111 00000000 00000000 65 A7 0100 10100101 10100110 11011010 65 A7 0101 00100111 00101000 01011000

计算机组成原理运算器实验报告

一.实验目的及要求 (1) 了解运算器的组成结构。 (2) 掌握运算器的工作原理。 二.实验模块及实验原理 本实验的原理如图1-1-1所示。 运算器部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A 和暂存器B ,三个部件同时接受来自 A 和B 的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部

件对操作数进行何种运算由控制信号S3…S0和CN来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。ALU中所有模块集成在一片CPLD 中。 逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-1-2所示。图中显示的是一个4X4 的矩阵(系统中是一个8X8 的矩阵)。每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即: (1) 对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连, 而没有同任何输入相连的则输出连接0 。 (2) 对于循环右移功能,右移对角线同互补的左移对角线一起激活。例如,在4 位矩阵中使用‘右1 ’和‘左 3 ’对角线来实现右循环 1 位。 (3) 对于未连接的输出位,移位时使用符号扩展或是0 填充,具体由相应的指令控制。使用另外的逻辑进行移位总量译码和符号判别。 运算器部件由一片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 的数据能在LED 灯上实时显示,原理如图1-1-3所示(以A0为例,其它相同)。进位标志FC、零标志FZ和数据总线D7…D0的显示原理也是如此。 ALU和外围电路的连接如图1-1-4所示,图中的小方框代表排针座。 运算器的逻辑功能表如表1-1-1所示,其中S3 S2 S1 S0 CN 为控制信号,FC 为进位标志,FZ为运算器零标志,表中功能栏的FC、FZ表示当前运算会影响到该标志。

相关主题
文本预览
相关文档 最新文档