实验七 运算器实验.docx
《实验七 运算器实验.docx》由会员分享,可在线阅读,更多相关《实验七 运算器实验.docx(13页珍藏版)》请在冰豆网上搜索。
实验七运算器实验
EL-JY-II计算机组成原理实验系统简介
一、系统组成:
EL-JY-II系统由两大部分组成:
1、基板:
本部分是8位机和16位机的公共部分,包括以下几个部分:
1)数据输入和输出电路
2)显示及监控电路
3)脉冲源及时序电路
4)数据和地址总线
5)8255扩展实验电路
6)单片机控制电路和键盘操作部分
7)与PC机通讯的接口电路
8)主存储器电路
9)微代码输入及显示电路
9)电源电路
10)CPLD实验板(选件)
11)自由实验区(面包板)
2.CPU板:
本板分为8位机和16位机两种,除数据总线和地址总线分别为8位和16位以外,都包括以下几个部分:
1)微程序控制器
2)运算器
3)寄存器堆
4)程序计数器
5)指令寄存器
6)指令译码电路
7)地址寄存器
8)数据和控制总线
二、系统布局:
系统布局分别见图1和图2。
三、使用说明及要求
1.本系统分为三种实验操作方式:
方式一:
开关控制操作方式;
方式二:
键盘控制操作方式;
方式三:
PC机联机操作方式。
2.本系统采用正逻辑,即“1”代表高电平,“0”代表低电平;
3.指示灯亮表示相应信号为高电平,熄灭表示相应信号为低电平;
4.实验连线时应按如下方法:
对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上;
5.为保证实验的成功,每次实验之前均应认真阅读实验指导书,接线要按要求,确保正确无误且接触良好;
6.应严格按照实验指导书的实验步骤和先后顺序进行实验,否则有可能造成实验不成功甚至损坏芯片。
方式一:
开关控制操作方式:
1.在各种控制信号中,有的是低电平有效,有的是高电平有效,请注意区别,具体可参见各个实验指导。
2.总线是计算机信息传输的公共通路。
为保证总线信息的正确无误,总线上每次只能有一个控制信号有效,如果同时有两个或两个以上同时有效,会产生总线竞争而造成错误甚至损坏芯片。
故每次开始实验操作时均要先使置所有控制开关电路的控制信号为“1”,高电平,对应的指示灯亮。
方式二:
键盘控制操作方式:
系统通电,K4开关拨到OFF,监控指示灯(数码管,以下数码管均指监控指示灯)上滚动显示【CLASSSELECt】,在该状态下,整个键盘可用键分别为:
系统检测键:
按下该键,数码管显示【CHESYS】,(即CHECKSYSTEM的缩写),进入系统自检程序,具体说明见后述说明。
实验选择键:
按下该键,数码管显示【ES--__】,进入实验课题选择,具体说明见后述说明。
联机键:
按下该键,系统进入与上位机通讯状态,当与计算机联机成功,数码管显示【Pc-Con】,最后显示【8】,表示联机通讯成功。
除了上述三个键有效外,其余按键系统均不响应。
1.系统检测键具体操作说明:
1).当在监控指示灯显示【CLASSSELECt】时按下该键,显示变为【CHESYS】(CHECKSYSTEM),进入系统自检,此时,只要按下键盘上任意一键,数码管后两位就显示该键所对应的键盘编码,前四位显示对应电路的名称——8255。
比如我们按下2号键,对应的显示为【825502】,然后返回显示【CHESYS】;按下F号键,对应的显示为【82550F】,然后返回显示【CHESYS】。
2).在系统检测状态,按下【取消】键,则退出系统检测程序。
3).对于键盘上的【0】号键和【1】键,除了显示其键盘编码外,还有第二功能:
【1】键的功能说明:
检测所有总线(数据总线、控制总线、微控制总线)的输出功能。
按下【0】号键后,监控指示灯显示【825500】后,约过0.5S,系统首先显示【UCDC00】,自动送“0“到所有总线,24位微代码显示数码管显示全0(如果其他两条总线连接有监视灯的话,也显示全0);此时,系统等待按【确认】键。
当按下【确认】键后,数码管显示变为【UCDCFF】,系统自动送所有总线FF,24位微代码显示数码管显示全1(如果其他两条总线连接有监视灯的话,也显示全1),此时系统等待按【取消】键退出该项功能检测。
在总线输出【00】和【FF】的时候,通过观察总线上的状态显示灯即可知道哪一条总线上的哪一位出错。
【2】键的功能说明:
检测所有总线(数据总线、控制总线、微控制总线)的输入功能。
按下【1】号键后,显示【825501】后,系统等待按【确认】键,按下【确认】键后,系统显示【UC0PPP】,此时需把K4从“OFF”状态拨向“ON”状态,把开关MS1~MS24拨为全0,再次按下“确认”键,系统读入微控总线的第0组(第一个8位)的全0,如果总线出错,读入哪一个为1的话,在数码管上就位显示对应的错误位号(如果第一个(低)8位的第0位出错,则显示【UC00Er】,表示微控总线的第0组的第0位出错,UC后的第1个0表示第0组微控总线,第2个0表示第0位),如果完全正确的话,显示【UC0Cor】,约过1S,显示变为【UC1PPP】,按下【确认】键,系统检测微控总线的第1组(第二个8位)的全0,如果完全正确的话,显示【UC1Cor】,若有哪一位错误的话,错误信息显示与第一组显示相同;在显示【UC1Cor】后约1S,显示为【UC2PPP】,按下【确认】键,系统检测微控总线的第2组(第二个8位)的全0,如果完全正确的话,显示【UC2Cor】,若有哪一位错误的话,错误信息显示与第一组显示相同;当三组全检测完毕,显示变为【CHEEND】(CHECKEND),约1S后,显示【OFF】,此时把K4开关拨回到OFF,则又回到系统检测最开始部分。
2.【实验选择】键具体操作说明:
当显示【CLASSSELECt】时按下该键,数码管显示变为【ES--__】,系统打开键盘,等待通过数字键盘输入实验课题代码,输入相应的课题代码后,按【确认】键进入该实验,在输入的过程中,可通过按【取消】键修改输入,在显示【ES--__】状态连续按【取消】键,即可退出实验选择功能,返回到【CLASSSELECT】状态。
实验课题与输入代码对应关系如下:
实验课题
输入代码及按键
实验一
01+确认或1+确认
实验二
02+确认或2+确认
实验三
03+确认或3+确认
实验四
04+确认或4+确认
实验五
05+确认或5+确认
实验六
06+确认或6+确认
实验七
07+确认或7+确认
实验八
08+确认或8+确认
实验九
09+确认或9+确认
注意:
1).在采用单片机键盘控制操作方式实验时,必须把K4开关置于【OFF】状态,否则系统处于自锁状态,无法进行实验;
2).除说明了的除外,本实验方式中提到的数码管(显示)均指监控指示灯的显示。
各实验课题均相同。
3.【联机】键说明
当在数码管显示【CLASSSELECT】时按下该键,系统进入上位机监控实验状态,所有按键全都封闭,除【RST】(复位)键外,所有的实验操作全由上位机控制。
当退出联机实验状态后,系统又自动恢复到【CLASSSELECt】状态。
方式三:
PC机联机操作方式。
略
实验七运算器实验
一、实验目的:
1.掌握运算器的组成及工作原理;
2.了解4位函数发生器74181的组合功能,熟悉运算器执行算术操作和逻辑操作的具体实现过程;
3.验证带进位控制的74181的功能。
二、预习要求:
1.复习本次实验所用的各种数字集成电路的性能及工作原理;
2.预习实验步骤,熟悉实验时要求的注意之处。
三、实验设备:
EL-JY-II型计算机组成原理实验系统一套,排线若干。
四、工作原理:
运算器的结构框图见图1-5:
算术逻辑单元ALU是运算器的核心。
集成电路74181是4位运算器,两片74181以并/串形式构成8位运算器。
它可以对两个八位二进制数进行多种算术或逻辑运算,74181有高电平和低电平两种工作方式,高电平方式采用原码输入输出,低电平方式采用反码输入输出,这里采用高电平方式。
三态门74244作为输出缓冲器由ALU-G信号控制,ALU-G为“0”时,三态门开通,此时其输出等于其输入;ALU-G为“1”时,三态门关闭,此时其输出呈高阻。
两片74273作为两个八位数据暂存器,其控制信号分别为LDR1和LDR2,当LDR1和LDR2为高电平有效时,在T4脉冲的前沿,总线上的数据被送入暂存器保存。
五、实验内容
I、采用开关控制操作方式进行实验
为了避免总线冲突,首先将控制开关电路的所有开关拨到输出高电平“1”状态,所有对应的指示灯亮。
本实验中所有控制开关拨动,相应指示灯亮代表高电平“1”,指示灯灭代表低电平“0”。
1.按图接线图接线:
连线时应注意:
对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。
2.通过数据输入电路的拨开关开关向两个数据暂存器中置数:
注意:
本实验中ALU-G和C-G不能同时为0,否则造成总线冲突,损坏芯片!
故每次实验时应时刻保持只有一路与总线相通。
1)置ALU-G=1,关闭ALU的三态门U31(74LS244),再置C-G=0,打开数据输入电路的三态门;
2)向数据暂存器LT1(U27,74LS273)中置数:
(1)设置数据输入电路的数据开关“D7……D0”为想要输入的数值,如“01010101”;
(2)置LDR1=1,使数据暂存器LT1(U27,74LS273)的控制信号有效,置LDR2=0,使数据暂存器LT2(U28,74LS273)的控制信号无效;
(3)按一下脉冲源及时序电路的【单脉冲】按钮,给暂存器LT1(U27,74LS273)送时钟,上升沿有效,把数据存在LT1中。
3)向数据暂存器LT2(U28,74LS273)中置数:
(1)设置数据输入电路的数据开关“D7……D0”为想要输入的数值,如“10101010”;
(2)置LDR1=0,数据暂存器LT1的控制信号无效,置LDR2=1,使数据暂存器LT2的控制信号有效。
(3)按一下脉冲源及时序电路的“单脉冲”按钮,给暂存器LT1(U27,74LS273)送时钟,上升沿有效,把数据存在LT2中。
(4)置LDR1=0、LDR2=0,使数据暂存器LT1、LT2的控制信号无效。
4)检验两个数据暂存器LT1和LT2中的数据是否正确:
(1)置C-G=1,关闭数据输入电路的三态门,然后再置ALU-G=0,打开ALU的三态门;
(2)置“S3S2S1S0M”为“11111”,数据总线显示灯显示数据暂存器LT1中的数“01010101”,表示往暂存器LT1置数正确;
(3)置“S3S2S1S0M”为“10101”,数据总线显示灯显示数据暂存器LT2中的数“10101010”,表示往暂存器LT2置数正确。
3.验证74181的算术和逻辑功能:
按实验步骤2往两个暂存器LT1和LT2分别存十六进制数“34H”和“B6H”,在给定LT1=34H、LT2=B6H的情况下,通过改变“S3S2S1S0MCn”的值来改变运算器的功能设置,通过数据总线指示灯显示来读出运算器的输出值F,填入下表中,参考表1-1的功能表,分析输出F值是否正确。
74181功能表见表1-1,其中符号“+”表示逻辑“或”运算,符号“*”表示逻辑“与”运算,符号“/”表示逻辑“非”运算,符号“加”表示算术加运算,符号“减”表示算术减运算。
选择
M=1
逻辑操作
M=0算术操作
S3S2S1S0
Cn=1(无进位)
Cn=0(有进位)
0000
F=/A
F=A
F=A加1
0001
F=/(A+B)
F=A+B
F=(A+B)加1
0010
F=/A*B
F=A+/B
F=(A+/B)加1
0011
F=0
F=减1(2的补)
F=0
0100
F=/(A*B)
F=A加A*/B
F=A加A*/B加1
0101
F=/B
F=(A+B)加A*/B
F=(A+B)加A*/B加1
0110
F=/(/A*B+A*/B)(异或)
F=A减B减1
F=A减B
0111
F=A*/B
F=A*/B减1
F=A*/B
1000
F=/A+B
F=A加A*B
F=A加A*B加1
1001
F=(/A*B+A*/B)(异或非)
F=A加B
F=A加B加1
1010
F=B
F=(A+/B)加A*B
F=(A+/B)加A*B加1
1011
F=A*B
F=A*B减1
F=A*B
1100
F=1
F=A加A
F=A加A加1
1101
F=A+/B
F=(A+B)加A
F=(A+B)加A加1
1110
F=A+B
F=(A+/B)加A
F=(A+/B)加A加1
1111
F=A
F=A减1
F=A
表1-174181功能表
4.验证带进位控制的算术运算功能发生器的功能:
1)进位标志CY清零:
进位标志指示灯CY初始状态为灭,表示当前进位为“1”,可按如下步骤对它进行清零操作。
(1)置S3S2S1S0M=“00000”,AR=0(AR为进位控制信号);
(2)按一下脉冲源及时序电路的【单脉冲】按钮,进位标志指示灯CY亮,表示当前进位为“0”。
2)验证带进位运算及进位的锁存功能:
(1)首先将控制开关电路的所有开关拨到输出高电平“1”状态,所有对应的指示灯亮。
(2)置ALU-G=1,关闭ALU的三态门U31(74LS244),再置C-G=0,打开数据输入电路的三态门;置数据输入电路的数据开关“D7……D0”=“10000000”,置LDR1=1,使数据暂存器LT1(U27,74LS273)的控制信号有效,置LDR2=0,使数据暂存器LT2(U28,74LS273)的控制信号无效,按一下脉冲源及时序电路的【单脉冲】往暂存器LT1存入数据“10000000”。
(3)置数据输入电路的数据开关“D7……D0”=“01111111”,置LDR1=0,使数据暂存器LT1(U28,74LS273)的控制信号无效,置LDR2=1,使数据暂存器LT2(U27,74LS273)的控制信号有效,按一下脉冲源及时序电路的【单脉冲】往暂存器LT2存入数据“01111111”,然后置LDR2=0,使数据暂存器LT2(U27,74LS273)的控制信号无效,准备执行下一步操作。
(4)置C-G=1,关闭数据输入电路的三态门,然后再置ALU-G=0,打开ALU的三态门,置“S3S2S1S0M”为“11111”,数据总线显示灯显示数据暂存器LT1中的数“10000000”,表示往暂存器LT1置数正确;置“S3S2S1S0M”为“10101”,数据总线显示灯显示数据暂存器LT2中的数“01111111”,表示往暂存器LT2置数正确。
(5)置ALU-G=0(注意先使C-G=1),S3S2S1S0M=“10010”,Cn=1,不带进位操作,AR=0,参考表1-1可知此时执行“F=A加B”操作,数据总线上显示“11111111”,即“10000000”加“01111111”的结果。
保持LDR1=0和LDR2=0,检查是否产生进位溢出,按一下【单脉冲】,进位指示灯CY亮,表示无进位溢出;
(6)置ALU-G=0(注意先使C-G=1),S3S2S1S0M=“10010”,Cn=0,即当前进位为1,AR=0,参考表1-1可知此时执行“F=A加B加1”操作,数据总线上显示“00000000”,即“10000000”加“01111111”加“1”的结果,保持LDR1=0和LDR2=0,检查是否产生进位溢出,按一下【单脉冲】,进位指示灯CY熄灭,表示有进位溢出;
II、PC机联机操作方式实验
1.实验连线:
2.实验连线图与采用单片机键盘操作方式实验连线图一样,如图1-6所示。
3.实验步骤
1).将实验系统与计算机串口用实验系统的通讯电缆连接;
3).打开实验系统上的电源开关,启动实验软件:
启动过程为开始菜单程序计算机组成原理试验系统计算机组成原理试验系统,也可以为该系统软件在桌面上建立快捷方式;
根据提示设置相应参数(下图):
(本系统为8位机)
选择与计算机相连的串口,按【确定】进入下一步骤。
4).在下面的界面中,按【确定】后,再按键盘上【联机】键,系统监控指示灯上显示【Pc-Con】,然后显示【8】,表示联机通讯成功,如果没有显示【Pc-Con】就显示【8】,则联机通讯没有成功,可检查系统。
5).联机通讯成功后,自动进入实验选择界面:
点击试验一前面的“+”号,再点击试验说明,查看试验步骤过程,然后点击试验步骤,出现下面的界面:
(1).在数据总线上输入有效十六进制数据,按"Ldr1",数据送入暂存器1,观察数据的走向;
(2).在数据总线上输入有效十六进制数据,按"Ldr2",数据送入暂存器2,观察数据的走向;
(3).参考实验一的功能表表1-1,在S3...Cn上输入有效数据组合,然后点击其上面的红色区域进行运算,运算器按规定进行运算,运算结果送入三态门,观察数据的走向;
(4).按"ALUG",运算结果送入数据总线,观察数据的走向,观察数据总线指示灯显示的结果是否正确。
实验报告要求:
1.实验记录:
所有的运算结果,故障现象及排除经过;
2.通过本次实验的收获及想法。