设计策略
用户可以根据不同的系统采用不同的设计策略 。
**CICS设计策略:**它考虑到体系结构与编译程序的密切关系。指令集合的设计是从规则性,正交性 和可合 成性等 方面考虑。这种设计策略形成的指令集相当全面和完整。但是这种设计 策略很难完全满足。
RISC设计策略:它主要研究指令的最小有效集。充分考虑VLSI技术的特点,使芯片上不规则逻辑尽量减少 。因而,它很受VLSI设计界的欢迎。但是,由于RISC主张指令集尽可能简单,以至有时最基本的操作也要用微程序来实现。
MISC设计策略:MISC设计策略在研究中不但考虑指令系统的完 整性,而且考虑如何使指令集合针对某一特定的应用最小, 巨最优。 MISC形成的系统,一方面提供所支持高级语言或特定应用的基元,而不象CICS设计策略那样只提供解法;另一方面 ,它不象CISC那样过分简单,而是针对所支持的高级语言和特定的应用综合考虑编译效率和运行效率。所以,MISC是目前在计算机系统设计中常用的方法之一。
GISC设计策略:GISC设计策略是借助于微程序设计技术。设计出一个总指令集,它可以覆盖多方面的应用 。但真正作出核心微型计算机时则只按用到的指令,即总指令集的一个一子集来实现,GISC 与CISC有着根本的区别。CISC设计策 略中的复杂指令集合,是在CISC机器上直接实现的。因而占用芯片的面积资源多,使芯片设计复杂化。而GISC设计策略中的总指令集,并不是同时在核心微型计算机上直接实现,而只是根据实际需要实现相应子集合。1
指令集分类按功能可以将通用控制语言的指令分为七大类:
1)算术指令:ADD加;SUB减;MUL乘;DIV除;MATRIX矩阵。
2)布尔指令:INV求反;COMP比较;AND与;OR或;BAND位与;BOR位或;BANDNOT位与非;BORNOT位或非。
3)I/O指令:FIN文件输入;FOUT文件输出;OUT输出;IN输入。
4)程控指令:GOSUB转子;RET返回;STR开始;SKIP跳格;JMP转移;MCS功能开始;MCR功能结束;END结束。
5)专用指令:TMR时间控制器;CNT记数器;SR漂移寄存器。
6)通信指令:FUN1;FUN2;FUN3;不固定,作为功能指令。
7)辅助指令:SHL左移;SHR右移;SET预置;RST重置;CLC清除;MOV移动。1
要求通用控制语言指令集合应当满足:
①指令系统本身要具有易理解,易修改和完备性。
②形成的软件应尽可能满足软件质量标准:简明性和有效性。
③针对GCL是用于实时控制系统或与其类似的系统,GCL应支持类似于梯形逻辑图的语言。
这些在实时控制中常用工程技术表示和控制中的一些特定应用。鉴于这些特点,我们采用了介于CISC设计策略和RISC设计策略之间的MISC设计策略。GCL指令集包括了算术运算、布尔运算等一般通用指令,而且包含了控制操作。通信操作等专用指令。从而使GCL语言不但具备相对完备性,而且在实时控制中具有一定的效率。1
结构性能1) GCL语言可方便地进行8位,16位,32位及1位的算术运算和逻辑运算。例:ADDA,B为32位加运算。ADD AH,BH为8位加运算。所以,GCL语言是一种运算功能很强的语言。
2) GCL语言除一般的输入输出指令外,还具有强制输入输出指令。例:FIN和FOUT。这样为控制系统的测试提供了方便。
3) GCL语言提供了模块设计的手段,例如MCS和MCR指令。MCS指令相当于结构程序语言PASCAL中的BEGIN,MCR相当于END。
4) GCL语言提供了很强的数据传送指令MOV。MOV指令不但可以进行寄存器间的传送,而且可以是数据块的传送。例:MOV A,B是将寄存器A的内容传给寄存器B。MOV X1,X2,D是将从X1为开始地址,长度为D的内容传送给以X2为首地址的相应单元。
5) GCL语言为实时控制系统提供了专用指令TMR,CNT,SR。
6) GCL语言为多机并行控制系统提供了通信可能。因它具有指令FUN1,FUN2,FUN3。
7) GCL语言除了上面的六个特点外,它还考虑了VLSI实现中的问题,有意地避免使用00,55,88,和FF这四个易出错单元。这点从GCL语一言的指令编码可以看到。为今后进一步发展打好了基础。
8) GCL语言中的GOSUB,RET等语句增强了语言的可读性。1