KR960004058B1 - 메모리 리드방법 - Google Patents

메모리 리드방법 Download PDF

Info

Publication number
KR960004058B1
KR960004058B1 KR1019930003391A KR930003391A KR960004058B1 KR 960004058 B1 KR960004058 B1 KR 960004058B1 KR 1019930003391 A KR1019930003391 A KR 1019930003391A KR 930003391 A KR930003391 A KR 930003391A KR 960004058 B1 KR960004058 B1 KR 960004058B1
Authority
KR
South Korea
Prior art keywords
memory
data
address
processor
board
Prior art date
Application number
KR1019930003391A
Other languages
English (en)
Other versions
KR940022265A (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 삼성전자주식회사
Priority to KR1019930003391A priority Critical patent/KR960004058B1/ko
Publication of KR940022265A publication Critical patent/KR940022265A/ko
Application granted granted Critical
Publication of KR960004058B1 publication Critical patent/KR960004058B1/ko

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

내용 없음.

Description

메모리 리드방법
제 1 도는 다중처리방식의 컴퓨터를 보이는 블럭도이다.
제 2 도는 종래의 데이타전송시스템의 구성을 보이는 블럭도이다.
제 3 도는 종래 기술에 있어서 펜디드 프로토콜의 수행과정을 보이는 타이밍도이다.
제 4 도는 제 2 도의 인터리빙된 메모리의 구조를 보이는 블럭도이다.
제 5 도는 본 발명의 메모리 리드방법에 적합한 데이타전송시스템의 구성을 보이는 블럭도이다.
제 6 도는 본 발명의 메모리 리드방법의 한 펜디드 프로토콜의 수행과정을 보이는 타이밍도이다.
제 7 도는 제 5 도의 데이타래치부의 상세한 구성을 보이는 블럭도이다.
본 발명은 캐쉬메모리를 내장한 프로세서보드와 인터리빙되어져 있는 메모리보드들 사이의 데이타전송에 관한 것으로서, 더욱 상세하게는 캐쉬메모리를 채우는 시간을 최소화할 수 있는 데이타전송방법에 관한 것이다.
다중처리방식을 채택하는 컴퓨터는 복수의 프로세서보드와 메모리보드를 갖는다. 그리고, 프로세서보드는 프로세서와 캐쉬와 제어로직의 세가지 모듈로 대별되며 이들 프로세서보드와 메모리보드는 세스템버스를 통하여 데이타를 수수한다.
제 1 도는 다중처리방식을 채택하는 컴퓨터의구성을 보이는 블럭도이다. 제 1 도에 있어서 참조기호 12a부터 12n을 갖는 블럭들은 프로세서보드들이고, 참조기호 14a부터 14m을 갖는 블럭들은 메모리보드들이다.
프로세서보드는 프로세서와 캐쉬모듈을 갖으며 데이타래치 버퍼를 통하여 시스템버스와 데이타를 주고받는다.
데이타래치 버퍼의 사이즈(size)는 시스템버스의 사이즈와 동일하며 또한 이는 메모리블럭의 사이즈와도 동일하다.
제 2 도에 프로세서보드와 메모리보드의 구성을 상세히 보이는 블럭도이다. 프로세서보드(22)는 32비트 사이즈의 프로세서(22a), 128비트 사이즈의 캐쉬(22b) 그리고 64비트 사이즈의 데이타래치(22c)를 구비한다. 메모리보드(24a,24b,24c,24d)는 64비트의 동일한 사이즈를 갖는다. 제 2 도의 구성에 의한 시스템에 있어서 데이타수수의 프로토콜은 펜디드 프로토롤(Pended Protocol)을 사용하며, 데이타보드(24a,24b,24c,24d)는 4웨이 인터리빙(4way interleaving)되어져 있다.
제 3 도는 펜디드 프로토콜의 메모리 리드사이클을 보이는 타이밍도이다. 펜디드 프로토콜에 있어서 메모리보드의 데이타를 액세스하기 위하여 7개의 클럭(T1부터 T7까지)이 필요하다. 데이타를 필요로 하는 프로세서보드가 메모리보드를 액세스하는 과정에 있어서, 먼저 T1에서 프로세서보드가 어드레스버스이 사용권을 얻고 T2에서 요구되는 데이타가 저장된 어드레스를 버스상에 싣는다. 이 어드레스내에는 데이타를 요구하는 프로세서보드의 ID(Identification code )가 포함되어져 있다.
T3에서 메모리보드는 어드레스버스상에 실려진 어드레스를 디코드하여 자신에게 할당된 어드레스이면 T4에서 어드레스 인식신호(ACK )를 전송하고 메모리액세스(memory access )를 개시한다. 이 어드레스 인식신호(ACK )에는 메모리의 동작가능여부에 대한 정보가 포함되어져 있다. T5에서 프로세서보드는 어드레스 인식신호를 수신하여 메모리의 정상동작이 확인되면 메모리로부터 자신의 ID가 포함된 데이타가 데이타버스상에 실리기를 기다린다.
메모리의 액세스타임은 2사이클로 규정되어져 있으므로 T4의 끝에서 시작된 메모리 엑세스는 T6의 끝에서 완료되고, T7에서 데이타 및 프로세서의 ID가 데이타버스상에 실려진다. T7의 끝에서 프로세서보드가 데이타를 수신함으로서 메모리보드에 대한 액세스가 종료된다.
제 4 도에 보여지는 것은 4웨이 인터리빙된 메모리의 예이다. 각 메모리(24a,24b,24c,24d)의 사이즈는 64비트(8바이트)이고 메모리의 어드레스는 64비트단위로 각각의 메모리에 분산되어져 있다. 제 1 메모리(24a)에는 첫 번째에서부터 7번째까지의 어드레스를 할당하고, 제 2 메모리(24b)는 8번째에서부터 15번째까지의 어드레스를 할당되는 방식으로 제 4 메모리(24d)까지 할당되면 다시 제 1 메모리(24a)부터 어드레스를 할당한다.
제 2 도에 보여지는 구성에 있어서, 캐쉬미스(cash miss) 혹은 캐쉬블럭의 교체 등으로 인하여 캐쉬내의 어느 블럭의 전체(16바이트)를 갱신하여야 할 경우 프로세서보드는 2번의 메모리 리드사이클을 수행하여야 한다. 즉, 제 2 도에 보여지는 바와 같이 메모리보드의 사이즈가 캐쉬블럭의 사이즈의 1/2이므로 캐쉬블럭을 채우기 위하여 2번의 메모리 리드사이클이 필요하게 된다. 또한 2번의 메모리 리드사이클이 수행되는 동안 프로세서는 대기상태를 유지하여야 한다. 시스템의 성능을 향상시키기 위해서는 프로세서의 대기상태가 최소화되어져야 한다.
프로세서의 대기시간을 최소화시키기 위하여는 연속적인 메모리 리드사이클을 수행하는 특별한 하드웨어가 필요하게 된다. 이러한 하드웨어는 연속적인 2개의 메모리를 액세스하는 동작을 병렬적으로 수행하는 것이 될 것이다.
그런데, 제 4 도에 보여지는 바와 같이 연속적인 16바이트의 어드레스가 2개의 메모리보드에 나뉘어져 있으므로 2개의 메모리보드를 동시에 액세스하기 위하여 전송요구신호를 2개의 메모리보드에 동시에 보내야 한다.
이때, 각 메모리보드들의 응답시간은 각 메모리보드들의 상태에 따라 달라질 수 있다. 펜디드 프로토콜의 특성상 프로세서보드는 메모리로부터의 데이타가 버스상에 실려지면 자신의 ID를 갖는 데이타를 수신하여 차례차레 데이타래치에 저장한다. 따라서, 연속되는 어드레스에 대하여 2개의 데이타보드가 데이타를 전송하였을 때 뒤쪽의 어드레스를 갖는 메모리보드가 빨리 응답한 경우 프로세서보드에서는 어드레스가 뒤바뀐 데이타를 수신하게 된다.
따라서, 본 발명의 목적은 인터리빙된 메모리보드를 구비하고 펜디드 프로토콜을 사용하여 메모리보드를 액세스하는 시스템에 있어서, 연속되는 어드레스를 갖는 복수의 메모리보드를 일괄적으로 액세스하는 방법을 제공하는 것에 있다.
상기의 목적을 달성하는 본 발명에 의한 메모리 리드방법은 연속된 어드레스를 구성하는 복수의 메모리에 대하여 어드레스와 더불어 각 어드레스의 액세스 순서정보가 포함된 수신자 식별기호를 갖는 전송요구신호를 하나의 리드사이클내에서 일괄적으로 발생하는 전송요구과정과; 상기 전송요구신호에 응답하여 각 어드레스를 갖는 메모리들로부터 데이타를 독출하여 상기 수신자 식별기호와 더불어 무작위로 전송하는 독출과정과; 상기의 무작위로 전송된 데이타들을 상기 액세스 순서정보에 의거하여 재정렬하여 수신하는 데이타래치과정을 포함함을 특징으로 한다.
이하 첨부된 도면과 상세히 설명을 통하여 본 발명의 동작이 명백해질 것이다.
제 5 도는 본 발명의 메모리리드방법에 적합한 장치를 보이는 도면이다. 전기한 문제점을 해결하기 위해서는
첫째, 프로세서가 연속되는 어드레스를 갖는 두 개의 메모리보드에 대한 리드사이클을 수행할 때 이들 메모리보드의 액세스 순서에 대한 정보를 메모리보드에 제공하여야 한다. 이는 메모리보드가 액세스한 데이타를 시스템버스를 통하여 프로세서보드에 제공할 때 함께 전송되고, 프로세서보드는 이 정보를 근거로 하여 각 메모리보드로부터 제공되는 데이타의 순서를 판별한다. 이를 위하여 프로세서의 ID에 액세스순서를 나타내는 정보를 추가한다.
둘째, 프로세서보드는 각각의 메모리보드로부터 제공된 데이타를 정렬하기 위하여 캐쉬블럭의 사이즈와 동등한 사이즈를 갖는 데이타래치를 갖는다. 제 5 도에 있어서, 프로세서보드(52)는 제 2 도의 프로세서보드(22)와 동등하게 32비트 사이즈의 프로세서(52a), 128비트 사이즈의 캐쉬(52b)를 갖는다. 다만 데이타 래치(52c)는 캐쉬(52b)와 동등한 128비트 사이즈를 갖는다. 메모리보드(54a,54b,54c,54d)는 제 2 도으 그것과 동등하다.
제 6 도는 본 발명의 액세스방법을 보이는 타이밍도이다. 캐쉬미스(cash miss ) 혹은 캐쉬블럭의 교체 등으로 인하여 캐쉬내의 어느 블럭의 전체(16바이트)를 갱신하여야 할 경우 프로세서보드의 동작을 상세히 설명한다. 여기서는 두 개의 메모리보드에 인터리빙된 어드레스를 액세스하는 예를 들어 설명한다. 상위의 어드레스를 갖는 메모리보드를 메모리 #1이라 하고, 하위의 어드레스를 갖는 다른 하나를 메모리 #2라 한다.
먼저 프로세서보드는 T1에서 상위의 어드레스를 갖는 메모리 #1에 대한 어드레스버스의 사용권을 요구하며 여기서 사용권을 획득하며, T2에서 요구되는 데이타가 저장된 어드레스 및 프로세서보드의 ID(Identification code )를 전송한다. 여기서 ID에는 메모리에 대한 액세스순서를 나타내는 정보(액세스 순서정보)를 포함한다. 본 발명의 실시예에 있어서 메모리에 대한 액세스 순서정보는 세 번째의 하위비트(LSB2)를 사용하며, 상위의 어드레스를 갖는 메모리 #1는 LSB2를 세트("1")한 ID를 사용하고 하위의 어드레스를 갖는 메모리 #2는 리세트("0")한 ID를 사용한다.
프로세서보드는 T3에서 상위의 어드레스를 갖는 메모리 #2에 대한 어드레스버스의 사용권을 요구하며 여기서 사용권을 획득하면, T4에서 요구되는 데이타가 저장된 어드레스 및 프로세서보드의 ID(Identification code)를 전송한다. 여기서 ID는 LSB2가 리세트된 값이 사용된다.
메모리 #1은 T3에서 어드레스버스상에 실려진 어드레스를 디코드하여 자신에게 할당된 어드레스임을 인식하고, T6에서 어드레스 인식신호를 전송하고 메모리액세스(memory access)를 개시한다.
메모리 #2은 T5에서 어드레스버스상에 실려진 어드레스를 디코드하여 자신에서 할당된 어드레스임을 인식하고, T6에서 어드레스 인식신호를 전송하고 메모리액세스(memory access)를 개시한다.
프로세서보드는 T5에서 메모리 #1에서 전송되는 어드레스 인식신호(ACK #1)를 수신하고, T7에서 메모리 #2에서 전송되는 어드레스 인식신호(ACK#2)를 수신하여 자신의 ID가 포함된 데이타가 데이타버스상에 실리기를 기다린다.
메모리 #1은 T6에서 데시타버스에 대한 사용권을 요구하며, 사용권을 획득하면 T7에서 데이타 및 프로세서의 ID가 데이타버스상에 실려진다. T7의 끝에서 프로세서보드가 자신의 ID여부를 확인하고 데이타를 수신한다. 이때 프로세서보드는 순서정보를 갖는 LSB2로서 상위의 어드레스를 갖는 데이타의 여부를 결정할수 있다.
메모리 #2은 T8에서 데이타버스에 대한 사용권을 요구하며, 사용권을 획득하면 T9에서 데이타 및 프로세서의 ID가 데이타버스상에 실려진다. T9의 끝에서 프로세서보드가 자신의 ID 여부를 확인하고 데이타를 수신한다.
제 6 도에 있어서는 상위의 어드레스를 갖는 메모리 #1으로부터의 데이타가 먼저 도착하는 경우의 예를 보이고 있다. 만일 어드레스버스 혹은 데이타버스의 사용권이 제 6 도에 보여진 바와 같이 정상적으로 획득되지 않는다면, 메모리 #1과 메모리 #2로부터의 데이타가 뒤바뀌어져 도착될 수 있다. 이러한 경우에 있어서 액세스 순서정보에 의하여 그 순서를 확인할 수 있으므로 메모리 #2로부터의 데이타가 먼저 도착되더라도 순서가 뒤바뀔 염려가 없다.
제 7 도는 제 5 도에서의 데이타래치(52c)의 구성을 보이는 블럭도이다. 제 7 도에 있어서, 제 1래치(62a)는 상위의 어드레스를 갖는 데이타를 저장하고, 제 2 래치(62b)는 하위의 어드레스를 갖는 데이타를 저장한다. 앤드게이트(64a)는 프로세서로부터의 데이타래치 인에이블신호와 액세스 순서정보(LSB2)를 입력하고 그들의 논리적된 출력을 발생하여 제 1래치(62a)의 래치 인에이블단자(LE)에 전송한다. 앤드게이트(64b)는 프로세서로부터의 데이타 출력 인에이블신호와 액세스 순서정보(LSb2)를 입력하고 그들의 논리적된 출력을 발생하여 제 1 래치(62a)의 출력 인에이블단자(OE)에 전송한다.
앤드게이트(66a)는 프로세서로부터의 데이타 래치 인에이블신호와 액세스 순서정보(LSB2)를 입력하고 그들의 논리적된 출력을 발생하여 제 2 래치(62b)의 래치 인에이블단자(LE)에 전송한다. 앤드게이트(66b)는 프로세서로부터의 데이타 출력 인에이블신호와 액세스 순서정보(LSB2)를 입력하고 그들의 논리적된 출력을 발생하여 제 2 래치(62b)의 출력 인에이블단자(OE)에 전송한다.
제 7 도에 보여지는 바와 같이 제 1 래치(62a)와 제 2 래치(62b)의 래치 인에이블신호를 발생하기 위하여 액세스 순서정보를 갖는 LSB2를 사용하고 있으므로 하위의 어드레스를 갖는 데이타가 먼저 도착하게 되더라도 순서가 뒤바뀔 염려가 없다.
제 5 도 내지 7 도에 도시되는 본 발명의 실시예에서는 두 개의 메모리보드에 연속되는 어드레스의 경우를 들고 있지만, 동일한 원리로서 세 개 이상의 메모리보드에 연속되는 어드레스를 액세스하는 경우에도 적용될수 있음은 자명하다. 복수의 어드레스를 액세스함에 있어서는 액세스 순서정보를 나타내기 위한 비트수의 할당과 데이타래치부의 사이즈 그리고 액세스 순서정보를 디코드하기 위한 장치가 변경되어질 것이다.
상기한 바와 같이 종래의 메모리 액세스방법에 있어서는 캐쉬미스 등에 의하여 캐쉬블럭을 채우는 경우에 복수의 메모리보드에 대해 수회의 리드사이클이 순차적으로 수행되므로써 프로세서의 대기시간이 증대되는 문제점이 있었으나, 본 발명의 액세스방법에 의하여 복수의 메모리보드에 대한 액세스가 하나의 리드사이클내에서 일괄적으로 수행될 수 있게 되어 프로세서의 대기시간이 현저히 단축되는 이점을 갖는다.
또한, 시스템버스의 이용효율이 증대되어 전체적으로 시스템의 성능이 향상되는 이점을 갖는다.

Claims (1)

  1. 인터리빙된 메모리를 가지며 팬디드 프로토콜(pended protocol )을 사용하여 데이타를 전송하는 다중처리시스템의 메모리 리드방법에 있어서, 연속된 어드레스를 구성하는 복수의 메모리에 대하여 어드레스와 더불어 각 어드레스의 액세스 순서정보가 포함된 수신자 식별기호를 갖는 전송요구신호를 하나의 리드사이클내세서 일괄적으로 발생하는 전송요구과정과; 상기 전송요구신호에 응답하여 각 어드레스를 갖는 메모리들로부터 데이타를 독출하여 상기 수신자 식별기호와 더불어 무작위로 전송하는 독출과정과; 상기의 무작위로 전송된 데이타들을 상기 액세스 순서정보에 의거하여 재정렬하여 수신하는 데이타래치과정을 포함함을 특징으로 하는 메모리 리드방법.
KR1019930003391A 1993-03-06 1993-03-06 메모리 리드방법 KR960004058B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930003391A KR960004058B1 (ko) 1993-03-06 1993-03-06 메모리 리드방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930003391A KR960004058B1 (ko) 1993-03-06 1993-03-06 메모리 리드방법

Publications (2)

Publication Number Publication Date
KR940022265A KR940022265A (ko) 1994-10-20
KR960004058B1 true KR960004058B1 (ko) 1996-03-26

Family

ID=19351767

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930003391A KR960004058B1 (ko) 1993-03-06 1993-03-06 메모리 리드방법

Country Status (1)

Country Link
KR (1) KR960004058B1 (ko)

Also Published As

Publication number Publication date
KR940022265A (ko) 1994-10-20

Similar Documents

Publication Publication Date Title
CA1173928A (en) Channel interface circuit
KR950008226B1 (ko) 버스트 전송 모드를 갖는 버스 마스터
US4577273A (en) Multiple microcomputer system for digital computers
US4609995A (en) Priority controller
US5214769A (en) Multiprocessor control system
KR880001171B1 (ko) 순차적인 워어드가 정열된 어드레스 지정장치
FI80533C (fi) Kontroll av datamaskinhierarki.
US20020112105A1 (en) Method and apparatus for efficient messaging between memories across a PCI bus
JPH0628247A (ja) 動的に再配置されるメモリバンク待ち行列
KR960004058B1 (ko) 메모리 리드방법
US6314099B1 (en) Address match determining device, communication control system, and address match determining method
KR100388342B1 (ko) 비동기 및 동기 프로토콜을 갖는 멀티 포트 메모리
US7073047B2 (en) Control chip and method for accelerating memory access
US5299196A (en) Distributed address decoding for bus structures
US3293618A (en) Communications accumulation and distribution
US5845131A (en) Multiprocessor system employing an improved self-coded distributed interrupt arbitration technique
US20090235010A1 (en) Data processing circuit, cache system, and data transfer apparatus
US6058449A (en) Fault tolerant serial arbitration system
US6938078B1 (en) Data processing apparatus and data processing method
JPH03238539A (ja) メモリアクセス制御装置
US7000089B2 (en) Address assignment to transaction for serialization
US11829293B2 (en) Processor and arithmetic processing method
KR100441606B1 (ko) 복수의 모듈들간의 데이터 송수신 시스템 및 송수신제어방법
KR940006833B1 (ko) 공유자원 억세스 요구 제어장치
JPH08340348A (ja) 情報処理システム

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20040227

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee