JPH1091596A - マルチメディア信号プロセッサ内におけるマルチプロセッサ駆動装置 - Google Patents

マルチメディア信号プロセッサ内におけるマルチプロセッサ駆動装置

Info

Publication number
JPH1091596A
JPH1091596A JP9222415A JP22241597A JPH1091596A JP H1091596 A JPH1091596 A JP H1091596A JP 9222415 A JP9222415 A JP 9222415A JP 22241597 A JP22241597 A JP 22241597A JP H1091596 A JPH1091596 A JP H1091596A
Authority
JP
Japan
Prior art keywords
processor
cache
vector
general
digital signal
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
JP9222415A
Other languages
English (en)
Other versions
JP3954163B2 (ja
Inventor
Trong Nguyen Le
トロン ギュエン リ
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JPH1091596A publication Critical patent/JPH1091596A/ja
Application granted granted Critical
Publication of JP3954163B2 publication Critical patent/JP3954163B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8076Details on data register access
    • 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/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 ベクトルデータの処理のための汎用プロセッ
サ及びベクトルプロセッサを含むデュアルスレッド(dua
l-threaded) の非対称並列処理システムに関する。 【解決手段】 低い費用で高性能の集積化されたデジタ
ル信号プロセッサを具現するために、汎用プロセッサと
ベクトルプロセッサとを含む構造を利用する。前記集積
化されたデジタル信号プロセッサはまた、キャッシュサ
ブシステム、第1バス及び第2バスを含む。キャッシュ
サブシステムは、上記プロセッサとバスに、キャッシュ
パイプライン及びデータパイプラインを提供する。上記
プロセッサとバスのために、キャッシュサブシステムに
多数の同時通信経路が使用できる。また、キャッシュサ
ブシステム内のキャッシュメモリに、同時的な読取り及
び書込動作がサポートされる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデジタル信号プロセ
ッサに関するもので、特にベクトルデータの処理のため
の汎用プロセッサ及びベクトルプロセッサを含むデュア
ルスレッド(dual-threaded) の非対称並列処理システム
に関する。
【0002】
【従来の技術】例えば特開平7−28761号公報に示
されているように、多様な種類のデジタル信号プロセッ
サ(DSP)が、ビデオ信号、オーディオ信号及び通信
データのコーディング及びデコーディングのようなマル
チメディアアプリケーションに使用されている。この中
であるDSPはMPEGビデオデコーディングまたはエ
ンコーディングのような特定の処理を行なうハードウェ
アを提供してきた。このように提供されたハードウェア
DSPは、一般的にその費用に比べて高性能であるが、
特定処理のみに有用でその他の処理や規格には柔軟に適
用することはできなかった。
【0003】プログラム可能(programmable)DSPは、
マルチメディア処理を実行するプログラムを遂行し、提
供されたハードウェアDSPより柔軟性が高いが、これ
はプログラム可能DSPのためのソフトウェアの変更
が、実行する処理をえることができるからである。しか
し、このプログラム可能DSPは、コストパーフォマン
スが低いという問題点がある。プログラム可能DSP
は、汎用プロセッサの構造と類似した構造であり、相対
的に低い処理能力になる。このような低い処理能力は、
費用を最少化しようとする試みから得られたものであ
る。従って、このようなDSPは、実時間ビデオエンコ
ーディング及びデコーディングのようなより複雑なマル
チメディア処理を行なうためのDSPの能力としては満
足いくものではない。
【0004】プログラム可能DSPにおける目標は、最
少費用でマルチメディア処理を行なう処理能力を提供す
るものであるので、処理能力を増加させる方法として知
られているDSP並列処理に統合されることである。並
列処理の一構造は“超長命令語(very long instruction
word;VLIW)”DSPである。このDSPは大部分が異
なるが、単純なタスクを実行する多数の機能ユニット(f
unctional units)により特定される。VLIWDSPに
よる単一命令は、128バイト以上に相互に独立された
部分を有する。各部分は、並列のそれぞれ独立された機
能ユニットにより実行可能である。VLIWDSPは、
多数の機能ユニットが並列に動作できるので、高い計算
能力を有する。また、VLIWDSPは、それぞれの機
能ユニットが小さく単純であるので低コストである。
【0005】
【発明が解決しようとする課題】しかしながら、VLI
WDSPにおける問題点は、入出力制御、ホストコンピ
ュータとの通信、およびVLIWDSPの機能ユニット
における並列実行が無意味な他の機能を運用する場合に
は効果がない。従って、VLIWのためのプログラム
は、一般的なコンピュータプログラムと異なり、プログ
ラミングツール(programming tool) やVLIWソフト
ウェア構造がよく分かるプログラマーが不足し、その開
発が難しいという問題点があった。
【0006】本発明はこのような従来の問題点を解決す
るためのもので、その目的は、集積化されたデジタル信
号プロセッサを提供することにある。
【0007】
【課題を解決するための手段】本発明のデジタル信号プ
ロセッサは、汎用プロセッサとベクトルプロセッサとを
組み合わせたもので、汎用プロセッサと並列に駆動でき
る。デジタル信号プロセッサは、2つのプロセッサがそ
れぞれのプロセッサに理想的に適合したタスクのみを遂
行するので、低コストで高性能の実現が可能である。例
えば、汎用プロセッサはリアルタイムオペレーティング
システムを動作させ全体的なシステムを管理し、ベクト
ルプロセッサは“ベクトル”というデータ構造を用いる
並列計算を実行することに使用される。ベクトルは、同
一タイプのデータ要素を集めたものである。
【0008】本発明の一実施の形態において、デジタル
信号プロセッサはキャッシュサブシステム、第1バス及
び第2バスを含む。前記第1バスは、ローカルバスイン
ターフェース、DMAコントローラー、デバイスコント
ローラー及びメモリコントローラーのような高速デバイ
スのために使用され、第2バスはシステムタイマー、U
ART、ビットストリームプロセッサ及び、インタラプ
トコントローラーのような低速デバイスのために使用さ
れる。
【0009】キャッシュサブシステムは、キャッシュ機
能とスイッチボーディング(switchboarding)または、デ
ータルーティング機能を合わせたものである。スイッチ
ボード機能は、プロセッサとバスと間の多重通信経路を
同時に作動させる。また、キャッシュサブシステムのキ
ャッシュ部分は、キャッシュメモリの読取り及び書込を
同時に実行するようにする。
【0010】
【発明の実施の形態】以下、添付図面を参照して、本発
明の好ましい実施の形態をより詳しく説明する。なお、
図面全体を通して同一部分には、同一な図面符号が付け
てある。
【0011】本発明の一実施の形態によると、マルチメ
ディアプロセッサは、それぞれ独立されたプログラムス
レッド(thread)によって並列に動作する汎用プロセッサ
とベクトルプロセッサとを含む。汎用プロセッサは、最
も一般的な汎用プロセッサでありスカラー(scalar)デー
タを主に操作する命令を実行する。このようなプロセッ
サは、入出力及び制御機能の実行に適合している。本発
明の実施の形態において、汎用プロセッサは、いくつか
のバイトサイズのデータエレメントが1つのデータエレ
メント内にバックされたベクトル処理能力には制限があ
る。例えば、汎用プロセッサが32ビットプロセッサの
場合、4個の1バイトデータ要素を同時に処理可能であ
る。しかし、オーディオ及びビデオデータの圧縮及び伸
長のようなマルチメディアコンピューティングは、オー
ディオデータのピックセルアレーとストリング上におけ
る数多い反復的な計算を必要とする。リアルタイムマル
チメディア動作のために、スカラーデータ(例えば1ピ
ックセル値または演算数(operand) 当りのサウンド振
幅)、または小さいベクトルを処理する汎用プロセッサ
は、高いクロック周波数で動作しなければならない。そ
の反対に、ベクトルプロセッサは、それぞれの演算数
が、多数のデータ要素を含むベクトル(例えば、多数個
のピックセル値またはサウンド振幅)の命令を実行す
る。従って、ベクトルプロセッサは、同一機能を実行す
る汎用プロセッサに必要なクロック周波数の何分の一か
で、リアルタイムマルチメディア動作の実行が可能であ
る。
【0012】従って、マルチメディアアプリケーション
に必要なタスクの効率的な分割を許容することによっ
て、プログラム可能汎用プロセッサ及びベクトルプロセ
ッサの組み合わせは、価格に対して高性能となる。本発
明の一実施の形態において、汎用プロセッサは、ホスト
コンピュータシステムと通信するメディア回路ボード
(カード)として設計されたリアルタイムオペレーティ
ングシステムを動作させる。このリアルタイムオペレー
ティングシステムは、ホストコンピュータシステムの一
次プロセッサと通信し、入出力装置を使用可能にしたり
またはカードに結合し、ベクトルプロセッサが実行する
タスクを選択する。この実施の形態において、ベクトル
プロセッサは、汎用プロセッサがベクトルプロセッサの
マスタプロセッサとして動作する間、大きいデータブロ
ックの処理が要求される計算集中型のタスクを実行する
ように設計されている。それぞれのプロセッサのための
プログラムスレッドは、マルチメディアプロセッサを
“プログラマーと親しくなるように”する通常的な命令
セットを利用し記入される。プログラム可能であること
は、マルチメディアプロセッサが、多様な他のマルチメ
ディアタスクを実行することを許容する。例えば、マル
チメディアプロセッサは、アプリケーションプログラム
またはファームウェアを変化させることのみで、新しい
プロトコルに適合するように作ることができる。この命
令セットは、一般的なRISC(reduced instruction s
et computer)命令セットと類似している。
【0013】本発明の他の実施の形態において、汎用プ
ロセッサとベクトルプロセッサは、単一アドレス空間を
通してアクセス可能なように多様なオンチップ(on-chi
p) 及びオフチップ(off-chip)手段を共有する。それぞ
れのプロセッサのために独立されたデータ及び命令キャ
ッシュを提供するキャッシュサブシステムはローカルメ
モリと、メモリマップ(memory map)装置のビットストリ
ームプロセッサ、UART(universal asynchronous re
ceiver-transmitter) 、ダイレクトメモリアクセス(D
MA)コントローラー、ローカルバスインターフェース
及び、コーダー−デコーダー(CODEC)インターフ
ェースのような装置の間に、スイッチボードタイプの接
続を提供する。キャッシュサブシステムは、プロセッサ
とメモリマップ装置間のデータアクセスのためのスイッ
チボードを提供するトランザクション指向的な(transac
tion-oriented)プロトコルを使用することができる。
【0014】図2は、本発明の一実施例によるマルチメ
ディアカード100を示したものである。マルチメディ
アカード100は、プリント配線板、マルチメディアプ
ロセッサ110及びホストコンピューターシステムのロ
ーカルバス105に接続されたコネクタを含む。好まし
い実施の形態において、ローカルバス105はPCIバ
スであるが、とくにこれに限定されるものではなく、独
占(proprietary) バス、またはISAやVESAバスプ
ロトコルのような所定のプロトコルに適合したバスであ
ってもよい。
【0015】マルチメディアプロセッサ110は、マル
チメディアカード100上に位置するデータの格納と、
プログラム命令のためのローカルメモリ120を使用す
る。ローカルメモリ120は、ビデオ信号コーディング
及びデコーディングのためのフレームバッファとしても
使用できる。好ましい実施の形態において、ローカルメ
モリ120は、512K×32ビット同期(synchronou
s) DRAMから構成できる。ローカルメモリ空間の各
部分はまた、マルチメディアプロセッサ110内のオン
チップSRAMやROMにより構成可能である。実際
に、オンチップメモリがマルチメディアカード100の
データ及び命令を充分に格納できれば、ローカルメモリ
120を備える必要がない。
【0016】マルチメディアプロセッサ110とローカ
ルメモリ120の外にマルチメディアカード100は、
ビデオアナログ−デジタルコンバーター(ADC)13
2、ビデオデジタル−アナログコンバーター(DAC)
134、オーディオADC142、オーディオDAC1
44、通信用ADC146及び通信用DAC148とを
含む。それぞれのコンバーター(132、134、14
2、144、146、148)は、1つ以上の独立され
た集積回路により構成可能である。また、2個以上のコ
ンバーター(132、134、142、144、14
6、148)は、単一集積回路上に集積化できる。例え
ば、アナログデバイス社のAD1843の単一集積回路
140は、コンバーター(142、144、146、1
48)の機能を実行し得る。
【0017】例えば、三星電子のKS0122集積回路
から構成できるビデオADC132は、ビデオカメラや
外のビデオ信号源に接続され、ビデオ信号を直列のピッ
クセル値にデジタル化する。マルチメディアカード10
0は、MPEG、JPEGまたはマルチメディアプロセ
ッサ110により動作されるファームウェア内に備えら
れたH.324のようなビデオエンコーディング基準に
よって、ピックセル値を圧縮したりエンコーディングす
る。エンコーディングされたビデオデータは、ローカル
バス105を通してホストコンピューターに転送される
か、またはローカルバス105に接続されたEther
netカードのような装置に接続されるか、通信用DA
C148に接続された電話線上の転送のために、さらに
エンコーディングされる。
【0018】ビデオDAC134は、マルチメディアプ
ロセッサ110からの一連のデジタルサンプルを、ビデ
オモニタまたはテレビのためのアナログビデオ信号に変
換させる。ビデオDACはNTSCまたはPALビデオ
方式であり、例えば三星電子のKS0119集積回路か
ら構成し得る。マルチメディアプロセッサ110はホス
トコンピューター、ローカルバス105に接続された他
の装置、ビデオADCに接続されたビデオカメラまた
は、通信用ADC146に接続された電話線に印加され
るデータを基にして、ビデオDAC134のための一連
のデジタルサンプルを生成することができる。
【0019】マルチメディアカード100は、ローカル
メモリ120をマルチメディアプロセッサ110と共有
し、ホストコンピュータのためにビデオモニタにビデオ
信号を供給するグラフィックコントローラー150を、
選択的な構成要素として含む。グラフィックコントロー
ラー150は例えば、CirrusLogic、S3ま
たはTridentMicrosystemsのVGA
グラフィックコントローラーから構成することができ
る。マルチメディアプロセッサ110は、グラフィック
コントローラー150が、ビデオモニタのためのビデオ
信号を生成するローカルメモリ120内で、ピクセルマ
ップ(pixel map) を生成し格納する。
【0020】オーディオADC及びオーディオDAC1
42、144は、アナログオーディオ信号の入出力のた
めのものである。本発明の一実施の形態において、マル
チメディアカード100は、広く普及された“サウンド
ブラスター(SoundBlaster)”のようなサウンドカードの
機能をエミュレートし、ウェーブテーブル合成(wavetab
lesynthesis)及びFM合成のようなサウンド合成を遂行
する。サウンドカードエミュレーションのため、ホスト
コンピュータにより遂行されるアプリケーションプログ
ラムはサウンドを表わすデータを提供し、マルチメディ
アプロセッサ110はこのデータによってサウンド振幅
を生成する。オーディオDAC144は、サウンド振幅
をスピーカーまたは増幅機のためのアナログオーディオ
信号に変換させる。マルチメディアプロセッサ110
は、オーディオADC142からの入力オーディオ信号
を同様に処理する。
【0021】通信用ADC146は、電話線からのアナ
ログ信号をサンプルリングし、デジタル化されたサンプ
ルをマルチメディアプロセッサ110に送る。マルチメ
ディアプロセッサ110がデジタル化されたサンプルを
どのように処理するかは、ファームウェアで遂行される
機能に左右される。例えば、マルチメディアプロセッサ
110は、サンプルのV.34復調、V.42bisエ
ラー訂正及び伸長(error correction and decompressio
n)を行うファームウェアのプログラムを実行することに
よって、モデム機能を遂行することができる。マルチメ
ディアプロセッサ110はまた、ホストコンピューター
から提供されたデータを圧縮し、通信用DAC148に
より転送される正確に変調されたアナログ信号を表わす
デジタルサンプルを生成することができる。同様に、マ
ルチメディアプロセッサ110は、適切なファームウェ
アまたはソフトウェアが提供されると、電話線とのイン
ターフェースとして、ADC146及びDAC148の
ようなハードウェアを利用し、自動応答機、ファクシミ
リーまたはビデオフォン機能を遂行することができる。
【0022】図1は、マルチメディアプロセッサ110
の一実施の形態の構成図を示したものである。マルチメ
ディアプロセッサ110は、汎用プロセッサ210とベ
クトルプロセッサ220とを含むプロセッシングコア(p
rocessing core) 200を備える。ここにおいて、ベク
トルプロセッサは、ベクトル演算数、すなわち同一形態
の多数個のデータ要素を含む演算数を有する命令を遂行
するプロセッサを意味する。汎用プロセッサ210とベ
クトルプロセッサ220は、それぞれ独立したプログラ
ムを遂行する、スカラーまたはスーパースカラー(super
scalar) プロセッサであってもよい。
【0023】本発明の一実施の形態として、汎用プロセ
ッサ210で40MHzで動作し、標準ARM7命令セ
ットを従う32ビットRISCプロセッサを使用するこ
とができる。ARM7RISCプロセッサ及びARM7
命令セットの構成は、AdvancedRISCMac
hines社のARM7DMデータ表(Data Sheet)に示
されている。汎用プロセッサ210は、ベクトルプロセ
ッサ220とのインターフェースに対する命令を含んで
いるARM7命令セットを拡張させる役割をする。汎用
プロセッサ210は、制御バス212によりベクトルプ
ロセッサ220に接続され、ARM7命令セットの拡張
を実行する。また、ベクトルプロセッサ220によりイ
ンタラプトライン222が使用され、汎用プロセッサ2
10上のインタラプトを要求する。
【0024】ベクトルプロセッサ220は、SIMD(s
ingle-instruction-multiple-data)構造を有し、スカラ
ーとベクトル量のすべてを処理する。本発明の一実施の
形態において、ベクトルプロセッサ220は、80MH
zで動作し、288ビットのベクトルレジスタファイル
を有するパイプライン(pipelined) RISC中央処理装
置からなる。ベクトルレジスタファイル内のそれぞれの
ベクトルレジスタは、32個までのデータ要素を含むこ
とができる。表1に、ベクトル内のデータ要素のデータ
タイプを示している。
【0025】
【表1】
【0026】従って、ベクトルレジスタは、32個の8
ビットまたは9ビットの整数データ要素、16個の16
ビット整数データ要素、または8個の32ビット整数ま
たは浮動小数点(floating point)要素を有することがで
きる。また、この実施の形態は、2個のベクトルレジス
タにかけた576ビットベクトル演算数上で動作するこ
とができる。
【0027】ベクトルプロセッサ220に対する命令セ
ットは、ベクトルとスカラーを処理するための命令を含
む。
【0028】キャッシュサブシステム230は、2個の
ブロックによって示したSRAMブロック260と、R
OM270及びキャッシュ制御ブ280とを備える。キ
ャッシュサブシステム230は、汎用プロセッサ210
のために、SRAMブロック260を命令キャッシュ2
62とデータキャッシュ264で形成し、ベクトルプロ
セッサ220のために命令キャッシュ292とデータキ
ャッシュ294で形成している。汎用プロセッサ210
とベクトルプロセッサ220のためのデータ及び命令を
含むオンチップROM270も、キャッシュによって形
成できる。本発明の一実施の形態において、ROM27
0はリセット及び初期化過程、セルフテスト診断過程、
インタラプト及び例外(exception) 処理、サウンドブラ
スターエミュレーションのためのサブルーチン、V.3
4モデム信号処理のためのサブルーチン、一般的な電話
機能、2次元及び3次元グラフィックサブルーチンライ
ブラリー、及びMPEG−1、MPEG−2、H.26
1、H.263、G728alcG.723のようなオ
ーディオ及びビデオ規格のためのサブルーチンライブラ
リーを含む。
【0029】図3は、ホストコンピューターシステム3
00内にマルチメディアカード100を適用することに
おけるハードウェアとソフトウェアまたはファームウェ
ア間の関係を示したものである。ホストコンピュータシ
ステム300は、主メモリ320内に格納されたプログ
ラムを実行する第1プロセッサ310を有する。本発明
の一実施の形態において、ホストコンピュータシステム
300は、x86系のマイクロプロセッサを備えたIB
M互換性を有するコンピューターで、ホストコンピュー
タシステム300により実行されるプログラムは、Wi
ndowsTM95またはNTのようなオペレーティング
システム下で運用されるアプリケーションプログラム3
30を含む。アプリケーションプログラム330は、デ
バイスドライバ342を通し、マルチメディアカード1
00と通信することができる。デバイスドライバ342
は、オペレーティングシステムのデバイスドライバAP
Iに従う。
【0030】それぞれ異なる実施の形態のマルチメディ
アカード100は他のレジスタマップとインタラプトレ
ベルのようなそれぞれ異なるハードウェア機能を有する
ので、デバイスドライバはそれぞれのマルチメディアカ
ード100に備えられている。デバイスドライバは特定
マルチメディアカード100に必要な制御信号を、オペ
レーティングシステムのデバイスドライバAPIにより
規定される制御信号に適する変換をしなければならな
い。オペレーティングシステムの特徴は、モデムドライ
バ、グラフィックドライバ及びオーディオドライバのよ
うなそれぞれのデバイスのための、それぞれ異なるデバ
イスドライバとなる。従って、一実施の形態のマルチメ
ディアカード100がオーディオカード、モデム及びグ
ラフィックカードの機能の組み合わせであれば、3個の
異なるデバイスドライバはオペレーティングシステムに
よって代表として命令される。
【0031】マルチメディアプロセッサ110内の汎用
プロセッサ210は、デバイスドライバ342との通信
を制御するリアルタイムオペレーティングシステム36
0を実行する。汎用プロセッサ210はまた、一般タス
ク370を実行する。ベクトルプロセッサ220は、ベ
クトルタスク380を遂行する。
【0032】キャッシュサブシステム230(図2参
照)は、汎用プロセッサ210とベクトルプロセッサ2
20とを、2つのシステムバスであるIOBUS240
とFBUS250に接続する。IOBUS240は、F
BUS250より遅い周波数で動作する。低速デバイス
はIOBUS240に接続され、高速デバイスはFBU
S250に接続される。高速デバイスと低速デバイスと
を分離させ、低速デバイスが高速デバイスの動作に悪影
響を及ぼすことを防止する。
【0033】キャッシュサブシステム230はまた、I
OBUS240、FBUS250、汎用プロセッサ21
0及びベクトルプロセッサ220間の通信のためのスイ
ッチボードの役割をする。キャッシュサブシステム23
0の具体例としては、バスとプロセッサ間の多数の同時
的なアクセスが可能である。例えば、汎用プロセッサ2
10がIOBUS240と通信する時、同時にベクトル
プロセッサ220はFBUS250と通信することがで
きる。本発明の一実施の形態において、スイッチボード
とキャッシュ機能の組合は、FBUS250とIOBU
S240に対する直接マッピング技術を利用することに
より達成される。特にFBUS250及びIOBUS2
40上のデバイスは、適切なアドレスにおける標準メモ
リ読取り及び書込動作により、汎用プロセッサ210と
ベクトルプロセッサ220とによってアクセスできる。
【0034】図5は、本発明の一実施の形態のメモリマ
ップを示したものである。メモリブロック510、すな
わちバイト−アドレス(byte-address)0からアドレス4
M−1までのアドレス空間はROM270に占有され
る。メモリブロック520すなわち、バイト−アドレス
4Mから8M−1までのアドレス空間はSRAMブロッ
ク260に占有される。メモリブロック530すなわ
ち、バイト−アドレス8Mから72M−1までのアドレ
ス空間はローカルメモリ120に占有される。FBUS
250上のデバイスは、バイト−アドレス72Mから始
まって、バイト−アドレス77Mに拡張されるメモリブ
ロック540にマッピングされる。メモリブロック55
0は将来の拡張のために用意したものである。IOBU
S240上のデバイスは、バイト−アドレス125Mか
ら始まって128M−1まで拡張されるメモリブロック
560にマッピングされる。メモリブロック570は将
来の拡張のために用意したものである。メモリブロック
580、すなわちバイト−アドレス2Gから4G−1ま
でのアドレス空間は他のホストコンピュータデバイスで
占有され、ローカルバスインターフェース255を通し
てアクセスされる。なお、ここにおいて、メモリアドレ
スに対する単位として使用された上記「M」と「G」
は、1,048,567(すなわち1024*102
4)と、1,073,741,824(すなわち102
4*1024*1024)を示すものである。
【0035】FBUS250(図2参照)は、図1に図
示されたローカルメモリ120、ローカルバス105及
びコンバーター(132、134、142、144、1
46、148、150)に対し、それぞれのインターフ
ェースを提供するメモリコントローラー258、DMA
コントローラー257、ローカルバスインターフェース
255及びデバイスインターフェース252に接続され
る。
【0036】メモリコントローラー258は、ローカル
メモリ120への読取り及び書込動作を制御する。本発
明の一実施の形態において、メモリコントローラー25
8は、1バンク(bank)の同期(synchronous)DRAM
(2個の1M×16 SDRAMチップ)を制御する
が、同期DRAMは24乃至26個のアドレスビットと
32データビットを使用するように構成され、下記のよ
うな特徴を有する。
【0037】1)プログラム可能リフレッシュ率(progr
ammable refresh rate) で遂行される“RAS前CAS
(CAS−before−RAS)”リフレッシュプロトコ
ル、 2)読取り−変更−書込(Read-Modify-Write) 動作を開
示する部分的な記入、 3)内部バンクインターリーブ(internal bank interle
ave)。
【0038】メモリコントローラー258はまた、メモ
リ120とFBUS250間の1:1周波数整合、マニ
ュアル“両バンクプリチャージ(both bank precharge)
”、及びFBUS250をさらによく活用するために
配列されたアドレス及びデータを提供する。同期DRA
Mは、80MHzの周波数で効率的に駆動されるものと
知られており、スタンダードファストページ(standard
fast page)DRAM及びEDO(extended data out) D
RAMを利用することもできる。メモリコントローラー
258と類似した機能を有する本発明の一実施の形態に
よるDRAMコントローラーは、当分野の公知のもので
ある。
【0039】DMAコントローラー257は、ホストコ
ンピュータの主メモリとマルチメディアプロセッサ21
0のローカルメモリ間の直接的なメモリアクセスを制御
する。このようなDMAコントローラーは、当分野の公
知のものである。本発明の実施の形態において、メモリ
データムーバー(mover) が含まれる。このメモリデータ
ムーバーは、1つのメモリブロックから他のメモリブロ
ックへのDMAを遂行する。
【0040】ローカルバスインターフェース255は、
ローカルバス105を通して、ホストコンピュータとの
通信のために要求されるプロトコルを処理する。本発明
の一実施の形態において、ローカルバスインターフェー
ス255は、33MHz、32ビットのPCIバスにイ
ンターフェースを提供する。
【0041】デバイスインターフェース252は、マル
チメディアプロセッサ110と、プリント回路基板上の
コンバーター(132、134、142、144、14
6、148)のようなデバイスに、ハードウェアインタ
ーフェースを提供する。デバイスインターフェース25
2は、マルチメディアプロセッサ110の特定のアプリ
ケーションのためにカスタマイズしてもよい。特に、デ
バイスインターフェース252は、特定デバイスまたは
ICに対し、インターフェースのみを適用することもで
きる。デバイスインターフェース252内の典型的なユ
ニットは、標準的なADC、DACまたはCODECの
接続のためのインターフェースを提供する。ADC、D
AC及びCODECインターフェースのための設計は、
当分野で公知のものであるので、これ以上の説明はしな
い。利用できるその他のインターフェースとしては、デ
ジタル電話のためのISDNインターフェースやバスの
ためのインターフェース、このようなマイクロチャンネ
ルバスとが含まれるが、これのみに制限されるものでは
ない。マルチメディアプロセッサ110の一実施の形態
において、デバイスインターフェース252は、要望す
る機能を遂行するためにプログラムできるASICであ
る。
【0042】IOBUS240は、バス250の動作周
波数(80MHz)より低い周波数(40MHz)で動
作する。IOBUS240には、システムタイマー24
2、UART(universal asynchronous receiver trans
ceiver) 243、ビットストリームプロセッサ248及
び、インタラプトコントローラー245が接続される。
システムタイマー242は、システムタイマー242
に、対応するレジスタに書込動作を行うことによって選
択される定期間隔で、プロセッサ210に割込みを行な
う。本発明の一実施の形態において、システムタイマー
242は、3個の独立的な16ビットカウンターと、6
個のプログラム可能カウンターモードとを備えた、標準
インテル8254互換インターバルタイマー(standard
intel 8254compatible interval timer) である。
【0043】UART243は直列インターフェースで
あって、個人用コンピューターの標準直列通信ポートを
必要とするモデムやファクシミリに使用される1645
0UART集積回路と互換である。
【0044】ビットストリームプロセッサ245は、入
力または出力ビットストリーム上の特定機能を遂行する
固定されたハードウェアプロセッサである。本発明の一
実施の形態によると、ビットストリームプロセッサ24
5は、MPEGコーディングまたはデコーディングの、
最初または最終段階を遂行する。特に、ビットストリー
ムプロセッサ245は、可変長さ(Huffman) コーディン
グ及びデコーディングと、ジグザグフォーマットされた
ビデオデータのパッキング及びアンパッキング(unpack
ing)を遂行する。ビットストリームプロセッサ245
は、汎用プロセッサ210及びベクトルプロセッサ22
0の制御下で、これと並列に動作する。プロセッサ21
0、220は、制御レジスタを通しビットストリームプ
ロセッサ245と接続される。
【0045】インタラプトコントローラー248は、汎
用プロセッサ210の割込制御を行ない、多数の割込優
先順位をサポートする。マスクレジスタは、各割込優先
順位がそれぞれマスクされるようにするために提供され
る。本発明の一実施の形態において、インタラプトコン
トローラー248はプログラム可能であり、x86基準
の個人用コンピュータで、共通の標準インテル8259
割込システムに利用できる。最高優先順位(レベル0)
の割込みは、システムタイマー242に割当てられる。
優先順位レベル1、2、3及び7は、それぞれ仮想記憶
フレームバッファ(virtual frame buffer)、DMAコン
トローラー257及びデバイスインターフェース25
2、ビットストリームプロセッサ245、ローカルバス
インターフェース255、及びUART243に割当て
られる。割込優先順位レベル4、5及び6は、本発明の
実施の形態に割当てられない。優先順位レベル1の仮想
記憶フレームバッファは、本発明の実施の形態に含まれ
るもので、標準VGAフレームバッファをエミュレート
する。
【0046】図4はキャッシュサブシステムの構成図で
ある。SRAMブロック260は、汎用プロセッサ21
0に使用するための命令キャッシュ262とデータキャ
ッシュ264、ベクトルプロセッサ220に使用される
ための命令キャッシュ292とデータキャッシュ294
との4個のメモリバンクに区分される。SRAMブロッ
ク260は、それぞれのメモリバンクに対して区分され
るタグ部406を含む。SRAMブロック260は、読
取りポート440及び書込ポート430とを備えたデュ
アルポートメモリ回路であって、SRAMブロック26
0の同時読取り及び書込動作がサポートされる。キャッ
シュサブシステム230は、タグフィールド(tag fiel
d) 472を備えたROMキャッシュ270を含む。上
述したとおり、ROMキャッシュ270は、汎用プロセ
ッサ210及びベクトルプロセッサ220に頻繁に使用
される命令及びデータを含んでいる。タグフィールド4
72は変更可能ではないが、個々のアドレスは無効のも
のとしてマークできるので、データまたは命令をROM
270のデータまたは命令の位置に使用されるメモリか
ら持って来ることができる。
【0047】データパイプライン(data pipeline) 41
0は、キャッシュサブシステム230のデータスイッチ
ボード機能を遂行する。データパイプライン410は、
IOBUS240、FBUS250、汎用プロセッサ2
10、ベクトルプロセッサ220及びSRAMブロック
260間の、多数の同時データ通信経路を生成すること
ができる。これと同様に、アドレスパイプライン420
は、アドレスに対するスイッチボード機能を遂行する。
図4の実施例において、IOBUS240及びFBUS
250は、アドレス及びデータ信号に対する時間多重化
を利用する。キャッシュ制御部280は、データパイプ
ライン410とアドレスパイプライン420とに制御ラ
インを提供し、通信チャンネルを適切に構成する。
【0048】キャッシュサブシステム230の一実施の
形態例おいて、すべての読取り及び書込動作を支持する
ため、トランザクション基準のプロトコル(transaction
-based protocol)が利用される。汎用プロセッサ21
0、ベクトルプロセッサ220または、IOBUS24
0及びFBUS250上の種々のデバイスのようなキャ
ッシュサブシステム230に接続されたどのユニット
も、キャッシュサブシステム230に要求(request) す
ることができる。このような要求は、デバイス確認コー
ド(identification code;ID)と、要求されたメモリ位置
のアドレスにより形成される。それぞれのユニットは、
別個のデバイスIDを有し、キャッシュサブシステム2
30は、要求を形成するユニットのデバイスIDに基づ
いた要求に、優先順位を付与することができる。要求さ
れたアドレスのデータが有効である場合、キャッシュサ
ブシステムはデバイスID、トランザクションID(tra
nsaction identification code) 、アドレス及び要求さ
れたデータに応答する。要求されたアドレスがSRAM
ブロック260やROMブロック270に含まれていな
ければ、キャッシュサブシステム230は、メモリアド
レスのデータが検索される時、いくつかのクロック周期
の間に、特定要求に応答することができなくなる。しか
し、1番目に要求されたデータが検索される時キャッシ
ュサブシステム230は、他のデバイスIDを備えた他
のユニットからの2番目の要求を処理することができ
る。このように進行中の要求は、他のユニットからの連
続される要求をブロックしない。またキャッシュサブシ
ステム230は、単一周期の間、読取り要求または書込
要求を同時に処理することができる。
【0049】上述したとおり、SRAMブロック260
は、4個のメモリバンクに分割される。SRAMブロッ
ク260は読取りポート440と書込ポート430のデ
ュアルポートを有することによって、ある周期の間に1
つの読取り要求と1つの書込要求とを受け入れることが
できる。SRAMブロック260のTAG部406は、
同時に発生する読取り及び書込要求を支援するため、2
個の書込ポートを持たねばならない。従って、読取りポ
ート440により使用されるアドレスと、書込ポート4
30により使用されるアドレスは、ヒット(hit) または
ミス(miss)の条件のための内部キャッシュタグ(tag) と
同時に比較できる。タグ部406は、別途の書込ポート
を有することによって、書込ポート430で書込要求が
遂行されることによって、適切なタグフィールドが変更
される。
【0050】全体システムの制限によって、キャッシュ
サブシステム230は、ライトバック (write-back) ま
たはライトスルー(write-through) キャッシュ手段と共
に使用できる。さらに、本発明の実施の形態において、
速度を更に増加させるため、キャッシュラインサイズ
は、データ幅の2倍とすることができる。本発明の一実
施の形態において、“簿記(book-keeping)”の目的のた
めに、それぞれのキャッシュラインが2個のベクトルを
含むので、2個の有効ビット(valid bit) と2個の否定
ビット(dirty bit) を割当てなければならない。SRA
Mブロック260は、全面除去信号(global clear sig
nal)が印加されると、すべての有効ビットを全面的に消
去しなければならない。本発明の他の実施の形態におい
て、それぞれの消去信号は、SRAMブロック260内
の4個のメモリバンクによりサポートされる。
【0051】図6は、データパイプライン410の一実
施の形態を示した構成図である。キャッシュサブシステ
ム230が、IOBUS240、FBUS250、汎用
プロセッサ210及びベクトルプロセッサ220のため
のキャッシュシステムとスイッチボードの役割をするの
で、前記バスとプロセッサは、キャッシュが他のデバイ
スに使用される場合、キャッシュを通すかまたは直接的
に通信できなければならない。プロセッサは、普通はバ
ス上のデバイスより早いので、書込動作上のキャッシュ
を利用し、キャッシュライトバックシステムを許容し、
データを適切なバスデバイスに位置させるようにする。
これと同様に、プロセッサはデバイスに直接情報を要求
するよりは、キャッシュから情報を要求する。キャッシ
ュが、要求されたデータを含んでいなければ、プロセッ
サはキャッシュサブシステムに依存し、要求されたデー
タをキャッシュに出し、プロセッサでそのデータを提供
する。しかし、キャッシュがビジー(busy)状態の場合
は、プロセッサが直接にバスをアクセスすることができ
る。
【0052】データは、汎用プロセッサ210からI/
OMUX630を通しIOBUS240に伝達される。
IOBUS240からのデータは、GP読取MUX62
0を通し、汎用プロセッサ210に伝達される。データ
はキャッシュ読取MUX650及びGP読取MUX62
0を通し、SRAMブロック260またはROMブロッ
ク207から、汎用プロセッサ210に伝達される。デ
ータは、汎用プロセッサ210から、キャッシュ書込M
UX610を通しSRAMブロック260に伝達され
る。キャッシュ読取MUX650、キャッシュ書込MU
X610、I/OMUX630及びGP読取MUX62
0は、一般的な回線多重化装置で可能であり、タイミン
グ問題のために内部ラッチまたはレジスタを含むことが
できる。回線多重化装置の選択制御ライン(図示されな
い)は、キャッシュ制御部280(図4参照)の指示を
受ける。データは、汎用プロセッサ210からキャッシ
ュ書込MUX610と、FBUSMUX640とを通し
FBUS250に伝達される。データは、FBUS25
0からバッファ660、キャッシュ読取MUX650及
びGP読取MUX620を通し、汎用プロセッサ210
に伝達される。このような機能を遂行するためバッファ
660は、一般的なバッファ、ラッチまたはレジスタで
可能である。
【0053】汎用プロセッサ210は、制御ライン21
2(図2参照)を通し、ベクトルプロセッサ220を制
御することができる。汎用プロセッサ210とベクトル
プロセッサ220間の直接的なデータ伝送は必ずしも必
要ではないが、両プロセッサが共通メモリマップを共有
するので、SRAMブロック260または、どのような
他のデバイスを通し、データが伝送することもできる。
【0054】ROM270及びSRAMブロック260
からのデータは、キャッシュ読取MUX650とI/O
MUX630を通しIOBUS240に伝達され、IO
BUS240からのデータは、キャッシュ書込MUX6
10を通しSRAMブロック260に伝達される。IO
BUS240からのデータは、キャッシュ書込MUX6
10及びFBUSMUX640を通しFBUS250に
送られ、FBUS250からのデータは、バッファ66
0、キャッシュ読取MUX650及びIOMUX630
を通しIOBUS240に伝達される。ベクトルプロセ
ッサ220からのデータは、キャッシュ書込MUX61
0及び、I/OMUX630を通しIOBUS240に
送られ、IOBUS240からのデータは、キャッシュ
読取MUX650を通しベクトルプロセッサ220に伝
達される。本発明の実施の形態において、ベクトルプロ
セッサ220からIOBUS240へのデータの直接経
路は、データパイプライン410の設計を簡単にするた
めに削除される。ベクトルプロセッサ220の帯域幅は
IOBUS240の帯域幅よりずっと大きいので、ベク
トルプロセッサ220からIOBUS240への直接的
な通信経路は、ベクトルプロセッサ220の処理時間を
考えると非能率的になる。
【0055】SRAMブロック260とROM270と
からのデータはキャッシュ読取MUX650及びFBU
SMUX640を経てFBUS250に伝えられ、FB
US250からのデータはバッファ660及びキャッシ
ュ書込MUX610を経て、SRAMブロック260に
送られる。FBUS250からのデータは、バッファ6
60及びキャッシュ読取MUX650を通し、ベクトル
プロセッサ220に直接伝達される。データは、ベクト
ルプロセッサ220からキャッシュ書込MUX610及
びFBUSMUX640を通し、FBUS250に直接
に伝達できる。ベクトルプロセッサ220からのデータ
は、キャッシュ書込MUX610を通しSRAMブロッ
ク260に伝達され、SRAMブロック260及びRO
M270からのデータは、キャッシュ読取MUX650
を通しベクトルプロセッサ220に伝達される。
【0056】図7は、データパイプライン410の第2
の実施の形態の構成を詳細に示したものである。図7の
実施の形態の機能は、図6の実施の形態の機能と類似す
るので、両方の実施の形態の相異点に関してのみ説明す
る。しかし、各実施の形態における一般的な構成に関し
ては説明する。図7において、キャッシュ読取MUX6
50は、キャッシュ読取MUX750及びMUXラッチ
751に代替できる。バッファ660は、読取ラッチ7
60に代替され得、FBUSMUX640は、FBUS
MUX740、ライトバック(WB)データラッチ74
1、メモリライトラッチ742及び、メモリライトラッ
チ743に代替できる。図7の実施の形態におけるラッ
チは、データパイプラインを接続することに利用され
る。キャッシュ書込MUX610は、キャッシュ書込M
UX710、書込データラッチ712、アライナ713
及びIO書込ラッチ711に代替でき、I/OMUX6
30は、IO読取ラッチ731及びIO読取ラッチ71
1に代替し得る。GP読取MUX620は、IO書込ラ
ッチ721及びマイクロキャッシュ722に代替し得
る。
【0057】マイクロキャッシュ722は、メインキャ
ッシュ、SRAMブロック270及び、ROM260と
を、汎用プロセッサ210に接続する。マイクロキャッ
シュ722は、マイクロ命令キャッシュとマイクロデー
タキャッシュから分けられ、それぞれは、タグ部822
(図8に図示)、タグ比較器及び有効ビットを含む。マ
イクロキャッシュ722は、プリフェッチ(pre-fetch)
バッファとして作動する。汎用プロセッサ210からの
要求のアドレスは、まずマイクロキャッシュ722のタ
グ部822と比較される。マイクロキャッシュミス(mis
s)が発生すると(すなわち、マイクロキャッシュタグ8
22内にマッチがなければ)、要求のアドレスと他の制
御情報がメインキャッシュに送られるようになる。マイ
クロキャッシュ722の構成を単純化するため、マイク
ロキャッシュ722内のタグをマッチさせる汎用プロセ
ッサ210から書かれたデータが、マイクロキャッシュ
アドレスを無効化させることにより、書かれたデータが
メインキャッシュに送られるようになる。このようなキ
ャッシュの統一性(coherence) は、マイクロキャッシュ
722上の複雑なライトバックまたはライトスルーデザ
インがなくても維持できる。
【0058】図8は、アドレスパイプライン420の一
実施の形態の構成図である。FBUSインターフェース
850は、4個の記入アドレス列(entry address queu
e) 及びライトバックラッチから構成される。FBUS
インターフェース850は、命令キャッシュ262から
の進行中の読取り、命令キャッシュ292からの進行中
の読取り、データキャッシュ294からの書込要求及
び、データキャッシュ294からのライトバック要求と
を同時にサポートする。読取り動作要求のためのアドレ
スは、読取りアドレスMUX820に送られ、書込動作
要求のためのアドレスは、書込アドレスMUX810に
送られる。キャッシュ制御部280(図2参照)は、要
求のデバイスIDに基づいて、汎用プロセッサ210、
ベクトルプロセッサ220、IOBUS240及びFB
US250間の調整(arbitration) を行う。キャッシュ
制御部280は、データパイプライン410及びデータ
パイプライン420の多様な回線多重化装置を構成し要
求を処理する。アービトレーション方式は、それぞれの
デバイスの重要性の推定に基づいて決定できる。汎用プ
ロセッサ210は、優先順位が最も高い。上述したとお
りキャッシュサブシステム230は、読取り及び書込動
作を同時に遂行することができる。従って、別途の比較
器が読取り及び書込要求のために必要である。比較器8
11は、書込アドレスMUX810からの書込アドレス
を、書込タグポート(406−1)を通し受け入れたア
ドレスと比較し、現在要求された書込アドレスが、キャ
ッシュにあるかを決定する。アドレスがキャッシュにあ
る場合は、キャッシュはマッチングされるキャッシュ位
置で新しいデータに更新する。アドレスがキャッシュに
ない場合は、アドレスとデータが使用されないキャッシ
ュ位置、または一番最近にアクセスされたキャッシュ位
置内のキャッシュに書き込まれる。結局、データはライ
トバックまたはライトスルーキャッシュ記述により、適
切に直接的にマッピングされたデバイスに送られる。
【0059】比較器821は、読取アドレスMUX82
0からの読取り要求の読取りアドレスと、読取りタグポ
ート(406−2)を通し受け入れたアドレスとを比較
する。タグが読取りアドレスとマッチすると、タグと関
連したデータがデータパイプライン410を利用する要
求されるデバイスに送られる。上述した通り、トランザ
クションプロトコルが使用される場合、データはデバイ
スID、トランザクションID及び、要求されたアドレ
スと共に復旧する。タグが読取りアドレスとマッチしな
ければ、キャッシュサブシステム230は、適切に直接
にメモリマッピングされたデバイスから要求されたデー
タを検索しなければならない。要求されたデータが検索
(retrieve)されると、要求されたデータ、デバイスI
D、トランザクションID及び、アドレスが、要求され
ているデバイスに送られる。1番目の要求のためのデー
タが検索される間、キャッシュサブシステム230は、
2番目の読取り要求をサービスすることができるので、
キャッシュを必要とする2番目のデバイスは、1番目の
デバイスにより妨害されない。
【0060】以上、本発明の実施の形態を説明したが本
発明は上述した実施の形態に限定されるものではない。
本発明の技術思想から外れない範囲内で、本発明が属す
る技術分野で通常の知識を有する者による、データパイ
プライン、スイッチボード、アドレスパイプライン、キ
ャッシュサブシステム、回線多重化装置、ラッチ、バ
ス、プロセッサが異なる他の構成のデジタル信号プロセ
ッサは本発明に含まれる。
【図面の簡単な説明】
【図1】本発明の一実施例によるマルチメディア信号プ
ロセッサの構成図。
【図2】本発明の一実施例によるマルチメディアカード
の構成図。
【図3】本発明の一実施例によるマルチメディア信号プ
ロセッサを含むシステムのプロセッサと、ソフトウェア
またはファームウェア間の関係を示す図面。
【図4】本発明の一実施例によるキャッシュサブシステ
ムの構成図。
【図5】本発明の一実施例によるメモリマップを図示し
た図面。
【図6】本発明の一実施例によるキャッシュサブシステ
ムに使用される第1データパイプラインの構成図。
【図7】本発明の一実施例によるキャッシュサブシステ
ムに使用される第2データパイプラインの構成図。
【図8】本発明の一実施例によるキャッシュサブシステ
ムに使用されるアドレスパイプラインの構成図。
【符号の説明】
100:マルチメディアカード 105:ローカルバス 110:マルチメディアプロセッサ 120:ローカルメモリ 132、134、142、144、146、48:コン
バーター 140:集積回路 150:グラフィックコントローラー 210:汎用プロセッサ 220:ベクトルプロセッサ 222:インタラプトライン 230:キャッシュサブシステム 240:IOBUS 242:システムタイマー 243:UART 245:ビットストリームプロセッサ 248:インタラプトコントローラー 250:FBUS 252、255:デバイスインターフェース 258:コントローラー 260:SRAMブロック 262、292:命令キャッシュ 264:データキャッシュ 270:ROM 280:キャッシュ制御部 300:ホストコンピュータシステム 310:第1プロセッサ 320:主メモリ 330:アプリケーションプログラム 342:デバイスドライバ 360:オペレーティングシステム 370:一般タスク 380:ベクトルデータタスク 410:データパイプライン 420:アドレスパイプライン 430:書込ポート 440:読取りポート 472:タグフィールド

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 汎用プロセッサと、 前記汎用プロセッサと並列に駆動できるベクトルプロセ
    ッサと、を含むことを特徴とする集積化されたデジタル
    信号プロセッサ。
  2. 【請求項2】 前記汎用プロセッサが、 1セットのスカラーレジスタと、 命令デコードユニットと、 前記命令デコードユニットによりデコーディングされた
    命令に従って、複数個のスカラー値を処理するプロセッ
    シングコアとを含むことを特徴とする請求項1記載の集
    積化されたデジタル信号プロセッサ。
  3. 【請求項3】 前記ベクトルプロセッサが、 1セットのベクトルレジスタと、 第2命令デコードユニットと、 前記第2命令デコードユニットによりデコーディングさ
    れた命令に従って複数個のベクトル値を処理する第2プ
    ロセッシングコアを含むことを特徴とする請求項2記載
    の集積化されたデジタル信号プロセッサ。
  4. 【請求項4】 前記汎用プロセッサ及びベクトルプロセ
    ッサに接続され、メモリキャッシュを備えたキャッシュ
    サブシステムがさらに含まれることを特徴とする請求項
    1記載の集積化されたデジタル信号プロセッサ。
  5. 【請求項5】 前記キャッシュサブシステムが、 キャッシュ読取りポートとキャッシュ書込ポートとを含
    み、前記キャッシュ読取りポート及びキャッシュ書込ポ
    ートへの同時アクセスを支援することを特徴とする請求
    項4記載の集積化されたデジタル信号プロセッサ。
  6. 【請求項6】 前記キャッシュサブシステムが前記汎用
    プロセッサ及びベクトルプロセッサに接続されたデータ
    パイプラインと、前記汎用プロセッサ及びベクトルプロ
    セッサに接続されたアドレスパイプラインをさらに含
    み、前記メモリキャッシュが前記データパイプライン及
    びアドレスパイプラインに接続されたSRAMキャッシ
    ュと、前記データパイプライン及びアドレスパイプライ
    ンに接続されたROMキャッシュとを含むことを特徴と
    する請求項4記載の集積化されたデジタル信号プロセッ
    サ。
  7. 【請求項7】 前記キャッシュサブシステムに接続され
    た第1バスと、キャッシュサブシステムに接続された第
    2バスがさらに含まれることを特徴とする請求項4記載
    の集積化されたデジタル信号プロセッサ。
  8. 【請求項8】 前記第1バスが前記第2バスの第2バス
    帯域幅より大きい第1帯域幅を有することを特徴とする
    請求項7記載の集積化されたデジタル信号プロセッサ。
  9. 【請求項9】 第2バスに接続されたビットストリーム
    プロセッサと、第1バスに接続されたローカルバスイン
    ターフェースがさらに含まれることを特徴とする請求項
    8記載の集積化されたデジタル信号プロセッサ。
  10. 【請求項10】 前記ローカルバスインターフェースが
    コンピュータシステムの第1プロセッサのローカルバス
    に接続されることを特徴とする請求項9記載の集積化さ
    れたデジタル信号プロセッサ。
  11. 【請求項11】 前記キャッシュサブシステムは、ベク
    トルプロセッサ、汎用プロセッサ、第1バス及び第2バ
    ス間の複数個の通信経路を提供するように構成されるこ
    とを特徴とする請求項9記載の集積化されたデジタル信
    号プロセッサ。
  12. 【請求項12】 前記キャッシュサブシステムは第1キ
    ャッシュ要求によりアクセスされることを特徴とする請
    求項7記載の集積化されたデジタル信号プロセッサ。
  13. 【請求項13】 前記第1キャッシュ要求が終了のため
    に複数個の周期を必要とする場合、前記キャッシュサブ
    システムは、前記第1キャッシュ要求を終了する前に第
    2キャッシュ要求を受け入れることができることを特徴
    とする請求項12記載の集積化されたデジタル信号プロ
    セッサ。
JP22241597A 1996-08-19 1997-08-19 マルチメディア信号プロセッサ内におけるマルチプロセッサ駆動装置 Expired - Fee Related JP3954163B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US69710296A 1996-08-19 1996-08-19
US08/697102 1996-08-19

Publications (2)

Publication Number Publication Date
JPH1091596A true JPH1091596A (ja) 1998-04-10
JP3954163B2 JP3954163B2 (ja) 2007-08-08

Family

ID=24799807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22241597A Expired - Fee Related JP3954163B2 (ja) 1996-08-19 1997-08-19 マルチメディア信号プロセッサ内におけるマルチプロセッサ駆動装置

Country Status (7)

Country Link
US (1) US6425054B1 (ja)
JP (1) JP3954163B2 (ja)
KR (1) KR100280285B1 (ja)
CN (1) CN1129078C (ja)
DE (1) DE19735981B4 (ja)
FR (1) FR2752466B1 (ja)
TW (1) TW346573B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100771728B1 (ko) * 2000-12-09 2007-10-30 엘지엔시스(주) 자동은행거래단말기에서의 상호 스레드 통신방법

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US6804726B1 (en) * 1996-05-22 2004-10-12 Geovector Corporation Method and apparatus for controlling electrical devices in response to sensed conditions
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
EP1329816B1 (de) 1996-12-27 2011-06-22 Richter, Thomas Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US5933855A (en) 1997-03-21 1999-08-03 Rubinstein; Richard Shared, reconfigurable memory architectures for digital signal processing
US6895452B1 (en) 1997-06-04 2005-05-17 Marger Johnson & Mccollom, P.C. Tightly coupled and scalable memory and execution unit architecture
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
WO1999060480A1 (en) * 1998-05-15 1999-11-25 Richard Rubinstein Shared, reconfigurable cache memory execution subsystem
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US7558472B2 (en) 2000-08-22 2009-07-07 Tivo Inc. Multimedia signal processing system
US6700588B1 (en) * 1998-11-09 2004-03-02 Broadcom Corporation Apparatus and method for blending graphics and video surfaces
EP1059781B1 (de) 1999-05-06 2007-09-05 Siemens Aktiengesellschaft Kommunikationseinrichtung mit Mitteln zur Echtzeitverarbeitung von zu übertragenden Nutzdaten
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US6668299B1 (en) 1999-09-08 2003-12-23 Mellanox Technologies Ltd. Software interface between a parallel bus and a packet network
US6580767B1 (en) * 1999-10-22 2003-06-17 Motorola, Inc. Cache and caching method for conventional decoders
US6624819B1 (en) * 2000-05-01 2003-09-23 Broadcom Corporation Method and system for providing a flexible and efficient processor for use in a graphics processing system
EP1342158B1 (de) 2000-06-13 2010-08-04 Richter, Thomas Pipeline ct-protokolle und -kommunikation
DE10029675A1 (de) * 2000-06-23 2002-01-31 Dialog 4 System Engineering Gm Elektronisches Audiogerät
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7003450B2 (en) * 2000-10-20 2006-02-21 Pts Corporation Methods and apparatus for efficient vocoder implementations
WO2005045692A2 (en) 2003-08-28 2005-05-19 Pact Xpp Technologies Ag Data processing device and method
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US20030088407A1 (en) * 2001-04-02 2003-05-08 Yi Hu Codec
WO2002103532A2 (de) * 2001-06-20 2002-12-27 Pact Xpp Technologies Ag Verfahren zur bearbeitung von daten
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
AU2003208266A1 (en) 2002-01-19 2003-07-30 Pact Xpp Technologies Ag Reconfigurable processor
ATE402446T1 (de) 2002-02-18 2008-08-15 Pact Xpp Technologies Ag Bussysteme und rekonfigurationsverfahren
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US7394284B2 (en) 2002-09-06 2008-07-01 Pact Xpp Technologies Ag Reconfigurable sequencer structure
DE10254255A1 (de) * 2002-11-20 2004-06-17 Werner Wirsum Verfahren zur Leistungsbesserung von Audioanwendungen auf Computern unter Einbeziehung sog. Grafikkarten in die Datenberechnung
JP4542308B2 (ja) * 2002-12-16 2010-09-15 株式会社ソニー・コンピュータエンタテインメント 信号処理用デバイス及び情報処理機器
US20040128485A1 (en) * 2002-12-27 2004-07-01 Nelson Scott R. Method for fusing instructions in a vector processor
KR100463205B1 (ko) * 2003-02-13 2004-12-23 삼성전자주식회사 시퀀셜 버퍼를 내장하여 디에스피의 데이터 억세스 성능을향상시키는 컴퓨터 시스템 및 그 컴퓨터 시스템의 데이터억세스 방법
CN1792097A (zh) 2003-05-19 2006-06-21 皇家飞利浦电子股份有限公司 具有低存储器带宽要求的视频处理设备
JP2005057738A (ja) * 2003-07-18 2005-03-03 Canon Inc 信号処理装置、信号処理方法及びプログラム
JP4699685B2 (ja) * 2003-08-21 2011-06-15 パナソニック株式会社 信号処理装置及びそれを用いた電子機器
US7627039B2 (en) * 2003-09-05 2009-12-01 Realnetworks, Inc. Parallel video decoding
US6993598B2 (en) * 2003-10-09 2006-01-31 International Business Machines Corporation Method and apparatus for efficient sharing of DMA resource
JP4009306B2 (ja) * 2003-11-18 2007-11-14 松下電器産業株式会社 キャッシュメモリおよびその制御方法
US7136943B2 (en) * 2004-03-18 2006-11-14 International Business Machines Corporation Method and apparatus for managing context switches using a context switch history table
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
WO2007082730A1 (de) 2006-01-18 2007-07-26 Pact Xpp Technologies Ag Hardwaredefinitionsverfahren
US7693257B2 (en) 2006-06-29 2010-04-06 Accuray Incorporated Treatment delivery optimization
KR100882949B1 (ko) 2006-08-17 2009-02-10 한국전자통신연구원 화소 유사성에 따라 적응적인 이산 코사인 변환 계수스캐닝을 이용한 부호화/복호화 장치 및 그 방법
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
US20100191913A1 (en) * 2009-01-26 2010-07-29 Agere Systems Inc. Reconfiguration of embedded memory having a multi-level cache
CN101567732B (zh) * 2009-06-05 2012-07-04 北京派瑞根科技开发有限公司 实现模拟多媒体广播内容过滤的方法
EP2339795B1 (en) * 2009-12-07 2013-08-14 STMicroelectronics (Research & Development) Limited Inter-chip communication interface for a multi-chip package
EP2339475A1 (en) * 2009-12-07 2011-06-29 STMicroelectronics (Research & Development) Limited Inter-chip communication interface for a multi-chip package
EP2333830B1 (en) 2009-12-07 2014-09-03 STMicroelectronics (Research & Development) Limited a package comprising a first and a second die coupled by a multiplexed bus
EP2333673B1 (en) * 2009-12-07 2014-04-16 STMicroelectronics (Research & Development) Limited Signal sampling and transfer
EP2330514B1 (en) 2009-12-07 2018-12-05 STMicroelectronics (Research & Development) Limited An integrated circuit package
US8959501B2 (en) * 2010-12-14 2015-02-17 Microsoft Corporation Type and length abstraction for data types
US8521937B2 (en) * 2011-02-16 2013-08-27 Stmicroelectronics (Grenoble 2) Sas Method and apparatus for interfacing multiple dies with mapping to modify source identity
US8836709B2 (en) * 2011-08-18 2014-09-16 International Business Machines Corporation Vector register file caching of context data structure for maintaining state data in a multithreaded image processing pipeline
CN102968379B (zh) * 2012-10-24 2015-05-06 无锡江南计算技术研究所 一种寄存器分配方法、系统及处理器
WO2015194172A1 (ja) * 2014-06-19 2015-12-23 日本電気株式会社 情報処理装置、データ格納方法、及び、記録媒体
US9818337B2 (en) * 2014-07-24 2017-11-14 Sct Technology, Ltd. LED display control circuit with PWM circuit for driving a plurality of LED channels
KR102446677B1 (ko) * 2015-11-26 2022-09-23 삼성전자주식회사 스토리지 컨트롤러의 동작 방법 및 상기 스토리지 컨트롤러를 포함하는 데이터 저장 장치의 동작 방법

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4349871A (en) * 1980-01-28 1982-09-14 Digital Equipment Corporation Duplicate tag store for cached multiprocessor system
US4300763A (en) * 1980-02-21 1981-11-17 Barr Samuel J Psychological game device
US4541046A (en) * 1981-03-25 1985-09-10 Hitachi, Ltd. Data processing system including scalar data processor and vector data processor
US4394540A (en) 1981-05-18 1983-07-19 Timex Corporation Remote meter reader and method for reading meters over non-dedicated telephone lines
JPS6467680A (en) 1987-09-09 1989-03-14 Hitachi Ltd Vector processor
US4888679A (en) * 1988-01-11 1989-12-19 Digital Equipment Corporation Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements
JP2570845B2 (ja) * 1988-05-27 1997-01-16 セイコーエプソン株式会社 情報処理装置
US5040109A (en) 1988-07-20 1991-08-13 Digital Equipment Corporation Efficient protocol for communicating between asychronous devices
US6070003A (en) 1989-11-17 2000-05-30 Texas Instruments Incorporated System and method of memory access in apparatus having plural processors and plural memories
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
JP2825906B2 (ja) 1990-02-01 1998-11-18 株式会社日立製作所 計算機システム
US5263144A (en) 1990-06-29 1993-11-16 Digital Equipment Corporation Method and apparatus for sharing data between processors in a computer system
US5666510A (en) 1991-05-08 1997-09-09 Hitachi, Ltd. Data processing device having an expandable address space
US5530881A (en) * 1991-06-06 1996-06-25 Hitachi, Ltd. Vector processing apparatus for processing different instruction set architectures corresponding to mingled-type programs and separate-type programs
US5551010A (en) 1991-11-19 1996-08-27 Fujitsu Limited Arithmetic operation unit and memory accessing device for accessing primary and secondary cache memories independently of a CPU
US5930522A (en) * 1992-02-14 1999-07-27 Theseus Research, Inc. Invocation architecture for generally concurrent process resolution
US5669010A (en) 1992-05-18 1997-09-16 Silicon Engines Cascaded two-stage computational SIMD engine having multi-port memory and multiple arithmetic units
US5418973A (en) 1992-06-22 1995-05-23 Digital Equipment Corporation Digital computer system with cache controller coordinating both vector and scalar operations
US5423051A (en) * 1992-09-24 1995-06-06 International Business Machines Corporation Execution unit with an integrated vector operation capability
JP2765411B2 (ja) 1992-11-30 1998-06-18 株式会社日立製作所 仮想計算機方式
US5502683A (en) 1993-04-20 1996-03-26 International Business Machines Corporation Dual ported memory with word line access control
US5546586A (en) 1993-05-06 1996-08-13 Apple Computer, Inc. Method and apparatus for vectorizing the contents of a read only memory device without modifying underlying source code
US5615343A (en) 1993-06-30 1997-03-25 Intel Corporation Method and apparatus for performing deferred transactions
US5644756A (en) 1995-04-07 1997-07-01 Motorola, Inc. Integrated circuit data processor with selectable routing of data accesses
US5822606A (en) 1996-01-11 1998-10-13 Morton; Steven G. DSP having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
US5949439A (en) 1996-08-15 1999-09-07 Chromatic Research, Inc. Computing apparatus and operating method using software queues to improve graphics performance

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100771728B1 (ko) * 2000-12-09 2007-10-30 엘지엔시스(주) 자동은행거래단말기에서의 상호 스레드 통신방법

Also Published As

Publication number Publication date
DE19735981A1 (de) 1998-03-26
KR19980018069A (ko) 1998-06-05
DE19735981B4 (de) 2007-02-22
US6425054B1 (en) 2002-07-23
FR2752466A1 (fr) 1998-02-20
JP3954163B2 (ja) 2007-08-08
CN1129078C (zh) 2003-11-26
TW346573B (en) 1998-12-01
FR2752466B1 (fr) 2005-01-07
KR100280285B1 (ko) 2001-02-01
CN1175037A (zh) 1998-03-04

Similar Documents

Publication Publication Date Title
JP3954163B2 (ja) マルチメディア信号プロセッサ内におけるマルチプロセッサ駆動装置
US5860158A (en) Cache control unit with a cache request transaction-oriented protocol
US5966734A (en) Resizable and relocatable memory scratch pad as a cache slice
JP4426099B2 (ja) 共有メモリを有するマルチプロセッサ装置
KR100267091B1 (ko) 비대칭싱글-칩이중멀티프로세서의정합및동기화
US5860086A (en) Video processor with serialization FIFO
US11436695B2 (en) Coarse grain coherency
US5099417A (en) Data processing device with improved direct memory access
US4908748A (en) Data processing device with parallel circular addressing hardware
US5638531A (en) Multiprocessor integrated circuit with video refresh logic employing instruction/data caching and associated timing synchronization
US20020116595A1 (en) Digital signal processor integrated circuit
US5875463A (en) Video processor with addressing mode control
US5828853A (en) Method and apparatus for interfacing two systems operating in potentially differing Endian modes
US11194722B2 (en) Apparatus and method for improved cache utilization and efficiency on a many core processor
US5696985A (en) Video processor
US5784076A (en) Video processor implementing various data translations using control registers
US5557759A (en) Video processor with non-stalling interrupt service
KR19980069757A (ko) 마이크로프로세서 및 멀티프로세서 시스템
US5983328A (en) Data processing device with time-multiplexed memory bus
US5907864A (en) Data processing device with time-multiplexed memory bus
JP2696578B2 (ja) データ処理装置
Morton A236 parallel DSP chip provides real-time video processing economically and efficiently
JPH01194055A (ja) 並列計算機及びそのデータ転送方法
JPH1165841A (ja) 演算処理装置およびその方法
JPS61260343A (ja) デ−タ処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060228

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060530

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060828

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070426

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees