组成原理课程设计 扩展指令.doc

上传人:文库蛋蛋多 文档编号:2882161 上传时间:2023-03-01 格式:DOC 页数:15 大小:54.50KB
返回 下载 相关 举报
组成原理课程设计 扩展指令.doc_第1页
第1页 / 共15页
组成原理课程设计 扩展指令.doc_第2页
第2页 / 共15页
组成原理课程设计 扩展指令.doc_第3页
第3页 / 共15页
组成原理课程设计 扩展指令.doc_第4页
第4页 / 共15页
组成原理课程设计 扩展指令.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《组成原理课程设计 扩展指令.doc》由会员分享,可在线阅读,更多相关《组成原理课程设计 扩展指令.doc(15页珍藏版)》请在三一办公上搜索。

1、 华 北 科 技 学 院 课程设计说明书 班级: 姓名 设计题目: 计算机组成原理课程设计 设计时间:_2013-1-7 _至_2013-1-18 _ 指导教师:_ _ 评 语:_ _ _ _ _ 评阅成绩: 评阅教师:1课程设计目的通过计算机组成原理课程设计,进一步熟练掌握计算机各功能部件的I6I7 I0 I8I1I2 第一个组成部分是算逻运算部件ALU,完成 3 种算术运算 和 5 种逻辑运算, 共计 8 种功能。 其输出为 F,两路输入为 S、R,最低位进位Cn,四个状态输出信号如图所示。第二个组成部分是通用寄存器组,由16个寄存器构成,并通过B口与A口地址选择被读的寄存器,B口地址还用

2、于指定写入寄存器。通过B口地址、A口地址读出的数据将送到B、A锁存器,要写入寄存器的数据由一个多路选择器送来。第三个组成部分是乘商寄存器Q,它能对自己的内容完成左右移位功能,其输出可以送往ALU,并可接收ALU的输出结果。一组三选一门和另一组二选一门用来选择送向ALU的 R、S输入端的数据来源,包括Q寄存器、A口、 B口、外部输入D数据的8 种不同组合。第四个组成部分是 5 组多路选通门,包括一组三选一门完成把ALU的输出、或左移一位、或右移一位的值送往通用寄存器组,最高、最低位移位信号有双向入/出问题。一组三选一门完成Q寄存器的左移一位、或右移一位、或接收ALU输出值的功能,最高、最低位移位

3、信号有双向入/出问题。一组二选一门,选择把A口数据或ALU结果送出芯片,以给出输出Y的数据,Y输出的有无还受输出使能 /OE信号的控制,仅当 /OE为低时才有Y输出 ,/OE为高,Y输出为高阻态。ALU的数据来源由I2-0三位选择码控制,8种功能由I5-3三位选择码实现,运算结果处理方式由I8-6三位选择码控制,具体规定如下表所示。Am2901的9位控制码 状态寄存器、最低进位输入、移位输入控制信号 运算器是计算机硬件系统传统的5大功能部件之一,承担着执行运算和暂存运算数据的功能,通常由执行算术逻辑运算功能的ALU线路、暂存参加ALU运算的数据和中间运算结果的通用寄存器组、支持乘除法运算的专用

4、寄存器3部分组成,3个部分之间通过多路选择器线路实现连接,从而构成一个完整的运算器部件。TEC-XP计原l 6系统的运算器部件主体部分由4片长度为4位的位片结构运算器芯片Am2901组成。4 片Am2901之间的连接如下图所示。 (2)微程序控制器微程序控制器的基本组成与实现TEC-XP+教学计算机系统同时实现了微程序方案和组合逻辑方案的两种控制器,其总体组成如图2-5所示。从两种控制器的组成来看,都包括有程序计数器PC、指令寄存器IR、程序定序器Am2910以及MACH芯片四部分。PC是选用在运算器的通用寄存器组中的R5实现的,图中用虚线表示。IR是选用两片8位的寄存器电路实现的,还用到一片

5、传送IR低位字节教学机计算机控制器的总体组成1)程序计数器PC可以在运算器内部完成加1运算功能,产生下一条相邻指令的地址;或者完成加一个相对转移的偏移量,产生相对转移指令的转移地址;或者直接接收一个16位的指令地址,用在程序调用或者跳转指令中。2)指令寄存器IR接收从内存储器读出并传送到内部总线IB的指令内容,其全部16位输出送MACH芯片的输入引脚,其低8位内容还可以经一个有三态功能的开关门送到内部总线IB。3)微程序定序器Am2910芯片用在微程序控制器中,用于以多种方式向控制存储器提供下一条微指令的地址,控制微指令的执行次序,解决的是指令执行步骤的衔接问题。4)两种控制器的主要功能线路都

6、集中到一片高集成度CPLD器件(MACH芯片)中实现,在完成扩展指令的教学实验中,可以不对MACH芯片之外的电路作任何变动,全部操作都集中到修改描述MACH芯片功能的ABEL或VHDL语言的源程序代码、执行编译和下载操作以及运行调试这样几步工作。这是本教学计算机系统的一大显著特色,对降低学生的学习难度、简化修改和扩展控制器功能的操作、改善教学实验效果具有重要的作用。4.扩展4条指令(1)4条指令的格式及功能(2)指令所对应的微程序1)指令NTAD DR,SRv 入口地址为90H,意思是指令的存储地址为90H。v 指令下址为30H,意思是下一条指令地址为30H结束程序。v CI3-0,SCC3-

7、0为30H,及CI3-0为011B表示SCC编码有效,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。 v MVR,I2-0为4,1,意思是对应的源寄存器和目标寄存器为通用寄存器的两个AB.v I8-I6,I5-I3为3,5,意思是I8-I6为011B表示将结果送入B寄存器,I5-I3为101B表示该条命令执行的是非与指令。v B口,A口为8,8,意思是AB两个寄存其的地址为1000 0000B。v SST,SSHSCI为0,0,意思是SST为001B表示进行状态寄存器符号位的判断,SSHSCI为000B表示Cin=0。v DC2,DC1为0,0,意思是D

8、C2为000B表示不操作,DC1为000B表示将开关内容送到内部总线2)ADNT DR,SR第一条微程序v 入口地址为91H,意思是指令的存储地址为91H。v 指令下址为00H,意思是没有指定跳转地址,顺序执行下一条微程序。v CI3-0,SCC3-0为E0H,及CI3-0为1110B表示顺序执行,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。 v MVR,I2-0为4,1,意思是对应通用寄存器A,B。v I8-I6,I5-I3为1,0,意思是I8-I6为001B表示将结果输出,I5-I3为000B表示该条命令执行的是加法命令。v B口,A口为8,8,意

9、思是用到了A,B两个口从内存外得到数据。 v SST,SSHSCI为1,0,意思是做相应的状态判断,同时Cin=0。v DC2,DC1为0,0,意思是DC2为000B表示专用寄存器不进行操作,DC1为000B表示将开关内容送到内部总线第二条微程序v 入口地址为92H,意思是指令的存储地址为92H。v 指令下址为30H,意思是跳转到结束语句,该句结束后该条指令结束。v CI3-0,SCC3-0为30H,及CI3-0为011B表示SCC编码有效,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。 v MVR,I2-0为4,3,意思是对应的只有一个寄存器B。v I

10、8-I6,I5-I3为3,7,意思是I8-I6为011B表示将结果输出并送给B寄存器,I5-I3为111B表示该条命令执行的是取非命令。v B口,A口为8,0,意思是B口的地址为1000 0000B可以看出该条微程序只用到了B寄存器。v SST,SSHSCI为1,0,意思是做相应的状态判断,同时Cin=0。v DC2,DC1为0,0,意思是DC2为011B表示不对专用寄存器进行操作,DC1为000B表示将开关内容送到内部总线。3)SURM DR,SR第一条微程序v 入口地址为97H,意思是指令的存储地址为97H。v 指令下址为00H,意思是没有指定跳转地址,顺序执行下一条微程序。v CI3-0

11、,SCC3-0为E0H,及CI3-0为1110B表示顺序执行,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。v MVR,I2-0为4,4,意思是对应的只有一个寄存器A。v I8-I6,I5-I3为1,0,意思是I8-I6为001B表示将结果输出,I5-I3为000B表示该条命令执行的是加法命令。v B口,A口为0,8,意思是A口的地址为1000 0000B可以看出该条微程序只用到了A寄存器。v DC2,DC1为3,0,意思是DC2为011B表示地址寄存器接受,DC1为000B表示将开关内容送到内部总线第二条微程序v 入口地址为98H,意思是指令的存储地址

12、为98H。v 指令下址为00H,意思是没有指定跳转地址,顺序执行下一条微程序。v CI3-0,SCC3-0为E0H,及CI3-0为1110B表示顺序执行,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。 v MVR,I2-0为4,3,意思是对应的只有一个寄存器B。v I8-I6,I5-I3为0,0,意思是I8-I6为000B表示将结果输出并送给Q寄存器,I5-I3为000B表示该条命令执行的是加法命令。v B口,A口为8,0,意思是B口的地址为1000 0000B可以看出该条微程序只用到了B寄存器。v DC2,DC1为0,0,意思是DC2为011B表示不操

13、作,DC1为000B表示将开关内容送到内部总线第三条微程序v 入口地址为99H,意思是指令的存储地址为99H。v 指令下址为30H,意思是结束程序。v CI3-0,SCC3-0为30H,及CI3-0为0011B表示SCC编码有效,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。 v MVR,I2-0为1,6,意思是对应的寄存器要用到D,Q两个。v I8-I6,I5-I3为3,1,意思是I8-I6为011B表示将结果输出并送给B寄存器,I5-I3为001B表示该条命令执行的是减法命令。v B口,A口为8,0,意思是B口的地址为1000 0000B可以看出该条

14、微程序只用到了B寄存器。v SST,SSHSCI为0,1,意思是SST为000B进行状态位的判断,SSHSCI为001B及Cin为1。v DC2,DC1为0,0,意思是DC2为011B表示不操作,DC1为000B表示将开关内容送到内部总线。4)ADRL DR,SR第一条微程序v 入口地址为93H,意思是指令的存储地址为93H。v 指令下址为00H,意思是没有指定跳转地址,顺序执行下一条微程序。v CI3-0,SCC3-0为E0H,及CI3-0为1110B表示顺序执行,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。 v MVR,I2-0为4,4,意思是对应

15、的只有一个寄存器A。v I8-I6,I5-I3为1,0,意思是I8-I6为001B表示将结果输出,I5-I3为000B表示该条命令执行的是加法命令。v B口,A口为0,8,意思是A口的地址为1000 0000B可以看出该条微程序只用到了A寄存器。v DC2,DC1为3,0,意思是DC2为011B表示地址寄存器接受,DC1为000B表示将开关内容送到内部总线第二条微程序v 入口地址为94H,意思是指令的存储地址为94H。v 指令下址为00H,意思是没有指定跳转地址,顺序执行下一条微程序。v CI3-0,SCC3-0为E0H,及CI3-0为1110B表示顺序执行,SCC3-0为0000H表示必须转

16、移,及入口执行第一条为程序后必须转到下址对应的地址。 v MVR,I2-0为4,3,意思是对应的只有一个寄存器B。v I8-I6,I5-I3为0,0,意思是I8-I6为000B表示将结果输出并送给Q寄存器,I5-I3为000B表示该条命令执行的是加法命令。v B口,A口为8,0,意思是B口的地址为1000 0000B可以看出该条微程序只用到了B寄存器。v DC2,DC1为0,0,意思是DC2为011B表示不操作,DC1为000B表示将开关内容送到内部总线第三条微程序v 入口地址为95H,意思是指令的存储地址为95H。v 指令下址为00H,意思是顺序执行下一条微程序。v CI3-0,SCC3-0

17、为E0H,及CI3-0为1110B表示顺序执行,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。 v MVR,I2-0为1,6,意思是对应的寄存器要用到D,Q两个。v I8-I6,I5-I3为3,0,意思是I8-I6为011B表示将结果输出并送给B寄存器,I5-I3为001B表示该条命令执行的是加法命令。v B口,A口为8,0,意思是B口的地址为1000 0000B可以看出该条微程序只用到了B寄存器。v SST,SSHSCI为0,0,意思是SST为000B进行状态位的判断,SSHSCI为000B及Cin为0。v DC2,DC1为0,0,意思是DC2为011

18、B表示不操作,DC1为000B表示将开关内容送到内部总线。第四条微程序v 入口地址为95H,意思是指令的存储地址为95H。v 指令下址为30H,意思是结束程序。v CI3-0,SCC3-0为30H,及CI3-0为0011B表示SCC编码有效,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。 v MVR,I2-0为4,3,意思是从非串口非内存读数据并对应的寄存器要用到D,Q两个。v I8-I6,I5-I3为5,0,意思是I8-I6为011B表示将结果除以二输出并送给B寄存器,I5-I3为001B表示该条命令执行的是加法命令。v B口,A口为8,0,意思是B口

19、的地址为1000 0000B可以看出该条微程序只用到了B寄存器。v SST,SSHSCI为5,0,意思是SST为101B进行状态位的判断,地位进位由RMA0的值决定,SSHSCI为000B及Cin为0。v DC2,DC1为0,0,意思是DC2为011B表示不操作,DC1为000B表示将开关内容送到内部总线。(3)ABEL语言源程序编辑以及JED文件生成 在所有现存在的指令下面添加NTAD = (IR = 0010 0101);ADNT = (IR = 0010 0111);ADRL = (IR = 1110 1001);SURM = (IR = 1110 1000); 紧接着将即将运用到的微程

20、序对应的地址添加进去MA90 = (Y=1,0,0,1,0,0,0,0);MA91 = (Y=1,0,0,1,0,0,0,1);MA92 = (Y=1,0,0,1,0,0,1,0);MA93 = (Y=1,0,0,1,0,0,1,1);MA94 = (Y=1,0,0,1,0,1,0,0);MA95 = (Y=1,0,0,1,0,1,0,1);MA96 = (Y=1,0,0,1,0,1,1,0);MA97 = (Y=1,0,0,1,0,1,1,1);MA98 = (Y=1,0,0,1,1,0,0,0);MA99 = (Y=1,0,0,1,1,0,0,1); 在D0-D7做如下的添加,将命令入口地

21、址对应为1的加入指令D0= !C_M&(!_MAP&(ADNT#SURM#ADRL#SUB#OR#CMP#MVRR#DEC#SHR#JR#PSHF#PUSH#POP#POPF#STRR#LDRR#LDPC#MVRD#CALA#RET#IRET#DI#ASR#RCR#STC#LDRA#LDRX#STRA#STRX#SBB#JRS#JRNS)#NXTADDR0&!_PL)&!Bit8; D1= !C_M&(!_MAP&(SURM#ADRL#AND#OR#TEST#MVRR#SHL#SHR#IN_#OUT#POP#POPF#LDRR#LDPC#JMPA

22、#CALA#RET#IRET#NOT#ASR#CLC#STC#JMPR#LDRA#STRA)#NXTADDR1&!_PL)&!Bit8; D2= !C_M&(!_MAP&(SURM#ADD#SUB#AND#OR#INC#DEC#SHL#SHR#PSHF#PUSH#POP#POPF#MVRD#JMPA#CALA#IRET#RCL#RCR#CLC#STC#LDRX#STRA#CALR)#NXTADDR2&!_PL)#NXTADDR2&!_PL)&!Bit8;D3= !C_M&(!_MAP&(XOR_#CMP#TEST#MVRR

23、#INC#DEC#SHR#SHL#STRR#LDRR#LDPC#MVRD#JMPA#CALA#EI#DI#JMPR#JRS#JRNS#LDRA#LDRX#STRA)#NXTADDR3&!_PL)&!Bit8; D4= !C_M&(!_MAP&(ADNT#NTAD#SURM#ADRL#JRC#JRNC#JRZ#JRNZ#JR#IN_#OUT#PSHF#PUSH#POP#POPF#STRR#LDRR#LDPC#MVRD#JMPA#CALA#EI#DI#ADC#SBB#NOT#ASR#RCL#RCR#CLC#STC#JMPR#LDRA#LDRX#STRA)#NXTAD

24、DR4&!_PL)#NXTADDR4&!_PL)&!Bit8; D5= !C_M&(!_MAP&(RET#IRET#JRS#JRNS#CALR#STRX)#NXTADDR5&!_PL)&!Bit8; D6=!C_M&(!_MAP&(EI#DI#IRET#ADC#SBB#NOT#ASR#RCL#RCR#CLC#STC#JMPR#JRS#JRNS#LDRA#LDRX#STRA#STRX#CALR)#NXTADDR6&!_PL)&!Bit8; D7= !C_M&(!_MAP&(ADNT#NTAD#

25、SURM#ADRL)#NXTADDR7&!_PL)&!Bit8; 添加下地址对应的代码NXTADDR7:= 0;NXTADDR6:= 0;NXTADDR5:=!C_M&(MA92#MA90#MA99#MA96#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA13#MA14#MA16#MA18#MA1A#MA1C#MA1E#MA22#MA24#MA30#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA6

26、3#MA66#MA68#MA69#MA6A)&!Bit8;NXTADDR4:=!C_M&(MA92#MA98#MA90#MA99#MA96#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA13#MA14#MA15#MA16#MA17#MA18#MA1A#MA1C#MA1D#MA22#MA24#MA30#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA5C#MA5E#MA60#MA63#MA66#MA

27、69#MA6A)&!Bit8;NXTADDR3:= !C_M&(MA15#MA17#MA1D#MA30#MA5C#MA5E#MA60)&!Bit8NXTADDR2:= !C_M&(MA12#MA17#MA1D#MA1E#MA5C#MA5E)&!Bit8; NXTADDR1:= !C_M&(MA15#MA30#MA31#MA60#MA68)&!Bit8; NXTADDR0:= !C_M&(MA3F#MA68)&!Bit8; CI3-0,SCC3-0对应的代码CI3:= !C_M&(MA91#MA97#MA98#MA9

28、5#MA94#MA93#MA00#MA01#MA02#MA19#MA1B#MA89#MA1F#MA20#MA21#MA23#MA3A#MA3B#MA3C#MA3D#MA3E#MA5B#MA5D#MA5F#MA61#MA62#MA64#MA65#MA67#MA89)&NRST&!Bit8;CI2:= !C_M&(MA91#MA97#MA98#MA95#MA94#MA93#MA00#MA01#MA02#MA19#MA1B#MA89#MA1F#MA20#MA21#MA23#MA2A#MA3B#MA3C#MA3D#MA3E#MA5B#MA5D#MA5F#MA61#MA62#MA

29、64#MA65#MA67)&NRST&!Bit8;CI1:= !C_M&1&NRST&!Bit8;CI0 := !C_M&(MA92#MA90#MA99#MA96#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA13#MA14#MA15#MA16 SCC3 := !C_M&0&NRST&!Bit8;SCC2 := !C_M&(MA10#MA12#MA15#MA17#MA69)&NRST&!Bit

30、8; SCC1 := !C_M&(MA12#MA15#MA17#MA30)&NRST&!Bit8;SCC0 := !C_M&(MA15#MA17#MA69)&NRST&!Bit8; MVR,I2-I0添加相应代码!_MIO00:=!(MA92#MA91#MA90#MA98#MA97#MA96#MA94#MA93#MA00#MA01#MA03#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA15#MA17#MA19#MA1B#MA89#MA1D

31、#MA1E#MA1F#MA21#MA23#MA30#MA31#MA3A#MA3B#MA3D#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA5B#MA5D#MA5F#MA61#MA64#MA66#MA67#MA69#MA6A);REQ00 := (MA13#MA14);_WE00 :=(MA99#MA95#MA02#MA14#MA18#MA1C#MA20#MA24#MA5C#MA5E#MA60#MA62#MA68); I200:=(MA99#MA97#MA95#MA93#MA0B#MA11#MA12#MA14#MA1A

32、#MA1B#MA89#MA1C#MA20#MA24#MA30#MA3C#MA3F#MA5A#MA5C#MA5E#MA60#MA62#MA65#MA66#MA6A);I100:=(MA92#MA99#MA98#MA96#MA95#MA94#MA01#MA0C#MA0D#MA0E#MA0F#MA12#MA13#MA14#MA15#MA17#MA19#MA1C#MA1D#MA1E#MA1F#MA20#MA21#MA22#MA23#MA24#MA30#MA31#MA3B#MA3D#MA3E#MA3F#MA52#MA53#MA54#MA55#MA5B#MA5C#MA5D#MA5F#MA60#MA61#M

33、A63#MA64#MA67);!I000:=!(MA92#MA91#MA90#MA98#MA96#MA94#MA00#MA01#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0C#MA0D#MA0E#MA0F#MA11#MA12#MA13#MA14#MA15#MA17#MA19#MA1C#MA1D#MA1E#MA1F#MA20#MA21#MA23#MA24#MA30#MA31#MA3B#MA3D#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA5B#MA5C#MA5D#MA5E#MA5F#MA60#MA61#MA62#MA63#MA64#M

34、A67#MA6A); I8-I6,I5-3代码添加I800 := (MA97#MA96#MA0E#MA0F#MA53#MA54#MA55);I700 :=(MA92#MA91#MA90#MA99#MA95#MA00#MA01#MA04#MA05#MA06#MA07#MA08#MA0B#MA0C#MA0D#MA0E#MA11#MA14#MA15#MA17#MA1C#MA1D#MA1E#MA1F#MA21#MA22#MA23#MA24#MA31#MA3B#MA3D#MA3F#MA50#MA51#MA52#MA54#MA5A#MA5B#MA5D#MA5F#MA61#MA64#MA66#MA67#MA

35、6A);!I600 :=!(MA92#MA91#MA90#MA99#MA96#MA95#MA93#MA00#MA02#MA03#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA13#MA14#MA15#MA16#MA18#MA19#MA1A#MA1B#MA89#MA1C#MA21#MA24#MA3A#MA3B#MA3C#MA3D#MA3E#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA5C#MA5E#MA60#M

36、A62#MA63#MA64#MA65#MA66#MA68#MA69#MA6A);I500 :=(MA92#MA91#MA90#MA06#MA08#MA0A#MA52);I400 :=(MA92#MA07#MA08#MA52);I300 :=(MA92#MA90#MA99#MA00#MA05#MA07#MA09#MA0D#MA15#MA21#MA3B#MA3D#MA51#MA52#MA64); B口,A口对应代码添加B30=(MA91#MA92#MA90#MA98#MA99#MA96#MA95#MA94#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#M

37、A0D#MA0E#MA0F#MA19#MA1C#MA50#MA51#MA52#MA53#MA54#MA55#MA63);B20=(MA00#MA01#MA11#MA15#MA17#MA1D#MA1E#MA1F#MA21#MA22#MA23#MA24#MA31#MA3B#MA3D#MA3F#MA5A#MA5B#MA5D#MA5F#MA61#MA64#MA66#MA67#MA6A);B10 = 0;B00=(MA00#MA01#MA11#MA1D#MA1E#MA1F#MA22#MA24#MA31#MA3F#MA5A#MA5B#MA5D#MA5F#MA61#MA66#MA6A); A30=(MA91

38、#MA90#MA97#MA93#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA1A#MA1B#MA89#MA50#MA51#MA5A#MA5E#MA62#MA66);A20=(MA00#MA01#MA11#MA17#MA1D#MA1E#MA1F#MA22#MA23#MA31#MA3C#MA5B#MA5D#MA5F#MA61#MA65#MA67#MA6A);A10 = 0;A00=(MA00#MA01#MA11#MA1D#MA1E#MA1F#MA22#MA31#MA3C#MA5B#MA5D#MA5F#MA61#MA65#MA6A); SST ,SSHSCI对

39、应代码的添加SST200:=(MA96#MA0E#MA0F#MA53#MA54#MA55#MA57);SST100:=(MA0E#MA18#MA54#MA56#MA68);SST000:=(MA92#MA91#MA96#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0C#MA0D#MA0F#MA50#MA51#MA52#MA53#MA55#MA56);SSH00 :=(MA53#MA54#MA55);SCI100:=(MA50#MA51#MA53);SCI000:=(MA99#MA00#MA01#MA05#MA09#MA0C#MA17#MA1D#MA1E#MA1F#

40、MA23#MA31#MA53#MA54#MA55#MA5B#MA5D#MA5F#MA61#MA67); DC2,DC1对应代码的添加DC2_200:=(MA00#MA3A#MA3C#MA58#MA59#MA68);DC2_100:=(MA97#MA93#MA00#MA01#MA12#MA15#MA17#MA19#MA1B#MA89#MA1D#MA1E#MA1F#MA21#MA23#MA31#MA3A#MA3B#MA3D#MA58#MA59#MA5B#MA5C#MA5D#MA5E#MA5F#MA60#MA61#MA62#MA64#MA67);DC2_000:=(MA97#MA93#MA00#MA

41、01#MA02#MA12#MA15#MA17#MA19#MA1B#MA89#MA1D#MA1E#MA1F#MA21#MA23#MA31#MA3A#MA3B#MA3C#MA3D#MA59#MA5B#MA5C#MA5D#MA5E#MA5F#MA60#MA61#MA62#MA64#MA67); DC1_200:= (MA01#MA31#MA3F); /(MA3F);/DC1_100:=(MA01#MA11#MA12#MA16#MA30#MA31#MA6A);/(MA11#MA12#MA16#MA30#MA6A); /DC1_000:=(MA13#MA16#MA1A#MA22#MA30#MA3C#MA

42、3E#MA3F#MA63#MA65);将对应的代码添加完全后,利用JED编译软件生成.jed文件在相应的文件下 产生最近对应的时间的文件。(4)MACH编程利用ispVM System软件点击scan查找到相对应的教学实验机,找到相应的.jed文件对应的为止,然后执行go,初相pass是表明对应的文件已经被下载到了MACH器件中,这样就可以打开对应的软件进行编程测试。(5)修改监控制程序在修改监控程序时,需要实现分析我所插入的四条指令是监控程序中十种类型哪一种,在对应的位置填入相应的指令和指令对应的编码即可。以下为监控程序的修改过程(黑体为插入的指令):;1 WORD;3 - Follow B

43、y Two RegistersTYPE3 DW ADD , 0000H, SUB , 0100HDW CMP , 0300H, AND , 0200H, OR , 0600H,XOR , 0400H DW TEST, 0500H, MVRR, 0700HDW NTAD, 2500H, ADNT, 2700HDW ADC , 2000H, SBB , 2100H, NXOR, 2200HDW ADDR, 0B200H, SBUL,0B300H,0; 1 WORD 9 - Follow By A R and RTYPE9 DW LDRR, 8100HDW ADRL, 0E900H, SURM, 0

44、E800HDW ADRM, 0E300H, SWRM, 0E900H, 0; 1 WORD 10 - Follow By A Register(DR)TYPE10 DW POP , 8700H, INC , 0900H, DEC , 0800H, JCFX , 0C000H DW SHL , 0A00H, SHR , 0B00HDW NOT , 2D00H, ASR , 2C00H, RCL , 2A00HDW ACR , 2B00H, ADTW, 0A100HDW SHLD, 0B000H, DECL,0B500H,NEG ,0B400HDW INHL,0B100H, 0改完监控程序以后进入

45、SDW环境对监控程序进行编译,便已成功后进行芯片的烧制,以下图片为烧制过程的截图:烧制过程: 烧制成功: 5对扩展指令进行验证 验证指令NTAD DR,SR /SRDR => DRA2000MVRD R1,2MVRD R2,3NTAD R1,R2RETG2000 执行指令(截图如下) 验证指令ADNT SD,RD /(DRSR)=> DR A2000MVRD R1,1MVRD R2,2ADNT R1,R2RETG2000 (执行命令 截图如下) 验证指令 SURM DR,SR DR-SR => DR A2000MVRD R1,6MVRD R2,2020SURM R1,R2RETE2020 2G2000 (执行指令 截图如下) 验证指令 ADRL DR,SR (DR+SR)/2 => DRA2000MVRD R1,2MVRD R2,2020ADRL R1,R2RETE2020 8G2000 (执行指令 截图如下) 6总结与体会通过这次组

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号