CN1045674C - 一种宏指令集的指令体系 - Google Patents

一种宏指令集的指令体系 Download PDF

Info

Publication number
CN1045674C
CN1045674C CN92103092A CN92103092A CN1045674C CN 1045674 C CN1045674 C CN 1045674C CN 92103092 A CN92103092 A CN 92103092A CN 92103092 A CN92103092 A CN 92103092A CN 1045674 C CN1045674 C CN 1045674C
Authority
CN
China
Prior art keywords
instruction
territory
domain
data
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN92103092A
Other languages
English (en)
Other versions
CN1078318A (zh
Inventor
刘大力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nansi Science and Technology Development Co., Ltd., Beijing
Original Assignee
Duosi Software Co ltd Daxing C
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Duosi Software Co ltd Daxing C filed Critical Duosi Software Co ltd Daxing C
Priority to CN92103092A priority Critical patent/CN1045674C/zh
Priority to US07/882,295 priority patent/US5404555A/en
Priority to EP9292108227A priority patent/EP0513811A3/en
Publication of CN1078318A publication Critical patent/CN1078318A/zh
Application granted granted Critical
Publication of CN1045674C publication Critical patent/CN1045674C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

本发明提出了一种具有超长指令格式并采用了宏加工技术的计算机指令系统,该指令系统中的指令字长固定。但指令域可变,指令域中包括操作类型代码域、功能单元操作控制代码域、返回标志域和地址数据域。采用该指令系统可以使程序结构调用与返回操作实现零开销,并且实现单周期完成载出/存入操作,另外,本发明的指令系统还可以使计算机的运算操作序列可编。

Description

一种宏指令集的指令体系
本发明涉及一种计算机的指令系统,更明确地说,本发明涉及一种宏指令集指令体系。
多思宏指令集的指令体系(DSS MI-SC)是本发明的申请人多思软件有限公司提出的,具有超长指令格式并采用了宏加工技术的计算机指令系统,是DSS MISC系列微处理器的系统核心指令所固有的结构特性,宏指令集计算机(MISC macroinstruction Set Computer)是多思公司发明的新一代计算机的简称。所谓超长指令格式,至今没有确切的定义,但国际计算机界普遍认为指令字长在64bit(含64bit)以上的指令都可称作具有超长指令格式。所谓宏加工是指由许多基本而相对较简单的低一级处理功能,经选择、重组等处理后,产生出新的、相对较复杂的高一级处理功能,这种处理过程称之为宏加工,传统的微处理器指令格式称为CISC(Complicated irstruc-tion Set Computer-复杂指令集计算机)指令,其特征在于指令集中指令条数较多(几百至几千条);指令格式不固定(指令字长与指令域排列不定);指令的执行较复杂,每条指令平均需要几个甚至几十个机器周期才能完成。CISC指令的这些特点,使得CISC计算机设计与实现都相对复杂,而计器的指令处理效率不高。
八十年代中后期以来,国际计算机界不断推出基于一种称为RISC(reduced instnution set Computer-精简指令集计算机)指令体系的微处理器芯片(如MIPS公司的RR4000系列,Motorola的8804广泛应用于以小型机、工作站,直至大、巨型计算机中。RISC指令体系的特点在于指令条数少(几十到一、二百条,这也正是其精简指令集这一名称的由来);指令格式相对固定(32位字长),指令功能简单,硬件构成相对于CISC体系微处理器,变得十分简洁,由于采用了流水线硬件处理结构,使得RISC指令计算机的指令执行效率较之CISC有了很大提高,其处理速率约为每周期一件指令。九十年代初出现的超级流水RISC结构,使得RISC计算机的指令处理速率达到2条/周期以上。
RISC指令体系计算机的指令处理效率虽然较CISC有了较大提高,但指令功能不强又成为其一个弊端。许多较常用的处理操作功能,需用几条、十几条RISC指令去构造(而CISC仅需一条基本指令即可完成相应功能)。所以,总的来说,RISC指令体系还不能尽如人意。实际上,现在较成功的RISC芯片,都不是纯RISC体系,而是将RISC与CISC体系相溶合,取长补短,设计实现的。
本发明的目的是克服上述现有技术中存在的缺点,为此,提出了一种宏指令集指令体系。该指令体系的指令用的指令域中包括操作类型代码域,功能单元操作控制代码域,返回标志域和地址/数据域。使用本发明的指令体系,可以使程序结构调用和返回实现零开销,并可实现单周期混合字长的载出/存入操作。
本发明的指令体系的指令中还设置了分别与各个运算部件相对应的乘除运算控制域、加减运算控制域、移位运算控制域、逻辑运算控制域和数据流控制域。它们对数据在计算机内部各个功能部件之间流动的不同路径给予不同的编码,从而控制数据流过各功能部件的顺序和方向,达到使运算操作序列可编的目的。
DSS MISC指令体系正是吸取了CISC指令体系指令功能较强,RISC指令体系指令简洁,格式相对固定,处理速率高的优点,由北京多思软件有限公司(DSS)提出,并开发成功的,其主要特点如下:
①采用超长(64位)而固定的指令字长格式。
②指令字长固定,但指令域可变,其中的指令类型控制、主存访问控制、堆栈控制等域又相对固定。
③直接支持一种高级语言-FORTH语言,以FORTH词作为MISC指令体系的基本指令构成,从而使得基于MISC指令体系的微处理器的汇编语言实际上就是一种高级语言-Forth,从而减少了人与计算机之间的语言层次界面,提高了计算机处理问题的效率。
④一条指令同时驱动CPU内多功能模块并行运作,且指令的处理时间均为单一机器周期,从而使得CPU的实际处理效率可达3-5个FORTH词/周期,理论峰值可达7个FORTH词/周期。
图1是MISC指令的域格式分配图;
图2是图1所示的指令的另一种实施方式;
图3是计算机系统中的各个功能部件的硬件示意图;
图4是完成操作序列可编的指令的与运算相关的指令域构成示意
   图。
下面是对本发明实施例的详细叙述。
本发明的指令体系可以实现程序结构调用与返回操作的单周期零开销设计,所谓零开销,指的是某种操作不特别占用机器周期,即从外部特性看,该种操作不需要额外对间,我们称这种特性叫作零开销。它实际上是一种操作与另一种操作复合并行处理的外在表现形式。例如,在MISC体系中,程序结构的调用与返回操作就是与算术运算操作复合处理而完成的。我们只强调程序结构操作的零开销特性,却不说运算操作具有零开销特性。是因为运算操作是CPU内部一基本功能,而程序调用与返回却要涉及主存及外总线。
在MISC指令格式下,条件转移-IF…ELSE…THEN,定循环-DO…LOOP,DO…+LOOP,FOR…NEXT,不定循环BEGIN…UNTIL;条件不定循环BEGIN…WHILE…REPEAT;以及子程序与函数调用-CALL…RETURN等程序结构的调用与返回操作处理均实现了零开销设计。
这里所用的语言保留字均是FORTH语言单词,关于FORTH语言的详细情况请参阅专门书籍。本发明的说明如下:
图1所示是MISC指令的域格式分配图,在进行程序结构操作时,操作类型代码域(63:61)设置为程序结构操作类型代码;地址/数据域(31:φ)填充以程序结构处理的入口地址;功能单元操作控制代码域(60:33)除了设定对应于程序结构处理所需的多功能单元的特定动作外,还设置了经优化编译得到的部分后续运算操作的编码,使CPU能并行处理程序结构调用及其后续操作,从而在外在表现上,程序结构调用具有了零开销特性。结构返回标志代码域(32)根据是否完成了程序结构操作以及后续程序的要求,相应地设置是否返回标志。当该标志有效时,该域代码就控制CPU内的相应部件,并行复合完成结构返回以及其他后续操作,使程序结构返回呈现零开销特性。
本发明的指令体系还可实现单周期完成混合字长的LOAD/STORE操作。
在MISC体系结构计算机中,CPU与主存贮器间采用载出/存入(LOAD/STORE)方式进行数据交换。图2所示的指令格式与图1所示的相同。只是在功能单元操作控制域(6φ:33)的47:46位间开辟了一个数据长度控制子域。在进行LOAD/STORE操作时,操作类型代码域(63:61)为对应于LOAD/STORE的指令代码,返回标志域(32)及其他功能单元控制域(6φ:48、45:33)设定相应的CPU内部操作代码;地址/数据域(31:6)填充要载出的数据。与固定数据长度的LOAD/STORE处理所不同的是:在指令格式中,数据长度控制域(47:46)的不同编码分别对应于4组8bit数据、2组16bit数据、2组8bit数据与1组16bit数据、1组32bit数据的LOAD/STORE操作。我们称之为混合字长的LOAD/STORE。同MISC指令体系中的其他指令一样,LOAD/STORE指令也具有单一时钟周期完成的特性。
本发明的指令体系可实现运算操作序列可编、的特性。
所谓运算操作序列可编,是指由于电路结构的某种设置,对于几种操作算子的多种不同排列顺序所构成的多类运算,只需对指令体系中的数据流控制域相应地给出不同的代码,就能方便地予以实现。
现举例说明如下(下列程序实例是用Forth语言给出的。其中,A,B,C为三个操作数,“*”表示乘法运算;“←”表示左移一位,二进制数左移一位即是乘以2;“NOT”表示逻辑求反。有关Forth语言的语法、语义细节可参阅相关书图):
ABC*←NOT+与ABC+NOT←*
两个程序段,其算子与操作数都是相同的,只是由于算子的顺序不同,就成为两种不同的运算,ABC*←NOT+的含义,用算术逻辑关系表述就是: (B*C)*2+A;而ABC+NOT←*的含义是: (B+C)*2*A。在传统体系结构的计算机中,对于这两段程序就需要以顺序不同的指令流逐步地加以实现。而在我们的以数据流为体系结构特征的计算机中,只需要两条仅是数据流控制域不同的指令,就能实现上述两种操作,
数据流控制域的实质是:对数据在计算机内部多功能部件间流动的不同路径给以不同的编码,从而控制数据流过多功能部件的顺序以及数据流动的方向,得到程序所要求的相应的运算结果。
这种结构使得构建于加、减、乘、除、移位等算术运算以及与、或、非等逻辑运算这些基本运算操作基础上的复合操作,只通过指令多功能域及数据流控制域的不同编码,就能简更地予以控制实现。
下面给出这一特性的一个具体实现示例,需要指出的是:这里给出的只是基于操作序列可变的超长指令体系这一思想的一种实现方式,本领域的工作人员能够由此思想,给出多种不同的实现方式,但均不超出本专利范围。
如图3所示,其结构包括加、减运算部件,乘除运算部件,移位运算部件,逻辑运算部件四个基本运算部件,以及各运算部件的输入选通部件和生成结果的输出选通部件,其中基本运算部件能分别独立地完成加、减,乘、除,移位,基本逻辑运算等基本操作,而各运算部件的输入选通部件,产生各运算部件的操作权,其数据来源包括各运算部件的结果以及由有些部件外部口来的运算数据。输出选通部件从各基本运算部件的结果中选择生成最后的结果数据。
每个运算部件均由超长指令格式中的相应域给出当前所需运算操作的控制代码,与运算相关的指令域构成见图4,(这里给出的仅是一种原理性的说明形式,具体的指令构成形式可以不同,但原理均相同),例如,ABC*←NOT+其指令各域含义如下:乘除运算控制域给出作乘法运算的控制代码,加减运算控制域给出加法运算的控制代码,移位运算控制域给出左移一位的控制代码,逻辑运算控制域给出求反操作的控制码:而数据流控制域的编码,则应使得数据流动过程为:乘除运算部件输入选择B、C作为操作数,加、减运算部件输入选择A和逻辑运算部件结果为操作数;移位运算部件以乘除运算部件结果为操作数;逻辑运算部件选择移位部件的结果作为操作数;而输出选择部件则选择加减运算部件的结果作为输出的最终结果,这样,经过一段时间后,就能得到正确的,由ABC*SLNOT+指定的稳定的运算,操作结果。
对于ABC+NOT←*其各运算控制域的控制代码部分与ABC*←NOT+相同只是数据流控制域给出的编码,使得数据流动过程变成:乘除运算部件以A和移位运算部件结果为操作数;加减运算部件以B和C作为操作数,移位运算部件以逻辑运算部件结果为操作数;逻辑运算部件以加减运算部件结果为操作数,而最终结果则选择乘除运算部件的结果,经过一段时间后,就能得出稳定的,由ABC米NOT←指定的正确的运算操作结果,
以上实施例中给出的仅仅是依照本发明构思而产生的具体实例,但是本发明并不局限于此,本领域的一般技术人员完全可以依照本发明提出的原理作出各种变更和修改。因此本发明申请的专利保护范围以所附的权利要求为准。

Claims (9)

1.一种具有超长指令格式的计算机指令系统,该指令系统的指令由多个指令域构成,其特征在于:所述指令的字长固定,所述指令域可变。
2.根据权利要求1所述的计算机指令系统,其特征在于所述的字长为64位。
3.根据权利要求1所述的计算机指令系统,其特征在于所述指令域包括:操作类型代码域,功能单元操作控制代码域,返回标志域,地址/数据域,其中操作类型代码域设置为程序结构操作类型代码,地址/数据域中设置程序结构处理的入口地址,功能单元操作控制代码域设定对应于程序结构处理所需的各功能单元的特定动作,以及经优化编译得到的部分后继运算操作的编码,返回标志域根据程序结构操作是否已经完成以及后继程序的要求相应地设置是否返回的标志,当该标志有效时,该返回标志域中的代码就控制CPU内的相应部件,并行复合完成结构返回以及其他后继操作。
4.根据权利要求3所述的计算机指令系统,其特征在于
指令的第0位至第31位是地址/数据域;
指令的第32位是返回标志域;
指令的第33位至第60位是功能单元操作控制代码域;
指令的第61位至第63位是操作类型代码域。
5.根据权利要求1所述的计算机指令系统,其特征在于所述指令域包括操作类型代码域、数据长度控制域、返回标志域、地址/数据域,其中数据长度控制域用于控制载出/存入操作的数据长度和数据组数。
6.根据权利要求5所述的计算机指令系统,其特征在于所述数据长度控制域的不同编码分别对应于4组8位数据,2组16位数据,2组8位数据,1组16位数据以及1组32位数据。
7.根据权利要求1所述的计算机指令系统,其特征在于所述指令域包括乘除运算控制域,加减运算控制域,移位运算控制域,逻辑运算控制域,数据流控制域,其中各个运算控制域与各个运算部件相对应,在各个对应的运算控制域中给出当前所需运算操作的控制代码,从而控制各个运算的操作,数据流控制域的代码用于控制各个部件的数据来源。
8.根据权利要求7所述的计算机指令系统,其特征在于+,-,*,%等运算操作的操作序列可编。
9.根据权利要求1所述的计算机指令系统,其特征在于所述指令系统的保留字为FORTH语言单词。
CN92103092A 1991-05-17 1992-04-27 一种宏指令集的指令体系 Expired - Fee Related CN1045674C (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN92103092A CN1045674C (zh) 1992-04-27 1992-04-27 一种宏指令集的指令体系
US07/882,295 US5404555A (en) 1991-05-17 1992-05-13 Macro instruction set computer architecture
EP9292108227A EP0513811A3 (en) 1991-05-17 1992-05-15 A macro instruction set computer architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN92103092A CN1045674C (zh) 1992-04-27 1992-04-27 一种宏指令集的指令体系

Publications (2)

Publication Number Publication Date
CN1078318A CN1078318A (zh) 1993-11-10
CN1045674C true CN1045674C (zh) 1999-10-13

Family

ID=4940027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN92103092A Expired - Fee Related CN1045674C (zh) 1991-05-17 1992-04-27 一种宏指令集的指令体系

Country Status (1)

Country Link
CN (1) CN1045674C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1103467C (zh) * 1994-10-13 2003-03-19 北京南思达科技发展有限公司 宏指令集对称式并行体系结构微处理器
US7346881B2 (en) * 2002-05-13 2008-03-18 Tensilica, Inc. Method and apparatus for adding advanced instructions in an extensible processor architecture
CN101916180B (zh) * 2010-08-11 2013-05-29 中国科学院计算技术研究所 Risc处理器中执行寄存器类型指令的方法和其系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1009588B (zh) * 1985-06-28 1990-09-12 惠普公司 缩减指令集的计算机中字节传送的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1009588B (zh) * 1985-06-28 1990-09-12 惠普公司 缩减指令集的计算机中字节传送的方法和装置

Also Published As

Publication number Publication date
CN1078318A (zh) 1993-11-10

Similar Documents

Publication Publication Date Title
Tirumalai et al. Parallelization of loops with exits on pipelined architectures
Burch et al. Sequential circuit verification using symbolic model checking
US5404555A (en) Macro instruction set computer architecture
US20060080645A1 (en) System and method for optimizing source code
EA004196B1 (ru) Управляющий программный продукт и система обработки данных
KR0167005B1 (ko) 중앙처리장치
CN102289362A (zh) 分段符号执行装置及其工作方法
CN1045674C (zh) 一种宏指令集的指令体系
CN103838616A (zh) 基于树型程序分支的计算机程序即时编译方法
Aida et al. Compiling concurrent rewriting onto the rewrite rule machine
EP2430527A1 (en) Improvements relating to controlling simd parallel processors
Moon et al. Generalized multiway branch unit for VLIW microprocessors
Rho et al. Implementation of a RISC microprocessor for programmable logic controllers
Adams et al. Utilising low level parallelism in general purpose code: the HARP project
Thon et al. From C to silicon
Watt A technique for generic iteration and its optimization
Alba et al. Embedded systems design with frontend compilers
Brailsford et al. The MUSE machine—An architecture for structured data flow computation
Johnstone et al. Reverse compilation of Digital Signal Processor assembler source to ANSI-C
Burston et al. A design language for asynchronous logic
Kumamoto et al. VIRGO: Hierarchical dsp code generator based on vectorized signal flow graph description
Koseki et al. A global code scheduling technique using guarded PDG
Chapyzhenka sTTAck: Stack Transport Triggered Architecture
Phillips et al. Threaded code for laboratory computers
Abdollahzadeh Specification and analysis of the sequencing of computing operations in high level languages: with particular reference to parallel processing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C53 Correction of patent for invention or patent application
COR Change of bibliographic data

Free format text: CORRECT: PATENTEE; FROM: 100035 BEIJING CITY DAXING COUNTY DUOSI SOFTWARE CO., LTD. TO: BEIJING NANSIDA TECHNOLOGY DEVELOPMENT CO., LTD.

CP03 Change of name, title or address

Address after: 100044, Room 802, block B, building 54, white marble Road, Haidian District, Beijing

Patentee after: Nansi Science and Technology Development Co., Ltd., Beijing

Address before: 100035 Beijing city Xicheng District West Fourth North 3 ten

Patentee before: Duosi Software Co., Ltd., Daxing County, Beijing

C15 Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993)
OR01 Other related matters
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee