JP2016051228A - 電子機器 - Google Patents

電子機器 Download PDF

Info

Publication number
JP2016051228A
JP2016051228A JP2014174641A JP2014174641A JP2016051228A JP 2016051228 A JP2016051228 A JP 2016051228A JP 2014174641 A JP2014174641 A JP 2014174641A JP 2014174641 A JP2014174641 A JP 2014174641A JP 2016051228 A JP2016051228 A JP 2016051228A
Authority
JP
Japan
Prior art keywords
data
process identifier
subline
processing
transfer 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.)
Granted
Application number
JP2014174641A
Other languages
English (en)
Other versions
JP6204313B2 (ja
Inventor
竜太 田邨
Ryuta Tamura
竜太 田邨
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions 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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2014174641A priority Critical patent/JP6204313B2/ja
Publication of JP2016051228A publication Critical patent/JP2016051228A/ja
Application granted granted Critical
Publication of JP6204313B2 publication Critical patent/JP6204313B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】 全体としてのデータ処理速度の低下を抑えつつ、複数のハードウェア処理部のそれぞれの要求帯域を時間軸方向で平準化することで、最大要求帯域を低く抑える。【解決手段】 コントローラー31は、ロード転送部23およびストア転送部24に対してプロセス識別子を指定して1サブラインずつデータ転送を実行させる。SIMDプロセッサー2は、マルチスレッドで、内部メモリー21における複数のバッファー領域からデータを読み出して処理を実行する。コントローラー31は、SIMDプロセッサー2の使用中のバッファー領域をロックし、あるプロセス識別子についてロックされていないバッファー領域がないときに、別のプロセス識別子についてロックされていないバッファー領域があれば、その別のプロセス識別子について内部メモリー21へのデータ転送を実行させる。【選択図】 図1

Description

本発明は、電子機器に関するものである。
ある情報処理装置は、ASIC(Application Specific Integrated Circuit)などの専用ハードウェアで特定のプロセスを実行するとともに、SIMD(Single Instruction Multiple Data stream)プロセッサーによるソフトウェア処理で特定のプロセスを実行している(例えば特許文献1参照)。
特開2011−191903号公報
図4は、電子機器内のデータフローの一例を示すブロック図である。逐次的に処理すべき一連の処理をプロセスブロックとすると、図4に示すように、例えば、電子機器において4つのASICと1つのSIMDプロセッサーによる3つのプロセスで、複数のプロセスブロックが実行される。例えばプロセスブロック#0では、まず、画像データにおけるバンドデータ(一定の幅分のラインデータの集合)に対して、ASIC#0による処理が実行された後、SIMDプロセッサーによるプロセス#0なる処理が実行され、その後に、別のASIC#1による処理が実行される。なお、複数のプロセスブロックは、並列に実行される場合もシーケンシャルに実行される場合もある。
具体的には、例えば、複合機などの画像形成装置において、あるプロセスブロックとして、まず、ASICによって画像読取による画像データの取得が実行され、SIMDプロセスでその画像データに対する空間フィルターが適用され、次に、別のプロセスブロックとして、画像データに対して色変換などの画像処理が実行された後、ASICによってハーフトーニングが実行される。
図5は、図4に示すプロセスブロック(PB)#0〜#2によるASICに要求されるデータ処理の帯域を説明する図である。一般的に、プロセスブロックを中断し別のプロセスブロックを実行すると、コンテクストスイッチが発生しオーバーヘッドが発生するため、図5に示すように、プロセスブロック#0〜#2は、逐次的に実行される。そのため、ASICによるデータ処理速度に比べSIMDプロセスのデータ処理速度が高い場合、処理の種類によっては、図5におけるASIC#2のように、特定のASICに広い帯域(つまり、高いスループット)が要求されることになり、その帯域を実現するために装置のコストが高くなったり、要求される帯域を達成せずに処理速度を低く抑えることになったりする。
本発明は、上記の問題に鑑みてなされたものであり、全体としてのデータ処理速度の低下を抑えつつ、ASICなどの複数のハードウェア処理部のそれぞれの要求帯域を時間軸方向で平準化することで、最大要求帯域を低く抑える電子機器を得ることを目的とする。
本発明に係る電子機器は、データに対してハードウェア処理とソフトウェア処理とを順番に実行する電子機器であって、前記ハードウェア処理を行うハードウェア処理部と、前記ソフトウェア処理を行うソフトウェア処理部と、前記ソフトウェア処理部用の内部メモリーと、ラインを主走査方向において所定数に分割して得られる1サブライン分のデータを外部メモリーから読み出すリードダイレクトメモリーアクセスコントローラーと、前記ハードウェア処理部および前記リードダイレクトメモリーアクセスコントローラーのうち、プロセス識別子に対応する送信元から1サブライン分のデータを前記内部メモリーへ転送するロード転送部と、1サブライン分のデータを前記外部メモリーへ書き込むライトダイレクトメモリーアクセスコントローラーと、前記内部メモリーに格納されている1サブライン分のデータを、前記ハードウェア処理部および前記ライトダイレクトメモリーアクセスコントローラーのうち、プロセス識別子に対応する宛先へ転送するストア転送部と、前記ロード転送部および前記ストア転送部に対して前記プロセス識別子を指定して、1サブライン分のデータの転送を実行させるコントローラーとを備える。そして、前記内部メモリーは、複数のバッファー領域を有し、前記ロード転送部は、前記バッファー領域へデータを書き込み、前記ソフトウェア処理部は、マルチスレッドで、前記複数のバッファー領域から1サブライン分のデータを読み出して処理を実行する。前記コントローラーは、前記複数のバッファー領域の排他制御を行い、前記ソフトウェア処理部による前記バッファー領域内のデータの使用が完了するまで、前記バッファー領域をロックし、あるプロセス識別子により指定される前記バッファー領域のうち、ロックされていない前記バッファー領域がないときには、前記ロード転送部に対して、前記プロセス識別子により指定される前記データの、前記内部メモリーへの転送を実行させず、別のプロセス識別子により指定される前記バッファー領域のうち、ロックされていない前記バッファー領域があれば、前記ロード転送部に対して、前記別のプロセス識別子により指定される前記データの、前記内部メモリーへの転送を実行させる。
本発明によれば、コンテクスト切り替えのオーバーヘッドを抑えつつ、データおよび処理の粒度を小さくしているので、全体としてのデータ処理速度の低下を抑えつつ、ASICなどの複数のハードウェア処理部のそれぞれの要求帯域を時間軸方向で平準化することで、最大要求帯域が低く抑えられる。
図1は、本発明の実施の形態に係る電子機器の構成を示すブロック図である。 図2は、図1に示す電子機器の動作について説明する図である。 図3は、図1に示す電子機器において使用されるプロセス識別子のフォーマットの一例を示す図である。 図4は、電子機器内のデータフローの一例を示すブロック図である。 図5は、図4に示すプロセスブロック#0〜#2によるASICに要求されるデータ処理の帯域を説明する図である。
以下、図に基づいて本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係る電子機器の構成を示すブロック図である。図1に示す電子機器は、データに対してハードウェア処理とソフトウェア処理とをシーケンシャルに実行する。例えば、この電子機器は、複合機などの画像形成装置であって、画像データに対する画像処理をハードウェア処理およびソフトウェア処理で行う。
図1に示す電子機器は、ハードウェア処理部としての複数のASIC1を備え、また、ソフトウェア処理部としてのSIMDプロセッサー2を備える。SIMDプロセッサー2は、各ASIC1に比べ高いデータ処理速度を有する。
複数のASIC1は、それぞれ、所定のハードウェア処理(つまり、専用ハードウェアによる特定のデータ処理)を行い、SIMDプロセッサー2は、マルチスレッドで動作し、複数のプロセスブロックに対応するそれぞれのスレッドで、ソフトウェア処理(つまり、ソフトウェアによるプログラミングされたデータ処理)を行う。
この実施の形態では、SIMDプロセッサー2は、画像処理を実行し、少なくともサブラインの画素数と同数のプロセシングエレメントを備える。つまり、1サブライン内のすべての画素に対する処理がその複数のプロセシングエレメントで並列に行われる。
リードDMAC(Direct Memory Access Controller)3は、外部メモリー102から1サブライン分のデータを読み出す。1サブラインは、データの1ラインを主走査方向において所定数に分割して得られるデータ量である。
リードDMAC3は、内蔵メモリー(例えば、SRAM(Static RAM)、DRAMなど)を備え、プロセス識別子ごとにコンテクスト情報をその内蔵メモリーに保存し、コントローラー31により指定されたプロセス識別子に対応するコンテクスト情報を内蔵メモリーから読み出してコンテクスト切り替えを行った後、切り換え後のコンテクスト情報に基づいて、指定されたプロセス識別子に対応するデータの読み出しを実行する。このようにすることで、外部メモリー102にコンテクスト情報を保存する場合に比べ、コンテクスト情報の読み出しに起因する遅延が少なくて済む。
ライトDMAC4は、1サブライン分のデータを外部メモリー102へ書き込む。ライトDMAC4も、内蔵メモリーを備え、プロセス識別子ごとにコンテクスト情報をその内蔵メモリーに保存し、コントローラー31により指定されたプロセス識別子に対応するコンテクスト情報を内蔵メモリーから読み出してコンテクスト切り替えを行った後、切り換え後のコンテクスト情報に基づいて、指定されたプロセス識別子に対応するデータの書き込みを実行する。
図1において、ルーティング部11は、ASIC1間およびASIC1とバッファー12との間の静的なルーティングを行う。バッファー12は、ASIC1に対応して設けられており、FIFO(First-In First-Out)で、ASIC1へ転送されるデータおよびASIC1から転送されるデータを受け付けて一時的に格納する。ただし、バッファー12は、ASIC1と同数でもよいが、ASIC1より少なくてもよい。
また、図1において、内部メモリー21は、SIMDプロセッサー2用の内部メモリー(つまり、SIMDプロセッサー2内のプロセシングエレメントの共有メモリー)であって、RAM(Random Access Memory)であり、メモリーインターフェイス22は、内部メモリー21に対するリード/ライトを実行する。
内部メモリー21は、複数のバッファー領域を有し、SIMDプロセッサー2は、マルチスレッドで動作し、複数のバッファー領域から1サブライン分のデータを読み出して処理を実行する。例えば、内部メモリー21は、プロセスブロックごと(つまり、SIMDプロセッサー2のスレッドごと)に、リングバッファー領域を有し、SIMDプロセッサー2は、各スレッドにおいて、リングバッファー領域から順番にデータを読み出して処理を実行する。
ロード転送部23は、ASIC1およびリードDMAC3のうち、プロセス識別子に対応する送信元から、1サブライン分のデータを、メモリーインターフェイス22を使用して内部メモリー21へ転送する。具体的には、ロード転送部23は、上述のバッファー領域へデータを書き込む。
ストア転送部24は、内部メモリー21に格納されている1サブライン分のデータを、ASIC1およびライトDMAC4のうち、プロセス識別子に対応する宛先へ転送する。
ルーティング部25は、1サブライン分のデータの、リードDMAC3から、ASIC1(具体的には、対応するバッファー12)およびロード転送部23のいずれかへのルーティング、並びに1サブライン分のデータの、ストア転送部24から、ASIC1(具体的には、対応するバッファー12)およびライトDMAC4のいずれかへのルーティングを行う。具体的には、プロセス識別子に対応して宛先へのチャネルが決定され、データがそのチャネルで宛先へ転送される。このとき、1サブライン分のデータが宛先へバースト転送される。
コントローラー31は、I/O(Input/Output)バス32を使用して、SIMDプロセッサー2との間でプロセッサー間通信を行うとともに、リードDMAC3、ライトDMAC4、ロード転送部23、ストア転送部24などにコマンドを出力する。
コントローラー31は、ロード転送部23およびストア転送部24に対してプロセス識別子を指定して、1サブライン分のデータの転送を実行させる。
また、コントローラー31は、プロセス識別子を指定して、1サブライン分のデータを、リードDMAC3に読み出させる。さらに、コントローラー31は、プロセス識別子を指定して、1サブライン分のデータを、ライトDMAC4に書き込ませる。
また、コントローラー31は、内部メモリー21の複数のバッファー領域の排他制御を行い、SIMDプロセッサー2によるバッファー領域内のデータの使用が完了するまで、そのバッファー領域をロックする。そして、コントローラー31は、あるプロセス識別子により指定されるバッファー領域のうち、ロックされていないバッファー領域がないときには、ロード転送部23に対して、そのプロセス識別子により指定されるデータの、内部メモリー21への転送を実行させず、別のプロセス識別子により指定されるバッファー領域のうち、ロックされていないバッファー領域があれば、ロード転送部23に対して、その別のプロセス識別子により指定されるデータの、内部メモリー21への転送を実行させる。
ホストインターフェイス33は、メインCPU(Central Processing Unit)101とコントローラー31との間の通信を行う。メインCPU101は、例えば、画像データからバンドデータを生成し、さらに、主走査方向においてバンドデータを分割して得られるサブバンドデータを生成し、外部メモリー102に格納する。なお、メインCPU101は、上述のプロセスブロックの実行中には、コントローラー31には介入しない。外部メモリー102は、メインCPU101のメインメモリーであるDRAMなどである。メインCPU101および外部メモリー102は、システムクロックドメインに属し、SIMDプロセッサー2は、システムクロックドメインとは異なるクロックドメインに属する。
次に、上記電子機器の動作について説明する。
図2は、図1に示す電子機器の動作について説明する図である。図3は、図1に示す電子機器において使用されるプロセス識別子のフォーマットの一例を示す図である。
まず、メインCPU101によって、外部メモリー102にサブバンドデータが準備される。
そして、以下のように、外部メモリー102から1サブラインずつ、データが読み出され、複数のプログラムブロックが、1サブラインの粒度で並行に実行される。
コントローラー31は、内部メモリー21のバッファー領域を排他制御しており、所定の調停方式で、空きバッファー領域のあるプロセスブロック(スレッド)の1つ選択し、選択したプロセスブロック(スレッド)に対応するプロセス識別子を指定して、リードDMAC3およびロード転送部23へコマンドを出力する。
プロセス識別子は、図3に示すように、プロセスブロック固有のプロセスブロックID、およびプロセス種別を示すローカルプロセスIDを有する。所定の複数セットの一連の処理に対してそれぞれローカルプロセスIDの値が割り当てられており、プロセス識別子に含まれるローカルプロセスIDに基づいて、プロセスブロックIDで指定されたプロセスブロックで実行すべき処理およびその順序が特定される。
リードDMAC3は、そのコマンドを受け付けると、そのコマンドにより指定されたプロセス識別子に対応するコンテクスト情報(1サブライン分のデータの読み出しアドレスなど)をセットした後、外部メモリー102から1サブライン分のデータを読み出し、コンテクスト情報を更新する。また、ロード転送部23は、その1サブライン分のデータを内部メモリー21のそのプロセス識別子に対応するバッファー領域へ転送する。その際、プロセス識別子におけるプロセスブロックIDがコンテクストIDとして使用され、プロセスブロックIDごとにコンテクスト情報が保存される。
ロード転送部23は、転送が完了すると、転送完了をコントローラー31に通知する。転送完了の通知を受け付けると、転送したデータに対してSIMDプロセッサー2による処理を実行する場合には、コントローラー31は、ただちに、SIMDプロセッサー2にコマンドを送信し、そのデータに対する処理を実行させる。処理後のデータは、そのプロセス識別子に対応するバッファー領域に格納される。そして、SIMDプロセッサー2は、1サブバンド分のデータ処理が完了すると、処理完了をコントローラー31に通知する。
コントローラー31は、SIMDプロセッサー2による処理が完了し内部メモリー21から転送すべきデータを所定の調停方式で選択し、その選択したデータのプロセス識別子を指定して、ストア転送部24にコマンドを出力する。ストア転送部24は、そのコマンドを受け付けると、指定されたそのプロセス識別子に対応する内部メモリー21のバッファー領域からそのデータを読み出し、そのプロセス識別子を指定して、読み出したデータをルーティング部25へ送出する。そのデータは、ルーティング部25を介して、そのプロセス識別子に対応する宛先(ASIC1のバッファー12またはライトDMAC4)に受信される。
なお、データを外部メモリー102に格納する場合には、宛先は、ライトDMAC4とされる。その場合、コントローラー31は、プロセス識別子を指定してコマンドをライトDMAC4に出力する。ライトDMAC4は、そのコマンドを受け付けると、そのコマンドにより指定されたプロセス識別子に対応するコンテクスト情報(1サブライン分のデータの書き込みアドレスなど)をセットした後、ルーティング部25を介してそのデータを受信し、受信したデータを外部メモリー102に書き込む。
ASIC1は、バッファー12にデータが入力されると、そのデータに対して処理を実行し、処理後のデータをバッファー12に書き込む。また、ASIC1は、そのデータの処理が完了すると、その処理完了をコントローラー31に通知する。コントローラー31は、その通知を受け付けると、そのデータに対応するプロセス識別子に対応する空きのバッファー領域があれば、ロード転送部23に対してそのプロセス識別子を指定してコマンドを出力し、ロード転送部23は、そのコマンドに従って、バッファー12からデータを読み出し、内部メモリー21のバッファー領域に転送する。
なお、ASIC1による処理後のデータを、SIMDプロセッサー2による処理を経ずに外部メモリー102に格納したい場合には、上述のように、まず、ASIC1による処理後のデータは、ロード転送部23によって内部メモリー21に転送され、その後、SIMDプロセッサー2による処理を経ずに、ストア転送部24によって、内部メモリー21からライトDRAM4に転送され、外部メモリー102に書き込まれる。このとき、ストア転送部24によるデータ転送が終了した時点で、データ転送の終了がコントローラー31に通知され、コントローラー31は、このデータにより使用された内部メモリー21内のバッファー領域のロックを解除する。
また、外部メモリー102に格納されているデータを、SIMDプロセッサー2による処理を経ずにASIC1に転送したい場合には、上述のように、まず、リードDMAC3およびロード転送部23によって、データが内部メモリー21に転送され、その後、SIMDプロセッサー2による処理を経ずに、ストア転送部24によって、内部メモリー21から(ルーティング部25およびバッファー12を介して)ASIC1に転送される。このとき、ストア転送部24によるデータ転送が終了した時点で、データ転送の終了がコントローラー31に通知され、コントローラー31は、このデータにより使用された内部メモリー21内のバッファー領域のロックを解除する。
このようにして、内部メモリー21に空きのバッファー領域があるプログラムブロックが、SIMDプロセッサー2によるソフトウェア処理が1サブラインの粒度で実行されていき、その前または後に、ASIC1によるハードウェア処理が実行される。その際、データに対して実行すべき一連の処理は、そのデータに付加されているプロセス識別子で特定されるため、コントローラー31が、各データに対して逐一実行すべき処理を指定する必要がない。
したがって、複数のプログラムブロックにおけるSIMDプロセッサー2による処理がマルチスレッドで並行に行われるため、複数のプログラムブロックにおけるSIMDプロセッサー2による処理が時間軸に沿って分散されて実行され、そのSIMDプロセッサー2のプロセスの前または後で実行されるASIC1の処理も時間軸に沿って分散されて実行される。
そして、すべてのサブブロックデータに対する一連の処理が完了し、処理後のサブブロックデータが外部メモリー102に格納されると、メインCPU101は、処理後のサブブロックデータを結合して1つのバンドデータとする。
以上のように、上記実施の形態によれば、以下に述べるように、コンテクスト切り替えに起因する全体としてのデータ処理速度の低下を抑えつつ、処理の粒度を1サブラインとしてASIC1のそれぞれの要求帯域を時間軸方向で平準化することで、最大要求帯域が低く抑えられる。
一般的に、短命令ステップ数のソフトウェア処理にハードウェア処理がカスケード接続される場合、ソフトウェア処理の処理粒度(コンテクスト切り替え粒度)に対してソフトウェア処理とハードウェア処理との間のデータバッファのサイズが十分でないとき、後続のハードウェア処理の速度がソフトウェア処理に対して十分でないとソフトウェア処理を待たせることになる。この点について、上記実施の形態では、処理粒度が1サブラインとしており十分小さいため、ソフトウェア処理とハードウェア処理との間のデータバッファが十分確保されている。
また、一般的に、処理の粒度を小さくすると、コンテクスト切り替えに起因するオーバーヘッドが大きくなる。この点については、上記実施の形態では、リードDMAC3およびライトDMAC4にローカルな内蔵メモリーを設け、そのメモリーを使用してコンテクスト切り替えが実行されるとともに、SIMDプロセッサー2ではマルチスレッドで処理を切り替えるため、コンテクスト切り替えのオーバーヘッドを軽減している。
さらに、ソフトウェア処理をマルチスレッド化した場合、複数のスレッド(ここでは、複数のプロセスブロックに対応する)で1つのハードウェア処理部が使用される場合、一般的に、ハードウェア処理部を共有するために複雑な制御が必要となる。この点については、上記実施の形態では、上述のプロセス識別子に基づいて、1サブラインの粒度で各データの処理順序が判別されるため、比較的簡単な制御で、1つのASIC1を複数のプロセスブロックで共有することができる。
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
例えば、上記実施の形態において、上述の調停では、デッドロック回避のために、後方プロセスが優先されるようにしてもよい。
本発明は、例えば、画像形成装置に適用可能である。
1 ASIC(ハードウェア処理部の一例)
2 SIMDプロセッサー(ソフトウェア処理部の一例)
3 リードDMAC
4 ライトDMAC
21 内部メモリー
23 ロード転送部
24 ストア転送部
31 コントローラー

Claims (6)

  1. データに対してハードウェア処理とソフトウェア処理とを順番に実行する電子機器において、
    前記ハードウェア処理を行うハードウェア処理部と、
    前記ソフトウェア処理を行うソフトウェア処理部と、
    前記ソフトウェア処理部用の内部メモリーと、
    ラインを主走査方向において所定数に分割して得られる1サブライン分のデータを外部メモリーから読み出すリードダイレクトメモリーアクセスコントローラーと、
    前記ハードウェア処理部および前記リードダイレクトメモリーアクセスコントローラーのうち、プロセス識別子に対応する送信元から1サブライン分のデータを前記内部メモリーへ転送するロード転送部と、
    1サブライン分のデータを前記外部メモリーへ書き込むライトダイレクトメモリーアクセスコントローラーと、
    前記内部メモリーに格納されている1サブライン分のデータを、前記ハードウェア処理部および前記ライトダイレクトメモリーアクセスコントローラーのうち、プロセス識別子に対応する宛先へ転送するストア転送部と、
    前記ロード転送部および前記ストア転送部に対して前記プロセス識別子を指定して、1サブライン分のデータの転送を実行させるコントローラーとを備え、
    前記内部メモリーは、複数のバッファー領域を有し、
    前記ロード転送部は、前記バッファー領域へデータを書き込み、
    前記ソフトウェア処理部は、マルチスレッドで、前記複数のバッファー領域から1サブライン分のデータを読み出して処理を実行し、
    前記コントローラーは、前記複数のバッファー領域の排他制御を行い、前記ソフトウェア処理部による前記バッファー領域内のデータの使用が完了するまで、前記バッファー領域をロックし、あるプロセス識別子により指定される前記バッファー領域のうち、ロックされていない前記バッファー領域がないときには、前記ロード転送部に対して、前記プロセス識別子により指定される前記データの、前記内部メモリーへの転送を実行させず、別のプロセス識別子により指定される前記バッファー領域のうち、ロックされていない前記バッファー領域があれば、前記ロード転送部に対して、前記別のプロセス識別子により指定される前記データの、前記内部メモリーへの転送を実行させること、
    を特徴とする電子機器。
  2. 前記コントローラーは、前記送信元が前記リードダイレクトメモリーアクセスコントローラーである場合、前記ロード転送部によるデータ転送とともに前記リードダイレクトメモリーアクセスコントローラーによるデータ読み出しを連動させ、前記宛先が前記ライトダイレクトメモリーアクセスコントローラーである場合、前記ストア転送部によるデータ転送とともに前記ライトダイレクトメモリーアクセスコントローラーによるデータ書き込みを連動させることを特徴とする請求項1記載の電子機器。
  3. 前記リードダイレクトメモリーアクセスコントローラーは、内蔵メモリーを備え、前記プロセス識別子ごとにコンテクスト情報を前記内蔵メモリーに保存し、前記コントローラーにより指定された前記プロセス識別子に対応するコンテクスト情報を前記内蔵メモリーから読み出してコンテクスト切り替えを行った後、前記切り換え後のコンテクスト情報に基づいて、指定された前記プロセス識別子に対応する前記データの読み出しを実行すること、
    を特徴とする請求項1記載の電子機器。
  4. 前記データは、画像データであり、
    前記ハードウェア処理および前記ソフトウェア処理は、前記画像データに対する画像処理を含むこと、
    を特徴とする請求項1から請求項3のうちのいずれか1項記載の電子機器。
  5. 前記ソフトウェア処理部は、SIMDプロセッサーであることを特徴とする請求項1記載の電子機器。
  6. 前記1サブライン分のデータは、画像データであり、
    前記SIMDプロセッサーは、少なくともサブラインの画素数と同数のプロセシングエレメントを備え、前記プロセシングエレメントで1サブライン分のデータを並列に処理すること、
    を特徴とする請求項1から請求項5のうちのいずれか1項記載の電子機器。
JP2014174641A 2014-08-28 2014-08-28 電子機器 Active JP6204313B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014174641A JP6204313B2 (ja) 2014-08-28 2014-08-28 電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014174641A JP6204313B2 (ja) 2014-08-28 2014-08-28 電子機器

Publications (2)

Publication Number Publication Date
JP2016051228A true JP2016051228A (ja) 2016-04-11
JP6204313B2 JP6204313B2 (ja) 2017-09-27

Family

ID=55658709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014174641A Active JP6204313B2 (ja) 2014-08-28 2014-08-28 電子機器

Country Status (1)

Country Link
JP (1) JP6204313B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03110681A (ja) * 1989-09-25 1991-05-10 Matsushita Graphic Commun Syst Inc 画像情報の連続読取り処理方法
JPH11120146A (ja) * 1997-10-17 1999-04-30 Nec Corp 並列処理プログラムとコプロセッサとの間の排他制御方法およびその排他制御機能を有する計算システム
JP2004289314A (ja) * 2003-03-19 2004-10-14 Ricoh Co Ltd 画像処理制御装置
JP2007081716A (ja) * 2005-09-13 2007-03-29 Ricoh Co Ltd 画像形成装置、画像処理ユニット、画像処理方法及び画像処理プログラム
JP2009278470A (ja) * 2008-05-15 2009-11-26 Ricoh Co Ltd 画像処理装置及び画像処理方法
JP2010109572A (ja) * 2008-10-29 2010-05-13 Toshiba Corp 画像処理装置、及び方法
JP2011056728A (ja) * 2009-09-08 2011-03-24 Ricoh Co Ltd 画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体
JP2013502016A (ja) * 2009-08-13 2013-01-17 クゥアルコム・インコーポレイテッド メモリ管理および効率的なデータ処理のための装置および方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03110681A (ja) * 1989-09-25 1991-05-10 Matsushita Graphic Commun Syst Inc 画像情報の連続読取り処理方法
JPH11120146A (ja) * 1997-10-17 1999-04-30 Nec Corp 並列処理プログラムとコプロセッサとの間の排他制御方法およびその排他制御機能を有する計算システム
JP2004289314A (ja) * 2003-03-19 2004-10-14 Ricoh Co Ltd 画像処理制御装置
JP2007081716A (ja) * 2005-09-13 2007-03-29 Ricoh Co Ltd 画像形成装置、画像処理ユニット、画像処理方法及び画像処理プログラム
JP2009278470A (ja) * 2008-05-15 2009-11-26 Ricoh Co Ltd 画像処理装置及び画像処理方法
JP2010109572A (ja) * 2008-10-29 2010-05-13 Toshiba Corp 画像処理装置、及び方法
JP2013502016A (ja) * 2009-08-13 2013-01-17 クゥアルコム・インコーポレイテッド メモリ管理および効率的なデータ処理のための装置および方法
JP2011056728A (ja) * 2009-09-08 2011-03-24 Ricoh Co Ltd 画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体

Also Published As

Publication number Publication date
JP6204313B2 (ja) 2017-09-27

Similar Documents

Publication Publication Date Title
US20130070789A1 (en) Information processing apparatus, communication method and storage medium
JP5895840B2 (ja) マルチプロセッサシステム、実行制御方法、実行制御プログラム
JP2007207026A (ja) Dma転送装置
JP2007128369A (ja) データ処理システムおよびプログラム
US9172839B2 (en) Image forming apparatus, control method and storage medium
JP2007034392A (ja) 情報処理装置及びデータ処理方法
US11301255B2 (en) Method, apparatus, device, and storage medium for performing processing task
JP6204313B2 (ja) 電子機器
US20080147906A1 (en) DMA Transferring System, DMA Controller, and DMA Transferring Method
JP4170330B2 (ja) 情報処理装置
JP2013196509A (ja) 情報処理装置及びその制御方法
JP4882116B2 (ja) バッファ制御装置およびバッファ制御方法
JP2012212267A (ja) データ処理装置およびデータ処理プログラム
WO2019188175A1 (ja) デッドロック回避方法、デッドロック回避装置
JP2008158699A (ja) プロセッサ
JP2014160367A (ja) 演算処理装置
JP4292218B2 (ja) 画像処理装置及び画像処理システム
JP2011193297A (ja) データ処理装置およびデータ処理プログラム
JP3959407B2 (ja) 画像処理装置及び画像処理システム
US20080288952A1 (en) Processing apparatus and device control unit
JP2007249560A (ja) プログラマブルコントローラにおけるcpuモジュール
JP2009110120A (ja) データ出力制御装置
JP2006024134A (ja) Dma転送装置及びdma転送方法
US9773291B2 (en) Rendering processor
JP2016091307A (ja) 情報処理装置、その制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160923

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170727

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170831

R150 Certificate of patent or registration of utility model

Ref document number: 6204313

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150