JP5187038B2 - Multiprocessor system and fluid ejection apparatus equipped with the same - Google Patents

Multiprocessor system and fluid ejection apparatus equipped with the same Download PDF

Info

Publication number
JP5187038B2
JP5187038B2 JP2008183773A JP2008183773A JP5187038B2 JP 5187038 B2 JP5187038 B2 JP 5187038B2 JP 2008183773 A JP2008183773 A JP 2008183773A JP 2008183773 A JP2008183773 A JP 2008183773A JP 5187038 B2 JP5187038 B2 JP 5187038B2
Authority
JP
Japan
Prior art keywords
request
control unit
multiprocessor system
dma
output
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.)
Active
Application number
JP2008183773A
Other languages
Japanese (ja)
Other versions
JP2010026577A (en
Inventor
修司 大▲塚▼
龍一 辻
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2008183773A priority Critical patent/JP5187038B2/en
Publication of JP2010026577A publication Critical patent/JP2010026577A/en
Application granted granted Critical
Publication of JP5187038B2 publication Critical patent/JP5187038B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)

Description

本発明は、マルチプロセッサシステム及びそれを搭載した流体吐出装置に関する。   The present invention relates to a multiprocessor system and a fluid ejection device equipped with the multiprocessor system.

従来、マルチプロセッサシステムとしては、複数のプロセッサとメモリコントローラとの間をそれぞれ個別に接続することにより形成される第1の通信経路と、複数のプロセッサ及びメモリコントローラをそれぞれ順に接続することにより形成されるループ状の第2の通信経路とを備え、マルチプロセッサを構成するデバイス間の接続を効果的に実現するものが提案されている(例えば、特許文献1参照)。
特開2007−122320号公報
Conventionally, a multiprocessor system is formed by connecting a plurality of processors and a memory controller in order, and a first communication path formed by individually connecting a plurality of processors and a memory controller. And a loop-like second communication path that effectively realizes connection between devices constituting the multiprocessor has been proposed (see, for example, Patent Document 1).
JP 2007-122320 A

ところで、この特許文献1に記載されたマルチプロセッサシステムなどでは、例えば、メインプロセッサ(第1制御部)によりメモリに書き込まれたデータをサブプロセッサ側(第2制御部)で読み出して、その後の処理に使用することがある。しかしながら、メインプロセッサ側でデータのメモリへの書込を指令したあとにサブプロセッサへこのデータの読出指令を出力した場合に、メモリへの書込が完了する前にサブプロセッサ側でメモリの読出を行ってしまう場合などがある。このような場合、サブプロセッサ側で誤ったデータを読み出してしまう問題がある。このように、より容易に且つより確実にデータのコヒーレンシ(同一性)を保つことを実現することが望まれていた。   By the way, in the multiprocessor system described in Patent Document 1, for example, data written in the memory by the main processor (first control unit) is read on the sub processor side (second control unit), and the subsequent processing is performed. May be used for However, if the main processor side issues a data read command to the sub processor after instructing the data to be written to the memory, the sub processor side must read the memory before the writing to the memory is completed. There is a case where it goes. In such a case, there is a problem that erroneous data is read on the sub processor side. As described above, it has been desired to realize data coherency (identity) more easily and more reliably.

本発明は、このような課題に鑑みなされたものであり、第1制御部と第2制御部とによるコヒーレンシをより容易且つ確実に実現することができるマルチプロセッサシステム及びそれを搭載した流体吐出装置を提供することを主目的とする。   The present invention has been made in view of such a problem, and a multiprocessor system that can realize coherency by the first control unit and the second control unit more easily and reliably, and a fluid ejection device equipped with the multiprocessor system The main purpose is to provide

本発明は、上述の目的を達成するために以下の手段を採った。   The present invention adopts the following means in order to achieve the above-mentioned object.

本発明のマルチプロセッサシステムは、
データを記憶する記憶手段と、
前記記憶手段に対してのデータの書込又は読出指令であるリクエストを出力する第1制御部と、該第1制御部からのリクエストに基づき前記記憶手段に対してのデータの書込・読出を制御する第2制御部と、を少なくとも含む複数の制御部からなる制御部群と、
リクエストの出力先として第2制御部が予め対応付けられており、リクエストを入力すると該入力したリクエストを該対応付けられた第2制御部へ出力する中継部と、
前記中継部へのリクエストを前記第1制御部から入力すると前記記憶手段に対する先のリクエストの完了回答を入力したあと該入力したリクエストを該中継部へ出力する指令制御部と、
を備えたものである。
The multiprocessor system of the present invention includes:
Storage means for storing data;
A first control unit that outputs a request for writing or reading data to or from the storage unit; and writing or reading data to or from the storage unit based on a request from the first control unit A control unit group including a plurality of control units including at least a second control unit to be controlled;
The second control unit is associated in advance as an output destination of the request, and when the request is input, the relay unit that outputs the input request to the associated second control unit;
A command control unit that outputs the input request to the relay unit after inputting a completion response of the previous request to the storage unit when a request to the relay unit is input from the first control unit;
It is equipped with.

このマルチプロセッサシステムでは、リクエストの出力先として第2制御部が予め対応付けられている中継部を備えており、この中継部へのリクエストを第1制御部から指令制御部が入力すると、記憶手段に対する先のリクエストの完了回答を入力したあとこの入力したリクエストを中継部へ出力し、このリクエストを中継部が対応付けられた第2制御部へ出力する。このように、複数ある制御部のうち、中継部に対応づけられた制御部へのリクエストについては、先のリクエスト、例えば記憶手段へのデータの書込などが完了した回答を得たあとに、対応する制御部へ出力されるのである。したがって、中継部を設けることにより、第1制御部と第2制御部とによるコヒーレンシをより容易且つ確実に実現することができる。   The multiprocessor system includes a relay unit that is preliminarily associated with the second control unit as a request output destination. When the command control unit inputs a request to the relay unit from the first control unit, the storage unit After the completion response of the previous request is input, the input request is output to the relay unit, and this request is output to the second control unit associated with the relay unit. As described above, among the plurality of control units, for the request to the control unit associated with the relay unit, after obtaining the previous request, for example, the completion of writing the data to the storage means, It is output to the corresponding control unit. Therefore, by providing the relay unit, coherency by the first control unit and the second control unit can be more easily and reliably realized.

本発明のマルチプロセッサシステムにおいて、前記指令制御部は、前記中継部へのリクエストの出力が優先的属性に設定されているものとしてもよい。こうすれば、完了回答を得たあとに中継部へのリクエストが優先的に出力されるため、第1制御部と第2制御部とによるコヒーレンシを一層確実に実現することができる。   In the multiprocessor system of the present invention, the command control unit may be configured such that output of a request to the relay unit is set as a priority attribute. In this way, since the request to the relay unit is preferentially output after obtaining the completion reply, the coherency between the first control unit and the second control unit can be more reliably realized.

本発明のマルチプロセッサシステムにおいて、前記中継部は、リクエストの出力先として第2制御部が前記記憶手段の所定のアドレスに予め対応付けられているものとしてもよい。こうすれば、記憶手段のアドレスを用いて比較的容易に第2制御部の対応づけを実現することができる。   In the multiprocessor system of the present invention, the relay unit may have a second control unit associated with a predetermined address of the storage unit in advance as a request output destination. In this way, it is possible to realize the association of the second control units relatively easily using the address of the storage means.

本発明のマルチプロセッサシステムにおいて、前記第2制御部は、ダイレクトメモリアクセスコントローラであるものとしてもよい。ダイレクトメモリアクセスコントローラは、コヒーレンシを保つ要望が高いため、本発明を適用する意義が高い。   In the multiprocessor system of the present invention, the second control unit may be a direct memory access controller. Since the direct memory access controller has a high demand for maintaining coherency, the significance of applying the present invention is high.

本発明の流体吐出装置は、上述したいずれか1つに記載のマルチプロセッサシステムと、流体を吐出してターゲット上に画像を形成する流体吐出機構と、を備え、前記制御部群には、前記ターゲットへ前記流体を吐出して形成する画像データを生成し、前記流体吐出機構を駆動制御する制御部が含まれているものである。この流体吐出装置では、上述したいずれかのマルチプロセッサシステムを搭載しているため、このマルチプロセッサシステムと同様の効果を奏することができる。ここで、「流体」は、画像をターゲット上へ形成することが可能であれば特に限定されず、例えば、インクなどの液体や、トナーなどの固体、ターゲットの変色を促す気体などとしてもよい。また、「ターゲット」としては、画像が形成可能なものであれば特に限定されず、紙などの印刷用紙や画像としての配線が形成される電子部品等の基板などとしてもよい。   A fluid ejection device according to the present invention includes the multiprocessor system according to any one of the above and a fluid ejection mechanism that ejects a fluid to form an image on a target. A control unit that generates image data formed by discharging the fluid to a target and drives and controls the fluid discharge mechanism is included. Since this fluid ejecting apparatus is equipped with any of the multiprocessor systems described above, the same effects as the multiprocessor system can be achieved. Here, the “fluid” is not particularly limited as long as an image can be formed on the target, and may be, for example, a liquid such as ink, a solid such as toner, or a gas that promotes discoloration of the target. The “target” is not particularly limited as long as an image can be formed, and may be a printing paper such as paper or a substrate such as an electronic component on which wiring as an image is formed.

次に、本発明を実施するための最良の形態を図面を用いて説明する。図1は、本発明の一実施形態である流体吐出装置としてのプリンタ20の構成の概略を示す構成図である。本実施形態のプリンタ20は、装置全体の制御を司るマルチプロセッサシステム30と、パソコンなどの外部機器との間で情報の入出力が可能なインタフェース(I/F)45と、記録紙Sへ画像を印刷処理する印刷機構46と、を備えている。   Next, the best mode for carrying out the present invention will be described with reference to the drawings. FIG. 1 is a configuration diagram showing an outline of a configuration of a printer 20 as a fluid ejection device according to an embodiment of the present invention. The printer 20 according to this embodiment includes an image (I / F) 45 capable of inputting / outputting information between a multiprocessor system 30 that controls the entire apparatus, an external device such as a personal computer, and a recording sheet S. And a printing mechanism 46 for performing printing processing.

マルチプロセッサシステム30は、主制御を司るメインプロセッサ31や副制御を司るメモリコントローラ33やダイレクトメモリアクセス(DMA)コントローラ35、サブプロセッサ41〜43などを含むプロセッサ群と、特定のプロセッサ間でデータをやり取りする際に用いられる中継部としてのDMAメッセージボックス37と、各種プログラムを記憶したROM44と、を備えている。このマルチプロセッサシステム30の各プロセッサ、ROM44、I/F45及び印刷機構46は、バス48により電気的に接続され、各々との通信ができるように構成されている。   The multiprocessor system 30 transfers data between a processor group including a main processor 31 that controls main control, a memory controller 33 that controls sub-control, a direct memory access (DMA) controller 35, sub-processors 41 to 43, and a specific processor. It includes a DMA message box 37 as a relay unit used for exchange, and a ROM 44 storing various programs. Each processor, ROM 44, I / F 45, and printing mechanism 46 of the multiprocessor system 30 are electrically connected by a bus 48 and configured to be able to communicate with each other.

メインプロセッサ31は、メモリ34の特定領域へ格納させるデータを様々な計算を行い作成したり、メモリ34に対してのデータの書込・読出指令であるリクエストを各プロセッサへ出力したりするものであり、ブリッジ32を介してバス48に接続されている。このメインプロセッサ31は、DMAコントローラ35へDMAのリクエストを出力することにより、自らの処理負荷の低減を図るよう設計されている。ブリッジ32は、メインプロセッサ31とバス48との間を仲介するデバイスである。このブリッジ32は、特定アドレスへのリクエストの出力に対しては、今回のリクエストよりも前に出力したリクエスト(「先のリクエスト」とも称する)の完了を待って出力する機能が付加されている。ここでは、DMAメッセージボックス37を介してDMAコントローラ35へ出力するリクエストに対して先のリクエストの完了を待って出力するよう設定されている。また、このDMAメッセージボックス37を介してDMAコントローラ35へ出力されるリクエストは、優先的属性に設定されている。   The main processor 31 performs various calculations to create data to be stored in a specific area of the memory 34, and outputs a request that is a data write / read command to the memory 34 to each processor. Yes, and connected to the bus 48 via the bridge 32. The main processor 31 is designed to reduce its processing load by outputting a DMA request to the DMA controller 35. The bridge 32 is a device that mediates between the main processor 31 and the bus 48. The bridge 32 has a function of outputting a request to a specific address after waiting for completion of a request output before the current request (also referred to as “previous request”). Here, a request to be output to the DMA controller 35 via the DMA message box 37 is set to output after waiting for completion of the previous request. A request output to the DMA controller 35 via the DMA message box 37 is set to a priority attribute.

メモリコントローラ33は、一時的にデータを記憶するメモリ34と接続されており、このメモリ34に対するデータの書込・読出を実行するものである。DMAコントローラ35は、各デバイスとメモリ34との間のデータのやり取りをメインプロセッサ31を介さずに制御するものであり、ブリッジ36を介してバス48に接続されている。   The memory controller 33 is connected to a memory 34 that temporarily stores data, and executes writing / reading of data to / from the memory 34. The DMA controller 35 controls data exchange between each device and the memory 34 without passing through the main processor 31, and is connected to the bus 48 via the bridge 36.

DMAメッセージボックス37は、中継先のアドレスを格納したDMAアドレスボックス38を利用して2以上のプロセッサ間のリクエストのやりとりを中継するデバイスである。マルチプロセッサシステム30では、リクエストの出力先としてDMAコントローラ35が予め対応付けられており、入力したリクエストをDMAコントローラ35へ出力するよう設定されている。このDMAメッセージボックス37は、リクエストの出力先(DMAコントローラ35)がメモリ34の所定アドレスに予め対応付けられており、この所定アドレスにリクエストが格納されると、対応付けられているDMAコントローラ35がリクエストの出力先であると把握するように構成されている。   The DMA message box 37 is a device that relays the exchange of requests between two or more processors by using a DMA address box 38 that stores a relay destination address. In the multiprocessor system 30, a DMA controller 35 is associated in advance as a request output destination, and the input request is set to be output to the DMA controller 35. In this DMA message box 37, the output destination of the request (DMA controller 35) is associated with a predetermined address in the memory 34 in advance, and when a request is stored at this predetermined address, the associated DMA controller 35 It is configured to grasp that it is the output destination of the request.

サブプロセッサ41は、例えばI/F45を介して外部機器とのデータのやり取りを行うなど、ネットワークに関するデータの制御を実行するものである。サブプロセッサ42は、例えば圧縮された画像ファイル(例えばJPEGファイル)の展開や展開した画像データの回転や移動、拡大縮小など画像処理を実行するものである。サブプロセッサ43は、例えば画像データに基づいて印刷機構46を駆動制御して印刷処理を実行するものである。   The sub-processor 41 performs control of data related to the network, such as exchanging data with an external device via the I / F 45, for example. The sub-processor 42 executes image processing such as development of a compressed image file (for example, a JPEG file), rotation and movement of the developed image data, enlargement / reduction, and the like. For example, the sub-processor 43 drives and controls the printing mechanism 46 based on image data to execute printing processing.

印刷機構46は、図示しないが、各色のインクに圧力をかけ、この加圧されたインクを記録紙Sに吐出して印刷処理を実行するインクジェット方式の機構である。なお、インクへ圧力をかける機構は、圧電素子の変形によるものとしてもよいしヒータの熱による気泡の発生によるものとしてもよい。   Although not shown, the printing mechanism 46 is an ink jet mechanism that applies pressure to each color ink and discharges the pressurized ink onto the recording paper S to execute a printing process. The mechanism for applying pressure to the ink may be due to deformation of the piezoelectric element or due to generation of bubbles due to the heat of the heater.

次に、こうして構成された本実施形態のマルチプロセッサシステム30の動作について、特にブリッジ32が行う動作について説明したあと、マルチプロセッサシステム30の全体的な動作について説明する。図2は、ブリッジ32が実行するリクエスト制御ルーチンの一例を表すフローチャートであり、図3は、メインプロセッサ31、ブリッジ32、メモリコントローラ33、DMAメッセージボックス37及びDMAコントローラ35による各処理及び通信の様子をシーケンシャルに示す説明図である。   Next, the operation of the multiprocessor system 30 according to the present embodiment configured as described above, particularly the operation performed by the bridge 32 will be described, and then the overall operation of the multiprocessor system 30 will be described. FIG. 2 is a flowchart showing an example of a request control routine executed by the bridge 32. FIG. 3 shows a state of each process and communication by the main processor 31, the bridge 32, the memory controller 33, the DMA message box 37, and the DMA controller 35. It is explanatory drawing which shows sequentially.

図2に示すリクエスト制御ルーチンは、メインプロセッサ31からリクエストを入力したあとブリッジ32によって実行される。リクエストを入力すると、ブリッジ32は、バス48がレディ状態であるか否かを判定し(ステップS100)、レディ状態でないときにはレディ状態になるまで待機し、バス48がレディ状態となると出力先のアドレスがDMAメッセージボックス37であるか否かを判定する(ステップS110)。この判定は、入力した出力先のメモリ34のアドレスが予めDMAメッセージボックス37に定められたアドレスであるか否かにより行う。出力先がDMAメッセージボックス37でないときには、ブリッジ32は、リクエストを出力先アドレスへのバスに出力し(ステップS130)、このルーチンを終了する。   The request control routine shown in FIG. 2 is executed by the bridge 32 after inputting a request from the main processor 31. When the request is input, the bridge 32 determines whether or not the bus 48 is in a ready state (step S100). If the bus 48 is not in a ready state, the bridge 32 waits until the bus 48 is in a ready state. Is a DMA message box 37 (step S110). This determination is made based on whether or not the input address of the output destination memory 34 is an address determined in advance in the DMA message box 37. When the output destination is not the DMA message box 37, the bridge 32 outputs the request to the bus to the output destination address (step S130), and ends this routine.

一方、ステップS110で出力先がDMAメッセージボックス37であるときには、ブリッジ32は、先のリクエストの完了回答であるAck信号を受信したか否かを判定する(ステップS120)。Ack信号を受信していないときにはAck信号を受信するまで待機し(即ちリクエストの発行を停止し)、Ack信号を受信したときには、先に出力したリクエストの処理が完了したものとみなし、このルーチンの開始時に入力したリクエストを出力先アドレスへのバスに出力し(ステップS130)、このルーチンを終了する。このように、ステップS120で先のリクエストの処理、例えばメインプロセッサ31からメモリコントローラ33へのデータの書込指令の処理が確実に終了したあと、DMAコントローラ35へDMAのリクエストを出力するのである。   On the other hand, when the output destination is the DMA message box 37 in step S110, the bridge 32 determines whether or not an Ack signal, which is a completion reply of the previous request, has been received (step S120). When the Ack signal is not received, the process waits until the Ack signal is received (that is, the request issuance is stopped). When the Ack signal is received, it is assumed that the processing of the request that has been output first is completed, and The request input at the start is output to the bus to the output destination address (step S130), and this routine is terminated. In this manner, after the processing of the previous request, for example, the processing of the data write command from the main processor 31 to the memory controller 33 is completed in step S120, the DMA request is output to the DMA controller 35.

次に、マルチプロセッサシステム30の各プロセッサによる各処理及び通信の様子を説明する。なお、図3の説明図では、図2のリクエスト制御ルーチンと同じステップには同じステップ番号を付した。ここでは、メインプロセッサ31がメモリ34に対して読出・書込処理を指令し、メモリ34へ書き込んだデータをDMAコントローラ35により読み出す場合について説明する。まず、メインプロセッサ31は、メモリ34に記憶されているデータを読み出すメモリコントローラ33への指令であるリードリクエストをブリッジ32へ出力する(ステップS200)。これを入力したブリッジ32は、出力先アドレスがDMAメッセージボックス37ではないため、そのままこのリクエストをメモリコントローラ33へ出力する(ステップS130)。これを入力したメモリコントローラ33は、読出処理を実行し(ステップS300)、ブリッジ32へデータを出力する(ステップS310)。データを入力すると、ブリッジ32は、メインプロセッサ31へデータを出力する(ステップS140)。続いて、メモリコントローラ33は、データの出力を終了すると、処理完了を表すAck信号をブリッジ32へ出力する(ステップS320)。   Next, the state of each process and communication by each processor of the multiprocessor system 30 will be described. In the explanatory diagram of FIG. 3, the same step numbers are assigned to the same steps as those in the request control routine of FIG. Here, a case where the main processor 31 instructs the memory 34 to perform read / write processing and the data written in the memory 34 is read by the DMA controller 35 will be described. First, the main processor 31 outputs a read request, which is a command to the memory controller 33 for reading data stored in the memory 34, to the bridge 32 (step S200). Since the output destination address is not the DMA message box 37, the bridge 32 that has input it outputs this request to the memory controller 33 as it is (step S130). The memory controller 33 having received this executes a reading process (step S300) and outputs data to the bridge 32 (step S310). When data is input, the bridge 32 outputs the data to the main processor 31 (step S140). Subsequently, when the output of data is completed, the memory controller 33 outputs an Ack signal indicating completion of processing to the bridge 32 (step S320).

次に、メインプロセッサ31は、データを作成しこの作成したデータをメモリ34へ記憶させるメモリコントローラ33への指令であるライトリクエストをブリッジ32へ出力する(ステップS210)。これを入力したブリッジ32は、出力先アドレスがDMAメッセージボックス37ではないため、そのままこのリクエストをメモリコントローラ33へ出力する(ステップS130)。これを入力したメモリコントローラ33は、書込処理を実行する(ステップS330)。メインプロセッサ31は、ライトリクエストを出力したため、メモリ34には作成したデータが記憶されているものとしてデバイス側が直接メモリ34へアクセスするDMAリクエストを出力し(ステップS220)、データのやり取りをDMAコントローラ35へ委任する。これを受けたブリッジ32は、先のリクエストに対するAck信号を入力するまで待機し(リクエストの発行停止、ステップS120)、メモリコントローラ33から先のリクエスト(ここではライトリクエスト)のAck信号を入力すると、DMAリクエストをDMAメッセージボックス37へ出力する(ステップS130)。   Next, the main processor 31 generates data and outputs a write request, which is a command to the memory controller 33 for storing the generated data in the memory 34, to the bridge 32 (step S210). Since the output destination address is not the DMA message box 37, the bridge 32 that has input it outputs this request to the memory controller 33 as it is (step S130). The memory controller 33 that has input this executes a writing process (step S330). Since the main processor 31 has output the write request, it is assumed that the created data is stored in the memory 34, and the device side outputs a DMA request for directly accessing the memory 34 (step S220). Delegate to Upon receiving this, the bridge 32 waits until an Ack signal for the previous request is input (request issuance stop, step S120). When the Ack signal of the previous request (here, a write request) is input from the memory controller 33, The DMA request is output to the DMA message box 37 (step S130).

ここで、リクエストの発行停止について説明する。DMAリクエストを出力するときに、命令を実行する順番の変更(アウトオブオーダーや追い越し)や、複数のプロセッサから同時にリクエストを受けた場合、メモリ34に採用されているマルチバンク方式などにより、DMAリクエスト時にメモリ34へのデータの書込処理が終了していない場合が生じうる。ここでは、DMAリクエストをブリッジ32が受信したときに、先のリクエストに対するAck信号を入力するまでリクエストの発行を停止することにより、先のリクエストとしてのメモリ34への書込処理などを確実に完了させるのである。また、リクエストの発行停止後のリクエストの出力再開では、DMAリクエストが優先的属性に設定されているから、複数のリクエストの出力が停止された場合であっても、最も先にDMAリクエストがブリッジ32から出力されるのである。   Here, stoppage of request issuance will be described. When a DMA request is output, if the order of execution of instructions is changed (out-of-order or overtaking), or if requests are simultaneously received from multiple processors, the DMA request can be made by the multi-bank method adopted in the memory 34, etc. Sometimes, the process of writing data to the memory 34 may not be completed. Here, when the bridge request is received by the bridge 32, the issuance of the request is stopped until the Ack signal for the previous request is input, thereby reliably completing the writing process to the memory 34 as the previous request. To make it happen. Further, in the restart of the output of the request after the stoppage of the request issuance, the DMA request is set to the priority attribute. Therefore, even when the output of a plurality of requests is stopped, the DMA request is the earliest DMA request. Is output from.

DMAリクエストを受けたDMAメッセージボックス37では、DMAアドレスボックス38を用いてリクエストの出力先のアドレスを変換し(ステップS400)、このDMAリクエストをDMAコントローラ35へ出力する(ステップS410)。これを受けたDMAコントローラ35は、DMAによるメモリ34へのアクセスの指令をメモリコントローラ33へ出力し(ステップS500)、以後、メインプロセッサ31を介さずにデバイスとのデータのやり取りを行うのである。プリンタ20では、このようなマルチプロセッサシステム30の処理を経て、作成されたデータを用いて、例えばサブプロセッサ43により印刷機構46を駆動制御して記録紙Sへインクを吐出させて記録紙S上に画像を形成させたりするのである。   Upon receiving the DMA request, the DMA message box 37 converts the output destination address of the request using the DMA address box 38 (step S400), and outputs the DMA request to the DMA controller 35 (step S410). Receiving this, the DMA controller 35 outputs an instruction to access the memory 34 by DMA to the memory controller 33 (step S500), and thereafter exchanges data with the device without going through the main processor 31. In the printer 20, for example, the sub-processor 43 drives and controls the printing mechanism 46 to eject ink onto the recording paper S by using the data generated through the processing of the multiprocessor system 30. To form an image.

ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のメモリ34が本発明の記憶手段に相当し、メインプロセッサ31が第1制御部に相当し、DMAコントローラ35が第2制御部に相当し、プロセッサ群が制御部群に相当し、DMAメッセージボックス37が中継部に相当し、ブリッジ32が指令制御部に相当し、印刷機構46が流体吐出機構に相当し、インクが流体に相当し、記録紙Sがターゲットに相当する。   Here, the correspondence between the components of the present embodiment and the components of the present invention will be clarified. The memory 34 of this embodiment corresponds to the storage means of the present invention, the main processor 31 corresponds to the first control unit, the DMA controller 35 corresponds to the second control unit, the processor group corresponds to the control unit group, The DMA message box 37 corresponds to the relay unit, the bridge 32 corresponds to the command control unit, the printing mechanism 46 corresponds to the fluid ejection mechanism, the ink corresponds to the fluid, and the recording paper S corresponds to the target.

以上詳述した本実施形態のマルチプロセッサシステム30によれば、リクエストの出力先としてDMAコントローラ35が予め対応付けられているDMAメッセージボックス37を備えており、このDMAメッセージボックス37へのリクエストをメインプロセッサ31からブリッジ32が入力すると、メモリ34に対する先のリクエストのAck信号(完了回答)を入力したあとこの入力したリクエストをDMAメッセージボックス37へ出力し、このリクエストをDMAメッセージボックス37が対応付けられたDMAコントローラ35へ出力する。即ち、複数あるプロセッサ(制御部)のうち、DMAメッセージボックス37に対応づけられたDMAコントローラ35へのリクエストについては、先のリクエスト、例えばメモリ34へのデータの書込などが完了した回答を得たあとに、出力されるのである。このように、個々のプロセッサ間の指定を行うことなく、コヒーレンシを保つ特定のプロセッサ用の私書箱としてのDMAメッセージボックス37を設けているため、メインプロセッサ31とDMAコントローラ35とによるコヒーレンシをより容易に実現することができ、DMAメッセージボックス37へのリクエストを受けると先のリクエストの完了を待ってから出力先へ出力するため、コヒーレンシをより確実に実現することができる。   According to the multiprocessor system 30 of the present embodiment described in detail above, the DMA controller 35 is provided in advance with the DMA controller 35 as a request output destination, and the request to the DMA message box 37 is sent to the main. When the bridge 32 is input from the processor 31, the Ack signal (completion response) of the previous request to the memory 34 is input, and then the input request is output to the DMA message box 37. This request is associated with the DMA message box 37. Output to the DMA controller 35. That is, among the plurality of processors (control units), for the request to the DMA controller 35 associated with the DMA message box 37, the previous request, for example, writing of data to the memory 34 is obtained. After that, it is output. As described above, the DMA message box 37 as a post office box for a specific processor that maintains coherency without specifying between individual processors is provided, so that coherency between the main processor 31 and the DMA controller 35 can be made easier. When the request to the DMA message box 37 is received, the request is output after completion of the previous request, so that the coherency can be more reliably realized.

また、DMAメッセージボックス37へのリクエストの出力が優先的属性に設定されているため、DMAメッセージボックス37へのリクエストが優先的に出力され、メインプロセッサ31とDMAコントローラ35とによるコヒーレンシを一層確実に実現することができる。更に、リクエストの出力先としてDMAコントローラ35がメモリ34の所定のアドレスに予め対応付けられているため、メモリ34のアドレスを用いて比較的容易にDMAコントローラ35の対応づけを実現することができるし、比較的容易に出力先を判定することができる。更にまた、DMAコントローラ35は、コヒーレンシを保つ要望が高いため、本発明を適用する意義が高い。そしてまた、プリンタ20は、マルチプロセッサシステム30を用いて分担した処理を実行することが多いため、本発明を適用する意義が高い。   Further, since the output of the request to the DMA message box 37 is set to the priority attribute, the request to the DMA message box 37 is output with priority, and the coherency between the main processor 31 and the DMA controller 35 is further ensured. Can be realized. Further, since the DMA controller 35 is associated in advance with a predetermined address in the memory 34 as a request output destination, the association of the DMA controller 35 can be realized relatively easily using the address in the memory 34. The output destination can be determined relatively easily. Furthermore, since the DMA controller 35 has a high demand for maintaining coherency, the significance of applying the present invention is high. In addition, since the printer 20 often executes shared processing using the multiprocessor system 30, it is highly meaningful to apply the present invention.

なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。   It should be noted that the present invention is not limited to the above-described embodiment, and it goes without saying that the present invention can be implemented in various modes as long as it belongs to the technical scope of the present invention.

例えば、上述した実施形態では、DMAメッセージボックス37へのリクエストの出力が優先的属性に設定されているものとしたが、これを省略してもよい。こうしても、先のリクエストが終了してからDMAリクエストを出力するため、コヒーレンシをより容易且つ確実に実現することができる。   For example, in the above-described embodiment, the output of the request to the DMA message box 37 is set as the priority attribute, but this may be omitted. Even in this case, since the DMA request is output after the previous request is completed, coherency can be realized more easily and reliably.

上述した実施形態では、リクエストの出力先としてDMAコントローラ35がメモリ34の所定のアドレスに予め対応付けられているものとしたが、特にこれに限定されず、リクエストの出力先を判定可能とすればどのような方法を採用してもよい。   In the above-described embodiment, the DMA controller 35 is associated in advance with a predetermined address in the memory 34 as a request output destination. However, the present invention is not limited to this, and the request output destination can be determined. Any method may be adopted.

上述した実施形態では、DMAコントローラ35がDMAメッセージボックス37からの出力先として定められているものとしたが、特にこれに限定されず、コヒーレンシを保つ必要があるプロセッサをDMAメッセージボックス37からの出力先として定めるものとしてもよい。また、DMAメッセージボックス37からの出力先を複数設定するものとしてもよい。   In the above-described embodiment, the DMA controller 35 is set as the output destination from the DMA message box 37. However, the present invention is not limited to this, and a processor that needs to maintain coherency is output from the DMA message box 37. It may be determined as a destination. A plurality of output destinations from the DMA message box 37 may be set.

上述した実施形態では、プリンタ20がマルチプロセッサシステム30を備えるものとしたが、複数のプロセッサにより処理を行う機器であれば特にこれに限られず、例えば、パソコン、テレビ、ビデオ、ゲーム機器などにマルチプロセッサシステム30を搭載してもよい。   In the above-described embodiment, the printer 20 includes the multiprocessor system 30. However, the printer 20 is not limited to this as long as it is a device that performs processing by a plurality of processors. For example, the printer 20 includes a multiprocessor system. A processor system 30 may be mounted.

上述した実施形態では、流体吐出装置をプリンタ20に具体化した例を示したが、インク以外の他の液体や機能材料の粒子が分散されている液状体(分散液)、ジェルのような流状体などを吐出する印刷装置に具体化してもよいし、流体として吐出可能な固体を吐出する印刷装置に具体化してもよい。例えば、液晶ディスプレイ、EL(エレクトロルミネッセンス)ディスプレイ、面発光ディスプレイ及びカラーフィルタの製造などに用いられる電極材や色材などの材料を溶解した液体を吐出する液体吐出装置、同材料を分散した液状体を吐出する液状体吐出装置、精密ピペットとして用いられ試料となる液体を吐出する液体吐出装置としてもよい。また、光通信素子等に用いられる微小半球レンズ(光学レンズ)などを形成するために紫外線硬化樹脂等の透明樹脂液を基板上に吐出する液体吐出装置、ジェルを吐出する流状体吐出装置、トナーなどの粉体を吐出する粉体吐出式記録装置としてもよい。   In the above-described embodiment, an example in which the fluid discharge device is embodied in the printer 20 has been described. However, a liquid (dispersion) in which particles of liquid other than ink or functional material particles are dispersed, a flow like a gel, and the like. The present invention may be embodied in a printing apparatus that ejects a solid body or the like, or may be embodied in a printing apparatus that ejects a solid that can be ejected as a fluid. For example, a liquid discharge device that discharges a liquid in which a material such as an electrode material or a color material used for manufacturing a liquid crystal display, an EL (electroluminescence) display, a surface emitting display, and a color filter is dissolved, or a liquid material in which the material is dispersed It is good also as a liquid discharge apparatus which discharges the liquid used as a liquid material discharge apparatus which discharges, and a sample used as a precision pipette. Also, a liquid ejection device that ejects a transparent resin liquid such as an ultraviolet curable resin on a substrate to form a micro hemispherical lens (optical lens) used for an optical communication element or the like, a fluid ejection device that ejects a gel, A powder discharge type recording apparatus that discharges powder such as toner may be used.

プリンタ20の構成の概略を示す構成図である。FIG. 2 is a configuration diagram illustrating an outline of a configuration of a printer 20. リクエスト制御ルーチンの一例を表すフローチャートである。It is a flowchart showing an example of a request control routine. 各処理及び通信の様子をシーケンシャルに示す説明図である。It is explanatory drawing which shows the mode of each process and communication sequentially.

符号の説明Explanation of symbols

20 プリンタ、30 マルチプロセッサシステム、31 メインプロセッサ、32 ブリッジ、33 メモリコントローラ、34 メモリ、35 DMAコントローラ、36 ブリッジ、37 DMAメッセージボックス、38 DMAアドレスボックス、41〜43 サブプロセッサ、44 ROM、45 インタフェース(I/F)、46 印刷機構、48 バス、S 記録紙。   20 printer, 30 multiprocessor system, 31 main processor, 32 bridge, 33 memory controller, 34 memory, 35 DMA controller, 36 bridge, 37 DMA message box, 38 DMA address box, 41-43 sub-processor, 44 ROM, 45 interface (I / F), 46 printing mechanism, 48 buses, S recording paper.

Claims (5)

データを記憶する記憶手段と、
前記記憶手段に対してのデータの書込又は読出指令であるリクエストを出力する第1制御部と、該第1制御部からのリクエストに基づき前記記憶手段に対してのデータの書込・読出を制御する第2制御部と、を少なくとも含む複数の制御部からなる制御部群と、
リクエストの出力先として第2制御部が予め対応付けられており、リクエストを入力すると該入力したリクエストを該対応付けられた第2制御部へ出力する中継部と、
前記中継部へのリクエストを前記第1制御部から入力すると前記記憶手段に対する先のリクエストの完了回答を入力したあと該入力したリクエストを該中継部へ出力する指令制御部と、
を備えたマルチプロセッサシステム。
Storage means for storing data;
A first control unit that outputs a request for writing or reading data to or from the storage unit; and writing or reading data to or from the storage unit based on a request from the first control unit A control unit group including a plurality of control units including at least a second control unit to be controlled;
The second control unit is associated in advance as an output destination of the request, and when the request is input, the relay unit that outputs the input request to the associated second control unit;
A command control unit that outputs the input request to the relay unit after inputting a completion response of the previous request to the storage unit when a request to the relay unit is input from the first control unit;
Multiprocessor system with
前記指令制御部は、前記中継部へのリクエストの出力が優先的属性に設定されている、請求項1に記載のマルチプロセッサシステム。   The multiprocessor system according to claim 1, wherein the command control unit has a priority attribute set to output a request to the relay unit. 前記中継部は、リクエストの出力先として第2制御部が前記記憶手段の所定のアドレスに予め対応付けられている、請求項1又は2に記載のマルチプロセッサシステム。   The multiprocessor system according to claim 1, wherein the relay unit has a second control unit associated in advance with a predetermined address of the storage unit as an output destination of a request. 前記第2制御部は、ダイレクトメモリアクセスコントローラである、請求項1〜3のいずれか1項に記載のマルチプロセッサシステム。   The multiprocessor system according to claim 1, wherein the second control unit is a direct memory access controller. 請求項1〜4のいずれか1項に記載のマルチプロセッサシステムと、
流体を吐出してターゲット上に画像を形成する流体吐出機構と、を備え、
前記制御部群には、前記ターゲットへ前記流体を吐出して形成する画像データを生成し、前記流体吐出機構を駆動制御する制御部が含まれている、
流体吐出装置。
The multiprocessor system according to any one of claims 1 to 4,
A fluid ejection mechanism that ejects fluid to form an image on the target, and
The control unit group includes a control unit that generates image data formed by ejecting the fluid to the target and drives and controls the fluid ejection mechanism.
Fluid ejection device.
JP2008183773A 2008-07-15 2008-07-15 Multiprocessor system and fluid ejection apparatus equipped with the same Active JP5187038B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008183773A JP5187038B2 (en) 2008-07-15 2008-07-15 Multiprocessor system and fluid ejection apparatus equipped with the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008183773A JP5187038B2 (en) 2008-07-15 2008-07-15 Multiprocessor system and fluid ejection apparatus equipped with the same

Publications (2)

Publication Number Publication Date
JP2010026577A JP2010026577A (en) 2010-02-04
JP5187038B2 true JP5187038B2 (en) 2013-04-24

Family

ID=41732386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008183773A Active JP5187038B2 (en) 2008-07-15 2008-07-15 Multiprocessor system and fluid ejection apparatus equipped with the same

Country Status (1)

Country Link
JP (1) JP5187038B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213095B2 (en) * 2004-06-08 2007-05-01 Arm Limited Bus transaction management within data processing systems
US7725618B2 (en) * 2004-07-29 2010-05-25 International Business Machines Corporation Memory barriers primitives in an asymmetric heterogeneous multiprocessor environment
JP2007241612A (en) * 2006-03-08 2007-09-20 Matsushita Electric Ind Co Ltd Multi-master system

Also Published As

Publication number Publication date
JP2010026577A (en) 2010-02-04

Similar Documents

Publication Publication Date Title
JP5609436B2 (en) Data storage processing apparatus, printing apparatus and data storage processing method in printing apparatus
JP2009226690A (en) Printer and information management system
WO2005081219A1 (en) Information display device and information display system
JP2006215873A (en) Controller, information processor and transfer processing method
JP2007296796A (en) Image forming apparatus, image forming method, and image forming program
JP5187038B2 (en) Multiprocessor system and fluid ejection apparatus equipped with the same
JP5246242B2 (en) Image processing apparatus and image recording apparatus
JP7024621B2 (en) Control device, image forming device, control method and control program
JP2014071485A (en) Recording device
JP2016103112A (en) Data transfer control device, information processing device, and image forming apparatus
JP2007249667A (en) Data transfer device, and data transfer system
JP2010015296A (en) Multiprocessor system and fluid discharge device loaded with it
JP2022122677A (en) Information processor and method for controlling information processor
US20220156023A1 (en) Image processing apparatus, method for controlling image processing apparatus, and storage medium
WO2013094031A1 (en) Information processor and recording apparatus using same
JP4605003B2 (en) Image processing apparatus and image processing method
JP2018030283A (en) Printer and control method
JP2016224560A (en) Multichip system and control method of the same
JP2007148553A (en) Image formation controller device
JP5125885B2 (en) Data input / output device
JP2021117740A (en) Information processing apparatus, method fo controlling the same, and program therefor
JP2021082003A (en) Information processing device
KR100636817B1 (en) The graphic execution device for reducing the transaction with the system bus
JP2013196589A (en) Printer and print system
JP5575064B2 (en) Controller and image processing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130107

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

Free format text: PAYMENT UNTIL: 20160201

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5187038

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350