Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6089840B2 - Synchronization control device, synchronization control method, and synchronization control program - Google Patents
[go: Go Back, main page]

JP6089840B2 - Synchronization control device, synchronization control method, and synchronization control program - Google Patents

Synchronization control device, synchronization control method, and synchronization control program Download PDF

Info

Publication number
JP6089840B2
JP6089840B2 JP2013057812A JP2013057812A JP6089840B2 JP 6089840 B2 JP6089840 B2 JP 6089840B2 JP 2013057812 A JP2013057812 A JP 2013057812A JP 2013057812 A JP2013057812 A JP 2013057812A JP 6089840 B2 JP6089840 B2 JP 6089840B2
Authority
JP
Japan
Prior art keywords
synchronization
packet
bus
multicast
graphic
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.)
Expired - Fee Related
Application number
JP2013057812A
Other languages
Japanese (ja)
Other versions
JP2014182329A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013057812A priority Critical patent/JP6089840B2/en
Publication of JP2014182329A publication Critical patent/JP2014182329A/en
Application granted granted Critical
Publication of JP6089840B2 publication Critical patent/JP6089840B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本発明は,複数のグラフィックカード間の同期を制御する同期制御装置,同期制御方法および同期制御プログラムに関するものである。   The present invention relates to a synchronization control device, a synchronization control method, and a synchronization control program for controlling synchronization between a plurality of graphic cards.

複数の表示装置を並べて配置して大きな画面を作り,それぞれの表示装置で分割された各部分の映像を表示することで,複数の表示装置を並べた大きな画面で1つの映像を表示することが行われている。このことは,例えば,映像表示の処理を行うコンピュータに複数のグラフィックカードを装着し,複数の表示装置を接続することで,実現される。   By arranging a plurality of display devices side by side to create a large screen and displaying the video of each part divided by each display device, it is possible to display one video on a large screen in which a plurality of display devices are arranged. Has been done. This is realized, for example, by attaching a plurality of graphic cards to a computer that performs video display processing and connecting a plurality of display devices.

なお,複数の表示パネルに接続されるビデオデータ用のシリアルインタフェースに同期信号を埋め込む技術が知られている。また,周囲4方向にインタフェースが設けられたインタフェースで隣接するディスプレイ間を接続し,各ディスプレイ間におけるデータ転送を可能とするマルチディスプレイ装置の技術が知られている。また,マルチ画面のつなぎ目についてオーバーラップ処理を行う技術が知られている。   A technique for embedding a synchronization signal in a serial interface for video data connected to a plurality of display panels is known. In addition, a technique of a multi-display device is known in which adjacent displays are connected by an interface provided with interfaces in four surrounding directions, and data can be transferred between the displays. In addition, a technique for performing overlap processing on joints of multi-screens is known.

特開2004−145353号公報JP 2004-145353 A 特開2003−280624号公報JP 2003-280624 A 特開平10−83170号公報JP-A-10-83170

上記のように複数の表示装置を並べて1つの画面として動作させる場合,各表示装置間の画像表示を同期させる必要がある。   When a plurality of display devices are arranged and operated as one screen as described above, it is necessary to synchronize the image display between the display devices.

例えば,近年,テレビ番組,映画,ゲーム等で3D表示するコンテンツが増えてきており,それにともなって,3D表示機能を備えた家庭用テレビやPC(Personal computer )の普及が進んでいる。3D表示を実現する技術にはいくつかの技術があるが,基本的には右目用と左目用の画像が1つの画面に表示され,利用者には,装着された眼鏡を通して,右目には右目用の画像のみが,左目には左目用の画像のみが見えるようにされている。右目用の画像と左目用の画像とには視差が与えられており,それぞれの画像をそれぞれの目でみることで,立体視できるようになっている。   For example, in recent years, contents to be displayed in 3D in TV programs, movies, games, and the like have increased, and along with this, household televisions and PCs (Personal computers) having a 3D display function have been spreading. There are several technologies for realizing 3D display. Basically, images for the right eye and left eye are displayed on one screen, and the user can wear the right eye to the right eye through his / her glasses. Only the image for the left eye is visible, and only the image for the left eye is visible to the left eye. The right-eye image and the left-eye image are given parallax, and each image can be viewed stereoscopically by looking at each image.

このような3D表示を実現する技術の中に,利用者が装着する眼鏡にシャッター機能を備えさせたものがある。この技術では,テレビに右目用の画像が表示されている場合には,眼鏡の右目のシャッターが開いて左目のシャッターが閉じ,テレビに左目用の画像が表示されているときは,眼鏡の左目のシャッターが開いて右目のシャッターが閉じる仕組みとなっている。例えば,1/60秒ごとに右目用の画像と左目用の画像とが切り替えられて表示され,それに応じて該当する側のシャッターが開かれることで,画像の立体視が実現される。画像の切り替えと眼鏡のシャッターの開閉タイミングとの間にずれがあると,利用者は立体視することができない。   Among technologies for realizing such 3D display, there is a technique in which a shutter function is provided on glasses worn by a user. In this technique, when the right-eye image is displayed on the television, the right-eye shutter of the glasses is opened and the left-eye shutter is closed, and when the left-eye image is displayed on the television, the left-eye of the glasses is displayed. The shutter is opened and the right-eye shutter is closed. For example, the image for the right eye and the image for the left eye are switched and displayed every 1/60 seconds, and the corresponding side shutter is opened accordingly, thereby realizing stereoscopic viewing of the image. If there is a difference between the switching of the image and the opening / closing timing of the shutter of the glasses, the user cannot view stereoscopically.

上記の複数の表示装置を並べた画面で3D表示を行う場合,並べられた表示装置間での画像表示にずれがあると,ある表示装置の表示画像については立体視できるが,別の表示装置の表示画像については立体視できないという問題が発生する可能性がある。そのため,複数の表示装置による画像表示を,より高い精度で同期させる技術が望まれている。   When 3D display is performed on a screen in which a plurality of display devices are arranged, if there is a deviation in image display between the arranged display devices, a display image of a certain display device can be stereoscopically viewed, but another display device There is a possibility that the display image may not be stereoscopically viewed. Therefore, a technique for synchronizing the image display by a plurality of display devices with higher accuracy is desired.

一側面では,本発明は,複数のグラフィックカード間の画像表示の同期を制御する技術を提供することを目的とする。   In one aspect, an object of the present invention is to provide a technique for controlling synchronization of image display between a plurality of graphic cards.

1態様では,同期制御装置は,ホストコンピュータのバスに各々がブリッジ回路を介して装着された複数のグラフィックカードの中の自グラフィックカードによる画像出力の同期タイミングを監視する同期タイミング監視部と,同期タイミングが検出された場合に,マルチキャストが設定された特定のメモリ空間を対象とするバストランザクションのパケットを生成する同期パケット生成部と,該パケットをホストコンピュータのバスに発行する同期パケット発行部とを備える。 In one aspect, the synchronization control device includes a synchronization timing monitoring unit that monitors a synchronization timing of image output by the own graphic card among a plurality of graphic cards each mounted on a host computer bus via a bridge circuit ; A synchronization packet generator for generating a packet of a bus transaction for a specific memory space in which multicast is set, and a synchronization packet issuing unit for issuing the packet to the host computer bus when timing is detected; Is provided.

本発明の態様では,複数のグラフィックカード間の画像表示の同期が可能となる。   According to the aspect of the present invention, it is possible to synchronize image display between a plurality of graphic cards.

本実施の形態による表示システムの構成例を示す図である。It is a figure which shows the structural example of the display system by this Embodiment. 本実施の形態によるPCHの仕組みを説明する図である。It is a figure explaining the mechanism of PCH by this Embodiment. 本実施の形態によるグラフィックカードの機能構成例を示す図である。It is a figure which shows the function structural example of the graphic card by this Embodiment. 本実施の形態によるマルチキャスト空間の設定を説明する図である。It is a figure explaining the setting of the multicast space by this Embodiment. 本実施の形態による同期パケットの例を示す図である。It is a figure which shows the example of the synchronous packet by this Embodiment. 本実施の形態による同期パケットの発行を説明する図である。It is a figure explaining issue of the synchronous packet by this Embodiment. 本実施の形態による同期制御を説明する図である。It is a figure explaining the synchronous control by this Embodiment. 本実施の形態のマスタのグラフィックカードのマスタ同期制御部による同期制御処理フローチャートである。It is a synchronous control process flowchart by the master synchronous control part of the graphic card of the master of this Embodiment. 本実施の形態のスレーブのグラフィックカードのスレーブ同期制御部による同期制御処理フローチャートである。It is a synchronous control processing flowchart by the slave synchronous control part of the graphic card of the slave of this Embodiment. 本実施の形態によるPCIeのバーチャルチャネルのプライオリティ定義の例を示す図である。It is a figure which shows the example of the priority definition of the virtual channel of PCIe by this Embodiment. 本実施の形態の固定プライオリティによる同期パケット転送の例を説明する図である。It is a figure explaining the example of the synchronous packet transfer by the fixed priority of this Embodiment. 本実施の形態によるPCIeのタイムベースドQoSの仕組みの例を説明する図である。It is a figure explaining the example of the mechanism of the time-based QoS of PCIe by this Embodiment. 本実施の形態のアービトレーションテーブルと均等プライオリティによる同期パケット転送の例を説明する図である。It is a figure explaining the example of the synchronous packet transfer by the arbitration table and equal priority of this Embodiment.

以下,本実施の形態について,図を用いて説明する。   Hereinafter, the present embodiment will be described with reference to the drawings.

図1は,本実施の形態による表示システムの構成例を示す図である。   FIG. 1 is a diagram illustrating a configuration example of a display system according to the present embodiment.

図1に示す本実施の形態による表示システムは,例えば,複数の表示装置を並べて作った画面に,3Dの画像表示を行うコンピュータシステムである。図1に示す表示システムにおいて,ホスト10は,画像表示の処理を行う,例えばタワー型のPCなどのコンピュータである。ホスト10は,CPU(Central Processing Unit )11,メモリ12,PCH(Platform Controller Hub )13,スロット14(a〜d)を備える。   The display system according to the present embodiment shown in FIG. 1 is a computer system that displays a 3D image on a screen formed by arranging a plurality of display devices, for example. In the display system shown in FIG. 1, the host 10 is a computer such as a tower-type PC that performs image display processing. The host 10 includes a CPU (Central Processing Unit) 11, a memory 12, a PCH (Platform Controller Hub) 13, and slots 14 (a to d).

CPU11は,中央処理装置であり,システム制御の中心的な役割を果たす。CPU11にはメモリコントローラが含まれており,記憶装置であるメモリ12と接続されている。PCH13は,ノースブリッジとサウスブリッジの機能を統合したチップである。PCH13は,ハードディスクやキーボードなどの周辺機器とCPU11とのインタフェースを取り持つ。PCH13は,オプションカード用のインタフェースとして,PCIe(Peripheral Component Interconnect Express )のインタフェースを備える。図1に示す例では,PCH13は,4ポートのPCIeインタフェースを備える。スロット14は,例えばオプションスロットや拡張スロットなどと呼ばれ,オプションカードが装着される。   The CPU 11 is a central processing unit and plays a central role in system control. The CPU 11 includes a memory controller and is connected to a memory 12 that is a storage device. The PCH 13 is a chip in which the functions of the north bridge and the south bridge are integrated. The PCH 13 has an interface between the CPU 11 and peripheral devices such as a hard disk and a keyboard. The PCH 13 includes a PCIe (Peripheral Component Interconnect Express) interface as an option card interface. In the example illustrated in FIG. 1, the PCH 13 includes a 4-port PCIe interface. The slot 14 is called, for example, an option slot or an expansion slot, and an option card is mounted.

グラフィックカード20は,オプションカードの一種であり,映像を信号として入出力する機能を持つ。グラフィックカード20は,ビデオカードやグラフィックボードなどとも呼ばれる。オプションカードは,拡張カードや拡張ボードなどとも呼ばれ,コンピュータの機能を拡張するカードである。図1に示す例では,グラフィックカード20は,3D映像の入出力を行うカードであるものとする。なお,グラフィックカード20は,独自に制御部とメモリとを備えており,ファームウェア等のプログラムを実行可能である。   The graphic card 20 is a kind of option card and has a function of inputting and outputting video as a signal. The graphic card 20 is also called a video card or a graphic board. An option card is also called an expansion card or an expansion board, and is a card that expands the functions of a computer. In the example shown in FIG. 1, it is assumed that the graphic card 20 is a card that inputs and outputs 3D video. The graphic card 20 has its own control unit and memory, and can execute programs such as firmware.

LCD(Liquid Crystal Display)パネル30(a〜d)は,表示装置である。図1に示すように,各LCDパネル30(a〜d)は,それぞれグラフィックカード20(a〜d)に接続されている。図1に示す表示システムでは,表示する画像がホスト10で4つの画像に分割され,それぞれの画像がグラフィックカード20(a〜d)を介してLCDパネル30(a〜d)に出力される。   LCD (Liquid Crystal Display) panels 30 (a to d) are display devices. As shown in FIG. 1, each LCD panel 30 (ad) is connected to a graphic card 20 (ad), respectively. In the display system shown in FIG. 1, the image to be displayed is divided into four images by the host 10, and each image is output to the LCD panel 30 (ad) through the graphic card 20 (ad).

一般に,グラフィックカード20は,独立したクロックを持ち,それによって個々独立したタイミングで動作する。そのため,グラフィックカード20間で,LCDパネル30への出力の同期制御を行う必要がある。同期制御が行われないと,グラフィックカード20間でLCDパネル30への出力にずれが発生する可能性があり,正確な3D表示ができない。   In general, the graphic card 20 has an independent clock, and thereby operates at an independent timing. Therefore, it is necessary to perform synchronous control of output to the LCD panel 30 between the graphic cards 20. If the synchronization control is not performed, there is a possibility that the output to the LCD panel 30 is shifted between the graphic cards 20, and accurate 3D display cannot be performed.

図2は,本実施の形態によるPCHの仕組みを説明する図である。   FIG. 2 is a diagram for explaining the mechanism of PCH according to the present embodiment.

PCH13において,バス130は,PCIeバスなどの,CPU11とデバイス(周辺機器)とを接続する汎用バスである。本実施の形態の例では,各スロット14に装着される各グラフィックカード20が,バス130から,PCIからPCIeのバス変換を経て接続されている。   In the PCH 13, the bus 130 is a general-purpose bus that connects the CPU 11 and a device (peripheral device) such as a PCIe bus. In the example of the present embodiment, each graphic card 20 mounted in each slot 14 is connected from the bus 130 through PCI to PCIe bus conversion.

PCH13において,各PCIeのインタフェースは,それぞれPCIeブリッジ131(a〜e)を備え,そのPCIeブリッジ131によってバックボーンであるPCIのバス130からブリッジされている。PCIeブリッジ131は,PCIブリッジイメージのブリッジである。個々のPCIeのスロット14がPCIeブリッジ131を必要とするのは,一つには,PCIeのデバイスのアドレスを決定するためである。PCIeブリッジ131があることで,それがホスト10側からのアドレス設定の受け皿として働き,各スロット14に装着されたデバイスに対してアドレスを設定でき,ホスト10側からの個々のデバイスを特定したアクセスが可能になる。   In the PCH 13, each PCIe interface includes a PCIe bridge 131 (a to e), and is bridged from the PCI bus 130 as a backbone by the PCIe bridge 131. The PCIe bridge 131 is a bridge of a PCI bridge image. Each PCIe slot 14 requires a PCIe bridge 131, in part, to determine the address of the PCIe device. The presence of the PCIe bridge 131 serves as a receiver for address setting from the host 10 side, and addresses can be set for the devices installed in the slots 14. Is possible.

個々のデバイスの間にPCIeブリッジ131が存在することで,各デバイスはそれぞれそれ専用のバスセグメント内に存在することになる。各デバイスは,OS(Operating System)から,それぞれ専用のメモリ空間,I/O(Input/Output)空間のリソース配分を受け,その空間内へのバストランザクションは,原則としてユニキャストのスタイルがとられる。したがって,通常は,あるターゲットのデバイスに対して発行されたバストランザクションが,別のデバイスで受け取られることはない。   Since the PCIe bridge 131 exists between the individual devices, each device exists in a dedicated bus segment. Each device receives resource allocation of dedicated memory space and I / O (Input / Output) space from the OS (Operating System), and the bus transaction into the space is basically unicast style. . Therefore, normally, a bus transaction issued to one target device is not received by another device.

なお,バストランザクションは,バス130を介して行われるリードやライトなどの一連の処理である。   The bus transaction is a series of processing such as reading and writing performed via the bus 130.

PCIeは,マルチキャスト機能も有している。本実施の形態では,マルチキャストのバストランザクションを利用して,画像表示の同期タイミングの通知を行う。より具体的には,マスタとなるグラフィックカード20の何れかが,周期的な画像表示の同期タイミングで,特定のメモリ空間に対するバストランザクションのマルチキャストを行うことで,他のグラフィックカード20に対する同期タイミングの通知を行う。同期タイミングの通知を受け取ったグラフィックカード20は,その通知を表示フレームの開始トリガとして利用し,LCDパネル30への画像出力を行う。   PCIe also has a multicast function. In the present embodiment, notification of synchronization timing of image display is performed using a multicast bus transaction. More specifically, any one of the master graphic cards 20 performs a multicast of a bus transaction with respect to a specific memory space at a periodic image display synchronization timing, so that the synchronization timing of other graphic cards 20 can be adjusted. Make a notification. The graphic card 20 that has received the notification of the synchronization timing uses the notification as a display frame start trigger and outputs an image to the LCD panel 30.

ホスト10に装着される複数のグラフィックカード20のうちの1つが,マスタのグラフィックカード20となる。また,マスタのグラフィックカード20以外のグラフィックカード20は,スレーブのグラフィックカード20となる。本実施の形態では,マスタのグラフィックカード20から,各スレーブのグラフィックカード20に対して,同期タイミングの通知が行われる。   One of the plurality of graphic cards 20 mounted on the host 10 becomes the master graphic card 20. Further, the graphic cards 20 other than the master graphic card 20 become slave graphic cards 20. In this embodiment, the master graphic card 20 notifies the slave graphic card 20 of the synchronization timing.

マスタのグラフィックカード20については,ホスト10のスロット14への装着前に決まっていてもよいし,例えばプラグアンドプレイなどの機能で,スロット14への装着後にデバイスドライバ等によって,いずれかのグラフィックカード20がマスタに自動設定されてもよい。また,ホスト10で動作する動画処理を行うアプリケーションなどによって,自動またはユーザの選択によって,スロット14に装着されたいずれかのグラフィックカード20をマスタに設定するようにしてもよい。   The master graphic card 20 may be determined before being inserted into the slot 14 of the host 10, or may be any graphic card by a device driver or the like after being inserted into the slot 14 by a function such as plug and play. 20 may be automatically set as the master. Further, any graphic card 20 installed in the slot 14 may be set as a master automatically or by a user's selection by an application that performs moving image processing that operates on the host 10.

本実施の形態の例では,図2に示すように,グラフィックカード20aがマスタとして動作し,他のグラフィックカードb〜dがスレーブとして動作する。すなわち,マスタのグラフィックカード20aが,自身のLCDパネル30aへの画像出力の同期タイミングに応じて,各スレーブのグラフィックカード20b〜dに対してPCIのバス130を利用した同期タイミングの通知を行う。各スレーブのグラフィックカード20b〜dは,マスタのグラフィックカード20aから受けた同期タイミングの通知に同期して,各LCDパネル30b〜dに対する画像出力を行う。   In the example of the present embodiment, as shown in FIG. 2, the graphic card 20a operates as a master, and the other graphic cards b to d operate as slaves. That is, the master graphic card 20a notifies each slave graphic card 20b-d of the synchronization timing using the PCI bus 130 in accordance with the synchronization timing of image output to its own LCD panel 30a. The slave graphic cards 20b to 20d output images to the LCD panels 30b to 30d in synchronization with the synchronization timing notification received from the master graphic card 20a.

図3は,本実施の形態によるグラフィックカードの機能構成例を示す図である。   FIG. 3 is a diagram illustrating a functional configuration example of the graphic card according to the present embodiment.

図3(A)は,マスタのグラフィックカード20aの機能構成例を示す。マスタのグラフィックカード20aは,マスタ同期制御部210を備える。マスタ同期制御部210は,マルチキャスト設定部211,同期タイミング監視部212,同期パケット生成部213,同期パケット発行部214を備える。   FIG. 3A shows a functional configuration example of the master graphic card 20a. The master graphic card 20 a includes a master synchronization control unit 210. The master synchronization control unit 210 includes a multicast setting unit 211, a synchronization timing monitoring unit 212, a synchronization packet generation unit 213, and a synchronization packet issue unit 214.

マルチキャスト設定部211は,特定のメモリ空間をマルチキャストのバストランザクションの対象に設定する。ここで設定された特定のメモリ空間を対象とするバストランザクションのパケットが,マスタのグラフィックカード20aから各スレーブのグラフィックカード20b〜dに対して同期タイミングを通知するパケットとなる。以下では,マスタのグラフィックカード20aから各スレーブのグラフィックカード20b〜dに対して同期タイミングを通知するパケットを,同期パケットと呼ぶ。また,マルチキャストのバストランザクションの対象として設定される特定のメモリ空間を,マルチキャスト空間とも呼ぶ。   The multicast setting unit 211 sets a specific memory space as a target of a multicast bus transaction. The bus transaction packet for the specific memory space set here is a packet for notifying the synchronization timing from the master graphic card 20a to the slave graphic cards 20b to 20d. Hereinafter, a packet for notifying the synchronization timing from the master graphic card 20a to the slave graphic cards 20b to 20d is referred to as a synchronization packet. A specific memory space set as a target of a multicast bus transaction is also called a multicast space.

同期タイミング監視部212は,自グラフィックカード20による画像出力の同期タイミングを監視する。同期タイミング監視部212は,例えば,自グラフィックカード20a自身の画像表示の同期信号(例えば,垂直同期信号など)を監視し,その同期信号が検出された場合に,同期タイミングが検出されたと判定する。なお,マスタのグラフィックカード20aは,自身の画像表示の同期信号に応じて,LCDパネル30aに対する画像出力を行う。   The synchronization timing monitoring unit 212 monitors the synchronization timing of image output by the own graphic card 20. For example, the synchronization timing monitoring unit 212 monitors a synchronization signal (for example, a vertical synchronization signal) of the image display of the own graphic card 20a itself, and determines that the synchronization timing has been detected when the synchronization signal is detected. . Note that the master graphic card 20a outputs an image to the LCD panel 30a in accordance with a synchronization signal for its own image display.

同期パケット生成部213は,同期タイミング監視部212により同期タイミングが検出された場合に,マルチキャストが設定された特定のメモリ空間,すなわちマルチキャスト空間を対象とするバストランザクションのパケットを生成する。同期パケット生成部213で生成されたパケットが同期パケットとなる。   When the synchronization timing is detected by the synchronization timing monitoring unit 212, the synchronization packet generation unit 213 generates a bus transaction packet for a specific memory space in which multicast is set, that is, the multicast space. The packet generated by the synchronization packet generation unit 213 becomes a synchronization packet.

同期パケット発行部214は,同期パケット生成部213により生成された同期パケットを,自グラフィックカード20aが装着されたホスト10のバス130に発行する。発行された同期パケットは,PCIeのマルチキャスト機能によって,各スレーブのグラフィックカード20b〜dに送られる。なお,発行される同期パケットに,アイソクロナス転送の優先制御が指定されていてもよい。   The synchronization packet issuing unit 214 issues the synchronization packet generated by the synchronization packet generating unit 213 to the bus 130 of the host 10 in which the own graphic card 20a is mounted. The issued synchronization packet is sent to the graphic cards 20b to 20d of each slave by the multicast function of PCIe. Note that isochronous transfer priority control may be specified for the issued synchronization packet.

図3(B)は,スレーブのグラフィックカード20bの機能構成例を示す。他のスレーブのグラフィックカード20c,dも,同様の構成であるものとする。スレーブのグラフィックカード20bは,スレーブ同期制御部220を備える。スレーブ同期制御部220は,本実施の形態によるグラフィックカード20間の画像出力の同期制御における,スレーブとなったグラフィックカード20b側の同期制御部である。スレーブ同期制御部220は,マルチキャスト空間情報保持部221,同期パケット監視部222,同期信号発生部223を備える。   FIG. 3B shows a functional configuration example of the slave graphic card 20b. The other slave graphic cards 20c and 20d have the same configuration. The slave graphic card 20 b includes a slave synchronization control unit 220. The slave synchronization control unit 220 is a synchronization control unit on the graphic card 20b side serving as a slave in the synchronization control of the image output between the graphic cards 20 according to the present embodiment. The slave synchronization control unit 220 includes a multicast spatial information holding unit 221, a synchronization packet monitoring unit 222, and a synchronization signal generation unit 223.

マルチキャスト空間情報保持部221は,マルチキャストが設定された特定のメモリ空間,すなわちマルチキャスト空間の情報を記憶する。   The multicast space information holding unit 221 stores information on a specific memory space in which multicast is set, that is, information on the multicast space.

同期パケット監視部222は,マスタのグラフィックカード20aにより発行された同期パケットの受信を監視する。同期パケット監視部222は,例えば,自グラフィックカード20bが受信したバストランザクションのパケットの対象アドレス空間が,マルチキャスト空間情報保持部221に記憶された,マルチキャストが設定された特定のメモリ空間,すなわちマルチキャスト空間である場合に,同期パケットを受信したと判定する。   The synchronization packet monitoring unit 222 monitors reception of a synchronization packet issued by the master graphic card 20a. For example, the synchronous packet monitoring unit 222 stores a target address space of a packet of a bus transaction received by the graphic card 20b in a multicast space information holding unit 221, and is a specific memory space in which multicast is set, that is, a multicast space. If it is, it is determined that a synchronization packet has been received.

同期信号発生部223は,同期パケット監視部222により同期パケットの受信が確認された場合に,自グラフィックカード20bの画像表示の同期信号を発生させる。スレーブのグラフィックカード20bは,同期信号発生部223により発生された同期信号に応じて,LCDパネル30bに対する画像出力を行う。   The synchronization signal generation unit 223 generates a synchronization signal for image display of the own graphic card 20b when the synchronization packet monitoring unit 222 confirms reception of the synchronization packet. The slave graphic card 20b outputs an image to the LCD panel 30b in accordance with the synchronization signal generated by the synchronization signal generator 223.

マスタ同期制御部210やスレーブ同期制御部220は,例えば,それぞれグラフィックカード20の制御部により動作するファームウェアなどで,実現される。マスタ同期制御部210やスレーブ同期制御部220が,専用のハードウェア回路によって実現されてもよい。   The master synchronization control unit 210 and the slave synchronization control unit 220 are realized by, for example, firmware that is operated by the control unit of the graphic card 20, respectively. The master synchronization control unit 210 and the slave synchronization control unit 220 may be realized by a dedicated hardware circuit.

図4は,本実施の形態によるマルチキャスト空間の設定を説明する図である。   FIG. 4 is a diagram for explaining the setting of the multicast space according to the present embodiment.

図4に示すメモリ空間は,ホスト10におけるメモリ空間である。このホスト10のメモリ空間に,マルチキャスト空間が設定される。図4に示すメモリ空間において,各グループ#0〜#3は,それぞれ4Kバイトのブロックである。本実施の形態では,最大で4つまでの連続した4Kバイトのブロックの空間が,マルチキャスト空間として定義可能となっているものとする。   The memory space shown in FIG. 4 is a memory space in the host 10. A multicast space is set in the memory space of the host 10. In the memory space shown in FIG. 4, each group # 0 to # 3 is a block of 4K bytes. In the present embodiment, it is assumed that a space of up to four continuous 4 Kbyte blocks can be defined as a multicast space.

例えば,マスタのグラフィックカード20aにおけるマスタ同期制御部210のマルチキャスト設定部211は,ホスト10で動作するコンフィグレーションソフトウェアに対して,マルチキャスト空間として希望するブロック数を含む,マルチキャスト空間設定の要求を発行する。要求を受けたコンフィグレーションソフトウェアは,希望されたブロック数のマルチキャスト空間を設定し,各種ドライバ等によって,各PCIeブリッジ131および各グラフィックカード20に対して,マルチキャスト空間のベースアドレス,ブロック数等の情報を設定する。   For example, the multicast setting unit 211 of the master synchronization control unit 210 in the master graphic card 20a issues a request for setting a multicast space including the number of blocks desired as the multicast space to the configuration software operating on the host 10. . Upon receiving the request, the configuration software sets up the multicast space of the desired number of blocks, and information such as the base address of the multicast space, the number of blocks, etc. for each PCIe bridge 131 and each graphic card 20 by various drivers. Set.

図5は,本実施の形態による同期パケットの例を示す図である。   FIG. 5 is a diagram illustrating an example of a synchronization packet according to the present embodiment.

図5の例に示す同期パケットは,PCIeのメモリ系トランザクションのリクエストパケットである。ここでは,そのビット定義を示す。マスタのグラフィックカード20aから同期パケットが発行される際には,同期パケットに定義されたビットの+0→+1→・・・の順,またDW(Double Word )#0→DW#1→・・・の順でシリアルに変換され,PCIeのリンクに送り出される。   The synchronization packet shown in the example of FIG. 5 is a PCIe memory-related transaction request packet. This bit definition is shown here. When the synchronization packet is issued from the master graphic card 20a, the bits defined in the synchronization packet are in the order of + 0 → + 1 →..., DW (Double Word) # 0 → DW # 1 →. Are converted into serial data in this order and sent to the PCIe link.

図5に示す同期パケットは,32ビットCPUパケットで,Attribute〜Addressまでの3DWヘッダのタイプである。Attributeは,例えばリクエストがリードであるかライトであるかなど,パケットの性格を定義する部分である。Lengthの部分は,同期パケットのデータ(Payloadの部分)のDW数を示す。BEはバイトイネーブルであり,Lengthで指定されたDWにおける最初のDWと最後のDWのライト時の有効バイトを示す。ReqIDは,ターゲットリクエストに対してコンプリーションのパケットを返すときのリクエスタ方向へのルーティングに使用されるもので,リクエストパケットのAddressの情報に相当するリクエストエージェントのIDである。Addressは,リードやライトのリクエストの対象となるメモリアドレスを指定する部分である。   The synchronization packet shown in FIG. 5 is a 32-bit CPU packet, which is a 3DW header type from Attribute to Address. Attribute is a part that defines the nature of the packet, for example, whether the request is a read or a write. The Length portion indicates the number of DWs of the synchronization packet data (Payload portion). BE is a byte enable, and indicates a valid byte at the time of writing the first DW and the last DW in the DW specified by Length. ReqID is used for routing in the requester direction when a completion packet is returned to the target request, and is a request agent ID corresponding to the address information of the request packet. Address is a part for designating a memory address that is a target of a read or write request.

Payloadは,同期パケットに付随する,Lengthで指定されたDW数のデータで,ライトのリクエストではここにライトデータが指定される。Payloadは,最大で1024DW(4096バイト)の長さとすることができる,Lengthの指定に応じた可変長の部分である。図5に示す例では,同期パケットにリードのリクエストを使う場合に好適な,最低限の1DWのPayloadが示されている。   Payload is data of the number of DWs specified by Length that accompanies the synchronization packet, and write data is specified here in the write request. Payload is a variable length part that can be up to 1024 DW (4096 bytes) in length according to the specification of Length. In the example shown in FIG. 5, a minimum 1 DW Payload suitable for using a read request for a synchronous packet is shown.

なお,Lengthの値は0が1024DWを示すため,0DWのデータのリクエストは本来発行できない。ただし,PCIeにはゼロレングスリードと呼ばれる特殊なリードリクエストがあり,このリクエストでは,Length=1,BEがオール0として指定される。この指定が行われると,ターゲットからは,1DWの無意味のデータが返される。   Since 0 indicates 1024 DW for the Length value, a request for 0 DW data cannot be issued. However, PCIe has a special read request called zero-length read. In this request, Length = 1 and BE are designated as all 0s. When this specification is made, 1DW meaningless data is returned from the target.

同期パケットでは,Address部分に特定のメモリ空間,すなわちマルチキャスト空間が指定されることで,自身が同期パケットであることを示す。マルチキャスト空間は,いずれのグラフィックカード20にも属さないホスト10側のメモリ空間であり,同期パケットのターゲットはCPU11のメインメモリ空間になる。この空間は,単に同期パケットのためのゼロレングスリードリクエストのためであれば,現実のメモリは実装されていてもよいし,されていなくてもよい。   In the synchronization packet, a specific memory space, that is, a multicast space is designated in the Address portion, thereby indicating that it is a synchronization packet. The multicast space is a memory space on the host 10 side that does not belong to any graphic card 20, and the target of the synchronization packet is the main memory space of the CPU 11. If this space is simply for a zero-length read request for a synchronization packet, the actual memory may or may not be implemented.

図6は,本実施の形態による同期パケットの発行を説明する図である。   FIG. 6 is a diagram for explaining issuance of a synchronization packet according to the present embodiment.

マスタのグラフィックカード20aは,自身の画像表示の同期タイミングが検出されると,マルチキャスト空間に対してバストランザクションの同期パケットを発行する。ここでは,同期パケットは,マルチキャスト空間におけるいずれかのグループ#X(X=0〜3)に対するリードリクエストのパケットであるものとする。   When the master graphic card 20a detects the synchronization timing of its own image display, it issues a bus transaction synchronization packet to the multicast space. Here, the synchronization packet is assumed to be a read request packet for any group #X (X = 0 to 3) in the multicast space.

PCIeブリッジ131には,マルチキャスト空間についての情報が設定されている。PCIeブリッジ131は,受け取ったパケットに示される対象のアドレス空間が,設定されたマルチキャスト空間であるかを確認することで,該パケットがマルチキャストのパケットであるかを判断する。マスタのグラフィックカード20aから発行された同期パケットは,マルチキャスト空間を対象とするバストランザクションのパケットであるので,すべてのスレーブのグラフィックカード20b〜dに送られる。   Information about the multicast space is set in the PCIe bridge 131. The PCIe bridge 131 determines whether the packet is a multicast packet by confirming whether the target address space indicated in the received packet is a set multicast space. Since the synchronization packet issued from the master graphic card 20a is a packet of a bus transaction for the multicast space, it is sent to all the slave graphic cards 20b to 20d.

各スレーブのグラフィックカード20b〜dには,すでに同期パケットが対象とするマルチキャスト空間が通知されている。各グラフィックカード20b〜dは,受け取ったパケットの対象が該当マルチキャスト空間である場合,そのパケットが同期パケットであると認識する。   Each slave graphic card 20b-d has already been notified of the multicast space targeted by the synchronization packet. When the target of the received packet is the corresponding multicast space, each graphic card 20b-d recognizes that the packet is a synchronization packet.

図7は,本実施の形態による同期制御を説明する図である。   FIG. 7 is a diagram for explaining the synchronization control according to the present embodiment.

図7において,VSYNC(20a)は,マスタのグラフィックカード20aにおける同期信号(ここでは,垂直同期信号)を示す。同様に,VSYNC(20b),VSYNC(20c),VSYNC(20d)は,それぞれスレーブのグラフィックカード20b〜dにおける同期信号(ここでは,垂直同期信号)を示す。「R」は,リードリクエストを利用した同期パケットを示す。   In FIG. 7, VSYNC (20a) indicates a synchronizing signal (here, a vertical synchronizing signal) in the master graphic card 20a. Similarly, VSYNC (20b), VSYNC (20c), and VSYNC (20d) indicate synchronization signals (here, vertical synchronization signals) in the slave graphic cards 20b to 20d, respectively. “R” indicates a synchronization packet using a read request.

マスタのグラフィックカード20では,例えば60Hzのフレーム間隔で,同期信号が発生され,LCDパネル30aに対する画像出力が行われているものとする。マスタのグラフィックカード20aにおいて,マスタ同期制御部210は,画像出力の同期信号が検出された際に,マルチキャスト空間を対象とした同期パケットを生成し,バス130に発行する。   In the master graphic card 20, it is assumed that a synchronization signal is generated at a frame interval of 60 Hz, for example, and an image is output to the LCD panel 30a. In the master graphic card 20 a, the master synchronization control unit 210 generates a synchronization packet for the multicast space and issues it to the bus 130 when an image output synchronization signal is detected.

各スレーブのグラフィックカード20b〜dは,マスタのグラフィックカード20aから発行された同期パケットを受信する。各スレーブのグラフィックカード20b〜dにおいて,スレーブ同期制御部220は,同期パケットの受信に応じて,同期信号を発生させる。各スレーブのグラフィックカード20b〜dでは,発生された同期信号に応じて,それぞれ対応するLCDパネル30b〜dに対する画像出力が行われる。   Each slave graphic card 20b-d receives the synchronization packet issued from the master graphic card 20a. In each of the slave graphic cards 20b to 20d, the slave synchronization control unit 220 generates a synchronization signal in response to reception of the synchronization packet. Each slave graphic card 20b-d outputs an image to the corresponding LCD panel 30b-d in accordance with the generated synchronization signal.

なお,同期パケットとしてメモリリードのリクエストパケットを使用した場合,メモリからのリードデータを返すコンプリーションパケットが返されるが,本実施の形態による同期タイミングの通知に関しては,コンプリーションパケットに意味はない。   When a memory read request packet is used as a synchronization packet, a completion packet for returning read data from the memory is returned. However, the notification of the synchronization timing according to the present embodiment has no meaning.

図8は,本実施の形態のマスタのグラフィックカードのマスタ同期制御部による同期制御処理フローチャートである。   FIG. 8 is a flowchart of synchronization control processing by the master synchronization control unit of the master graphic card according to the present embodiment.

マスタのグラフィックカード20aにおいて,マスタ同期制御部210の同期タイミング監視部212は,自グラフィックカード20aによるLCDパネル30aへの画像出力の同期信号が検出されたかを判定する(ステップS10)。同期信号が検出された場合(ステップS10のYES),同期パケット生成部213は,所定のマルチキャスト空間を対象とした同期パケットを生成する(ステップS11)。同期パケット発行部214は,生成された同期パケットをホスト10のバス130に発行する(ステップS12)。   In the master graphic card 20a, the synchronization timing monitoring unit 212 of the master synchronization control unit 210 determines whether a synchronization signal for image output from the own graphic card 20a to the LCD panel 30a has been detected (step S10). When the synchronization signal is detected (YES in step S10), the synchronization packet generation unit 213 generates a synchronization packet for a predetermined multicast space (step S11). The synchronization packet issuing unit 214 issues the generated synchronization packet to the bus 130 of the host 10 (step S12).

図9は,本実施の形態のスレーブのグラフィックカードのスレーブ同期制御部による同期制御処理フローチャートである。   FIG. 9 is a synchronization control processing flowchart by the slave synchronization control unit of the slave graphic card according to the present embodiment.

各スレーブのグラフィックカード20b〜dにおいて,スレーブ同期制御部220の同期パケット監視部222は,マスタのグラフィックカード20aからの同期パケットが検出されたかを判定する(ステップS20)。より具体的には,同期パケット監視部222は,自グラフィックカード20が受信したパケットの対象が,マルチキャスト空間情報保持部221に記憶された,同期パケットの対象として設定されたマルチキャスト空間であるかを判定する。同期パケット監視部222は,受信したパケットの対象が同期パケットの対象として設定されたマルチキャスト空間である場合,該受信したパケットが同期パケットであると判断する。同期パケットが検出された場合(ステップS20のYES),同期信号発生部223は,自グラフィックカード20b〜dによるLCDパネル30b〜dへの画像出力の同期信号を発生させる(ステップS21)。   In each slave graphic card 20b-d, the synchronization packet monitoring unit 222 of the slave synchronization control unit 220 determines whether or not a synchronization packet from the master graphic card 20a has been detected (step S20). More specifically, the synchronization packet monitoring unit 222 determines whether the target of the packet received by the graphic card 20 is the multicast space set as the target of the synchronization packet stored in the multicast space information holding unit 221. judge. When the target of the received packet is a multicast space set as the target of the synchronous packet, the synchronous packet monitoring unit 222 determines that the received packet is a synchronous packet. When the synchronization packet is detected (YES in step S20), the synchronization signal generation unit 223 generates a synchronization signal for image output to the LCD panels 30b to 30d by the own graphic cards 20b to 20d (step S21).

本実施の形態によるバストランザクションを用いた同期タイミングの通知の精度を確保するために,さらに,PCIeのQoS(Quality Of Service)機能を利用するようにしてもよい。   In order to ensure the accuracy of notification of synchronization timing using a bus transaction according to the present embodiment, a QoS (Quality Of Service) function of PCIe may be used.

PCIeにおけるQoS機能は,例えば音声のサンプリング周波数やビデオのフレーム周波数など,一般にアイソクロナス転送と呼ばれる等時間間隔,一律容量のデータ転送を必要とする機器に対するデータ転送サービスの機能を示す。PCIeでは,プライオリティベースとタイミングベースの2つのQoSの実現方法がある。   The QoS function in PCIe indicates a function of a data transfer service for a device that requires a uniform capacity data transfer, which is generally called isochronous transfer, such as an audio sampling frequency and a video frame frequency. In PCIe, there are two QoS implementation methods, priority-based and timing-based.

プライオリティベースのQoSでは,アイソクロナス転送のパケットが,他のパケットと差別化されて優先配信される。プライオリティベースのQoSは,電話網のパケット交換サービスなどに古くから用いられている。   In priority-based QoS, isochronous transfer packets are differentiated from other packets and preferentially delivered. Priority-based QoS has long been used for packet switching services in telephone networks.

タイミングベースのQoSでは,バスの使用が,アイソクロナス転送用の時間帯と,それ以外の転送(バルク転送)の時間帯とに,あらかじめ周期的にスケジュールされる。例えば,USB(Universal Serial Bus)やIEEE1394など,PC等で使われているバスでは,この転送の周期を示す固定的なフレームマーカー信号がバスに出力され,アイソクロナス転送を期待するデバイスやホストでは,このマーカー信号を基準とした一定間隔,一定期間のデータ転送が繰り返される。   In the timing-based QoS, the use of the bus is periodically scheduled in advance in a time zone for isochronous transfer and a time zone for other transfer (bulk transfer). For example, in a bus used in a PC or the like such as USB (Universal Serial Bus) or IEEE 1394, a fixed frame marker signal indicating the transfer cycle is output to the bus, and in a device or host that expects isochronous transfer, Data transfer is repeated at regular intervals and regular periods with reference to the marker signal.

PCIeでは,一つの物理リンクにバーチャルチャネルと呼ばれる仮想的なチャネルが定義され,転送プライオリティが差別化された独立したパイプとして,バスを使用することができる。本実施の形態における同期タイミングを通知するバストランザクションに,高プライオリティのバーチャルチャネルを使うことで,それが他のバストランザクションに対して優先して配信されるようになる。これにより,スレーブのグラフィックカード20b〜dに通知される同期フレーム間隔の精度が,向上する。   In PCIe, a virtual channel called a virtual channel is defined for one physical link, and the bus can be used as an independent pipe with differentiated transfer priorities. By using a high-priority virtual channel for the bus transaction for notifying the synchronization timing in this embodiment, it is distributed with priority over other bus transactions. This improves the accuracy of the synchronization frame interval notified to the slave graphic cards 20b to 20d.

図10は,本実施の形態によるPCIeのバーチャルチャネルのプライオリティ定義の例を示す図である。   FIG. 10 is a diagram illustrating an example of priority definition of a PCIe virtual channel according to the present embodiment.

図10において,VCx(x=0〜7)は,バーチャルチャネルを示す。PCIeのバーチャルチャネルは,最大で8つであり,システムがいくつのバーチャルチャネルをサポートしているかは,チップセットに依存する。xの値が大きいほどプライオリティが高いバーチャルチャネルとなっており,VC0が最低のプライオリティのバーチャルチャネルとなる。   In FIG. 10, VCx (x = 0 to 7) indicates a virtual channel. The maximum number of PCIe virtual channels is 8, and how many virtual channels the system supports depends on the chipset. The larger the value of x, the higher the priority of the virtual channel, and VC0 becomes the lowest priority virtual channel.

図10に示すように,複数のバーチャルチャネルを,xの値の大きいグループとxの値の小さいグループの2つのグループに分け,xの値の大きいグループを固定プライオリティグループとし,xの値の小さいグループを均等プライオリティグループとすることもできる。固定プライオリティグループでは,xの値が大きいバーチャルチャネルを常に優先する,固定的なプライオリティのアービトレーションが行われる。均等プライオリティグループでは,今回ピックアップされたバーチャルチャネルのプライオリティが,次回のアービトレーションでは最低プライオリティとされ,xの値には関わらない公平なアービトレーションが行われる。どのバーチャルチャネル間を2つのグループの境界とするかについては,任意の設定が行える。   As shown in FIG. 10, a plurality of virtual channels are divided into two groups, a group with a large value of x and a group with a small value of x. The group with a large value of x is a fixed priority group, and the value of x is small. The group can also be an equal priority group. In the fixed priority group, a fixed priority arbitration is performed in which a virtual channel having a large value of x is always given priority. In the equal priority group, the priority of the virtual channel picked up this time is set to the lowest priority in the next arbitration, and fair arbitration is performed regardless of the value of x. Any virtual channel can be set as the boundary between two groups.

PCIeの仕組みでは,固定プライオリティではプライオリティベースでのQoSの実現が想定され,均等プライオリティではタイミングベースでのQoSの実現が想定されている。つまり,固定プライオリティか均等プライオリティかのグループ分けによる決定的なプライオリティの差がある場合でも,均等プライオリティグループによるQoSも実現される。   In the PCIe mechanism, the realization of QoS on a priority basis is assumed with fixed priority, and the realization of QoS on a timing basis is assumed with uniform priority. That is, even when there is a definite priority difference due to grouping between fixed priority and equal priority, QoS by the equal priority group is also realized.

図11は,本実施の形態の固定プライオリティによる同期パケット転送の例を説明する図である。   FIG. 11 is a diagram illustrating an example of synchronous packet transfer with a fixed priority according to the present embodiment.

ここでは,VC0,VC1の2つのバーチャルチャネルがサポートされている場合の例を,説明する。PCIeの固定プライオリティの規則に従うと,2つのバーチャルチャネルの内,VC1の方がプライオリティが高く,VC0の方がプライオリティが低い。このとき,VC1のパケットの転送が優先され,その隙間をぬう形でVC0のパケットの転送が行われる。   Here, an example in which two virtual channels of VC0 and VC1 are supported will be described. According to the PCIe fixed priority rule, of the two virtual channels, VC1 has a higher priority and VC0 has a lower priority. At this time, the transfer of the VC1 packet is prioritized, and the VC0 packet is transferred across the gap.

図11において,「R」は同期パケットの転送を示す。図11に示すように,同期パケットにVC1を指定すれば,所定の同期間隔で同期パケットが優先的に転送されるようになるため,グラフィックカード20間での同期制御の精度が高くなる。   In FIG. 11, “R” indicates the transfer of a synchronization packet. As shown in FIG. 11, if VC1 is designated for the synchronization packet, the synchronization packet is preferentially transferred at a predetermined synchronization interval, so that the accuracy of synchronization control between the graphic cards 20 is increased.

図12は,本実施の形態によるPCIeのタイムベースドQoSの仕組みの例を説明する図である。   FIG. 12 is a diagram for explaining an example of the mechanism of the time-based QoS of PCIe according to this embodiment.

ここでは,VC0,VC1の2つのバーチャルチャネルがサポートされている場合の例を,説明する。VC0が均等プライオリティグループとなり,VC1が固定プライオリティグループとなるように,境界が設定されているものとする。この例では,VC1に対して低位にあるVC0によってアイソクロナス転送が行われ,マスタのグラフィックカード20aから発行される同期パケットには,VC0が指定される。固定プライオリティグループに対して低位の均等プライオリティグループにあるVC0でもタイミング的に優先されなければならないアイソクロナス転送が行えるのは,PCIeがタイミングベースのチャネルアービトレーションの仕組みを備えていることによる。   Here, an example in which two virtual channels of VC0 and VC1 are supported will be described. It is assumed that the boundary is set so that VC0 becomes an equal priority group and VC1 becomes a fixed priority group. In this example, isochronous transfer is performed by VC0 which is lower than VC1, and VC0 is specified in the synchronization packet issued from the master graphic card 20a. Isochronous transfer that must be given priority in terms of timing can be performed even in VC0 in a lower priority group than the fixed priority group because PCIe has a timing-based channel arbitration mechanism.

図12に示すように,PCIeのアービトレーションは,ポートアービトレーションとVCアービトレーションの2段階のアービトレーションで行われ,最終的に最優先で出力されるパケットが決定される。図12において,破線枠の楕円はポートアービトレーションを示し,実線枠の楕円はVCアービトレーションを示す。   As shown in FIG. 12, PCIe arbitration is performed in two stages of port arbitration and VC arbitration, and a packet to be output with the highest priority is finally determined. In FIG. 12, an ellipse in a broken line frame indicates port arbitration, and an ellipse in a solid line frame indicates VC arbitration.

第1段階のポートアービトレーションでは,バーチャルチャネルごとに,どのポートからのパケットを優先するかのアービトレーションが行われる。図12に示すように,ポートアービトレーションは,VCアービトレーションのかたまりとなる。第2段階のVCアービトレーションでは,ポートアービトレーションの結果に複数のバーチャルチャネルが存在する場合に,どのバーチャルチャネルのパケットを優先するかのアービトレーションが行われる。   In the first-stage port arbitration, arbitration is performed to determine which port has priority for each virtual channel. As shown in FIG. 12, port arbitration is a cluster of VC arbitration. In the second-stage VC arbitration, when there are a plurality of virtual channels as a result of the port arbitration, arbitration is performed regarding which virtual channel is prioritized.

均等プライオリティグループでアイソクロナス転送を行うには,ポートアービトレーションの段階で,特定のバーチャルチャネルだけを入力する時間帯と,それ以外のバーチャルチャネルをやり取りする時間帯とに分けて,パケットをピックアップするスケジューリングを行う。このことにより,ある時間帯で特定のパケットを優先的に扱う,アイソクロナス転送が実現される。   To perform isochronous transfer in the equal priority group, scheduling to pick up packets in the port arbitration stage is divided into a time zone during which only a specific virtual channel is input and a time zone during which other virtual channels are exchanged. Do. This realizes isochronous transfer that preferentially handles a specific packet in a certain time zone.

図13は,本実施の形態のアービトレーションテーブルと均等プライオリティによる同期パケット転送の例を説明する図である。   FIG. 13 is a diagram for explaining an example of synchronous packet transfer based on the arbitration table and the equal priority according to the present embodiment.

ポートアービトレーションは,アービトレーションテーブルを用いて行われる。図13(A)は,アービトレーションテーブルの例を示す。均等アービトレーションでQoSを実現する場合には,アービトレーションテーブルを一定のタイムスロットでスキャンする,タイムベースドのアービトレーションを行うことで,バーチャルチャネルを入力するポートの決定が行われる。   Port arbitration is performed using an arbitration table. FIG. 13A shows an example of an arbitration table. When QoS is realized by uniform arbitration, a port to which a virtual channel is input is determined by performing time-based arbitration by scanning the arbitration table in a fixed time slot.

なお,PCIeのポートアービトレーションの方法には,タイムベースドの方法以外に,パケットの入力機会ごとに優先パケットを選択するモードもある。   The PCIe port arbitration method includes a mode in which a priority packet is selected for each packet input opportunity, in addition to the time-based method.

図13(A)に示すアービトレーションテーブルには,バーチャルチャネルごと,1タイムスロットごとにアービトレーション対象のポート番号がセットされている。図13(A)に示すアービトレーションテーブルの例において,(0)は図12におけるポート0を示し,(1)は図12におけるポート1を示し,(2)は図12におけるポート2を示す。   In the arbitration table shown in FIG. 13A, a port number to be arbitrated is set for each virtual channel and for each time slot. In the example of the arbitration table shown in FIG. 13A, (0) shows port 0 in FIG. 12, (1) shows port 1 in FIG. 12, and (2) shows port 2 in FIG.

図13(A)に示すアービトレーションテーブルの例における矢印は,アービトレーションテーブルのスキャンが,左から右への順に,右端の後は左端に戻るように行われることを意味している。例えば,図13(A)のアービトレーションテーブルにおけるVC1の例では,左端から順に,ポート0→ポート1→ポート2→ポート1→ポート0(左端)→・・・の順で,VC1のパケットが取り込まれることが示されている。   An arrow in the example of the arbitration table shown in FIG. 13A means that the arbitration table scan is performed from left to right in order from the left end to the left end. For example, in the example of VC1 in the arbitration table of FIG. 13A, VC1 packets are taken in the order of port 0 → port 1 → port 2 → port 1 → port 0 (left end) →. It has been shown that

なお,図13に示すアービトレーションテーブルにおいて,ポート0の指定はパケット入力をしないアイドルのタイムスロットを示す。図12に示すアービトレーション例では,アービトレーションの方向がポート0を出力としているため,ポート0は,パケットのピックアップをする必要がない空きポート番号となる。このことを利用して,図13に示すアービトレーションテーブルでは,ポート0の指定で,入力を受け付けないアイドルの時間帯を表している。   In the arbitration table shown in FIG. 13, the designation of port 0 indicates an idle time slot in which no packet is input. In the arbitration example shown in FIG. 12, since the arbitration direction is port 0, port 0 is an empty port number that does not require packet pickup. By utilizing this fact, the arbitration table shown in FIG. 13 represents an idle time zone in which input is not accepted by specifying port 0.

タイムスロットにポート番号を指定できるということは,バーチャルチャネルを入力するポートを,タイミング的に差別化できることを意味する。   The ability to specify the port number in the time slot means that the port for inputting the virtual channel can be differentiated in terms of timing.

例えば,図13(A)に示すアービトレーションテーブルにおいて,VC1のテーブルでは,最初のタイムスロットにアイドルを示すポート0が指定され,他のタイムスロットにはポート1またはポート2が指定されている。また,VC0のテーブルでは,最初のタイムスロットにのみポート1が指定され,他のタイムスロットにはアイドルを示すポート0が指定されている。このことから,各タイムスロットの時間帯にピックアップされるバーチャルチャネルは,図13(B)に示す通りとなる。   For example, in the arbitration table shown in FIG. 13A, in the VC1 table, port 0 indicating idle is designated in the first time slot, and port 1 or port 2 is designated in the other time slots. In the VC0 table, port 1 is designated only for the first time slot, and port 0 indicating idle is designated for the other time slots. Therefore, the virtual channel picked up in the time slot of each time slot is as shown in FIG.

図13(A)に示すアービトレーションテーブルから,左端の最初のタイムスロットの時間帯には,VC0のみが限定してピックアップされることが分かる。図13(B)に示すように,1タイムスロットが128μsであるものとすると,4タイムスロットの512μsごとに,VC0の時間的優位が実現される。ポート1が,PCIeにおけるマスタのグラフィックカード20側のポートであれば,同期パケットのバーチャルチャネルにVC0が指定されることで,アイソクロナス転送の優先制御を実現できる。図13(B)において,「R」は,同期パケットの発行を示している。   From the arbitration table shown in FIG. 13A, it can be seen that only VC0 is picked up limitedly in the time slot of the first time slot at the left end. As shown in FIG. 13B, assuming that one time slot is 128 μs, the temporal advantage of VC0 is realized every 512 μs of four time slots. If port 1 is a port on the master graphic card 20 side in PCIe, priority control of isochronous transfer can be realized by designating VC0 as the virtual channel of the synchronization packet. In FIG. 13B, “R” indicates the issuance of a synchronization packet.

このようなテーブルを用いたアービトレーションの結果,同じタイムスロットで複数のバーチャルチャネルが受け付けられる場合には,同時に受け付けられるバーチャルチャネルが次のVCアービトレーションに送られ,最終的なパケットが決定される。   As a result of arbitration using such a table, when a plurality of virtual channels are accepted in the same time slot, the simultaneously accepted virtual channels are sent to the next VC arbitration and the final packet is determined.

VCアービトレーションは,テーブルを用いない自動ラウンドロビンか,タイムベースドのテーブルイメージと同様のテーブルを使ったものかのどちらかの方法で行われるが,ここでのテーブルは,一定間隔スキャンのテーブルではなく,リクエストの機会ごとのスキャンのテーブルとなる。いずれの方法を用いるにしても,図12,図13に示す例では,均等プライオリティグループのバーチャルチャネルがVC0の1つしか存在しないため,VCアービトレーションの結果は,ポートアービトレーションの出力そのままのVC0になる。このVC0の出力は,固定プライオリティグループであるポートアービトレーションのVC1の出力と,今度はVCxの値に依存した固定プライオリティのアービトレーションが成され,最終的なパケットが選択出力される。   VC arbitration is done either by automatic round robin without a table, or by using a table similar to a time-based table image, but the table here is not a regular scan table. , Scan table for each request opportunity. Regardless of which method is used, in the example shown in FIGS. 12 and 13, since there is only one virtual channel of the equal priority group VC0, the result of VC arbitration is VC0 as the output of the port arbitration. . The output of VC0 is the arbitration of fixed priority depending on the value of VCx and the output of VC1 of port arbitration which is a fixed priority group, and the final packet is selected and output.

なお,同期パケットについてアイソクロナス転送の優先制御を行うためのバーチャルチャネルの番号は,例えばホスト10で動作するコンフィグレーションソフトウェアによって,グラフィックカード20のハードウェアに設定される。そのため,グラフィックカード20を使用する通常のソフトウェアが意識せずとも,パケット発行のたびにハードウェアに設定されたバーチャルチャネルの番号が使用される。   Note that the virtual channel number for performing priority control of isochronous transfer for the synchronization packet is set in the hardware of the graphic card 20 by, for example, configuration software operating on the host 10. Therefore, the virtual channel number set in the hardware is used every time the packet is issued without being conscious of ordinary software using the graphic card 20.

このように,例えばPCIeにおけるQoS機能を用いて,同期パケットについてアイソクロナス転送の優先制御を行うことで,同期タイミングのばらつきが抑制された,精度が高いグラフィックカード20間の同期制御が可能となる。   In this way, for example, by using the QoS function in PCIe to perform priority control of isochronous transfer with respect to a synchronization packet, synchronization control between graphic cards 20 with high accuracy with suppressed variations in synchronization timing is possible.

以上説明した本実施の形態による同期制御の技術によって,複数のグラフィックカード20による画像表示の同期が可能となる。また,本実施の形態による同期制御の技術では,ホスト10の汎用バスを利用して同期制御を行うので,特別な信号線の必要がない。また,本実施の形態による同期制御の技術を実現するために,既存のバストランザクションの仕組みに手を加える必要がない。そのため,本実施の形態による同期制御の技術は,安価に実現することができる。   With the synchronization control technique according to the present embodiment described above, it is possible to synchronize image display by a plurality of graphic cards 20. In the synchronous control technique according to the present embodiment, since the synchronous control is performed using the general-purpose bus of the host 10, there is no need for a special signal line. In addition, it is not necessary to modify the existing bus transaction mechanism in order to realize the synchronization control technique according to this embodiment. Therefore, the synchronization control technique according to this embodiment can be realized at low cost.

以上,本実施の形態について説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。   Although the present embodiment has been described above, the present invention can naturally be modified in various ways within the scope of the gist thereof.

例えば,本実施の形態の例では,3D映像の入出力を行うグラフィックカードの同期制御の例を説明したが,2次元映像の入出力を行うグラフィックカードの同期制御についても,本実施の形態による同期制御の技術の適用が可能である。   For example, in the example of the present embodiment, the example of the synchronization control of the graphic card that inputs and outputs 3D video has been described. However, the synchronization control of the graphic card that inputs and outputs 2D video also depends on the present embodiment. Application of synchronous control technology is possible.

また,例えば,本実施の形態の例では,同期パケットとしてリードリクエストのパケットを利用しているが,同期パケットとしてリードリクエスト以外のパケットを利用してもよい。例えば,同期パケットとしてライトリクエストのパケットを利用してもよい。   For example, in the example of the present embodiment, a read request packet is used as the synchronization packet, but a packet other than the read request may be used as the synchronization packet. For example, a write request packet may be used as the synchronization packet.

また,例えば,本実施の形態の例では,PCIeのインタフェースにおけるバストランザクションを利用して同期タイミングの通知を行っているが,同様のバストランザクションの機能を備える他のインタフェースを利用してもよい。   Further, for example, in the example of the present embodiment, notification of synchronization timing is performed using a bus transaction in the PCIe interface, but another interface having a similar bus transaction function may be used.

10 ホスト
11 CPU
12 メモリ
13 PCH
130 バス
131 PCIeブリッジ
132 ポート
14 スロット
20 グラフィックカード
210 マスタ同期制御部
211 マルチキャスト設定部
212 同期タイミング監視部
213 同期パケット生成部
214 同期パケット発行部
220 スレーブ同期制御部
221 マルチキャスト空間情報保持部
222 同期パケット監視部
223 同期信号発生部
30 LCDパネル
10 Host 11 CPU
12 memory 13 PCH
130 Bus 131 PCIe Bridge 132 Port 14 Slot 20 Graphics Card 210 Master Synchronization Control Unit 211 Multicast Setting Unit 212 Synchronization Timing Monitoring Unit 213 Synchronization Packet Generation Unit 214 Synchronization Packet Issuing Unit 220 Slave Synchronization Control Unit 221 Multicast Spatial Information Holding Unit 222 Synchronization Packet Monitoring unit 223 Synchronization signal generating unit 30 LCD panel

Claims (5)

ホストコンピュータのバスに各々がブリッジ回路を介して装着された複数のグラフィックカードの中の自グラフィックカードによる画像出力の同期タイミングを監視する同期タイミング監視部と,
同期タイミングが検出された場合に,マルチキャストが設定された特定のメモリ空間を対象とするバストランザクションのパケットを生成する同期パケット生成部と,
前記パケットを,前記ホストコンピュータのバスに発行する同期パケット発行部とを備える
ことを特徴とする同期制御装置。
A synchronization timing monitoring unit for monitoring the synchronization timing of image output by the own graphic card among a plurality of graphic cards each mounted on a bus of a host computer via a bridge circuit ;
A synchronization packet generator for generating a bus transaction packet for a specific memory space in which multicast is set when synchronization timing is detected;
A synchronization control apparatus comprising: a synchronization packet issuing unit that issues the packet to a bus of the host computer.
前記特定のメモリ空間をマルチキャストのバストランザクションの対象に設定するマルチキャスト設定部を備える
ことを特徴とする請求項1に記載の同期制御装置。
The synchronization control apparatus according to claim 1, further comprising a multicast setting unit configured to set the specific memory space as a target of a multicast bus transaction.
前記パケットには,アイソクロナス転送の優先制御が指定されている
ことを特徴とする請求項1または請求項2に記載の同期制御装置。
The synchronous control apparatus according to claim 1 or 2, wherein priority control of isochronous transfer is specified for the packet.
ホストコンピュータのバスに各々がブリッジ回路を介して装着された複数のグラフィックカードのいずれかが,
自グラフィックカードによる画像出力の同期タイミングを監視し,
同期タイミングが検出された場合に,マルチキャストが設定された特定のメモリ空間を対象とするバストランザクションのパケットを生成し,
前記パケットを,前記ホストコンピュータのバスに発行する処理を実行する
ことを特徴とする同期制御方法。
Any of a plurality of graphics cards that are each mounted via a bridge circuit to the bus of the host computer,
Monitor the synchronization timing of image output by your graphics card
When synchronization timing is detected, it generates a bus transaction packet for a specific memory space for which multicast is set,
Synchronous control method characterized by performing the process of issuing the packet, the bus of the host computer.
ホストコンピュータのバスに各々がブリッジ回路を介して装着された複数のグラフィックカードのいずれかに,
自グラフィックカードによる画像出力の同期タイミングを監視し,
同期タイミングが検出された場合に,マルチキャストが設定された特定のメモリ空間を対象とするバストランザクションのパケットを生成し,
前記パケットを,前記ホストコンピュータのバスに発行する
処理を実行させるための同期制御プログラム。
To one of a plurality of graphics cards that are each mounted via a bridge circuit to the bus of the host computer,
Monitor the synchronization timing of image output by your graphics card
When synchronization timing is detected, it generates a bus transaction packet for a specific memory space for which multicast is set,
Synchronous control program for executing the process of issuing the packet, the bus of the host computer.
JP2013057812A 2013-03-21 2013-03-21 Synchronization control device, synchronization control method, and synchronization control program Expired - Fee Related JP6089840B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013057812A JP6089840B2 (en) 2013-03-21 2013-03-21 Synchronization control device, synchronization control method, and synchronization control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013057812A JP6089840B2 (en) 2013-03-21 2013-03-21 Synchronization control device, synchronization control method, and synchronization control program

Publications (2)

Publication Number Publication Date
JP2014182329A JP2014182329A (en) 2014-09-29
JP6089840B2 true JP6089840B2 (en) 2017-03-08

Family

ID=51701076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013057812A Expired - Fee Related JP6089840B2 (en) 2013-03-21 2013-03-21 Synchronization control device, synchronization control method, and synchronization control program

Country Status (1)

Country Link
JP (1) JP6089840B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114884770B (en) * 2022-07-13 2022-10-18 南京观海微电子有限公司 Multi-machine communication system and communication method based on system bus

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251439A (en) * 1996-03-14 1997-09-22 Matsushita Electric Ind Co Ltd Delivery type data transfer system
JP2004258198A (en) * 2003-02-25 2004-09-16 Fuji Photo Film Co Ltd Image display device
JP2011071579A (en) * 2009-09-24 2011-04-07 Toshiba Corp PCI Express (R) COMMUNICATION SYSTEM
FR2953308B1 (en) * 2009-12-01 2011-12-09 Bull Sas SYSTEM FOR AUTHORIZING DIRECT TRANSFERS OF DATA BETWEEN MEMORIES OF SEVERAL ELEMENTS OF THIS SYSTEM
JP5299559B2 (en) * 2010-03-19 2013-09-25 富士通株式会社 Information processing apparatus and device information collection processing method for information processing apparatus
JP5615430B2 (en) * 2011-05-11 2014-10-29 三菱電機株式会社 Video information playback unit, video information playback device, and synchronization control method

Also Published As

Publication number Publication date
JP2014182329A (en) 2014-09-29

Similar Documents

Publication Publication Date Title
CN106161870B (en) A multi-screen control device and synchronization system
EP4009182A1 (en) Enabling sync header suppression latency optimization in the presence of retimers for serial interconnect
JP3786120B2 (en) Data transfer control device and electronic device
TWI585678B (en) Peer-to-peer dynamically appendable logical displays
US9984651B2 (en) Method and apparatus for displaying composition screen image by composing screen images of operating systems (OSs)
EP2631901A2 (en) Apparatus and method for displaying an image on a sink device
JP2016505915A (en) Flexible implementation of serial bus support via display interface
CN111858439A (en) Shared resources for multiple communication services
US6806872B2 (en) Video signal processing system
JP2020182028A (en) Electronic apparatus and control method
US20190362107A1 (en) Advanced peripheral bus based inter-integrated circuit communication device
TWI787741B (en) Memory-request priority up-leveling
KR101048301B1 (en) Multivision System Implemented by Portable Media Playback Devices and Its Implementation Method
JP6089840B2 (en) Synchronization control device, synchronization control method, and synchronization control program
TW487845B (en) Apparatus for memory resource arbitration based on dedicated time slot allocation
EP1870817B1 (en) Information processing device and information processing method
CN103838533B (en) The synchronous method of figure signal and sync card in computer cluster splice displaying system
JP4201071B2 (en) Isochronous data transfer system and method
US10609283B2 (en) Sharing panoramic video images over a wireless display session
CN101145139A (en) resource management device
JP3786121B2 (en) Data transfer control device and electronic device
JP2013120234A (en) Image displaying device, image output device, control method, and program
TWI784359B (en) Memory request timeouts using a common counter
JP2007122410A (en) Bus arbitration circuit and method
KR20170086351A (en) Management serial bus for chassis type communication equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161011

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170123

R150 Certificate of patent or registration of utility model

Ref document number: 6089840

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees