JP2005316887A - マイクロプロセッサ - Google Patents

マイクロプロセッサ Download PDF

Info

Publication number
JP2005316887A
JP2005316887A JP2004136382A JP2004136382A JP2005316887A JP 2005316887 A JP2005316887 A JP 2005316887A JP 2004136382 A JP2004136382 A JP 2004136382A JP 2004136382 A JP2004136382 A JP 2004136382A JP 2005316887 A JP2005316887 A JP 2005316887A
Authority
JP
Japan
Prior art keywords
register
data
processor
data transfer
flag
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
JP2004136382A
Other languages
English (en)
Other versions
JP4403009B2 (ja
Inventor
Kazuhiko Iwanaga
和彦 岩永
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004136382A priority Critical patent/JP4403009B2/ja
Publication of JP2005316887A publication Critical patent/JP2005316887A/ja
Application granted granted Critical
Publication of JP4403009B2 publication Critical patent/JP4403009B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

【課題】 不良のPEがあっても、簡単な構成でプロセッサの救済および正常かつ速やかなデータ転送を常に行うことができるマイクロプロセッサを提供する。
【解決手段】 複数のデータを処理するための複数のプロセッサエレメント40を有するSIMD型プロセッサ51で、前記各プロセッサエレメント40に対しあらかじめ備わるRレジスタR0〜R31とは別のレジスタ(不良フラグ)53を設け、不良フラグ53に外部からアクセスするためのデータ転送用ポートを設け、データ転送用ポートに各プロセッサエレメント40のRレジスタR0等と外部のメモリとの間でデータ転送を行うためのデータ転送装置(メモリコントローラ21)を接続し、メモリコントローラ21は、不良フラグ53の値によって前記データ転送を抑止する。
【選択図】図3

Description

本発明は、SIMD型プロセッサを構成する複数のプロセッサエレメントのうち何れかに不良が生じても、簡易な構成で問題無く所定の演算処理を並列に行い、かつ変倍処理にも適するマイクロプロセッサに関する。
近年、製造プロセスの微細化によってLSIの集積度は高まる一方であり、SIMD(Single Instruction Stream, Multiple Data Stream)型プロセッサにおいても演算ユニット(プロセッサエレメント)数の増加が可能となってきた。
SIMD型プロセッサでは、複数のプロセッサエレメント(以下、PEという)により複数のデータに対して1つの命令で同時に同一の演算処理を実行することが可能である。この複数のPEは、演算は同一であるがデータ量が非常に多い処理(例えばデジタルコピアなどにおける画像処理)に係る用途において、頻用される。
SIMD型プロセッサにおける通常の画像処理では、複数のPEを主走査方向に並べ、同一の演算を同時に複数のデータに対して実行することによって高速な演算処理が可能となっている。
複数のPEで並列処理を行う構成のSIMD型プロセッサにおいても、複数のPEのうち一つでも故障した場合、プロセッサ全体として故障となってしまうため、従来は、例えば冗長なPEを設けて正常なPEと置き換えるなどして、プロセッサ全体を救済するという手法が取られてきた。
即ち、従来、プロセッサ全体を救済する技術として、例えば第1に、故障している基本要素プロセッサがある場合、予備要素プロセッサで代替して基本となるアレー結合構造の再構成を行う際に、故障している基本要素プロセッサに隣接している基本要素プロセッサと予備プロセッサを接続するという高並列プロセッサの冗長構成方法が知られている(例えば特許文献1参照。)。
第2に、複数のPEそれぞれに設けられた可動・停止を制御する信号線を不良PEに対して割り当てることなく、置き換え用の冗長PEに割り当てる冗長切り替え装置を設け、これにより不良PEが含まれる並列プロセッサを正常に動作させるという並列プロセッサの冗長切り替え装置が知られている(例えば特許文献2参照。)。
第3に、PEの多数個を相互に結合し並列処理を行う際に、一つのPEと該PEを回路に接続または切り離し、信号を通過させる機能を有する複数個の接続切り替え手段との組み合わせを複数個含むプロッセッシングモジュールを基本要素とし、同一構造をもつこれらのプロセッシングモジュールと、隣接するプロセッシングモジュール間を結ぶ1本以上の配線とで構成し、故障PE回避処理をPM単位で行い、故障前のトポロジィを再現するという並列マシンが知られている(例えば特許文献3参照。)。
第4に、n+1個の記憶装置と、n個の演算装置と、記憶装置が不良であるか否かの情報を保持するn個のレジスタと、レジスタの情報が記憶装置の不良を示す場合または前段からの切替信号をハイレベルで受けた場合にハイレベルの切替信号を次段の回路および同段の切替回路に出力する切替信号生成回路と、切替信号がローレベルのときは演算装置のデータ入出力ラインと記憶装置の入出力端子を接続し、切替信号がハイレベルに切替わると演算装置のデータ入出力ラインを記憶装置の入出力端子から次段の記憶装置の入出力端子に切り替え接続する切替回路とを設けたデータ処理装置が知られている(例えば特許文献4参照。)。
第5に、1個のプロセッサ部とプロセッサ部の第1の側に隣接する他のプロセッサ部とを接続する第1の通信経路と、プロセッサ部とプロセッサ部の第2の側に隣接する他のプロセッサとを接続する第2のデータ通信経路とを有し、プロセッサ部は、プロセッサ部の無効化制御回路と、無効化制御回路の作動による故障のプロセッサ部の無効化時に、第1のデータ通信経路から入力されたデータを第2のデータ通信経路に出力するバイパス回路とを有する半導体装置が知られている(例えば特許文献5参照。)。
第6に、一または複数の構成群に別の同じ付加的構成群の配属し、構成群の入力側にマルチプレクサを前置接続し、該マルチプレクサは、一つの構成群の入力バスを後続の構成群に接続することができ、構成群の出力側にマルチプレクサを後置接続し、該マルチプレクサは、後続の構成群のうち一つの構成群の出力バスを受け取ることができ、構成群の一つが故障した場合、マルチプレクサは、故障した構成群が後続の構成群によって、最後の構成群が付加的構成群によって置換されるという集積回路の修復方法が知られている(例えば特許文献6参照。)。
特開平9−22400号公報 特開平9−288652号公報 特許第3005243号公報 特開2000−148998号公報 特開2002−169787号公報 特表2001−527218号公報
このように、特開平9−22400号、特開平9−288652号、特許第3005243号などの各号報に記載の従来例においては、不良プロセッサを置き換えるための冗長PEを設けておき、故障しているPEがある場合には、PEを特定する信号を冗長PEに割り当てることで並列プロセッサを救済しており、特に、特開平9−288652号に記載の従来例においては、プロセッサ外部とのデータの受け渡しに関して、外部出力バスに対して3ステートバッファで出力する形態であり、バッファの出力イネーブル信号自体が故障PEと冗長PEとで切り替わるように構成されている。
これらはPE数が少ない場合には有効な手法であるが、あらかじめ冗長なPEを必要とするため、PE数が多い場合には切り替えが必要な制御線の数が非常に多くなるとともに、構成面積の増大化、製造の複雑化、および製造コストの増大化を余儀なくされるという欠点がある。
また、特開2000−148998号、特開2002−169787号、特表2001−527218号などの各号報に記載の従来例においては、隣接したPEからの出力信号と自身が出力する信号とを共有するマルチプレクサを各PEが有し、故障しているPEでは隣接したPEからの出力信号をバイパスして出力することで並列プロセッサを救済しており、特に、特開2002−169787号には何ら記載が無いが、特開2000−148998号に記載の従来例においては、プロセッサ外部とのデータの受け渡しに関しては、シフトレジスタ構成を取ることで対応している。
これらは構成は簡単であるがシフトレジスタを用いるため、特定のPEよりも大きいPEのみのデータ転送を行うような場合であっても、特定のPEよりも小さいPEに関してもデータのシフトを行う必要が伴い、転送にかかる時間が多くなってしまうという欠点がある。
本発明は、上記課題に鑑み、SIMD型プロセッサにおいて不良のPEがあっても、簡単な構成で、プロセッサの救済および正常かつ速やかなデータ転送を常に行うことができるマイクロプロセッサを提供することを第1の目的とし、しかも画像処理に際しては、プロセッサの救済とともに変倍処理をも同時に行うことができるマイクロプロセッサを提供することを第2の目的とする。
上記目的を達成するため、本発明は、複数のデータを処理するための複数のプロセッサエレメントを有するSIMD型プロセッサを備えたマイクロプロセッサにおいて、前記各プロセッサエレメントに対しあらかじめ備わる汎用レジスタとは別のレジスタを設け、前記汎用レジスタおよび前記レジスタに外部からアクセスするためのデータ転送用ポートを設け、前記データ転送用ポートに前記各プロセッサエレメントの汎用レジスタと外部のメモリとの間でデータ転送を行うためのデータ転送装置を接続し、前記データ転送装置は、前記レジスタの値によって前記データ転送を抑止することを特徴とする。
前記レジスタは、自己のプロセッサエレメントの不良の有無を示す不良フラグであることを特徴とする。
前記各プロセッサエレメントは、前記レジスタに命令インストラクションにより各プロセッサエレメント毎に個別のデータを設定することが可能であることを特徴とする。
前記各プロセッサエレメントに前記レジスタとは別のレジスタを設け、前記別のレジスタに命令インストラクションによって各プロセッサエレメント毎に個別のデータを設定することを可能にし、前記データ転送装置は、前記レジスタの値と前記別のレジスタの値との論理演算結果によって前記データ転送を抑止することを特徴とする。
前記各プロセッサエレメント毎に設定される前記個別のデータは、画像処理における変倍制御ビットであることを特徴とする。
前記レジスタ、前記別のレジスタの値は、前記SIMD型プロセッサ内の前記各プロセッサエレメントのセルフテストの結果に基づいて設定されることを特徴とする。
本発明によれば、各プロセッサエレメントのうち、何れかのプロセッサエレメントに不良があるとしても、不良のプロセッサエレメントの悪影響を除き、SIMD型プロセッサ全体を救済することができ、このため不良のプロセッサエレメントがあっても、常に正常に等しい演算処理を行って、正常にデータ転送(送信または受信)を行うことができる。
また、本発明によれば、何れかのプロセッサエレメントに不良があっても、SIMD型プロセッサを救済するとともに確実に変倍処理(または任意の変倍率の変倍処理)をも行うことが可能であり機能的にも向上する。
まず、図1および図2を参照して、本発明の前提となる技術について説明する。図1は本発明の前提となる技術の概略構成を示すブロック図であり、図2は本発明の前提となる技術の部分的な詳細構成を示すブロック図である。
本発明の前提となる技術は、即ち、図1に示すように、SISD(Single Instruction stream Single Data stream)型のプロセッサであるグローバルプロセッサ(以下、GPという)13と、SIMD(Single Instruction stream Multiple Data stream)型プロセッサ(図2参照)11を構成するプロセッサエレメントグループ15、および、データ転送装置としてのメモリコントローラ21に接続される外部インタフェース17を備えたマイクロプロセッサである。
GP13は、メモリコントローラ21およびプロセッサエレメントグループ15を制御する。GP13は、具体的には、メモリコントローラ21を起動し、外部のメモリ23から画像データ等を読み取らせるとともに、外部インタフェース17を介してプロセッサエレメントグループ15のレジスタファイル31内の所定の汎用レジスタ(後述するRレジスタ)に格納させ、かつ演算アレイ33を制御してその画像データ等に同一の演算処理を行わせ、レジスタファイル31内の他の汎用レジスタ(Rレジスタ)に格納させる。そして、GP13は、メモリコントローラ21を起動し、外部インタフェース17を介してその演算処理後の画像データ等を取り込ませるとともに、外部のメモリ23に書き込ませる。
尚、GP13は、同一のメモリコントローラ21を制御し、同一の外部のメモリ23に対する画像データ等のリード/ライトを行わせるものとは必ずしも限らず、別のメモリコントローラを制御して演算処理後の画像データ等を別の外部のメモリに書き込ませる場合もある。
メモリコントローラ21は、概略的には、GP13からの所定の命令に基づいて、外部インタフェース17を制御するとともに、例えばディジタル複写機やファクシミリ等のCCDセンサ等を含む画像入力系等に備わるメモリ(シングルポートメモリ:RAM)23から演算対象となる画像データ等を順次に読み出して、外部インタフェース17を介しプロセッサエレメントグループ15内の各プロセッサエレメント(以下、PEという)のレジスタファイル(後述するRレジスタ)31に一時的に記憶する制御、および、一時記憶後の画像データ等の演算アレイ33による演算処理の結果(画像データ等)を外部インタフェース17を介しメモリ23に格納する制御を行う。メモリ23に格納された演算後の画像データ等は、例えばディジタル複写機やファクシミリ等の静電潜像形成、現像、用紙への転写等を行う画像形成系等に出力される。
即ち、メモリコントローラ21は、各Rレジスタ毎に備わっている各外部インタフェース17毎に設けられており、具体的には、図4に示すように、メモリ(RAM)23に画像データをライトする際に用いるライトバッファ71、メモリ23から画像データをリードする際に用いるリードバッファ73、PEのレジスタファイル31へのアクセスを行うべく外部インタフェース17を制御する外部I/F制御部75、メモリ23への画像データの記録、読み出し、演算後の画像データの記録を制御するRAM制御部77、および、全体を制御するシーケンスユニット(以下、SCUという)79を備えている。
メモリコントローラ21は、SIMD型プロセッサを構成するプロセッサエレメントグループ15のレジスタファイル31と外部インタフェース17内のデータ転送ポート(図示せず:出力ポートと入力ポートを備える)を介して接続されており、レジスタファイル31からメモリ23へのデータ転送、および、メモリ23からレジスタファイル31へのデータ転送を制御する。メモリコントローラ21が制御するレジスタは、I/O空間にマッピングされており、GP13からの要求に従いリード、ライトの制御が可能となっている。
ライトバッファ71にはSIMD型プロセッサ11の外部インタフェース17の出力ポートが接続され、リードバッファ73には外部インタフェース17の入力ポートが接続される。データ転送ポートは、それぞれ偶数PE用と奇数PE用の入力ポート、および出力ポートを独立して有しており、1サイクルで一度に偶数、奇数の1組のPE分のデータがアクセス可能に構成されている。
また、ライトバッファ71、リードバッファ73とメモリ23との間のデータバスは、それぞれ4PE分のデータ幅で構成されており、1サイクルで一度に4PE分のデータをアクセスできる。尚、1PE分のデータは8bitとしており、外部インタフェース17とライトバッファ71、およびリードバッファ73との間のデータバスのbit幅は16bitで構成される。従って、メモリコントローラ21とメモリ23との間のbit幅は32bitで構成される。
この結果、外部インタフェース17のデータ転送ポートとメモリコントローラ21との間のデータ転送を2回行う間に、メモリ23とメモリコントローラ21との間のデータ転送を1回実行すれば良いことになる。メモリコントローラ21のライトバッファ71は、各PEの外部インタフェース17より出力されたデータを2回取り込み、4個のPE分のデータが格納された後、メモリ23に転送する動作を行っている。また、リードバッファ73は、メモリ23から読み出した4個のPE分のデータを2回に分けて、各PEの外部インタフェース17に転送する動作を行っている。
一方、SCU79には、外部インタフェース17の制御ビット用ポート(図示せず)が接続されており、制御ビット用ポートを介して、データ転送の際に転送抑止データをリードし、データ転送の制御を行う。
次に、図2を参照して、GP13、およびSIMD型プロセッサを構成するPEの具体的な構成について説明する。GP13は、図2に示すように、具体的には、第1に、各PE40を制御するプログラムを格納するプログラムRAM41、演算データ格納用のデータRAM43が内蔵されている。
GP13は、第2に、プログラムのアドレスを保持するプログラムカウンタPC、演算処理のデータ格納用の汎用レジスタG0,G1,G2,G3、レジスタ退避、復帰時にデータRAM43の退避先アドレスを保持するスタックポインタSP、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタLS、同じくIRQ(割込み信号入力)時とNMI(優先度の高い割込み処理)時の分岐元アドレスを保持するレジスタLI,LN、および、GP13の状態を保持するプロセッサステータスレジスタPが内蔵されている。
GP13は、第3に、詳しく図示しないが、所定の命令を実行するための命令デコーダ、ALU(算術論理演算装置)、メモリ制御回路、割り込み制御回路、外部I/O制御回路、および、GP演算制御回路が内蔵されている。
また、GP13は、PE命令実行時は、図示しないが、命令デコーダ、レジスタファイル制御回路、PE演算制御回路を使用して、プロセッサエレメントグループ15内の各PE40のレジスタファイル31の制御、各PE40の演算アレイ(後述する算術論理演算装置を含む)33の制御、および、各PE40の7to1マルチプレクサ(以下、7to1MUXという)35の制御を行う。
一方、各PE40は、図2に示すように、第1に、例えばメモリ23から読み出した1画素の画像データ(Data)を選択的に一時的に記憶する例えば24個の8bitレジスタ(以下、Rレジスタという)R0〜R23、および、後述する演算後の1画素の画像データを選択的に一時的に記憶する例えば8個の8bitレジスタ(以下、Rレジスタという)R24〜R31を備えている。
各RレジスタR0〜R31は、後述する算術論理演算装置47に対する一つの読み出しポートと一つの書き込みポートとを備えており、8bitのリード/ライト兼用のバスB1を介して後述する演算アレイからアクセスされる。各RレジスタR0〜R31のうち、特にRレジスタR0〜R23は、外部からアクセスするためのデータ転送用ポートを備えており、外部インタフェース17を介し外部のメモリコントローラ21乃至メモリ23との間で画像データ等のデータ転送を行うことが可能である。
殊に、メモリコントローラ21は、アドレス信号(Address)、クロック信号(CLK)、リード/ライト制御信号(RWB)を出力することで任意のRレジスタR0〜R23の読み書きが可能であることは上述した通りである。
各PE40は、前述のRレジスタR0〜R31を備えるとともに、例えば256組の配列構成となっており、この場合、Rレジスタの総数は8192個になる計算である。但し、PE40は、例えば1024組の配列構成を採用する態様もある。
各PE40は、第2に、7to1MUX35、シフト&拡張回路(ShiftExpand:以下、SEという)45、16bitの算術論理演算装置(以下、ALUという)47、Aレジスタ48、およびFレジスタ49を備えている。また、各PE40は、詳しく図示しないが、8bitの条件レジスタを備えており、各PE40毎に演算実行の無効/有効の制御が可能である。これにより特定のPE40を演算対象として選択することができる。
尚、演算アレイとして、本例の場合はアキュムレータ方式を採用しているが、汎用レジスタ方式等を用いても良いことは勿論である。
7to1MUX35は、各RレジスタR0〜R31を接続するバスB1に接続されるとともに、両隣三つの各PE40のバスB1にも接続されており、合計七つのPE40の各RレジスタR0〜R31から一つのRレジスタR0等へのアクセス、もしくはRレジスタR24等へのアクセスを選択する。即ち、7to1MUX35は、GP13からの選択指令に基づいて選択したRレジスタR0等に一時的に記憶された画像データ等をSE45に出力する場合、および、演算後の画像データ等をRレジスタR24等に一時的に記憶させる場合の何れかの処理を行う。これにより7to1MUX35は、両隣三つのPE40を含め七つのPE40の各RレジスタR0〜R23に保持されている画像データのうち何れかを利用してALU47に演算処理を行わせることを可能にし演算能力を高める。
SE45は、7to1MUX35からの画像データ等を所定ビットシフトしALU47に出力するか、ALU47からの演算後の画像データ等を所定ビットシフトし7to1MUX35に出力するかの何れかの処理を行う。尚、SE45の処理には例えば画像データ等にゼロ拡張や所定の定数倍に処理する場合もが含まれるものである。
ALU47は、SE45からの画像データと、Aレジスタ48に保持されたデータに基づいて所定の算術論理演算を行う。ALU47は、16bitの画像データ等に対応することが可能である。演算後のデータは、Aレジスタ48に記憶される他、該データをFレジスタ(テンポラリレジスタ)49に記憶する。これらはGP13により制御される。
次に、メモリコントローラ21と、各PE40の動作の概要について説明する。外部のメモリ23には、例えばスキャナ等から取り込んだ1ライン分の画像処理(演算処理)前の画像データが格納されているものとする。GP13からの要求に基づいてメモリコントローラ21がメモリ23内の画像データを読み出すとともに、各PE40の例えばRレジスタR0等に転送し一時的に記憶させる。
続いて、各PE40は、全体として例えば256画素の画像データに対して画像処理(所定の演算処理)を行う。演算処理には例えば数100回の演算を経て出力画像が形成される。演算後の画像データは、GP13からの要求により例えば各PE40のRレジスタR1に一時的に記憶される。GP13からの要求により所定のメモリコントローラ(例えば別のメモリコントローラ)を起動させ、各RレジスタR1に記憶された演算後の画像データを外部のメモリ(例えば別のメモリ)に格納する。
画像処理を行うべき画像データの横幅(主走査方向の画素数)が256以内であれば上記の動作を行うことで1ライン分の処理が終了する。画像データの横幅が256以上であれば上述の処理を複数回に分けて行うことで1ライン分の処理が終了する。後は、これを縦方向の画素数(副走査方向の画素数)回だけ繰り返すことで画像処理(演算処理)が完了する。
以下、図3乃至図9を参照して、本発明の第1の実施の形態に係るマイクロプロセッサについて説明する。本実施の形態のマイクロプロセッサもSIMD型プロセッサに適用される。図3は本実施の形態のSIMD型プロセッサおよびGP13の詳細構成を示すブロック図である。尚、図3において図2に示した部分と同一部分には同一の符号を付して説明を省略する。
本例のSIMD型プロセッサ51は、図3に示すように、各PE40に対して、不良フラグ53、IDレジスタ55、Tレジスタ57、二つのMPX59,61、および、PE選択部63を新たに備えたものである。
各不良フラグ53は、1bitのレジスタであり、GP13のプログラムRAM41に格納されたセルフテストのプログラム実行に伴い、自己のPE40が正常に動作するか否かをセルフテストした結果として、自己のPE40が不良であるか否かを示す情報がセットされる。各不良フラグ53は、自己のPE40が正常である場合は例えば‘0’にセットされ、不良である場合は‘1’にセットされる。各不良フラグ53は、シフトレジスタで構成されており、GP13から各々の値が‘0’であるか‘1’であるかの設定を行うことが可能である。
不良フラグ53は、外部(メモリコントローラ21)からのアクセスを中継する外部インタフェース17との接続を図るためのデータ転送用ポート(図示せず)と接続されており、不良フラグ53の値によりメモリコントローラ23等に対しデータ転送を抑止させることが可能である。データ転送には、主に演算前もしくは演算後の画像データ等のデータ転送が含まれる。
不良フラグ53の値は、転送用ポートから外部インタフェース17を介して外部のメモリコントローラ21等に出力し、メモリコントローラ21に不良のPE40を認識させることが可能である。不良フラグ53の値も、外部のメモリコントローラ21からのアクセスが偶数のPE40と奇数のPE40との1組で1つのデータとして行われるので、偶数PE40用と奇数PE40用との2bitが1回のアクセスで外部のメモリコントローラ21へ伝達される。
IDレジスタ55は、自己のPE40が例えば図示最も左側(最初)のPE40から数えて何番目のPEであるかを示すデータが格納される。即ち、後述するセルフテストの際に判明した不良のPE40を除いて‘0’から順にインクリメントした数が格納される。IDレジスタ55の値は、データバスを介してALU(16bitALU)47に入力されており、ALU47においてGP13からの即値データと比較した結果がTレジスタ57に反映される。
画像処理においては、ディザテーブルのロード等のように、例えば四つおきのPE40に同一の値をロードするといった処理が必要になる場合があるが、IDレジスタ55を内蔵することによって不良のPE40があっても対応することが可能となる。
Tレジスタ57は、詳しくは、図5に示すように、マルチプレクサ64、フラグとしての1bitの複数のレジスタT7〜T0、マルチプレクサ65、および、不良フラグ53の反転入力とマルチプレクサ65の出力とのアンドを取るアンド回路67を備えている。マルチプレクサ64は、各PE40のALU47から出力される演算フラグ(図示せず)の値と、レジスタT7〜T0を初期化するためにデータバスからのデータとを入力し、演算結果に応じてレジスタT7〜T0の何れかを設定することが可能である。マルチプレクサ65は8組あるレジスタT7〜T0の中の一つを演算種別の条件として選択するために備えられている。アンド回路67は、不良のあるPE40では選択された結果が常にネゲート(否定)されており、不良PEでは演算を行わせない。即ちアンド回路67は、マルチプレクサ65の出力を入力するとともに不良フラグ53の出力を反転入力し、マルチプレクサ65で選択された演算実行が肯定された場合に、その旨を示す出力をAレジスタ48、Fレジスタ49、および、MPX59に反映させ、常に16bitALU47の演算実行の無効/有効を制御する。
MPX59は、GP13における即値1データバスからの即値データを入力する一方で、シフタ(即ち図2に示すSEと同一:以下、シフタという)45からの画像データ等を入力し、画像データ等をALU47に転送する。尚、即値データは、全PE40に共通にデータを設定する場合等に使用されるもので、命令中に記載されている値のことである。
MPX61は、GP13における即値2データバスからの即値データを入力する一方で、Aレジスタ48からのデータを入力し、Aレジスタ48からのデータをALU47に転送する。尚、この場合の即値データも、全PE40に共通にデータを設定する場合等に使用されるもので、命令中に記載されている値のことである。
例えば上記ディザテーブルのロード等のように、例えば4つおきのPE40に同一の値をロードするといった処理が必要になった場合には、各PE40のALUにおいて、IDレジスタの値と、GPから供給される即値データ“3”とのAND演算を行い演算結果をAレジスタに格納する(Step1)。
次にAレジスタの値と、GPから供給される即値データ“0”との比較を行い比較結果の演算フラグの値(Zフラグ(演算結果が等しい場合に“1”になるフラグ)をTレジスタのT1フラグに格納する(Step2)。
同様にAレジスタの値と、GPから供給される即値データ“1”との比較結果のZフラグの値をT2フラグに格納する(Step3)。
同様にAレジスタの値と、GPから供給される即値データ“2”との比較結果のZフラグの値をT3フラグに格納する(Step4)。
同様にAレジスタの値と、GPから供給される即値データ“3”との比較結果のZフラグの値をT4フラグに格納する(Step5)。
このようにすると、PE番号が(4n)のPEはT1に“1”が、PE番号が(4n+1)のPEはT2に“1”が、PE番号が(4n+2)のPEはT3に“1”が、そしてPE番号が(4n+3)のPEはT4に“1”が格納されるので、この4つのフラグ(T1〜T4フラグ)を使えば、4つおきのPE毎に同一の値をロードすることが可能となることがわかる。
ALU47は、前述と同じく、シフタ45からの画像データ等と、Aレジスタ48からのデータに基づいて所定の算術論理演算を行う。ALU47は、16bitの画像データ等に対応することが可能である。演算後のデータは、Aレジスタ48に記憶される他、該データをFレジスタ(テンポラリレジスタ)49に記憶する場合がある。これらはGP13により制御される。
PE選択部63は、第1に、自己のPE40においてRレジスタR0〜R31に接続するバスB1に接続し、第2に、各PE40の配列方向に対し前方(図示左方向)の三つ隣分、および四つ目の隣分の各々のPE40においてRレジスタR0〜R31に接続する各バスB1に個別に接続し、第3に、各PE40の配列方向に対し後方(図示右方向)の三つ隣分、および四つ目の隣分の各々のPE40においてRレジスタR0〜R31に接続する各バスB1に個別に接続する合計九つの配線経路68を備えており、その何れかのPE40のRレジスタR0〜R31との選択的なアクセスを可能にする所謂9to1のマルチプレクサとしての構成を含む。
即ち、PE選択部63は、例えばGP13からの選択命令により自己に関係する全九つのPE40のうち、一つのPE45のRレジスタR0〜R31とのアクセスを選択する。尚、前方および後方の各四つ目の隣にあたるPE40は、各三つ隣のPE40のうち何れかに不良が生じた場合に対応する救済用乃至予備用として扱うものである。
また、各PE選択部63は、自己に関係する全九つのPE40のうち、自己および両隣三つ分のPE40の不良フラグ53の値(特に不良の場合を示す‘1’の値)が入力されるものであり、例えば自己の前方の1つ隣のPE40に不良がある場合は、前方の2つ隣のPE40のRレジスタR0〜R31とのアクセスを選択する。以下、同様に不良のPE40がある場合は、その一つ外隣のPE40のRレジスタR0〜R31とのアクセスを選択する。
PE選択部63は、図6に示すように、一例として論理回路を含めて構成し、入力(命令の入力)には、まず各三つ隣分の不良フラグ53からの不良を示す出力(即ち‘1’)の入力があり、その他、現在実行中の命令が、どのPE40に格納されている画像データを参照するのかを示す例えばGP13からの次の7通りの制御信号の入力がある。即ち、C_enは自己のPE40の参照命令が発行された時にアクティブになる制御信号であり、L1_enは一つ前のPE40の参照命令が発行された時にアクティブになる制御信号であり、L2_enは二つ前のPE40の参照命令が発行された時にアクティブになる制御信号であり、L3_enは三つ前のPE40の参照命令が発行された時にアクティブになる制御信号であり、U1_enは一つ後のPE40の参照命令が発行された時にアクティブになる制御信号であり、U2_enは二つ後のPE40の参照命令が発行された時にアクティブになる制御信号であり、U3_enは三つ後のPE40の参照命令が発行された時にアクティブになる制御信号である。
また、論理回路の制御信号には、各々のPE40で実際に開かれる配線経路(即ち各PE40のRレジスタに通じるバスB1に接続する配線経路)が何れの経路であるかを決定する次の9通りの制御信号がある。即ち、C_enableは自己のPE40(即ちRレジスタR0等:以下、省略する)を参照するゲートを開く制御信号であり、L1_enableは一つ前のPE40を参照する経路のゲートを開く制御信号であり、L2_enableは二つ前のPE40を参照する経路のゲートを開く制御信号であり、L3_enableは三つ前のPE40を参照する経路のゲートを開く制御信号であり、L4_enableは四つ前のPE40を参照する経路のゲートを開く制御信号である。U1_enableは一つ後のPE40を参照する経路のゲートを開く制御信号であり、U2_enableは二つ後のPE40を参照する経路のゲートを開く制御信号であり、U3_enableは三つ後のPE40を参照する経路のゲートを開く制御信号であり、U4_enableは四つ後のPE40を参照する経路のゲートを開く制御信号である。
一方、PE選択部63の論理回路の構成は、図6に示す構成を有するものであり、図面上から明らかであるため詳しい説明は省略する。
以上、PE選択部63は、上述の論理回路の構成を含むことにより、自己に関係する全九つのPE40のうち、GP13からの命令に基づいて自己がアクセスすべき隣接するPE40に不良がある場合には、さらに1つ隣のPE40のRレジスタR0等にアクセスすることが可能であり、これによりSIMD型プロセッサ51全体を救済し、良好な処理および正常なデータ転送を行うことができる。
尚、予備の配線経路を増やせば二つ以上の故障がある場合でも対応は出来るが回路規模の増加と故障頻度を考えた場合には本実施の形態に示す程度が最適である。
次に、セルフテスト後の本実施の形態の動作の要点について説明する。図7は、メモリコントローラ21を用いて例えばライト制御およびリード制御を行う場合のデータの流れを示す概念図である。
図7に示す転送抑止データは、データ転送と同期して、各PE40の不良フラグ53の値が外部インタフェース17の制御ビット用ポートを介して読み出され、故障しているPEに関してデータ転送を抑止するために用いられる。転送抑止データは、正常なPE40では‘0’が、不良のPE40では‘1’が読み出される。
メモリコントローラ21がライト制御(PE40のRレジスタR0等からメモリ23への転送)を行う場合は、転送抑止データが各々‘0’であるPE40のデータD0,D2,D4等のみがSCU79及びRAM制御部77の制御に基づいてメモリ23に格納される。即ち、転送抑止データが各々‘1’であるPE40のデータD1,D3等はSCU79の制御に基づいてメモリ23に格納されず間引かれる。
また、メモリコントローラ21がリード制御(メモリ23からPE40のRレジスタR0等への転送)を行う場合、転送抑止データが各々‘1’であるPE40に対してはメモリ23からのデータを更新せず、一つPE番号が少ないPE40に対して転送したデータD0、D1等と同一のデータを転送する。
かかる構成によれば、不良のPE40があっても、メモリ23と、各PE40に内蔵されるRレジスタR0等との間でのデータ転送を正しく行うことが可能となり、SIMD型プロセッサ51を有効に救済することが可能である。
尚、セルフテストのプログラムは、例えば上位のホストプロセッサ等からプログラムRAM41にダウンロードする。
一方、メモリコントローラ21は、図4に示すように、SCU79が、各不良フラグ53に基づく外部インタフェース17からの制御データの出力を入力することで不良のPE40を認識することが可能である。尚、本処理に関する処理以外は、メモリコントローラ21とSIMD型プロセッサ51との関係は、図2に示したメモリコントローラ21とSIMD型プロセッサ11との関係と同様であり詳しい説明は省略する。
ところで、図8に示すように、外部インタフェースを介してRレジスタを制御しているレジスタコントローラ69は、各偶数、各奇数のPE40に備わる図6および図7にレジスタとして示す各RレジスタR0等に対し個別に設けられているものである。レジスタコントローラ69の動作は前述の例と同様であり、詳しくは、第1に、外部インタフェース17を介しメモリコントローラがアクセスを行う所定のPE40のアドレスを入力し、かつライト制御の信号を入力した場合は、例えばRレジスタR0等のポートW1にライト指示の信号を出力し、例えばRレジスタR0等に、外部インタフェース17を介し転送される画像データ等をポートD1から取り込ませ一時的に記憶させる。第2に、外部インタフェース17を介しリード制御の信号を入力した場合は、例えばRレジスタR0等のポートR1にリード指示の信号を出力し、例えばRレジスタR0等に、ポートD1を通して外部インタフェース17に対し一時記憶済みの演算後の画像データ等を転送させる。
一方、例えばRレジスタR0等は、例えばGP13からのリード制御の信号をポートR2から入力した場合は、記憶後の画像データ等をポートD2を通してPE選択部63に転送する。また、RレジスタR0等は、例えばGP13からのライト制御の信号をポートW2から入力した場合は、PE選択部63からの演算後の画像データ等をポートD2から取り込んで一時的に記憶する。尚、記憶後における演算後の画像データ等は、レジスタコントローラ69の前記第2の制御に従い外部インタフェース17を介し外部のメモリコントローラ21に転送される。
次に、図9に示すフローチャートを参照してセルフテストを行う際のGP13の処理動作について説明する。まず、ステップ801において電源投入を行った後、ステップ802において例えば上位のホストコンピュータ等から自己検査プログラムをダウンロードし、かつステップ803においてGP13の検査を開始する。そして、ステップ804において、GP13の検査結果がOKであるか否かを判定する。
GP13の検査結果がNGである場合は、GP13を不良品として認定し例えばメンテナンス等を行う。しかし、GP13の検査結果がOKである場合は、ステップ805において全PE40の検査を開始すべく、まず、対象PEとしてPE=0のアドレスのPE40の検査を選択する。そして、ステップ806において既選択のPE40の検査を実行する。尚、PEの検査に際しては、例えば全PE40に対し順次に同一の画像データ(テスト用データ)等を転送し各々に同一の演算処理を行わせ、あらかじめ用意した演算結果のデータと相違するPE40を探索する場合、あるいは所定の特性を有して個別に異なり得る画像データ(テスト用データ)等を順次に転送し各々の演算結果を確認する場合等、随時任意の検査を行うことが可能である。
続いて、ステップ807において既選択のPE40の検査結果がOKであるか否かを判定する。検査結果がOKである場合は、ステップ808において検査対象のPE40のアドレスをインクリメントし、かつ最終のPE40の検査を終えたか否かを判定する。最終のPE40の検査を終えていない場合は、ステップ806に戻り次の選択のPE40の検査を行う。かくて、最終のPE40までの検査を終えた場合は、ステップ819へ進んでメインプログラムのダウンロードを行い、かつステップ820においてメインプログラムの実行を行う。
しかし、ステップ807において、検査結果がNGであるPE40の存在が判明した場合は、ステップ809において検査対象のPE40のアドレスをインクリメントし、かつ最終のPE40の検査を終えたか否かを判定する。最終のPE40の検査を終えていない場合は、ステップ810へ進む。しかし、最終のPE40までの検査を終えた場合は、ステップ819へ進んでメインプログラムのダウンロードを行い、かつステップ820においてメインプログラムの実行を行う。
一方、ステップ810においては、NGである該PE40の次のPE40の検査を行い、かつステップ811においてその検査結果がOKであるか否かを判定する。検査の結果、NGであるPE40が確認された場合は、図6に示すPE選択回路63が三つの隣接するPEの内の一つのPEだけが不良である場合に対応できる構成となっており、三つの隣接するPEの中に二つ以上の不良のPEがある場合には救済ができないため、SIMD型プロセッサ51全体を不良品として扱う。しかし、検査結果がOKである場合は、ステップ812へ進む。
ステップ812においては、検査対象のPE40のアドレスをインクリメントし、かつ最終のPE40の検査を終えたか否かを判定する。最終のPE40の検査を終えた場合はステップ819へ進むが、最終のPE40の検査を終えていない場合は、ステップ813において次の既選択のPE40の検査を行った後、ステップ814においてその検査結果がOKであるか否かを判定する。検査の結果、NGであるPE40が確認された場合は、上述と同じ理由でSIMD型プロセッサ51全体を不良品として扱う。しかし、検査の結果がOKである場合はステップ815へ進む。
ステップ815においては、検査対象のPE40のアドレスをインクリメントし、かつ最終のPE40の検査を終えたか否かを判定する。最終のPE40の検査を終えた場合はステップ819へ進むが、最終のPE40の検査を終えていない場合は、ステップ816において次の既選択のPE40の検査を行った後、ステップ817においてその検査結果がOKであるか否かを判定する。検査の結果、NGであるPE40が確認された場合は、上述と同じ理由でSIMD型プロセッサ51全体を不良品として扱う。しかし、検査の結果がOKである場合はステップ818へ進む。
ステップ818においては、検査対象のPE40のアドレスをインクリメントし、かつ最終のPE40の検査を終えたか否かを判定する。最終のPE40の検査を終えた場合はステップ819へ進むが、最終のPE40の検査を終えていない場合は、ステップ806へ移行する。
このようにステップ807において不良のPEが検出された場合は、ステップ810で次のPE検査の後、ステップ811で検査結果がOKであり、かつ同様にステップ814でさらに次のPEの検査結果がOKであり、かつ同様にステップ817でさらに次のPEの検査結果がOKである場合にSIMD型プロセッサ51の救済が可能であり、このための検査を行うことになる。
次に、図10乃至図13を参照して、本発明の第2の実施の形態に係るマイクロプロセッサについて説明する。本実施の形態のマイクロプロセッサもSIMD型プロセッサに適用される。図10は本実施の形態のSIMD型プロセッサの詳細構成を示すブロック図である。尚、図10において図3に示した部分と同一部分には同一の符号を付して説明を省略する。
本実施の形態のSIMD型プロセッサ111は、図10に示すように、各PE40に対して、変倍フラグ113が新たに備えられたものである。
変倍フラグ113は、図11に示すように、具体的には、第2の実施の形態で示したものと同様の不良フラグ53、各PE40のデータバスに接続された変倍フラグ113、および、不良フラグ53の出力もしくは変倍フラグ113の出力を入力した際に能動となりPE40のPE汎用レジスタ(RレジスタR0等)へ出力を与えるオア回路115を備えて構成されている。
即ち、変倍フラグ113には、GP13から出力される例えばライト制御信号によりデータバスから入力された値が書きこまれる。変倍フラグ113の値は、不良フラグ53の値との論理和が取られ、PE汎用レジスタ(RレジスタR0等)へと供給される。
尚、変倍フラグ113は、外部(メモリコントローラ21)からのアクセスを制御する外部インタフェース17との接続を図るためのデータ転送用ポート(図示せず)と接続されており、変倍フラグ113の値によりメモリコントローラ21等に対しデータ転送を抑止させることが可能である。データ転送には、主に演算前もしくは演算後の画像データ等のデータ転送が含まれる。また、変倍フラグ113の値により外部のメモリコントローラ21等のリード/ライト制御の形態を拡大、縮小の形態に変更させることが可能である。
図12の上側は、デジタルコピーやファクシミリ等でよく行われる変倍処理の内、縮小を実現するための間引きライト動作について図示したものである。各PE40の変倍フラグ113の値は、例えば‘0’か‘1’かの1bitデータであり、ここではGP13からの設定に基づいて正しい間引き制御データを構成すべく一例としてPE1,PE4,PE7の変倍フラグ113の値が‘1’に設定されている。この結果、SCU79の制御に基づくRAM制御部(図4参照)77は、各PE40のうち、アドレス例として、PE1,PE4,PE7等の画像データを間引き、PE0,PE2,PE3,PE5,PE6,PE8,PE9等のPE40の汎用レジスタ(RレジスタR0等)のデータをメモリ(RAM)23に書き込む。
図12の下側は、不良のPEがある場合の縮小の変倍処理の動作について図示したものである。ここではGP13からの設定に基づいて正しい間引き制御データを構成すべく一例としてPE1、PE6の変倍フラグ113の値が‘1’に設定されているとともに、アドレス例として、PE2,PE4,PE8のPE40の不良フラグ53が不良を示す‘1’を出力している。この場合、間引き制御データ(転送抑止データ)にはPE1,PE2,PE4,PE6,PE8等に間引きを示す‘1’が含まれる。この結果、SCU79の制御に基づくRAM制御部(図4参照)77は、各PE40のうち、アドレス例として、PE0,PE3,PE5、PE7,PE9等のPE40の汎用レジスタ(RレジスタR0等)のデータをメモリ(RAM)23に書き込む。即ち、SIMD型プロセッサ は、不良のPEを飛ばして再構成されるから、ライト制御データおよび画像データが図12の下側のように格納されることになる。ライト制御データと故障PE情報との論理和を転送抑止データとすると、図のようにPE1,PE2,PE4,PE6,PE8のデータが間引かれることになり、メモリ23等に格納されるデータは故障のない場合のデータの場合と全く同一であることがわかる。
図13の上側は、デジタルコピーやファクシミリ等でよく行われる変倍処理の内、拡大を実現するための重複リード動作について図示したものである。ここでは、メモリ23等から読み取る画像データとして、アドレス例として、PE1,PE4,PE7等の画像データが直前のPEであるPE0,PE3,PE6に格納されるデータと同じ値のデータとなっている。従って、PE1,PE4,PE7を飛ばして、PE0,PE2,PE3,PE5,PE6,PE8,PE9にメモリ23等から読み出した画像データが格納されることになる。
図13の下側は、不良のPEがある場合の拡大処理の動作について図示したものである。ここでは、アドレス例として、PE2,PE4,PE8等に不良がある場合を例示する。不良のPEがある場合、SIMD型プロセッサ111は、不良のPEを飛ばして再構成されるので、リード制御データは図のように格納されていることになる。また、画像データの方も同様に図のように格納されている。リード制御データと故障PE情報との論理和を転送抑止データとすると、図のようにPE1,PE2,PE4,PE6,PE8に格納されるデータが直前のPEのデータと重複することになり故障のない場合にPEのレジスタファイルに格納されるデータと全く同一であることがわかる。故障のあるPEを飛ばして順番にデータが格納されている。即ち、本実施の形態の構成によれば、故障しているPEがあっても変倍を正しく行うことが可能であることがわかる。
かかる構成によれば、PE40に不良がある場合でも、変倍フラグ113の値との論理和を行うことで、不良のPEに係らず画像データ等に正常な変倍処理を行うことが可能であり、SIMD型プロセッサ111を救済するとともに変倍処理を行えるもので機能的にも優れる利点がある。
次に、図14を参照して、本発明の第3の実施の形態に係るマイクロプロセッサについて説明する。本実施の形態のマイクロプロセッサもSIMD型プロセッサに適用されるものであり、図14は本実施の形態のSIMD型プロセッサの詳細構成を示すブロック図である。尚、図14において図3に示した部分と同一部分には同一の符号を付して説明を省略する。
本実施の形態のSIMD型プロセッサ211は、図14に示すように、各PE40の汎用レジスタ(RレジスタR0等)に対して、第2の実施の形態において、各PE40に1つ設けられた変倍フラグ113の代わりに、各PE40の汎用レジスタRレジスタ毎に独立して設けられた変倍フラグ213が新たに備えられたものである。変倍フラグ213は、ポートW1にGP13からのライト制御信号を入力した場合、例えばD1ポートから例えば変倍率のデータを取り込み、ポートR1にリード制御信号を入力した場合、例えば変倍率のデータを汎用レジスタ(RレジスタR0等)、およびオア回路215に出力する。変倍フラグ213は、GP13のプログラムに基づいて任意の変倍率の変倍データを設定可能である。
変倍フラグ213は、D1という端子でデータバスB1と接続されており、GP13より制御することでデータの設定が可能となっている。ポートW1にライト制御信号をアサートすると、データバスB1からデータを変倍フラグ213に書き込む。またR1にリード制御信号をアサートすると、変倍フラグ213の内容をデータバスB1に出力する。オア回路215へは変倍フラグ213の値が常に出力されている。
上記第2の実施の形態においては、各PE40に1つのみ設けられた変倍フラグ113を備えているために、画像処理全体において、外部インタフェース17を介してRレジスタに接続される複数のメモリコントローラ21に対して、複数のメモリコントローラ21が同時に、共通の変倍率を使用しての変倍は可能であるが、各メモリコントローラ21毎に異なった変倍率を用いた変倍処理を行う場合や、共通の変倍率を使用する場合においても、各メモリコントローラ21が、同時ではなく、非同期に変倍を行うような場合には対応し得ないものである。
しかし、本実施の形態においては、各汎用レジスタ(RレジスタR0等)に一つずつ変倍率変更可能の変倍フラグ213を有し、それぞれ個別のオア回路215で自己のPE40の不良フラグ53の値との論理和を取り外部インタフェース17を介しメモリコントローラ21に供給する構成となっている。メモリコントローラ21は、SCU79の制御を介するRAM制御部77の動作等を以って変倍フラグ213が示す変倍率での変倍処理に対応することが可能である。
かかる構成によれば、複数個ある汎用レジスタ毎の変倍フラグ213により、複数個あるメモリコントローラ21毎に独立した変倍率を設定することが可能であるため、不良のPE40の悪影響を除くとともに、画像処理における複数の変倍率がある場合の変倍処理に対応することが可能となり、また複数個のメモリコントローラ21は変倍処理を行う場合においても、それぞれが独立して非同期に動作することが可能となるため、本実施の形態のSIMD型プロセッサ211を使用した画像処理装置のシステム構成としての自由度が向上する。
本発明の前提となる技術の概略構成を示すブロック図である。 本発明の前提となる技術の部分的な詳細構成を示すブロック図である。 本発明の第1の実施の形態のSIMD型プロセッサの構成を示すブロック図である。 第1の実施の形態のメモリコントローラの構成を示すブロック図である。 第1の実施の形態のTレジスタの構成を示すブロック図である。 第1の実施の形態のPE選択部の構成を示す回路構成図である。 第1の実施の形態のリード/ライト制御を行う際のデータの流れを説明する説明図である。 第1の実施の形態のSIMD型プロセッサの要部を拡大して示す要部拡大図である。 第1の実施の形態のセルフテストを行う際の処理動作を示すフローチャートである。 本発明の第2の実施の形態のSIMD型プロセッサの構成を示すブロック図である。 第2の実施の形態の変倍フラグの構成を示す回路構成図である。 第2の実施の形態の縮小の変倍処理を行う際のデータの流れを説明する説明図である。 第2の実施の形態の拡大の変倍処理を行う際のデータの流れを説明する説明図である。 本発明の第3の実施の形態のSIMD型プロセッサの要部構成を拡大して示すブロック図である。
符号の説明
11,51,111,211 SIMD型プロセッサ
13 GP(グローバルプロセッサ)
15 プロセッサエレメントグループ
17 外部インタフェース
21 メモリコントローラ
23 メモリ
31 レジスタファイル
33 演算アレイ
35 7to1MUX
41 プログラムRAM
43 データRAM
45 SE(Shift Expand:シフタ)
47 ALU
48 Aレジスタ
49 Fレジスタ
B1 バス
R0〜R23,R24〜R31 汎用レジスタ(Rレジスタ)
53 不良フラグ
55 IDレジスタ
58 Tレジスタ
59,61 MPX
63 PE選択部
64,65 マルチプレクサ
67 アンド回路
T7〜T0 レジスタ
68 配線経路
69 レジスタコントローラ
71 ライトバッファ
73 リードバッファ
75 外部I/F制御部
77 RAM制御部
79 SCU(シーケンサユニット)
92 バッファ
113,213 変倍フラグ
115,215 オア回路

Claims (6)

  1. 複数のデータを処理するための複数のプロセッサエレメントを有するSIMD型プロセッサを備えたマイクロプロセッサにおいて、
    前記各プロセッサエレメントに対しあらかじめ備わる汎用レジスタとは別のレジスタを設け、
    前記汎用レジスタおよび前記レジスタに外部からアクセスするためのデータ転送用ポートを設け、
    前記データ転送用ポートに前記各プロセッサエレメントの汎用レジスタと外部のメモリとの間でデータ転送を行うためのデータ転送装置を接続し、
    前記データ転送装置は、前記レジスタの値によって前記データ転送を抑止することを特徴とするマイクロプロセッサ。
  2. 前記レジスタは、自己のプロセッサエレメントの不良の有無を示す不良フラグであることを特徴とする請求項1に記載のマイクロプロセッサ。
  3. 前記各プロセッサエレメントは、前記レジスタに命令インストラクションにより各プロセッサエレメント毎に個別のデータを設定することが可能であることを特徴とする請求項1または2に記載のマイクロプロセッサ。
  4. 前記各プロセッサエレメントに前記レジスタとは別のレジスタを設け、
    前記別のレジスタに命令インストラクションによって各プロセッサエレメント毎に個別のデータを設定することを可能にし、
    前記データ転送装置は、前記レジスタの値と前記別のレジスタの値との論理演算結果によって前記データ転送を抑止することを特徴とする請求項1乃至3の何れか一つに記載のマイクロプロセッサ。
  5. 前記各プロセッサエレメント毎に設定される前記個別のデータは、画像処理における変倍制御ビットであることを特徴とする請求項3乃至5の何れか一つに記載のマイクロプロセッサ。
  6. 前記レジスタ、前記別のレジスタの値は、前記SIMD型プロセッサ内の前記各プロセッサエレメントのセルフテストの結果に基づいて設定されることを特徴とする請求項1乃至6の何れか一つに記載のマイクロプロセッサ。

JP2004136382A 2004-04-30 2004-04-30 マイクロプロセッサ Expired - Fee Related JP4403009B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004136382A JP4403009B2 (ja) 2004-04-30 2004-04-30 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004136382A JP4403009B2 (ja) 2004-04-30 2004-04-30 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JP2005316887A true JP2005316887A (ja) 2005-11-10
JP4403009B2 JP4403009B2 (ja) 2010-01-20

Family

ID=35444217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004136382A Expired - Fee Related JP4403009B2 (ja) 2004-04-30 2004-04-30 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JP4403009B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130166974A1 (en) * 2011-12-21 2013-06-27 Advanced Micro Devices, Inc. Methods and systems for logic device defect tolerant redundancy

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0668056A (ja) * 1992-08-20 1994-03-11 Hitachi Ltd 並列計算機システム
JPH06110853A (ja) * 1992-09-30 1994-04-22 Hitachi Ltd 並列計算機システムおよびプロセッサ
JPH08123683A (ja) * 1994-10-27 1996-05-17 Sony Corp 並列プロセツサ装置
JPH09212637A (ja) * 1996-02-05 1997-08-15 Mitsubishi Electric Corp 画像処理プロセッサ
JPH10162130A (ja) * 1996-12-02 1998-06-19 Hitachi Ltd 並列データ処理装置および方法
JP2001134538A (ja) * 1999-11-05 2001-05-18 Ricoh Co Ltd 信号処理装置
JP2001202351A (ja) * 2000-01-19 2001-07-27 Ricoh Co Ltd Simd型プロセッサ
JP2004252825A (ja) * 2003-02-21 2004-09-09 Ricoh Co Ltd Peに故障発生してもデータ転送し得るsimd型マイクロプロセッサ

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0668056A (ja) * 1992-08-20 1994-03-11 Hitachi Ltd 並列計算機システム
JPH06110853A (ja) * 1992-09-30 1994-04-22 Hitachi Ltd 並列計算機システムおよびプロセッサ
JPH08123683A (ja) * 1994-10-27 1996-05-17 Sony Corp 並列プロセツサ装置
JPH09212637A (ja) * 1996-02-05 1997-08-15 Mitsubishi Electric Corp 画像処理プロセッサ
JPH10162130A (ja) * 1996-12-02 1998-06-19 Hitachi Ltd 並列データ処理装置および方法
JP2001134538A (ja) * 1999-11-05 2001-05-18 Ricoh Co Ltd 信号処理装置
JP2001202351A (ja) * 2000-01-19 2001-07-27 Ricoh Co Ltd Simd型プロセッサ
JP2004252825A (ja) * 2003-02-21 2004-09-09 Ricoh Co Ltd Peに故障発生してもデータ転送し得るsimd型マイクロプロセッサ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130166974A1 (en) * 2011-12-21 2013-06-27 Advanced Micro Devices, Inc. Methods and systems for logic device defect tolerant redundancy
US9037931B2 (en) * 2011-12-21 2015-05-19 Advanced Micro Devices, Inc. Methods and systems for logic device defect tolerant redundancy

Also Published As

Publication number Publication date
JP4403009B2 (ja) 2010-01-20

Similar Documents

Publication Publication Date Title
US8281183B2 (en) Apparatus with redundant circuitry and method therefor
US9098932B2 (en) Graphics processing logic with variable arithmetic logic unit control and method therefor
US20080301507A1 (en) System and Method for Repairing a Memory
JP2012043153A (ja) 情報処理装置、情報処理方法、およびプログラム
JP3971535B2 (ja) Simd型プロセッサ
JP4403009B2 (ja) マイクロプロセッサ
WO2002019129A2 (en) Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
JP4311847B2 (ja) 並列プロセッサ及びそれを用いた画像処理装置
JP2006350907A (ja) Simd型マイクロプロセッサ、データ転送装置、及びデータ変換装置
JP2007226374A (ja) データ処理装置
JP2004252825A (ja) Peに故障発生してもデータ転送し得るsimd型マイクロプロセッサ
JP5889747B2 (ja) 半導体装置
JP3821198B2 (ja) 信号処理装置
JP2007018536A (ja) 並列プロセッサ
JP2812292B2 (ja) 画像処理装置
JP3971543B2 (ja) Simd型プロセッサ
JP4442907B2 (ja) Simd型プロセッサ
JP4482356B2 (ja) Simdプロセッサを用いた画像処理方法及び画像処理装置
JP5369669B2 (ja) Simd型マイクロプロセッサ
JP4234612B2 (ja) Simd型プロセッサ
JP2006155637A (ja) 信号処理装置
JP2006294045A (ja) 並列プロセッサ及びそれを用いた画像処理装置
JP4244619B2 (ja) 画像データ処理装置
JP2004206387A (ja) 画像処理方法およびプロセッサおよび画像処理装置
JP2004192405A (ja) Simd型プロセッサ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090928

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091030

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131106

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees