JPH0440525A - 並列処理型マイクロプロセッサ - Google Patents
並列処理型マイクロプロセッサInfo
- Publication number
- JPH0440525A JPH0440525A JP14808190A JP14808190A JPH0440525A JP H0440525 A JPH0440525 A JP H0440525A JP 14808190 A JP14808190 A JP 14808190A JP 14808190 A JP14808190 A JP 14808190A JP H0440525 A JPH0440525 A JP H0440525A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- instruction
- parallel
- length instruction
- dummy
- 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
Links
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 1
- 206010016531 fetishism Diseases 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、並列に実行できる命令を命令パケットにまと
めメインメモリ上に持ちパケット中の命令列を並列に実
行する並列処理型のマイクロプロセッサに関する。
めメインメモリ上に持ちパケット中の命令列を並列に実
行する並列処理型のマイクロプロセッサに関する。
[従来の技術]
従来の並列処理型のマイクロプロセッサは第2図に示す
様に、外部メインメモリ12上に固定長命令パケット1
3を格納し、マイクロプロセッサ11内の並列実行部1
4でパケット内の命令列をそのまま並列実行する。通常
はパケット内の命令順は並列実行部14の並列機能に合
うように命令の種類で固定化されている。
様に、外部メインメモリ12上に固定長命令パケット1
3を格納し、マイクロプロセッサ11内の並列実行部1
4でパケット内の命令列をそのまま並列実行する。通常
はパケット内の命令順は並列実行部14の並列機能に合
うように命令の種類で固定化されている。
[発明が解決しようとする課題]
しかし従来技術による方法では、並列化しきれないパケ
ット内の命令があるときはダミー命令を入れておく必要
があるため外部メインメモリ上での命令パケットの格納
サイズが大きくなるという問題点を有する。例えば1つ
の命令パケットが8命令分の長さを持っていても、平均
すると3−4命令ぐらいしか同じパケットに入らないの
で、半分以上はダミー命令を入れることになる。
ット内の命令があるときはダミー命令を入れておく必要
があるため外部メインメモリ上での命令パケットの格納
サイズが大きくなるという問題点を有する。例えば1つ
の命令パケットが8命令分の長さを持っていても、平均
すると3−4命令ぐらいしか同じパケットに入らないの
で、半分以上はダミー命令を入れることになる。
「課題を解決するための手段]
本発明の並列処理型マイクロプロセッサは、第1図に示
すように、外部メインメモリ2上にはパケット内命令数
が可変にできる可変長命令パケット3を持ち、可変長命
令パケットをフェッチ後ダミー命令を挿入して固定長命
令パケットに変換するダミー命令挿入部4、さらに固定
長命令パケット6をキャッシュし並列実行部7よりラン
ダムアクセス可能なパケットキャッシュ部5、そして実
行するパケットをパケットキャッシュ部5よりフェッチ
しパケット内の各命令を並列にデコードし実行する並列
実行部7を持つことを特徴とする。
すように、外部メインメモリ2上にはパケット内命令数
が可変にできる可変長命令パケット3を持ち、可変長命
令パケットをフェッチ後ダミー命令を挿入して固定長命
令パケットに変換するダミー命令挿入部4、さらに固定
長命令パケット6をキャッシュし並列実行部7よりラン
ダムアクセス可能なパケットキャッシュ部5、そして実
行するパケットをパケットキャッシュ部5よりフェッチ
しパケット内の各命令を並列にデコードし実行する並列
実行部7を持つことを特徴とする。
[実施例]
以下本発明について図面に基づき詳細に説明する。第3
図は実施例の構成図である。外部メインメモリ22には
可変長命令パケットにより命令が格納されている。マイ
クロプロセッサ21はこの可変長命令パケットを固定長
命令パケットに変換する必要がある。パケット内の命令
フォーマットを第4図に示す。第4図(a)は固定長命
令パケットである。これは第3図の並列実行ユニット2
8の並列処理にあわせて決められる。第4図(b)は可
変長命令パケットを固定長命令パケットに変換する方法
を示す。可変長命令パケット42は4命令分のフィール
ドを持ちヘッダ1命令と有効な3命令で構成される。ま
ずヘッダ内に10101という情報を持つ。これは固定
長命令パケットに対応し1の部分は命令が有効でOの部
分はダミー命令をいれることを意味する。これにより固
定長命令パケット43が作成できる。第3図では1命令
ずつ外部メインメモリ22よりフェッチしFirstI
nput−FirstOutput方式のブリフェチキ
ュ−23にいれてゆく。第4図(b)の例ではヘッダ、
整数演算命令、1oad命令、分岐命令の順にブリフェ
ッチキュー23に入ってゆく。まずブリフェッチキュー
23よりセレクタ24にヘッダ情報がはいる。つぎにヘ
ッダ情報の10101に従い5命令長パケツト26の左
端より右端へ1ならブリフェッチキュー23より命令を
入力しOならダミー命令を入力してゆく。
図は実施例の構成図である。外部メインメモリ22には
可変長命令パケットにより命令が格納されている。マイ
クロプロセッサ21はこの可変長命令パケットを固定長
命令パケットに変換する必要がある。パケット内の命令
フォーマットを第4図に示す。第4図(a)は固定長命
令パケットである。これは第3図の並列実行ユニット2
8の並列処理にあわせて決められる。第4図(b)は可
変長命令パケットを固定長命令パケットに変換する方法
を示す。可変長命令パケット42は4命令分のフィール
ドを持ちヘッダ1命令と有効な3命令で構成される。ま
ずヘッダ内に10101という情報を持つ。これは固定
長命令パケットに対応し1の部分は命令が有効でOの部
分はダミー命令をいれることを意味する。これにより固
定長命令パケット43が作成できる。第3図では1命令
ずつ外部メインメモリ22よりフェッチしFirstI
nput−FirstOutput方式のブリフェチキ
ュ−23にいれてゆく。第4図(b)の例ではヘッダ、
整数演算命令、1oad命令、分岐命令の順にブリフェ
ッチキュー23に入ってゆく。まずブリフェッチキュー
23よりセレクタ24にヘッダ情報がはいる。つぎにヘ
ッダ情報の10101に従い5命令長パケツト26の左
端より右端へ1ならブリフェッチキュー23より命令を
入力しOならダミー命令を入力してゆく。
5命令長パケツト26にいれ終わったら、パケットキャ
ッシュ27に移す。並列実行ユニット28は実行するパ
ケットをパケットキャッシュよりフェッチし実行する。
ッシュ27に移す。並列実行ユニット28は実行するパ
ケットをパケットキャッシュよりフェッチし実行する。
並列実行ユニット28中には、整数演算処理29、浮動
小数点処理30.1oad処理31.5tore処理3
2、分岐処理33が含まれ、それぞれの処理命令フィー
ルドを並列にデコードし実行することにより並列処理可
能となっている。なお、プログラムを並列処理可能なパ
ケット化することは人の手では不可能なため、通常は並
列化コンパイラがおこなう。
小数点処理30.1oad処理31.5tore処理3
2、分岐処理33が含まれ、それぞれの処理命令フィー
ルドを並列にデコードし実行することにより並列処理可
能となっている。なお、プログラムを並列処理可能なパ
ケット化することは人の手では不可能なため、通常は並
列化コンパイラがおこなう。
[発明の効果]
以上述べたように本発明によれば、外部メインメモリ上
に可変長命令パケットを持ち、可変長命令パケットをダ
ミー命令を挿入して固定長命令パケットに変換するダミ
ー命令挿入部、固定長命令パケットをキャッシュするパ
ケットキャッシュ部、そしてパケット内の命令を並列に
実行する並列実行部を持つことにより、外部メモリーサ
イズをあまり大きくすることなくマイクロプロセッサは
並列実行を行うことができる。
に可変長命令パケットを持ち、可変長命令パケットをダ
ミー命令を挿入して固定長命令パケットに変換するダミ
ー命令挿入部、固定長命令パケットをキャッシュするパ
ケットキャッシュ部、そしてパケット内の命令を並列に
実行する並列実行部を持つことにより、外部メモリーサ
イズをあまり大きくすることなくマイクロプロセッサは
並列実行を行うことができる。
第1図は本発明の構成図。
第2図は従来例の構成図。
1・・・マイクロプロセッサ
2・・・外部メインメモリ
・可変長命令パケット
・ダミー命令挿入部
・パケットキャッシュ部
・固定長命令パケット
・並列実行部
・マイクロプロセッサ
・・外部メインメモリ
・固定長命令パケット
・並列実行部
・マイクロプロセッサ
・外部メインメモリ
・ブリフェッチキュー
・セレクタ
・ダミー命令
・5命令長パケツト
・パケットキャッシュ
・・並列実行ユニット
・整数演算処理
・浮動小数演算処理
・1oad処理
°5tOre処理
・分岐処理
・固定長命令パケット
・可変長命令パケット例
・固定長命令パケット例
以上
出願人セイコーエプソン株式会社
代理人弁理土鈴木喜三部(他1名)
Claims (1)
- プログラムにおいて並列に実行できる命令を命令パケッ
トにまとめメインメモリ上に格納し、その命令パケット
をフェッチしパケット中の命令列を並列に実行する並列
処理システムにおいて、外部メインメモリ上にはパケッ
ト内命令数が可変にできる可変長命令パケットを持ち、
可変長命令パケットをフェッチ後ダミー命令(データ変
更を伴わない命令)を挿入して固定長命令パケットに変
換するダミー命令挿入部、さらに固定長命令パケットを
キャッシュし並列実行部よりランダムアクセス可能なパ
ケットキャッシュ部、そして実行するパケットをパケッ
トキャッシュ部よりフェッチしパケット内の各命令を並
列にデコードし実行する並列実行部を持つことを特徴と
する並列処理型マイクロプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14808190A JPH0440525A (ja) | 1990-06-06 | 1990-06-06 | 並列処理型マイクロプロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14808190A JPH0440525A (ja) | 1990-06-06 | 1990-06-06 | 並列処理型マイクロプロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0440525A true JPH0440525A (ja) | 1992-02-10 |
Family
ID=15444805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14808190A Pending JPH0440525A (ja) | 1990-06-06 | 1990-06-06 | 並列処理型マイクロプロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0440525A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6880150B1 (en) | 1998-04-28 | 2005-04-12 | Matsushita Electric Industrial Co., Ltd. | Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor |
JP2006500673A (ja) * | 2002-09-24 | 2006-01-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 処理装置、処理方法及びコンパイラ |
JP2007273739A (ja) * | 2006-03-31 | 2007-10-18 | Tdk Corp | コイル部品 |
US7401204B1 (en) | 1999-10-01 | 2008-07-15 | Fujitsu Limited | Parallel Processor efficiently executing variable instruction word |
JP2011018343A (ja) * | 2002-10-21 | 2011-01-27 | Emulex Design & Manufacturing Corp | 遠隔管理システム |
JP4862100B1 (ja) * | 2011-03-25 | 2012-01-25 | 好一 北岸 | 中央演算処理装置及びマイクロコンピュータ |
US8516225B2 (en) | 2011-03-25 | 2013-08-20 | Koichi Kitagishi | Central processing unit and microcontroller |
JP2014524097A (ja) * | 2011-07-28 | 2014-09-18 | クアルコム,インコーポレイテッド | エントロピ符号化命令シーケンスの記憶および実行可能な形式への変換のための方法および装置 |
US9201652B2 (en) | 2011-05-03 | 2015-12-01 | Qualcomm Incorporated | Methods and apparatus for storage and translation of entropy encoded software embedded within a memory hierarchy |
JP2020140290A (ja) * | 2019-02-27 | 2020-09-03 | 株式会社ウーノラボ | 中央演算処理装置 |
-
1990
- 1990-06-06 JP JP14808190A patent/JPH0440525A/ja active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7823142B2 (en) | 1998-04-28 | 2010-10-26 | Panasonic Corporation | Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor |
US6976245B2 (en) | 1998-04-28 | 2005-12-13 | Matsushita Electric Industrial Co., Ltd. | Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor |
US6976250B2 (en) | 1998-04-28 | 2005-12-13 | Matsushita Electric Industrial Co., Ltd. | Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor |
US7080367B2 (en) | 1998-04-28 | 2006-07-18 | Matsushita Electric Industrial Co., Ltd. | Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor |
US6880150B1 (en) | 1998-04-28 | 2005-04-12 | Matsushita Electric Industrial Co., Ltd. | Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor |
US7401204B1 (en) | 1999-10-01 | 2008-07-15 | Fujitsu Limited | Parallel Processor efficiently executing variable instruction word |
JP2006500673A (ja) * | 2002-09-24 | 2006-01-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 処理装置、処理方法及びコンパイラ |
JP2011018343A (ja) * | 2002-10-21 | 2011-01-27 | Emulex Design & Manufacturing Corp | 遠隔管理システム |
JP2007273739A (ja) * | 2006-03-31 | 2007-10-18 | Tdk Corp | コイル部品 |
JP4862100B1 (ja) * | 2011-03-25 | 2012-01-25 | 好一 北岸 | 中央演算処理装置及びマイクロコンピュータ |
WO2012132104A1 (ja) * | 2011-03-25 | 2012-10-04 | Kitagishi Koichi | 中央演算処理装置及びマイクロコンピュータ |
US8516225B2 (en) | 2011-03-25 | 2013-08-20 | Koichi Kitagishi | Central processing unit and microcontroller |
US9201652B2 (en) | 2011-05-03 | 2015-12-01 | Qualcomm Incorporated | Methods and apparatus for storage and translation of entropy encoded software embedded within a memory hierarchy |
US10754653B2 (en) | 2011-05-03 | 2020-08-25 | Qualcomm Incorporated | Methods and apparatus for storage and translation of entropy encoded software embedded within a memory hierarchy |
JP2014524097A (ja) * | 2011-07-28 | 2014-09-18 | クアルコム,インコーポレイテッド | エントロピ符号化命令シーケンスの記憶および実行可能な形式への変換のための方法および装置 |
US10120692B2 (en) | 2011-07-28 | 2018-11-06 | Qualcomm Incorporated | Methods and apparatus for storage and translation of an entropy encoded instruction sequence to executable form |
JP2020140290A (ja) * | 2019-02-27 | 2020-09-03 | 株式会社ウーノラボ | 中央演算処理装置 |
US12111788B2 (en) | 2019-02-27 | 2024-10-08 | Uno Laboratories, Ltd. | Central processing unit with asynchronous registers |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10395381B2 (en) | Method to compute sliding window block sum using instruction based selective horizontal addition in vector processor | |
US6295599B1 (en) | System and method for providing a wide operand architecture | |
EP2241968B1 (en) | System with wide operand architecture, and method | |
US7213131B2 (en) | Programmable processor and method for partitioned group element selection operation | |
US7191318B2 (en) | Native copy instruction for file-access processor with copy-rule-based validation | |
JP3547139B2 (ja) | プロセッサ | |
US20070239967A1 (en) | High-performance RISC-DSP | |
US20040015680A1 (en) | Data processor for modifying and executing operation of instruction code | |
US5381531A (en) | Data processor for selective simultaneous execution of a delay slot instruction and a second subsequent instruction the pair following a conditional branch instruction | |
JPH03218523A (ja) | データプロセッサ | |
TWI261201B (en) | Methods of providing instructions for a coprocessor, computer storage medium storing instructions, and processor and processor and coprocessor for executing instructions | |
CA2260308A1 (en) | High performance speculative misaligned load operations | |
JPH0440525A (ja) | 並列処理型マイクロプロセッサ | |
EP2302510B1 (en) | A processor and method performed by a processor for executing a matrix multipy operation using a wide operand | |
US5041968A (en) | Reduced instruction set computer (RISC) type microprocessor executing instruction functions indicating data location for arithmetic operations and result location | |
US10402199B2 (en) | Conditional execution specification of instructions using conditional extension slots in the same execute packet in a VLIW processor | |
US8024552B2 (en) | Performing variable and/or bitwise shift operation for a shift instruction that does not provide a variable or bitwise shift option | |
CN106610817B (zh) | 用于采取vliw处理器中的相同执行数据包中的常数扩展槽指定或扩展常数位数的方法 | |
CN111984313A (zh) | 矢量位转置 | |
JPH04104350A (ja) | マイクロプロセッサ | |
JPH01150935A (ja) | 中央演算装置 | |
KR100536019B1 (ko) | 하드웨어 루프에 대한 보안 제공 방법 및 장치 | |
JP3647930B2 (ja) | 動的ハイパースカラ・プロセッサ | |
JP2687765B2 (ja) | 分岐予測方式 | |
JPH04145531A (ja) | マイクロプログラム制御装置 |