JP2001084171A - Image processing device - Google Patents
Image processing deviceInfo
- Publication number
- JP2001084171A JP2001084171A JP25801699A JP25801699A JP2001084171A JP 2001084171 A JP2001084171 A JP 2001084171A JP 25801699 A JP25801699 A JP 25801699A JP 25801699 A JP25801699 A JP 25801699A JP 2001084171 A JP2001084171 A JP 2001084171A
- Authority
- JP
- Japan
- Prior art keywords
- data
- local
- bytes
- image processing
- byte
- 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
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、記憶された画像デ
ータを画面表示に適した操作を行う画像処理装置に関
し、特にMPEGなどの国際標準に基づいて画像圧縮、
伸長を行う画像処理装置に使用されるものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus for performing an operation suitable for displaying stored image data on a screen.
It is used in an image processing device that performs decompression.
【0002】[0002]
【従来の技術】従来、この種の画像処理装置の基本構成
としては、例えば図8に示すようなものが知られてい
る。図8において、画像処理装置は、高い演算性能を実
現するためにマルチプロセッサ構成とし、また、プロセ
ッサ間でデータの共有が容易に行えるように、複数のプ
ロセッサコア101A、101Bを共有バス102で結
合して、このバス102にDRAMコントローラ103
を介して大容量のメインメモリとなるDRAM104を
接続する。加えて、プロセッサコア101A、101B
の動作と並行してデータ転送が効率良く行えるように、
共有バス102とプロセッサコア101A、101B間
のそれぞれにブリッジ105A、105Bを入れ、さら
にこのブリッジ105A、105Bにローカルバス10
6A、106Bを接続し、このローカルバス105A、
105Bに小容量だが高速のローカルメモリ107A、
107Bを接続し、ローカルメモリ107A、107B
とメインメモリとなるDRAM104との間でDMAデ
ータ転送を制御するDMA(ダイレクト・メモリ・アク
セス)コントローラA、Bを備えるという構成をとる。
ここで、例えば外部メモリのDRAM104と共有バス
102のデータ幅は共に8バイト幅とし、1ワードを8
バイトと定義する。2. Description of the Related Art Conventionally, as a basic configuration of an image processing apparatus of this kind, for example, the one shown in FIG. 8 is known. In FIG. 8, the image processing apparatus has a multi-processor configuration in order to realize high arithmetic performance, and a plurality of processor cores 101A and 101B are connected by a shared bus 102 so that data can be easily shared between the processors. Then, a DRAM controller 103 is connected to the bus 102.
, A DRAM 104 serving as a large-capacity main memory is connected. In addition, the processor cores 101A, 101B
In order to perform data transfer efficiently in parallel with the operation of
Bridges 105A and 105B are inserted between the shared bus 102 and the processor cores 101A and 101B, respectively.
6A, 106B, and the local bus 105A,
105B, small capacity but high speed local memory 107A,
107B, and the local memories 107A, 107B
And DMA (direct memory access) controllers A and B for controlling DMA data transfer between the DRAM 104 serving as a main memory.
Here, for example, the data widths of the external memory DRAM 104 and the shared bus 102 are both 8 bytes, and one word is 8 bytes.
Defined as bytes.
【0003】上記構成の画像処理装置において、以下に
説明する処理が行われる。まず、1つまたは複数のプロ
セッサにおいて、図9に示すように、DRAM104か
ら読み出された3ワードの中からワード境界に整合され
るとは限らない連続する18バイトを切り出し、8バイ
ト幅のローカルメモリ107A、107Bに順次書くと
いう動作を繰り返す。また、これと似ているが、1つま
たは複数のプロセッサにおいて、図10に示すように、
DRAM104から読み出された2ワードの中からワー
ド境界に整合されるとは限らない連続する8バイトを切
り出し、8バイト幅のローカルメモリメモリ107A、
107Bに書くという動作を繰り返す。但し、両方の処
理を行うプロセッサもあるが、後者しか行わないプロセ
ッサもある。In the image processing apparatus having the above configuration, the following processing is performed. First, in one or a plurality of processors, as shown in FIG. 9, a continuous 18 bytes that are not always aligned with a word boundary are cut out from three words read from the DRAM 104, and a local 8-byte width is cut out. The operation of sequentially writing data in the memories 107A and 107B is repeated. Also similar, but in one or more processors, as shown in FIG.
From the two words read from the DRAM 104, eight consecutive bytes not necessarily aligned with a word boundary are cut out, and the local memory memory 107A having a width of eight bytes is extracted.
The operation of writing to 107B is repeated. However, some processors perform both processes, while others perform only the latter.
【0004】このような処理において、連続する18バ
イトを読み出そうとすると、まずDRAM104の3つ
の連続するアドレスから合計3ワード(24バイト)の
データを読み出し、次にこのデータの中から必要な連続
する18バイトのみを切り出すという処理が必要にな
る。また、ワード境界に整合されない連続する8バイト
をDRAM104から読み出そうとすると、DRAM1
04の2つの連続するアドレスから合計2ワード(16
バイト)のデータを読み出し、次にこのデータの中から
必要な連続する8バイトのみを切り出すという処理が必
要になる。In such a process, when trying to read consecutive 18 bytes, data of a total of three words (24 bytes) is first read from three consecutive addresses of the DRAM 104, and then necessary data is read from the data. It is necessary to perform processing of cutting out only continuous 18 bytes. If an attempt is made to read from the DRAM 104 eight consecutive bytes that are not aligned with a word boundary, the DRAM 1
04 from two consecutive addresses for a total of two words (16
(Byte) data, and then a process of cutting out only necessary continuous 8 bytes from the data is required.
【0005】このような処理を図8に示す画像処理装置
で行う場合に、従来では、図11に示すように、図9に
示す処理を行う切り出し回路108Aと図10に示す処
理を行う切り出し回路108Bをそれぞれ別々に用意
し、図9に示す処理を行う切り出し回路108Aをロー
カルバス106Aとローカルメモリ107Aとの間に挿
入し、図10に示す処理を行う切り出し回路108Bを
ローカルバス106Bとローカルメモリ107Bとの間
に挿入するようにしていた。When such processing is performed by the image processing apparatus shown in FIG. 8, conventionally, as shown in FIG. 11, a clipping circuit 108A for performing the processing shown in FIG. 9 and a clipping circuit for performing the processing shown in FIG. 108B are separately prepared, a cutout circuit 108A for performing the processing shown in FIG. 9 is inserted between the local bus 106A and the local memory 107A, and a cutout circuit 108B for performing the processing shown in FIG. 10 is connected to the local bus 106B and the local memory. 107B.
【0006】[0006]
【発明が解決しようとする課題】以上説明したように、
画像データを複数の異なる切り出し処理を行う従来の画
像処理装置においては、それぞれの切り出し処理が異な
るため、それぞれの切り出し処理に適した回路をそれぞ
れ別々に用意し、画像データのそれぞれの切り出し処理
をその処理に対応した回路で行っていた。このため、構
成の大型化を招くといった不具合を招いていた。As described above,
In a conventional image processing apparatus that performs a plurality of different cutout processes on image data, since each cutout process is different, a circuit suitable for each cutout process is separately prepared, and each cutout process of the image data is performed. The processing was performed by a circuit corresponding to the processing. For this reason, a problem such as an increase in the size of the configuration has been caused.
【0007】そこで、この発明は、上記に鑑みてなされ
たものであり、その目的とするところは、複数のプロセ
ッサに対して複数の異なる切り出し処理を行う回路を共
有化して、構成の小型化を達成し得る画像処理装置を提
供することにある。Accordingly, the present invention has been made in view of the above, and it is an object of the present invention to reduce the size of the configuration by sharing a circuit for performing a plurality of different extraction processes for a plurality of processors. An object of the present invention is to provide an image processing apparatus that can be achieved.
【0008】[0008]
【課題を解決するための手段】上記目的を達成するため
に、課題を解決する第1の手段は、データ転送を制御す
るプロセッサコアと、ローカルバスに接続されたローカ
ルメモリと、前記プロセッサコアと前記ローカルバスと
を接続するブリッジとを備えた複数のプロセッサが前記
それぞれのブリッジを介して並列に共有バスに接続さ
れ、前記共有バスにメインメモリ用のメモリコントロー
ラを介してメインメモリが接続され、前記複数のプロセ
ッサコアの動作と並行して前記ローカルメモリならびに
前記メインメモリ間でデータ転送を行い、画像データを
処理する画像処理装置において、前記メインメモリ用の
メモリコントローラに設けられ、前記メインメモリから
読み出されたデータを受けて、該データの一部を切り出
し、切り出したデータを前記共有バスに出力する第1の
切り出し回路と、前記それぞれのブリッジ内に設けら
れ、前記第1の切り出し回路から前記共有バスに出力さ
れたデータを受けて、該データの一部を切り出し、切り
出したデータを前記ローカルバスを介して前記ローカル
メモリに与える第2の切り出し回路とを有することを特
徴とする。Means for Solving the Problems To achieve the above object, a first means for solving the problems is a processor core for controlling data transfer, a local memory connected to a local bus, and the processor core. A plurality of processors including a bridge connecting the local bus and a plurality of processors are connected to the shared bus in parallel via the respective bridges, and a main memory is connected to the shared bus via a memory controller for the main memory; In the image processing device that performs data transfer between the local memory and the main memory in parallel with the operation of the plurality of processor cores and processes image data, the image processing device is provided in a memory controller for the main memory, and Upon receiving the read data, a part of the data is cut out, and the cut out data is A first cutout circuit that outputs the data to the shared bus, provided in each of the bridges, receives data output from the first cutout circuit to the shared bus, and cuts out a part of the data; A second cutout circuit for giving the cutout data to the local memory via the local bus.
【0009】第2の手段は、前記第1の手段において、
前記第1の切り出し回路は、入力データを所定のシフト
量だけシフトするシフタが複数段縦続接続されたファネ
ルシフタからなることを特徴とする。[0009] The second means is the first means,
The first cutout circuit is characterized in that a shifter for shifting input data by a predetermined shift amount comprises a funnel shifter in which a plurality of stages are cascaded.
【0010】前記第3の手段は、前記第2の手段におい
て、ファネルシフタは、連続した複数の単位データから
該単位データの境界に整合されない連続したデータを切
り出すことを特徴とする。The third means is characterized in that, in the second means, the funnel shifter cuts out continuous data which is not aligned with a boundary of the unit data from a plurality of continuous unit data.
【0011】前記第4の手段は、前記1,2又は3の手
段において、第前記第2の切り出し回路は、シフタ又は
マルチプレクサを備えたバイト変換回路からなることを
特徴とする。According to a fourth aspect of the present invention, in the first, second or third aspect, the second cutout circuit comprises a byte conversion circuit having a shifter or a multiplexer.
【0012】前記第5の手段は、前記1,2,3又は4
の手段において、前記共有バスを8バイト幅とし、前記
ローカルバスの少なくとも1つを9バイト幅とし、該9
バイト幅のローカルバスとは異なる前記ローカルバスの
少なくとも1つを8バイト幅とすることを特徴とする。[0012] The fifth means may be the one, two, three or four.
Means, wherein said shared bus is 8 bytes wide, at least one of said local buses is 9 bytes wide,
At least one of the local buses different from the byte-wide local bus has an 8-byte width.
【0013】[0013]
【発明の実施の形態】以下、図面を用いてこの発明の実
施形態を説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0014】図1はこの発明の一実施形態に係る画像処
理装置の構成を示す図である。図1において、この実施
形態の画像処理装置は、図8の基本構成に示すように、
マルチプロセッサシステムを採用して、プロセッサコア
1A、1B、共有バス2、メモリコントローラとなるD
RAMコントローラ3、メインメモリとして機能するD
RAM4、ブリッジ5A、5B、ローカルバス6A、6
B、ローカルメモリ7A、7B、DMAコントローラ
A、Bを備え、図8に示す構成に対してメインメモリの
コントローラとなるDRAMコントローラ3、ブリッジ
5A、9バイトのローカルバス6Aが異なり、他の構成
は同様であり、前述した2種類の切り出し処理を行う。
なお、このような画像処理装置は、1チップのICに構
成され、又はDRAM4を除いた構成が1チップのIC
で構成される。また、メインメモリはDRAM4に限る
ことはなく、他の構成のメモリであってもかまわない。FIG. 1 is a diagram showing a configuration of an image processing apparatus according to an embodiment of the present invention. In FIG. 1, the image processing apparatus according to this embodiment has a basic configuration shown in FIG.
By adopting a multiprocessor system, the processor cores 1A and 1B, the shared bus 2, and the memory controller D
RAM controller 3, D functioning as main memory
RAM 4, bridges 5A, 5B, local buses 6A, 6
B, a local memory 7A, 7B, a DMA controller A, B, and a DRAM controller 3 serving as a main memory controller, a bridge 5A, and a 9-byte local bus 6A are different from those shown in FIG. Similarly, the two types of cutout processing described above are performed.
Note that such an image processing apparatus is configured as a one-chip IC, or the configuration excluding the DRAM 4 is a one-chip IC.
It consists of. The main memory is not limited to the DRAM 4, but may be a memory having another configuration.
【0015】DRAMコントローラ3は、メインメモリ
のコントローラとなるメモリコントローラとして機能
し、第1の切り出し回路となるファネルシフタ31を備
えている。ファネルシフタ31は、図2に示すように、
11個のマルチプレクサ(MUX)32からなる4バイ
トのシフタと、9個のマルチプレクサ33からなる2バ
イトのシフタと、8個のマルチプレクサ34からなる1
バイトのシフタで構成され、ファネルシフタ31はDR
AM4から与えられるデータを受けて保持する8バイト
幅のレジスタ35と、このレジスタ32に保持されたデ
ータを受けて保持する8バイト幅のレジスタ36から与
えられるデータを受けて、プロセッサコア1A、1Bか
ら指示されるシフト量に基づいてシフトを行い、シフト
したデータを8バイト幅のレジスタ37に与えて保持す
る。The DRAM controller 3 functions as a memory controller serving as a main memory controller, and includes a funnel shifter 31 serving as a first cutout circuit. The funnel shifter 31, as shown in FIG.
A 4-byte shifter composed of eleven multiplexers (MUX) 32, a 2-byte shifter composed of nine multiplexers 33, and one composed of eight multiplexers
The funnel shifter 31 is composed of a byte shifter.
The processor cores 1A and 1B receive the data supplied from the 8-byte register 35 for receiving and holding the data supplied from the AM 4 and the data provided from the 8-byte register 36 for receiving and holding the data stored in the register 32. The shift is performed based on the shift amount instructed from, and the shifted data is given to and held in an 8-byte width register 37.
【0016】ブリッジ5Aは、共有バス2とローカルバ
ス6Aとの間で転送されるデータのバイト変換を行う第
2の切り出し回路となるシフタ51を備えている。この
シフタ51は、図4に示すように、9個のマルチプレク
サからなる1バイトのシフタであり、共有バス2から与
えられるデータを受ける8バイト幅のレジスタ52に保
持された一部のデータと、このレジスタ52に保持され
たデータを受ける8バイト幅のレジスタ53に保持され
たデータを入力とし、8バイトのデータを9バイトのデ
ータにバイト変換し、変換したデータをローカルバス6
A、6Bに出力する。The bridge 5A includes a shifter 51 serving as a second extraction circuit for performing byte conversion of data transferred between the shared bus 2 and the local bus 6A. As shown in FIG. 4, the shifter 51 is a one-byte shifter composed of nine multiplexers. The shifter 51 includes a part of data held in an 8-byte width register 52 receiving data supplied from the shared bus 2, and The data held in the register 52, which receives the data held in the register 52, is input, the 8-byte data is converted into 9-byte data by byte conversion, and the converted data is transferred to the local bus 6.
A and 6B.
【0017】このような構成において、図9に示すよう
に、DRAM4から3ワードのデータを読み出し、この
中からワード境界に整合されるとは限らない連続する1
8バイトを切り出す処理の流れを説明する。まず、DR
AM4から連続する3ワード(24バイト)を読み出
し、DRAMコントローラ3に内蔵されたファネルシフ
タ31により必要な18バイトを切り出して、共有バス
2を経由してブリッジ5Aに転送する。次に、ブリッジ
5Aで9バイト幅に変換してこれをローカルバス6A経
由で順次ローカルメモリ7Aに転送する。In such a configuration, as shown in FIG. 9, three words of data are read from the DRAM 4, and one of them is not necessarily aligned with a word boundary.
The flow of processing for cutting out 8 bytes will be described. First, DR
Three consecutive words (24 bytes) are read from the AM 4, necessary 18 bytes are cut out by the funnel shifter 31 built in the DRAM controller 3, and transferred to the bridge 5 A via the shared bus 2. Next, the data is converted into a 9-byte width by the bridge 5A and is sequentially transferred to the local memory 7A via the local bus 6A.
【0018】3ワード(24バイト)から18バイトを
切り出す処理において、DRAM4からは1サイクルに
1ワードずつ読み出せるものとする。したがって、3ワ
ード(24バイト)のデータを読み出すには3サイクル
かかる。このとき、切り出し処理は、最初の2ワードデ
ータをDRAM4から読み出した段階で1ワード(8バ
イト)を切り出し、次の1ワードのデータをDRAM4
から読み出した段階でその次の1ワード(バイト)を切
り出し、その次のサイクルで最後の2バイトを切り出す
という手順で行うことにする。こうすることで、DRA
M4からデータを読み出すレートと、切り出した結果を
共有バス2に出力するレートが、1行あたり3サイクル
となって一致するので、余分なバッファを必要とせず都
合が良い。また、1サイクルあたりに転送する最大のバ
イト数が8なので、共有バス2の幅を8のままに抑える
ことができ都合が良い。In the process of cutting out 18 bytes from 3 words (24 bytes), it is assumed that one word can be read from the DRAM 4 per cycle. Therefore, it takes three cycles to read data of three words (24 bytes). At this time, in the cutout processing, one word (8 bytes) is cut out when the first two-word data is read from the DRAM 4, and the next one-word data is read out from the DRAM 4
The next one word (byte) is cut out at the stage of reading from, and the last two bytes are cut out in the next cycle. By doing this, DRA
Since the rate at which data is read from M4 and the rate at which the cut-out result is output to the shared bus 2 coincide with three cycles per row, no extra buffer is required, which is convenient. Further, since the maximum number of bytes to be transferred per cycle is 8, the width of the shared bus 2 can be kept at 8, which is convenient.
【0019】但し、最終的にデータを書き込むローカル
メモリ7Aの幅は9バイトであり、1サイクルに9バイ
トずつ書き込まなければならないので、途中で1サイク
ルあたり8バイトから9バイトにバイト変換しなければ
ならない。この変換をブリッジ5Aのシフタ51で行
う。共有バス2経由で1行中の最初の2ワード(16バ
イト)のデータが転送されてきたら、この中から必要な
9バイトを切り出し、ローカルバス6Aに出力する。次
に、最後のワード(有効なデータは2バイトのみ)が転
送されてきたら、この2バイトと前のサイクルで残って
いた7バイトの合計9バイトをローカルバス6Aに出力
する。However, the width of the local memory 7A for finally writing data is 9 bytes, and it is necessary to write 9 bytes per cycle. Therefore, if the byte is converted from 8 bytes to 9 bytes per cycle on the way, No. This conversion is performed by the shifter 51 of the bridge 5A. When the data of the first two words (16 bytes) in one row is transferred via the shared bus 2, the necessary 9 bytes are cut out of the data and output to the local bus 6A. Next, when the last word (valid data is only 2 bytes) is transferred, a total of 9 bytes including the 2 bytes and the 7 bytes remaining in the previous cycle are output to the local bus 6A.
【0020】次に、切り出し処理の詳細を、ワード境界
に対して2バイト右の位置からの連続する18バイトを
切り出して9バイト幅のローカルメモリ7Aに順次書く
場合を一例として、図3ならびに図4を参照して説明す
る。なお、図3、図4の正方形の中の数字は、DRAM
4中でのバイト位置を表しており、この中で2番から1
9番までの18バイトをローカルメモリ7Aに書く場合
を表している。Next, the details of the cut-out process will be described with reference to FIGS. 3 and 3 by taking as an example a case where 18 consecutive bytes from a position two bytes to the right of a word boundary are cut out and sequentially written in a 9-byte wide local memory 7A. This will be described with reference to FIG. The numbers in the squares in FIGS.
4 represents the byte position in the number 4, and
In this case, 18 bytes up to the ninth byte are written in the local memory 7A.
【0021】まず、図3に示されていないサイクル0で
DRAM4から1ワード(8バイト)のデータを読み出
し、DRAMコントローラ3内の右側の8バイト幅のレ
ジスタ35に入れる。この結果図3のサイクル1の状態
になる。次にサイクル1では、次の1ワードをDRAM
4から読み出し、これを右側の8バイト幅のレジスタ3
5に入れる。同時に右側の8バイト幅のレジスタ35か
ら左側の8バイト幅のレジスタ36にデータを転送す
る。この結果、ファネルシフタ入力が図3のサイクル2
に示す状態になる。First, in a cycle 0 not shown in FIG. 3, one word (8 bytes) of data is read from the DRAM 4 and stored in the right-side 8-byte register 35 in the DRAM controller 3. As a result, the state of cycle 1 in FIG. 3 is obtained. Next, in cycle 1, the next one word is
4 and read it out to the right, 8-byte wide register 3.
Put in 5. At the same time, data is transferred from the right 8-byte width register 35 to the left 8-byte width register 36. As a result, the funnel shifter input becomes the cycle 2 in FIG.
The state shown in is shown.
【0022】サイクル2では、ファネルシフタ31にお
けるシフト量を2に設定する。この結果、ファネルシフ
タ31の出力が2番から9番までの8バイトになる。ま
た、DRAM4から次の1ワードを読み出し右側の8バ
イト幅のレジスタ35に入れると共に、右側の8バイト
幅のレジスタ35から左側の8バイト幅のレジスタ36
にデータを転送する。この結果、共有バス2に出力され
るデータとファネルシフタ入力が図3に示すサイクル3
の状態になる。In cycle 2, the shift amount in the funnel shifter 31 is set to 2. As a result, the output of the funnel shifter 31 becomes 8 bytes from the second to the ninth. Also, the next one word is read out from the DRAM 4 and put into the right-side 8-byte width register 35, and the right-side 8-byte width register 35 is shifted to the left side 8-byte width register 36.
Transfer data to As a result, the data output to the shared bus 2 and the funnel shifter input correspond to the cycle 3 shown in FIG.
State.
【0023】サイクル3では、ファネルシフタ31にお
けるシフト量を2に設定する。この結果、ファネルシフ
タ31の出力が10番から17番までの8バイトにな
る。また、ブリッジ5Aが共有バス2からデータを取り
込み、ブリッジ内の右側の8バイト幅のレジスタ52に
格納する。DRAM4からの読み出し及び読み出したデ
ータのレジスタへの格納の動作はどのサイクルでも同様
とする。この結果、ファネルシフタ31の入力、共有バ
ス2、ブリッジ5A内のバッファ(レジスタ52、レジ
スタ53)は図4に示すサイクル4の状態になる。In cycle 3, the shift amount in funnel shifter 31 is set to 2. As a result, the output of the funnel shifter 31 becomes 8 bytes from No. 10 to No. 17. Further, the bridge 5A takes in data from the shared bus 2 and stores the data in the right-side 8-byte register 52 in the bridge. The operation of reading from the DRAM 4 and storing the read data in the register is the same in any cycle. As a result, the input of the funnel shifter 31, the shared bus 2, and the buffers (registers 52 and 53) in the bridge 5A enter the state of cycle 4 shown in FIG.
【0024】サイクル4では、ファネルシフタ31にお
けるシフト量を2に設定する。この結果、図4に示すよ
うに、ファネルシフタ31から18番から23番までの
6バイトが出力される。ブリッジ5Aは、共有バス2か
らデータを取り込み右側の8バイト幅のレジスタ52に
取り込むと共に、同時に右側の8バイト幅のレジスタ5
2から左側の8バイト幅のレジスタ53にデータを転送
する。この結果、図4のサイクル5に示す状態になる。In cycle 4, the shift amount in funnel shifter 31 is set to 2. As a result, as shown in FIG. 4, six bytes from No. 18 to No. 23 are output from the funnel shifter 31. The bridge 5A fetches data from the shared bus 2 and fetches it into the right 8-byte width register 52, and at the same time, the right 8-byte width register 5
The data is transferred from 2 to the left-side 8-byte register 53. As a result, the state shown in cycle 5 of FIG. 4 is obtained.
【0025】サイクル5では、ブリッジ内のシフタ51
を構成するマルチプレクサで左側を選択する。この結
果、ローカルバス6Aには、2番から10番までの9バ
イトが出力される。また、共有バス2からデータを取り
込み右側の8バイト幅のレジスタ52に取り込むと共
に、同時に右側の8バイト幅のレジスタ52から左側の
8バイト幅のレジスタ53にデータを転送する。この結
果、図4のサイクル6に示す状態になる。In cycle 5, the shifter 51 in the bridge
Is selected on the left side by the multiplexer constituting. As a result, 9 bytes from No. 2 to No. 10 are output to the local bus 6A. In addition, data is taken in from the shared bus 2 and taken into the right-side 8-byte width register 52, and at the same time, data is transferred from the right-side 8-byte width register 52 to the left-side 8-byte width register 53. As a result, the state shown in cycle 6 of FIG. 4 is obtained.
【0026】サイクル6では、ブリッジ内のマルチプレ
クサで右側を選択する。これは、1バイト左にシフトす
る操作を行うことに相当する。この結果、ローカルバス
6Aには、11番から19番までの9バイトが出力され
る。In cycle 6, the right side is selected by the multiplexer in the bridge. This corresponds to performing an operation of shifting one byte to the left. As a result, 9 bytes from No. 11 to No. 19 are output to the local bus 6A.
【0027】以上のようにして、2番から19番までの
ワード境界に整合されない連続する18バイトが9バイ
トずつ順次ローカルメモリ7Aに書かれる。この場合の
スループットは1行あたり3サイクルとなり、これはD
RAM4から1行のデータを読み出すレートと一致する
ことになる。As described above, consecutive 18 bytes which are not aligned with the word boundaries from No. 2 to No. 19 are sequentially written in the local memory 7A by 9 bytes. The throughput in this case is 3 cycles per row, which is D
This matches the rate at which one row of data is read from the RAM 4.
【0028】一方、図10に示すように、DRAM4か
ら読み出された2ワードの中からワード境界に整合され
るとは限らない連続する8バイトを切り出し、8バイト
幅のローカルメモリ7Bに書くという切り出し処理は、
DRAM4から順次2ワードのデータを読み出し、読み
出したデータをDRAMコントローラ3のレジスタ3
5、レジスタ36に順次格納保持し、格納保持したデー
タをファネルシフタ31により所定量シフトし8バイト
のデータを切り出し、切り出した8バイトのデータをレ
ジスタ37に格納保持し、保持したデータを共有バス
2、ブリッジ5B、ローカルバス6Bを介してローカル
メモリ7Bに書き込む。On the other hand, as shown in FIG. 10, eight consecutive bytes not necessarily aligned with a word boundary are cut out from two words read from the DRAM 4 and written into the local memory 7B having an 8-byte width. The clipping process is
Two words of data are sequentially read from the DRAM 4 and the read data is stored in the register 3 of the DRAM controller 3.
5. The data is sequentially stored and held in the register 36, the stored data is shifted by a predetermined amount by the funnel shifter 31, and 8-byte data is cut out. The cut-out 8-byte data is stored and held in the register 37, and the held data is stored in the shared bus 2. , The bridge 5B and the local bus 6B to the local memory 7B.
【0029】このように、上記実施形態においては、ワ
ード境界に整合されるとは限らない連続する18バイト
を読み出すことを想定して作られたプロセッサと、ワー
ド境界に整合されない連続する8バイトを読み出すこと
はあっても連続する18バイトを読み出すことはないと
仮定して作られたプロセッサの間で、切り出しに必要な
回路を最大限共有しつつ、前者のために必要な第2の切
り出し回路の構成を最小限に抑えることができる。これ
により、構成の小型化を図ることが可能となる。As described above, in the above embodiment, a processor made on the assumption that 18 consecutive bytes not always aligned on a word boundary is read, and a continuous 8 bytes not aligned on a word boundary are read. The second cutout circuit necessary for the former, while sharing as much as possible the circuit necessary for cutout between processors made on the assumption that reading is performed but not reading 18 consecutive bytes, Can be minimized. This makes it possible to reduce the size of the configuration.
【0030】次に、この発明の他の実施形態を説明す
る。Next, another embodiment of the present invention will be described.
【0031】この実施形態の特徴とするところは、図2
に示すファネルシフタ31に代えて図5に示す構成のフ
ァネルシフタ62を採用し、かつ図2に示すブリッジ5
Aのシフタ51に代えて図5に示すマルチプレクサ67
を採用したことにあり、他の構成は図1、図2と同様で
ある。The feature of this embodiment is shown in FIG.
A funnel shifter 62 having a configuration shown in FIG. 5 is employed in place of the funnel shifter 31 shown in FIG.
A multiplexer 67 shown in FIG.
The other configuration is the same as that of FIGS. 1 and 2.
【0032】ファネルシフタ62は、それぞれ8個のマ
ルチプレクサからなる4組のシフタ63、64、65、
66から構成されている。The funnel shifter 62 includes four sets of shifters 63, 64, 65, each including eight multiplexers.
66.
【0033】次に、上述したと同様の切り出し処理を、
図6ならびに図7を参照して説明する。なお、図6、図
7において、正方形の中の数字は、DRAM4中でのバ
イト位置を表しており、この中で2番から19番までの
18バイトをローカルメモリ7Aに書く場合を表してい
る。Next, the same clipping processing as described above is performed.
This will be described with reference to FIGS. 6 and 7, the numbers in the squares represent the byte positions in the DRAM 4, in which 18 bytes from the second to the 19th are written in the local memory 7A. .
【0034】まず、図6に示されていないサイクル0で
DRAM4から1ワード(8バイト)のデータを読み出
し、DRAMコントローラ3内の右側の8バイト幅のレ
ジスタ35に入れる。この結果図6に示すサイクル1の
状態になる。First, in a cycle 0 not shown in FIG. 6, one word (8 bytes) of data is read from the DRAM 4 and stored in the right-side 8-byte register 35 in the DRAM controller 3. As a result, the state becomes the cycle 1 shown in FIG.
【0035】次にサイクル1では、次の1ワードをDR
AM4から読み出し、これを右側の8バイト幅のレジス
タ35に入れる。同時に右側の8バイト幅のレジスタ3
5から左側の8バイト幅のレジスタ36にデータを転送
する。この結果、ファネルシフタ入力が図6のサイクル
2に示す状態になる。Next, in cycle 1, the next one word is
The data is read from AM4, and is stored in an 8-byte width register 35 on the right side. At the same time, right-side 8-byte register 3
The data is transferred from 5 to the register 36 having a width of 8 bytes on the left side. As a result, the funnel shifter input enters the state shown in cycle 2 in FIG.
【0036】サイクル2では、ファネルシフタ62にお
けるシフト量を2に設定する。この結果、ファネルシフ
タ62の出力が2番から9番までの8バイトになる。ま
た、DRAM4から次の1ワードを読み出し右側の8バ
イト幅のレジスタ35に入れると共に、右側の8バイト
幅のレジスタ35から左側の8バイト幅のレジスタ36
にデータを転送する。この結果、共有バス2に出力され
るデータとファネルシフタ62の入力が図6に示すサイ
クル3の状態になる。In cycle 2, the shift amount in the funnel shifter 62 is set to 2. As a result, the output of the funnel shifter 62 becomes 8 bytes from the second to the ninth. Further, the next one word is read from the DRAM 4 and put into the right-side 8-byte width register 35, and the right-side 8-byte width register 35 is shifted to the left side 8-byte width register 36.
Transfer data to As a result, the data output to the shared bus 2 and the input of the funnel shifter 62 enter the state of cycle 3 shown in FIG.
【0037】サイクル3では、ファネルシフタ62にお
けるシフト量を前のサイクルよりも1増やして3に設定
する。また、10番のバイトだけは、ファネルシフタ6
2中の1番上の段の左から3番目のマルチプレクサで左
側の入力を選択する。この結果、図6に示すような形式
でファネルシフタ62の出力が10番から17番までの
8バイトになる。また、ブリッジ5Aが共有バス2から
データを取り込み、ブリッジ6A内の右側の8バイト幅
のレジスタ52に格納する。DRAM4からの読み出し
及び読み出したデータのレジスタへの格納の動作はどの
サイクルでも同様とする。この結果、ファネルシフタ入
力、共有バス2、ブリッジ内バッファは図7に示すサイ
クル4の状態になる。In cycle 3, the shift amount in the funnel shifter 62 is increased by one from the previous cycle and set to 3. Only the 10th byte is the funnel shifter 6
The leftmost input is selected by the third multiplexer from the left of the top stage in 2. As a result, the output of the funnel shifter 62 becomes 8 bytes from No. 10 to No. 17 in the format as shown in FIG. The bridge 5A takes in the data from the shared bus 2 and stores the data in the right-side 8-byte register 52 in the bridge 6A. The operation of reading from the DRAM 4 and storing the read data in the register is the same in any cycle. As a result, the funnel shifter input, the shared bus 2, and the buffer in the bridge enter the state of cycle 4 shown in FIG.
【0038】サイクル4では、ファネルシフタ62にお
けるシフト量をさらに1増やして4に設定する。また、
18番と19番の2バイトに関しては、ファネルシフタ
62中の1番上の段の左から3番目と4番目のマルチプ
レクサで左側の入力を選択する。この結果、図7に示す
ような形式で18番から23番までの6バイトがファネ
ルシフタ62から出力される。ブリッジ5Aは、共有バ
ス2からデータを取り込み右側の8バイト幅のレジスタ
52Aに取り込むと共に、同時に右側の8バイト幅のレ
ジスタ52から左側の8バイト幅のレジスタ53にデー
タを転送する。この結果、図7のサイクル5に示す状態
になる。In cycle 4, the shift amount in the funnel shifter 62 is further increased by 1 and set to 4. Also,
With respect to the two bytes of Nos. 18 and 19, the leftmost input is selected by the third and fourth multiplexers from the left in the uppermost stage in the funnel shifter 62. As a result, six bytes from No. 18 to No. 23 are output from the funnel shifter 62 in a format as shown in FIG. The bridge 5A takes in data from the shared bus 2 and takes in the right-side 8-byte width register 52A, and simultaneously transfers the data from the right-side 8-byte width register 52 to the left-side 8-byte width register 53. As a result, the state shown in cycle 5 of FIG. 7 is obtained.
【0039】サイクル5では、ブリッジ5A内のマルチ
プレクサ67で左側入力を選択する。この結果、ローカ
ルバス6Aには、2番から10番までの9バイトが出力
される。また、共有バス2からデータを取り込み右側の
8バイト幅のレジスタ52に取り込むと共に、同時に右
側の8バイト幅のレジスタ52から左側の8バイト幅の
レジスタ53にデータを転送する。この結果、図7のサ
イクル6に示す状態になる。In cycle 5, the multiplexer 67 in the bridge 5A selects the left input. As a result, 9 bytes from No. 2 to No. 10 are output to the local bus 6A. In addition, data is taken in from the shared bus 2 and taken into the right-side 8-byte width register 52, and at the same time, data is transferred from the right-side 8-byte width register 52 to the left-side 8-byte width register 53. As a result, the state shown in cycle 6 of FIG. 7 is obtained.
【0040】サイクル6では、ブリッジ5A内のマルチ
プレクサ67で右側入力を選択する。この結果、ローカ
ルバス6Aには、11番から19番までの9バイトが出
力される。In cycle 6, the right input is selected by the multiplexer 67 in the bridge 5A. As a result, 9 bytes from No. 11 to No. 19 are output to the local bus 6A.
【0041】以上のようにして、2番から19番までの
ワード境界に整合されない連続する18バイトが9バイ
トずつ順次ローカルメモリ7Aに書かれる。この場合の
スループットは1行あたり3サイクルであり、これはD
RAM4から1行を読み出すレートと一致している。As described above, consecutive 18 bytes that are not aligned with the word boundaries from No. 2 to No. 19 are sequentially written in the local memory 7A by 9 bytes. The throughput in this case is 3 cycles per row, which is D
It matches the rate at which one row is read from the RAM 4.
【0042】一方、図10に示すように、DRAM4か
ら読み出された2ワードの中からワード境界に整合され
るとは限らない連続する8バイトを切り出し、8バイト
幅のローカルメモリ7Bに書くという切り出し処理は、
先の実施形態と同様にして行われる。On the other hand, as shown in FIG. 10, eight consecutive bytes that are not necessarily aligned with word boundaries are cut out from two words read from the DRAM 4 and written into the local memory 7B having a width of eight bytes. The clipping process is
This is performed in the same manner as in the previous embodiment.
【0043】先の実施形態とこの実施形態のそれぞれの
構成を比較すると、図2に示すファネルシフタ31なら
びにブリッジ5Aのシフタ51を構成するマルチプレク
サの数は37個であるのに対して、図5に示す同様の構
成では33個に削減されている。これにより、この実施
形態は、前記実施形態に比べて、前記実施形態ではシフ
ト量の制御が一通りで制御が容易であるのに対して、こ
の実施形態ではシフト量の制御が複数通りとなるが、よ
り一層構成を小型化することが可能となる。Comparing the respective configurations of the previous embodiment and this embodiment, the number of the multiplexers constituting the funnel shifter 31 and the shifter 51 of the bridge 5A shown in FIG. 2 is 37, whereas FIG. In the similar configuration shown, the number is reduced to 33. Thereby, in this embodiment, the control of the shift amount is simple and the control is easy in the above-described embodiment as compared with the above-described embodiment, whereas the control of the shift amount is plural in this embodiment. However, the configuration can be further reduced in size.
【0044】[0044]
【発明の効果】以上説明したように、この発明によれ
ば、切り出し回路のハードウェアの大部分を複数のプロ
セッサで共有することができ、回路規模を従来に比べて
削減することができる。この結果、構成を小型化するこ
とが可能となる。As described above, according to the present invention, most of the hardware of the cutout circuit can be shared by a plurality of processors, and the circuit scale can be reduced as compared with the related art. As a result, the configuration can be reduced in size.
【図1】本発明の一実施形態形態に係る画像処理装置の
構成を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus according to an embodiment of the present invention.
【図2】図1に示すDRAMコントローラとブリッジの
構成を示す図である。FIG. 2 is a diagram showing a configuration of a DRAM controller and a bridge shown in FIG. 1;
【図3】本発明の一実施形態形態に係る画像処理装置に
おける動作のタイミングを示す図である。FIG. 3 is a diagram illustrating operation timings in the image processing apparatus according to the embodiment of the present invention.
【図4】本発明の一実施形態形態に係る画像処理装置に
おける動作のタイミングを示す図である。FIG. 4 is a diagram illustrating operation timings in the image processing apparatus according to the embodiment of the present invention.
【図5】本発明の他の実施形態形態に係る画像処理装置
におけるDRAMコントローラとブリッジの構成を示す
図である。FIG. 5 is a diagram illustrating a configuration of a DRAM controller and a bridge in an image processing apparatus according to another embodiment of the present invention.
【図6】本発明の他の実施形態形態に係る画像処理装置
における動作のタイミングを示す図である。FIG. 6 is a diagram showing operation timings in an image processing apparatus according to another embodiment of the present invention.
【図7】本発明の他の実施形態形態に係る画像処理装置
における動作のタイミングを示す図である。FIG. 7 is a diagram illustrating operation timings in an image processing apparatus according to another embodiment of the present invention.
【図8】従来の画像処理装置の一構成を示すブロック図
である。FIG. 8 is a block diagram illustrating one configuration of a conventional image processing apparatus.
【図9】ワード境界に整合されない18バイトの切り出
しを表す図である。FIG. 9 is a diagram illustrating clipping of 18 bytes that are not aligned with word boundaries.
【図10】ワード境界に整合されない8バイトの切り出
しを表す図である。FIG. 10 is a diagram illustrating clipping of 8 bytes not aligned with a word boundary.
【図11】切り出し回路を備えた従来の画像処理装置の
構成を示すブロック図である。FIG. 11 is a block diagram illustrating a configuration of a conventional image processing apparatus including a cutout circuit.
1A,1B プロセッサコア 2 共有バス 3 DRAMコントローラ 4 DRAM 5A,5B ブリッジ 6A,6B ローカルバス 7A,7B ローカルメモリ 31,62 ファネルシフタ 32,33,34,51,63〜66 シフタ 35,36,37,52,53 レジスタ 67 マルチプレクサ 1A, 1B Processor core 2 Shared bus 3 DRAM controller 4 DRAM 5A, 5B Bridge 6A, 6B Local bus 7A, 7B Local memory 31, 62 Funnel shifter 32, 33, 34, 51, 63-66 Shifter 35, 36, 37, 52 , 53 register 67 multiplexer
Claims (5)
と、ローカルバスに接続されたローカルメモリと、前記
プロセッサコアと前記ローカルバスとを接続するブリッ
ジとを備えた複数のプロセッサが前記それぞれのブリッ
ジを介して並列に共有バスに接続され、前記共有バスに
メインメモリ用のメモリコントローラを介してメインメ
モリが接続され、前記複数のプロセッサコアの動作と並
行して前記ローカルメモリならびに前記メインメモリ間
でデータ転送を行い、画像データを処理する画像処理装
置において、 前記メインメモリ用のメモリコントローラに設けられ、
前記メインメモリから読み出されたデータを受けて、該
データの一部を切り出し、切り出したデータを前記共有
バスに出力する第1の切り出し回路と、 前記それぞれのブリッジ内に設けられ、前記第1の切り
出し回路から前記共有バスに出力されたデータを受け
て、該データの一部を切り出し、切り出したデータを前
記ローカルバスを介して前記ローカルメモリに与える第
2の切り出し回路とを有することを特徴とする画像処理
装置。1. A plurality of processors each including a processor core for controlling data transfer, a local memory connected to a local bus, and a bridge connecting the processor core and the local bus, via the respective bridges. Connected in parallel to a shared bus, a main memory is connected to the shared bus via a memory controller for the main memory, and data is transferred between the local memory and the main memory in parallel with the operation of the plurality of processor cores. In the image processing apparatus for processing image data, provided in a memory controller for the main memory,
A first cutout circuit that receives data read from the main memory, cuts out a part of the data, and outputs the cutout data to the shared bus; and a first cutout circuit provided in each of the bridges, And a second cutout circuit for receiving data output to the shared bus from the cutout circuit, cutting out a part of the data, and providing the cutout data to the local memory via the local bus. Image processing apparatus.
を所定のシフト量だけシフトするシフタが複数段縦続接
続されたファネルシフタからなることを特徴とする請求
項1記載の画像処理装置。2. The image processing apparatus according to claim 1, wherein said first cutout circuit comprises a funnel shifter in which a plurality of stages of shifters for shifting input data by a predetermined shift amount are connected in cascade.
データから該単位データの境界に整合されない連続した
データを切り出すことを特徴とする請求項2記載の画像
処理装置。3. The image processing apparatus according to claim 2, wherein the funnel shifter cuts out continuous data that is not aligned with a boundary of the unit data from a plurality of continuous unit data.
マルチプレクサを備えたバイト変換回路からなることを
特徴とする請求項1,2又は3記載の画像処理装置。4. The image processing apparatus according to claim 1, wherein said second cutout circuit comprises a byte conversion circuit having a shifter or a multiplexer.
ーカルバスの少なくとも1つを9バイト幅とし、該9バ
イト幅のローカルバスとは異なる前記ローカルバスの少
なくとも1つを8バイト幅とすることを特徴とする請求
項1,2,3又は4記載の画像処理装置。5. The shared bus is 8 bytes wide, at least one of the local buses is 9 bytes wide, and at least one of the local buses different from the 9 byte wide local bus is 8 bytes wide. The image processing apparatus according to claim 1, 2, 3, or 4, wherein:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25801699A JP2001084171A (en) | 1999-09-10 | 1999-09-10 | Image processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25801699A JP2001084171A (en) | 1999-09-10 | 1999-09-10 | Image processing device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2001084171A true JP2001084171A (en) | 2001-03-30 |
Family
ID=17314368
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP25801699A Pending JP2001084171A (en) | 1999-09-10 | 1999-09-10 | Image processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2001084171A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003050787A (en) * | 2001-08-06 | 2003-02-21 | Nec Corp | System for controlling multiprocessor |
-
1999
- 1999-09-10 JP JP25801699A patent/JP2001084171A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003050787A (en) * | 2001-08-06 | 2003-02-21 | Nec Corp | System for controlling multiprocessor |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5233690A (en) | Video graphics display memory swizzle logic and expansion circuit and method | |
| CA2478570A1 (en) | Data processing apparatus and system and method for controlling memory access | |
| US7822955B2 (en) | Data processing apparatus and method for utilizing endianess independent data values | |
| JP3971535B2 (en) | SIMD type processor | |
| US5388230A (en) | Parallel processor having multi-processing units either connected or bypassed in either series or parallel by the use of bus switching | |
| US4941107A (en) | Image data processing apparatus | |
| JPH11312085A (en) | Processor | |
| JP2001084171A (en) | Image processing device | |
| JP2514473B2 (en) | Parallel processor | |
| JPH10334038A (en) | Data transfer device | |
| JPH0646413B2 (en) | Data processing processor | |
| US20060064553A9 (en) | Data processing apparatus and system and method for controlling memory access | |
| JP2004206387A (en) | Image processing method, processor and image processing device | |
| JP2001350714A (en) | Data processing device | |
| JPH0926945A (en) | Information processing device | |
| JPH1063608A (en) | Data transfer control circuit | |
| JPH0589026A (en) | Processor, memory and data processor | |
| JPH01233515A (en) | information processing equipment | |
| JPH05159042A (en) | Picture processor | |
| JPH0468459A (en) | digital signal processing equipment | |
| JPS6344235A (en) | Data processor | |
| JPH01195581A (en) | Image data processing system | |
| JP2000047935A (en) | High speed memory access processor | |
| JPH0738167B2 (en) | Data transfer method | |
| JPS6095667A (en) | High speed access system in external address space |