KR100686304B1 - Method for controlling access to public bank of dual port memory - Google Patents
Method for controlling access to public bank of dual port memory Download PDFInfo
- Publication number
- KR100686304B1 KR100686304B1 KR1020050089452A KR20050089452A KR100686304B1 KR 100686304 B1 KR100686304 B1 KR 100686304B1 KR 1020050089452 A KR1020050089452 A KR 1020050089452A KR 20050089452 A KR20050089452 A KR 20050089452A KR 100686304 B1 KR100686304 B1 KR 100686304B1
- Authority
- KR
- South Korea
- Prior art keywords
- host
- access
- shared bank
- port
- bank
- Prior art date
Links
Images
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/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/30—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Abstract
Description
도 1은 본 발명이 적용되는 듀얼 포트 메모리를 개략적으로 설명하기 위한 예시도,1 is an exemplary diagram for schematically illustrating a dual port memory to which the present invention is applied;
도 2는 본 발명에 따른 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법을 설명하기 위한 제1실시예 흐름도,2 is a flowchart of a first embodiment for explaining a shared bank access control method of a dual port memory according to the present invention;
도 3은 상기 도 2에서 포트가 수신하는 제어 신호를 설명하기 위한 일실시예 흐름도,3 is a flowchart illustrating an example of a control signal received by a port in FIG. 2;
도 4는 본 발명에 따른 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법을 설명하기 위한 제2실시예 흐름도.4 is a flowchart of a second embodiment for explaining a shared bank access control method of a dual port memory according to the present invention;
<도면의 주요부분에 관한 부호의 설명><Explanation of symbols on main parts of the drawings>
110, 111, 120 : 뱅크 130 : 공유 뱅크110, 111, 120: bank 130: shared bank
140 : 제어부140: control unit
본 발명은 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법에 관한 것으로서, 보다 상세하게는 듀얼 포트 동적 랜덤 기억 장치(dynamic random access memory; 이하, 간단히 'DRAM'이라 함)에 사용하기 위한 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법에 관한 것이다.The present invention relates to a shared bank access control method of dual port memory, and more particularly, to sharing dual port memory for use in dual port dynamic random access memory (hereinafter, simply referred to as 'DRAM'). A bank access control method.
일반적으로, DRAM은 오늘날 컴퓨터의 주기억 장치로서 가장 널리 사용되고 있는 대규모 집적 회로(large scale integrated circuit; LSI) 기억 장치로서, 집적 회로상의 커패시터(capacitor)들의 전하의 유무에 따라 2진 숫자('0'와 '1')를 판별하는 방식으로 데이터를 저장한다. In general, DRAM is a large scale integrated circuit (LSI) memory which is most widely used as a main memory device of computers today, with a binary number ('0') depending on the presence or absence of charge of capacitors on the integrated circuit. And '1') to store the data.
이러한 DRAM 중 입출력 포트가 하나인 싱글 포트(single port) DRAM은 그 구조상 하나의 호스트만이 사용할 수 있다. 따라서, 두 개의 호스트가 접근할 경우에는 하나의 호스트의 요청이 모두 종료된 후에 다른 호스트가 접근할 수 있다. 이러한 구조는, 고성능화되고 프로세서가 집적되는 SoC(system On a Chip) 칩의 성능을 저하시키는 요인으로 작용되었다. Among such DRAMs, a single port DRAM having one input / output port can be used only by one host. Therefore, when two hosts access, the other host may access after all requests from one host are terminated. Such a structure has been a factor in degrading the performance of a system on a chip (SoC) chip having high performance and an integrated processor.
이런 이유로 입출력 포트가 2개인 듀얼 포트(dual port) DRAM의 개발 요구가 증가되고 있으며, 이와 같은 요구에 대하여 대한민국 공개특허 제2003-10984호(데이타 액세스 타이밍을 조정하는 듀얼 포트 메모리콘트롤러)가 개시되어 있다.For this reason, the demand for development of dual port DRAM having two input / output ports is increasing, and Korean Patent Publication No. 2003-10984 (Dual Port Memory Controller for adjusting data access timing) has been disclosed. have.
상기 공개특허 제2003-10984호는 데이타를 안정적으로 읽기/쓰기 하기 위해 데이타 액세스 요청을 받아들일 수 없다는 신호를 일정시간 지연시킴으로써 프로세 서의 데이타 액세스 타이밍을 조정하는 것을 특징으로 한다.The above-mentioned Patent Publication No. 2003-10984 is characterized by adjusting the data access timing of the processor by delaying a signal for not being able to accept a data access request for a stable read / write of data.
그러나, 상기 공개특허 제2003-10984호는 한쪽 호스트가 듀얼 포트 메모리 콘트롤러에 접근하여 사용하고 있을 때에는 다른 호스트는 읽기/쓰기 뿐만 아니라 접근조차 불가능한 문제점이 있다. However, the Patent Publication No. 2003-10984 has a problem in that when one host is accessing and using the dual port memory controller, the other host may not only read / write but also access.
본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 두 개의 호스트가 동시에 접근할 수 있는 뱅크인 공유 뱅크를 할당하고, 한쪽 프로세스가 공유 뱅크에 접근하여 사용하고 있을 경우에도 다른 프로세스는 접근이 가능하도록 하는 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법을 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems, and allocates a shared bank, which is a bank that two hosts can access at the same time, and accesses the other process even if one process accesses and uses the shared bank. Its purpose is to provide a shared bank access control method of dual port memory to enable this.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 바람직한 실시예에 따르면, 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법에 있어서, 공유 뱅크에 듀얼 포트 중 어느 하나의 포트에 연결된 호스트로부터 접근 요청을 받은 경우, 공유 뱅크가 다른 포트에 연결된 호스트가 접근하여 데이터 처리를 수행하고 있는 때에는, 접근 요청을 한 포트에 접근 가능 신호를 전달하여, 해당 호스트가 공유 뱅크에 접근하도록 하는 단계(a); 및 데이터 처리를 수행하고 있는 포트의 호스트가 이를 완료한 경우에, 접근 가능 신호를 전달한 포트에 처리 가능 신호를 전달하여, 해당 호스트가 공유 뱅크에 저장된 데이터의 처리를 수행하도록 하는 단계(b)를 포함하는 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법이 제공된다.In order to achieve the above object, according to a preferred embodiment of the present invention, in the shared bank access control method of the dual port memory, when the access request from the host connected to any one of the dual port to the shared bank (A) when the host connected to the other port is accessing the shared bank and performing data processing, by transmitting an access signal to the port requesting the access, allowing the host to access the shared bank; And (b) when the host of the port performing the data processing has completed this, transmitting the processable signal to the port that delivered the accessible signal so that the host performs the processing of the data stored in the shared bank. A shared bank access control method of a dual port memory is provided.
이때, 상기 단계(a)의 공유 뱅크에 접근하도록 하는 것은, 해당 호스트가 공유 뱅크에 저장된 데이터의 처리를 위한 대기 상태에 있도록 하는 것임이 바람직하다.In this case, accessing the shared bank of step (a) is preferably such that the host is in a standby state for processing data stored in the shared bank.
또한, 본 발명의 다른 실시예에 따르면, 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법에 있어서, 두 개의 포트에 연결된 호스트로부터 실질적으로 동시에 접근 요청을 받은 경우에, 양 호스트의 프로세스에 대한 우선권을 판단하는 단계(a); 우선권이 실질적으로 높은 프로세스를 가지는 호스트의 포트로 처리 가능 신호를 전달하여, 우선권이 실질적으로 높은 프로세스를 가지는 호스트가 공유 뱅크에 저장된 데이터의 처리를 수행하도록 하는 단계(b); 및 우선권이 실질적으로 낮은 프로세스를 가지는 호스트의 포트로 접근 가능 신호를 전달하여, 우선권이 실질적으로 낮은 프로세스를 가지는 호스트가 공유 뱅크에 접근하도록 하는 단계(c)를 포함하는 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법이 제공된다. In addition, according to another embodiment of the present invention, in the shared bank access control method of the dual port memory, when the access request is received from the host connected to the two ports at the same time, the priority of the process of both hosts is determined Step (a); (B) transmitting a processable signal to a port of a host having a process having a substantially higher priority, so that the host having a process having a higher priority performs processing of data stored in a shared bank; And (c) forwarding an accessible signal to a port of a host having a process having a substantially lower priority, thereby allowing a host having a process having a substantially lower priority to access a shared bank. A control method is provided.
이때, 우선권이 실질적으로 높은 프로세스를 가지는 호스트가 데이터의 처리를 완료한 경우에, 우선권이 실질적으로 낮은 프로세스를 가지는 호스트의 포트로 처리 가능 신호를 전달하여, 해당 호스트가 공유 뱅크에 저장된 데이터의 처리를 수행하도록 하는 단계(d)를 더 포함할 수 있으며, 상기 (a)단계에서 양 호스트의 프로세스에 대한 우선권이 실질적으로 동일한 경우에, 임의로 하나의 호스트를 선정하여, 우선권이 실질적으로 높은 프로세스를 가지는 호스트로 지정하는 단계(d) 를 더 포함할 수도 있다. In this case, when a host having a process having a substantially higher priority has completed processing of data, the host transmits a processable signal to a port of the host having a process having a substantially lower priority, thereby processing the data stored in the shared bank. The method may further include the step (d), and in the case of (a), if the priority of the processes of both hosts is substantially the same, arbitrarily selecting one host to select a process having a high priority. The branch may further comprise the step (d) of designating a host.
여기서, 상기 단계(b)의 공유 뱅크에 접근하도록 하는 것은, 해당 호스트가 공유 뱅크에 저장된 데이터의 처리를 위한 대기 상태에 있도록 하는 것임이 바람직하다.In this case, the access to the shared bank of step (b) may be such that the host is in a standby state for processing data stored in the shared bank.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 우선 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. First of all, in adding reference numerals to the components of each drawing, it should be noted that the same components have the same number as much as possible even if displayed on different drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명이 적용되는 듀얼 포트 메모리를 개략적으로 설명하기 위한 예시도이다.1 is an exemplary diagram schematically illustrating a dual port memory to which the present invention is applied.
도면에 도시된 바와 같이, 본 발명이 적용되는 듀얼 포트 메모리는, 각각의 포트에 지정된 수의 뱅크(bank)를 가지게 된다. 상기 도 1의 예시에서는, 전체 4개의 뱅크가 있으며, 그 중 두개의 뱅크(BANKA_0 및 BANKA_1)(110, 111)는 A 포트에 할당되어 있고, 한개의 뱅크(BANKB_0)(120)는 B 포트에 할당되어 있음을 알 수 있다. 또한, 나머지 한개의 뱅크인 공유 뱅크(130)는 A 포트 및 B 포트에 동시에 할당되어 있음을 알 수 있다.As shown in the figure, the dual port memory to which the present invention is applied will have a specified number of banks for each port. In the example of FIG. 1, there are four banks in total, of which two banks (BANKA_0 and BANKA_1) 110 and 111 are assigned to port A, and one bank (BANKB_0) 120 is connected to port B. You can see that it is assigned. In addition, it can be seen that the other bank, the shared
일반적으로, 듀얼 포트 메모리가 S개의 뱅크를 가진다고 가정하면, S는 다음의 수학식을 만족한다.In general, assuming that the dual port memory has S banks, S satisfies the following equation.
이때, M은 A 포트에 할당된 뱅크(110)의 수이고, N은 B 포트에 할당된 뱅크(120)의 수이며, K는 공유 뱅크(130)의 수이다. 상기 도 1에서는 공유 뱅크(130)의 수가 1개인 경우를 설명하였으나, 그에 한정되는 것은 아니다.In this case, M is the number of
M 개의 뱅크와 N 개의 뱅크는 서로 다른 두 개의 호스트가 각각 A 포트 및 B 포트를 통하여 동시에 접근하여 사용할 수 있는 것으로, 두 개의 프로세스가 충돌이 발생할 염려가 없으나, K 개의 공유 뱅크(130)를 각각의 호스트가 사용하기 위해서 동시에 공유 뱅크(130)에 접근하고자 하는 경우, 또는 한 개의 포트가 이미 접근하여 사용하고 있을 때 다른 포트가 접근하고자 하는 경우에 적절한 중재가 필요하게 된다. M banks and N banks can be accessed by two different hosts at the same time through the A port and the B port, respectively, and there is no fear that the two processes will collide, but each of the K shared
따라서, 도 1의 제어부(140)는 서로 다른 호스트로부터 각각 접근 요청 신호가 있는 경우 이를 본 발명에 따라 제어하게 된다. 상기 제어부(140)는 본 발명에 따라 두 개의 출력 신호(READY[0] 및 READY[1])을 추가하였으며, 이 신호를 전달받은 호스트는 이 출력 신호가 '0'의 값이면 공유 뱅크에 접근이 가능하지만 데이터 처리는 불가능하여, 그 값이 '1'이 될 때까지 동작을 기다려야 하는 것을 특징으로 한다. 즉, 출력 신호 '0'은 '접근 가능 신호', 출력 신호 '1'은 '처리 가능 신호'라 할 수 있을 것이다.Therefore, the
이때, 상기 READY[0] 및 상기 READY[1] 신호는 각각 A 포트 및 B 포트에 인 가되는 신호로 정의하기로 한다.In this case, the READY [0] and the READY [1] signal will be defined as a signal applied to the A port and the B port, respectively.
한편, 본 발명의 설명의 편의를 위하여, A 포트에 연결된 호스트를 'A 호스트'라고 하며, B 포트에 연결된 호스트를 'B 호스트'라 하기로 한다. 또한, A 호스트에서 진행되는 프로세스를 'A 프로세스'라 하며, B 호스트에서 진행되는 프로세스를 'B 프로세스'라 하기로 한다. 다만, 이는 본 발명의 설명의 편의를 위하여 한정하여 설명하는 것일 뿐, 본 발명이 그에 한정되는 것은 아니다.Meanwhile, for convenience of description of the present invention, a host connected to the A port is referred to as a 'A host', and a host connected to the B port is referred to as a 'B host'. In addition, the process going on host A will be referred to as 'Process A', and the process going on host B will be referred to as 'B Process'. However, this is only to be described for the convenience of description of the present invention, the present invention is not limited thereto.
도 2는 본 발명에 따른 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법을 설명하기 위한 제1실시예 흐름도로서, 하나의 호스트가 상기 공유 뱅크(130)에 접근하여 사용하고 있는 경우에 다른 호스트가 접근하는 경우를 나타낸 것이다.FIG. 2 is a flowchart illustrating a method for controlling access to a shared bank of a dual port memory according to the present invention. In the case where one host accesses and uses the shared
도면에 도시된 바와 같이, 본 발명의 접근 제어 방법은, 임의의 호스트가 상기 공유 뱅크에 접근하고자 하였을 때(S200), 만약 다른 호스트가 상기 공유 뱅크(130)에 접근(ACCESS)하여 상기 공유 뱅트(130) 내에 저장된 데이터에 대하여 읽기/쓰기 등을 수행함으로써 사용중인 경우에는(S202), 해당 포트에 상기 제어부(140)가 'READY=0'을 전송한다(S204). 이로써, 해당 호스트는 상기 공유 뱅트(130)에 접근은 가능하나(S206), 그에 저장된 데이터의 읽기/쓰기 등의 처리는 아직 불가능한 대기 상태라 할 수 있다.As shown in the figure, the access control method of the present invention, when any host attempts to access the shared bank (S200), if another host accesses the shared bank 130 (ACCESS) the shared bank In the case of being used by reading / writing the data stored in the 130 (S202), the
이후, 먼저 접근한 호스트의 데이터 처리가 종료된 경우에는(S208), 상기 제어부(140)가 해당 포트에 'READY=1'을 전달하여(S210), 상기 공유 뱅트(130)에 접근하여 저장된 데이터에 대하여 읽기 및/또는 쓰기가 가능하도록 할 수 있다 (S212).After that, when the data processing of the first accessed host is terminated (S208), the
이와 같이, 본 발명은 하나의 호스트가 공유 뱅크에 접근하여 사용하고 있을 경우, 다른 포트에 할당되는 READY 신호를 '0'으로 셋팅하며, 이때 해당 포트의 호스트는 접근은 가능하며 처리는 상기 제어부(140)가 전송하는 READY 신호가 '1'이 되는 경우에 가능하게 된다.As such, when one host accesses and uses a shared bank, the present invention sets a READY signal allocated to another port to '0', where the host of the corresponding port is accessible and processing is performed by the control unit. This is possible when the READY signal transmitted by 140 is '1'.
도 3은 상기 도 2에서 포트가 수신하는 제어 신호를 설명하기 위한 일실시예 흐름도로서, 하나의 호스트가 상기 공유 뱅크(130)에 접근하여 사용하고 있는 경우에 다른 호스트가 접근할 때, 각 포트에 전송되는 듀얼 포트 메모리의 주제어부(도시되지 않음)의 명령에 따른 상기 제어부(140)의 READY 신호의 상태를 설명하기 위한 것이다. FIG. 3 is a flowchart illustrating an example of a control signal received by a port in FIG. 2. When one host accesses and uses the shared
이때, 앞서 설명한 바와 같이, READY[0] 및 READY[1] 신호는 각각 A 포트 및 B 포트에 인가되는 신호이다.In this case, as described above, the READY [0] and READY [1] signals are applied to the A port and the B port, respectively.
도면에 도시된 바와 같이, 본 발명의 임의의 포트에 듀얼 포트 메모리의 상기 주제어부로부터 활성화(ACTIVE) 명령이 전달되면(S300), 이 경우 READY[0]=1 및 READY[1]=1 과 같다(300). As shown in the figure, if an ACTIVE command is transmitted from the main controller of the dual port memory to any port of the present invention (S300), in this case READY [0] = 1 and READY [1] = 1 and Equals (300).
이때, A 포트로의 활성화 명령인 경우에는(S302), 다시 상기 공유 뱅크(130)로의 활성화 명령인지를 확인한다(S304). 이 경우 계속하여 READY[0]=1 및 READY[1]=1 이다(302, 304). 상기 공유 뱅크(130)에 대한 활성화 명령인 경우에는(S304), READY[0]=1 및 READY[1]=0 이다(306). 즉, 이 경우 호스트 A는 상기 공유 뱅크(130)에 대하여 데이터의 처리가 가능하며, 호스트 B는 상기 공유 뱅트(130)에 대하여 접근만이 가능하다.At this time, in the case of the activation command to the A port (S302), it is checked whether the activation command to the shared
이후, A 포트의 호스트 A가 상기 공유 뱅크(130)에 대한 처리를 완료하여, 상기 주제어부로부터 준비충전(PRECHARGE) 명령을 수신한 경우에는(S306), 상기 제어부(140)는 다시 READY[0]=1 및 READY[1]=1을 각 포트에 전송할 수 있다(308). 만약, 상기 S304 단계에서 상기 공유 뱅크(130)에 대한 활성화 명령이 아닌 경우에는, A 포트에 할당된 뱅크에 대하여 데이터의 처리를 수행할 수 있으며, 이때, READY[0]=1 및 READY[1]=1 일 것이다(308).Thereafter, when the host A of the port A completes the processing of the shared
한편, 상기 S302 단계에서, A 포트로의 활성화 명령이 아닌 경우, 즉 B 포트로의 활성화 명령인 경우에는, 다시 상기 공유 뱅크(130)로의 활성화 명령인지를 확인한다(S310). 이 경우 계속하여 READY[0]=1 및 READY[1]=1 이다(302, 310). 상기 공유 뱅크(130)에 대한 활성화 명령인 경우에는(S310), READY[0]=0 및 READY[1]=1 이다(312). 즉, 이 경우 호스트 A는 상기 공유 뱅크(130)에 대하여 접근만이 가능하며, 호스트 B는 상기 공유 뱅트(130)에 대하여 데이터의 처리가 가능하.On the other hand, in step S302, if it is not the activation command to the port A, that is, the activation command to the port B, it is checked whether the activation command to the shared
이후, B 포트의 호스트 B가 상기 공유 뱅크(130)에 대한 데이터 처리를 완료하여, 상기 주제어부로부터 준비충전 명령을 수신한 경우에는(S314), 상기 제어부(140)는 다시 READY[0]=1 및 READY[1]=1을 각 포트에 전송할 수 있다(314). 만약, 상기 S310 단계에서 상기 공유 뱅크(130)에 대한 활성화 명령이 아닌 경우에는, B 포트에 할당된 뱅크에 대하여 데이터의 처리를 수행할 수 있으며, 이때, READY[0]=1 및 READY[1]=1 일 것이다(314).Thereafter, when the host B of the B port completes the data processing for the shared
도 4는 본 발명에 따른 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법을 설명하기 위한 제2실시예 흐름도로서, 두 개의 호스트가 각각 동시에 상기 공유 뱅크(130)에 접근하는 경우를 나타낸 것이다.FIG. 4 is a flowchart illustrating a method for controlling access to a shared bank of a dual port memory according to an embodiment of the present invention, and illustrates a case where two hosts access the shared
본 발명에 따라, 두 개의 호스트가 상기 공유 뱅크(130)에 접근하려고 하는 경우에(S400), 상기 제어부(140)는 양 프로세스의 우선권을 판단하는 것이 바람직하다(S402). According to the present invention, when two hosts try to access the shared bank 130 (S400), the
일반적으로, DRAM의 경우에는 우선권은 좀 더 빠른 종작을 하는 호스트에 할당되는 것으로, 대체로 A 포트에 대한 우선권이 높지만, 본 발명에서는 이에 대한 상세한 설명은 생략하기로 하고, 우선권의 판단을 수행하는 것으로 한다.In general, in the case of DRAM, priority is assigned to a host that performs a faster termination, and in general, the priority for port A is high, but the detailed description thereof will be omitted in the present invention, and the determination of priority is performed. do.
즉, 상기 제어부(140)는 우선권이 높은 프로세스를 선정하여(S404), 만약 A 프로세스의 우선권이 높은 경우에는, 각 포트에 READY[0]=1 및 READY[1]=0을 전달한다(S406). 이로써, A 호스트는 상기 공유 뱅크(130)에 접근하여 저장된 데이터에 대한 읽기/쓰기 등의 처리가 가능하게 되며, B 호스트는 상기 공유 뱅크(130)에 접근하여 데이터 처리를 위하여 대기할 수 있다(S408).That is, the
이후, A 호스트가 상기 공유 뱅크(130)에 저장된 데이터에 대하여 읽기/쓰기 등의 처리가 완료된 경우에(S410), 각 포트에 READY[0]=0 및 READY[1]=1을 전달한다(S412). 이로써, B 호스트는 데이터의 읽기/쓰기 등의 처리가 가능하다(S414).Thereafter, when host A completes the process of reading / writing the data stored in the shared bank 130 (S410), READY [0] = 0 and READY [1] = 1 are transmitted to each port (S410). S412). As a result, the host B can perform processing such as reading / writing of data (S414).
만약, 상기 S404 단계에서 B 프로세스의 우선권이 높은 경우에는, 상기 2406 단계 내지 S414 단계를 A 호스트 및 B 호스트가 순서를 바꿔 수행할 수 있다(S416 단계 내지 S424)If the priority of the B process is high in step S404, host A and host B may perform steps 2406 to S414 in a reverse order (steps S416 to S424).
만약, 상기 S404 단계에서 양 프로세스의 우선권이 동일한 경우에는, 임의로 프로세스를 선정하여(S426), 선정한 프로세스가 A 프로세스인 경우에는(S428), 상기 S406 단계 내지 상기 S414 단계를 수행하며, 상기 S426 단계에서 선정한 프로세스가 B 프로세스인 경우에는(S428), 상기 S416 단계 내지 S424 단계를 수행하는 것이 바람직하다.If the priority of both processes is the same in step S404, a process is arbitrarily selected (S426), and if the selected process is an A process (S428), steps S406 through S414 are performed, and step S426 is performed. If the process selected in step B is a process (S428), it is preferable to perform the steps S416 to S424.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes can be made in the art without departing from the technical spirit of the present invention. It will be clear to those of ordinary knowledge.
상기한 바와 같은 본 발명은, 두 개의 출력 신호(READY[0] 및 READY[1])을 추가하여 이 출력 신호가 '0'의 값을 출력하면 공유 뱅크에 접근은 가능하되, 그 신호가 '1'이 될 때에 데이터 처리가 가능하도록 함으로써, 두 개의 호스트가 동시에 공유 뱅크에 접근하고자 하는 경우, 또는 한 개의 포트가 이미 접근하여 사용하고 있을 때 다른 호스트가 접근하고자 하는 경우에, 이에 대한 중재를 효율적으로 수행할 수 있도록 하는 효과가 있다.In the present invention as described above, if two output signals READY [0] and READY [1] are added and this output signal outputs a value of '0', access to the shared bank is possible, but the signal is' By enabling data processing at 1 ', arbitration can be achieved when two hosts want to access a shared bank at the same time, or when another host wants to access one port already in use. There is an effect that can be performed efficiently.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050089452A KR100686304B1 (en) | 2005-09-26 | 2005-09-26 | Method for controlling access to public bank of dual port memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050089452A KR100686304B1 (en) | 2005-09-26 | 2005-09-26 | Method for controlling access to public bank of dual port memory |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100686304B1 true KR100686304B1 (en) | 2007-02-22 |
Family
ID=38104455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050089452A KR100686304B1 (en) | 2005-09-26 | 2005-09-26 | Method for controlling access to public bank of dual port memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100686304B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100850277B1 (en) | 2006-11-15 | 2008-08-04 | 삼성전자주식회사 | Bank addresses assign method for use in multi-path accessible semiconductor memory device |
US7870326B2 (en) | 2006-07-28 | 2011-01-11 | Samsung Electronics Co., Ltd. | Multiprocessor system and method thereof |
KR101639946B1 (en) * | 2015-04-13 | 2016-07-14 | 엘에스산전 주식회사 | Method of controlling access of dual port memory system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05151142A (en) * | 1991-11-28 | 1993-06-18 | Nec Corp | Interface circuit |
KR950009763B1 (en) * | 1992-07-03 | 1995-08-28 | 현대전자산업주식회사 | A method of data transmission and synchronization between two cpu's |
KR950012509B1 (en) * | 1993-12-27 | 1995-10-18 | 재단법인한국전자통신연구소 | Communication circuit between master and slave processors |
KR20060090083A (en) * | 2005-02-07 | 2006-08-10 | 삼성전자주식회사 | Dual port memory device |
-
2005
- 2005-09-26 KR KR1020050089452A patent/KR100686304B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05151142A (en) * | 1991-11-28 | 1993-06-18 | Nec Corp | Interface circuit |
KR950009763B1 (en) * | 1992-07-03 | 1995-08-28 | 현대전자산업주식회사 | A method of data transmission and synchronization between two cpu's |
KR950012509B1 (en) * | 1993-12-27 | 1995-10-18 | 재단법인한국전자통신연구소 | Communication circuit between master and slave processors |
KR20060090083A (en) * | 2005-02-07 | 2006-08-10 | 삼성전자주식회사 | Dual port memory device |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870326B2 (en) | 2006-07-28 | 2011-01-11 | Samsung Electronics Co., Ltd. | Multiprocessor system and method thereof |
KR100850277B1 (en) | 2006-11-15 | 2008-08-04 | 삼성전자주식회사 | Bank addresses assign method for use in multi-path accessible semiconductor memory device |
KR101639946B1 (en) * | 2015-04-13 | 2016-07-14 | 엘에스산전 주식회사 | Method of controlling access of dual port memory system |
US9766821B2 (en) | 2015-04-13 | 2017-09-19 | Lsis Co., Ltd. | Access controlling method of dual port memory system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7783827B2 (en) | Data processor having a memory controller with cache memory | |
US20080126643A1 (en) | Semiconductor circuit | |
US8209497B2 (en) | Multi-port memory and system using the same | |
KR100585116B1 (en) | Arbiter improving access efficiency of the multi-bank memory device, memory access arbitration system having the same and method thereof | |
JP2001523361A (en) | Method and apparatus for simultaneously accessing a shared memory from multiple agents | |
JPWO2006030650A1 (en) | Information processing apparatus that shares resources among multiple processing units | |
US8006026B2 (en) | Multi-port memory and computer system provided with the same | |
US5822768A (en) | Dual ported memory for a unified memory architecture | |
JP2011081553A (en) | Information processing system and control method thereof | |
KR100686304B1 (en) | Method for controlling access to public bank of dual port memory | |
JP4560498B2 (en) | Arbitration scheme for shared memory devices | |
US8261023B2 (en) | Data processor | |
EP1313019A1 (en) | Arbitration apparatus | |
US20050177674A1 (en) | Configurable embedded processor | |
US5748203A (en) | Computer system architecture that incorporates display memory into system memory | |
US11360897B1 (en) | Adaptive memory access management | |
KR100874169B1 (en) | Dual port memory for direct transfer of commands between processors and method for performing them | |
KR100886179B1 (en) | Method for Handling Access Right Acquisition in Dual Port Memory and Apparatus therefore | |
US7200706B2 (en) | Semiconductor integrated circuit | |
US20040034748A1 (en) | Memory device containing arbiter performing arbitration for bus access right | |
KR100441996B1 (en) | Direct Memory Access(DMA) Controller and control method | |
US20080228961A1 (en) | System including virtual dma and driving method thereof | |
EP1156421A2 (en) | CPU system with high-speed peripheral LSI circuit | |
EP0284094B1 (en) | Tandem priority resolver | |
KR100210404B1 (en) | An apparatus for controlling access of memory in dual bus system |
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: 20130221 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140203 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150129 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20180129 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20200128 Year of fee payment: 14 |