JPH09212358A - データ処理装置及びマイクロプロセッサ - Google Patents

データ処理装置及びマイクロプロセッサ

Info

Publication number
JPH09212358A
JPH09212358A JP8015016A JP1501696A JPH09212358A JP H09212358 A JPH09212358 A JP H09212358A JP 8015016 A JP8015016 A JP 8015016A JP 1501696 A JP1501696 A JP 1501696A JP H09212358 A JPH09212358 A JP H09212358A
Authority
JP
Japan
Prior art keywords
instruction
vliw
processor
instructions
risc
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
JP8015016A
Other languages
English (en)
Other versions
JP3623840B2 (ja
Inventor
Junichi Nishimoto
順一 西本
Hideo Maejima
英雄 前島
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP01501696A priority Critical patent/JP3623840B2/ja
Priority to TW086100225A priority patent/TW334544B/zh
Priority to KR1019970001570A priority patent/KR100535852B1/ko
Priority to US08/791,811 priority patent/US6023757A/en
Publication of JPH09212358A publication Critical patent/JPH09212358A/ja
Priority to US09/382,598 priority patent/US6496919B1/en
Priority to US10/281,148 priority patent/US6760832B2/en
Application granted granted Critical
Publication of JP3623840B2 publication Critical patent/JP3623840B2/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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • 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/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • 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/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】命令セットの異なるプロセッサにおいて相互の
命令を実行できるようにする。 【解決手段】命令セットの異なるプロセッサ間におい
て、片方のプロセッサが所定の動作を行うことによっ
て、別のプロセッサの命令を実行出きるようにする。所
定の動作とは、所定の分岐命令を実行することや特定の
アドレス空間への分岐などが用いられる。 【効果】本発明により特定の命令セットを持つプロセッ
サを異なる命令セットを持つプロセッサに拡張すると
き、互換性を維持しながら拡張することが可能となる。
例えばRISC型プロセッサをVLIW型プロセッサに拡張する
場合があてはまる。また異なる命令セットを持つプロセ
ッサをワンチップで実現することにより、演算ユニット
などの資源の共有化による低コスト化やセリュリティの
強化が行える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サやマイクロコンピュータ等のデータ処理装置に係わ
り、特にソフトウエアの互換を維持して高速性能を達成
するデータ処理装置に適用して有効な技術に関する。
【0002】
【従来の技術】マイクロプロセッサのアーキテクチャに
はさまざまなものが存在する。例えばCISC(Comple
xed Instruction Set Computer)型マイクロプロセッ
サ、 RISC(Rediced Instruction Set Computer)
型マイクロプロセッサ、V LIW(Very Long Instruc
tion Word)(又はLIW(Long Instruction Word)型
マイクロプロセッサなどが挙げられる。
【0003】CISC型マイクロプロセッサは、例えば
8ビット或いは16ビットを最小命令長単位とし、最小
命令長単位の整数倍長の可変長の命令フォーマットで命
令体系(命令セット)を構成している。最大命令長は4
8ビット長、64ビット長、80ビット長等である。命
令セットを構成する命令数が多く、1命令が複数の処理
を行い、また命令語長が可変である、マイクロプログラ
ム制御等のため、ハードウエア量が多く高速性能を追及
するには難点のあるアーキテクチャであるとされてい
た。CISC型マイクロプロセッサの例としては、モト
ローラ社の680X0,インテル社の80X86等があ
る。
【0004】高速性能を追及する一つの解として、RI
SC型マイクロプロセッサが出てきた。RISC型マイ
クロプロセッサは、16ビット長、32ビット長或いは
64ビット長等の固定長の命令フォーマットで、1命令
は単純な処理を行い、比較的少ない命令数で命令体系を
構成している。命令が単純であるため、マイクロプロセ
ッサの制御部のハードウエア量もCISC型のマイクロ
プロセッサと比較して少なく、またパイプライン処理に
も適しており、高速性能が比較的出しやすいアーキテク
チャである。なお、16ビット長命令と32ビット長命
令が混在した命令フォーマットで命令体系を構成したも
のもある。RISCプロセッサの例としては、SPAR
C、MIPS社のR3000等がある。
【0005】最近、高速化のため、動作周波数を向上さ
せる方法以外に同時に動作させる演算ユニットの数を増
やす方法が取られてきている。この複数の演算ユニット
を同時に実行する方式は、スーパスカラ方式と呼ばれて
いる。しかし、スーパスカラ方式で、複数の命令が同時
に実行可能かどうかを調べる、すなわち命令依存性を調
べる機能が必要となり回路規模が増大する傾向にある。
【0006】これに対して固定長ではあるが長い命令長
の命令フォーマットで命令体系を構成するプロセッサと
して、VLIW型プロセッサが存在する。VLIWプロ
セッサでは128ビット以上の長い命令を使って複数の
演算器が同時に動作する。VLIW型プロセッサではコ
ンパイル時にあらかじめ命令の依存性をチェックし同時
に実行出来る命令をまとめて1命令とする。VLIW型
プロセッサでは実行時に改めて命令の依存性をチェック
する必要がないため、RISC型マイクロプロセッサの
スーパースカラ方式に比べて回路規模は少なくなる。
なお、VLIW型プロセッサの例としては、マルチフロ
ー・コンピュータ社のTrace ce/300等がある。
【0007】一方、RISC型のアーキテクチャの採用
等により動作周波数の向上や同時に実行する命令数の増
加で、マイクロプロセッサの性能が向上してきた。その
ため、従来専用ハードウエアや専用コントローラを使用
して行っていた、動画像の圧縮/伸長(MPEGデコー
ダ/エンコーダ)や三次元グラフィック処理をソフトウ
エアで行うことが考えらている。
【0008】MPEGデコーダ/エンコーダや三次元グ
ラフィック処理等の同一処理の繰り返しで多量のデータ
を扱ういわゆるマルチメデイア用途の処理にはVLIW
型マイクロプロセッサが適しているとされてきている。
【0009】
【発明が解決しようとする課題】一方、従来のマイクロ
プロセッサ或いはCPU(中央処理装置)はCISC型
又はRISC型で、それぞれのソフトウエア資産の蓄積
がある。CISC型、RISC型、VLIW型のマイク
ロプロセッサは、それぞれ命令セット、命令フォーマッ
ト、アドレッシングモード、プログラミングモデル等は
異なり、ソフトウエアの互換性はない。マイクロプロセ
ッサは、同一アーキテクチャ(命令体系を含む。)では
性能向上に限界が出てくる。そこで、アーキテクチャ変
更を要求されるが、これまで築き上げてきたソフトウエ
ア資産の継承が問題となる。
【0010】本発明の目的は、従来のソフトウエアと互
換性を維持しながら、新しいアーキテクチャ(命令体
系)のソフトウエアを実行する高性能なプロセッサを実
現することである。
【0011】本発明の別の目的は、プロセッサ内部の資
源たとえば演算ユニットなどの共有化又は共用化による
ハードウエアの増加を抑えて高速性能を実現することで
ある。
【0012】さらに、本発明の別の目的は、プロセッサ
間の動作制御方式による高速化と低消費電力化の双方を
実現することである。
【0013】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0014】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0015】データ処理装置は、第1の命令セットの命
令を実行する第1のプロセッサと、第1の命令セットと
は異なる第2の命令セットの命令を実行する第2のプロ
セッサとを有し、前記第1のプロセッサが前記第1の命
令セットの中の所定命令を実行したとき、前記第2のプ
ロセッサが前記第2の命令セットの命令を実行する。記
憶装置に記憶されるプログラムを実行するデータ処理装
置は、第1の命令セットの命令によって構成されるプロ
グラムと、第1の命令セットと異なる第2の命令セット
の命令によって構成されるプログラムとを前記データ処
理装置のアドレス空間に配置する。
【0016】前記第1の命令セットの命令は可変長であ
り、前記第2の命令セットの命令は固定長にする。前記
第1の命令セットの命令の最大語長は、前記第2の命令
の語長より長い場合がある。前記第1の命令セットの命
令の最大語長は、前記第2の命令の語長より短い場合が
ある。
【0017】前記第1の命令セットの命令と前記第2の
命令セットの命令は共に固定長である場合がある。前記
第1の命令セットの命令の語長は、前記第2の命令の語
長より短い場合がある。
【0018】データ処理装置は、演算器を有し、第1の
命令群を格納する第1の記憶部から命令を読み出して実
行する第1のデータ処理部と、並列動作可能な複数の演
算器を有し、同時に実行可能な命令を1命令として実行
する第2のデータ処理部と、前記第2のデータ処理部が
実行する命令群を格納する第2の記憶部とを具備し、前
記第1のデータ処理部が読み出した命令が所定の命令で
あるとき、前記第2のデータ処理部で実行する命令を前
記第2の記憶部から読み出す。
【0019】マイクロプロセッサは、RISC命令を実
行するRISCコアと、VLIW命令を格納するVLI
Wテーブルと、VLIW命令を実行するVLIWコア
と、前記RISCコアとVLIWコアとの動作切り替え
を制御するVLIW起動判定ユニットとを有し、前記R
ISCコアがRISC命令のうちサブルーチンコール若
しくは分岐命令を実行したとき、分岐先アドレスで前記
VLIWテーブルからVLIW命令を読み出し、前記V
LIW起動判定ユニットが前記RISCコアから前記V
LIWコアへ動作を移し、前記VLIWテーブルからV
LIW命令の完了コードが読み出されるまでVLIWコ
アが動作する。
【0020】前記マイクロプロセッサは、さらに分岐先
アドレスをアドレス変換するTLBを有し、前記VLI
Wテーブルから読み出されるVLIW命令を拡張するた
めの信号をアドレス変換の際にTLBから同時に読み出
せる。
【0021】前記マイクロプロセッサは、さらにVLI
W命令へ分岐後、引き続き実行されるVLIW命令の動
作とVLIW命令実行後に復帰するRISC命令の動作
に関連性があるかを調べる回路を有し、関連性がない場
合にVLIW命令の完了を待たずに復帰先のRISC命
令を並列に実行可能である。
【0022】前記マイクロプロセッサにおいて、VLI
W命令の実行を禁止したり、実行を制御するレジスタを
プロセッサ内部に有し、VLIW命令実行禁止時にはV
LIW命令と同等の動作を行うRISC命令列に分岐す
ることで、VLIWコアの動作を停止させ低消費電力化
を図る機能を有する。
【0023】前記VLIWテーブルを不揮発性メモリに
内蔵する。 前記不揮発性メモリは、マスクROM、フ
ラッシュメモリ、強誘電体メモリのうちのいづれか1つ
であるのが望ましい。前記VLIWテーブルを揮発性メ
モリに内蔵する。前記VLIWテーブルを揮発性メモリ
は、SRAM或いはDRAMのうちのいづれかであるの
が望ましい。
【0024】前記VLIWテーブルをRISCコアのプ
ロセッサで書き換え可能なメモリに内蔵するのが望まし
い。
【0025】
【発明の実施の形態】図1には本発明の実施形態に係る
マイクロプロセッサ100のブロック図が示される。マ
イクロプロセッサ100は、RISC命令の処理を実行
するRISCコア部106、VLIW命令の処理を実行
するVLIWコア部140及びデータキャッシュ129
から構成される。
【0026】RISCコア部106は、命令フェッチユ
ニット101、命令キャッシュ107、 RISCデコ
ードユニット114、浮動小数点ユニット118、整数
演算ユニット119、ロード/ストアユニット127か
ら構成される。
【0027】VLIWコア部140は、VLIW起動判
定ユニット104、VLIWテーブル113、VLIW
デコードユニット115、N個の演算ユニット120、
VLIWロード/ストアユニット131から構成され
る。
【0028】命令フェッチユニット101が命令アドレ
スバス105に実行する命令のアドレスを出力する。R
ISC命令実行時には命令アドレスバス105のアドレ
スに対応する命令が命令キャッシュ107から命令バス
108に読み出され、RISCデコードユニット114
においてRISC命令のデコードを行う。なお、命令キ
ャッシュ107に該当する命令が存在しない(キャッシ
ュミス)ときは、アドレスバス134とデータバス13
5を用いてバスコントローラ(図示せず)を介してマイ
クロプロセッサ外部のメモリから命令が読み出される。
RISCデコードユニット114でのデコードの結果
はRISC演算ユニット制御信号117を通して浮動小
数点ユニット118や整数演算ユニット119などの制
御が行われる。図1ではVLIWコアの演算ユニット1
40とRISCコアの演算ユニット106をお互いに共
有している状態を示しているため、演算ユニット120
へのアクセスが発生することもある。
【0029】さらに命令がメモリアクセス命令であった
場合はロード/ストアユニット127へアクセスが発生
し、アドレスバス126からデータキャッシュ129に
アクセスが起こり、データバス128、RISC用デー
タバス121を通してデータが整数演算ユニット119
と浮動小数点ユニット118のレジスタに格納される。
データキャッシュ129に該当するデータがない(キャ
ッシュミス)とき、バスコントローラを介して、アドレ
スバス139とデータバス138を用いて、マイクロプ
ロセッサ外部のメモリをアクセスする。
【0030】RISC命令の実行中にVLIW命令の実
行を行うための分岐命令(RISC命令の一部)が発生
した場合、RISCデコードユニット114からVLI
W分岐命令デコード信号142を通して命令フェッチユ
ニット101へ分岐発生を知らせる。信号分岐先アドレ
スは分岐先アドレス用バス136を通して伝えられる。
レジスタファイル内のレジスタに分岐先アドレスが格納
されている場合は分岐先アドレス用バス141を通して
整数演算ユニット119などからRISCデコードユニ
ット114へアドレスが転送される。VLIW命令はR
ISCコアのメモリ空間の特定のアドレス空間に割り付
けられており、そのアドレス空間をアクセスすることで
VLIWテーブル113に格納されているVLIW命令
をアクセスすることが可能となる。これによって、VL
IWテーブル113からのVLIW命令の読み出し及び
書き換えを行うことができる。
【0031】VLIW分岐命令デコード信号142を通
して分岐の発生を受けた命令フェッチユニット101は
VLIW命令分岐信号103を通してVLIW起動判定
ユニット104へVLIW命令への分岐が発生したこと
を知らせる。VLIW起動判定ユニット104はVLI
W命令を起動する条件を判定し、RISCコア制御信号
109を通しRISCデコードユニット114へ命令ア
ドレスバス105のアドレスで読み出した命令の実行を
中止させる。RISCデコードユニット114内又はV
LIWデコードユニット115内のレジスタで指定され
た場合は、消費電力低減のためRISCコア106全体
或いは一部のクロックを停止することができる。なお、
VLIW命令を実行しない場合も、同様にVLIWコア
全体或いは一部のクロックを停止することができる。
【0032】VLIWテーブル113から命令アドレス
命令アドレスバス105のアドレスを用いVLIW命令
バス112へVLIW命令が読み出される。VLIWデ
コードユニット115はVLIW命令バス112のVL
IW命令をVLIW起動判定ユニット104からVLI
W命令デコード起動信号111を通して送られてくる起
動条件をもとにデコードし、VLIW演算ユニット制御
信号116を通してVLIW演算ユニット120または
RISCコア部106の整数演算ユニット119や浮動
小数点ユニット118のそれぞれの制御を並列に行う。
VLIW演算ユニット120とは整数演算ユニット、浮
動小数点演算ユニット、DSP(Digital Signal Proce
ssor:例えば積和演算)等の演算ユニットである。図1
には各演算ユニットが個別にレジスタファイルを持つロ
ーカルレジスタファイル型のプロセッサの例が示され
る。各演算ユニット間のデータのやりとりは演算器間デ
ータバス123を通して行われる。VLIW命令にメモ
リアクセス命令が含まれていた場合、VLIWロード/
ストアユニット131がデータキャッシュ129に対し
アドレスバス125とデータバス130、VLIW用デ
ータバス124を用いてアクセスが発生する。
【0033】VLIW命令が連続して続く場合は命令ア
ドレスバス105を通してVLIW起動判定ユニット1
04内に保持されているアドレス情報を使い命令アドレ
スバス132のアドレスとVLIWテーブル制御信号1
33を通してVLIWテーブル113からVLIW命令
が読み出される。読み出されたVLIW命令が最後の命
令であることを示す完了コードを含んでいる場合VLI
Wデコードユニット115がVLIW命令実行状態信号
110を通してVLIW起動判定ユニット104にVL
IW命令列の完了を知らせる。VLIW命令実行状態信
号110にはVLIW命令の完了の他に割り込み、例外
等のVLIW命令実行に影響を与える情報も出力され
る。VLIW起動判定ユニット104はVLIW命令列
の完了を受けてVLIW命令完了信号102とRISC
コア制御信号109を通しVLIW命令の完了を命令フ
ェッチユニット101とRISCデコードユニット11
4へ伝え、RISC命令に復帰する。
【0034】すなわち、RISC命令の実行にはRIS
Cコア106を用い、VLIW命令の実行にはVLIW
コア140を用いる。VLIWコア140の実行では新
規にRISC命令に追加したVLIW命令への分岐命令
もしくは特定のアドレスへの分岐をトリガとし、VLI
W命令起動判定ユニット104がマイクロプロセッサ内
部に保持するVLIWテーブル113から順次VLIW
命令をVLIWデコーダ115へ読み出す。VLIW命
令実行後、処理をRISC命令列に復帰する。つまりV
LIW命令の実行をサブルーチン化しVLIWテーブル
113に格納することにより高速動作が必要な処理をV
LIW命令で実行することが可能となる。サブルーチン
化することによりVLIW回路を有しないマイクロプロ
セッサであっても、分岐先にVLIW命令と同等の動作
をするRISC命令列を配置することで互換性の維持が
可能である。
【0035】また低消費電力動作が必要であり、かつV
LIW命令を使うような高速な動作が必要でない場合に
は内蔵制御レジスタの状態により、VLIWコア140
の動作を停止し、RISCコア106のみで動作を行う
ことも可能である。逆にRISCコア106の動作が必
要でない場合にはRISCコア106の動作を停止し、
VLIWコア140のみで動作することも可能である。
【0036】さらに、RISC命令の実行中にVLIW
コア140の演算器(レジスタファイルを含む)を使用
でき、VLIW命令実行中にRISCコア106の演算
器(レジスタファイル)を使用できるので、資源の共用
が可能になり半導体集積回路のチップ面積低減が可能に
なる。
【0037】VLIW起動判定ユニット104は、VL
IW命令実行中に実行中のVLIW命令がVLIW命令
実行完了後に復帰する先のRISC命令と依存性がない
かを制御信号137を通して得られるデコード結果をも
とに判定し、依存性がない場合にVLIW命令完了信号
102とRISCコア制御信号109を通してRISC
命令とVLIW命令の並列実行の制御の選択が可能であ
る。
【0038】VLIWテーブル113にはマスクRO
M、EPROM(電気的書き込み紫外線消去の不揮発性
メモリ)、EEPROM(電気的消去/書き込み可能な
不揮発性メモリ)、フラッシュメモリ(フラッシュEE
PROM)、FRAM(強誘電体メモリ)等の不揮発性
メモリと、DRAM(ダイナミックRAM)、SRAM
(スタテイックRAM)等の揮発性メモリとが使用され
る。書き換え可能なメモリ、例えばEEPROM、フラ
ッシュメモリ、FRAM、DRAM、SRAM等を用い
た場合、 VLIWテーブルデータバス122を通して
システムに応じたVLIWテーブルを設定することが可
能である。これによって、 VLIW動作中に動的にV
LIWテーブルをシステムに最適な構成にすることがで
きる。またVLIW起動判定ユニット104内にあるレ
ジスタへのアクセスにもこのVLIWテーブルデータバ
ス122が用いられる。SRAMを用いると他のメモリ
を使用する場合に比べて書き込み及び読み出しが高速に
できる。DRAMはメモリ素子が1個のトランジスタで
構成され、SRAMはメモリ素子が4個又は6個のトラ
ンジスタで構成されるため、DRAMを用いることでV
LIWテーブルをSRAMを用いるより小さくできる。
図2には図1に係るマイクロプロセッサの変形例が示さ
れる。図2では RISCコア106とVLIWコア1
40のレジスタを共通に持つグローバルレジスタ型のマ
イクロプロセッサが示される。図1のマイクロプロセッ
サ100と同一の部分には同一の記号が用いられてい
る。
【0039】図5には、VLIW分岐命令によりVLI
W命令がRISC命令と並列に実行する場合のタイミン
グチャートとVLIW命令のコード割付の例が示されて
いる。
【0040】VLIW分岐命令はRISC命令の1つ
で、RISC命令1、2、3と同様にRISCコア10
6でパイプライン処理で実行される。記号501、50
4、506、507はそのパイプラインステージを示し
ている。Iは命令フェッチ、Dは命令デコード、Eは実
行、Mはメモリアクセス、Wは書き込みのステージを表
す。また、VLIW命令1、2、3は、VLIWコア1
40でパイプライン処理で実行される。記号502、5
03、505はそのパイプラインステージを示してい
る。パイプラインのVI、VD、VE、VM、VWはそ
れぞれVLIW用の命令フェッチ、命令デコード、実
行、メモリアクセス、書き込みのステージを表す。
【0041】VLIW分岐命令からVLIW命令1へ3
サイクル後に分岐するとしたらVLIW命令1のパイプ
ライン502がサイクル4から開始する。VLIW命令
2以降のVLIW命令がVLIW命令実行後の復帰先の
RISC命令と依存性がない場合、VLIW命令2の実
行503とRISC命令1の実行504を並列に行うこ
とが可能である。VLIW命令3の実行505とRIS
C命令2の実行506も並列に動作でき、VLIW命令
が完了すると、VLIW命令用のパイプラインは消え、
RISC命令3の実行507が行われる。
【0042】VIステージでVLIWテーブルから読み
出されるVLIW命令のコード割付の例を図5の下に示
す。VLIW命令には複数の演算器を制御するためのコ
ードが1命令に埋めこまれている。このVLIW命令の
命令長は128ビット或いは256ビットの固定長であ
る。記号508はVLIW演算器1を制御するためのフ
ィールド、509はVLIW演算器2を制御するための
フィールド、510は整数演算器を制御するためのフィ
ールド、511は浮動小数点演算器を制御するためのフ
ィールド、512はVLIW命令の完了やその他の情報
を格納するためのフィールドなどから構成されている。
508、509、510、511、512の各々のフィ
ールドは32ビット長で、513のオペコード、514
のディスプレースメント、515のソースレジスタ1、
5516のソースレジスタ2、517のデスティネーシ
ョンレジスタなどの割付が行われている。この命令コー
ドをVLIWデコーダがデコードし各演算器を制御す
る。
【0043】本発明の実施形態では、命令セットの異な
るプロセッサ間の動作を切り替える方法として、プロセ
ッサを切り替えるための分岐命令若しくは特定アドレス
空間への分岐をトリガとして用いている。第1のプロセ
ッサと第2のプロセッサの間で動作を切り替える場合、
第1のプロセッサ若しくは第2のプロセッサのどちらか
のプロセッサが全体の実行を制御するマスタプロセッサ
となり、もう一つがスレーブプロセッサとなる。マスタ
プロセッサは常に片方のプロセッサに固定であるわけで
なく、動的にどちらのプロセッサでもマスタプロセッサ
になることは可能である。
【0044】マスタプロセッサからスレーブプロセッサ
へ動作が移った後、スレーブプロセッサの動作が復帰後
のマスタープロセッサの動作に影響を与えない場合、ス
レーブプロセッサもしくはマスタプロセッサが依存性を
判断することで並列に2つのプロセッサを動作させるこ
とが可能である。
【0045】図6には、本発明を利用したシステムの全
体図が示される。601は1枚或いは複数枚のプリント
基板上に構成されたシステムで、このシステムにディス
プレイ611、CD−ROM612、ビデオカメラ61
5、LCD618、キーボードやプリンタ等の周辺デバ
イス620等が接続される。システム601はプロセッ
サ602、プログラム等を格納するROM608、デー
タやプログラムを格納するSRAM609、DRAM6
14及びSDRAM614、表示用画像データ等を格納
する3次元グラフィック用フレームバッファ610、C
D−ROMを制御するCD−ROMデコーダ613、ビ
デオカメラを制御するビデオコントローラ616、液晶
表示装置(LCD)を制御するLCDコントローラ61
9、キーボードやプリンタ等の周辺デバイス620を制
御する周辺デバイスコントローラ621等がシステムバ
ス607に接続されて構成されている。
【0046】プロセッサ602は、第1の命令セットを
持つプロセッサ1(603)と、第2の命令セットを持
つプロセッサ2(605)から構成されており、制御信
号606によりプロセッサ1がプロセッサ2を、制御信
号604によりプロセッサ2がプロセッサ1を制御す
る。プロセッサ602は3次元グラッフィクス、MPE
Gのエンコード/デコードを高速に処理することができ
るので、従来のような専用のハードウエア回路が必要な
く、プリント基板上に実装する半導体チップの個数を削
減でき、プリント基板の枚数の削減或いはプリント基板
自身の大きさを小さくできる。
【0047】図7には、図6のプロセッサ602を一つ
の半導体集積回路装置で構成した(ワンチップに内蔵し
た)場合のブロック図が示されている。プロセッサ70
1は、半導体集積回路製造技術用いて単結晶シリコンの
ような1個の半導体基板に形成される。この半導体基板
はレジンモールド技術を用いていわゆるプラスチックパ
ッケージに封止される。このワンチップには、ROM6
08やRAM609などのメモリが含まれることもあ
る。
【0048】ワンチップのプロセッサ701は、第1の
命令セットを持つプロセッサ1(708)と、第2の命
令セットを持つプロセッサ2(711)、データキャッ
シュ712、周辺装置、クロックパルス発生回路(CP
G)714、入出力回路(I/O)715等から構成さ
れる。
【0049】プロセッサ1(708)とプロセッサ2
(711)の組み合わせには16ビット固定長命令のR
ISCプロセッサと64ビット固定長命令のVLIWプ
ロセッサの組み合わせや、32ビット固定長命令のRI
SCプロセッサと128ビット固定長命令のVLIWプ
ロセッサの組み合わせや、64ビット固定長命令のRI
SCプロセッサと256ビット固定長命令のVLIWプ
ロセッサ等がある。この組み合わせではプロセッサ1と
プロセッサ2を逆にすることも可能である。図7ではプ
ロセッサ1(708)がRISCプロセッサ(図1のR
ISCコア106)、プロセッサ2(711)がVLI
Wプロセッサ(図1のVLIWコア140)である場合
が示される。
【0050】プロセッサ1(708)は命令フェッチユ
ニット101、命令キャッシュ107、RISCデコー
ドユニット114、1つまたは複数の演算ユニット70
4、RISCロード/ストアユニット127から構成さ
れ、内部バス702により接続されている。命令フェッ
チユニット101が命令キャッシュ107から命令を読
み出し、その読み出した命令をRISCデコードユニッ
ト114で解析し、演算ユニット704が動作し、メモ
リアクセスが必要な場合はロード/ストアユニット12
7が起動する。演算ユニット704には乗算ユニット、
整数演算ユニット、浮動小数点ユニット、除算ユニッ
ト、DSPなどの演算ユニットが置かれる。また同一の
演算ユニットを複数個持つ場合もある。命令キャッシュ
への命令の読み込みはバス709を用いて、バスコント
ロールユニット712から行われる。RISCロード/
ストアユニット127はバス705を用いてデータキャ
ッシュ129にアクセスを行う。データキャッシュ12
9へのデータの取り込みはバスコントロールユニット7
12からバス707を用いて行われる。
【0051】プロセッサ2(711)はVLIW起動判
定ユニット104、VLIWテーブル113、VLIW
デコードユニット115、1つまたは複数の演算ユニッ
ト704、VLIWロードストアユニット131から構
成され、内部バス702により接続されている。VLI
W起動判定ユニット104からVLIW命令の起動がか
かると、VLIWテーブル113よりVLIW命令が読
み出され、VLIWデコードユニット115で命令を解
析し演算ユニット704が動作し、メモリアクセスが必
要な場合はロード/ストアユニット131が起動する。
VLIWテーブル113にはマスクROMやフラッシュ
メモリなどの不揮発性メモリ又はSRAMやDRAMな
どの揮発性メモリが使用される。VLIWテーブルはチ
ップ外に存在することもあり、その場合にはバスコント
ロールユニットを通して外部からVLIW命令の読み出
しが行なわれる。演算ユニット704には乗算ユニッ
ト、整数演算ユニット、浮動小数点ユニット、除算ユニ
ット、DDSPなどの演算ユニットが置かれる。また同
一の演算ユニットを複数個持つ場合もある。VLIWロ
ード/ストアユニット131はバス706を用いてデー
タキャッシュ129にアクセスを行う。
【0052】バスコントロールユニット712はバス7
13を用いてI/O715にアクセスを行う。 I/O
715はアドレス信号717、データ信号716を用い
てチップの外とのデータのやりとりを行う。バス713
には周辺モジュール710等が接続されることもある。
また内部のクロックはCPG714によって発生され
る。
【0053】プロセッサ1(708)とプロセッサ2
(711)とのあいだのインターフェイスは制御信号線
(又はバス)703を用いて行われる。
【0054】図7のようにプロセッサ1とプロセッサ2
をワンチップ化することにより、データキャッシュを共
有できるためデータの一致制御が行いやすくなる。また
プロセッサ間の信号がチップの外に出ないためセキュリ
ティが強化される。さらにプロセッサ間の通信の高速化
と情報量が削減できるため、低コスト化と高速化が図れ
る。
【0055】図8には本発明に係る他の実施形態である
マイクロコンピュータ800のブロック図が示される。
マイクロコンピュータ800は半導体製造プロセス技術
用いてシリコンのような1つの半導体基板上に形成され
る。この半導体基板はレジンモールド技術を用いていわ
ゆるプラスチックパッケージに封止される。
【0056】マイクロコンピュータ800は、第1のプ
ロセッサ801、第2のプロセッサ802、第1のメモ
リ803、第2のメモリ804、プロセッサ切り替え回
路805、アドレスバス806、データバス807、及
びバス制御ユニット808を有する。
【0057】第1のプロセッサ801はRISC型プロ
セッサで、16ビット固定長命令を実行するプロセッサ
である。第2のプロセッサ802はVLIW型のプロセ
ッサで、64ビット長命令を実行するプロセッサであ
る。第1のプロセッサ801と第2のプロセッサ802
との命令体系(命令セット、命令フォーマット或いはプ
ログラミングモデル等)は異なる。第1のメモリ803
には第1のプロセッサ801が実行する命令(プログラ
ム)が格納される。第2のメモリ804には第2のプロ
セッサ802が実行される命令(プログラム)が格納さ
れる。第1のメモリ803及び第2のメモリ804は不
揮発性のメモリ又は揮発性のメモリで構成される。第1
のメモリ803と第2のメモリ804を書き替え可能な
メモリで構成することにより、半導体供給者だけでな
く、半導体の使用者がプログラムすことが可能になる。
すなわち、第1の命令セットを用いたプログラムと第2
の命令セットを用いたプログラムとの両方が使用者によ
ってすることができる。不揮発性のメモリ、揮発性のメ
モリ及び書き替え可能なメモリには、図1のマイクロプ
ロセッサのVLIWテーブル113で使用されるものと
同様である。
【0058】図9のメモリマップに示すように第1のプ
ロセッサのプログラムと第2のプロセッサのプログラム
は、第1のプロセッサ801或いは第2のプロセッサ8
02のアドレス空間上にある。第1のメモリ803には
第1のプロセッサのプログラムの一部或いは全てが格納
される。また、第2のメモリ804には第2のプロセッ
サのプログラムの一部或いは全てが格納される。
【0059】プロセッサ切り替え回路805は、第1の
プロセッサ801或いは第2のプロセッサ802のアド
レスが入力され、第1のメモリ803と第2のメモリ8
04のどちらをアクセスするのかを判定する。第1のプ
ロセッサ801が第1のメモリ803をアクセスする場
合は、アドレス信号と制御信号812をプロセッサ切り
替え回路805に入力する。プロセッサ切り替え回路8
05は第1のメモリ803のアクセスに必要なアドレス
信号や制御信号808を出力する。また、第2のプロセ
ッサ802に先読みされた命令の動作の中止や低消費電
力化のためのクロック停止のための制御信号810を出
力する。一方、第2のプロセッサ802が第2のメモリ
804をアクセスする場合は、アドレス信号と制御信号
813をプロセッサ切り替え回路805に入力する。プ
ロセッサ切り替え回路805は第2のメモリのアクセス
に必要なアドレス信号や制御信号を信号線809に出力
する。また、第1のプロセッサ801に先読みされた命
令の動作の中止や低消費電力化のためのクロック停止の
ための制御信号811を出力する。プロセッサ切り替え
回路805によって、第1のプロセッサと第2のプロセ
ッサが排他的に動作する。
【0060】第1のプロセッサ801は第1のプロッセ
ッサのプログラムを実行し、そのプログラムの中の分岐
命令等で第2のプロセッサのプログラム領域を示すアド
レスを出力することによって、第2のプロセッサで第2
のプロセッサのプログラムを実行できる。また、第2の
プロセッサは第2のプロセッサのプログラムの中の分岐
命令等で第1のプロセッサのプログラム領域を示すアド
レスを出力することによって、第1のプロセッサのプロ
グラムに戻ることができる。
【0061】なお、プロセッサ切り替え回路805内に
は制御レジスタがあり、このレジスタを書き替えること
により図9に示したメモリマップは変更することができ
る。前記制御レジスタで、第1のプロセッサのプログラ
ム領域、第2のプロセッサのプログラム領域、データ領
域のそれぞれの始まりアドレスと終わりのアドレス等を
指定できる。
【0062】これによって、命令体系の異なるプログラ
ムが1つのマイクロコンピュータで実行でき、第1のプ
ロセッサのプログラムが従来から蓄積されたソフウトウ
エアであっても、新しいアーキテクチャのプログラムが
第2のプロセッサで実行できるので、ソフトウエアの互
換性が維持できる。
【0063】また、動作しないプロセッサのクロックを
停止させることで、低消費電力化を実現できる。
【0064】第1のプロセッサ801と第2のプロセッ
サ802の命令長は比較的短いため、命令デコーダ等の
制御部や演算部を小さくできるので、第1のメモリ80
3又は第2のメモリ804の容量を大きくすることがで
きる。なお、プロセッサの面積が大きくても良い場合
は、命令長は長くしてもよい。
【0065】本発明の実施の形態により、命令セットの
異なるプロセッサ間の動作を特定の命令で切り替えるこ
とが可能となるため、互換性を維持しながら異なる命令
セットを有するプロセッサへの拡張が可能となる。
【0066】またプロセッサ間で演算ユニットなどの資
源を共有化できるため、低コスト化につながる。
【0067】異なる命令セットを持つプロセッサをワン
チップに内蔵した場合には、プロセッサ間通信の高速化
と、内部情報がチップ外部に出力されないことによるセ
キュリティ強化が図れる。
【0068】動作中に高速な処理が必要でなくなったと
き1つのプロセッサの動作を完全に止め、別のプロセッ
サで止めたプロセッサと同機能の処理をさせることによ
り低消費電力化が図れる。
【0069】これによって、(1)ソフトウエアは従来
と完全互換性を保ったまま1GIPS(Giga Instructi
ons Per Second)、最大10GOPS(Giga Operation
s Per Second)の高性能を実現できる。(2)既存の
ソフトウエアのままでミドルウエア部分の性能を1桁向
上できる。(3)新しいアプリケーションもこれまでの
命令セットのままで作成できる。(4)全てのアプリケ
ーションをソフトウエアで実現できる。
【0070】以上本発明者によってなされた発明を実施
形態に基づいて具体的に説明したが、本発明はそれに限
定されるものではなく、その要旨を逸脱しない範囲にお
いて種々変更可能であることはいうまでもない。例え
ば、図1のマイクロプロセッサでは、RISCコアの演
算器とVLIWコアの演算器とは双方で共用できたが、
図2のマイクロプロセッサのように独立させてもよい。
図2ではロード/ストアユニット204RISCコアと
VLIWコアとの共有にした場合をしたが、ロード/ス
トアユニットは図1のように2つ持っても構わない。第
1のプロセッサをRISC型プロセッサ、第2のプロセ
ッサをVLIW型プロセッサで構成したが、命令セット
の異なる2つのプロセッサで構成することができる。す
なわち、RISC型とRISC型、RISC型とCIS
C型、CISC型とCISC型、CISC型とVLIW
型、VLIW型とVLIW型等のプロセッサを用いても
良い。また、RISCプロセッサとVLIWプロセッサ
との命令長を16ビットと64ビット、32ビットと1
28ビット、64ビットと256ビットとの例を示す。
【0071】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0072】すなわち、従来のソフトウエアを実行する
第1のプロセッサと、新しいアーキテクチャのソフトウ
エアを実行する第2のプロセッサとを有し、第1のプロ
セッサが第2のプロセッサに起動をかけることができる
ので、従来のソフトウエアと互換性を維持しながら、新
しいアーキテクチャ(命令体系)のソフトウエアを実行
する高性能なプロセッサを実現することができる。
【0073】2つのプロセッサ内部の資源たとえば演算
ユニットなどを共有化することにより、ハードウエアの
増加を抑えて高速性能を実現することができる。
【0074】2つのプロセッサを並列に動作させる場合
と、間欠動作させる2つの制御方式が可能であるため、
高速化と低消費電力化の双方を実現することができる。
【図面の簡単な説明】
【図1】本発明の一つの実施形態に係るマイクロプロセ
ッサのブロック図。
【図2】図1に係るマイクロプロセッサの変形例のブロ
ック図。
【図3】図1及び図2のマイクロプロセッサのVLIW
起動論理に関する詳細図。
【図4】図1及び図2のマイクロプロセッサにTLBを
用い場合のVLIW起動論理に関する詳細図。
【図5】VLIW命令実行時のパイプラインの構成と命
令コードの例。
【図6】本発明に係るマイクロプロセッサを利用したシ
ステムの全体図。
【図7】ワンチップのプロセッサのブロック図。
【図8】本発明に係る他の実施形態であるマイクロコン
ピュータのブロック図。
【図9】図8のマイクロコンピュータのメモリマップ。
【符号の説明】
100 マイクロプロセッサ 101 命令フェッチユニット 102 VLIW命令完了信号 103 VLIW命令分岐信号 104 VLIW起動判定ユニット 105、132 命令アドレスバス 106 RISCコア 107 命令キャッシュ 108 命令バス 109 RISCコア制御信号 110 VLIW命令実行状態信号 111 VLIW命令デコード起動信号 112 VLIW命令バス 113 VLIWテーブル 114 RISC命令デコードユニット 115 VLIW命令デコードユニット 116 VLIW演算ユニット制御信号 117 RISC演算ユニット制御信号 118 浮動小数点演算ユニット 119 整数演算ユニット 120 VLIW演算ユニット 121 RISC用データバス 122 VLIWテーブルデータバス 123 演算器間データバス 124 VLIW用データバス 125、126 アドレスバス 127 RISCロード/ストアユニット 128、130 データバス 129 データキャッシュ 131 VLIWロード/ストアユニット 133 VLIWテーブル制御信号 134、139 アドレスバス 135、138 データバス 136、141 分岐先アドレス用バス 137 制御信号 140 VLIWコア 142 VLIW分岐命令デコード信号 200 マイクロプロセッサ 201 レジスタファイル 202 演算ユニットとレジスタファイル間のバス 203 レジスタファイルとロードストアユニット間の
バス 204 ロード/ストアユニット 205 データバス 206 アドレスバス 301 加算器 302 VLIWコア用プログラムカウンタ 303 セレクタ 304 アドレスラッチ 305 データラッチ 306 VLIWテーブル格納メモリ 307 テーブル制御回路 308 VLIWコア制御レジスタ 309 デコーダ 310 VLIW起動判定回路 311 調停回路 312 起動回路 313 マルチプレクサ 314 VLIW演算ユニット制御回路 315 VLIW分岐条件判定回路 316 RISCコア用プログラムカウンタ 317 加算器 401 アドレス変換バッファ(TLB) 402 VLIW起動補助情報信号 403 命令アドレス(物理アドレス) 501 VLIW分岐命令のパイプライン 502 VLIW命令1 503 VLIW命令2 504 RISC命令1 505 VLIW命令3 506 RISC命令2 507 RISC命令3 508 VLIW演算器1制御フィールド 509 VLIW演算器2制御フィールド 510 整数演算器制御フィールド 511 浮動小数点演算器制御フィールド 512 VLIW命令完了コード 513 オペコード 514 ディスプレースメント 515 ソースレジスタ1 516 ソースレジスタ2 517 ディスティネーションレジスタ 601 システム 602 プロセッサ 603 プロセッサ1 604 プロセッサ2からプロセッサ1の制御信号 605 プロセッサ2 606 プロセッサ1からプロセッサ2の制御信号 607 システムバス 608 ROM 609 RAM 610 3次元グラッフィクス用フレームバッファ 611 ディスプレイ 612 CD−ROM 613 CD−ROMデコーダ 614 DRAM 615 ビデオカメラ 616 ビデオコントローラ 617 SDRAM 618 LCD 619 LCDコントローラ 620 キーボードやプリンタなど周辺デバイス 621 周辺デバイスコントローラ 701 プロセッサ 702 内部バス 703 プロセッサ1とプロセッサ2の間の制御信号 704 演算ユニット(整数演算、浮動小数点演算、乗
除算、DSPなど) 705 プロセッサ1とデータキャッシュ間のバス 706 プロセッサ2とデータキャッシュ間のバス 707 データキャッシュとバスコントロールユニット
間のバス 708 プロセッサ1(RISCプロセッサ) 709 命令キャッシュとバスコントロールユニット間
のバス 710 周辺モジュール 711 プロセッサ2(VLIWプロセッサ) 712 バスコントールユニット 713 バスコントロールユニットとI/O間のバス 714 クロックパルス発生回路(CPG) 715 入出力回路(I/O) 716 データ信号線 717 アドレス信号線 800 マイクロコンピュータ 801 第1のプロセッサ 802 第2のプロセッサ 803 第1のメモリ 804 第2のメモリ 805 プロセッサ切り替え回路 806 アドレスバス 807 データバス 808 バス制御ユニット。

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】第1の命令セットの命令を実行する第1の
    プロセッサと、第1の命令セットとは異なる第2の命令
    セットの命令を実行する第2のプロセッサとを有するデ
    ータ処理装置であって、 前記第1のプロセッサが前記第1の命令セットの中の所
    定命令を実行したとき、前記第2のプロセッサが前記第
    2の命令セットの命令を実行することを特徴とするデー
    タ処理装置。
  2. 【請求項2】前記第1の命令セットの命令は可変長であ
    り、前記第2の命令セットの命令は固定長であることを
    特徴とする請求項1に記載のデータ処理装置。
  3. 【請求項3】前記第1の命令セットの命令の最大語長
    は、前記第2の命令の語長より長いことを特徴とする請
    求項2に記載のデータ処理装置。
  4. 【請求項4】前記第1の命令セットの命令の最大語長
    は、前記第2の命令の語長より短いことを特徴とする請
    求項2に記載のデータ処理装置。
  5. 【請求項5】前記第1の命令セットの命令と前記第2の
    命令セットの命令は共に固定長であることを特徴とする
    請求項1に記載のデータ処理装置。
  6. 【請求項6】前記第1の命令セットの命令の語長は、前
    記第2の命令の語長より短いことを特徴とする請求項5
    に記載のデータ処理装置。
  7. 【請求項7】記憶装置に記憶されるプログラムを実行す
    るデータ処理装置であって、第1の命令セットの命令に
    よって構成されるプログラムと、第1の命令セットと異
    なる第2の命令セットの命令によって構成されるプログ
    ラムとが前記データ処理装置のアドレス空間に配置され
    ることを特徴とするデータ処理装置。
  8. 【請求項8】前記第1の命令セットの命令は可変長であ
    り、前記第2の命令セットの命令は固定長であることを
    特徴とする請求項7に記載のデータ処理装置。
  9. 【請求項9】前記第1の命令セットの命令の最大語長
    は、前記第2の命令の語長より長いことを特徴とする請
    求項8に記載のデータ処理装置。
  10. 【請求項10】前記第1の命令セットの命令の最大語長
    は、前記第2の命令の語長より短いことを特徴とする請
    求項8に記載のデータ処理装置。
  11. 【請求項11】前記第1の命令セットの命令と前記第2
    の命令セットの命令は共に固定長であることを特徴とす
    る請求項7に記載のデータ処理装置。
  12. 【請求項12】前記第1の命令セットの命令の語長は、
    前記第2の命令の語長より短いことを特徴とする請求項
    11に記載のデータ処理装置。
  13. 【請求項13】演算器を有し、第1の命令群を格納する
    第1の記憶部から命令を読み出して実行する第1のデー
    タ処理部と、 並列動作可能な複数の演算器を有し、同時に実行可能な
    命令を1命令として実行する第2のデータ処理部と、 前記第2のデータ処理部が実行する命令群を格納する第
    2の記憶部とを具備するデータ処理装置であって、 前記第1のデータ処理部が読み出した命令が所定の命令
    であるとき、前記第2のデータ処理部で実行する命令を
    前記第2の記憶部から読み出すことを特徴とするデータ
    処理装置。
  14. 【請求項14】RISC命令を実行するRISCコア
    と、VLIW命令を格納するVLIWテーブルと、VL
    IW命令を実行するVLIWコアと、前記RISCコア
    とVLIWコアとの動作切り替えを制御するVLIW起
    動判定ユニットとを有するマイクロプロセッサであっ
    て、 前記RISCコアがRISC命令のうちサブルーチンコ
    ール若しくは分岐命令を実行したとき、分岐先アドレス
    で前記VLIWテーブルからVLIW命令を読み出し、
    前記VLIW起動判定ユニットが前記RISCコアから
    前記VLIWコアへ動作を移し、前記VLIWテーブル
    からVLIW命令の完了コードが読み出されるまでVL
    IWコアが動作するマイクロプロセッサ。
  15. 【請求項15】請求項14のマイクロプロセッサは、さ
    らに分岐先アドレスをアドレス変換するTLBを有し、
    前記VLIWテーブルから読み出されるVLIW命令を
    拡張するための信号をアドレス変換の際にTLBから同
    時によみだせるようにしたマイクロプロセッサ。
  16. 【請求項16】請求項14のマイクロプロセッサは、さ
    らにVLIW命令へ分岐後、引き続き実行されるVLI
    W命令の動作とVLIW命令実行後に復帰するRISC
    命令の動作に関連性があるかを調べる回路を有し、関連
    性がない場合にVLIW命令の完了を待たずに復帰先の
    RISC命令を並列に実行可能なマイクロプロセッサ。
  17. 【請求項17】請求項14のマイクロプロセッサにおい
    て、VLIW命令の実行を禁止したり、実行を制御する
    レジスタをプロセッサ内部に有し、VLIW命令実行禁
    止時にはVLIW命令と同等の動作を行うRISC命令
    列に分岐することで、VLIWコアの動作を停止させ低
    消費電力化を図る機能を有するマイクロプロセッサ。
  18. 【請求項18】請求項14のVLIWテーブルを不揮発
    性メモリに内蔵するマイクロプロセッサ。
  19. 【請求項19】請求項18の不揮発性メモリは、マスク
    ROM、フラッシュメモリ、強誘電体メモリのうちのい
    づれか1つであるマイクロプロセッサ。
  20. 【請求項20】請求項14のVLIWテーブルを揮発性
    メモリに内蔵するマイクロプロセッサ。
  21. 【請求項21】請求項20のVLIWテーブルを揮発性
    メモリは、SRAM或いはDRAMのうちのいづれかで
    あるマイクロプロセッサ。
  22. 【請求項22】請求項14のVLIWテーブルをRIS
    Cコアのプロセッサで書き換え可能なメモリに内蔵する
    マイクロプロセッサ。
JP01501696A 1996-01-31 1996-01-31 データ処理装置及びマイクロプロセッサ Expired - Fee Related JP3623840B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP01501696A JP3623840B2 (ja) 1996-01-31 1996-01-31 データ処理装置及びマイクロプロセッサ
TW086100225A TW334544B (en) 1996-01-31 1997-01-10 Data processor
KR1019970001570A KR100535852B1 (ko) 1996-01-31 1997-01-21 데이타처리장치
US08/791,811 US6023757A (en) 1996-01-31 1997-01-30 Data processor
US09/382,598 US6496919B1 (en) 1996-01-31 1999-08-25 Data processor
US10/281,148 US6760832B2 (en) 1996-01-31 2002-10-28 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01501696A JP3623840B2 (ja) 1996-01-31 1996-01-31 データ処理装置及びマイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH09212358A true JPH09212358A (ja) 1997-08-15
JP3623840B2 JP3623840B2 (ja) 2005-02-23

Family

ID=11877080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01501696A Expired - Fee Related JP3623840B2 (ja) 1996-01-31 1996-01-31 データ処理装置及びマイクロプロセッサ

Country Status (4)

Country Link
US (3) US6023757A (ja)
JP (1) JP3623840B2 (ja)
KR (1) KR100535852B1 (ja)
TW (1) TW334544B (ja)

Cited By (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092663A (ja) * 1999-09-17 2001-04-06 Sanyo Electric Co Ltd データ処理装置
US6298394B1 (en) 1999-10-01 2001-10-02 Stmicroelectronics, Ltd. System and method for capturing information on an interconnect in an integrated circuit
JP2002032218A (ja) * 2000-07-14 2002-01-31 Rikogaku Shinkokai マイクロプロセッサシステム
US6349371B1 (en) 1999-10-01 2002-02-19 Stmicroelectronics Ltd. Circuit for storing information
US6351803B2 (en) 1999-10-01 2002-02-26 Hitachi Ltd. Mechanism for power efficient processing in a pipeline processor
US6408381B1 (en) 1999-10-01 2002-06-18 Hitachi, Ltd. Mechanism for fast access to control space in a pipeline processor
US6412043B1 (en) 1999-10-01 2002-06-25 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6412047B2 (en) * 1999-10-01 2002-06-25 Stmicroelectronics, Inc. Coherency protocol
US6434665B1 (en) 1999-10-01 2002-08-13 Stmicroelectronics, Inc. Cache memory store buffer
US6449712B1 (en) 1999-10-01 2002-09-10 Hitachi, Ltd. Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions
US6457118B1 (en) 1999-10-01 2002-09-24 Hitachi Ltd Method and system for selecting and using source operands in computer system instructions
US6460174B1 (en) 1999-10-01 2002-10-01 Stmicroelectronics, Ltd. Methods and models for use in designing an integrated circuit
US6463553B1 (en) 1999-10-01 2002-10-08 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6487683B1 (en) 1999-10-01 2002-11-26 Stmicroelectronics Limited Microcomputer debug architecture and method
US6496905B1 (en) 1999-10-01 2002-12-17 Hitachi, Ltd. Write buffer with burst capability
JP2002544618A (ja) * 1999-05-18 2002-12-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電力消費を低減するシステムおよび方法
US6502210B1 (en) 1999-10-01 2002-12-31 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
JP2003005954A (ja) * 2001-06-25 2003-01-10 Pacific Design Kk データ処理装置およびその制御方法
US6530047B1 (en) 1999-10-01 2003-03-04 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6542983B1 (en) 1999-10-01 2003-04-01 Hitachi, Ltd. Microcomputer/floating point processor interface and method
US6546480B1 (en) 1999-10-01 2003-04-08 Hitachi, Ltd. Instructions for arithmetic operations on vectored data
US6553460B1 (en) 1999-10-01 2003-04-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6557119B1 (en) 1999-10-01 2003-04-29 Stmicroelectronics Limited Microcomputer debug architecture and method
US6567932B2 (en) 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6574651B1 (en) 1999-10-01 2003-06-03 Hitachi, Ltd. Method and apparatus for arithmetic operation on vectored data
US6591369B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics, Ltd. System and method for communicating with an integrated circuit
US6590907B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics Ltd. Integrated circuit with additional ports
US6598177B1 (en) 1999-10-01 2003-07-22 Stmicroelectronics Ltd. Monitoring error conditions in an integrated circuit
US6598128B1 (en) 1999-10-01 2003-07-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6601189B1 (en) 1999-10-01 2003-07-29 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6615370B1 (en) 1999-10-01 2003-09-02 Hitachi, Ltd. Circuit for storing trace information
US6629207B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method for loading instructions or data into a locked way of a cache memory
US6629115B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method and apparatus for manipulating vectored data
US6633971B2 (en) 1999-10-01 2003-10-14 Hitachi, Ltd. Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline
US6665816B1 (en) 1999-10-01 2003-12-16 Stmicroelectronics Limited Data shift register
US6684348B1 (en) 1999-10-01 2004-01-27 Hitachi, Ltd. Circuit for processing trace information
US6693914B1 (en) 1999-10-01 2004-02-17 Stmicroelectronics, Inc. Arbitration mechanism for packet transmission
US6701405B1 (en) 1999-10-01 2004-03-02 Hitachi, Ltd. DMA handshake protocol
US6732307B1 (en) 1999-10-01 2004-05-04 Hitachi, Ltd. Apparatus and method for storing trace information
US6779145B1 (en) 1999-10-01 2004-08-17 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6820195B1 (en) 1999-10-01 2004-11-16 Hitachi, Ltd. Aligning load/store data with big/little endian determined rotation distance control
US6826191B1 (en) 1999-10-01 2004-11-30 Stmicroelectronics Ltd. Packets containing transaction attributes
US6859891B2 (en) 1999-10-01 2005-02-22 Stmicroelectronics Limited Apparatus and method for shadowing processor information
US6918065B1 (en) 1999-10-01 2005-07-12 Hitachi, Ltd. Method for compressing and decompressing trace information
US6928073B2 (en) 1999-10-01 2005-08-09 Stmicroelectronics Ltd. Integrated circuit implementing packet transmission
US7000078B1 (en) 1999-10-01 2006-02-14 Stmicroelectronics Ltd. System and method for maintaining cache coherency in a shared memory system
US7043625B2 (en) 2000-03-27 2006-05-09 Infineon Technologies Ag Method and apparatus for adding user-defined execution units to a processor using configurable long instruction word (CLIW)
US7072817B1 (en) 1999-10-01 2006-07-04 Stmicroelectronics Ltd. Method of designing an initiator in an integrated circuit
JP2006523883A (ja) * 2003-04-15 2006-10-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Ilp及びtlpを利用する再構成可能なプロセッサアレイ
US7260745B1 (en) 1999-10-01 2007-08-21 Stmicroelectronics Ltd. Detection of information on an interconnect
US7266728B1 (en) 1999-10-01 2007-09-04 Stmicroelectronics Ltd. Circuit for monitoring information on an interconnect
JP2007233857A (ja) * 2006-03-02 2007-09-13 Fujitsu Ltd リコンフィグラブル回路
US7536534B2 (en) 2003-02-27 2009-05-19 Nec Electronics Corporation Processor capable of being switched among a plurality of operating modes, and method of designing said processor
WO2010150474A1 (ja) * 2009-06-23 2010-12-29 セイコーエプソン株式会社 サブプロセッサー、集積回路装置及び電子機器
JP2012059163A (ja) * 2010-09-13 2012-03-22 Sony Corp プロセッサ
JP2013519137A (ja) * 2010-02-01 2013-05-23 アルテラ コーポレイション 効率的プロセッサおよび関連する方法

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3623840B2 (ja) 1996-01-31 2005-02-23 株式会社ルネサステクノロジ データ処理装置及びマイクロプロセッサ
US6786420B1 (en) 1997-07-15 2004-09-07 Silverbrook Research Pty. Ltd. Data distribution mechanism in the form of ink dots on cards
US6803989B2 (en) * 1997-07-15 2004-10-12 Silverbrook Research Pty Ltd Image printing apparatus including a microcontroller
US6618117B2 (en) 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
AUPO850597A0 (en) 1997-08-11 1997-09-04 Silverbrook Research Pty Ltd Image processing method and apparatus (art01a)
US6879341B1 (en) * 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
US6690419B1 (en) 1997-07-15 2004-02-10 Silverbrook Research Pty Ltd Utilising eye detection methods for image processing in a digital image camera
US6985207B2 (en) * 1997-07-15 2006-01-10 Silverbrook Research Pty Ltd Photographic prints having magnetically recordable media
US6948794B2 (en) 1997-07-15 2005-09-27 Silverbrook Reserach Pty Ltd Printhead re-capping assembly for a print and demand digital camera system
US7110024B1 (en) 1997-07-15 2006-09-19 Silverbrook Research Pty Ltd Digital camera system having motion deblurring means
AUPO802797A0 (en) * 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Image processing method and apparatus (ART54)
US6624848B1 (en) 1997-07-15 2003-09-23 Silverbrook Research Pty Ltd Cascading image modification using multiple digital cameras incorporating image processing
JP3414209B2 (ja) * 1997-07-30 2003-06-09 松下電器産業株式会社 プロセッサ
US6216223B1 (en) * 1998-01-12 2001-04-10 Billions Of Operations Per Second, Inc. Methods and apparatus to dynamically reconfigure the instruction pipeline of an indirect very long instruction word scalable processor
US6219776B1 (en) * 1998-03-10 2001-04-17 Billions Of Operations Per Second Merged array controller and processing element
JP3541669B2 (ja) * 1998-03-30 2004-07-14 松下電器産業株式会社 演算処理装置
JPH11306084A (ja) * 1998-04-23 1999-11-05 Fujitsu Ltd 情報処理装置及び記憶媒体
AUPP702098A0 (en) 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART73)
US7114056B2 (en) * 1998-12-03 2006-09-26 Sun Microsystems, Inc. Local and global register partitioning in a VLIW processor
US7117342B2 (en) * 1998-12-03 2006-10-03 Sun Microsystems, Inc. Implicitly derived register specifiers in a processor
AUPQ056099A0 (en) 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (pprint01)
US6772325B1 (en) * 1999-10-01 2004-08-03 Hitachi, Ltd. Processor architecture and operation for exploiting improved branch control instruction
JP2001142692A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法
GB2370380B (en) 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
US7346881B2 (en) * 2002-05-13 2008-03-18 Tensilica, Inc. Method and apparatus for adding advanced instructions in an extensible processor architecture
US7937559B1 (en) 2002-05-13 2011-05-03 Tensilica, Inc. System and method for generating a configurable processor supporting a user-defined plurality of instruction sizes
US7376812B1 (en) 2002-05-13 2008-05-20 Tensilica, Inc. Vector co-processor for configurable and extensible processor architecture
EP1378824A1 (en) * 2002-07-02 2004-01-07 STMicroelectronics S.r.l. A method for executing programs on multiple processors and corresponding processor system
US7162617B2 (en) * 2003-02-14 2007-01-09 Fine Arc Incorporated Data processor with changeable architecture
US20050108509A1 (en) * 2003-11-13 2005-05-19 Safford Kevin D. Error detection method and system for processors that employs lockstepped concurrent threads
US7610476B1 (en) * 2003-12-05 2009-10-27 Advanced Micro Devices, Inc. Multiple control sequences per row of microcode ROM
JP4283131B2 (ja) * 2004-02-12 2009-06-24 パナソニック株式会社 プロセッサ及びコンパイル方法
ITMI20040600A1 (it) * 2004-03-26 2004-06-26 Atmel Corp Sistema dsp su chip a doppio processore a virgola mobile nel dominio complesso
EP1728171A2 (en) * 2004-03-26 2006-12-06 Atmel Corporation Dual-processor complex domain floating-point dsp system on chip
US7287185B2 (en) * 2004-04-06 2007-10-23 Hewlett-Packard Development Company, L.P. Architectural support for selective use of high-reliability mode in a computer system
US20060112226A1 (en) * 2004-11-19 2006-05-25 Hady Frank T Heterogeneous processors sharing a common cache
KR100636596B1 (ko) * 2004-11-25 2006-10-23 한국전자통신연구원 고에너지 효율 병렬 처리 데이터 패스 구조
GB2420884B (en) * 2004-12-03 2009-04-15 Picochip Designs Ltd Processor architecture
US7461275B2 (en) * 2005-09-30 2008-12-02 Intel Corporation Dynamic core swapping
US8352713B2 (en) * 2006-08-09 2013-01-08 Qualcomm Incorporated Debug circuit comparing processor instruction set operating mode
US20080133879A1 (en) * 2006-12-05 2008-06-05 Electronics And Telecommunications Research Institute SIMD parallel processor with SIMD/SISD/row/column operation modes
GB2454865B (en) * 2007-11-05 2012-06-13 Picochip Designs Ltd Power control
KR100935858B1 (ko) * 2007-12-05 2010-01-07 한국전자통신연구원 재구성 가능한 산술연산기 및 이를 구비한 고효율 프로세서
EP2366144B1 (en) 2008-10-15 2015-09-30 Hyperion Core, Inc. Sequential processor comprising an alu array
GB2466661B (en) * 2009-01-05 2014-11-26 Intel Corp Rake receiver
GB2470037B (en) 2009-05-07 2013-07-10 Picochip Designs Ltd Methods and devices for reducing interference in an uplink
KR101032771B1 (ko) 2009-05-29 2011-05-06 광운대학교 산학협력단 구성형 프로세서에서 risc 명령어와 확장 명령어를 병렬 처리하기 위한 방법 및 그에 따른 구성형 프로세서
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
GB2474071B (en) 2009-10-05 2013-08-07 Picochip Designs Ltd Femtocell base station
GB2482869B (en) 2010-08-16 2013-11-06 Picochip Designs Ltd Femtocell access control
US20120210438A1 (en) * 2011-02-15 2012-08-16 Guobiao Zhang Secure Three-Dimensional Mask-Programmed Read-Only Memory
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
GB2491098B (en) 2011-05-16 2015-05-20 Intel Corp Accessing a base station
KR101849702B1 (ko) 2011-07-25 2018-04-17 삼성전자주식회사 외부 인트린직 인터페이스
US11150721B2 (en) * 2012-11-07 2021-10-19 Nvidia Corporation Providing hints to an execution unit to prepare for predicted subsequent arithmetic operations
GB2546465B (en) 2015-06-05 2018-02-28 Advanced Risc Mach Ltd Modal processing of program instructions
US10708976B2 (en) 2015-09-04 2020-07-07 Ford Global Technologies, Llc Methods and systems for a vehicle computing system to wirelessly communicate data
US10474549B2 (en) * 2017-07-31 2019-11-12 Oracle International Corporation System recovery using a failover processor
US10915324B2 (en) 2018-08-16 2021-02-09 Tachyum Ltd. System and method for creating and executing an instruction word for simultaneous execution of instruction operations

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448746A (en) * 1990-05-04 1995-09-05 International Business Machines Corporation System for comounding instructions in a byte stream prior to fetching and identifying the instructions for execution
US5778423A (en) * 1990-06-29 1998-07-07 Digital Equipment Corporation Prefetch instruction for improving performance in reduced instruction set processor
EP0551090B1 (en) * 1992-01-06 1999-08-04 Hitachi, Ltd. Computer having a parallel operating capability
US5309564A (en) * 1992-03-19 1994-05-03 Bradley Graham C Apparatus for networking computers for multimedia applications
JPH06250847A (ja) * 1993-02-25 1994-09-09 Fujitsu Ltd 並列論理型言語の命令をvliw方式の命令に変換する変換方式
JPH07110769A (ja) * 1993-10-13 1995-04-25 Oki Electric Ind Co Ltd Vliw型計算機
US5542059A (en) * 1994-01-11 1996-07-30 Exponential Technology, Inc. Dual instruction set processor having a pipeline with a pipestage functional unit that is relocatable in time and sequence order
US5574927A (en) * 1994-03-25 1996-11-12 International Meta Systems, Inc. RISC architecture computer configured for emulation of the instruction set of a target computer
US6496922B1 (en) * 1994-10-31 2002-12-17 Sun Microsystems, Inc. Method and apparatus for multiplatform stateless instruction set architecture (ISA) using ISA tags on-the-fly instruction translation
US5638525A (en) * 1995-02-10 1997-06-10 Intel Corporation Processor capable of executing programs that contain RISC and CISC instructions
US5752035A (en) * 1995-04-05 1998-05-12 Xilinx, Inc. Method for compiling and executing programs for reprogrammable instruction set accelerator
US5699536A (en) * 1995-04-13 1997-12-16 International Business Machines Corporation Computer processing system employing dynamic instruction formatting
US5794062A (en) * 1995-04-17 1998-08-11 Ricoh Company Ltd. System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization
JP3451595B2 (ja) * 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5774686A (en) * 1995-06-07 1998-06-30 Intel Corporation Method and apparatus for providing two system architectures in a processor
US5826089A (en) * 1996-01-04 1998-10-20 Advanced Micro Devices, Inc. Instruction translation unit configured to translate from a first instruction set to a second instruction set
JP3623840B2 (ja) 1996-01-31 2005-02-23 株式会社ルネサステクノロジ データ処理装置及びマイクロプロセッサ
US5784636A (en) * 1996-05-28 1998-07-21 National Semiconductor Corporation Reconfigurable computer architecture for use in signal processing applications
US5828897A (en) * 1996-12-19 1998-10-27 Raytheon Company Hybrid processor and method for executing incrementally upgraded software
US6202143B1 (en) * 1997-08-21 2001-03-13 Samsung Electronics Co., Ltd. System for fetching unit instructions and multi instructions from memories of different bit widths and converting unit instructions to multi instructions by adding NOP instructions

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002544618A (ja) * 1999-05-18 2002-12-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電力消費を低減するシステムおよび方法
JP2001092663A (ja) * 1999-09-17 2001-04-06 Sanyo Electric Co Ltd データ処理装置
US6629207B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method for loading instructions or data into a locked way of a cache memory
US6591369B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics, Ltd. System and method for communicating with an integrated circuit
US6351803B2 (en) 1999-10-01 2002-02-26 Hitachi Ltd. Mechanism for power efficient processing in a pipeline processor
US6408381B1 (en) 1999-10-01 2002-06-18 Hitachi, Ltd. Mechanism for fast access to control space in a pipeline processor
US6412043B1 (en) 1999-10-01 2002-06-25 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6412047B2 (en) * 1999-10-01 2002-06-25 Stmicroelectronics, Inc. Coherency protocol
US6434665B1 (en) 1999-10-01 2002-08-13 Stmicroelectronics, Inc. Cache memory store buffer
US6449712B1 (en) 1999-10-01 2002-09-10 Hitachi, Ltd. Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions
US6457118B1 (en) 1999-10-01 2002-09-24 Hitachi Ltd Method and system for selecting and using source operands in computer system instructions
US6460174B1 (en) 1999-10-01 2002-10-01 Stmicroelectronics, Ltd. Methods and models for use in designing an integrated circuit
US6463553B1 (en) 1999-10-01 2002-10-08 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6487683B1 (en) 1999-10-01 2002-11-26 Stmicroelectronics Limited Microcomputer debug architecture and method
US6496905B1 (en) 1999-10-01 2002-12-17 Hitachi, Ltd. Write buffer with burst capability
US6633971B2 (en) 1999-10-01 2003-10-14 Hitachi, Ltd. Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline
US6502210B1 (en) 1999-10-01 2002-12-31 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6629115B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method and apparatus for manipulating vectored data
US6530047B1 (en) 1999-10-01 2003-03-04 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6542983B1 (en) 1999-10-01 2003-04-01 Hitachi, Ltd. Microcomputer/floating point processor interface and method
US6546480B1 (en) 1999-10-01 2003-04-08 Hitachi, Ltd. Instructions for arithmetic operations on vectored data
US6553460B1 (en) 1999-10-01 2003-04-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6557119B1 (en) 1999-10-01 2003-04-29 Stmicroelectronics Limited Microcomputer debug architecture and method
US6567932B2 (en) 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6574651B1 (en) 1999-10-01 2003-06-03 Hitachi, Ltd. Method and apparatus for arithmetic operation on vectored data
US7228389B2 (en) 1999-10-01 2007-06-05 Stmicroelectronics, Ltd. System and method for maintaining cache coherency in a shared memory system
US6591340B2 (en) 1999-10-01 2003-07-08 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6590907B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics Ltd. Integrated circuit with additional ports
US6598177B1 (en) 1999-10-01 2003-07-22 Stmicroelectronics Ltd. Monitoring error conditions in an integrated circuit
US6598128B1 (en) 1999-10-01 2003-07-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6601189B1 (en) 1999-10-01 2003-07-29 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6615370B1 (en) 1999-10-01 2003-09-02 Hitachi, Ltd. Circuit for storing trace information
US6298394B1 (en) 1999-10-01 2001-10-02 Stmicroelectronics, Ltd. System and method for capturing information on an interconnect in an integrated circuit
US7346072B2 (en) 1999-10-01 2008-03-18 Stmicroelectronics Ltd. Arbitration mechanism for packet transmission
US7266728B1 (en) 1999-10-01 2007-09-04 Stmicroelectronics Ltd. Circuit for monitoring information on an interconnect
US6665816B1 (en) 1999-10-01 2003-12-16 Stmicroelectronics Limited Data shift register
US6684348B1 (en) 1999-10-01 2004-01-27 Hitachi, Ltd. Circuit for processing trace information
US6693914B1 (en) 1999-10-01 2004-02-17 Stmicroelectronics, Inc. Arbitration mechanism for packet transmission
US6701405B1 (en) 1999-10-01 2004-03-02 Hitachi, Ltd. DMA handshake protocol
US6732307B1 (en) 1999-10-01 2004-05-04 Hitachi, Ltd. Apparatus and method for storing trace information
US6779145B1 (en) 1999-10-01 2004-08-17 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6820195B1 (en) 1999-10-01 2004-11-16 Hitachi, Ltd. Aligning load/store data with big/little endian determined rotation distance control
US6826191B1 (en) 1999-10-01 2004-11-30 Stmicroelectronics Ltd. Packets containing transaction attributes
US6859891B2 (en) 1999-10-01 2005-02-22 Stmicroelectronics Limited Apparatus and method for shadowing processor information
US6918065B1 (en) 1999-10-01 2005-07-12 Hitachi, Ltd. Method for compressing and decompressing trace information
US6928073B2 (en) 1999-10-01 2005-08-09 Stmicroelectronics Ltd. Integrated circuit implementing packet transmission
US7000078B1 (en) 1999-10-01 2006-02-14 Stmicroelectronics Ltd. System and method for maintaining cache coherency in a shared memory system
US6349371B1 (en) 1999-10-01 2002-02-19 Stmicroelectronics Ltd. Circuit for storing information
US7072817B1 (en) 1999-10-01 2006-07-04 Stmicroelectronics Ltd. Method of designing an initiator in an integrated circuit
US7260745B1 (en) 1999-10-01 2007-08-21 Stmicroelectronics Ltd. Detection of information on an interconnect
US7043625B2 (en) 2000-03-27 2006-05-09 Infineon Technologies Ag Method and apparatus for adding user-defined execution units to a processor using configurable long instruction word (CLIW)
JP4640880B2 (ja) * 2000-07-14 2011-03-02 国立大学法人東京工業大学 マイクロプロセッサシステム
JP2002032218A (ja) * 2000-07-14 2002-01-31 Rikogaku Shinkokai マイクロプロセッサシステム
JP2003005954A (ja) * 2001-06-25 2003-01-10 Pacific Design Kk データ処理装置およびその制御方法
US7536534B2 (en) 2003-02-27 2009-05-19 Nec Electronics Corporation Processor capable of being switched among a plurality of operating modes, and method of designing said processor
JP2006523883A (ja) * 2003-04-15 2006-10-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Ilp及びtlpを利用する再構成可能なプロセッサアレイ
JP2007233857A (ja) * 2006-03-02 2007-09-13 Fujitsu Ltd リコンフィグラブル回路
JP4580879B2 (ja) * 2006-03-02 2010-11-17 富士通セミコンダクター株式会社 リコンフィグラブル回路
WO2010150474A1 (ja) * 2009-06-23 2010-12-29 セイコーエプソン株式会社 サブプロセッサー、集積回路装置及び電子機器
CN102804136A (zh) * 2009-06-23 2012-11-28 精工爱普生株式会社 副处理器、集成电路装置及电子设备
JP5549670B2 (ja) * 2009-06-23 2014-07-16 セイコーエプソン株式会社 集積回路装置及び電子機器
JP2013519137A (ja) * 2010-02-01 2013-05-23 アルテラ コーポレイション 効率的プロセッサおよび関連する方法
JP2012059163A (ja) * 2010-09-13 2012-03-22 Sony Corp プロセッサ
US9841978B2 (en) 2010-09-13 2017-12-12 Sony Corporation Processor with a program counter increment based on decoding of predecode bits
US11200059B2 (en) 2010-09-13 2021-12-14 Sony Corporation Processor with a program counter increment based on decoding of predecode bits

Also Published As

Publication number Publication date
KR100535852B1 (ko) 2006-05-10
JP3623840B2 (ja) 2005-02-23
US6760832B2 (en) 2004-07-06
KR970059916A (ko) 1997-08-12
US20030065911A1 (en) 2003-04-03
TW334544B (en) 1998-06-21
US6023757A (en) 2000-02-08
US6496919B1 (en) 2002-12-17

Similar Documents

Publication Publication Date Title
JP3623840B2 (ja) データ処理装置及びマイクロプロセッサ
JP5930558B2 (ja) ストライド機能及びマスク機能を有するベクトルロード及びベクトルストアを提供する命令及びロジック
KR101597774B1 (ko) 마스킹된 전체 레지스터 액세스들을 이용한 부분적 레지스터 액세스들을 구현하기 위한 프로세서들, 방법들 및 시스템들
KR101839479B1 (ko) 더 넓은 레지스터에의 모드 의존형 부분 폭 로드 프로세서들, 방법들, 및 시스템들
KR19980018072A (ko) 벡터 레지스터의 복수 뱅크를 사용한 단일 명령 복수 데이터 처리
JP2002512399A (ja) 外部コプロセッサによりアクセス可能なコンテキストスイッチレジスタセットを備えたriscプロセッサ
JP2581236B2 (ja) データ処理装置
JP2001092662A (ja) プロセッサコア及びこれを用いたプロセッサ
JP2816624B2 (ja) 2乗演算を実行する速度改良型データ処理システム及びその方法
KR20010050792A (ko) 2개의 서로 다른 고정 길이 명령 세트를 실행하기 위한프로세서 아키텍쳐
JP2773471B2 (ja) 情報処理装置
KR100272622B1 (ko) 데이타 처리장치
JP2682232B2 (ja) 浮動小数点演算処理装置
US6012138A (en) Dynamically variable length CPU pipeline for efficiently executing two instruction sets
US5768553A (en) Microprocessor using an instruction field to define DSP instructions
JP4502532B2 (ja) データ処理装置
JP3829504B2 (ja) 情報処理装置
US20210089305A1 (en) Instruction executing method and apparatus
KR19980018071A (ko) 멀티미디어 신호 프로세서의 단일 명령 다중 데이터 처리
JPH04104350A (ja) マイクロプロセッサ
JP3562215B2 (ja) マイクロコンピュータ及び電子機器
JPH0524537B2 (ja)
JP6222859B2 (ja) ストライド機能及びマスク機能を有するベクトルロード及びベクトルストアを提供する命令及びロジック
JPH0666052B2 (ja) メモリ内容を機械レジスタに自動的に写像する計算機
JP2785820B2 (ja) 並列処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040105

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041025

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: 20041124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041126

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20071203

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081203

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081203

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091203

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101203

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101203

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20101203

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20101203

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111203

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121203

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121203

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees