JPS623338A - 直接値処理方式 - Google Patents

直接値処理方式

Info

Publication number
JPS623338A
JPS623338A JP61111739A JP11173986A JPS623338A JP S623338 A JPS623338 A JP S623338A JP 61111739 A JP61111739 A JP 61111739A JP 11173986 A JP11173986 A JP 11173986A JP S623338 A JPS623338 A JP S623338A
Authority
JP
Japan
Prior art keywords
instruction
register
direct value
bit
bits
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.)
Pending
Application number
JP61111739A
Other languages
English (en)
Inventor
Esu Uoorii Jiyunia Uiriamu
ウイリアム・エス・ウオーリイ.ジユニア
Jieimuzu Mahon Maikeru
マイケル・ジエイムズ・マホン
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 JPS623338A publication Critical patent/JPS623338A/ja
Pending 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/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は命令語中に埋め込まれた直接値から語長と等し
い長さのデータを生成するための直接値処理方式に関す
る。
〔従来技術およびその問題点〕
多くの高速のプロセッサを使用するにあたって。
このプロセッサによって実行される命令ストリームの中
にデータを埋め込んでおくことはしばしば有益である。
たとえば、32ビツトのプロセッサは32ビツトのデー
タ・パスとレジスタを持っている。このプロセッサの命
令語長をデータ語長と一致させる様々な利点があること
がわかっている。
従って命令語長を32ビツトとするとデータをメ32ビ
ット中の一部分のフィールドに埋め込まなければならな
い。明らかに、32ビツトしかない命令語中に32ビツ
トのデータ全体を埋め込むことは不可能である。
従来技術においては、長直接値(Iongirrmed
iate)オペランド・モードを用いることにより、デ
ータを命令ストリームの中に「間接的に」埋込む技法が
知られている。このような従来技術においては。
先行するたとえば32ビツトの命令がプロセッサに対し
て、命令ストリーム中の次の32ビツトを命令ではなく
32ビツトのデータとして取扱うように指令する。これ
によれば、データ語全体を命令スl−IJ−ム中に埋込
むことはできるが、その一方ではプロセッサの制御ユニ
ットの設計や誤り処理ソフトウェアが複雑となってしま
うという欠点がある。このハードウェアやソフトウェア
の追加が必要となる理由は、もし先行する命令の実行と
次のデータ語のロードとの間にページ・フォルトあるい
は割込が起ったとすると、プロセッサは。
次の語は命令ではなくデータである。ということを覚え
ておかなければならないからである。
〔発明の目的〕
本発明はハードウェアやソフトウェアを複雑化すること
なしに、1語長のデータを命令中から生成するための直
接値処理方式を提供することを目的とする。
〔発明の概要〕
本発明の一実施例の直接値処理方式においては。
特別な誤り処理ハードウェアやソフトウェアを必要とす
ることなしにデータを一対の命令中に埋込むことができ
る。最初の命令として、  LOAD゛IM−MEDI
ATE LEFTと呼ばれる命令が与えられる。この命
令中には、命令コードと、ターゲット・レジスタ・アド
レスと、21ビツトのデータ(直接値)が含まれている
。この命令はその中の21ビツト・データの右側に11
個のゼロをパディングしてでき上がる32ビツト、すな
わち1語長のデータをターゲット・レジスタにロードす
る。次の命令はADD IMMEDIATE である。
この命令は命令コードと、ターゲット・レジスタ・アド
レスと、11ビツトの直接値を含む。この後者の命令に
より。
11ビツトの直接値が先行する命令で生成された   
  ・データに対して右詰めで、すなわち下位側に2足
し込まれる。これにより32ビツト長のデータがターゲ
ット・レジスタ上に完成される。各命令は独立して完了
するので、どんなページ・フォルトや割込みも通常の処
理を行なえる。つまり前述の命令が用いられる。この命
令はソース・レジスタの内容に21ビツトの左詰めされ
た。つまり語の上位側にそろえられた。直接値を加算し
その結果を所定のレジスタにストアする。この命令には
命令コード、ソース・レジスタ・アドレス、および21
ビツトの直接値が含まれている。この命令においては直
接値から加算のための32ビツト長データを生成する際
、右側、つまり下位側、にはOをパディングし、その結
果をソース・レジスタの内容と加算するのである。この
加算結果は所定のレジスタにストアされる。このレジス
タ中の値はこの命令以降に実行されるメモリ参照命令、
たとえばLOAD命令や5TORE命令、のアドレス修
飾に用いることができる。すなわち上述のレジスタをイ
ンデクス・レジスタとして指定する。11ピツ令でソー
ス・レジスタとして用いたレジスタ中にメモリ参照命令
中の11ビツトの直接値から構成される丸々32ピット
のディスプレースソフトを与えることができるのである
〔発明の実施例〕
第4図に2本発明の実施例に用いることができる典型的
なプロセッサ1のブロック図を示す。プロセッサ1には
命令キャッシュ5を介してメモリ7から命令を受取るI
ユニット(制御ユニット)3が含まれている。■ユニッ
ト3はALU(算術論理ユニット)9およびレジスタ・
バンク11を制御する。ALU9とレジスターバンク1
1はCユニット15を構成し、データ・キャッシュ13
を介してメモリ7からデータを受取る。レジスタ・バン
ク11には汎用のレジスタ17.21および後述の用途
のために予約されているレジスタ19等の各種の個別の
レジスタが含まれ−〔いる。
第2人図には32ビツト長のLDIL(LO入DIMM
gDIA’rE LEFT)命令31ノヒツト構成カ示
されている。上位6ビツトはLDIL命令であることを
示す命令コードが入っている命令コード・フィールド3
3になっている。ターゲット・フィールド35には第4
図に汎用のレジスタとして示したターゲット豊レジスタ
17を指している5ビツトのアドレスが入っている。L
DIL命令の下位21ビツトは11接直i′を含む直接
値フィールド37になっている。この直接値i′が所望
32ピツト・デ−夕語り上位21ビツトとなる。
第2B図には32ビツト長のADI(ADD IMME
D−IATE )命令41のビット構成が示されている
。上位6ビツトはADI命令であることを示す命令コー
ドが入っている命令コード・フィールド43である。ソ
ース・フィールド45およびターゲット・フィールド4
7の両者にはいずれもLDIL命令31でターゲット・
レジスタとして指定された汎用のレジスタ17の5ビツ
トのアドレスが人っている。これは、ターゲット・レジ
スタ17の内容ある。もし必要なら、ターゲットφフィ
ールド47内のアドレスtを変えることにより、この和
を別のターゲット・レジスタ内にストアすることもでき
る。条件フィールド49は、このADI命令410次の
命令がスキップされる条件を示すのに用いて良い。1ビ
ツトの拡張フィールド51は命令コードを拡張するのに
用いられる。ADI命令41の下位11ビツトは、所望
の32ビツト・データ語の下位11ビツトとなる直接値
i′を含む直接値フィールド53である。
第3A図はLDIL命令31およびADI命令41を構
成するためのステップを示すフローチャートである。ス
テップ61では、ターゲット・レジスタ17にロードさ
れるべき所望の32ビツトのデータ語が生成される。こ
の32ビツトのデータ語は上位21ビット部分のi′お
よび下位11ビット部のi′に分割される。ここで32
ビツトのデータ語は (i’X2)+i’ と定義される。ステップ63では、データ語の上位21
ビツトi′はLDIL命令31021ピットの直接値フ
ィールド37に書込まれる。ステップ65では、ターゲ
ット・レジスタ17の5ビツトのターゲット・アドレス
tがIj)IL命令31のターゲット・フィールド35
に書込まれる。ステップ67と69では、所望のデータ
語の下位11ビツトi′がADI命令41の11ビツト
の直接値フィールド53に書込まれるとともに、ソース
およびターゲット・アドレスが夫々ソース・フィールド
45およびターゲット・フィールド47に書込まれる。
第3B図はLDIL命令31とADI命令41の実行中
にとられるステップを示すフローチャートである。ステ
ップ81で、 LDIL命令31が読出され、ステップ
83では直接値i′の右側に11個のゼロをパディング
して32ビツトの左詰めされた語が生成される。ステッ
プ85でこの結果の語が。
第1A図に示されるように、ターゲット・レジスタ17
にロードされる。すなわち語の上位21ビット部101
には1′が入り、下位11ピット部103は全て0であ
る。この時点で、 LDIL命令31は1次のADI命
令41の実行とは独立に、完全に実行が終了する。従っ
て、ステップ87でのページ・フォルトや割込みは2通
常のやり方で処理されることができる。と言うのはレジ
スタ内容の退避を行なうだけでよいからである。つまり
従来技術においては必要であった9次命令が実はデータ
として扱われるべきものであるという定義等の特別なス
テータス情報の退避はここでは必要とされない。
ステップ89でADI命令41が読出され、ステップ9
1では11ビツトの直接値11がターゲット・レジスタ
17の内容と加算されてその和がターゲット・レジスタ
17に書戻される。その結果。
第1B図に示すように、所望のデータ語(’rX2)x
i′がターゲット・レジスタ17にストアされる。
なお、 ADI命令41の実行にあたって、符号拡命令
1110ビット構成を示す。ADIL命令は21ピツト
の左詰めされた値を32ビツトのソース・レジスタの内
容と加算する。この結果をメモリ診照2命令の11ビツ
トのディスプレースソフトと組合わせることにより、3
2ビツトの語長いっばいのディスプレースソフトを得る
ことができる。すなわちADIL命令111のソース・
レジスタの内容に32ビツトのディスプレースソフトを
加えた実効アドレスが得られるから、32ビツトよりも
短かいディスプレースソフトを持ったメモリ参照命令し
かなくても、もう1ステツプの追加で実質的に32ビツ
トのディスプレースメント付きのメモリ参照命令を持っ
ている場合と同じアドレシング能力を有することができ
る。
’ ADIL命令の上位6ビツトはADIL命令である
ことを示している命令コード・フィールド113になっ
ている。ソースφフィールド115は第4図に汎用のレ
ジスタ21として示されているソース・レジスタの5ビ
ツトのアドレスを含んでいる。
ADIL 111の下位21ビツトは直接値iを含んで
いる直接値フィールド117になっている。この直接値
iがソース・レジスタ21の内容に加算される。
第8A図および第8B図には、32ピツト長の2つのメ
モリ参照命令であるLOAD命令191と5TORE命
令211が示されている。両命令は夫々命令コード・フ
ィールド193,213を含んでいる。両命令はまた夫
々ペース・フィールド195゜215を含んでいる。ペ
ース・フィールドはアドレス・ディスプレースソフトの
起点となるペース・アドレスを含んでいるペース・レジ
スタのアドレスを指定する。ターゲット・フィールド1
97はターゲット・レジスタを指定し、またソース・フ
ィールド217はソース・レジスタを指定する。
空間フィールド199および219はアドレス空間を特
定する。ディスプレーソフト・フィールド201および
221は、予約されたレジスター9の内容と加算すべき
14ビツトのディスプレースソフトを含んでいる。
第6A図はADIL命令およびLOAD命令の対を生成
するためのステップを示すフローチャートである。ステ
ップ131でソース・レジスタ21の内容に加算される
べき所望の上位21ビツトが生成さ、れる。この上位2
1ビツトは、たとえば、後に用いられる特定のアドレス
・ディスプレーソフトあるいはソース・レジスタ21中
に置かれているデータの修飾のためのデータの一部ある
いは全部     4□1.1 として用いることができる。ステップ133でこ   
  、7:′、1 021ビツトが直接値フィールド117に書込ま   
  、れ、ステップ135ではソース・レジスタ210
ンースφアドレスrがソース・フィールド115に書込
まれる。なお、この21ビツトと加算されるべきソース
・レジスタ21の内容の準備のための命令あるいは命令
列は別途作成される。命令コードにより、この加算の結
果は予約されたレジスタ19にストアされることになっ
ているので。
ADIL命令ではこのレジスタ19を明示する必要はな
い。ステップ137ではターゲット・レジスタのアドレ
スがターゲット・フィールドに書込まれ、またステップ
139では下位11ビツトがディスプレースソフト・フ
ィールド201に書込まれる。ディスプレースメントe
フィールド201は14ピット長だから、この11ビツ
ト値の左側には3個のOがパディングされる。11ビツ
トより長い値を置いた場合には切りつめられる。
第6B図はADIL命令111およびLOAD命令19
1を実行する過程でとられるステップを示すフローチャ
ートである。ステップ151でADIL命令111が読
出され、ステップ153では、第7A図に示されるよう
に、直接値lの右側に11個のOがパディングされ、上
位21ビット部183にはiが、また下位11ビット部
185は全て0となる。ステップ、55および、5□で
、家パディ     jングされた直接値iがソース・
レジスタ21の内     ′パ・容Zと加算されて、
その結果が第7B図に示され     するように予約
されたレジスター9にストアされる。    ゛・その
結果として得られる予約されたレジスター9     
゛の内容は (+X2)+Z  と定義できる。
ステップ159では、 LOAD命令191が読出さ 
    ”れ、ステップ161では11ピツトのディス
プレ     ′ワ 一スソフト201が、フィールド195によりべ   
  、。
−ス・レジスタとして指定されたレジスター9(ADI
L命令111における予約されたレジスタ)の    
 9:二 内、容と加算される(これが実効アドレスとなる)。 
   ゛う:もし命令コード・フィールド193で、レ
ジスタ     ′、・こ 19の内容を修飾する( modify )ことが指定
さ     □・れていれば、ステップ165において
この和がべ     パ゛□−7,7つ7.、、オヶゎ
あ+ゎあゎえ7つ72    ”゛で]5 19に書戻される。ペース・レジスタ・フィール   
  ″いド195は、このLOAD命令191のに一ス
 ・レジスタとしてADIL命令111の予約された 
レジスタを指定しているのである。
〔発明の効果〕
以上説明したように2本発明によれば直接値を上位側に
詰めたデータを発生することにより、単語長命令だけを
用いて簡単に1語長データを発生することができる。な
お念のため言及しておけば。
ここでデータとはアドレスも含む広い概念であることは
これまでの説明から明らかであろう。
【図面の簡単な説明】
第1A図および第1B図は本発明の一実施例によって生
成されるデータを示す図、第2A図および第2B図は本
発明の一実施例で使用される命令のビット構成を示す図
、第3A図および第3B図は第2A図および第2B図に
示される命令の生成および実行のためのステップを示す
図、第4図は本発明の一実施例および他の実施例に用い
ることができるプロセッサのブロック図、第5図、第8
A図および第8B図は本発明の他の実施例に用いられる
命令のビット構成を示す図、第6A図および第6B図は
第5図、第8A図および第8B図に示される命令の生成
および実行のためのステップを示す図、第7A図および
第7B図は本発明の他の実施例によって生成されるデー
タを示す図である。 31 : LDIL命令。 37.53,117:直接値フィールド41、ADI命
令。 101.183 :上位21ビット部。 103.185 :下位11ビット部。 111:ADIL命令。 191:LOAD命令。 201.211 : ディスプレースソフト・フィール
ド。 211 : 5TORE命令。

Claims (1)

  1. 【特許請求の範囲】 命令語中に埋め込まれた1語長よりも短かい直接値から
    1語長のデータを生成する直接値処理方式において、 前記直接値を語の上位桁側に詰めたデータを生成するこ
    とを特徴とする直接値処理方式。
JP61111739A 1985-06-28 1986-05-15 直接値処理方式 Pending JPS623338A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75037685A 1985-06-28 1985-06-28
US750376 1985-06-28

Publications (1)

Publication Number Publication Date
JPS623338A true JPS623338A (ja) 1987-01-09

Family

ID=25017619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61111739A Pending JPS623338A (ja) 1985-06-28 1986-05-15 直接値処理方式

Country Status (5)

Country Link
EP (1) EP0206655A3 (ja)
JP (1) JPS623338A (ja)
KR (1) KR870000641A (ja)
CN (1) CN86103765A (ja)
AU (1) AU5917286A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6488838A (en) * 1987-09-30 1989-04-03 Takeshi Sakamura Data processor

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376814B1 (en) * 1999-09-07 2008-05-20 Nxp B.V. Method for forming variable length instructions in a processing system
KR20030073955A (ko) * 2002-03-14 2003-09-19 학교법인 경희대학교 경혈부에 침자극이 가능한 초음파 침 시스템
US9292291B2 (en) 2012-03-28 2016-03-22 International Business Machines Corporation Instruction merging optimization
US10768930B2 (en) * 2014-02-12 2020-09-08 MIPS Tech, LLC Processor supporting arithmetic instructions with branch on overflow and methods
CN109992529B (zh) * 2018-01-03 2021-07-16 华为技术有限公司 虚拟地址确定方法及装置、处理器、存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6488838A (en) * 1987-09-30 1989-04-03 Takeshi Sakamura Data processor

Also Published As

Publication number Publication date
AU5917286A (en) 1987-01-08
EP0206655A2 (en) 1986-12-30
EP0206655A3 (en) 1988-11-02
KR870000641A (ko) 1987-02-19
CN86103765A (zh) 1986-12-24

Similar Documents

Publication Publication Date Title
JP2679363B2 (ja) マイクロプロセッサ
JP2554050B2 (ja) デ−タ処理方法
JPH0827716B2 (ja) データ処理装置及びデータ処理方法
EP0772819B1 (en) Apparatus and method for efficiently determining addresses for misaligned data stored in memory
JPS6232503B2 (ja)
US6687808B2 (en) Data processor using indirect register addressing
JPH11272546A (ja) 可変長レジスタ装置
EP0525831B1 (en) Method and apparatus for enabling a processor to coordinate with a coprocessor in the execution of an instruction which is in the intruction stream of the processor.
JPS623338A (ja) 直接値処理方式
JP2993975B2 (ja) 中央演算処理装置
JP2565495B2 (ja) デ−タ処理システム
JPH01183736A (ja) 情報処理装置
US5187782A (en) Data processing system
JPH0218729B2 (ja)
JP2583506B2 (ja) データ処理装置
JP2743947B2 (ja) マイクロプログラム制御方式
JP2915680B2 (ja) Riscプロセッサ
JPS58200349A (ja) マイクロプログラム制御装置
CN118647971A (zh) 用于执行存储器存取操作的技术
JPH03204029A (ja) 情報処理装置
JPS63113635A (ja) デ−タ処理装置
JPS63206834A (ja) 命令制御におけるエラ−検出処理方式
JPS61267135A (ja) デ−タ処理装置
JPS6028014B2 (ja) マイクロプロセツサ
JPS61279935A (ja) プログラム処理方式