实验一 8位算术逻辑运算实验(信软)共26页文档

合集下载

计算机组成实验报告-算数逻辑运算实验

计算机组成实验报告-算数逻辑运算实验

计算机组成实验报告:算术逻辑运算姓名(学号):组号: 18 试验日期:2011/11/111·实验目的: 了解运算器的组成结构及工作原理,学习运算器的设计方法,掌握简单运算器的数据传输通路,验证运算功能发生器74LS181的组合功能。

2·试验仪器: TDN-CM++教学实验系统一套3·实验原理:由两片181器件组成8位算术逻辑运算器,8位数据开关提供运算器的操作数,通过三态门(SW-B)的控制信号送入数据总线,由LDDR1•T4或LDDR2•T4控制信号分别打入DR1或DR2锁存器,置入181数据输入端A、B。

然后由181的S0、S1、S2、S3、M、CN控制信号,进行运算(有32种运算,功能表在34页),结果由181的F端输出,通过三态门(ALU-B)的控制信号送入数据总线。

例如5+3的操作图2.6-1 运算器通路图掌握主要的控制信号的作用:SW-B、ALU-B、LDDR1、LDDR2、T4、S0、S1、S2、S3、M、CN4·实验步骤:(1)按图连接电路,检查无误(图中有小圆圈标明的需要用户连接)算术逻辑实验接线图(2)打开电源开关(3)用输入开关向暂存器DR1置数:拨动输入开关形成二进制数01100101。

亮灯为0,熄灯为1。

使用SWITCH UNIT单元中的开关SE-B=0、ALU-B=1、LDDR1=1、LDDR2=0。

按动微动开关KK2,将二进制数01100101置入DR1中。

(4)用输入开关向暂存器DR2置数:拨动输入开关形成二进制数10100111。

SW-B=0、ALU-B=1保持不变,改变LDDR1、LDDR2,使LDDR1=0、LDDR2=1。

按动微动开关KK2,将10100111置入DR2中。

(5)检验DR1和DR2中存在的数是否正确:关闭数据输入三态门(SW-B=1),打开ALU输出三态门(ALU-B=0),并使LDDR1=0,LDDR2=0,关闭寄存器。

实验一算术逻辑运算实验

实验一算术逻辑运算实验

信息工程学院实验报告课程名称:计算机组成基础Array实验项目名称:算术逻辑运算实验实验时间:班级:141 姓名:王炳地学号:201411401121一、实验目的(1) 了解运算器的组成结构。

(2) 掌握运算器的工作原理。

二、实验设备PC机一台,TD-CMA实验系统一套。

三、实验原理本实验的原理如图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填充,具体由相应的指令控制。

使用另外的逻辑进行移位总量译码和符号判别。

图1-1-1 运算器原理图运算器部件由一片CPLD 实现。

ALU 的输入和输出通过三态门74LS245连到CPU 内总线上,另外还有指示灯标明进位标志FC 和零标志FZ 。

八数码问题求解实验报告

八数码问题求解实验报告

八数码问题求解(一)实验软件TC2.0或VC6.0编程语言或其它编程语言(二)实验目的1.熟悉人工智能系统中的问题求解过程;2.熟悉状态空间的盲目搜索和启发式搜索算法的应用;3.熟悉对八数码问题的建模,求解及编程语言的应用。

(三)实验内容八数码问题:在3×3的方格棋盘上,摆放着1到8这八个数码,有一个方格是空的,要求对空格执行空格左移,空格右移,空格上移,空格下移这四个操作使得棋盘从初始状态到目标状态。

输入初始状态和目标状态,输出从初始状态到目标状态的路径。

(四)实验代码#include"stdafx.h"#include<iostream>#include<ctime>#include<vector>using namespace std;const int ROW = 3;const int COL = 3;const int MAXDISTANCE = 10000;const int MAXNUM = 10000;typedef struct_Node{int digit[ROW][COL];int dist; // distance between one state and the destination int dep; // the depth of node// So the comment function = dist + dep.int index; // point to the location of parent} Node;Node src, dest;vector<Node> node_v; // store the nodesbool isEmptyOfOPEN() {for (int i = 0; i < node_v.size(); i++) {if (node_v[i].dist != MAXNUM)return false;}return true;}bool isEqual(int index, int digit[][COL]) {for (int i = 0; i < ROW; i++)for (int j = 0; j < COL; j++) {if (node_v[index].digit[i][j] != digit[i][j])return false;}return true;}ostream& operator<<(ostream& os, Node& node) {for (int i = 0; i < ROW; i++) {for (int j = 0; j < COL; j++)os << node.digit[i][j] << ' ';os << endl;}return os;}void PrintSteps(int index, vector<Node>& rstep_v) { rstep_v.push_back(node_v[index]);index = node_v[index].index;while (index != 0) {rstep_v.push_back(node_v[index]);index = node_v[index].index;}for (int i = rstep_v.size() - 1; i >= 0; i--)cout << "Step " << rstep_v.size() - i<< endl << rstep_v[i] << endl;}void Swap(int& a, int& b) {int t;t = a;a = b;b = t;}void Assign(Node& node, int index) {for (int i = 0; i < ROW; i++)for (int j = 0; j < COL; j++)node.digit[i][j] = node_v[index].digit[i][j];}int GetMinNode() {int dist = MAXNUM;int loc; // the location of minimize nodefor (int i = 0; i < node_v.size(); i++) {if (node_v[i].dist == MAXNUM)continue;else if ((node_v[i].dist + node_v[i].dep) < dist) {loc = i;dist = node_v[i].dist + node_v[i].dep;}}return loc;}bool isExpandable(Node& node) {for (int i = 0; i < node_v.size(); i++) {if (isEqual(i, node.digit))return false;}return true;}//扩展int Distance(Node& node, int digit[][COL]) {int distance = 0;bool flag = false;for (int i = 0; i < ROW; i++)for (int j = 0; j < COL; j++)for (int k = 0; k < ROW; k++) {for (int l = 0; l < COL; l++) {if (node.digit[i][j] == digit[k][l]) {distance += abs(i - k) + abs(j - l);//abs()求得是正数的绝对值。

计算机组成原理实验报告-八位补码加减法器的设计与实现

计算机组成原理实验报告-八位补码加减法器的设计与实现

计算机科学与技术学院计算机组成原理实验报告书实验名称八位补码加/减法器的设计与实现班级学号姓名指导教师日期成绩实验1八位补码加/减法器的设计与实现一、实验目的1.掌握算术逻辑运算单元(ALU)的工作原理。

2.熟悉简单运算器的数据传送通路。

3.掌握8位补码加/减法运算器的设计方法。

4.掌握运算器电路的仿真测试方法二、实验任务1.设计一个8位补码加/减法运算器(1)参考图1,在QUARTUS II里输入原理图,设计一个8位补码加/减法运算器。

(2)创建波形文件,对该8位补码加/减法运算器进行功能仿真测试。

(3)测试通过后,封装成一个芯片。

2.设计8位运算器通路电路参考下图,利用实验任务1设计的8位补码加/减法运算器芯片建立运算器通路。

3.利用仿真波形,测试数据通路的正确性。

设定各控制信号的状态,完成下列操作,要求记录各控制信号的值及时序关系。

(1)在输入数据IN7~IN0上输入数据后,开启输入缓冲三态门,检查总线BUS7~BUS0上的值与IN0~IN7端输入的数据是否一致。

(2)给DR1存入55H,检查数据是否存入,请说明检查方法。

(3)给DR2存入AAH,检查数据是否存入,请说明检查方法。

(4)完成加法运算,求55H+AAH,检查运算结果是否正确,请说明检查方法。

(5)完成减法运算,分别求55H-AAH和AAH-55H,检查运算结果是否正确,请说明检查方法。

(6)求12H+34H-56H,将结果存入寄存器R0,检查运算结果是否正确,同时检查数据是否存入,请说明检查方法。

三、实验要求(1)做好实验预习,掌握运算器的数据传送通路和ALU的功能特性。

(2)实验完毕,写出实验报告,内容如下:①实验目的。

②实验电路图。

③按实验任务3的要求,填写下表,以记录各控制信号的值及时序关系。

表中的序号表示各控制信号之间的时序关系。

要求一个控制任务填一张表,并可用文字对有关内容进行说明。

⑤实验体会与小结。

四、实验预习内容1.实验电路设计原理及思路说明本实验利用基本逻辑门电路设计一位全加器(FA),如表1:加法又可以实现减法,所以使用了一个M输入来进行方式控制加减。

计算机组成原理实验报告

计算机组成原理实验报告

计算机组成原理实验报告实验报告运算器实验⼀、实验⽬的掌握⼋位运算器的数据传输格式,验证运算功能发⽣器及进位控制的组合功能。

⼆、实验要求完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运⽤。

三、实验原理实验中所⽤的运算器数据通路如图2-3-1所⽰。

ALU运算器由CPLD描述。

运算器的输出FUN经过74LS245三态门与数据总线相连,运算源寄存器A和暂存器B的数据输⼊端分别由2个74LS574锁存器锁存,锁存器的输⼊端与数据总线相连,准双向I/O 输⼊输出端⼝⽤来给出参与运算的数据,经2⽚74LS245三态门与数据总线相连。

图2-3-1运算器数据通路图中A WR、BWR在“搭接态”由实验连接对应的⼆进制开关控制,“0”有效,通过【单拍】按钮产⽣的脉冲把总线上的数据打⼊,实现运算源寄存器A、暂存器B的写⼊操作。

四、运算器功能编码算术运算逻辑运算K23~K0置“1”,灭M23~M0控位显⽰灯。

然后按下表要求“搭接”部件控制路。

表2.3.2 运算实验电路搭接表算术运算1.运算源寄存器写流程通过I/O单元“S7~S0”开关向累加器A和暂存器B置数,具体操作步骤如下:2.运算源寄存器读流程关闭A、B写使能,令K18=K17=“1”,按下流程分别读A、B。

3.加法与减法运算令M S2 S1 S0(K15 K13~K11=0100),为算术加,FUN及总线单元显⽰A+B的结果令M S2 S1 S0(K15 K13~K11=0101),为算术减,FUN及总线单元显⽰A-B的结果。

逻辑运算1.运算源寄存器写流程通过“I/O输⼊输出单元”开关向寄存器A和B置数,具体操作步骤如下:2.运算源寄存器读流程关闭A、B写使能,令K17= K18=1,按下流程分别读A、B。

①若运算控制位设为(M S2 S1 S0=1111)则F=A,即A内容送到数据总线。

②若运算控制位设为(M S2 S1 S0=1000)则F=B,即B内容送到数据总线。

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

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

实验报告一、实騎名称运算器实騎一算术遐辑运算实騎二、实豔目的1、了解运算器的组成原理。

2、掌握运算器的工作原理。

3、掌握简单运算器的数据传送通路。

4、验证运算功能发生器(74LS181 )的组合助能。

三、实豔设备TDN-CM++it算机组成原理教学实验系统一套,导线若干。

实验中所用的运算器数据通路如图1"所示。

其中两片74LSI81以串行方式沟成8位字长的ALU, ALU的输出经il 一个三态门(74LS245)和数据总线相连。

三态门由ALU-R控制,控制运算器运算的绪果能否送往总线,低电平有效。

为实现双操作数的运算,ALU的两个数据输入端分别由二个锁存器DR1、DR2(由74LS273实现)锁存数据。

要稱数据总线上的数据锁存到DRk DR2中,锁存器的控制S LDDR1和DDR2必须为高电平,同时由T4脉冲到来。

数据开关(“INPUT DEVICE")用来给出参与运算的数摇,经过三态(74LS245 ) 后送人数据总线,三态门由SW-B控朝低电平有效。

数据显示灯(“BUS UNIT-) 已和数播总线相连,用来显示数据总线上的内容。

图中已将用户需要连接的腔制信号用冏IS标明(其他实騎相同,不再说明),其中除T4为脉冲信号外,其它均为电平信号。

由于实騎电路中的时序信号均已连至“W/RUNIT”的相应时序信号引岀端,因此,在进行实验时,只需将“W / R UNIT"的T4接至“STATEUNIT”的fit动开关KK2的输入竭,按动微动开关, 即可获得实酚所需的单脉冲。

ALU运算所需的电平控制信号S3、S2、S1、SO、Cn、M、LDDRk LDDR2、ALU-B、SW-B均由M SWITCH UNIT ”中的二进制数摇开关来模81,其中Cn、ALU—B s SW-B为低电平有效LDDRk LDDR2为高电平有效。

对单总线数据通路,需要分时共享总线,每一时刻只能由一组数弼送往总线。

八位算术逻辑运算

八位算术逻辑运算

实验1 八位算术逻辑运算
一、实验目的和要求
1、掌握运算器的基本组成结构;
2、掌握运算器的工作原理。

二、实验原理图
实验采用的运算器数据通路如图1-1所示,其中74HC18是4位算数逻辑运算单元,本实验采用2片构成8位的算数逻辑运算单元。

两个操作数从最下面的8个乒乓开关输入,分别锁存在两个锁存器74273中,分别作为ALU的两个操作数。

74HC18有16种算数逻辑运算,控制端由S3、S2、S1、S0控制,在电路中由SWS3、SWS2、SWS1、SWS0四个开关控制。

M=1,逻辑运算,M=0算数运算,CN为进位位。

运算的结果显示在上方的8个LED灯。

图1-1运算器原理图
逻辑功能表如表1-1所示。

表5-1 ALU逻辑功能表
三、实验要求完成: 1、实验要求
(1)在暂存器A 中设置操作数A=65H ;在暂存器B 中设置操作数B=A7H 。

(2)通过对ALU 操作控制端S3、S2、S1、S0、CN 、M 的设置,完成两个操作数的算术、逻辑运算,并将运算结果填入表1-2中。

最后将运算结果同74HC181逻辑功能表(表1-1)对比分析,判断运算结果是否正确。


、实验数据记录
验证74HC181的逻辑功能,将运算结果记录在表1-2中。

六、实验结果分析
1、对比分析表1-1和表1-2,判断运算结果是否正确,并分析原因。

2、暂存器A置数完成后,如果操作控制信号 wA仍保持有效电平(wA=0),在对暂存器B置数时会出现什么情况?。

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

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

福建农林大学计算机与信息学院信息工程类实验报告课程名称:计算机组成原理姓名:系:计算机专业:计算机科学与技术年级:09级学号:指导教师:职称:2010年12月29日实验项目列表福建农林大学计算机与信息学院信息工程类实验报告系:计算机专业:计算机科学与技术年级: 09 姓名:学号:实验课程:实验室号:____509 实验设备号:试验台8 实验时间:指导教师签字:成绩:实验名称算术逻辑运算实验1.实验目的和要求1.掌握简单运算器的组成以及数据传送通路;2.验证运算功能发生器(74ls181)的组合功能。

2.实验原理实验中所用的运算器数据通路如图1-1所示。

其中运算器由两片74LS181,以并/串形式构成8位字长的ALU。

运算器的两个数据输入端分别由两个锁存器(74LS273)锁存,锁存器的输入连至数据总线,数据输入开关用来给出参与运算的数据,并经过—三态门(74LS245)和数据总线相连。

运算器的输出经过一个三态门(74LS245)和数据总线相连。

数据显示灯已和数据总线相连,用来显示数据总线内容。

图1-1 运算器数据通路图图1-2中已将实验需要连接的控制信号用箭头标明。

其中除T4为脉冲信号,其他均为脉冲控制信号。

实验电路中的控制时序信号均已内部连至引出端,进行实验时,还需将S3、S2、S1、S0、Cn、LDDR1、LDDR2、ALU_G、SW_G各电平控制信号与开关单元中的二进制数据开关进行跳线连接。

其中ALU_G、SW_G为低电平有效,LDDR1、LDDR2为高电平有效。

图1-2 算术逻辑运算实验接线图3.主要仪器设备(实验用的软硬件环境)ZYE1603B计算机组成原理及系统结构教学实验箱一台,排线若干。

4.操作方法与实验步骤1.按图1-2连接实验线路,仔细检查无误后,接通电源。

2.用输入单元的二进制数据开关的寄存器DR1和DR2置数,数据开关的内容可以用与开关对应的指示灯来观察,灯亮表示开关量为“1”,灯灭表示开关量为“0”。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
F=A
M=1 (逻辑运算)
F=/A F=/(A+B) F=/A*B F=0 F=/(A*B) F=/B F=(A B) F=(A*/B) F=/A+B F=/(A B) F=B F=AB F=1 F=A+/B F=A+B F=A
运算器数据通路图(图3-1)
8
运算器的输入 由两个锁存器 74LS273锁存 并送入运算器
运算器的数据来 源由8位数据开关
KD0-KD7输入
内部数据线通过 LZD0-D7显示灯显示
DR1 运算器的输出经过三态门 74LS245到BUSD0-D7
运算器的输入经过三态 门74LS245到外部数据 总线并送入锁存器锁存
DR2
运算器由两片 74LS181并/串而成
数据输入三态缓冲器门控信号 SWB ,数据输出三态缓冲器门控信号ALUB 数据锁存DR1打入脉冲信号 LDDR1 ,数据锁存DR2打入脉冲信号 LDDR2
5. 填写实验报告表3-1中的空白数据。
步骤2. 8位运算数据的置入
20
① 开始实验时,右下方的“停止运行控制”开关向上设置为 运行 状态;
② 调拨8位数据开关KD7-KD0为00110101(35H) ,准备向DR1送二 进制数据。
③ 数据输出三态缓冲器门控信号ALUB=1(关闭)。
④ 数据输入三态缓冲器门控信号 SWB=0(打开)。 ⑤ 数据锁存DRi控制信号LDDR1=1(打开),同时,LDDR2=0(关
二、实验设备(平台)DVCC实验机平面图 4
三、实验原理
5
运算器由两片74LS181以并/串形式构成8位字长 的ALU。
运算器的输出经过一个三态门(74LS245)和数 据总线相连。
运算器的两个数据输入端分别由两个锁存器 (74LS273)锁存。
锁存器的输入连至数据总线,数据开关(INPUT DEVICE)用来给出参与运算的数据,并经过一 三态门(74LS245)和数据总线相连。
如M=1,S3、S2、S1、S0=1111,验证8位数据 DR1;S3、S2、S1、S0=1010验证8位数据DR2。
步骤3.检验DR1和DR2置入的数据
23
验证DR12置入数据
打 关关开闭闭输D出入R12三控态制门 LASDLWDUBRB=12==1 0 0
设置功能选择开关M=1 S3S2S1S0=101110,验证DR12置入数据
闭)。 ⑥ 打入脉冲信号T4 ,将数据35H置入DR1。 ⑦ 重复步骤2-6,其中的步骤5 将LDDR1与LDDR2互换,即可将数据
48H置入DR2。
步骤2. 8位运算数据的置入
21
通过8位数据开关 KD0-KD7输入3458H
打 关关 打开 闭闭 开D输R出 入12控三制态信门号 LASDLWDUBRB==120=110
按下“复位”键 发出总清信号
打入脉冲信号T4
步骤3.检验DR1和DR2置入的数据
22
① 数据输出三态缓冲器门控信号ALUB=0(打开);
② 数据输入三态缓冲器门控信号SWB=1(关闭);
③ 数据锁存DRi控制信号LDDR1、LDDR2=0(关闭)
④ 设置开关M 、开关S3、S2、S1、S0 相应值
Cn=0 有进位
F=A加1 F=(A+B)加1 F=(A+/B)加1
F=0 F=A加(A*B)加1 F=(A+B)加(A*/B)加1 F=A减B F=(A*/B) F=A加AB加1 F=A加B加1 F=(A+/B)加A*B加1
F=AB F=A加A加1 F=(A+B)加A加1 F=(A+/B)加A加1
AR跳线器拨在左边,同时开关AR拨在“1”电平 17
AR开关拨“1”
AR跳线拨左边
四、实验连线-连线及跳线完毕
18
五、实验步骤
19
1. 连接线路,仔细检查核对后接通电源。
2. 用二进制数据开关KD7-KD0向DR1和DR2寄存 器置入8位运算数据。
3. 检验DR1和DR2置入的数据是否正确。
4. 验证74LS181的算术和逻辑运算功能。
运算器数据通路图(简化版)
9
四、实验连线
10
仔细查看试验箱,按以下步骤连线 1)ALUBUS连EXJ3 2) ALU01连BUS1 3) SJ2连UJ2 4) 跳线器J23上T4连SD 5) LDDR1,LDDR2,ALUB,SWB四个跳线器拨 在左边 6) AR跳线器拨在左边,同时开关AR拨在 “1”电平
1
计算机组成原理实验
实验一
2
8位算术逻辑运算实验
一、实验目的 二、实验设备
三、实验原理 四、实验连线 五、实验步骤
一、实验目的
3
1. 掌握算术逻辑运算器单元ALU(74LS181) 的工作原理。
2. 掌握模型机运算器的数据传送通路组成原理。
3. 验证74LS181的组合功能。
4. 按给定数据,完成实验指导书中的算术/逻 辑运算。
M=0(算术运算)
Cn=1 无进位
F=A
F=A+B
F=A+/B F=2的补 F=A加(A*/B) F=(A+B)加(A*/B) F=A减B减1 F=(A*/B)减1 F=A加A*B F=A加B F=(A+/B)加A*B F=A*B减1 F=A加A F=(A+B)加A F=(A+/B)加A F=A减1
24
步骤4、5.验证74LS181的算术和逻辑运算功能
① 在给定DR1=35H、DR2=48H的情况下,改变算术 逻辑运算功能发生器的功能设置,观察运算器 的输出。
数据显示灯(BUS UNIT)已和数据总线相连, 用来显示数据总线内容。
6
74LS181芯片外特性
74LS181功能表
7
4位ALU
S3 S2 S1 S0
0 00 0 0 00 1 0 01 0 0 01 1 0 10 0 0 10 1 0 11 0 0 11 1 1 00 0 1 00 1 1 01 0 1 01 1 1 10 0 1 10 1 1 11 0 1 11 1
四、实验连线-未连线
11
四、实验连线-ALUBUS连EXJ3
12
四、实验连线- ALU01连BUS1
13
四、实验连线- SJ2连UJ2
14
四、实验连线-J23上的T4连SD
LDDR1,LDDR2,ALUB,SWB四个跳线器拨在左边 16
LASDLWDURBB跳12跳跳线线线拨拨拨左左左边边边
相关文档
最新文档