JPH0315770B2 - - Google Patents

Info

Publication number
JPH0315770B2
JPH0315770B2 JP56052824A JP5282481A JPH0315770B2 JP H0315770 B2 JPH0315770 B2 JP H0315770B2 JP 56052824 A JP56052824 A JP 56052824A JP 5282481 A JP5282481 A JP 5282481A JP H0315770 B2 JPH0315770 B2 JP H0315770B2
Authority
JP
Japan
Prior art keywords
instruction
instructions
group
code
machine
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
JP56052824A
Other languages
English (en)
Other versions
JPS57168346A (en
Inventor
Masahiko Washimi
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP5282481A priority Critical patent/JPS57168346A/ja
Publication of JPS57168346A publication Critical patent/JPS57168346A/ja
Publication of JPH0315770B2 publication Critical patent/JPH0315770B2/ja
Granted 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/30181Instruction operation extension or modification
    • G06F9/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
    • 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/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space

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)

Description

【発明の詳細な説明】 本発明は短い語長のデータ形式で豊富な命令群
を実現することのできる電子計算機に関する。
効率の良い命令コードやその命令形式は計算機
のアーキテクチヤ上で最も重要な点であり、従来
より種々の工夫が試みられている。また計算機に
とつては、1命令に要するデータ量はできる限り
短い方が良いが、そのデータ量、つまり命令語長
を短くすると実現可能な命令数が少なくなり、ア
ドレス空間が減少すると云う相反する問題があ
る。またこれを補うために命令ステツプ数を多く
すると、この結果プログラムサイズが大きくなる
と云う矛盾が生じた。
そこで従来では一般に、例えば16ビツトCPU
の場合、第1図に示す如きデータ形式を採用する
に至つている。即ちこのデータ形式は、所謂2語
命令からなり、第1語に8ビツトで示される命令
コードOp(オペランド)、4ビツトのデイステイ
ネーシヨンレジスタRd、4ビツトのソースレジ
スタRsを設け、第2語に16ビツトのアドレスAd
を設けて構成される。
ところが、CPUの処理能力向上の為には上記
第1図に示すデータ形式では、そのアドレス空間
が不足することが多い。つまり、この場合には
64K語しか表現することができない。そこで64K
語以上のアドレス空間を実現する為に、第2図に
示す如き3語命令形式からなるデータ形式が考え
られている。このような形式を採用することによ
つて232個(約4000M語)のアドレス空間を実現
することができるが、これは過剰に大きい空間で
あり、現実的に必要とするアドレス空間を1M語
とすると、第2図中斜線で示すデータエリアが結
局無駄になつてしまう。しかもこれら第1図およ
び第2図のデータ形式を対比してみれば明らかな
ように、アドレス空間を広げんとすれば、全ての
プログラムサイズが約1.5倍となると云う欠点が
ある。勿論アドレスを省略した形式も他に工夫は
されているが、さほど顕著な効果は見出されてい
ない。
また第3図に示す形式は、第2図に示したもの
のようなデータエリアの無駄を招くことなくアド
レス空間を拡大し、命令数やゼネラルレジスタ数
等を節約したものが考えられている。然し乍らこ
の場合、命令の効率が悪くなる上、プログラムサ
イズが小さくならないと云う不具合がある。
本発明はこのような事情を考慮してなされたも
ので、その目的とするところは、短いデータ語長
のデータ形式で豊富な命令群を実現することがで
き、しかもアドレス空間を十分に確保することの
できる実用性の高いアーキテクチヤを備えた電子
計算機を提供することにある。
本発明の概要は、例えば数値計算や入出力制御
のように性質の異なるプログラムが必要とする命
令セツトがそれぞれ異なり、また各プログラムに
おいて多く使用される命令の種類は殆んど限ら
れ、逆に殆んど使用されない命令も数多く存在す
ると云うことに着目してなされている。そして、
本発明にあつては、機械命令として複数の命令群
を選択的に用いる為の命令セツト切換命令を設け
ることによつて、1つのCPUに対して1セツト
の機械命令群を与えると云う従来の思想から脱皮
して、1つのCPUに複数セツトの機械命令群を
与え、これを上記命令セツト切換命令にて群間で
切換えて使用することによつて、効率の良い計算
機アーキテクチヤを実現するものである。これに
よつて個々の命令群において命令語数に限界があ
つたとしても全体的に豊富な命令セツトを実現
し、且つアドレス空間を十分に確保することを可
能としている。
以下、図面を参照して本発明の一実施例につき
説明する。
ここでは16ビツトCPUに適用する場合を例に
とるが、他の形式のCPUに適用する場合であつ
ても同様に構成できる。第4図は本発明により導
入された命令セツト切換命令のデータ形式の一例
を示すものである。この命令セツト切換命令は1
6ビツトの一語命令からなり、その上位6ビツト
がオール“1”なるとき、これを命令セツト切換
用のコードとして定義されている。しかしてその
下位10ビツトは複数の命令群のセツトを指定する
モード指定コードが与えられる。これによつて
210個(1024個)の形式の異なる命令群を指定す
るモードが与えられる。また上記6ビツトの命令
セツト切換用のコードは、例えば上記210個の形
式の異なる命令群を構成する各命令コードとは重
複することのないものが用いられる。従つて或る
形式の命令群を命令を実行していたとしても、こ
の命令セツト切換命令が挿入されることにより、
その命令実行モードがこれによつて切換えられる
ことになる。
しかして今、1つの命令モードが第1図に示さ
れるデータ形式Aで構成され、他方の命令モード
が第3図に示されるデータ形式Bにより構成され
ているものとする。ここでデータ形式Aの命令群
を実行している場合、CPUは64K語の相対あるい
は絶対アドレス空間しかアクセスすることができ
ない代りに、(28−4)個の命令を有し、且つ24
個のゼネラルレジスタを有して多くの命令を実行
することが可能となる。この命令実行の途中にお
いてCPUが上位6ビツトのオール“1”なる命
令セツト切換命令を取込むと、この機械命令の下
位ビツトに示されるモードに従つて、その命令セ
ツト形式を第3図に示すデータ形式Bに切換え
る。例示するモードAの形式の命令の命令コード
は8ビツトのビツト長を有するが、命令セツト切
換命令はそのうちの上位6ビツトのみに着目して
検出され、下位の2ビツト分については無視され
る。このモードによつて今度は(26−1)個の命
令数が与えられ、またゼネラルレジスタは23個と
なる。また同時にこれによつて1M語のアドレス
空間が設定されることになる。このようにして命
令語のセツト形式が切換えられることにより、計
算機(CPU)は実質的に非常に豊富な命令数を
得、またアドレス空間も十分に確保することが可
能となる。
上記とは逆にモードBからモードAの形式の命
令に切り換わる場合は、命令セツト切換命令の上
位6ビツトの全ての値が“1”となる場合に命令
セツト切換命令が検出される。ここで、モードA
とBの形式の命令において命令コード(Op)は
異なるビツト長を有するが、そのうちの共通のビ
ツト幅(6ビツト)の部分に命令セツト切換命令
であることを示す同じコードが書かれる。
尚、命令群のモードは上記フオーマツトA,B
に限定されるものではなく、ここでは種々変形し
た1024形式までのモードを利用することができ
る。また或るモードの命令を実行中、命令セツト
切換命令を見出したとしても、そのモードが上記
実行中のモードを指定する場合には、実質的にモ
ードの切換えが行われないことは勿論のことであ
る。
さて、上述したモードAに含まれる命令セツト
とモードBに含まれる命令セツトとの関係は例え
ば次のように与えられる。即ち、LOADや
STORE、加減等の基本的な命令はその使用頻度
が高いことを考慮して各モードに共通に与えられ
る。これによつて頻繁にモードの切換えが行われ
てCPUの実行効率が低下することが未然に防が
れる。また特殊な命令、例えば浮動小数点演算命
令等はそのモードの仕様に応じて或るデータ形式
にのみ設定する。このような特殊な命令は、一般
に特殊な機能を実行する為のプログラムモジユー
ルに含まれることが多いから、このようなプログ
ラムにおける上記特殊な命令のアクセスは点在化
していることが殆んどである。従つて全空間をラ
ンダムにアクセスする可能性は非常に少ないの
で、上記したような制限があつても、そのプログ
ラムに及ぼす影響は殆んどない。仮りにモードA
にのみ含まれる命令とモードBにのみ含まれる命
令とが交互に存在するような最悪条件のプログラ
ムであつても、このようなことは極めて稀である
から適宜命令セツト切換命令を用いて命令群のモ
ードを切換えれば、何ら支障を生じることがな
い。
以上説明したように本発明によれば、短い命令
形式の中で広いアドレス空間を設定することが可
能であり、同時に豊富な命令セツトを容易に実現
することができる。例えばオペランドOpのビツ
ト数を8ビツトとした場合、従来のアーキテクチ
ヤ上では高々28(=256個)の命令しか指定するこ
とができなかつた。これに対して本発明によれ
ば、仮りにビツト数を6ビツトとしても(26
1)×210(=255K語)の命令セツトが可能とな
り、事実上、命令の個数にビツト数に起因する制
限が加わることがない。また命令形式もモードに
よつて可変することによつて、自由な形式を選定
することが可能となる等の計算機アーキテクチヤ
上、絶大なる効果を奏する。
しかも、本発明では複数の機械命令群に対して
命令セツト切換命令を共通に設けるようにしたの
で、この命令セツト切換命令の解読回路が一つで
済み、これによりハードウエア構成が簡単化でき
るものである。さらに、本発明では、各機械命令
群の命令を命令コードOp、デイステイネーシヨ
ンレジスタRd、ソースレジスタRs及びメモリア
ドレスAdでそれぞれ構成し、異なる命令群の命
令の命令コード、デイステイネーシヨンレジス
タ、ソースレジスタ及びメモリアドレスのビツト
幅が互いに異なるように設定したので、各命令群
ではOp,Rd,Rs,Adそれぞれのビツト数だけ
が違うため、命令デコーダを各機械命令群で共通
にすることができ、これによつてもハードウエア
構成の簡単化を図ることができる。
尚、本発明は上記実施例に限定されるものでは
ない。例えば16ビツトCPUのみならず、他の形
式のものにも同様に適用することが可能であり、
更には命令群のフオーマツトの種々変形すること
ができる。また命令セツト切換命令のフオーマツ
トも他の形式により定義することも可能である。
要するに本発明はその要旨を逸脱しない範囲で
種々変形して実施することができる。
【図面の簡単な説明】
第1図乃至第3図はそれぞれ異なる形式の命令
語データ形式を示す図、第4図は本発明の一実施
例に係る命令セツト切換命令のフオーマツトを示
す図である。 Op……オペランド、Rd……デイステイネーシ
ヨンレジスタ、Rs……ソースレジスタ、Ad……
アドレス、MODE……フオーマツト指定モード、
A,B……フオーマツト(データ形式)。

Claims (1)

  1. 【特許請求の範囲】 1 それぞれが2語からなる複数の機械命令群と
    前記複数の機械命令群を群間で切換えるための命
    令セツト切換命令とを有し、 前記各命令群の各機械命令のそれぞれが命令コ
    ード、ゼネラルレジスタ及びメモリアドレスで構
    成され、ある機械命令群の各機械命令は第1語目
    に命令コードとゼネラルレジスタが設けられ、第
    2語目にメモリアドレスのみが設けられ、上記と
    は異なる機械命令群の各機械命令は第1語目に命
    令コード、ゼネラルレジスタ及びメモリアドレス
    の一部が設けられ、第2語目に残りのメモリアド
    レスが設けられ、かつ前記複数の機械命令群の一
    つには比較的使用頻度が高い基本的命令が共通に
    与えられ、比較的使用頻度が低い命令は残りの群
    の一つの機械命令群のみに与えられ、 前記命令セツト切換命令は群間切換命令コード
    及びどの機械命令群に切換えるかを指定するため
    のモード指定コードとから構成され、 上記各命令を解読し、上記命令セツト切換命令
    の群間切換命令コードを検出した際に、この命令
    セツト切換命令のモード指定コードにて指定され
    る機械命令群の命令コードを解読してその解読結
    果に応じた機械命令群を使用する手段を具備した
    ことを特徴とする電子計算機。
JP5282481A 1981-04-08 1981-04-08 Computer Granted JPS57168346A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5282481A JPS57168346A (en) 1981-04-08 1981-04-08 Computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5282481A JPS57168346A (en) 1981-04-08 1981-04-08 Computer

Publications (2)

Publication Number Publication Date
JPS57168346A JPS57168346A (en) 1982-10-16
JPH0315770B2 true JPH0315770B2 (ja) 1991-03-01

Family

ID=12925595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5282481A Granted JPS57168346A (en) 1981-04-08 1981-04-08 Computer

Country Status (1)

Country Link
JP (1) JPS57168346A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895783A (ja) * 1994-09-20 1996-04-12 Nec Corp 可変語長型マイクロコンピュータ
DE10135291A1 (de) * 2001-07-19 2003-02-13 Infineon Technologies Ag Verfahren und Vorrichtung zum Verarbeiten eines Befehls mittels einer CPU

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4966251A (ja) * 1972-09-15 1974-06-27

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4966251A (ja) * 1972-09-15 1974-06-27

Also Published As

Publication number Publication date
JPS57168346A (en) 1982-10-16

Similar Documents

Publication Publication Date Title
JPH09231071A (ja) コンピュータ装置
US6055211A (en) Force page zero paging scheme for microcontrollers using data random access memory
US5077659A (en) Data processor employing the same microprograms for data having different bit lengths
JPH0315770B2 (ja)
JPH05197619A (ja) マルチcpu用メモリ制御回路
KR100960095B1 (ko) 마이크로컨트롤러 명령어 셋트
JPH0447349A (ja) データ記憶装置
JP2553200B2 (ja) 情報処理装置
KR100897857B1 (ko) 마이크로컨트롤러 명령어 셋트
JPS6230455B2 (ja)
JPS60245049A (ja) デ−タ処理装置
JPS61169937A (ja) マイクロプロセツサ命令拡張方式
JPH0895783A (ja) 可変語長型マイクロコンピュータ
JPS62174833A (ja) デ−タ処理システム
JPS61250753A (ja) アドレス拡張方式
JP2004151915A (ja) データ処理装置
JPS6313214B2 (ja)
JPH0683614A (ja) マイクロコンピュータ
JPS61201353A (ja) アドレス変換装置
JPS62117041A (ja) マイクロコンピユ−タ
JPS62210541A (ja) レジスタ選択方式
JPS6398035A (ja) マイクロプログラム制御装置
JPS58225438A (ja) デ−タ処理装置
JPH03257572A (ja) マルチプロセッサシステム
JPS59191612A (ja) シ−ケンスコントロ−ラの入出力指定方式