JP2013239048A - Image process device - Google Patents

Image process device Download PDF

Info

Publication number
JP2013239048A
JP2013239048A JP2012112022A JP2012112022A JP2013239048A JP 2013239048 A JP2013239048 A JP 2013239048A JP 2012112022 A JP2012112022 A JP 2012112022A JP 2012112022 A JP2012112022 A JP 2012112022A JP 2013239048 A JP2013239048 A JP 2013239048A
Authority
JP
Japan
Prior art keywords
register
bus
hierarchy
pointer
arbitration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012112022A
Other languages
Japanese (ja)
Inventor
Shinko Yamada
眞弘 山田
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 JP2012112022A priority Critical patent/JP2013239048A/en
Publication of JP2013239048A publication Critical patent/JP2013239048A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To maximize a warranty value of a transfer rate in image process devices employing a split transaction bus.SOLUTION: An image process device according to the present invention includes: a bus right arbitration register that includes a plurality of hierarchized registers; and a bus arbiter that arbitrates a bus right with reference to the register. In each field of the register, at least one of a value indicative of a device and a value indicative of a lower hierarchy is stored, and a pointer of the register is cyclically shifted every time the register is referred to. The bus arbiter firstly refers to the uppermost hierarchy register and when a pointer of a reference destination indicates a hierarchy, refers to a register of the hierarchy. When the pointer of the reference destination indicates a device and the bus right is requested from the device, the bus arbiter gives the bus right to the device.

Description

本発明は、画像処理装置に関する。   The present invention relates to an image processing apparatus.

デジタル複合機(MFP:Multi Function Peripheral)等の画像処理装置が備える画像処理用ASICには複数のデバイスが搭載されており、これらのデバイスのメモリ・アクセスは競合する。各デバイスは、メモリ・アクセスが必要となった時点で、ASIC内のバス権調停手段に対してメモリ・バス権の要求を発行し、これを受けてバス権調停手段は、予め決められた優先順位に従って各デバイスにバス権を付与する。   An image processing ASIC provided in an image processing apparatus such as a digital multi-function peripheral (MFP) is equipped with a plurality of devices, and the memory access of these devices competes. Each device issues a memory bus right request to the bus right arbitration means in the ASIC when memory access becomes necessary, and in response to this, the bus right arbitration means determines a predetermined priority. A bus right is granted to each device according to the order.

一方、MFPに代表される、高速・高画質の画像形成が要求される画像処理装置においては、画像処理に関与するデバイス間で所定周期内に大量のデータを転送する必要があり、それが出来ない場合は異常画像が発生する。この点につき、近年、十分な転送レートを確保する必要があるデバイス間のインターフェースとしてPCI Express(登録商標)規格の高速シリアルバスを採用する画像処理装置が提供されている。   On the other hand, in an image processing apparatus such as an MFP that requires high-speed and high-quality image formation, it is necessary to transfer a large amount of data within a predetermined cycle between devices involved in image processing. If not, an abnormal image is generated. In this regard, in recent years, there has been provided an image processing apparatus that employs a PCI Express (registered trademark) high-speed serial bus as an interface between devices that need to ensure a sufficient transfer rate.

ここで、スキャナ・データ/プロッタ・データ入出力用のDMACのように、画像の品質に直結するデバイスに関しては、高い転送レートを保証する必要があるため、バス権調停において、これらのデバイスの優先順位を高く設定することになるが、トータルのメモリ・アクセス・レートの上限値は決まっているため、転送レートの保証値(最悪値)はいきおい低くならざるを得ない。   Here, for devices directly connected to image quality, such as a scanner data / plotter data input / output DMAC, it is necessary to guarantee a high transfer rate. Therefore, in bus arbitration, priority is given to these devices. Although the ranking is set high, the upper limit value of the total memory access rate is determined, and therefore the guaranteed transfer rate (worst value) must be extremely low.

この問題は、PCI Express(登録商標)のように要求コマンドとそれに対する応答とが分離されているスプリット・トランザクション型バスを採用する装置において特に深刻となる。すなわち、スプリット・トランザクション型バスにおいては、高い発行レートで連続して要求コマンドを発行し続けると、キューが一杯になってしまい、新規要求が発行できない状態が発生するため、転送レートにばらつきが生じやすく、このばらつきを吸収するために十分なマージンを取るとなると、保証できる転送レートの値はますます低くなってしまう。   This problem becomes particularly serious in a device such as PCI Express (registered trademark) that employs a split transaction type bus in which a request command and a response to the request command are separated. In other words, in the split transaction type bus, if the request command is continuously issued at a high issue rate, the queue becomes full and a new request cannot be issued. If a sufficient margin is taken to absorb this variation, the transfer rate value that can be guaranteed becomes increasingly lower.

この点につき、特開2007−249816号公報(特許文献1)は、PCI Express(登録商標)のシリアル通信路を常時モニタし、実際に転送されたパケットデータの転送量に応じて動的にアービトレーションテーブルを変更することによって、トランザクション層の送信バッファが介在している場合であっても、実際のトラフィックのプライオリティの整合性を維持しつつ、適切なバス権調停を行うことができるデータ通信回路を開示する。   In this regard, Japanese Patent Laid-Open No. 2007-249816 (Patent Document 1) constantly monitors the serial communication path of PCI Express (registered trademark) and dynamically arbitrates according to the amount of packet data actually transferred. A data communication circuit that can perform appropriate bus arbitration while maintaining the consistency of the actual traffic priority even if a transaction layer transmission buffer is present by changing the table Disclose.

本発明は、上記従来技術における課題に鑑みてなされたものであり、本発明は、PCI Express(登録商標)のように要求コマンドとそれに対する応答とが分離されているスプリット・トランザクション型バスを採用する画像処理装置において、転送レートの保証値を最大化することを目的とする。   The present invention has been made in view of the above problems in the prior art, and the present invention employs a split transaction type bus in which a request command and a response to the request command are separated as in PCI Express (registered trademark). An object of the present invention is to maximize a guaranteed transfer rate in an image processing apparatus.

本発明者は、スプリット・トランザクション型バスを採用する画像処理装置において、転送レートの保証値を最大化する方法につき鋭意検討した結果、以下の構成に想到し、本発明に至ったのである。   As a result of intensive studies on a method for maximizing a guaranteed transfer rate in an image processing apparatus employing a split transaction type bus, the present inventor has conceived the following configuration and has reached the present invention.

すなわち、本発明によれば、階層化された複数のレジスタを含むバス権調停用レジスタと、前記レジスタを参照してバス権を調停するバスアービタとを含み、前記レジスタの各フィールドには、デバイスを示す値および該レジスタの階層より一つ下位の階層を示す値の少なくとも一方が格納され、前記レジスタのポインタは、該レジスタが参照されるたびに循環的にシフトし、前記バスアービタは、最初に最上位階層の前記レジスタを参照し、参照先の前記レジスタのポインタが示すフィールドの値が前記階層を示す値であった場合に、該値が示す階層のレジスタを参照し、参照先の前記レジスタのポインタが示すフィールドの値が前記デバイスを示す値であり、且つ、該デバイスからバス権の要求があった場合に、該デバイスに対してバス権を付与する、画像処理装置が提供される。   That is, according to the present invention, it includes a bus arbitration register including a plurality of hierarchized registers, and a bus arbiter that arbitrates the bus right with reference to the register, and each field of the register includes a device. At least one of the value indicated and the value indicating the hierarchy one level lower than the register hierarchy, the pointer of the register is cyclically shifted each time the register is referred to, and the bus arbiter is the first to If the value of the field indicated by the pointer of the reference destination is a value indicating the hierarchy, the register of the hierarchy indicated by the value is referred to by referring to the register of the reference destination When the value of the field indicated by the pointer is a value indicating the device and a bus right is requested from the device, the bus is sent to the device. The grant, an image processing apparatus is provided.

本実施形態の画像処理装置の概念図。1 is a conceptual diagram of an image processing apparatus according to an embodiment. 本実施形態の画像処理装置に搭載されたコントローラASICの内部ブロック図。FIG. 3 is an internal block diagram of a controller ASIC installed in the image processing apparatus according to the present embodiment. 本実施形態におけるバス権調停用レジスタの構成を示す概念図。The conceptual diagram which shows the structure of the register | resistor for bus right arbitration in this embodiment. 本実施形態におけるバス権調停用レジスタを説明するための概念図。The conceptual diagram for demonstrating the bus arbitration register | resistor in this embodiment. 本実施形態におけるバス権調停用レジスタを説明するための概念図。The conceptual diagram for demonstrating the bus arbitration register | resistor in this embodiment. 本実施形態におけるバス権調停用レジスタを説明するための概念図。The conceptual diagram for demonstrating the bus arbitration register | resistor in this embodiment. 本実施形態におけるバスアービタによる調停結果を示す図。The figure which shows the mediation result by the bus arbiter in this embodiment. 本実施形態における調停レート設定用レジスタを示す概念図。The conceptual diagram which shows the register for arbitration rate setting in this embodiment.

以下、本発明を、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。なお、以下に参照する各図においては、共通する要素について同じ符号を用い、適宜、その説明を省略するものとする。   Hereinafter, although this invention is demonstrated with embodiment, this invention is not limited to embodiment mentioned later. In the drawings referred to below, the same reference numerals are used for common elements, and the description thereof is omitted as appropriate.

図1は、本発明の実施形態である画像処理装置1000の概念図を示す。MFPなどとして参照される画像処理装置1000は、原稿を読み取るためのスキャナユニット200と、画像データを印字出力するためのプロッタユニット300と、スキャナユニット200およびプロッタユニット300を制御するためのエンジン制御用ASIC400と、コントローラASIC100と、画像処理装置1000全体を制御するためのCPU500と、各種プログラムおよびデータを記憶するためのメモリ600とを含んで構成されている。   FIG. 1 is a conceptual diagram of an image processing apparatus 1000 according to an embodiment of the present invention. An image processing apparatus 1000 referred to as an MFP or the like includes a scanner unit 200 for reading a document, a plotter unit 300 for printing out image data, and an engine control for controlling the scanner unit 200 and the plotter unit 300. The ASIC 400 includes a controller ASIC 100, a CPU 500 for controlling the entire image processing apparatus 1000, and a memory 600 for storing various programs and data.

エンジン制御用ASIC400とコントローラASIC100の間は、PCI Express規格の高速シリアルバス700(以下、PCI Express700として参照する)によって接続されており、コントローラASIC100とCPU500の間は、PCI Express規格の高速シリアルバス800(以下、PCI Express800として参照する)によって接続されている。一方、メモリ600は、CPU500に内蔵された図示しないメモリコントローラによって制御されており、SSTL規格でインターフェースされている。   The engine control ASIC 400 and the controller ASIC 100 are connected by a PCI Express standard high-speed serial bus 700 (hereinafter referred to as PCI Express 700), and the controller ASIC 100 and the CPU 500 are connected by a PCI Express standard high-speed serial bus 800. (Hereinafter referred to as PCI Express 800). On the other hand, the memory 600 is controlled by a memory controller (not shown) built in the CPU 500 and is interfaced with the SSTL standard.

ここでは、まず、画像処理装置1000におけるコピー時のデータの流れを説明する。スキャナユニット200で読み取られた画像は、エンジン制御用ASIC400において画像処理が施された後、コントローラASIC100に渡される。コントローラASIC100は、CPU500に対して、処理後の画像データをメモリ600に格納する要求を発行し、CPU500は当該要求に応答して該当する画像データをメモリ600に格納する。   Here, first, the flow of data during copying in the image processing apparatus 1000 will be described. The image read by the scanner unit 200 is subjected to image processing in the engine control ASIC 400 and then passed to the controller ASIC 100. The controller ASIC 100 issues a request to store the processed image data in the memory 600 to the CPU 500, and the CPU 500 stores the corresponding image data in the memory 600 in response to the request.

メモリ600に格納された画像データは、コントローラASIC100からの要求で、メモリ600から読み出され、エンジン制御用ASIC400を経由してプロッタユニット300に渡される。プロッタユニット300は受領した画像データを印字出力する。   The image data stored in the memory 600 is read from the memory 600 in response to a request from the controller ASIC 100 and is passed to the plotter unit 300 via the engine control ASIC 400. The plotter unit 300 prints out the received image data.

次に、コピーに並行してプリンタデータの作成が行われる場合のデータの流れを説明する。まず、ネットワーク等を経由して外部からプリンタ出力要求(プリンタ言語データ)がコントローラASIC100に入力される。コントローラASIC100は、CPU500に対して、入力されたプリンタ言語データをメモリ600に格納する要求を発行し、CPU500は当該要求に応答して該当するプリンタ言語データをメモリ600に格納する。その後、CPU500は、プリンタ言語データを解釈し、その内容に応じた画像データをメモリ600上に作成する。このとき、画像データは、メモリ容量の消費を抑制すべく、コントローラASIC100に搭載される圧縮器を用いて圧縮データとして作成される。   Next, a data flow when printer data is created in parallel with copying will be described. First, a printer output request (printer language data) is input to the controller ASIC 100 from the outside via a network or the like. The controller ASIC 100 issues a request to the CPU 500 to store the input printer language data in the memory 600, and the CPU 500 stores the corresponding printer language data in the memory 600 in response to the request. Thereafter, the CPU 500 interprets the printer language data and creates image data corresponding to the contents on the memory 600. At this time, the image data is created as compressed data using a compressor mounted on the controller ASIC 100 in order to suppress consumption of memory capacity.

プロッタユニット300がコピーに係る印字出力処理から開放された時点で、メモリ600に格納された画像データ(圧縮データ)が、コントローラASIC100からの要求に応じてメモリ600から読み出される。読み出された画像データ(圧縮データ)は、エンジン制御用ASIC400の伸張器で伸張処理を施された後、プロッタユニット300に渡される。プロッタユニット300は受領した画像データを印字出力する。   When the plotter unit 300 is released from the print output process for copying, the image data (compressed data) stored in the memory 600 is read from the memory 600 in response to a request from the controller ASIC 100. The read image data (compressed data) is subjected to decompression processing by the decompressor of the engine control ASIC 400 and then delivered to the plotter unit 300. The plotter unit 300 prints out the received image data.

図2は、本実施形態の画像処理装置1000に搭載されたコントローラASIC100の内部ブロック図を示す。コントローラASIC100は、エンジン制御用ASIC400側のPCI Express700を制御するPCI Expressルートコントローラ102と、CPU500側のPCI Express800を制御するPCI Expressエンドポイントコントローラ104と、プロセスカラー(CMYK)の色ごとに用意された4つのビデオ出力制御ユニット110a,110b,110c,110dならびに4つのイメージ処理ユニット120a,120b,120c,120dと、圧縮ユニット130と、スキャナ・データ用のラインバッファ140と、ラインバッファ140を制御するためのビデオ入力コントローラ150と、バスアービタ160と、コントローラASIC100全体を制御するための全体コントローラ170を備えている。   FIG. 2 is an internal block diagram of the controller ASIC 100 mounted on the image processing apparatus 1000 according to the present embodiment. The controller ASIC 100 is prepared for each color of process colors (CMYK), a PCI Express route controller 102 that controls the PCI Express 700 on the engine control ASIC 400 side, a PCI Express endpoint controller 104 that controls the PCI Express 800 on the CPU 500 side, and so on. To control the four video output control units 110a, 110b, 110c, and 110d, the four image processing units 120a, 120b, 120c, and 120d, the compression unit 130, the line buffer 140 for scanner data, and the line buffer 140 Video input controller 150, bus arbiter 160, and overall controller 170 for controlling the entire controller ASIC 100.

ビデオ出力制御ユニット110a〜110dは、それぞれ、ビデオ出力コントローラと、スタンプDMACと、ビデオ出力DMACを備える。なお、図2においては、ビデオ出力コントローラ、スタンプDMACおよびビデオ出力DMACを、それぞれ、Vout、Stp DMACおよびVout DMACと標記する。   Each of the video output control units 110a to 110d includes a video output controller, a stamp DMAC, and a video output DMAC. In FIG. 2, the video output controller, the stamp DMAC, and the video output DMAC are denoted as Vout, Stp DMAC, and Vout DMAC, respectively.

ビデオ出力コントローラ(Vout)は、ビデオ出力制御ユニット110全体を制御し、エンジン制御用ASIC400にプロッタ・データを送るための処理を実行する。ビデオ出力DMACは、印字出力するプロッタ・データを用意するためのDMAC(Direct Memory Access Controller)であり、スタンプDMAC(Stp DMAC)は、印字出力するプロッタ・データに重畳するスタンプ印字のデータを用意するDMACである。   The video output controller (Vout) controls the entire video output control unit 110 and executes processing for sending plotter data to the engine control ASIC 400. The video output DMAC is a direct memory access controller (DMAC) for preparing plotter data to be printed out. The stamp DMAC (Stp DMAC) prepares stamp print data to be superimposed on the plotter data to be printed out. DMAC.

イメージ処理ユニット120a〜120dは、それぞれ、イメージ処理コントローラと2つの汎用DMACを備える。なお、図2においては、イメージ処理コントローラおよび汎用DMACを、それぞれ、IMPおよびGDMACと標記する。イメージ処理ユニット120aに基づいて説明すれば、イメージ処理コントローラ(IMP_0)は、汎用DMAC(GDMAC10)でデータを読み出してイメージ処理を実行し、もう一つの汎用DMAC(GDMAC11)で実行結果をメモリ600に書き込む。   Each of the image processing units 120a to 120d includes an image processing controller and two general-purpose DMACs. In FIG. 2, the image processing controller and the general-purpose DMAC are denoted as IMP and GDMAC, respectively. To explain based on the image processing unit 120a, the image processing controller (IMP_0) reads out data by the general purpose DMAC (GDMAC10) and executes image processing, and the execution result is stored in the memory 600 by another general purpose DMAC (GDMAC11). Write.

圧縮ユニット130は、圧縮器と2つの汎用DMACを備える。なお、図2においては、圧縮器および汎用DMACを、それぞれ、ENC_0およびGDMAC_00、GDMAC_01と標記する。圧縮器(ENC_0)は、汎用DMAC(GDMAC_00)で生データを読み出し、圧縮結果を汎用DMAC(GDMAC_01)でメモリ600に書き込む。   The compression unit 130 includes a compressor and two general-purpose DMACs. In FIG. 2, the compressor and the general-purpose DMAC are denoted as ENC_0, GDMAC_00, and GDMAC_01, respectively. The compressor (ENC_0) reads the raw data with the general-purpose DMAC (GDMAC_00) and writes the compression result into the memory 600 with the general-purpose DMAC (GDMAC_01).

ラインバッファ140は、スキャナ・データを複数ライン分蓄積することが可能となっており、ビデオ入力コントローラ150は、ラインバッファ140を制御する。なお、図2においては、ラインバッファ140およびビデオ入力コントローラ150を、それぞれ、Line BuffおよびVIcntと標記する。   The line buffer 140 can store a plurality of lines of scanner data, and the video input controller 150 controls the line buffer 140. In FIG. 2, the line buffer 140 and the video input controller 150 are denoted as Line Buff and VIcnt, respectively.

バスアービタ160は、バス権調停手段であり、ビデオ出力制御ユニット110a〜110d、イメージ処理ユニット120a〜120dおよび圧縮ユニット130の各々からCPU500に対して発行されるメモリアクセスの要求の調停を実行する。ここで、全体コントローラ170は、制御レジスタ172を備えており、CPU500は、制御レジスタ172に所定の値をセットすることができるように構成されている。全体コントローラ170は、制御レジスタ172にセットされた調停条件に係る設定値に基づいてバスアービタ160を制御する。   The bus arbiter 160 is a bus arbitration unit, and executes arbitration of memory access requests issued to the CPU 500 from each of the video output control units 110a to 110d, the image processing units 120a to 120d, and the compression unit 130. Here, the overall controller 170 includes a control register 172, and the CPU 500 is configured to be able to set a predetermined value in the control register 172. The overall controller 170 controls the bus arbiter 160 based on the set value relating to the arbitration condition set in the control register 172.

次に、コントローラASIC100のバスアービタ160が実行するバス権調停の内容について、具体例に基づいて説明する。   Next, the contents of the bus arbitration executed by the bus arbiter 160 of the controller ASIC 100 will be described based on a specific example.

本実施形態におけるバスアービタ160は、バス権調停用レジスタを参照してバス権調停を実行する。図3は、本実施形態が採用する新規なバス権調停用レジスタの構成を示す概念図である。図3に例示するバス権調停用レジスタは、5つのレジスタから構成されている。レジスタの各フィールドには、バスアービタ160に対してバス権を要求するデバイスを示す値および当該レジスタの階層より一つ下の階層を示す値の少なくとも一方が格納され、余ったフィールドにはノーオペレーション命令(以下、NOPとして参照する)が格納される。   In this embodiment, the bus arbiter 160 refers to the bus arbitration register and executes the bus arbitration. FIG. 3 is a conceptual diagram showing the configuration of a new bus arbitration register employed by the present embodiment. The bus arbitration register illustrated in FIG. 3 includes five registers. Each field of the register stores at least one of a value indicating a device requesting the bus right from the bus arbiter 160 and a value indicating a hierarchy one level lower than the hierarchy of the register, and the remaining fields store no operation instructions. (Hereinafter referred to as NOP) is stored.

本実施形態においては、5つのレジスタのうち、4つのレジスタが基本設定用レジスタとして使用され、4段階に階層化されている。そして、5つのレジスタのうち、2つのレジスタは、2段階に階層化されており、代替先決定用レジスタとして機能する。デバイスを示す値は、そのデバイスの優先度に応じた階層のレジスタにセットされる。なお、図3において、「VIcnt」は、ビデオ入力コントローラ150を示し、「Vout_0〜3」は4個のビデオ出力DMACを示し、「Stp_0〜3」は4個のスタンプDMACを示し、「G00〜G41」は10個の汎用DMACを示す(以下、他の図において同様)。   In the present embodiment, four of the five registers are used as basic setting registers and are hierarchized in four stages. Of the five registers, two registers are hierarchized in two stages and function as substitute destination determination registers. A value indicating a device is set in a register in a hierarchy corresponding to the priority of the device. In FIG. 3, “VIcnt” indicates the video input controller 150, “Vout_0 to 3” indicates four video output DMACs, “Stp_0 to 3” indicates four stamp DMACs, and “G00˜ "G41" indicates 10 general-purpose DMACs (hereinafter the same in other figures).

基本設定用レジスタの第1階層には、先頭から順番に、要求元デバイスを示す「VIcnt」、第2階層の参照を示す「2nd」がセットされ、余った11個のフィールドにノーオペレーション命令(NOP)がセットされている。   In the first layer of the basic setting register, “VIcnt” indicating the request source device and “2nd” indicating the reference of the second layer are set in order from the top, and no operation instruction (in the remaining 11 fields) NOP) is set.

基本設定用レジスタの第2階層には、先頭から順番に要求元デバイスを示す「Vout_0」、「Vout_1」、「Vout_2」、「Vout_3」がセットされ、これに続いて、第3階層を示す「3rd」が4回連続してセットされ、余った5個のフィールドにNOPがセットされている。   In the second layer of the basic setting register, “Vout_0”, “Vout_1”, “Vout_2”, and “Vout_3” indicating the request source device are set in order from the top, followed by “3” indicating the third layer. “3rd” is set four times in succession, and NOP is set in the remaining five fields.

基本設定用レジスタの第3階層には、先頭から順番に要求元デバイスを示す「Stp_0」、「Stp_1」、「Stp_2」、「Stp_3」がセットされ、これに続いて、第4階層の参照を示す「4th」が2回連続してセットされ、余った7個のフィールドにNOPがセットされている。   “Stp_0”, “Stp_1”, “Stp_2”, and “Stp_3” indicating the requesting device are set in the third layer of the basic setting register in order from the top, followed by reference to the fourth layer. “4th” shown is set twice in succession, and NOP is set in the remaining seven fields.

第4階層のレジスタには、先頭から順番に要求元デバイスを示す「Vout_0」、「Vout_1」、「Vout_2」、「Vout_3」、「Stp_0」、「Stp_1」、「Stp_2」、「Stp_3」、「VIcnt」がセットされ、余った4個のフィールドにNOPがセットされている。   In the fourth layer register, “Vout_0”, “Vout_1”, “Vout_2”, “Vout_3”, “Stp_0”, “Stp_1”, “Stp_2”, “Stp_3”, “Stp_3”, “Stp_3” VIcnt "is set, and NOP is set in the remaining four fields.

基本設定用レジスタにおいては、最上位階層に優先度の最も高いデバイスを示す値がセットされ、階層が下るにつれて、より低い優先度のデバイスを示す値がセットされる。図3に示す例の場合、異常画像を防止するために転送レートの最悪値を保証する必要のあるビデオ入力コントローラ150「VIcnt」が第1階層にセットされており、第2階層には、ビデオ入力コントローラ150「VIcnt」の次に転送レートを保証しなければならないビデオ出力DMAC「Vout_0〜3」がセットされている。   In the basic setting register, a value indicating a device with the highest priority is set in the highest hierarchy, and a value indicating a device with a lower priority is set as the hierarchy goes down. In the case of the example shown in FIG. 3, the video input controller 150 “VIcnt” that needs to guarantee the worst value of the transfer rate in order to prevent abnormal images is set in the first layer, Next to the input controller 150 “VIcnt”, the video output DMAC “Vout_0 to 3” which must guarantee the transfer rate is set.

なお、上述した第4階層のレジスタは、同時に、代替先決定用レジスタの第1階層としても機能するものであり、代替先決定用レジスタの第2階層のレジスタには、先頭から順番に要求元デバイス「G00」、「G01」、「G10」、「G11」、「G20」、「G21」、「G30」、「G31」、「G40」、「G41」がセットされ、余った3個のフィールドにNOPがセットされている。   Note that the above-described fourth layer register also functions as the first layer of the replacement destination determination register at the same time, and the second layer register of the replacement destination determination register has a request source in order from the top. Devices “G00”, “G01”, “G10”, “G11”, “G20”, “G21”, “G30”, “G31”, “G40”, “G41” are set, and the remaining three fields NOP is set in

バス権調停用レジスタを構成する各レジスタのポインタは、初期状態においては、図3に示すように、先頭位置(左端)にセットされる。バスアービタ160は、レジスタのポインタが示す値を判断し、その値が示すデバイスに対してバス権を付与する。レジスタのポインタは、当該レジスタがバスアービタ160に参照されるたびに循環的にシフトする。すなわち、レジスタのポインタは、当該レジスタがバスアービタ160に参照されるたびに1つ右側にシフトし、ポインタがレジスタの右端に至った場合または次のシフト先がNOPである場合は、ポインタの位置がレジスタの先頭位置(左端)にシフトするように構成されている。以下、図3に示すバス権調停用レジスタを使用してバスアービタ160が実行するバス権調停処理について、具体的に説明する。   In the initial state, the pointers of the registers constituting the bus arbitration register are set at the head position (left end) as shown in FIG. The bus arbiter 160 determines the value indicated by the register pointer, and grants the bus right to the device indicated by the value. The register pointer is cyclically shifted each time the register is referenced by the bus arbiter 160. That is, the register pointer shifts to the right every time the register is referred to by the bus arbiter 160. When the pointer reaches the right end of the register or when the next shift destination is NOP, the position of the pointer is changed. It is configured to shift to the top position (left end) of the register. Hereinafter, the bus arbitration process executed by the bus arbiter 160 using the bus arbitration register shown in FIG. 3 will be described in detail.

バスアービタ160は、バス権の付与先を決定するにあたり、一番最初に、最上位階層(すなわち、第1階層)を参照し、そのポインタが示す値を判断する。図3に示す初期状態においては、第1階層のポインタは、「VIcnt」を指している。この場合、バスアービタ160は、「VIcnt」からバス権の要求が発行されているか否かを判断し、「VIcnt」からバス権の要求が発行されている場合は、予め設定された所定の割り当て期間(t)にわたって「VIcnt」にバス権を付与する。   The bus arbiter 160 refers to the highest hierarchy (that is, the first hierarchy) first and determines the value indicated by the pointer when determining where to grant the bus right. In the initial state shown in FIG. 3, the pointer of the first layer points to “VIcnt”. In this case, the bus arbiter 160 determines whether or not a bus right request is issued from “VIcnt”. If a bus right request is issued from “VIcnt”, a predetermined allocation period set in advance is determined. The bus right is granted to “VIcnt” for (t).

その後、所定の割り当て期間(t)の終了に同期して、図4(a)に示すように、第1階層のポインタが「2nd」にシフトする。バスアービタ160は、再び、第1階層のポインタが示す値を判断する。図4(a)に示す状態においては、第1階層のポインタは、「2nd」を指しているので、バスアービタ160は、階層を下って第2階層を参照し、そのポインタが示す値を判断する。このとき、第2階層のポインタは、「Vout_0」を指している。この場合、バスアービタ160は、「Vout_0」からバス権の要求が発行されているか否かを判断し、「Vout_0」からバス権の要求が発行されている場合は、所定の割り当て期間(t)にわたって「Vout_0」にバス権を付与する。   Thereafter, in synchronization with the end of the predetermined allocation period (t), the pointer of the first layer is shifted to “2nd” as shown in FIG. The bus arbiter 160 again determines the value indicated by the first layer pointer. In the state shown in FIG. 4A, since the pointer of the first hierarchy points to “2nd”, the bus arbiter 160 refers to the second hierarchy down the hierarchy and determines the value indicated by the pointer. . At this time, the pointer in the second hierarchy points to “Vout_0”. In this case, the bus arbiter 160 determines whether or not a bus right request has been issued from “Vout_0”. If a bus right request has been issued from “Vout_0”, the bus arbiter 160 has a predetermined allocation period (t). Grant the bus right to “Vout_0”.

その後、割り当て期間(t)の終了に同期して、図4(b)に示すように、第1階層のポインタが「VIcnt」にシフトすると同時に、第2階層のポインタが右側に1つシフトする(すなわち、「Vout_0」から「Vout_1」にシフトする)。バスアービタ160は、再び、第1階層のポインタが示す値を判断する。図4(b)に示す状態においては、第1階層のポインタは、「VIcnt」を指しているので、バスアービタ160は、「VIcnt」からバス権の要求が発行されているか否かを判断し、「VIcnt」からバス権の要求が発行されている場合は、所定の割り当て期間(t)にわたって「VIcnt」にバス権を付与する。   Thereafter, in synchronization with the end of the allocation period (t), as shown in FIG. 4B, the pointer of the first layer shifts to “VIcnt” and at the same time, the pointer of the second layer shifts by one to the right. (That is, shift from “Vout — 0” to “Vout — 1”). The bus arbiter 160 again determines the value indicated by the first layer pointer. In the state shown in FIG. 4B, since the pointer in the first layer points to “VIcnt”, the bus arbiter 160 determines whether a bus right request is issued from “VIcnt”. When a bus right request is issued from “VIcnt”, the bus right is granted to “VIcnt” for a predetermined allocation period (t).

その後、割り当て期間(t)の終了に同期して、図4(c)に示すように、第1階層のポインタが「2nd」にシフトする。バスアービタ160は、再び、第1階層を参照し、そのポインタが示す値を判断する。図4(c)に示す状態においては、第1階層のポインタは、「2nd」を指しているので、バスアービタ160は、階層を下って第2階層を参照し、そのポインタが示す値を判断する。このとき、第2階層のポインタは、「Vout_1」を指している。この場合、バスアービタ160は、「Vout_1」からバス権の要求が発行されているか否かを判断し、「Vout_1」からバス権の要求が発行されている場合は、所定の割り当て期間(t)にわたって「Vout_1」にバス権を付与する。   Thereafter, in synchronization with the end of the allocation period (t), as shown in FIG. 4C, the first layer pointer is shifted to “2nd”. The bus arbiter 160 again refers to the first hierarchy and determines the value indicated by the pointer. In the state shown in FIG. 4C, since the pointer of the first hierarchy points to “2nd”, the bus arbiter 160 refers to the second hierarchy down the hierarchy and determines the value indicated by the pointer. . At this time, the pointer in the second hierarchy points to “Vout — 1”. In this case, the bus arbiter 160 determines whether or not a bus right request is issued from “Vout_1”. If a bus right request is issued from “Vout_1”, the bus arbiter 160 extends over a predetermined allocation period (t). Grant the bus right to “Vout_1”.

その後、第1および第2階層の各ポインタは、図4(d)、図4(e)、図5(f)、図5(g)に示すような態様でにシフトする。バスアービタ160は、その都度、「VIcnt」、「Vout_2」、「VIcnt」、「Vout_3」の各々からバス権の要求が発行されているか否かを判断し、各デバイスからバス権の要求が発行されている場合は、「VIcnt」→「Vout_2」→「VIcnt」→「Vout_3」の順番でバス権を付与する。   Thereafter, the pointers in the first and second hierarchies are shifted in a manner as shown in FIGS. 4D, 4E, 5F, and 5G. Each time, the bus arbiter 160 determines whether a bus right request is issued from each of “VIcnt”, “Vout_2”, “VIcnt”, “Vout_3”, and the bus right request is issued from each device. If it is, the bus right is granted in the order of “VIcnt” → “Vout_2” → “VIcnt” → “Vout_3”.

ここで、割り当て期間(t)は転送レートを決定するパラメータであり、1回の調停で128Byteの転送を実施するものとし、第1階層1コマ分の設定で200MB/sの転送レートを保証するためには、割り当て期間(t)≧128/(200*1024*1024)=610nsに設定すればよい。   Here, the allocation period (t) is a parameter for determining the transfer rate. It is assumed that a transfer of 128 bytes is performed in one arbitration, and a transfer rate of 200 MB / s is guaranteed with the setting for one frame in the first hierarchy. For this purpose, the allocation period (t) ≧ 128 / (200 * 1024 * 1024) = 610 ns may be set.

続いて、図5(h)に示すように、第1階層のポインタが「VIcnt」にシフトすると同時に、第2階層のポインタが右側に1つシフトする(すなわち、「Vout_3」から「3rd」にシフトする)。そして、バスアービタ160は、再び、第1階層を参照し、そのポインタが示す値を判断する。図5(h)に示す状態においては、第1階層のポインタは、「VIcnt」を指しているので、「VIcnt」からバス権の要求が発行されているか否かを判断し、「Vout_1」からバス権の要求が発行されている場合は、所定の割り当て期間(t)にわたって「Vout_1」にバス権を付与する。   Subsequently, as shown in FIG. 5 (h), the pointer of the first layer is shifted to “VIcnt”, and at the same time, the pointer of the second layer is shifted by one to the right (that is, from “Vout_3” to “3rd”). shift). Then, the bus arbiter 160 refers to the first hierarchy again and determines the value indicated by the pointer. In the state shown in FIG. 5H, the first layer pointer points to “VIcnt”. Therefore, it is determined whether or not a bus right request is issued from “VIcnt”. When a bus right request is issued, the bus right is granted to “Vout — 1” over a predetermined allocation period (t).

続いて、図5(i)に示すように、第1階層のポインタが「2nd」にシフトする。バスアービタ160は、再び、第1階層を参照し、そのポインタが示す値を判断する。図5(i)に示す状態においては、第1階層のポインタは、「2nd」を指しているので、バスアービタ160は、階層を下って第2階層を参照し、そのポインタが示す値を判断する。このとき、第2階層のポインタは、「3rd」を指している。バスアービタ160は、さらに階層を下り、第3階層を参照し、そのポインタが示す値を判断する。このとき、第3階層のポインタは、「Stp_0」を指しているので、「Stp_0」からバス権の要求が発行されているか否かを判断し、「Stp_0」からバス権の要求が発行されている場合は、所定の割り当て期間(t)にわたって「Stp_0」にバス権を付与する。   Subsequently, as shown in FIG. 5I, the pointer in the first layer is shifted to “2nd”. The bus arbiter 160 again refers to the first hierarchy and determines the value indicated by the pointer. In the state shown in FIG. 5I, the pointer of the first hierarchy points to “2nd”, so the bus arbiter 160 refers to the second hierarchy down the hierarchy and determines the value indicated by the pointer. . At this time, the pointer in the second hierarchy points to “3rd”. The bus arbiter 160 further descends the hierarchy, refers to the third hierarchy, and determines the value indicated by the pointer. At this time, since the third layer pointer points to “Stp_0”, it is determined whether the bus right request is issued from “Stp_0”, and the bus right request is issued from “Stp_0”. If so, a bus right is granted to “Stp_0” over a predetermined allocation period (t).

以降、同様に第1〜第3階層のレジスタが逐次シフトを繰り返し、図6(j)に示す状態を経て、図6(k)に示す状態に至る。このとき、バスアービタ160は、再び、第1階層を参照し、そのポインタが示す値を判断する。図6(k)に示す状態においては、第1階層のポインタは、「2nd」を指しているので、バスアービタ160は、階層を下って第2階層を参照し、そのポインタが示す値を判断する。このとき、第2階層のポインタは、「3rd」を指しているので、バスアービタ160は、さらに階層を下り、第3階層を参照し、そのポインタが示す値を判断する。このとき、第3階層のポインタは、「4th」を指しているので、バスアービタ160は、さらに階層を下り、第4階層を参照し、そのポインタが示す値を判断する。このとき、第4階層のポインタは、「Vout_0」を指しているので、バスアービタ160は、「Vout_0」からバス権の要求が発行されているか否かを判断し、「Vout_0」からバス権の要求が発行されている場合は、所定の割り当て期間(t)にわたって「Vout_0」にバス権を付与する。以降、同様の調停処理が繰り返される。   Thereafter, similarly, the registers in the first to third layers repeat the sequential shift, and after going through the state shown in FIG. 6 (j), the state shown in FIG. 6 (k) is reached. At this time, the bus arbiter 160 refers to the first hierarchy again and determines the value indicated by the pointer. In the state shown in FIG. 6 (k), since the pointer of the first hierarchy points to “2nd”, the bus arbiter 160 refers to the second hierarchy down the hierarchy and determines the value indicated by the pointer. . At this time, since the pointer of the second hierarchy points to “3rd”, the bus arbiter 160 further descends the hierarchy, refers to the third hierarchy, and determines the value indicated by the pointer. At this time, since the pointer of the third hierarchy points to “4th”, the bus arbiter 160 further goes down the hierarchy, refers to the fourth hierarchy, and determines the value indicated by the pointer. At this time, since the pointer in the fourth layer points to “Vout_0”, the bus arbiter 160 determines whether or not a bus right request is issued from “Vout_0”, and the bus right request from “Vout_0”. Is issued, a bus right is granted to “Vout — 0” over a predetermined allocation period (t). Thereafter, the same arbitration process is repeated.

図7に、バスアービタ160による調停結果を例示する。図7においては、バスアービタ160がバス権を付与したデバイスを時系列的に並べて示している。図3から図6を参照して説明したように、初期状態から17回の調停を経て、「VIcnt」→「Vout_0」→「VIcnt」→「Vout_1」→「VIcnt」→「Vout_2」→「VIcnt」→「Vout_3」→「VIcnt」→「Stp_0」→「VIcnt」→「Stp_1」→「VIcnt」→「Stp_2」→「VIcnt」→「Stp_3」→「VIcnt」→「Vout_0」(図6(k)に示す状態)の順にバス権を付与する。その後も同様の手順でバス権調停が実行され、その結果、図7に示す順番で各デバイスにバス権が付与されることになる。   FIG. 7 illustrates an arbitration result by the bus arbiter 160. In FIG. 7, the devices to which the bus arbiter 160 has given the bus right are shown in time series. As described with reference to FIG. 3 to FIG. 6, after 17 arbitrations from the initial state, “VIcnt” → “Vout_0” → “VIcnt” → “Vout_1” → “VIcnt” → “Vout_2” → “VIcnt → Vout_3 → VIcnt → Stp_0 → VIcnt → Stp_1 → VIcnt → Stp_2 → VIcnt → Stp_3 → VIcnt → Vout_0 (Fig. 6 (k The bus right is granted in the order of the status shown in ()). Thereafter, the bus right arbitration is executed in the same procedure, and as a result, the bus right is given to each device in the order shown in FIG.

なお、これまで、各階層のポインタが示すデバイスからバス権の要求が発行されている場合について説明してきたが、実際には、必ずしも、ポインタが示すデバイスからバス権の要求が発行されているとは限らない。この点につき、本実施形態におけるバスアービタ160は、ポインタが示すデバイスからバス権の要求が発行されていないと判断した場合、代替先決定用レジスタを参照し、そのポインタが示す値を判断する。   So far, the case where the request for the bus right is issued from the device indicated by the pointer of each layer has been described, but in reality, the request for the bus right is not necessarily issued from the device indicated by the pointer. Is not limited. In this regard, when the bus arbiter 160 in this embodiment determines that the bus right request is not issued from the device indicated by the pointer, the bus arbiter 160 refers to the substitution destination determination register and determines the value indicated by the pointer.

例えば、図3に示す初期状態においては、第1階層のポインタは、「VIcnt」を指しているので、バスアービタ160は、「VIcnt」からバス権の要求が発行されているか否かを判断する。その結果、「VIcnt」からバス権の要求が発行されていないと判断した場合、バスアービタ160は、代替先決定用レジスタの第1階層を参照し、そのポインタが示す値を判断する。この場合、代替先決定用レジスタの第1階層のポインタは、「Vout_0」を指しているので、バスアービタ160は、「Vout_0」からバス権の要求が発行されているか否かを判断し、「Vout_0」からバス権の要求が発行されている場合は、所定の割り当て期間(t)にわたって「Vout_0」にバス権を付与する。「Vout_0」にバス権を付与した場合、代替先決定用レジスタの第1階層のポインタは「Vout_0」から「Vout_1」へシフトする。   For example, in the initial state shown in FIG. 3, the first layer pointer points to “VIcnt”, so the bus arbiter 160 determines whether a bus right request is issued from “VIcnt”. As a result, when it is determined that the bus right request is not issued from “VIcnt”, the bus arbiter 160 refers to the first layer of the substitution destination determination register and determines the value indicated by the pointer. In this case, since the first layer pointer of the substitution destination determination register points to “Vout_0”, the bus arbiter 160 determines whether or not a bus right request is issued from “Vout_0”, and “Vout_0” When the request for the bus right is issued from “,” the bus right is granted to “Vout — 0” over a predetermined allocation period (t). When the bus right is given to “Vout_0”, the pointer of the first layer of the substitution destination determination register is shifted from “Vout_0” to “Vout_1”.

一方、「Vout_0」からバス権の要求が発行されていないと判断した場合、バスアービタ160は、代替先決定用レジスタの第2階層を参照し、そのポインタが示す値を判断する。この場合、代替先決定用レジスタの第2階層のポインタは、「G00」を指しているので、バスアービタ160は、「G00」からバス権の要求が発行されているか否かを判断し、「G00」からバス権の要求が発行されている場合は、所定の割り当て期間(t)にわたって「G00」にバス権を付与する。「G00」にバス権を付与した場合、代替先決定用レジスタの第2階層のポインタは「G00」から「G01」へシフトする。   On the other hand, if it is determined that a bus right request has not been issued from “Vout — 0”, the bus arbiter 160 refers to the second hierarchy of the substitution destination determination register and determines the value indicated by the pointer. In this case, since the pointer in the second layer of the substitution destination determination register points to “G00”, the bus arbiter 160 determines whether or not a request for the bus right is issued from “G00”. When the request for the bus right is issued from “”, the bus right is granted to “G00” for a predetermined allocation period (t). When the bus right is given to “G00”, the pointer of the second layer of the substitution destination determination register is shifted from “G00” to “G01”.

以上、本実施形態におけるバスアービタ160が実行するバス権調停について、リード・アクセスとライト・アクセスを1つのバス権調停用レジスタを使用して調停する形態を例にとって説明してきたが、他の実施形態では、リード・アクセス用のレジスタとライト・アクセス用のレジスタを別個に用意し、各レジスタを使用した2つの調停結果のOR結果に基づいて、メモリ・アクセスを調停するように構成してもよい。   As described above, the bus arbitration executed by the bus arbiter 160 in the present embodiment has been described by taking as an example a mode in which read access and write access are arbitrated using one bus arbitration register. Then, a register for read access and a register for write access may be prepared separately, and the memory access may be arbitrated based on the OR result of two arbitration results using each register. .

最後に、調停レート設定用レジスタについて説明する。図2において説明したように、コントローラASIC100に搭載された全体コントローラ170は、制御レジスタ172を備えており、制御レジスタ172は、調停レート設定レジスタを含んで構成されている。調停レート設定レジスタの値は、CPU500から設定され、全体コントローラ170は、調停レート設定レジスタに設定された値に基づいて、バスアービタ160が使用するバス権調停用レジスタを設定する。   Finally, the arbitration rate setting register will be described. As described in FIG. 2, the overall controller 170 mounted on the controller ASIC 100 includes the control register 172, and the control register 172 includes an arbitration rate setting register. The value of the arbitration rate setting register is set by the CPU 500, and the overall controller 170 sets a bus arbitration register used by the bus arbiter 160 based on the value set in the arbitration rate setting register.

図8(a)は、調停レート設定用レジスタを概念的に示す図である。図8(a)に示す調停レート設定用レジスタは、各デバイスについて、当該デバイスを示す値が格納される基本設定用レジスタの「階層」と、当該階層(レジスタ)における当該デバイスを示す値の「格納回数」とを設定するための第1のレジスタと、各階層につき、当該階層のレジスタに当該階層より一つ下位の階層を示す値の「格納回数」を設定するための第2のレジスタを含んで構成される。   FIG. 8A is a diagram conceptually illustrating an arbitration rate setting register. The arbitration rate setting register shown in FIG. 8A includes, for each device, a “hierarchy” of a basic setting register in which a value indicating the device is stored, and a “value” indicating the device in the hierarchy (register). A first register for setting the “number of times of storage” and a second register for setting the “number of times of storage” of a value indicating a hierarchy one level lower than the hierarchy for each level Consists of including.

図8(a)に例示する第1のレジスタには、「VIcnt」を第1階層に1回格納し、「Vout_0」、「Vout_1」、「Vout_2」、「Vout_3」の各々を第2階層に2回格納し、「Stp_0」、「Stp_1」、「Stp_2」、「Stp_3」の各々を第3階層に1回格納する旨が設定されている。一方、その他のデバイス(G00〜G41)については、階層が「0」に設定されているが、これは、デバイス(G00〜G41)を示す値を第1〜第3階層に格納しないことを意味している。   In the first register illustrated in FIG. 8A, “VIcnt” is stored once in the first layer, and each of “Vout_0”, “Vout_1”, “Vout_2”, and “Vout_3” is stored in the second layer. It is set to store twice, and each of “Stp_0”, “Stp_1”, “Stp_2”, and “Stp_3” is stored once in the third hierarchy. On the other hand, for the other devices (G00 to G41), the hierarchy is set to “0”, which means that the value indicating the device (G00 to G41) is not stored in the first to third hierarchies. doing.

また、図8(a)に例示する第2のレジスタには、第1階層に対して下位の階層を示す値を1回格納し、第2階層に対して下位の階層を示す値を4回格納し、第3階層に対して下位の階層を示す値を2回格納する旨が設定されている。   Further, the second register illustrated in FIG. 8A stores a value indicating a lower hierarchy with respect to the first hierarchy once, and stores a value indicating the lower hierarchy with respect to the second hierarchy four times. Stored and set to store a value indicating a lower hierarchy twice with respect to the third hierarchy.

全体コントローラ170は、図8(a)に示す調停レート設定レジスタ(第1および第2のレジスタ)の値に基づいてバスアービタ160が使用するバス権調停用レジスタを設定する。調停レート設定レジスタの値が図8(a)に示すように設定されていた場合、全体コントローラ170は、図8(b)に示す階層構造を持ったバス権調停用レジスタを生成する。   The overall controller 170 sets a bus arbitration register used by the bus arbiter 160 based on the value of the arbitration rate setting register (first and second registers) shown in FIG. When the value of the arbitration rate setting register is set as shown in FIG. 8A, the overall controller 170 generates a bus arbitration register having the hierarchical structure shown in FIG. 8B.

以上、説明したように、本実施形態によれば、調停結果のマイナス方向へのばらつきが自動的に排除されるので、転送レートの最悪値を保証しなければならない要求元の保証レートを最大化することができる。また、本実施形態によれば、休止中等の理由でバス権調停に参加する必要が無いDMACがあった場合、当該DMACへの割り当て期間が自動的に他のDMACに割り当てられるので、調停結果のプラス方向へのばらつき(予定の転送レートよりも高い転送レートの確保)を発生させることができる。さらに、本実施形態によれば、専用レジスタを使用して調停レートを簡単に設定することができる。   As described above, according to the present embodiment, since the dispersion in the negative direction of the arbitration result is automatically eliminated, the guaranteed rate of the request source that must guarantee the worst value of the transfer rate is maximized. can do. In addition, according to the present embodiment, when there is a DMAC that does not need to participate in the bus arbitration due to reasons such as suspension, the allocation period to the DMAC is automatically allocated to another DMAC. Variation in the positive direction (ensuring a transfer rate higher than the scheduled transfer rate) can be generated. Furthermore, according to the present embodiment, it is possible to easily set the arbitration rate using a dedicated register.

以上、本発明について実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、当業者が推考しうる実施態様の範囲内において、本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。   As described above, the present invention has been described with the embodiment. However, the present invention is not limited to the above-described embodiment, and as long as the operations and effects of the present invention are exhibited within the scope of embodiments that can be considered by those skilled in the art. It is included in the scope of the present invention.

100…コントローラASIC
102…ルートコントローラ
104…エンドポイントコントローラ
110…ビデオ出力制御ユニット
120…イメージ処理ユニット
130…圧縮ユニット
140…ラインバッファ
150…ビデオ入力コントローラ
160…バスアービタ
170…全体コントローラ
172…制御レジスタ
200…スキャナユニット
300…プロッタユニット
400…エンジン制御用ASIC
500…CPU
600…メモリ
700,800…高速シリアルバス
1000…画像処理装置
100 ... Controller ASIC
DESCRIPTION OF SYMBOLS 102 ... Route controller 104 ... Endpoint controller 110 ... Video output control unit 120 ... Image processing unit 130 ... Compression unit 140 ... Line buffer 150 ... Video input controller 160 ... Bus arbiter 170 ... Overall controller 172 ... Control register 200 ... Scanner unit 300 ... Plotter unit 400 ... ASIC for engine control
500 ... CPU
600 ... Memory 700, 800 ... High-speed serial bus 1000 ... Image processing device

特開2007−249816号公報JP 2007-249816 A

Claims (7)

階層化された複数のレジスタを含むバス権調停用レジスタと、
前記レジスタを参照してバス権を調停するバスアービタと
を含み、
前記レジスタの各フィールドには、デバイスを示す値および該レジスタの階層より一つ下位の階層を示す値の少なくとも一方が格納され、
前記レジスタのポインタは、該レジスタが参照されるたびに循環的にシフトし、
前記バスアービタは、
最初に最上位階層の前記レジスタを参照し、
参照先の前記レジスタのポインタが示すフィールドの値が前記階層を示す値であった場合に、該値が示す階層のレジスタを参照し、
参照先の前記レジスタのポインタが示すフィールドの値が前記デバイスを示す値であり、且つ、該デバイスからバス権の要求があった場合に、該デバイスに対してバス権を付与する、
画像処理装置。
A bus arbitration register including a plurality of hierarchized registers;
A bus arbiter that refers to the register and arbitrates the bus right,
Each field of the register stores at least one of a value indicating a device and a value indicating a hierarchy one level lower than the hierarchy of the register,
The register pointer is cyclically shifted each time the register is referenced,
The bus arbiter is
First refer to the register at the highest level,
When the value of the field indicated by the pointer of the register of the reference destination is a value indicating the hierarchy, the register of the hierarchy indicated by the value is referred to.
When the value of the field indicated by the pointer of the register to be referred to is a value indicating the device, and when the bus right is requested from the device, the bus right is granted to the device.
Image processing device.
前記バス権は、スピリット・トランザクション型バスのバス権である、請求項1に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the bus right is a spirit right of a spirit transaction type bus. 前記スピリット・トランザクション型バスは、PCI Express規格のシリアルバスである、請求項2に記載の画像処理装置。   The image processing apparatus according to claim 2, wherein the spirit transaction type bus is a PCI Express standard serial bus. 前記バス権調停用レジスタは、代替先決定用レジスタを含み、
前記バスアービタは、
参照先の前記レジスタのポインタが示すフィールドの値が前記デバイスを示す値であり、且つ、該デバイスからバス権の要求がない場合に、前記代替先決定用レジスタのポインタが示すデバイスに対してバス権を付与する、請求項1〜3のいずれか一項に記載の画像処理装置。
The bus arbitration register includes an alternative destination determination register,
The bus arbiter is
When the value of the field indicated by the pointer of the register at the reference destination is a value indicating the device and there is no bus right request from the device, a bus is sent to the device indicated by the pointer of the substitution destination determination register. The image processing apparatus according to claim 1, wherein the right is granted.
前記バス権調停用レジスタは、リード・アクセス用のレジスタとライト・アクセス用のレジスタを別個に備える、請求項1〜4のいずれか一項に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the bus arbitration register includes a read access register and a write access register separately. 各前記デバイスにつき、該デバイスを示す値が格納される前記レジスタの階層および該レジスタにおける格納回数を設定するための第1のレジスタを備える調停レート設定用レジスタをさらに含み、
前記バス権調停用レジスタは、前記第1のレジスタに設定された内容に基づいて生成される、請求項1〜5のいずれか一項に記載の画像処理装置。
For each of the devices, an arbitration rate setting register comprising a first register for setting a hierarchy of the registers in which a value indicating the device is stored and the number of times of storage in the register is set;
The image processing apparatus according to claim 1, wherein the bus arbitration register is generated based on contents set in the first register.
前記調停レート設定用レジスタは、さらに、各前記階層につき、該階層のレジスタに該階層より一つ下位の階層を示す値が格納される回数を設定するための第2のレジスタを備え、
前記バス権調停用レジスタは、前記第1のレジスタおよび前記第2のレジスタに設定された内容に基づいて生成される、請求項6に記載の画像処理装置。
The arbitration rate setting register further includes a second register for setting, for each of the hierarchies, the number of times a value indicating a hierarchy one level lower than the hierarchy is stored in the hierarchy register.
The image processing apparatus according to claim 6, wherein the bus arbitration register is generated based on contents set in the first register and the second register.
JP2012112022A 2012-05-16 2012-05-16 Image process device Pending JP2013239048A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012112022A JP2013239048A (en) 2012-05-16 2012-05-16 Image process device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012112022A JP2013239048A (en) 2012-05-16 2012-05-16 Image process device

Publications (1)

Publication Number Publication Date
JP2013239048A true JP2013239048A (en) 2013-11-28

Family

ID=49764013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012112022A Pending JP2013239048A (en) 2012-05-16 2012-05-16 Image process device

Country Status (1)

Country Link
JP (1) JP2013239048A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535626A (en) * 2021-07-28 2021-10-22 北京深思数盾科技股份有限公司 Serial port communication system, serial port communication method and intelligent door lock

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535626A (en) * 2021-07-28 2021-10-22 北京深思数盾科技股份有限公司 Serial port communication system, serial port communication method and intelligent door lock

Similar Documents

Publication Publication Date Title
JP4706720B2 (en) DMA control system, printing apparatus, and transfer instruction program
JP5754273B2 (en) MEMORY CONTROL DEVICE, INFORMATION PROCESSING DEVICE, AND MEMORY CONTROL METHOD
KR102372289B1 (en) Memory access system, method for controlling the same, computer-readable storage medium, and image forming apparatus
JP2019016063A (en) Data transfer apparatus and data transfer method
JP5718305B2 (en) Image forming apparatus
JP2013239048A (en) Image process device
JP5418193B2 (en) Arbitration device, image processing device, and image forming system
EP0704807B1 (en) Programmable arbitrating apparatus
JP5737871B2 (en) Information processing apparatus, image output apparatus, information processing method, and program
JP4175974B2 (en) Image data transfer control device
JP2007087347A (en) Data transfer unit
JP5567790B2 (en) Image processing apparatus, control method therefor, and program
JP5736753B2 (en) Data transfer method and image forming apparatus
JP5924104B2 (en) Image processing apparatus and image forming apparatus
JP2019081321A (en) Information processing device and image processing system
JP2017228324A (en) Image processing apparatus, control method thereof, and program
JP6015804B2 (en) Data transfer method and image forming apparatus
JP2004345260A (en) Image output apparatus
JP2002251370A (en) Method and device for mediating request, memory device and photographic processing system
JP4862593B2 (en) Data transfer apparatus and image forming apparatus
JP6225202B2 (en) Image processing apparatus, control method therefor, and program
JP2016091307A (en) Information processing device, control method of the same, and program
JP2023135315A (en) Controller, image forming apparatus, and access arbitration method
JP2006053613A (en) Data transfer controller and data transfer control method
JP5885780B2 (en) Image processing apparatus, control method therefor, and program