实验二 运算器实验
实验二_乘法器
2 运算器部件实验:乘法器 (1)2.1、实验目的 (1)2.2、实验原理 (1)2.3、实验步骤 (7)2.4、实验现象 (7)2.5、思考题 (8)2 运算器部件实验:乘法器2.1、实验目的1、掌握乘法器以及booth乘法器的原理2.2、实验原理首先我们看一下十进制数的乘法。
为了方便起见,我们假定十进制数的各位要么为1要么为0,例如1000×1001:被乘数 1 0 0 010乘数× 1 0 0 1101 0 0 00 0 0 00 0 0 01 0 0 0积 1 0 0 1 0 0 010从上面的步骤我们可以看到,1)从右到左用乘数的每一位乘以被乘数,每一次乘得的中间结果比上一次的结果往左移一位。
2)积的位数比被乘数和乘数的位数要多的多。
事实上,如果我们忽略符号位,n位的被乘数和m位的乘数相乘的结果的位数有(n+m)位。
因此,乘法必须象加法那样处理溢出问题,如果两个32位的数相乘,积也只有32位的时候,就会出现溢出。
在上面的例子中,我们把十进制数的各位限制为0或1。
因此,每一步的乘法相当简单:1)如果乘数位是1,则简单的复制被乘数到合适的位置(1×被乘数);2)如果乘数位是0,则在合适的位置置0因为二进制数的各位是0或1,所以与上面情况类似。
既然已经知道了乘法的基本规律,下一步就是设计高度优化的乘法器硬件。
为了让大家更明了乘法器的原理,我们一一列举乘法器的三个版本的改进。
我们先假定被乘数和乘数都是正数。
1、第一代乘法器初始的设计模拟我们刚才提到的乘法流程,硬件结构如图2.1所示。
假定乘数在32位乘数寄存器里,64位的积寄存器初始化为0,显然每一步需要把被乘数左移一位。
左移32次之后,被乘数的32位会被移到左边,因此我们需要64位的被乘数寄存器,初始状态为低32位是被乘数,高32位是0。
这个寄存器每一步左移一位,和中间结果对齐,进行相加,相加的结果存在被乘数寄存器里。
实验二运算器实验解读
实验⼆运算器实验解读实验⼆运算器实验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的运算功能注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。
2运算器实验
科技学院综合实验报告( 20 -- 20 年度第一学期)名称:计算机组成原理综合实验题目:运算器实验院系:信息工程系班级:学号:学生姓名:指导教师:设计周数: 1成绩:日期:年月一、目的与要求(1)熟悉与深入理解4位的运算器芯片Am2901的功能和内部组成,运行中要求使用的控制信号及其各自的控制作用;(2)熟悉与深入理解用4片4位的运算器芯片构成16位的运算器部件的具体方案,各数据位信号、各控制位信号的连接关系;(3)熟悉与深入理解用2片GAL20V8芯片解决ALU最低位的进位输入信号和最高、最低位的移位输入信号、实现4位的标志位寄存器的方案,理解为什么这些功能不能在运算器芯片之内实现而要到芯片之外另外处理。
(4)明确教学计算机的运算器部件,使用总计23位的控制信号就完全确定了它的全部运算与处理功能,脱机运算器实验中可以通过24位的微型开关中的23位提供这些控制信号,教学计算机正常执行指令时,这些控制信号必须改由控制器部件来提供。
在两种方式下,每一位(组)的控制功能是完全相同的。
二、实验正文1.实验内容1.1脱机运算器和联机运算器的区别和联系区别:脱机运算器只能通过数据开关拨入参加运算的数据,通过微型开关提供操作运算器运行所必需的控制信号,通过信号指示灯观察运算结果,操作简单,实验结果清晰易理解。
在计原16系统中,运算器最低位的进位输入信号Cin和左右移位输入信号RAM0、Q0、RAM15、Q15是由MACH芯片内部的SHIFT线路提供的。
16个开关拨入的数据经开关门电路送到内部总线,内部总线与运算器的输入端D15~D0已经连接。
联机运算器与计算机主机保持正常的连接关系,可以通过指令提供参加运算的数据,通过控制器提供操作运算器运行所必需的控制信号,通过信号指示灯或者通过运行监控程序观察运算结果,操作略显复杂,涉及到目前尚未讲解到的如何让控制器提供运算器实验所要求的控制信号的办法,有一定难度。
联系:两种运算器运算是都是由操作运算器运行所必须的控制信号,并通过指示灯观察运行结果1.2脱机运算器实验微型开关各字段的控制功能I2~I0表示数据来源,I5~I3表示运算功能,I8~I6表示结果处理。
实验二 运算器实验
南京工程学院计算机工程学院计算机组成与结构实验报告书实验学生班级 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在移位中有什么作用?联机的运算器实验,改用教学计算机的指令实现上述脱机运算器实验完成的功能。
实验二脱机运算器实验实验解读
实验⼆脱机运算器实验实验解读实验⼆脱机运算器实验实验⽬的深⼊了解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值正常逻辑信号输出,否则输出为高阻态。
实验二 运算器组成
实验二运算器组成
一实验题目
1. 实验原理
74181运算器数据手册
二实验环境
Quartus II
三实验要求
1.掌握简单运算器的数据传输通路。
2.验证运算功能发生器的组合功能。
3.掌握算术逻辑运算加、减、与的工作原理。
4.熟悉简单运算的数据传送通路。
5.验证实验台运算的8位加、减、与、直通功能。
6.按给定数据,完成几种指定的算术和逻辑运算。
7. 下载程序验证,验收时查看对M=L时F=A+B的结果。
A与B的数字在两数码管中显示,F的值在发光二极管显示,A的值可以先确定,键盘输入改变B的值,发光二极管的状态也变化!
四实验设计
a.建立存放的文件夹,如:D:\altera\vhdl\lesson\alu
b.建立工程文件,选器件选择(在family库中选cyclone II在packge点TQFP, 在Speed grade中选8 在Pin count选主芯片数144 选EP2C5T144C8)
c.打开QuartusII,选File New Block Diagram/schematic File OK 单击鼠标右键,点Insert Symobl…在libraries库中选择需要的元件(74181).
d. 设计原理图连接关系
五实验仿真与测试
六实验结果分析
实验结果与预期相同。
七实验小结
理解了74138运算器,学习如何用软件来仿真模拟74138运算的实现。
实验二 运算器逻辑设计实验
实验二运算器逻辑设计实验实验所属系列:计算机系统与软件实验教学—硬件系列实验对象:本科生相关课程及专业:计算机组成原理课程,计算机应用专业实验类型:课程设计实验时数(学分): 8学时一、实验目的通过部件级的实验设计和调试,培养学生分析和解决实际问题的能力,并增强学生的动手能力。
具体目的如下:1)掌握用硬件描述语言设计逻辑部件的方法。
2)了解运算器的设计过程。
3)掌握组内和组间并行进位技术。
4)验证运算器的功能。
二、实验内容与要求利用ALTERA公司的EPF10K10LC84-4的内部可编程资源,设计一个16 bit的运算器;要求该运算器具有加、减算术运算功能和基本逻辑(与、或、非、异或、求补)运算功能。
1)实验基础(必要的基础知识)熟悉运算器部件结构;熟悉硬件描述语言VHDL。
2)实验步骤第一步:画出寄存器级的ALU框图,标明端口、引脚及其含义;第二步:用MAX+PLUS II建立代码工程,用VHDL定义并描述各部件及整体功能;第三步:模块级仿真、系统级仿真;第四步:模拟合成并验证;第五步:编写详细的实验报告。
3)实验注意事项(1) ALU结构及各端口正确;(2)先模块级仿真验证正确后,才进行系统级仿真。
(3)由于实验面板的输入,输出有限,所以对ALU模块进行了封装。
文件见附件;学生只需完成CPU_ALU模块;然后将cpu_alu_extra作为顶层文件和工程文件进行编译,仿真,下载。
三、实验开设方式1)分组实验,每组3人。
2)实验授课2学时,介绍实验开发平台和实验板的使用。
3)实验占有时间估计需14学时。
四、实验设备与环境1)基本环境要求①宽敞整洁专用硬件实验室②必备的基本实验工具2)最低设备要求①计算机CPU不小于800MHZ;②计算机内存不小于128M;③其他标准配置。
3)系统平台要求windows984)软件、硬件及相应工具要求①开发工具:MAX+plus II 9.6②仿真工具:ModelSim SE5.6③电子EDA实验开发系统五、实验评分标准1)评分标准(A优秀、B良好、C中等、D及格、E不及格)2)测评方式A:程序下载到实验板上,功能正确、结构优化。
计算机组成原理--实验二算术逻辑运算实验
实验二算术逻辑运算实验一、实验目的(1)了解运算器芯片(74LS181)的逻辑功能。
(2)掌握运算器数据的载入、读取方法,掌握运算器工作模式的设置。
(3)观察在不同工作模式下数据运算的规则。
二、实验原理1.运算器芯片(74LS181)的逻辑功能74LS181是一种数据宽度为4个二进制位的多功能运算器芯片,封装在壳中,封装形式如图2-3所示。
5V A1 B1 A2 B2 A3 B3 Cn4 F3BO A0 S3 S2 S1 S0 Cn M F0 F1 F2 GND图2-374LS181封装图主要引脚有:(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的第二操作数据寄存器。
实验二脱机运算器实验实验解读
实验二脱机运算器实验实验目的深入了解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 运算器实验报告一、实验目的本次实验的主要目的是深入了解运算器的工作原理和功能,通过实际操作和观察,掌握运算器在计算机系统中的重要作用,提高对计算机硬件结构的理解和认识。
二、实验设备本次实验使用了以下设备: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、观察逻辑运算的结果,理解不同逻辑运算的特点和用途。
五、实验结果与分析(一)加法运算结果通过多次输入不同的操作数进行加法运算,结果均准确无误。
实验二 运算器实验
表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。
实验二运算器实验
实验二:运算器实验
实验要求:利用COP2000实验仪的K16~K23开关做为DBUS数据,其它开关做
为控制信号,将数据写累加器A和工作寄存器W,并用开关控制ALU
的运算方式,实现运算器的功能。
实验目的:了解模型机中算术、逻辑运算单元的控制方法。
实验说明: COP2000中的运算器由一片可编程芯片EPLD实现.有8种运算,
通过S2、S1、S0来选择。
运算数据由寄存器A及寄存器W给出,运算
结果输出到直通门D。
有兴趣的同学可以参考第76页实现本ALU功能
的ABLE语言。
了解ALU的实现方法。
操作要求:
(1)将55H写入A寄存器
(2)将33H写入W寄存器
(3)置下表的控制信号, 根据A、W、D寄存器的值检验运算器
报告要求:
1.写出完成(1)、(2)过程的操作步骤。
2.根据实验过程将结果填入上表。
答:1、(1)根据原理连接好电路图.首先将J1连接J3,将ALUCK与CLOCK 连接,输入端的AEN连接到寄存器的AEN,输入端的WEN连接到寄存器的AEN.
将WEN置高电平时, 在输入端输入数据,在寄存器A上显示,要在寄存器W上显示时,将AEN置高电平.
(2)在输入端分别输入两组数据,实现相应的相加。
2、结果如下图所示:。
实验二 加减法运算器的设计实验报告
加减法运算器的设计实验报告实验二加减法运算器的设计一、实验目的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位的运算器电路,并对电路进行了多项测试和验证。
在逻辑输出方面,与门、或门、非门电路均能够正确输出逻辑值,验证了运算器电路的逻辑功能。
在加法和减法运算方面,运算器电路能够正确实现运算功能,并输出正确的运算结果,这表明运算器电路的运算准确性良好。
四、实验总结
通过本次实验,我们深入理解了计算机中运算器的工作原理和结构,掌握了运算器电路的搭建和运作方法,并初步掌握了在运算器上实现加法和减法运算的原理和方法。
此外,我们还了解了运算器电路的优化方法和技巧,提高了电路工作效率和运算速度。
这些知识和技能对我们今后学习和应用计算机原理具有重要的指导意义。
实验二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连上短路套。
《计算机组成原理》实验1寄存器试验,2运算器试验
《计算机组成原理》实验1寄存器试验,2运算器试验实验指导书课程:计算机组成原理实验教师:班级:第⼀章系统概述1.1 实验系统组成第⼆章基础模块实验实验⼀寄存器实验实验⽬的:熟悉试验仪各部分功能。
掌握寄存器结构、⼯作原理及其控制⽅法。
实验内容:利⽤实验仪开关区上的开关sk23-sk16提供数据,其它开关做为控制信号,将数据通过DBUS写⼊OUT 寄存器,并将OUT寄存器的内容送往扩展区通过数码管和发光⼆极管显⽰。
实验原理:实验箱⽤74HC273 来构成寄存器。
(1)74HC273的功能如下:(2)实验箱中74HC273的连接⽅式:(3)实验逻辑框图12、打开实验仪电源,按CON单元的nRST按键,系统复位;如果EXEC键上⽅指⽰灯不亮,请按⼀次EXEC键,点亮指⽰灯,表⽰实验仪在运⾏状态。
3、利⽤开关和控制信号将数据通过DBUS写⼊OUT寄存器,并将OUT寄存器的内容送往扩展区通过数码管和发光⼆极管显⽰。
并写出将数据5FH写⼊OUT寄存器的操作过程。
实验⼆运算器实验实验⽬的:了解运算器的组成结构;掌握运算器的⼯作原理和控制⽅法。
实验内容:利⽤实验仪提供的运算器,通过开关提供数据信号,将数据写⼊寄存器A和寄存器B,并⽤开关控制ALU的运算⽅式,验证运算器的功能。
实验原理:(1)实验逻辑框图:信号说明:IN0~IN7:ALU数据输⼊信号ALU_D0~ALU_D7:ALU数据输出信号:寄存器A写信号,低电平有效。
当T1节拍信号到来,该信号有效时,IN0~IN7数据可以写⼊寄存器A。
:寄存器B写信号,低电平有效。
当T2节拍信号到来,该信号有效时,IN0~IN7数据可以写⼊寄存器B。
:ALU计算结果读出信号,当T3节拍信号到来,该信号有效时,ALU计算结果送往ALU_D0~ALU_D7。
S3~S0,CN_I:ALU运算控制信号,控制ALU的运算⽅法。
T1,T2,T3:三个节拍信号,⾼电平有效,由con区的uSTEP按键控制,在运⾏状态时,依次按下uSTEP 键会依次发出T1、T2、T3节拍。
实验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位全加的电路图。
运算器移位运算实验实验报告
(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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二运算器实验:进位控制实验
一.实验目的
1.验证带进位控制的运算器的组成结构;
2.验证带进位控制的运算器的功能;
3.观察给定数据是否产生进位,以及如何进行带进位运算。
二.实验设备
TDN—CM++计算机组成原理教学实验系统一台,排线若干。
三.实验原理
进位控制运算器的实验原理如图2—1所示,在实验一的基础上增加进位控制部分,基本原理是:两数在181中进行运算后最高位的进位C(n+4)连接到一个74锁存器的输入端D,是否锁存由T4和AR(低电平有效)信号控制。
T4是脉冲信号,实验时将T4连至“STATE UNIT”的微动开关KK2上。
当T4脉冲到来时,进位结果就被锁存到74锁存器中了。
如果锁存器中已有进位保存,可以控制下一次在181中的运算是否带进位运算。
这是通过改变Cn和AR的值来进行的。
本实验中运算结果是否产生进位、结果是否为0是根据进位指示灯CY和零标志指示灯ZI的状态来判断的。
进位标志指示灯CY亮(cy=0)时表示进位标志为假[此时运算没有产生进位];标志指示灯CY灭(cy=1)时表示进位标志为真[此时运算产生了进位]。
零标志指示灯ZI灯亮时表示零标志为假[此时运算结果不为“0”],灯灭时表示零标志为真[此时运算结果为“0”]。
图2-1 进位控制实验原理图
四.实验内容
通过输入几组不同的数据(一组产生进位,一组不产生进位),完成指定的运算,观察进位标志和零标志灯的状态,以及进位对ALU下一步操作的影响
五.实验步骤
(1) 按图2—2连接实验线路,仔细查线无误后,接通电源。
图2-2 实验接线图
(2) 用二进制数码开关向DR1和DR2寄存器置数55H和AAH,具体方法同实验一。
输入流程如下:
(3)按照实验一的方法检查DR1和DR2中的数。
观察结果: (DR1)=_____________ (DR2)=_____________
(4) 进位标志清零,具体操作方法是:让CLR开关做1→0→1操作。
实验板中“SWITCH UNIT”单元中的CLR开关为标志CY、ZI的清零开关,它为零时是清零状态,所以将此开关做1→0→1操作,即可使标志位清零。
(5) 验证带进位的运算及进位锁存功能。
设置Cn=l,Ar=O进行带进位算术运算。
此时数据总线上显示的数据为DR1加DR2加当前进位标志的值,相加的结果是否产生进位,检查CY灯,若进位标志灯亮,表示无进位,反
之,有进位;本次运算结果是否为0,检查ZI灯,若零标志灯亮,运算结果不为0,反之,结果为0。