合肥学院计算机组成原理实验三.doc
计算机科学与技术系 实 验 报 告一、实验目的与要求1了解运算器的组成结构2掌握运算器的工作原理2、 实验逻辑原理图与分析CN算数运算部件移位运算部件逻辑运算部件A273B273显示A显示B三选一开关三态控制245译 码 器LDAT4D70IN70LDBT4FCFCCNCY2运算器原理图分析:运算器内部还有三个独立运算部件,分为算数、逻辑、移位运算部件,要处理的数据存于暂存器A和暂存器B中,三个部件同时接收来自A和B的数据,个部件对操作数进行何种操作由控制信号S3S2S1S0和CN来决定,任何时候,多路选择开关只能选择三部件中的一个部件的结果作为ALU的输出.如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志.ALU中所有模块集成在一片CLPD中.三、数据通路图与分析<画出数据通路图并作出分析>S1S0FZFCCnS2A=#B=#多路开关进位判零&&LDAT4LDBT4SHF=#LOG=#S1S1S2S2S0S3CY1CY2T4S1S1S2S2S2S3S0CY2T4CnFCS0ART=#X X X X X X X XX X X X X X X X逻辑运算数据通路S1S0FZFCCnS2A=#B=#多路开关进位判零&&LDAT4LDBT4SHF=#LOG=#S1S1S2S2S0S3CY1CY2T4S1S1S2S2S2S3S0CY2T4CnFCS0ART=#X X X X X X X XX X X X X X X X逻辑运算数据通路S1S0FZFCCnS2A=#B=#多路开关进位判零&&LDAT4LDBT4SHF=#LOG=#S1S1S2S2S0S3CY1CY2T4S1S1S2S2S2S3S0CY2T4CnFCS0ART=#X X X X X X X XX X X X X X X X算术运算数据通路四、实验数据和结果分析实验数据:运算类型ABS3 S2 S1 S0CN结果逻辑运算65A70 0 0 0XF=<65> FC=<0> FZ=<0>65A7 0 0 0 1XF=<A7> FC=<0> FZ=<0> 0 0 1 0XF=<25> FC=<0> FZ=<0> 0 0 1 1XF=<E7> FC=<0> FZ=<0> 0 1 0 0XF=<9A> FC=<0> FZ=<0>移位运算 0 1 0 1XF=<CA> FC=<0> FZ=<0>0 1 1 00F=<32> FC=<1> FZ=<0>1F=<B2> FC=<1> FZ=<0>0 1 1 10F=<CA> FC=<1> FZ=<0>1F=<CA> FC=<0> FZ=<0>算数运算 1 0 0 0XF=<65> FC=<0> FZ=<0> 1 0 0 1XF=<0C> FC=<1> FZ=<0> 1 0 1 0XF=<0D> FC=<1> FZ=<0> 1 0 1 1XF=<BE> FC=<1> FZ=<0> 1 1 0 0XF=<64> FC=<0> FZ=<0> 1 1 0 1XF=<66> FC=<0> FZ=<0>结果分析:1当S3、S2、S1、S0=0010时,此时运算器进行的是逻辑与运算,因为暂存器A中的数据存入的是65H,用二进制表示为0110 0101,暂存器B中的数据存入的是A7H,用二进制表示为1010 0111,将A和B的二进制数进行逻辑与后得到的二进制数为0010 0101,其十六进制表示为25H,故运算器中的显示数据为25H. 2当S3、S2、S1、S0=0011时,此时运算器进行的是逻辑或运算,因为暂存器A中的数据存入的是65H,用二进制表示为0110 0101,暂存器B中的数据存入的是A7H,用二进制表示为1010 0111,将A和B的二进制数进行逻辑与后得到的二进制数为1110 0111,其十六进制表示为E7H,故运算器中的显示数据为E7H.3当S3、S2、S1、S0=0111,CN=1时,此时运算器进行的是F=A带进位循环左移一位,因为暂存器A中的数据存入的是65H,用二进制表示为0110 0101,将其左移一位0,末位补上移出的0后,其二进制表示为1100 1010,其对应的十六进制表示为CAH,故运算器中的显示数据为CAH. 4当S3、S2、S1、S0=1011时,此时运算器进行的是算术运算F=A-B,因为暂存器A中的数据存入的是65H,用二进制表示为0110 0101,暂存器B中的数据存入的是A7H,用二进制表示为1010 0111,因为A<B,故无法进行正常的相减,然而A-B等价于A+B补,B补=0101 1001,相加后得到二进制数1011 1110,其十六进制表示为BEH,故运算器中的显示的数据为BEH.五、实验问题分析、思考题与小结实验问题分析:在本次实验过程中,我在连接好线路后,按照实验指导书上的步骤将两个数据分别存入到暂存器A和暂存器B中,然后根据表3-1分别对S3、S2、S1、S0和CN置数,然后将运算器中显示的数据填写到表格当中,然后发现其中某些数据与实际数据不对应,经检查后发现原来是CN一直保持为0,故导致部分答案不一致.思考题:1. CON单元的SD27.SD20数据开关置为一个二进制数任意、置LDA=1,LDB=0,连续按动时序单元的ST按钮,实现了什么数据通路? 答:将该二进制数通过数据开关打入到暂存器A中.2. CON单元的SD27.SD20数据开关置为一个二进制数任意、置LDA=0,LDB=1,连续按动时序单元的ST按钮,实现了什么数据通路? 答:将该二进制数通过数据开关打入到暂存器B中.3.置ALU_B=0、LDA=0、LDB=0置S3、S2、S1、S0=1111,实现了什么数据通路,进行什么运算? 答:LDA,LDB->ART->多路开关->BUS,进行的是算数运算,保留.4.置ALU_B=0、LDA=0、LDB=0置S3、S2、S1、S0=1010,实现了什么数据通路,进行什么运算? 答:LDA,LDB->ART->多路开关->BUS,进行的是算数运算,F=A+B+FC.5.置ALU_B=0、LDA=0、LDB=0置S3、S2、S1、S0=1010,运算结果是多少? 答:F=A+B+FC,FC=0时F=0D,FC=1时,F=OE.6. 你对74181的功能有哪些认识? 答:4位算逻单元,A、B为输出操作数,F为结果,可以进行算数运算和逻辑运算,Cn为低位进位,通过与74182的级联可以构造多位数的加法器.3 / 3