JP2001209573A - Memory address converter - Google Patents
Memory address converterInfo
- Publication number
- JP2001209573A JP2001209573A JP2000019706A JP2000019706A JP2001209573A JP 2001209573 A JP2001209573 A JP 2001209573A JP 2000019706 A JP2000019706 A JP 2000019706A JP 2000019706 A JP2000019706 A JP 2000019706A JP 2001209573 A JP2001209573 A JP 2001209573A
- Authority
- JP
- Japan
- Prior art keywords
- address
- area
- memory
- counter
- released
- 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]
【発明の属する技術分野】この発明は、メモリのアドレ
ス変換装置に関し、特にMPEG2デコーダ等に好適な
メモリアドレス変換装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory address translator, and more particularly to a memory address translator suitable for an MPEG2 decoder or the like.
【0002】[0002]
【従来の技術】中央処理演算装置(以下、CPUと記
す)で実行されるソフトウェアが発行する論理アドレス
を物理アドレスに変換するため、メモリアドレス変換装
置が用いられている。2. Description of the Related Art A memory address translation device is used to translate a logical address issued by software executed by a central processing unit (hereinafter referred to as a CPU) into a physical address.
【0003】メモリアドレス変換装置を用いるのはソフ
トウェアによるメモリ管理を容易にするためであり、メ
モリアドレスの変換スピードには高速性が要求されるか
らである。このメモリアドレス変換装置を用いることに
より、ソフトウェアやCPUがメモリのアドレス変換に
時間を割かなくて済む。[0003] The memory address conversion device is used to facilitate memory management by software, and the memory address conversion speed requires high speed. By using this memory address translator, software and the CPU do not need to spend time translating addresses in the memory.
【0004】最近のMPEGビデオデコーダではデコー
ダが使用しているメモリを他のCPU等が使用すること
が考えられていおり、この場合メモリを有効活用するた
めにはメモリ管理装置を必要とし、メモリアドレス変換
装置も必要となる。このようにMPEGビデオデコーダ
にメモリアドレス変換装置を用いる場合、従来のパーソ
ナルコンピュータ等で一般に用いられているメモリアド
レス変換装置では回路が複雑であるという問題がある。
これはパーソナルコンピュータではメモリへのアクセス
が何時発生するか分かららず、更に発生間隔も保証され
ないため、メモリ変換テーブルの更新をメモリアドレス
変換装置へのアクセスが発生する毎に行っているためで
ある。In recent MPEG video decoders, it is considered that a memory used by the decoder is used by another CPU or the like. In this case, a memory management device is required to effectively use the memory, and a memory address is required. A conversion device is also required. When a memory address translator is used for an MPEG video decoder as described above, there is a problem that a circuit is complicated in a memory address translator generally used in a conventional personal computer or the like.
This is because the personal computer does not know when access to the memory occurs and the interval of occurrence is not guaranteed, so that the memory translation table is updated every time the access to the memory address translator occurs. .
【0005】MPEGビデオデコーダに搭載するメモリ
アドレス変換装置については、高速なメモリアクセスと
同時に出来るだけ簡易な回路であることが要求される
が、パーソナルコンピュータ等で要求される性能を満た
すために従来のメモリアドレス変換装置は複雑な回路で
あった。[0005] A memory address translator mounted on an MPEG video decoder is required to be a circuit as simple as possible at the same time as high-speed memory access. The memory address translation device was a complicated circuit.
【0006】[0006]
【発明が解決しようとする課題】このように従来のパー
ソナルコンピュータ等で用いられているメモリアドレス
変換装置においては、パーソナルコンピュータ等で要求
される性能を満たすために変換回路が複雑であるという
問題があった。As described above, in the memory address conversion device used in the conventional personal computer and the like, there is a problem that the conversion circuit is complicated to satisfy the performance required in the personal computer and the like. there were.
【0007】この発明は、出来るだけ簡易な回路構成で
あり、MPEG2デコーダに用いるのに必要十分な機能
を持つメモリアドレス変換装置を提供することを目的と
する。An object of the present invention is to provide a memory address translator having a circuit configuration as simple as possible and having functions necessary and sufficient for use in an MPEG2 decoder.
【0008】[0008]
【課題を解決するための手段】上記の目的を達成するた
めに、この発明のメモリアドレス変換装置においては、
MPEG2デコード装置に使うメモリアドレス変換装置
であって、アドレス変換用のテーブルを持ち、テーブル
のアドレスがCPUに対する論理メモリの上位アドレス
を表し、テーブルの内容が論理アドレスに対応する物理
アドレスを意味する構成になっており、メモリを使用す
る場合に使用する用途毎に領域を確保し、不要になると
領域を開放する制御をするメモリアドレス変換装置にお
いて、領域の確保はアドレス変換テーブルのアドレスの
低位から順に連続した領域を確保し、領域を開放したと
きに確保した領域に不連続が生じたときは、開放した論
理アドレスに順に高位アドレスの領域を詰めていくこと
により連続した領域を確保することを特徴とする。In order to achieve the above object, a memory address translator according to the present invention comprises:
A memory address translation device for use in an MPEG2 decoding device, having a table for address translation, wherein the address of the table represents an upper address of a logical memory for a CPU, and the contents of the table represent physical addresses corresponding to the logical addresses. In a memory address translator that reserves an area for each application to be used when using a memory and releases the area when it is no longer needed, the area is secured in order from the lowest address in the address conversion table. When a continuous area is secured and a discontinuity occurs in the secured area when the area is released, a continuous area is secured by packing the areas of higher addresses sequentially into the released logical addresses. And
【0009】また、前記メモリアドレス変換装置におい
て、領域開放に伴うテーブル更新時に開放領域を指すア
ドレスカウンターと、開放する領域の直後の確保済み領
域を指すアドレスカウンターと、確保済み領域の最終ア
ドレスを指すレジスターとを備え、確保済み領域と開放
する領域のテーブルの内容を交換することにより、領域
開放後も論理ブロックが連続するようにテーブル内容を
更新することを特徴とする。In the above-mentioned memory address translator, an address counter pointing to an open area at the time of updating a table accompanying an area release, an address counter pointing to a reserved area immediately after the area to be released, and pointing to a final address of the reserved area. A register is provided, and by exchanging the contents of the table of the reserved area and the area to be released, the table contents are updated so that the logical blocks continue even after the area is released.
【0010】[0010]
【発明の実施の形態】(全体構成)まず、本発明のメモ
リアドレス変換装置について周辺回路を含めて図1乃至
図2を用いて詳細に説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS (Overall Configuration) First, a memory address translator according to the present invention, including peripheral circuits, will be described in detail with reference to FIGS.
【0011】図1は本発明のメモリアドレス変換装置を
含むMPEGデコード装置の構成を説明するための図で
ある。FIG. 1 is a diagram for explaining the configuration of an MPEG decoding device including a memory address conversion device according to the present invention.
【0012】図1において、MPEG2ビデオをデコー
ド処理する主要部であるデコードコア11は、書き込み
/読み出し等によりメモリ14をアクセスするときには
メモリの論理アドレスをメモリアドレス変換装置12へ
出力する。In FIG. 1, a decoding core 11, which is a main part for decoding MPEG2 video, outputs a logical address of the memory to a memory address translator 12 when accessing the memory 14 by writing / reading or the like.
【0013】デコードコア11は、メモリ14へデータ
を書き込むときには、ライト信号およびライトデータを
メモリアクセスユニット13へ出力してメモリ14に書
き込み、反対にメモリ14からデータを読み出すときに
はリード信号をメモリアクセスユニット13へ出力して
リードデータをメモリアクセスユニット13を介してメ
モリ14からから受け取る。When writing data to the memory 14, the decode core 11 outputs a write signal and write data to the memory access unit 13 and writes the same to the memory 14, and conversely, when reading data from the memory 14, it outputs a read signal to the memory access unit 13. 13 to receive read data from the memory 14 via the memory access unit 13.
【0014】また、デコードコア11は、メモリアドレ
ス変換装置12の動作モード(通常のメモリアドレス変
換モード,メモリ領域確保,メモリ領域開放等)を制御
するためのコマンドをメモリアドレス変換装置12へ出
力する。なお、このコマンドの形態は特に本発明の本質
にかかわるものではないくどれでも良い。The decode core 11 outputs a command for controlling the operation mode of the memory address translation device 12 (normal memory address translation mode, memory area reservation, memory area release, etc.) to the memory address translation device 12. . The form of this command is not particularly related to the essence of the present invention, and may be any.
【0015】メモリアドレス変換装置12は、デコード
コア11からのコマンドにより制御され、デコードコア
から入力された論理アドレスを物理アドレスに変換し、
この変換した物理アドレスをメモリアクセスユニット1
3へ出力する。The memory address translator 12 is controlled by a command from the decode core 11, translates a logical address input from the decode core into a physical address,
The converted physical address is stored in the memory access unit 1
Output to 3.
【0016】メモリアクセスユニット13は、デコード
コア11からのリード/ライト信号に応じて、メモリア
ドレス変換装置12から入力された物理アドレスを指定
してメモリ14からデータを読み出したり、或いはメモ
リ14へデータを書き込む。また、メモリアクセスユニ
ット13は、デコードチップの外部に繋がるメモリ14
に対して必要なRAS,CAS等の信号を発生する回路
であり、本発明とは本質的には関係しないのでどのよう
な形のものでもよい。The memory access unit 13 reads data from the memory 14 by designating a physical address input from the memory address translator 12 in accordance with a read / write signal from the decode core 11, or reads data from the memory 14. Write. Further, the memory access unit 13 includes a memory 14 connected to the outside of the decode chip.
Is a circuit for generating signals such as RAS and CAS necessary for the present invention. Since it is not essentially related to the present invention, any circuit may be used.
【0017】MPEG2のデコードでは、デコードがビ
デオの表示フレーム単位で行われるという特性上、メモ
リアクセスが極端に減る時間帯が周期的に現れる性格が
ある。またメモリ領域の開放や確保も基本的に1フレー
ムに1回であり、このメモリ領域の開放や確保の時間帯
は、アクセスが減る時間帯と適合する。従ってMPEG
2デコーダでは、アドレス変換については高速に処理す
る必要があるが、変換テーブルの更新にはこのメモリア
クセスが減った時間帯にある程度時間を掛けて行なって
もよい。In the decoding of MPEG2, due to the characteristic that the decoding is performed in units of video display frames, there is a characteristic that a time zone in which memory access is extremely reduced appears periodically. In addition, the memory area is released and secured basically once per frame, and the time period for releasing and securing the memory area is compatible with the time period when access is reduced. Therefore MPEG
In the 2-decoder, the address conversion needs to be performed at a high speed, but the conversion table may be updated by taking a certain period of time in a time period during which the memory access is reduced.
【0018】次に、本発明によるメモリアドレス変換装
置の開放領域を詰める処理について図2を用いて詳細に
説明する。Next, the process of reducing the open area of the memory address translator according to the present invention will be described in detail with reference to FIG.
【0019】図2に示す“アドレス”とは図1に示した
メモリ14の物理アドレスであり、“データ”とはこの
物理アドレスで指定されたメモリ14に保持されている
データである。"Address" shown in FIG. 2 is a physical address of the memory 14 shown in FIG. 1, and "data" is data held in the memory 14 specified by the physical address.
【0020】いま図2(a)に示す通りアドレス3B〜
72の領域についてメモリが開放されると、この領域の
後に領域のみ確保されていたアドレス73〜76に対応
したデータは、図2(b)に示す通りアドレス3B〜3
Eに対応したデータ領域に移される。これによりメモリ
14については、図2(b)に示す通りアドレス3F以
降連続した空き領域を確保することが出来る。Now, as shown in FIG.
When the memory of the area 72 is released, the data corresponding to the addresses 73 to 76, which are reserved only after the area, are stored in the addresses 3B to 3B as shown in FIG.
The data is moved to the data area corresponding to E. As a result, in the memory 14, as shown in FIG. 2B, it is possible to secure a continuous free area after the address 3F.
【0021】以下本発明の全ての実施の形態では、この
図2の処理を、周期的に現われるメモリアクセスが極端
に減る時間帯に行なうものである。In the following, in all the embodiments of the present invention, the processing of FIG. 2 is performed during a time period in which memory access that appears periodically decreases extremely.
【0022】(第1の実施の形態)次に、本発明のメモ
リアドレス変換装置の第1の実施の形態について図1乃
至図4を用いて詳細に説明する。(First Embodiment) Next, a first embodiment of the memory address translator according to the present invention will be described in detail with reference to FIGS.
【0023】開放領域の先頭データ(3B)は、レジス
タ31aに保持されており、デコードコア11からメモ
リ開放コマンドが入力されるとこの開放領域の先頭デー
タ(3B)をDカウンタ35へセットする(括弧の内の
文字は、保持されている図2のアドレスのデータ値を示
す)。The start data (3B) of the open area is held in the register 31a, and when a memory open command is input from the decode core 11, the start data (3B) of the open area is set in the D counter 35 ( The characters in parentheses indicate the data value of the address of FIG. 2 that is retained).
【0024】確保済み領域の先頭データ(73)(開放
する領域の最終アドレス+1)は、レジスタ31bに保
持されており、デコードコア11からメモリ開放コマン
ドが入力されるとこの確保済み領域の先頭データ(7
3)をSカウンタ34へセットする。The head data (73) of the reserved area (the last address of the area to be released + 1) is held in the register 31b, and when a memory release command is input from the decode core 11, the head data of the reserved area is read. (7
3) is set in the S counter 34.
【0025】未使用領域の先頭データ(77)(確保済
みの領域の最終アドレス+1)は、レジスタ31cから
Eレジスタ32へセットされており、Eレジスタ32は
保持している値を比較回路33へ出力する。The leading data (77) of the unused area (the last address of the secured area + 1) is set from the register 31c to the E register 32, and the E register 32 sends the held value to the comparison circuit 33. Output.
【0026】Dカウンタ35は、カウント値をデコーダ
36bおよびセレクタ30bへ出力する。The D counter 35 outputs the count value to the decoder 36b and the selector 30b.
【0027】セレクタ30bは、Dカウンタ35の値を
セレクタ群38の各セレクタの一方の入力端へ出力す
る。The selector 30b outputs the value of the D counter 35 to one input terminal of each selector of the selector group 38.
【0028】Sカウンタ34は、カウント値をデコーダ
36a,比較回路33およびセレクタ30cへ出力す
る。The S counter 34 outputs the count value to the decoder 36a, the comparison circuit 33 and the selector 30c.
【0029】セレクタ30cは、Sカウンタ34の値を
セレクタ群38の各セレクタの他方の入力端へ出力す
る。The selector 30c outputs the value of the S counter 34 to the other input terminal of each selector of the selector group 38.
【0030】デコーダ36aはSカウンタ34の出力を
デコードし、Sカウンタ34の値に対応するアドレスの
み“High”(以下、“H”と記す)となる信号をO
R回路37の一方の入力端およびセレクタ群38へ出力
する。これにより、セレクタ群38では、Sカウンタ3
4の値に対応するアドレスのみ、セレクタ30bの出力
を選択し、それ以外ではセレクタ30cの出力を選択し
てレジスタ群39に出力する。The decoder 36a decodes the output of the S counter 34, and outputs a signal which makes only the address corresponding to the value of the S counter 34 "High" (hereinafter referred to as "H").
It outputs to one input terminal of the R circuit 37 and the selector group 38. Thus, in the selector group 38, the S counter 3
Only the address corresponding to the value of 4 selects the output of the selector 30b, and otherwise selects the output of the selector 30c and outputs it to the register group 39.
【0031】デコーダ36bはDカウンタ35の出力を
デコードし、Dカウンタ35の値に対応するアドレスの
み“H”となる信号をOR回路37の入力端の他端へ出
力する。The decoder 36b decodes the output of the D counter 35, and outputs a signal at which only the address corresponding to the value of the D counter 35 becomes "H" to the other end of the input terminal of the OR circuit 37.
【0032】OR回路37は、デコーダ36aおよびデ
コーダ37bの出力値に対応するアドレスのみ“H”と
なる信号をレジスタ群39へ出力する。このOR回路3
7の出力によりレジスタ群39の該当レジスタにデータ
が書き込まれる。このとき、デコーダ36bで選択され
るレジスタ群39の該当レジスタには、セレクタ30c
の出力が書き込まれ、デコーダ36aで選択されるレジ
スタには、セレクタ30bの出力が書き込まれる。即
ち、デコーダ36aで選択されるレジスタと、デコーダ
36bで選択されるレジスタ間で値を交換する。The OR circuit 37 outputs to the register group 39 a signal in which only the addresses corresponding to the output values of the decoders 36a and 37b become "H". This OR circuit 3
By the output of 7, data is written to the corresponding register of the register group 39. At this time, the register of the register group 39 selected by the decoder 36b includes the selector 30c.
Is written, and the output of the selector 30b is written to the register selected by the decoder 36a. That is, the value is exchanged between the register selected by the decoder 36a and the register selected by the decoder 36b.
【0033】比較回路33は、データの入れ替え作業を
終了するための比較を行なっている。比較回路33は、
メモリ領域を開放させるコマンドが入力されると、Eレ
ジスタで保持している値とSカウンタ34の値とが等し
くなるか比較し、等しくなったら “H”の信号をデコ
ーダ36aおよびデコーダ36bに出力する。この
“H”の信号が入力されるとデコーダ36aおよびデコ
ーダ36bは“Low”(以下、“L”と記す)を出力
することとなり、メモリ領域を詰める処理は終了する。The comparison circuit 33 performs comparison for ending the data exchange operation. The comparison circuit 33
When a command to release the memory area is input, the value held in the E register is compared with the value of the S counter 34 to determine whether they are equal. If the values are equal, an "H" signal is output to the decoders 36a and 36b. I do. When the signal of "H" is input, the decoder 36a and the decoder 36b output "Low" (hereinafter, referred to as "L"), and the process of filling the memory area ends.
【0034】メモリ領域を詰める処理が終了すると、未
使用領域を保持しているレジスタ31cの値を更新する
と共に、通常の動作に戻り入力された論理アドレスに応
じた物理アドレスを出力する。When the process of filling the memory area is completed, the value of the register 31c holding the unused area is updated, and the operation returns to the normal operation to output the physical address corresponding to the input logical address.
【0035】このように構成されたメモリアドレス変換
回路の詰め替え作業時の各信号は、図4に示す通りとな
る。Each signal at the time of the refilling operation of the memory address conversion circuit thus configured is as shown in FIG.
【0036】図4(a)はクロックパルス、図4(b)
はメモリ領域を開放させるコマンドが入力されると作成
されるスタートパルスであり、これの立下りから詰め替
え作業が開始される。FIG. 4A shows a clock pulse, and FIG.
Is a start pulse generated when a command to release the memory area is input, and the refilling operation is started from the fall of the start pulse.
【0037】図4(c)は、Dカウント値の値。図4
(d)は、Sカウント値。図4(e)は、Sカウント値
を書き込む信号。図4(f)は、Dカウント値を書き込
む信号。図4(g)は、図4(b)のネガティブエッジ
にて“L”となり、比較回路33の出力により“H”と
なりメモリ領域の詰め替え作業をストップするストップ
信号である。FIG. 4C shows the value of the D count value. FIG.
(D) is the S count value. FIG. 4E shows a signal for writing the S count value. FIG. 4F shows a signal for writing a D count value. FIG. 4G shows a stop signal which becomes “L” at the negative edge in FIG. 4B and becomes “H” by the output of the comparison circuit 33 to stop the refilling operation of the memory area.
【0038】このように、メモリ領域の詰め換え作業に
ある程度の時間は必要となるが、従来のパーソナルコン
ピュータ等で一般に用いられているメモリアドレス変換
装置と比べ回路規模を小さくすることができる。As described above, although a certain amount of time is required for the refilling operation of the memory area, the circuit scale can be reduced as compared with a memory address translator generally used in a conventional personal computer or the like.
【0039】また、これらのメモリ領域の詰め替え作業
は、周期的に現われるメモリアクセスが極端に減る時間
帯に行なうので、MPEG2デコーダにとっては都合が
良い。The refilling of these memory areas is performed during a time period in which the number of periodically appearing memory accesses is extremely reduced, which is convenient for the MPEG2 decoder.
【0040】本発明はこれに限らず、回路については他
に色々と考えられる。The present invention is not limited to this, and various other circuits can be considered.
【0041】図3に示す実施例では、変換テーブルをレ
ジスタの形で持っており、出力を任意に読み出せるの
で、単純にスワップ動作になる。In the embodiment shown in FIG. 3, since the conversion table is provided in the form of a register and the output can be read arbitrarily, a simple swap operation is performed.
【0042】(第2の実施の形態)本発明のメモリアド
レス変換装置の第2の実施の形態について図5乃至図6
を用いて詳細に説明する。(Second Embodiment) FIGS. 5 and 6 show a second embodiment of the memory address translator according to the present invention.
This will be described in detail with reference to FIG.
【0043】この実施の形態は、第1の実施の形態で説
明した図3の一部を変形したもので、入力側のセレクタ
群38を一つにまとめ、セレクタ54としたものであ
る。なお、回路規模としては、セレクタ群38は一つに
まとめられているが、代わりに書込バッファ53が増え
ている。またデコーダ36b,36aが一つにまとめら
れデコーダ52となると共にOR回路37が削られてい
るが、代わりにセレクタ51が増加している。In this embodiment, a part of FIG. 3 described in the first embodiment is modified, and the selector group 38 on the input side is integrated into a selector 54. In addition, as for the circuit scale, the selector group 38 is integrated into one, but the write buffer 53 is increased instead. Further, the decoders 36b and 36a are combined into one to form the decoder 52 and the OR circuit 37 is omitted, but the number of selectors 51 is increased instead.
【0044】図5において、図3と同じものについては
同一番号を付し説明を省略する。また図6がそのタイミ
ングを示したものである。図6のタイミングを基にして
回路の動作を説明する。In FIG. 5, the same components as those in FIG. 3 are denoted by the same reference numerals and description thereof is omitted. FIG. 6 shows the timing. The operation of the circuit will be described based on the timing in FIG.
【0045】まず、スタートパルスにより、Dカウン
タ、Sカウンタに値がロードされる。Dカウンタ、Sカ
ウンタは2クロックに1回カウントアップする。Dカウン
タ、Sカウンタの値により、セレクタ30b、30cは
レジスタ群39の出力を選択し、セレクタ54に出力す
る。このときセレクタ30cの出力は書込バッファ53
を経由するため、1クロック遅延する。セレクタ54は
図示しないコントロール回路で作られるDS出力選択信
号(Dカウンタ35とSカウンタ34の出力の一方を選
択するための信号)により、セレクタ30bと書込バッ
ファ53の出力を選択する。この選択した値が、図6
(f)に示すwdataである。First, a value is loaded to the D counter and the S counter by a start pulse. The D counter and the S counter count up once every two clocks. The selectors 30 b and 30 c select the output of the register group 39 based on the values of the D counter and the S counter, and output the selected output to the selector 54. At this time, the output of the selector 30c is
Is delayed by one clock. The selector 54 selects an output of the selector 30b and an output of the write buffer 53 by a DS output selection signal (a signal for selecting one of the outputs of the D counter 35 and the S counter 34) generated by a control circuit (not shown). This selected value is shown in FIG.
This is wdata shown in (f).
【0046】比較回路33は、Eレジスタ32からの値
とSカウンタ34からの値との比較結果をセレクタ51
に出力する。Sカウンタ34は、カウント値をセレクタ
51へ出力する。Dカウンタ35は、カウント値をセレ
クタ51へ出力する。セレクタ51は、ストップ信号が
“L”の期間にはDカウンタとSカウンタの値を交互に出
力し、ストップ信号が“H”になると、無効信号をデコ
ーダ52に出力する。The comparison circuit 33 compares the comparison result between the value from the E register 32 and the value from the S counter 34 with a selector 51.
Output to The S counter 34 outputs the count value to the selector 51. The D counter 35 outputs the count value to the selector 51. The selector 51 alternately outputs the values of the D counter and the S counter while the stop signal is “L”, and outputs an invalid signal to the decoder 52 when the stop signal becomes “H”.
【0047】書込バッファ53は、waddrの値を1
クロック遅延させる。The write buffer 53 sets the value of waddr to 1
Delay the clock.
【0048】デコーダ52は入力する値をデコードして
レジスタ群39に“H”の信号を出力する。レジスタ群
39では、デコーダ52から“H”の信号が入力された
レジスタだけが、次のクロックでデータの書き込みを行
なう。The decoder 52 decodes the input value and outputs an "H" signal to the register group 39. In the register group 39, only the register to which the “H” signal is input from the decoder 52 writes data at the next clock.
【0049】即ち、図6(g)に示すwaddrで選択
されるレジスタにwdataが書き込まれる。従って、
2クロックでSカウンタで示されるレジスタと、Dカウ
ンタで示されるレジスタの値を交換する。That is, wdata is written to the register selected by waddr shown in FIG. Therefore,
The value of the register indicated by the S counter and the value of the register indicated by the D counter are exchanged every two clocks.
【0050】図3に比べて回路規模は小さくなるが、更
新に必要な時間が長くなる。Although the circuit scale is smaller than that of FIG. 3, the time required for updating is longer.
【0051】(第3の実施の形態)図7は本発明による
第3の実施の形態である。本実施の形態では、変換テー
ブルをメモリの形で持っている。メモリは2ポートにな
っているが、図3、図5に示した第1の実施の形態、第
2の実施の形態と比べると、より時間が掛かる。(Third Embodiment) FIG. 7 shows a third embodiment according to the present invention. In the present embodiment, the conversion table is provided in the form of a memory. Although the memory has two ports, the first embodiment shown in FIGS.
It takes more time compared to the second embodiment.
【0052】71は2ポートメモリ、72は出力レジス
タ、73,75,76はセレクタ、74はコントロー
ラ、77はSカウンタ、78はDカウンタ79からの値
を2クロック遅延させるDバッファ、79はDカウン
タ、81はEレジスタ、80は比較回路であり、図7に
示す通りに接続されている。Reference numeral 71 denotes a two-port memory; 72, an output register; 73, 75, and 76 selectors; 74, a controller; 77, an S counter; 78, a D buffer for delaying the value from the D counter 79 by two clocks; A counter, 81 is an E register, and 80 is a comparison circuit, which is connected as shown in FIG.
【0053】以下、図8のタイミングチャートを用いて
動作を説明する。The operation will be described below with reference to the timing chart of FIG.
【0054】図8(a)はクロックであり、図8(b)
に示すスタートパルスにより、Dカウンタ79、Sカウ
ンタ77に初期値がセットされ、Dカウンタ79はコン
トローラ74からの図8(d)に示すDカウントアップ
信号によりカウントアップ動作を行ない、Sカウンタ7
7はコントローラ74からの図8(f)に示すSカウン
トアップ信号によりカウントアップ動作を行なう。FIG. 8A shows a clock, and FIG.
The initial values are set in the D counter 79 and the S counter 77 by the start pulse shown in (1), and the D counter 79 performs the count-up operation in response to the D count-up signal shown in FIG.
7 performs a count-up operation in response to an S count-up signal shown in FIG.
【0055】Dカウンタ79、Sカウンタ77の値はコ
ントローラ74からの信号により選択されて、2ポート
メモリ71の図8(j)に示すリードアドレスになる。The values of the D counter 79 and the S counter 77 are selected by a signal from the controller 74 and become the read address of the two-port memory 71 shown in FIG.
【0056】また、Dカウンタ79の出力はカウントア
ップと同時にDバッファ78に取り込まれ、Sカウンタ
77の値と選択されて2ポートメモリ71のライトアド
レスになる。2ポートメモリ71のリード時のレイテン
シーを1クロックとしているので、出力レジスタ72か
らデータが取り出されるのは、図8(j)に示すリード
アドレスに対して2クロック遅延する。Dカウンタ79
のアドレスからリードしたデータをSカウンタ77のア
ドレスに書き込み、Sカウンタ77のアドレスから読み
込んだデータはDバッファ78のアドレス(対応するD
カウンタ79のアドレス)で書き込む。The output of the D counter 79 is taken into the D buffer 78 at the same time as counting up, and is selected as the value of the S counter 77 to become the write address of the two-port memory 71. Since the latency at the time of reading of the two-port memory 71 is one clock, the data is extracted from the output register 72 by two clocks with respect to the read address shown in FIG. D counter 79
Is written to the address of the S counter 77, and the data read from the address of the S counter 77 is stored in the address of the D buffer 78 (the corresponding D
(Address of the counter 79).
【0057】図8(h)は、Dカウンタからの信号を読
み出すためのDリードイネーブル信号、図8(i)はS
カウンタからの信号を読出すためのSリードイネーブル
信号、それぞれは出力のアウトプットイネーブルではな
く、リードアドレスの意味である。FIG. 8H shows a D read enable signal for reading a signal from the D counter, and FIG.
An S read enable signal for reading a signal from the counter, each of which means a read address, not an output enable of an output.
【0058】図8(k)は、メモリーからの出力信号、
ここでは一般的な同期式2ポートメモリーを考えている
ので、アドレス,イネーブルに対して出力は1クロック
遅れている。図8(n)は、メモリーに対するライトイ
ネーブル信号である。図8(m)に示すライトアドレス
に図8(l)に示す出力レジスタの値を書きこむ。ま
た、書き込みデータはセレクタ73で、図8(l)に示
す出力レジスタと図8(f)に示すSカウント値とを選
択しているが、これは初期化のためであり、通常動作時
は図8(l)に示す出力レジスタを選択する。FIG. 8 (k) shows an output signal from the memory,
Here, since a general synchronous two-port memory is considered, the output is delayed by one clock with respect to the address and the enable. FIG. 8 (n) shows a write enable signal for the memory. The value of the output register shown in FIG. 8 (l) is written to the write address shown in FIG. 8 (m). The write data is selected by the selector 73 between the output register shown in FIG. 8 (l) and the S count value shown in FIG. 8 (f). This is for initialization, and during normal operation, The output register shown in FIG. 8 (l) is selected.
【0059】このように、メモリ領域の詰め換え作業に
ある程度の時間は必要となるが、従来のパーソナルコン
ピュータ等で一般に用いられているメモリアドレス変換
装置と比べ回路規模を小さくすることができる。As described above, although a certain amount of time is required for the refilling operation of the memory area, the circuit scale can be reduced as compared with a memory address translator generally used in a conventional personal computer or the like.
【0060】(第4の実施の形態)図9に示す実施の形
態は図7で示した実施の形態の変換テーブルを1ポート
のメモリで構成するように変形したものである。メモリ
のリードとライトが同時に行なえないため、第3の実施
の形態と比べ、更新には更に時間がかかる。(Fourth Embodiment) The embodiment shown in FIG. 9 is a modification of the conversion table of the embodiment shown in FIG. 7 so as to be constituted by a one-port memory. Since reading and writing of the memory cannot be performed at the same time, updating takes longer time than in the third embodiment.
【0061】図10がそのタイミングを示したものであ
る。FIG. 10 shows the timing.
【0062】第3の実施例と同様にDカウンタの示すア
ドレスのデータと、Sカウンタの示すアドレスのデータ
を交換するが、1ポートメモリは読み出しと書き込みが
同時に行なえないため、読み出したデータを一旦ライト
バッファ1,ライトバッファ2に格納してから書き込
む。As in the third embodiment, the data at the address indicated by the D counter and the data at the address indicated by the S counter are exchanged. However, since reading and writing cannot be performed simultaneously in the one-port memory, the read data is temporarily stored. The data is stored in the write buffers 1 and 2 and then written.
【0063】まず、Sカウンタで示すアドレスから読出
したデータをバッファ1に格納し、次に、Dカウンタで
示すアドレスから読出したデータをバッファ2に格納す
る。続いてDカウンタで示すアドレスにバッファ1の内
容を格納し、Sカウンタで示すアドレスにバッファ2の
内容を格納する。Dカウンタ,Sカウンタをインクリメ
ントして、Sカウンタの値がEレジスタと同じになるま
で上記の動作を繰り返す。First, data read from the address indicated by the S counter is stored in the buffer 1, and then data read from the address indicated by the D counter is stored in the buffer 2. Subsequently, the contents of the buffer 1 are stored at the address indicated by the D counter, and the contents of the buffer 2 are stored at the address indicated by the S counter. The D counter and the S counter are incremented, and the above operation is repeated until the value of the S counter becomes equal to the value of the E register.
【0064】このように、メモリ領域の詰め換え作業に
ある程度の時間は必要となるが、従来のパーソナルコン
ピュータ等で一般に用いられているメモリアドレス変換
装置と比べ回路規模を小さくすることができる。As described above, although a certain amount of time is required for the refilling operation of the memory area, the circuit scale can be reduced as compared with a memory address translator generally used in a conventional personal computer or the like.
【0065】[0065]
【発明の効果】以上説明したようにこの発明によれば、
MPEG2デコーダのようにアドレス変換そのものは高
速性が必要だが、テーブルの更新の際に多少の時間的余
裕があるような用途に対して、出来るだけ簡易な回路構
成で必要十分担機能を持つアドレス変換回路を提供する
ことができる。As described above, according to the present invention,
The address translation itself requires high speed, as in the MPEG2 decoder, but has the necessary and sufficient functions with a circuit configuration as simple as possible for applications where there is some time margin when updating the table. A circuit can be provided.
【図1】本発明のメモリアドレス変換装置を使った場合
のメモリアクセス構成図。FIG. 1 is a memory access configuration diagram when a memory address translator according to the present invention is used.
【図2】本発明によるテーブル更新の操作例を示す図。FIG. 2 is a diagram showing an operation example of a table update according to the present invention.
【図3】本発明のメモリアドレス変換装置の第1の実施
の形態の構成を示す図。FIG. 3 is a diagram showing a configuration of a first embodiment of a memory address translator according to the present invention.
【図4】図3の動作を説明するための図。FIG. 4 is a view for explaining the operation of FIG. 3;
【図5】本発明のメモリアドレス変換装置の第2の実施
の形態の構成を示す図。FIG. 5 is a diagram showing a configuration of a second embodiment of the memory address translation device of the present invention.
【図6】図5の動作を説明するための図。FIG. 6 is a view for explaining the operation of FIG. 5;
【図7】本発明のメモリアドレス変換装置の第3の実施
の形態の構成を示す図。FIG. 7 is a diagram showing a configuration of a third embodiment of the memory address translation device of the present invention.
【図8】図7の動作を説明するための図。FIG. 8 is a diagram for explaining the operation of FIG. 7;
【図9】本発明のメモリアドレス変換装置の第4の実施
の形態の構成を示す図。FIG. 9 is a diagram showing a configuration of a fourth embodiment of the memory address translation device of the present invention.
【図10】図9の動作を説明するための図。FIG. 10 is a view for explaining the operation of FIG. 9;
【符号の説明】 11…デコードコア、12…メモリアドレス変換装置、
13…メモリアクセスユニット、14…メモリ、30
a,30b,30c…セレクタ、31a,31b,31
c…レジスタ、32…Eレジスタ、33…比較回路、3
4…Sカウンタ、35…Dカウンタ、36a,36b…
デコーダ、37…OR回路、38…セレクタ群、39…
レジスタ群。[Description of Signs] 11: decode core, 12: memory address translator,
13: memory access unit, 14: memory, 30
a, 30b, 30c ... selectors, 31a, 31b, 31
c: register, 32: E register, 33: comparison circuit, 3
4 ... S counter, 35 ... D counter, 36a, 36b ...
Decoder, 37 ... OR circuit, 38 ... Selector group, 39 ...
Register group.
Claims (2)
ドレス変換装置であって、アドレス変換用のテーブルを
持ち、テーブルのアドレスがCPUに対する論理メモリ
の上位アドレスを表し、テーブルの内容が論理アドレス
に対応する物理アドレスを意味する構成になっており、
メモリを使用する場合に使用する用途毎に領域を確保
し、不要になると領域を開放する制御をするメモリアド
レス変換装置において、 領域の確保はアドレス変換テーブルのアドレスの低位か
ら順に連続した領域を確保し、領域を開放したときに確
保した領域に不連続が生じたときは、開放した論理アド
レスに順に高位アドレスの領域を詰めていくことにより
連続した領域を確保することを特徴とするメモリアドレ
ス変換装置。1. A memory address translation device used for an MPEG2 decoding device, comprising a table for address translation, wherein an address of the table represents an upper address of a logical memory for a CPU, and a content of the table corresponds to a physical address corresponding to the logical address. It is configured to mean an address,
In a memory address translator that reserves an area for each application that uses the memory and releases the area when it is no longer needed, the area is secured in order from the lowest address in the address translation table. When a discontinuity occurs in the area secured when the area is released, a continuous area is secured by sequentially filling the area of the higher logical address with the released logical address. apparatus.
域を指すアドレスカウンターと、 開放する領域の直後の確保済み領域を指すアドレスカウ
ンターと、 確保済み領域の最終アドレスを指すレジスターとを備
え、 確保済み領域と開放する領域のテーブルの内容を交換す
ることにより、領域開放後も論理ブロックが連続するよ
うにテーブル内容を更新することを特徴とする請求項1
に記載のメモリアドレス変換装置。2. An apparatus according to claim 1, further comprising: an address counter pointing to an open area when the table is updated upon area release, an address counter pointing to a reserved area immediately after the area to be released, and a register pointing to the last address of the reserved area. 2. The contents of a table of an area and an area to be released are exchanged to update the table contents so that logical blocks continue even after the area is released.
3. The memory address translation device according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000019706A JP2001209573A (en) | 2000-01-28 | 2000-01-28 | Memory address converter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000019706A JP2001209573A (en) | 2000-01-28 | 2000-01-28 | Memory address converter |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001209573A true JP2001209573A (en) | 2001-08-03 |
Family
ID=18546365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000019706A Pending JP2001209573A (en) | 2000-01-28 | 2000-01-28 | Memory address converter |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001209573A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003088677A1 (en) * | 2002-04-12 | 2003-10-23 | Matsushita Electric Industrial Co., Ltd. | Image encoding method and image decoding method |
KR100962814B1 (en) | 2002-04-12 | 2010-06-10 | 파나소닉 주식회사 | Image coding method and image decoding method |
JP2012230712A (en) * | 2012-07-26 | 2012-11-22 | Fujitsu Semiconductor Ltd | Memory device, memory controller, and memory system |
US8890881B2 (en) | 2006-08-30 | 2014-11-18 | Samsung Electronics Co., Ltd. | Mapping method and video system for mapping pixel data included in the same pixel group to the same bank of memory |
-
2000
- 2000-01-28 JP JP2000019706A patent/JP2001209573A/en active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100962813B1 (en) | 2002-04-12 | 2010-06-10 | 파나소닉 주식회사 | Image coding method and image decoding method |
KR100993388B1 (en) | 2002-04-12 | 2010-11-10 | 파나소닉 주식회사 | Video encoding method and video decoding method |
US7218787B2 (en) | 2002-04-12 | 2007-05-15 | Matsushita Electric Industrial Co., Ltd. | Picture coding method and picture decoding method |
US7221803B2 (en) | 2002-04-12 | 2007-05-22 | Matsushita Electric Industrial Co., Ltd. | Picture coding method and picture decoding method |
KR100942344B1 (en) * | 2002-04-12 | 2010-02-12 | 파나소닉 주식회사 | Image coding method and image decoding method |
KR100962814B1 (en) | 2002-04-12 | 2010-06-10 | 파나소닉 주식회사 | Image coding method and image decoding method |
EP2178304A3 (en) * | 2002-04-12 | 2010-09-15 | Panasonic Corporation | Image encoding method and image decoding method |
KR100962815B1 (en) | 2002-04-12 | 2010-06-10 | 파나소닉 주식회사 | Image coding method and image decoding method |
US7167591B2 (en) | 2002-04-12 | 2007-01-23 | Matsushita Electric Industrial Co., Ltd. | Image encoding method and image decoding method |
KR100985634B1 (en) | 2002-04-12 | 2010-10-05 | 파나소닉 주식회사 | Video encoding method and video decoding method |
WO2003088677A1 (en) * | 2002-04-12 | 2003-10-23 | Matsushita Electric Industrial Co., Ltd. | Image encoding method and image decoding method |
KR100995434B1 (en) | 2002-04-12 | 2010-11-18 | 파나소닉 주식회사 | Video encoding method and video decoding method |
US8890881B2 (en) | 2006-08-30 | 2014-11-18 | Samsung Electronics Co., Ltd. | Mapping method and video system for mapping pixel data included in the same pixel group to the same bank of memory |
JP2012230712A (en) * | 2012-07-26 | 2012-11-22 | Fujitsu Semiconductor Ltd | Memory device, memory controller, and memory system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3598321B2 (en) | Buffering data exchanged between buses operating at different frequencies | |
JP2013509655A (en) | Address translation unit containing multiple virtual queues | |
JP3732139B2 (en) | Memory control circuit and memory bus arbitration method | |
JP4820566B2 (en) | Memory access control circuit | |
KR20030029030A (en) | Memory control method, memory control circuit using the control method, and integrated circuit device with the memory control circuit | |
KR100288177B1 (en) | Memory access control circuit | |
JP2001209573A (en) | Memory address converter | |
JP4042088B2 (en) | Memory access method | |
KR0155044B1 (en) | RAM data transmission device using first-in first-out memory and its method | |
JP2003271445A (en) | Memory control device and method | |
JP3618249B2 (en) | Data transfer device | |
JP2007018222A (en) | Memory access control circuit | |
US20250208990A1 (en) | Smart column address strobe (cas) burst continuation | |
JPH10333659A (en) | Memory control method and device therefor | |
JPH10340596A (en) | Data storage device and semiconductor memory | |
KR20060106625A (en) | Memory controllers and electronic devices | |
JP3201439B2 (en) | Direct memory access control circuit | |
JP4093872B2 (en) | Memory control circuit | |
JPH06103026A (en) | Memory system | |
JPS6054065A (en) | synchronous control device | |
JP2000172553A (en) | Data processing device | |
JP3259095B2 (en) | Data transfer method | |
JPH05342140A (en) | Data processor | |
JP3076199B2 (en) | Buffer access control circuit | |
JP2826780B2 (en) | Data transfer method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050414 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050606 |