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

データ処理装置 Download PDF

Info

Publication number
JP3630804B2
JP3630804B2 JP31314695A JP31314695A JP3630804B2 JP 3630804 B2 JP3630804 B2 JP 3630804B2 JP 31314695 A JP31314695 A JP 31314695A JP 31314695 A JP31314695 A JP 31314695A JP 3630804 B2 JP3630804 B2 JP 3630804B2
Authority
JP
Japan
Prior art keywords
instruction
register
data processing
code
processing apparatus
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 - Fee Related
Application number
JP31314695A
Other languages
English (en)
Other versions
JPH09152971A (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.)
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

Images

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)

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)、演算結果の 格納先となるレジスタを示すディスティネーションレジスタ番号(204)、一部の 命令で必要となる小さな定数を示す短定数(205)、一部の命令で必要となる命令 操作コードの拡張である拡張命令操作コード(206)である。なお、図中で各フィ ールドの名称の後に括弧つきで示した数値はそのフィールドのビット数である。
【0004】
別の従来例として、近年のCold RISCと呼ばれるアーキテクチャではコードサイズを削減し、プログラム領域の圧縮を計るために短い命令長の命令を基本とするアーキテクチャが採用されている。例えば、日立シングルチップ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)はディスティネーションレジスタ番号で指定されたレジ スタに格納される。
また、命令操作コードがメモリへのストア命令を示している場合には、演算実行機構によってデータメモリアドレス(416)が計算される。このデータメモリア ドレスと書き込みデータ(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のフィールドが必要であり、残り4bitのフィールドに命令の種類や演算の種類を符号化して格納することは非常に困難である。
【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命令及びsetrs1−23命令を用意する方式である。このデータ処理装置において、次のような命令列を実行すると、
【0019】
【数1】
Figure 0003630804
【0020】
次のsetrs1−01命令およびsetrs1−23命令の実行まで、第1ソースレジスタ指定コードが0のときはr1、1のときはr3、2のときはr8、3のときはr15と設定される。
第3の方式は、第2の方式と同様に、動的に第1ソースレジスタとして指定できるレジスタの集合を管理する方式であるが、レジスタの選択状態を更新するための命令を設けるのでなく、通常の演算命令を実行すると自動的にこの状態が更新される方式である。これは、一旦命令で用いられたレジスタは、近傍の後の命令で再び用いられる可能性が高いという経験則に基づいている。どのように部分集合を更新するかについてはまた、種々の方式がある。
【0021】
1つの方式は、仮にmを2とするとき、4通りの第1ソースレジスタ指定コードの識別子としてCD、PD、PS1、PS2を用いる方式である。CDが「現在の命令で指定されているディスティネーションレジスタ(Current Destination)」、PDが「直前に実行された演算命令で指定されたディスティネーションレ ジスタ(Previous Destination)」、PS1が「直前に実行された演算命令で指定された第1ソースレジスタ (Previous Source 1)」、PS2が「直前に実行された演算命令で指定された第2ソースレジスタ(Previous Source 2)」をそれぞれ 意味する。すなわち、命令列
【0022】
【数2】
Figure 0003630804
【0023】
を考える時、これは、3レジスタオペランド指定方式のアーキテクチャにおける命令列
【0024】
【数3】
Figure 0003630804
【0025】
と等価となる。ここで、前記命令の表記においては、オペランドの並びは、順にディスティネーション、ソース1、ソース2を示すものとする。
前記方式ではmを2としたが、mが1の場合、例えばCD及びPDの2通りに限定して同様の方式を用いることが出来る。また、mが3の場合、前記のレジスタ集合に加え、「現在の命令で指定されている第2ソースレジスタ」、「2つ前に実行した演算命令で指定されたディスティネーションレジスタ」、「2つ前に実行した演算命令で指定された第1ソースレジスタ」、「2つ前に実行した演算命令で指定された第2ソースレジスタ」、を指定できるように拡張することで同様の方式を用いることが出来る。
【0026】
動的にレジスタ選択状態を管理する別の方式は、最近使用されたレジスタの集合をLRU方式で更新する方式である。これは、概念的には、長さ2のm乗のレジスタ指定コードのリストを管理し、最近使用されたレジスタを記憶しておく方法である。例えばm=2として次のような命令列を考える。’;’以降に各命令終了直後の概念的なレジスタリストの内容を付記する。また、第1ソースレジスタ指定コードの識別子としてL1からL4を用い、リストの何番目のレジスタを指定するかを表すことにする。
【0027】
【数4】
Figure 0003630804
【0028】
上の命令列はは3レジスタオペランド指定方式におけるつぎの命令列と等価である。
【0029】
【数5】
Figure 0003630804
【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)については、setrs1−2 3命令の実行時にアサートされる制御信号が入力されており、setrs1−23命令によりその内容が書き換えられる。
【0034】
図8には前記第3の方式を実現するための第1ソースデコーダの詳細な構成図を示す。本構成では3つのレジスタ番号記憶手段を備える。このうちの1つは、直前に実行した演算命令の第1ソースレジスタ番号を記憶しておくPS1レジスタ番号記憶手段(801)であり、1つは直前に実行した演算命令の第2ソースレジ スタ番号を記憶しておくPS2レジスタ番号記憶手段(802)であり、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つを明示的に指定するための標準ビット数のレジスタ番号と、標準ビット数よりも少ないビット数からなるレジスタ指定コードとを含む命令語を取り込む命令フェッチ手段と、前記レジスタ指定コードを標準ビット数のレジスタ番号に変換するレジスタ指定コード変換手段とを、備えることを特徴とするデータ処理装置。
  2. 前記レジスタ指定コード変換手段は、前記データ処理装置の状態によらず固定的なコード変換を行なうことを特徴とする請求項1記載のデータ処理装置。
  3. 前記レジスタ指定コード変換手段は、変換テーブルを備え、前記データ処理装置の命令実行時に変換テーブルの内容の一部あるいは全部を更新する変換テーブル更新手段を備えることを特徴とする請求項1記載のデータ処理装置。
  4. 前記変換テーブル更新手段は、命令操作コードを識別し、変換テーブルを更新するための特殊な命令の実行時に前記変換テーブルを更新することを特徴とする請求項3記載のデータ処理装置。
  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 JPH09152971A (ja) 1997-06-10
JP3630804B2 true 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)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196002A (ja) 1997-09-18 1999-04-09 Sanyo Electric Co Ltd データ処理装置
US6360194B1 (en) * 1998-09-08 2002-03-19 Bull Hn Information Systems Inc. Different word size multiprocessor emulation
JP2000112754A (ja) * 1998-10-06 2000-04-21 Mitsubishi Electric Corp データ処理装置
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
JP4467971B2 (ja) 2003-12-24 2010-05-26 キヤノン株式会社 画像形成装置
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

Also Published As

Publication number Publication date
JPH09152971A (ja) 1997-06-10
US5991870A (en) 1999-11-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
JP4485198B2 (ja) Javaアクセラレータを備えたプロセッサシステム
JP2616182B2 (ja) データ処理装置
JP5309636B2 (ja) 演算処理装置及び演算処理装置の制御方法
US20160077852A1 (en) Virtual machine coprocessor for accelerating software execution
JP2002366348A (ja) 多重命令セットによるデータ処理
JPH0429093B2 (ja)
JP2847974B2 (ja) データ処理装置
JP2889845B2 (ja) 情報処理装置
JP3630804B2 (ja) データ処理装置
JPH06332695A (ja) データ処理装置及びその制御回路
JPH1049369A (ja) データ処理装置
JPH07120278B2 (ja) データ処理装置
KR100249631B1 (ko) 데이터 처리장치
JP2669158B2 (ja) データ処理装置
JP3345787B2 (ja) データ処理装置
JP4799016B2 (ja) 機能を呼び出す方法と装置
EP1220100B1 (en) Circuit and method for hardware-assisted software flushing of data and instruction caches
JPH04260929A (ja) データ処理装置
JP2556182B2 (ja) デ−タ処理装置
JP2668456B2 (ja) ビット検索回路及びそれを備えたデータ処理装置
JP2504312B2 (ja) プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置
US20080005545A1 (en) Dynamically shared high-speed jump target predictor
JP2646855B2 (ja) データ処理装置
EP1235139B1 (en) System and method for supporting precise exceptions in a data processor having a clustered architecture

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