KR940001590B1 - Method and device for shortening memory access time in reading and writing - Google Patents
Method and device for shortening memory access time in reading and writing Download PDFInfo
- Publication number
- KR940001590B1 KR940001590B1 KR1019910011421A KR910011421A KR940001590B1 KR 940001590 B1 KR940001590 B1 KR 940001590B1 KR 1019910011421 A KR1019910011421 A KR 1019910011421A KR 910011421 A KR910011421 A KR 910011421A KR 940001590 B1 KR940001590 B1 KR 940001590B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- control signal
- address
- data
- buffer
- 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
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)
- Static Random-Access Memory (AREA)
- Dram (AREA)
Abstract
Description
제1도는 종래의 다이나믹램을 사용한 메모리 장치의 구성도.1 is a configuration diagram of a memory device using a conventional dynamic ram.
제2도는 본 발명에 의한 메모리 엑세스 시간 단축장치의 구성도.2 is a block diagram of a memory access time reduction apparatus according to the present invention.
제3도는 본 발명에 의한 제어기의 구성도.3 is a block diagram of a controller according to the present invention.
제4a도, 제4b도는 본 발명에 의한 메모리 엑세스 시간 단축 방법의 흐름도.4A and 4B are a flowchart of a method for shortening a memory access time according to the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
1, 2, 11, 12, 13, 14 : 메모리 3, 4 : 버퍼1, 2, 11, 12, 13, 14: memory 3, 4: buffer
5, 31 : 제어기 6, 7 : 메모리 선택신호라인5, 31: controller 6, 7: memory select signal line
8, 19 : 데이타 버스 9, 30 : 제어신호라인8, 19: data bus 9, 30: control signal line
10, 29 : 주소버스 15, 16, 17, 18 : 양방향 래치겸 버퍼10, 29: address bus 15, 16, 17, 18: bidirectional latch and buffer
20, 21, 22, 23 : 양방향 래치겸 버퍼 제어신호라인20, 21, 22, 23: bidirectional latch and buffer control signal line
24, 25, 26, 27 : 메모리 제어신호라인24, 25, 26, 27: memory control signal line
28 : 제어버스 32 : 래치28: control bus 32: latch
33 : 비교기 34, 35, 36, 37 : 제어신호 발생기33: comparator 34, 35, 36, 37: control signal generator
본 발명은 블럭전송(block transfer)기능을 가지는 컴퓨터 또는 프로세서 시스템에서 메모리에 블럭쓰기(block write) 또는 블럭 읽기(block read)시에 빠른 엑세스를 한는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for fast access to a block write or block read in a memory in a computer or processor system having a block transfer function.
일반적으로 블럭 쓰기 및 블럭 읽기는 연속된 주소 영역을 엑세스하므로 메모리를 블럭 전송 워드(word)의 수만큼 병렬로 배열하고 블럭쓰기 및 블럭 읽기를 단 한번의 메모리 쓰기 및 읽기로 수행하여 고속의 액세스를 실현할 수 있다.In general, block write and block read access contiguous address areas, so memory is arranged in parallel by the number of block transfer words, and block write and block read are performed with only one memory write and read for high-speed access. It can be realized.
최근 마이크로 프로세서 기술의 발전에 따라 마이크로 프로세서의 성능을 극대화하기 위하여 내부에 캐쉬를 내장하는 프로세서가 많이 출현하였다. 이러한 프로세서는 데이타를 읽을 경우 먼저 캐쉬를 참조하여 캐쉬에 읽고자 하는 데이타가 없을 경우 외부 메모리에서 데이타를 읽어오며 동시에 캐쉬에 데이타를 써놓는다.Recently, in order to maximize the performance of microprocessors, the development of microprocessor technology has resulted in the emergence of a large number of processors with a built-in cache. When a processor reads data, it first refers to the cache. If there is no data to read in the cache, the processor reads data from external memory and writes data to the cache at the same time.
일반적으로 캐쉬를 가진 프로세서는 성능을 극대화하기 위하여 원하는 데이타가 캐쉬에 없을 경우 외부메모리로부터 연속된 여러 워드의 데이타를 읽어와 캐쉬에 써넣는 블럭 전송기능을 가지며 외부 메모리 참조의 상당 부분이 블럭 전송방식으로 이루어지고 있다. 또한 고성능의 프로세서를 사용한 시스템의 경우 성능 향상을 위하여 외부 캐쉬를 사용하는데 이 외부 캐쉬에서 미스(miss)가 발생했을 경우 블럭 전송기능을 이용하여 여러 워드의 메모리 내용을 연속으로 읽어와 캐쉬의 내용을 바꾸어 주므로서 캐쉬의 히트율(hit rate)을 높여주고 있다. 이러한 시스템에서는 메모리 참조의 많은 부분이 블럭전송에 의해 이루어지므로 블럭 전송속도의 향상이 시스템 전체의 성능 향상에 직접 영향을 미친다.In general, a processor with a cache has a block transfer function that reads several consecutive words from external memory and writes them to the cache when the desired data is not in the cache to maximize performance. Is done. In the case of a system using a high performance processor, an external cache is used to improve the performance. If a miss occurs in the external cache, the block transfer function is used to continuously read the memory contents of several words to read the cache contents. By changing, the hit rate of the cache is raised. In such a system, much of the memory reference is made by block transmission, so that the improvement of the block transfer speed directly affects the performance of the entire system.
블럭 전송워드의 수는 2n워드로 구성되며 캐쉬의 한 라인의 길이와 같으므로 캐쉬의 구성에 따라 대부분 4 내지 64워드로 구성된다. 블럭 전송방식은 블럭전송시 주소버스가 블럭읽기 및 블럭쓰기를 하는 해당 주소를 나타내는 방식과 블럭읽기 및 블럭쓰기를 하는 동안 블럭읽기 및 블럭쓰기를 하는 첫번째 주소를 유지하는 방식으로 나눌 수 있는데 후자의 방식일 경우 메모리 제어장치는 주소 발생장치를 가져야 한다.The number of block transfer words is 2 n words and is the same as the length of one line of the cache, so most of the block transmission words are composed of 4 to 64 words. The block transfer method can be divided into a method of indicating the address where the address bus reads and writes blocks during block transfer, and maintains the first address of block read and block write during block read and block write. In this case, the memory controller must have an address generator.
블럭읽기 및 블럭쓰기는 일반적인 한 워드 단위의 읽기 및 쓰기와 동일한 동작을 수행하는 방식과, 메모리로서 다이나믹 램(dynamic RAM)을 사용할 경우 페이지 모드 엑세스를 하여 모드 엑세스를 워드 단위의 엑세스에 비하여 엑세스 시간을 약 반으로 단축한 방식으로 나눌 수 있다.Block read and block write performs the same operation as reading and writing in general word unit, and access time compared to word unit access by accessing page mode when using dynamic RAM as memory. You can divide by about half.
전자의 방식은 블럭전송시에도 워드 단위의 읽기 및 쓰기와 동일한 엑세스 시간을 가지며, 후자의 방식은 블럭읽기 및 쓰기가 인접 또는 연속된 주소 영역을 엑세스한다는 특징을 이용하여 페이지 모드 엑세스로 엑세스 시간을 단축시킬 수 있으나 다이나믹 메모리를 사용했을 경우에만 사용할 수 있다.The former method has the same access time as word read and write even in block transfer. The latter method accesses page mode access using the feature that block reads and writes access adjacent or contiguous address areas. It can be shortened, but only when dynamic memory is used.
제1도는 종래의 다이나믹 램을 사용한 메모리 장치의 구성도로, 1, 2는 메모리, 3, 4는 버퍼, 5는 제어기, 6, 7은 메모리 선택신호라인, 8은 데이타 버스, 9는 제어신호라인, 10은 주소버스를 각각 나타낸다.1 is a configuration diagram of a memory device using a conventional dynamic RAM, 1 and 2 are memories, 3 and 4 are buffers, 5 is a controller, 6 and 7 are memory select signal lines, 8 is a data bus, and 9 is a control signal line. And 10 denote address buses, respectively.
메모리로 다이나믹 램을 사용했을 경우 디아니믹 RAS 프리차지 시간(Random Access Storage Precharge Time)을 절약하기 위한 종래의 메모리 장치는 일반적으로 인터리브드(interleaved)방식이라고 불리워지며, 다이나믹 램은 엑세스한 후 다시 엑세스한 후 다시 액세스하기 위하여는 반드시 RAS 프리차지 시간 동안 기다려야 하므로 제1도와 같이 메모리 0(1)와 메모리 1(2)의 두 조로 구성하고 짝수 주소를 액세스할 경우 메모리 0(1)가 선택신호라인(6)상의 선택신호에 위하여 엑세스되면 홀수 주조를 엑세스하면 메모리 1(2)이 선택신호라인(7)상의 선택신호에 의해 엑세스된다. 상기 메모리 선택신호는 엑세스하는 메모리의 데이타 버스에 시스템의 데이타 버스(8)를 연결하는 해당 버퍼(3, 4)를 열어준다.In the case of using dynamic RAM as memory, conventional memory devices for saving the dynamic RAS precharge time are generally called interleaved, and the dynamic RAM is accessed again after being accessed. In order to access again after accessing, the user must wait for RAS precharge time. Therefore, memory 0 (1) and memory 1 (2) are composed of two sets as shown in FIG. When access is made for the selection signal on the line 6, when the odd casting is accessed, the memory 1 (2) is accessed by the selection signal on the selection signal line 7. The memory select signal opens the corresponding buffers 3 and 4 which connect the system's data bus 8 to the data bus of the memory being accessed.
프로세서 시스템에서 메모리 엑세스 상당 부분이 연속적으로 주소를 엑세스하므로 결국 대부분 메모리 0와 메모리 1을 번갈아 가며 엑세스 하게 되므로 RAS 프리차지 시간을 기다릴 필요가 없게 되어 빠른 엑세스가 가능하다. 특히 블럭읽기 및 쓰기에서는 반드시 홀짝의 주소를 번갈아 엑세스하므로 두 메모리(1, 2)를 번갈아 엑세스하게 되므로 페이지 모드를 사용하지 않는 방법에 비해 빠른 엑세스를 할 수 있다.Since a significant portion of memory accesses in the processor system access addresses continuously, most of the time accesses alternately between memory 0 and memory 1, eliminating the need to wait for RAS precharge time, enabling fast access. In particular, the read and write blocks alternately access the odd addresses, so that the two memories (1, 2) are accessed alternately, which enables faster access compared to the non-page mode method.
그러나, 상기 종래의 메모리 장치는 메모리의 읽기나 쓰기를 위한 평균 시간을 메모리 본래의 엑세스 시간 보다 빠르게 할 수 없는 문제점이 있었다.However, the conventional memory device has a problem in that the average time for reading or writing the memory cannot be faster than the memory access time.
상기 문제점을 위하여 안출된 본 발명은 워드단위의 읽기 및 쓰기에서 해당 워드 뿐만아니라 한블럭 전체의 내용을 읽고 버퍼에 저장하고 다음 사이클에서 버퍼의 내용을 버스에 실어주어, 메모리 엑세스 시간보다 빠르게 메모리의 데이타를 읽기 및 쓰기 위한 메모리 엑세스시간 단축장치 및 방법을 제공함에 그 목적이 있다.In order to solve the above problems, the present invention reads and stores the contents of one block as well as the entire word in a word unit read and write, and stores the contents of the buffer on the bus in the next cycle. It is an object of the present invention to provide an apparatus and method for reducing memory access time for reading and writing data.
상기 목적을 달성하기 위해 안출된 본 발명은 병렬로 배열된 다수의 메모리에 블럭쓰기 또는 블럭읽기시에 빠른 엑세스를 위한 메모리 엑세스시간 단축장치에 있어서, 데이타가 전송되는 데이타 버스, 읽기 및 쓰기신호, 엑세스 신호, 블럭읽기 신호 및 쓰기신호가 전송되는 제어신호라인, 상기 다수의 메모리에 연결되어 상기 메모리의 할당을 위한 주소가 전송되는 주소버스, 상기 제어신호라인과 주소버스와 다수의 메모리에 연결되어 상기 제어신호라인과 주소버스로부터 전송되는 신호를 받아 버퍼제어신호와 메모리 선택신호를 발생시키는 제어수단, 및 상기 제어수단과 메모리와 데이타 버스에 연결되어 상기 제어수단의 버퍼 제어신호에 의해 양방향으로 데이터를 래치시킬 수 있는 다수의 양방향 래치겸 버퍼수단으로 구성되며, 상기와 같이 구성된 장치를 이용하여 블럭 읽기가 첫번째 사이클이면 상기 메모리를 동시에 읽어 상기 양방향 래치겸 버퍼수단에 저장하고 동시에 해당 번지의 양방향 래치겸 버퍼를 열어 래치된 데이타를 상기 데이타 버스에 실어 전송하는 제1단계, 상기 블럭 읽기가 첫번째 사이클이 아니면 상기 해당 번지의 양방향 래치겸 버퍼를 열어 상기 첫번째 사이클에서 저장되었던 데이타를 버스에 실어 전송하는 제2단계, 블럭쓰기가 마지막 사이클이면 데이타를 상기 해당 양방향 래치겸 버퍼에 저장하고 동시에 전체 메모리의 쓰기동작을 수행하는 제3단계, 및 상기 블럭쓰기가 마지막 사이클이 아니면 해당번지의 양방향 래치겸 버퍼에 데이타를 저장하는 제4단계에 의해 수행된다.In order to achieve the above object, the present invention provides a memory access time shortening device for fast access when a block write or block read is performed on a plurality of memories arranged in parallel, including a data bus, a read and write signal, A control signal line to which an access signal, a block read signal, and a write signal are transmitted, an address bus connected to the plurality of memories, an address bus for transmitting an address for allocating the memory, and a control signal line and an address bus and a plurality of memories Control means for receiving a signal transmitted from the control signal line and the address bus and generating a buffer control signal and a memory selection signal, and data connected in both directions by a buffer control signal of the control means connected to the control means, the memory and the data bus; It consists of a plurality of bidirectional latch and buffer means capable of latching, as described above A first step of reading the memory at the same time and storing the data in the bidirectional latch and buffer means when the block read is the first cycle using the configured device, and simultaneously opening the bidirectional latch and buffer at the corresponding address to transfer the latched data to the data bus; A second step of opening the bidirectional latch and buffer of the corresponding address if the block read is not the first cycle, and transferring the data stored in the first cycle to the bus; and transferring the data to the corresponding bidirectional latch and buffer if the block write is the last cycle. A third step of storing and simultaneously performing a write operation of the entire memory; and a fourth step of storing data in a bidirectional latch-and-buffer at a corresponding address if the block write is not the last cycle.
이하, 첨부한 도면을 참조하여 본 발명의 일실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention;
제2도는 본 발명에 의한 메모리 엑세스시간 단축장치의 구성도로, 11 내지 14는 메모리, 15 내지 18은 양방향 래치겸 버퍼, 19는 데이타 버스, 20 내지 23은 양방향 래치겸 버퍼 제어신호라인, 24 내지 27은 메모리 제어신호라인, 28은 데어버스, 29는 주소버스, 30은 제어신호라인, 31은 제어기를 각각 나타낸다.2 is a block diagram of a memory access time reducing apparatus according to the present invention, 11 to 14 are memories, 15 to 18 are bidirectional latches and buffers, 19 are data buses, and 20 to 23 are bidirectional latches and buffer control signal lines. 27 denotes a memory control signal line, 28 denotes a darebus, 29 denotes an address bus, 30 denotes a control signal line, and 31 denotes a controller.
본 발명에 의한 메모리 시간 엑세스 단축장치는 제2도에 도시한 바와 같이 메모리를 4조(11, 12, 13, 14)로 구성하고 각 메모리(11, 12, 13, 14)의 데이타 버스는 각각의 양방향 래치겸 버퍼(15, 16, 17, 18)을 통해 시스템의 데이타 버스(19)에 연결되어 있다.The memory time access shortening apparatus according to the present invention comprises four sets (11, 12, 13, 14) of memory as shown in FIG. 2, and the data buses of the memories 11, 12, 13, and 14 are respectively Are connected to the system's data bus 19 via bidirectional latch and buffers 15, 16, 17 and 18.
상기 양방향 래치겸 버퍼(15, 16, 17, 18)는 제어신호라인(20, 21, 22, 23)의 제어신호에 의해 각각 양방향으로 데이타를 래치시킬 수 있으며 또한 양방향 버퍼또는 고임피던스 상태로 동작시킬 수 있는 소자로 구성되며, 바람직한 실시예로 74F543을 사용한다. 상기 메모리는 블럭 전송 워드수만큼 병렬로 배열한다.The bidirectional latch and buffer 15, 16, 17, and 18 may latch data in both directions by the control signals of the control signal lines 20, 21, 22, and 23, respectively, and operate in the bidirectional buffer or high impedance state. 74F543 is used as a preferred embodiment. The memory is arranged in parallel by the number of block transfer words.
제어기(31)는 제어신호라인(30)에 포함된 읽기 및 쓰기신호, 엑세스신호, 블럭읽기신호 및 쓰기신호와 주소버스(29)를 받아 버퍼제어신호라인(20, 21, 22, 23)의 제어신호와 각 메모리 제어신호라인(24, 25, 26, 27)상의 선택신호 주소를 발생시켜, 블럭읽기 및 블럭쓰기 동안 주소버스(29)의 값이 첫번째 사이클의 주소를 유지하고 있으면 사이클에 따라 실제 주소를 만들어 해당 메모리 및 래치겸 버퍼(15 내지 18)를 제어한다. 메모리의 주소버스의 최하위 2비트가 00이면 메모리 0(11), 01이면 메모리(12), 10이면 메모리 2(13), 11이면 메모리 3(14)이 할당된다.The controller 31 receives the read and write signals, the access signal, the block read signal and the write signal, and the address bus 29 included in the control signal line 30 to the buffer control signal lines 20, 21, 22, and 23. Generates a control signal and a selection signal address on each memory control signal line 24, 25, 26, 27, so that if the value of the address bus 29 maintains the address of the first cycle during block read and block write, Real addresses are created to control the corresponding memory and latch and buffer 15 to 18. If the least significant two bits of the address bus of the memory are 00, memory 0 (11) is allocated, memory 12 (01), memory 2 (13) if 10, memory 3 (14) if 11 is allocated.
워드 단위의 읽기 및 쓰기의 경우에는 제어기(31)의 내부에 있는 주소저장 래치가 동작하여 읽기 및 쓰기를 수행하는 주소중 하위 두 비트를 제외한 주소(병렬로 배열된 메모리의 수가 n일 경우 log2n비트를 제외)를 저장한다. 즉 워드 단위의 읽기가 시작되면 먼저 래치에 저장된 주소와 주소버스에 가해진 주소와 비교하는데 같으면 이미 전에 해당데이타가 메모리로부터 읽혀져 양방향 래치겸 버퍼(15, 16, 17, 18)에 저장되어 있음을 나타내므로 하위 두 비트의 주소버스(병렬로 배열된 메모리의 수가 n일 경우 하위 log2n비트의 주소버스)가 가리키는 양방향 래치겸 버퍼(15 내지 18)의 내용을 데이타 버스(19)에 실어준다. 만약 제어기(31)내의 래치에 저장된 주소와 주소버스(29)에 가해진 주소가 서로 틀리면 병렬로 배치된 메모리(11 내지 14)전체를 동시에 읽어 데이타를 해당 양방향 래치겸 버퍼(15 내지 18)에 저장함과 동시에 읽고자 하는 해당번지의 양방향 래치겸 버퍼(15 내지 18)를 열어 데이타를 데이타를 데이타 버스(19)에 실어주며 제어기(31)내의 래치에 주소를 저장한다.In case of reading and writing in word unit, the address storage latch inside the controller 31 is operated so that the address except for the lower two bits among the addresses to read and write (log2n bit when the number of memory arranged in parallel is n) Save). That is, when reading in units of words starts, the address stored in the latch is first compared with the address applied to the address bus. If the same, the data is already read from the memory and stored in the bidirectional latch and buffer (15, 16, 17, 18). Therefore, the contents of the bidirectional latch and buffer 15 to 18 indicated by the address bus of the lower two bits (the address bus of the lower log2n bits when the number of memory arranged in parallel is n) are loaded on the data bus 19. If the address stored in the latch in the controller 31 and the address applied to the address bus 29 are different from each other, the entire memory 11 to 14 arranged in parallel are simultaneously read and the data is stored in the corresponding bidirectional latch and buffer 15 to 18. At the same time, the bidirectional latch and buffer 15 to 18 of the corresponding address to be read are opened to load data to the data bus 19 and store the address in a latch in the controller 31.
워드 단위의 쓰기에서는 해당주소의 양방향 래치겸 버퍼(15 내지 18)에 데이타를 저장하고 쓰기 완료신호(RDY*)를 프로세서에 주어 쓰기 사이클을 종료하도록 하며, 제어기(31)는 병렬로 배치된 전체 메모리(11 내지 14)중 쓰기가 수행되어야 하는 주소의 메모리는 쓰기동작, 나머지 메모리는 읽기 동작이 동시에 수행되도록 하며 동시에 제어기(31)내의 래치에 주소를 저장한다. 이는 제어기(31)에서 메모리의 읽기/쓰기신호(R/W)만을 다르게 주고 제어신호는 동일하게 가해주는 것으로 수행될 수 있다. 그러면 읽는 동작을 수행하는 메모리에 연결된 양방향 래치겸 버퍼(15 내지 18)는 메모리로부터 읽혀진 데이타를 저장한다.In word-based writing, data is stored in the bidirectional latch and buffer 15 to 18 of the corresponding address and the write completion signal RDY * is given to the processor to terminate the write cycle. The memory of the addresses to which writes are to be performed in the memories 11 to 14 allows the write operation to be performed and the remaining memories to perform the read operation at the same time and simultaneously stores the address in a latch in the controller 31. This may be performed by differently applying only the read / write signals R / W of the memory to the controller 31 and the control signals. The bidirectional latch and buffers 15 to 18 connected to the memory for performing the read operation then store the data read from the memory.
상기와 같은 동작이 수행되면 양방향 래치겸 버퍼(15, 16, 17, 18)에는 제어기(31)내의 래치에 저장된 주소에 해당되는 한 블럭의 데이타가 저장되어 있어 다음 읽기 동작에서 읽고자 하는 영역이 이 영역이라면 메모리의 읽기 동작 없이 양방향 래치겸 버퍼(15 내지 18)에서 읽어갈 수 있으므로 빠른 데이타의 엑세스가 가능하다. 일반적으로 프로세서는 연속되어 엑세스하는 메모리 영역이 연속되거나 인접한 영역에 있다는 특징이 있으므로 워드단위의 엑세스시에 한 블럭의 데이타를 읽어 버퍼에 저장해 놓는 방법은 프로세서의 전체적인 메모리 엑세스 시간을 단축시키게 된다.When the above operation is performed, a block of data corresponding to an address stored in the latch in the controller 31 is stored in the bidirectional latch and buffers 15, 16, 17, and 18 so that the area to be read in the next read operation is stored. In this area, since data can be read from the bidirectional latch and buffers 15 to 18 without a memory read operation, fast data access is possible. In general, the processor is characterized in that the memory areas that are continuously accessed are in contiguous or contiguous areas. Thus, a method of reading and storing a block of data in a buffer during word-based access reduces the overall memory access time of the processor.
제3도는 본 발명에 의한 제어기(31)의 구성도로, 메모리가 4조로 구성되는 메모리 엑세스 시간 단축장치의 제어를 위한 제어기(31)의 구성을 나타낸다.3 is a configuration diagram of the controller 31 according to the present invention, which shows the configuration of the controller 31 for controlling the memory access time reduction apparatus having four sets of memories.
상기 도면에서 32는 래치, 33은 비교기, 34, 35, 36, 37은 제어신호 발생기를 각각 나타낸다.In the figure, 32 is a latch, 33 is a comparator, and 34, 35, 36 and 37 are control signal generators, respectively.
본 발명에 의한 제어기(31)는 제3도에 도시한 바와 같이 주소 버스(29)에 유효한 신호가 실려 있을때 논리레벨 "0"이 되는 주소 스트로보신호와 주소버스(29)중 하위 2비트를 제외한 주소 버스를 입력으로 하여 상기 주소 스트로보신호의 상승 에지(rising edge)에서 상기 하위 2비트를 제외한 주소버스를 저장하는 래치(32), 상기 래치(32)와 상기 하위 2비트를 제외한 주소 버스에 연결되어 상기 래치(32)에 저장된 주소와 상기 주소 버스에 실려 있는 주소가 동일한 값인지 비교하는 비교기(33), 및 PAL(Programmable Array Logic)로 구성되고 상기 주소 스트로보신호, 읽기/ 쓰기신호, 블럭전송신호, 및 엑세스 완료신호를 전송하는 제어신호라인(30)과 비교기(33)와 주소버스(29)에 연결되어 상기 주소버스(29)의 하위 2비트, 주소 스트로보신호, 읽기/쓰기신호, 블럭전송 신호를 입력으로 하여 엑세스 완료신호, 양방향 래치겸 버퍼 제어신호라인(20, 21, 22, 23)을 통한 양방향 래치겸 버퍼 제어신호 및 상기 제어버스(28)를 통해 전송되는 메모리 제어신호를 출력하며 상기 메모리의 수만큼 병렬로 배열되는 제어신호 발생기(34, 35, 36, 37)로 구성된다.As shown in FIG. 3, the controller 31 according to the present invention excludes the address strobe signal which becomes a logic level " 0 " and the lower two bits of the address bus 29 when a valid signal is loaded on the address bus 29 as shown in FIG. A latch 32 for storing an address bus except the lower 2 bits at a rising edge of the address strobe signal as an input of an address bus, and connected to the latch 32 and the address bus except the lower 2 bits. And a comparator 33 for comparing whether an address stored in the latch 32 and an address on the address bus are the same value, and a programmable array logic (PAL), and the address strobe signal, read / write signal, and block transfer. The lower two bits of the address bus 29, an address strobe signal, a read / write signal, a block connected to a control signal line 30, a comparator 33, and an address bus 29 for transmitting a signal and an access completion signal; Transmit signals Outputs an access completion signal, a bidirectional latch and buffer control signal through the bidirectional latch and buffer control signal lines 20, 21, 22, and 23, and a memory control signal transmitted through the control bus 28; Control signal generators 34, 35, 36, and 37 arranged in parallel by the number of?.
상기 제어신호 발생기(34, 35, 36, 37)로 입력되는 주소 버스(29)의 하위 2비트는 상기 log2n비트(n은 메모리의 수)에 의해 설정된 것으로 메모리의 수가 4인 경우를 나타낸다.The lower two bits of the address bus 29 input to the control signal generators 34, 35, 36, and 37 are set by the log2n bits (n is the number of memories) and represent a case where the number of memories is four.
상기 비교기(33)는 이전 메모리 엑세스 사이클의 주소가 현 사이클에서 엑세스하고자 하는 주소를 비교하여 엑세스하고자 하는 데이타가 상기 래치(32)에 저장되어 있는지를 판단하여 상기 제어신호발생기(34, 35, 36, 37)로 출력한다.The comparator 33 compares an address of a previous memory access cycle with an address to be accessed in the current cycle to determine whether data to be accessed is stored in the latch 32 to control the generator 34, 35, 36. , 37).
상기 제어신호 발생기(34, 35, 36, 37)는 입력신호들의 조합으로 1) 워드단위쓰기 이전 사이클의 쓰기동작 미완료상태, 2) 워드단위쓰기 이전쓰기 사이클 쓰기 동작완료상태, 3) 블럭쓰기내의 마지막 사이클이 아닌 상태, 4) 블럭쓰기내의 마지막 사이클 상태, 5) 워드 단위 읽기에서 읽고자 하는 데이타가 양방향 래치겸 버퍼에 있는 상태, 6) 워드단위 읽기에서 읽고자 하는 데이타가 양방향 래치겸 버퍼에 없는 상태, 7) 블럭읽기내의 첫번째 사이클 상태, 및 8) 블럭 읽기내의 첫번째 사이클이 아닌 상태를 판단하고 이에 따라 다음의 8가지 동작을 수행하도록 양방향 래치겸 버퍼 제어신호, 메모리 제어신호, 엑세스 완료신호를 출력한다.The control signal generators 34, 35, 36, and 37 are a combination of input signals: 1) a write operation incomplete state before a word unit write cycle, 2) a write operation complete state in a write cycle before a word unit write state, and 3) a block write operation. Non-last cycle state, 4) Last cycle state in block write, 5) Data to be read in word-read read is in bidirectional latch and buffer, 6) Data to read in word-read read is written in bidirectional latch and buffer No state, 7) first cycle state in block read, and 8) bidirectional latch and buffer control signal, memory control signal, access completion signal to determine the non-first cycle state in block read and perform the following eight operations accordingly. Outputs
1) 이전 사이클의 출력이 완료될때까지 기다린다.1) Wait for the output of the previous cycle to complete.
2) 해당주소 메모리에 상기 데이타 버스(19)에 실린 데이타를 쓰고 나머지 메모리는 데이터를 읽어 양방향 래치겸 버퍼에 저장하고 액세스 완료신호를 출력한다.2) The data loaded on the data bus 19 is written to the corresponding address memory, and the remaining memory reads the data, stores the data in the bidirectional latch and buffer, and outputs an access completion signal.
3) 해당주소의 양방향 래치겸 상기 데이타 버스(19)에 실린 데이타를 저장하고 액세스 완료신호를 출력한다.3) It stores the data carried on the data bus 19 as a bidirectional latch of the corresponding address and outputs an access completion signal.
4) 해당주소의 양방향 래치겸 버퍼에 상기 데이타 버스(19)에 실린 데이타를 저장하고 전 메모리에 각각의 양방향 래치겸 버퍼(15, 16, 17, 18)에 저장된 데이타를 쓰고, 동시에 액세스 완료신호를 출력한다.4) The data stored in the data bus 19 is stored in the bidirectional latch and buffer of the corresponding address, and the data stored in each of the bidirectional latch and buffers 15, 16, 17, and 18 are written in all memories, and at the same time, the access completion signal Outputs
5) 해당주소의 양방향 래치겸 버퍼에 저장된 데이타를 데이타 버스(19)에 실어 주고 액세스 완료신호를 출력한다.5) Data stored in the bidirectional latch and buffer of the corresponding address is loaded on the data bus 19 and an access completion signal is output.
6), 7) 전 메모리의 데이타를 읽어 상기 양방향 래치겸 버퍼(15, 16, 17, 18)에 저장하고동시에 해당주의 양방향 래치겸 버퍼를 열어 데이타를 상기 데이타 버스(19)에 실어주고 엑세스 완료신호 출력한다.6), 7) Read the data of all memories and store in the bidirectional latch and buffer (15, 16, 17, 18) and simultaneously open the bidirectional latch and buffer of the corresponding week to load data to the data bus 19 and complete the access. Signal output.
8) 해당 번지의 양방향 래치겸 버퍼에 저장된 데이타를 상기 데이타 버스(19)에 실어주고 액세스 완료신호를 출력한다.8) Data stored in the bidirectional latch and buffer of the corresponding address is loaded on the data bus 19 and an access completion signal is output.
제4도는 본 발명에 의한 메모리 엑세스시간 단축방법의 흐름도로, 제4a도는 블럭 읽기의 경우, 제4b도는 블럭쓰기의 경우를 나타낸다.4 is a flowchart of a method for shortening a memory access time according to the present invention, and FIG. 4A shows a block read and FIG. 4B shows a block write.
블럭읽기의 경우 제어기(31)는 블럭읽기의 첫번째 사이클인지 검색하여(40) 첫번째 사이클이면 블럭읽기 워드수 만큼 병렬로 배열된 메모리(11, 12, 13, 14)를 한꺼번에 읽어 양방향 래치겸 버퍼(15, 16, 17, 18)에 저장하고(50), 동시에 해당 번지의 래치(15, 16, 17, 18)를 열어 래치된 데이타를 데이타 버스에 실어주며(60), 첫번째 사이클이 아니면 해당 번지의 래치를 열어 이미 첫번째 사이클에서 저장되었던 데이타를 데이타 버스에 실어준다(60).In the case of a block read, the controller 31 searches for the first cycle of the block read (40), and if it is the first cycle, reads the memory 11, 12, 13, and 14 arranged in parallel by the number of block read words at once. 15, 16, 17, 18), at the same time open the latch (15, 16, 17, 18) of the address and put the latched data on the data bus (60), if not the first cycle Open the latch on the memory to load the data already stored in the first cycle on the data bus (60).
블럭쓰기의 경우 블럭쓰기의 마지막 사이클인지 검색하여(70) 마지막 사이클이 아니면 해당 번지의 래치에 데이타를 저장하고 사이클을 종료하며(80), 마지막 사이클이면 데이타를 래치에 저장하면서(90), 동시에 전체 메모리의 쓰기동작을 수행하여 이전 사이클에서 저장된 데이타를 한꺼번에 메모리에 써넣는다(100).In the case of block write, it is searched whether it is the last cycle of block write (70), if it is not the last cycle, the data is stored in the latch of the corresponding address and the cycle is terminated (80). The write operation of the entire memory is performed to write the data stored in the previous cycle into the memory at once (100).
상기와 같이 구성되어 동작하는 본 발명은 캐쉬를 가진 프로세서 시스템에서 캐쉬의 업데이트가 블럭읽기 및 블럭쓰기에 의해 이루어지는 고성능 시스템의 메모리 액세스 시간을 단축시켜 시스템의 성능을 향상시키는 적용 효과가 있다.The present invention configured and operated as described above has an application effect of improving the performance of a system by shortening the memory access time of a high performance system in which a cache update is performed by block read and block write in a processor system having a cache.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019910011421A KR940001590B1 (en) | 1991-07-05 | 1991-07-05 | Method and device for shortening memory access time in reading and writing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019910011421A KR940001590B1 (en) | 1991-07-05 | 1991-07-05 | Method and device for shortening memory access time in reading and writing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR930002948A KR930002948A (en) | 1993-02-23 |
KR940001590B1 true KR940001590B1 (en) | 1994-02-25 |
Family
ID=19316831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019910011421A KR940001590B1 (en) | 1991-07-05 | 1991-07-05 | Method and device for shortening memory access time in reading and writing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR940001590B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012134098A3 (en) * | 2011-04-01 | 2013-01-03 | (주)아토솔루션 | Memory and memory-reading method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100370239B1 (en) * | 2000-10-25 | 2003-01-29 | 삼성전자 주식회사 | Memory device for applying to high speed block pipelined reed-solomon decoder and method of memory access and reed-solomon decoder having the memory device |
-
1991
- 1991-07-05 KR KR1019910011421A patent/KR940001590B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012134098A3 (en) * | 2011-04-01 | 2013-01-03 | (주)아토솔루션 | Memory and memory-reading method |
US9323469B2 (en) | 2011-04-01 | 2016-04-26 | Industrial Bank Of Korea | Memory, and method of reading data from the memory |
Also Published As
Publication number | Publication date |
---|---|
KR930002948A (en) | 1993-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4803621A (en) | Memory access system | |
US4736293A (en) | Interleaved set-associative memory | |
JP3532932B2 (en) | Randomly accessible memory with time overlapping memory access | |
US4400774A (en) | Cache addressing arrangement in a computer system | |
EP0090026B1 (en) | Cache memory using a lowest priority replacement circuit | |
KR930004426B1 (en) | Dual-port memory and its fabrication method | |
EP0009938A1 (en) | Computing systems having high-speed cache memories | |
US5249284A (en) | Method and system for maintaining data coherency between main and cache memories | |
US4797813A (en) | Cache memory control apparatus | |
US5787489A (en) | Synchronous SRAM having pipelined enable | |
US7082491B2 (en) | Memory device having different burst order addressing for read and write operations | |
US5047920A (en) | Hierarchal system for reducing memory access time to plural equal sized memories by simultaneously addressing and accessing memory | |
US5737564A (en) | Cache memory system having multiple caches with each cache mapped to a different area of main memory to avoid memory contention and to lessen the number of cache snoops | |
US6078532A (en) | Method and apparatus for improving performance of DRAM subsystems with SRAM overlays | |
US6094703A (en) | Synchronous SRAM having pipelined memory access enable for a burst of addresses | |
US5553270A (en) | Apparatus for providing improved memory access in page mode access systems with pipelined cache access and main memory address replay | |
KR940001590B1 (en) | Method and device for shortening memory access time in reading and writing | |
US6205514B1 (en) | Synchronous SRAM having global write enable | |
KR100417548B1 (en) | Integrated cache memory and how to provide data to memory devices in digital memory | |
US6385687B2 (en) | Method and apparatus for simultaneously accessing the tag and data arrays of a memory device | |
EP0398191A2 (en) | Quadruple word, multiplexed, paged mode and cache memory | |
JPH09319657A (en) | Processor provided with buffer for reading instruction | |
US6408361B1 (en) | Autonomous way specific tag update | |
JP3600830B2 (en) | Processor | |
KR950008663B1 (en) | Dram access control apparatus |
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: 19990201 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |