JPH1011289A - 並列処理プロセッサにおける命令数拡張方法および並列処理プロセッサ - Google Patents

並列処理プロセッサにおける命令数拡張方法および並列処理プロセッサ

Info

Publication number
JPH1011289A
JPH1011289A JP8158505A JP15850596A JPH1011289A JP H1011289 A JPH1011289 A JP H1011289A JP 8158505 A JP8158505 A JP 8158505A JP 15850596 A JP15850596 A JP 15850596A JP H1011289 A JPH1011289 A JP H1011289A
Authority
JP
Japan
Prior art keywords
instruction
instructions
decoders
codes
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.)
Pending
Application number
JP8158505A
Other languages
English (en)
Inventor
Yoshikazu Kondo
由和 近藤
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 JP8158505A priority Critical patent/JPH1011289A/ja
Priority to US08/758,452 priority patent/US5848255A/en
Publication of JPH1011289A publication Critical patent/JPH1011289A/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/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
    • 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units

Abstract

(57)【要約】 【課題】 限られた命令語長を使う限り命令数を増やす
ことが困難であった。 【解決手段】 命令解読器としての書き換え可能なデコ
ードメモリ群21〜24を設け、アセンブル時に、所定
の複数の命令コードと複数の制御コードとの対応関係を
示すデコードメモリテーブル500を実行ファイル20
0の作成と同時に生成し、これに従って上記の複数の制
御コードをデコードメモリ群21〜24に書き込む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、画像処理、科学
技術計算、ニューラルネットワーク等の多様なアプリケ
ーションを効率よく実行するための並列処理プロセッサ
における命令数拡張方法および並列処理プロセッサに関
するものである。
【0002】
【従来の技術】図7は、例えば中野ひらく等による“8
0−MFLOPS(ピーク) 64ビット並列コンピュ
ータ用マイクロプロセッサ(An 80−MFLOPS
(Peak) 64−b Microprocesso
r for ParallelComputer”、ア
イ・イー・イー・イー ジャーナル オブ ソリッドス
テート サーキット(IEEE JOURNAL OF
SOLID−STATE CIRCUITS)、Vo
l.27、No.3、365〜372ページ、1992
に開示された従来の並列処理プロセッサを示すブロック
図であり、図において、10はパイプライン化された制
御部、11はプログラムカウンタ、12は命令メモリ
(あるいは命令キャッシュ)、13は命令レジスタ、1
4は命令デコーダ、15〜18は制御コードレジスタ、
50〜53は制御部10に並列に接続された第1から第
4の演算部である。
【0003】次に動作について説明する。命令デコーダ
14は、プログラムカウンタ11に格納されたアドレス
に基づいて命令レジスタ13に保持された命令コード
(命令メモリ12に含まれる内容)を、第1から第4の
演算部50〜53に供給する制御コードへ伸長する。命
令デコーダ14は書き換え不可能な素子で構成されてお
り、命令コードと制御コードとの対応関係は並列処理プ
ロセッサのチップ製造時に決定される。
【0004】近年、LSI技術が進展し、単一シリコン
基板上に多数の演算器を集積した並列処理プロセッサの
開発が可能になってきた。それに伴い、演算器の利用率
を高めるための種々のプロセッサ制御方法が開発され
た。例えば、演算器利用率が高くなるよう動的に命令を
発行するスーパースカラ技術、複数の演算器の個々の命
令を1つの長い命令語上に配置し、コンパイル時に静的
に命令割当を行なうVLIW(Very Long I
nstruction Word)技術などがあげられ
る。他方、プロセッサ利用技術も多様化し、DSPに見
られるような多数の命令(並列転送機能、条件参照実
行、アドレス計算付き実行、ワード分割並列実行)が必
要になってきている。
【0005】このような流れは、次世代の並列処理プロ
セッサに次のような問題を引き起こすことが予想され
る。
【0006】(1)命令語長の増大。 多数の演算器の利用率を高めるためには、VLIW技術
に見られるように命令語長を長くし多数の命令を割り当
てる必要がある。しかし、この方法には語長に見合った
I/Oバンド幅の増加が同時に行なわれないと性能が出
ないという欠点がある。既に現状の並列処理プロセッサ
のI/O転送速度は飽和しつつあり、命令語長を劇的に
増やすことは困難である。
【0007】(2)I/Oピン数制限の問題。 (1)の問題を補うために、I/Oピン数を増やすこと
で必要なI/Oバンド幅を得ることも考えられる。ただ
し、この方法も出力バッファの同時スイッチング雑音に
より制約を受け、さらに、電源供給に伴う電源ピン数増
加のために100〜300ピン程度が限界である。
【0008】(3)命令出現頻度の偏り。 多数の命令を搭載することで別の問題が持ち上がる。そ
れは、命令を増やせば増やすほど、個々の命令の出現率
が低下し、殆ど使われなくなる命令がでてくることであ
る。図8は256個の命令を実行できる24個の演算器
を備えたSIMD(Single−Instructi
on Multiple−Data)型並列処理プロセ
ッサにおける命令出現頻度の実測値である(数値演算用
および画像処理システム用ライブラリ関数に含まれる命
令を分析した)。この図から、全命令の約半分が0.0
1%以下の出現頻度であることがわかる。つまり、めっ
たに現れない命令のために命令表を浪費していることに
なる。他方、これらの低出現頻度命令は、並列転送、条
件参照実行、ワード分割実行、アドレス計算付き実行等
の並列度の高い演算を多く含み、命令全体として速度向
上に寄与しているので、簡単には廃止できない。
【0009】
【発明が解決しようとする課題】従来の並列処理プロセ
ッサは以上のように構成されているので、命令コードと
制御コードとの対応関係は設計時に決める必要があり、
再定義することはできないという課題があった。
【0010】また、複数の演算部を自由に組合せた動作
を定義したり、複数の演算部に対し新しい機能を追加す
るためには、命令語長(命令メモリ12の語長)を大き
くする必要があるが、上記したように命令語長の増大が
困難であるという課題があった。
【0011】従って、現実の限られた命令語長を使う限
り、命令数を増やすことも、多数の演算器を効率よく制
御することも困難であるという課題があった。
【0012】この発明は上記のような課題を解決するた
めになされたもので、限られた命令語長で複数の機能
(命令)を実現することができる並列処理プロセッサに
おける命令数拡張方法および並列処理プロセッサを得る
ことを目的とする。
【0013】また、この発明は、実質的に命令語長を減
らすことでI/Oバンド幅の制限を緩和し、1つのシリ
コン基板に搭載できる機能を増やすことができる並列処
理プロセッサにおける命令数拡張方法および並列処理プ
ロセッサを得ることを目的とする。
【0014】
【課題を解決するための手段】請求項1記載の発明に係
る並列処理プロセッサにおける命令数拡張方法は、書き
換え可能な素子で構成された複数の命令解読器を設け、
ソースファイルのアセンブル時に作成したデコード情報
に基づいて複数の命令に対応した複数の制御コードを複
数の命令解読器にそれぞれ書き込むものである。
【0015】請求項2記載の発明に係る並列処理プロセ
ッサにおける命令数拡張方法は、複数の命令と所定の複
数の命令コードとの対応関係を示す命令名−命令コード
対応テーブルを作成し、複数の命令と複数の制御コード
との対応関係を示す仮想命令セットと命令名−命令コー
ド対応テーブルとを参照し、複数の命令コードと複数の
制御コードとを対応させたデコード情報としてのデコー
ドメモリテーブルを作成するものである。
【0016】請求項3記載の発明に係る並列処理プロセ
ッサにおける命令数拡張方法は、所定の複数の命令コー
ドのそれぞれをアドレスとして設定するものである。
【0017】請求項4記載の発明に係る並列処理プロセ
ッサにおける命令数拡張方法は、複数の命令解読器に書
き込まれた内容を再設定するための再設定命令を設け、
再設定命令を実行した場合には、予め作成され、複数の
命令コードと他の複数の制御コードとの対応関係を示す
他のデコードメモリテーブルに基づき他の複数の制御コ
ードを複数の命令解読器にそれぞれ書き込むものであ
る。
【0018】請求項5記載の発明に係る並列処理プロセ
ッサにおける命令数拡張方法は、複数の命令解読器に書
き込まれた内容を書き換えるための書き換え命令を設
け、書き換え命令を実行した場合には、予め並列処理プ
ロセッサ内に記憶された複数の制御コードを複数の命令
解読器にそれぞれ書き込むものである。
【0019】請求項6記載の発明に係る並列処理プロセ
ッサにおける命令数拡張方法は、並列処理プロセッサの
初期化の際に、複数の命令解読器の少なくとも一部に一
つまたは複数の所定の制御コードを書き込むものであ
る。
【0020】請求項7記載の発明に係る並列処理プロセ
ッサにおける命令数拡張方法は、上記の所定の制御コー
ドは出現頻度が高い命令に関するものであるものであ
る。
【0021】請求項8記載の発明に係る並列処理プロセ
ッサは、書き換え可能な素子で構成された複数の命令解
読器と、外部から複数の命令解読器のいずれかを選択す
るために入力されるアドレス信号を受信する第1の入力
ポートと、デコード情報に基づき外部から複数の命令解
読器に制御コードをそれぞれ書き込むために制御コード
を受信する第2の入力ポートとを備えたものである。
【0022】請求項9記載の発明に係る並列処理プロセ
ッサは、複数の命令解読器が、第1の入力ポートを介し
てアドレス信号を受信するためのアドレスポートと、第
2の入力ポートを介して制御コードを受信するための複
数のデータ入力ポートと、対応する演算器に制御コード
を送信するための複数のデータ出力ポートとを備えたラ
ンダムアクセスメモリであるものである。
【0023】請求項10記載の発明に係る並列処理プロ
セッサは、複数の命令解読器を再設定すべく書き換える
ために再設定要求を外部に出力するための再設定レジス
タを備えたことを特徴とする並列処理プロセッサである
ものである。
【0024】請求項11記載の発明に係る並列処理プロ
セッサは、所定の書き換え命令に応じて複数の命令解読
器のいずれか一つを選択するためのアドレスを保持する
命令選択レジスタと、書き換え命令に基づき予め保持し
ていた制御コードを命令選択レジスタで指定される複数
の命令解読器の一つに書き込むために一旦記憶する命令
定義レジスタとを備えたものである。
【0025】請求項12記載の発明に係る並列処理プロ
セッサは、並列処理プロセッサの初期化の際に複数の命
令解読器の少なくとも一部に一つまたは複数の所定の制
御コードを書き込むために、所定の制御コードを記憶す
るための読み出し専用メモリを備えたものである。
【0026】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1による並
列処理プロセッサにおける命令数拡張方法を実現する並
列処理プロセッサの主要部の構成を示すブロック図であ
り、図において、図7と同一の部分には同一符号を付し
て重複説明を省略する。また、図において、20は制御
部、21〜24はデータ入力ポートとデータ出力ポート
とが別々に設けられたランダムアクセスメモリ(RA
M)から構成され、命令解読器として設けられたデコー
ドメモリ群、25〜28はデコードメモリ群21〜24
のアドレスポート、29〜32はデコードメモリ群21
〜24のデータ入力ポート、33〜36はデコードメモ
リ群21〜24のデータ出力ポートである。
【0027】さらに、37はデコードメモリ群21〜2
4の内容を並列処理プロセッサ600の外部から設定す
るためのアドレス指定ポート(第1の入力ポート)、3
8はデコードメモリ群21〜24のアドレスポート25
〜28をアドレス指定ポート37へ接続するためのマル
チプレクサ、39はデコードメモリ群21〜24へ並列
処理プロセッサ600の外部からデータを書き込むため
のデータ書き込みポート(第2の入力ポート)、60は
異なるデコードメモリテーブル(命令コードと制御コー
ドとの対応関係を示す対応テーブル、即ち、デコード情
報)が必要となる実行ファイル間の境界において、デコ
ードメモリ群21〜24の再設定要求を並列処理プロセ
ッサ600のチップ外部へ発生させる際に、例えば、状
態“1”に遷移する再設定レジスタ、61は再設定レジ
スタ60からの再設定要求を外部に送信するための再設
定要求出力ポートである。
【0028】図1に示すように、デコードメモリ群21
〜24のアドレスポート25〜28はマルチプレクサ3
8を介して命令レジスタ13に接続され、データ出力ポ
ート33〜36はそれぞれ制御コードレジスタ15〜1
8に接続されている。これにより、後で述べるように、
命令コードと制御コードとの対応関係が自由に設定でき
る。
【0029】この発明による並列処理プロセッサの命令
数拡張方法および並列処理プロセッサは、アセンブラソ
ースファイル内の命令使用に関する局所性、即ち、多数
の命令全体が常に均一に使われるのではなく、プログラ
ムの種類によって使う命令が偏る性質を利用している。
例えば、映像の画素単位の処理(コンボリューション
等)には浮動小数点命令を使わないし、DSPが採用し
ている特殊なアドレシングモード(ビット反転等)は信
号処理用途以外のコードには現れにくい。この性質は、
長い命令フィールドに複数の機能を割り当てるVLIW
技術にも当てはまる性質である。つまり、割り当てられ
る命令の組合せは均一でなくプログラムに依存した偏り
が存在すると考えられる。この発明は、このような命令
出現の局所性を利用し、出現頻度の低い命令群の制御コ
ードを同一の命令コードに再定義することによって、少
ない語長で多数の命令・機能を仮想的に実現するもので
ある。
【0030】次に動作について説明する。図2はこの実
施の形態1による並列処理プロセッサにおける命令数拡
張方法および並列処理プロセッサにおけるアセンブラソ
ースファイルを実行ファイル形式に変換し、制御コード
をデコードメモリ群21〜24に書き込む過程を概略的
に示すフローチャートであり、また、図3は図2のフロ
ーチャートに従って生成される実行ファイル200、命
令名−命令コード対応テーブル300、デコードメモリ
テーブル(デコード情報)500等の一例を示す説明図
であり、以下、これらの図に従って、この実施の形態1
による並列処理プロセッサにおける命令数拡張方法およ
び並列処理プロセッサの動作について説明する。
【0031】この実施の形態1による並列処理プロセッ
サにおける命令数拡張方法および並列処理プロセッサに
よれば、以下に示すように、アセンブラソースファイル
100が必要とする命令101〜106に対応する制御
コードだけを選び出し、それらをデコードメモリ群21
〜24に割り当てる。まず、パス2に従って、以下で示
す命令コード逐次割当アセンブラが、一般のアセンブラ
と同様に、ステップST1において、アセンブラソース
ファイル100から実行ファイル200を生成して、命
令メモリ12に実行ファイル200を格納する。実行フ
ァイル200を生成する場合、アセンブラソースファイ
ル100中に出現した命令名111〜114に順番に命
令コード201〜204を割り当てていく。図3に示す
例では、最初に出現した命令名111“nop(非実行
命令)”に命令コード201“00”を、命令名112
“tfr(転送命令)”に命令コード202“01”
を、命令名113“mpy(乗算命令)”に命令コード
203“02”を、命令名114“sll(シフト命
令)”に命令コード204“03”を順番に割り当て、
実行ファイル200を作成する。命令コード201〜2
04は固定であり、異なるデコードメモリテーブル50
0に対しても同一の命令コード201〜204が使用さ
れ、後で述べるように、デコードメモリ群21〜24は
異なるデコードメモリテーブル500により再設定され
得る。尚、実行ファイル200中で命令コード201〜
204の右方の下線の無い部分は、レジスタの指定等に
使われるオペランドである。
【0032】次に、パス3を介してデコードメモリ群2
1〜24に格納するデコードメモリテーブル500を作
成しデコードメモリ群21〜24に設定する過程につい
て説明する。まず、図2に示すように、ステップST2
において、命令名111〜114と上記の過程において
命令名111〜114に対して割り当てられた命令コー
ド201〜204との対応を示す命令名−命令コード対
応テーブル300を作成する。尚、この命令名−命令コ
ード対応テーブル300の作成は、ステップST1の実
行ファイル200の作成過程中に同時に実行され得る。
【0033】次に、ステップST3において、予め定め
た、並列処理プロセッサ600上で物理的に実現可能な
全ての制御コードと命令名との対応テーブル、即ち仮想
命令セット400を使い、さらに、命令名−命令コード
対応テーブル300を参照して、命令コードと制御コー
ドとの対応関係を示す対応テーブルであるデコードメモ
リテーブル500を作成する。例えば、命令コード20
1“00”にはnopの制御コード401を、命令コー
ド202“01”にはtfrの制御コード402を、命
令コード203“02”にはmpyの制御コード403
を、命令コード204“03”にはsllの制御コード
404を割り当てる。そして、ステップST4におい
て、この結果を用いて並列処理プロセッサ600上のデ
コードメモリ群21〜24を初期化する。即ち、命令コ
ード201〜204をアドレス信号(アドレスポート2
5〜28の入力)としてアドレス指定ポート37を介し
てデコードメモリ群21〜24のアドレスポート25〜
28に入力させ、対応する制御コード401〜404を
データ書き込みポート39およびデータ入力ポート29
〜32を介してデコードメモリ群21〜24に書き込
む。この際、制御部20は、マルチプレクサ38を制御
して、デコードメモリ群21〜24のアドレスポート2
5〜28を順次アドレス指定ポート37に接続する。
【0034】この結果、並列処理プロセッサ600の動
作時に、実行ファイル200内の命令コード201〜2
04に対応した制御コード401〜404が第1〜第4
の演算部50〜53に与えられ、従来例の場合と同様に
正しい命令実行が行なわれる。
【0035】次に、図2および図3に示したデコードメ
モリテーブル500を作成しデコードメモリ群21〜2
4を初期化する過程を実現するために不可欠なソフトウ
ェアツールの構成とその機能とについて説明する。図4
はそのソフトウェアツールの構成を示すブロック図であ
り、図において、4は命令コードを出現順に逐次割り当
てることができる命令コード逐次割当アセンブラ、5は
制御コードジェネレータである。
【0036】命令コード逐次割当アセンブラ4は、命令
名に対して固定された命令コードを割り当てる従来方式
のアセンブラとは異なり、図3に示したような、入力さ
れたアセンブラソースファイル100の中に現れる命令
101〜106に対し、その都度順番に命令コード20
1〜204を割り当てていく。命令コード逐次割当アセ
ンブラ4は、その結果を命令コード201〜204の並
びとして実行ファイル200に書き出す。他方、命令コ
ード逐次割当アセンブラ4はどの命令名に対してどの命
令コードを割り当てたかを、命令名と命令コードとの対
応関係を示す命令名−命令コード対応テーブル300に
出力する。制御コードジェネレータ5は、この命令名−
命令コード対応テーブル300と並列処理プロセッサ6
00上で物理的に実現可能な全ての制御コードと命令名
との対応関係を示す仮想命令セット400とを元に、命
令コードに対応する制御コードを見付けデコードメモリ
テーブル500へ出力する。そして、上記したように、
このデコードメモリテーブル500の内容は命令の起動
に先立って、デコードメモリ群21〜24へ転送され
る。
【0037】デコードメモリ群21〜24を一度だけ設
定する場合について述べてきたが、分割アセンブルやラ
イブラリ参照によって生成された実行ファイル200に
おいては、異なるデコードメモリテーブルが必要となる
異なる他の命令コード群が存在する。従って、この場
合、制御部20は、異なるデコードメモリテーブルが必
要となる異なる他の命令群との境界において、命令メモ
リ12に書き込まれた再設定命令に従って、デコードメ
モリ群21〜24の再設定を外部に要求するために再設
定レジスタ60の内容を例えば“1”に遷移させ、再設
定要求出力ポート61を介して再設定要求を外部に出力
する。並列処理プロセッサ600の外部に設けられた集
積回路等のハードウェアを用いて、この要求に応答し
て、予め作成しておいた他のデコードメモリテーブル5
00をデータ書き込みポート39およびデータ入力ポー
ト29〜32を介してデコードメモリ群21〜24に書
き込む。
【0038】以上のように、この実施の形態1によれ
ば、命令語長またはアドレス幅によって決まる命令数よ
りも多くの命令を仮想的に実現できる効果が得られる。
例えば、近藤よしかず等による“ファーストコンバージ
ェンスを示す1.2−GFLOPS ニューラルネット
ワークチップ(A 1.2−GFLOPS Neura
l Network Chip Exhibiting
Fast Convergence”、インターナシ
ョナル ソリッドステート サーキット カンファンレ
ンス テクニカルペーパ ダイジェスト(Intern
ationalSolid−State Confer
ence Digest of Technical
Papers)、218〜219ページ、1994に開
示されたSIMD型並列処理プロセッサでは、命令コー
ドフィールドが8bitであり、256種類の命令のみ
しか実現できなかったものが、この実施の形態1による
並列処理プロセッサにおける命令数拡張方法および並列
処理プロセッサを採用すれば300〜500種類程度の
命令まで拡張可能であると期待される。また、命令語長
を増大させる必要がないので、実質的に命令語長を減ら
すことができ、従って、I/Oバンド幅の制限を緩和し
て1つのシリコン基板に搭載できる機能を増やすことが
可能となる。
【0039】実施の形態2.図5はこの発明の実施の形
態2による並列処理プロセッサにおける命令数拡張方法
を実現する並列処理プロセッサの主要部の構成を示すブ
ロック図であり、図において、図1と同一の部分には同
一符号を付して重複説明を省略する。また、図におい
て、40はデコードメモリ群21〜24のいずれの内容
を書き換えるかを決めるために、書き換え対象命令(即
ち、書き換え対象となる命令コード)を指定する命令選
択レジスタ、41は書き換え内容(制御コード)を指定
する命令定義レジスタである。
【0040】上記実施の形態1による並列処理プロセッ
サにおける命令数拡張方法および並列処理プロセッサで
は、図1に示す制御部20は、図4に示すソフトウェア
ツール構成図から明らかなように、1つのアセンブラソ
ースファイル100に対して、実行ファイル200とデ
コードメモリテーブル500という2種類のデータを管
理しなければならない。また、分割アセンブルやライブ
ラリ参照によって作成した実行ファイル200に対して
は、異なるデコードメモリテーブル500が必要となる
異なる他の命令群との境界においてデコードメモリ群2
1〜24の書き換え要求を並列処理プロセッサ600の
外部へ送付し、デコードメモリ群21〜24の書き換え
が終わるまでは並列処理プロセッサ600の動作を停止
させる必要がある。このような動作は、多数のライブラ
リ関数を参照する大規模なプログラムにおいて、実行速
度を低下させる。
【0041】この実施の形態2による並列処理プロセッ
サにおける命令数拡張方法および並列処理プロセッサ
は、このような問題に対処するために、デコードメモリ
群21〜24を書き換える命令およびハードウェアを設
け、実行ファイル200中でデコードメモリ群21〜2
4の書き換え処理を完結させるものである。そのため
に、並列処理プロセッサ600は、実施の形態1による
並列処理プロセッサ600の構成に加えて、書き換え対
象命令を指定する命令選択レジスタ40と、書き換え内
容(制御コード)を指定する命令定義レジスタ41とを
備えた。また、実行ファイル200中に含まれ、命令メ
モリ12に格納された書き換え命令は、デコードメモリ
群21〜24に新たに書き込まれる書き換え用のデコー
ドメモリテーブル500を含んでいる。
【0042】次に動作について説明する。命令選択レジ
スタ40および命令定義レジスタ41によって、命令メ
モリ12中に予め定義しておいたデコードメモリテーブ
ル500の内容をデコードメモリ群21〜24へ転送す
る機能を実現することができる。即ち、以下の3つの命
令、命令メモリ12から命令選択レジスタ40へのデコ
ードメモリ群21〜24の書き換え対象命令を示すアド
レス値を転送する命令、命令メモリ12から命令定義レ
ジスタ41へ新たな制御コードを転送する命令、およ
び、デコードメモリ書き込み命令(命令選択レジスタ4
0で指定されるアドレス値を持つデコードメモリ群21
〜24のいずれか一つの内容を命令定義レジスタ41の
内容で書き換える)を用意し、これらの命令を順に繰り
返すことで命令メモリ12上のデコードメモリテーブル
500の内容をデコードメモリ群21〜24に転送し書
き込むことができる。
【0043】以上のように、この実施の形態2によれ
ば、多数のライブラリ関数を参照する大規模なプログラ
ムにおいても、実効速度を低下させることなく、低頻度
命令の制御コードを入れ替えることにより、命令語長ま
たはアドレス幅によって決まる命令数よりも多くの命令
を仮想的に実現できる効果が得られる。
【0044】実施の形態3.図6はこの発明の実施の形
態3による並列処理プロセッサにおける命令数拡張方法
を実現する並列処理プロセッサの主要部の構成を示すブ
ロック図であり、図において、図1と同一の部分には同
一符号を付して重複説明を省略する。また、図におい
て、42は高頻度命令の制御コードを記憶するための初
期値ROM(読み出し専用メモリ)、43は初期値RO
M42中に記憶された制御コードのアドレスおよびデコ
ードメモリ群21〜24のアドレスを指定するためのカ
ウンタである。
【0045】通常のLSIにおける内部のデータ転送速
度は、負荷容量等の差により、LSI外部に比べて数倍
高速である。従って、単一LSIで構成される並列処理
プロセッサ600上に、使用頻度の高い制御コード(例
えばデータ転送命令や、上記実施の形態2で述べたデコ
ードメモリ書き込み命令など)を部分的に初期化する機
能を搭載することにより、外部からの制御コード転送量
を削減し、命令起動を高速化することが可能になる。こ
の実施の形態3による並列処理プロセッサにおける命令
数拡張方法および並列処理プロセッサでは、かかる制御
コード初期化機能を初期値ROM42およびカウンタ4
3により達成するものである。
【0046】次に動作について説明する。並列処理プロ
セッサ600の初期化時に1度だけ、カウンタ43を増
加させながら、デコードメモリ群21〜24へ初期値R
OM42に格納された制御コードの初期値を転送し、デ
コードメモリ群21〜24を部分的に初期化する。そし
て、上記実施の形態1と同様な方法を用いて低頻度命令
の制御コードをデコードメモリ群21〜24の残りの部
分に書き込む。そして、必要ならば、デコードメモリ群
21〜24に残りの部分の再設定を要求するために再設
定レジスタ60の内容を例えば状態“1”に遷移させ
る。また、デコードメモリ群21〜24を部分的に書き
換えるのではなく、全てを書き換えるようにしてもよ
い。しかしながら、この場合には、高頻度の命令に対応
した制御コードを優先的にデコードメモリ群21〜24
に高速に割り当てることが難しくなる。
【0047】以上のように、この実施の形態3によれ
ば、命令語長またはアドレス幅によって決まる命令数よ
りも多くの命令を仮想的に実現できる効果が得られると
ともに、外部からの制御コード転送を低頻度命令のみに
限定し、高頻度命令をより高速にデコードメモリ群21
〜24に設定できる効果が得られる。
【0048】尚、上記実施の形態2による命令選択レジ
スタ40および命令定義レジスタ41を再設定レジスタ
60の代わりに設けてもよい。この場合、上記実施の形
態2と同様な効果が得られることは言うまでもない。
【0049】また、上記実施の形態1から実施の形態3
では、並列処理プロセッサ600はデコードメモリ群2
1〜24、第1から第4の演算部50〜53を備えてい
たが、デコードメモリセル、演算部の数はこれに限定さ
れるものではないこをは言うまでもない。
【0050】
【発明の効果】以上のように、請求項1記載の発明によ
れば、並列処理プロセッサにおける命令数拡張方法で
は、書き換え可能な素子で構成された複数の命令解読器
を設け、ソースファイルのアセンブル時に作成したデコ
ード情報に基づいて複数の命令に対応した複数の制御コ
ードを複数の命令解読器にそれぞれ書き込むように構成
したので、命令語長またはアドレス幅によって決まる命
令数よりも多くの命令を仮想的に実現できる効果があ
る。さらに、実質的に命令語長を減らすことができるの
で、I/Oバンド幅の制限を緩和して1つのシリコン基
板に搭載できる機能を増やすことができる効果がある。
【0051】請求項2記載の発明によれば、並列処理プ
ロセッサにおける命令数拡張方法では、複数の命令と複
数の制御コードとの対応関係を示す仮想命令セットと命
令名−命令コード対応テーブルとを参照し、複数の命令
コードと複数の制御コードとを対応させたデコードメモ
リテーブルを作成して複数の命令解読器を設定するよう
に構成したので、命令語長またはアドレス幅によって決
まる命令数よりも多くの命令を仮想的に実現できる効果
がある。
【0052】請求項3記載の発明によれば、並列処理プ
ロセッサにおける命令数拡張方法では、所定の複数の命
令コードのそれぞれをアドレスとして指定して命令解読
器に書き込むように構成したので、簡易に命令解読器に
制御コードを設定でき、命令語長またはアドレス幅によ
って決まる命令数よりも多くの命令を仮想的に実現でき
る効果がある。
【0053】請求項4記載の発明によれば、並列処理プ
ロセッサにおける命令数拡張方法では、複数の命令解読
器に書き込まれた内容を再設定するための再設定命令を
設け、再設定命令を実行した場合に、予め作成した、複
数の命令コードと他の複数の制御コードとを対応させた
他のデコードメモリテーブルに基づき他の複数の制御コ
ードを複数の命令解読器にそれぞれ書き込むように構成
したので、命令語長またはアドレス幅によって決まる命
令数よりも多くの命令を仮想的に実現できるうえに、分
割アセンブルやライブラリ参照によって作成した実行フ
ァイル中の異なる他の命令群に応じて命令解読器の内容
を書き換えることができる効果がある。
【0054】請求項5記載の発明によれば、並列処理プ
ロセッサにおける命令数拡張方法では、複数の命令解読
器に書き込まれた内容を書き換えるための書き換え命令
を設け、書き換え命令を実行した場合に予め並列処理プ
ロセッサ内に記憶していた複数の制御コードを複数の命
令解読器にそれぞれ書き込むように構成したので、命令
語長またはアドレス幅によって決まる命令数よりも多く
の命令を仮想的に実現できるうえに、並列処理プロセッ
サを停止させることなく、分割アセンブルやライブラリ
参照によって作成した実行ファイル中の異なる他の命令
群に応じて命令解読器の内容を書き換えることができる
効果がある。
【0055】請求項6記載の発明によれば、並列処理プ
ロセッサにおける命令数拡張方法では、並列処理プロセ
ッサの初期化の際に、複数の命令解読器の少なくとも一
部に一つまたは複数の所定の制御コードを書き込むよう
に構成したので、例えば、制御コードの命令解読器への
転送を低頻度命令のみに限定し、特定の命令に関する制
御コードをより高速に命令解読器に設定できる効果があ
る。
【0056】請求項7記載の発明によれば、並列処理プ
ロセッサにおける命令数拡張方法では、上記の所定の制
御コードは出現頻度が高い命令に関するものであるよう
に構成したので、例えば、制御コードの命令解読器への
転送を低頻度命令のみに限定し、高頻度命令に関する制
御コードをより高速に命令解読器に設定できる効果があ
る。
【0057】請求項8記載の発明によれば、並列処理プ
ロセッサを書き換え可能な素子で構成された複数の命令
解読器と、外部から複数の命令解読器のいずれかを選択
するために入力されるアドレス信号を受信する第1の入
力ポートと、デコード情報に基づき外部から複数の命令
解読器に制御コードをそれぞれ書き込むために制御コー
ドを受信する第2の入力ポートとを備えるように構成し
たので、命令語長またはアドレス幅によって決まる命令
数よりも多くの命令を仮想的に実現できる効果がある。
さらに、実質的に命令語長を減らすことができるので、
I/Oバンド幅の制限を緩和して1つのシリコン基板に
搭載できる機能を増やすことができる効果がある。
【0058】請求項9記載の発明によれば、並列処理プ
ロセッサを複数の命令解読器が、第1の入力ポートを介
してアドレス信号を受信するためのアドレスポートと、
第2の入力ポートを介して制御コードを受信するための
複数のデータ入力ポートと、対応する演算器に制御コー
ドを送信するための複数のデータ出力ポートとを備えた
ランダムアクセスメモリであるように構成したので、命
令語長またはアドレス幅によって決まる命令数よりも多
くの命令を仮想的に実現できる効果がある。
【0059】請求項10記載の発明によれば、並列処理
プロセッサを複数の命令解読器を再設定すべく書き換え
るために再設定要求を外部に出力するための再設定レジ
スタを備えるように構成したので、分割アセンブルやラ
イブラリ参照によって作成した実行ファイル中の異なる
他の命令群に応じて命令解読器の内容を書き換えること
ができる効果がある。
【0060】請求項11記載の発明によれば、並列処理
プロセッサを所定の書き換え命令に応じて複数の命令解
読器のいずれか一つを選択するためのアドレスを保持す
る命令選択レジスタと、書き換え命令に基づき予め保持
していた制御コードを命令選択レジスタで指定される複
数の命令解読器の一つに書き込むために一旦記憶する命
令定義レジスタとを備えるように構成したので、並列処
理プロセッサの動作を停止させることなく、分割アセン
ブルやライブラリ参照によって作成した実行ファイル中
の異なる他の命令群に応じて命令解読器の内容を書き換
えることができる効果がある。
【0061】請求項12記載の発明によれば、並列処理
プロセッサを並列処理プロセッサの初期化の際に複数の
命令解読器の少なくとも一部に一つまたは複数の所定の
制御コードを書き込むために、所定の制御コードを記憶
するための読み出し専用メモリを備えるように構成した
ので、例えば、制御コードの命令解読器への転送を低頻
度命令のみに限定し、特定の命令についての制御コード
をより高速に命令解読器に設定できる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による並列処理プロ
セッサの命令数拡大方法を実現するための並列処理プロ
セッサの主要部を示すブロック図である。
【図2】 この発明の実施の形態1による並列処理プロ
セッサの命令数拡大方法の処理の概要を示すフローチャ
ートである。
【図3】 この発明の実施の形態1による並列処理プロ
セッサの命令数拡大方法の処理の過程に作成される実行
ファイル、命令名−命令コード対応テーブル、およびデ
コードメモリテーブル等の一例を示す説明図である。
【図4】 この発明の実施の形態1による並列処理プロ
セッサの命令数拡大方法の処理を実現するためのソフト
ウェアツールの構成を示すブロック図である。
【図5】 この発明の実施の形態2による並列処理プロ
セッサの命令数拡大方法を実現するための並列処理プロ
セッサの主要部を示すブロック図である。
【図6】 この発明の実施の形態3による並列処理プロ
セッサの命令数拡大方法を実現するための並列処理プロ
セッサの主要部を示すブロック図である。
【図7】 従来の並列処理プロセッサの主要部を示すブ
ロック図である。
【図8】 SIMD型並列処理プロセッサにおける命令
出現頻度の実測値を示す円グラフ図である。
【符号の説明】
21〜24 デコードメモリ群(命令解読器)、25〜
28 アドレスポート、29〜32 データ入力ポー
ト、33〜36 データ出力ポート、37 アドレス指
定ポート(第1の入力ポート)、39 データ書き込み
ポート(第2の入力ポート)、40 命令選択レジス
タ、41 命令定義レジスタ、42 初期値ROM(読
み出し専用メモリ)、50〜53 演算部、60 再設
定レジスタ、300 命令名−命令コード対応テーブ
ル、400 仮想命令セット、500デコードメモリテ
ーブル(デコード情報)、600 並列処理プロセッ
サ。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 書き換え可能な素子で構成された複数の
    命令解読器を設け、ソースファイルのアセンブル時に作
    成したデコード情報に基づいて複数の命令に対応した複
    数の制御コードを前記複数の命令解読器にそれぞれ書き
    込むことにより複数の演算部を用いて前記複数の命令を
    実行する並列処理プロセッサにおける命令数拡張方法。
  2. 【請求項2】 複数の命令と所定の複数の命令コードと
    の対応関係を示す命令名−命令コード対応テーブルを作
    成し、前記複数の命令と複数の制御コードとの対応関係
    を示す仮想命令セットと前記命令名−命令コード対応テ
    ーブルとを参照し、前記複数の命令コードと前記複数の
    制御コードとを対応させたデコード情報としてのデコー
    ドメモリテーブルを作成し、前記複数の制御コードを前
    記複数の命令解読器にそれぞれ書き込むことを特徴とす
    る請求項1記載の並列処理プロセッサにおける命令数拡
    張方法。
  3. 【請求項3】 所定の複数の命令コードのそれぞれをア
    ドレスとして設定することにより、複数の制御コードを
    複数の命令解読器にそれぞれ書き込むことを特徴とする
    請求項2記載の並列処理プロセッサにおける命令数拡張
    方法。
  4. 【請求項4】 複数の命令解読器に書き込まれた制御コ
    ードを再設定するための再設定命令を設け、前記再設定
    命令を実行した場合には、予め作成され、複数の命令コ
    ードと他の複数の制御コードとの対応関係を示す他のデ
    コードメモリテーブルに基づき前記他の複数の制御コー
    ドを複数の命令解読器にそれぞれ書き込むことを特徴と
    する請求項2または請求項3記載の並列処理プロセッサ
    における命令数拡張方法。
  5. 【請求項5】 複数の命令解読器に書き込まれた制御コ
    ードを書き換えるための書き換え命令を設け、前記書き
    換え命令を実行した場合には、予め並列処理プロセッサ
    内に記憶された複数の制御コードを前記複数の命令解読
    器にそれぞれ書き込むことを特徴とする請求項1から請
    求項3のうちのいずれか1項記載の並列処理プロセッサ
    における命令数拡張方法。
  6. 【請求項6】 並列処理プロセッサの初期化の際に、複
    数の命令解読器の少なくとも一部に一つまたは複数の所
    定の制御コードを書き込むことを特徴とする請求項1か
    ら請求項5のうちのいずれか1項記載の並列処理プロセ
    ッサにおける命令数拡張方法。
  7. 【請求項7】 所定の制御コードは出現頻度が高い命令
    に関するものであることを特徴とする請求項6記載の並
    列処理プロセッサにおける命令数拡張方法。
  8. 【請求項8】 書き換え可能な素子で構成された複数の
    命令解読器と、外部から前記複数の命令解読器のいずれ
    かを選択するために入力されるアドレス信号を受信する
    第1の入力ポートと、デコード情報に基づき外部から前
    記複数の命令解読器に制御コードをそれぞれ書き込むた
    めに前記制御コードを受信する第2の入力ポートとを備
    えた並列処理プロセッサ。
  9. 【請求項9】 複数の命令解読器は、第1の入力ポート
    を介してアドレス信号を受信するためのアドレスポート
    と、第2の入力ポートを介して制御コードを受信するた
    めの複数のデータ入力ポートと、対応する演算器に制御
    コードを送信するための複数のデータ出力ポートとを備
    えたランダムアクセスメモリであることを特徴とする請
    求項8記載の並列処理プロセッサ。
  10. 【請求項10】 複数の命令解読器を再設定すべく書き
    換えるために再設定要求を外部に出力するための再設定
    レジスタを備えたことを特徴とする請求項8または請求
    項9記載の並列処理プロセッサ。
  11. 【請求項11】 所定の書き換え命令に応じて複数の命
    令解読器のいずれか一つを選択するためのアドレスを保
    持する命令選択レジスタと、書き換え命令に基づき予め
    保持していた制御コードを前記命令選択レジスタで指定
    される前記複数の命令解読器の一つに書き込むために一
    旦記憶する命令定義レジスタとを備えたことを特徴とす
    る請求項8または請求項9記載の並列処理プロセッサ。
  12. 【請求項12】 並列処理プロセッサの初期化の際に複
    数の命令解読器の少なくとも一部に一つまたは複数の所
    定の制御コードを書き込むために、所定の制御コードを
    記憶するための読み出し専用メモリを備えたことを特徴
    とする請求項8から請求項11のうちのいずれか1項記
    載の並列処理プロセッサ。
JP8158505A 1996-06-19 1996-06-19 並列処理プロセッサにおける命令数拡張方法および並列処理プロセッサ Pending JPH1011289A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP8158505A JPH1011289A (ja) 1996-06-19 1996-06-19 並列処理プロセッサにおける命令数拡張方法および並列処理プロセッサ
US08/758,452 US5848255A (en) 1996-06-19 1996-11-29 Method and aparatus for increasing the number of instructions capable of being used in a parallel processor by providing programmable operation decorders

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8158505A JPH1011289A (ja) 1996-06-19 1996-06-19 並列処理プロセッサにおける命令数拡張方法および並列処理プロセッサ

Publications (1)

Publication Number Publication Date
JPH1011289A true JPH1011289A (ja) 1998-01-16

Family

ID=15673208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8158505A Pending JPH1011289A (ja) 1996-06-19 1996-06-19 並列処理プロセッサにおける命令数拡張方法および並列処理プロセッサ

Country Status (2)

Country Link
US (1) US5848255A (ja)
JP (1) JPH1011289A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1008037A2 (en) * 1997-02-28 2000-06-14 VM Labs, Inc Instruction compression and decompression system and method for a processor
JP2007004475A (ja) * 2005-06-23 2007-01-11 Fujitsu Ltd プロセッサ及びプログラム実行方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6786420B1 (en) 1997-07-15 2004-09-07 Silverbrook Research Pty. Ltd. Data distribution mechanism in the form of ink dots on cards
US6618117B2 (en) 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
AUPO802797A0 (en) 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Image processing method and apparatus (ART54)
US6690419B1 (en) 1997-07-15 2004-02-10 Silverbrook Research Pty Ltd Utilising eye detection methods for image processing in a digital image camera
US6879341B1 (en) * 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
US7110024B1 (en) 1997-07-15 2006-09-19 Silverbrook Research Pty Ltd Digital camera system having motion deblurring means
US6948794B2 (en) 1997-07-15 2005-09-27 Silverbrook Reserach Pty Ltd Printhead re-capping assembly for a print and demand digital camera system
US6985207B2 (en) 1997-07-15 2006-01-10 Silverbrook Research Pty Ltd Photographic prints having magnetically recordable media
US6624848B1 (en) 1997-07-15 2003-09-23 Silverbrook Research Pty Ltd Cascading image modification using multiple digital cameras incorporating image processing
AUPO850597A0 (en) 1997-08-11 1997-09-04 Silverbrook Research Pty Ltd Image processing method and apparatus (art01a)
US6055620A (en) * 1997-09-18 2000-04-25 Lg Semicon Co., Ltd. Apparatus and method for system control using a self-timed asynchronous control structure
US6044453A (en) * 1997-09-18 2000-03-28 Lg Semicon Co., Ltd. User programmable circuit and method for data processing apparatus using a self-timed asynchronous control structure
US6105125A (en) * 1997-11-12 2000-08-15 National Semiconductor Corporation High speed, scalable microcode based instruction decoder for processors using split microROM access, dynamic generic microinstructions, and microcode with predecoded instruction information
US6138229A (en) * 1998-05-29 2000-10-24 Motorola, Inc. Customizable instruction set processor with non-configurable/configurable decoding units and non-configurable/configurable execution units
AUPP702098A0 (en) 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART73)
AUPQ056099A0 (en) 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (pprint01)
AU2001245720A1 (en) * 2000-03-15 2001-09-24 Arc International Plc Method and apparatus for processor code optimization using code compression
US7181730B2 (en) * 2000-06-21 2007-02-20 Altera Corporation Methods and apparatus for indirect VLIW memory allocation
US7181484B2 (en) 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output
US7711763B2 (en) 2001-02-21 2010-05-04 Mips Technologies, Inc. Microprocessor instructions for performing polynomial arithmetic operations
US7162621B2 (en) * 2001-02-21 2007-01-09 Mips Technologies, Inc. Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
GB2374950B (en) * 2001-04-23 2005-11-16 Imagination Tech Ltd Expanded functionality of processor operations within a fixed width instruction encoding
US20060101257A1 (en) * 2004-09-07 2006-05-11 Frans Sijstermans System and method to provide a processor with dynamic instruction set and decoder
JP2006092158A (ja) * 2004-09-22 2006-04-06 Toshiba Corp デジタル信号処理回路

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55124847A (en) * 1979-03-19 1980-09-26 Mitsubishi Electric Corp Data processor
US5202967A (en) * 1988-08-09 1993-04-13 Matsushita Electric Industrial Co., Ltd. Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction
JP2810068B2 (ja) * 1988-11-11 1998-10-15 株式会社日立製作所 プロセッサシステム、コンピュータシステム及び命令処理方法
JP2818249B2 (ja) * 1990-03-30 1998-10-30 株式会社東芝 電子計算機
JP2834289B2 (ja) * 1990-07-20 1998-12-09 株式会社日立製作所 マイクロプロセッサ
JP2908598B2 (ja) * 1991-06-06 1999-06-21 松下電器産業株式会社 情報処理装置
JPH05334075A (ja) * 1992-04-13 1993-12-17 Nec Corp ディジタルプロセッサ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1008037A2 (en) * 1997-02-28 2000-06-14 VM Labs, Inc Instruction compression and decompression system and method for a processor
EP1008037A4 (en) * 1997-02-28 2003-04-16 Vm Labs Inc COMMAND COMPRESSION AND DECOMPRESSION SYSTEM AND METHOD FOR A PROCESSOR
JP2007004475A (ja) * 2005-06-23 2007-01-11 Fujitsu Ltd プロセッサ及びプログラム実行方法

Also Published As

Publication number Publication date
US5848255A (en) 1998-12-08

Similar Documents

Publication Publication Date Title
JPH1011289A (ja) 並列処理プロセッサにおける命令数拡張方法および並列処理プロセッサ
US5077657A (en) Emulator Assist unit which forms addresses of user instruction operands in response to emulator assist unit commands from host processor
US11436143B2 (en) Unified memory organization for neural network processors
US5925124A (en) Dynamic conversion between different instruction codes by recombination of instruction elements
JP3101560B2 (ja) プロセッサ
US8458677B2 (en) Generating code adapted for interlinking legacy scalar code and extended vector code
US6446190B1 (en) Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor
US20110320765A1 (en) Variable width vector instruction processor
KR20000076285A (ko) 기계 판독가능 매체 및 초대형 인스트럭션 워드 프로세서와, 컴퓨터 프로그램의 실행 방법 및 컴파일 방법
JP2826028B2 (ja) 分散メモリ型プロセッサシステム
US7512771B2 (en) Mapping circuitry and method comprising first and second candidate output value producing units, an in-range value determining unit, and an output value selection unit
US20230289186A1 (en) Register addressing information for data transfer instruction
US6542989B2 (en) Single instruction having op code and stack control field
US11003447B2 (en) Vector arithmetic and logical instructions performing operations on different first and second data element widths from corresponding first and second vector registers
US8677101B2 (en) Method and apparatus for cooperative software multitasking in a processor system with a partitioned register file
JP6891596B2 (ja) プロセッサ
JP6020428B2 (ja) ベクトルレジスタリネーミング制御方式、ベクトルプロセッサ、及びベクトルレジスタリネーミング制御方法
US5812845A (en) Method for generating an object code for a pipeline computer process to reduce swapping instruction set
US7526632B1 (en) System, apparatus and method for implementing multifunctional memory in reconfigurable data path processing
US7124259B2 (en) Methods and apparatus for indexed register access
WO2004046914A2 (en) Vliw processor with copy register file
Reinders et al. Programming for CPUs
US7213127B2 (en) System for producing addresses for a digital signal processor
WO2000077622A1 (en) Data processor comprising a register stack
EP0862111A2 (en) Dynamic conversion between different instruction codes by recombination of instruction elements