JP2009199420A - Memory controller - Google Patents
Memory controller Download PDFInfo
- Publication number
- JP2009199420A JP2009199420A JP2008041392A JP2008041392A JP2009199420A JP 2009199420 A JP2009199420 A JP 2009199420A JP 2008041392 A JP2008041392 A JP 2008041392A JP 2008041392 A JP2008041392 A JP 2008041392A JP 2009199420 A JP2009199420 A JP 2009199420A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- memory control
- logical address
- access
- 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
Images
Abstract
Description
本発明は、メモリ制御装置に関し、特に、デバイスによってアクセスが要求されたメモリの論理アドレスを物理アドレスにページテーブルを用いて変換するメモリ制御装置に関するものである。 The present invention relates to a memory control device, and more particularly to a memory control device that converts a logical address of a memory requested to be accessed by a device into a physical address using a page table.
従来、デバイスによってアクセスが要求されたメモリの論理アドレスを物理アドレスにページテーブルを用いて変換するものとして、メモリにアクセスする際のアドレス生成時に、ブロックカウンタに加えてアドレス変換テーブルを具備して、ブロックカウンタにより得られた連続的な値をアドレス変換テーブルに設定した任意のブロックアドレスに変換することで、メモリ上に点在した不連続なエリアに格納されたブロックデータに対して連続して処理することを容易にするものがある(例えば、特許文献1参照)。
しかしながら、上述した従来の技術は、論理アドレスと物理アドレスとのアドレス変換を行うときにキャッシュでミスヒットが発生すると、該当するレコードをキャッシュに読み込むためのオーバヘッドがかかるといった課題があった。 However, the above-described conventional technique has a problem in that when a miss hit occurs in the cache when address conversion between a logical address and a physical address is performed, overhead is required to read the corresponding record into the cache.
本発明は、従来の課題を解決するためになされたもので、アドレス変換にかかるオーバヘッドを抑制することができるメモリ制御装置を提供することを目的とする。 The present invention has been made in order to solve the conventional problems, and an object of the present invention is to provide a memory control device capable of suppressing the overhead associated with address translation.
本発明のメモリ制御装置は、複数のページに区画されたデータ格納領域と、前記ページを示す物理アドレスと論理アドレスとの対応を1つのレコードとするページテーブルを格納するテーブル格納領域とを有し、前記物理アドレスで前記データ格納領域にアクセスされるメモリと、前記メモリに向けて前記論理アドレスでアクセスの要求を行うデバイスと、前記ページテーブルの複数のレコードを一時記憶するためのキャッシュを有し、前記キャッシュに記憶されたレコードが表す対応にしたがって前記論理アドレスを前記物理アドレスに変換することにより、前記デバイスから要求されたアクセスを前記メモリに要求するメモリ制御部とを備えたメモリ制御装置において、前記メモリ制御部は、前記キャッシュでミスヒットが発生したときに、前記キャッシュに記憶された全てのレコードを更新する構成を有している。 A memory control device according to the present invention includes a data storage area partitioned into a plurality of pages, and a table storage area for storing a page table in which a correspondence between a physical address and a logical address indicating the page is one record. A memory for accessing the data storage area at the physical address; a device for requesting access to the memory at the logical address; and a cache for temporarily storing a plurality of records in the page table. A memory control unit comprising: a memory control unit that requests access from the device to the memory by converting the logical address into the physical address according to a correspondence represented by the record stored in the cache; When the memory control unit misses in the cache Has a configuration for updating all records stored in the cache.
本発明は、アドレス変換にかかるオーバヘッドを抑制することができるといった効果を有するメモリ制御装置を提供することができる。 The present invention can provide a memory control device having an effect that the overhead associated with address translation can be suppressed.
以下、本発明の実施の形態について、図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.
(第1の実施の形態)
本発明の第1の実施の形態のメモリ制御装置を図1に示す。
(First embodiment)
A memory control apparatus according to a first embodiment of the present invention is shown in FIG.
図1に示すように、メモリ制御装置1は、メモリ2と、メモリ2に向けてアクセスの要求を行うデバイス3と、デバイス3によるアクセスの要求を制御するメモリ制御部4とを備えている。
As illustrated in FIG. 1, the memory control device 1 includes a
メモリ2は、例えば、SDRAM(Synchronous Dynamic Random Access Memory)によって構成され、複数のページに区画されたデータ格納領域10と、ページを示す物理アドレスと論理アドレスとの対応を1つのレコードとするページテーブルを格納するテーブル格納領域11とを有している。
The
なお、本実施の形態においては、データ格納領域10に記憶されるデータは、主に、オーディオビジュアルデータ等のように、サイズが大きな連続したデータであるものとする。また、データ格納領域10の各ページのサイズは、4096バイトとする。
In the present embodiment, the data stored in the
ページテーブルの各レコードは、各ページの先頭の物理アドレスと論理アドレスとの対応を表している。本実施の形態において、各レコードのサイズは、2バイトとする。 Each record in the page table represents the correspondence between the top physical address and the logical address of each page. In the present embodiment, the size of each record is 2 bytes.
デバイス3は、放送受信器等から放送信号が入力される放送入力デバイス、撮影装置等から画像信号が入力される画像入力デバイス、画像信号にMPEGやJPEG等の画像圧縮を施す画像圧縮デバイス、液晶ディスプレイ等の出力装置に画像信号を出力するための画像出力デバイス、または、CPU(Central Processing Unit)等のようなメモリマスタによって構成されている。デバイス3は、メモリ2に向けてデータ格納領域10のアクセスの要求を論理アドレスで行うようになっている。
The
メモリ制御部4は、ページテーブルの複数のレコードを一時記憶するためのキャッシュ12を有している。本実施の形態において、キャッシュ12は、64個のレコードを記憶する容量、すなわち、128バイトの記憶容量を有するものとする。
The
メモリ制御部4は、キャッシュ12に記憶されたレコードが表す対応にしたがって論理アドレスを物理アドレスに変換することにより、デバイス3から論理アドレスで要求されたアクセスを物理アドレスでメモリ2に要求するようになっている。
The
特に、メモリ制御部4は、キャッシュ12でミスヒットが発生したときに、キャッシュ12に記憶された全てのレコードを更新するようになっている。
In particular, the
ここで、メモリ制御部4は、メモリ2のテーブル格納領域11に格納されたページテーブルをキャッシュ12のサイズに応じた数、すなわち本実施の形態においては、64個のレコード毎にグループ化し、キャッシュ12でミスヒットが発生したときに、該当する論理アドレスに対する対応を表すレコードを含むグループでキャッシュ12に記憶された全てのレコードを更新するようにしてもよい。
Here, the
また、メモリ制御部4は、キャッシュ12でミスヒットが発生したときに、該当する論理アドレスに対する対応を表すレコードからキャッシュ12のサイズに応じた数、すなわち本実施の形態においては、64個のレコードでキャッシュ12に記憶された全てのレコードを更新するようにしてもよい。
In addition, when a memory hit occurs in the
以上のように構成されたメモリ制御装置1について図2を用いてその動作を説明する。 The operation of the memory control device 1 configured as described above will be described with reference to FIG.
まず、デバイス3から論理アドレスでメモリ2のデータ格納領域10に対するアクセスの要求が行われると(S1)、当該論理アドレスに対する対応を表すレコードがキャッシュ12に記憶されているか否か、すなわち、キャッシュ12でミスヒットが発生しないか否かがメモリ制御部4によって判断される(S2)。
First, when an access request is made from the
キャッシュ12でミスヒットが発生したと判断された場合には、当該論理アドレスに対する対応を表すレコードを含み、キャッシュ12と同じサイズの分のレコードがメモリ制御部4によってメモリ2のテーブル格納領域11から取得され、取得されたレコードでキャッシュ12に記憶されたレコードが全て更新される(S3)。
If it is determined that a miss has occurred in the
キャッシュ12でミスヒットが発生しないと判断された場合またはキャッシュ12の全てのレコードの更新が完了した場合には、キャッシュ12に記憶されているレコードに基づいて当該論理アドレスに対応する物理アドレスがメモリ制御部4によって特定され(S4)、特定された物理アドレスでメモリ2のデータ格納領域10に対するアクセスが行われる(S5)。
When it is determined that no miss occurs in the
このような本発明の第1の実施の形態のメモリ制御装置1は、キャッシュ12でミスヒットが発生したときに、キャッシュ12に記憶されている全てのレコードを更新することにより、サイズが大きな連続したデータに対して、続いてアクセスが要求される論理アドレスに対する対応を表すレコードがキャッシュ12でヒットする可能性を高め、アドレス変換にかかるオーバヘッドを抑制することができる。
The memory control device 1 according to the first embodiment of the present invention has a large continuous size by updating all records stored in the
(第2の実施の形態)
本発明の第2の実施の形態のメモリ制御装置を図3に示す。なお、本実施の形態では、本発明の第1の実施の形態のメモリ制御装置1の構成要素と同一な構成要素には、同一の符号を付して説明を省略する。
(Second Embodiment)
FIG. 3 shows a memory control apparatus according to the second embodiment of the present invention. In the present embodiment, the same components as those of the memory control device 1 according to the first embodiment of the present invention are denoted by the same reference numerals and description thereof is omitted.
図3に示すように、メモリ制御装置20は、メモリ2と、メモリ2に向けてアクセスの要求を行う複数のデバイス3a乃至3cと、各デバイス3a乃至3cによるアクセスの要求を制御するメモリ制御部24とを備えている。なお、図3において、3つのデバイス3a乃至3cが示されているが、本発明のメモリ制御装置を構成するデバイスの数を限定するものではない。
As illustrated in FIG. 3, the
各デバイス3a乃至3cは、放送受信器等から放送信号が入力される放送入力デバイス、撮影装置等から画像信号が入力される画像入力デバイス、画像信号にMPEGやJPEG等の画像圧縮を施す画像圧縮デバイス、液晶ディスプレイ等の出力装置に画像信号を出力するための画像出力デバイス、または、CPU等のようなメモリマスタよってそれぞれ構成されている。各デバイス3a乃至3cは、メモリ2に向けてデータ格納領域10のアクセスの要求を論理アドレスで行うようになっている。
Each of the devices 3a to 3c includes a broadcast input device that receives a broadcast signal from a broadcast receiver, an image input device that receives an image signal from a photographing apparatus, and an image compression that performs image compression such as MPEG or JPEG on the image signal. The image output device is configured to output an image signal to an output device such as a device or a liquid crystal display, or a memory master such as a CPU. Each device 3a to 3c makes a request for access to the
メモリ制御部24は、ページテーブルの複数のレコードを一時記憶するためにデバイス3a乃至3cにそれぞれ対応するキャッシュ12a乃至12cを有している。本実施の形態において、各キャッシュ12a乃至12cは、64個のレコードを記憶する容量、すなわち、128バイトの記憶容量を有するものとする。
The
メモリ制御部24は、キャッシュ12a乃至12cに記憶されたレコードが表す対応にしたがって論理アドレスを物理アドレスに変換することにより、デバイス3a乃至3cから論理アドレスで要求されたアクセスを物理アドレスでメモリ2に要求するようになっている。
The
特に、メモリ制御部24は、キャッシュ12a乃至12cの何れかでミスヒットが発生したときに、ミスヒットが発生したキャッシュ12a乃至12cに記憶された全てのレコードを更新するようになっている。
In particular, when a miss occurs in any of the
ここで、メモリ制御部24は、メモリ2のテーブル格納領域11に格納されたページテーブルをキャッシュ12a乃至12cのサイズに応じた数、すなわち本実施の形態においては、64個のレコード毎にグループ化し、キャッシュ12a乃至12cでミスヒットが発生したときに、該当する論理アドレスに対する対応を表すレコードを含むグループで、ミスヒットが発生したキャッシュ12a乃至12cに記憶された全てのレコードを更新するようにしてもよい。
Here, the
また、メモリ制御部24は、キャッシュ12a乃至12cの何れかでミスヒットが発生したときに、該当する論理アドレスに対する対応を表すレコードからキャッシュ12a乃至12cのサイズに応じた数、すなわち本実施の形態においては、64個のレコードで、ミスヒットが発生したキャッシュ12a乃至12cに記憶された全てのレコードを更新するようにしてもよい。
In addition, when a miss hit occurs in any of the
以上のように構成されたメモリ制御装置20について図4を用いてその動作を説明する。
The operation of the
まず、デバイス3a乃至3cの何れかから論理アドレスでメモリ2のデータ格納領域10に対するアクセスの要求が行われると(S11)、アクセスを要求したデバイス3a乃至3cに対応するキャッシュ12a乃至12cがメモリ制御部24によって特定される(S12)。
First, when an access request to the
ここで、特定されたキャッシュ12a乃至12c(以下、「特定キャッシュ」という。)に当該論理アドレスに対する対応を表すレコードが記憶されているか否か、すなわち、特定キャッシュでミスヒットが発生しないか否かがメモリ制御部24によって判断される(S13)。
Here, whether or not a record indicating correspondence to the logical address is stored in the
特定キャッシュでミスヒットが発生したと判断された場合には、当該論理アドレスに対する対応を表すレコードを含み、キャッシュ12a乃至12cと同じサイズの分のレコードがメモリ制御部24によってメモリ2のテーブル格納領域11から取得され、取得されたレコードで、特定キャッシュに記憶されたレコードが全て更新される(S14)。
When it is determined that a miss hit has occurred in the specific cache, the
特定キャッシュでミスヒットが発生しないと判断された場合または特定キャッシュの全てのレコードの更新が完了した場合には、特定キャッシュに記憶されているレコードに基づいて当該論理アドレスに対応する物理アドレスがメモリ制御部24によって特定され(S15)、特定された物理アドレスでメモリ2のデータ格納領域10に対するアクセスが行われる(S16)。
When it is determined that no miss occurs in the specific cache, or when all the records in the specific cache have been updated, the physical address corresponding to the logical address is stored in the memory based on the record stored in the specific cache. The data is specified by the control unit 24 (S15), and the
このような本発明の第2の実施の形態のメモリ制御装置20は、キャッシュ12a乃至12cをデバイス3a乃至3c毎に有し、各キャッシュ12a乃至12cでミスヒットが発生したときに、ミスヒットが発生したキャッシュ12a乃至12cに記憶されている全てのレコードを更新することにより、サイズが大きな連続したデータに対して、続いて各デバイス3a乃至3cによってアクセスが要求される論理アドレスに対する対応を表すレコードが各キャッシュ12a乃至12でヒットする可能性を高め、アドレス変換にかかるオーバヘッドを抑制することができる。
The
以上のように、本発明にかかるメモリ制御装置は、アドレス変換にかかるオーバヘッドを抑制することができるという効果を有し、例えば、デバイスによってアクセスが要求されたメモリの論理アドレスを物理アドレスにページテーブルを用いて変換するメモリ制御装置等として有用である。 As described above, the memory control device according to the present invention has an effect that it is possible to suppress the overhead associated with address translation. For example, the logical address of the memory requested to be accessed by the device is used as the page table. This is useful as a memory control device that performs conversion using
1、20 メモリ制御装置
2 メモリ
3、3a、3b、3c デバイス
4、24 メモリ制御部
10 データ格納領域
11 テーブル格納領域
12、12a、12b、12c キャッシュ
DESCRIPTION OF
Claims (3)
前記メモリに向けて前記論理アドレスでアクセスの要求を行うデバイスと、
前記ページテーブルの複数のレコードを一時記憶するためのキャッシュを有し、前記キャッシュに記憶されたレコードが表す対応にしたがって前記論理アドレスを前記物理アドレスに変換することにより、前記デバイスから要求されたアクセスを前記メモリに要求するメモリ制御部とを備えたメモリ制御装置において、
前記メモリ制御部は、前記キャッシュでミスヒットが発生したときに、前記キャッシュに記憶された全てのレコードを更新することを特徴とするメモリ制御装置。 A data storage area partitioned into a plurality of pages, and a table storage area for storing a page table in which a correspondence between a physical address indicating the page and a logical address is one record, and storing the data at the physical address The memory accessed in the region,
A device that requests access to the memory at the logical address;
An access requested by the device by having a cache for temporarily storing a plurality of records of the page table, and converting the logical address to the physical address according to a correspondence represented by the record stored in the cache; A memory control device including a memory control unit that requests the memory
The memory control unit updates all records stored in the cache when a miss occurs in the cache.
前記メモリ制御部は、前記各デバイスから要求されたアクセスを前記メモリに要求することを特徴とする請求項1に記載のメモリ制御装置。 At least one device that requests access to the memory at the logical address;
The memory control apparatus according to claim 1, wherein the memory control unit requests the memory to access requested by each of the devices.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008041392A JP2009199420A (en) | 2008-02-22 | 2008-02-22 | Memory controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008041392A JP2009199420A (en) | 2008-02-22 | 2008-02-22 | Memory controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009199420A true JP2009199420A (en) | 2009-09-03 |
Family
ID=41142836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008041392A Pending JP2009199420A (en) | 2008-02-22 | 2008-02-22 | Memory controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009199420A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018526696A (en) * | 2015-07-27 | 2018-09-13 | グーグル エルエルシー | Address cache to switch |
-
2008
- 2008-02-22 JP JP2008041392A patent/JP2009199420A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018526696A (en) * | 2015-07-27 | 2018-09-13 | グーグル エルエルシー | Address cache to switch |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8769208B2 (en) | Method, system and server of removing a distributed caching object | |
JP6768928B2 (en) | Methods and devices for compressing addresses | |
JP6945544B2 (en) | Priority-based access of compressed memory lines in memory in processor-based systems | |
US10776308B2 (en) | Smart memory data store or load method and apparatus | |
JP2016541046A5 (en) | ||
TWI744289B (en) | A central processing unit (cpu)-based system and method for providing memory bandwidth compression using multiple last-level cache (llc) lines | |
US20180246816A1 (en) | Streaming translation lookaside buffer | |
US9229862B2 (en) | Cache management based on physical memory device characteristics | |
US20160218739A1 (en) | Data access methods and data access devices utilizing the same | |
JP2009535725A5 (en) | ||
US20180246815A1 (en) | Sharing translation lookaside buffer resources for different traffic classes | |
EP2621143A1 (en) | Information processing apparatus, distributed processing system, and distributed processing method | |
JP4266629B2 (en) | Bus interface selection by page table attribute | |
US10580107B2 (en) | Automatic hardware ZLW insertion for IPU image streams | |
US8850118B2 (en) | Circuit and method for dynamically changing reference value for address counter based on cache determination | |
JP2009199420A (en) | Memory controller | |
JP2012022586A (en) | Information processing device, information processing method and program | |
US10061698B2 (en) | Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compression memory system when stalled write operations occur | |
WO2019114044A1 (en) | Image processing method and device, electronic apparatus, and computer readable storage medium | |
US10692171B2 (en) | Method of operating virtual address generator and method of operating system including the same | |
JP2010182000A (en) | Image processor and program | |
TW201811056A (en) | Memory managing method and apparatus related to cache in image processing system | |
US20190378477A1 (en) | Image processing system and memory managing method thereof | |
JP5816987B2 (en) | Memory storage information reading method and memory interface | |
US20160320972A1 (en) | Adaptive compression-based paging |