JP2012103772A - プロセッサおよびそれを用いた画像処理システム - Google Patents
プロセッサおよびそれを用いた画像処理システム Download PDFInfo
- Publication number
- JP2012103772A JP2012103772A JP2010249584A JP2010249584A JP2012103772A JP 2012103772 A JP2012103772 A JP 2012103772A JP 2010249584 A JP2010249584 A JP 2010249584A JP 2010249584 A JP2010249584 A JP 2010249584A JP 2012103772 A JP2012103772 A JP 2012103772A
- Authority
- JP
- Japan
- Prior art keywords
- data
- output
- groups
- processor
- mode
- 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.)
- Withdrawn
Links
- 238000012545 processing Methods 0.000 title claims description 61
- 238000001514 detection method Methods 0.000 claims abstract description 65
- 238000012937 correction Methods 0.000 claims description 46
- 238000000034 method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/183—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
- G06F11/184—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1683—Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/845—Systems in which the redundancy can be transformed in increased performance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Hardware Redundancy (AREA)
Abstract
【課題】演算結果の信頼性と並列度との最適化を図ることが可能なプロセッサを提供すること。
【解決手段】通常モードが設定されている場合に、PE群11〜26のデータレジスタに別個の演算対象のデータが書き込まれ、エラー検出モードが設定されている場合に、PE群11〜18のデータレジスタと、PE群19〜26のデータレジスタとに同じ演算対象のデータが書き込まれる。通常モードが設定されている場合に、マルチプレクサ40〜42が、PE群11〜26から出力される演算結果を別個の演算結果として選択的に出力し、エラー検出モードが設定されている場合に、判定回路43がPE群11〜18と、PE群19〜26とから出力される演算結果を比較し、一致するときにマルチプレクサ40〜42がその演算結果を出力し、一致しないときに判定回路43が外部にエラー検出を通知する。したがって、演算結果の信頼性と並列度との最適化を図ることが可能となる。
【選択図】図2
【解決手段】通常モードが設定されている場合に、PE群11〜26のデータレジスタに別個の演算対象のデータが書き込まれ、エラー検出モードが設定されている場合に、PE群11〜18のデータレジスタと、PE群19〜26のデータレジスタとに同じ演算対象のデータが書き込まれる。通常モードが設定されている場合に、マルチプレクサ40〜42が、PE群11〜26から出力される演算結果を別個の演算結果として選択的に出力し、エラー検出モードが設定されている場合に、判定回路43がPE群11〜18と、PE群19〜26とから出力される演算結果を比較し、一致するときにマルチプレクサ40〜42がその演算結果を出力し、一致しないときに判定回路43が外部にエラー検出を通知する。したがって、演算結果の信頼性と並列度との最適化を図ることが可能となる。
【選択図】図2
Description
本発明は、画像処理アプリケーションなどを高速に処理する技術に関し、特に、単一命令複数データ流(SIMD:Single Instruction Multiple Data stream)の演算方式を用いて大量のデータを高速に処理するプロセッサおよびそれを用いた画像処理システムに関する。
近年、音声や画像といった大量のデータを高速に処理するデジタル信号処理の重要性が高まってきている。このようなデジタル信号処理においては、一般に専用の半導体装置としてDSP(Digital Signal Processor)が用いられることが多い。しかしながら、信号処理アプリケーション、特に画像処理アプリケーションにおいては、処理対象のデータ量が非常に大きいため、DSPでも処理能力が十分ではない。
これに対して、複数の演算器を並列に動作させることによって高い信号処理性能を実現する並列プロセッサ技術の開発が進んでいる。このような専用プロセッサをCPU(Central Processing Unit)に付随するアクセラレータとして用いれば、組み込み機器に搭載されるLSIのように低消費電力、低コストが要求される場合においても高い信号処理性能を実現することができる。
SIMD型プロセッサを信号処理アプリケーション、画像処理アプリケーションなどに適用する場合、演算結果の信頼性向上のためにエラー検出やエラー訂正などの機能が必要となる。このとき、データパス上にパリティ判定回路やECC(Error Check and Correction)回路などが組み込まれることが多い。これに関連する技術として、下記の特許文献1〜4に開示された発明がある。
特許文献1は、プロセッサエレメント等の資源の有効活用ができ、縮退動作が実現でき、プロセッサエレメントの数を増やさずに冗長度を高めることを目的とする。複数のタスクに分けられたアプリケーションプログラムを記憶媒体に格納し、これらのタスクをCPU内の複数のプロセッサエレメント上で重複させて実行し、タスクの処理結果をプロセッサエレメント間インタフェースを介して各プロセッサエレメント間で送受信して多数決によって決める。そして、多数決の結果と異なる処理結果を出したタスクを停止し、このタスクと同一のタスクを代替タスクとして他のプロセッサエレメント上で実行させるようにして、タスクを冗長管理の単位とする。
特許文献2は、いわゆる二重プロセッサ・モードで互いに並列して動作する第1および第2計算ユニットを有するプロセッサの中に読み込まれる命令に属するデータ・ワードのビット誤りチェックで利用可能な情報を利用する方法に関する。このプロセッサ構造はまた読み込みデータ内の起こりうるビット誤りを連続的にチェックすることを意図した第3および第4計算ユニットと、並列動作ユニットからの出力データを比較するための比較器と、比較器内で出力データ間の差が検出された際にどちらの計算ユニットが正しい出力データを出したかを判定するように適合された診断ユニットと、そしてプロセッサ構造からの出力データが正しい出力データを出した計算ユニットから出されるよう制御するように適合された制御ユニットとを含む。プロセッサは出力データ間の差が比較器内で検出された時に単一プロセッサ・モードに切り替わる。プロセッサが二重プロセッサ・モードで動作している時はデータ・ワードは起こりうるビット誤りを訂正することなくそれぞれの計算ユニットの中に直接読み込まれ、第3および第4計算ユニットからの情報は診断ユニット内での判定を行うために使用される。ビット誤り制御およびビット誤り訂正はプロセッサが単一プロセッサ・モードで動作中は既知の方法で使用される。
特許文献3は、SRAMアレイの各列ごとに演算器を配置し、メモリセル列(エントリ)との対応の演算器の間でデータ転送を行なって並列演算を実行する構成が示されている。
特許文献4は、並列演算を実行する主演算回路において、データを記憶するために、ダイナミック型メモリセルを有するDRAMセルアレイを配置し、DRAMセルアレイの所定数のビット線対に対応して演算エレメントが配置された演算回路との間で1ビット単位または複数ビット単位でデータ転送を実行し、演算エレメント内で命令に応じた演算を実行する構成が示されている。
上述のように、演算結果の信頼性向上を図るためにデータパス上にパリティ判定回路やECC回路を配置するとパスが長くなってしまい、周波数性能が低下するといった問題点があった。
また、特許文献3の図12のセンスアンプ群(42)の出力や特許文献4の図15のセンスアンプ(SA)の出力にパリティ判定回路やECC回路を追加した場合にはチップ面積が大きくなったり、電力オーバヘッドが大きくなったりするといった問題点があった。
さらには、特許文献1に開示された発明においては、1つのタスクを複数のプロセッサエレメントで処理する場合に、複数のプロセッサエレメント間で処理結果を比較するための制御タスクを用意し、タスク完了、完了通知、一致判定といった処理を互いに同期をとって行なう必要がある。そのため、同期をとる手順が必要となって処理時間が増大すると共に、互いに通信を行なうための専用ハードウェアが必要となって、ハードウェアが増大するといった問題点もあった。
本発明は、上記問題点を解決するためになされたものであり、その目的は、演算結果の信頼性と並列度との最適化を図ることが可能なプロセッサおよびそれを用いた画像処理システムを提供することである。
本発明の一実施例によれば、複数のPEと、複数のPEのそれぞれに対応して設けられ、複数のPEの演算対象のデータおよびその演算結果を記憶する複数のデータレジスタとを含んだプロセッサが提供される。複数のPEおよび複数のデータレジスタが複数のグループ(PE群)に分けられている。
CPUによって通常モードが設定されている場合に、複数のPE群のデータレジスタに別個の演算対象のデータが書き込まれ、CPUによってエラー検出モードが設定されている場合に、複数のPE群の少なくとも2つのPE群のデータレジスタに同じ演算対象のデータが書き込まれる。マルチプレクサは、複数のPE群から出力される演算結果を選択的に出力する。判定回路は、2つのPE群から出力される演算結果の比較判定を行なう。
通常モードが設定されている場合に、マルチプレクサが、複数のPE群から出力される演算結果を別個の演算結果として選択的に出力し、エラー検出モードが設定されている場合に、判定回路が2つのPE群から出力される演算結果を比較し、一致するときにマルチプレクサがその演算結果を出力し、一致しないときに判定回路が外部にエラー検出を通知する。
本発明の一実施例によれば、通常モードが設定されている場合に、マルチプレクサが、複数のPE群から出力される演算結果を別個の演算結果として選択的に出力し、エラー検出モードが設定されている場合に、判定回路が2つのPE群から出力される演算結果を比較するので、演算結果の信頼性と並列度との最適化を図ることが可能となる。
図1は、本発明の実施の形態におけるプロセッサの概念を説明するための図である。プロセッサは、複数のPE(Processor Element)101と、プロセッサ全体の制御を行なうコントローラ102と、PE101が演算を行なうデータを格納するSRAM(Static Random Access memory)103と、SRAM103から出力されるデータの比較/多数決判定を行なう比較多数決回路104とを含む。
PE101は、コントローラ102から単一のSIMD命令を受け、SRAM103に格納されるデータに対して演算を行なう。PE101による演算結果は、再度SRAM103に書き戻される。
このプロセッサは、通常モード、エラー検出モード、エラー訂正モードの3つのモードを有している。通常モードが設定されている場合には、SRAM103に書き戻された演算結果がそのまま外部に出力される。
エラー検出モードが設定されている場合には、SRAM103に書き戻された演算結果の2つを比較し、一致しているときはエラーが検出されなかったとして、そのデータを外部に出力する。また、不一致の場合にはエラーが検出されたとして、エラー検出を外部に通知する。
また、エラー訂正モードが設定されている場合には、SRAM103に書き戻された演算結果の少なくとも3つの多数決を判定し、多数決がとれた場合には、最も数が多い演算結果を外部に出力する。また、多数決がとれなかった場合には、エラー訂正が不可であることを外部に通知する。
図2は、本発明の実施の形態におけるプロセッサの内部構成を示すブロック図である。このプロセッサは、演算処理部1と、プロセッサの全体的な制御を行なうコントローラ2と、バスインタフェース回路3とを含む。
また、演算処理部1は、PE群11〜26と、エントリコミュニケータ27と、マルチプレクサ(mux)28〜31と、デマルチプレクサ(demux)32〜35と、AND回路36〜39と、マルチプレクサ40〜42と、判定回路43と、エラー検出/モード選択回路44と、フリップフロップ(以下、FFと略す。)45および46とを含む。
PE群11〜26は、それぞれ64個のPEと、PEのそれぞれに対応して設けられた64個のデータレジスタ(SRAM)とを有している。たとえば、PE群11は、PE0〜PE63と、それに対応するデータレジスタ0〜63とを有しており、PE群12は、PE64〜PE127と、それに対応するデータレジスタ64〜127とを有している。PE群13〜26も同様にして64個のPEと、64個のデータレジスタとを有しており、PE群11〜26全体で、1024個のPE(PE0〜PE1023)と、1024個のデータレジスタ(データレジスタ0〜1023)とを有することになる。
PE0〜PE1023は、コントローラ2から出力される単一のPEコマンドに応じて同一の演算を行なうものであり、データレジスタ0〜1023の中の対応するデータレジスタに格納されたデータに対して演算を実行し、演算結果を対応するデータレジスタに書き戻す。
エントリコミュニケータ27は、PE0〜PE1023の接続経路を切換えることができ、PE0〜PE1023に異なるエントリ(データレジスタ)のデータの演算を行なわせることが可能である。
マルチプレクサ28は、コントローラ2から出力される2ビットのアドレスA[1:0]に応じて、PE群11〜14から出力される64ビットのデータのいずれかを選択してマルチプレクサ40および判定回路43に出力する。
マルチプレクサ29は、コントローラ2から出力される2ビットのアドレスA[1:0]に応じて、PE群15〜18から出力される64ビットのデータのいずれかを選択してマルチプレクサ40および判定回路43に出力する。
マルチプレクサ40は、エラー検出/モード選択回路44から出力される1ビットのアドレスAE[2]に応じて、マルチプレクサ28およびマルチプレクサ29から出力される64ビットのデータのいずれかを選択してマルチプレクサ42に出力する。
マルチプレクサ30は、コントローラ2から出力される2ビットのアドレスA[1:0]に応じて、PE群19〜22から出力される64ビットのデータのいずれかを選択してマルチプレクサ41および判定回路43に出力する。
マルチプレクサ31は、コントローラ2から出力される2ビットのアドレスA[1:0]に応じて、PE群23〜26から出力される64ビットのデータのいずれかを選択してマルチプレクサ41および判定回路43に出力する。
マルチプレクサ41は、エラー検出/モード選択回路44から出力される1ビットのアドレスAE[2]に応じて、マルチプレクサ30およびマルチプレクサ31から出力される64ビットのデータのいずれかを選択してマルチプレクサ42に出力する。
マルチプレクサ42は、エラー検出/モード選択回路44から出力される1ビットのアドレスAE[3]に応じて、マルチプレクサ40およびマルチプレクサ41から出力される64ビットのデータのいずれかを選択してFF46に出力する。
FF46は、マルチプレクサ42から受けた64ビットのデータを保持してバスインタフェース回路3に出力する。そして、バスインタフェース回路3は、FF46から受けた64ビットのデータを後述のメディアバスに出力する。
FF45は、バスインタフェース回路3を介して受けた64ビット幅の入力データを保持してAND回路36〜39に出力する。
AND回路36〜39は、FF45から出力される64ビットのデータに対応して設けられており、それぞれ一方の端子にはFF45から出力されるデータ信号が接続され、他方の端子にはエラー検出/モード選択回路44から出力されるアドレスデコード信号PA[3:0]のいずれかが接続されている。
4ビットのアドレスデコード信号PA[3:0]は、モードに応じて、いずれか1ビット、いずれか2ビット、または4ビットすべてがハイレベル(以下、Hレベルと略す。)となり、他のビットがロウレベル(以下、Lレベルと略す。)となる。たとえば、PA[0]のみがHレベルのときは、AND回路36が64ビットのデータをデマルチプレクサ32に出力し、PE群11〜14のいずれかに64ビットのデータを書き込むことができる。
また、PA[0]およびPA[2]がHレベルのときは、AND回路36および38が64ビットのデータをデマルチプレクサ32および34に出力し、PE群11〜14のいずれかおよびPE群19〜22のいずれかに64ビットのデータを書き込むことができる。したがって、同じ64ビットのデータを2つのPE群に同時に書き込むことができる。同様にして、PA[0]〜PA[3]がすべてHレベルのときは、同じ64ビットのデータを4つのPE群に同時に書き込むことができる。
デマルチプレクサ32は、コントローラ2から出力される2ビットのアドレスA[1:0]に応じて、AND回路36から受けた64ビットのデータをPE群11〜14のいずれかに出力する。データを受けたPE群は、64ビットのデータを64個のデータレジスタに書き込む。
デマルチプレクサ33は、コントローラ2から出力される2ビットのアドレスA[1:0]に応じて、AND回路37から受けた64ビットのデータをPE群15〜18のいずれかに出力する。データを受けたPE群は、64ビットのデータを64個のデータレジスタに書き込む。
デマルチプレクサ34は、コントローラ2から出力される2ビットのアドレスA[1:0]に応じて、AND回路38から受けた64ビットのデータをPE群19〜22のいずれかに出力する。データを受けたPE群は、64ビットのデータを64個のデータレジスタに書き込む。
デマルチプレクサ35は、コントローラ2から出力される2ビットのアドレスA[1:0]に応じて、AND回路39から受けた64ビットのデータをPE群23〜26のいずれかに出力する。データを受けたPE群は、64ビットのデータを64個のデータレジスタに書き込む。
図3は、判定回路43およびエラー検出/モード選択回路44の構成例を示す図である。判定回路43は、NAND回路51と、OR回路52と、AND回路53〜54と、EX−OR(排他的論理和)回路55〜58と、マルチプレクサ59〜60とを含む。
なお、図3においては、マルチプレクサ28〜31から受けたそれぞれ64ビットのデータの中の1ビットを比較または多数決判定を行なう構成となっているが、同様の比較回路が複数存在し、複数ビットの比較または多数決判定を行なうものとする。
NAND回路51は、マルチプレクサ28〜31から受けた4つのデータQ[256×0+N]、Q[256×1+N]、Q[256×2+N]、Q[256×3+N]がすべて“1”のときのみLレベルを出力し、それ以外の場合にはHレベルを出力する。また、OR回路52は、4つのデータがすべて“0”のときのみLレベルを出力し、それ以外の場合にはHレベルを出力する。
したがって、AND回路53は、4つのデータが一致する場合にLレベルを出力し、一致しない場合にはHレベルを出力する。なお、N=0〜255とする。
EX−OR回路55は、マルチプレクサ28および30から受けた2つのデータQ[256×0+N]、Q[256×2+N]が一致する場合にLレベルを出力し、一致しない場合にHレベルを出力する。また、EX−OR回路56は、マルチプレクサ29および31から受けた2つのデータQ[256×1+N]、Q[256×3+N]が一致する場合にLレベルを出力し、一致しない場合にHレベルを出力する。
したがって、EX−OR回路57は、2つのデータQ[256×0+N]、Q[256×2+N]が一致し、かつ2つのデータQ[256×1+N]、Q[256×3+N]が一致する場合、または2つのデータQ[256×0+N]、Q[256×2+N]が一致せず、かつ2つのデータQ[256×1+N]、Q[256×3+N]が一致しない場合にLレベルを出力し、それ以外の場合にHレベルを出力する。
EX−OR回路58は、AND回路53からHレベルが出力され、EX−OR回路57からLレベルが出力されたとき、すなわち4つのデータの中で2つのデータが“0”であり、残りの2つのデータが“1”のときにHレベルを出力する。なお、エラー訂正モード時に、EX−OR回路58からの出力信号がエラー訂正不可信号として後述のCPUに出力され、割り込み信号として使用される。
EX−OR回路58は、AND回路53からLレベルが出力され、EX−OR回路57からLレベルが出力されたとき、すなわち4つのデータがすべて一致する場合にLレベルを出力する。また、EX−OR回路58は、AND回路53からHレベルが出力され、EX−OR回路57からHレベルが出力されたとき、すなわち4つのデータの中の3つのデータが一致する場合にLレベルを出力する。エラーが検出されない場合、またはエラーが検出されても訂正できる場合に、EX−OR回路58からLレベルが出力される。
マルチプレクサ59は、AE[2]がLレベルのときに、EX−OR回路55から出力される値、すなわち、Q[256×0+N]とQ[256×2+N]とが一致するか否かの値を出力する。また、マルチプレクサ59は、AE[2]がHレベルのときに、EX−OR回路56から出力される値、すなわち、Q[256×1+N]とQ[256×3+N]とが一致するか否かの値を出力する。なお、エラー検出モード時に、マルチプレクサ59からの出力信号がエラー検出信号として後述のCPUに出力され、割り込み信号として使用される。
マルチプレクサ60は、通常モードまたはエラー検出モード時にマルチプレクサ59から出力される値を選択して出力し、エラー訂正モード時にEX−OR回路58から出力される値を選択して出力する。
AND回路54は、エラー検出モードまたはエラー訂正モード時にマルチプレクサ60から出力される値を出力し、通常モード時にLレベルを出力する。したがって、AND回路54は、エラー検出モード時にエラーが発生した場合、およびエラー訂正モード時にエラー訂正が不可能な場合にHレベルを出力し、それ以外の場合にLレベルを出力する。
エラー検出/モード選択回路44は、アドレス選択プリデコーダ61と、FF62〜65とを含む。FF62は、AND回路53から受けた値を保持し、エラー検出通知信号として後述のCPUに出力する。また、FF63は、AND回路54から受けた値を保持し、エラー発生割り込み信号として後述のCPUに出力する。
FF64は、エラー検出モード信号(A)の値を保持し、AND回路54およびアドレス選択プリデコーダ61に出力する。また、FF65は、エラー訂正モード信号(B)の値を保持し、マルチプレクサ60およびアドレス選択プリデコーダ61に出力する。
エラー検出モード信号(A)は、通常モード時にLレベルとなり、エラー検出モードおよびエラー訂正モード時にHレベルとなる。また、エラー訂正モード信号(B)は、通常モードおよびエラー検出モード時にLレベルとなり、エラー訂正モード時にHレベルとなる。これらの信号は、後述のCPUによって設定される。
アドレス選択プリデコーダ61は、通常モード時に、A[3:2]の値をそのままAE[3:2]に出力し、A[3:2]の値のデコード結果をPA[3:0]に出力する。したがって、PA[0]〜PA[3]の1つがHレベルとなり、それ以外の3つがLレベルとなる。
アドレス選択プリデコーダ61は、エラー検出モード時に、AE[3]をLレベルに固定し、A[2]の値をAE[2]に出力する。アドレス選択プリデコーダ61は、エラー検出モード時に、A[0]がLレベルであれば、PA[0]およびPA[2]にHレベルを出力し、PA[1]およびPA[3]にLレベルを出力する。また、A[0]がHレベルであれば、PA[0]およびPA[2]にLレベルを出力し、PA[1]およびPA[3]にHレベルを出力する。
アドレス選択プリデコーダ61は、エラー訂正モード時に、AE[3]をLレベルに固定し、マルチプレクサ28および29から出力されるデータの中で正しいデータが選択されるようにAE[2]を出力する。また、アドレス選択プリデコーダ61は、PA[0]〜PA[3]にHレベルを出力する。
図4は、エラー検出モード時におけるプロセッサの動作を説明するための図である。アドレスA[2]がLレベルの場合には、2つのデータQ[256×0+N]とQ[256×2+N]とが比較される。一致する場合には、正しいデータが出力され、エラー検出信号にLレベルが出力される。また、一致しない場合には、データが不定となり、エラー検出信号にHレベルが出力される。
アドレスA[2]がHレベルの場合には、2つのデータQ[256×1+N]とQ[256×3+N]とが比較される。一致する場合には、正しいデータが出力され、エラー検出信号にLレベルが出力される。また、一致しない場合には、データが不定となり、エラー検出信号にHレベルが出力される。
図5は、エラー訂正モード時におけるプロセッサの動作を説明するための図である。4つのデータQ[256×0+N]、Q[256×1+N]、Q[256×2+N]、Q[256×3+N]の多数決がとられ、4つのデータがすべて一致する場合には、正しいデータが出力され、エラー検出信号にLレベルが出力され、エラー訂正不可信号にLレベルが出力される。
4つのデータの中で3つのデータが一致する場合には、正しいデータが出力され、エラー検出信号にHレベルが出力され、エラー訂正不可信号にLレベルが出力される。
それ以外の場合には、データが不定となり、エラー検出信号にHレベルが出力され、エラー訂正不可信号にHレベルが出力される。
なお、図5では4つの出力データQ[256×0+N]、Q[256×1+N]、Q[256×2+N]、Q[256×3+N]の多数決がとられる例を説明したが、例えば、2つ以上の出力データが共にエラーを起す可能性が極めて低い場合、4つのデータのうち1つのデータを考慮せず、3つのデータに基づき多数決をとってもよい。具体的には図3においてPE群からの出力データQ[256×3+N]の値を判定回路43に入力しないようにNAND回路51とOR回路52をそれぞれ3入力タイプのものに変更し、EX−OR56の入力を共にQ[256×3+N]から受けるように変更することにより実現可能である。この場合、エラー訂正不可信号にHレベルが出力される状態(正しいデータが不定の状態)は起こらないため、エラー訂正モード動作真理値表は図5の1行目から3行目、5行目、8行目、9行目、12行目、14行目から16行目となる。
図6は、通常モード時におけるデータレジスタからの読み出し動作を説明するためのタイミングチャートである。T1より前において、1024個のデータレジスタ(0〜1023)の各々には、対応するPE(0〜1023)により単一のPEコマンドに応じて演算処理されたデータが書き戻されている。そして、1024個のデータレジスタ(0〜1023)の各々は8ビットのデータ(SRAMビット0〜7)が格納されており、その8ビットのデータを順次読み出していく例を示す。T1において、アドレスA[3:0]に“4’b0000”が出力され、PE群11のデータ出力が開始される。まず、PE群11の中の64個のデータレジスタのSRAMビット0に対応するデータが読み出され、マルチプレクサ28へ出力される。その後順次SRAMビット1,2,3,…,7の順にデータが読み出され、マルチプレクサ28へ出力される。結果として、合計64×8ビットのデータが出力される。
T2において、PE群11の中のSRAMビット0に対応する出力データQ0がマルチプレクサ28から出力され、Q1,Q2,Q3,…,Q7の順に出力データが出力される。
T3において、アドレスA[3:0]に“4’b0001”が出力され、PE群12のデータ出力が開始される。まず、PE群12の中の64個のデータレジスタのSRAMビット0に対応するデータが読み出され、マルチプレクサ28へ出力される。その後順次SRAMビット1,2,3,…,7の順にデータが読み出され、マルチプレクサ28へ出力される。
同様の動作が繰り返され、T4において、アドレスA[3:0]に“4’b1111”が出力され、PE群26のデータ出力が開始される。まず、PE群26の中の64個のデータレジスタのSRAMビット0に対応するデータが読み出され、マルチプレクサ31へ出力される。その後順次SRAMビット1,2,3,…,7の順にデータが読み出され、マルチプレクサ31へ出力される。
図7は、エラー検出モード時におけるデータレジスタからの読み出し動作を説明するためのタイミングチャートである。T1より前において、1024個のデータレジスタ(0〜1023)の各々には、対応するPE(0〜1023)により単一のPEコマンドに応じて演算処理されたデータが書き戻されている。そして、1024個のデータレジスタ(0〜1023)の各々は8ビットのデータ(SRAMビット0〜7)が格納されており、その8ビットのデータを順次読み出していく例を示す。通常モード時と異なり、PE群11からPE群18のデータレジスタと同じ値のデータがそれぞれPE群19からPE群26のデータレジスタに書き込まれている。T1において、アドレスA[3:0]に“4’b0000”が出力され、PE群11およびPE群19のデータ出力が開始される。まず、PE群11およびPE群19の中のそれぞれ64個のデータレジスタのSRAMビット0に対応するデータが読み出され、それぞれマルチプレクサ28、マルチプレクサ30へ出力される。その後順次SRAMビット1,2,3,…,7の順にデータが読み出され、それぞれマルチプレクサ28、マルチプレクサ30へ出力される。結果として、合計64×8ビットのデータがPE群11およびPE群19からそれぞれ出力される。
T2において、PE群11およびPE群19の中のSRAMビット0に対応する出力データQ0およびQ0’がそれぞれマルチプレクサ28、マルチプレクサ30から出力される。このとき、判定回路43は、出力データQ0とQ0’との比較を行なう。同様にして、判定回路43は、PE群11およびPE群19からマルチプレクサを介して出力される出力データQ1〜Q7とQ1’〜Q7’との比較を順次行なう。
T3において、アドレスA[3:0]に“4’b0001”が出力され、PE群12およびPE群20のデータ出力が開始される。まず、PE群12およびPE群20の中のそれぞれ64個のデータレジスタのSRAMビット0に対応するデータが読み出され、それぞれマルチプレクサ28、マルチプレクサ30へ出力される。その後順次SRAMビット1,2,3,…,7の順にデータが読み出され、それぞれマルチプレクサ28、マルチプレクサ30へ出力される。
同様の動作が繰り返され、T4において、アドレスA[3:0]に“4’b0111”が出力され、PE群18およびPE群26のデータ出力が開始される。まず、PE群18およびPE群26の中のそれぞれ64個のデータレジスタのSRAMビット0に対応するデータが読み出され、それぞれマルチプレクサ29、マルチプレクサ31へ出力される。その後順次SRAMビット1,2,3,…,7の順にデータが読み出され、それぞれマルチプレクサ29、マルチプレクサ31へ出力される。このとき、判定回路43が、2つのPE群から出力される出力データを比較し、不一致を検出すると、エラー検出信号にHレベルを出力する。図7では、T4の直前のアドレスA[3:0]に“4’b0110”が出力されていたとし、T4において、PE群17からマルチプレクサ29を介して出力される出力データQ5とPE群25からマルチプレクサ31を介して出力される出力データQ5’とを比較した結果、不一致が検出されエラー検出信号にHレベルを出力した例を示している。
図8は、エラー訂正モード時におけるデータレジスタからの読み出し動作を説明するためのタイミングチャートである。T1より前において、1024個のデータレジスタ(0〜1023)の各々には、対応するPE(0〜1023)により単一のPEコマンドに応じて演算処理されたデータが書き戻されている。そして、1024個のデータレジスタ(0〜1023)の各々は8ビットのデータ(SRAMビット0〜7)が格納されており、その8ビットのデータを順次読み出していく例を示す。通常モード時とは異なり、PE群11からPE群14のデータレジスタと同じ値のデータがそれぞれPE群15からPE群18のデータレジスタ、PE群19からPE群22のデータレジスタ、PE群23からPE群26のデータレジスタに書き込まれている。T1において、アドレスA[3:0]に“4’b0000”が出力され、PE群11、PE群15、PE群19およびPE群23のデータ出力が開始される。まず、PE群11、PE群15、PE群19およびPE群23の中のそれぞれ64個のデータレジスタのSRAMビット0に対応するデータが読み出され、それぞれマルチプレクサ28、マルチプレクサ29、マルチプレクサ30、マルチプレクサ31へ出力される。その後順次SRAMビット1,2,3,…,7の順にデータが読み出され、それぞれマルチプレクサ28、マルチプレクサ29、マルチプレクサ30、マルチプレクサ31へ出力される。結果として、合計64×8ビットのデータがPE群11、PE群15、PE群19およびPE群23からそれぞれ出力される。
T2において、PE群11、PE群15、PE群19およびPE群23の中のSRAMビット0に対応する出力データQ0、Q0’、Q0”およびQ0'''がそれぞれマルチプレクサ28、マルチプレクサ29、マルチプレクサ30、マルチプレクサ31から出力される。このとき、判定回路43は、出力データQ0、Q0’、Q0”およびQ0'''の多数決判定を行なう。同様にして、判定回路43は、PE群11、PE群15、PE群19およびPE群23からマルチプレクサを介して出力される出力データQ1〜Q7、Q1’〜Q7’、Q1”〜Q7”およびQ1'''〜Q7'''の多数決判定を順次行なう。
T3において、アドレスA[3:0]に“4’b0001”が出力され、PE群12、PE群16、PE群20およびPE群24のデータ出力が開始される。まず、PE群12、PE群16、PE群20およびPE群24の中のそれぞれ64個のデータレジスタのSRAMビット0に対応するデータが読み出され、それぞれマルチプレクサ28、マルチプレクサ29、マルチプレクサ30、マルチプレクサ31へ出力される。その後順次SRAMビット1,2,3,…,7の順にデータが読み出され、それぞれマルチプレクサ28、マルチプレクサ29、マルチプレクサ30、マルチプレクサ31へ出力される。
T4において、判定回路43が、出力データQ6、Q6’、Q6”、Q6'''の中の1つが不一致であることを検出して、エラー検出信号にHレベルを出力するが、エラー訂正が可能であるためエラー訂正不可信号にLレベルを出力する。また、エラー検出/モード選択回路44は、正しいデータを選択するようにアドレスAE[2]を出力する。
同様の動作が繰り返され、T5において、アドレスA[3:0]に“4’b0011”が出力され、PE群14、PE群18、PE群22およびPE群26のデータ出力が開始される。まず、PE群14、PE群18、PE群22およびPE群26の中のそれぞれ64個のデータレジスタのSRAMビット0に対応するデータが読み出され、それぞれマルチプレクサ28、マルチプレクサ29、マルチプレクサ30、マルチプレクサ31へ出力される。その後順次SRAMビット1,2,3,…,7の順にデータが読み出され、それぞれマルチプレクサ28、マルチプレクサ29、マルチプレクサ30、マルチプレクサ31へ出力される。このとき、判定回路43が、出力データQ5、Q5’、Q5”、Q5'''の多数決がとれないことを検出して、エラー検出信号にHレベルを出力し、エラー訂正が不可能であるためエラー訂正不可信号にHレベルを出力する。図8では、T5の直前のアドレスA[3:0]に“4’b0010”が出力されていたとし、T5において、判定回路43がPE群13からマルチプレクサ28を介して出力される出力データQ5と、PE群17からマルチプレクサ29を介して出力される出力データQ5’と、PE群21からマルチプレクサ30を介して出力される出力データQ5”と、PE群25からマルチプレクサ31を介して出力される出力データQ5'''との多数決がとれないことを検出して、エラー検出信号にHレベルを出力し、エラー訂正が不可能であるためエラー訂正不可信号にHレベルを出力する例を示している。
図9は、本発明の実施の形態におけるプロセッサの通常モード時に動作するデータ出力部分のみを抽出した図である。図9に示すように、PE0〜PE1023がそれぞれ異なるデータに対して演算を行ない、マルチプレクサ28〜31および40〜42によって順次選択され、FF46から64ビット幅のデータとして出力される。この場合、全てのPEに対して異なるデータが与えられるので、高い並列性を有し、演算性能も高くなる。
図10は、本発明の実施の形態におけるプロセッサのエラー検出モード時に動作するデータ出力部分のみを抽出した図である。図10に示すように、PE0〜PE511と、PE512〜1023とがそれぞれ同じデータに対して演算を行ない、比較回路(判定回路)43が2つのデータの比較判定を行なう。このとき、比較判定が行なわれるエントリが512エントリだけ物理的に離れているため、2つのデータが共にソフトエラー発生する確率は低くなり、ソフトエラー発生時のエラー検出率が向上する。
図11は、本発明の実施の形態におけるプロセッサのエラー訂正モード時に動作するデータ出力部分のみを抽出した図である。図11に示すように、PE0〜PE255と、PE256〜511と、PE512〜767と、PE768〜1023とがそれぞれ同じデータに対して演算を行ない、多数決回路(判定回路)43が4つのデータの多数決判定を行なう。このとき、多数決判定が行なわれるエントリが256エントリだけ物理的に離れているため、4つのデータのうち複数のデータが共にソフトエラー発生する確率は低くなり、ソフトエラー発生時のエラー検出率が向上するとともに多数決判定によりエラー訂正することも可能となる。
図12は、本発明の実施の形態におけるプロセッサを用いた画像処理システムの構成例を示す図である。この画像処理システムは、SoC(System on Chip)として実現されており、図2に示すSIMD型プロセッサ(演算処理部1、コントローラ2、バスインタフェース回路3)と、カメラI/F4と、周辺回路5と、CPU6と、メモリコントローラ7と、DMAC(Direct Memory Access Controller)8とを含む。
CPU6は、画像処理システムの全体的な制御を行なう。たとえば、CPU6は、SIMD型プロセッサの演算処理部1のデータレジスタ0〜1023にデータを書き込み、PE0〜PE1023にPEコマンドを発行することによって演算を行なわせる。このときの演算処理部1の動作は上述の通りである。また、CPU6が、SIMD型プロセッサ(1〜3)からエラー検出通知信号、エラー検出信号、エラー訂正不可信号などを受け、それに応じた処理を行なう。
カメラI/F4は、図示しないカメラセンサからの画像データを受け、CPUバス71またはメディアバス72に出力する。
メモリコントローラ7は、CPUバス71を介してカメラI/F4から画像データを受け、外部メモリ9に画像データを書き込む。また、メモリコントローラ7は、DMAC8によるDMA転送によってカメラI/F4またはSIMD型プロセッサ(1〜3)から画像データまたは処理結果を受け、外部メモリ9に書き込むことも可能である。また、メモリコントローラ7は、CPU6からの要求に応じて、外部メモリ9に格納される画像データを読み出して、CPU6やSIMD型プロセッサ(1〜3)に出力する。
周辺回路5は、タイマ、シリアルI/F、割り込みコントローラなどによって構成され、IOポートによるデータ入出力が可能である。DMAC8は、CPU6からの要求に応じて、カメラI/F4や周辺回路5と、外部メモリ9との間のデータ転送を行なう。
図13は、図12に示す画像処理システムの処理手順を説明するためのフローチャートである。まず、図示しないカメラセンサから画像データが入力されると(S10)、カメラI/F4はその画像データを外部メモリ9に格納する(S11)。
次に、CPU6は、SIMD型プロセッサ(1〜3)に演算処理命令を設定し、通常モードを設定する(S12)。そして、外部メモリ9から画像データを読み出してSIMD型プロセッサ(1〜3)のデータレジスタ0〜1023に書き込んで、SIMD型プロセッサ(1〜3)に通常処理を行なわせる(S13)。この通常処理とは、画像全体に対するノイズ除去などのフィルタ処理やオフセット処理などであり、それほど信頼性が要求されない処理である。この場合、高い並列度で処理を行なうことができる。
次に、SIMD型プロセッサ(1〜3)による処理結果がDMAC8を介して外部メモリ9に格納される(S14)。
次に、CPU6は、SIMD型プロセッサ(1〜3)に演算処理命令を設定し、高信頼性モード(エラー検出モードまたはエラー訂正モード)を設定する(S15)。そして、外部メモリ9から画像データを読み出してSIMD型プロセッサ(1〜3)のデータレジスタ0〜1023に書き込んで、SIMD型プロセッサ(1〜3)に高信頼性処理を行なわせる(S16)。この高信頼性処理とは、特定領域に対してしきい値処理やラベリング処理を行ない、得られた特徴量からその物体が何であるかを認識する画像認識処理などであり、高い信頼性が要求される処理である。この場合、通常モードと比較して並列度が低下するが、処理結果の信頼性を高めることができる。
エラー検出またはエラー訂正不可が発生した場合には、CPU6にエラー発生またはエラー訂正不可を通知し(S17)、処理のリアルタイム性を考慮して、再処理またはデータの破棄などが行なわれる。また、エラーが検出されないか、エラー訂正が可能な場合には、SIMD型プロセッサ(1〜3)による処理結果がDMAC8を介して外部メモリ9に格納される(S18)。
たとえば、この画像処理システムが車載用途として用いられる場合、車載カメラから入力された画像データ全体に対してフィルタ処理やオフセット処理を行なうことになるが、カメラセンサからの情報にはノイズが含まれているためビットエラーに対してシビアではなく、信頼性はそれほど要求されないので、通常モードで処理を行なう。この処理においては、大量のデータに対する演算が必要となるため、通常モードにより並列度を高くして高速に処理を行なうことができる。
一方、白線認識などのような特定の範囲から特徴を抽出する処理では、データ数自体はそれほど大きくはないが、ビットエラーにより異なる特徴が抽出されることは許容されないため、エラー検出モードまたはエラー訂正モードで処理を行なう。なお、リアルタイム性の制約で演算の再実行が不可能な場合や、データの連続性が重要なため演算結果の破棄が許容されない場合は、エラー訂正モードで処理を行なうのが有効である。
図2に示す判定回路43の判定処理を、SIMD型プロセッサ自体に行なわせることも可能である。この場合、判定処理がソフトウェアによって実現される。
以上説明したように、本実施の形態におけるプロセッサによれば、通常モードが設定されている場合には、PE群11〜26のデータレジスタに別個のデータを書き込んでPEに演算処理を行なわせ、エラー検出モードが設定されている場合には、PE群11〜18のデータレジスタとPE群19〜26のデータレジスタに同じデータを書き込んでPEに演算処理を行なわせ、その演算結果を比較してエラー発生の有無を検出するようにした。したがって、演算結果の信頼性と並列度との最適化を図ることが可能となった。
また、エラー訂正モードが設定されている場合には、PE群11〜14、PE群15〜18、PE群19〜22、PE群23〜26のデータレジスタに同じデータを書き込んで演算処理を行なわせ、多数決判定によってエラー訂正を行なうようにしたので、リアルタイム性が要求されるアプリケーションやデータの連続性が重要なアプリケーションにも対応することが可能となった。
また、エラー検出/エラー訂正回路をクリティカルパスであるデータパスから削除したので、周波数性能の低下を防止することが可能となった。
また、比較判定回路および多数決判定回路のみでデータのエラー検出、エラー訂正が行なえるため、ハードウェア量を削減することが可能となった。
また、演算結果の出力時にのみエラー検出、エラー訂正を行なうので、消費電力の削減を図ることが可能となった。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
特にデータレジスタはSRAMとして説明しているが、MRAMやFLASHメモリのような不揮発性メモリやDRAMのような揮発性メモリであってもよいと考えられるべきである。
1 演算処理部、2 コントローラ、3 バスインタフェース回路、4 カメラI/F、5 周辺回路、6 CPU、7 メモリコントローラ、8 DMAC、9 外部メモリ、11〜26 PE群、27 エントリコミュニケータ、28〜31 マルチプレクサ、32〜35 デマルチプレクサ、36〜39 AND回路、40〜42 マルチプレクサ、43 判定回路、44 エラー検出/モード選択回路、45,46 フリップフロップ、51 NAND回路、52 OR回路、53〜54 AND回路、55〜58 EX−OR回路、59〜60 マルチプレクサ、61 アドレス選択プリデコーダ、62〜65 フリップフロップ。
Claims (6)
- 複数のプロセッサエレメントと、前記複数のプロセッサエレメントのそれぞれに対応して設けられ、前記複数のプロセッサエレメントの演算対象のデータおよびその演算結果を記憶する複数のデータレジスタとを含んだプロセッサであって、
前記複数のプロセッサエレメントおよび前記複数のデータレジスタが複数のグループに分けられており、
外部から第1のモードが設定されている場合に、前記複数のグループのデータレジスタに別個の演算対象のデータを書き込み、外部から第2のモードが設定されている場合に、前記複数のグループの少なくとも2つのグループのデータレジスタに同じ演算対象のデータを書き込む書込手段と、
前記複数のグループから出力される演算結果を選択的に出力する選択手段と、
前記少なくとも2つのグループから出力される演算結果の比較判定を行なう判定手段とを含み、
前記第1のモードが設定されている場合に、前記選択手段が前記複数のグループから出力される演算結果を別個の演算結果として選択的に出力し、前記第2のモードが設定されている場合に、前記判定手段が前記少なくとも2つのグループから出力される演算結果を比較し、一致するときに前記選択手段がその演算結果を出力し、一致しないときに前記判定手段が外部にエラー検出を通知する、プロセッサ。 - 外部から第3のモードが設定されている場合に、前記書込手段が前記複数のグループの少なくとも3つのグループのデータレジスタに同じデータを書き込み、前記判定手段が前記少なくとも3つのグループから出力される演算結果の多数決判定を行ない、多数決がとれたときに前記選択手段がその演算結果を出力し、多数決がとれなかったときに前記判定手段が外部にエラー訂正不可を通知する、請求項1記載のプロセッサ。
- 前記書込手段は、前記第1のモードが設定されている場合に前記複数のグループのデータレジスタに別個の演算対象のデータを書き込み、前記第2のモードが設定されている場合に前記少なくとも2つのグループのデータレジスタに同じ演算対象のデータを同時に書き込み、前記第3のモードが設定されている場合に前記少なくとも3つのグループのデータレジスタに同じ演算対象のデータを同時に書き込む、請求項2記載のプロセッサ。
- 前記複数のプロセッサエレメントおよび前記複数のデータレジスタが4つのグループに分けられており、
前記選択手段は、第1のグループから出力される演算結果と第2のグループから出力される演算結果とのいずれかを選択して出力する第1のセレクタと、第3のグループから出力される演算結果と第4のグループから出力される演算結果とのいずれかを選択して出力する第2のセレクタと、前記第1のセレクタから出力される演算結果と前記第2のセレクタから出力される演算結果とのいずれかを選択して出力する第3のセレクタとを含み、
前記プロセッサはさらに、前記第1のモードが設定されている場合には、前記第1〜第3のセレクタを制御して前記第1〜第4のグループから出力される演算結果を順次出力させ、前記第2のモードが設定されている場合には、前記判定手段によって前記第1のグループから出力される演算結果と前記第3のグループから出力される演算結果とが一致していると判定されたときに、前記第1のセレクタおよび前記第3のセレクタを制御して前記第1のグループから出力される演算結果を出力させ、前記判定手段によって前記第2のグループから出力される演算結果と前記第4のグループから出力される演算結果とが一致していると判定されたときに、前記第1のセレクタおよび前記第3のセレクタを制御して前記第2のグループから出力される演算結果を出力させる制御手段を含む、請求項2または3記載のプロセッサ。 - 前記第3のモードが設定されている場合には、前記判定手段によって前記第1〜第4のグループから出力される演算結果の多数決がとれたときに、前記制御手段は、前記第1のセレクタおよび前記第3のセレクタを制御して前記多数決がとれたデータを出力させる、請求項4記載のプロセッサ。
- 複数のプロセッサエレメントと、前記複数のプロセッサエレメントのそれぞれに対応して設けられ、前記複数のプロセッサエレメントの演算対象のデータおよびその演算結果を記憶する複数のデータレジスタとを含んだ第1のプロセッサと、
カメラセンサによって撮像された画像データを入力するカメラインタフェースと、
前記第1のプロセッサに命令を発行して、前記カメラインタフェースによって入力された画像データに演算処理を行なわせる第2のプロセッサとを含んだ画像処理システムであって、
前記複数のプロセッサエレメントおよび前記複数のデータレジスタが複数のグループに分けられており、
前記第1のプロセッサは、前記第2のプロセッサによって第1のモードが設定されている場合に、前記複数のグループのデータレジスタに別個の演算対象のデータを書き込み、前記第2のプロセッサによって第2のモードが設定されている場合に、前記複数のグループの少なくとも2つのグループのデータレジスタに同じ演算対象のデータを書き込む書込手段と、
前記複数のグループから出力される演算結果を選択的に出力する選択手段と、
前記少なくとも2つのグループから出力される演算結果の比較判定を行なう判定手段とを含み、
前記第1のモードが設定されている場合に、前記選択手段が前記複数のグループから出力される演算結果を別個の演算結果として選択的に出力し、前記第2のモードが設定されている場合に、前記判定手段が前記少なくとも2つのグループから出力される演算結果を比較し、一致するときに前記選択手段がその演算結果を出力し、一致しないときに前記判定手段が外部にエラー検出を通知する、画像処理システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010249584A JP2012103772A (ja) | 2010-11-08 | 2010-11-08 | プロセッサおよびそれを用いた画像処理システム |
US13/276,886 US20120113271A1 (en) | 2010-11-08 | 2011-10-19 | Processor and image processing system using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010249584A JP2012103772A (ja) | 2010-11-08 | 2010-11-08 | プロセッサおよびそれを用いた画像処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012103772A true JP2012103772A (ja) | 2012-05-31 |
Family
ID=46019285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010249584A Withdrawn JP2012103772A (ja) | 2010-11-08 | 2010-11-08 | プロセッサおよびそれを用いた画像処理システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120113271A1 (ja) |
JP (1) | JP2012103772A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015198417A1 (ja) * | 2014-06-25 | 2015-12-30 | 三菱電機株式会社 | 演算装置 |
JP2016181870A (ja) * | 2015-03-25 | 2016-10-13 | ルネサスエレクトロニクス株式会社 | 処理装置及び処理装置の制御方法 |
JP2021060871A (ja) * | 2019-10-08 | 2021-04-15 | 株式会社デンソー | マイクロコンピュータ |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102264161B1 (ko) * | 2014-08-21 | 2021-06-11 | 삼성전자주식회사 | 이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩 |
GB2559122B (en) * | 2017-01-24 | 2020-03-11 | Advanced Risc Mach Ltd | Error detection using vector processing circuitry |
WO2018225534A1 (ja) * | 2017-06-09 | 2018-12-13 | ソニーセミコンダクタソリューションズ株式会社 | 受信装置、送信装置、制御方法、プログラム、および送受信システム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005259030A (ja) * | 2004-03-15 | 2005-09-22 | Sharp Corp | 性能評価装置、性能評価方法、プログラムおよびコンピュータ読取可能記録媒体 |
JP4237109B2 (ja) * | 2004-06-18 | 2009-03-11 | エルピーダメモリ株式会社 | 半導体記憶装置及びリフレッシュ周期制御方法 |
JP5125493B2 (ja) * | 2007-12-26 | 2013-01-23 | セイコーエプソン株式会社 | マルチパス信号判定方法、プログラム及びマルチパス信号判定装置 |
US8357921B2 (en) * | 2008-08-14 | 2013-01-22 | Nantero Inc. | Integrated three-dimensional semiconductor system comprising nonvolatile nanotube field effect transistors |
US7903483B2 (en) * | 2008-11-21 | 2011-03-08 | Freescale Semiconductor, Inc. | Integrated circuit having memory with configurable read/write operations and method therefor |
-
2010
- 2010-11-08 JP JP2010249584A patent/JP2012103772A/ja not_active Withdrawn
-
2011
- 2011-10-19 US US13/276,886 patent/US20120113271A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015198417A1 (ja) * | 2014-06-25 | 2015-12-30 | 三菱電機株式会社 | 演算装置 |
JP2016181870A (ja) * | 2015-03-25 | 2016-10-13 | ルネサスエレクトロニクス株式会社 | 処理装置及び処理装置の制御方法 |
US10452587B2 (en) | 2015-03-25 | 2019-10-22 | Renesas Electronics Coproration | Processing apparatus and control method thereof |
JP2021060871A (ja) * | 2019-10-08 | 2021-04-15 | 株式会社デンソー | マイクロコンピュータ |
JP7310521B2 (ja) | 2019-10-08 | 2023-07-19 | 株式会社デンソー | マイクロコンピュータ |
Also Published As
Publication number | Publication date |
---|---|
US20120113271A1 (en) | 2012-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10230402B2 (en) | Data processing apparatus | |
TWI773890B (zh) | 資料儲存裝置及其校驗碼處理方法 | |
JP2012103772A (ja) | プロセッサおよびそれを用いた画像処理システム | |
TWI506423B (zh) | 用以執行並行讀取及寫入記憶體操作之方法及裝置 | |
JP5147564B2 (ja) | レジスタ状態エラー回復および再開機構 | |
US7987398B2 (en) | Reconfigurable device | |
CN108292252B (zh) | 用于容错和检错的系统、方法和装置 | |
US10146555B2 (en) | Adaptive routing to avoid non-repairable memory and logic defects on automata processor | |
US20070044003A1 (en) | Method and apparatus of detecting and correcting soft error | |
US20200042321A1 (en) | Low power back-to-back wake up and issue for paired issue queue in a microprocessor | |
US9037948B2 (en) | Error correction for memory systems | |
JP6378775B2 (ja) | 再構成可能デバイス | |
US10002057B2 (en) | Method and apparatus for managing mismatches within a multi-threaded lockstep processing system | |
US10289332B2 (en) | Apparatus and method for increasing resilience to faults | |
US10579559B1 (en) | Stall logic for a data processing engine in an integrated circuit | |
TWI833476B (zh) | 記憶體控制裝置及其操作方法 | |
CN118035006B (zh) | 一种三核处理器独立和锁步运行可动态配置的控制系统 | |
JP2014186664A (ja) | 演算装置およびエラー処理方法 | |
TWI820818B (zh) | 存儲系統以及存儲系統的資料寫入方法 | |
US20240086090A1 (en) | Memory channel disablement | |
US20220206948A1 (en) | Dynamic banking and bit separation in memories | |
US10673464B1 (en) | Encoding and decoding information for detecting and correcting bit errors | |
JP2022142201A (ja) | 情報処理装置、情報処理システム、情報処理方法およびプログラム | |
TW202418068A (zh) | 處理器及自處理器偵測軟錯誤的方法 | |
CN115220790A (zh) | 数据处理方法、处理器以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140204 |