WO2009125543A1 - メモリ制御装置 - Google Patents

メモリ制御装置 Download PDF

Info

Publication number
WO2009125543A1
WO2009125543A1 PCT/JP2009/001182 JP2009001182W WO2009125543A1 WO 2009125543 A1 WO2009125543 A1 WO 2009125543A1 JP 2009001182 W JP2009001182 W JP 2009001182W WO 2009125543 A1 WO2009125543 A1 WO 2009125543A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
control device
memory control
memories
data bus
Prior art date
Application number
PCT/JP2009/001182
Other languages
English (en)
French (fr)
Inventor
沖ノ井理典
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Publication of WO2009125543A1 publication Critical patent/WO2009125543A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access

Definitions

  • the present invention relates to a memory control device that controls an ADMUX memory (hereinafter simply referred to as “memory”) that shares addresses and data in a time-sharing manner.
  • memory an ADMUX memory
  • FIG. 11 is a first conventional example showing a connection configuration of a memory and a memory control device. As shown in FIG. 11, a memory 0 (130) and a memory 1 (140) are connected to the memory control device (110). In this example, two sets of all necessary signals are provided (see, for example, Patent Document 1).
  • CLK0 (111) of the memory control device (110) is changed to CLK (131) of the memory 0 (130).
  • CLK1 (121) of the memory control device (110) is connected to CLK (141) of the memory 1 (140), respectively.
  • the NADV0 (112) of the memory control device (110) is changed to the NADV (132) of the memory 0 (130).
  • the NADV1 (122) of the memory control device (110) is connected to the NADV (142) of the memory 1 (140), respectively.
  • the NCS0 (113) of the memory control device (110) is transferred to the NCS (133) of the memory 0 (130).
  • the NCS1 (123) of the memory control device (110) is connected to the NCS (143) of the memory 1 (140), respectively.
  • the NOE0 (114) of the memory control device (110) is changed to the NOE (134) of the memory 0 (130).
  • the NOE 1 (124) of the memory control device (110) is connected to the NOS (144) of the memory 1 (140), respectively.
  • the NWE0 (115) of the memory control device (110) is changed to the NWE (135) of the memory 0 (130).
  • the NWE1 (125) of the memory controller (110) is connected to the NWE (145) of the memory 1 (140), respectively.
  • A0 [11: 0] (417) of the memory control device (110) is transferred to A [26:16] (137) of the memory 0 (130).
  • A1 [11: 0] (427) of the memory control device (110) is connected to A [26:16] (147) of the memory 1 (140), respectively.
  • D0 [15: 0] (416) of the memory control device (110) is changed to D [15: 0] (136) of the memory 0 (130).
  • D1 [15: 0] (426) of the memory control device (110) is connected to D [15: 0] (146) of the memory 1 (140), respectively.
  • FIG. 12 is a second conventional example showing a connection configuration of a memory and a memory control device.
  • CLK0 111
  • NADV0 (112
  • NOE0 114
  • NWE0 115
  • D [15: 0] (416) are shared and connected to the memory 0 (130) and the memory 1 (140).
  • CLK0 (111) of the memory control device (110) is connected to CLK (131) of the memory 0 (130) and CLK (141) of the memory 1 (140)
  • the NADV0 (112) of the memory control device (110) is connected to the NADV (132) of the memory 0 (130) and the NADV (142) of the memory 1 (140)
  • the NOE0 (114) of the memory control device (110) is connected to the NOE (134) of the memory 0 (130) and the NOE (144) of the memory 1 (140)
  • the NWE0 (115) of the memory control device (110) is connected to the NWE (135) of the memory 0 (130) and the NWE (145) of the memory 1 (140)
  • A0 [11: 0] (417) of the memory control device (110) is transferred to A [26: 6] (137) of the memory 0 (130) and A [26: 6] (147) of the memory 1 (140).
  • D0 [15: 0] (416) of the memory control device (110) is connected to D [15: 0] (136) of the memory 0 (130) and D [15: 0] (136) of the memory 1 (140).
  • the NCS0 (113) of the memory controller (110) is connected to the NCS (133) of the memory 0 (130).
  • the NCS1 (123) of the memory control device (110) is connected to the NCS (143) of the memory 1 (140).
  • FIG. 13 is an example of a timing chart in the connection configuration of the second conventional example.
  • the memory 0 (130) and the memory 1 (140) are accessed once each, the memory 0 (130) is accessed from the cycle 240, and the memory 1 (140) is accessed from the cycle 611. Can be designed to do.
  • LSIs equipped with a memory control device or a system including an LSI equipped with a memory control device have been improved in functionality.
  • the number of external input / output signal lines to be connected must be minimized due to demands from the cost aspect.
  • the throughput of external memory access has become a system bottleneck.
  • a plurality of signal lines necessary for memory connection are provided in plural sets, or other than the chip select signal is shared.
  • An object of the present invention is to provide a memory control device that achieves both minimization of the number of signal lines and high throughput.
  • the present invention is a memory control device that controls a plurality of memories that share addresses and data in a time-sharing manner, wherein an address that is equal to or greater than the data bus width of the first memory is represented by data bus bits of the second memory,
  • a memory control device that simultaneously accesses the plurality of memories by expressing an address that is equal to or greater than the data bus width of the second memory by a data bus bit of the first memory.
  • the memory control device simultaneously reads and writes the plurality of memories.
  • the memory control device changes the access method for the plurality of memories according to the access type.
  • the memory control device changes the access method for the plurality of memories according to the value of the setting register.
  • the present invention provides a system including the memory control device.
  • the present invention relates to a memory connection method in which a memory control device that controls a plurality of memories that share addresses and data in a time-sharing manner is connected to the plurality of memories, the memory control device including a data bus of a first memory An address greater than the width is represented by a data bus bit of the second memory, and an address greater than the data bus width of the second memory is represented by a data bus bit of the first memory.
  • a memory connection method for accessing is provided.
  • the memory control device can achieve both minimization of the number of signal lines connected and high throughput. That is, a significant performance improvement can be expected with a minimum number of pins as compared with the prior art. In addition, since an existing memory can be used, it is possible to realize a cost reduction and a high-performance system as well as an LSI.
  • First embodiment showing connection configuration of memory and memory control device First example of timing chart in connection configuration of first embodiment Second example of timing chart in connection configuration of first embodiment Second embodiment showing connection configuration of memory and memory control device First example of timing chart in connection configuration of second embodiment
  • Block diagram showing a system comprising a memory controller, two CPUs and a DMAC Example of memory access type when access bit width is different Memory access type example when access issuer is different System startup sequence example
  • Register setting example First conventional example showing connection configuration of memory and memory control device Second conventional example showing connection configuration of memory and memory control device Example of timing chart in connection configuration of second conventional example
  • Memory controller 130, 140 ADMUX memory 111, 121, 131, 141 Synchronous clock signal (positive logic) 112, 122, 132, 142 Address determination signal (negative logic) 113, 123, 133, 143 Chip select signal (negative logic) 114, 124, 134, 144 Read enable signal (negative logic) 115, 125, 135, 145 Write enable signal (negative logic) 116 Address signal or data signal 136, 146, 416 Data signal 137, 147, 417 Address signal 160 Register 210 for enabling the functions of the present invention Signal timing 220 sent and received by the memory controller (110) Memory 0 (130) sent and received Signal timing 230 to be transmitted and received Signal timing 240 to be transmitted / received Timing 241 to assert an address to the memory 0 (130) Timing 242 to assert an address to the memory 0 (130) 242 Memory 0 (130) and Memory 1 (140) First data simultaneously read from 250 Address 251 for memory 0 (130) Address 252 for memory 1 (140) Read data 25
  • FIG. 1 is a first embodiment showing a connection configuration of a memory and a memory control device.
  • the same components as those in FIG. Note that the memory 0 (130) and the memory 1 (140) in FIG. 1 are clock synchronous ADMUX memories that share addresses and data in a time-sharing manner.
  • D [31: 0] (116) of the memory control device (110) is connected as follows.
  • D [26:16] (116) is connected to A [26:16] (137) of memory 0 (130), and D [15: 0] (116) is connected to D [15: 0] (136).
  • D [10: 0] (116) is connected to A [26:16] (147) of memory 1 (140), and D [31:16] ( 116).
  • CLK0 (111) of the memory control device (110) is connected to CLK (131) of the memory 0 (130) and CLK (141) of the memory 1 (140),
  • the NADV0 (112) of the memory control device (110) is changed to the NADV (132) of the memory 0 (130).
  • the NADV1 (122) of the memory control device (110) is connected to the NADV (142) of the memory 1 (140), respectively.
  • the NCS0 (113) of the memory control device (110) is transferred to the NCS (133) of the memory 0 (130).
  • the NCS1 (123) of the memory control device (110) is connected to the NCS (143) of the memory 1 (140), respectively.
  • the NOE0 (114) of the memory control device (110) is changed to the NOE (134) of the memory 0 (130).
  • the NOE 1 (124) of the memory control device (110) is connected to the NOS (144) of the memory 1 (140), respectively.
  • the NWE0 (115) of the memory control device (110) is changed to the NWE (135) of the memory 0 (130).
  • the NWE1 (125) of the memory control device (110) is connected to the NWS (145) of the memory 1 (140).
  • the first conventional example shown in FIG. 11 requires 64 signal lines. According to the connection configuration of the embodiment, connection is possible with 41 signal lines.
  • the second conventional example shown in FIG. 12 can be connected by 33 signal lines, but the second conventional example shares signals other than NCS0 (113) and NCS1 (123) of the memory control device (110). is doing. Therefore, as shown in FIG. 13 showing the timing chart of the second conventional example, access to the memory 0 (130) is performed once for each of the memory 0 (130) and the memory 1 (140) in cycle 240. Therefore, access to the memory 1 (140) needs to be divided for each access, such as from the cycle 611.
  • FIG. 2 is a first example of a timing chart in the connection configuration of the first embodiment.
  • the memory 1 (140 ) when accessed as shown in FIG. 2, in the cycle (241) following the cycle (240) in which the address A0 (250) to the memory 0 (130) is asserted, the memory 1 (140 ) To address A1 (251). If the read latency (260) of the memory 0 (130) and the read latency (270) of the memory 1 (140) are set to be output in the cycle indicated by reference numeral 242, the read data (252) of the memory 0 (130) is set. And read data (253) of the memory 1 (140) can be simultaneously read (254).
  • the data bit width that can be read simultaneously is doubled as compared with the second conventional example shown in FIG. Double throughput can be achieved.
  • FIG. 3 is a second example of a timing chart in the connection configuration of the first embodiment.
  • read data from the memory 0 (130) is set. (252) can be read in the cycle indicated by reference numeral 340.
  • asserting data (350) from the memory control device (110) in a cycle indicated by reference numeral 242 a write operation can be performed simultaneously.
  • FIG. 4 is a second embodiment showing a connection configuration of a memory and a memory control device. 4, the same components as those in FIGS. 1 and 11 are denoted by the same reference numerals, and the description thereof is omitted.
  • D [31: 0] (116) of the memory control device (110) is connected as follows.
  • D [26:16] (116) is connected to A [26:16] (137) of memory 0 (130), and D [15: 0] (116) is connected to D [15: 0] (136).
  • D [10: 0] (116) is connected to A [26:16] (147) of memory 1 (140), and D [31:16] ( 116).
  • CLK0 (111) of the memory control device (110) is connected to CLK (131) of the memory 0 (130) and CLK (141) of the memory 1 (140)
  • the NCS0 (113) of the memory control device (110) is connected to the NCS (133) of the memory 0 (130) and the NCS (143) of the memory 1 (140).
  • the NOE0 (114) of the memory control device (110) is connected to the NOE (134) of the memory 0 (130) and the NOE (144) of the memory 1 (140)
  • the NWE0 (115) of the memory control device (110) is connected to the NWE (135) of the memory 0 (130) and the NWE (145) of the memory 1 (140).
  • the NADV0 (112) of the memory control device (110) is changed to the NADV (132) of the memory 0 (130).
  • the NADV1 (122) of the memory control device (110) is connected to the NADV (142) of the memory 1 (140) without being shared.
  • the first conventional example shown in FIG. 11 requires 64 signal lines. According to the connection configuration of the embodiment, connection is possible with 38 signal lines. Further, the throughput can be improved with a configuration in which the number of signal lines connected to the memory control device (110) is smaller than that of the first embodiment shown in FIG.
  • FIG. 5 is a first example of a timing chart in the connection configuration of the second embodiment. As shown in FIG. 5, by setting a 6-cycle read latency (260) to the memory 0 (130) and a 5-cycle read latency (670) to the memory 1 (140), the memory control device The two memories 0 (130) and 1 (140) are accessed only by controlling the NADV1 in (110), and data can be read simultaneously after the cycle 242.
  • the present invention is not limited to the above embodiment.
  • the bit widths of all the signal lines are not limited to the numerical values described above.
  • the read latency (260, 270, 360, 670) or the write latency (370) may be set to a value necessary for the system in the memory, and need not be the latency described above.
  • the present invention is not limited to the two memories 0 (130) and 1 (140), and may be composed of three or more memories.
  • FIG. 6 is a block diagram illustrating a system including a memory control device, two CPUs, and a DMAC.
  • the memory control device (110), CPU0 (910), CPU1 (920), and DMAC (930) are connected via a bus (940).
  • the CPU 0 (910), the CPU 1 (920), and the DMAC (930) are access issuers (1200) for the memory 0 (130) or the memory 1 (140).
  • the memory 0 (130) and the memory 1 are changed depending on the access bit widths issued by the access issuer (1200).
  • the memory controller (110) may be designed so that (140) can be accessed simultaneously or separately. Further, as shown in the example of the memory access type when the access issuer (1200) in FIG. 8 is different, the memory 0 (130) and the memory 1 (140) are accessed simultaneously depending on the difference of the access issuer (1200).
  • the memory controller (110) may be designed so that it can be accessed separately.
  • FIG. 9 shows an example of a startup sequence of the system (900) until the memory 0 (130) and the memory 1 (140) are accessed simultaneously.
  • the memory control device (110) is designed so that the memory control device (110) accesses the memory 0 (130) immediately after the system (900) is started.
  • read processing (1000) from the memory 0 (130) is performed, and the CPU 0 (910) starts processing.
  • the CPU 0 (910) controls the register (160) in the program (1001) that validates the function of the present invention.
  • FIG. 10 is a diagram illustrating an example of register setting. As shown in FIG.
  • the initial state of the register value (1300) is “0”, and in the case of the register value (1300), only the memory 0 (130) is accessed.
  • the program (1001) is executed and the register value (1300) of the register (160) is set to “1”, simultaneous access which is a function of the present invention can be validated.
  • the register value (1300) of the register (160) is “0” or “1”. However, these values are not necessarily required. Further, when the register value (1300) is “0”, the memory 0 (130) can be accessed, but it is not always necessary to access the memory 0 (130), and the memory 1 (140) can be accessed. The number of signal lines can be greatly reduced compared to the first conventional example shown in FIG. Further, a throughput approximately twice that of the second conventional example shown in FIG. 12 can be obtained.
  • the system (900) is not limited to a configuration in which the CPU0 (910), the CPU1 (920), and the DMAC (930) are connected to each other via the bus (940). There is an effect.
  • the access type is not limited to the memory access type example when the access bit width is different in FIG. 7 or the memory access type example when the access issue source (1200) is different in FIG. Even when applied to this embodiment, the number of signal lines can be greatly reduced as compared with the first conventional example shown in FIG. Further, a throughput approximately twice that of the second conventional example shown in FIG. 12 can be obtained.
  • the memory control device can achieve a significant performance improvement with a minimum increase in the number of pins as compared with the prior art. Further, since an existing memory can be used, it is useful as a memory control device that shares addresses and data in a time-sharing manner.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

 アドレスとデータを時分割で共有する複数のメモリを制御するメモリ制御装置は、第1のメモリのデータバス幅以上のアドレスを第2のメモリのデータバスビットで表現し、第2のメモリのデータバス幅以上のアドレスを第1のメモリのデータバスビットで表現して、複数のメモリに同時アクセスする。したがって、信号線の接続本数の最小限化と高スループット化を両立したメモリ制御装置を提供することができる。

Description

メモリ制御装置
 本発明は、アドレスとデータを時分割で共有するADMUXメモリ(以下、単に「メモリ」という。)を制御するメモリ制御装置に関する。
 図11は、メモリとメモリ制御装置の接続構成を示す第1の従来例である。図11に示すように、メモリ制御装置(110)にはメモリ0(130)及びメモリ1(140)が接続されている。この例では、それぞれ必要な信号の全てを二組備える(例えば、特許文献1参照)。
 例えば、
メモリ制御装置(110)のCLK0(111)は、メモリ0(130)のCLK(131)に、
メモリ制御装置(110)のCLK1(121)は、メモリ1(140)のCLK(141)にそれぞれ接続され、
メモリ制御装置(110)のNADV0(112)は、メモリ0(130)のNADV(132)に、
メモリ制御装置(110)のNADV1(122)は、メモリ1(140)のNADV(142)にそれぞれ接続され、
メモリ制御装置(110)のNCS0(113)は、メモリ0(130)のNCS(133)に、
メモリ制御装置(110)のNCS1(123)は、メモリ1(140)のNCS(143)にそれぞれ接続され、
メモリ制御装置(110)のNOE0(114)は、メモリ0(130)のNOE(134)に、
メモリ制御装置(110)のNOE1(124)は、メモリ1(140)のNOS(144)にそれぞれ接続され、
メモリ制御装置(110)のNWE0(115)は、メモリ0(130)のNWE(135)に、
メモリ制御装置(110)のNWE1(125)は、メモリ1(140)のNWE(145)にそれぞれ接続され、
メモリ制御装置(110)のA0[11:0](417)は、メモリ0(130)のA[26:16](137)に、
メモリ制御装置(110)のA1[11:0](427)は、メモリ1(140)のA[26:16](147)にそれぞれ接続され、
メモリ制御装置(110)のD0[15:0](416)は、メモリ0(130)のD[15:0](136)に、
メモリ制御装置(110)のD1[15:0](426)は、メモリ1(140)のD[15:0](146)にそれぞれ接続されている。
 図12は、メモリとメモリ制御装置の接続構成を示す第2の従来例である。図12に示すように、第2の従来例では、チップセレクト信号NCS(113、123)以外のメモリ制御装置(110)のCLK0(111)、NADV0(112)、NOE0(114)、NWE0(115)、A[11:1](417)、D[15:0](416)が、メモリ0(130)とメモリ1(140)に共有して接続されている。
 例えば、
メモリ制御装置(110)のCLK0(111)は、メモリ0(130)のCLK(131)及びメモリ1(140)のCLK(141)に接続され、
メモリ制御装置(110)のNADV0(112)は、メモリ0(130)のNADV(132)及びメモリ1(140)のNADV(142)に接続され、
メモリ制御装置(110)のNOE0(114)は、メモリ0(130)のNOE(134)及びメモリ1(140)のNOE(144)に接続され、
メモリ制御装置(110)のNWE0(115)は、メモリ0(130)のNWE(135)及びメモリ1(140)のNWE(145)に接続され、
メモリ制御装置(110)のA0[11:0](417)は、メモリ0(130)のA[26:6](137)及びメモリ1(140)のA[26:6](147)に接続され、メモリ制御装置(110)のD0[15:0](416)は、メモリ0(130)のD[15:0](136)及びメモリ1(140)のD[15:0](146)に接続され、メモリ制御装置(110)のNCS0(113)は、メモリ0(130)のNCS(133)に、
メモリ制御装置(110)のNCS1(123)は、メモリ1(140)のNCS(143)にそれぞれ接続される。
 図13は、第2の従来例の接続構成におけるタイミングチャートの一例である。この場合、メモリ0(130)及びメモリ1(140)に対して各一回ずつ、メモリ0(130)へのアクセスはサイクル240から、メモリ1(140)へのアクセスはサイクル611からそれぞれアクセスを行うよう設計することができる。
特開平8-77066号公報
 近年、メモリ制御装置を搭載したLSI、又はメモリ制御装置を搭載したLSIを含むシステムの高機能化が進んでいる。このようなメモリ制御装置を搭載したLSIの実現においては、コスト面からの要請により、外部入出力信号線の接続本数を最小限にしなければならない。また、性能面では外部メモリアクセスのスループットがシステムのボトルネックとなることが多くなった。このボトルネックを解消するために、メモリ接続に必要な全ての信号線を複数組設けたり、チップセレクト信号以外を共有している。しかし、外部入出力信号線の接続本数の最小限化と高スループット化の両立は困難である。
 本発明の目的は、信号線の接続本数の最小限化と高スループット化を両立したメモリ制御装置を提供することである。
 本発明は、アドレスとデータを時分割で共有する複数のメモリを制御するメモリ制御装置であって、第1のメモリのデータバス幅以上のアドレスを第2のメモリのデータバスビットで表現し、前記第2のメモリのデータバス幅以上のアドレスを前記第1のメモリのデータバスビットで表現して、前記複数のメモリに同時アクセスするメモリ制御装置を提供する。
 上記メモリ制御装置は、前記複数のメモリに対して、リードとライトを同時に行う。
 上記メモリ制御装置は、前記複数のメモリに対するアクセス方法を、アクセス種別に応じて変更する。
 上記メモリ制御装置は、前記複数のメモリに対するアクセス方法を、設定レジスタの値に応じて変更する。
 本発明は、上記メモリ制御装置を含むシステムを提供する。
 本発明は、アドレスとデータを時分割で共有する複数のメモリを制御するメモリ制御装置が前記複数のメモリに接続するメモリ接続方法であって、前記メモリ制御装置が、第1のメモリのデータバス幅以上のアドレスを第2のメモリのデータバスビットで表現し、前記第2のメモリのデータバス幅以上のアドレスを前記第1のメモリのデータバスビットで表現して、前記複数のメモリに同時アクセスするメモリ接続方法を提供する。
 本発明に係るメモリ制御装置によれば、信号線の接続本数の最小限化と高スループット化を両立できる。すなわち、従来と比較して必要最小限のピン数で大幅な性能向上を見込むことができる。また、既存のメモリを用いることが出来るため、LSIのみならず、システム全体のコスト削減と高性能なシステムを実現することができる。
メモリとメモリ制御装置の接続構成を示す第1の実施形態 第1の実施形態の接続構成におけるタイミングチャートの第1例 第1の実施形態の接続構成におけるタイミングチャートの第2例 メモリとメモリ制御装置の接続構成を示す第2の実施形態 第2の実施形態の接続構成におけるタイミングチャートの第1例 メモリ制御装置、2つのCPU及びDMACを備えたシステムを示すブロック図 アクセスビット幅が異なる場合のメモリアクセス種別例 アクセス発行元が異なる場合のメモリアクセス種別例 システムの起動シーケンス例 レジスタ設定例 メモリとメモリ制御装置の接続構成を示す第1の従来例 メモリとメモリ制御装置の接続構成を示す第2の従来例 第2の従来例の接続構成におけるタイミングチャートの一例
符号の説明
110 メモリ制御装置
130、140 ADMUXメモリ
111、121、131、141 同期クロック信号(正論理)
112、122、132、142 アドレス確定信号(負論理)
113、123、133、143 チップセレクト信号(負論理)
114、124、134、144 リードイネーブル信号(負論理)
115、125、135、145 ライトイネーブル信号(負論理)
116 アドレス信号又はデータ信号
136、146、416 データ信号
137、147、417 アドレス信号
160 本発明の機能を有効にするレジスタ
210 メモリ制御装置(110)が送受する信号タイミング
220 メモリ0(130)が送受する信号タイミング
230 メモリ1(140)が送受する信号タイミング
240 メモリ0(130)へアドレスをアサートするタイミング
241 メモリ0(130)へアドレスをアサートするタイミング
242 メモリ0(130)とメモリ1(140)から同時に読み出した最初のデータ
250 メモリ0(130)に対するアドレス
251 メモリ1(140)に対するアドレス
252 メモリ0(130)からのリードデータ
253 メモリ1(140)からのリードデータ
254 メモリ0(130)とメモリ1(140)から同時にリードしたデータ
260 270,360、670 リードレイテンシ
340 メモリ0(130)からのデータ(252)リードタイミング
370 ライトレイテンシ
611 メモリ1(140)へのアクセス開始
900 システム
910、920 演算装置
930 ダイレクトメモリアクセスコントローラ
940 バス
1001 本発明の機能を有効にするプログラム
1200 アクセス発行元
1300 本発明の有効、無効を示すレジスタ値
 以下、本発明の実施形態について、図面を参照して説明する。
(第1の実施形態)
 図1は、メモリとメモリ制御装置の接続構成を示す第1の実施形態である。図1において、図11と同じ構成要素には同じ符号が付され、説明を省略する。なお、図1中のメモリ0(130)及びメモリ1(140)は、アドレスとデータを時分割で共有するクロック同期型のADMUXメモリである。
 第1の実施形態では、図1に示すように、メモリ制御装置(110)のD[31:0](116)を次のように接続する。メモリ0(130)のA[26:16](137)にD[26:16](116)を接続し、D[15:0](136)にD[15:0](116)を接続する。一方、メモリ1(140)のA[26:16](147)にはD[10:0](116)を接続し、D[15:0](146)にはD[31:16](116)を接続する。
 さらに、第1の実施形態では、
メモリ制御装置(110)のCLK0(111)は、メモリ0(130)のCLK(131)とメモリ1(140)のCLK(141)に接続され、
メモリ制御装置(110)のNADV0(112)は、メモリ0(130)のNADV(132)に、
メモリ制御装置(110)のNADV1(122)は、メモリ1(140)のNADV(142)にそれぞれ接続され、
メモリ制御装置(110)のNCS0(113)は、メモリ0(130)のNCS(133)に、
メモリ制御装置(110)のNCS1(123)は、メモリ1(140)のNCS(143)にそれぞれ接続され、
メモリ制御装置(110)のNOE0(114)は、メモリ0(130)のNOE(134)に、
メモリ制御装置(110)のNOE1(124)は、メモリ1(140)のNOS(144)にそれぞれ接続され、
メモリ制御装置(110)のNWE0(115)は、メモリ0(130)のNWE(135)に、
メモリ制御装置(110)のNWE1(125)は、メモリ1(140)のNWS(145)にそれぞれ接続される。
 メモリ0(130)及びメモリ1(140)の各信号線の本数が32本の場合、図11に示した第1の従来例では64本の信号線が必要であったが、第1の実施形態の接続構成によれば、41本の信号線で接続可能である。
 また、図12に示した第2の従来例では33本の信号線で接続できるが、第2の従来例ではメモリ制御装置(110)のNCS0(113)及びNCS1(123)以外の信号を共有している。このため、第2の従来例のタイミングチャートを示す図13に示すように、メモリ0(130)及びメモリ1(140)に対して各一回ずつ、メモリ0(130)へのアクセスはサイクル240から、メモリ1(140)へのアクセスはサイクル611からというように、それぞれアクセスを分ける必要があった。
 図2は、第1の実施形態の接続構成におけるタイミングチャートの第1例である。第1の実施形態によれば、図2のようにアクセスした場合、メモリ0(130)へのアドレスA0(250)をアサートしたサイクル(240)の次のサイクル(241)で、メモリ1(140)へのアドレスA1(251)をアサートする。メモリ0(130)のリードレイテンシ(260)とメモリ1(140)のリードレイテンシ(270)を符号242に示すサイクルで出力するよう設定しておけば、メモリ0(130)のリードデータ(252)とメモリ1(140)のリードデータ(253)を同時にリードできる(254)。
 このように、第1の実施形態では、信号線の接続本数を抑えつつ、図12に示した第2の従来例と比べて、同時にリード可能なデータビット幅が2倍になるため、略2倍のスループットを達成可能である。
 図3は、第1の実施形態の接続構成におけるタイミングチャートの第2例である。図3に示すように、メモリ0(130)へはリードレイテンシ(360)を設定し、メモリ1(140)へはライトレイテンシ(370)を設定することによって、メモリ0(130)からのリードデータ(252)は、符号340に示すサイクルでリード可能となる。また、符号242に示すサイクルでメモリ制御装置(110)からデータ(350)をアサートすることで、同時にライト動作も可能である。
(第2の実施形態)
 第1の実施形態では、メモリ制御装置(110)のD[31:0](116)のみがメモリ0(130)とメモリ1(140)で共有されているが、共有する信号線を増やした形で実施しても良い。図4は、メモリとメモリ制御装置の接続構成を示す第2の実施形態である。図4において、図1及び図11と同じ構成要素には同じ符号が付され、説明を省略する。
 第2の実施形態では、図4に示すように、メモリ制御装置(110)のD[31:0](116)を次のように接続する。メモリ0(130)のA[26:16](137)にD[26:16](116)を接続し、D[15:0](136)にD[15:0](116)を接続する。一方、メモリ1(140)のA[26:16](147)にはD[10:0](116)を接続し、D[15:0](146)にはD[31:16](116)を接続する。
 さらに、第2の実施形態では、
メモリ制御装置(110)のCLK0(111)は、メモリ0(130)のCLK(131)及びメモリ1(140)のCLK(141)に接続され、
メモリ制御装置(110)のNCS0(113)は、メモリ0(130)のNCS(133)及びメモリ1(140)のNCS(143)に接続され、
メモリ制御装置(110)のNOE0(114)は、メモリ0(130)のNOE(134)及びメモリ1(140)のNOE(144)に接続され、
メモリ制御装置(110)のNWE0(115)は、メモリ0(130)のNWE(135)及びメモリ1(140)のNWE(145)に接続される。
 また、メモリ制御装置(110)のNADV0(112)は、メモリ0(130)のNADV(132)に、
メモリ制御装置(110)のNADV1(122)は、メモリ1(140)のNADV(142)に、共有されることなくそれぞれ接続される。
 メモリ0(130)及びメモリ1(140)の各信号線の本数が32本の場合、図11に示した第1の従来例では64本の信号線が必要であったが、第2の実施形態の接続構成によれば、38本の信号線で接続可能である。また、メモリ制御装置(110)の信号線の接続本数が図1に示した第1の実施形態よりも少ない構成で、スループットの向上も図ることができる。
 図5は、第2の実施形態の接続構成におけるタイミングチャートの第1例である。図5に示すように、メモリ0(130)へは6サイクルのリードレイテンシ(260)を設定し、メモリ1(140)へは5サイクルのリードレイテンシ(670)を設定することによって、メモリ制御装置(110)のNADV1の制御のみで2つのメモリ0(130)及びメモリ1(140)にアクセスし、サイクル242以降で同時にデータリードが可能となる。
 なお、メモリ制御装置(110)のD[31:0](116)以外の信号線の共有は必ずしも必要でない。当該共有がない場合であっても、図11に示した第1の従来例よりも大幅に信号線数を削減でき、図12に示した第2の従来例の略2倍のスループットが得られる。したがって、本発明は上記実施形態に限定されるものではない。また、全ての信号線のビット幅は上記説明の数値に限定されない。また、リードレイテンシ(260、270、360、670)又はライトレイテンシ(370)は、システム上必要な値をメモリへ設定すれば良く、上記説明のレイテンシである必要はない。さらに、本発明は、2つのメモリ0(130)及びメモリ1(140)に限定されず、3つ以上のメモリから構成されていても良い。
(第3の実施形態)
 図6は、メモリ制御装置、2つのCPU及びDMACを備えたシステムを示すブロック図である。図6に示すシステム(900)では、メモリ制御装置(110)と、CPU0(910)及びCPU1(920)と、DMAC(930)とがバス(940)を介してそれぞれ接続されている。なお、CPU0(910)、CPU1(920)及びDMAC(930)は、メモリ0(130)又はメモリ1(140)に対するアクセス発行元(1200)である。
 第3の実施形態では、図7のアクセスビット幅が異なる場合のメモリアクセス種別例に示すように、アクセス発行元(1200)が発行するアクセスビット幅の違いによって、メモリ0(130)及びメモリ1(140)に同時にアクセスしたり、別々にアクセスできるようにメモリ制御装置(110)を設計しても良い。また、図8のアクセス発行元(1200)が異なる場合のメモリアクセス種別例に示すように、アクセス発行元(1200)の違いによって、メモリ0(130)及びメモリ1(140)に同時にアクセスしたり、別々にアクセスできるようメモリ制御装置(110)を設計しても良い。
 図9は、メモリ0(130)及びメモリ1(140)に同時にアクセスするまでの、システム(900)の起動シーケンス例を示す。なお、システム(900)が起動直後の状態でメモリ制御装置(110)がメモリ0(130)へアクセスするよう、メモリ制御装置(110)は設計されている。システム(900)が起動直後、メモリ0(130)からのリード処理(1000)が行われ、CPU0(910)が処理を始める。CPU0(910)は、本発明の機能を有効にするプログラム(1001)内で、レジスタ(160)を制御する。図10は、レジスタ設定例を示す図である。図10に示すように、レジスタ値(1300)の初期状態は「0」であり、レジスタ値(1300)の場合、メモリ0(130)へのみアクセスが行われる。プログラム(1001)を実行してレジスタ(160)のレジスタ値(1300)を「1」に設定すると、本発明の機能である同時アクセスを有効にできる。
 なお、上記説明では、レジスタ(160)のレジスタ値(1300)を「0」又は「1」としたが、必ずしもこれらの値である必要はない。また、レジスタ値(1300)が「0」の際、メモリ0(130)にアクセス可能としたが、必ずしもメモリ0(130)にアクセスさせる必要はなく、メモリ1(140)にアクセスさせても図11に示した第1の従来例よりも大幅に信号線数を削減できる。また、図12に示した第2の従来例の略2倍のスループットが得られる。
 なお、システム(900)は、CPU0(910)、CPU1(920)及びDMAC(930)がバス(940)を介して互いに接続された構成には限定されず、他の構成であっても同様の効果を奏する。また、アクセス種別は、図7のアクセスビット幅が異なる場合のメモリアクセス種別例や、図8のアクセス発行元(1200)が異なる場合のメモリアクセス種別例に限定されず、上記アクセス種別定義は他の実施形態に適用しても、図11に示す第1の従来例よりも大幅に信号線数を削減できる。また、図12に示した第2の従来例の略2倍のスループットが得られる。
 本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
 本出願は、2008年4月7日出願の日本特許出願(特願2008-099259)に基づくものであり、その内容はここに参照として取り込まれる。
 本発明に係るメモリ制御装置は、従来技術と比較して必要最小限のピン数増加で大幅な性能向上を実現できる。また、既存のメモリを用いることが可能であるため、アドレスとデータを時分割で共有するメモリの制御装置等として有用である。

Claims (6)

  1.  アドレスとデータを時分割で共有する複数のメモリを制御するメモリ制御装置であって、
     第1のメモリのデータバス幅以上のアドレスを第2のメモリのデータバスビットで表現し、前記第2のメモリのデータバス幅以上のアドレスを前記第1のメモリのデータバスビットで表現して、前記複数のメモリに同時アクセスするメモリ制御装置。
  2.  前記複数のメモリに対して、リードとライトを同時に行う請求項1記載のメモリ制御装置。
  3.  前記複数のメモリに対するアクセス方法を、アクセス種別に応じて変更する請求項1記載のメモリ制御装置。
  4.  前記複数のメモリに対するアクセス方法を、設定レジスタの値に応じて変更する請求項1記載のメモリ制御装置。
  5.  請求項1~4のいずれか一項に記載のメモリ制御装置を含むシステム。
  6.  アドレスとデータを時分割で共有する複数のメモリを制御するメモリ制御装置が前記複数のメモリに接続するメモリ接続方法であって、
     前記メモリ制御装置が、第1のメモリのデータバス幅以上のアドレスを第2のメモリのデータバスビットで表現し、前記第2のメモリのデータバス幅以上のアドレスを前記第1のメモリのデータバスビットで表現して、前記複数のメモリに同時アクセスするメモリ接続方法。
PCT/JP2009/001182 2008-04-07 2009-03-17 メモリ制御装置 WO2009125543A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-099259 2008-04-07
JP2008099259A JP2009251945A (ja) 2008-04-07 2008-04-07 メモリ制御装置

Publications (1)

Publication Number Publication Date
WO2009125543A1 true WO2009125543A1 (ja) 2009-10-15

Family

ID=41161681

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/001182 WO2009125543A1 (ja) 2008-04-07 2009-03-17 メモリ制御装置

Country Status (3)

Country Link
JP (1) JP2009251945A (ja)
TW (1) TW200945049A (ja)
WO (1) WO2009125543A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6033634A (ja) * 1983-08-04 1985-02-21 Nec Corp デ−タ処理装置
JPH01220053A (ja) * 1988-02-29 1989-09-01 Pfu Ltd バス転送制御方式
JPH02177190A (ja) * 1988-12-28 1990-07-10 Nec Corp メモリ装置
JP2000259494A (ja) * 1999-03-04 2000-09-22 Matsushita Electric Ind Co Ltd メモリ制御装置
JP2004062900A (ja) * 2002-07-29 2004-02-26 Samsung Electronics Co Ltd バス帯域幅を増加させるためのメモリコントローラ、これを利用したデータ伝送方法及びこれを備えるコンピュータシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6033634A (ja) * 1983-08-04 1985-02-21 Nec Corp デ−タ処理装置
JPH01220053A (ja) * 1988-02-29 1989-09-01 Pfu Ltd バス転送制御方式
JPH02177190A (ja) * 1988-12-28 1990-07-10 Nec Corp メモリ装置
JP2000259494A (ja) * 1999-03-04 2000-09-22 Matsushita Electric Ind Co Ltd メモリ制御装置
JP2004062900A (ja) * 2002-07-29 2004-02-26 Samsung Electronics Co Ltd バス帯域幅を増加させるためのメモリコントローラ、これを利用したデータ伝送方法及びこれを備えるコンピュータシステム

Also Published As

Publication number Publication date
JP2009251945A (ja) 2009-10-29
TW200945049A (en) 2009-11-01

Similar Documents

Publication Publication Date Title
US6480929B1 (en) Pseudo-concurrency between a volatile memory and a non-volatile memory on a same data bus
JP5474837B2 (ja) アドレス信号/制御信号のためのダブル・データ・レートのスキームを使用する、インタフェース・ピンの要件が低減された二重チャネル・メモリ・アーキテクチャ
KR100633828B1 (ko) 프리페치 길이보다 짧은 버스트 길이를 갖는 메모리 시스템
US7171534B2 (en) System and method for multi-modal memory controller system operation
US8738852B2 (en) Memory controller and a dynamic random access memory interface
JPH0752407B2 (ja) ダイレクト或いはインターリーブメモリアクセスのためのメモリコントローラ
KR102222968B1 (ko) 어드레스 정렬기 및 이를 포함하는 메모리 장치
US20150324310A1 (en) Bus connection circuit, semiconductor device and operation method of bus connection circuit for making procedure for switching between a 1-cycle transfer and a 2-cycle transfer unnecessary
US8244994B1 (en) Cooperating memory controllers that share data bus terminals for accessing wide external devices
TWI397855B (zh) 減少接腳數之方法以及使用其之微處理器
JP2008140078A (ja) バスブリッジ装置、情報処理装置、およびデータ転送制御方法
WO2009125543A1 (ja) メモリ制御装置
US8244929B2 (en) Data processing apparatus
JP4257358B2 (ja) バス制御方法および装置
US6691200B1 (en) Multi-port PCI-to-PCI bridge with combined address FIFOs but separate data FIFOs for concurrent transactions
US7228367B2 (en) Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof
US8074096B2 (en) Semiconductor integrated circuit, memory system, memory controller and memory control method
JP4528491B2 (ja) 情報処理装置
JP2017532671A (ja) マルチプロセッサシステムにおけるメモリの管理
US11995007B1 (en) Multi-port, multi-protocol varied size RAM controller
JP2945525B2 (ja) プロセッサ、メモリ、およびデータ処理装置
KR100690597B1 (ko) 이중모드 직접메모리접근을 지원하는 중앙처리장치를이용한 단일모드 직접메모리접근 구현 방법
JP2007280062A (ja) 高速アクセス制御装置
JP2000187614A (ja) メモリ装置
JP4557179B2 (ja) マイクロコンピュータ装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09731147

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09731147

Country of ref document: EP

Kind code of ref document: A1