组成原理课程设计_第1页
组成原理课程设计_第2页
组成原理课程设计_第3页
组成原理课程设计_第4页
组成原理课程设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1课程设计目的通过计算机组成原理课程设计,进一步熟练掌握计算机各功能部件的内部构造和相互之间的联系(部件配置、相互连接和作用)、各功能部件的性能参数的相互匹配、机器指令级的各种功能和特性。学生能够将所学知识融会贯通、进一步系统化,进一步提高硬件系统设计的能力,为以后的更高一级的硬件设计打下坚实基础。课程设计任务在现有的TEC-XP+教学机系统上扩展4条指令。要求:(1)4条指令至少要用到4种寻址方式;(2) 4条指令分别由1步、2步、3步、4步完成;(3) 监控命令A、U必须能够支持这4条指令。系统组成原理及实现(1)运算器运算器的基本组成与实现TEC-XP系统机上的运算器,可选8或16位字长,分别由2或4片4位的位片结构的器件组成,作为讲解运算器的实例和教学实验的对象,有很强的典型性。它可脱离TEC-XP主机,单独地进行运算器部件实验,也可在主机控制下完成运算器部件实验、其它功能部件实验或整机实验。位片结构是说,每个器件本身就是一个完整的运算器,只是位数较少,要组成更多位数的实用运算器要用多片共同实现,这里选用的是美国AMD公司的Am2901芯片。Am2901芯片是一个4位的位片结构的运算器器件,其内部组成如下图所示。输出Y /OE―F3F=0000OWCn+4二选一ALUR匸输出Y /OE―F3F=0000OWCn+4二选一ALUR匸Cn三选二选I6-I7I8BMKI0I1T2乘商寄存器QB锁存器直锁存器输入DQ0通用寄存器 E口地址RAM3第一个组成部分是算逻运算部件ALU,完成3种算术运算和5种逻辑运算,共计8种功能。其输出为F,两路输入为S、R,最低位进位Cn,四个状态输出信号如图所示。第二个组成部分是通用寄存器组,由16个寄存器构成,并通过B口与A口地址选择被读的寄存器,B口地址还用于指定写入寄存器。通过B口地址、A口地址读出的数据将送到B、A锁存器,要写入寄存器的数据由一个多路选择器送来。第三个组成部分是乘商寄存器Q,它能对自己的内容完成左右移位功能,其输出可以送往ALU,并可接收ALU的输出结果。一组三选一门和另一组二选一门用来选择送向ALU的R、S输入端的数据来源,包括Q寄存器、A口、B口、外部输入D数据的8种不同组合。第四个组成部分是5组多路选通门,包括一组三选一门完成把ALU的输出、或左移一位、或右移一位的值送往通用寄存器组,最高、最低位移位信号有双向入/出问题。一组三选一门完成Q寄存器的左移一位、或右移一位、或接收ALU输出值的功能,最高、最低位移位信号有双向入/出问题。一组二选一门,选择把A口数据或ALU结果送出芯片,以给出输出Y的数据,Y输出的有无还受输出使能/OE信号的控制,仅当/OE为低时才有Y输出,/OE为高,Y输出为高阻^态。ALU的数据来源由12-0三位选择码控制,8种功能由15-3三位选择码实现,运算结果处理方式由18-6三位选择码控制,具体规定如下表所示。18〜16:运算结果处理15〜13:运算功能I2-I0:数据来源通用寄存器Q寄存器Y的输出RSFtQFR+SAQFS-RABFtBAR-S0QFtBFRVS0BF/2—BQ/2—QFRAS0AF/2—BF/RASDAF*2tBGT2—QFRVSDQF*2tBF/(RVS)D0Am2901的9位控制码编码000001010011100101110状态寄存器、最低进位输入、移位输入控制信号SSTcSSTczVs000czVs001CvZR□VF15010内咅1I总f茂0110zVs1001zVs101iAAKIzVs110iAAIl:;zVs111QOzVsSSHSCI(in/Shift000Cin=0001Cin=l010Cin=C100逻辑移位101循环移位运算器是计算机硬件系统传统的5大功能部件之一,承担着执行运算和暂存运算数据的功能,通常由执行算术逻辑运算功能的ALU线路、暂存参加ALU运算的数据和中间运算结果的通用寄存器组、支持乘除法运算的专用寄存器3部分组成,3个部分之间通过多路选择器线路实现连接,从而构成一个完整的运算器部件。TEC-XP计原l6系统的运算器部件主体部分由4片长度为4位的位片结构运算器芯片Am2901组成。4片Am2901之间的连接如下图所示。F=0■Vcc□RY15~12Yll~8J15OVERY7~4ritY3~0Hcin高位口Am2901F=0■Vcc□RY15~12Yll~8J15OVERY7~4ritY3~0Hcin高位口Am2901|;二;|Am2901|;=;|Am2901 二;|Am2901口Q15|dA.口•B口(2)微程序控制器15^3I微程序控制器的基本组成与实现RAltIOJ11-D7MQOTEC-XP+教学计算机系统同时实现了微程序方案和组合逻辑方案的两种控制器,其总体组成如图2-5所示。从两种控制器的组成来看,都包括有程序计数器PC、指令寄存器IR、程序定序器Am2910以及MACH芯片四部分。PC是选用在运算器的通用寄存器组中的R5实现的,图中用虚线表示。IR是选用两片8位的寄

存器电路实现的,还用到一片传送IR低位字节内容到内部总线IB的开关门电路。Am2910芯片用来确定微指令的执行次序。MACH芯片是一片有130多个输入输出管脚、由一万个门电路组成的CPLD器件,其内部的线路组成和实现的功能都比较复杂。标灯74LS377ci^crosccs^ecNext-A7-A01丿ccjY7Y0/MAPAm2910微程序

控制存储器Timing组合逻辑控制信号

产生电路NadrMicro-OrdreMACHM32位二选一电路中断线路标灯74LS377ci^crosccs^ecNext-A7-A01丿ccjY7Y0/MAPAm2910微程序

控制存储器Timing组合逻辑控制信号

产生电路NadrMicro-OrdreMACHM32位二选一电路中断线路MAP

ROM图歳5教学机计算机控制器的总体组成程序讦数器pc可以在运算器内部完成加* I.说箱就灯_1SCCga]1运算功能,产生下一条相邻指I勺偏移量,产生相对转移指令的转移地址;令的地址愛者完成加一个相对转移的偏或者直接接收一个16位的指令地址,用在程序调用或者跳转指令中。2)指令寄存器IR接收从内存储器读出并传送到内部总线IB的指令内容,其全部16位输出送MACH芯片的输入引脚,其低8位内容还可以经一个有三态功能的开关门送到内部总线IB。3)微程序定序器Am2910芯片用在微程序控制器中,用于以多种方式向控制存储器提供下一条微指令的地址,控制微指令的执行次序,解决的是指令执行步骤的衔接问题。4)两种控制器的主要功能线路都集中到一片高集成度CPLD器件(MACH芯片)中实现,在完成扩展指令的教学实验中,可以不对MACH芯片之外的电路作任何变动,全部操作都集中到修改描述MACH芯片功能的ABEL或VHDL语言的源程序代码、执行编译和下载操作以及运行调试这样几步工作。这是本教学计算机系统的一大显著特色,对降低学生的学习难度、简化修改和扩展控制器功能的操作、改善教学实验效果具有重要的作用。扩展4条指令(1)4条指令的格式及功能指令格式功能寻址方式编码操作步数入口NTADDR,SRSR的值取非和DR的值相与SR,DR均为直接寻址25HIR步90HADNTDR,SRSR的值和SR的值相与,取反SR,DR均为直接寻址27H两步91HADRLDR,[SR]求出DR,[SR]中值的和,然后除以二DR直接寻址SR间接寻址E9四步93HSURMDR,[SR]求DR,[SR]的差DR直接寻址SR间接寻址E8三步97H指令所对应的微程序指令NTADDR,SR•入口地址为90H,意思是指令的存储地址为90H。•指令下址为30H,意思是下一条指令地址为30H结束程序。CI3-0,SCC3-0为30H,及CI3-0为011B表示SCC编码有效,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。MVR,I2-0为4,1,意思是对应的源寄存器和目标寄存器为通用寄存器的两个AB.18-16,15-13为3,5,意思是18-16为011B表示将结果送入B寄存器,15-13为101B表示该条命令执行的是非与指令。B口,A口为8,8,意思是AB两个寄存其的地址为10000000B。SST,SSHSCI为0,0,意思是SST为001B表示进行状态寄存器符号位的判断,SSHSCI为000B表示Cin=0。DC2,DC1为0,0,意思是DC2为000B表示不操作,DC1为000B表示将开关内容送到内部总线ADNTDR,SR第一条微程序•入口地址为91H,意思是指令的存储地址为91H。•指令下址为00H,意思是没有指定跳转地址,顺序执行下一条微程序。CI3-0,SCC3-0为EOH,及CI3-0为1110B表示顺序执行,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。MVR,I2-0为4,1,意思是对应通用寄存器A,B。18-16,15-13为1,0,意思是18-16为001B表示将结果输出,15-13为000B表示该条命令执行的是加法命令。B口,A口为8,8,意思是用到了A,B两个口从内存外得到数据。SST,SSHSCI为1,0,意思是做相应的状态判断,同时Cin=0。DC2,DC1为0,0,意思是DC2为000B表示专用寄存器不进行操作,DC1为000B表示将开关内容送到内部总线第二条微程序•入口地址为92H,意思是指令的存储地址为92H。•指令下址为30H,意思是跳转到结束语句,该句结束后该条指令结束。CI3-0,SCC3-0为30H,及CI3-0为011B表示SCC编码有效,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。MVR,I2-0为4,3,意思是对应的只有一个寄存器B。18-16,15-13为3,7,意思是I8-I6为011B表示将结果输出并送给B寄存器,15-13为111B表示该条命令执行的是取非命令。B口,A口为8,0,意思是B口的地址为10000000B可以看出该条微程序只用到了B寄存器。SST,SSHSCI为1,0,意思是做相应的状态判断,同时Cin=0。DC2,DC1为0,0,意思是DC2为011B表示不对专用寄存器进行操作,DC1为000B表示将开关内容送到内部总线。SURMDR,[SR]第一条微程序•入口地址为97H,意思是指令的存储地址为97H。•指令下址为00H,意思是没有指定跳转地址,顺序执行下一条微程序。CI3-0,SCC3-0为E0H,及CI3-0为1110B表示顺序执行,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。MVR,I2-0为4,4,意思是对应的只有一个寄存器A。18-16,15-13为1,0,意思是18-16为001B表示将结果输出,15-13为000B表示该条命令执行的是加法命令。B口,A口为0,8,意思是A口的地址为10000000B可以看出该条微程序只用到了A寄存器。DC2,DC1为3,0,意思是DC2为011B表示地址寄存器接受,DC1为000B表示将开关内容送到内部总线第二条微程序•入口地址为98H,意思是指令的存储地址为98H。•指令下址为00H,意思是没有指定跳转地址,顺序执行下一条微程序。CI3-0,SCC3-0为E0H,及CI3-0为1110B表示顺序执行,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。MVR,I2-0为4,3,意思是对应的只有一个寄存器B。18-16,15-13为0,0,意思是I8-I6为000B表示将结果输出并送给Q寄存器,15-13为000B表示该条命令执行的是加法命令。B口,A口为8,0,意思是B口的地址为10000000B可以看出该条微程序只用到了B寄存器。DC2,DC1为0,0,意思是DC2为011B表示不操作,DC1为000B表示将开关内容送到内部总线第三条微程序•入口地址为99H,意思是指令的存储地址为99H。•指令下址为30H,意思是结束程序。CI3-0,SCC3-0为30H,及CI3-0为0011B表示SCC编码有效,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。MVR,I2-0为1,6,意思是对应的寄存器要用到D,Q两个。18-16,15-13为3,1,意思是I8-I6为011B表示将结果输出并送给B寄存器,15-13为001B表示该条命令执行的是减法命令。B口,A口为8,0,意思是B口的地址为10000000B可以看出该条微程序只用到了B寄存器。SST,SSHSCI为0,1,意思是SST为000B进行状态位的判断,SSHSCI为001B及Cin为1。DC2,DC1为0,0,意思是DC2为011B表示不操作,DC1为000B表示将开关内容送到内部总线。ADRLDR,[SR]第一条微程序•入口地址为93H,意思是指令的存储地址为93H。•指令下址为00H,意思是没有指定跳转地址,顺序执行下一条微程序。CI3-0,SCC3-0为E0H,及CI3-0为1110B表示顺序执行,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。MVR,I2-0为4,4,意思是对应的只有一个寄存器A。18-16,15-13为1,0,意思是18-16为001B表示将结果输出,15-13为000B表示该条命令执行的是加法命令。B口,A口为0,8,意思是A口的地址为10000000B可以看出该条微程序只用到了A寄存器。DC2,DC1为3,0,意思是DC2为011B表示地址寄存器接受,DC1为000B表示将开关内容送到内部总线第二条微程序•入口地址为94H,意思是指令的存储地址为94H。•指令下址为00H,意思是没有指定跳转地址,顺序执行下一条微程序。CI3-0,SCC3-0为E0H,及CI3-0为1110B表示顺序执行,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。MVR,I2-0为4,3,意思是对应的只有一个寄存器B。18-16,15-13为0,0,意思是I8-I6为000B表示将结果输出并送给Q寄存器,15-13为000B表示该条命令执行的是加法命令。B口,A口为8,0,意思是B口的地址为10000000B可以看出该条微程序只用到了B寄存器。DC2,DC1为0,0,意思是DC2为011B表示不操作,DC1为000B表示将开关内容送到内部总线第三条微程序•入口地址为95H,意思是指令的存储地址为95H。•指令下址为00H,意思是顺序执行下一条微程序。CI3-0,SCC3-0为E0H,及CI3-0为1110B表示顺序执行,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。MVR,I2-0为1,6,意思是对应的寄存器要用到D,Q两个。18-16,15-13为3,0,意思是18-16为011B表示将结果输出并送给B寄存器,15-13为001B表示该条命令执行的是加法命令。B口,A口为8,0,意思是B口的地址为10000000B可以看出该条微程序只用到了B寄存器。SST,SSHSCI为0,0,意思是SST为000B进行状态位的判断,SSHSCI为000B及Cin为0。DC2,DC1为0,0,意思是DC2为011B表示不操作,DC1为000B表示将开关内容送到内部总线。第四条微程序•入口地址为95H,意思是指令的存储地址为95H。•指令下址为30H,意思是结束程序。CI3-0,SCC3-0为30H,及CI3-0为0011B表示SCC编码有效,SCC3-0为0000H表示必须转移,及入口执行第一条为程序后必须转到下址对应的地址。MVR,I2-0为4,3,意思是从非串口非内存读数据并对应的寄存器要用到D,Q两个。18-16,15-13为5,0,意思是I8-I6为011B表示将结果除以二输出并送给B寄存器,15-13为001B表示该条命令执行的是加法命令。B口,A口为8,0,意思是B口的地址为10000000B可以看出该条微程序只用到了B寄存器。SST,SSHSCI为5,0,意思是SST为101B进行状态位的判断,地位进位由RMA0的值决定,SSHSCI为000B及Cin为0。DC2,DC1为0,0,意思是DC2为011B表示不操作,DC1为000B表示将开关内容送到内部总线。ABEL语言源程序编辑以及JED文件生成在所有现存在的指令下面添加NTAD=(IR==[00100101]);ADNT=(IR==[00100111]);ADRL=(IR==[11101001]);SURM=(IR==[11101000]);紧接着将即将运用到的微程序对应的地址添加进去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做如下的添加,将命令入口地址对应为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#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#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)#NXTADDR4&!_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#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#MAll#MA13#MA14#MA16#MA18#MA1A#MA1C#MA1E#MA22#MA24#MA3O#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA63#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#MA69#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#MA95#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#MA64#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#MA16SCC3:=!C_M&0&NRST&!Bit8;SCC2:=!C_M&(MA10#MA12#MA15#MA17#MA69)&NRST&!Bit8;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#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);REQOO:=(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#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#MA63#MA64#MA67);!I000:=!(MA92#MA91#MA9O#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#MA67#MA6A);I8-I6J5-3代码添加1800 :=(MA97#MA96#MA0E#MA0F#MA53#MA54#MA55);1700 :=(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#MA6A);!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#MA62#MA63#MA64#MA65#MA66#MA68#MA69#MA6A);1500 :=(MA92#MA91#MA90#MA06#MA08#MA0A#MA52);1400 :=(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#MA0D#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#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对应代码的添加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#MA23#MA31#MA53#MA54#MA55#MA5B#MA5D#MA5F#MA61#MA67);DC2RC1对应代码的添加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#MA01#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#MA3E#MA3F#MA63#MA65);将对应的代码添加完全后,利用JED编译软件生成jed文件在相应的文件下产生最近对应的时间的文件。MACH编程利用ispVMSystem软件点击scan查找到相对应的教学实验机,找到相应的.jed文件对应的为止,然后执行go,初相pass是表明对应的文件已经被下载到了MACH器件中,这样就可以打开对应的软件进行编程测试。修改监控制程序在修改监控程序时,需要实现分析我所插入的四条指令是监控程序中十种类型哪一种,在对应的位置填入相应的指令和指令对应的编码即可。以下为监控程序的修改过程(黑体为插入的指令):;1W0RD;3-FollowByTwoRegistersTYPE3DW'ADD',0000H,'SUB',0100HDW'CMP',0300H,'AND',0200H,'OR',0600H,'X0R 0400HDW'TEST',0500H,'MVRR',0700HDW'NTAD',2500H,'ADNT',2700HDW'ADC',2000H,'SBB',2100H,'NXOR',2200HDW'ADDR',0B200H,'SBUL',0B300H,0;1WORD9-FollowByARand[R]TYPE9DW'LDRR',8100HDW'ADRL',0E900H,'SURM',0E800HDW'ADRM',0E300H,'SWRM',0E900H,0;1WORD10-FollowByARegister(DR)TYPE10DW'POP',8700H,'INC',0900H,'DEC',0800H,'JCFX',0C000HDW'SHL',0A00H,'SHR',0B00HDW'NOT',2D00H,'ASR',2C00H,'RCL',2A00H

DW'ACR',2B00H,'ADTW',0A100HDW'SHLD',OBOOOH,'DECL',0B500H,'NEG',0B400HDW'INHL',OB1OOH,0改完监控程序以后进入SDW环境对监控程序进行编译,便已成功后进行芯片的烧制,以下图片为烧制过程的截图:烧制过程:器件操作功能:信息结果:Progranuning..器件起始地址:功能:信息结果:Progranuning..器件结束地址:I1FFF缓沖区起始地址:缓冲区结束地址:I1FFF校验和:5.f““““““运行“烧制―确定|5.f““““““运行“烧制―确定|取消验证指令NTADDR,SR[/SRADR=>DR]A2000MVRDR1,2MVRDR2,3NTADR1,R2RETG2000执行指令(截图如下)BaudRate=9600hits/secondParity=NoneStopBit=1bitCharacterLengtli=8hitsChangethesecbaracters?[N1TEC-2B00CRTMONITORUersion3.0 2006.1.8ComputerArchitectureLab・-TuinghLiNUniuersitrightXizhenyuan>A20002000:MURDRl,22002:MURDR2,32004:NTADR1,R22005:RET2006:>G2000R0=0004R1=00

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论