计算机组成原理实验指导-2012-1 - 图文(3)

2019-06-04 22:58

连续使用不带参数的D命令,起始地址会自动加128(即80H)。

(3)用E命令修改存储器的内容 在命令行提示符状态下输入:

E 2000↙

屏幕显示地址2000单元的原有内容,可输入更改值;然后再用D命令显示修

改的结果。

注意:用E命令连续修改内存单元的值时,每修改完一个,按一下空格,系统会自动给出下一个内存单元的值,等待修改;按回车则退出E命令。

3、输入给定的汇编程序,单步跟踪执行,并观察结果

(1)输入如下形式的程序,请单步跟踪执行,说明程序功能。

2000:MVRD R0,AAAA ;MVRD与R0之间有且只有一个空格,其他同 2002:MVRD R1,5555 2004:ADD R0,R1

2005:AND R0,R1

2006:RET ↙ ;程序的最后一个语句,必须为RET指令

2007:↙

若输入有误,系统会给出提示并显示出错地址,只需在该地址用A命令重新输入正确的指令即可。

(2)输入如下形式的程序,请单步跟踪执行,说明程序功能。

2000: IN 80 ;输入数据保存于R0寄存器的低8位中 2001: CMP R0 , 30 2002: JRC EXIT 2003: CMP R0 , 39 2004: JRNC EXIT

2005: OUT 80 ; R0-> [I/O PORT] 2006: RET ↙ 2007: ↙

实验报告要求

本次实验需完成实验报告一份。

实验二 运算器实验

实验目的

1、深入了解AM2901运算器的功能与具体用法; 2、深化运算器部件的组成、设计、控制与使用等知识。

实验内容

在脱机方式下,对于给定指令分析其执行过程中运算的步骤,通过对AM2901运算器所需控制信号的设置,使之完成运算,并核对运算结果。

实验要求

1.实验前,认真了解AM2901运算器的基本结构,预习所需实验的内容,并在课前填写实验步骤表格,对于实验数据和实验结果进行预期性的分析,以提高实验效率;

2.实验过程中,要按正确流程操作,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,记录运行结果。

3.实验之后,认真写出实验报告,包括对遇到的各种现象的分析,实验步骤和实验结果。

实验学时

4学时

实验原理

图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。

2、Am2901的级联结构

一片4位的Am2901芯片的引脚信号如图2-2所示。其中A3~A0、B3~B0用于输入选中的通用寄存器地址(0000~1111分别对应于R0~R15);I8~I0用于运算过程的控制信号;D3~D0用于输入外部数据;Y3~Y0用于输出运算的结果;CP为时钟信号;/OE为选通信号;RAM3、RAM0为运算结果左右移时的移出位;Q3、Q0为乘商寄存器Q左右移时的移出位;Cy、F=0、Over、F3分别为进位标志位、零标志位、溢出标志位、符号标志位;Cin为外部输入的最低

进位位。

图2-2 Am2901芯片的引脚信号

TEC-XP教学机的16位运算器是采用4片Am2901芯片级联而成的,各芯片之间采用串行进位方式,具体连接图如图2-3所示。该运算器进行运算时,需要对4个芯片加同样的A、B口地址、I8~I0控制信号,通过对选定的16位通用寄存器(每4位分属4个芯片)、或外部数据D的运算,产生Y输出,以及标志位状态。

图2-3 4片Am2901芯片的级联结构

3、Am2901时钟信号的作用

在Am2901的每个ALU操作周期内,ALU各部件的执行时间是不同的,具体操作过程如图2-4所示

图2-4 Am2901时钟信号的作用

4、实验控制信号开关说明

该实验是在完全脱机的方式下完成的。实验过程中,使用实验箱面板下方标有micro switch 1和micro switch 2的两个红色开关(控制信号顺序如图2-5所示),设置24位的运算控制信号。运算完成后,通过实验箱面板中间位置的发光二极管观察运算结果。实验过程中可能会用到外部输入数据,则可通过实验箱面板右下方的16个黑色数据开关设置。

图2-5 Micro switch开关信号顺序

5、指令举例

指令1:MVRD R0,0FFFFH

分析:

(1)该指令是使用立即数为寄存器赋值的,立即数应从数据总线拨入,经ALU传送至目的寄存器R0,因此,ALU的数据来源应选择D、0,即I2-I0取值为111。

(2)该赋值指令中的数据必须经过ALU才可写入通用寄存器,可使用FFFFH+0→R0的操作,因此,ALU的运算类型应选择算术加;I5- I3取值为000。

(3)ALU的运算结果应保存至B口地址指定的通用寄存器中,即I8-I6取值为011,同时B口地址输入R0的地址(0000)。

(4)其余信号:A口地址无用,为任意值;SST取000(标志位保持不变,传送类指令不影响标志位状态);SSH—00(不移位);Sci—00(Cin=0)。

指令2:ADD R0, R1

分析:

(1)该指令是加法运算指令,因此,ALU的运算类型应选择算术加;I5-I3取值为000。 (2)两个操作数都是通用寄存器,故,ALU的数据来源应选择A、B;I2-I0取值为001,且A口地址为0001,B口地址为0000,I8-I6取值为011(将ALU的输出保存至B口指定寄存器)。 (3)其余信号:SST—001(按照运算结果设置标志位,加法指令正常影响标志位);SSH—00(不移位);Sci—00(Cin=0)。

指令3:SUB R0 , R1

分析:

(1)该指令是减法运算指令,两个操作数都是通用寄存器,故,ALU的数据来源应选择A、B;I2-I0取值为001,且A口地址为0001,B口地址为0000,I8-I6取值为011(将ALU的输出保存至B口指定寄存器)。 (2)由ALU数据的来源可决定,本次运算应使用B-A的方式,因此,结合I5-I3的组合形式,可取值001。

(3)其余信号:SST—001(按照运算结果设置标志位);SSH—00(不移位);Sci—01(使用Cin=1的值作为减数求补时末位应加上的1)。


计算机组成原理实验指导-2012-1 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:会议室接待室使用管理规定

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: