KR0120598B1 - Memory board designing method and device - Google Patents
Memory board designing method and deviceInfo
- Publication number
- KR0120598B1 KR0120598B1 KR1019940028380A KR19940028380A KR0120598B1 KR 0120598 B1 KR0120598 B1 KR 0120598B1 KR 1019940028380 A KR1019940028380 A KR 1019940028380A KR 19940028380 A KR19940028380 A KR 19940028380A KR 0120598 B1 KR0120598 B1 KR 0120598B1
- Authority
- KR
- South Korea
- Prior art keywords
- request
- queue
- memory
- input
- input queue
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
제1도는 종래의 메모리 보드를 설명하기 위한 블럭도.1 is a block diagram for explaining a conventional memory board.
제2도는 본 발명에 의한 메모리 보드의 제1실시예를 설명하기 위한 블럭도.2 is a block diagram for explaining a first embodiment of a memory board according to the present invention;
제3도는 본 발명에 의한 메모리 보드의 제2실시에를 설명하기 위한 블럭도.3 is a block diagram for explaining a second embodiment of the memory board according to the present invention;
본 발명은 펜디드 프로토콜(Pended Protocol)을 시스템의 메모리 보드에 관한 것으로, 특히, 먼저 입력된 데이터를 먼저 출력하는 FIFO 메모리를 이용하여 리퀘스트들을 큐잉하고, 입력된 리퀘스트들을 인터리빙하는 메모리 보드의 설계방법 및 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory board of a system using the Pended Protocol, and more particularly, to a method of designing a memory board that queues requests using an FIFO memory that first outputs input data and interleaves input requests. And to an apparatus.
펜디드 프로토콜(Pended Protocol)이란 시스템 버스를 리퀘스트하는 부분과 소정의 리퀘스트에 대한 응답부분이 분리되어진 것으로, 보통의 시스템 버스가 리퀘스트에 대한 응답으로 이루어진 한 개의 사이클로 구성되는 것과는 구별된다.Pended protocol is a separate part of a request for a system bus and a response to a predetermined request, which is different from an ordinary system bus that consists of one cycle consisting of a response to a request.
제 1 도는 종래의 메모리 보드를 설명하기 위한 블럭도로서, 일반적으로 사용하는 메모리 보드에서의 신호 흐름을 나타낸 도면이다. 시스템 버스에서 출력된 리퀘스트가 메모리 보드(10)의 어드레스 버퍼(11)에 입력되어 버퍼링되며, 입력된 리퀘스트가 메모리제어기 및 디코더(12)에서 디코딩되어 입력된 소정의 리퀘스트에 상응하여 DRAM어레이(13)를 제어하며, 메모리제어기 및 디코더(12)의 제어에 따라 DRAM어레이(13)의 데이터가 데이터 버퍼(14)를 통하여 시스템 버스로 전달되거나, 시스템 버스에서 데이터가 읽혀져서 데이터 버퍼(14)를 통하여 DRAM어레이(13)에 저장된다.1 is a block diagram illustrating a conventional memory board, and illustrates a signal flow in a memory board generally used. Requests output from the system bus are input and buffered in the address buffer 11 of the memory board 10, and the input requests are decoded by the memory controller and decoder 12 and correspond to the predetermined requests inputted in the DRAM array 13. And data of the DRAM array 13 is transferred to the system bus through the data buffer 14 or data is read from the system bus under the control of the memory controller and the decoder 12. Through the DRAM array 13 is stored.
이 때, 시스템 버스에서는 여러 개의 리퀘스트가 매 사이클마다 연속적으로 발생하고, 이 리퀘스트를 처리하는 메모리 모듈은 매 사이클마다 입력된 리퀘스트를 처리해야 하지만, 실제로는 메모리 칩들의 속도제한 때문에 임의의 리퀘스트가 메모리 모듈에서 처리되는 동안 발생되는 다른 리퀘스트는 메모리 모듈에서 받아들이지 않게 된다. 따라서, 상기 리퀘스트가 받아들여질 때까지 계속하여 메모리 모듈에 리트라이(Retry)되므로 시스템의 성능이 저하되는 문제점이 있다.At this time, several requests occur continuously in each cycle on the system bus, and the memory module processing the requests must process the requests entered every cycle, but in reality, any requests are stored in memory due to the speed limitation of the memory chips. Other requests that occur while processing the module will not be accepted by the memory module. Therefore, there is a problem that the performance of the system is degraded since the request is continuously retryed to the memory module until the request is accepted.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위하여 소정의 리퀘스트를 처리하는 동안에 발생하는 임의의 리퀘스트들을 저장하였다가 소정 리퀘스트의 처리가 완료된 후에 상기 저장된 리퀘스트들을 순서대로 출력하여 처리하는 메모리 보드의 설계방법 및 그에 적합한 장치를 제공하는 데에 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide a memory board that stores arbitrary requests that occur during the processing of a predetermined request in order to solve the problems described above, and outputs and processes the stored requests in order after the processing of the predetermined request is completed. To provide a design method and a device suitable for the same.
상기 목적을 달성하기 위하여 본 발명에 의한 메모리 보드의 설계방법은 시스템 버스에서 입력된 리퀘스트를 디코딩하여 상기 리퀘스트가 상기 복수개의 메모리 모듈의 어디에 해당하는 것인지 판단하고, 상기 메모리 보드의 해당 메모리 모듈로 상기 리퀘스트를 출력하는 제1단계 ; 상기 제1단계에 따라 상기 리퀘스트가 해당 입력큐에 저장되면 제어신호 EMPTY_QUEUE를 발생하고, 해당 입력큐에 리퀘스트가 다 찼으면 제어신호 FULL를 발생하는 제2단계 ; 상기 제2단계의 제어신호 EMPTY_QUEUE에 따라 상기 입력큐에 저장된 리퀘스트를 처리하는 제3단계 ; 및 상기 제3단계에서 소정 리퀘스트의 처리가 완료된 후에 상기 리퀘스트를 상기 입력큐에서 제거하는 제4단계로 이루어져 상기 제1단계에서 상기 제4단계가 반복 수행되어 상기 복수개의 메모리 모듈을 인터리빙하는 것을 특징으로 한다.In order to achieve the above object, the method of designing a memory board according to the present invention decodes a request input from a system bus to determine where the request corresponds to the plurality of memory modules, and determines the request as the corresponding memory module of the memory board. A first step of outputting a request; A second step of generating a control signal EMPTY_QUEUE if the request is stored in the corresponding input queue according to the first step, and generating a control signal FULL if the request is full in the corresponding input queue; A third step of processing a request stored in the input queue according to the control signal EMPTY_QUEUE of the second step; And a fourth step of removing the request from the input queue after the processing of the predetermined request is completed in the third step, wherein the fourth step is repeatedly performed in the first step to interleave the plurality of memory modules. It is done.
본 발명에 의한 장치는 리퀘스트를 출력하는 R시스템 버스와, 리퀘스트에 대한 처리를 수행하기 위한 D시스템 버스와, 소정의 제어신호에 따라 시스템 버스의 데이타를 읽고 쓸 수 있는 메모리 모듈로 구성된 메모리 보드에 있어서, 소정의 리퀘스트를 입력하여 저장함과 동시에 메모리의 상태를 나타내는 소정의 제어신호를 발생하며, 리퀘스트가 입력된 순서대로 출력하는 입력큐 ; 상기 입력큐에서 발생한 소정의 제어신호에 따라 상기 입력큐에서 출력된 소정의 리퀘스트를 처리하기 위해 소정의 제어신호 RAM_ADDR를 출력 하고, 처리가 완료된 리퀘스트는 상기 입력큐에서 삭제하는 메모리 제어기 ; 상기 메모리 제어기의 제어신호 RAM_ADDR가 '쓰기' 명령일 때에는 출력큐에서 읽은 데이타를 저장하고, 상기 메모리 제어기의 제어신호 RAM_ADDR가 '읽기' 명령일 때에는 저장된 데이타를 출력큐로 전송하는 DRAM어레이 ; 및 상기 메모리 제어기의 제어신호 RAM_ADDR에 따라 상기 D시스템 버스에서 읽은 데이타를 상기 DRAM어레이에 저장하거나, 상기 DRAM어레이에 저장된 데이타를 D시스템 버스에 전달하는 출력큐 ; 상기 R시스템 버스에서 입력한 소정의 리퀘스트를 디코딩하여 상기 리퀘스트를 판단하고, 상기 리퀘스트를 해당 입력큐에 저장하는 입력큐제어기 및 디코더를 구비한 것을 특징으로 한다.The apparatus according to the present invention is a memory board comprising an R system bus for outputting a request, a D system bus for performing a request processing, and a memory module capable of reading and writing data on the system bus according to a predetermined control signal. An input queue for inputting and storing a predetermined request, generating a predetermined control signal indicating a state of a memory, and outputting a request in the order in which the requests are input; A memory controller for outputting a predetermined control signal RAM_ADDR to process a predetermined request output from the input queue according to a predetermined control signal generated from the input queue, and deleting the completed request from the input queue; A DRAM array for storing data read from an output queue when the control signal RAM_ADDR of the memory controller is a 'write' command, and transferring the stored data to the output queue when the control signal RAM_ADDR of the memory controller is a 'read' command; And an output queue configured to store data read from the D system bus in the DRAM array or transfer data stored in the DRAM array to the D system bus according to a control signal RAM_ADDR of the memory controller. And an input queue controller and decoder for decoding the predetermined request input from the R system bus, determining the request, and storing the request in the corresponding input queue.
이하 첨부된 도면을 참조하여 본 발명에 대하여 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
제 2 도는 본 발명에 의한 메모리 보드의 제 1 실시예의 블럭도를 도시한 것으로, 메로리 뱅크 A는 입력큐 제어기 및 디코더(25)에서 출력된 소정의 리퀘스트를 입력하여 순서대로 저장함과 동시에 제어신호 EMPTY_QUEUE를 메모리 제어기(22)로 출력하며 메모리가 다 찼으면 제어신호 FULL를 입력큐제어기 및 디코더(25)로 출력하는 입력큐(21)와, 입력큐(21)에서 발생한 제어신호 EMPTY_QUEUE에 따라 입력큐(21)에 저장된 소정의 리퀘스트를 처리하기 위해 제어신호 RAM_ADDR를 DRAM어레이(23)로 출력하고, 처리가 완료된 리퀘스트를 입력큐(21)에서 삭제하는 메모리 제어기(22)와, 메모리 제어기(22)의 제어신호 RAM_ADDR가 '쓰기' 명령일 때에는 출력큐(24)의 데이터를 DRAM어레이(23)에 저장하고, 메모리 제어기(22)의 제어신호 RAM_ADDR가 '읽기' 명령일 때에는 DRAM어레이(23)에 저장된 데이타를 출력큐(24)로 전송하는 DRAM어레이(23)와, 메모리 제어기(22)의 제어신호 RAM_ADDR에 따라 시스템 버스에서 읽은 데이타를 저장하거나 저장된 데이타를 시스템 버스에 전달하는 출력큐(24)와, 시스템 버스에서 입력한 리퀘스트를 디코딩하여 상기 리퀘스트가 자신에 대한 리퀘스트 인지를 판단하고, 자신의 리퀘스트이면 상기 리퀘스트를 입력큐(21)에 저장하는 입력큐제어기 및 디코더(25)로 구성된다.2 is a block diagram of a first embodiment of a memory board according to the present invention. The memory bank A inputs and stores a predetermined request output from the input queue controller and decoder 25 in sequence, and simultaneously controls the control signal EMPTY_QUEUE. Is output to the memory controller 22, and when the memory is full, the input queue 21 outputs the control signal FULL to the input queue controller and decoder 25 and the input queue according to the control signal EMPTY_QUEUE generated from the input queue 21. A memory controller 22 for outputting a control signal RAM_ADDR to the DRAM array 23 to process a predetermined request stored in the 21, and deleting the completed request from the input queue 21, and the memory controller 22; When the control signal RAM_ADDR is a 'write' command, the data of the output queue 24 is stored in the DRAM array 23. When the control signal RAM_ADDR of the memory controller 22 is a 'read' command, the data is stored in the DRAM array 23. Saved DRAM array 23 for transmitting data to the output queue 24, an output queue 24 for storing data read from the system bus or transferring the stored data to the system bus in accordance with the control signal RAM_ADDR of the memory controller 22; And an input queue controller and decoder 25 for decoding the request input from the system bus to determine whether the request is a request for itself, and for storing the request in the input queue 21 if the request is its own.
제 3 도는 본 발명에 의한 메모리 보드의 제 2 실시예를 설명하기 위한 블록도로서, 메모리 보드(20)는 메모리 모듈 A와 메모리 모듈 B로 구성된다. 메모리 모듈 A는 도면 부호 21에서 24로 구성되고 메모리 모듈 B는 도면 부호 26에서 29로 구성되며, 입력큐제어기 및 디코더(25)에 의해서 메모리 모듈 A와 메모리 모듈 B가 인터리빙 된다. 이 때, 메모리 모듈 A와 메모리 모듈 B는 동일한 구성이며, 리퀘스트를 처리하는 동작이 동일하다.3 is a block diagram illustrating a second embodiment of a memory board according to the present invention, in which the memory board 20 includes a memory module A and a memory module B. As shown in FIG. The memory module A is composed of 21 to 24 and the memory module B is composed of 26 to 29, and the memory module A and the memory module B are interleaved by the input queue controller and the decoder 25. At this time, the memory module A and the memory module B have the same configuration, and the operation of processing the request is the same.
그러면, 제2도를 참조하여 메모리 모듈 A의 동작을 설명하기로 하며 메모리 모듈 B는 메모리 모듈 A와 동일하므로 생략하기로 한다.Next, an operation of the memory module A will be described with reference to FIG. 2, and the memory module B is the same as the memory module A and will be omitted.
입력큐제어기 및 디코더(25)는 R시스템 버스에서 입력한 소정의 리퀘스트를 디코딩하여 입력된 리퀘스트가 해당 메모리 모듈에 대한 것이면 R시스템 버스에서 입력한 리퀘스트를 입력큐(21)에 저장한다.The input queue controller and decoder 25 decode a predetermined request input from the R system bus and store the request input from the R system bus in the input queue 21 if the input request is for the corresponding memory module.
입력큐(21)는 먼저 입력된 데이터가 먼저 출력되는 FIFO 메모리로 구성되며 입력큐제어기 및 디코더(25)와 메모리 제어기(22)에 의해 제어되는데, 입력큐제어기 및 디코더(25)에서 출력된 리퀘스트가 입력큐(21)에 저장되면 제어신호 EMPTY_QUEUE를 메모리 제어기(22)로 출력하며, 입력큐(21)의 메모리가 다 찼으면 제어신호 FULL을 입력큐제어기 및 디코더(25)로 출력한다.The input queue 21 is composed of a FIFO memory in which first input data is output first and is controlled by the input queue controller and decoder 25 and the memory controller 22. The request output from the input queue controller and decoder 25 is performed. Is stored in the input queue 21, the control signal EMPTY_QUEUE is output to the memory controller 22, and if the memory of the input queue 21 is full, the control signal FULL is output to the input queue controller and decoder 25.
메모리 제어기(22)는 입력큐(21)에서 출력된 제어신호 EMPTY_QUEUE가 입력됨과 동시에 입력큐(21)에 저장된 소정의 리퀘스트를 처리하기 위한 제어신호 RAM_ADDR를 DRAM어레이(23)로 출력하여 리퀘스트의 처리를 수행하며, 소정 리퀘스트의 처리가 완료되면 제어신호 UN_ LOAD를 입력큐(21)로 출력하여 소정 리퀘스트를 입력큐(21)에서 제거된다.The memory controller 22 receives the control signal EMPTY_QUEUE output from the input queue 21 and simultaneously outputs a control signal RAM_ADDR for processing a predetermined request stored in the input queue 21 to the DRAM array 23 to process the request. When the processing of the predetermined request is completed, the control signal UN_LOAD is output to the input queue 21, and the predetermined request is removed from the input queue 21.
이 때, 메모리 제어기(22)에서 출력된 제어신호 RAM_ADDR가 '쓰기' 명령이면 출력큐(24)의 데이타를 DRAM어레이(23)에 저장하고, 메모리제어기(22)에서 출력된 제어신호 RAM_ADDR가 '읽기' 명령이면 DRAM어레이(23)로부터 데이터를 읽어서 출력큐(24)로 출력하며, 출력큐(24)는 상기 데이터를 D시스템 버스로 전송한다.At this time, if the control signal RAM_ADDR output from the memory controller 22 is a 'write' command, the data of the output queue 24 is stored in the DRAM array 23, and the control signal RAM_ADDR output from the memory controller 22 is' Read command, the data is read from the DRAM array 23 and output to the output queue 24, and the output queue 24 transfers the data to the D system bus.
여기에서, 출력큐(24)는 입력큐(21)의 동작과 동일하며, D시스템 버스에서 입력한 데이타를 DRAM어레이(23)에 저장하거나 DRAM어레이(23)로부터 읽은 데이터를 잠시 보관하는 역할을 한다.Here, the output queue 24 is the same as the operation of the input queue 21, and serves to store data input from the D system bus in the DRAM array 23 or temporarily store data read from the DRAM array 23. do.
따라서, 소정의 리퀘스트가 처리되는 동안에는 입력큐제어기 및 디코더(25)에서 입력된 소정의 리퀘스트가 입력큐(21)에 차례대로 저장되며 소정 리퀘스트의 처리가 완료된 후에 입력큐(21)에 저장된 리퀘스트를 꺼내어 상기 리퀘스트에 대한 처리를 수행하게 된다.Therefore, while the predetermined request is processed, the predetermined requests inputted from the input queue controller and decoder 25 are sequentially stored in the input queue 21, and the requests stored in the input queue 21 after the processing of the predetermined request are completed. It will take out and process the request.
또한, 도면 부호 26에서 29의 구성요소는 도면 부호 21에서 24와 동일한 로직으로 구성되며, 입력큐제어기 및 디코더(25)의 제어에 의해 인터리빙 되어짐으로서 메모리 엑세스 시간이 지연되는 것을 보완한다.In addition, components 26 to 29 are composed of the same logic as 21 to 24, and interleaved by the control of the input queue controller and decoder 25 to compensate for the delay of the memory access time.
상기와 같이 구성된 메모리 모듈에서는 입력큐(21)와 출력큐(24)의 깊이를 적절히 선택함으로서 리퀘스트의 리트라이를 막을 수 있는데, 현재 구현된 메모리 모듈에서는 64 디프큐(DEEP QUEUE)를 사용하여 100%에 가까운 리퀘스트 큐잉이 가능하다.In the memory module configured as described above, the retry of the request can be prevented by appropriately selecting the depths of the input queue 21 and the output queue 24. In the currently implemented memory module, 64 deep queues are used by using 64 deep queues. Request queuing close to% is possible.
상술한 바와 같이 본 발명에 의한 메모리 보드의 설계방법 및 장치는 소정의 리퀘스트가 처리되는 동안에 발생하는 리퀘스트를 입력큐에 손서대로 저장하였다가 소정의 리퀘스트 처리가 완료된 후에 입력큐에 저장된 리퀘스트를 처리함으로서 리퀘스트 리트라이를 해결할 수 있다.As described above, the method and apparatus for designing a memory board according to the present invention store a request generated while a predetermined request is processed in the input queue by hand, and then process the request stored in the input queue after the predetermined request processing is completed. Can resolve request retry
또한, 입력큐와 메모리 모듈을 동시에 인터리빙시켜 메모리 엑세스 시간을 짧게 함으로서, 연속된 리퀘스트에 대하여 계속되는 메모리 지연응답 속도를 개선할 수 있다.In addition, by interleaving the input queue and the memory module at the same time to shorten the memory access time, it is possible to improve the speed of the memory delay response that continues for successive requests.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940028380A KR0120598B1 (en) | 1994-10-31 | 1994-10-31 | Memory board designing method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940028380A KR0120598B1 (en) | 1994-10-31 | 1994-10-31 | Memory board designing method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960015131A KR960015131A (en) | 1996-05-22 |
KR0120598B1 true KR0120598B1 (en) | 1997-10-29 |
Family
ID=19396704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940028380A KR0120598B1 (en) | 1994-10-31 | 1994-10-31 | Memory board designing method and device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0120598B1 (en) |
-
1994
- 1994-10-31 KR KR1019940028380A patent/KR0120598B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR960015131A (en) | 1996-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5367494A (en) | Randomly accessible memory having time overlapping memory accesses | |
US4583162A (en) | Look ahead memory interface | |
US7254283B1 (en) | Image processor processing image data in parallel with a plurality of processors | |
EP0081358B1 (en) | Data processing system providing improved data transfer between modules | |
KR0120598B1 (en) | Memory board designing method and device | |
US5428801A (en) | Data array conversion control system for controlling conversion of data arrays being transferred between two processing systems | |
JP4726187B2 (en) | Semiconductor integrated circuit | |
JP2531822B2 (en) | Instruction read-ahead device | |
US20050060475A1 (en) | Data transfer apparatus and data transfer method | |
JP2884620B2 (en) | Digital image processing device | |
JPH04360425A (en) | Semiconductor storage device | |
KR970010367B1 (en) | On-board interleaving apparatus and method of main memory on multi processor system | |
KR19980083459A (en) | Databus Sizing Device | |
KR0127559Y1 (en) | Memory access apparatus using buffer | |
KR950008663B1 (en) | Dram access control apparatus | |
JPS6391756A (en) | Partial write instruction processing system for storage device | |
KR950010615Y1 (en) | Data access device using dma cycle pause period | |
JPH05210981A (en) | Semiconductor memory | |
KR950003883B1 (en) | Memory logic controller | |
JPH04333950A (en) | Information processing system | |
JPH06208614A (en) | Image processor | |
JPS6269347A (en) | Direct memory access controller | |
JPS5896329A (en) | Direct memory access control method | |
JPH05197666A (en) | Cpu interface circuit | |
JPH0467661B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050727 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |