JP2861560B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP2861560B2
JP2861560B2 JP3342629A JP34262991A JP2861560B2 JP 2861560 B2 JP2861560 B2 JP 2861560B2 JP 3342629 A JP3342629 A JP 3342629A JP 34262991 A JP34262991 A JP 34262991A JP 2861560 B2 JP2861560 B2 JP 2861560B2
Authority
JP
Japan
Prior art keywords
register
cycle
bus
data
address
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
JP3342629A
Other languages
English (en)
Other versions
JPH05173778A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP3342629A priority Critical patent/JP2861560B2/ja
Publication of JPH05173778A publication Critical patent/JPH05173778A/ja
Priority to US08/419,957 priority patent/US5649229A/en
Application granted granted Critical
Publication of JP2861560B2 publication Critical patent/JP2861560B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
    • 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
    • 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/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • 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
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/323Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、小型でかつ高速化に適
した内部バス構成を有するデータ処理装置に関する。
【0002】
【従来の技術】従来のデータ処理装置における内部バス
は、1サイクルでレジスタとレジスタとの間で演算する
ために2本あるいはそれ以上の本数によって構成されて
いた。2本の内部バスを用いてレジスタ間で演算する場
の従来例を説明するため従来のデータ処理装置の内部
ブロック図を図7に、そのタイミング図(従来例)を図
8に示す。図8において、T1およびT2は内部クロッ
クであり、T1とT2とで1サイクルとなり、解読、実
行はそれぞれ解読ステージ、実行ステージの様子を示し
おり、レジスタ間加算演算命令(ADD Dn,Dn)とロード
命令(LD @(d8,An),Dn)が別々のサイクルで繰り返し実
行している様子を示すタイミング図である。ここで、(L
D @(d8,An),Dn)命令はアドレスレジスタ212(An)と
命令バッファ214の偏位(d8)を加算してえられるア
ドレスからデータをロードする命令である。図8におい
てサイクル2ではレジスタ間加算演算命令(ADD Dn,Dn)
の実行が、サイクル3ではロード命令(LD @(d8,An),D
n)のアドレス計算が処理されている。この様に、基本
サイクルを前半(T1)と後半(T2)の2つに分割
し、サイクル2の前半でレジスタの内容をバスに出力し
て読み出し、後半で演算結果をレジスタ書き込むため、
サイクル2の後半で演算結果がバス216に出力されて
おり、次の命令である(LD @(d8,An),Dn)のアドレス計算
(アドレスレジスタ212(An)と命令バッファの21
4の偏位(d8)の加算)のためのアドレスレジスタ21
2の内容をバス216に出力できない。すなわちサイク
ルの前半(T1)で演算器215を動作させ、サイクル
の後半(T2)では演算器215を動作させることなく
バス216を演算器215からの演算結果の出力ために
使用しなければならないので、同一サイクルの前半(T
1)と後半(T2)で演算器215を動作させることが
できず高速化が図れなかった。そこで、高速化を図るた
めに演算器の演算結果の新たにバスを追加した3本のバ
スを用いる構成が考えられるが、その従来のデータ処理
装置の内部ブロック図を図9に示す。各種レジスタから
の読み出しはバス316、317を用い、演算器315
で演算し、追加した3本目のバス318に演算結果を出
力する。この場合には、基本サイクルを演算器の動作可
能/停止の2つに分割する必要がないため、2本のバス
構成に比べて高速化できるメリットがある反面ハードウ
エアが増加するので、低コストを目指したデータ処理装
置には、不向きであるという問題がある。さらに、詳し
く述べないが、図10に示すようにバスは2本のまま
で、演算器を更に1つ追加(演算器415の他に演算器
416を追加)して、高速化を図る方法も考えられる。
【0003】
【0004】
【0005】
【発明が解決しようとする課題】しかしながら、上記従
来のデータ処理装置では、処理速度を高速化するために
は新たにバスまたは演算器を追加しなければならないと
いう課題が有った。
【0006】
【0007】本発明は、上記問題点を解消するため、
ス1本分のハードウエアコストしかかからない2本のバ
スと、もう1本のバスの計3本の内部バスと1つの演算
器で低コスト化を図りながら、アドレス計算を高速に行
ない、メモリへのアクセス命令(例えば、ロード命令)
や分岐命令などの処理性能を向上することを目的として
いる。
【0008】
【0009】
【課題を解決するための手段】上記の課題を解決するた
めに本発明のデータ処理装置は、パイプライン方式デー
タ処理装置であって、演算データを保持し、1サイクル
につき2回の割合で保持したデータを出力するデータレ
ジスタと、メモリをアクセスするアドレスを保持し、1
サイクルにつき2回の割合で保持したアドレスを出力す
るアドレスレジスタと、実行するプログラムの先読みア
ドレスを保持し、1サイクルにつき2回の割合で保持し
た先読みアドレスを出力するプログラムカウンタと、命
令の実行に先立ってメモリより読み出した複数の命令を
保持し、保持した命令の一部又は全てを1サイクルにつ
き2回の割合で出力する命令バッファと、演算器と、前
記データレジスタと前記アドレスレジスタとに接続さ
れ、前記データレジスタまたは前記アドレスレジスタへ
の書き込みデータと、前記データレジスタまたは前記ア
ドレスレジスタからの読み出しデータとを転送する第1
のバスと、前記アドレスレジスタと前記プログラムカウ
ンタとに接続され、前記アドレスレジスタまたは前記プ
ログラムカウンタの内容を転送する第2のバスと、前記
データレジスタと前記命令バッファとに接続され、前記
データレジスタまたは前記命令バッファの内容を転送す
る第3のバスと、前記演算器に接続され、前記演算器の
演算結果を保持し、サイクルの前半で前記演算器が演算
した結果を、該サイクルの後半で前記第1のバスに出力
し、該サイクルの後半で前記演算器が演算した結果を、
該サイクルに続く次のサイクルの前半で選択手段に出力
する第1のレジスタと、前記第1のバスに接続され、サ
イクルの後半で前記第1のバスを通して転送される内容
を保持する第2のレジスタと、前記第1のレジスタと前
記第2のレジスタとを選択してメモリをアクセスするオ
ペランドアドレスを決定する選択手段とを備え、サイク
ルの前半では、前記演算器は前記第2のバスと前記第3
のバスとを選択して演算のソースデータとし、前記第1
のバスを選択してデスティネーションデータとして演算
し、演算結果を前記第1のレジスタに出力し、該サイク
ルの後半では、前記第1のレジスタは前記演算結果を前
記第1のバスに出力し、かつ、前記演算器は前記第2の
バスの内容をオペランドアドレスのベースアドレスと
し、前記第3のバスの内容をオペランドアドレスのオフ
セットとして演算を行い、 演算結果のオペランドアドレ
スを前記第1のレジスタに出力し、該サイクルの次のサ
イクルでは、前記選択手段は、前記演算器が該サイクル
の後半でオペランドアドレスを計算する場合には、前記
第1のレジスタの内容を選択してオペランドをアクセス
することを特徴としている。また、前記演算器はサイク
ルの後半で、前記アドレスレジスタが保持する内容のい
ずれか1つを前記第2のバスより入力し、入力した内容
をそのまま出力して前記第1のレジスタに格納し、さら
に、前記選択手段は、該サイクルに続く直後のサイクル
で前記第1のレジスタの内容に基づいてオペランドをア
クセスすることを特徴としている。また、前記演算器は
サイクルの後半で、前記アドレスレジスタが保持する内
容のいずれか1つを前記第2のバスより入力し、前記命
令バッファに格納された命令に含まれる偏位を前記第3
のバスより入力してそれぞれを加算し、結果を前記第1
のレジスタに格納し、さらに、前記選択手段は、該サイ
クルに続く直後のサイクルで前記第1のレジスタの内容
に基づいてオペランドをアクセスすることを特徴として
いる。また、前記演算器はサイクルの後半で、前記プロ
グラムカウンタが保持する内容を前記第2のバスより入
力し、前記命令バッファに格納された命令に含まれる偏
位を前記第3のバスより入力してそれぞれを加算し、結
果を前記第1のレジスタに格納し、さらに、前記選択手
段は、前記サイクルに続く直後のサイクルで前記第1の
レジスタの内容に基づいて分岐先の命令をアクセスする
ことを特徴としている。
【0010】
【作用】本発明のデータ処理装置では、演算器を追加せ
ず、かつ、バス1本分のハードウエアコストしかかから
ない2本のバスと、もう1本のバスの計3本の内部バス
構成のもと、1つの演算器がデータ演算とアドレス計算
とを同一のサイクルの前半と後半でそれぞれ処理し、ア
ドレス計算を高速に行ない、メモリへのアクセス命令
(例えば、ロード命令)や分岐命令などを高速実行する
ことができる。
【0011】図1は、本発明の一実施例におけるデータ
処理装置の内部ブロックを表した図である。同図におい
て、11はデータの保持及び演算用に用いるデータレジ
スタで、16ビット長のレジスタ4本から構成される。
12はアドレスの保持及び演算用に用いるアドレスレジ
スタで、データレジスタと同様に16ビット長のレジス
タ4本から構成される。13は実行中の命令のアドレス
を保持する16ビット長のプログラムカウンタ。14は
命令バッファであり、命令の実行に先だって先行的に命
令をメモリから読み出して蓄える。15はデータを演算
する16ビットの演算器である。16はデータレジスタ
11またはアドレスレジスタ12から読み出したデータ
を転送するバスで、演算器16が演算した結果をアドレ
スレジスタ又はデータレジスタへの転送も行なう。17
はアドレスレジスタ12又はプログラムカウンタ13か
ら読み出したデータを転送するバスである。18はデー
タレジスタ11又は命令バッファ14から読み出したデ
ータを転送するバスである。19はバス16とバス18
とを選択し、演算器15のデスティネーション側にデー
タを供給するセレクタである。20はバス16とバス1
7とを選択し、演算器15のソース側にデータを供給す
るセレクタである。21はテンポラリレジスタで、演算
器15の演算結果を一次的に保持する。22はアドレス
レジスタで、メモリをアクセスするアドレスを保持す
る。23はテンポラリレジスタ21とアドレスレジスタ
22とを選択するセレクタ。24はセレクタ23によっ
て選択したアドレスのメモリのデータをアクセスする
クセス制御手段(BIB)である。
【0012】図2は、上記図1に示す実施例のバリエー
ションを示すもので、図1におけるセレクタ19、20
に換えてバススイッチを用いた構成例を示すデータ処理
装置の内部ブロックを表した図である。プログラムカウ
ンタ13、命令バッファ14、セレクタ23、アクセス
制御手段24等は図1と同じなので省略する。201と
202はそれぞれアドレスレジスタ12とデータレジス
タ11とに接続されるデスティネーション側のバス。2
03はバス201とバス202との接続又は切り離しを
制御するバススイッチ。204と205はそれぞれアド
レスレジスタ12とデータレジスタ11とに接続される
ソース側のバス。206はバス204とバス205との
接続又は切り離しを制御するバススイッチ。バススイッ
チが閉じると、両側に接続されたバスは1つのバスとし
て動作する。
【0013】上記構成における本願発明の第1の実施例
を図5を用いて説明する。以下においては、内部ブロッ
ク図は図1を用いる。図5はレジスタ間加算演算命令
(ADDDn,Dn)とロード命令(LD @(d8,An),Dn)を繰り返
し実行している様子を示すタイミング図である。同図に
おいて、T1およびT2は内部クロックであり、T1と
T2とで1サイクルとなる。解読、実行はそれぞれ解読
ステージ、実行ステージのパイプラインの様子を示して
いる。(LD @(d8,An),Dn)命令はアドレスレジスタAnと命
令バッファの8ビットの偏位を加算してえられるアドレ
スからデータをロードする命令である。
【0014】
【0015】サイクル2の加算の実行では、T1のタイ
ミングでデータレジスタのソース側データとデスティネ
ーション側データをそれぞれバス18とバス16に読み
出す。バス18のデータとバス16のデータはそれぞれ
セレクタ20とセレクタ19によって選択され、演算器
に入力される。T2のタイミングでは、演算結果がレジ
スタ21に格納されるとともにバス16に出力され、デ
ータレジスタ11に書き込まれる。このサイクル2のT
2のタイミングでは同時に、ロード命令のアドレスレジ
スタがバス17に読み出され、偏位がバス18に読み出
されている。この例からわかるように、本発明は3本の
バス構成のデータ処理装置においては演算器の演算結果
をレジスタに書き込むときにバス16しか使わないこと
に着目し、そのタイミングで空いているバス17、18
を利用して、ロード命令のアドレス計算に必要なデータ
を転送している。実装するうえではバス17とバス18
は、一直線上に位置することができ、バス1本分のハー
ドウエアコストしかからないが、T2のタイミングでは
2本のバスとして機能する。
【0016】次に、第4図により本願発明の第2の実施
例である1サイクルで実行されるロード命令の動作を説
明する。ここで、(LD @An,Dn)命令は、アドレスレジス
タAnで示されるアドレスのメモリからデータをロード
し、データレジスタDnに格納する命令である。サイクル
1では、命令が命令バッファ14から読み出されて解読
される。この時、1サイクルで実行できるロード命令で
あることがわかるので、T2のタイミングで、アドレス
レジスタ12からアドレスをバス17に読み出し、T1
のタイミングで演算器15を通してレジスタ21へ格納
する。サイクル2では、レジスタ21に格納されている
アドレスをセレクタ23により選択し、バス制御手段2
4がデータをロードする。ロードしたデータはT2のタ
イミングでバス16に出力し、データレジスタに格納す
る。サイクル2ではロードと同時に次の命令の解読を開
始するので、図4に示したロード命令は、1サイクルで
実行される。図4のロード命令と同様に、本願発明の第
3実施例の(LD @(d8,An),Dn)命令も1サイクルで実行さ
れる。この命令は、アドレスレジスタAnと8ビットの偏
位を加算してえられるアドレスからデータをロードする
命令である。動作は、図4とほぼ同じであるが、サイク
ル1のT2のタイミングで、アドレスレジスタの内容が
バス17に読み出されると同時に命令バッファ14か
ら、8ビット偏位がバス18に読み出されて、演算器1
5で加算されるところが異なる。
【0017】
【0018】
【0019】また、図では示さないが、JMP @(d8,PC)命
令などの分岐命令も1サイクルのロード命令と同様に、
直前命令のレジスタへの書き込みタイミングと同時に分
岐先アドレスを計算することにより高速に実行すること
が可能である。
【0020】なお、本発明のデータ処理装置をデータレ
ジスタおよびアドレスレジスタをそれぞれ4本とし本発
明のデータ処理装置の命令のうちデータレジスタ間の演
算命令とメモリからのデータ読み出し命令およびメモリ
へのデータ書き込み命令を基本命令語長に割り当てるこ
とで8本のレジスタを持ちながら基本的なレジスタ間演
算命令やロード・ストア命令を1バイトの命令コードで
実現するデータ処理装置を実現できる。この実施例を図
6に示す。同図の命令コードにおいて、「Dn」はデータ
レジスタの番号「An」はアドレスレジスタの番号を示
す。「*」は0か1のどちらかの値を取ることを示し、
0の場合は左側の命令、1の場合は右側の命令である。
「CC」又は「C」は条件分岐命令の条件を表すコード
で、00、01、10、11又は0、1の値を取り、そ
れぞれ左側から右側に順番に書かれた命令に対応する。
また、命令において、鍵カッコで囲まれた命令は、1サ
イクル高速に実行する命令を示している。#imm8および#
imm16は即値データを示し、#imm8は命令に応じて16ビ
ットに拡張されて演算される。また、図3にLD @abs16,
Dn命令を実施した時の動作を示すタイミング図を示す。
LD @abs16,Dn命令は、絶対アドレス(abs16)で示され
るアドレスのメモリからデータをロードし、データレジ
スタDnに格納する命令である。以下、図3を用いて動作
を説明する。このロード命令は、通常2サイクルで実行
され、最初のサイクルでアドレスを計算し、次のサイク
ルでメモリをアクセスする。図3は2サイクルで実行さ
れるロード命令の動作を示している。サイクル1では、
命令が命令バッファ14から読み出されて解読される。
サイクル2では、T1のタイミングで絶対アドレスの値
を命令バッファ14からバス16に読み出し、T2のタ
イミングで演算器15を通してレジスタ21へ格納する
とともに、バス16にレジスタ21のデータを出力し、
アドレスレジスタ22に格納する。サイクル3では、ア
ドレスレジスタ22に格納されたアドレスをセレクタ2
3により選択し、バス制御手段24がデータをロードす
る。ロードしたデータはT2のタイミングでバス16に
出力し、データレジスタに格納する。サイクル3ではロ
ードと同時に次の命令の解読を開始する。従って、図3
に示したロード命令は、2サイクルで実行される。
【0021】
【発明の効果】以上述べたように、本発明によればレジ
スタへの書き込みサイクルにおいて使用しないバスによ
り、アドレスレジスタ又はプログラムカウンタの内容を
転送する構成をとり、バス1本分のハードウエアコスト
しかかからない2本のバスと、もう1本のバスの計3本
の内部バス構成でかつ演算器が1つでありながら、アド
レス計算を高速に行ない、メモリへのアクセス命令(例
えばロード命令)や分岐命令などの処理性能を向上で
き、低価格で高性能なデータ処理装置が実現できる
【図面の簡単な説明】
【図1】本発明の一実施例のデータ処理装置の内部ブロ
ック図である。
【図2】本発明の一実施例のデータ処理装置の内部ブロ
ック図である。
【図3】本発明の実施例のデータ処理装置において2サ
イクルで実行するロード命令の動作を示すタイミング図
である。
【図4】本発明の第2の実施例のデータ処理装置におい
て1サイクルで実行するロード命令の動作を示すタイミ
ング図である。
【図5】本発明の第1の実施例のデータ処理装置におい
てレジスタ間演算命令と1サイクルで実行するロード命
令とを繰り返し実行する時の動作を示すタイミング図で
ある。
【図6】本発明の実施例のデータ処理装置の命令コー
ド割り当て図である。
【図7】 従来の実施例のデータ処理装置の内部ブロック
図である。
【図8】 従来の実施例のデータ処理装置においてレジス
タ間演算命令とロード命令とを繰り返し実行する時の動
作を示すタイミング図である。
【図9】 従来の実施例のデータ処理装置の内部ブロック
図である。
【図10】 従来の実施例のデータ処理装置の内部ブロッ
ク図である。
【符号の説明】
11 データレジスタ 12 アドレスレジスタ 13 プログラムカウンタ 14 命令バッファ 15 演算器 16 第1のバス 17 第2のバス 18 第3のバス
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭55−72255(JP,A) 特開 昭60−132240(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 9/30 370 G06F 12/02 560

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 パイプライン方式データ処理装置であっ
    て、 演算データを保持し、1サイクルにつき2回の割合で保
    持したデータを出力するデータレジスタと、 メモリをアクセスするアドレスを保持し、1サイクル
    つき2回の割合で保持したアドレスを出力するアドレス
    レジスタと、 実行するプログラムの先読みアドレスを保持し、1サイ
    クルにつき2回の割合で保持した先読みアドレスを出力
    するプログラムカウンタと、 命令の実行に先立ってメモリより読み出した複数の命令
    を保持し、保持した命令の一部又は全てを1サイクル
    つき2回の割合で出力する命令バッファと、演算器 と、 前記データレジスタと前記アドレスレジスタとに接続さ
    れ、前記データレジスタまたは前記アドレスレジスタへ
    の書き込みデータと、前記データレジスタまたは前記ア
    ドレスレジスタからの読み出しデータとを転送する第1
    のバスと、 前記アドレスレジスタと前記プログラムカウンタとに接
    続され、前記アドレスレジスタまたは前記プログラムカ
    ウンタの内容を転送する第2のバスと、 前記データレジスタと前記命令バッファとに接続され、
    前記データレジスタまたは前記命令バッファの内容を転
    送する第3のバスと、 前記演算器に接続され、前記演算器の演算結果を保持
    し、サイクルの前半で前記演算器が演算した結果を、該
    サイクルの後半で前記第1のバスに出力し、該サイクル
    の後半で前記演算器が演算した結果を、該サイクルに続
    く次のサイクルの前半で選択手段に出力する第1のレジ
    スタと、 前記第1のバスに接続され、サイクルの後半で前記第1
    のバスを通して転送される内容を保持する第2のレジス
    タと、 前記第1のレジスタと前記第2のレジスタとを選択して
    メモリをアクセスするオペランドアドレスを決定する
    択手段とを備え、サイクルの前半では、前記演算器は 前記第2のバスと前
    記第3のバスとを選択して演算のソースデータとし、前
    第1のバスを選択してデスティネーションデータとし
    て演算し、演算結果を前記第1のレジスタに出力し、サイクルの後半では、前記第1のレジスタは前記演算
    結果を前記第1のバスに出力し、かつ、前記演算器は
    記第2のバスの内容をオペランドアドレスのベースアド
    レスとし、前記第3のバスの内容をオペランドアドレス
    のオフセットとして演算を行い、演算結果のオペランド
    アドレスを前記第1のレジスタに出力し、該サイクルの
    次のサイクルでは、前記選択手段は、前記演算器該サ
    イクルの後半でオペランドアドレスを計算する場合に
    は、前記第1のレジスタの内容を選択してオペランドを
    アクセスすることを特徴とするデータ処理装置。
  2. 【請求項2】 前記演算器サイクルの後半で、前記ア
    ドレスレジスタが保持する内容のいずれか1つを前記第
    2のバスより入力し、入力した内容をそのまま出力して
    前記第1のレジスタに格納し、さらに、前記選択手段
    は、該サイクルに続く直後のサイクルで前記第1のレジ
    スタの内容に基づいてオペランドをアクセスすることを
    特徴とする請求項1記載のデータ処理装置。
  3. 【請求項3】 前記演算器はサイクルの後半で、前記ア
    ドレスレジスタが保持する内容のいずれか1つを前記第
    2のバスより入力し、前記命令バッファに格納された命
    令に含まれる偏位を前記第3のバスより入力してそれぞ
    れを加算し、結果を前記第1のレジスタに格納し、さら
    に、前記選択手段は、該サイクルに続く直後のサイクル
    で前記第1のレジスタの内容に基づいてオペランドを
    クセスすることを特徴とする請求項1記載のデータ処理
    装置。
  4. 【請求項4】 前記演算器サイクルの後半で、前記プ
    ログラムカウンタが保持する内容を前記第2のバスより
    入力し、前記命令バッファに格納された命令に含まれる
    偏位を前記第3のバスより入力してそれぞれを加算し、
    結果を前記第1のレジスタに格納し、さらに、前記選択
    手段は、前記サイクルに続く直後のサイクルで前記第1
    のレジスタの内容に基づいて分岐先の命令をアクセス
    ることを特徴とする請求項1記載のデータ処理装置。
JP3342629A 1991-12-25 1991-12-25 データ処理装置 Expired - Lifetime JP2861560B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3342629A JP2861560B2 (ja) 1991-12-25 1991-12-25 データ処理装置
US08/419,957 US5649229A (en) 1991-12-25 1995-04-10 Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3342629A JP2861560B2 (ja) 1991-12-25 1991-12-25 データ処理装置

Publications (2)

Publication Number Publication Date
JPH05173778A JPH05173778A (ja) 1993-07-13
JP2861560B2 true JP2861560B2 (ja) 1999-02-24

Family

ID=18355254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3342629A Expired - Lifetime JP2861560B2 (ja) 1991-12-25 1991-12-25 データ処理装置

Country Status (2)

Country Link
US (1) US5649229A (ja)
JP (1) JP2861560B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041387A (en) * 1997-09-12 2000-03-21 Siemens Aktiengesellschaft Apparatus for read/write-access to registers having register file architecture in a central processing unit
US6301653B1 (en) 1998-10-14 2001-10-09 Conexant Systems, Inc. Processor containing data path units with forwarding paths between two data path units and a unique configuration or register blocks
US7162615B1 (en) * 2000-06-12 2007-01-09 Mips Technologies, Inc. Data transfer bus communication using single request to perform command and return data to destination indicated in context to allow thread context switch

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4041461A (en) * 1975-07-25 1977-08-09 International Business Machines Corporation Signal analyzer system
JPS59174948A (ja) * 1983-03-25 1984-10-03 Toshiba Corp 情報処理装置
US5197141A (en) * 1988-01-30 1993-03-23 Nec Corporation Software controlled method of issuing hardware control commands to memory controller from prefetch unit by combining request code and address specified in program instructions
JPH0766324B2 (ja) * 1988-03-18 1995-07-19 三菱電機株式会社 データ処理装置
US5187795A (en) * 1989-01-27 1993-02-16 Hughes Aircraft Company Pipelined signal processor having a plurality of bidirectional configurable parallel ports that are configurable as individual ports or as coupled pair of ports

Also Published As

Publication number Publication date
JPH05173778A (ja) 1993-07-13
US5649229A (en) 1997-07-15

Similar Documents

Publication Publication Date Title
JPH0374434B2 (ja)
JP2002333978A (ja) Vliw型プロセッサ
KR100465388B1 (ko) Risc 구조의 8비트 마이크로 제어기
US4347566A (en) Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip
JP4004915B2 (ja) データ処理装置
JP3790626B2 (ja) デュアルワードまたは複数命令をフェッチしかつ発行する方法および装置
EP1499956B1 (en) Method and apparatus for swapping the contents of address registers
US6161171A (en) Apparatus for pipelining sequential instructions in synchronism with an operation clock
JP2861560B2 (ja) データ処理装置
JPH096614A (ja) データ処理装置
JP2690406B2 (ja) プロセッサおよびデータ処理システム
US7134000B2 (en) Methods and apparatus for instruction alignment including current instruction pointer logic responsive to instruction length information
JPH08212075A (ja) 情報処理装置
JP3504355B2 (ja) プロセッサ
US20200371793A1 (en) Vector store using bit-reversed order
US5925122A (en) Data processing unit which pre-fetches instructions of different lengths to conduct processing
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JP4545777B2 (ja) データ処理装置
JP3405106B2 (ja) プログラマブルコントローラ
JP3102399B2 (ja) データ処理装置及び方法
JP3147884B2 (ja) 記憶装置及び情報処理装置
JP2001092658A (ja) データ処理回路及びデータ処理装置
JPH07200289A (ja) 情報処理装置
JP2002342076A (ja) パイプライン制御方式
JP3532026B2 (ja) 演算装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071211

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081211

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091211

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091211

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101211

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101211

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111211

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111211

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 14

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 14