JPH05197545A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JPH05197545A
JPH05197545A JP3349944A JP34994491A JPH05197545A JP H05197545 A JPH05197545 A JP H05197545A JP 3349944 A JP3349944 A JP 3349944A JP 34994491 A JP34994491 A JP 34994491A JP H05197545 A JPH05197545 A JP H05197545A
Authority
JP
Japan
Prior art keywords
instruction
data
word
buffer
instruction word
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
JP3349944A
Other languages
English (en)
Inventor
Fumiki Sato
文樹 佐藤
Koichi Fujita
紘一 藤田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3349944A priority Critical patent/JPH05197545A/ja
Priority to US07/977,947 priority patent/US5423012A/en
Publication of JPH05197545A publication Critical patent/JPH05197545A/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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • 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
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching

Landscapes

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

Abstract

(57)【要約】 【目的】 使用するすべての命令語の語長が一様な命令
語が使用できる。 【構成】 アドレスレジスタ28のアドレスで示すメモ
リのメモリ領域に格納されている第1または第2の命令
語を、第1のポインタ20の示す命令先読みバッファ1
8の所定のワード位置(18a〜18c)に読込み、第
2のポインタ21の示す命令先読みバッファ18のワー
ド位置から読込まれた第1または第2の命令語を第2の
シフタ31で命令解釈手段11に読出す。命令解釈手段
11は、バスインタフェース手段10からの命令語を解
釈し、第2の命令語(データ命令)である場合は、シフ
ト手段33,データバッファ34,データ拡張手段35
を制御して第2の命令語の即値データ,オフセットデー
タ等のデータから演算に必要なデータを作成させ、第1
の命令語である場合は、実行手段12を制御し、データ
拡張手段35で作成されたデータを用いて演算を行わせ
る。 【効果】 命令先読み制御が容易になる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、マイクロコンピュー
タに関し、特に、語長が一様な命令語を扱うことのでき
るマイクロコンピュータに関するものである。
【0002】
【従来の技術】図8は、従来のマイクロコンピュータの
構成を示すブロック図である。図8において、14はデ
ータバス、15はアドレスバス、16は制御信号バス、
17は第1のシフタ、18は命令先読みバッファ、20
は第1のポインタ、21は第2のポインタ、22は第1
の加算器、23は第2の加算器、24は第3の加算器、
25は第1のデコーダ、26は第2のデコーダ、27は
バスタイミング発生手段、28はアドレスレジスタ、2
9は第4の加算器、36はALU(算術論理回路)、3
7はレジスタファイル、70は第2のシフタ、71はバ
スインタフェース手段、72は命令解釈手段、73はデ
ータ拡張手段、74は実行手段である。
【0003】データバス14は図示しないメモリ等から
命令語をバスインタフェース手段71に読込むためのバ
ス、アドレスバス15はアドレスレジスタ28のアドレ
スのデータをメモリ等に送出するためのバス、制御信号
バス16はメモリ等に書込み/読出し信号(R/W)を
送出するためのバスである。バスインタフェース手段7
1の第1のシフタ17は、ゲート17a〜17cより構
成され、データバス14上の1ワード長の命令語をゲー
トの制御により命令先読みバッファ18の所定のワード
位置18a〜18cに格納する。命令先読みバッファ1
8は、例えば3ワード長の命令語を一時的に格納できる
データバッファであり、第1のシフタ17のゲート17
a〜17cで選択されたワード位置18a〜18cに1
ワード長の命令語を格納する。第1のポインタ20は、
命令先読みバッファ18内に格納されている1ワード長
の命令語の数を示し、例えば0〜3の数値となる。第2
のポインタ21は、命令先読みバッファ18のワード位
置18a〜18cから、次に読出す命令語のワード位置
を示す。第1の加算器22は、第1のポインタ20と第
2のポインタ21の内容を加算する、例えば2ビットの
加算器であり、キャリア出力をもつ。第2の加算器23
は、データバス14から1ワード長の命令語を命令先読
みバッファ18に読込んだ時には第1のポインタ20を
+1加算し、命令語を命令先読みバッファ18から読出
した時、または1ワード長の命令語の読込みと2ワード
長の命令語の読出しが同時に行われた時に−1加算し、
2ワード長の命令語が命令先読みバッファ18から読出
された時−2を加算し、1ワード長の命令語の読込みと
読出しが同時に行われた時+0を加算する。第3の加算
器24は、1ワード長の命令語を命令先読みバッファ1
8から読出した時、第2のポインタ21を+1を加算
し、2ワード長の命令語を命令先読みバッファ18から
読出した時に+2を加算する。
【0004】第1のデコーダ25は、第1の加算器22
の出力をデコードして、第1のシフタ17のゲート17
a〜17cをオンに制御する。例えば、第1の加算器2
2の出力が「0」または「3」の時は、第1のシフタ1
7のゲート17aをオンし、その出力が「1」または
「4」の時はゲート17bをオンし、その出力が「2」
の時はゲート17cをオンする。第2のシフタ70は、
ゲート70a〜70cより構成され、これらのゲートを
制御することにより、2ワード長の命令語を命令先読み
バッファ18のワード位置18a〜18cから命令解釈
手段72またはデータ拡張手段73に読出す。第2のデ
コーダ26は、第2のポインタ21の出力をデコードし
て第2のシフタ70を制御する。例えば、第2のポイン
タ21の出力が「0」の時はゲート70a,70bを同
時にオンし、その出力が「1」の時はゲート70b,7
0cをオンし、その出力が「2」の時は70a,70c
をオンする。バスタイミング発生手段27は、アドレス
バス15,制御信号バス16に正しいタイミングでアド
レス,R/W等のデータを乗せる。アドレスレジスタ2
8はアドレスを保持し、図示しないメモリのメモリ領域
に格納されている命令語のアドレスを示す。第4の加算
器29は、アドレスレジスタ28の内容の命令語をバス
インタフェース手段71に読込む毎に+2加算する。命
令解釈手段72は、バスインタフェース手段71からの
命令語を解釈し、実行手段74を制御する。データ拡張
手段73は、バスインタフェース手段71内の命令先読
みバッファ18からの2ワード長のデータを符号拡張
し、実行手段74は命令解釈手段72から指示された演
算を実行する。ALU36は、算術演算を行い、レジス
タファイル37はプログラムカウンタ,汎用レジスタ等
で構成され、演算のためのデータを格納する。
【0005】図9は、従来のマイクロコンピュータで使
用された命令語の具体例を示しており、(a)は即値デ
ータまたはオフセットデータのフィールドを含まない命
令語のフォーマットで、識別フィールド80a(ビット
番号10〜15)と、レジスタフィールド80b(ビッ
ト番号0〜9)よりなる。レジスタフィールド80b
は、更にレジスタフィールド1(ビット番号5〜9),
レジスタフィールド2(ビット番号0〜4)に分けられ
ている。(b)は1ワード長の即値データまたはオフセ
ットデータのフィールドを含む命令語のフォーマットで
あり、1ワード長のデータフィールドの80d(ビット
番号0〜15)とともに、識別フィールド80a(ビッ
ト番号26〜31)に1ワード長のデータを含むという
情報をもつ。(c)は2ワード長の即値データまたはオ
フセットデータを含む命令語のフォーマットであり、2
ワード長のデータフィールド80d(ビット番号0〜3
1)をもち、データフィールド80dは更にデータフィ
ールド1(ビット番号16〜30),データフィールド
2(ビット番号0〜15)の分けられ、識別フィールド
80a(ビット番号42〜47)には2ワード長のデー
タを含むという情報をもつ。(d)は2ワード長の即値
データ「IMM1φL,IMM1φH」をもつ命令語の
プログラム上でのフォーマットである。識別フィールド
80aには、「ADD」のデータ、レジスタフィールド
80bのレジスタフィールド1にはレジスタ番号RXが
入力されている。
【0006】図10は、従来のマイクロコンピュータの
動作を示すタイムチャート図である。(a)は基準とな
るクロック信号、(b)は第1のポインタ20の動作状
態、(c)は第2のポインタ21の動作状態、(d)は
アドレスレジスタ28の動作状態を示している。
【0007】次に従来のマイクロコンピュータの動作に
ついて説明する。最初に、動作の概要を説明し、次に詳
細な動作について説明する。ADD RX,IMM1φ
すなわち、レジスタ番号RXのデータとIMM1φの即
値データを加算してレジスタ番号RXに格納する命令を
実行する場合、この命令語はプログラム上では図9の
(d)に示すような命令語のフォーマットとなる。アド
レス下位の識別フィールド80aには「ADD」と2ワ
ード長分の即値データをもつという情報が入力され、レ
ジスタフィールド80bのレジスタフィールド1にはレ
ジスタ番号RXが入力され、データフィールド80dの
データフィールド1には「IMM1φ」の下位データ
「IMM1φL」、データフィールド80dのデータフ
ィールド2には「IMM1φ」の上位データ「IMM1
φH」が入力されている。このADDRX,IMM1φ
の命令語は、バスインタフェース手段71のメモリアド
レスレジスタ28のアドレスで示すメモリのメモリ領域
から、1ワード長ずつの第1のポインタ20の示す命令
先読みバッファ18のワード位置18a〜18cに読込
まれ、第2のポインタ21の示す命令先読みバッファ1
8のワード位置18a〜18cから2ワードずつ読出さ
れる。命令解釈手段72は、例えば図9(d)のアドレ
ス下位から順に1ワードずつ命令語のデータを読込んで
解読する。最初の命令語は、識別フィールド80aが
「ADD」であるため、加算命令と判断するとともに、
2ワード分の即値データ「IMM1φL,IMM1φ
H」をもつので、これらの即値データを実行手段74を
介してバスインタフェース手段71に要求する。即値デ
ータが格納されているバスインタフェース手段71の命
令先読みバッファ18から読出されると、命令解釈手段
72は、それらの2ワード長の即値データをデータ拡張
手段73を通過させ、実行手段74を制御してレジスタ
ファイル37内のレジスタ番号RXのデータとALU3
6で加算させ、加算結果をレジスタ番号RXに格納させ
る。
【0008】次に、従来のマイクロコンピュータの詳細
な動作について図10をも参照して説明する。最初に、
第1のポインタ20の内容が「1」、第2のポインタ2
1の内容が「1」であるとし、上記の命令語ADD R
X,IMM1φを実行するものとする。時刻T1では、
実行手段74はバスインタフェース手段71に対して1
ワード長の命令語を要求する。バスインタフェース手段
71は、この時、第1のポインタ20の内容が「1」な
ので、実行手段74から要求された命令語は、命令先読
みバッファ18の18bのワード位置に既に読込まれて
いると判断して、第2のポインタ21の内容「1」を第
2のデコーダ26でデコードし、第2のシフタ70のゲ
ート70bをオンし、命令先読みバッファ18の18b
のワード位置から命令解釈手段72に1ワード長の命令
「ADD RX」が読出される。これと同時に、バスイ
ンタフェース手段71では、命令先読みバッファ18の
ワード位置18a,18cの2ワード分が空いているの
で、次の命令語を読むための準備をする。命令解釈手段
72は、バスインタフェース手段71の命令先読みバッ
ファ18のワード位置18bから読込んだ命令後の識別
フィールド80aの「ADD」および2ワード分の即値
データの情報とレジスタフィールド80bのレジスタフ
ィールド1のレジスタ番号RXを解読して、実行手段7
4,データ拡張手段73を制御する。この後、バスイン
タフェース手段71の第1のポインタ20の内容は、1
ワード長の命令語が命令先読みバッファ18から読出さ
れたので、第2の加算器23で−1加算(減算)されて
「0」となり、第2のポインタ21の内容は、第3の加
算器24で加算されて「2」となる。
【0009】時刻T2では、実行手段74はバスインタ
フェース手段71に対して上記命令語に付属する2ワー
ド長の即値データ「IMM1φ」の「IMM1φL(下
位データ),IMM1φH(上位データ)」を要求す
る。要求を受けたバスインタフェース手段71は、第1
のポインタ20の内容が「0」なので、その即値データ
が命令先読みバッファ18に読込まれていないと判断し
て、実行手段74を待機させる。この後、アドレスレジ
スタ27の示すアドレスPARの1ワードの即値データ
「IMMφ1L」が図示しないメモリからデータバス1
4,第1シフタ17のゲート17cを介して命令先読み
バッファ18のワード位置18cに読込まれ、この後、
第1のポインタ20の内容は第2の加算器23によって
+1され「1」となる。この命令語の即値データが読込
まれる命令先読みバッファ18のワード位置18cは、
第1の加算器22の出力によって決まる。すなわち、第
1のポインタ20の内容「0」と第2のポインタ21の
内容「2」が加算され、0+2=2が第1のデコーダ2
5でデコートされ第1のシフタ17のゲート17cが選
択される。
【0010】時刻T3では、バスインタフェース手段7
1は、命令先読みバッファ18に空きがある(というの
は、第1のポインタ20の内容が「1」なので)と判断
して、図示しないメモリから次の命令語の即値データ
「IMM1φH」の読込みを開始する。時刻T4では、
メモリから次の命令語の即値データが読込まれ、この
後、第1のポインタ20の内容は第2の加算器23によ
って+1加算され、「2」となる。時刻T5では、第1
のポインタ20の内容が「2」なので、バスインタフェ
ース手段71は実行手段74から要求されている2ワー
ドの命令語の即値データが命令先読みバッファ18に読
込まれていると判断し、第2のポインタ21の内容
「2」を第2のデコーダでデコードし、第2のシフタ7
0のゲート70a,70cをオンにして、命令先読みバ
ッファ18のワード位置18a,18cから2ワード長
の即値データを読出す。実行手段74は2ワード長の即
値データを受けると、命令解釈手段72の制御によりレ
ジスタファイル37のレジスタ番号RXのデータと加算
〔RX+IMM1φ(IMM1φL,IMM1φHの2
ワード長の即値データ)〕を行う。この時、命令解釈手
段72は2ワード長の即値データをそのまま通過させる
ようにデータ拡張手段73を制御する。一方、バスイン
タフェース手段71は、命令先読みバッファ18に1ワ
ード分でも空きがあれば、メモリから命令語を次々に読
込む。時刻T5の後、第1のポインタ20の内容「2」
と第2のポインタの内容「2」が第1の加算器22で加
算され、加算器22の出力が「4」となり、この「4」
が第1のデコーダ25でデコードされ、第1のシフタ1
7のゲート17bがオン制御される。この結果、次の命
令語は命令先読みバッファ17のワード位置17bに読
込まれる。
【0011】
【発明が解決しようとする課題】従来のマイクロコンピ
ュータでは、上記のように使用される命令語の語長が一
様でないため、即値データ,オフセットデータ等を有す
る命令語の識別フィールドに、即値データ,オフセット
データ等の語長が何ワードあるかという情報も必要であ
り、マイクロコンピュータの先読み制御が複雑になると
ともに、回路構成も複雑となり演算の処理速度が遅くな
る問題がある。
【0012】この発明は、上記問題点を解決するために
なされたもので、使用するすべての命令語の語長を一様
にしたため、先読み制御が簡単にでき、回路構成も簡単
で演算の高速化が可能なマイクロコンピュータを提供す
ることを目的としている。
【0013】
【課題を解決するための手段】この第1の発明に係るマ
イクロコンピュータでは、このマイクロコンピュータで
使用されるすべての命令語は、ワード長が一様で、演算
等を行わせる命令を含む第1の命令語と、演算等に使用
する即値データ,オフセットデータ等のデータからなる
第2の命令語とからなる。また、このマイクロコンピュ
ータは、図1で示すように、バスインタフェース手段1
0と、このバスインタフェース手段から読込んだ第2の
命令のデータが重ならないように所定のビット数シフト
する第1のシフト手段(シフト手段33)と、この第1
のシフト手段で第2の命令語のデータを所定のビット数
シフトさせてデータを結合するデータ結合手段(データ
バッファ34)と、このデータ結合手段で結合したデー
タの所定のビット位置に符号を加えて所定のワード長に
符号拡張するデータ拡張手段35と、命令語の解釈に従
って、所定の演算を実行する実行手段12と、第1また
は第2の命令語に従って、上記第1のシフト手段,上記
データ結合手段,上記データ拡張手段,上記実行手段を
制御する命令解釈手段とから構成される。さらに、上記
バスインタフェース手段は、複数ワードによりなる第1
のバッファ(命令先読みバッファ18)と、アドレスレ
ジスタのアドレスで示すメモリのメモリ領域に格納され
ている第1または第2の命令語を、メモリからアドレス
を介して上記第1のバッファの所定のワード位置に読込
む第1のシフタ17と、上記ワード位置から第1または
第2の命令語を読出す第2のシフタ31と、第1および
第2のシフタに上記ワード位置を指示する第1のバッフ
ァ指示手段32とから構成される。この第2の発明に係
るマイクロコンピュータでは、図6で示すように、上記
バスインタフェース手段は、上記第1のバッファと異な
る同一ワード数で直列に接続された第2のバッファ(命
令先読みバッファ46a〜46c)を有し、アドレスレ
ジスタのアドレスで示すメモリのメモリ領域に格納され
ている第1または第2の命令語を、メモリからアドレス
バスを介して上記第2のバッファに順次読込み、上記第
2のバッファに読込んだ順より第1または第2の命令語
を上記第2のバッファから読出す第2のシフト手段(シ
フト手段45)と、上記第2のバッファに命令語が読込
まれると読込まれた命令語の数だけ数値を増加させ、上
記第2のバッファから第1または第2の命令語が読出さ
れると読出された命令語の数だけ数値を減少させ、上記
数値に従って上記第2のシフト手段を制御する第2のバ
ッファ指示手段(バッファ指示手段50)とから構成さ
れる。この第3の発明に係るマイクロコンピュータは、
第1または第2の発明のマイクロコンピュータの構成の
内、バスインタフェース手段を設けない構成とする。
【0014】
【作用】この第1の発明におけるマイクロコンピュータ
は、以下で示すように作用する。すなわち、バスインタ
フェース手段においては、第1のシフタは、アドレスレ
ジスタのアドレスで示すメモリのメモリ領域に格納され
ている第1または第2の命令語を、アドレスバスを介し
て読込み、バッファ指示手段の示す第1のバッファのワ
ード位置に保持する。また、第2のシフタは、第1のバ
ッファの上記ワード位置から第1または第2の命令語を
読出す。次に、命令解釈手段は、バスインタフェース手
段からの命令語を解釈し、解釈した命令語が第2の命令
語である場合は、第1のシフト手段,データ結合手段,
データ拡張手段を制御して演算等に使用する即値デー
タ,オフセットデータ等のデータから演算に使用するデ
ータを作成する。また、命令解釈手段は、解釈した命令
語が第1の命令語である場合は、データ拡張手段等で作
成されたデータを使用し、実行手段を制御して演算を実
行する。この第2の発明におけるマイクロコンピュータ
は、このマイクロコンピュータのインタフェース手段が
以下に示すように作用する。すなわち、第2のバッファ
指示手段は、第2のシフト手段内の第2のバッファに第
1または第2の命令語が読込まれると読込まれた命令語
の数だけは数値を増加させ、また、上記第1または第2
のバッファから第1または第2の命令語が読出されると
読出された命令語の数だけ数値を減少させて、現在第2
のバッファに読込まれている命令語の数を示すととも
に、上記数値をもとに第2のシフト手段を制御する。第
2のシフト手段は、上記第2のバッファ指示手段の指示
により、上記第2のバッファに空きがあれば、その空き
の数だけ、アドレスレジスタのアドレスで示すメモリの
メモリ領域に格納されている第1または第2の命令語
を、上記第2のバッファに順次読込み、上記第2のバッ
ファに読込んだ順より読込んだ第1または第2の命令語
を上記第2のバッファから第1のシフト手段または命令
解釈手段に読出す。この第3におけるマイクロコンピュ
ータは、命令解釈手段は、命令語を解釈し、解釈した命
令語が第2の命令語である場合は、第1のシフト手段,
データ結合手段,データ拡張手段を制御して演算等に使
用する即値データ,オフセットデータ等のデータから演
算に使用するデータを作成する。また、命令解釈手段
は、解釈した命令語が第1の命令語である場合は、デー
タ拡張手段等で作成されたデータを使用し、実行手段を
制御して演算を実行する。
【0015】
【実施例】以下、この発明の一実施例を図を用いて説明
する。図1はこの第1の発明の一実施例におけるマイク
ロコンピュータの構成を示すブロック図である。図1に
おいて、10はバスインンタフェース手段、11は命令
解釈手段、12は実行手段、14はデータバス、15は
アドレスバス、16は制御信号バス、17は第1のシフ
タ、18は第1のバッファとしての命令先読みバッフ
ァ、20は第1のポインタ、21は第2のポインタ、2
2は第1の加算器、23は第2の加算器、24は第3の
加算器、25は第1のデコーダ、26は第2のデコー
ダ、27はバスタイミング発生手段、28はアドレスレ
ジスタ、29は第4の加算器、31は第2のシフタ、3
2は第1のバッファ指示手段としてのバッファ指示手
段、33は第1のシフト手段としてのシフト手段、34
はデータ結合手段としてのデータバッファ、35はデー
タ拡張手段、36はALU(算術論理回路)、37はレ
ジスタファイルである。なお、図1では、従来(図8)
と同じ機能の部分には、同一符号を付しており、以下の
構成の詳細な説明については省略する。
【0016】バスインタフェース手段10では、バッフ
ァ指示手段32の第1のポインタ20は、命令先読みバ
ッファ18内に格納されている命令語の数を示し、例え
ば、0〜4の値をとる。第2のポインタ21は、命令先
読みバッファ18から次に読出すべき命令語の位置を示
す。命令先読みバッファ18は、3ワード長(18a〜
18b)の命令語を、一時的に格納可能なデータバッフ
ァである。第1のシフタ17は、ゲート17a〜17b
より構成され、第1のデコーダ25の指示により、デー
タバス上の命令語を命令先読みバッファ18の所定のワ
ード位置(18a〜18c)にシフトして格納するため
のシフタである。第2のシフタ31は、ゲート(31a
〜31c)より構成され、第1のデコーダ26の指示に
より命令先読みバッファ18の所定のワード位置から命
令語を命令解釈手段11に読出すシフタである。
【0017】命令解釈手段11は、バスインタフェース
手段10から語長の一様な命令語を受けて解釈し、その
命令語に応じて、実行手段12,データバッファ34,
シフト手段33,データ拡張手段35を制御する。ここ
で使用される命令語の詳細については後述するが、この
マイクロコンピュータで使用されるすべての命令語は、
語長が一様であり、演算等の処理を行わせる第1の命令
語と、演算等に使用する即値データ,オフセットデータ
のデータをもつ第2の命令語からなる。
【0018】データバッファ34は、10ビット長のバ
ッファ34a〜34cから構成され、これらのバッファ
によりバスインタフェース手段10から受けた複数の第
2の命令語から与えられる即値データ,オフセットデー
タのデータを結合する。シフト手段33は、ゲート33
a〜33cより構成され、命令解釈手段11によりデー
タバッファ34に格納される複数の第2の命令語の即値
データ,オフセットデータのデータが互いに重ならない
ように、データバッファ34のバッファ34a〜34c
でそれらのデータを格納する。データ拡張手段35は、
データバッファ34で結合された10ビット長の3個の
データにゼロ符号を入れて、2ワード長に符号拡張し、
実行手段12で使用できるデータ形式にする。実行手段
12は、従来と機能的には変わらないが、結合され符号
拡張された2ワード長のデータを処理できる。
【0019】図2は、この第1の発明におけるマイクロ
コンピュータで使用される命令語の具体例を示す図であ
る。この第1の発明によるマイクロコンピュータで使用
される命令語は、すべて1ワード(16ビット)の語長
よりなり、第1の命令語としての演算命令と、第2の命
令語としてのデータ命令とに分けられている。演算命令
のフォーマットは、図2(a)に示すように、識別フィ
ールド60a(ビット番号10〜15)と、レジスタフ
ィールド60b(ビット番号0〜9)に分けられてお
り、レジスタフィールド60bは、更にレジスタフィー
ルド1(ビット番号5〜9)と、レジスタフィールド2
(ビット番号0〜4)に分けられている。また、データ
命令のフォーマットは、図2(b)に示すように、識別
フィールド60a(ビット番号10〜15)と、データ
フィールド60c(ビット番号0〜9)とに分けられて
いる。ここで、識別フィールド60aは演算命令かデー
タ命令かを判別するためのフィールド、レジスタフィー
ルド60bは実行手段12内のレジスタファイル37の
ファイル番号を示すためのデータのフィールド、データ
フィールド60cは即値データ,オフセットデータが入
力されているフィールドである。図2(c)は、プログ
ラム上での具体的な命令語のフォーマットを示してお
り、4命令分の命令語である。識別フィールド60aに
「DATA」が入力されている。アドレス下位から3命
令分の命令語は、データ命令を示しており、データフィ
ールド60cにそれぞれ「IMM1φL,IMM1φ
M,IMM1φH」のデータが入力されている。また、
アドレス上位側の1命令分の命令語の識別フィールド6
0aには「ADDI」が入力され、加算を行わせる演算
命令が入力されている。また、レジスタフィールド60
bのレジスタフィールド1には、レジスタファイル37
のレジスタ番号RXのデータが入力されている。
【0020】図3は、この第1の発明によるマイクロコ
ンピュータの動作を示すタイムチャート図である。
(a)は、この第1の発明によるマイクロコンピュータ
で使用されるクロック信号、(b)は、図1のバスイン
タフェース手段10内の第1のポインタ20の動作状
態、(c)は、第2のポインタ21の動作状態、(d)
は、アドレスレジスタ28の動作状態を示している。次
に、図1〜図3を用いて、この第1の発明によるマイク
ロコンピュータの動作について説明する。最初に、図
1,図2を用いて動作の概要を説明し、次に図3をも用
いて詳細な動作について説明する。
【0021】バスインタフェース手段10では、アドレ
スレジスタ28の示すアドレスの命令語が図示しないメ
モリからデータバス14を介して第1のポインタ20の
示す命令先読みバッファ18のワード位置18a〜18
cに次々に入力される。命令語は、例えば、図2の
(c)で示すような命令語であり、実行手段12のレジ
スタファイル37内のレジスタ番号RXと上述したデー
タ命令の3命令で与えられる即値データ「IMM1φ
L,IMM1φM,IMM1φH」を加算して、そのレ
ジスタ番号RXに加算結果を格納する命令である。次
に、命令先読みバッファ18の第2のポインタ21で示
す第2のシフタ31のゲート31a〜31bがオンに制
御され、命令先読みバッファ18に格納された命令語が
1ワードずつ命令解釈手段11に読込まれる。命令解釈
手段11は、図2の(c)で示す命令語をアドレス下位
の命令語から解釈する。そして、命令語の識別フィール
ド60aが「DATA]であれば、データ命令と判断
し、シフト手段33のゲート33a〜33c,データバ
ッファ34を制御して、データフィールド60cのデー
タをシフトさせ、データバッファ34の10ビットのバ
ッファ34a〜34cに次々に格納する。命令解釈手段
11は、この様にして、データバッファ34で「IMM
1φL,IMM1φM,IMM1φH」の10ビットの
データを結合する。次に、命令解釈手段11は、図2
(c)の命令語の演算命令(アドレス上位側の1命令
分)をバスインタフェース手段10から読込むと、その
命令後の識別フィールド60aの「ADDI」から加算
命令と判断する。そして命令解釈手段11は、データバ
ッファ34で結合され作成された「IMM1φL,IM
M1φM,IMM1φH」のデータを、データ拡張手段
35で2ワード長に符号拡張させ、この符号拡張したデ
ータを、実行手段12内のレジスタファイル37のレジ
スタ番号RXのデータと加算させ、加算結果をレジスタ
番号RXに格納させるように、実行手段12を制御し、
演算を終了する。
【0022】次に、図3を用いて詳細な動作について説
明する。上述の図2の(c)で示す命令語を実行する場
合について説明する。ここで、第1のポインタ20の内
容を「1」、第2のポインタ21の内容を「1」とし、
命令先読みバッファ18のワード位置18bに図2
(c)の下位アドレス1命令分が読込まれているとす
る。最初に、図3の時刻t1では、実行手段12はバス
インタフェース手段10に対して1ワード長の命令語
(図2(c)の下位アドレス側の命令語「DATA I
MM1φL」)を要求する。この時、バスインタフェー
ス手段10は、第1のポインタ20の内容が「1」なの
で、要求されている命令語が命令先読みバッファ18の
ワード位置18bに既に読込まれていると判断して、ワ
ード位置18bの命令語を命令解釈手段11に読出す。
この時は、第2のポインタ21の内容が「1」なので第
2のシフタ31のゲート31bがオンに制御される。こ
こで、バスインタフェース手段10は、命令先読みバッ
ファ18に2ワード分の空きがあるので、アドレスレジ
スタ28のアドレスPARが示す図示しないメモリのメ
モリ領域から、データバス14を介して次の命令語の先
読みを始める。命令解釈手段11は、バスインタフェー
ス手段10から送られてきた命令語の識別フィールド
(図2(c)の60a)のデータ「DATA」から、こ
の命令語がデータ命令であることを解釈し、実行手段1
2,データバッファ34,シフト手段33を制御する。
【0023】この時、実行手段12は、その命令語がデ
ータ命令であるため演算等のデータ処理を行わない。ま
た、そのデータ命令中の10ビットの即値データは、シ
フト手段33でシフトされ(ゲート33aがオン)、デ
ータバッファ34のバッファ34aのビット位置に格納
される。また、次のデータ命令の10ビットの即値デー
タは、データバッファ34のバッファ34bのビット位
置に格納されることになる。この後、バスインタフェー
ス手段10では、1ワードの命令語が命令先読みバッフ
ァ18から読出されたので、第1のポインタ20の内容
が第2の加算器23によって−1加算され、第2のポイ
ンタの内容は、第3の加算器24によって+1加算され
る。この結果、第1のポインタ20の内容は「0」、第
2のポインタ21の内容は「2」になる(図3の第1の
ポインタ20(b),第2のポインタ21(c)のタイ
ムチャート図参照)。
【0024】時刻t2では、実行手段12は、バスイン
タフェース手段10に対して次の1ワードの命令語(D
ATA IMM1φM)を要求する。バスインタフェー
ス手段10は、第1のポインタ20の内容が「0」なの
で、次の命令語が命令先読みバッファ18に読込まれて
いないと判断して、実行手段12を待機させる。この
後、バスインタフェース手段10の命令先読みバッファ
に図示しないメモリから次の1ワードの命令語が読込ま
れる。すなわち、第1のポインタ20の内容は第2の加
算器23によって+1加算され、内容が「0」から
「1」になり、第1のポインタ20の内容は「0」、第
2のポインタ21の内容は「2」なので、第1の加算器
22により0+2=2となる。この加算結果の「2」が
第1のデコーダ25でデコードされ、第1のシフタ17
のゲート17cがオンに制御され、命令先読みバッファ
18の18cのワード位置に次の1ワードの命令語(デ
ータ命令「DATA IMM1φM」)が格納される。
【0025】時刻t3では、バスインタフェース手段1
2は、第1のポインタ20の内容が「1」なので、命令
先読みバッファ18のバッファ18cから実行手段12
に1ワードの命令語を送出するとともに、図示しないメ
モリからの命令先読みバッファ18への次の命令語の読
込みを開始する。1ワード長の命令語が命令先読みバッ
ファ18から命令解釈手段9に読出されると、バスイン
タフェース手段10では、第1のポインタ20の内容は
第2の加算器23で−1加算され、第2のポインタ21
の内容は、第3の加算器24によって+1加算される。
命令解釈手段11は、送られてきた命令語の識別フィー
ルド60aのデータ「DATA]から、この命令語がデ
ータ命令であると判断し、実行手段12,データバッフ
ァ34,シフト手段33を制御する。この時、実行手段
12は、その命令語がデータ命令であるための演算等の
データ処理を行わない。このデータ命令中の10ビット
の即値データ「IMMφ1M」は、シフト手段33でシ
フトされ、データバッファ34のバッファ34bのビッ
ト位置に格納される。次のデータ命令の10ビットの即
値データは、データバッファ34のバッファ34cのビ
ット位置にシフトされ格納されることになる。
【0026】時刻t4では、実行手段12はバスインタ
フェース手段10に対して次の1ワードの命令語を要求
する。バスインタフェース手段10では、第1のポイン
タ20の内容が「0」なので、次の1ワードの命令語が
命令先読みバッファ18に読込まれていないと判断して
実行手段12を待機させる。この後、バスインタフェー
ス手段10では、メモリからデータバス14を介して次
の1ワードの命令語が命令先読みバッファ18に読込ま
れるため、第1のポインタ20の内容は、第2の加算器
23によって+1加算され、第1のポインタ20の内容
は「0」、第2のポインタ21の内容は「0」になる。
この結果、第1の加算器22によって0+0=0とな
り、この加算結果0が第1のデコーダ25でデコードさ
れ、次の命令語が読込まれる場所は、命令先読みバッフ
ァ18の18aのワード位置となる。この18aのワー
ド位置に次の命令語(データ命令「DATA IMMφ
H」が読込まれる。
【0027】時刻t5では、時刻t3と同様に、1ワー
ドの命令語が命令先読みバッファ18のワード位置18
aから読出され、読出された命令語の10ビットの即値
データは、データバッファ34のバッファ34cのビッ
ト位置にシフトされて格納される。時刻t6では、時刻
t4と同様に、次の1ワード長の命令語(演算命令「A
DDI RX」)がメモリからデータバッファ34のバ
ッファ34bのビット位置に読込まれる。また、データ
バッファ34では、バッファ34c〜34aのビット位
置に、「IMMφ1H,IMMφ1M,IMMφ1L」
のデータが格納され結合される。時刻t7では、バスイ
ンタフェース手段10の第1のポインタ20の内容は
「1」なので、命令先読みバッファ18のワード位置1
8bから1ワードの命令語が命令解釈手段11に読出さ
れる。命令解釈手段11は、送られてきた命令語の識別
フィールド60aを解読し、この命令語が「ADDI
RX」の演算命令であると判断し、実行手段12,デー
タ拡張手段35を制御する。データ拡張手段35は、デ
ータバッファ34に格納されている30ビットのデータ
(バッファ34a〜34c)の所定のビット位置にゼロ
符号(2ビット分)を加えて符号拡張する。実行手段1
2は、命令解釈手段11の制御により、符号拡張された
2ワードの即値データを受けると、レジスタファイル3
7のレジスタ番号RXのデータとの加算をALU36で
行って、加算結果をレジスタファイル37のレジスタ番
号RXに格納して、命令語の実行を終了する。
【0028】以上説明したように、この第1の発明にマ
イクロコンピュータは、使用する命令語の語長が一様で
あるため、バスインタフェース手段の構成が簡単になっ
ている。すなわち、命令先読みバッファから命令語を読
出すための第2のシフタの出力のデータ幅が従来のもの
と比べて2ワードから1ワードに減少しているため、第
2のシフタとこの第2のシフタに関係する回路の構造が
従来のものよりも簡単になっている。
【0029】図4は、この第1の発明によるマイクロコ
ンピュータに使用される命令語の応用例を示している。
(a)は演算命令のフォーマットであり、語長は図2で
示したものと変わらないが識別フィールド60a「AD
DI」と、レジスタフィールド60b「RX」と、デー
タフィールド60c「IMM5」とを組合わされてい
る。図2(a)で説明した演算命令と比較すると、レジ
スタフィールド60bのレジスタフィールド1は変わら
ないが、レジスタフィールド2がデータフィールド60
cになっている。(b)は、プログラム上における命令
語を示しており、識別フィールド60aが「DATA」
のデータ命令の2命令「DATA IMM1φL,DA
TA IMM1φH」と、(a)の演算命令のフォーマ
ットをもつ演算命令が組合わされている。
【0030】図5は、図4の命令語を処理する場合のデ
ータバッファでの処理を時系列で示している。図4の
(b)の命令語を処理する場合、(1)ではシフト手段
33のゲート33aが命令解釈手段によってオンされ、
データバッファ34のバッファ34aのビット位置にデ
ータ命令のデータ「IMM1φL」が格納され、(2)
ではシフト手段33のゲート33bが同じく命令解釈手
段でオンされ、データバッファ34のバッファ34bの
ビット位置に次のデータ命令のデータ「IMM1φH」
が格納され、(3)では、シフト手段33のゲート33
cがオンされ、データバッファ34のバッファ34cの
ビット位置に演算命令のデータフィールド60cのデー
タ「IMM5」が格納される。そしてデータバッファ3
4で結合されたデータは、データ拡張手段で2ワード長
に拡張され、実行手段12により演算に使用される。以
上説明したような演算命令とすることにより、同じ命令
語数で図2の命令語よりも長い即値データを使える。
【0031】図6は、この第2の発明の一実施例におけ
るマイクロコンピュータの構成を示すインタフェース手
段のブロック図である。この第2の発明のマイクロコン
ピュータは、第1の発明によるマイクロコンピュータと
比較して、インタフェース手段の構成がより簡単になっ
ている。もちろん、使用する命令語は、第1の発明のマ
イクロコンピュータで説明したものと同じである。図6
において、40は加算器、41はポインタ、42はデコ
ーダ、43,44はインバータ、45は第2のシフト手
段としてのシフト手段、46a〜46cは第2のバッフ
ァとしての命令先読みバッファ、47a,47bはラッ
チ回路、48a〜48jはゲート、50は第2のバッフ
ァ指示手段としてのバッファ指示手段、IR,IR(反
転)は信号であり、他の部分は第1の発明のマイクロコ
ンピュータと同じ機能をもっている。
【0032】ポインタ41は、命令先読みバッファ46
a〜46c内に格納されている命令語の数を示し、例え
ば0〜3の数値を示す。バッファ指示手段50の加算器
40は、ポインタ41の内容を新たに命令語を読込む時
は+1を加算、命令語を読出した時は−1を加算、命令
語の読込み・読出しを同時に行った時または読込み・読
出しを行わない時は+0を加算する。デコーダ42は、
ポインタ41の内容をデコードし、例えば「1」の信号
をゲート48a〜48jに出力して、これらのゲートを
オンに制御する。そのポインタ41の内容は、「0」の
時デコーダ42のCがオン、「1」の時デコーダ42の
Bがオン、「2」の時デコーダ42のAがオン、「3」
の時はデコーダ42のA,B,Cが全てオフになる。I
Rは、命令語を順次読出す時にオンになる信号、IR
(反転)はIRがオンの時にオフ、IRがオフの時にオ
ンになる信号である。
【0033】図7は、この第2の発明によるマイクロコ
ンピュータのバスインタフェース手段の動作を示すタイ
ムチャート図である。(a)は基準となるクロック信
号、(b)はIR信号、(c)はポインタ41の動作状
態、(d)はアドレスレジスタ28の動作状態を示して
いる。
【0034】次に、この第2の発明によるマイクロコン
ピュータの動作について、図6,図7を参照して説明す
る。命令先読みバッファ46b,46cに2個の命令語
が格納されているとすると、この時のポインタ41の内
容は「2」である。次に、時刻t1では、命令先読みバ
ッファ46cから1ワード長の命令語が読出され、IR
とIR(反転)の信号によって命令先読みバッファ46
bの命令語がデータラッチ47bを介して命令先読みバ
ッファ46cにシフトされる。この時ポインタ41の内
容は、加算器41で−1加算され、「1」になり、新た
に命令語の読込みが行われる。時刻t2では、ポインタ
「1」の内容がデコーダ42でデコードされ、デコーダ
42のBがオンに制御され、ゲート48eがオン、ゲー
ト48dがインバータ43によりオフとなり、データバ
ス14からの命令語は、命令先読みバッファ46bに格
納され、命令先読みバッファ46cからデータが読出さ
れ、IR,IR(反転)信号により、命令先読みバッフ
ァ46bに格納された命令語が命令先読みバッファ46
cにシフトされる。ポインタ41の内容は、命令語が1
つ読込まれ1つ読出されたので、加算器41で+0加算
され、「1」のまま変化しない。時刻t3では、命令先
読みバッファ46cの命令語が読出される。この結果、
ポインタ41の内容は加算器41で−1加算され「0」
となる。時刻t4では、ポインタ41の内容「0」をデ
コーダ42でデコードし、デコーダ42のCをオンに制
御し、ゲート48iがオン、ゲート48hはインバータ
44によりオフになる。そして、データバス14から命
令先読みバッファ46cに命令語が読込まれる。時刻t
6では、命令語の読込み・読出しのどちらも行わないの
で、ポインタ41の内容は「1」のまま変化しない。時
刻t6では、ポインタ41の内容が「3」で、命令先読
みバッファ46a〜46cのすべてに命令語が格納され
ているので、命令語の読込みは行われない。以上説明し
たように、この第2の発明によるマイクロコンピュータ
は、バスインタフェース手段を、命令語の順次読込み・
読出しができる構成としたため、バッファ指示手段の制
御が簡単になる。
【0035】この第3の発明の一実施例におけるマイク
ロコンピュータは、図示しないが、第1および第2の発
明の実施例の構成から、バスインタフェース手段を除い
た構成とした。動作については、バスインタフェース手
段をのぞいて、既述したものと同一なので省略する。
【0036】なお、第1の発明の一実施例によるマイク
ロコンピュータの説明では、データを格納するデータバ
ッファ34を10ビットのビット長で、合計30ビット
のバッファとして説明したが、ビット長は10ビットに
限定されるものではなく、このビット長は自由に設定で
きる。
【0037】
【発明の効果】以上のように、この第1の発明によれ
ば、使用するすべての命令語を、語長が一様で演算等を
行わせる命令を含む第1の命令語と、同じく語長が一様
で演算等で使用する即値データ,オフセット等のデータ
からなる第2の命令語で統一し、上記命令語を扱える構
成としたため、上記命令語の先読み制御が容易になり、
マイクロコンピュータ全体の構成が簡単になる効果があ
る。この第2の発明によれば、バスインタフェース手段
を命令語が順次読込み読出せる構成としたため、第1の
発明の効果に加えて、バスインタフェース手段の構成を
より簡単にできる効果がある。この第3の発明によれ
ば、バスインタフェース手段を設けない構成としたた
め、固定長の即値データ(オフセットデータ)だけでな
く、将来のRISCプロセッサに使用される予定の可変
長のデータにも対応できる効果がある。
【図面の簡単な説明】
【図1】この第1の発明の一実施例によるマイクロコン
ピュータのブロック図である。
【図2】図1のマイクロコンピュータで使用される命令
語の具体例を示す図である。
【図3】図1のマイクロコンピュータの動作を示すタイ
ムチャートである。
【図4】図2の命令語の応用例を示す図である。
【図5】図4の命令語のシフト手段,データバッファに
おける処理を示す図である。
【図6】この第2の発明の一実施例によるマイクロコン
ピュータのバスインタフェース手段を詳細に示す回路図
である。
【図7】図6のバスインタフェース手段の動作を示すタ
イムチャートである。
【図8】従来のマイクロコンピュータのブロック図であ
る。
【図9】図8のマイクロコンピュータで使用される命令
語の具体例を示す図である。
【図10】図8のマイクロコンピュータの動作を示すタ
イムチャートである。
【符号の説明】
10,71 バスインタフェース手段 11,72 命令解釈手段 12,74 実行手段 17 第1のシフタ 18,46 命令先読みバッファ 31,70 第2のシフタ 20 第1のポインタ 21 第2のポインタ 28 アドレスレジスタ 32,50 バッファ指示手段 33,45 シフト手段 34 データバッファ 35 データ拡張手段 41 ポインタ 42 デコーダ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年8月31日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0003
【補正方法】変更
【補正内容】
【0003】データバス14は図示しないメモリ等から
命令語をバスインタフェース手段71に読込むためのバ
ス、アドレスバス15はアドレスレジスタ28のアドレ
スのデータをメモリ等に送出するためのバス、制御信号
バス16はメモリ等に書込み/読出し信号(R/W)を
送出するためのバスである。バスインタフェース手段7
1の第1のシフタ17は、ゲート17a〜17cより構
成され、データバス14上の1ワード長の命令語をゲー
トの制御により命令先読みバッファ18の所定のワード
位置18a〜18cに格納する。命令先読みバッファ1
8は、例えば3ワード長の命令語を一時的に格納できる
データバッファであり、第1のシフタ17のゲート17
a〜17cで選択されたワード位置18a〜18cに1
ワード長の命令語を格納する。第1のポインタ20は、
命令先読みバッファ18内に格納されている1ワード長
の命令語の数を示し、例えば0〜3の数値となる。第2
のポインタ21は、命令先読みバッファ18のワード位
置18a〜18cから、次に読出す命令語のワード位置
を示す。第1の加算器22は、第1のポインタ20と第
2のポインタ21の内容を加算する、例えば2ビットの
加算器であ。第2の加算器23は、データバス14か
ら1ワード長の命令語を命令先読みバッファ18に読込
んだ時には第1のポインタ20を+1加算し、命令語を
命令先読みバッファ18から読出した時、または1ワー
ド長の命令語の読込みと2ワード長の命令語の読出しが
同時に行われた時に−1加算し、2ワード長の命令語が
命令先読みバッファ18から読出された時−2を加算
し、1ワード長の命令語の読込みと読出しが同時に行わ
れた時+0を加算する。第3の加算器24は、1ワード
長の命令語を命令先読みバッファ18から読出した時、
第2のポインタ21を+1を加算し、2ワード長の命令
語を命令先読みバッファ18から読出した時に+2を加
算する。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0005
【補正方法】変更
【補正内容】
【0005】図9は、従来のマイクロコンピュータで使
用された命令語の具体例を示しており、(a)は即値デ
ータまたはオフセットデータのフィールドを含まない命
令語のフォーマットで、識別フィールド80a(ビット
番号10〜15)と、レジスタフィールド80b(ビッ
ト番号0〜9)よりなる。レジスタフィールド80b
は、更にレジスタフィールド1(ビット番号5〜9),
レジスタフィールド2(ビット番号0〜4)に分けられ
ている。(b)は1ワード長の即値データまたはオフセ
ットデータのフィールドを含む命令語のフォーマットで
あり、1ワード長のデータフィールドの80d(ビット
番号0〜15)とともに、識別フィールド80a(ビッ
ト番号26〜31)に1ワード長のデータを含むという
情報をもつ。(c)は2ワード長の即値データまたはオ
フセットデータを含む命令語のフォーマットであり、2
ワード長のデータフィールド80d(ビット番号0〜3
1)をもち、データフィールド80dは更にデータフィ
ールド1(ビット番号16〜30),データフィールド
2(ビット番号0〜15)分けられ、識別フィールド
80a(ビット番号42〜47)には2ワード長のデー
タを含むという情報をもつ。(d)は2ワード長の即値
データ「IMM1φL,IMM1φH」をもつ命令語の
プログラム上でのフォーマットである。識別フィールド
80aには、「ADD」のデータ、レジスタフィールド
80bのレジスタフィールド1にはレジスタ番号RXが
入力されている。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 使用するすべての命令語の語長が一様
    で、演算等を行わせる命令を含む第1の命令語と、演算
    等に使用する即値データ,オフセットデータ等のデータ
    からなる第2の命令語とを備え、 複数ワードよりなる第1のバッファと、アドレスレジス
    タのアドレスで示すメモリのメモリ領域に格納されてい
    る第1または第2の命令語を、メモリからアドレスバス
    を介して上記第1のバッファの所定のワード位置に読込
    む第1のシフタと、上記ワード位置から第1または第2
    の命令語を読出す第2のシフタと、第1および第2のシ
    フタに上記ワード位置を指示する第1のバッファ指示手
    段とを有するバスインタフェース手段と、このバスイン
    タフェース手段から読込んだ第2の命令語のデータが重
    ならないように所定のビット数をシフトする第1のシフ
    ト手段と、この第1のシフト手段で所定のビット数をシ
    フトさせた第2の命令語のデータを結合するデータ結合
    手段と、このデータ結合手段で結合したデータの所定の
    ビット位置に符号を加えて所定のワード長に符号拡張す
    るデータ拡張手段と、命令語の解釈に従って、所定の演
    算を実行する実行手段と、上記バスインタフェースから
    読込んだ上記第1または第2の命令語を解釈し、この命
    令語が第2の命令語である場合は、第2の命令語のデー
    タを上記第1のシフト手段で所定のビット数をシフトさ
    せて上記データ結合手段で結合させ、上記命令語が第1
    の命令語である場合は、上記第1の命令語の命令を解釈
    し、上記データ結合手段で結合させたデータを上記拡張
    手段で拡張させ、上記拡張手段で拡張させたデータを使
    用して上記実行手段に演算を行わせる命令解釈手段とを
    設けたことを特徴とするマイクロコンピュータ。
  2. 【請求項2】 上記バスインタフェース手段は、上記第
    1のバッファと異なる同一のワード数で直列に接続され
    た第2のバッファを有し、アドレスレジスタのアドレス
    で示すメモリのメモリ領域に格納されている第1または
    第2の命令語を、メモリからアドレスバスを介して上記
    第2のバッファに順次読込み、上記第2のバッファに読
    込んだ順より第1または第2の命令語を上記第2のバッ
    ファから読出す第2のシフト手段と、上記第2のバッフ
    ァに命令語が読込まれると読込まれた命令語の数だけ数
    値を増加させ、上記第2のバッファから第1または第2
    の命令語が読出されると読出された命令語の数だけ数値
    を減少させて、上記数値に従って上記第2のシフト手段
    を制御する第2のバッファ指示手段とを有することを特
    徴とする請求項第1項記載のマイクロコンピュータ。
  3. 【請求項3】 使用するすべての命令語の語長が一様
    で、演算等を行わせる命令を含む第1の命令語と、演算
    等に使用する即値データ,オフセットデータ等のデータ
    からなる第2の命令語とを備え、 読込んだ第2の命令語のデータが重ならないように所定
    のビット数をシフトする第1のシフト手段と、この第1
    のシフト手段で所定のビット数をシフトさせた第2の命
    令語のデータを結合するデータ結合手段と、このデータ
    結合手段で結合したデータの所定のビット位置に符号を
    加えて所定のワード長に符号拡張するデータ拡張手段
    と、命令語の解釈に従って、所定の演算を実行する実行
    手段と、読込んだ上記第1または第2の命令語を解釈
    し、この命令語が第2の命令語である場合は、第2の命
    令語のデータを上記第1のシフト手段で所定のビット数
    をシフトさせて上記データ結合手段で結合させ、上記命
    令語が第1の命令語である場合は、上記第1の命令語の
    命令を解釈し、上記データ結合手段で結合させたデータ
    を上記拡張手段で拡張させ、上記拡張手段で拡張させた
    データを使用して上記実行手段に演算を行わせる命令解
    釈手段とを設けたことを特徴とするマイクロコンピュー
    タ。
JP3349944A 1991-12-10 1991-12-10 マイクロコンピュータ Pending JPH05197545A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3349944A JPH05197545A (ja) 1991-12-10 1991-12-10 マイクロコンピュータ
US07/977,947 US5423012A (en) 1991-12-10 1992-11-18 Apparatus and method in a computer for executing calculation instructions and data instructions having uniform word lengths

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3349944A JPH05197545A (ja) 1991-12-10 1991-12-10 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH05197545A true JPH05197545A (ja) 1993-08-06

Family

ID=18407161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3349944A Pending JPH05197545A (ja) 1991-12-10 1991-12-10 マイクロコンピュータ

Country Status (2)

Country Link
US (1) US5423012A (ja)
JP (1) JPH05197545A (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3369204B2 (ja) * 1991-10-25 2003-01-20 株式会社東芝 プログラマブルコントローラ
US5625784A (en) * 1994-07-27 1997-04-29 Chromatic Research, Inc. Variable length instructions packed in a fixed length double instruction
JP3505266B2 (ja) 1995-06-15 2004-03-08 三洋電機株式会社 プログラム実行装置
JP3711422B2 (ja) * 1995-12-20 2005-11-02 セイコーエプソン株式会社 情報処理回路
JP3201716B2 (ja) * 1996-02-22 2001-08-27 シャープ株式会社 コンピュータ装置
US6219779B1 (en) * 1997-06-16 2001-04-17 Matsushita Electric Industrial Co., Ltd. Constant reconstructing processor which supports reductions in code size
JP3327818B2 (ja) * 1997-08-29 2002-09-24 松下電器産業株式会社 プログラム変換装置及び記録媒体
KR100322277B1 (ko) * 1998-11-20 2002-03-08 권 기 홍 확장 명령어를 가진 중앙처리장치
US6970998B1 (en) 2002-02-22 2005-11-29 Redback Networks Inc. Decoding suffix instruction specifying replacement destination for primary instruction
KR20040002305A (ko) * 2002-06-29 2004-01-07 주식회사 에이디칩스 중앙처리장치
US6920513B2 (en) 2002-11-26 2005-07-19 Intel Corporation Bus management techniques
US8999312B2 (en) 2010-06-02 2015-04-07 Alcon Research, Ltd. Use of PBO-PEO-PBO block copolymers in ophthalmic compositions
US10054943B2 (en) * 2011-10-26 2018-08-21 Hoverfly Technologies, Inc. Control system for unmanned aerial vehicle utilizing parallel processing architecture
JP6325657B2 (ja) 2013-09-27 2018-05-16 ノバルティス アーゲー コンタクトレンズを消毒及び洗浄するための組成物及び方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5592940A (en) * 1979-01-02 1980-07-14 Honeywell Inf Systems Computer
JPS57152046A (en) * 1981-03-13 1982-09-20 Mitsubishi Electric Corp Instruction buffer controlling method
JPS59133647A (ja) * 1982-11-26 1984-08-01 インモス,リミテツド コンピユ−タおよびコンピユ−タ装置を動作させる方法
JPS6398037A (ja) * 1986-10-14 1988-04-28 Mitsubishi Electric Corp デ−タ処理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4370709A (en) * 1980-08-01 1983-01-25 Tracor, Inc. Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases
US5057837A (en) * 1987-04-20 1991-10-15 Digital Equipment Corporation Instruction storage method with a compressed format using a mask word

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5592940A (en) * 1979-01-02 1980-07-14 Honeywell Inf Systems Computer
JPS57152046A (en) * 1981-03-13 1982-09-20 Mitsubishi Electric Corp Instruction buffer controlling method
JPS59133647A (ja) * 1982-11-26 1984-08-01 インモス,リミテツド コンピユ−タおよびコンピユ−タ装置を動作させる方法
JPS6398037A (ja) * 1986-10-14 1988-04-28 Mitsubishi Electric Corp デ−タ処理装置

Also Published As

Publication number Publication date
US5423012A (en) 1995-06-06

Similar Documents

Publication Publication Date Title
US4454578A (en) Data processing unit with pipelined operands
US7558944B2 (en) Microcomputer
JP2816248B2 (ja) データプロセッサ
US6560697B2 (en) Data processor having repeat instruction processing using executed instruction number counter
JPH06332792A (ja) データ処理装置及びそのデータ読み出し制御回路,データ書き込み制御回路
JPH05197545A (ja) マイクロコンピュータ
JPH04109336A (ja) データ処理装置
JP3203401B2 (ja) データ処理装置
USRE32493E (en) Data processing unit with pipelined operands
US5832258A (en) Digital signal processor and associated method for conditional data operation with no condition code update
US5459847A (en) Program counter mechanism having selector for selecting up-to-date instruction prefetch address based upon carry signal of adder which adds instruction size and LSB portion of address register
US5307300A (en) High speed processing unit
KR100249631B1 (ko) 데이터 처리장치
US5077659A (en) Data processor employing the same microprograms for data having different bit lengths
JPH07239780A (ja) 1クロック可変長命令実行処理型命令読み込み電子計 算機
JP2000322235A (ja) 情報処理装置
JP2556182B2 (ja) デ−タ処理装置
EP0334131B1 (en) Data processor performing operation on data having length shorter than one-word length
JP3504355B2 (ja) プロセッサ
JPH0769806B2 (ja) データ処理装置
JPH04109338A (ja) プライオリティエンコーダ及びそれを備えたデータ処理装置
JPH0651984A (ja) マイクロプロセッサ
JPH05173778A (ja) データ処理装置
JP3515018B2 (ja) パイプライン形データ処理装置
JPH0713757A (ja) データ処理装置