JP2571682B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2571682B2
JP2571682B2 JP61118348A JP11834886A JP2571682B2 JP 2571682 B2 JP2571682 B2 JP 2571682B2 JP 61118348 A JP61118348 A JP 61118348A JP 11834886 A JP11834886 A JP 11834886A JP 2571682 B2 JP2571682 B2 JP 2571682B2
Authority
JP
Japan
Prior art keywords
instruction
direct value
field
value field
sign bit
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 - Lifetime
Application number
JP61118348A
Other languages
English (en)
Other versions
JPS623332A (ja
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPS623332A publication Critical patent/JPS623332A/ja
Application granted granted Critical
Publication of JP2571682B2 publication Critical patent/JP2571682B2/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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は命令語中の直接値の処理を簡単・高速にした
情報処理装置に関する。
〔従来技術およびその問題点〕
コンピュータの命令には直接値を備えているものがあ
る。直接値とは命令自身に埋込まれているデータを意味
する。このデータは算術演算時のオペランドとして、あ
るいはアドレス計算用の変位値すなわちオフセット値と
して使用することができる。直接値は命令の内部にある
直接値フィールドに記憶されている。直接値フィールド
中の符号ビットは普通直接値フィールドの最上位(最も
左の)ビットである。コンピュータの命令群は命令群内
の異なる命令に対して異なる長さの直接値フィールドを
備えることができる。この結果、直接値フィールドの符
号ビットは命令ごとにその場所が変化する。これにより
命令デコード・プロセスが不当に複雑になることがあ
り、符号ビットが命令により規定された動作または副次
動作を制御する情報を含んでいる場合には特に厄介にな
る可能性がある。
命令自身が可変長であるとき、命令の各フィールドを
選択するのに広範なデコードが既に必要になっている。
符号ビットを抽出しデコードするに必要な複雑さは、各
命令のデコードに必要なオーバーに関しては無視してよ
い。しかしながら、命令の取出しとデコードのためのオ
ーバーヘッドが大きいため、可変長命令は魅力の無い場
合が多い。
命令が固定長であるとき、符号ビットを選定する各種
の手段が使用されている。たとえば、符号ビットを選定
するのにマルチプレクサが使用される。しかしながら、
マルチプレクサを使用するにはハードウェアを追加する
必要があり、クリティカルなタイミングの経路に余分の
遅れが生ずることがある。
代案として、符号付き直接値のフィールド長を変化さ
せないようにし、これによって、直接値フィールドを含
むすべての命令について同じビット位置に符号ビットが
来るようにしてもよい。こうすれば直接値フィルド内の
符号ビットをフィールド内の最左位置に置くという従来
のやり方のままで、各命令に対して同じ位置に符号ビッ
トが入ることになる。これは、しかしながら、表現可能
な直接値の数を不当に制限することになる。
〔発明の目的〕
本発明の目的は、上述した従来技術の問題点を解消
し、直接値フィールドを含んだ命令のデコードを簡単に
することを目的とする。
〔発明の概要〕
本発明の好ましい実施例によれば、命令群内において
直接値フィールドは命令ごとに長さを変えることができ
る。特に、直接値フィールドは固定長命令内のすべての
未使用ビットを埋め尽すことができる。しかしながら、
各直接値フィールド内の符号ビットはこのフィールドの
長さにかかわらず命令内の固定の位置に配置されてい
る。たとえば、符号ビット位置を右端にそろえておいて
よい。すなわち符号ビットを直接値フィールドの最下位
ビットである右端ビットに置く。符号付き直接値を有す
る全ての命令について、この右端ビットが同じ位置にな
るようにしておく。これにより時間がクリティカルな副
次動作を、符号ビットの位置ぎめを待たずに進めること
ができる。実行時に、適切なコンピュータのハードウェ
アまたはソフトウェアにより、符号ビットを直接値の最
左位置に来るように再組立することができる。たとえ
ば、符号ビットの配置はデータを選ぶ電線の順序を単に
並べ変えるだけで動かすことができる。したがって直接
値は任意の所望の数のビット数に符号拡張できる。
更に、本発明によれば、直接値を命令中の隣接しない
いくつかの可変部分に配置することができる。これは固
定長命令内のビット位置を最も多く使用し、またその際
に他の固定フィールド内の固定ビット位置に書込まずに
直接値を表わすことができるようにするために行われ
る。
〔発明の実施例〕
第1図〜第7図は命令群内の7つの固定長命令のフォ
ーマットを示す。第1図〜第7図の命令10,20,30,40,5
0,60,および70はコンピュータに、たとえば、メモリ・
ロケーションからデータをロッドし、メモリ・ロケーシ
ョンにデータを記憶し、条件付きであるいは条件無しで
コード中の新しい部分に分岐し長い直接値をレジスタに
配置し、あるいは算術計算を行うように命令することが
できる。命令10,20,30,40,50,60,および70の各々におい
て、固定フィールドには、たとえば、命令コード、レジ
スタ・アドレス、直接値、拡張命令コード、条件規定
子、および状態フィールドとして働く値を備えている。
第7図は6つの固定位置フィールド11,12,13,14,15,
および16を有する命令10を示す。命令10には直接値フィ
ールドが無い。
第1図は5つの固定位置フィールド21,22,23,24,およ
び25を有する命令20を示す。命令20は更に直接値フィー
ルド27と符号ビット・フィールド28とに入っている最大
長直接値を備えている。符号ビット・フィールド28は即
値27に関して右端位置に置かれている。
第2図は5つの固定位置フィールド31,32,33,34,およ
び35を有する命令30を示す。命令30も直接値フィールド
37と符号ビット・フィールド38とに入っている最大長直
接値を備えている。符号ビット・フィールド38は直接値
フィールド37に関して右端位置に置かれている。固定位
置フィールド35は命令20の固定位置フィールド25より短
い。これにより命令30中に生まれた余分なスペースを利
用するため、直接値フィールド37は拡張されている。
第3図は3つの固定位置フィールド41,42,および43を
有する命令40を示す。命令40も直接値フィールド47と符
号ビット・フィールド48とに入っている最大長直接値を
備えている。符号ビット・フィールド48は直接値フィー
ルド47に関して右端位置に置かれている。命令40には命
令30のフィールド34,35に相当する固定位置フィールド
が存在しない。直接値フィールド47には、フィールドの
数が少いために命令40中にできた余分なスペースを利用
するように拡張されている。
第4図は3つの固定位置フィールド51,52,55を有する
命令50を示す。命令50も直接値フィールド57,直接値フ
ィールド59,および符号ビット・フィールド58に入って
いる最大長直接値を備えている。符号ビット・フィール
ド58は直接値フィールド57に関して右端位置に置かれて
いる。命令50内の利用可能なスペースを最大限に利用す
るため、最大長直接値は、直接値フィールド57と直接値
フィールド59とが図示の如くたとえ隣接していなくて
も、直接値フィールド57,符号ビット・フィールド58,お
よび直接値フィールド59に入っている。
第5図は4つの固定位置フィールド61,62,65,および6
6を有する命令60を示している。命令60も直接値フィー
ルド67,直接値フィールド69,および符号ビット・フィー
ルド68に入っている最大長直接値を備えている。符号ビ
ット・フィールド68は固定位置フィールド66により直接
値フィールド67から分離されている。命令60内の利用可
能なスペースを最大限に利用するため、最大長直接値
は、図示の如く、たとえ直接値フィールド67,符号フィ
ールド68、および直接値フィールド69が互いに隣接して
いなくても、直接値フィールド67,符号ビット・フィー
ルド68,および直接値フィールド69に入っている。
第6図は2つの固定位置フィールド71と72とを有する
命令70を示す。命令70も直接値フィールド77と符号ビッ
ト・フィールド78とに入っている最大長直接値を備えて
いる。符号ビット・フィールド78は直接値フィールド77
に関して右端に置かれている。命令70には命令40のフィ
ールド43に相当する固定位置フィールドは存在しない。
直接値フィールド77は、フィールドの数が少いためにで
きた命令70の中の余分なスペースを利用するように拡張
されている。
第1図〜第6図に示す命令20,30,40,50,60,および70
のビット数はすべて同じである。命令20,30,40,50,60,
および70に入っている最大長直接値のビット長は、各命
令内の固定位置フィールドの数と長さとによって変る。
固定位置フィールドが利用しない、すべての利用可能な
ビット位置を最大長直接値を入れるように利用すること
ができる。
第8図において、コンピュータは命令・データ用のメ
モリ80,命令ユニット81,実行ユニット82,およびレジス
タ・ファイル83を備えている。代表的には、命令を実行
するとき、命令ユニット81は実行すべき次の命令のアド
レスを計算する。このアドレスはメモリ・アドレス・バ
ス85を経由して、メモリ80に送られる。受取ったアドレ
スによりメモリ80は次の命令の位置をつき止め、次の命
令を命令バス84を経由して命令ユニット81,実行ユニッ
ト82,およびレジスタ・ファイル83に送る。
命令が他にデータを必要としない場合、あるいはすべ
てのデータが一つまたは複数の直接値フィールドに入っ
ている場合には、実行ユニット82が命令を実行する。
命令が直接値フィールドに入っていない他のデータを
必要とする場合には、メモリ80からレジスタ・ファイル
83にアクセスしてデータを得なければならない。データ
がメモリ80の中にあるのであれば、命令ユニット81また
は実行ユニット82がそのデータが入っているメモリ80の
アドレスを発生する。このアドレスはメモリ・アドレス
・バス85を経由してメモリ80に送られる。受取ったアド
レスを使用して、メモリはデータを求め、そのデータを
オペランド・バス87を介して実行ユニット82に送る。
データがレジスタ・ファイル83の中にある場合には、
そのデータが入っているレジスタ・ファイル83の中のア
ドレスは通常命令バス84上の命令内に埋込まれている。
このアドレスはレジスタ・アドレス・バス86を経由して
レジスタ・ファイル83に送られる。受取ったアドレスを
使用して、レジスタ・フアイル83はそのデータを読出
し、このデータをオペランド・バス87を経由して実行ユ
ニット82に送る。レジスタ・ファイル83に記憶すること
ができるデータの量は一般にメモリ80に記憶されている
アドレス可能なデータの量よりも極めて少ないので、レ
ジスタ・ファイル83からのデータの読出しはメモリ80か
らデータを読出すよりはるかに速い。更に、データをメ
モリやレジスタから読出す必要がなくそのかわりすべて
のデータが命令自身の中に存在するときは、命令の実行
時間は最も少くてすむ。したがって最大長直接値を設け
ることは有利である。
レジスタ・ファイル83からのデータ読出しが命令自身
に埋込まれている直接値を抽出するより時間がかからな
い場合でも、最大長直接値を設けておくことはやはり有
利である。というのはこうすれば、一般に貴重な質源で
あるレジスタ・ファイル83の使用量を最小化できるから
である。レジスタ・ファイル83中のレジスタの使用法を
最適にするには、定数をレジスタには割当てず、命令自
身に埋込まれている最大長直接値に入れておけば良い。
〔発明の効果〕
以上説明したように、本発明によれば複数通りの長さ
の直接値フィールドをとれる命令体系の情報処理装置の
デコードを簡単かつ高速にすることができる。なお、当
然ではあるが、符号ビットの位置は命令語中の最下位と
は限らず、必要に応じて命令語中の任意の位置に定めて
も良い。
【図面の簡単な説明】
第1図ないし第7図は本発明の実施例で用いられる各種
の命令のフォーマットを示す図、第8図は本発明の実施
例のブロック図である。 10,20,30,40,50,60,70:命令、 27,37,47,57,59,67,69,77:直接値フィールド、 28,38,48,58,68,78:符号ビット・フィールド。

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】第1直接値フィールドを含む第1命令と、
    前記第1直接値フィールドとは長さが異なる第2直接値
    フィールドを含み前記第1命令と同一命令語長を持つ第
    2命令であって、かつ前記第1直接値フィールドの符号
    ビットと前記第2直接値フィールドの符号ビットが命令
    語中の同一ビット位置に置かれている第2命令とを実行
    可能な情報処理装置において、命令語をデコードする命
    令デコーダと、前記命令デコーダの出力に基づいて命令
    語内の前記直接値フィールドの値を用いて演算を行う演
    算器とを設けたことを特徴とする情報処理装置。
  2. 【請求項2】前記第1直接値フィールドの符号ビットと
    前記第2直接値フィールドの符号ビットは夫々の直接値
    フィールドの最下位ビット位置に置かれることを特徴と
    する特許請求の範囲第1項記載の情報処理装置。
  3. 【請求項3】前記第2直接値フィールドの前記符号ビッ
    ト以外の部分は前記第2命令中で不連続な位置を占める
    複数のフィールドに分けられていることを特徴とする特
    許請求の範囲第1項または第2項記載の情報処理装置。
JP61118348A 1985-06-28 1986-05-22 情報処理装置 Expired - Lifetime JP2571682B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/750,576 US4829424A (en) 1985-06-28 1985-06-28 Maximal length immediates with fixed sign position
US750576 1985-06-28

Publications (2)

Publication Number Publication Date
JPS623332A JPS623332A (ja) 1987-01-09
JP2571682B2 true JP2571682B2 (ja) 1997-01-16

Family

ID=25018418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61118348A Expired - Lifetime JP2571682B2 (ja) 1985-06-28 1986-05-22 情報処理装置

Country Status (7)

Country Link
US (1) US4829424A (ja)
EP (1) EP0209243B1 (ja)
JP (1) JP2571682B2 (ja)
CA (1) CA1259139A (ja)
DE (1) DE3685063D1 (ja)
HK (1) HK20693A (ja)
SG (1) SG131892G (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867681A (en) * 1996-05-23 1999-02-02 Lsi Logic Corporation Microprocessor having register dependent immediate decompression
US6044460A (en) * 1998-01-16 2000-03-28 Lsi Logic Corporation System and method for PC-relative address generation in a microprocessor with a pipeline architecture
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
US7103754B2 (en) * 2003-03-28 2006-09-05 International Business Machines Corporation Computer instructions for having extended signed displacement fields for finding instruction operands
US7356710B2 (en) * 2003-05-12 2008-04-08 International Business Machines Corporation Security message authentication control instruction
US7421566B2 (en) * 2005-08-12 2008-09-02 International Business Machines Corporation Implementing instruction set architectures with non-contiguous register file specifiers
US8918623B2 (en) 2009-08-04 2014-12-23 International Business Machines Corporation Implementing instruction set architectures with non-contiguous register file specifiers

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5439979B2 (ja) * 1972-08-01 1979-11-30
JPS5835642A (ja) * 1981-08-26 1983-03-02 Hitachi Ltd 不定長命令を扱うデ−タ処理装置
US4530050A (en) * 1981-08-26 1985-07-16 Hitachi, Ltd. Central processing unit for executing instructions of variable length having end information for operand specifiers
DE3470343D1 (en) * 1983-02-16 1988-05-11 Hoechst Ag Process for stimulating petroleum production wells
US4589067A (en) * 1983-05-27 1986-05-13 Analogic Corporation Full floating point vector processor with dynamically configurable multifunction pipelined ALU

Also Published As

Publication number Publication date
HK20693A (en) 1993-03-19
CA1266329C (ja) 1990-02-27
CA1259139A (en) 1989-09-05
SG131892G (en) 1993-06-25
JPS623332A (ja) 1987-01-09
EP0209243A2 (en) 1987-01-21
EP0209243B1 (en) 1992-04-29
US4829424A (en) 1989-05-09
DE3685063D1 (de) 1992-06-04
EP0209243A3 (en) 1988-10-26

Similar Documents

Publication Publication Date Title
US5922065A (en) Processor utilizing a template field for encoding instruction sequences in a wide-word format
US5819058A (en) Instruction compression and decompression system and method for a processor
US6925553B2 (en) Staggering execution of a single packed data instruction using the same circuit
EP0220684B1 (en) Data processing system
US6233671B1 (en) Staggering execution of an instruction by dividing a full-width macro instruction into at least two partial-width micro instructions
US5669012A (en) Data processor and control circuit for inserting/extracting data to/from an optional byte position of a register
WO1994016385A1 (en) System and method for assigning tags to instructions to control instruction execution
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
EP0220682A2 (en) Data processing system
EP3482288B1 (en) An apparatus and method for performing a rearrangement operation
JPS62197830A (ja) デ−タ処理システム
US20040225867A1 (en) System and method for storing immediate data
US20130145127A1 (en) Zero value prefixes for operands of differing bit-widths
JP2571682B2 (ja) 情報処理装置
JP2003044273A (ja) データ処理装置及びデータ処理方法
JP4955149B2 (ja) ビットfifoを有するディジタル信号プロセッサ
JPH03233630A (ja) 情報処理装置
EP1634163A1 (en) Result partitioning within simd data processing systems
JPS62226231A (ja) プロセツサ
EP0164418A1 (en) Microprogram control system
GB2239535A (en) Accelerating store operations in a RISC computer
US10963251B2 (en) Vector register access
JP2583506B2 (ja) データ処理装置
JPH0218732B2 (ja)
JP2576589B2 (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