JPS623335A - コンピュータ - Google Patents

コンピュータ

Info

Publication number
JPS623335A
JPS623335A JP61146759A JP14675986A JPS623335A JP S623335 A JPS623335 A JP S623335A JP 61146759 A JP61146759 A JP 61146759A JP 14675986 A JP14675986 A JP 14675986A JP S623335 A JPS623335 A JP S623335A
Authority
JP
Japan
Prior art keywords
instruction
register
comparison
computer
unconditional
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.)
Granted
Application number
JP61146759A
Other languages
English (en)
Other versions
JPH0769795B2 (ja
Inventor
Jiei Baumu Aren
アレン・ジェイ・バウム
Shii Miraa Terensu
テレンス・シー・ミラー
Ee Fuotorando Deibitsudo
デイビッド・エー・フォトランド
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.)
Hewlett Packard Japan Inc
Original Assignee
Yokogawa Hewlett Packard Ltd
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 Yokogawa Hewlett Packard Ltd filed Critical Yokogawa Hewlett Packard Ltd
Publication of JPS623335A publication Critical patent/JPS623335A/ja
Publication of JPH0769795B2 publication Critical patent/JPH0769795B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、コンピュータ・システムに係り、特に少数の
命令セットで動作するコンピュータにおいて′、高効率
化に貢献する新規な命令セントを備えたコンピュータ・
システムに関する。
〔従来技術及びその問題点〕
従来のマイクロプログラミング型コンピュータは、その
制御装置に読み出し専用メモリを使用している。プログ
ラミング命令が開始される毎に、前記制御装置はその命
令の機能或いは動作コード(以下、オペレージロン・コ
ード或いはopcode 或いは命令コードと称す。)
からアドレスを得て、前記読み出し専用メモリに与えて
いる。処理中の上述の特定命令実行のために前記コンピ
ュータに制御信号を供給する一連のワードのうち最初の
ワードが何であるかが上記アドレスにより検出される。
各命令は関連したマイクロサブルーチンに制御を渡す。
これによりコンピュータの命令毎の動作が詳細なレベル
におけるプログラムの実行により達成される。
そのような従来のコンピュータにおいては、一般的にプ
ログラム命令は、オペレーション・コードと、オペラン
ド、即ち演算されるべきデータの位置に相対的な情報と
を含む。これらのオペランドは、付加的に動作を指定す
る情報を含むこともある。前記プログラム命令の長さは
関連するデータ量に従って相対的に長(することもでき
るし、又は短くすることもできる。オペレーション・コ
ードは実行すべき動作を指定するものである。一度、オ
ペレーション・コードの長さが確定すると、ある固定組
(セット)のオペレーション・コード及びそれらに関連
したプログラム命令だけを持たせることが可能となる。
しかしながら、ある数のビットにより理論的に表せるオ
ペレーション・コード、即ち前記固定組のオペレーショ
ン・コードのすべてをマイクロプログラム化されたリソ
ースを備えたコンピュータのプログラム命令の特定のた
めに使用することはない。一般的には、上記固定組の一
部、即ちサブセットのみしか使用されておらず、この結
果、プログラミング効率の低下が生じている。
さらに、従来のコンピュータにおいては、使用されるメ
モリが最大のハードウェア・コストを占め、ているため
、ハードウェア・スピードの向上及びハードウェアの最
小化のためには、そのメモリの使用効率向上の達成が肝
要である。固定命令長コンピュータにおいては、実行す
べき動作が簡単であるか複雑であるかにかかわらず、各
命令ワードに対して同一ビット数を持たせる必要がある
このため、多くのビットが簡単な動作を指定するため無
駄に使用されている。また一方では、1命令の長さによ
ってその能力が制限される状態において、複雑な動作の
ために多くの命令が無駄に使用されている。したがって
、すべてのアプリケーションを実行できる命令セットを
有するコンピュータを設計することが望ましい。
従来、マイクロプログラミング型コンピュータの効率を
向上させるために、コンパイラを最適化する概念(co
ncept)を実施し、(1)プログラミング言語を大
仮想アドレス空間におけるマイクロ命令と同様な複雑で
ない命令レベルまでおとしてコンパイラし、また、 (2)技術的に可能な限り命令サイクル時間を短くする
ようにしている。そのように最適化されたコンパイラを
有するコンピュータは、以前のものより少ない命令を持
つように設計される。これらの少ない命令は、簡単なも
のであり、1サイクル内で実行される。そのようなコン
ピュータは少数の命令セントを有するコンピュータ(r
educed 1nstruc−tion set c
omputer以下RISCと略称)と呼ばれている。
ところで、多(のプログラムは、ある条件を判断し、そ
の判断の結果をプール変数にストアするというアルゴリ
ズムを備えている。ところが、従来例のコンピュータに
おける大部分の命令セットは、条件(比較の結果である
ことが多い。)を、分岐の決定を行うためだけに用いて
おり、条件から変数等に直接的に値を与えてはいなかっ
た。
これら従来例における命令セットの一例には、条件に基
づいてブランチすることによってビットのセント或いは
クリアを行うコードを構成せしめるための命令セットが
ある。この命令セントは、概して速度が遅く、高性能プ
ロセッサのバイブラ什ンにすきまをつくる条件分岐を含
んでいる。
もう一つの従来例の命令セットは、条件の値をレジスタ
に入れるという特別な命令を実行するものである。この
命令セットは、結果をストアするには条件が選択され決
定されるまで待たなければならなかった。この動作は別
のタイミングを伴うので、算術演算等の結果を得てスト
アするよりも遅かった。
〔目 的〕
本発明は、上記した従来技術の欠点を除くためになされ
たものであって、その目的とするところは、パイプライ
ン方式のコンピュータの条件判断を含むプログラムの実
行における効率を高めることである。
〔概 要〕
本発明の実施例では、比較の結果がある条件を満足する
か否かを判断すると同時に、この判断結果とは独立にレ
ジスタを所定値に設定する命令を実行する。この命令に
続く実行パス上で上述の判断結果に基づいて上記レジス
タを選択的に書き換えるごとにより、このレジスタには
上記判断結果に基づいた論理値等が入ることになる。本
特定の実施例に示されるように上記選択的な書き換えの
ために次命令の無効化を用いてもよい。
即ち、本発明の好ましい実施例による命令セットは、比
較の結果をストアする2つの命令を用いている。この2
つの命令は、分岐命令を用いておらず、また結果をスト
アする前に条件が確定するまで待つ必要もない。また、
それは、単に比較の結果としての「0」又は「1」の値
をストアする場合に比較して、より一般的な動作を実行
することもできる。
基本的には、この新規な命令セットは、2つのオペラン
ドを比較し、無条件にrOJ  (rOJは論理「偽」
を表す。)を指定されたディストネーションにストアす
るものである。
〔実施例〕
以下、本発明を図面に示す実施例に基づいて説明する。
本発明の好適な実施例によるコンピュータにおける命令
セットは、2つのレジスタの内容を比較し、1つのレジ
スタをクリアし、更に比較の結果に基づいて後に続く命
令を条件付で実行せしめるものである。
これは言い換えると、次のようなことである。
即ち、先ず2つ汎用゛レジスタ、例えば汎用レジススタ
「rb」及び汎用レジスタrrcJの内容を比較し、も
うひとつ別の汎用レジスタrraJをクリアしてゼロと
する。該比較命令に続いて、次の実行サイクルにおける
命令が条件付きで実行される。即ち、次命令の実行は、
条件が満たされた場合に無効化(nullify)され
る。この条件は、任意の算術演算の結果を表す条件又は
その否定条件でよい。
この比較・クリア命令、COMCLRは、次のように表
現される。
COMCLR,cf  rb、rc、raここで、cf
は算術演算結果を表す条件又はその否定条件、rb及び
rcはその内容が比較される汎用レジスタ、raはクリ
アされる汎用レジスタである。
そしてCOMCLRは、第1図及び下に示すような、フ
ォーマットを有している。
02 / r b / r c / c / f / 
44 / r aここで、02は、この命令が算術/論
理演算のクラスであることを示す6ビツトのフィールド
120゜ rb(ソースレジスタb)は、内容を比較するレジスタ
を汎用レジスタ「b」に特定する5ビツトフイールド1
22、 rc(ソースレジスタC)は、内容を比較するレジスタ
を汎用レジスタ「C」に特定する5ビツトフイールド1
24、 Cは、3ビツト条件指定子(スベシファイア)126、 fは、1ビツト否定指定子128. 44は、7ビツトオペレーシヨン・コード指定子、 ra(ターゲットレジスタa)は、内容をクリアするレ
ジスタを汎用レジスタraJに特定する5ビツトフイー
ルド132である。
命令110の動作は、次のように進行する。即ち、 +11  最初のサイクル、Tの間。
(a)汎用レジスタrrbjの内容と、汎用レジスタr
rcjの内容の1の補数と、「1」との和をとることに
より減算を行う。そして、 (b)汎用レジスタrrbJの値を「0」とする。
(2)2番目のサイクル、T+1の間。
(c、f)によって定義された条件が満たされた場合、
このT+1サイクルの間に実行された命令は無効化され
る。この無効化は、T+1サイクルの間に実行された命
令の結果のストアを阻止することによって行っても良い
この比較及びクリア命令110の動作を、第2図に基づ
いて説明する。この図では、レジスタ・ファイル210
から出た汎用レジスタrrbJ及びrrcJ  (図示
せず)の内容が演算装置(ALtJ)212で比較され
る。より詳細に言えば、レジスタrrbJの内容とレジ
スタrrcJの内容の1の補数と「1」とが加えられる
。マルチプレクサ(MUX)214は、ALU212か
らの入力220、命令110、及び「0」入力112に
対応して出力216を供給する。出力216は、COM
CLR命令の実行中だから該出力216には「0」人力
112が選択される。この出力216は、レジスタ・フ
ァイル210のレジスタ「ra」にに送られる。ALU
212で比較された結果は、予め選択された条件218
に従い、シーケンサ制御ユニットに送られる。ここで、
予め決められた条件によって左右される、次命令(例え
ば、rraJに「1」をセットする命令。)の無効化が
必要であるか否かの決定がなされる。したがって上記の
ような動作により、本発明によるコンピュータにおいて
は、予め選択されたレジスタを条件付でクリアする方法
が、円滑化、単純化、高効率化される。
〔効 果〕
本発明は、上記のように構成され、作用するものである
から、次命令を無効化するか否かの判断とレジスタのク
リアとが1サイクルでなされるので・、例えばある条件
を判断しその結果に基づいてレジスタの設定を行うプロ
グラムを実行する場合、より高速な処理が可能となる効
果が得られる。
【図面の簡単な説明】
第1図は本発明の実施例に係るコンピュータの備える比
較及び無条件クリア命令を示す図、第2図は本発明の実
施例に係るコンビエータの第1図に示す命令を実行する
ための装置のブロック図である。 11O:比較及び無条件クリア命令。 126.128:第1のフィールド。 122:第2のフィールド。 124:第3のフィールド。 130:第4のフィールド。 出願人 横河・ヒユーレット・パソカード株式会社

Claims (1)

  1. 【特許請求の範囲】 1 2つの値の比較において予め選択された条件を特定
    する第1のフィールドと、前記2つの値の一方を特定す
    るための第2のフィールドと、前記2つの値の他の一方
    を特定するための第3のフィールドと、無条件にクリア
    されるべきレジスタを特定するための第4のフィールド
    とを有する命令を備え、且つ、 前記命令に応答し、前記レジスタに対するアクセスと、
    前記レジスタの無条件のクリアとをなすための装置を備
    えていることを特徴とする比較及び無条件クリア命令を
    備えたコンピュータ。 2 前記装置は、前記2つの値を読むため、前記命令の
    前記第2のフィールド及び第3のフィールドに応答する
    応答手段と、前記2つの値を比較するため前記読み出し
    手段に接続された比較手段と、次命令を無効化するため
    に前記比較手段と前記第1のフィールドとに応答する無
    効化手段とを備えているものであることを特徴とする特
    許請求の範囲第1項に記載の比較及び無条件クリア命令
    を備えたコンピュータ。 3 前記装置は、前記コンピュータの1サイクルの間に
    前記命令を実行するものであることを特徴とする特徴と
    する特許請求の範囲第1項又は第2項に記載の比較及び
    無条件クリア命令を備えたコンピュータ。
JP61146759A 1985-06-28 1986-06-23 コンピュータ Expired - Lifetime JPH0769795B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/750,809 US4747046A (en) 1985-06-28 1985-06-28 Mechanism for comparing two registers and storing the result in a general purpose register without requiring a branch
US750809 1991-08-27

Publications (2)

Publication Number Publication Date
JPS623335A true JPS623335A (ja) 1987-01-09
JPH0769795B2 JPH0769795B2 (ja) 1995-07-31

Family

ID=25019253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61146759A Expired - Lifetime JPH0769795B2 (ja) 1985-06-28 1986-06-23 コンピュータ

Country Status (6)

Country Link
US (2) US4747046A (ja)
EP (1) EP0206276B1 (ja)
JP (1) JPH0769795B2 (ja)
AU (1) AU583929B2 (ja)
CA (1) CA1258712A (ja)
DE (1) DE3686741T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0330018A (ja) * 1989-06-28 1991-02-08 Nec Corp 10進演算方式

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4814976C1 (en) * 1986-12-23 2002-06-04 Mips Tech Inc Risc computer with unaligned reference handling and method for the same
CA1327080C (en) * 1987-05-26 1994-02-15 Yoshiko Yamaguchi Reduced instruction set computer (risc) type microprocessor
JP2655191B2 (ja) * 1989-07-05 1997-09-17 三菱電機株式会社 演算処理装置
CA2045735A1 (en) * 1990-06-29 1991-12-30 Richard Lee Sites Computer performance by eliminating branches
CA2162115A1 (en) * 1993-06-14 1994-12-22 David V. James Method and apparatus for finding a termination character within a variable-length character string on a processor
US5815695A (en) * 1993-10-28 1998-09-29 Apple Computer, Inc. Method and apparatus for using condition codes to nullify instructions based on results of previously-executed instructions on a computer processor
US6058473A (en) * 1993-11-30 2000-05-02 Texas Instruments Incorporated Memory store from a register pair conditional upon a selected status bit
US6026484A (en) * 1993-11-30 2000-02-15 Texas Instruments Incorporated Data processing apparatus, system and method for if, then, else operation using write priority
DE4430195B4 (de) * 1993-12-13 2004-09-23 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Verfahren zur Auswertung von Booleschen Ausdrücken
US5623615A (en) * 1994-08-04 1997-04-22 International Business Machines Corporation Circuit and method for reducing prefetch cycles on microprocessors
US5768172A (en) * 1995-10-04 1998-06-16 Apple Computer, Inc. Graphic software functions without branch instructions
US7801215B2 (en) * 2001-07-24 2010-09-21 Sasken Communication Technologies Limited Motion estimation technique for digital video encoding applications
JP3851228B2 (ja) 2002-06-14 2006-11-29 松下電器産業株式会社 プロセッサ、プログラム変換装置及びプログラム変換方法、並びにコンピュータプログラム
EP1387255B1 (en) * 2002-07-31 2020-04-08 Texas Instruments Incorporated Test and skip processor instruction having at least one register operand
EP1387254B1 (en) * 2002-07-31 2012-12-12 Texas Instruments Incorporated Skip instruction carrying out a test with immediate value
EP1891517A4 (en) 2005-05-24 2008-08-13 Texas Instruments Inc OPERAND WITH DISPLAY FOR PROCESSING MICROSE RATES

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3577190A (en) * 1968-06-26 1971-05-04 Ibm Apparatus in a digital computer for allowing the skipping of predetermined instructions in a sequence of instructions, in response to the occurrence of certain conditions
US3881173A (en) * 1973-05-14 1975-04-29 Amdahl Corp Condition code determination and data processing
DE3174130D1 (en) * 1981-08-19 1986-04-24 Ibm Improved microprocessor
US4569016A (en) * 1983-06-30 1986-02-04 International Business Machines Corporation Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system
US4589065A (en) * 1983-06-30 1986-05-13 International Business Machines Corporation Mechanism for implementing one machine cycle executable trap instructions in a primitive instruction set computing system
US4618956A (en) * 1983-09-29 1986-10-21 Tandem Computers Incorporated Method of operating enhanced alu test hardware
US4654786A (en) * 1984-04-11 1987-03-31 Texas Instruments Incorporated Data processor using picosquencer to control execution of multi-instruction subroutines in a single fetch cycle

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0330018A (ja) * 1989-06-28 1991-02-08 Nec Corp 10進演算方式

Also Published As

Publication number Publication date
US4747046A (en) 1988-05-24
JPH0769795B2 (ja) 1995-07-31
US4873627A (en) 1989-10-10
CA1258712A (en) 1989-08-22
AU5934186A (en) 1987-01-08
AU583929B2 (en) 1989-05-11
EP0206276B1 (en) 1992-09-16
EP0206276A3 (en) 1988-10-05
DE3686741T2 (de) 1993-01-21
DE3686741D1 (de) 1992-10-22
EP0206276A2 (en) 1986-12-30

Similar Documents

Publication Publication Date Title
EP0455345B1 (en) Programmable controller
US4740893A (en) Method for reducing the time for switching between programs
US5293592A (en) Decoder for pipelined system having portion indicating type of address generation and other portion controlling address generation within pipeline
US6157996A (en) Processor programably configurable to execute enhanced variable byte length instructions including predicated execution, three operand addressing, and increased register space
JPS623335A (ja) コンピュータ
KR100327778B1 (ko) 다중명령 세트를 이용한 데이터 프로세싱 방법
JP2848606B2 (ja) マクロ命令パイプラインを用いてマイクロ命令を変更する方法及び装置
EP0427245B1 (en) Data processor capable of simultaneously executing two instructions
US5381531A (en) Data processor for selective simultaneous execution of a delay slot instruction and a second subsequent instruction the pair following a conditional branch instruction
JP2002512399A (ja) 外部コプロセッサによりアクセス可能なコンテキストスイッチレジスタセットを備えたriscプロセッサ
US4893233A (en) Method and apparatus for dynamically controlling each stage of a multi-stage pipelined data unit
JP2507638B2 (ja) デ―タ処理装置
JPH1049370A (ja) 遅延命令を有するマイクロプロセッサ
JP2840604B2 (ja) マイクロコード式cpuで実行される命令用のオペランドを指定する方法および装置
JPH01137331A (ja) 制御ワード分岐方法
JPH10222368A (ja) データ処理装置
JPH07120284B2 (ja) データ処理装置
JPS623336A (ja) 条件付きブランチ方式
JPS6389932A (ja) デ−タ処理装置
DeRosa et al. Design and Implementation of the VAX 8600 Pipeline
US20230205436A1 (en) Zero cycle memory initialization
US20230098724A1 (en) Copy a subset of status flags from a control and status register to a flags register
JP2534674B2 (ja) 情報処理装置
Bletsch et al. ECE/CS 250
JPH04167027A (ja) 並列演算処理装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term