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

データ処理装置

Info

Publication number
JPH09152971A
JPH09152971A JP7313146A JP31314695A JPH09152971A JP H09152971 A JPH09152971 A JP H09152971A JP 7313146 A JP7313146 A JP 7313146A JP 31314695 A JP31314695 A JP 31314695A JP H09152971 A JPH09152971 A JP H09152971A
Authority
JP
Japan
Prior art keywords
instruction
register
source
data processing
code
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.)
Granted
Application number
JP7313146A
Other languages
English (en)
Other versions
JP3630804B2 (ja
Inventor
Yasuto Komura
康人 甲村
Hiroki Miura
宏喜 三浦
Kenji Matsumoto
松本  健志
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP31314695A priority Critical patent/JP3630804B2/ja
Priority to US08/710,260 priority patent/US5991870A/en
Publication of JPH09152971A publication Critical patent/JPH09152971A/ja
Application granted granted Critical
Publication of JP3630804B2 publication Critical patent/JP3630804B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension of register space, e.g. register cache
    • 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/30098Register arrangements
    • 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
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming

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)

Abstract

(57)【要約】 【目的】 プログラムサイズの縮小及び処理速度の向
上。 【構成】 命令語の構成要素である第1ソースレジスタ
指定コード(512)は第1ソースデコーダ(502)に送られ、
第1ソースレジスタ番号(515)に変換される。符号化に
よってレジスタ指定に要するビット幅が短縮されるた
め、命令語中により多くのレジスタを指定することが可
能になる。個々の命令の機能が向上するため処理速度が
向上し、また、同一の機能を実現するのに要する命令数
を削減することができるため、プログラムサイズが縮小
される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の作業用レジスタ
を持つデータ処理装置に関する。
【0002】
【従来の技術】汎用レジスタと呼ばれる複数の作業用レ
ジスタを持つデータ処理装置は、1つの命令で指定でき
るレジスタオペランドの数によって特徴付けることが出
来る。例えば、従来のRISCと呼ばれるアーキテクチ
ャでは、典型的な演算命令において3つのレジスタを指
定することが出来る。この3つのレジスタは加算命令に
おいては、加算のための2つの値を獲得する2つのソー
スレジスタと結果を格納するためのディスティネーショ
ンレジスタとして用いられる。この方式を3レジスタオ
ペランド方式と呼ぶこととする。
【0003】具体的には、David A. Patterson, John
L.Hennessy「コンピュータアーキテクチャ−設計・実現
・評価の定量的アプローチ」(日経BP社、1992年
12月発行)に記載されているMIPSアーキテクチャ
のレジスタ間演算命令の命令フォーマットを図2に示
す。MIPSアーキテクチャにおいては命令語は32ビ
ット固定長で、レジスタ間演算命令を構成する各フィー
ルドは、MSB側から、命令の種類を示す命令操作コー
ド(201)、演算で用いる第1のソースオペランドとなる
レジスタを示す第1ソースレジスタ番号(202)、演算で
用いる第2のソースオペランドとなるレジスタを示す第
2ソースレジスタ番号(203)、演算結果の格納先となる
レジスタを示すディスティネーションレジスタ番号(20
4)、一部の命令で必要となる小さな定数を示す短定数(2
05)、一部の命令で必要となる命令操作コードの拡張で
ある拡張命令操作コード(206)である。なお、図中で各
フィールドの名称の後に括弧つきで示した数値はそのフ
ィールドのビット数である。
【0004】別の従来例として、近年のCold RI
SCと呼ばれるアーキテクチャではコードサイズを削減
し、プログラム領域の圧縮を計るために短い命令長の命
令を基本とするアーキテクチャが採用されている。例え
ば、日立シングルチップRISCマイコンSH7000
シリーズのアーキテクチャのレジスタ間演算命令の命令
フォーマットを図3に示す。SH7000アーキテクチ
ャでは、命令語は16ビット固定長で、レジスタ間演算
命令を構成する各フィールドはMSB側から、命令の種
類を示すための第1命令操作コード(301)、演算で用い
る第2のソースオペランドとなるレジスタを示すソース
レジスタ番号(302)、演算結果の格納先であり、かつ、
演算で用いる第1のソースオペランドともなるレジスタ
を示すディスティネーションレジスタ番号(303)、第1
命令操作コードと併せて命令の種類を示す第2命令操作
コード(304)である。ここで、2項演算で必要なソース
オペランドの一方はディスティネーションレジスタから
取り出される点が前記MIPSアーキテクチャに類する
アーキテクチャと大きく異なる点である。このような方
式を2レジスタオペランド方式と呼ぶこととする。
【0005】近年の、命令をパイプライン的にオーバー
ラップして処理する方式を用いたプロセッサは、例えば
図5のような構成をとることができる。図5において、
命令フェッチ機構(401)は、次に実行すべき命令を命令
キャッシュ(406)から受けとり、得られた命令語を命令
デコード機構(402)に渡す。この命令は次のような手順
で処理される。
【0006】まず、命令デコード機構では命令語を命令
の種類にしたがってフィールドに分割し、処理すべき演
算の種類を示す命令操作コード(411)、命令語内に埋め
込まれた定数オペランドである即値(412)、第1ソース
レジスタ番号(413)、第2ソースレジスタ番号(414)、デ
ィスティネーションレジスタ番号(415)を抽出する。次
にレジスタファイル(403)から第1ソースレジスタ番号
及び第2ソースレジスタ番号で指定されたレジスタの内
容が読み出される。
【0007】命令操作コードが加減算などの演算命令を
示していれば、読み出されたソースレジスタの内容と、
命令操作コードとに従って、演算実行機構(404)で演算
が行なわれ、演算結果(418)はディスティネーションレ
ジスタ番号で指定されたレジスタに格納される。また、
命令操作コードがメモリへのストア命令を示している場
合には、演算実行機構によってデータメモリアドレス(4
16)が計算される。このデータメモリアドレスと書き込
みデータ(417)を用いてデータキャッシュ(407)にデータ
が書き込まれる。
【0008】また、オペレーションがメモリからのロー
ド命令を示している場合には、演算実行機構によって生
成されるデータメモリアドレスを用いてデータキャッシ
ュから内容を読み出し、読み出しデータ(419)がディス
ティネーションレジスタ番号で指定されたレジスタに書
き込まれる。また、命令キャッシュあるいはデータキャ
ッシュに目的とする命令語あるいはデータが存在しない
場合は、外部メモリインターフェイス(408)を介して外
部メモリとキャッシュとの間で命令語あるいはデータの
転送が行なわれる。
【0009】
【発明が解決しようとする課題】3レジスタオペランド
方式は、2レジスタオペランド方式に比べて同一の処理
を行なうための実行命令数を小さくできるという特徴が
ある。これは2レジスタオペランド方式がソースオペラ
ンドが格納されているレジスタの1つを演算結果によっ
て必ず上書きしてしまうことに起因する。レジスタに格
納されている値が複数の命令によって必要とされる場
合、一旦別のレジスタにその内容をコピーした上で演算
を実行しなければならない場合が発生する。例えば、一
般に、レジスタrs1とレジスタrs2の値を用いて2
項演算opを実行し、その結果をレジスタrdに格納す
る機能を実現する場合を考える。3レジスタオペランド
方式では1命令で上記機能を処理することができるのに
対し、2レジスタオペランド方式ではこれを1命令で処
理することはできない。2レジスタオペランド方式でこ
の機能を実現するためには、1.レジスタrs1の値を
レジスタrdにコピーする命令、2.レジスタrdの値
とレジスタrs2の値を用いて2項演算opを実行し、
その結果をレジスタrdに格納する命令、の2命令を必
要とする。
【0010】このように3レジスタオペランド方式は、
命令数すなわちプログラムの実行サイクル数の削減に効
果的である。しかし、従来の方式では個々の命令の命令
語長が長くなってしまうため、プログラムサイズの削減
という観点からは問題が多い。特にCold RISC
と呼ばれるアーキテクチャにおいては、例えばプログラ
ムサイズの削減を計るために16ビットの命令長を基本
命令として採用した場合に16ビット命令1命令で3つ
のレジスタをそのままオペランドとして指定するのは困
難であった。すなわち、例えば16本の汎用レジスタを
持つ場合、3つのレジスタをオペランドとして指定する
ためには12bitのフィールドが必要であり、残り4
bitのフィールドに命令の種類や演算の種類を符号化
して格納することは非常に困難である。
【0011】本発明の目的は、上述の問題点を解決する
ことにあり、短い命令長で多くのレジスタオペランドを
柔軟に指定することを可能にする命令構成方式及びレジ
スタ指定方式を提供することである。
【0012】
【課題を解決するための手段】前記目的を達成するため
に、本発明は、作業用レジスタのうちの1つのレジスタ
を明示的に指定するためのレジスタ指定フィールドを複
数もつ命令において、そのうちの少なくとも1つのレジ
スタ指定フィールドが他のレジスタ指定フィールドより
もサイズの点で小さく構成される。即ち、本発明のデー
タ処理装置は、2のn乗個のレジスタを備え、nビット
幅のレジスタ指定フィールドと、nビットよりも小さい
幅であるmビット幅のレジスタ指定フィールドを備える
命令を実行する。mビット幅のレジスタ指定フィールド
に格納されているレジスタ指定コードによって直接選択
することのできるレジスタの個数は高々2のm乗個であ
り、2のn乗個のレジスタの部分集合となる。このた
め、本発明のデータ処理装置は前記mビット幅のレジス
タ指定コードをビット幅のレジスタ番号に拡張する機能
を持つレジスタ指定コード変換手段を備える。
【0013】また、本発明のデータ処理装置において
は、前記コード変換手段が、同じ入力に対しては常に同
じ出力を生成するような固定的なコード変換を行なう。
また、本発明のデータ処理装置は、前記nビット長レジ
スタ指定コードを2のm乗個記憶する変換テーブルを備
え、これら2のm乗個の値のうちの1つを前記mビット
長のレジスタ指定コードに従って選択して出力するよう
にコード変換手段が構成される。さらに、データ処理装
置の命令の実行によって前記変換テーブルの内容の一部
あるいは全部が更新されるように前記変換テーブルが構
成される。
【0014】また、本発明のデータ処理装置は、前記変
換テーブルの内容を明示的に更新するための特殊な命令
を実行するための機構を備える。また、本発明のデータ
処理装置においては、通常の演算命令の実行と同時に、
暗黙のうちに前記変換テーブルの内容が更新される。
【0015】
【発明の実施の形態】本発明に特徴的であるのは、レジ
スタオペランドを指定するための命令フィールドのう
ち、少なくとも1つのフィールドは2のn乗個の汎用レ
ジスタを指定することが出来るnビット幅を持ち、ま
た、少なくとも1つのフィールドはnより小さいmにつ
いて、2のm乗個のレジスタを指定することの出来るm
ビット幅を持つことにある。
【0016】図4に本発明の一実施例であるデータ処理
装置が実行するレジスタ間演算命令の命令フォーマット
を示す。この例では、データ処理装置は16個の汎用レ
ジスタをもつ。レジスタ間演算命令を構成する各フィー
ルドはMSB側から、命令操作コード(101)、第1のソ
ースオペランドとなるレジスタを指定する2bit幅の
第1ソースレジスタ指定コード(102)、第2のソースオ
ペランドとなるレジスタを指定する4bit幅の第2ソ
ースレジスタ番号(103)、演算結果の格納先となるレジ
スタを指定する4bit幅のディスティネーションレジ
スタ番号(104)である。
【0017】そこで、データ処理装置が命令実行時にn
個あるレジスタのうちm個を選択する段を備えていれば
前記の命令フォーマットにしたがった命令により、m個
のレジスタのうちから1つを選択することができるた
め、レジスタを一意に指定することが出来る。この、n
個あるレジスタのうちのm個をどのように選択するかの
方式として次の4つの方式がある。
【0018】第1の方式は、静的に第1ソースレジスタ
として指定できるレジスタの集合を固定してしまう方式
である。すなわち、16個のレジスタをr0からr15
とするとき、r0からr3のみを第1ソースレジスタオ
ペランドとして指定可能にするという方式である。第2
の方式は、動的にソース1レジスタとして指定できるレ
ジスタの集合を管理する方式である。どのレジスタがソ
ース1レジスタとして指定できるレジスタとして選択さ
れているかを管理するための手段を設け、その選択状態
を更新するための特殊な命令を命令セットに付加する方
式である。具体的には、例えば、2bitの第1ソース
レジスタ指定コード(rs1)によって指定される4通り
のレジスタ指定コードに対応するレジスタ番号を特定
(set)するために、setrs1−01命令及びse
trs1−23命令を用意する方式である。このデータ
処理装置において、次のような命令列を実行すると、
【0019】
【数1】
【0020】次のsetrs1−01命令およびset
rs1−23命令の実行まで、第1ソースレジスタ指定
コードが0のときはr1、1のときはr3、2のときは
r8、3のときはr15と設定される。第3の方式は、
第2の方式と同様に、動的に第1ソースレジスタとして
指定できるレジスタの集合を管理する方式であるが、レ
ジスタの選択状態を更新するための命令を設けるのでな
く、通常の演算命令を実行すると自動的にこの状態が更
新される方式である。これは、一旦命令で用いられたレ
ジスタは、近傍の後の命令で再び用いられる可能性が高
いという経験則に基づいている。どのように部分集合を
更新するかについてはまた、種々の方式がある。
【0021】1つの方式は、仮にmを2とするとき、4
通りの第1ソースレジスタ指定コードの識別子としてC
D、PD、PS1、PS2を用いる方式である。CDが
「現在の命令で指定されているディスティネーションレ
ジスタ(Current Destination)」、PDが「直前に実行
された演算命令で指定されたディスティネーションレジ
スタ(Previous Destination)」、PS1が「直前に実行
された演算命令で指定された第1ソースレジスタ (Prev
ious Source 1)」、PS2が「直前に実行された演算命
令で指定された第2ソースレジスタ(Previous Source
2)」をそれぞれ意味する。すなわち、命令列
【0022】
【数2】
【0023】を考える時、これは、3レジスタオペラン
ド指定方式のアーキテクチャにおける命令列
【0024】
【数3】
【0025】と等価となる。ここで、前記命令の表記に
おいては、オペランドの並びは、順にディスティネーシ
ョン、ソース1、ソース2を示すものとする。前記方式
ではmを2としたが、mが1の場合、例えばCD及びP
Dの2通りに限定して同様の方式を用いることが出来
る。また、mが3の場合、前記のレジスタ集合に加え、
「現在の命令で指定されている第2ソースレジスタ」、
「2つ前に実行した演算命令で指定されたディスティネ
ーションレジスタ」、「2つ前に実行した演算命令で指
定された第1ソースレジスタ」、「2つ前に実行した演
算命令で指定された第2ソースレジスタ」、を指定でき
るように拡張することで同様の方式を用いることが出来
る。
【0026】動的にレジスタ選択状態を管理する別の方
式は、最近使用されたレジスタの集合をLRU方式で更
新する方式である。これは、概念的には、長さ2のm乗
のレジスタ指定コードのリストを管理し、最近使用され
たレジスタを記憶しておく方法である。例えばm=2と
して次のような命令列を考える。’;’以降に各命令終
了直後の概念的なレジスタリストの内容を付記する。ま
た、第1ソースレジスタ指定コードの識別子としてL1
からL4を用い、リストの何番目のレジスタを指定する
かを表すことにする。
【0027】
【数4】
【0028】上の命令列はは3レジスタオペランド指定
方式におけるつぎの命令列と等価である。
【0029】
【数5】
【0030】この例では具体的な説明のためmを2とし
たが、異なるmの値について同様の方式を用いることが
出来ることは明らかであろう。次に、以上のような命令
セットアーキテクチャを実際にハードウェアでどのよう
に実現するかについて述べる。これまでの説明によって
明らかなように、本発明の特徴は短いビット長mで符号
化された短縮レジスタ指定フィールドの値をnビット長
に静的あるいは動的に変換することにあり、この変換の
方式に応じてハードウェアの構成が変化する。図1に本
発明の各方式を実現するための命令デコーダの構成図の
一例を示す。この図の例はm=2、n=4を前提として
構成されており、図4の命令フォーマットに対応したデ
コーダの構成となっている。
【0031】まず命令フェッチ機構から出力される命令
語から第1段階命令デコード機構(501)によって命令操
作コード(511)、第1ソースレジスタ指定コード(512)、
第二ソースレジスタ番号(513)、ディステネーションレ
ジスタ番号(514)が抽出される。2ビットの第1ソース
レジスタ指定コードは、本発明の指定コード変換手段と
して機能する前記第1ソースデコーダ(502)によって4
ビットの第1ソースレジスタ番号(515)に変換される。
【0032】図6には前記第1の方式を実現するための
第1ソースデコーダの詳細な構成図を示す。命令コード
から抽出されたデコード前の第1ソースレジスタ指定コ
ードに従って、定数生成手段(601)から生成される4種
類の定数のうちの1つを選択する選択手段(602)を備
え、その結果を第1ソースレジスタ番号とするものであ
る。
【0033】図7には前記第2の方式を実現するための
第1ソースデコーダの詳細な構成図を示す。本構成で
は、4つのレジスタ番号記憶手段(701、702、703、704)
と、第1ソースレジスタ指定コードに従って、これら4
つのレジスタ番号記憶手段の内容のうち1つを選択する
ための選択手段(705)から構成される変換テーブルを備
える。さらに、命令操作コードに従ってsetrs1−
01命令及びsetrs1−23命令の実行を制御する
ためのsetrs1命令検出機構(706)を備える。この
うち第1・第2レジスタ番号記憶手段(701、702)につい
ては命令語のうちの第2ソースレジスタ番号フィールド
及びディスティネーションレジスタ番号フィールドの
値、及び、setrs1−01命令の実行時にアサート
される制御信号が入力されており、setrs1−01
命令によってその内容が書き換えられる。第3・第4レ
ジスタ番号記憶手段(703,704)については、setrs
1−23命令の実行時にアサートされる制御信号が入力
されており、setrs1−23命令によりその内容が
書き換えられる。
【0034】図8には前記第3の方式を実現するための
第1ソースデコーダの詳細な構成図を示す。本構成では
3つのレジスタ番号記憶手段を備える。このうちの1つ
は、直前に実行した演算命令の第1ソースレジスタ番号
を記憶しておくPS1レジスタ番号記憶手段(801)であ
り、1つは直前に実行した演算命令の第2ソースレジス
タ番号を記憶しておくPS2レジスタ番号記憶手段(80
2)であり、1つは直前に実行した演算命令のディスティ
ネーションレジスタ番号を記憶しておくPDレジスタ番
号記憶手段(803)である。また、前記3つのレジスタ指
定コード記憶手段の値と、現在実行中の命令語中のディ
スティネーションレジスタ番号(CD)とからなる4種類の
値をデコード前のソース1レジスタ指定コードに従って
選択する選択手段(804)を備える。ここで選択された値
はレジスタファイルに送られるとともにPS1レジスタ
番号記憶手段(801)に入力され、次の演算命令の第1レ
ジスタ指定コードのデコードのために用いられる。さら
に、3つのレジスタ指定コード記憶手段には、命令操作
コードに従って演算命令の実行を検出する演算命令検出
機構(805)より書き込み制御信号が入力されており、演
算命令実行時にのみ値が更新される。この値の更新は、
選択手段を通して第1ソースレジスタ番号がレジスタフ
ァイルに送出された後に行なわれる。
【0035】
【発明の効果】以上の説明によって明らかなように、本
発明は高機能命令をコンパクトな命令長で表現すること
を可能にしており、これによってプログラムサイズを圧
縮できるという効果がある。さらに、プログラム実行時
の命令転送レートを低減させることが出来るため、プロ
グラムの実行速度を高速化するという効果も併せ持つ。
【図面の簡単な説明】
【図1】本発明のデータ処理装置の命令デコード機構の
構成図の一例である。
【図2】従来のデータ処理装置であるMIPSアーキテ
クチャにおける、レジスタ間演算命令の命令フォーマッ
トである。
【図3】従来のデータ処理装置であるSHアーキテクチ
ャにおける、レジスタ間演算命令の命令フォーマットで
ある。
【図4】本発明のデータ処理装置における、レジスタ間
演算命令の命令フォーマットである。
【図5】本発明のデータ処理装置の全体構成図である。
【図6】図1の第1ソースデコーダの詳細な構成図であ
る。
【図7】図1の第1ソースデコーダの詳細な構成図であ
る。
【図8】図1の第1ソースデコーダの詳細な構成図であ
る。
【符号の説明】
401 命令フェッチ機構 502 第1ソースデコーダ 102 第1レジスタ指定コード

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 複数の作業用レジスタをもつストアドプ
    ログラム方式のデータ処理装置であって、命令操作コー
    ドと、前記作業用レジスタのうちの1つを明示的に指定
    するための標準ビット数のレジスタ番号と、標準ビット
    数よりも少ないビット数からなるレジスタ指定コードと
    を含む命令語を取り込む命令フェッチ手段と、前記レジ
    スタ指定コードを標準ビット数のレジスタ番号に変換す
    るレジスタ指定コード変換手段とを、備えることを特徴
    とするデータ処理装置。
  2. 【請求項2】 前記レジスタ指定コード変換手段は、前
    記データ処理装置の状態によらず固定的なコード変換を
    行なうことを特徴とする請求項1記載のデータ処理装
    置。
  3. 【請求項3】 前記レジスタ指定コード変換手段は、変
    換テーブルを備え、前記データ処理装置の命令実行時に
    変換テーブルの内容の一部あるいは全部を更新する変換
    テーブル更新手段を備えることを特徴とする請求項1記
    載のデータ処理装置。
  4. 【請求項4】 前記変換テーブル更新手段は、命令操作
    コードを識別し、変換テーブルを更新するための特殊な
    命令の実行時に前記変換テーブルを更新することを特徴
    とする請求項3記載のデータ処理装置。
  5. 【請求項5】 前記変換テーブル更新手段は、命令操作
    コードを識別し、通常の演算命令の実行時に、前記演算
    命令に含まれるレジスタ指定コードの値を用いて、変換
    テーブルを更新することを特徴とする請求項3記載のデ
    ータ処理装置。
JP31314695A 1995-11-30 1995-11-30 データ処理装置 Expired - Fee Related JP3630804B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP31314695A JP3630804B2 (ja) 1995-11-30 1995-11-30 データ処理装置
US08/710,260 US5991870A (en) 1995-11-30 1996-09-13 Processor for executing an instructions stream where instruction have both a compressed and an uncompressed register field

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31314695A JP3630804B2 (ja) 1995-11-30 1995-11-30 データ処理装置

Publications (2)

Publication Number Publication Date
JPH09152971A true JPH09152971A (ja) 1997-06-10
JP3630804B2 JP3630804B2 (ja) 2005-03-23

Family

ID=18037665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31314695A Expired - Fee Related JP3630804B2 (ja) 1995-11-30 1995-11-30 データ処理装置

Country Status (2)

Country Link
US (1) US5991870A (ja)
JP (1) JP3630804B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112754A (ja) * 1998-10-06 2000-04-21 Mitsubishi Electric Corp データ処理装置
US6385714B1 (en) 1997-09-18 2002-05-07 Sanyo Electric Co., Ltd. Data processing apparatus
US7130568B2 (en) 2003-12-24 2006-10-31 Canon Kabushiki Kaisha Image forming apparatus which presents faulty image when toner image on image bearing member is transferred to transferring medium

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360194B1 (en) * 1998-09-08 2002-03-19 Bull Hn Information Systems Inc. Different word size multiprocessor emulation
US6282633B1 (en) * 1998-11-13 2001-08-28 Tensilica, Inc. High data density RISC processor
US7299460B2 (en) * 2003-05-29 2007-11-20 Nec Corporation Method and computer program for converting an assembly language program for one processor to another
US7814299B2 (en) * 2008-11-20 2010-10-12 International Business Machines Corporation Designating operands with fewer bits in instruction code by indexing into destination register history table for each thread
US8549262B2 (en) * 2010-05-12 2013-10-01 International Business Machines Corporation Instruction operand addressing using register address sequence detection
US9880843B2 (en) * 2012-02-01 2018-01-30 The Regents Of The University Of Michigan Data processing apparatus and method for decoding program instructions in order to generate control signals for processing circuitry of the data processing apparatus

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233695A (en) * 1987-03-31 1993-08-03 Kabushiki Kaisha Toshiba Microprocessor with a reduced size microprogram
US5197132A (en) * 1990-06-29 1993-03-23 Digital Equipment Corporation Register mapping system having a log containing sequential listing of registers that were changed in preceding cycles for precise post-branch recovery
GB9112754D0 (en) * 1991-06-13 1991-07-31 Int Computers Ltd Data processing apparatus
JP2725546B2 (ja) * 1992-12-07 1998-03-11 株式会社日立製作所 デ−タ処理装置
US5729723A (en) * 1992-11-16 1998-03-17 Hitachi, Ltd. Data processing unit
US5784589A (en) * 1993-10-18 1998-07-21 Cyrix Corporation Distributed free register tracking for register renaming using an availability tracking register associated with each stage of an execution pipeline
JPH07219769A (ja) * 1994-02-07 1995-08-18 Mitsubishi Electric Corp マイクロプロセッサ
US5655132A (en) * 1994-08-08 1997-08-05 Rockwell International Corporation Register file with multi-tasking support
US5890222A (en) * 1995-01-04 1999-03-30 International Business Machines Corporation Method and system for addressing registers in a data processing unit in an indirect addressing mode
JP2889845B2 (ja) * 1995-09-22 1999-05-10 松下電器産業株式会社 情報処理装置
US5897665A (en) * 1995-12-15 1999-04-27 Intel Corporation Register addressing for register-register architectures used for microprocessors and microcontrollers
US5794010A (en) * 1996-06-10 1998-08-11 Lsi Logic Corporation Method and apparatus for allowing execution of both compressed instructions and decompressed instructions in a microprocessor
US5896519A (en) * 1996-06-10 1999-04-20 Lsi Logic Corporation Apparatus for detecting instructions from a variable-length compressed instruction set having extended and non-extended instructions
GB2317466B (en) * 1996-09-23 2000-11-08 Advanced Risc Mach Ltd Data processing condition code flags
US5889983A (en) * 1997-01-21 1999-03-30 Intel Corporation Compare and exchange operation in a processing system
US5903919A (en) * 1997-10-07 1999-05-11 Motorola, Inc. Method and apparatus for selecting a register bank

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385714B1 (en) 1997-09-18 2002-05-07 Sanyo Electric Co., Ltd. Data processing apparatus
JP2000112754A (ja) * 1998-10-06 2000-04-21 Mitsubishi Electric Corp データ処理装置
US7130568B2 (en) 2003-12-24 2006-10-31 Canon Kabushiki Kaisha Image forming apparatus which presents faulty image when toner image on image bearing member is transferred to transferring medium

Also Published As

Publication number Publication date
US5991870A (en) 1999-11-23
JP3630804B2 (ja) 2005-03-23

Similar Documents

Publication Publication Date Title
TWI279715B (en) Method, system and machine-readable medium of translating and executing binary of program code, and apparatus to process binaries
US7581084B2 (en) Method and apparatus for efficient loading and storing of vectors
JP2616182B2 (ja) データ処理装置
EP0427245B1 (en) Data processor capable of simultaneously executing two instructions
US20050125630A1 (en) Method and apparatus for obtaining a scalar value directly from a vector register
JP2006079652A (ja) 多重命令セットによるデータ処理
JPH0429093B2 (ja)
JPH04296937A (ja) ハードウエアデータストリング演算コントローラ及び主記憶ストリング動作を行わせる方法
JP2001195250A (ja) 命令トランスレータ、トランスレータ付命令メモリおよびそれらを用いたデータ処理装置
JP2000222206A (ja) データ処理装置
JP2847974B2 (ja) データ処理装置
JPH07210381A (ja) プロセッサ及びコンピュータ・システム
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
KR100249631B1 (ko) 데이터 처리장치
JPH1049369A (ja) データ処理装置
JP3630804B2 (ja) データ処理装置
US5421029A (en) Multiprocessor including system for pipeline processing of multi-functional instructions
US7003651B2 (en) Program counter (PC) relative addressing mode with fast displacement
JP3345787B2 (ja) データ処理装置
KR100267434B1 (ko) 제 1 처리 환경내에서 제 1 명령어를 에뮬레이션 환경내에서의제 2 명령어 처리 개시에 응하여 처리하는 방법 및 시스템
JPH04260929A (ja) データ処理装置
JP2556182B2 (ja) デ−タ処理装置
JP2668456B2 (ja) ビット検索回路及びそれを備えたデータ処理装置
JP2504312B2 (ja) プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置
JPH10124312A (ja) 中央処理装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041215

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

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees