当前位置:文档之家› 运算器部件实验-乘法器

运算器部件实验-乘法器

运算器部件实验-乘法器
运算器部件实验-乘法器

运算器部件实验—乘法器

一、 实验目的

理解并掌握乘法器的原理。

二、 实验原理

有符号数乘法——Booth 乘法器

一个有效计算有符号数乘法的是Booth 算法,算法的新颖之处在于减法也可以用于计算乘积。假定210×610,或者说00102×01102:

0 0 1 0

× 0 1 1 0

+ 0 0 0 0 移位(乘数位为0) + 0 0 1 0 相加(乘数位为1) + 0 0 1 0 相加(乘数位为1) + 0 0 0 0 移位(乘数位为0) 0 0 0 0 1 1 0 0

Booth 发现加法和减法可以得到同样的结果。例如,

610 = -210 + 810

或者 01102 = -00102 + 10002

因为在当时移位比加法快得多,所以Booth 实验现象发现了这个算法。Booth 算法的关键在于把1分类为开始、中间、结束3种,如图6-21所示。

当然一串0的时候加减法都不做。因此,总结1的分类情况有4种,见表6-18.

表6-18 Booth 算法中1的分类

1的结束 1的中间 1的开始

图6-21 Booth 算法中1的分类示意

以前乘法器的第一步是根据乘数的最低位来决定是否将被乘数加到中间结果积,而Booth 算法则是根据乘数相邻两位来决定操作,第一步根据相邻2位的4种情况来进行加或减操作,第二步仍然是将积寄存器右移。算法描述如下:

(1) 根据当前位和其右边的位,做如下操作。

00:0的中间,无任何操作;

01:1的结束,将被乘数加到积的左半部分; 10:1的开始,积的左半部分减去被乘数; 11:1的中间,无任何操作。 (2) 将积寄存器右移一位。

需要注意的是,因为Booth 乘法器是有符号数的乘法,因此积寄存器移位的时候,为了保留符号位,进行算数右移,不像前面的算法逻辑右移就可以了。

对于Booth 算法,举例如下:210 × -310 = -610,或者说是00102 × 11012 = 1111 10102。 运算过程见表6-19.

表6-19 Booth 算法运算过程

三、 实验现象

本实验实现4位数的Booth 乘法(有符号数乘法)。 输入输出规则对应如下: (1) 输入的4位被乘数(multiplicand )md3~md0对应的开关SD 11~SD 8。 (2) 输入的4位乘数(multiplier )mr3~mr0对应的开关SD 3~SD 0。 (3) 按单脉冲按钮,输入脉冲,也即节拍。

(4)

乘积product p8~p0对应的信号灯A 8~A 0。

(5) 当计算结束时,final 新号为1,对应灯R7.

如表6-19所示的Booth 算法运算过程,4位乘法一共需要0~8共9个小步骤计算出结果。本实验也是通过9个小步骤实现的,通过按单脉冲按钮输入脉冲,观察积寄存器的变化,掌握Booth 乘法器的原理。

(1) 拨动开关SD 11~SD 8输入4位被乘数(md3~md0)0010,SD 3~SD 0输入4位乘数(mr3~mr0)1101。

(2) 按动单脉冲按钮,输入脉冲,对照表6-19观察寄存器灯即A 8~A 0的变化情况,

当灯R7亮时,说明计算结束,灯A

8~A

1

为最后相乘结果。

根据以上操作细节,仿照表6-19填写表6-20中各步骤及运算结果。

表6-20 Booth算法实验

四、实验体会

1、在进程中一个信号变量只能赋一次值,多次赋值只保留最后一个的值,在不同

的进程中,相同的信号量赋值,会引起多驱动。

2.、通过引入相关的库,可以直接用运算符进行加减运算,不需要使用逻辑运算。

五、源代码

booth

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity Booth is

port

(

multiplicand : in std_logic_vector(3 downto 0);

multiplier : in std_logic_vector(3 downto 0);

clk : in std_logic;

clr :in std_logic;

product : buffer std_logic_vector(8 downto 0);

final : out std_logic

);

end entity;

architecture rtl of Booth is

signal m:std_logic_vector(8 downto 0):=multiplicand&"00000"; signal boothstep:std_logic_vector(2 downto 0):="000";

signal flag :std_logic_vector(1 downto 0);------后两位部分积signal temp: std_logic_vector (8 downto 0);----部分积寄存器begin

process(flag)is----------后两位控制加还是减

begin

if(flag="01")then

temp<=product+m;

elsif(flag="10")then

temp<=product-m;

else

temp<=product;

end if;

end process;

flag<=product(1 downto 0);

process(clk,clr) is --------时钟到来移位

begin

if(clr='0')then

product<="0000"&multiplier&'0';--qianhou bu 0 elsif(clk'event and clk='1')then

product<=temp(8)&temp(8 downto 1);----寄存器中的数据保存到product中end if;

end process;

process(clk) is

begin

if clr='0' then

final<='0';

boothstep<="000";

elsif(clk'event and clk='1')then

if(boothstep="011")then ---第四下时钟沿来临时boothstep 为3 这时停止final<='1';

boothstep<="000";

else

boothstep<=boothstep+'1';

final<='0';

end if;

end if;

end process;

end rtl;

实验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的高低电平进行不同的运算(见下表)。

实验一运算器实验

实验一运算器实验 简介:运算器是数据的加工处理部件,是CPU的重要组成部分,各类计算机的运算器结构可能有所不同,但是他们的最基本的结构中必须有算术/逻辑运算单元、数据缓冲寄存器、通用寄存器、多路转换器的数据总线的逻辑构件。 一、实验目的 1、了解算术逻辑运算器(74LS181)的组成和功能。 2、掌握基本算术和逻辑运算的实现方法。 二、实验内容 运用算术逻辑运算器74LS181 进行有符号数/无符号数的算术运算和逻辑运算。 三、实验元器件 1、算术逻辑运算器(74LS181)。 2、三态门(74LS244、74LS245)及寄存器(74LS27 3、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 相连。当二进制控制开关CBA=010状态时,通过138译码选通输出ALU_BUS运算器运行结果。运算器ALU 的两个数据输入端分别由两个数据暂存器(74LS273)DR1、DR2 锁存,74LS181 将DR1、DR2 内的数据作为上述表 1.1中参与运算的数 A 和B。由于DR1、DR2 已经把数据锁存,只要74LS181的控制信号不变,那么74LS181 的输出数据也不会发生改变。数据缓冲寄存器DR1、DR2 的输入端D0~D7连至8位数据总线BUS,在DR1_CLK和DR2_CLK 端出现上升沿跳变的时候,总线BUS的数据分别打入DR1、DR2锁存。

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

实验报告 、实验名称 运算器实验—算术逻辑运算实验 、实验目的 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”按键,进行初始化。接下来,按下表所列的操作在机器上进行运算器脱机实验,将结果填入表中:

实验二 脱机运算器实验

计算机学院软件工程专业 < >班学号: 姓名协作者教师评定 实验题目脱机运算器实验 一、实验目的: 1、深入了解AM2901运算器的功能与具体用法; 2、深化运算器部件的组成、设计、控制与使用等知识 二、实验设备与器材: TEC-XP+教学实验系统 三、实验说明和原理: 脱机运算器实验,是指让运算器从数学计算机整机中脱离出来,此时,他的全部控制与操作均需通过两个12位的卫星开关来完成,这就谈不上执行指令,只能通过开关,案件控制数学机的运算器完成指定的运算功能,并通过指示灯观察运算器结果。 下面先把前边几讲过的,与该实验直接有关的结论性内容汇总如下。 1、12位微型开关的具体控制功能分配如下: A口,B口地址:送给AM2901器件用于选择源与目的操作数的寄存器编号: I8-I0:选择操作数来源,运算操作功能,选择操作数处理结果和运算器输出内容的3组3位的控制码: SCI、SSH和SST:用于确定运算器最低位的进位输入,移位信号的入/出和怎样处理AM2901产生的状态标志位的结果。 2、开关位置说明: 做脱机运算器实验时,要用到提供24位控制信号的微动开关和提供16位数据的拔动开关。微动开关是红色的,一共有三个,一个微动开关可以提供12位的控制信号,三个开关分别标有SW1 micro switch1和SW2 micro switch和SW3 micro switch,他们所对应的控制信号见下表;数据开关是黑色的,左边的标有SWH的是高8位:右边的标有SWL的是低8位。微动开关与控制信号对应关系见表: 微动开关与控制信号对应关系表 SW1 Micro switch SW2 Micro switch SW3 Micro switch T3-T0 REQ/MIO/WE I2-I0 I8-I7 I6-I3 B PORT A PORT SST SSH SCI DC2 DC1

《计算机组成原理》实验报告---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、掌握简单运算器的数据传输方式。 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)

实验三 脱机运算器实验

实验三脱机运算器实验 一、实验目的: 深入了解AM2901运算器的功能与具体用法,2片(16位为4片)AM2901的级连方式,深化运算器部件的组成、设计、控制与使用等知识。 二、实验说明: 脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时它的全部控制与操作均需通过两个12位的微型开关来完成(不执行指令),只能通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。 下面简介与实验有关的开关与按键的功能。 做脱机运算器实验,要用到提供24位控制信号的微动开关(红色的),标有Micro switch 1和Micro switch 2;还有提供16位数据的拨动开关(黑色的),标有SWH的是高8位,标有SWL的是低8位。 12 I8-I0:选择操作数来源、运算操作功能、选择操作数处理结果和运算器输出内容的3组3位的控制码; A口、B口地址:送给AM2901器件用于选择源与目的操作数的寄存器编号; SCi、SSH和SST:用于确定运算器最低位的进位输入、移位信号的入/出和怎样处理AM2901产生的状态标志位的结果。 运算器的控制信号

状态寄存器的接收与保持 注:表中的×表示不必处理、不必过问该位的取值; 当通用寄存器本身移位时, Q寄存器不受影响; 乘除运算要求实现通用寄存器与Q寄存器联合移位;没有Q寄存器单独移位功能。 三、实验内容: 1.将教学机左下方的5个拨动开关置为1××00(单步、脱机、16位),先按一下“RESET”按键,再按一下“START”按键,进行初始化。 2.接下来,按下表所列的操作在十六位机上进行运算器脱机实验,将结果填入表中,并解释每行操作的含义:其中D1取为0101H,D2取为1010H;通过两个12位的红色微型开关向运算器提

运算器部件实验报告

实验一运算器部件实验报告 班级____________ 姓名_______________ 学号 _______________ 日期_____________ 一、实验目的 熟悉与深入理解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、下表中所列操作在教学机上进行运算器脱机实验。并将结果填入表中 运算器功能所用到的控制信号

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

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 )了解运算器的组成结构 (2 )掌握运算器的工作原理 二、实验内容: 1、实验原理: 本实验的原理如图1-1所示。运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器 A和暂存器B,三个部件同时接受来自 A和B的数据各部件对操作数进行何种运算由控制信号S3,S0和 CN来决定,任何时候,多路选择开关只选择三部件中一 个部件的结果作为 ALU的输出。如果是影响进位的运算,还将置进位标志 FC,在运算结果输出前,置ALU零标志。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为低有效,其余为高有效。 表1-1运算器逻辑功能表(表中“ X ”为任意态,下同) 运算类型S3 S2 S1 S0CN 功能 逻辑运算0000 X 台匕 F=A (直通)能0001 X F=B (直通) 课程名称 2011级计算机科学与技术计算机组成原理课程设计实验日期 批改日期 实验名称学号专业班级指导教师 CPLD

0100 X F= A' (FZ ) 0101 X F=A 不带进位循环右移 B (取低 3位)位 (FZ ) 0110 0 F=A 逻辑右移一位 (FZ ) 移位运算 1 F=A 带进位循环右移一位 (FC ,FZ ) 0111 0 F=A 逻辑左移一位 (FZ ) 1 F=A 带进位循环左移一位 (FC ,FZ ) 1000 X 置 FC=CN (FC ) 1001 X F=A 加 B (FC ,FZ ) 1010 X F=A 加B 加FC (FC , FZ ) 算术运算 1011 X F=A 减 B (FC , FZ ) 1100 X F=A 减 1 (FC , FZ ) 1101 X F=A 加 1 (FC , FZ ) 1110 X (保留) 1111 X (保留) 算器零标志,表中功能栏内的 FC FZ 表示当前运算会影响到该标志。 ST 按钮,产生一个 T4上升沿,则将二进制数置入暂 中,暂存器A 的值通过ALU 单元的A7,A0八位 LED 灯显 示。 用输入开关向暂存器 B 置数。 拨动CON 单元的SD27,SD20数据开关,形成另外一个二进制数。 置LDA=0,LDB=1,连续按动时序单元的 ST 按钮,产生一个 T4上升沿,则将二进制数置入暂 中,暂存器B 的值通过ALU 单元的B7,B0八位 LED 灯显示。 改变运算器的功能设置,观察运算器的输出。置 ALU_B=0、LDA=0 LDB=0,然后按表1-1置 S3、S2、S1、S0和Cn 的数值,并观察数据总线 LED 显示灯显示的结果。 2、实验步骤: ⑴ ⑶ 查接线, ⑷ ① KK1、KK3置为’运行’档。 打开电源开关,如果听到有’嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检 直到错误排除。然后按动 CON 单元的 用输入开关向暂存器 A 置数。 拨动CON 单元的SD27,SD20数据开关, CLR 按钮,将运算器的 A 、B 和FC 、FZ 清零。 形成用户指定的二进制数,数据显示亮为’1',灭 为‘ 0'。 ② 存器A (5) ① ② 存器B 置LDA=1, LDB=0连续按动时序单元的 按图1-2连接实验电路,并检查无误。

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