ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:239.01KB ,
资源ID:23728058      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23728058.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机组成原理指令扩展实验.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机组成原理指令扩展实验.docx

1、计算机组成原理指令扩展实验 计算机组成原理A课程设计性实验报告开课实验室:计算机组成原理实验室 年 月 日实验题目指令扩展实验一、实验目的深入了解教学计算机微程序控制器的组成和设计技术,包括Am2910器件的功能与具体用法,教学计算机的总体组成和部件之间的连接方法,总之应该深入理解控制器部件的组成、设计、控制与使用等诸项知识。二、设备与环境TEC-XP+教学机,微机(装有Windows XP、ISPLEVER、ispVM System等软件)。三、实验内容在现有的基本指令系统上,扩展2条指令,分别是:指令一:NXOR DR,SR ,其功能是(DRSR) DR 。指令二: SWRM DR,SR

2、,其功能是DR与SR的值互换,实现寄存器与内存单元(通过间接寻址方式)之间的数据传送。四、实验步骤1、CPU模型2、微程序控制器组成原理框图3、机器指令与微指令关系 PC:存放下一条机器指令的地址(向指令存储器提供指令地址)。 指令存储器:(存放所有机器指令),经地址译码,选中相应存储单元,取出相应机器指令,送入指令寄存器IR。 指令寄存器IR:存放正在执行的机器指令。机器指令包含两个字段:操作码(OP)、地址码。 由操作码(OP)映射得到微地址(译码过程),即机器指令所对应的微程序入口地址,存入微地址寄存器。 控制存储器存放所有的微程序,经地址译码读出一条微指令。 由控制存储器读出的一条微指

3、令存入微指令寄存器。4、教学机TEC-XP的控制器提供的控制信号(微指令格式) B0-B5字段:DC1:CPU内部总线数据来源选择控制,详见表1-1;DC2:专用寄存器接收控制,详见表1-2。 B6-B11字段:SSH SCI:最低进位输入、移位输入控制信号,详见表2-1;SST:状态寄存器控制信号,详见表2-2。 B12-B19字段:A口:0000表示不使用寄存器,1000表示取IR中的SR,0100表示R4(SP),0101表示R5(PC);B口:0000表示不使用寄存器,1000表示取IR中的DR,0100表示R4(SP),0101表示R5(PC)。 表1-1 DC1-CPU内部总线数据

4、来源选择 表1-2 DC2-专用寄存器接收控制 DC1编码 译码信号操作说明000 /SWTOIB送开关内容到内部总线001/RTOIB送ALU输出到内部总线010/ETOIB送IR低位字内容到内部总线011/FTOIB送程序状态字到内部总线100 /16位机不用101 /16位机不用110/INTV送中断向量到内部总线111NC无操作DC1编码 译码信号操作说明000 NC无操作001/GIR指令寄存器接收010 /16位机不用011/GAR地址寄存器接收100/INTR恢复中断优先级101/INTN接收中断优先级110/EI用于开中断指令111/DI用于关中断指令 表2-1 状态寄存器 表

5、2-2 最低进位输入、移位输入控制信号SSH SCI Cin/Shift000 Cin = 0001Cin = 1010Cin = C100逻辑移位101循环移位SST CZVS000 CZVS001CyZROVF15010内部总线0110ZVS1001ZVS101RAM0ZVS110RAM15ZVS111Q0ZVS B20-B28字段:I5-I3,I8-I6,I2-I0,为Am2901的9位控制码,详见下表3-1。I8-I6:运算结果处理I5-I3:运算功能I2-I0:数据来源编码通用寄存器Q寄存器Y的输出RS000 FQFR+SAQ001FS-RAB010FBAR-S0Q011FBFRS0

6、B100F/2BQ/2QFRS0A101F/2BF/RSDA110F*2BQ*2QFRSDQ111F*2BF/(RS)D0 B29-B31字段:/MIO REQ /WE 对内存和I/O接口读写控制:MRW编码 功能000 写内存001 读内存010写串口011读串口1XX无内存和串口的读写操作/MIO(0:有内存或串口的读写,1:无)REQ(0:读写内存, 1:读写串行口)/WE(0:写操作, 1:读操作) B32-B39字段: 顺序控制字段,CI3-CI0,SCC3-0 = 0010 0000(20H)时,表示MAPROM映射入口地址;CI3-CI0,SCC3-0 = 1110 0000(E

7、0H)时,表示顺序执行;当CI3-CI0 = 0011(3H)时SCC3-0字段有效,此时SCC编码及功能详见下表4-1。SCC编码(CI3-CI0 = 0011 时有效)功能(下面条件满足时,使/CC = 0)0000必转移0010有中断,INT=0时转移0100C、Z测试,JRC、JRNC、JRZ、JRNZ指令微指令转移条件不成立时,转移0101S测试,JRS、JRNS指令微指令转移条件不成立时,转移0110IR10 = 0时(IN),转移0111IR8 = 1时(PUSH、POP),转移 B40-B47字段: 微下地址字段 5、扩展的2条机器指令的格式及功能 扩展的2条机器指令的格式、功

8、能、寻址方式、操作码编码、微程序步数、微程序入口地址如下表所示:序号格式功能寻址方式编码微程序步数微程序入口地址1NXOR DR,SRDR与SR的值异或送DR寄存器直接寻址22H1802SWRM DR,SRDR 与 SR的值互换DR为寄存器直接寻址,SR为寄存器间接寻址E9H48A6、指令所对应的微程序每条机器指令对应的微程序、以及每步(微指令)的功能及各字段值的意义:(1)如下表所示,为两条指令所对应的微程序:序号指令入口地址下址CI3-0SCC3-0MRWI2-0I8-6I5-3B口A口SSTSSHSCIDC2DC11NXOR DR,SR8030304,13,78,81,00,02SWRM

9、 DR,SR8A00E04,30,08,00,00,000E04,41,00,80,03,000E01,73,08,00,00,030300,21,00,00,00,1(2)扩展的两条机器指令的功能及各字段的意义如下: 指令一:NXOR DR,SR 机器指令NXOR共包括一条微指令,该微指令的功能及各字段值的意义如下: 入口地址:表示该机器指令对应的微程序入口地址为80H; 下址:表示下一条机器指令的微程序入口地址为30H,并且为结束程序指令; CI3-0/SCC3-0:CI3-0 = 0011,表示进行条件微转移;SCC3-0 = 0000,表示必转移,即执行完该条微指令后必须转移到下一条机

10、器指令所对应的地址; MRW/I2-0:MRW = 100,表示无内存和串口的读写操作;I2-0 = 001,表示数据来源于A,B两个寄存器; I8-I6/I5-I3:I8-I6 = 011,I5-I3 = 111,I8-I6表示将运算结果存入B寄存器;I5-I3表示进行异或运算; B口/A口:B = A = 1000,表示A口和B口的地址均为1000,该指令使用了A和B两个寄存器; SST/SSH SCI:该指令中SST为1,转换为二进制位001,SST的功能为设置状态寄存器的值,表示为 CZVS为C(Cy)Z(ZR)V(OV)S(F15);SSH SCI为0,其功能是设置进位输入,转换为二

11、进制为000,表示Cin=0; DC2/DC1:该指令中DC1和DC2分别为0,0,转换为二进制为000,000,其功能为DC1送开关内容到内部总线,DC2不进行操作。 指令二:SWRM DR,SR 机器指令SWRM包括四条微指令,以下是四条微指令执行过程概述: 机器指令入口地址为8A,下址为00,微指令顺序执行,无内存操作,数据来源为011,运算结果送入Q寄存器,由Y口输出,进行R与S的加法操作,B口为IR的DR,不使用A口数据,状态寄存器的值不变,进位输入为0,专用寄存器无操作,送开关内容到内部总线; 微指令的入口地址为8B,下址为00,微指令顺序执行,无内存操作,数据来源为100,运算结

12、果送入Y输出,进行R与S的加法运算,不使用B口数据,A口为IR的SR,状态寄存器的值不变,进位输入为0,地址寄存器接收数据,送开关内容到内部总线; 微指令的入口地址为8C,下址为00,微指令顺序执行,对内存进行读操作,运算器获得数据,运算结果送入B口,并由Y输出,进行R与S的或运算,B口为IR的DR,不使用A口数据,状态寄存器的值不变,进位输入为0,专用寄存器无操作,送开关内容到内部总线; 微指令的入口地址为8D,下址为30,执行完后必转,对内存进行写操作,数据来源为010,运算结果送入Y输出,进行R与S的加法运算,不使用A口与B口数据,状态寄存器的值不变,进位输入为0,专用寄存器无操作,送A

13、LU输出到内部总线。7、ABEL语言源程序编辑以及JED文件生成 (1)添加指令操作码NXOR = (IR = 0,0,1,0,0,0,1,0); SWRM = (IR = 1,1,1,0,1,0,0,1); (2)添加入口地址添加NXOR指令的入口地址: MA80 = (Y = 1,0,0,0,0,0,0,0); 添加SWRM指令的入口地址: MA8A = (Y = 1,0,0,0,1,0,1,0); MA8B = (Y = 1,0,0,0,1,0,1,1); MA8C = (Y = 1,0,0,0,1,1,0,0); MA8D = (Y = 1,0,0,0,1,1,0,1); (3)入口地

14、址定义 对NXOR指令做如下修改: D7= !C_M&(!_MAP&(NXOR# .)#NXTADDR7&!_PL)&!Bit8; 对SWRM指令做如下修改: D1= !C_M&(!_MAP&(SWRM#)#NXTADDR1&!_PL)&!Bit8; D3= !C_M&(!_MAP&(SWRM#)#NXTADDR3&!_PL)&!Bit8; D7= !C_M&(!_MAP&(NXOR#SWRM#)#NXTADDR7&!_PL)&!Bit8; (4)下址定义对NXOR指令做如下修改: NXTADDR5:=!C_M&( MA80#.)&!Bit8; NXTADDR4:=!C_M&( MA80#.)

15、&!Bit8;对SWRM指令做如下修改: NXTADDR5:=!C_M&( MA8D#.)&!Bit8; NXTADDR4:=!C_M&( MA8D#.)&!Bit8; (5)条件转移字段定义 对NXOR指令做如下修改: CI0 := !C_M&(MA80#.)&NRST&!Bit8;对SWRM指令做如下修改: CI3:= !C_M&(MA8A#MA8B#MA8C#.)&NRST&!Bit8; CI2:= !C_M&(MA8A#MA8B#MA8C#.)&NRST&!Bit8; CI1:= !C_M&(MA8A#MA8B#MA8C#.)&NRST&!Bit8; CI0 :=!C_M&(MA8D#

16、.)&NRST&!Bit8; (6)MRW定义 对NXOR指令做如下修改: !_MIO00:=!(MA80#.);对SWRM指令做如下修改: !_MIO00:=!(MA8A#MA8B#.); _WE00 :=(MA8C#.); (7)I2-I0,I8-I6,I5-I3定义 I200:=(MA8B#MA8C#.); I100:=(MA8A#MA8C#MA8D#.); !I000:=!(MA8A#MA8C#.); I700:=(MA8C#.); !I600 :=!(MA8B#MA8C#MA8D#MA80#.); I500 :=(MA80#.); I400 :=(MA80#.); I300 :=(M

17、A80#.); (8)B口、A口定义 B30=(MA80#MA8A#MA8C#.); A30=(MA8B#MA80#.); (9)SST/SSH SCI定义 SST000:=(MA80#.); (10)DC2 DC1定义 DC2_100:=(MA8B#.); DC2_000:=(MA8B#.); 将源程序按如上所述修改完毕后,双击lc4256.syn,启动ispLEVER软件,之后双击m256c.abl文件,再双击Compile Logic进行编译,最后双击JEDEC File,生成.jed文件。8、MACH编程 将JED文件下载到MACH器件的过程: (1)接好教学机上的在线MACH编程电缆

18、,将教学机电源打开; (2)启动ispVM System软件,通过主界面的SCAN按钮找到在线编程器件; (3)双击找到的编程器件,双击Browse按钮选择已经编译好的jed文件,选择OK按钮; (4)重新回到主界面,点击GO命令进行编程。5、编程验证及结果分析1、NXOR DR,SR 机器指令验证结果: 送R1寄存器0001,送R2寄存器0001,R1与R2异或结果送R1,机器指令NXOR对应的机器码为2212,其中22为操作码,1-表示目的寄存器为R1,2-表示源寄存器为R2,由于没有修改监控程序,所以通过直接修改内存单元值,完成输入机器指令,验证结果R1=FFFF。2、SWRM DR,S

19、R 机器指令验证结果: 送R1寄存器0001,R2寄存器2040,表示内存单元地址,2040的内存单元值为0007,机器指令SWRM对应的操作码为E9,地址码分别为1、2,表示目的寄存器使用R1,源寄存器使用R2,源操作数为寄存器间接寻址,实现内存单元与寄存器之间的数据交换,在没有修改监控程序的情况下,为了执行扩展的机器指令,通过E命令在内存单元2004处输入机器指令SWRM对应的机器码E912,最后结果R1 = 0007,内存单元2040的值为0001。六、实验体会通过本次指令扩展实验,认识到了,CPU不是直接执行由汇编语言汇编成的机器指令,而是执行微指令。即一条机器指令的功能是由许多条微指

20、令组成的序列来实现的,这个微指令序列就是微程序,也就是说往往一条机器指令对应一个微程序。对于CPU来说,其主要完成4个基本功能:指令控制操作控制时间控制数据加工;而CPU的基本组成有:控制器运算器cache,也就是说控制器在CPU中起着发布命令的“决策机构”作用,它完成协调和指挥整个计算机系统的操作。对于实现控制器有两种方式:硬连线控制器,这种方法把控制器看作产生专门固定时序控制信号的逻辑电路,以用最少元件取得最高操作速度为设计目标;微程序控制器,采用软件方法来设计硬件的一门技术,其主要思想是,仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里,当机器运行时,

21、一条又一条地读出这些微指令,从而产生全机所需的各种操作控制信号,使相应部件执行所规定的操作。微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成,其中微指令寄存器分为微地址寄存器和微命令寄存器两部分。控制存储器用来存放实现全部指令系统的微程序;微指令寄存器用来存放由控制存储器读出的一条微指令信息,其中为微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息;地址转移逻辑:当微程序出现分支时,通过判别测试字段P和执行部件的“状态条件”反馈信息去修改微地址寄存器内容。 最后,在实验中也对于TEC-XP教学机的组成有了一定的了解,通过在指令扩展实验中对机器指令、微指令以及CPU的组成和微指令的执行过程有了更深刻的认识。 教 师 评 价评定项目ABCD评定项目ABCD基本部件原理清楚操作熟练微指令设计合理解析完整微程序功能正确文字流畅验证程序运行正确报告规范其他:评价教师签名:年 月 日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1