实验二_运算器实验

合集下载

实验二 运算器实验

实验二  运算器实验

南京工程学院计算机工程学院计算机组成与结构实验报告书实验学生班级 K网络工程121实验学生姓名王云峰学号 240121525实验地点信息楼A115实验二运算器实验同组同学李翔240121515(合作小组朱赛杰240121533)实验日期 11月27日实验仪器号 TEC-XP+14S022一、实验目的1.加深对Am2901运算器内部组成的了解, 掌握四片Am2901芯片间的连接关系, 以及它与有关外部逻辑电路的连接关系。

2.准确把握该运算器的控制与使用, 即掌握其运算与操作功能, 以及正确地为其提供全部控制信号及有关数据的手段与技术。

3.初步了解运算器在计算机整机中的作用。

二、实验内容1.脱机方式下运算器的控制及运行设计控制信号序列,在脱机方式实现给定程序段的功能。

记录按压START 前后的ALU的运算结果和状态标志。

2.联机方式下运算器的控制及运行在联机方式下,汇编并单步执行给定程序段,查看并记录每条指令执行后的运行结果。

使用指令的单步骤执行方式,观察与运算器相关的控制信号的状态。

三、实验步骤与结果脱机的运算器实验,在教学实验中实现如下7项操作功能:预期功能实现方案R0 ←1234 数据开关拨1234,B地址给0,D+0,结果送B口选的R0R9 ←789F 数据开关拨789F,B地址给9,D+0,结果送B口选的R9 R9 ←R9-R0 B地址9,A地址给0,最低位进位给1,B-A,结果送B 口选的R9R0 ←R0+1 B地址给0,最低位进位给1,B+0,结果送B口选的R0 R10←R0 B地址给A,A地址给0,A+0,结果送B口选的R10逻辑右移在有了预期功能和实现方案之后,要解决的具体问题,就是依据教学计算机的简明操作卡中的有关表格中规定的内容,找出实现每一操作功能要用到的控制码。

请把表2-3中各组控制信号的正确的取值填写在相应位置,然后把运行结果的状态信息填入表2-4。

思考题:执行R0+1时,为什么输出Y15-Y0为1234,而不是1235?左右移位时,是通用寄存器本身移位,还是它与Q寄存器联合移位是怎么区分的?最高、最低位的移位输入信号是怎么给出的?C在移位中有什么作用?联机的运算器实验,改用教学计算机的指令实现上述脱机运算器实验完成的功能。

运算器实验实验报告

运算器实验实验报告

运算器实验实验报告一、实验目的运算器是计算机中进行算术和逻辑运算的部件,本次实验的目的在于深入理解运算器的工作原理,掌握其基本结构和功能,并通过实际操作和测试,提高对计算机硬件系统的认识和实践能力。

二、实验设备本次实验所使用的设备包括:计算机、数字逻辑实验箱、导线若干等。

三、实验原理运算器主要由算术逻辑单元(ALU)、寄存器、数据通路和控制逻辑等组成。

ALU 是运算器的核心部件,能够执行加法、减法、乘法、除法等算术运算以及与、或、非等逻辑运算。

寄存器用于存储参与运算的数据和运算结果,数据通路负责在各部件之间传输数据,控制逻辑则根据指令控制运算器的操作。

在本次实验中,我们采用数字逻辑电路来构建运算器的基本功能单元,并通过连线和设置控制信号来实现不同的运算操作。

四、实验内容1、算术运算实验(1)加法运算首先,将两个 8 位二进制数分别输入到两个寄存器中,然后通过控制信号使 ALU 执行加法运算,将结果存储在另一个寄存器中,并通过数码管显示出来。

通过改变输入的数值,多次进行加法运算,观察结果是否正确。

(2)减法运算与加法运算类似,将两个 8 位二进制数输入到寄存器中,使 ALU 执行减法运算,观察结果的正确性。

2、逻辑运算实验(1)与运算输入两个 8 位二进制数,控制 ALU 进行与运算,查看结果。

(2)或运算同样输入两个 8 位二进制数,进行或运算并验证结果。

(3)非运算对一个 8 位二进制数进行非运算,观察输出结果。

3、移位运算实验(1)逻辑左移将一个 8 位二进制数进行逻辑左移操作,观察移位后的结果。

(2)逻辑右移执行逻辑右移操作,对比移位前后的数据。

五、实验步骤1、连接实验设备按照实验箱的说明书,将计算机与数字逻辑实验箱正确连接,并接通电源。

2、构建电路根据实验要求,使用导线将数字逻辑芯片连接起来,构建运算器的电路结构。

3、输入数据通过实验箱上的开关或按键,将待运算的数据输入到相应的寄存器中。

实验二脱机运算器实验实验解读

实验二脱机运算器实验实验解读

实验⼆脱机运算器实验实验解读实验⼆脱机运算器实验实验⽬的深⼊了解AM2901运算器的功能与具体⽤法,2⽚AM2901的级连⽅式:深化运算器部件的组成、设计、控制与使⽤等诸项知识.实验说明脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制信号均需通过两个12位的微型开关来提供,这就谈不上执⾏指令,只能通过开关、按键等控制教学机的运算器完成指定的运算功能,并通过指⽰订观察运算结果.下⾯先把前边讲过的、与该实验直接有关的结论性内容汇总如下.12位微型开关的具体控制功能分配如下:A⼝、B⼝地址:送给AM2901器件⽤于选择源与⽬的操作数的寄存器编号;I0—I8:选择操作数来源、运算操作功能、选操作数处理结果和运算器输出内容的3组3位的控制:SCI,SSH,和SST:⽤于确定运算器最低位的进位输⼊、移位信号的⼊/出和怎样处理AM2901产⽣的状态标志位的结果.最低位的移位输⼊信号Cin:状态寄存器的接收与保持最⾼、最低位的移位输⼊信号的形成逻辑注:表中的X表⽰不必处理、不必过问该位的取值;当通⽤寄存器本⾝移位时,Q寄存器不受影响;乘除运算要求实现通⽤寄存器与Q寄存器联合移位、没有Q寄存器单独移位功能.实验内容1.选择运算器要完成的⼀项运算功能,包括数据来源,运算功能,结果保存等;2.将实验台上两个红⾊的微型开关左边的短路⼦的任意⼀个或两个短接:将三个控制开关置成1XX(即处于单步状态);先同时按下“RESET”和“STEP”按键,松开后再按⼀下“STEP”按键,进⾏初始化.3.通过两个12位的红⾊微型开关向运算器提供控制信号,必要时通过8位数据开关向运算器提供数据.4,每按⼀次“STEP”键,结束⼀步操作,通过指⽰灯观察运算结果及状态标志。

观察ALU的运算结果应在按STEP键之前,观察标志寄存器结果在按STEP键之后。

5。

接下来,按下表所列的操作在⼋位机上进⾏运算器脱机实验,其中Dl取值为01H,D2取值为10H,将结果填⼊表中:实验要求1.实验之前认真预习,写出预习报告,包括操作步骤,实验过程所⽤数据和运⾏结果等,否则实验效率会很低,所学到的内容也会⼤受影响;2.实验过程当中,要仔细进⾏,防⽌损坏设备,分析可能遇到的各种现象,判断结果是否正确,记录运⾏结果;3.实验之后,认真写出实验作业报告,包括对遇到的各种现象的分折,实验步骤和实验结果,⾃⼰在这次实验的⼼得体会与收获等.参考答案。

实验二运算器实验

实验二运算器实验

实验二运算器实验实验二运算器am2901实验该实验操作不需用到电脑,不需实现电脑和实验箱的连接,操作全部在实验箱上完成。

实验过程当中,必须认真展开,避免损毁设备,分析可能将碰到的各种现象,推论结果与否恰当,记录运转结果。

实验目的:1、深入细致介绍am2901运算芯片的功能、结构;2、深入细致介绍4片am2901的级联方式;3、深化运算器部件的组成、设计、控制与使用等知识。

教学计算机的运算器部件主体由4片4位的运算器芯片am2901彼此串联形成,它输入16位的数据运算的结果(用y则表示)和4个结果特征位(用cy,f=0000,over,f15则表示)。

它的输出(用d则表示)就可以源自于内部总线。

确定运算器运算的数据来源、运算功能、结果处置,需要使用控制器提供的i8~i0、b3~b0、a3~a0共17个信号。

运算器的输入轻易相连接至地址寄存器ar的输出插槽,用作提供更多地址总线的信息来源。

运算器的输入还经过两个8位的244器件的掌控(采用dc1译码器的ytoib#信号)被送至内部总线ib,用作把运算器中的数据或者运算结果载入内存储器或者输入输出USB芯片。

运算器产生的4个结果特征位的信息需要保存,为此设置一个4位的标志寄存器flag,用于保存这4个结果特征信息,标志寄存器的输出分别用c、z、v、s表示。

控制标志寄存器何时和如何接收送给它的信息,需要使用控制器提供的sst2~sst0三位信号。

运算器还须要按照指令继续执行的建议,正确地获得最高位的位次输出信号,最高位和最低位的移位输出信号,为此须要布局另一个shift的线路,在控制器提供更多的ssh和sci1~sci0三位信号的掌控下,产生运算器最高位的位次输出信号,最高位和最低位的移位输出信号。

相关器件:4片am2901(alu)两片ar(74ls374)一片flag(gal20v8)一片shift(gal20v8)2片244(alutoib,74ls244)2个12位微动开关(红色)3个手动掌控信号内存芯片(hand,74ls240)am2901芯片的结构和功能:参考教材附录部分芯片具体内容线路表明:1、芯片输出受oe#信号控制,仅当其为低电平时,才有y值正常逻辑信号输出,否则输出为高阻态。

实验2: 运算器组成实验 ----独立方式

实验2: 运算器组成实验  ----独立方式

河北环境工程学院《计算机组成原理》实验报告作者:系(部):专业班级:学号:成绩:__________________评阅教师:__________________年月日一、实验目的(1)熟悉逻辑测试笔的使用方法(2)熟悉 TEC-8 模型计算机的节拍脉冲 T1、T2、T3(3)熟悉双端口通用寄存器组的读写操作(4)熟悉运算器的数据传送通路(5)验证 74LS181 的加、减等各种功能(6)按照表中提供的功能自行验证其中几种即可二、预习内容1.什么是机器字长?2.4位操作码可包含多少条指令?3.预习实验指导书相关内容,熟悉实验步骤。

4.复习本次实验所用的各种数字集成电路的性能及工作原理三、实验环境及主要器件1.TEC-8实验系统 1台2. 逻辑测试笔 1支四、实验内容1、用逻辑测试笔测试节拍脉冲信号T1、T2、T32、对下述7组数据进行加、减、与或运算五、实验步骤1.按电路图所示,将运算器模块与实验台操作板上的线路进行连接2.用开关 K15-K0 向通用寄存器堆 RF 内的 R3-R0 寄存器置数据。

然后读出 R3-R0 的数据,在数据总线 DBUS 上显示出来3.验证 ALU 的正逻辑算术、逻辑运算功能4.将“控制转换”开关拨到最中间位置既“独立”灯亮。

测试寄存器写入和读出;【操作模式:1100】接线表和置开关如下表:寄存器完成后可以直接在写寄存器操作模式下,通过 K6、K5 拨动开关查看写入寄存器中的数据,对应的数据灯:A7~A0。

通过 K2、K1 拨动开关也可以查看写入寄存器中的数据,对应的数据灯 B7~B0运算器实验【操作模式:1101】接线表和置开关如下表:。

计算机组成原理实验exp_2(运算器 ── 进位控制实验)

计算机组成原理实验exp_2(运算器 ── 进位控制实验)

实验二运算器──进位控制实验一实验目的(1) 验证带进位控制的算术运算功能发生器的功能;(2) 按指定数据完成几种指定的算术运算。

二实验设备TDN-CM++计算机组成原理教学实验系统一台,排线若干。

三实验内容进位控制运算器的实验原理如图3所示,在算术逻辑运算实验的基础上增加进位控制部分,其中74181的进位进入一个7474锁存器,其写入是由T4和AR信号控制,T4是脉冲信号,实验时将T4连至STA TE UNIT的微动开关KK2上。

AR是电平控制信号(低电平有效),可用于实现带进位控制实验,而T4脉冲是将本次运算的进位结果锁存到进位锁存器中。

图 3 进位控制实验原理图线四实验步骤(1) 按图4连接实验线路,仔细查线无误后,接通电源。

(2) 用二进制数码开关向DR1和DR2寄存器置数,具体方法:图 4 进位控制实验接线图线① 关闭ALU 输出三态门(ALU-B=1),开启输入三态门(SW-B=0),设置数据开关; ② 例如向DR 1存入01010101,向DR 2存入10101010。

具体操作步骤如下:(3) 关闭输入三态门(SW-B=1),开启ALU 输出三态门(ALU-B=0)。

(4) 进位标志清零具体操作方法如下:实验板中SWITCH UNIT 单元中的CLR 开关为标志CY ,ZI 的清零开关,它为零时是清零状态,所以依次将开关做1→0→1操作,即可使标志位清零。

注:进位标志指示灯CY 亮时表示进位标志为“0”,无进位:标志指示灯CY 灭时表示进位为“1”,有进位.(5) 验证带进位运算及进位锁存功能,使Cn=1,AR=0来进行带进位算术运算。

数据开关 (01010101) 三态门 寄存器DR 1 (01010101) 数据开关寄存器DR 2 (10101010) LDDR 1=1 LDDR 2=0 T4=ALU-B=1 SW-B=0LDDR 1=0 LDDR 2=1 T4= 关寄存器 LDDR 1=0 LDDR 2=0例如:做加法运算,首先向DR1,DR2置数,然后使ALU-B=0,S3S2S1S0M状态为10010,此时数据总线上显示的数据为DR1加DR2加当前进位标志,这个结果是否产生进位,则要按动微动开关KK2,若进位标志灯亮,表示无进位;反之,有进位。

实验二运算器的实验

实验二运算器的实验

实验二运算器的实验
一、实验目的
了解模型机中算术、逻辑运算单元的控制方法。

二、实验要求
利用COP2000实验仪的K16..K23开关做为DBUS数据,其它开关做为控制信号,将数据写累加器A和工作寄存器W,并用开关控制ALU的运算方式,实现运算器的功能。

三、实验说明
COP2000中的运算器由一片可编程芯片EPLD实现。

有8种运算, 通过S2,S1,S0来选择。

运算数据由寄存器A及寄存器W给出, 运算结果输出到直通门D。

S2 S1 S0 功能
0 0 0 A+W 加
0 0 1 A-W 减
0 1 0 A|W 或
0 1 1 A&W 与
1 0 0 A+W+C 带进位加
1 0 1 A-W-C 带进位减
1 1 0 ~A A取反
1 1 1 A 输出A
注意:运算器在加上控制信号及数据(A,W)后,立刻给出结果,不须时钟。

四、实验过程
(1
(2)实验数据
将55H写入A寄存器
按住CLOCK脉冲键,CLOCK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A 寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据55H被写入A寄存器。

将33H写入W寄存器
按住CLOCK脉冲键,CLOCK由高变低,这时寄存器W的黄色选择指示灯亮,表明选择W 寄存器。

放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据33H被写入W寄存器。

注意观察:
运算器在加上控制信号及数据(A,W)后,立刻给出结果,不须时钟。

五、实验感想。

实验二脱机运算器实验实验解读

实验二脱机运算器实验实验解读

实验二脱机运算器实验实验目的深入了解AM2901运算器的功能与具体用法,2片AM2901的级连方式:深化运算器部件的组成、设计、控制与使用等诸项知识.实验说明脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制信号均需通过两个12位的微型开关来提供,这就谈不上执行指令,只能通过开关、按键等控制教学机的运算器完成指定的运算功能,并通过指示订观察运算结果.下面先把前边讲过的、与该实验直接有关的结论性内容汇总如下.12位微型开关的具体控制功能分配如下:A口、B口地址:送给AM2901器件用于选择源与目的操作数的寄存器编号;I0—I8:选择操作数来源、运算操作功能、选操作数处理结果和运算器输出内容的3组3位的控制:SCI,SSH,和SST:用于确定运算器最低位的进位输入、移位信号的入/出和怎样处理AM2901产生的状态标志位的结果.最低位的移位输入信号Cin:状态寄存器的接收与保持最高、最低位的移位输入信号的形成逻辑注:表中的X表示不必处理、不必过问该位的取值;当通用寄存器本身移位时,Q寄存器不受影响;乘除运算要求实现通用寄存器与Q寄存器联合移位、没有Q寄存器单独移位功能.实验内容1.选择运算器要完成的一项运算功能,包括数据来源,运算功能,结果保存等;2.将实验台上两个红色的微型开关左边的短路子的任意一个或两个短接:将三个控制开关置成1XX(即处于单步状态);先同时按下“RESET”和“STEP”按键,松开后再按一下“STEP”按键,进行初始化.3.通过两个12位的红色微型开关向运算器提供控制信号,必要时通过8位数据开关向运算器提供数据.4,每按一次“STEP”键,结束一步操作,通过指示灯观察运算结果及状态标志。

观察ALU的运算结果应在按STEP键之前,观察标志寄存器结果在按STEP键之后。

5。

接下来,按下表所列的操作在八位机上进行运算器脱机实验,其中Dl取值为01H,D2取值为10H,将结果填入表中:实验要求1.实验之前认真预习,写出预习报告,包括操作步骤,实验过程所用数据和运行结果等,否则实验效率会很低,所学到的内容也会大受影响;2.实验过程当中,要仔细进行,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,记录运行结果;3.实验之后,认真写出实验作业报告,包括对遇到的各种现象的分折,实验步骤和实验结果,自己在这次实验的心得体会与收获等.参考答案。

实验2 运算器 实验报告

实验2 运算器 实验报告

实验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、观察逻辑运算的结果,理解不同逻辑运算的特点和用途。

五、实验结果与分析(一)加法运算结果通过多次输入不同的操作数进行加法运算,结果均准确无误。

计组实验-运算器实验

计组实验-运算器实验

计算机组成原理实验课程实验报告实验名称运算器实验
实验二运算器
一.实验目的
了解简单运算器的数据传输通路。

验证运算功能发生器的组合功能。

掌握算术逻辑运算加、减、与的工作原理。

二.实验环境
Quartus 2 9.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功能如表所示。

四.仿真及软件设计
Vhd编程(非自己写,粘贴了群里文件):
将编程存为器件以及定制74373b,如图
bdf电路图:
五.实验结果分析及回答问题(或测试环境及测试结果)实验问题:
发现是
后来将IN[7…0]改为IN[7..0]
运行成功
仿真结果:
经检验结果正确:。

实验二 运算器实验

实验二  运算器实验

表2-4 最低进位Cin控制信号SCI SCI 0 0 1 1 0 1 0 1 Cin 0 1 C TCLK2 方波 典型指令 ADD、DEC INC、SUB ADC、SBB 本实验中不使用
表2-5 移位状态控制信号SSH SSH 0 0 1 1 0 1 0 1 左移 RAM0 0 C Q3 * Q0 * * F3 * 右移 RAM3 0 C CY F3⊕OV Q3 * * RAM0 RAM0 说明 补 0(逻辑左右移) 带进位移(循环移位) 带 Q 同时移位(乘除时) 补码右移
实验原理
图 2-1
Am2901 的数据通路
1、运算器数据通路
TEC-XP 教学机的运算器主要采用 4 片 Am2901 芯片级联组成,每片 Am2901 芯片实现 4 位运算,4 片芯片级联成 16 位的运算器。 Am2901 芯片的组成包括:1 个 4 位的算术逻辑单元 ALU、16 个 4 位的通用寄存器、1 个 4 位的乘商寄存器 Q 和若干个多路选择开关。Am2901 的数据通路如图 2-1 所示。 (1)算术逻辑单元 ALU ALU 有两个数据输入端 R 和 S。 R 端的数据来源有三个——寄存器 A、 数据线 D、 数值 0; S 端的数据来源有四个——寄存器 A、寄存器 B、乘商寄存器 Q、数值 0。在 RS 的各种组合 中除去没有意义的和重复的,只有 8 种有效的组合。ALU 的数据来源由控制信号 I2I1I0 决 定,其控制方式如表 2-1 所示。 ALU 可完成两个操作数的加、减、与、或、异或等多种操作,操作类型的控制有控制信 号 I5I4I3 决定,其控制方式如表 2-2 所示。ALU 若要实现乘除等其他运算,可使用串行算法 来完成。 ALU 的输出结果可保存到通用寄存器、乘商寄存器 Q,并且可以将其值乘除 2 之后再保 存,该过程控制由 I8I7I6 和 SSH 控制,其控制方式如表 2-3、表 2-5 所示。 ALU 根据其运算的结果会产生 4 个标志位——符号标志位 F3、零标志位 F=0、溢出标志 位 OVR 和进位标志位 Cn+4。ALU 运算后标志位设置可有多种不同的方式,其设置控制由 SST 控制信号决定,其控制方式如表 2-6 所示。 (2)通用寄存器组 Am2901 中的通用寄存器组是由 16 个寄存器构成, 具有双端口读写电路。 可以通过 A 口、 B 口输入的地址(4 位地址)选择寄存器,将其值送入 A、B 锁存器。其中 A 口地址指定的寄 存器是只读的,B 口地址指定的寄存器是可读写的。 A、 B 锁存器可作为 ALU 的输入数据, ALU 输出的结果值也可以保存到 B 口指定的寄存器 中,而且在写寄存器时,可以通过通用寄存器组入口处的三选一多路开关,选择写入 ALU 结果值,或其左移(乘 2) 、右移(除 2)之后的结果。 (3)乘商寄存器 乘商寄存器 Q 是为配合 ALU 的乘除运算而设置的。该寄存器输入端有三选一多路开关, 可选择 ALU 输出结果、 或乘商寄存器 Q 本身的内容作为其输入数据, 同时还可以将这两个输 入值左移(乘 2) 、右移(除 2)之后,再送入 Q 中。 (4)最低进位信号 Cin Am2901 的基本运算是加法电路, 其减法功能的实现是通过对减数求补而完成的。 因此, 在 ALU 运算时, 应使用 SCI 控制位设置最低进位信号 Cin 的状态, 具体控制方式见表 2-4。

计算机组成原理实验二

计算机组成原理实验二

Vcc
右移门
4.ALU左移输出原理图
数据输出选择器输出信号L_OE
左移门
当CN=1 Cy 移入DBUS0 当CN=0 0 移入DBUS0
二. 实验任务
1. 计算37H+56H后左移一位的值送OUT 输出。 2. 把36H取反后同54H相与的值送入R1 寄存器。
三. 实验过程举例(1)
例:实验任务:输出ACH-BDH的值(用外部输入门IN进行数据输入) 1. 实验箱没有一条微命令能完成这个操作任务。所以要考虑一个微命令序 列——微程序来完成任务。故先把任务分解成有微命令对应的基本操作,并有序 排列这些基本操作。 2. 选择基本操作:由背景知识1,可以选用“A-W”微命令;这要求先把值 ACH送入寄存器A,值BDH送入寄存器W;题意没有要求对运算结果做进一步处 理,所以直通门D中保存的值是计算结果;把D的值送OUT寄存器输出。
控制电键
k9
k8
k7Leabharlann k6k4k3k2
k1
k0
被控对象
OUTEN
X2 X1 X0
S2
S1
S0
WEN
AEN
三. 实验过程举例(2)
第三步、实验:
① 注视仪器,打开电源,手不要远离电源开关,随时准备关闭电源, 注意各数码管、发光管的稳定性,静待10秒,确信仪器稳定、无焦糊味。
② 设置实验箱进入手动模式。 ③ ACH送入寄存器A。X2x1x0(k8k7k6)=000,AEN(k0)=0, k23-k16=10101100 按下STEP键数值打入A寄存器。 ④ BDH送入寄存器W。方法同上。 ⑤ 计算A-W:按“运算器选择表”置:k4k3k2=001;
计算机组成原理实验课程
实验二 运算器实验

实验二 加减法运算器的设计实验报告

实验二 加减法运算器的设计实验报告

加减法运算器的设计实验报告实验二加减法运算器的设计一、实验目的1、理解加减法运算器的原理图设计方法2、掌握加减法运算器的VERILOG语言描述方法3、理解超前进位算法的基本原理4、掌握基于模块的多位加减运算器的层次化设计方法5、掌握溢出检测方法和标志线的生成技术6、掌握加减运算器的宏模块设计方法二、实验任务1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。

模块的端口描述如下:module lab2_RippleCarry 宽度可定制(默认为4位)的行波进位有符号数的加减法器。

#(parameter WIDTH=4)( input signed [WIDTH-1:0] dataa,input signed [WIDTH-1:0] datab,input add_sub, // if this is 1, add; else subtractinput clk,input cclr,input carry_in, //1 表示有进位或借位output overflow,output carry_out,output reg [WIDTH-1:0] result)2、修改上述运算器的进位算法,设计超前进位无符号加法算法器并封装成模块。

模块的端口描述如下:module lab2_LookaheadCarry // 4位超前进位无符号加法器(input [3:0] a,input [3:0] b,input c0, //carry_ininput clk,input cclr,output reg carry_out,output reg [3:0]sum);3、在上述超前进位加法运算器的基础上,用基于模块的层次化设计方法,完成一个32位的加法运算器,组内超前进位,组间行波进位。

4、用宏模块的方法实现一个32位加减运算器。

三、实验内容1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。

实验二-脱机运算器实验

实验二-脱机运算器实验

实验二-脱机运算器实验(总3页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--2计算机学院软件工程 专业< >班 学号:姓名 协作者 教师评定 实验题目 脱机运算器实验一、实验目的: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位。

微动开关与控制信号对应关系见表:微动开关与控制信号对应关系表3、开关检测红色微动开关是该实验系统使用寿命最短的器件,开关好坏的检测方法比较简单,用户将五个控制机器工作方式的开关置于“1XX00”,从左面其第二个和第三个的开关处于任意位置,然后将两个未动开关上的24小纽子依次置为1(开关拨到上方为1),看对应的指示灯是否亮,如果有一个或数个指示灯不亮,则一般是开关出了问题。

实验二运算器实验报告

实验二运算器实验报告

实验二运算器实验报告
实验二是运算器实验,旨在让我们了解计算机运算器的结构和工作原理。

在本次实验中,我们通过搭建运算器电路并进行验证,深入理解了运算器的运作过程,为我们今后学习和应用计算机原理打下了基础。

一、实验原理
运算器是计算机中重要的组成部分,用于实现各种算术和逻辑运算。

在本次实验中,我们首先学习了运算器的基本原理和功能,并了解了运算器中常用的逻辑门电路,如与门、或门、非门等。

接着,我们根据原理和逻辑门电路的特点,搭建了一个16位的运算器电路,并测试了电路的逻辑功能和运算准确性。

二、实验步骤
1. 搭建16位运算器电路,包括与门、或门、非门等逻辑电路。

2. 对搭建的运算器电路进行测试,如测试与门、或门、非门电路的逻辑输出是否正确。

3. 实现加法和减法运算功能,测试运算器的运算准确性。

4. 对搭建的运算器电路进行进一步优化,提高电路工作效率和运算速度。

三、实验结果
经过实验测试,我们成功搭建了一个16位的运算器电路,并对电路进行了多项测试和验证。

在逻辑输出方面,与门、或门、非门电路均能够正确输出逻辑值,验证了运算器电路的逻辑功能。

在加法和减法运算方面,运算器电路能够正确实现运算功能,并输出正确的运算结果,这表明运算器电路的运算准确性良好。

四、实验总结
通过本次实验,我们深入理解了计算机中运算器的工作原理和结构,掌握了运算器电路的搭建和运作方法,并初步掌握了在运算器上实现加法和减法运算的原理和方法。

此外,我们还了解了运算器电路的优化方法和技巧,提高了电路工作效率和运算速度。

这些知识和技能对我们今后学习和应用计算机原理具有重要的指导意义。

运算器实验(2)

运算器实验(2)

四运算器实验(2)09软件2班严小玲20091004171一、实验名称:运算器实验二、实验日期:2010年11月30日星期二三、实验设备:1. TEC-2数学计算机2. 微型计算机四、实验目的:1. 深入了解AM2901运算器的功能和具体用法;2. 熟悉AM2901芯片的功能及其控制信号的运用;3. 学习用脱机方式观察指令的执行及对F标志的影响;4. 观察测量并行和串行进位链的进位延迟时间。

五、实验原理:1,并行和串行进位链的逻辑实现和特点2,AM2901芯片的接入方式,采用了跨接线办法。

六、实验内容及步骤:七、实验结果:(一)脱机下实现操作,联机下验证实验1. 在脱机状态下,实现下列操作,并以表格形式记录ALU输出和SVZC标志(按STEP键前、后分别记录)1)将FFFFH送入R0寄存器2)将FFFFH送入R1寄存器3)实现R1+R0→R1,即ADD R1,R04)将0001H送R2寄存器5)实现R2-1→R2,即DEC R26)将000FH送R37)将FF00H送R0寄存器8)将00FF送R1寄存器9)实现R1与R0异或后送R1,即XOR R1,R0实现上述操作,并填写实验结果中表(1)表(1):注意事项:注意记录按STEP之前和之后的结果2. 在联机方式下,通过输入汇编指令来验证上面的结果。

步骤:(1)输入汇编程序A800:800:MOV R0,FFFFMOV R1,FFFFADD R1,R0MOV R2,0001DEC R2MOV R3,000FMOV R0,FF00MOV R1,00FFXOR R1,R0RET(2)通过R指令,查看寄存器的结果,以及F结果的输出。

(二)联机下实现操作,脱机下验证实验1、学习联机方式下的单步执行方法(1)联机状态的设定①将FS1-FS4置为:1010,即从0地址起执行监控程序;②将STEP/CONT=CONT(2)联机方式调试程序在终端上用A命令输入如下程序:800:MOV R0,0F0FMOV R1,0F0FMOV R2,000FMOV R3,0001808:ADD R1,R0SUB R1,R0SHR R3INC R2RET用T命令执行上述程序,并记录各寄存器的值于下表(2)中:表(2):2、在脱机方式下,通过手拨的形式来验证上面指令运行后的结果,具体回答以下问题。

实验二16位算术逻辑运算实验

实验二16位算术逻辑运算实验

实验三16位算术逻辑运算实验一、实验目的1、掌握16位运算器的数据传送通路组成原理。

2、进一步验证算术逻辑运算功能发生器74LS181的组合功能。

3、按要求和给出的数据完成几种指定的算术逻辑运算。

二、实验内容1、实验原理16位运算器数据通路如图2-1所示,其中运算器由四片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显示。

2、实验接线本实验需用到6个主要模块:①低8位运算器模块;②数据输入并显示模块;③数据总线显示模块;④功能开关模块(借用微地址输入模块);⑤高8位运算器模;,⑥高8位(扩展)数据总线显示模块。

根据实验原理详细接线如下(接线①~⑤同实验一):①ALUBUS连EXJ3;②ALUO1连BUS1;③SJ2连UJ2;④跳线器J23上T4连SD;⑤LDDR1、LDDR2、ALUB、SWB四个跳线器拨至左侧(手动方式);⑥AR跳线器拨至左侧,同时开关AR拨至“1”电平;⑦ALUBUS`连EXJ2;⑧ALUO1`连KBUS1;⑨跳线器J19、J25拨至左侧(16位ALU状态);⑩高8位运算器区跳线器ZI2、CN0、CN4连上短路套。

实验2运算器ALU实验

实验2运算器ALU实验

实验2 运算器ALU实验运算器ALU是CPU的主要部件,数据处理的中心。

ALU可以实现算术加减运算和逻辑“与”、“或”、“非”运算,本实验设计8位ALU,为完成8为ALU,我们从1位全加器设计开始,经1位加法器,4位加法器,4位加减法器,到4位算术逻辑运算器ALU;再由4位ALU到8位ALU。

2.1 1位加法器设计1位加法器是构成多位加法器的基础,通过1位加法器可以组成4位加法器,4位减法器。

因此,本实验首先从1位全加器开始。

2.1.1 实验题目1位全加器。

2.1.2 实验内容设计1位全加器,并通过输入波形图验证。

2.1.3 实验目的与要求通过本实验使学生进一步掌握电子电路的设计方法,熟悉CAD软件QuartusII的使用,掌握使用QuartusII仿真来验证电路设计正确性的方法。

2.1.4 实验步骤设置本实验的项目所在路径,命名项目的名称为1ALU,顶层文件的名称也自动命名为1ALU。

如在文件夹C:\eda\ALU下新建工程1ALU,如图2-1 新建工程1ALU所示。

图2-1 新建工程1ALU直接点击next,直到器件选择对话框,如图2-2所示。

这里根据最终使用的FPGA器件选择一种器件,如Cyclone下的EP1C3T144C8,如果不下载到FPGA上进行实验,选择哪一种器件都无所谓。

图2-2 实现器件选择指定设计、仿真和时序验证工具,如图2-3所示,点击next,完成工程建立。

图2-3 工具选择设计1位全加器FA1位全加器是指可以实现两个1位二进制数和低位进位的加法运算逻辑电路(半加器不包括低位进位C i-1)。

它依据的逻辑表达式是:进位C i=A i B i+A i C i-1+B i C i-1,和S i=A i⊕B i⊕C i-1(本算式推导过程可以在教材中找到)。

其中A i和B i是两个1位二进制数,C i代表向高位的进位,C i-1代表低位来的进位,S i代表本位和。

依据上述逻辑表达式,设计实现1位全加的电路图。

运算器移位运算实验实验报告

运算器移位运算实验实验报告
(1).先把x值和y值送入锁存器, 将输入端置为无效位, 输出端置为有效位, 控制芯片进行加法运算, 将加法结果输出到数据总线, 再打开存储x值得锁存器把数据总线的值送入锁存器。
(2)进行四次循环右移或者四次循环左移。
五、实验小结
敢于动手,大胆尝试。
任课教师评语:
教师签字:年月日
教师签字:年月日
上面方括号中的控制电平变化要按照从上到下的顺序来进行, 其中T4的正脉冲是通过按动一次CONTROL UNIT的触动开关START来产生的。
(2)参照表1,改变S0 S1 M 299_G的状态,按动触动开关START,观察移位结果。
表1 74LS299功能表
299_G
S1
S0
M
功能
0
0
0
任意
保持
0
1
0
0
循环右移
0
101带进位循环移001
0
循环左移
0
0
1
1
带进位循环左移
任意
1
1
任意
装数
3.实验结果
循环右移或左移的时候, 每来一次脉冲, 发光二极管亮的次序也跟着依次改变, 进位标志位一直保持亮的状态, 带进位的循环则是产生进位的时候, 进位标志位的二极管熄灭。
四、回答问题
1.X=00101011, Y=10001111, 完成如下运算: (1)X加Y→X, (2)交换X高4位与低4位, 若借助实验1与实验2电路如何实现(简述操作过程)?
信息学院
实验报告
学号:
姓名:
班级:
课程名称:计算机组成原理
实验名称:实验二运算器移位运算实验
实验性质:①综合性实验②设计性实验③验证性实验:√
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二运算器实验班级:通信六班姓名:陈宗欢学号:20090820604一、实验目的1.了解简单运算器的数据传输通路。

2.验证运算功能发生器的组合功能。

3.掌握算术逻辑运算加、减、与的工作原理。

4.验证实验台运算的8位加、减、与、直通功能。

5.按给定数据,完成几种指定的算术和逻辑运算。

二、实验内容实验原理表2-1 74181的运算功能三、实验操作选择实验系统的电路模式是NO.0,验证ALU的运算器的算术运算和逻辑运算功能根据表2-1,从键盘输入数据A[7..0]和B[7..0],并设置S[3..0]、M、Cy,验证ALU 运算器的算术运算和逻辑运算功能,记录实验数据。

四、实验报告:实验代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity exp_s_ALU isport( Clk :in STD_LOGIC;sw_bus,r4_bus,r5_bus,ALU_bus:in STD_LOGIC;lddr1,lddr2,ldr4,ldr5 :in STD_LOGIC;m,cn :in STD_LOGIC;s :in STD_LOGIC_VECTOR(3 downto 0);k :in STD_LOGIC_VECTOR(7 downto 0);d :inout STD_LOGIC_VECTOR(7 downto 0)); end exp_s_ALU;architecture rtl of exp_s_ALU issignal dr1,dr2,r4,r5,aluout,bus_Reg:STD_LOGIC_VECTOR(7 downto 0);signal sel :STD_LOGIC_VECTOR(5 downto 0);beginldreg:process(Clk,lddr1,lddr2,ldr4,ldr5,bus_Reg)beginif Clk'event and Clk='1' thenif lddr1='1' then dr1<=bus_Reg;elsif lddr2='1' then dr2<=bus_Reg;elsif ldr4='1' then r4<=bus_Reg;elsif ldr5='1' then r5<=bus_Reg;end if;end if;end process;ALU:process(m,cn,s,dr1,dr2,sel,aluout)beginsel<=m&cn&s;case sel iswhen "000000"=>aluout<=dr1+1;when "010000"=>aluout<=dr1;when "100000"=>aluout<=not dr1;when "000001"=>aluout<=(dr1 or dr2)+1;when "010001"=>aluout<=dr1 or dr2;when "100001"=>aluout<=not(dr1 or dr2);when "000010"=>aluout<=(dr1 or(not dr2))+1;when "010010"=>aluout<=dr1 or(not dr2);when "100010"=>aluout<=(not dr1)and dr2;when "000011"=>aluout<=x"00";when "010011"=>aluout<=aluout-1;when "100011"=>aluout<=x"00";when "000100"=>aluout<=dr1+(dr1 and(not dr2))+1;when "010100"=>aluout<=dr1+(dr1 and(not dr2));when "100100"=>aluout<=not (dr1 and dr2);when "000101"=>aluout<=((dr1 or dr2)or(dr1 and dr2))or x"01"; --zhuyi when "010101"=>aluout<=(dr1 or dr2)+(dr1 and(not dr2));when "100101"=>aluout<=not dr2;when "000110"=>aluout<=dr1-dr2;when "010110"=>aluout<=dr1-dr2-1;when "100110"=>aluout<=dr1 xor dr2;when "000111"=>aluout<=dr1 and(not dr2);when "010111"=>aluout<=(dr1 and(not dr2))-1;when "100111"=>aluout<=dr1 and(not dr2);when "001000"=>aluout<=dr1+(dr1 and dr2)+1;when "011000"=>aluout<=dr1+(dr1 and dr2);when "101000"=>aluout<=(not dr1)or dr2;when "001001"=>aluout<=dr1+dr2+1;when "011001"=>aluout<=dr1+dr2;when "101001"=>aluout<=dr1 xnor dr2;when "001010"=>aluout<=(dr1 or(not dr2))+(dr1 and dr2)+1;when "011010"=>aluout<=(dr1 or(not dr2))+(dr1 and dr2);when "101010"=>aluout<=dr2;when "001011"=>aluout<=dr1 and dr2;when "011011"=>aluout<=(dr1 and dr2)-1;when "101011"=>aluout<=dr1 and dr2;when "001100"=>aluout<=dr1+dr1+1;when "011100"=>aluout<=dr1 or dr1;when "101100"=>aluout<=x"01";when "001101"=>aluout<=(dr1 or dr2)+dr1+1;when "011101"=>aluout<=(dr1 or dr2)+dr1;when "101101"=>aluout<=dr1 or(not dr2);when "001110"=>aluout<=(dr1 or(not dr2))+dr1+1;when "011110"=>aluout<=(dr1 or(not dr2))+dr1;when "101110"=>aluout<=dr1 or dr2;when "001111"=>aluout<=dr1;when "011111"=>aluout<=dr1-1;when "101111"=>aluout<=dr1;when others =>aluout<=x"ff";end case;end process;bus_Reg<=k when(sw_bus='0'and r4_bus='1'and r5_bus='1'and ALU_bus='1')else r4 when(sw_bus='1'and r4_bus='0'and r5_bus='1'and ALU_bus='1')elser5 when(sw_bus='1'and r4_bus='1'and r5_bus='0'and ALU_bus='1')elsealuout when(sw_bus='1'and r4_bus='1'and r5_bus='1'and ALU_bus='0')elsed ;d<=bus_Reg when(sw_bus='0'or r4_bus='0'or r5_bus='0'or ALU_bus='0')else (others=>'Z');end rtl;波形仿真:实验心得:一开始不太会,自己弄了好久也没太大效果,最后问了问同学才了解了实验工作原理。

相关文档
最新文档