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

データ処理装置

Info

Publication number
JP2942449B2
JP2942449B2 JP5247154A JP24715493A JP2942449B2 JP 2942449 B2 JP2942449 B2 JP 2942449B2 JP 5247154 A JP5247154 A JP 5247154A JP 24715493 A JP24715493 A JP 24715493A JP 2942449 B2 JP2942449 B2 JP 2942449B2
Authority
JP
Japan
Prior art keywords
register
data
bit width
group
instruction
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
JP5247154A
Other languages
English (en)
Other versions
JPH07104997A (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
Priority to JP5247154A priority Critical patent/JP2942449B2/ja
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to EP01202455A priority patent/EP1164479B1/en
Priority to DE69434971T priority patent/DE69434971T2/de
Priority to EP02076028A priority patent/EP1229440B1/en
Priority to EP04075265A priority patent/EP1416374A3/en
Priority to EP02076025A priority patent/EP1229439A3/en
Priority to DE69434967T priority patent/DE69434967T2/de
Priority to DE69432445T priority patent/DE69432445T2/de
Priority to EP94303862A priority patent/EP0626641B1/en
Publication of JPH07104997A publication Critical patent/JPH07104997A/ja
Priority to US08/587,338 priority patent/US5809306A/en
Application granted granted Critical
Publication of JP2942449B2 publication Critical patent/JP2942449B2/ja
Priority to US09/662,484 priority patent/USRE41959E1/en
Priority to US10/991,367 priority patent/USRE40498E1/en
Priority to US11/607,889 priority patent/US20080320454A1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、種類が異なる複数のレ
ジスタ群を有し、プログラムに従ってデータを処理する
データ処理装置に関する。
【0002】
【従来の技術】近年、アプリケーションの複雑化に伴う
プログラム/データサイズの増大が問題となってきてい
る。マイクロコンピューター等のデータ処理装置におい
ては、処理能力の向上や高機能化の要求に従って、16
ビットあるいは32ビットCPUを備えたものが出現し
ているが、これらのデータ処理装置では、アドレスレジ
スタ・データレジスタのような使用目的別に複数のレジ
スタ群を備えたものがある。
【0003】アドレスレジスタとデータレジスタの複数
のレジスタ群を備えたデータ処理装置の従来例としてM6
8000 8/16/32 MICROPROCESSORS USER MANUAL に記載さ
れたデータ処理装置を説明する。図5は、従来のデータ
処理装置の構成を示すブロック図である。同図におい
て、501はアドレスレジスタ・データレジスタの2種
類のレジスタ群からなるレジスタ部、502は命令を解
読する命令解読部、503は外部記憶装置、504は外
部記憶装置との間で指定されたビット幅のデータの入出
力を行なう外部アクセス実行部である。なお、本従来例
が対象とするアプリケーションのアドレス空間は24ビ
ット以内、データのビット幅は16ビットであるとす
る。
【0004】図6は、上記データ処理装置におけるレジ
スタから外部記憶装置へデータを転送する転送命令の命
令フォーマットを示す。同図において、「OP」は命令
の種類を示すオペレーションフィールドでここでは転送
命令(MOVE)を示す、「SIZE」は転送するビット幅
を示すサイズフィールド、「SRC」は転送元のレジス
タ資源を示すソースフィールド、「DEST」は転送先
の外部記憶資源を示すデスティネーションフィールドで
ある。
【0005】以上のように構成されたデータ処理装置に
おいてレジスタから外部記憶装置へデータを転送する動
作を例にとって説明する。図6に示した転送命令が命令
解読部502で解読され、オペレーションフィールド
(OP)から処理がレジスタから外部記憶装置への転送
(MOVE)であり、サイズフィールド(SIZE)から転
送データのビット幅が32ビットであり、ソースフィー
ルド(SRC)から転送元のレジスタがA1であり、デス
ティネーションフィールド(DEST)から転送先の外
部記憶装置のアドレス(@A2)が判別される。外部アク
セス実行部504は、命令解読部502よりレジスタ情
報505及びビット幅情報506を入力すると、指定さ
れた32ビットのビット幅でレジスタ部501のレジス
タの内容A1(507)を外部記憶装置503に書き込む
(508)。
【0006】
【発明が解決しようとする課題】しかしながら従来のデ
ータ処理装置においては、全ての転送命令にサイズフィ
ールドが必要となるため、命令コードが長くなりコード
サイズの増加をもたらし、サイズフィールドの解読機構
が必要になるという問題があった。また、転送のビット
幅は、32・16・8ビットのいづれかをサイズフィー
ルドで指定する為、アプリケーションのプログラムサイ
ズに必要なアドレスが24ビット以内の場合でもアドレ
スレジスタの転送には32ビット転送が行なわれること
になるので、実行速度が低下するという問題があった。
具体的には、外部装置とのデータ転送に32ビットを指
定したとき、外部装置が8ビット幅である場合には、8
ビットずつデータを4回に分けて行うことになるため、
1回分の転送が余分に行われるので、その分実行速度が
低下していた。また、16ビットデータを転送する場合
は、サイズフィールドが16に指定されていれば高速性
に問題はないが、コンパイラによってはプログラム上の
有効なデータ幅を正しく認識できないため、16ビット
データの転送であるにもかかわらず、サイズフィールド
を32に指定してしまう。この場合には、外部の8ビッ
ト記憶装置と4回転送するうち2回は無駄な転送をする
ことになる。
【0007】上記の課題に鑑み本発明は、プログラムサ
イズを小さくし、データ転送の高速化を実現するデータ
処理装置を提供することを目的とする。
【0008】
【課題を解決するための手段】上記の課題を解決するた
め本発明のデータ処理装置は、プログラムの命令に従っ
てデータを処理するデータ処理装置であって 類が異なる複数のレジスタ群からなるレジスタ部と、 命令を解読し、データ転送命令で指定されたレジスタが
属するレジスタ群を特定するレジスタタイプと、レジス
タ群中のレジスタを特定するレジスタ番号とを出力する
命令解読手段と、 前記レジスタタイプのみから直接的にデータ転送すべき
ビット幅を決定し、該ビット幅を示すビット幅情報を出
力する外部アクセス幅制御手段と、 前記レジスタタイプ、レジスタ番号及びビット幅情報に
従って、レジスタと外部装置との間のデータ転送を実行
する外部アクセス実行手段と を備えている。
【0009】また、前記レジスタ部は、アドレスレジス
タ群とデータレジスタ群との少なくとも2つからなって
いてもよい。また、前記外部アクセス幅制御手段は、レ
ジスタ情報がデータレジスタを示しているときは、プロ
グラムで用いられるデータの有効ビット幅に応じて決ま
るビット幅をビット幅情報として出力し、レジスタ情報
がアドレスレジスタを示しているときは、プログラムが
必要とするメモリ空間に応じて決まるビット幅をビット
幅情報として出力するように構成されていてもよい。
【0010】また、本発明のデータ処理装置は 類が異なる複数のレジスタ群からなり、レジスタ群間
で重複するレジスタ番号を有するレジスタ部と、 命令を解読し、データ転送命令のオペレーションコード
から転送対象のレジス群を示すレジスタタイプを特定
し、当該データ転送命令で指定されたレジスタ番号を出
力する命令解読手段と、 前記レジスタタイプのみから直接的にデータ転送すべき
ビット幅を決定し、該ビット幅を示すビット幅情報を出
力する外部アクセス幅制御手段と、 ビット幅情報に従って、前記レジスタタイプ及びレジス
タ番号により特定されるレジスタと外部装置との間のデ
ータ転送を実行する外部アクセス実行手段とを備え、 前記データ転送命令は、前記レジスタ番号を指示するオ
ペランドを有するように構成してもよい。
【0011】
【作用】上記した構成により本発明のデータ処理装置で
は、外部アクセス幅制御手段は、前記レジスタタイプ
みから直接的にデータ転送すべきビット幅を決定し、該
ビット幅を示すビット幅情報を出力する。外部アクセス
実行手段は、前記レジスタタイプ、レジスタ番号及びビ
ット幅情報に従って、レジスタと外部装置との間のデー
タ転送を実行する。
【0012】
【実施例】以下、本発明の実施例におけるデータ処理装
置の一実施例を図面を用いて説明する。図1は本発明の
一実施例におけるデータ処理装置の概略構成図である。
同図において、301は、アドレスレジスタとデータレ
ジスタの2つのレジスタ群を格納するレジスタ部、30
2は、命令を解読しオペランドとなるレジスタを決定す
るとレジスタ情報303を出力する命令解読部、304
は、レジスタ情報303が入力され、レジスタの属する
レジスタ群毎に決められたビット幅情報305を出力す
る外部アクセス幅制御部、306は、ビット幅情報30
5及びレジスタ情報303に従ってレジスタ部301の
レジスタと外部記憶装置307との間のデータ転送を、
外部記憶装置307のビット幅に合わせて実行する外部
アクセス実行部である。
【0013】外部記憶装置307は、外部の記憶装置で
本実施例では、8ビット幅のメモリとする。図2は、図
1に示したデータ処理装置の詳細な構成を示すブロック
図である。同図において、図1と同じ構成部分は同じ符
号を付けている。レジスタ部301は、アドレスレジス
タ群301a、入力バッファゲート301b、出力バッ
ファゲート301c、データレジスタ群301d、入力
バッファゲート301e、出力バッファゲート301
f、デコーダ301g、デコーダ301hから構成され
ている。
【0014】アドレスレジスタ群301aは、8本の3
2ビット長のアドレスレジスタを備え、外部アクセス実
行部306から入力バッファゲート301bを介して入
力されるデータを、デコーダ301gにより指定された
レジスタに保持し、また、デコーダ301hにより指定
されたレジスタのデータを出力バッファゲート301c
を介して出力する。
【0015】データレジスタ群301dは、8本の32
ビット長のデータレジスタを備え、外部アクセス実行部
306から入力バッファゲート301eを介して入力さ
れるデータを、デコーダ301gにより指定されたレジ
スタに保持し、また、デコーダ301hにより指定され
たレジスタのデータを出力バッファゲート301fを介
して出力する。
【0016】デコーダ301gは、命令解読部302か
らデスティネーションレジスタのタイプ(DT)及びそのレ
ジスタ番号(DN)が入力され、それらに従って、書き込む
べきレジスタを選択し、バッファゲート301b、eの
ゲート制御信号を出力する。デコーダ301hは、命令
解読部302からソースレジスタのタイプ(ST)及びレジ
スタ番号(SN)、又はデスティネーションレジスタのタイ
プ(DT)及びレジスタ番号(DN)が入力され、それらの指示
に従って、読み出すべきレジスタを選択してバッファゲ
ート301c、fの各ゲート制御信号を出力する。
【0017】命令解読部302は、命令を解読し、各命
令に応じた制御信号を出力する。転送命令を解読した場
合は、ソースレジスタがアドレスレジスタであるかデー
タレジスタであるかを示すソースタイプ(ST)、ソースに
指定されているレジスタ番号(SN)、デスティネーション
レジスタがアドレスレジスタであるかデータレジスタで
あるかを示すデスティネーションタイプ(DT)、及びデス
ティネーションに指定されているレジスタ番号(DN)を出
力する。前記DT及びDNは前記デコーダ301gに入力さ
れ、DT、DNとST、SNはセレクタ302aを介してどちら
か一方がデコーダ301hに出力される。同時に、転送
すべきデータ(またはアドレス)の読み出し元又は格納
先となるレジスタのタイプをレジスタ情報としてセレク
タ302bを介して外部アクセス幅制御部304に出力
するとともに、外部アクセス実行部306に起動信号を
出力する。
【0018】外部アクセス幅制御部304は、レジスタ
情報として転送命令の対象となっているレジスタタイプ
示す信号が入力され、そのレジスタタイプがアドレスレ
ジスタであれば24ビット幅の転送を指示するビット幅
情報を、データレジスタであれば16ビット幅の転送を
指示するビット幅情報を出力する。本実施例では、レジ
スタ情報303は1ビットの信号で”1”でアドレスレ
ジスタ、”0”でデータレジスタを示し、これに対応し
てビット幅情報も1ビットの信号で”1”で24ビット
幅、”0”で16ビット幅の転送を指示するものとす
る。このビット幅情報は、アプリケーションのプログラ
ムサイズに応じてアドレスレジスタの有効ビット幅とし
て32ビットアドレス、24ビットアドレス、16ビッ
トアドレスの何れが必要かに応じて、また、アプリケー
ションが扱うデータが16ビットデータか32ビットデ
ータに応じて任意に設定し得る。本実施例では、対象と
するアプリケーションが占めるアドレス空間は24ビッ
ト以内、有効なデータのビット幅は16ビットであるも
のとする。これに対応して、外部アクセス幅制御部は、
レジスタタイプがアドレスレジスタであれば転送のビッ
ト幅を24ビット、データレジスタであれば転送のビッ
ト幅を16ビットとしている。
【0019】外部アクセス実行部306は、ロードバッ
ファ306a、入力バッファゲート群306b、ストア
バッファ306c、セレクタ306d、アドレスバッフ
ァ306e、セレクタ306f、インクリメンタ306
g、出力バッファゲート306h、シーケンサ306i
を備えて構成される。ロードバッファ306aは、外部
記憶装置307から入力バッファゲート群306bを介
して複数回入力される8ビットデータを保持し、レジス
タ部301に出力する。
【0020】ストアバッファ306cは、レジスタ部3
01から入力されるデータを保持し、セレクタ306d
を介して外部記憶装置307に8ビットずつデータを出
力する。アドレスバッファ306eは、レジスタ部30
1からセレクタ306fを介して入力されるアクセスす
べきアドレスを保持し、出力バッファゲート306hを
介して外部記憶装置307に出力する。出力バッファゲ
ート306hから出力されるアドレスは、インクリメン
タ306gによりインクリメントされてセレクタ306
fを介して再度アドレスバッファ306eに入力され
る。
【0021】シーケンサ306iは、外部アクセス幅制
御部304からのビット幅情報に従って、外部記憶装置
307に対するロード/ストア命令の実行を制御する。
具体的には、ビット幅情報が24ビット幅を指示してい
るときは、8ビットデータのロード/ストアを3回に分
けて実行するよう制御し、ビット幅情報が16ビット幅
を指示しているときは、8ビットデータのロード/スト
アを2回に分けて実行するよう制御する。
【0022】図3、図4は、上記データ処置装置におけ
る転送命令の命令フォーマットの説明図である。図3の
命令フォーマットは例えば(MOVE D1,@A2)のようにデ
ータレジスタからメモリにデータを転送する転送命令、
図4の命令フォーマットは例えば(MOVEA1,@A2)のよう
にアドレスレジスタからメモリにデータを転送する転送
命令を示している。「OP」は命令の処理の種類を表すオ
ペランドフィールド、「SRC」は転送元レジスタを示す
ソースフィールド、「DEST」は転送先のメモリを示すデ
スティネーションフィールドを有している。上記の命令
において、MOVEは転送命令を示し、D1はデータレジスタ
を、A1,A2はアドレスレジスタを、@A2はアドレスレジス
タA2が示す外部記憶装置の番地を示す。本実施例では、
SRC、DESTフィールドを各3ビットとする。そして転送
命令MOVEは、SRC、DESTで指定されるレジスタがアドレ
スレジスタ/データレジスタのどちらであるかを区別す
るために複数のOPが用意されている。これはSRC、DEST
フィールドのビット数をさらに削減するためである。
【0023】以上のように構成された本発明の実施例に
おけるデータ処理装置について、その動作を図3、4に
示した転送命令を例にとって説明する。図3に示した転
送命令は、レジスタD1のデータをアドレスレジスタA2が
示すアドレスの外部記憶装置307に転送する命令であ
る。 (1)命令解読部302は、図3の命令を解読すること
により、オペレーションフィールド(OP)からデータレジ
スタのメモリへの転送命令(MOVE)であり、ソースフィ
ールド(SRC)から転送元レジスタがD1、デスティネーシ
ョンフィールド(DEST)から転送先のメモリ(@A2)が判別
される。解読の結果、ソースタイプSTを"0",ソースレジ
スタ番号SNを"001"、デスティネーションタイプを"1"、
デスティネーションレジスタ番号を"010"にして出力
し、外部アクセス実行部306に起動信号を出力する。
同時にセレクタ302bはレジスタ情報303を"0"に
して出力する。
【0024】(2)レジスタ部301において、ST="
0"、SN="001"で指定されるデータレジスタD1のデータが
32ビット幅で読み出され出力バッファゲート301f
から出力される。出力バッファゲート301fからのデ
ータは、外部アクセス実行部306においてストアバッ
ファ306cに保持される。次に、DT="1"、DN="010"で
指定されるアドレスレジスタA2のデータが32ビット幅
で読み出され出力バッファゲート301cから出力され
る。出力バッファゲート301cからのデータは、外部
アクセス実行部306においてセレクタ306fを介し
てアドレスバッファ306eに保持される。
【0025】(3)一方、外部アクセス幅制御部304
は、レジスタ情報303を受け取ると、"0"であること
から転送対象となるレジスタがデータレジスタ群に属す
ると判断し、ビット幅情報を16ビットであることを示
す"0"にして外部アクセス実行部306に出力する。 (4)外部アクセス実行部306は、起動信号が入力さ
れるとビット幅情報305が"0"であることから、16
ビットのデータを8ビットずつ2回に分けて外部記憶装
置307に次のようにして転送する。
【0026】シーケンサ306iは、(2)で保持され
たアドレスバッファ306eのデータを出力バッファゲ
ート306hを介してアドレスとして出力し、(2)で
保持されたストアバッファ306cのデータのうち、第
1バイト(最下位のバイト)をセレクタ306dにより
選択して出力する。そして、外部記憶装置307への書
込みに必要な制御信号を出力し、セレクタ306dから
の出力された第1バイトのデータを外部記憶装置307
に書き込む。
【0027】第1バイトの書込みが終わると、シーケン
サ306iは、セレクタ306fにインクリメンタ30
6gの出力を選択させて、アドレスバッファ306eに
保持させる。これにより、アドレスバッファ306eの
内容が次のアドレスを示すようになる。次に、シーケン
サ306iは、アドレスバッファ306eのデータを出
力バッファゲート306hを介してアドレスとして出力
し、(2)で保持されたストアバッファ306cのデー
タのうち、第2バイト(第1バイトの上位バイト)をセ
レクタ306dにより選択して出力する。そして、外部
記憶装置307への書込みに必要な制御信号を出力し、
セレクタ306dからの出力された第2バイトのデータ
を外部記憶装置307に書き込む。これで、図3に示し
た転送命令の実行が終了する。
【0028】図4に示した転送命令は、アドレスレジス
タA1のデータをアドレスレジスタA2が示すアドレスの外
部記憶装置307に転送する命令である。 (1)命令解読部302は、図3の命令を解読すること
により、オペレーションフィールド(OP)からデータレジ
スタのメモリへの転送命令(MOVE)であり、ソースフィ
ールド(SRC)から転送元レジスタがA1、デスティネーシ
ョンフィールド(DEST)から転送先のメモリ(@A2)が判別
される。解読の結果、ソースタイプSTを"1",ソースレジ
スタ番号SNを"001"、デスティネーションタイプを"1"、
デスティネーションレジスタ番号を"010"にして出力
し、外部アクセス実行部306に起動信号を出力する。
同時にセレクタ302bはレジスタ情報303を"1"に
して出力する。
【0029】(2)レジスタ部301において、ST="
1"、SN="001"で指定されるアドレスレジスタA1のデータ
が32ビット幅で読み出され出力バッファゲート301
cから出力される。出力バッファゲート301cからの
データは、外部アクセス実行部306においてストアバ
ッファ306cに保持される。次に、DT="1"、DN="010"
で指定されるアドレスレジスタA2のデータが32ビット
幅で読み出され出力バッファゲート301fから出力さ
れる。出力バッファゲート301fからのデータは、外
部アクセス実行部306においてセレクタ306fを介
してアドレスバッファ306eに保持される。
【0030】(3)一方、外部アクセス幅制御部304
は、レジスタ情報303を受け取ると、"1"であること
から転送対象となるレジスタがアドレスレジスタ群に属
すると判断し、ビット幅情報を24ビットであることを
示す"1"にして外部アクセス実行部306に出力する。 (4)外部アクセス実行部306は、起動信号が入力さ
れるとビット幅情報305が"1"であることから、24
ビットのデータを8ビットずつ3回に分けて外部記憶装
置307に次のようにして転送する。
【0031】シーケンサ306iは、(2)で保持され
たアドレスバッファ306eのデータを出力バッファゲ
ート306hを介してアドレスとして出力し、(2)で
保持されたストアバッファ306cのデータのうち、第
1バイト(最下位のバイト)をセレクタ306dにより
選択して出力する。そして、外部記憶装置307への書
込みに必要な制御信号を出力し、セレクタ306dから
の出力された第1バイトのデータを外部記憶装置307
に書き込む。
【0032】第1バイトの書込みが終わると、シーケン
サ306iは、セレクタ306fにインクリメンタ30
6gの出力を選択させて、アドレスバッファ306eに
保持させる。これにより、アドレスバッファ306eの
内容が次のアドレスを示すようになる。次に、シーケン
サ306iは、アドレスバッファ306eのデータを出
力バッファゲート306hを介してアドレスとして出力
し、(2)で保持されたストアバッファ306cのデー
タのうち、第2バイト(第1バイトの上位バイト)をセ
レクタ306dにより選択して出力する。そして、外部
記憶装置307への書込みに必要な制御信号を出力し、
セレクタ306dからの出力された第2バイトのデータ
を外部記憶装置307に書き込む。
【0033】第2バイトの書込みが終わると、シーケン
サ306iは、セレクタ306fにインクリメンタ30
6gの出力を選択させて、アドレスバッファ306eに
保持させる。これにより、アドレスバッファ306eの
内容が次のアドレスを示すようになる。次に、シーケン
サ306iは、アドレスバッファ306eのデータを出
力バッファゲート306hを介してアドレスとして出力
し、(2)で保持されたストアバッファ306cのデー
タのうち、第3バイト(第2バイトの上位バイト)をセ
レクタ306dにより選択して出力する。そして、外部
記憶装置307への書込みに必要な制御信号を出力し、
セレクタ306dからの出力された第3バイトのデータ
を外部記憶装置307に書き込む。これで、図4に示し
た転送命令の実行が終了する。
【0034】上記のように本実施例においては、対象と
するアプリケーションの必要とするビット幅として、ア
ドレスレジスタの転送は24ビット、データレジスタの
転送は16ビットと設定することにより、命令中のサイ
ズフィールドが不要となり、命令長が短くなるためコー
ドサイズの減少、及びサイズフィールドの解読機構の省
略を図ることができる。
【0035】さらに、実装するレジスタのビット幅にか
かわらず、外部記憶装置との間で必要最小限の転送を行
なうことにより、不要なデータの転送を抑制し、データ
サイズの減少、実行速度の向上を図ることができるとい
う効果がある。なお、本実施例では、アドレスレジスタ
・データレジスタのビット幅を32ビット、外部アクセ
ス幅制御部に決められたアドレスレジスタ・データレジ
スタのビット幅を、24・16ビットとしたがこれらは
任意でも構わないし、また転送先の外部記憶装置をレジ
スタにより指定したが(@A2)他の方法で指定しても構
わないし、転送命令としてレジスタからメモリへの転送
を例にあげたが、レジスタと外界との双方向の転送どち
らで構わない。
【0036】また、レジスタタイプを示すST、DT、及び
ビット幅情報は、それぞれ1ビットの信号であるが、レ
ジスタタイプの種類や転送ビット幅の数に応じて複数の
ビットで表すようにしてもよい。また、外部アクセス実
行部306は、外部記憶装置307に対して最下位バイ
トから順に8ビットずつ転送するようにしているが、上
位バイトから順に転送するようにしてもよい。その場
合、シーケンサ306iがセレクタ306dに上位バイ
トから選択するように制御し、インクリメンタ306g
が−1ずつインクリメントするようにすればよい。
【0037】
【発明の効果】以上説明してきたように本発明のデータ
処理装置によれば、対象レジスタの選択と同時に転送の
ビット幅を決定する外部アクセス幅制御部を設けること
により、命令中のサイズフィールドが不要になり、命令
長が短くなるためコードサイズの減少、及び解読機構の
省略を図ることができるというこうかがある。
【0038】さらに、実装するレジスタのビット幅にか
かわらず必要最小限で転送を行なうことにより、不要な
データの転送を抑制することによって実行速度の向上を
図ることができるため、その実用的効果は大きい。
【図面の簡単な説明】
【図1】本発明の実施例におけるデータ処理装置の一実
施例の概略構成図
【図2】同実施例における本発明のデータ処理装置の一
実施例の詳細構成図
【図3】同実施例における転送命令フォーマット説明図
【図4】同実施例における転送命令フォーマット説明図
【図5】従来のデータ処理装置の構成図
【図6】従来のデータ処理装置の命令フォーマット説明
【符号の説明】
301 レジスタ部 301a アドレスレジスタ群 301b 入力バッファゲート 301c 出力バッファゲート 301d データレジスタ群 301e 入力バッファゲート 301f 出力バッファゲート 301g デコーダ 301h デコーダ 302 命令解読部 302a セレクタ 302b セレクタ 303 レジスタ情報 304 外部アクセス幅制御部 305 ビット幅情報 306 外部アクセス実行部 306a ロードバッファ 306b 入力バッファゲート群 306c ストアバッファ 306d セレクタ 306e アドレスバッファ 306f セレクタ 306g インクリメンタ 306h 出力バッファゲート 306i シーケンサ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/30 - 9/355 G06F 9/40 - 9/42

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 プログラムの命令に従ってデータを処理
    するデータ処理装置であって 類が異なる複数のレジスタ群からなるレジスタ部と、 命令を解読し、データ転送命令で指定されたレジスタが
    属するレジスタ群を特定するレジスタタイプと、レジス
    タ群中のレジスタを特定するレジスタ番号とを出力する
    命令解読手段と、 前記レジスタタイプのみから直接的にデータ転送すべき
    ビット幅を決定し、該ビット幅を示すビット幅情報を出
    力する外部アクセス幅制御手段と、 前記レジスタタイプ、レジスタ番号及びビット幅情報に
    従って、レジスタと外部装置との間のデータ転送を実行
    する外部アクセス実行手段と を備えたことを特徴とするデータ処理装置。
  2. 【請求項2】前記レジスタ部は、アドレスレジスタ群と
    データレジスタ群との少なくとも2つからなる ことを特徴とする請求項1記載のデータ処理装置。
  3. 【請求項3】前記外部アクセス幅制御手段は、レジスタ
    情報がデータレジスタを示しているときは、プログラム
    で用いられるデータの有効ビット幅に応じて決まるビッ
    ト幅をビット幅情報とし、レジスタ情報がアドレスレジ
    スタを示しているときは、プログラムが必要とするメモ
    リ空間に応じて決まるビット幅をビット幅情報として出
    力する ことを特徴とする請求項2記載のデータ処理装置。
  4. 【請求項4】 プログラムの命令に従ってデータを処理
    するデータ処理装置であって 類が異なる複数のレジスタ群からなり、レジスタ群間
    で重複するレジスタ番号を有するレジスタ部と、 命令を解読し、データ転送命令のオペレーションコード
    から転送対象のレジス群を示すレジスタタイプを特定
    し、当該データ転送命令で指定されたレジスタ番号を出
    力する命令解読手段と、 前記レジスタタイプのみから直接的にデータ転送すべき
    ビット幅を決定し、該ビット幅を示すビット幅情報を出
    力する外部アクセス幅制御手段と、 ビット幅情報に従って、前記レジスタタイプ及びレジス
    タ番号により特定されるレジスタと外部装置との間のデ
    ータ転送を実行する外部アクセス実行手段と、を備え、 前記データ転送命令は、前記レジスタ番号を指示するオ
    ペランドを有する ことを特徴とするデータ処理装置。
  5. 【請求項5】 プログラムの命令に従ってデータを処理
    するデータ処理装置であって、 第1のレジスタ郡と第2のレジスタ郡とからなるレジス
    タ部と、 命令を解読し、データ転送命令で指定されたレジスタが
    前記第1のレジスタ群に属するか前記第2のレジスタ群
    に属するかを特定するレジスタタイプと、レジスタ群中
    のレジスタを特定するレジスタ番号とを出力する命令解
    読手段と、 前記レジスタタイプのみから直接的にデータ転送すべき
    ビット幅を決定し、前記レジスタタイプが前記第1のレ
    ジスタ群である場合はデータ転送すべきビット幅をMビ
    ットとし、前記レジスタタイプが前記第2のレジスタ群
    である場合はデータ転送すべきビット幅をMより大きい
    Nビットとし、MビットかNビットかを示すビット幅情
    報を出力する外部アクセス幅制御手段と、 レジスタから外部装置にデータを転送するデータ転送命
    令が前記命令解読手段により解読されると、前記レジス
    タタイプと前記レジスタ番号とによって一に特定される
    レジスタを、前記データ転送命令で指定されたレジスタ
    が前記第1のレジスタ群に属するか前記第2のレジスタ
    群に属するかに関らずNビット以上のビット幅で読出
    し、前記レジスタタイプが前記第1のレジスタ群である
    場合は読出したデータのMビットを取り出して外部装置
    に転送し、前記レジスタタイプが前記第2のレジスタ群
    である場合は読出したデータのNビットを取り出して外
    部装置に転送する外部アクセス実行手段と を備えたことを特徴とするデータ処理装置。
JP5247154A 1993-05-27 1993-10-01 データ処理装置 Expired - Lifetime JP2942449B2 (ja)

Priority Applications (13)

Application Number Priority Date Filing Date Title
JP5247154A JP2942449B2 (ja) 1993-10-01 1993-10-01 データ処理装置
DE69432445T DE69432445T2 (de) 1993-05-27 1994-05-27 Verbesserter Prozessor für Adressierung
EP02076028A EP1229440B1 (en) 1993-05-27 1994-05-27 Program converting unit and processor improved in address management
EP04075265A EP1416374A3 (en) 1993-05-27 1994-05-27 Program converting unit and processor improved in address management
EP02076025A EP1229439A3 (en) 1993-05-27 1994-05-27 Program converting unit and processor improved in address management
DE69434967T DE69434967T2 (de) 1993-05-27 1994-05-27 Programmumsetzungseinheit und verbesserter Prozessor für Adressierung
EP01202455A EP1164479B1 (en) 1993-05-27 1994-05-27 Program converting unit
EP94303862A EP0626641B1 (en) 1993-05-27 1994-05-27 Processor improved in address management
DE69434971T DE69434971T2 (de) 1993-05-27 1994-05-27 Programmumsetzungseinheit
US08/587,338 US5809306A (en) 1993-05-27 1996-01-16 Variable address length compiler and processor improved in address management
US09/662,484 USRE41959E1 (en) 1993-05-27 2000-09-14 Variable address length compiler and processor improved in address management
US10/991,367 USRE40498E1 (en) 1993-05-27 2004-11-19 Variable address length compiler and processor improved in address management
US11/607,889 US20080320454A1 (en) 1993-05-27 2006-12-04 Variable address length compiler and processor improved in address management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5247154A JP2942449B2 (ja) 1993-10-01 1993-10-01 データ処理装置

Publications (2)

Publication Number Publication Date
JPH07104997A JPH07104997A (ja) 1995-04-21
JP2942449B2 true JP2942449B2 (ja) 1999-08-30

Family

ID=17159245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5247154A Expired - Lifetime JP2942449B2 (ja) 1993-05-27 1993-10-01 データ処理装置

Country Status (1)

Country Link
JP (1) JP2942449B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01169537A (ja) * 1987-12-24 1989-07-04 Fujitsu Ltd マイクロプロセッサ

Also Published As

Publication number Publication date
JPH07104997A (ja) 1995-04-21

Similar Documents

Publication Publication Date Title
US4777588A (en) General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance
JPH06332792A (ja) データ処理装置及びそのデータ読み出し制御回路,データ書き込み制御回路
JP3203401B2 (ja) データ処理装置
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
JPS62197830A (ja) デ−タ処理システム
JP2970821B2 (ja) データ処理装置
JP2773471B2 (ja) 情報処理装置
US5307300A (en) High speed processing unit
US4991083A (en) Method and system for extending address space for vector processing
KR19990036893A (ko) 다중 어드레싱 모드를 실행하는 프로세서 구조 및 그 설계방법
EP1220100B1 (en) Circuit and method for hardware-assisted software flushing of data and instruction caches
JP2942449B2 (ja) データ処理装置
JP2553200B2 (ja) 情報処理装置
JP2915680B2 (ja) Riscプロセッサ
EP1235139B1 (en) System and method for supporting precise exceptions in a data processor having a clustered architecture
JPH0666052B2 (ja) メモリ内容を機械レジスタに自動的に写像する計算機
JP2987281B2 (ja) プロセッサ
JP2671161B2 (ja) レジスタ干渉チェック方式
JPH0452986B2 (ja)
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPH0546389A (ja) 並列処理装置
JP3123545B2 (ja) データ処理装置
JPH03204029A (ja) 情報処理装置
JPS6149695B2 (ja)
JPH1011287A (ja) マイクロプロセッサのアドレス出力装置及びプログラム変換装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20080618

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090618

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110618

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120618

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120618

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 14

EXPY Cancellation because of completion of term