一种TEC-XP16组合逻辑控制器指令设计方法技术

技术编号:32259469 阅读:24 留言:0更新日期:2022-02-12 19:19
本申请提供了一种TEC

【技术实现步骤摘要】
一种TEC

XP16组合逻辑控制器指令设计方法


[0001]本申请涉及组合逻辑控制器
,特别涉及一种TEC

XP16组合逻辑控制器指令设计方法。

技术介绍

[0002]根据指令步骤标记线路和控制信号产生线路不同的组成和不同的运行原理,有两种控制器:组合逻辑控制器和微程序控制器。组合逻辑控制器采用组合逻辑线路、依据指令及其执行步骤直接产生控制信号。微程序控制器采用存储器电路把控制信号存储起来,依据指令执行的步骤读出要用到的信号组合。
[0003]组合逻辑控制器由程序计数器PC、指令寄存器IR、节拍发生器Timer和控制信号产生部件CU 4个部分组成。PC用于提供待读出指令在主存储器中的地址,IR用于保存从主存储器中读出的指令内容,Timer用于给出并维护指令执行步骤的编码(节拍状态编码),控制信号产生部件用于依据指令内容(在IR中)和指令执行所处的操作步骤(节拍状态编码),用组合逻辑线路产生计算机本操作步骤中各个部件所需要的控制信号。TEC

XP16教学机中的组合逻辑控制器主要是由MACH器件实现的。
[0004]在TEC

XP16教学机中,组合逻辑控制器发出的32位控制信号中控制运算器的控制信号有23位I8I7I6、I5I4I3、I2I1I0、A3A2A1A0、B3B2B1B0、SST2SST1SST0、SSHSCI1SCI0,控制内存或I/O接口的控制信号有3位_MIO、REQ、_WE,控制内部总线数据来源的有3位DC1_2、DC1_1、DC1_0,控制专用寄存器接收的控制信号有3位DC2_2、DC2_1、DC2_0。
[0005]目前,国内很多高校计算机组成原理实验教学内容主要是基于清华大学计算机系研制的TEC

XP16计算机组成原理实验系统而开展进行的,该课程的实验内容,还是停留在验证性实验阶段,为了使学生更好掌握计算机的各个组成部件的工作原理,理解指令的执行流程,系统地建立计算机整机概念,培养学生的设计、创新能力,培养学生对计算机系统的分析、应用、设计及开发能力,需要基于TEC

XP16教学机开发一些设计性实验,如给TEC

XP16教学机组合逻辑控制器设计一些复杂指令,比如浮点运算类指令。
[0006]目前,在TEC

XP16教学机组合逻辑控制器中设计指令的具体过程为:
[0007](1)确定指令的格式和功能;
[0008](2)划分指令的执行步骤并设计每一步的执行功能,设计节拍状态的取值;
[0009](3)在指令执行流程表中填写节拍状态以及每个节拍状态下各个控制信号的状态值;
[0010](4)在现有的MACH器件的ABEL语言源文件中添加所设计的扩展指令的控制信号的逻辑表达式,编译适配后下载到MACH器件中;
[0011](5)编写一个包含所设计的扩展指令的程序,通过运行该程序检查执行结果的正确性,验证设计的扩展指令是否正确。
[0012]上述设计指令的过程是纯手工方式,这种方式适合设计一些简单指令。但是,在设计复杂指令时,有些复杂指令的执行阶段往往需要几百个节拍,对于TEC

XP16教学机,每个
节拍将产生32位控制信号,如果用这种纯手工方式设计执行时需要上百个节拍的复杂指令效率实在太低,仅仅完成第(2)步、第(3)步也将花费很长时间,且极易出错,而且出错后很难找到错误,改正错误付出的代价极高,如果第(3)步中某个节拍中某一个控制信号的值人为设计出错,直到第(5)步运行包含所设计的扩展指令的程序时才会发现错了,由于缺少对指令控制信号和节拍信号的调试工具,确定出错的控制信号和节拍信号犹如大海捞针,改正出错的控制信号和节拍信号后还需要修改MACH器件的ABEL语言源文件并将其重新编译,然后要重新下载到MACH芯片中,效率非常低。第(4)步在现有的MACH器件的ABEL语言源文件中添加所设计的扩展指令的控制信号的逻辑表达式时效率同样很低,一不小心就容易出错,改正错误后要重新编译,然后要重新下载到MACH芯片中。

技术实现思路

[0013]本申请提供了一种TEC

XP16组合逻辑控制器指令设计方法,所述方法包括:
[0014]使用教学机汇编指令设计实现要设计的指令对应的教学机汇编语言源程序;
[0015]根据所述教学机汇编语言源程序生成节拍信号和控制信号以及节拍转换关系;
[0016]将所述节拍信号、所述控制信号和所述节拍转换关系导入设计好的TEC

XP16教学机组合逻辑控制器仿真软件中进行仿真;
[0017]仿真通过之后,根据所述节拍信号、所述控制信号以及所述节拍转换关系,生成TEC

XP16教学机对应的组合逻辑控制器的源程序文件;
[0018]编译所述组合逻辑控制器的源程序文件,并将编译后生成的JED文件下载到教学机MACH芯片中。
[0019]可选的,根据教学机汇编语言源程序生成节拍信号和控制信号以及节拍转换关系,包括:
[0020](1),从预先建立的InstFirstTime表中查找Iname为所设计指令名称的记录的FirstTime字段值,并赋给beat变量;
[0021](2),从预先建立的AsblProgram表中查找NewIname为所设计指令名称的所有记录的最大Number字段值,记为maxN,令i=1;
[0022](3),查找AsblProgram表中NewIname为所设计指令名称且Number字段等于i的记录,记入记录AsbInsti;
[0023](4),对于记录AsbInsti,如果所述记录AsbInsti的Iname为JR、JRZ、JRNZ、JRC、JRNC、JRS、JRNS、RET指令、PSHF、POPF、CLC指令执行时的控制信号是固定的,则在ControlSignal表中生成的控制信号是固定的;MVRR、OR、AND、ADD、SUB、XOR、TEST、ADC、CMP指令除了B口地址、A口地址需要根据指令中的寄存器编号进行设置,其他控制信号都是固定的;SHR、RCR、SHL、INC、DEC指令除了B口地址需要根据指令中的寄存器编号进行设置,其他控制信号都是固定的;MVRD DATA指令根据预先确定的算法1产生控制信号;
[0024]如果记录AsbInsti的Iname为MVRR、OR、AND、ADD、SUB、XOR、TEST、ADC、CMP、SHR、RCR、SHL、INC、DEC、CLC、RET中的任一一项,则在timeConversion表中生成一条记录,NextTime字段值为CurrentTime字段值加1;
[0025]如果记录AsbInsti的Iname为MVRD,根据所述算法1在timeConversion表生成节拍信号;
[0026]如果记录A本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种TEC

XP16组合逻辑控制器指令设计方法,其特征在于,所述方法包括:使用教学机汇编指令设计实现要设计的指令对应的教学机汇编语言源程序;根据所述教学机汇编语言源程序生成节拍信号和控制信号以及节拍转换关系;将所述节拍信号、所述控制信号和所述节拍转换关系导入设计好的TEC

XP16教学机组合逻辑控制器仿真软件中进行仿真;仿真通过之后,根据所述节拍信号、所述控制信号以及所述节拍转换关系,生成TEC

XP16教学机对应的组合逻辑控制器的源程序文件;编译所述组合逻辑控制器的源程序文件,并将编译后生成的JED文件下载到教学机MACH芯片中。2.根据权利要求1所述的方法,其特征在于,根据教学机汇编语言源程序生成节拍信号和控制信号以及节拍转换关系,包括:(1),从预先建立的InstFirstTime表中查找Iname为所设计指令名称的记录的FirstTime字段值,并赋给beat变量;(2),从预先建立的AsblProgram表中查找NewIname为所设计指令名称的所有记录的最大Number字段值,记为maxN,令i=1;(3),查找AsblProgram表中查找NewIname为所设计指令名称且Number字段等于i的记录,记为记录AsbInsti;(4),对于记录AsbInsti,如果所述记录AsbInsti的Iname为JR、JRZ、JRNZ、JRC、JRNC、JRS、JRNS、RET指令、PSHF、POPF、CLC指令执行时的控制信号是固定的,则在ControlSignal表中生成的控制信号是固定的;MVRR、OR、AND、ADD、SUB、XOR、TEST、ADC、CMP指令除了B口地址、A口地址需要根据指令中的寄存器编号进行设置,其他控制信号都是固定的;SHR、RCR、SHL、INC、DEC指令除了B口地址需要根据指令中的寄存器编号进行设置,其他控制信号都是固定的;MVRD DATA指令根据预先确定的算法1产生控制信号;如果记录AsbInsti的Iname为MVRR、OR、AND、ADD、SUB、XOR、TEST、ADC、CMP、SHR、RCR、SHL、INC、DEC、CLC、RET中的任一一项,则在timeConversion表中生成一条记录,NextTime字段值为CurrentTime字段值加1;如果记录AsbInsti的Iname为MVRD,根据所述算法1在timeConversion表生成节拍信号;如果记录AsbInsti的Iname为JR,则在timeConversion表中生成一条记录,NextTime字段值根据算法2产生;如果记录AsbInsti的Iname为JRZ、JRNZ、JRC、JRNC、JRS、JRNS中的任一一项,则在timeConversion表中生成两条记录,一条记录为条件满足时的节拍转换,NextTime字段值根据算法3产生,另一条记录为条件不满足时的节拍转换,NextTime字段值为CurrentTime字段值加1;如果记录AsbInsti的Iname为PSHF、POPF,则在timeConversion表中生成两条记录,每条记录的NextTime字段值为CurrentTime字段值加1;所有记录在ISEA表中都将生成一条记录;(5),i=i+1,重复步骤(3)以及步骤(4),直到i>maxN结束。3.根据权利要求2所述的方法,其特征在于,算法1如下:
(1)将DATA转换成16位二进制数D16;(2)计算D16中1的个数,记为one(D16);(3)如果one(D16)>1,则执行(4),否则,执行(12);(4)产生第一个节拍的控制信号,第一个节拍执行后,(Ri)=1111111111111111;(5)计算将Ri采用先左移后右移的方法得到D16的节拍数,记为SLR(D16);(6)计算将Ri采用先右移后左移的方法得到D16的次数,记为SRL(D16);(7)如果SLR(D16)≤SRL(D16),则执行(8),否则,执行(10);(8)产生16

one(D16)个节拍的控制信号,每个节拍左移一位Ri;(9)产生SLR(D16)+one(D16)

16个节拍的控制信号,每个节拍右移一位Ri,结束;(10)产生16

one(D16)个节拍的控制信号,每个节拍右移一位Ri;(11)产生SRL(D16)+one(D16)

16个节拍的控制信号,每个节拍左移一位Ri,结束;(12)计算由0000000000000001得到D16的节拍数,记为SL(D16),则由DATA得到D16需要SL(D16)+2个节拍;(13)计算由1111111111111111得到D16的节拍数,即SLR(D16),则由DATA得到D16需要SLR(D16)+1个节拍;(14)如果SL(D16)+2≤SLR(D16)+1,则执行(15),否则执行(18);(15)产生一个节拍的控制信号,该节拍执行后得到0000000000000000;(16)产生一个节拍的控制信号,该节拍执行后得到0000000000000001;(17)产生SL(D16)个节拍的控制信号,每个节拍左移一位Ri,结束;(18)产生一个节拍的控制信号,该节拍执行后得到1111111111111111;(19)产生SLR(D16)个节拍的控制信号,每个节拍左移一位Ri,结束。4.根据权利要求2所述的方法,其特征在于,算法2如下:(1)从教学机汇编语言源程序AsblProgram表中查找NewIname为所设计指令名称且Iname为JR的记录,假设查询结果有N条记录,令i=1;(2)设查询结果中记录i的Number字段值和DstAdr字段值分别为Numberi和DstAdri,如果DstAdri为FINISH,则更新timeConversion表中Number字段等于Numberi的记录的NextTime为00000000,否则,转(3);(3)在AsblProgram表中查找Label字段等于DstAdri的记录的Number字段值,记为DstNumber;(4)在ISEA表中查找Number字段等于DstNumber的记录的start字段值,记为JRDtime;(5)更新timeConversion表中Number字段等于Numberi的记录的NextTime字段值为JRDtime;(6)i=i+1,重复(2)~(5)步骤,直到i>N结束。5.根据权利要求2所述的方法,其特征在于,算法3,如下:(1)从教学机汇编语言源程序AsblProgram表中查找NewIname为所设计指令名称且Iname为JRZ的记录,假设查询结果有M条记录,令i=1;(2)设查询结果中记录i的Number字段值和DstAdr字段值分别为Numberi和DstAdri,如果DstAdri为FINISH,则更新timeConversion表中Number字段等于Numberi并且Condition字段值为“Z==1”的记录的NextTime为00000000,否则,转(3);
(3)在AsblProgram表中查找Label字段等于DstAdri的记录的Number字段值,记为DstNumber;(4)在ISEA表中查找Number字段等于DstNumber的记录的start字段值,记为JRDtime;(5)更新timeConversion表中Number字段等于Numberi并且Condition字段值为“Z==1”的记录的NextTime为JRDtime;(6)i=i+1,重复(2)~(5)步骤,直到i>M结束。6.根据权利要求1所述的方法,其特征在于,将所述节拍信号、所述控制信号和所述节拍转换关系导入设计好的TEC

XP16教学机组合逻辑控制器仿真软件中进行仿真,包括:设计TEC

XP 16教学机组合逻辑控制器仿真软件作为仿真调试工具;所述TEC

XP 16教学机组合逻辑控制器仿真软件导入为新指令设计的节拍信号和控制信号以及节拍转换关系,以单节拍方式运行,或者连续运行;观察每一个节拍运行后的通用寄存器、标志位、IR、AR、32位控制信号的内容。将所述节拍信号、所述控制信号以及节拍转换关系导入所述组合逻辑控制器仿真软件中进行仿真调试。7.根据权利要求1所述的方法,其特征在于,仿真通过之后,根据所述节拍信号、所述控制信号以及所述节拍转换关系,生成TEC

XP 16教学机组合逻辑控制器的源程序,包括:(1)打开控制器源程序文件m256...

【专利技术属性】
技术研发人员:宗德才王康康
申请(专利权)人:常熟理工学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1