KR20070066920A - 메모리 제어 회로 및 메모리 제어 방법 - Google Patents

메모리 제어 회로 및 메모리 제어 방법 Download PDF

Info

Publication number
KR20070066920A
KR20070066920A KR1020060131716A KR20060131716A KR20070066920A KR 20070066920 A KR20070066920 A KR 20070066920A KR 1020060131716 A KR1020060131716 A KR 1020060131716A KR 20060131716 A KR20060131716 A KR 20060131716A KR 20070066920 A KR20070066920 A KR 20070066920A
Authority
KR
South Korea
Prior art keywords
data
address
memories
bits
output
Prior art date
Application number
KR1020060131716A
Other languages
English (en)
Other versions
KR100852590B1 (ko
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 KR20070066920A publication Critical patent/KR20070066920A/ko
Application granted granted Critical
Publication of KR100852590B1 publication Critical patent/KR100852590B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication

Abstract

메모리의 사용 효율 저하 및 처리 부하 증대를 초래하지 않고, 데이터 폭이 서로 다른 다양한 데이터를 읽기/쓰기한다. 최대로 L비트의 데이터가 저장되는 k비트 폭의 m개의 메모리(제1∼제m 메모리)를 제어하는 메모리 제어 회로로서, 어드레스의 하위 j비트에 기초하여, 데이터의 최초의 k비트를 저장하는 메모리(제n 메모리)를 결정하고, 어드레스의 상위 A-j비트를 제n∼제m 메모리에 입력하고, 해당 어드레스에 1을 가산한 어드레스를 제1∼제n-1 메모리에 입력하는 어드레스 입력 회로와, k비트씩으로 분할한 분할 데이터를, 제n∼제m 메모리, 제1∼제n-1 메모리의 순으로 입력하는 데이터 입력 회로와, 제n∼제m 메모리, 제1∼제n-1 메모리의 순으로 데이터 폭에 따른 수의 메모리로부터 분할 데이터를 판독하는 데이터 출력 회로와, 제n∼제m 메모리, 제1∼제n-1 메모리의 순으로, D/k개의 메모리를 읽기/쓰기 가능한 상태로 하는 메모리 선택 회로를 구비한다.
셀렉터, 디코더, 개시 위치 지정 어드레스, 선두 어드레스, 기입 데이터, 판독 데이터

Description

메모리 제어 회로 및 메모리 제어 방법{MEMORY CONTROL CIRCUIT AND MEMORY CONTROL METHOD}
도 1은 본 발명의 일 실시예인 메모리 제어 회로의 구성을 도시하는 도면.
도 2는 메모리 M0∼Mm-1에 저장되는 데이터의 일례를 도시하는 도면.
도 3은 셀렉터 S0의 동작을 나타내는 진리값 표.
도 4는 디코더(12)의 동작을 나타내는 진리값 표.
도 5는 셀렉터 S1∼S3의 동작을 나타내는 진리값 표.
도 6은 도 1에 도시한 메모리 제어 회로(1)의 구체예를 도시하는 도면.
도 7은 디코더(31)의 동작을 나타내는 진리값 표.
도 8은 디코더(12)의 입력 IN에 입력되는 WD_LENGTH와 데이터 폭과의 관계를 도시하는 도면.
도 9는 메모리 제어 회로(1a)에서의 디코더(12)의 동작을 나타내는 진리값 표.
도 10은 메모리 제어 회로(1a)에서의 셀렉터 S1의 동작을 나타내는 진리값 표.
도 11은 셀렉터 S2a∼S2d의 동작을 나타내는 진리값 표.
도 12는 셀렉터 S3a∼S3d의 동작을 나타내는 진리값 표.
도 13은 판독 데이터의 선두 어드레스가 4n번지인 경우의 데이터 배치의 일례를 도시하는 도면.
도 14는 판독 데이터의 선두 어드레스가 4n+1번지인 경우의 데이터 배치의 일례를 도시하는 도면.
도 15는 판독 데이터의 선두 어드레스가 4n+2번지인 경우의 데이터 배치의 일례를 도시하는 도면.
도 16은 판독 데이터의 선두 어드레스가 4n+3번지인 경우의 데이터 배치의 일례를 도시하는 도면.
도 17은 기입 데이터의 선두 어드레스가 4n번지인 경우의 데이터 배치의 일례를 도시하는 도면.
도 18은 기입 데이터의 선두 어드레스가 4n+1번지인 경우의 데이터 배치의 일례를 도시하는 도면.
도 19는 기입 데이터의 선두 어드레스가 4n+2번지인 경우의 데이터 배치의 일례를 도시하는 도면.
도 20은 기입 데이터의 선두 어드레스가 4n+3번지인 경우의 데이터 배치의 일례를 도시하는 도면.
도 21은 일반적인 메모리의 구성을 도시하는 도면.
도 22는 데이터 폭이 서로 다른 다양한 데이터의 예를 도시하는 도면.
도 23은 각각의 데이터를 1개의 어드레스에 저장하는 방법을 도시하는 도면.
도 24는 데이터 폭이 서로 다른 복수의 데이터를 메모리에 채워 넣어 저장하 는 방법을 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
1 : 메모리 제어 회로
11 : 가산기
12 : 디코더
S0∼S3 : 셀렉터
M0∼Mm-1 : 메모리
31 : 디코더
32∼34 : 셀렉터
41∼45 : D형 플립플롭
[특허 문헌 1] 일본 특개평 6-266614호 공보
본 발명은, 메모리 제어 회로 및 메모리 제어 방법에 관한 것이다.
도 21은, 일반적인 메모리의 구성을 도시하는 도면이다. 메모리(50)는, A비트의 어드레스에 의해 지정되는 최대로 L비트의 데이터의 읽기/쓰기를 행할 수 있다. 이러한 메모리(50)에, 도 22에 도시하는 바와 같은 데이터 폭이 서로 다른 다양한 데이터를 저장하는 방법으로서, 2개의 방법이 생각된다.
1번째 방법은, 도 23에 도시하는 바와 같이, 각각의 데이터를 1개의 어드레스에 저장하는 방법이다(예를 들면, 특허 문헌 1). 그리고, 2번째 방법으로서는, 도 24에 도시하는 바와 같이, 데이터 폭이 서로 다른 복수의 데이터를 메모리(50)에 채워 넣어 저장하는 방법이다.
그러나, 도 23에 도시하는 방법을 이용하면, 데이터 폭이 L비트 미만인 데이터를 저장한 경우에, 사용되지 않는 데이터 영역(무효 데이터 영역)이 발생하여, 메모리의 사용 효율이 저하되게 된다. 또한, 도 24에 도시하는 방법을 이용하면, 무효 데이터 영역은 발생하지 않아 메모리(50)의 사용 효율은 향상되지만, 메모리(50)에 데이터를 기입하기 전이나 메모리(50)로부터 데이터를 판독한 후에, 데이터의 채워 넣음(패킹)이나 전개(언패킹)의 처리가 필요하게 되어, 처리 부하가 증대되게 된다.
본 발명은 상기 과제를 감안하여 이루어진 것으로, 메모리의 사용 효율 저하 및 처리 부하 증대를 초래하지 않고, 데이터 폭이 서로 다른 다양한 데이터의 읽기/쓰기를 가능하게 하는 메모리 제어 회로 및 메모리 제어 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해서, 본 발명의 메모리 제어 회로는, 데이터 폭(D비트)이 k비트의 정수배이고 최대로 L비트인 데이터가 저장되는 k비트 폭의 m(=L/k)개의 메모리(제1∼제m 메모리)를 제어하는 메모리 제어 회로로서, 상기 데 이터의 저장처를 나타내는 A비트의 어드레스 중의 소정의 j비트인 개시 위치 지정 어드레스에 기초하여, 상기 m개의 메모리 중 상기 데이터의 최초의 k비트를 저장하는 메모리(제n 메모리)를 결정하고, 상기 A비트의 어드레스 중의 상기 소정의 j비트를 제외한 A-j비트를 상기 데이터의 저장처를 지정하는 제1 지정 어드레스로서 상기 제n∼제m 메모리에 입력하고, 상기 지정 어드레스에 1을 가산한 제2 지정 어드레스를 상기 제1∼제n-1 메모리에 입력하는 어드레스 입력 회로와, 상기 개시 위치 지정 어드레스에 기초하여, 상기 데이터를 k비트씩으로 분할한 분할 데이터를, 상기 제n∼제m 메모리, 상기 제1∼제n-1 메모리의 순으로 입력하는 데이터 입력 회로와, 상기 개시 위치 지정 어드레스에 기초하여, 상기 제n∼제m 메모리, 상기 제1∼제n-1 메모리의 순으로 상기 데이터의 데이터 폭에 따른 수의 메모리로부터 상기 분할 데이터를 판독하여 상기 데이터로서 출력하는 데이터 출력 회로와, 상기 개시 위치 지정 어드레스와 상기 데이터의 데이터 폭에 기초하여, 상기 제n∼제m 메모리, 상기 제1∼제n-1 메모리의 순으로, D/k개의 메모리를 읽기/쓰기 가능한 상태로 하는 메모리 선택 회로를 구비하는 것으로 한다.
그리고, 상기 데이터 출력 회로는, 상기 개시 위치 지정 어드레스에 기초하여, 상기 m개의 메모리로부터 출력되는 k비트의 분할 데이터를 상기 제n∼제m 메모리, 상기 제1∼제n-1 메모리의 순으로 재배열하여 출력하는 출력 데이터 재배열 회로와, 상기 출력 데이터 재배열 회로로부터 출력되는 m개의 분할 데이터로부터, 상기 데이터의 데이터 폭에 따른 분할 데이터를 선택하여 출력하는 출력 데이터 선택 회로를 포함하여 구성되는 것으로 할 수 있다.
또한, 상기 출력 데이터 선택 회로는, 상기 출력 데이터 재배열 회로로부터 출력되는 m개의 분할 데이터의 각각이 순서대로 입력되는 m개의 논리곱 회로(제1∼제m 논리곱 회로)와, 상기 데이터의 데이터 폭에 기초하여, 상기 제2∼제D/k 논리곱 회로에 상기 분할 데이터를 출력하기 위한 한쪽의 논리값을 입력하고, 상기 제(D/k+1)∼제m 논리곱 회로에 상기 분할 데이터를 마스크하여 출력하기 위한 다른쪽의 논리값을 입력하는 마스크 데이터 입력 회로를 포함하여 구성되는 것으로 할 수 있다.
또한, 상기 개시 위치 지정 어드레스는, 상기 A비트의 어드레스 중의 하위 j비트로 할 수 있다.
<실시예>
==메모리 제어 회로의 구성==
도 1은, 본 발명의 일 실시예인 메모리 제어 회로의 구성을 도시하는 도면이다. 메모리 제어 회로(1)는, 예를 들면 k비트 폭의 m개의 메모리 M0∼Mm-1에 대한 데이터의 READ/WRITE를 제어하는 회로로서, 가산기(11), 디코더(12), 셀렉터 S0∼S3, 및 AND 회로 A1∼Am-1을 구비하고 있다.
도 2는, 메모리 M0∼Mm-1에 저장되는 데이터의 예를 도시하는 도면이다. 도면에 도시되는 바와 같이, 저장되는 데이터의 데이터 폭은, k비트의 정수배이며, 최대로 L비트로 되어 있다. 여기서, 메모리 M0∼Mm-1의 개수 「m」은, m=L/k로 되어 있다. 또한, 본 실시예에서는, 도 2에 도시하는 바와 같이, 데이터 형식은 좌측 채움으로 되어 있지만, 데이터 형식은 좌측 채움에 한정되지 않고, 우측 채움 등 다른 형식으로 하는 것도 가능하다.
예를 들면 A비트의 어드레스 버스 ADDRESS에는, 메모리 M0∼Mm-1에 저장된 데이터를 지정하기 위한 어드레스[A-1:0]가 입력된다. 그리고, 셀렉터 S0의 입력 A에는, A비트의 어드레스의 상위 A-j비트[A-1:j](이하, 「제1 지정 어드레스」로 칭함)가 입력된다. 또한, 셀렉터 S0의 입력 B에는, 가산기(11)에 의해 제1 지정 어드레스에 1이 가산된 어드레스(이하, 「제2 지정 어드레스」로 칭함)가 입력된다. 그리고, 셀렉터 S0의 입력 SEL에는, A비트의 어드레스의 하위 j비트[j-1:0](이하, 「개시 위치 지정 어드레스」로 칭함)가 입력된다.
이 개시 위치 지정 어드레스는, 도 2에 도시한 다양한 데이터 폭의 데이터를, m개의 메모리 M0∼Mm-1 중 어느 것을 선두로 하여 저장할지를 나타내는 것이며, 비트수 「j」는, 2j-1<m≤2j로 되어 있다. 그리고, 셀렉터 S0의 출력 Y0∼Ym-2로부터는, 개시 위치 지정 어드레스에 기초하여, 제1 지정 어드레스 또는 제2 지정 어드레스 중 어느 한쪽이 출력되어, 메모리 M0∼Mm-2의 어드레스 입력 A에 입력된다. 또한, 메모리 Mm-1의 어드레스 입력 A에는, 제1 지정 어드레스가 입력된다.
도 3은, 셀렉터 S0의 동작을 나타내는 진리값 표이다. 도면에 도시하는 바와 같이, 셀렉터 S0의 입력 SEL의 값이 예를 들면 「0」(10진)인 경우에는, 출력 Y0∼Ym-2는 제1 지정 어드레스(입력 A)로 된다. 그리고, 입력 SEL의 값이 「1」(10진)인 경우에는, 출력 Y1∼Ym-2는 제1 지정 어드레스(입력 A)로 되고, 출력 Y0은 제2 지정 어드레스(입력 B)로 된다. 이하 마찬가지로, 입력 SEL의 값이 「p 」(10진)인 경우에는, 출력 Yp∼출력 Ym-2는 제1 지정 어드레스(입력 A)로 되고, 출력 Y0∼Yp-1은 제2 지정 어드레스(입력 B)로 된다. 또한, 입력 SEL의 값이 「m-1」(10진)인 경우에는, 출력 Y0∼Ym-2는 모두 제2 지정 어드레스(입력 B)로 된다.
디코더(12)의 입력 IN에는, 예를 들면 j비트[j-1:0]로 나타내어지는 WD_LENGTH가 입력된다. 이 WD_LENGTH는, 도 2에 도시한 데이터의 데이터 폭을 나타내는 값으로서, k비트의 몇배인지를 기준으로 하여 나타내어져 있다. 예를 들면, 데이터가 도 2에 도시한 k×q비트 폭 데이터인 경우, WD_LENGTH의 값은 「q-1」(10진)로 된다. 또한, WD_LENGTH로서, 도 2에 도시한 데이터의 데이터 폭 그 자체를 이용하는 것으로 하여도 된다. 예를 들면, k×q비트 폭 데이터의 경우, WD_LENGTH의 값을 「k×q」(10진)로 하여도 된다. 단, 본 실시예에 설명하는 바와 같이, k비트의 몇배인지를 기준으로 하여 나타내는 쪽이, WD_LENGTH의 비트수를 적게 할 수 있다.
도 4는, 디코더(12)의 동작을 나타내는 진리값 표이다. 도면에 도시하는 바와 같이, 디코더(12)의 입력 IN의 값이 「r」(10진)인 경우에는, 출력 Y1∼Yr이 「1」, 출력 Yr+1∼Ym-1이 「0」으로 된다. 즉, 출력 Y1∼Ym-1에서의 「1」의 개수에 1을 더한 것이, 메모리 M0∼Mm-1 중, 도 2에 도시되는 데이터를 저장하기 위해 필요한 메모리의 개수로 되어 있다.
셀렉터 S1은, 개시 위치 지정 어드레스 및 디코더(12)의 출력 Y1∼Ym-1에 기초하여, 메모리 M0∼Mm-1 중 필요한 메모리의 읽기/쓰기를 가능하게 하는 것이다. 셀렉터 S1의 입력 IN0에는 「1」이 입력되어 있고, 입력 IN1∼INm-1에는, 디코 더(12)로부터의 출력 Y1∼Ym-1이 입력되어 있다. 그리고, 셀렉터 S1의 출력 /Y0∼/Ym-1로부터는, 입력 SEL에 입력되는 개시 위치 지정 어드레스에 기초하여 입력 IN0∼INm-1을 재배열하여 반전한 것이 출력되어, 메모리 M0∼Mm-1의 읽기/쓰기를 가능하게 하기 위한 입력 /CS에 입력된다.
도 5는, 셀렉터 S1∼S3의 동작을 나타내는 진리값 표이다. 도면에 도시하는 바와 같이, 셀렉터 S1의 입력 SEL의 값이 예를 들면 「0」(10진)인 경우에는, 출력 /Y0∼/Ym-1은 /IN0∼/INm-1로 된다. 그리고, 예를 들면, 데이터 폭이 k×3비트이면, /Y0∼/Y2가 「0」, /Y3∼/Ym-1이 「1」로 되어, 메모리 M0∼M2가 읽기/쓰기 가능한 상태로 된다. 이하 마찬가지로, 입력 SEL의 값이 「s」(10진)인 경우에는, 출력 /Ys∼/Ym-1, /Y0∼/Ys-1의 순으로, /IN0∼/INm-1이 출력된다. 그리고, 데이터 폭이 k×q비트이면, 메모리 Ms∼Mm-1, M0∼Ms-1의 순으로, q개의 메모리가 읽기/쓰기 가능한 상태로 된다.
셀렉터 S2는, 메모리 M0∼Mm-1로부터 판독된 k비트씩의 데이터(분할 데이터)를 재배열하여 출력하는 회로이다. 셀렉터 S2의 입력 IN0∼INm-1에는, 메모리 M0∼Mm-1의 데이터 출력 Q(k비트)가 순서대로 입력되어 있다. 셀렉터 S2의 입력 SEL에는, 개시 위치 지정 어드레스가 입력되어 있다. 그리고, 셀렉터 S2의 출력 Y0∼Ym-1로부터는, 입력 IN0∼INm-1을 개시 위치 지정 어드레스에 기초하여 재배열한 데이터가 출력된다.
도 5의 진리값 표에 나타내어지는 바와 같이, 셀렉터 S2의 입력 SEL의 값이 예를 들면 「0」(10진)인 경우에는, 출력 Y0∼Ym-1은, 순서대로 입력 IN0∼INm-1로 된다. 이하 마찬가지로, 입력 SEL의 값이 「t」(10진)인 경우에는, 입력 IN0∼INm-1은, 출력 Yt∼Ym-1, Y0∼Yt-1의 순으로 재배열하여 출력된다.
그리고, 셀렉터 S2의 출력 Y0은, 예를 들면 L비트[L-1:0]의 판독 데이터 버스 READ_DATA의 최상위 k비트에 접속되고, 출력 Y1∼Ym-1은, 판독 데이터 버스의 나머지 L-k비트에 AND 회로 A1∼Am-1을 통하여 순서대로 접속되어 있다. AND 회로 A1∼Am-1에는, 디코더(12)로부터의 출력 Y1∼Ym-1이 입력되어 있다. 따라서, 데이터 폭이 k×q비트인 경우, 디코더(12)로부터의 출력 Y1∼Yq-1이 「1」, Yq∼Ym-1이 「0」으로 되고, 셀렉터 S2로부터의 출력 Y0∼Ym-1에 의해 구성되는 L비트의 데이터 중, k×q비트 이후의 Yq∼Ym-1이 AND 회로 Aq∼Am-1에 의해 제로 클리어(제로 마스크)된다. 이에 의해, k비트∼L비트의 데이터 폭의 판독 데이터가 판독 데이터 버스 READ_DATA에 출력된다.
셀렉터 S3은, 예를 들면 L비트의 기입 데이터 버스 WRITE_DATA[L-1:0] 상에 있는 k비트∼L비트의 기입 데이터를 k비트씩으로 분할하고, 분할한 데이터를 개시 위치 지정 어드레스에 기초하여 재배열하여 출력하는 회로이다. 셀렉터 S3의 IN0∼INm-1에는, 기입 데이터를 k비트씩으로 분할한 데이터(분할 데이터)가 상위로부터 순서대로 입력되어 있다. 그리고, 입력 IN0∼INm-1이 개시 위치 지정 어드레스에 기초하여 재배열되고, 메모리 M0∼Mm-1의 데이터 입력 D에 대한 출력 Y0∼Ym-1로서 출력된다.
도 5의 진리값 표에 나타내어지는 바와 같이, 셀렉터 S3의 입력 SEL의 값이 예를 들면 「0」(10진)인 경우에는, 출력 Y0∼Ym-1은, 순서대로 입력 IN0∼INm-1로 된다. 이하 마찬가지로, 입력 SEL의 값이 「t」(10진)인 경우에는, 입력 IN0∼INm-1은, 출력 Yt∼Ym-1, Y0∼Yt-1의 순으로 재배열하여 출력된다.
또한, 가산기(11) 및 셀렉터 S0이 본 발명의 어드레스 입력 회로에 상당하고, 셀렉터 S3이 본 발명의 데이터 입력 회로에 상당하며, 셀렉터 S2, 디코더(12),및 AND 회로 A1∼Am-1이 본 발명의 데이터 출력 회로에 상당하고, 디코더(12) 및 셀렉터 S1이 본 발명의 메모리 선택 회로에 상당한다.
또한, 셀렉터 S2가 본 발명의 출력 데이터 재배열 회로에 상당하고, 디코더(12) 및 AND 회로 A1∼Am-1이 본 발명의 출력 데이터 선택 회로에 상당한다. 또한, AND 회로 A1∼Am-1이 본 발명의 논리곱 회로에 상당하고, 디코더(12)가 본 발명의 마스크 데이터 입력 회로에 상당한다.
==구체예에 의한 동작 설명==
이러한 메모리 제어 회로(1)의 동작을, 구체예를 이용하여 설명한다. 도 6은, 도 1에 도시한 메모리 제어 회로(1)의 구체예를 도시하는 도면이다. 메모리 제어 회로(1a)는, 8비트 폭의 4개의 메모리 M0∼M3을 제어하는 회로이며(k=8, m=4), 읽기/쓰기 가능한 데이터의 데이터 폭은 8비트∼32비트(8비트 단위)로 되어 있다. 또한, 메모리 M0∼M3을 선택하기 위한 비트수 「j」는, 2j-1<m≤2j의 관계로부터, j=2로 되어 있다.
그리고, 메모리 제어 회로(1a)에서는, 디코더(31) 및 셀렉터(32∼34)에 의해, 도 1에 도시한 셀렉터 S0이 구성되어 있다. 또한, 셀렉터 S2a∼S2d에 의해, 도 1에 도시한 셀렉터 S2가 구성되고, 셀렉터 S3a∼셀렉터 S3d에 의해, 도 1에 도시한 셀렉터 S3이 구성되어 있다. 또한, 데이터 보유용으로, D형 플립플롭(41∼45)이 설치되어 있다.
디코더(31)의 입력 IN에는, 32비트의 어드레스[31:0]의 하위 2비트[1:0](개시 위치 지정 어드레스)가 입력된다. 그리고, 개시 위치 지정 어드레스에 따른 값이, 디코더(31)의 출력 Y0∼Y2로부터 출력된다. 셀렉터(32)에는, 디코더(31)로부터의 출력 Y0이 입력되어 있고, 디코더(31)의 출력 Y0이 예를 들면 「0」인 경우에는, 입력 A(어드레스의 상위 30비트:제1 지정 어드레스)를 출력하고, 디코더(31)의 출력 Y0이 예를 들면 「1」인 경우에는, 입력 B(어드레스의 상위 30비트+1:제2 지정 어드레스)를 출력한다. 셀렉터(33, 34)도 마찬가지로, 디코더(31)로부터의 출력 Y1, Y2에 따라서, 제1 지정 어드레스 또는 제2 지정 어드레스를 출력한다.
도 7은, 디코더(31)의 동작을 나타내는 진리값 표이다. 도면에 도시하는 바와 같이, 디코더(31)의 입력 IN의 값이 「0」(10진)인 경우에는, 출력 Y0∼Y2가 모두 「0」으로 된다. 이 때, 셀렉터(32∼34)로부터는 제1 지정 어드레스가 출력된다. 디코더(31)의 입력 IN의 값이 「1」(10진)인 경우에는, 출력 Y1, Y2가 「0」으로 되고, 출력 Y0이 「1」로 된다. 이 때, 셀렉터(33, 34)로부터는 제1 지정 어드레스가 출력되고, 셀렉터(32)로부터는 제2 지정 어드레스가 출력된다. 디코더(31)의 입력 IN의 값이 「2」(10진)인 경우에는, 출력 Y2가 「0」으로 되고, 출력 Y0, Y1이 「1」로 된다. 이 때, 셀렉터(34)로부터는 제1 지정 어드레스가 출력되고, 셀렉터(32, 33)로부터는 제2 지정 어드레스가 출력된다. 디코더(31)의 입력 IN의 값이 「3」(10진)인 경우에는, 출력 Y0∼Y2가 모두 「1」로 된다. 이 때, 셀렉터(32∼34)로부터는 제2 지정 어드레스가 출력된다.
도 8은, 디코더(12)의 입력 IN에 입력되는 WD_LENGTH와 데이터 폭과의 관계를 도시하는 도면이다. 도면에 도시하는 바와 같이, WD_LENGTH에 1을 더하여 8배로 한 값이 데이터 폭으로 되어 있다(데이터 폭=8비트×(WD_LENGTH+1)). 도 9는, 메모리 제어 회로(1a)에서의 디코더(12)의 동작을 나타내는 진리값 표이다. 도면에 도시하는 바와 같이, 디코더(12)의 입력 IN의 값이 「0」(10진)인 경우에는, 출력 Y1∼Y3이 모두 「0」으로 된다. 그리고, 디코더(12)의 입력 IN의 값이 「1」(10진)인 경우에는, 출력 Y2, Y3이 「0」으로 되고, 출력 Y1이 「1」로 된다. 디코더(12)의 입력 IN의 값이 「2」(10진)인 경우에는, 출력 Y3이 「0」으로 되고, 출력 Y1, Y2가 「1」로 된다. 그리고, 디코더(12)의 입력 IN의 값이 「3」(10진)인 경우에는, 출력 Y1∼Y3이 모두 「1」로 된다.
도 10은, 메모리 제어 회로(1a)에서의 셀렉터 S1의 동작을 나타내는 진리값 표이다. 도면에 도시하는 바와 같이, 입력 SEL에 입력되는 개시 위치 지정 어드레스(32비트의 어드레스의 하위 2비트[1:0])가 「0」(10진)인 경우, 출력 /Y0∼/Y3의 순으로 IN0∼IN3을 반전한 값이 출력된다. 입력 SEL의 값이 「1」(10진)인 경우, 출력 /Y1∼/Y3, /Y0의 순으로 IN0∼IN3을 반전한 값이 출력된다. 입력 SEL의 값이 「2」(10진)인 경우, 출력 /Y2, /Y3, /Y0, /Y1의 순으로 IN0∼IN3을 반전한 값이 출력된다. 입력 SEL의 값이 「3」(10진)인 경우, 출력 /Y3, /Y0∼/Y2의 순으로 입력 IN0∼IN3을 반전한 값이 출력된다.
도 11은, 셀렉터 S2a∼S2d의 동작을 나타내는 진리값 표이다. 도면에 도시하는 바와 같이, 입력 SEL에 입력되는 개시 위치 지정 어드레스(32비트의 어드레스의 하위 2비트[10])가 「0」(10진)인 경우, 셀렉터 S2a의 출력(R31-24)은 메모리 M0으로부터 출력되는 데이터로 되고, 셀렉터 S2b의 출력(R23-16)은 메모리 M1로부터 출력되는 데이터로 되며, 셀렉터 S2c의 출력(R15-8)은 메모리 M2로부터 출력되는 데이터로 되고, 셀렉터 S2d의 출력(R7-0)은 메모리 M3으로부터 출력되는 데이터로 된다.
즉, 개시 위치 지정 어드레스가 「0」(10진)인 경우, 메모리 M0∼M3의 순으로 판독 데이터로서 출력된다. 그리고, 도 11의 진리값 표에 나타내어지는 바와 같이, 개시 위치 지정 어드레스가 「1」(10진)인 경우, 메모리 M1∼M3, M0의 순으로 판독 데이터로서 출력된다. 또한, 개시 위치 지정 어드레스가 「2」(10진)인 경우, 메모리 M2, M3, M0, M1의 순으로 판독 데이터로서 출력된다. 또한, 개시 위치 지정 어드레스가 「3」(10진)인 경우, 메모리 M3, M0∼M2의 순으로 판독 데이터로서 출력된다.
도 12는, 셀렉터 S3a∼S3d의 동작을 나타내는 진리값 표이다. 도면에 도시하는 바와 같이, 입력 SEL에 입력되는 개시 위치 지정 어드레스(32비트의 어드레스의 하위 2비트[10])가 「0」(10진)인 경우, 셀렉터 S3a의 출력(W31-24)은 기입 데이터의 상위 8비트[31:24]로 되고, 셀렉터 S3b의 출력(W23-16)은 기입 데이터의 다음의 8비트[23:16]로 되고, 셀렉터 S3c의 출력(W15-8)은 기입 데이터의 또 다음의 8비트[15:8]로 되고, 셀렉터 S3d의 출력(W7-0)은 기입 데이터의 하위 8비트[7:0]로 된다.
즉, 개시 위치 지정 어드레스가 「0」(10진)인 경우, 기입 데이터를 8비트씩으로 분할한 데이터(분할 데이터)는, 상위로부터 순서대로 메모리 M0∼M3에 대하여 출력된다. 그리고, 도 12의 진리값 표에 나타내어지는 바와 같이, 개시 위치 지정 어드레스가 「1」(10진)인 경우, 분할 데이터는 상위로부터 순서대로 메모리 M1∼M3, M0에 대하여 출력된다. 또한, 개시 위치 지정 어드레스가 「2」(10진)인 경우, 분할 데이터는 상위로부터 순서대로 메모리 M2, M3, M0, M1에 대하여 출력된다. 또한, 개시 위치 지정 어드레스가 「3」(10진)인 경우, 분할 데이터는 상위로부터 순서대로 메모리 M3, M0∼M2에 대하여 출력된다.
다음으로, 메모리 제어 회로(1a)에 의한 읽기/쓰기(READ/WRITE)의 동작에 대하여 구체적으로 설명한다.
(1) READ(선두 어드레스:4n번지)
도 13은, 판독 데이터의 선두 어드레스가 4n번지인 경우의 데이터 배치의 일례를 도시하는 도면이다. 판독 데이터의 선두 어드레스가 4n번지인 경우, 32비트의 어드레스의 하위 2비트[1:0]는, 「0」(10진)으로 되어 있다. 그 때문에, 디코더(31)의 출력 Y0∼Y2는 모두 「0」으로 되어, 셀렉터(32∼34)로부터는 제1 지정 어드레스가 출력된다. 즉, 메모리 M0∼M3의 어드레스 입력 A에는 n번지가 입력되게 된다.
여기서, 판독 데이터의 데이터 폭이 32비트인 것으로 하면, WD_LENGTH는 「3」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「1」로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0∼/Y3은 모두 「0」으로 되어, 메모리 M0∼M3 모두가 판독 가능한 상태로 된다. 그리고, 메모리 M0∼M3의 n번지의 데이터가 데이터 출력 Q로부터 출력된다. 메모리 M0∼M3으로부터 출력되는 이들 데이터는, 메모리 M0∼M3 전체의 어드레스 공간에서는, 4n∼4n+3번지의 데이터로 되어 있다. 그리고, 메모리 M0∼M3으로부터 판독된 데이터는, 순서대로 셀렉터 S2a∼S2d로부터 출력된다. 또한, 디코더(12)의 출력 Y1∼Y3이 모두 「1」로 되어 있기 때문에, 메모리 M1∼M3으로부터 판독된 데이터는 AND 회로 A1∼A3에 의해 클리어되지 않는다. 이에 의해, 판독 데이터 버스 READ_DATA에는, 32비트 폭의 데이터가 출력된다.
또한, 판독 데이터의 데이터 폭이 24비트인 것으로 하면, WD_LENGTH는 「2」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1, Y2는 「1」, 출력 Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0∼/Y2가 「0」, 출력 /Y3이 「1」로 되어, 메모리 M0∼M2가 판독 가능, 메모리 M3이 판독 불가능의 상태로 된다. 이에 의해, 셀렉터 S2d의 출력(R7-0)은 무효한 데이터로 되지만, AND 회로 A3에 의해 제로 클리어되어, 24비트 폭의 좌측 채움의 데이터가 판독 데이터 버스 READ_DATA에 출력된다.
또한, 판독 데이터의 데이터 폭이 16비트인 것으로 하면, WD_LENGTH는 「1」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1은 「1」, 출력 Y2, Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0, /Y1이 「0」, 출력 /Y2, /Y3이 「1」로 되어, 메모리 M0, M1이 판독 가능, 메모리 M2, M3이 판독 불가능의 상태로 된다. 이에 의해, 셀렉터 S2c, S2d의 출력(R15-8, R7-0)은 무효한 데이터로 되지만, AND 회로 A2, A3에 의해 제로 클리어되어, 16비트 폭의 좌측 채움의 데이터가 판독 데이터 버스 READ_DATA에 출력된다.
또한, 판독 데이터의 데이터 폭이 8비트인 것으로 하면, WD_LENGTH는 「0」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0이 「0」, 출력 /Y1∼/Y3이 「1」로 되어, 메모리 M0이 판독 가능, 메모리 M1∼M3이 판독 불가능의 상태로 된다. 이에 의해, 셀렉터 S2b∼S2d의 출력(R23-16, R15-8, R7-0)은 무효한 데이터로 되지만, AND 회로 A1∼A3에 의해 제로 클리어되어, 8비트 폭의 좌측 채움의 데이터가 판독 데이터 버스 READ_DATA에 출력된다.
(2) READ(선두 어드레스:4n+1번지)
도 14는, 판독 데이터의 선두 어드레스가 4n+1번지인 경우의 데이터 배치의 일례를 도시하는 도면이다. 판독 데이터의 선두 어드레스가 4n+1번지인 경우, 32비트의 어드레스의 하위 2비트[1:0]는, 「1」(10진)로 되어 있다. 그 때문에, 디코더(31)의 출력 Y0이 「1」, 출력 Y1, Y2가 「0」으로 되어, 셀렉터(33, 34)로부터는 제1 지정 어드레스가 출력되고, 셀렉터(32)로부터는 제2 지정 어드레스가 출력된다. 즉, 메모리 M1∼M3의 어드레스 입력 A에는 n번지가 입력되고, 메모리 M0의 어드레스 입력 A에는 n+1번지가 입력되게 된다.
여기서, 판독 데이터의 데이터 폭이 32비트인 것으로 하면, WD_LENGTH는 「3」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「1」로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0∼/Y3은 모두 「0」으로 되어, 메모리 M0∼M3 모두가 판독 가능한 상태로 된다. 그리고, 메모리 M1∼M3의 n번지의 데이터 및 메모리 M0의 n+1번지의 데이터가 데이터 출력 Q로부터 출력된다. 메모리 M1∼M3, M0으로부터 출력되는 이들 데이터는, 메모리 M0∼M3의 전체의 어드레스 공간에서는, 4n+1∼4n+4번지의 데이터로 되어 있다. 그리고, 메모리 M1∼M3, M0으로부터 판독된 데이터는, 순서대로 셀렉터 S2a∼S2d로부터 출력된다. 또한, 디코더(12)의 출력 Y1∼Y3이 모두 「1」로 되어 있기 때문에, 메모리 M2, M3, M0으로부터 판독된 데이터는 AND 회로 A1∼A3에 의해 클리어되지 않는다. 이에 의해, 판독 데이터 버스 READ_DATA에는, 32비트 폭의 데이터가 출력된다.
또한, 판독 데이터의 데이터 폭이 24비트인 것으로 하면, WD_LENGTH는 「2」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1, Y2는 「1」, 출력 Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y1∼/Y3이 「0」, 출력 /Y0이 「1」로 되어, 메모리 M1∼M3이 판독 가능, 메모리 M0이 판독 불가능의 상태로 된다. 이에 의해, 셀렉터 S2d의 출력(R7-0)은 무효한 데이터로 되지만, AND 회로 A3에 의해 제로 클리어되어, 24비트 폭의 좌측 채움의 데이터가 판독 데이터 버스 READ_DATA에 출력된다.
또한, 판독 데이터의 데이터 폭이 16비트인 것으로 하면, WD_LENGTH는 「1」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1은 「1」, 출력 Y2, Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y1, /Y2가 「0」, 출력 /Y3, /Y0이 「1」로 되어, 메모리 M1, M2가 판독 가능, 메모리 M3, M0이 판독 불가능의 상태로 된다. 이에 의해, 셀렉터 S2c, S2d의 출력(R15-8, R7-0)은 무효한 데이터로 되지만, AND 회로 A2, A3에 의해 제로 클리어되어, 16비트 폭의 좌측 채움의 데이터가 판독 데이터 버스 READ_DATA에 출력된다.
또한, 판독 데이터의 데이터 폭이 8비트인 것으로 하면, WD_LENGTH는 「0」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y1이 「0」, 출력 /Y2, /Y3, /Y0이 「1」로 되어, 메모리 M1이 판독 가능, 메모리 M2, M3, M0이 판독 불가능의 상태로 된다. 이에 의해, 셀렉터 S2b∼S2d의 출력(R23-16, R15-8, R7-0)은 무효한 데이터로 되지만, AND 회로 A1∼A3에 의해 제로 클리어되어, 8비트 폭의 좌측 채움의 데이터가 판독 데이터 버스 READ_DATA에 출력된다.
(3) READ(선두 어드레스:4n+2번지)
도 15는, 판독 데이터의 선두 어드레스가 4n+2번지인 경우의 데이터 배치의 일례를 도시하는 도면이다. 판독 데이터의 선두 어드레스가 4n+2번지인 경우, 32비트의 어드레스의 하위 2비트[1:0]는, 「2」(10진)로 되어 있다. 그 때문에, 디코더(31)의 출력 Y0, Y1이 「1」, 출력 Y2가 「0」으로 되어, 셀렉터(34)로부터는 제1 지정 어드레스가 출력되고, 셀렉터(32, 33)로부터는 제2 지정 어드레스가 출력된다. 즉, 메모리 M2, M3의 어드레스 입력 A에는 n번지가 입력되고, 메모리 M0, M1의 어드레스 입력 A에는 n+1번지가 입력되게 된다.
여기서, 판독 데이터의 데이터 폭이 32비트인 것으로 하면, WD_LENGTH는 「3」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「1」로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0∼/Y3은 모두 「0」으로 되어, 메모리 M0∼M3 모두가 판독 가능한 상태로 된다. 그리고, 메모리 M2, M3의 n번지의 데이터 및 메모리 M0, M1의 n+1번지의 데이터가 데이터 출력 Q로부터 출력된다. 메모리 M2, M3, M0, M1로부터 출력되는 이들 데이터는, 메모리 M0∼M3의 전체의 어드레스 공간에서는, 4n+2∼4n+5번지의 데이터로 되어 있다. 그리고, 메모리 M2, M3, M0, M1로부터 판독된 데이터는, 순서대로 셀렉터 S2a∼S2d로부터 출력된다. 또한, 디코더(12)의 출력 Y1∼Y3이 모두 「1」로 되어 있기 때문에, 메모리 M3, M0, M1로부터 판독된 데이터는 AND 회로 A1∼A3에 의해 클리어되지 않는다. 이에 의해, 판독 데이터 버스 READ_DATA에는, 32비트 폭의 데이터가 출력된다.
또한, 판독 데이터의 데이터 폭이 24비트인 것으로 하면, WD_LENGTH는 「2」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1, Y2는 「1」, 출력 Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y2, /Y3, /Y0이 「0」, 출력 /Y1이 「1」로 되어, 메모리 M2, M3, M0이 판독 가능, 메모리 M1이 판독 불가능의 상태로 된다. 이에 의해, 셀렉터 S2d의 출력(R7-0)은 무효한 데이터로 되지만, AND 회로 A3에 의해 제로 클리어되어, 24비트 폭의 좌측 채움의 데이터가 판독 데이터 버스 READ_DATA에 출력된다.
또한, 판독 데이터의 데이터 폭이 16비트인 것으로 하면, WD_LENGTH는 「1」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1은 「1」, 출력 Y2, Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y2, /Y3이 「0」, 출력 /Y0, /Y1이 「1」로 되어, 메모리 M2, M3이 판독 가능, 메모리 M0, M1이 판독 불가능의 상태로 된다. 이에 의해, 셀렉터 S2c, S2d의 출력(R15-8, R7-0)은 무효한 데이터로 되지만, AND 회로 A2, A3에 의해 제로 클리어되어, 16비트 폭의 좌측 채움의 데이터가 판독 데이터 버스 READ_DATA에 출력된다.
또한, 판독 데이터의 데이터 폭이 8비트인 것으로 하면, WD_LENGTH는 「0」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y2가 「0」, 출력 /Y3, /Y0, /Y1이 「1」로 되어, 메모리 M2가 판독 가능, 메모리 M3, M0, M1이 판독 불가능의 상태로 된다. 이에 의해, 셀렉터 S2b∼S2d의 출력(R23-16, R15-8, R7-0)은 무효한 데이터로 되지만, AND 회로 A1∼A3에 의해 제로 클리어되어, 8비트 폭의 좌측 채움의 데이터가 판독 데이터 버스 READ_DATA에 출력된다.
(4) READ(선두 어드레스:4n+3번지)
도 16은, 판독 데이터의 선두 어드레스가 4n+3번지인 경우의 데이터 배치의 일례를 도시하는 도면이다. 판독 데이터의 선두 어드레스가 4n+3번지인 경우, 32비트의 어드레스의 하위 2비트[1:0]는, 「3」(10진)으로 되어 있다. 그 때문에, 디코더(31)의 출력 Y0∼Y3은 모두 「1」로 되어, 셀렉터(32∼34)로부터는 제2 지정 어드레스가 출력된다. 즉, 메모리 M3의 어드레스 입력 A에는 n번지가 입력되고, 메모리 M0∼M2의 어드레스 입력 A에는 n+1번지가 입력되게 된다.
여기서, 판독 데이터의 데이터 폭이 32비트인 것으로 하면, WD_LENGTH는 「3」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「1」로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0∼/Y3은 모두 「0」으로 되어, 메모리 M0∼M3 모두가 판독 가능한 상태로 된다. 그리고, 메모리 M3의 n번지의 데이터 및 메모리 M0∼M2 의 n+1번지의 데이터가 데이터 출력 Q로부터 출력된다. 메모리 M3, M0∼M2로부터 출력되는 이들 데이터는, 메모리 M0∼M3의 전체의 어드레스 공간에서는, 4n+3∼4n+6번지의 데이터로 되어 있다. 그리고, 메모리 M3, M0∼M2로부터 판독된 데이터는, 순서대로 셀렉터 S2a∼S2d로부터 출력된다. 또한, 디코더(12)의 출력 Y1∼Y3이 모두 「1」로 되어 있기 때문에, 메모리 M0∼M2로부터 판독된 데이터는 AND 회로 A1∼A3에 의해 클리어되지 않는다. 이에 의해, 판독 데이터 버스 READ_DATA에는, 32비트 폭의 데이터가 출력된다.
또한, 판독 데이터의 데이터 폭이 24비트인 것으로 하면, WD_LENGTH는 「2」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1, Y2는 「1」, 출력 Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y3, /Y0, /Y1이 「0」, 출력 /Y2가 「1」로 되어, 메모리 M3, M0, M1이 판독 가능, 메모리 M2가 판독 불가능의 상태로 된다. 이에 의해, 셀렉터 S2d의 출력(R7-0)은 무효한 데이터로 되지만, AND 회로 A3에 의해 제로 클리어되어, 24비트 폭의 좌측 채움의 데이터가 판독 데이터 버스 READ_DATA에 출력된다.
또한, 판독 데이터의 데이터 폭이 16비트인 것으로 하면, WD_LENGTH는 「1」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1은 「1」, 출력 Y2, Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y3, /Y0이 「0」, 출력 /Y1, /Y2가 「1」로 되어, 메모리 M3, M0이 판독 가능, 메모리 M1, M2가 판독 불가능의 상태로 된다. 이에 의해, 셀렉터 S2c, S2d의 출력(R15-8, R7-0)은 무효한 데이터로 되지만, AND 회로 A2, A3에 의해 제로 클리어되어, 16비트 폭의 좌측 채움의 데이터가 판독 데이터 버스 READ_DATA에 출력된다.
또한, 판독 데이터의 데이터 폭이 8비트인 것으로 하면, WD_LENGTH는 「0」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y3이 「0」, 출력 /Y0∼/Y2가 「1」로 되어, 메모리 M3이 판독 가능, 메모리 M0∼M2가 판독 불가능의 상태로 된다. 이에 의해, 셀렉터 S2b∼S2d의 출력(R23-16, R15-8, R7-0)은 무효한 데이터로 되지만, AND 회로 A1∼A3에 의해 제로 클리어되어, 8비트 폭의 좌측 채움의 데이터가 판독 데이터 버스 READ_DATA에 출력된다.
(5) WRITE(선두 어드레스:4n번지)
도 17은, 기입 데이터의 선두 어드레스가 4n번지인 경우의 데이터 배치의 일례를 도시하는 도면이다. 기입 데이터의 선두 어드레스가 4n번지인 경우, 32비트의 어드레스의 하위 2비트[1:0]는, 「0」(10진)으로 되어 있다. 그 때문에, 디코더(31)의 출력 Y0∼Y2는 모두 「0」으로 되어, 셀렉터(32∼34)로부터는 제1 지정 어드레스가 출력된다. 즉, 메모리 M0∼M3의 어드레스 입력 A에는 n번지가 입력되게 된다.
여기서, 기입 데이터의 데이터 폭이 32비트인 것으로 하면, WD_LENGTH는 「3」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「1」로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0∼/Y3은 모두 「0」으로 되어, 메모리 M0∼M3 모두가 기입 가능한 상태로 된다. 32비트의 기입 데이터는 상위로부터 8비트씩으로 분할되고, 셀렉터 S3a∼S3d를 통하여, 메모리 M0∼M3의 순으로 데이터 입력 D에 입력되 어, 각각의 n번지에 저장된다. 메모리 M0∼M3에 저장되는 이들 데이터는, 메모리 M0∼M3의 전체의 어드레스 공간에서는, 4n∼4n+3번지의 데이터로 되어 있다.
또한, 기입 데이터의 데이터 폭이 24비트인 것으로 하면, WD_LENGTH는 「2」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1, Y2는 「1」, 출력 Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0∼/Y2가 「0」, 출력 /Y3이 「1」로 되고, 메모리 M0∼M2가 기입 가능, 메모리 M3이 기입 불가능의 상태로 된다. 이에 의해, 기입 데이터 버스 WRITE_DATA 상의 상위 24비트의 데이터가 상위로부터 8비트씩으로 분할되고, 셀렉터 S3a∼S3c를 통하여, 메모리 M0∼M2의 순으로 데이터 입력 D에 입력되어, 각각의 n번지에 저장된다.
또한, 기입 데이터의 데이터 폭이 16비트인 것으로 하면, WD_LENGTH는 「1」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1은 「1」, 출력 Y2, Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0, /Y1이 「0」, 출력 /Y2, /Y3이 「1」로 되어, 메모리 M0, M1이 기입 가능, 메모리 M2, M3이 기입 불가능의 상태로 된다. 이에 의해, 기입 데이터 버스 WRITE_DATA 상의 상위 16비트의 데이터가 상위로부터 8비트씩으로 분할되고, 셀렉터 S3a, S3b를 통하여, 메모리 M0, M1의 순으로 데이터 입력 D에 입력되어, 각각의 n번지에 저장된다.
또한, 기입 데이터의 데이터 폭이 8비트인 것으로 하면, WD_LENGTH는 「0」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0이 「0」, 출력 /Y1∼/Y3이 「1」로 되어, 메모리 M0이 기입 가능, 메모리 M1∼M3이 기입 불가능의 상태로 된다. 이에 의해, 기입 데이터 버스 WRITE_DATA 상의 상위 8비트의 데이터가, 셀렉터 S3a를 통하여, 메모리 M0의 데이터 입력 D에 입력되어, n번지에 저장된다.
(6) WRITE(선두 어드레스:4n+1번지)
도 18은, 기입 데이터의 선두 어드레스가 4n+1번지인 경우의 데이터 배치의 일례를 도시하는 도면이다. 기입 데이터의 선두 어드레스가 4n+1번지인 경우, 32비트의 어드레스의 하위 2비트[1:0]는, 「1」(10진)로 되어 있다. 그 때문에, 디코더(31)의 출력 Y0이 「1」, 출력 Y1, Y2가 「0」으로 되어, 셀렉터(33, 34)로부터는 제1 지정 어드레스가 출력되고, 셀렉터(32)로부터는 제2 지정 어드레스가 출력된다. 즉, 메모리 M1∼M3의 어드레스 입력 A에는 n번지가 입력되고, 메모리 M0의 어드레스 입력 A에는 n+1번지가 입력되게 된다.
여기서, 기입 데이터의 데이터 폭이 32비트인 것으로 하면, WD_LENGTH는 「3」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「1」로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0∼/Y3은 모두 「0」으로 되어, 메모리 M0∼M3 모두가 기입 가능한 상태로 된다. 32비트의 기입 데이터는 상위로부터 8비트씩으로 분할되고, 셀렉터 S3a∼S3d를 통하여, 메모리 M1∼M3, M0의 순으로 데이터 입력 D에 입력되어, 메모리 M1∼M3의 n번지 및 메모리 M0의 n+1번지에 저장된다. 메모리 M0∼M3에 저장되는 이들 데이터는, 메모리 M0∼M3의 전체의 어드레스 공간에서는, 4n+1∼4n+4번지의 데이터로 되어 있다.
또한, 기입 데이터의 데이터 폭이 24비트인 것으로 하면, WD_LENGTH는 「2」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1, Y2는 「1」, 출력 Y3은 「0」으 로 된다. 그 때문에, 셀렉터 S1의 출력 /Y1∼/Y3이 「0」, 출력 /Y0이 「1」로 되어, 메모리 M1∼M3이 기입 가능, 메모리 M0이 기입 불가능의 상태로 된다. 이에 의해, 기입 데이터 버스 WRITE_DATA 상의 상위 24비트의 데이터가 상위로부터 8비트씩으로 분할되고, 셀렉터 S3b∼S3d를 통하여, 메모리 M1∼M3의 순으로 데이터 입력 D에 입력되어, 각각의 n번지에 저장된다.
또한, 기입 데이터의 데이터 폭이 16비트인 것으로 하면, WD_LENGTH는 「1」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1은 「1」, 출력 Y2, Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y1, /Y2가 「0」, 출력 /Y3, /Y0이 「1」로 되어, 메모리 M1, M2가 기입 가능, 메모리 M3, M0이 기입 불가능의 상태로 된다. 이에 의해, 기입 데이터 버스 WRITE_DATA 상의 상위 16비트의 데이터가 상위로부터 8비트씩으로 분할되고, 셀렉터 S3b, S3c를 통하여, 메모리 M1, M2의 순으로 데이터 입력 D에 입력되어, 각각의 n번지에 저장된다.
또한, 기입 데이터의 데이터 폭이 8비트인 것으로 하면, WD_LENGTH는 「0」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y1이 「0」, 출력 /Y2, /Y3, /Y0이 「1」로 되어, 메모리 M1이 기입 가능, 메모리 M2, M3, M0이 기입 불가능의 상태로 된다. 이에 의해, 기입 데이터 버스 WRITE_DATA 상의 상위 8비트의 데이터가, 셀렉터 S3b를 통하여, 메모리 M1의 데이터 입력 D에 입력되어, n번지에 저장된다.
(7) WRITE(선두 어드레스:4n+2번지)
도 19는, 기입 데이터의 선두 어드레스가 4n+2번지인 경우의 데이터 배치의 일례를 도시하는 도면이다. 기입 데이터의 선두 어드레스가 4n+2번지인 경우, 32비트의 어드레스의 하위 2비트[1:0]는, 「2」(10진)로 되어 있다. 그 때문에, 디코더(31)의 출력 Y0, Y1이 「1」, 출력 Y2가 「0」으로 되어, 셀렉터(34)로부터는 제1 지정 어드레스가 출력되고, 셀렉터(32, 33)로부터는 제2 지정 어드레스가 출력된다. 즉, 메모리 M2, M3의 어드레스 입력 A에는 n번지가 입력되고, 메모리 M0, M1의 어드레스 입력 A에는 n+1번지가 입력되게 된다.
여기서, 기입 데이터의 데이터 폭이 32비트인 것으로 하면, WD_LENGTH는 「3」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「1」로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0∼/Y3은 모두 「0」으로 되어, 메모리 M0∼M3 모두가 기입 가능한 상태로 된다. 32비트의 기입 데이터는 상위로부터 8비트씩으로 분할되고, 셀렉터 S3a∼S3d를 통하여, 메모리 M2, M3, M0, M1의 순으로 데이터 입력 D에 입력되어, 메모리 M2, M3의 n번지 및 메모리 M0, M1의 n+1번지에 저장된다. 메모리 M0∼M3에 저장되는 이들 데이터는, 메모리 M0∼M3의 전체의 어드레스 공간에서는, 4n+2∼4n+5번지의 데이터로 되어 있다.
또한, 기입 데이터의 데이터 폭이 24비트인 것으로 하면, WD_LENGTH는 「2」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1, Y2는 「1」, 출력 Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y2, /Y3, /Y0이 「0」, 출력 /Y1이 「1」로 되어, 메모리 M2, M3, M0이 기입 가능, 메모리 M1이 기입 불가능의 상태로 된다. 이에 의해, 기입 데이터 버스 WRITE_DATA 상의 상위 24비트의 데이터가 상위로부터 8비트씩으로 분할되고, 셀렉터 S3c, S3d, S3a를 통하여, 메모리 M2, M3, M0 의 순으로 데이터 입력 D에 입력되어, 메모리 M2, M3의 n번지 및 메모리 M0의 n+1번지에 저장된다.
또한, 기입 데이터의 데이터 폭이 16비트인 것으로 하면, WD_LENGTH는 「1」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1은 「1」, 출력 Y2, Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y2, /Y3이 「0」, 출력 /Y0, /Y1이 「1」로 되어, 메모리 M2, M3이 기입 가능, 메모리 M0, M1이 기입 불가능의 상태로 된다. 이에 의해, 기입 데이터 버스 WRITE_DATA 상의 상위 16비트의 데이터가 상위로부터 8비트씩으로 분할되고, 셀렉터 S3c, S3d를 통하여, 메모리 M2, M3의 순으로 데이터 입력 D에 입력되어, 각각의 n번지에 저장된다.
또한, 기입 데이터의 데이터 폭이 8비트인 것으로 하면, WD_LENGTH는 「0」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y2가 「0」, 출력 /Y3, /Y0, /Y1이 「1」로 되어, 메모리 M2가 기입 가능, 메모리 M3, M0, M1이 기입 불가능의 상태로 된다. 이에 의해, 기입 데이터 버스 WRITE_DATA 상의 상위 8비트의 데이터가, 셀렉터 S3c를 통하여, 메모리 M2의 데이터 입력 D에 입력되어, n번지에 저장된다.
(8) WRITE(선두 어드레스:4n+3번지)
도 19는, 기입 데이터의 선두 어드레스가 4n+3번지인 경우의 데이터 배치의 일례를 도시하는 도면이다. 기입 데이터의 선두 어드레스가 4n+3번지인 경우, 32비트의 어드레스의 하위 2비트[1:0]는, 「3」(10진)으로 되어 있다. 그 때문에, 디코더(31)의 출력 Y0∼Y2는 모두 「1」로 되어, 셀렉터(32∼34)로부터는 제2 지정 어드레스가 출력된다. 즉, 메모리 M3의 어드레스 입력 A에는 n번지가 입력되고, 메모리 M0∼M2의 어드레스 입력 A에는 n+1번지가 입력되게 된다.
여기서, 기입 데이터의 데이터 폭이 32비트인 것으로 하면, WD_LENGTH는 「3」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「1」로 된다. 그 때문에, 셀렉터 S1의 출력 /Y0∼/Y3은 모두 「0」으로 되어, 메모리 M0∼M3 모두가 기입 가능한 상태로 된다. 32비트의 기입 데이터는 상위로부터 8비트씩으로 분할되고, 셀렉터 S3a∼S3d를 통하여, 메모리 M3, M0∼M2의 순으로 데이터 입력 D에 입력되어, 메모리 M3의 n번지 및 메모리 M0∼M2의 n+1번지에 저장된다. 메모리 M0∼M3에 저장되는 이들 데이터는, 메모리 M0∼M3의 전체의 어드레스 공간에서는, 4n+3∼4n+6번지의 데이터로 되어 있다.
또한, 기입 데이터의 데이터 폭이 24비트인 것으로 하면, WD_LENGTH는 「2」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1, Y2는 「1」, 출력 Y3은 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y3, /Y0, /Y1이 「0」, 출력 /Y2가 「1」로 되어, 메모리 M3, M0, M1이 기입 가능, 메모리 M2가 기입 불가능의 상태로 된다. 이에 의해, 기입 데이터 버스 WRITE_DATA 상의 상위 24비트의 데이터가 상위로부터 8비트씩으로 분할되고, 셀렉터 S3d, S3a, S3b를 통하여, 메모리 M3, M0, M1의 순으로 데이터 입력 D에 입력되어, 메모리 M3의 n번지 및 메모리 M0, M1의 n+1번지에 저장된다.
또한, 기입 데이터의 데이터 폭이 16비트인 것으로 하면, WD_LENGTH는 「1」(10진)로 된다. 이 때, 디코더(12)의 출력 Y1은 「1」, 출력 Y2, Y3은 「0」으 로 된다. 그 때문에, 셀렉터 S1의 출력 /Y3, /Y0이 「0」, 출력 /Y1, /Y2가 「1」로 되어, 메모리 M3, M0이 기입 가능, 메모리 M1, M2가 기입 불가능의 상태로 된다. 이에 의해, 기입 데이터 버스 WRITE_DATA 상의 상위 16비트의 데이터가 상위로부터 8비트씩으로 분할되고, 셀렉터 S3d, S3a를 통하여, 메모리 M3, M0의 순으로 데이터 입력 D에 입력되어, 메모리 M3의 n번지 및 메모리 M0의 n+1번지에 저장된다.
또한, 기입 데이터의 데이터 폭이 8비트인 것으로 하면, WD_LENGTH는 「0」(10진)으로 된다. 이 때, 디코더(12)의 출력 Y1∼Y3은 모두 「0」으로 된다. 그 때문에, 셀렉터 S1의 출력 /Y3이 「0」, 출력 /Y0∼/Y2가 「1」로 되어, 메모리 M3이 기입 가능, 메모리 M0∼M2가 기입 불가능의 상태로 된다. 이에 의해, 기입 데이터 버스 WRITE_DATA 상의 상위 8비트의 데이터가, 셀렉터 S3d를 통하여, 메모리 M3의 데이터 입력 D에 입력되어, n번지에 저장된다.
이상, 본 발명의 일 실시예인 메모리 제어 회로(1, 1a)에 대하여 설명하였다. 이러한 메모리 제어 회로(1, 1a)에 의하면, 데이터 폭이 서로 다른 다양한 데이터를, 메모리 상에 무효한 데이터 영역을 발생시키지 않고 저장할 수 있다. 즉, 메모리의 사용 효율 저하를 초래하지 않고, 데이터 폭이 서로 다른 다양한 데이터를 기록 및 판독할 수 있다. 또한, 메모리에 데이터를 기입하기 전이나 메모리로부터 데이터를 판독한 후에, 데이터의 채워 넣음(패킹)이나 전개(언패킹)의 처리를 행할 필요가 없어, 처리 부하의 증대를 초래할 일도 없다.
또한, 상기 실시예는 본 발명의 이해를 용이하게 하기 위한 것으로, 본 발명 을 한정하여 해석하기 위한 것은 아니다. 본 발명은, 그 취지를 일탈하지 않고, 변경, 개량될 수 있음과 함께, 본 발명에는 그 등가물도 포함된다.
또한, 본 실시예에서는, A비트의 어드레스의 하위 j비트를 이용하여 데이터의 선두가 저장되는 메모리를 선택하는 것으로 하였지만, 하위 j비트에 한하지 않고, 상위 j비트나 불연속으로 선택된 j비트를 이용하는 것도 가능하다.
메모리의 사용 효율 저하 및 처리 부하 증대를 초래하지 않고, 데이터 폭이 서로 다른 다양한 데이터의 읽기/쓰기를 가능하게 하는 메모리 제어 회로 및 메모리 제어 방법을 제공할 수 있다.

Claims (5)

  1. 데이터 폭(D비트)이 k비트의 정수배이고 최대로 L비트인 데이터가 저장되는 k비트 폭의 m(=L/k)개의 메모리(제1∼제m 메모리)를 제어하는 메모리 제어 회로로서,
    상기 데이터의 저장처를 나타내는 A비트의 어드레스 중의 소정의 j비트인 개시 위치 지정 어드레스에 기초하여, 상기 m개의 메모리 중 상기 데이터의 최초의 k비트를 저장하는 메모리(제n 메모리)를 결정하고, 상기 A비트의 어드레스 중의 상기 소정의 j비트를 제외한 A-j비트를 상기 데이터의 저장처를 지정하는 제1 지정 어드레스로서 상기 제n∼제m 메모리에 입력하고, 상기 지정 어드레스에 1을 가산한 제2 지정 어드레스를 상기 제1∼제n-1 메모리에 입력하는 어드레스 입력 회로와,
    상기 개시 위치 지정 어드레스에 기초하여, 상기 데이터를 k비트씩으로 분할한 분할 데이터를, 상기 제n∼제m 메모리, 상기 제1∼제n-1 메모리의 순으로 입력하는 데이터 입력 회로와,
    상기 개시 위치 지정 어드레스에 기초하여, 상기 제n∼제m 메모리, 상기 제1∼제n-1 메모리의 순으로 상기 데이터의 데이터 폭에 따른 수의 메모리로부터 상기 분할 데이터를 판독하여 상기 데이터로서 출력하는 데이터 출력 회로와,
    상기 개시 위치 지정 어드레스와 상기 데이터의 데이터 폭에 기초하여, 상기 제n∼제m 메모리, 상기 제1∼제n-1 메모리의 순으로, D/k개의 메모리를 읽기/쓰기 가능한 상태로 하는 메모리 선택 회로
    를 구비하는 것을 특징으로 하는 메모리 제어 회로.
  2. 제1항에 있어서,
    상기 데이터 출력 회로는,
    상기 개시 위치 지정 어드레스에 기초하여, 상기 m개의 메모리로부터 출력되는 k비트의 분할 데이터를 상기 제n∼제m 메모리, 상기 제1∼제n-1 메모리의 순으로 재배열하여 출력하는 출력 데이터 재배열 회로와,
    상기 출력 데이터 재배열 회로로부터 출력되는 m개의 분할 데이터로부터, 상기 데이터의 데이터 폭에 따른 분할 데이터를 선택하여 출력하는 출력 데이터 선택 회로
    를 포함하여 구성되는 것을 특징으로 하는 메모리 제어 회로.
  3. 제2항에 있어서,
    상기 출력 데이터 선택 회로는,
    상기 출력 데이터 재배열 회로로부터 출력되는 m개의 분할 데이터의 각각이 순서대로 입력되는 m개의 논리곱 회로(제1∼제m 논리곱 회로)와,
    상기 데이터의 데이터 폭에 기초하여, 상기 제2∼제D/k 논리곱 회로에 상기 분할 데이터를 출력하기 위한 한쪽의 논리값을 입력하고, 상기 제(D/k+1)∼제m 논리곱 회로에 상기 분할 데이터를 마스크하여 출력하기 위한 다른쪽의 논리값을 입력하는 마스크 데이터 입력 회로
    를 포함하여 구성되는 것을 특징으로 하는 메모리 제어 회로.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 개시 위치 지정 어드레스가, 상기 A비트의 어드레스 중의 하위 j비트인 것을 특징으로 하는 메모리 제어 회로.
  5. 데이터 폭(D비트)이 k비트의 정수배이고 최대로 L비트인 데이터가 저장되는 k비트 폭의 m(=L/k)개의 메모리(제1∼제m 메모리)의 제어 방법으로서,
    상기 데이터의 저장처를 나타내는 A비트의 어드레스 중의 소정의 j비트인 개시 위치 지정 어드레스에 기초하여, 상기 m개의 메모리 중 상기 데이터의 최초의 k비트를 저장하는 메모리(제n 메모리)를 결정하고,
    상기 A비트의 어드레스 중의 상기 소정의 j비트를 제외한 A-j비트를 상기 데이터의 저장처를 지정하는 제1 지정 어드레스로서 상기 제n∼제m 메모리에 입력하고,
    상기 지정 어드레스에 1을 가산한 제2 지정 어드레스를 상기 제1∼제n-1 메모리에 입력하고,
    상기 데이터를 기입할 때에는, 상기 개시 위치 지정 어드레스에 기초하여, 상기 데이터를 k비트씩으로 분할한 분할 데이터를, 상기 제n∼제m 메모리, 상기 제1∼제n-1 메모리의 순으로 입력하고,
    상기 데이터를 판독할 때에는, 상기 개시 위치 지정 어드레스에 기초하여, 상기 제n∼제m 메모리, 상기 제1∼제n-1 메모리의 순으로 상기 데이터의 데이터 폭에 따른 수의 메모리로부터 상기 분할 데이터를 판독하여 상기 데이터로서 출력하고,
    상기 개시 위치 지정 어드레스와 상기 데이터의 데이터 폭에 기초하여, 상기 제n∼제m 메모리, 상기 제1∼제n-1 메모리의 순으로, D/k개의 메모리를 읽기/쓰기 가능한 상태로 하는 것을 특징으로 하는 메모리 제어 방법.
KR1020060131716A 2005-12-22 2006-12-21 메모리 제어 회로 및 메모리 제어 방법 KR100852590B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005369848A JP2007172332A (ja) 2005-12-22 2005-12-22 メモリ制御回路及びメモリ制御方法
JPJP-P-2005-00369848 2005-12-22

Publications (2)

Publication Number Publication Date
KR20070066920A true KR20070066920A (ko) 2007-06-27
KR100852590B1 KR100852590B1 (ko) 2008-08-14

Family

ID=38184626

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060131716A KR100852590B1 (ko) 2005-12-22 2006-12-21 메모리 제어 회로 및 메모리 제어 방법

Country Status (5)

Country Link
US (1) US7440338B2 (ko)
JP (1) JP2007172332A (ko)
KR (1) KR100852590B1 (ko)
CN (1) CN1987824A (ko)
TW (1) TW200731071A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4908565B2 (ja) * 2009-09-14 2012-04-04 株式会社東芝 メモリシステム
TWI466084B (zh) * 2011-10-24 2014-12-21 Mediatek Inc 顯示控制器與傳輸控制方法
TWI594251B (zh) * 2012-06-06 2017-08-01 慧榮科技股份有限公司 記憶體控制方法、控制器跟電子裝置
CN107133122B (zh) 2012-06-06 2020-10-27 慧荣科技股份有限公司 存储器控制方法
JP2014194672A (ja) * 2013-03-28 2014-10-09 Fujitsu Ltd メモリ制御装置、及びメモリ制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266614A (ja) 1993-03-16 1994-09-22 Hitachi Ltd メモリ制御方法
CN1146249A (zh) 1994-04-13 1997-03-26 艾利森公司 大存储器的高效寻址
KR0154748B1 (ko) * 1995-11-28 1998-11-16 김광호 다양한 메모리 폭 및 길이를 갖는 시스템의 피지컬 어드레스 제어방법
KR0161868B1 (ko) * 1995-12-27 1999-01-15 문정환 메모리 주소제어회로
JP3756818B2 (ja) * 2002-01-09 2006-03-15 株式会社メガチップス メモリ制御回路および制御システム
JP4614650B2 (ja) * 2003-11-13 2011-01-19 ルネサスエレクトロニクス株式会社 半導体記憶装置
WO2007036050A1 (en) * 2005-09-30 2007-04-05 Mosaid Technologies Incorporated Memory with output control

Also Published As

Publication number Publication date
KR100852590B1 (ko) 2008-08-14
TW200731071A (en) 2007-08-16
CN1987824A (zh) 2007-06-27
JP2007172332A (ja) 2007-07-05
US7440338B2 (en) 2008-10-21
US20070147137A1 (en) 2007-06-28

Similar Documents

Publication Publication Date Title
JP4049326B2 (ja) 行列ベクトル・レジスタ・アレイの二次元アドレッシング
GB1423397A (en) Multi-dimensional access solid state memory
KR100852590B1 (ko) 메모리 제어 회로 및 메모리 제어 방법
US8441883B2 (en) Memory arrangement for accessing matrices
JP3786993B2 (ja) データ記憶ユニット及び該ユニットを用いたデータ記憶装置
US4016409A (en) Longitudinal parity generator for use with a memory
JP2541758B2 (ja) 剰余算出回路
JPH0289132A (ja) 論理アドレス生成方式
KR100275427B1 (ko) Ram과의 인터페이스 방법 및 장치
CN115765750B (zh) 数据循环移位方法和电路、以及芯片
JP3224050B2 (ja) 可変長符号復号器、プロセッサ、および可変長符号復号テーブル
EP4325726A1 (en) Interleave circuit and communication device
JPH0112308Y2 (ko)
JP4785492B2 (ja) メモリシステムおよび検索方法
JPH0233158B2 (ko)
JP3091522B2 (ja) メモリ回路
JP2855936B2 (ja) データ入れ替え方式
JPH0218496B2 (ko)
JP3018332B2 (ja) マルチチャンネルアナライザ
KR0176641B1 (ko) 역 dct코아에서 전치 메모리의 워드수 절약회로
JPS6014322A (ja) デジタルデ−タコンパレ−タ
CN117742594A (zh) 数据存储方法及装置、电子设备和存储介质
JPH05189521A (ja) レイアウトパターン発生装置
JPH02125349A (ja) メモリアクセス方式
JPH06275079A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120727

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130729

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee