JP2001022581A - データ処理装置及びコンピュータ読み取り可能な記憶媒体 - Google Patents

データ処理装置及びコンピュータ読み取り可能な記憶媒体

Info

Publication number
JP2001022581A
JP2001022581A JP11192281A JP19228199A JP2001022581A JP 2001022581 A JP2001022581 A JP 2001022581A JP 11192281 A JP11192281 A JP 11192281A JP 19228199 A JP19228199 A JP 19228199A JP 2001022581 A JP2001022581 A JP 2001022581A
Authority
JP
Japan
Prior art keywords
data
unit
storage
instruction
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11192281A
Other languages
English (en)
Inventor
Tsutomu Fukatsu
勉 普勝
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP11192281A priority Critical patent/JP2001022581A/ja
Publication of JP2001022581A publication Critical patent/JP2001022581A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 競合の少ないかつデータの依存関係の小さい
複数のデータ処理を並列化する場合の効率の低下を抑え
る。 【解決手段】 プログラムメモリai、制御部bi、演
算部ci、レジスタファイルdi(i=1,2,3,
4)によりプロセッサユニットuiが構成される。各プ
ロセッサユニットuiのデータアドレス空間には、デー
タメモリfがマッピングされると共に、他ユニットのレ
ジスタファイルdiもマッピングされている。各ユニッ
トuiから出力されたデータアドレスは、調停部eでデ
コードされ、該当するデータメモリf、レジスタファイ
ルdiへのアドレス、読み出し・書き込み等の制御信号
を生成するようになされている。これによって、各プロ
セッサユニットui間のレジスタデータ転送を通常のロ
ードストア命令で行うことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディジタル映像・
音声信号等のデータをソフトウェアに従い処理するデー
タ処理装置及びそれに用いられるコンピュータ読み取り
可能な記憶媒体に関するものである。
【0002】
【従来の技術】ビデオ、オーディオなどのディジタルデ
ータを、低消費電力、低コストで処理し、これらの処理
がソフトウェアで規定されるようになされているメディ
アプロセッサなどと呼ばれるメディア処理デバイスがあ
る。メディアプロセッサは、その動作がプログラムで規
定されることにより拡張性、柔軟性を有し、複雑な処理
を実現することが可能になっている。モーションビデオ
などでは高速な処理が必要とされるため、メディアプロ
セッサの中にはVLIWと呼ばれる構成を有しているも
のがある。
【0003】汎用プロセッサでは、プログラムの互換性
を確保する必要性から、1次元ストリームとしてプロセ
ッサ内部に供給された命令列から並列に実行可能な複数
の命令を選択し実行するための機構がハードウェアで実
現されている。この方式は、並列実行可能な命令を検索
する範囲が大きくできない、並列実行可能な命令を選択
する機構が処理能力をさらに向上させるうえでの妨げに
なる等の問題点がある。
【0004】そこで、近年登場したメディアプロセッサ
では、VLIWと呼ばれるアーキテクチャを採用し、並
列実行可能な命令の検索をハードウェアでなくソフトウ
ェア、即ち命令列を生成するコンパイラが行い、並列実
行可能な命令の検索範囲をより大きなものにし、且つハ
ードウェアをより高速で動作させることを企図した機構
が採用されている。
【0005】命令の並列実行を効率的に高速で行うため
には、レジスタ等のリソースの競合ができるだけ生じな
いようにする必要がある。このためメデイアプロセッサ
では、大容量の多数の入出力を有するレジスタファイル
が実装されている。
【0006】
【発明が解決しようとする課題】しかしながら、演算リ
ソースの一時記憶手段として大容量多入出力レジスタフ
ァイルを使用することは、元々全く独立した処理におい
ても共通のレジスタファイルを使用することになるた
め、記憶容量の不足、入出力の競合が生じやすいという
問題があった。
【0007】また、VLIWアーキテクチャでは、全て
の演算手段が同期して動作するため、全く独立した処理
であっても、もし競合が生じた場合には、マシン全体が
競合が解消するまで停止する等の問題があった。
【0008】本発明は、上記の問題を解決するために成
されたもので、本来リソースの競合やデータの依存関係
が小さい複数の処理を、上記のような要因による処理能
力の低下を小さくしながら並列処理できるようにするこ
とを目的とする。
【0009】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明によるデータ処理装置においては、それぞ
れ命令に応じた所定の演算を行う複数の演算手段と、各
演算手段に対応して設けられ各々の演算で用いられると
共に、各演算手段によりデータの読み出し・書き込みが
可能になされた複数の第1の記憶手段とを設けた点に特
徴を有する。
【0010】また、本発明による他のデータ処理装置に
おいては、命令列を記憶する第3の記憶手段、上記命令
に応じた所定の演算を行う演算手段、上記演算手段の演
算に用いられる第1の記憶手段、上記第3、第1の記憶
手段及び演算手段を制御する制御手段をそれぞれ有し、
互いに並列に動作する複数のデータ処理部と、上記各第
3の記憶手段との間でデータを転送する第2の記憶手段
と、上記各第1の記憶手段と第2の記憶手段間のデータ
転送を調停する調停手段とを設け、上記各データ処理部
のメモリ空間には、上記第2の記憶手段と他のデータ処
理部の第1の記憶手段がマッピングされている点に特徴
を有する。
【0011】また、本発明による記憶媒体においては、
第3の記憶手段から命令を読み出す読み出し処理と、上
記命令に応じた所定の演算を第1の記憶手段を用いて行
う演算処理と、上記読み出し処理と演算処理を異なるデ
ータ処理部において並列に行わせる並列処理と、上記各
データ処理部と第2の記憶手段間でデータを転送する転
送処理と、上記各データ処理部と第2の記憶手段間のデ
ータ転送を調停する調停処理と、上記各データ処理部の
演算処理に際して他のデータ処理部の第1の記憶手段に
対してデータの読み出し・書き込みを行う読み出し・書
き込み処理とを実行するためのプログラムを記憶した点
に特徴を有する。
【0012】
【発明の実施の形態】以下、本発明の実施の形態を図面
と共に説明する。図1は本発明の実施の形態によるデー
タ処理装置としての並列処理プロセッサを示すブロック
図である。本実施の形態では、4並列処理を実現する場
合の構成例について説明する。図1において、1、2、
3、4は、命令列の記憶手段としてのプログラムメモリ
a0,a1,a2,a3である。
【0013】5、6、7、8は制御部b0,b1,b
2,b3で、上記プログラムメモリ1〜4から読み出さ
れる命令列のデコード結果、及び、後述する演算部9〜
12の結果や後述する調停部17の状態に応じて上記プ
ログラムメモリ1〜4、演算部9〜12、後述するレジ
スタファイル13〜16、データメモリ18を制御する
ものである。
【0014】9、10、11、12は演算部c0,c
1,c2,c3で、上記制御部5〜8の制御に基づいて
レジスタファイル13〜16から読み出されたデータに
演算を施し、演算結果をレジスタファイル13〜16に
出力するものである。
【0015】13、14、15、16は一時記憶手段と
してのレジスタファイルd0,d1,d2,d3で、制
御部5〜8の制御に従いレジスタに記憶されたデータを
演算部9〜12、調停部17に供給すると共に、演算結
果や調停部17からのデータ出力が制御部5〜8の制御
に従い書き込まれるものである。
【0016】17は調停部eで、制御部5〜8の制御に
従いデータメモリ18とレジスタファイル13〜16間
のデータの読み出し・書き込みを調停してデータメモリ
18及びレジスタファイル13〜16へのデータの読み
出し・書き込みを行うものである。
【0017】18は、データを記憶するためのデータメ
モリfである。また、u0,u1,u2,u3は、それ
ぞれプログラムメモリa0,a1,a2,a3、制御部
b0,b1,b2,b3、演算部c0,c1,c2,c
3、レジスタファイルd0,d1,d2,d3で構成さ
れるプロセッサユニットである。
【0018】次に動作について説明する。制御部bi
(以下、i=0、1、2、3)より出力されるプログラ
ムアドレスに記憶された命令がプログラムメモリaiよ
り出力され、制御部biに取り込まれてデコードされ
る。制御部biは命令のデコード結果に基づき、プログ
ラムアドレス、レジスタファイルdi、演算部ciを制
御する。
【0019】例えば命令が演算命令であった場合は、制
御部biはレジスタファイルdiから命令に基づくレジ
スタの内容を読み出し、命令に基づくレジスタに演算結
果が書き込まれるようにレジスタファイルdiを制御し
たり、演算が即値を含むものであれば即値を演算部di
に供給したりする。
【0020】また、命令が分岐命令であった場合は、制
御部biは通常はインクリメントされていくプログラム
アドレスPADxを命令のデコード結果に基づき変化さ
せる。
【0021】また、命令が条件分岐命令であった場合
は、制御部biは命令で指定された値や演算部ciを経
由して得られたレジスタ値、又は演算結果と現在のプロ
グラムアドレス値などに基づいて、通常はインクリメン
トされているプログラムアドレスPADxを変化させ
る。
【0022】本実施の形態による並列処理プロセッサ
は、プログラムメモリai、制御部bi、演算部ci、
レジスタファイルdiによりプロセッサユニットu0,
u1,u2,u3を構成している。そして、各プロセッ
サユニットuiのデータアドレス空間には、データメモ
リfがマッピングされると共に、他のユニットのレジス
タファイルd0,d1,d2,d3もマッピングされて
いる。
【0023】従って、本実施の形態の並列処理プロセッ
サでは、プロセッサユニットui間のレジスタファイル
diのデータ転送を通常のロードストア命令で行うこと
が可能になっている。
【0024】図2は各プロセッサユニットuiのデータ
アドレス空間におけるマッピングの様子を表す図であ
る。プロセッサユニットu0には、データメモリfに加
えて、他のプロセッサユニットのレジスタファイルd
1,d2,d3がマッピングされている。プロセッサユ
ニットu1には、データメモリfに加えて、他のプロセ
ッサユニットのレジスタファイルd0,d2,d3がマ
ッピングされている。プロセッサユニットu2には、デ
ータメモリfに加えて、他のプロセッサユニットのレジ
スタファイルd0,d1,d3がマッピングされてい
る。プロセッサユニットu3には、データメモリfに加
えて、他のプロセッサユニットのレジスタファイルd
0,d1,d2がマッピングされている。
【0025】各プロセッサユニットuiから出力された
データアドレスは、調停部eでデコードされ、該当する
データメモリf、レジスタファイルdiへのアドレス、
読み出し・書き込み等の制御信号を生成するようになっ
ている。
【0026】プログラムメモリaiからの命令がロード
ストア命令であり、アクセスするデータアドレスがデー
タメモリfであったとき、制御部biは、命令のデコー
ド結果に従い、メモリ読み出し・書き込み制御やレジス
タ値、あるいは即値などからデータアドレスの制御を行
う。命令がストア命令の場合には、ストアするレジスタ
値をレジスタファイルdiから出力するための制御を行
い、ロード命令の場合には、ロードするレジスタ入力に
データを書き込むための制御を行う。
【0027】これらのデータアドレス、読み出し・書き
込み制御ストア時の書き込みデータは調停部eに供給さ
れる。調停部eは複数のプロセッサユニットuiからの
メモリアクセスの競合が生じたとき、これを調停してデ
ータメモリfヘの読み出し・書き込み動作を行う。
【0028】尚、メモリアクセスの競合が頻出する場合
には、調停部eにロード・ストアデータを一時記憶して
おくためのバッファリング手段を設けてもよいし、バッ
ファリングデータが他のプロセッサユニットuiからア
クセスされた場合のためのキャッシング手段を設けても
よい。
【0029】また、データロード時、調停部eは要求の
あったデータがデータメモリから読み出されたとき、そ
れをロード命令を発行したプロセッサユニットuiに通
報するようになされており、各プロセッサユニットui
は、ロードしたデータが取り込み可能なタイミングを知
ることができるようになされている。
【0030】命令がロードストア命令であり、アクセス
するデータアドレスが他のプロセッサユニットuiのレ
ジスタファイルであった場合には、制御部biは、命令
のデコード結果に従い、メモリ読み出し・書き込み制御
やレジスタ値、あるいは即値などからデータアドレスの
制御を行う。命令がストア命令の場合には、ストアする
レジスタ値をレジスタファイルdiから出力するための
制御を行い、ロード命令の場合は、ロードするレジスタ
入力にデータを書き込むための制御を行う。
【0031】これらデータアドレス、読み出し・書き込
み制御ストア時の書き込みデータは調停部eに供給され
る。調停部eは複数のプロセッサユニットuiからのメ
モリ空間にマッピングされたレジスタファイルdiのア
クセスに競合が生じたとき、これを調停してレジスタフ
ァイルdiへの読み出し・書き込み動作を行う。
【0032】各プロセッサユニットuiの制御部biか
ら調停部eには、各ユニットui自身のレジスタファイ
ルアクセス状況を表す信号が供給されており、他のプロ
セッサユニットuiから読み出し・書き込み要求があっ
たレジスタがアクセス可能なとき、そのレジスタファイ
ルdiに対してアクセスを行う。
【0033】尚、レジスタファイルdiの競合が頻出す
る場合は、データメモリの場合と同様に、バッファリン
グ、キャッシング等の手段を備えてもよい。また、ロー
ド命令が発行されたときは、調停部eはロード命令を発
行したプロセッサユニットuiにロードデータが調停部
eに取り込まれたことを表す信号を供給するようになさ
れている。
【0034】次に、本発明の他の実施の形態としての記
憶媒体について説明する。上述した図1による実施の形
態による並列処理プロセッサをCPUとメモリを有する
コンピュータシステムで構成する場合、上記メモリは本
発明による記憶媒体を構成する。この記憶媒体には、上
記実施の形態で説明した処理を実行するためのプログラ
ムが記憶される。
【0035】また、この記憶媒体としては、ROM、R
AM等の半導体メモリ、光ディスク、光磁気ディスク、
磁気記憶媒体等を用いてよく、これらをCD−ROM、
FD、磁気カード、磁気テープ、不揮発性メモリカード
等に構成して用いてよい。
【0036】従って、この記憶媒体を図1によるシステ
ム以外の他のシステムあるいは装置で用い、そのシステ
ムあるいはコンピュータがこの記憶媒体に格納されたプ
ログラムコードを読み出し、実行することによっても、
上記実施の形態と同等の機能を実現できると共に、同等
の効果を得ることができ、本発明の目的を達成すること
ができる。
【0037】また、コンピュータ上で稼働しているOS
等が処理の一部又は全部を行う場合、あるいは記憶媒体
から読み出されたプログラムコードが、コンピュータに
挿入された拡張機能ボードやコンピュータに接続された
拡張機能ユニットに備わるメモリに書き込まれた後、そ
のプログラムコードの指示に基づいて、上記拡張機能ボ
ードや拡張機能ユニットに備わるCPU等が処理の一部
又は全部を行う場合にも、上記実施の形態と同等の機能
を実現できると共に、同等の効果を得ることができ、本
発明の目的を達成することができる。
【0038】
【発明の効果】以上説明したように、本発明によれば、
複数のプロセッサユニットのレジスタファイルを他のプ
ロセッサユニットのメモリ空間にマッピングすることに
より、通常のロードストア命令でプロセッサユニット間
の通信を実現して、各プロセッサユニットで行われる処
理間でデータの授受を可能とし、且つ各プロセッサユニ
ット間の結合を疎として並列に行われる処理での競合・
依存関係を小さくして処理を並列化するのに伴う効率の
低下を小さくできるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施の形態によるデータ処理装置の構
成を示すブロック図である。
【図2】データメモリのアドレスマッピングを示す構成
図である。
【符号の説明】
1、2、3、4(a1,a2,a3,a4) プログラ
ムメモリ 5、6、7、8(b1,b2,b3,b4) 制御部 9、10、11、12(c1,c2,c3,c4)
演算部 13、14、15、16(d1,d2,d3,d4)
レジスタファイル 17(e) 調停部 18(f) データメモリ u1,u2,u3,u4 プロセッサユニット

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 それぞれ命令に応じた所定の演算を行う
    複数の演算手段と、 各演算手段に対応して設けられ各々の演算で用いられる
    と共に、各演算手段によりデータの読み出し・書き込み
    が可能になされた複数の第1の記憶手段とを設けたこと
    を特徴とするデータ処理装置。
  2. 【請求項2】 上記各第1の記憶手段との間でデータを
    転送する第2の記憶手段と、 上記各第1の記憶手段と第2の記憶手段間のデータ転送
    を調停する調停手段とを設けたことを特徴とする請求項
    1に記載のデータ処理装置。
  3. 【請求項3】 命令列を記憶する複数の第3の記憶手段
    と、 各第3の記憶手段から命令を読み出し、その命令に応じ
    て上記各演算手段及び各第1の記憶手段を制御すると共
    に、上記調停手段を介して上記第2の記憶手段を制御す
    る複数の制御手段とを設けたことを特徴とする請求項2
    に記載のデータ処理装置。
  4. 【請求項4】 命令列を記憶する第3の記憶手段、上記
    命令に応じた所定の演算を行う演算手段、上記演算手段
    の演算に用いられる第1の記憶手段、上記第3、第1の
    記憶手段及び演算手段を制御する制御手段をそれぞれ有
    し、互いに並列に動作する複数のデータ処理部と、 上記各第3の記憶手段との間でデータを転送する第2の
    記憶手段と、 上記各第1の記憶手段と第2の記憶手段間のデータ転送
    を調停する調停手段とを有し、 上記各データ処理部のメモリ空間には、上記第2の記憶
    手段と他のデータ処理部の第1の記憶手段がマッピング
    されていることを特徴とするデータ処理装置。
  5. 【請求項5】 第3の記憶手段から命令を読み出す読み
    出し処理と、 上記命令に応じた所定の演算を第1の記憶手段を用いて
    行う演算処理と、 上記読み出し処理と演算処理を異なるデータ処理部にお
    いて並列に行わせる並列処理と、 上記各データ処理部と第2の記憶手段間でデータを転送
    する転送処理と、 上記各データ処理部と第2の記憶手段間のデータ転送を
    調停する調停処理と、 上記各データ処理部の演算処理に際して他のデータ処理
    部の第1の記憶手段に対してデータの読み出し・書き込
    みを行う読み出し・書き込み処理とを実行するためのプ
    ログラムを記憶したことを特徴とするコンピュータ読み
    取り可能な記憶媒体。
JP11192281A 1999-07-06 1999-07-06 データ処理装置及びコンピュータ読み取り可能な記憶媒体 Pending JP2001022581A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11192281A JP2001022581A (ja) 1999-07-06 1999-07-06 データ処理装置及びコンピュータ読み取り可能な記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11192281A JP2001022581A (ja) 1999-07-06 1999-07-06 データ処理装置及びコンピュータ読み取り可能な記憶媒体

Publications (1)

Publication Number Publication Date
JP2001022581A true JP2001022581A (ja) 2001-01-26

Family

ID=16288679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11192281A Pending JP2001022581A (ja) 1999-07-06 1999-07-06 データ処理装置及びコンピュータ読み取り可能な記憶媒体

Country Status (1)

Country Link
JP (1) JP2001022581A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006500673A (ja) * 2002-09-24 2006-01-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 処理装置、処理方法及びコンパイラ
CN110825312A (zh) * 2018-08-10 2020-02-21 北京百度网讯科技有限公司 数据处理装置、人工智能芯片及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006500673A (ja) * 2002-09-24 2006-01-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 処理装置、処理方法及びコンパイラ
CN110825312A (zh) * 2018-08-10 2020-02-21 北京百度网讯科技有限公司 数据处理装置、人工智能芯片及电子设备
CN110825312B (zh) * 2018-08-10 2023-06-23 昆仑芯(北京)科技有限公司 数据处理装置、人工智能芯片及电子设备

Similar Documents

Publication Publication Date Title
US5867704A (en) Multiprocessor system shaving processor based idle state detection and method of executing tasks in such a multiprocessor system
US9244883B2 (en) Reconfigurable processor and method of reconfiguring the same
KR100538727B1 (ko) 멀티 프로세서 시스템
JP2007133456A (ja) 半導体装置
US20130036426A1 (en) Information processing device and task switching method
US9886278B2 (en) Computing architecture and method for processing data
JP2008107983A (ja) キャッシュメモリ
JP3797570B2 (ja) セマフォ命令用のセマフォ・バッファを用いた装置と方法
JPH1097423A (ja) ループ処理の並列実行制御に適したレジスタ構成を有するプロセッサ
JPH03233630A (ja) 情報処理装置
JP2001022581A (ja) データ処理装置及びコンピュータ読み取り可能な記憶媒体
KR100764581B1 (ko) 마이크로프로세서
JP2009199384A (ja) データ処理装置
JP4631442B2 (ja) プロセッサ
WO2018138975A1 (ja) 演算処理装置および情報処理システム
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JPH07114509A (ja) メモリアクセス装置
JP3574693B2 (ja) 命令処理プロセッサ
CN117971349A (zh) 计算设备、为计算设备配置虚拟寄存器的方法、控制设备、计算机可读存储介质和计算机程序产品
JPH04291642A (ja) キャッシュ制御方式
JP2742245B2 (ja) 並列計算機
JP2001188764A (ja) マルチプロセッサシステム
JP2000194554A (ja) 演算処理装置
JPH0279122A (ja) 浮動小数点演算機構
JPH0321941B2 (ja)