计算机组成原理:带进位算术逻辑运算单元ALU设计实验

计算机组成原理:带进位算术逻辑运算单元ALU设计实验
计算机组成原理:带进位算术逻辑运算单元ALU设计实验

《计算机组成原理》课程实验报告

带进位ALU实验数据表:

选择端高电平作用数据

M=H M=L 算术操作

2.实验中遇到的问题及解决办法

3.实验中尚未解决的问题,不足之处以及改进设想等

实验二算术运算实验

实验二算术运算实验 一、实验目的 1、掌握MASM for Windows 环境下的汇编语言编程环境使用; 2、掌握汇编语言程序设计的基本流程及汇编语言中的二进制、十六进制、十进制、BCD 码的表示形式; 3、掌握汇编语言对多精度十六进制和十进制的编程方法及运算类指令对各状态标志 位的影响及测试方法; 4、掌握无符号数和有符号数运算区别及编程方法; 5、掌握BCD 码调整指令的使用方法 二、软硬件实验环境 1、硬件环境:惠普64 位一体化计算机及局域网; 2、软件环境:windows 8,红蜘蛛管理系统,MASM for Windows。 三、实验基本原理 算术运算实验需要对运行结果进行调试及查看状态字,其相关知识如下。 1) 标志位 在debug调试过程中,标志位用特殊符号表示的,其标志名和状态符号的对照表参照表1所示。 表1标志名和状态符号的对照表参照表 2) 加减法指令 ADD表示加法指令,ADC表示带进位加法指令,SUB表示减法指令,SBB表示带进位减法指令。 3) 乘除法指令 MUL表示无符号数乘法指令,IMUL表示带符号数乘法指令,DIV表示无符号数除法指令,IDIV

表示带符号数除法指令。 4) 符号位扩展指令 CBW表示从字节扩展到字的指令,CWD表示从字扩展到双字的指令。 5) BCD码的调整指令 在进行十进制加减运算时,需要将数据用BCD码表示,还要考虑到是组合BCD码还是非组合BCD码,组合BCD码是用一个字节表示两位十进制数,非组合BCD码是用一个字节表示一位十进制数,对于组合的BCD码加减法运算其结果存放在AL中。 组合的BCD码加法调整指令DAA; 组合的BCD码减法调整指令DAS; 非组合的BCD码加法调整指令AAA; 非组合的BCD码减法调整指令AAS; 乘法的非组合BCD码调整指令AAM; 除法的非组合BCD码调整指令AAD。 8088/8086指令系统提供了实现加、减、乘、除运算指令,可参照表2所示内容。 表2数据类型的数据运算表 四、实验步骤与内容 1) 对于表格中三组无符号数,试编程求这三组数的指定运算结果,并考虑计算结果对标志寄存器中状态标志位的影响: ①实验分析 本实验要求简单,仅对指定三组数进行基本运算。只需使用ADD、SUB、MUL、DIV四个运算命令,并以MOV命令作为数值转移的手段即可。运算结果和状态标志的情况可以通过debug调试中的T命令进行逐步查看。 需要注意的主要有以下几点:

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

实验报告 、实验名称 运算器实验—算术逻辑运算实验 、实验目的 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 为高电平有效。 对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。

算术逻辑运算单元ALU剖析

燕山大学 EDA课程设计报告书题目:算术逻辑逻辑单元ALU 姓名: 班级: 学号: 成绩:

一、设计题目及要求 题目名称:算术运算单元ALU 要求: 1.进行两个四位二进制数的运算; 2.算术运算:A+B, A-B, A×B; 3.逻辑运算:A and B, A or B, A not, A xor B; 4. 用数码管显示算术运算结果,以LED指示灯显示逻辑运算结果。 二、设计过程及内容 1.整体设计思路 (1)根据设计要求将题目划分为五个模块。包括两个逻辑运算模块,两个算术运算模块,和一个控制模块。其中逻辑运算模块为A and B和A or B,A not和A xor B;算术模块为A±B,A×B。 (2)因为需要进行四位二进制数的运算,因此用A3,A2,A1,A0表示四位二进制数A,用B3,B2,B1,B0表示四位二进制数B,用C4,C3,C2,C1表示四位二进制数C。其中A,B为输入,C为输出。

2.分模块设计 (1)A+B和A-B模块(李佳乐负责) A+B可以直接通过74283 两个四位二进制数加法器实现。A-B可以看作A+(-B),即A加B的补码来实现。同时再设计一个转换控制端M。M=0时实现A+B,M=1时实现A-B。最后再设计一个总的控制端K1,K1=1时模块正常工作,K1=0时不工作。做加法时,C0为进位输出,C0输出1表示有进位,做减法时,C0为借位输出,C0输出1表示有借位。通过74283五位输出,进入译码器将五位变成八位输出,在通过数码管显示。 A+B,A-B总原理图如下:

A+B,A-B分原理图如下:

译码器原理图如下: 扫描电路原理图如下:

组成原理实验1 8位算术逻辑运算

淮海工学院计算机工程学院实验报告书 课程名:《计算机组成原理》 题目:实验一8位算术逻辑运算 实验 班级: 学号: 姓名:

1、目的与要求 1)掌握算术逻辑运算器单元ALU(74LS181)的工作原理。 2)掌握简单运算器的数据传送通路组成原理。 3)验证算术逻辑运算功能发生器74LSl8l的组合功能。 4)按给定数据,完成实验指导书中的算术/逻辑运算。 2、实验设备 ZYE1601B计算机组成原理教学实验箱一台,排线若干。 3、实验步骤与源程序 l) 按下列步骤连接实验线路,仔细检查无误后,接通电源。 ⑴ ALUBUS连EXJ3; ⑵ ALUO1连BUS1; ⑶ SJ2连UJ2; ⑷跳线器J23上T4连SD; ⑸ LDDR1、LDDR2、ALUB、SWB四个跳线器拨在左边(手动方式); ⑹ AR跳线器拨在左边,同时开关AR拨在“1”电平。 2) 用二进制数码开关KD0~KD7向DR1和DR2寄存器置数。方法:关闭ALU输出三态门(ALUB`=1),开启输入三态门(SWB`=0),输入脉冲T4按手动脉冲发生按钮产生。设置数据开关具体操作步骤图示如下: LDDR1=1 LDDR1=0 说明:LDDR1、LDDR2、ALUB`、SWB`四个信号电平由对应的开关LDDR1、LDDR2、ALUB、SWB 给出,拨在上面为“1”,拨在下面为“0”,电平值由对应的显示灯显示,T4由手动脉冲开关给出。 ⑶检验DR1和DR2中存入的数据是否正确,利用算术逻辑运算功能发生器 74LS181的逻辑功能,即M=1。具体操作为:关闭数据输入三态门SWB`=1,打开ALU输出三态门ALUB`=0,当置S3、S2、S1、S0、M为1 1 1 1 1时,总线指示灯显示DR1中的数,而置成1 0 1 0 1时总线指示灯显示DR2中的数。 ⑷验证74LS181的算术运算和逻辑运算功能(采用正逻辑) 在给定DR1=35、DR2=48的情况下,改变算术逻辑运算功能发生器的功能设置,观察运算器的输出,填入表2.1.1中,并和理论分析进行比较、验证。。 4、测试数据与实验结果 实验数据记录

实验二 算术运算类操作实验 (基础与设计)

实验二算术运算类操作实验 (基础与设计) 一、实验要求和目的 1、了解汇编语言中的二进制、十六进制、十进制、BCD 码的表示形式; 2、掌握各类运算类指令对各状态标志位的影响及测试方法; 3、熟悉汇编语言二进制多字节加减法基本指令的使用方法; 4、熟悉无符号数和有符号数乘法和除法指令的使用; 5、掌握符号位扩展指令的使用。 6、掌握BCD 码调整指令的使用方法 二、软硬件环境 1、硬件环境:计算机系统 windows; 2、软件环境:装有MASM、DEBUG、LINK、等应用程序。 三、实验涉及的主要知识 本实验主要进行算术运算程序设计和调试,涉及到的知识点包括: 1.加减法处理指令 主要有加法指令ADD,带进位加法ADC,减法指令SUB,带进位减法指令SBB。 2.乘除法指令和符号位扩展指令 主要有无符号数乘法指令MUL,带符号数乘法指令IMUL,无符号数除法指令DIV,带符号数除法指令IDIV,以及符号位从字节扩展到字的指令CBW 和从字扩展到双字的指令CWD。3.BCD 码的调整指令 主要有非压缩的BCD 码加法调整指令DAA,压缩的BCD 码减法调整指令DAS,非压缩的BCD 码加法调整指令AAA,非压缩的BCD 码减法调整指令AAS,乘法的非压缩BCD码调整指令AAM,除法的非压缩BCD 码调整指令AAD。 8088/8086 指令系统提供了实现加、减、乘、除运算的上述基本指令,可对下表所示的数据类型进行数据运算。 四、实验内容与步骤 1、对于两组无符号数,087H 和034H,0C2H 和5FH,试编程求这两组数的和差积商,并考虑计算结果对标志寄存器中状态标志位的影响。 设计流程:

《8位算术逻辑运算实验》

3.2 算术逻辑运算部件 1位全加器 n 位并行加法器 ALU 单元 乘、除 法器 运算器 3.2.1 加法单元 若:+1101,+1111 两数相加,且分别放入A 、B 两个寄存器。 0 0 1 1 0 1 (补码、双符号位表示) +) 0 0 1 1 1 1 0 1 1 1 0 0 第3位:输入量: Ai(1),Bi(1), C i-1(1) 本位进位 C i ∑i C i-1 A i B i 低位进位 本位操作数 输入、输出量之间的关系式: Σi =(A B i C i-1 (1) C i = A i B i A B i )C i-1 (2) 根据上式,得出一位全加器的逻辑电路图: 根据(1)式得: 如果三个输人中1的个数为奇数,则本位和为1,否则为0。 根据(2)式得: 当本位的两个输入A i 、B i 均为1时,不管低位有无进位C i-1传来,都必然产生进位C i ;若C i-1为1,只要A i 、B i 中有一个为1,也必然产生进位。 i-1 i-1 i i i i (a ) (b ) 进位链 选择逻 辑控制 移位器 寄存器组 选择器

3.3.1 2并行加法器与进位逻辑结构 一、串行加法器 1.定义:如果每步只求一位和,将n 位加分成n 步实现,这样的加法器称为串行 加法器。 2.组成: 1 个一位全加器 1个移位寄存器:从低到高串行提供操作数相加; 1个寄存器 1个触发器 3.特点:结构简单,速度极慢。 二、并行加法器 1.定义:如果用n 位全加器一步实现n 位相加,即n 位同步相加,这样的加法器称为并行加法器。 2.组成: n 位加法器 并行加法器 串行进位链 进位链 并行进位链 根据(指C i-1 )输入量提供时间的不同,将进位链分为带串行进位链的并行加法器,带并行进位链的并行加法器。 加法器的运算速度不仅与全加器的运算速度有关,更主要的因素是取决于进位传递速度。 3.进位信号的基本逻辑: C i = A i B i +(A i )C i-1 令Gi= A i B i 进位产生函数 Pi = A i ,进位传递函数 4.串行进位链 (1)定义:各级进位信号直接依赖于低一级的进位信号 (2)关系式: C 1 = G 1 + P 1C 0 C 2 = G 2 + P 2C 1 C 3 = G 3 + P 3C 2 。。。。。。。。。 C n = G n + P n C n-1 (3)结构图:

16位算术逻辑运算实验

16 位算术逻辑运算实验 一、实验内容 1、实验原理 实验中所用16位运算器数据通路如图3-3所示。其中运算器由四片74LS181以并/串形成16位字长的ALU构成。低8位运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUS1~6中的任一个相连,低8位数据总线通过LZD0~LZD7显示灯显示;高8位运算器的输出经过一个三态门74LS245(U33`)到ALUO1`插座,实验时用8芯排线和高8位数据总线BUSD8~D15插座KBUS1或KBUS2相连,高8位数据总线通过LZD8~LZD15显示灯显示;参与运算的四个数据输入端分别由四个锁存器74LS273(U29、U30、U29`、U30、)锁存,实验时四个锁存器的输入并联后用8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据源来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,输入的数据通过LD0~LD7显示。

本实验用到6个主要模块:⑴低8位运算器模块,⑵数据输入并显示模块,⑶数据总线显示模块,⑷功能开关模块(借用微地址输入模块),⑸高8位运算器模块,⑹高8位(扩展)数据总线显示模块。根据实验原理详细接线如下(接线⑴~⑸同实验一): ⑴ALUBUS连EXJ3; ⑵ALUO1连BUS1; ⑶SJ2连UJ2; ⑷跳线器J23上T4连SD; ⑸LDDR1、LDDR2、ALUB、SWB四个跳线器拨在左边(手动方式); ⑹AR跳线器拨在左边,同时开关AR拨在"1"电平; ⑺ALUBUS`连EXJ2;

ALU(算术逻辑运算单元)的设计,南京理工大学紫金学院vhdl实验报告,eda

EDA技术与应用 实验报告 实验名称:ALU(算术逻辑运算单元)的设计 姓名: 学号: 班级:通信 时间:2013 南京理工大学紫金学院电光系

一、实验目的 1、学习包集和元件例化语句的使用。 2、学习ALU电路的设计。 二、实验原理 1、ALU原理 ALU的电路原理图如图1 所示,主要由算术运算单元、逻辑单元、选择单元构成。 图1 ALU功能表如表1 所示。 表1 2、元件、包集 在结构体的层次化设计中,采用结构描述方法就是通过调用库中的元件或者已经设计好的模块来完成相应的设计。在这种结构体中,功能描述就像网表一样来表示模块和模块之间的互联。如ALU 是由算术单元、逻辑单元、多路复用器互相连接而构成。而以上三个模块是由相应的VHDL 代码产生的,在VHDL 输入方式下,如果要将三个模块连接起来,就要用到元件例化语句。

元件例化语句分为元件声明和元件例化。 (1)元件声明 在VHDL 代码中要引入设计好的模块,首先要在结构体的说明部分对要引入的模块进行说明。然后使用元件例化语句引入模块。 元件声明语句格式: component 引入的元件(或模块)名 port( 端口说明); end component; 注意:元件说明语句要放在“architecture”和“begin”之间。 (2)元件例化语句 为将引入的元件正确地嵌入到高一层的结构体描述中,就必须将被引用的元件端口信号与结构体相应端口信号正确地连接起来,元件例化语句可以实现该功能。 元件例化语句格式: 标号名:元件名(模块名) port map(端口映射); 标号名是元件例化语句的唯一标识,且结构体中的标识必须是唯一的;端口映射分为:位置映射、名称映射。 位置映射指 port map 中实际信号的书写顺序与component 中端口说明中的信号书写顺序一致,位置映射对书写顺序要求很严格,不能颠倒;名称映射指port map 中将引用的元件的端口信号名称赋予结构体中要使用元件的各个信号,名称映射的书写顺序要求不严格,顺序可以颠倒。 (3)包集 在实体及结构体中定义的对象、数据类型,对另外代码的实体是不能使用的。但是在同一工程的不同VHDL 文件中,有些对象、数据类型、子程序等常常被重复使用。为方便VHDL 代码的编写,简化电路设计,故引入包集。包集也称为程序包。 包集主要由两部分组成:程序包说明和程序包体。其中,程序包体是可选的,一般程序包说明列出所有项的名称,而程序包体给出各项的细节。 程序包说明中包含的内容很多,只要是通用的全局量,都可以在程序包中加以说明。主要内容如下: 对象(常量、变量、信号)的数据类型说明。 对象(常量、变量、信号)子类型的数值范围说明。 函数与过程说明。 元件语句说明。 程序包说明的书写格式如下: package 程序包名 is 说明语句; end 程序包名; 程序包名:设计者自定义便于记忆的标识符。说明语句:包括各种类型的说明语句。

《计算机组成原理》实验报告---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位运算数据。

计算机组成原理实验报告 算术逻辑运算单元实验

西华大学数学与计算机学院实验报告 课程名称:计算机组成原理年级:2011级实验成绩: 指导教师:祝昌宇姓名:蒋俊 实验名称:算术逻辑运算单元实验学号:312011*********实验日期:2013-12-15 一、目的 1. 掌握简单运算器的数据传输方式 2. 掌握74LS181的功能和应用 二、实验原理 (1)ALU单元实验构成 1、结构试验箱上的算术逻辑运算单元上的运算器是由运算器由2片74LS181构成8字长的ALU 单元。 2、2片74LS373作为2个数据锁存器(DR1、DR2),8芯插座ALU-OUT作为数据输入端,可通过短8芯扁平电缆,把数据输入端连接到数据总线上。 3、运算器的数据输出由一片74LS244(输出缓冲器)来控制,8芯插座ALU-OUT作为数据输出端,可通过短8芯扁平电缆把数据输出端连接到数据总线上。 (2)ALU单元的工作原理 数据输入锁存器DR1的EDR1为低电平,并且D1CK有上升沿时,把来自数据总线上的数据打入锁存器DR1。同样,使EDR2为低电平,并且D2CK有上升沿时,把来自数据总线上的数据打入锁存器DR2。 算术逻辑运算单元的核心是由2片74LS181构成,它可以进行2个8位二进制数的算术逻辑运算,74LS181的各种工作方式可通过设置其控制信号来实现(S0、S1、S2、S3、M、CN)。当实验者正确设置了74LS181的各个控制信号,74LS181会运算数据锁存器DR1、DR2内的数据。由于DR1、DR2已经把数据锁存,只要74LS181的控制信号不变,那么74LS181的输出数据也不会发生改变。 输出缓冲器采用74LS244,当控制信号ALU-O为低电平时,74LS244导通,把74LS181的运算结果输出到数据总线;ALU-O为高电平时,74LS244的输出为高阻。

实验二算术逻辑运算及移位操作

实验二算术逻辑运算及移位操作 一、实验目的 1.熟悉算术逻辑运算指令和移位指令的功能。 2.了解标志寄存器各标志位的意义和指令执行对它的影响。 二、实验预习要求 1.复习8086指令系统中的算术逻辑类指令和移位指令。2.按照题目要求在实验前编写好实验中的程序段。 三、实验任务 1.实验程序段及结果表格如表: 表

2.用BX 寄存器作为地址指针,从BX 所指的内存单元(0010H)开始连续存入(10H 、04H 、30H),接着计算内存单元中的这三个数之和,和放在 单元中,再求出这三个数之积,积放0014单元中。写出完成此功能的程

3 后结果(AX)= (1) 传送15H 到AL 寄存器; (2) 再将AL 的内容乘以2 ; (3) 接着传送15H 到BL 寄存器; (4) 最后把AL 的内容乘以BL 的内容。 4商= (1) 传送数据2058H 到DS:1000H 单元中,数据12H 到DS:1002H 单元中; (2) 把 DS:1000H 单元中的数据传送到AX 寄存器; (3) 把AX 寄存器的内容算术右移二位; (4) 再把AX 寄存器的内容除以DS:1002H 字节单元中的数; (5) 最后把商存入字节单元DS:1003H 中。 5.下面的程序段用来清除数据段中从偏移地址0010H 开始的12元的内容(即将零送到这些存储单元中去)。 (1) 将第4条比较指令语句填写完整(划线处)。 MOV SI ,0010H NEXT: MOV WORD PTR[SI],0 ADD SI ,2 CMP SI ,答案 22H (或者20H ) JNE NEXT HLT (2) 假定要按高地址到低地址的顺序进行清除操作(高地址从0020H 开始),则上述程序段应如何修改 上机验证以上两个程序段并检查存储单元的内容是否按要求进行了改变。 6. 输入并运行表中的程序段,把结果填入表右边的空格中,并分析结果,说明本程序段的功能是什么。

湘潭大学计算机原理 实验一 算术逻辑单元ALU实验报告

计算机原理与设计 实验报告 实验一算术逻辑单元ALU 姓名: XXX 学号: 2013551728 班级: 13级软件工程2班 实验日期: 2014年 10 月22 日

一.实验目的 1.理解算术逻辑单元ALU的工作原理。 2.掌握算术逻辑单元ALU的设计方法。 3.验证32位算术逻辑单元ALU的加、减、与、移位功能。 4.按给定数据,完成几种指定的算术和逻辑运算。 二.实验内容 算术逻辑单元ALU的设计如图1-1所示。其中运算器addsub32能实现32位的加减运算。参加运算的两个32位数据分别为A[31..0]和B[31..0],运算模式由aluc[3..0]的16种组合决定,而aluc[3..0]的值由4位2进制计数器LPM_COUNTER产生,计数时钟是Sclk(图1-1);r[31..0]为输出结果,Z为运算后的零标志位。ALU功能如表1-1所示。 表1-1 ALU的运算功能 注1、* 表示每一位都移至下一更高有效位, “+”是逻辑或,“加”是算术加

三.实验步骤 (1)设计ALU元件 ALU元件设计代码: module alu (a,b,aluc,r,z); input [31:0] a,b; input [3:0] aluc; output [31:0] r; output z; assign r = cal(a,b,aluc); assign z = ~|r; function [31:0] cal; input [31:0] a,b; input [3:0] aluc; casex (aluc) 4'bx000: cal=a+b; 4'bx100: cal=a-b; 4'bx001: cal=a&b; 4'bx101: cal=a|b; 4'bx010: cal=a^b; 4'bx110: cal={b[15:0],16'h0}; 4'bx011: cal=b<>a[4:0]; 4'b1111: cal=$signed(b)>>>a[4:0]; endcase endfunction endmodule (2)以原理图方式建立顶层文件工程 原理图如下:

计算机组成原理--实验二算术逻辑运算实验

实验二算术逻辑运算实验 一、实验目的 (1)了解运算器芯片(74LS181)的逻辑功能。 (2)掌握运算器数据的载入、读取方法,掌握运算器工作模式的设置。 (3)观察在不同工作模式下数据运算的规则。 二、实验原理 1.运算器芯片(74LS181)的逻辑功能 74LS181是一种数据宽度为4个二进制位的多功能运算器芯片,封装在壳中,封装形式如图2-3所示。 5V A1 B1 A2 B2 A3 B3 Cn4 F3 BO A0 S3 S2 S1 S0 Cn M F0 F1 F2 GND 图 2-3 74LS181封装图 主要引脚有: (1)A0—A3:第一组操作数据输入端。 (2)B0—B3:第二组操作数据输入端。 (3)F0—F3:操作结果数据输入端。 (4)F0—F3:操作功能控制端。 (5):低端进位接收端。

(6):高端进位输出端。 (7)M:算数/逻辑功能控制端。 芯片的逻辑功能见表2-1.从表中可以看到当控制端S0—S3为1001、M为0、 为1时,操作结果数据输出端F0—F3上的数据等于第一组操作数据输入端A0—A3上的数据加第二组操作数据输入端B0—B3上的数据。当S0—S3、M、 上控制信号电平不同时,74LS181芯片完成不同功能的逻辑运算操作或算数运算操作。在加法运算操作时,、进位信号低电平有效;减法运算操作时,、 借位信号高电平有效;而逻辑运算操作时,、进位信号无意义。 2.运算器实验逻辑电路 试验台运算器实验逻辑电路中,两片74LS181芯片构成一个长度为8位的运算器,两片74LS181分别作为第一操作数据寄存器和第二操作数据寄存器,一片74LS254作为操作结果数据输出缓冲器,逻辑结构如图2-4所示。途中算术运算操作时的进位Cy判别进位指示电路;判零Zi和零标志电路指示电路,将在实验三中使用。 第一操作数据由B-DA1(BUS TO DATA1)负脉冲控制信号送入名为DA1的第一操作数据寄存器,第二操作数据由B-DA2(BUS TO DATA2)负脉冲控制信号送入名为DA2的第二操作数据寄存器。74LS181的运算结果数据由(ALU TO BUS)低电平控制信号送总线。S0—S3、M芯片模式控制信号同时与两片74LS181的S0—S3、M端相连,保证二者以同一工作模式工作。实验电路的低端进位接收端Ci与低4位74LS181的相连,用于接收外部进位信号。低4为74LS181的与高4位74LS181的上相连,实现高、低4位之间进位信号的传递。高4位之间进位信号的传递。高4位74LS181的送进位Cy判别和进位指示电路。 表2-1 74LS181 芯片逻辑功能表

算术逻辑运算实验

实验报告 实验项目:算术逻辑运算实验(试验一) 课程名称:计算机组成原理 姓名:学号同组姓名:学号:实验位置(机号): 实验日期 实验1.掌握简单运算器的数据传送通路 目的2.验证运算器功能发生器(74LS181)的组合功能 3.验证带进为控制的算术运算器功能发生器(74LS181)的功能 4.按指定的数据完成几种制定的算术运算 5.验证移位控制的组合功能 实验YY-Z02计算机组成原理教学实验系统一台,排线若干。设备 实验 内容1.实验原理 (算 运算器实验原理图 法、 程 T4______ ALU-B 序、

_____ _____ 进位CyCn 步骤 299-B 判零_____ M 74LS2 电路CyNCn 和方 S0 99 ALU S1 法) (74LS181) S2 S3 _____I/O-RINPUT Ai =“0”B-DA1DA1 (74LS273)DA2

(74LS273)B-DA2 实验中所用的运算器数据通路图如图1-1所示,算术逻辑实验接线图如图1-2所示。图中所示的是由两片段74LS181芯片以并/串形式构成的8位字长的运算器。右方为低压4位运算芯片,左方为高4位运算芯片。低位芯片的进位输出端C(n+4)与高芯片的进位输入端CN相连,高位芯片的进位输出引至外部。两个芯片的控制端S0~S3和M各自相连。 2.实验步骤 1)算数逻辑运算 i.输入单元置数一 ii.设置I/O-R# = 0 iii.ALU-B# =1 iv.B-DA1 _| ̄|_将输入单元的输入数据存入DA1中 v.输入单元置数据二 vi.B-DA2 _| ̄|_将数据存入DA2中 vii.设置S 3 -------S 0、M、Cn根据要求按照定义操作设置完成运算viii. ix. x.I/O-R# = 1 ALU-B = 0运算结果送总线 IO-W ̄|_| ̄总线数据送显示单元显示 数据1.算数逻辑运算

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

计算机组成原理实验二 算术逻辑运算实验 SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

实验二算术逻辑运算实验 一、实验目的 (1)了解运算器芯片(74LS181)的逻辑功能。 (2)掌握运算器数据的载入、读取方法,掌握运算器工作模式的设置。 (3)观察在不同工作模式下数据运算的规则。 二、实验原理 1.运算器芯片(74LS181)的逻辑功能 74LS181是一种数据宽度为4个二进制位的多功能运算器芯片,封装在壳中,封装形式如图2-3所示。 图2-3 74LS181封装图 主要引脚有: (1)A0—A3:第一组操作数据输入端。 (2)B0—B3:第二组操作数据输入端。 (3)F0—F3:操作结果数据输入端。 (4)F0—F3:操作功能控制端。 ??????:低端进位接收端。 (5)CC (6)CC4:高端进位输出端。 (7)M:算数/逻辑功能控制端。 芯片的逻辑功能见表2-1.从表中可以看到当控制端S0—S3为1001、M为??????为1时,操作结果数据输出端F0—F3上的数据等于第一组操作数据输0、CC 入端A0—A3上的数据加第二组操作数据输入端B0—B3上的数据。当S0—S3、??????上控制信号电平不同时,74LS181芯片完成不同功能的逻辑运算操作或M、CC ??????、CC4进位信号低电平有效;减法运算数运算操作。在加法运算操作时,CC ??????、 算操作时,CC ??????、CC4借位信号高电平有效;而逻辑运算操作时,CC CC4进位信号无意义。 2.运算器实验逻辑电路 试验台运算器实验逻辑电路中,两片74LS181芯片构成一个长度为8位的运算器,两片74LS181分别作为第一操作数据寄存器和第二操作数据寄存器,一片74LS254作为操作结果数据输出缓冲器,逻辑结构如图2-4所示。途中算

北理工-汇编-实验二-算术运算类操作实验

………………………………………………最新资料推荐……………………………………… 本科实验报告 实验名称:实验二算术运算类操作实验(基础与设计)课程名称:CPU与汇编实验实验时间: 任课教师:实验地点: 实验教师: 实验类型:□原理验证■综合设计□自主创新 学生姓名: 学号/班级:组号:无学院:信息与电子同组搭档:无专业:信息工程成绩:

一、实验要求和目的 1.了解汇编语言中的二进制、十六进制、十进制、BCD 码的表示形式; 2.掌握各类运算类指令对各状态标志位的影响及测试方法; 3.熟悉汇编语言二进制多字节加减法基本指令的使用方法; 4.熟悉无符号数和有符号数乘法和除法指令的使用; 5.掌握符号位扩展指令的使用; 6.掌握BCD 码调整指令的使用方法。 二、软硬件环境 1、硬件环境:计算机系统 windows; 2、软件环境:装有MASM、DEBUG、LINK、等应用程序。 三、实验涉及的主要知识 1.加减法处理指令 2.乘除法指令和符号位扩展指令 3.BCD 码的调整指令 四、实验内容 (一)对于两组无符号数,087H 和034H,0C2H 和5FH,试编程求这两组数的和差积商,并考虑计算结果对标志寄存器中状态标志位的影响:

1.流程图 2.程序代码: DA TAS SEGMENT DA TAS ENDS STACKS SEGMENT STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START : MOV AX,DATAS MOV DS,AX MOV AX,0C2H MOV BX,5FH ADD AX,BX ;add MOV AX,0C2H MOV BX,5FH SUB AX,BX ;sub MOV AX,0C2H MOV BX,5FH MUL BX ;mul MOV AX,0C2H MOV BX,5FH DIV BX ;div MOV AH,4CH INT 21H CODES ENDS ENDSTART (将数据改变得到另一组输出结果) 3.实验结果 以第一组数的加法为例 (已将截图以上输入-t 进行debug 的步骤省略) 此时右下角信息(NV UP ……)代表标志寄存器的值。 4.结果分析: 由资料可得: 开始 结束 将两组数据分别存入AX ,BX 中,将二者中的数据相加,存入AX 中 将两组数据分别存入AX ,BX 中,用AX 中数据减去BX 中数据,存入AX 中 将两组数据分别存入AX ,BX 中,将二者中的数据相乘,存入AX 中 将两组数据分别存入AX , BX 中,用AX 中数据除以 BX 中数据,存入AX 中

实验二带进位控制8位算术逻辑运算实验

实验二带进位控制8位算术逻辑运算实验 一、实验目的 1、验证带进位控制的算术逻辑运算发生器的功能。 2、按指定数据完成几种指定的算术运算。 二、实验内容 1、实验原理 带进位控制运算器的实验原理如图所示,在实验(1)的基础上增加进位控制部分,其中高位74LS181(U31)的进位CN4通过门UN4E、UN2C、UN3B 进入UN5B的输入端D,其写入脉冲由T4和AR信号控制,T4是脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲。AR是电平控制信号(低电平有效),可用于实现带进位控制实验。从图中可以看出,AR必须为“0’’电平,D型触发器74LS74(UN5B)的时钟端CLK才有脉冲信号输入。才可以将本次运算的进位结果CY锁存到进位锁存器74LS74(UN5B)中。 2、实验接线 实验连线(1)~(5)同实验~,洋细如下: (1)ALUBUS~连ExJ3; (2)ALUO1连BUSl; (3)SJ2连UJ2; (4)跳线器J23上T4连SD; (5)LDDRl、LDDR2、ALUB、SWB四个跳线器拨在左边(手动方式);(6)AR、299B跳线器拨在左边,同时开关AR拨在“0’’电平,开关299B拨在“1”电平; (7)J25跳线器拨在右边。 3、实验步骤 (1)仔细查线无误后,接通电源。 (2)用二进制数码开关KDO~KD7向DRl和DR2 寄存器置数,方法:关闭ALU输出三态门ALUB=1,开启输入三态门SWB=0,输入脉冲T4按手动脉冲

发生按钮产生。如果选择参与操作的两个数据分别为55H 、AAH ,将这两个数存入DR1和DR2的具体操作步骤如下: (3)开关ALUB=0,开启输出三态门,开关SWB=1,关闭输入三态门,同时让 LDDR1=0,LDDR2=0。 (4)如果原来有进位,CY=1,进位灯亮,但需要清零进位标志时,具体操作方 法如下: ◆ S3、S2、S1、S0、M 的状态置为0 0 0 0 0,AR 信号置为“0”电平 (清零操作时DRl 寄存器中的数应不等于FF )。 ◆ 按动手动脉冲发生开关,CY=0,即清进位标志。 注:进位标志指示灯CY 亮时表示进位标志为“1”,有进位;进位标志指示灯CY 灭时,表示进位位为“0”,无进位。 (5)验证带进位运算及进位锁存功能 这里有两种情况: ● 进位标志已清零,即CY=0,进位灯灭。 ? 使开关CN=0,再来进行带进位算术运算。例如步骤(2)参与运算的两 个数为55H 和AAH ,当S3、S2、S1、S0状态为10010,此时输出数据总线显示灯上显示的数据为DRl 加DR2再加初始进位位“1” (因CN=0),相加的结果应为ALU=00,并且产生进位,此时按动手动脉冲开关,则进位标志灯亮,表示有进位。 ? 使开关CN=1,当S3、S2、S1、S0状态为10010,则相加的结累ALU=FF , 并且不产生进位。

实验二 算术逻辑单元实验

实验二算术逻辑单元(ALU)的设计与实现 实验目的 1.认识算术逻辑单元的功能及意义 2.掌握算术逻辑单元的结构与实现 3.进一步熟练Modelsim、Vivado软件和Verilog硬件描述语言的使用 4.理解Digilent N4 DDR FPGA开发板上数码管显示原理 实验原理 1.ALU 算术逻辑单元(Arithmetic/Logic Unit , ALU)是现代计算机的核心部件之一。其内部由算术和逻辑操作部件组合而成,可以实现整数加、减等算术运算和与、或等逻辑运算。 一个典型的算术逻辑单元由两路N位输入、一路N位输出、一组功能选择信号和一些标志位(flag)组成。两路N位输入数据作为参与运算的两个操作数,输入到ALU中,通过改变功能选择信号,控制ALU对两操作数进行不同的算术或逻辑运算操作,并将N位的结果输出,与结果一同输出的还有运算产生的标志位,例如运算结果为零的标记信号Z(zero)与运算结果溢出的标记信号O(over)、进位标志C(CY)、符号位S(SF)等,如图2-1所示。 图2- 1ALU模块示意图 在本次实验中,我们把输入和输出的数据长度定为4位,数据输入命名为A、B,数据输出为F,功能控制信号输入为opcode,进位输入为C n,只产生结果为零的zero标志位。功能控制信号opcode的定义如表2-1所示。例如:opcode=0001,运算器实现加法运算。

2.数码管显示 关于N4 DDR开发板上数码管的显示原理,参见前面的实验准备部分内容。实验内容 1.基础实验。用实验调试软件验证ALU的功能,并操作分析、记录结果。 图2- 2 ALU虚拟实验示意图 (1)运算功能和控制信号 ①输入输出对于的开关指示灯分配如下: 输入信号A:SW(4-7) B:SW(3-0) Cn:SW8 opcode:SW(12-9) 输出信号F:LD(12-15) 标志位S :LD(3) Z LD(2) O: LD(1) C: LD(0) ②各种运算对应的控制信号及功能,如下表。

四位ALU算术逻辑单元设计实验

实 验 报 告 实 验 人: 赵** 学 号: 09***** 日 期: 2010-10-08 院(系): 专业(班级): 09 实验题目: 四位ALU 算术逻辑单元设计实验 一. 实验目的 1. 了解ALU (算术逻辑单元)的功能和使用方法; 2. 认识和掌握超前(并行)进位的设计方法; 3. 认识和掌握ALU 的逻辑电路组成; 4. 认识和掌握ALU 的设计方法。 二. 实验原理 从结构原理图上可推知,本实验中的ALU 运算逻辑单元由4个一位的ALU 运算逻辑单元所组成。每一位的ALU 电路由全加器和函数发生器所组成,如下图(1)所示。事实上,ALU 的设计是在全加器的基础上,对全加器功能的扩展来实现符合要求的多种算术/逻辑运算的功能。为了实验多种功能的运算,An 、Bn 数据是不能直接与全加器相连接的,它们受到功能变量F3-F1的制约,因此,可由An 、Bn 数据和功能变量F3-F1组合成新的函数Xn 、Yn ,然后,再将Xn 、Yn 和下一位进位Cn-1通过全加器进行全加运算以实现所需的运算功能。ALU 中C0为最低位的进位输入端,C4 辑表达式(n=1、2、3、4)如下: Sn=Xn ⊕Yn ⊕Cn-1 Cn=XnYn+(Xn+Yn)Cn-1 令Pn=Xn+Yn , Gn=XnYn 则Cn=Gn+PnCn-1

实验要求进位位采用超前(先行、并行)进位实现。超前进位电路同时形成各位进位,因此实现快速进位,达到快速加法的目的。这种加法器称为超前进位加法器。 各超前(先行)进位位的形成根据表达式Cn=XnYn+(Xn+Yn)Cn-1来确定,其中n=1、2、3、4。后产生的进位与前进位有关,最终每个进位也只和Xn、Yn、C0有关,而Xn、Yn、又是An、Bn的函数,如: C1=G1+P1C0=X1Y1+(X1+Y1)C0 C2=G2+P2C1=X2Y2+(X2+Y2)X1Y1+(X2+Y2)(X1+Y1)CO 一些控制信号如F3-F1为功能控制信号,控制着4位ALU运算逻辑单元的八种功能操作:A4-A1和B4-B1为ALU的两组数据输入端;S4-S1为了4位ALU的4个输出端,S表示为S=SS43S2S1;C4为4位ALU的最高位进位输出端,依次还有C3、C2、C1。(考虑级联关系时,如有必要可增加级联控制端G)。 三. 实验内容 依照ALU的原理与逻辑结构原理图,用超前进位的方法设计能实现下面八种功能操作的4位ALU,并对电路进行封装。 要求: 输入信号:A4-A1、B4-B1、F3-F1、低位进位C0、(级联控制端G); 输出信号:S4-S1、进位C4。 4位ALU的八种功能如下:

实验五 算术逻辑运算单元

实验五算术逻辑运算单元 一、目的: 1.能了算术逻辑运算单元(ALU)电路的设计原理。 2.能利用AHDL语言设计一个ALU电路。 3.能自行以CPLD数字电路实验系统验证所设计电路的正确性。 二、电路图:

三、实验仪配置图: 四、实验步骤与画面: 1.建立一个名为ALU_VerilogHDL.v的新文件,并在QuartusⅡ文字编辑器中,以VerilogHDL语言来设计程式,图U6-1为算术逻辑运算单元的VerilogHDL程式。 其中A、B为数据输入端口,s为功能控制端口,clk为时钟端口,d为数据输出端口。

2.存储、检查及编译。 3.创建元件符号。 4.创建波形文件,设定合适的端口信号,仿真元件的波形。

观察波形图可以看出当s端口选择不同功能时,芯片会对A、B 数据进行相应的操作。 5.请先设定s[2..]之值,以选择ALU之功能。再任意输入a[7..0] 及b[7..0]之二进制,观察记录其输出和d[7..0]并完成下表。 五、相关说明: 1.这个单元我们用AHDL语法来设计八位元ALU,您可以发现不仅较绘 图法简单许多,而且更容易为人了解,这就是硬体描述语言的优点。 2.在此要提醒您,由于二进位数的减法运算,是采用2’s补数的方 法,此方法是将减数取其2’s补数后,再与被减数相加,所得结果若有进位,则去掉进位后所得即为正式结果(为正值);若无进位,

则须再将结果取一次2’s补数后才是真正的结果(为负值)。例如:(00010001)-(00000101)=(00010001)+(11111011)=(00001100),进位为1所以去掉进位后,所得结果为+12。又如:(01011010)-(10000111)=(01011010)+(01111001)=(11010011),没有进位,所以要将结果再取一次2’s补数,正确的结果应为-00101101=-45。 六、自我练习 问题1:74181是一颗常用的四位元ALU,此ALU包含了所有的基本逻辑运算,并搭配各种算术运算组合而成,其功能模式如表 U6-1。我们可以将两颗74181予以并联而组成八位元ALU, 如图U6-3所示。请在ALTERA绘图环境下,绘制图U6-3,其 中的74181符号可自符号库(maxplus2\max21ib\mf)取得。 电路绘制完成后,再利用CPLD实验系统验证其功能是否正 确(接脚配置请参考图U6-4)。

相关文档
最新文档