算术逻辑运算实验报告.docx
《算术逻辑运算实验报告.docx》由会员分享,可在线阅读,更多相关《算术逻辑运算实验报告.docx(9页珍藏版)》请在冰点文库上搜索。
算术逻辑运算实验报告
算术逻辑运算实验报告
数学学院实验报告
成绩:
课程名称:
计算机组成原理 实验项目名称:
算术逻辑运算实验
指导老师 (签名 ):
一、实验目的
1.了解运算器的组成结构。
2.掌握运算器的工作原理。
二、实验设备与器件
PC机一台,TD-CMA实验系统一套。
三、实验原理
运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A和B的数据,各部件对操作数进行何种运算控制信号S3?
S0和CN来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。
如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。
ALU中所有模块集成在一片CPLD中。
逻辑运算部件逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。
移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-1-2所示。
图中显示的是一个4X4的矩阵。
每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即:
(1)对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接0。
(2)对于循环右移功能,右移对角线同互补的左移对角线一起激活。
例如,在4位矩阵中使用‘右1’和‘左3’对角线来实现右循环1位。
(3)对于未连接的输出位,移位时使用符号扩展或是0填充,具体相应的指令控制。
使用另外的逻辑进行移位总量译码和符号判别。
D[7..0]F7VCCALU_B三态控制(245)PRNDQT4CLRVCCPRNQDCLRCLRCY1CY2ADD_SUBT4SHIFTADD_SUBLOGIC三选一开关SHIFT译码器F0CLRFZFCCNCY2FCCn算术运算部件逻辑运算部件CnFC移位运算部件S[3..0]显示AA(273)LDAT4B(273)LDBT4显示BIN[7..0]
图1-1-1运算器原理图
第1页共6页
运算器部件一片CPLD实现。
ALU的输入和输出通过三态门74LS245连到CPU内总线上,另外还有指示灯标明进位标志FC和零标志FZ。
请注意:
实验箱上凡丝印标注有马蹄形标记‘’,表示这两根排针之间是连通的。
图中除T4和CLR,其余信号均来自于ALU单元的排线座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR都连接至CON单元的CLR按钮。
T4时序单元的TS4提供,其余控制信号均CON单元的二进制数据开关模拟给出。
控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,其余为高有效。
右3in[3]右2右1不移位左1in[2]左2in[1]左3in[0]out[0]out[1]out[2]out[3]
图1-1-2交叉开关桶形移位器原理图
暂存器A和暂存器B的数据能在LED灯上实时显示,原理如图1-1-3所示。
进位标志FC、零标志FZ和数据总线D7?
D0的显示原理也是如此。
VCC1KA0
图1-1-3A0显示原理图
ALU和外围电路的连接如图1-1-4所示,图中的小方框代表排针座。
运算器的逻辑功能表如表1-1-1所示,其中S3S2S1S0CN为控制信号,FC为进位标志,FZ为运算器零标志,表中功能栏内的FC、FZ表示当前运算会影响到该标志。
D[7..0]OUT[7..0]ALU_B三态控制(245)R0_BR1_BR2_BR3_BCNS[3..0]ALUFCFZ显示FC显示FZR0LDR0T4LDR1T4R1LDR2T4R2LDR3T4R3显示AA(273)B(273)显示BREG堆LDAT4LDBT4IN[7..0]图1-1-4ALU和外围电路连接原理图
表1-1-1运算器逻辑功能表
运算类型S3S2S1S00000逻辑运算00010010CNXXXF=AF=BF=AB 功能第2页共6页
0011010001010110移位运算0111XXX0101F=A+B F=/A F=A不带进位循环右移B位 F=A逻辑右移一位 F=A带进位循环右移一位 F=A逻辑左移一位 F=A带进位循环左移一位 置FC=CN F=A加B F=A加B加FC F=A减B F=A减1 F=A加1 100010011010算术运算10111100110111101111XXXXXXXX*表中“X”为任意态,下同
四、实验内容与步骤
(1)按图1-1-5连接实验电路,并检查无误。
图中将用户需要连接的信号用圆圈标明。
时序与操作台单元TS3TS4CLK030HZ控制总线单元T3T4CPU内总线单元D7...D0......ALU®单元ALU_BS3...S0CnD7...DOLDALDBOUT7...OUT0IN7...IN0......ALU_BS3...S0CnCON单元LDALDBSD27...SD20图1-1-5实验接线图
(2)将时序与操作台单元的开关KK2置为‘单拍’档,开关KK1、KK3置为‘运行’档。
(3)打开电源开关,如果听到有‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。
然后按动CON单元的CLR按钮,将运算器的A、B和FC、FZ清零。
(4)用输入开关向暂存器A置数。
①拨动CON单元的SD27?
SD20数据开关,形成二进制数01100101,数据显示亮为‘1’,灭为‘0’。
②置LDA=1,LDB=0,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数01100101置入暂存器A中,暂存器A的值通过ALU单元的A7?
A0八位LED灯显示。
(5)用输入开关向暂存器B置数。
①拨动CON单元的SD27?
SD20数据开关,形成二进制数10100111。
②置LDA=0,LDB=1,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数10100111
第3页共6页
置入暂存器B中,暂存器B的值通过ALU单元的B7?
B0八位LED灯显示。
(6)改变运算器的功能设置,观察运算器的输出。
置ALU_B=0、LDA=0、LDB=0,然后按表1-1-1置S3、S2、S1、S0和Cn的数值,并观察数据总线LED显示灯显示的结果。
如置S3、S2、S1、S0为0010,运算器作逻辑与运算,置S3、S2、S1、S0为1001,运算器作加法运算。
如果实验箱和PC联机操作,则可通过软件中的数据通路图来观测实验结果,方法是:
打开软件,选择联机软件的“【实验】—【运算器实验】”,打开运算器实验的数据通路图,如图1-1-6所示。
进行上面的手动操作,每按动一次ST按钮,数据通路图会有数据的流动,反映当前运算器所做的操作,或在软件中选择“【调试】—【单节拍】”,其作用相当于将时序单元的状态开关KK2置为‘单拍’档后按动了一次ST按钮,数据通路图也会反映当前运算器所做的操作。
重复上述操作,并完成表1-1-2。
然后改变A、B的值,验证FC、FZ的锁存功能。
图1-1-6数据通路图
五、实验结果及分析
第4页共6页
在CON单元的SD27?
SD20数据开关中输入01100101,置LDA=1,LDB=0,连续按动时序单元的ST按钮,将二进制数01100101置入暂存器A中。
在CON单元的SD27?
SD20数据开关中输入10100111,置LDA=0,LDB=1,连续按动时序单元的ST按钮,将二进制数10100111置入暂存器B中。
置ALU_B=0、LDA=0、LDB=0,置S3、S2、S1、S0为0010,运算器作逻辑与运算
第5页共6页
运算结果表
运算类型A6565逻辑运算6565656565移位运算656565算术运算65656565A7A7A7A7A7A7A701111000100110101010101111001101BA7A7A7A7A7A7A7S3S2S1S00000000100100011010001010110101 XXXXXXXCNXXXXXX0结果F=(65)FC=(0)FZ=(0)F=(A7)FC=(0)FZ=(0)F=(25)FC=(0)FZ=(0)F=(E7)FC=(0)FZ=(0)F=(9A)FC=(0)FZ=(0)F=(CA)FC=(0)FZ=(0)F=(32)FC=(0)FZ=(0)F=(B2)FC=
(1)FZ=(0)F=(CA)FC=(0)FZ=(0)F=(CA)FC=(0)FZ=(0)F=(CA)FC=(0)FZ=(0)F=(65)FC=
(1)FZ=(0)F=(0C)FC=
(1)FZ=(0)F=(OD)FC=
(1)FZ=(0)F=(BE)FC=
(1)FZ=
(1)F=(64)FC=(0)FZ=(0)F=(66)FC=(0)FZ=(0)
六、实验总结
实验要完整无错误的进行,首先要确保实验接线图连线的正确性才能确保在进行实验时数据通路流向以及数据的的正确性,这样才能到达实验的目的;在进行实验过程中需要理解每一步骤的原因,也加强自己的理解性和掌握程度;在实验过程中活树会遇到线路正确但数据错误,这能很有可能是自己连接线路有问题,所以在连接线路上一定要保证每条线是否正确。
第6页共6页
运算结果表
运算类型A6565逻辑运算6565656565移位运算656565算术运算65656565A7A7A7A7A7A7A701111000100110101010101111001101BA7A7A7A7A7A7A7S3S2S1S00000000100100011010001010110101 XXXXXXXCNXXXXXX0结果F=(65)FC=(0)FZ=(0)F=(A7)FC=(0)FZ=(0)F=(25)FC=(0)FZ=(0)F=(E7)FC=(0)FZ=(0)F=(9A)FC=(0)FZ=(0)F=(CA)FC=(0)FZ=(0)F=(32)FC=(0)FZ=(0)F=(B2)FC=
(1)FZ=(0)F=(CA)FC=(0)FZ=(0)F=(CA)FC=(0)FZ=(0)F=(CA)FC=(0)FZ=(0)F=(65)FC=
(1)FZ=(0)F=(0C)FC=
(1)FZ=(0)F=(OD)FC=
(1)FZ=(0)F=(BE)FC=
(1)FZ=
(1)F=(64)FC=(0)FZ=(0)F=(66)FC=(0)FZ=(0)
六、实验总结
实验要完整无错误的进行,首先要确保实验接线图连线的正确性才能确保在进行实验时数据通路流向以及数据的的正确性,这样才能到达实验的目的;在进行实验过程中需要理解每一步骤的原因,也加强自己的理解性和掌握程度;在实验过程中活树会遇到线路正确但数据错误,这能很有可能是自己连接线路有问题,所以在连接线路上一定要保证每条线是否正确。
第6页共6页
数学学院实验报告
成绩:
课程名称:
计算机组成原理 实验项目名称:
算术逻辑运算实验
指导老师 (签名 ):
一、实验目的
1.了解运算器的组成结构。
2.掌握运算器的工作原理。
二、实验设备与器件
PC机一台,TD-CMA实验系统一套。
三、实验原理
运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A和B的数据,各部件对操作数进行何种运算控制信号S3?
S0和CN来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。
如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。
ALU中所有模块集成在一片CPLD中。
逻辑运算部件逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。
移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-1-2所示。
图中显示的是一个4X4的矩阵。
每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即:
(1)对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接0。
(2)对于循环右移功能,右移对角线同互补的左移对角线一起激活。
例如,在4位矩阵中使用‘右1’和‘左3’对角线来实现右循环1位。
(3)对于未连接的输出位,移位时使用符号扩展或是0填充,具体相应的指令控制。
使用另外的逻辑进行移位总量译码和符号判别。
D[7..0]F7VCCALU_B三态控制(245)PRNDQT4CLRVCCPRNQDCLRCLRCY1CY2ADD_SUBT4SHIFTADD_SUBLOGIC三选一开关SHIFT译码器F0CLRFZFCCNCY2FCCn算术运算部件逻辑运算部件CnFC移位运算部件S[3..0]显示AA(273)LDAT4B(273)LDBT4显示BIN[7..0]
图1-1-1运算器原理图
第1页共6页
运算器部件一片CPLD实现。
ALU的输入和输出通过三态门74LS245连到CPU内总线上,另外还有指示灯标明进位标志FC和零标志FZ。
请注意:
实验箱上凡丝印标注有马蹄形标记‘’,表示这两根排针之间是连通的。
图中除T4和CLR,其余信号均来自于ALU单元的排线座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR都连接至CON单元的CLR按钮。
T4时序单元的TS4提供,其余控制信号均CON单元的二进制数据开关模拟给出。
控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,其余为高有效。
右3in[3]右2右1不移位左1in[2]左2in[1]左3in[0]out[0]out[1]out[2]out[3]
图1-1-2交叉开关桶形移位器原理图
暂存器A和暂存器B的数据能在LED灯上实时显示,原理如图1-1-3所示。
进位标志FC、零标志FZ和数据总线D7?
D0的显示原理也是如此。
VCC1KA0
图1-1-3A0显示原理图
ALU和外围电路的连接如图1-1-4所示,图中的小方框代表排针座。
运算器的逻辑功能表如表1-1-1所示,其中S3S2S1S0CN为控制信号,FC为进位标志,FZ为运算器零标志,表中功能栏内的FC、FZ表示当前运算会影响到该标志。
D[7..0]OUT[7..0]ALU_B三态控制(245)R0_BR1_BR2_BR3_BCNS[3..0]ALUFCFZ显示FC显示FZR0LDR0T4LDR1T4R1LDR2T4R2LDR3T4R3显示AA(273)B(273)显示BREG堆LDAT4LDBT4IN[7..0]图1-1-4ALU和外围电路连接原理图
表1-1-1运算器逻辑功能表
运算类型S3S2S1S00000逻辑运算00010010CNXXXF=AF=BF=AB 功能第2页共6页
0011010001010110移位运算0111XXX0101F=A+B F=/A F=A不带进位循环右移B位 F=A逻辑右移一位 F=A带进位循环右移一位 F=A逻辑左移一位 F=A带进位循环左移一位 置FC=CN F=A加B F=A加B加FC F=A减B F=A减1 F=A加1 100010011010算术运算10111100110111101111XXXXXXXX*表中“X”为任意态,下同
四、实验内容与步骤
(1)按图1-1-5连接实验电路,并检查无误。
图中将用户需要连接的信号用圆圈标明。
时序与操作台单元TS3TS4CLK030HZ控制总线单元T3T4CPU内总线单元D7...D0......ALU®单元ALU_BS3...S0CnD7...DOLDALDBOUT7...OUT0IN7...IN0......ALU_BS3...S0CnCON单元LDALDBSD27...SD20图1-1-5实验接线图
(2)将时序与操作台单元的开关KK2置为‘单拍’档,开关KK1、KK3置为‘运行’档。
(3)打开电源开关,如果听到有‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。
然后按动CON单元的CLR按钮,将运算器的A、B和FC、FZ清零。
(4)用输入开关向暂存器A置数。
①拨动CON单元的SD27?
SD20数据开关,形成二进制数01100101,数据显示亮为‘1’,灭为‘0’。
②置LDA=1,LDB=0,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数01100101置入暂存器A中,暂存器A的值通过ALU单元的A7?
A0八位LED灯显示。
(5)用输入开关向暂存器B置数。
①拨动CON单元的SD27?
SD20数据开关,形成二进制数10100111。
②置LDA=0,LDB=1,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数10100111
第3页共6页
置入暂存器B中,暂存器B的值通过ALU单元的B7?
B0八位LED灯显示。
(6)改变运算器的功能设置,观察运算器的输出。
置ALU_B=0、LDA=0、LDB=0,然后按表1-1-1置S3、S2、S1、S0和Cn的数值,并观察数据总线LED显示灯显示的结果。
如置S3、S2、S1、S0为0010,运算器作逻辑与运算,置S3、S2、S1、S0为1001,运算器作加法运算。
如果实验箱和PC联机操作,则可通过软件中的数据通路图来观测实验结果,方法是:
打开软件,选择联机软件的“【实验】—【运算器实验】”,打开运算器实验的数据通路图,如图1-1-6所示。
进行上面的手动操作,每按动一次ST按钮,数据通路图会有数据的流动,反映当前运算器所做的操作,或在软件中选择“【调试】—【单节拍】”,其作用相当于将时序单元的状态开关KK2置为‘单拍’档后按动了一次ST按钮,数据通路图也会反映当前运算器所做的操作。
重复上述操作,并完成表1-1-2。
然后改变A、B的值,验证FC、FZ的锁存功能。
图1-1-6数据通路图
五、实验结果及分析
第4页共6页
在CON单元的SD27?
SD20数据开关中输入01100101,置LDA=1,LDB=0,连续按动时序单元的ST按钮,将二进制数01100101置入暂存器A中。
在CON单元的SD27?
SD20数据开关中输入10100111,置LDA=0,LDB=1,连续按动时序单元的ST按钮,将二进制数10100111置入暂存器B中。
置ALU_B=0、LDA=0、LDB=0,置S3、S2、S1、S0为0010,运算器作逻辑与运算
第5页共6页
运算结果表
运算类型A6565逻辑运算6565656565移位运算656565算术运算65656565A7A7A7A7A7A7A701111000100110101010101111001101BA7A7A7A7A7A7A7S3S2S1S00000000100100011010001010110101 XXXXXXXCNXXXXXX0结果F=(65)FC=(0)FZ=(0)F=(A7)FC=(0)FZ=(0)F=(25)FC=(0)FZ=(0)F=(E7)FC=(0)FZ=(0)F=(9A)FC=(0)FZ=(0)F=(CA)FC=(0)FZ=(0)F=(32)FC=(0)FZ=(0)F=(B2)FC=
(1)FZ=(0)F=(CA)FC=(0)FZ=(0)F=(CA)FC=(0)FZ=(0)F=(CA)FC=(0)FZ=(0)F=(65)FC=
(1)FZ=(0)F=(0C)FC=
(1)FZ=(0)F=(OD)FC=
(1)FZ=(0)F=(BE)FC=
(1)FZ=
(1)F=(64)FC=(0)FZ=(0)F=(66)FC=(0)FZ=(0)
六、实验总结
实验要完整无错误的进行,首先要确保实验接线图连线的正确性才能确保在进行实验时数据通路流向以及数据的的正确性,这样才能到达实验的目的;在进行实验过程中需要理解每一步骤的原因,也加强自己的理解性和掌握程度;在实验过程中活树会遇到线路正确但数据错误,这能很有可能是自己连接线路有问题,所以在连接线路上一定要保证每条线是否正确。
第6页共6页