KR100827720B1 - Dual Port Memory having Access Control Device, Memory System Having the Same and Access Control Method for Dual Port Memory - Google Patents

Dual Port Memory having Access Control Device, Memory System Having the Same and Access Control Method for Dual Port Memory Download PDF

Info

Publication number
KR100827720B1
KR100827720B1 KR1020060100400A KR20060100400A KR100827720B1 KR 100827720 B1 KR100827720 B1 KR 100827720B1 KR 1020060100400 A KR1020060100400 A KR 1020060100400A KR 20060100400 A KR20060100400 A KR 20060100400A KR 100827720 B1 KR100827720 B1 KR 100827720B1
Authority
KR
South Korea
Prior art keywords
access
processor
signal
shared memory
memory area
Prior art date
Application number
KR1020060100400A
Other languages
Korean (ko)
Other versions
KR20080034313A (en
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 KR1020060100400A priority Critical patent/KR100827720B1/en
Publication of KR20080034313A publication Critical patent/KR20080034313A/en
Application granted granted Critical
Publication of KR100827720B1 publication Critical patent/KR100827720B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)

Abstract

공유 메모리 영역의 액세스 속도를 향상시킬 수 있는 접근제어 장치를 가지는 듀얼 포트 메모리 및 듀얼 포트 메모리의 접근 제어 방법이 개시된다. 메모리 어레이는 제1 및 제2 프로세서가 액세스하는 적어도 하나의 공유 메모리 영역을 가진다. 제1 메모리 인터페이스는 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하고, 제2 메모리 인터페이스는 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행한다. 그리고, 접근 제어 장치는 적어도 하나의 공유 메모리 영역 각각에 대한 제1 프로세서 및 제2 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하고 저장된 액세스 상태에 기초하여 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고 제1 및 제2 프로세서에게 저장된 액세스 상태를 제공한다. 따라서, 듀얼 포트 메모리의 공유 메모리 영역에 대한 복수의 프로세서의 액세스 속도를 향상시킬 수 있다.Disclosed are a dual port memory and an access control method of a dual port memory having an access control device capable of improving an access speed of a shared memory area. The memory array has at least one shared memory area accessed by the first and second processors. The first memory interface performs a read or write operation on at least one shared memory area based on an address and a control signal provided from the first processor, and the second memory interface uses at least one address based on an address and a control signal provided from the second processor. Read or write to one shared memory area. The access control device stores the access state of each of the first processor and the second processor for each of the at least one shared memory area for each processor, and provides access permission signals to the first and second processors based on the stored access state. Provide the stored access state to the first and second processors. Thus, the access speed of a plurality of processors to the shared memory area of the dual port memory can be improved.

Description

접근 제어 장치를 가지는 듀얼 포트 메모리, 듀얼 포트 메모리를 가지는 메모리 시스템 및 듀얼 포트 메모리의 접근 제어 방법{Dual Port Memory having Access Control Device, Memory System Having the Same and Access Control Method for Dual Port Memory}Dual Port Memory Having Access Control Device, Memory System Having the Same and Access Control Method for Dual Port Memory}

도 1은 두 개의 프로세서들에 의해 액세스되는 종래의 듀얼 포트 메모리를 나타내는 개념도이다.1 is a conceptual diagram illustrating a conventional dual port memory accessed by two processors.

도 2는 본 발명의 일실시예에 따른 접근 제어 장치를 가지는 듀얼 포트 메모리의 구성을 나타내는 블록도이다.2 is a block diagram illustrating a configuration of a dual port memory having an access control device according to an embodiment of the present invention.

도 3은 도 2에 도시된 접근 제어 장치의 상세한 구성을 나타내는 블록도이다.3 is a block diagram illustrating a detailed configuration of the access control device shown in FIG. 2.

도 4a 및 4b는 도 3에 도시된 신호변환부의 상세한 구성을 나타내는 블록도 및 신호변환부의 출력을 나타내는 타이밍도이다.4A and 4B are block diagrams showing the detailed configuration of the signal converter shown in FIG. 3 and timing diagrams showing the output of the signal converter.

도 5는 본 발명의 일실시예에 따른 듀얼 포트 메모리의 접근 제어 방법을 나타내는 흐름도이다.5 is a flowchart illustrating a method for controlling access of a dual port memory according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

200 : 메모리 셀 어레이 210 : 제1 메모리 인터페이스200: memory cell array 210: first memory interface

230 : 제2 메모리 인터페이스 300 : 접근 제어 장치230: second memory interface 300: access control device

310 : 세마포 제어부 330 : 인터럽트 제어부310: semaphore control unit 330: interrupt control unit

331 : 액세스 권한 제어부331: access authority control unit

333 : 제1 인터럽트 마스크 레지스터333: first interrupt mask register

335 : 제2 인터럽트 마스크 레지스터335: second interrupt mask register

337 : 제1 인터럽트 상태 레지스터337: first interrupt status register

339 : 제2 인터럽트 상태 레지스터339: second interrupt status register

341 : 제1 인터럽트 제어 레지스터341: first interrupt control register

343 : 제2 인터럽트 제어 레지스터343: second interrupt control register

350 : 신호 변환부350: signal conversion unit

본 발명은 듀얼 포트 메모리 장치에 관한 것으로, 더욱 상세하게는 휴대용 단말기에 적용할 수 있는 접근제어 장치를 가지는 듀얼포트 메모리에 관한 것이다.The present invention relates to a dual port memory device, and more particularly, to a dual port memory having an access control device applicable to a portable terminal.

최근 들어 이동통신 단말 및 PDA(Personal Digital Assistant) 등과 같은 휴대용 단말기는 음성통화와 같은 무선통신 기능 이외에도 디지털 카메라, 화상통신, 멀티미디어 데이터 재생 등과 같은 다양한 부가기능을 포함하고 있다.Recently, portable terminals such as mobile communication terminals and PDAs (Personal Digital Assistants) include various additional functions such as digital cameras, video communication, and multimedia data reproduction in addition to wireless communication functions such as voice calls.

휴대용 단말기는 상기와 같은 무선통신 및 다양한 부가기능을 처리하기 위해 베이스밴드 프로세서(baseband processor), 어플리케이션 프로세서(application processor) 등과 같은 적어도 하나 이상의 프로세서를 구비하고 있다.The portable terminal includes at least one processor such as a baseband processor, an application processor, and the like to process the wireless communication and various additional functions.

그리고 상기와 같이 적어도 하나 이상의 프로세서가 구비된 휴대용 단말기에서는 각각의 프로세서의 데이터 처리 속도 및 메모리의 실장 면적을 줄이기 위해 듀얼 포트 메모리(dual port memory)가 사용된다.In the portable terminal provided with at least one processor as described above, dual port memory is used to reduce the data processing speed of each processor and the mounting area of the memory.

즉, 두 개의 프로세서가 듀얼 포트 메모리를 사용하게 되면 각 프로세서가 자신의 포트를 사용하여 메모리 영역에 접근하여 데이터를 읽고 쓸 수 있기 때문에 두 개의 프로세서가 각각 서로 다른 메모리에 연결되어 호스트 프로세서간 인터페이스(Host Porcessor Interface: HPI)를 통해 처리 데이터를 주고 받는 경우보다 데이터의 전송 및 처리 속도가 더 빠르고 이로 인해 시스템의 전체적인 성능이 향상된다.In other words, when two processors use dual port memory, each processor can access its memory area using its own port to read and write data, so that the two processors are connected to different memory, so that the interface between host processors ( Data transfer and processing is faster than processing data sent and received through the Host Porcessor Interface (HPI), which improves the overall performance of the system.

그러나, 상기와 같이 두 개의 프로세서가 듀얼 포트 메모리를 사용하는 경우 각 프로세서가 자신의 포트를 통해 동시에 동일한 메모리 영역에 액세스하게 되면 충돌이 발생하게 되어 두 개의 프로세서가 모두 메모리에 액세스할 수 없게 되므로 전체적인 시스템의 성능이 떨어지게 된다. However, as described above, when two processors use dual port memory, if each processor accesses the same memory area through its port at the same time, a collision occurs and both processors cannot access the memory. The performance of the system will be reduced.

또한, 두 개의 프로세서 중에서 하나의 프로세서가 메모리 영역에 액세스하여 데이터를 읽거나 쓰고 있는 도중에 다른 프로세서가 동일한 메모리 영역에 액세스하여 데이터를 읽거나 쓰게 되면 메모리 영역에 저장된 데이터가 부정확하게 되어 프로세서의 처리 과정 또는 처리 결과에 오류가 발생할 수 있다. In addition, if one of the two processors accesses the memory area and reads or writes data, and another processor accesses the same memory area to read or write data, the data stored in the memory area becomes inaccurate. Or an error may occur in the processing result.

따라서, 적어도 하나 이상의 프로세서가 듀얼 포트 메모리를 사용하는 경우에는 듀얼 포트 메모리에 대한 각 프로세서 간의 액세스를 제어하는 장치가 필요하다.Accordingly, when at least one processor uses dual port memory, an apparatus for controlling access between the respective processors to the dual port memory is required.

도 1은 두 개의 프로세서들에 의해 액세스되는 종래의 듀얼 포트 메모리를 나타내는 개념도이다.1 is a conceptual diagram illustrating a conventional dual port memory accessed by two processors.

도 1을 참조하면, 종래의 듀얼 포트 메모리(50)는 메모리 영역(10), 제1 메모리 인터페이스(20), 제2 메모리 인터페이스(30) 및 액세스 제어부(40)로 구성된다.Referring to FIG. 1, a conventional dual port memory 50 includes a memory area 10, a first memory interface 20, a second memory interface 30, and an access controller 40.

메모리 영역(10)은 일반적으로 메모리 셀의 집적도가 좋은 DRAM 셀 어레이로 구성된다. 듀얼 포트 메모리(50)는 SDRAM 듀얼 포트 메모리가 될 수 있으며, 이 경우 메모리 영역은 복수의 뱅크(bank)로 구성될 수 있고, 복수의 뱅크 전체 또는 복수의 뱅크 중 일부의 뱅크는 제1 프로세서(60) 및 제2 프로세서(80)에게 공유될 수 있다.The memory region 10 is generally composed of a DRAM cell array having a high degree of integration of memory cells. The dual port memory 50 may be an SDRAM dual port memory. In this case, the memory area may be configured of a plurality of banks, and a bank of all of the plurality of banks or a part of the plurality of banks may be the first processor. 60) and the second processor 80.

제1 메모리 인터페이스(20)는 제1 프로세서(60)로부터 제1 외부 버스 인터페이스(External Bus Interface: EBI)(70)를 통해 어드레스(address), 제어 신호, 클럭 및 데이터를 입력받고, 읽기, 쓰기 및 리프레쉬(refresh) 등의 동작 타이밍에 따라 메모리 영역(10)과 데이터의 입출력을 수행한다. 제1 메모리 인터페이스(20)는 명령 디코더(command decoder), 로우 디코더(row decoder), 컬럼 디코더(column decoder) 및 입출력 버퍼 등을 포함한다.The first memory interface 20 receives, reads, and writes an address, a control signal, a clock, and data from the first processor 60 through a first external bus interface (EBI) 70. And input and output data to and from the memory area 10 in accordance with an operation timing such as refresh. The first memory interface 20 includes a command decoder, a row decoder, a column decoder, an input / output buffer, and the like.

제2 메모리 인터페이스(30)는 제2 프로세서(80)로부터 제2 외부 버스 인터페이스(90)를 통해 어드레스, 제어 신호, 클럭 및 데이터를 입력받고, 읽기, 쓰기 및 리프레쉬 등의 동작 타이밍에 따라 메모리 영역(10)과 데이터의 입출력을 수행한다. 제2 메모리 인터페이스(30)는 명령 디코더, 로우 디코더, 컬럼 디코더 및 입출 력 버퍼 등을 포함한다.The second memory interface 30 receives an address, a control signal, a clock, and data from the second processor 80 through the second external bus interface 90 and according to an operation timing such as reading, writing, and refreshing, the memory area. 10. Input / output of data is performed. The second memory interface 30 includes a command decoder, a row decoder, a column decoder, an input / output buffer, and the like.

액세스 제어부(40)는 액세스 허용 신호(READY)를 통해 제1 프로세서(60) 및 제2 프로세서(80)에게 공유 메모리 영역에 대한 액세스 권한을 알려준다.The access controller 40 informs the first processor 60 and the second processor 80 of the access right to the shared memory area through the access permission signal READY.

예를 들면, 액세스 제어부(40)는 제1 프로세서(60) 및 제2 프로세서(80) 중 어느 하나의 프로세서로부터 소정의 공유 메모리 영역에 대한 액세스 요청을 받고 요청받은 공유 메모리 영역이 다른 프로세서에 의해 액세스되지 않은 경우에는 액세스 허용 신호(READY)를 활성화시킴으로써 해당 영역에 대한 액세스가 가능하도록 한다.For example, the access controller 40 receives an access request for a predetermined shared memory area from one of the first processor 60 and the second processor 80, and the requested shared memory area is received by another processor. If it is not accessed, access to the area is made possible by activating the access permission signal READY.

또한, 액세스 제어부(40)는 제1 프로세서(60) 및 제2 프로세서(80) 중 어느 하나의 프로세서로부터 소정의 공유 메모리 영역에 대한 액세스 요청을 받고 요청받은 공유 메모리 영역이 이미 다른 프로세서에 의해 액세스 되어 사용되고 있는 경우에는 액세스 허용 신호(READY)를 비활성화시킴으로써 해당 공유 영역에 대한 액세스를 차단한다. 그리고, 상기 해당 공유 영역에 액세스한 프로세서가 작업을 종료하면 액세스 허용 신호(READY)를 활성화시킴으로써 액세스 대기 중인 프로세서가 액세스 할 수 있도록 한다.In addition, the access controller 40 receives an access request for a predetermined shared memory area from one of the first processor 60 and the second processor 80, and the requested shared memory area is already accessed by another processor. In case of being used, the access to the shared area is blocked by deactivating the access permission signal READY. When the processor accessing the shared area ends the operation, the access waiting signal READY is activated to allow the processor waiting for access to access the shared area.

도 1에 도시된 바와 같은 종래의 듀얼 포트 메모리(50)에서는 제1 프로세서(60) 및 제2 프로세서(80)에 의해 공유되는 공유 메모리 영역이 복수인 경우, 복수의 공유 메모리 영역에 대한 액세스 상태가 각각 다른 경우에도 액세스 허용 신호(READY)에 의해서만 액세스 상태를 표시하기 때문에 액세스를 요청한 프로세서가 각 공유영역에 대한 액세스 상태를 한번에 알 수 없다는 단점이 있다.In the conventional dual port memory 50 as shown in FIG. 1, when there are a plurality of shared memory areas shared by the first processor 60 and the second processor 80, an access state of the plurality of shared memory areas is provided. Since the access status is indicated only by the access permission signal READY even in the case of different cases, the processor requesting access cannot know the access status for each shared area at once.

예를 들면, 메모리 영역(10)에 4개의 공유 메모리 영역이 있고, 그 중 2개의 메모리 영역을 제1 프로세서(60)가 액세스하여 사용하고 있는 도중에 제2 프로세서(80)가 제1 프로세서(60)가 사용중인 2개의 메모리 영역을 포함하여 3개의 메모리 영역에 대해 액세스 요청을 한 경우, 액세스 제어부(40)는 제1 프로세서(60)가 사용중인 2개의 공유 메모리 영역이 액세스 가능한 상태가 될 때마다 액세스 허용 신호(READY)를 활성화시키고 제2 프로세서(80)는 액세스 허용 신호(READY)가 활성화될 때마다 액세스 제어부(40)를 통해 액세스 상태를 확인하기 때문에 과도한 액세스 확인으로 인하여 제2 프로세서(80)의 처리 속도가 저하된다.For example, there are four shared memory areas in the memory area 10, and the second processor 80 may use the first processor 60 while two memory areas are accessed and used by the first processor 60. ) Requests access to three memory areas, including two memory areas in use, the access control unit 40 determines that two shared memory areas being used by the first processor 60 become accessible. Each time the access permission signal READY is activated and the second processor 80 checks the access status through the access control unit 40 whenever the access permission signal READY is activated. The processing speed of 80) is lowered.

따라서, 본 발명의 제1 목적은 공유 메모리 영역의 액세스 속도를 향상시킬 수 있는 접근제어 장치를 가지는 듀얼 포트 메모리를 제공하는 것이다.Accordingly, a first object of the present invention is to provide a dual port memory having an access control device capable of improving the access speed of the shared memory area.

또한, 본 발명의 제2 목적은 상기 듀얼 포트 메모리를 가지는 메모리 시스템을 제공하는 것이다.It is also a second object of the present invention to provide a memory system having the dual port memory.

또한, 본 발명의 제3 목적은 공유 메모리 영역의 액세스 속도를 향상시킬 수 있는 듀얼 포트 메모리의 접근 제어 방법을 제공하는 것이다.In addition, a third object of the present invention is to provide a method for controlling access of a dual port memory capable of improving an access speed of a shared memory area.

상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 일측면에 따른 접근제어 장치를 가지는 듀얼 포트 메모리는 제1 및 제2 프로세서가 액세스하는 적어도 하나의 공유 메모리 영역을 가지는 메모리 어레이와, 상기 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 적어도 하나의 공유 메모리 영역에 읽 기 또는 쓰기 동작을 수행하는 제1 메모리 인터페이스와, 상기 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제2 메모리 인터페이스 및 상기 적어도 하나의 공유 메모리 영역 각각에 대한 상기 제1 프로세서 및 제2 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하고 상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고, 상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 접근 제어 장치를 포함한다. 상기 접근 제어 장치는 상기 적어도 하나의 공유 메모리 영역에 대해 상기 제1 및 제2 프로세서 중 적어도 하나의 프로세서로부터 상기 제1 및 제2 메모리 인터페이스 중 상기 적어도 하나의 프로세서에 상응하는 메모리 인터페이스를 통해 액세스 요청 신호를 제공 받고 상기 액세스 요청된 공유 메모리 영역의 현재의 액세스 유무에 따라 세마포 신호를 출력하는 세마포 제어부 및 상기 세마포 신호와 마스크 신호를 마스크 연산하여 소정의 공유 메모리 영역에 대한 액세스를 차단하고, 상기 마스크 연산한 결과를 액세스 상태로 저장하고, 상기 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 상기 액세스 허용 신호를 제공하는 인터럽트 제어부를 포함할 수 있다. 상기 세마포 제어부는 상기 요청된 공유 메모리 영역에 상기 제1 및 제2 프로세서 중 어느 프로세서도 액세스를 하지 않으면 액세스가 가능함을 나타내는 세마포 신호를 출력하고, 상기 요청된 공유 메모리 영역에 액세스 중인 프로세서가 존재하면 액세스가 가능하지 않음을 나타내는 세마포 신호를 출력할 수 있다. 상기 인터럽트 제어부는 상기 마스크 신호를 저장하기 위한 마스크 레지스터와, 상기 액세스 상태를 저장하기 위한 상태 레지스터 및 상기 마스크 연산을 수행하고 상기 마스크 연산을 수행한 결과를 액세스 권한 신호로 출력하는 액세스 권한 제어부를 포함할 수 있다. 상기 인터럽트 제어부는 변환 제어 신호를 저장하기 위한 제어 레지스터를 더 포함할 수 있다. 상기 인터럽트 제어부는 상기 변환 제어 신호에 상응하여 상기 액세스 권한 신호를 변환하여 상기 액세스 허용 신호로 출력하는 신호 변환부를 더 포함할 수 있다. 상기 접근 제어 장치는 상기 적어도 하나의 공유 메모리 영역에 대해 상기 제1 및 제2 프로세서 중 적어도 하나의 프로세서로부터 상기 제1 및 제2 메모리 인터페이스 중 상기 적어도 하나의 프로세서에 상응하는 메모리 인터페이스를 통해 액세스 요청 신호를 제공받고 상기 액세스 요청된 공유 메모리 영역의 현재의 액세스 유무에 따라 세마포 신호를 출력하는 세마포 제어부 및 상기 세마포 제어부로부터 제공된 세마포 신호를 상기 제1 프로세서 및 제2 프로세서의 각각의 액세스 상태로 저장하고 상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고, 상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 인터럽트 제어부를 포함할 수 있다. 상기 메모리 어레이는 DRAM 셀 구조를 가질 수 있다. 상기 듀얼 포트 메모리는 SDRAM 듀얼 포트 메모리가 될 수 있다.A dual port memory having an access control device according to an aspect of the present invention for achieving the first object of the present invention described above comprises a memory array having at least one shared memory area accessed by the first and second processors, and A first memory interface configured to perform a read or write operation on the at least one shared memory area based on an address and a control signal provided from a first processor, and the at least one based on an address and a control signal provided from the second processor A second memory interface for performing a read or write operation in a shared memory area of the processor and an access state of each of the first processor and the second processor for each of the at least one shared memory area, for each processor, and store the access state in the stored access state Based on the first and second processors Provide access permission signal, and a control access device that provides access to the stored state to the first and second processors. The access control device requests access to the at least one shared memory area from at least one of the first and second processors through a memory interface corresponding to the at least one processor of the first and second memory interfaces. A semaphore control unit which receives a signal and outputs a semaphore signal according to whether the shared memory area is currently accessed, and masks the semaphore signal and a mask signal to block access to a predetermined shared memory area, and the mask And an interrupt controller configured to store the result of the operation in an access state and provide the access permission signal to the first and second processors based on the access state. The semaphore control unit outputs a semaphore signal indicating that access is possible if none of the first and second processors have access to the requested shared memory area, and if there is a processor that is accessing the requested shared memory area. A semaphore signal may be output indicating that access is not possible. The interrupt controller includes a mask register for storing the mask signal, a status register for storing the access state, and an access authority controller for performing the mask operation and outputting a result of performing the mask operation as an access right signal. can do. The interrupt controller may further include a control register for storing the conversion control signal. The interrupt controller may further include a signal converter configured to convert the access right signal according to the conversion control signal and output the converted access permission signal as the access permission signal. The access control device requests access to the at least one shared memory area from at least one of the first and second processors through a memory interface corresponding to the at least one processor of the first and second memory interfaces. A semaphore control unit for receiving a signal and outputting a semaphore signal according to whether there is a current access of the shared memory area requested for access, and storing the semaphore signal provided from the semaphore control unit as the respective access states of the first processor and the second processor; And an interrupt controller configured to provide an access permission signal to the first and second processors based on the stored access state, and to provide the stored access state to the first and second processors. The memory array may have a DRAM cell structure. The dual port memory may be an SDRAM dual port memory.

상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 다른 측면에 따른 접근제어 장치를 가지는 듀얼 포트 메모리는 제1 및 제2 프로세서가 공동으로 액세스 하는 제1 공유 메모리 및 제2 공유 메모리 영역을 포함하는 메모리 어레이와, 상기 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 제1 및 제2 공 유 메모리 영역 중 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제1 메모리 인터페이스와, 상기 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 제1 및 제2 공유 메모리 영역 중 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제2 메모리 인터페이스 및 상기 제1 및 제2 공유 메모리 영역에 대한 상기 제1 프로세서의 액세스 상태 및 상기 제2 프로세서의 액세스 상태를 각각 저장하고 상기 제1 프로세서 및 제2 프로세서의 요청시 상기 저장된 액세스 상태를 제공하는 접근 제어 장치를 포함한다.A dual port memory having an access control device according to another aspect of the present invention for achieving the first object of the present invention described above is a first shared memory and a second shared memory region that are jointly accessed by the first and second processors. A first memory interface configured to perform a read or write operation on at least one shared memory area of the first and second shared memory areas based on an address and a control signal provided from the first processor; A second memory interface and a first and second shared memory configured to perform a read or write operation on at least one shared memory area of the first and second shared memory areas based on an address and a control signal provided from the second processor; The access state of the first processor and the access state of the second processor to an area, respectively. Store and includes an access control device for providing access to the stored state upon request of the first processor and the second processor.

상술한 본 발명의 제2 목적을 달성하기 위한 본 발명의 일측면에 따른 듀얼 포트 메모리를 가지는 메모리 시스템은 제1 프로세서와, 제2 프로세서 및 상기 제1 및 제2 프로세서가 공동으로 액세스하는 적어도 하나의 공유 메모리 영역을 가지는 메모리 어레이와, 상기 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 두 개 이상의 메모리 영역 중 적어도 하나의 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제1 메모리 인터페이스와, 상기 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 두 개 이상의 메모리 영역 중 적어도 하나의 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제2 메모리 인터페이스 및 상기 적어도 하나의 공유 메모리 영역 각각에 대한 상기 제1 프로세서 및 제2 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하고 상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고, 상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 접근 제어 장치를 가지는 듀얼 포트 메모리를 포함한다. 상기 제1 프로세서는 베이스 밴드 프로세서이고, 상 기 제2 프로세서는 응용프로그램을 수행하는 프로세서가 될 수 있다. According to an aspect of the present invention, there is provided a memory system having a dual port memory, including: a first processor, a second processor, and at least one of which the first and second processors collectively access; A memory array having a shared memory area of the first memory interface, a first memory interface configured to perform a read or write operation on at least one of the two or more memory areas based on an address and a control signal provided from the first processor; A second memory interface for performing a read or write operation on at least one of the two or more memory areas based on an address and a control signal provided from a second processor, and the first for each of the at least one shared memory area Access status of each processor and the second processor. A dual port memory having an access control device storing for each processor and providing an access permission signal to the first and second processors based on the stored access state and providing the stored access state to the first and second processors It includes. The first processor may be a baseband processor, and the second processor may be a processor that executes an application program.

상술한 본 발명의 제3 목적을 달성하기 위한 본 발명의 일측면에 따른 듀얼 포트 메모리의 접근 제어 방법은 적어도 하나의 공유 메모리 영역에 대한 복수의 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하는 단계와, 상기 저장된 액세스 상태에 기초하여 상기 복수의 프로세서에 대한 액세스 허용 신호를 제공하는 단계 및 상기 복수의 프로세서에게 상기 저장된 액세스 상태를 제공하는 단계를 포함한다. 상기 복수의 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하는 단계는 상기 적어도 하나의 공유 메모리 영역에 대한 액세스 요청이 발생되면 상기 적어도 하나의 공유 메모리 영역의 액세스 상태에 따라 세마포 신호를 출력하는 단계와, 상기 세마포 신호와 마스크 신호의 마스크 연산을 수행하는 단계 및 상기 마스크 연산을 수행한 결과를 액세스 상태로서 저장하는 단계를 포함할 수 있다. 상기 세마포 신호를 출력하는 단계는 상기 액세스가 요청된 공유 메모리 영역에 복수의 프로세서 중 어느 프로세서도 액세스를 하지 않으면 액세스가 가능함을 나타내는 세마포 신호를 출력하고, 상기 요청된 공유 메모리 영역에 액세스 중인 프로세서가 존재하면 액세스가 가능하지 않음을 나타내는 세마포 신호를 출력할 수 있다. 상기 마스크 신호는 소정의 공유 메모리 영역에 대한 액세스를 차단하기 위한 신호일 수 있다. 상기 액세스 허용 신호를 제공하는 단계는 상기 마스크 연산을 수행한 결과에 기초하여 액세스 권한 신호를 출력하는 단계 및 기저장된 변환 제어 신호에 상응하여 상기 액세스 권한 신호를 변환하여 액세스 허용 신호를 출력하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided a method for controlling access of a dual port memory, including: storing access states of a plurality of processors for at least one shared memory area for each processor; Providing an access grant signal to the plurality of processors based on the stored access state and providing the stored access state to the plurality of processors. The storing of the access state of each of the plurality of processors for each processor may include: outputting a semaphore signal according to an access state of the at least one shared memory area when an access request for the at least one shared memory area is generated; Performing a mask operation on the semaphore signal and the mask signal, and storing the result of the mask operation as an access state. The outputting of the semaphore signal may include outputting a semaphore signal indicating that access is possible to a shared memory region in which the access is requested unless any one of a plurality of processors accesses the shared memory region. If present, a semaphore signal may be output indicating that access is not possible. The mask signal may be a signal for blocking access to a predetermined shared memory area. The providing of the access permission signal may include outputting an access right signal based on a result of performing the mask operation and converting the access right signal according to a pre-stored conversion control signal to output an access permission signal. It may include.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것 으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.In describing the drawings, similar reference numerals are used for similar components.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. Hereinafter, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.

도 2는 본 발명의 일실시예에 따른 접근 제어 장치를 가지는 듀얼 포트 메모리의 구성을 나타내는 블록도이다.2 is a block diagram illustrating a configuration of a dual port memory having an access control device according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일실시에에 따른 듀얼 포트 메모리(400)는 메모리 셀 어레이(200), 제1 메모리 인터페이스(210), 제2 메모리 인터페이스(230) 및 접근 제어 장치(300)를 포함한다. 2, a dual port memory 400 according to an embodiment of the present invention may include a memory cell array 200, a first memory interface 210, a second memory interface 230, and an access control device 300. It includes.

듀얼 포트 메모리(400)는 제1 포트(110)를 통해 제1 외부 버스 인터페이스(External Bus Interface: EBI)(70)를 가지는 제1 프로세서(60)와 연결되고, 제2 포트(130)를 통해 제2 외부 버스 인터페이스(90)를 가지는 제2 프로세서(80)와 연결된다. The dual port memory 400 is connected to the first processor 60 having the first external bus interface (EBI) 70 through the first port 110 and through the second port 130. A second processor 80 having a second external bus interface 90 is connected.

제1 프로세서(60)는 핸드폰과 같은 휴대용 단말기에 사용되는 베이스 밴드 프로세서가 될 수 있고, 제2 프로세서(80)는 각각 휴대용 단말기에서 사용되는 비디오 프로세서, 멀티미디어 프로세서 등과 같은 응용프로그램을 수행하기 위한 프로세서가 될 수 있다.The first processor 60 may be a baseband processor used in a portable terminal such as a mobile phone, and the second processor 80 may each be a processor for executing an application program such as a video processor or a multimedia processor used in the portable terminal. Can be

제1 프로세서(60)는 듀얼 포트 메모리(400)의 제1 포트(110)를 통하여 어드레스(ADD1), 복수의 제어신호들(CTR1) 및 클럭(CLK1)을 듀얼 포트 메모리(400)에 제공하고, 듀얼 포트 메모리는 제1 포트(110) 및 제1 외부 버스 인터페이스(70)를 사용하여 제1 프로세서(60)와 데이터(DQ1)의 입출력을 수행한다.The first processor 60 provides the address ADD1, the plurality of control signals CTR1 and the clock CLK1 to the dual port memory 400 through the first port 110 of the dual port memory 400. The dual port memory performs input / output of the first processor 60 and the data DQ1 using the first port 110 and the first external bus interface 70.

또한, 제2 프로세서(80)는 듀얼 포트 메모리(400)의 제2 포트(130)를 통하여 어드레스(ADD2), 복수의 제어신호들(CTR2) 및 클럭(CLK2)을 듀얼 포트 메모리(400)에 제공하고, 듀얼 포트 메모리(400)는 제2 포트(130) 및 제2 외부 버스 인터페이스(90)를 사용하여 제2 프로세서(80)와 데이터(DQ2)의 입출력을 수행한다.In addition, the second processor 80 transmits the address ADD2, the plurality of control signals CTR2, and the clock CLK2 to the dual port memory 400 through the second port 130 of the dual port memory 400. The dual port memory 400 performs input / output of the second processor 80 and the data DQ2 using the second port 130 and the second external bus interface 90.

제1 외부 버스 인터페이스(70) 및 제2 외부 버스 인터페이스(90)는 일종의 메모리 컨트롤러(memory controller) 역할을 수행하며 SDRAM(Synchronous DRAM) 또는 PSRAM(Pseudo SRAM)의 외부 버스 인터페이스가 사용될 수 있다. 이하 본 발명의 일실시예에서는 제1 외부 버스 인터페이스(70) 및 제2 외부 버스 인터페이스(90)는 SDRAM 외부 버스 인터페이스인 것으로 가정한다.The first external bus interface 70 and the second external bus interface 90 may serve as a kind of memory controller, and an external bus interface of a synchronous DRAM (SDRAM) or a pseudo SRAM (PSRAM) may be used. Hereinafter, in an embodiment of the present invention, it is assumed that the first external bus interface 70 and the second external bus interface 90 are SDRAM external bus interfaces.

메모리 셀 어레이(200)는 DRAM의 단위 메모리 셀 구조를 가지고 복수의 공유 메모리 영역(240 내지 270)을 포함한다. 복수의 공유 메모리 영역(240 내지 270) 각각은 소정 크기의 뱅크(Bank) 단위로 형성될 수 있다. 또한, 하나의 뱅크내에서 소정 크기를 갖는 블록(block) 단위로 복수의 공유 메모리 영역(240 내지 270)이 구성될 수도 있다. 또한, 메모리 셀 어레이(200)는 제1 프로세서(60) 및 제2 프로세서(80)가 각각 독립적으로 액세스할 수 있는 복수의 전유 메모리 영역(미도시)을 포함할 수도 있다.The memory cell array 200 has a unit memory cell structure of a DRAM and includes a plurality of shared memory regions 240 to 270. Each of the plurality of shared memory regions 240 to 270 may be formed in a bank unit of a predetermined size. In addition, the plurality of shared memory areas 240 to 270 may be configured in block units having a predetermined size in one bank. In addition, the memory cell array 200 may include a plurality of exclusive memory areas (not shown) that the first processor 60 and the second processor 80 may each independently access.

제1 메모리 인터페이스(210)는 SDRAM 메모리 인터페이스로 구성되고, 제1 포트(110)를 통하여 제1 프로세서(60)로부터 어드레스(ADD1), 제어신호(CTR1), 클럭(CLK1) 및 데이터(DQ1)를 입력받고 어드레스(ADD1)를 로우 어드레스와 컬럼 어드레스로 디코딩한 후 디코딩된 어드레스(I_AD1)를 메모리 셀 어레이(200)로 출력하고 메모리 셀 어레이(200)의 읽기, 쓰기 및 리프레쉬 등의 동작 타이밍에 따라 데이터(I_DQ1)를 메모리 셀 어레이(200)로부터 독출하거나 메모리 셀 어레이(200)에 기록한다.The first memory interface 210 is configured as an SDRAM memory interface, and has an address ADD1, a control signal CTR1, a clock CLK1, and data DQ1 from the first processor 60 through the first port 110. , Decodes the address ADD1 into a row address and a column address, outputs the decoded address I_AD1 to the memory cell array 200, and reads, writes, and refreshes an operation timing of the memory cell array 200. Accordingly, the data I_DQ1 is read from the memory cell array 200 or written to the memory cell array 200.

이를 위해 제1 메모리 인터페이스(210)는 일반적인 SDRAM 인터페이스에서 사용되는 명령 디코더(Command decoder)(미도시), 로우 디코더(Row decoder) (미도시), 컬럼 디코더(Column decoder) (미도시) 및 입출력 버퍼(미도시) 등을 포함할 수 있다.To this end, the first memory interface 210 may include a command decoder (not shown), a row decoder (not shown), a column decoder (not shown), and input / output used in a general SDRAM interface. And a buffer (not shown).

제2 메모리 인터페이스(230)는 SDRAM 메모리 인터페이스로 구성되고, 제2 포트(130)를 통하여 제2 프로세서(80)로부터 어드레스(ADD2), 제어신호(CTR2), 클럭(CLK2) 및 데이터(DQ2)를 입력받고 어드레스(ADD2)를 로우 어드레스와 컬럼 어드레스로 디코딩한 후 디코딩된 어드레스(I_AD2)를 메모리 셀 어레이(200)로 출력하고 메모리 셀 어레이(200)의 읽기, 쓰기 및 리프레쉬 등의 동작 타이밍에 따라 데이터(I_DQ2)를 메모리 셀 어레이(200)로부터 독출하거나 메모리 셀 어레이(200)에 기록한다.The second memory interface 230 is configured as an SDRAM memory interface, and includes an address ADD2, a control signal CTR2, a clock CLK2, and data DQ2 from the second processor 80 through the second port 130. , Decodes the address ADD2 into a row address and a column address, and outputs the decoded address I_AD2 to the memory cell array 200 and at operation timing of reading, writing, and refreshing the memory cell array 200. Accordingly, the data I_DQ2 is read from the memory cell array 200 or written to the memory cell array 200.

이를 위해 제2 메모리 인터페이스(230)는 일반적인 SDRAM 인터페이스에서 사용되는 명령 디코더(미도시), 로우 디코더(미도시), 컬럼 디코더(미도시) 및 입출력 버퍼(미도시) 등을 포함할 수 있다.To this end, the second memory interface 230 may include a command decoder (not shown), a row decoder (not shown), a column decoder (not shown), an input / output buffer (not shown) used in a general SDRAM interface, and the like.

접근 제어 장치(300)는 복수의 공유 메모리 영역(240 내지 270)에 대한 제1 프로세서(60) 및 제2 프로세서(80)의 액세스 허용 신호(READY1 및 READY2)를 출력한다.The access control apparatus 300 outputs the access permission signals READY1 and READY2 of the first processor 60 and the second processor 80 with respect to the plurality of shared memory areas 240 to 270.

또한, 접근 제어 장치(300)는 사용자의 설정에 기초하여 액세스 권한을 표시하는 액세스 허용 신호(READY1 및 READY2)의 출력 형식을 변환하고, 소정의 공유 메모리 영역에 대해 마스크를 설정함으로써 마스크가 설정된 소정의 공유 메모리 영역에 대한 제1 프로세서(60) 및 제2 프로세서(80)의 액세스를 차단한다.In addition, the access control apparatus 300 converts the output format of the access permission signals READY1 and READY2 indicating the access authority based on the setting of the user, and sets the mask by setting the mask for the predetermined shared memory area. Blocks access of the first processor 60 and the second processor 80 to the shared memory region of.

도 3은 도 2에 도시된 접근 제어 장치의 상세한 구성을 나타내는 블록도이다.3 is a block diagram illustrating a detailed configuration of the access control device shown in FIG. 2.

도 3을 참조하면, 접근 제어 장치(300)는 크게 세마포 제어부(310) 및 인터럽트 제어부(330)를 포함한다.Referring to FIG. 3, the access control device 300 largely includes a semaphore control unit 310 and an interrupt control unit 330.

세마포 제어부(310)는 제1 프로세서(60) 및 제2 프로세서(80) 중 어느 하나의 프로세서로부터 소정의 공유 메모리 영역에 대한 액세스 요청 신호(REQ1, REQ2)를 입력받고 액세스가 요청된 공유 메모리 영역에 대한 현재의 액세스 여부에 따라 세마포 신호(SMP)를 출력한다.The semaphore control unit 310 receives the access request signals REQ1 and REQ2 for a predetermined shared memory area from one of the first processor 60 and the second processor 80, and the access is requested to the shared memory area. Outputs a semaphore signal (SMP) in accordance with the current access to.

여기서, 제1 프로세서(60)는 제1 메모리 인터페이스(210)를 통해 액세스 요 청 신호(REQ1)를 전송하고, 제2 프로세서(80)는 제2 메모리 인터페이스(230)를 통해 액세스 요청 신호(REQ2)를 전송한다.Here, the first processor 60 transmits the access request signal REQ1 through the first memory interface 210, and the second processor 80 transmits the access request signal REQ2 through the second memory interface 230. ).

액세스 요청 신호(REQ1, REQ2)는 논리값 '0' 또는 '1'을 가질 수 있으며, 제1 프로세서(60) 및 제2 프로세서(80)가 소정의 공유 메모리 영역에 대해 액세스 요청을 하는 경우에는 액세스 요청 신호는 논리값 '0'이 될 수 있고, 제1 프로세서(60) 및 제2 프로세서(80)가 소정의 공유 메모리 영역에서 작업을 마친 경우에는 액세스 요청 신호는 논리값 '1'이 될 수 있다.The access request signals REQ1 and REQ2 may have a logic value of '0' or '1', and when the first processor 60 and the second processor 80 make an access request for a predetermined shared memory area. The access request signal may be a logic value of '0', and when the first processor 60 and the second processor 80 finish working in a predetermined shared memory area, the access request signal may be a logic value of '1'. Can be.

또한, 본 발명의 다른 실시예에서는 소정의 공유 메모리 영역에 대해 액세스 요청을 하는 경우에는 액세스 요청 신호는 논리값 '1'이 되고, 제1 프로세서(60) 및 제2 프로세서(80)가 소정의 공유 메모리 영역에서 작업을 마친 경우에는 액세스 요청 신호는 논리값 '0'이 되도록 액세스 요청 신호(REQ1, REQ2)를 구성할 수도 있다.In addition, in another embodiment of the present invention, when an access request is made for a predetermined shared memory area, the access request signal has a logic value of '1', and the first processor 60 and the second processor 80 make a predetermined request. When the operation is completed in the shared memory area, the access request signals REQ1 and REQ2 may be configured such that the access request signal has a logic value of '0'.

세마포 제어부(310)는 제1 프로세서(60) 및 제2 프로세서(80)로부터 소정 공유 메모리 영역에 대한 액세스 요청시 논리값 '0'을 입력받고, 요청된 소정 공유 메모리 영역의 현재의 액세스 상태에 따라 액세스가 가능한 경우는 논리값 '0'을 세마포 신호(SMP)로 출력하고, 액세스가 가능하지 않은 경우는 논리값 '1'을 세마포 신호(SMP)로 출력한다.The semaphore control unit 310 receives a logic value '0' from the first processor 60 and the second processor 80 when requesting access to a predetermined shared memory area, and applies the current access state to the requested predetermined shared memory area. Accordingly, when access is possible, the logic value '0' is output as the semaphore signal SMP, and when access is not possible, the logic value '1' is output as the semaphore signal SMP.

예를 들어, 세마포 제어부(310)는 제1 공유 메모리 영역(240)에 대해 제1 프로세서(60) 및 제2 프로세서(80) 중 어느 프로세서도 액세스를 하지 않은 경우에는 제1 공유 메모리 영역(240)에 대한 제1 프로세서(60) 및 제2 프로세서(80)의 세마 포 신호(SMP)로 각각 논리값 '1'을 출력한다. 그리고, 제1 프로세서(60)가 제1 공유 메모리 영역(240)에 대해 액세스를 요청하기 위해 논리값 '0'을 입력하면, 제1 공유 메모리 영역(240)에 대한 제1 프로세서(60)의 세마포 신호(SMP)로 논리값 '0'을 출력하고, 제2 프로세서(80)의 세마포 신호(SMP)로 논리값 '1'을 출력한다.For example, the semaphore control unit 310 may access the first shared memory area 240 when neither the first processor 60 nor the second processor 80 accesses the first shared memory area 240. The logic value '1' is outputted as the semaphore signal SMP of the first processor 60 and the second processor 80 for each of? When the first processor 60 inputs a logic value '0' to request access to the first shared memory area 240, the first processor 60 determines that the first processor 60 is connected to the first shared memory area 240. The logic value '0' is output by the semaphore signal SMP, and the logic value '1' is output by the semaphore signal SMP of the second processor 80.

그리고 상기와 같은 제1 프로세서(60)가 제1 공유 메모리 영역(240)에 액세스 하여 읽기 또는 쓰기를 수행하는 도중에 제2 프로세서(80)가 제1 공유 메모리 영역(240)에 액세스를 요청하기 위해 논리값 '0'을 입력하게 되면 세마포 제어부(310)는 제1 공유 메모리 영역(240)이 현재 제1 프로세서(60)에 의해 액세스 되고 있기 때문에 제1 프로세서(60)의 세마포 신호(SMP)는 논리값 '0'을 출력하고, 제2 프로세서(80)의 세마포 신호(SMP)는 논리값 '1'을 출력한다. In addition, while the first processor 60 accesses the first shared memory area 240 and reads or writes the second processor 80 to request access to the first shared memory area 240. When the logic value '0' is input, the semaphore control unit 310 may access the semaphore signal SMP of the first processor 60 because the first shared memory area 240 is currently accessed by the first processor 60. The logic value '0' is output, and the semaphore signal SMP of the second processor 80 outputs the logic value '1'.

이후 제1 프로세서(60)가 제1 메모리 공유 영역(240)에서 작업을 종료하고, 작업 종료를 표시하는 논리값 '1'을 입력하게 되면 세마포 제어부(310)는 제1 프로세서(60)의 세마포 신호(SMP)는 논리값 '1'을 출력하고, 제2 프로세서(80)의 세마포 신호(SMP)는 논리값 '0'을 출력함으로써 제2 프로세서(80)가 제1 공유 메모리 영역(240)에 액세스 할 수 있도록 한다.Subsequently, when the first processor 60 ends the job in the first memory sharing area 240 and inputs a logic value '1' indicating the end of the job, the semaphore control unit 310 receives the semaphore of the first processor 60. The signal SMP outputs a logic value '1', and the semaphore signal SMP of the second processor 80 outputs a logic value '0' so that the second processor 80 receives the first shared memory area 240. Make it accessible.

인터럽트 제어부(330)는 도 3에 도시된 바와 같이 액세스 권한 제어부(331), 제1 인터럽트 마스크 레지스터(333), 제2 인터럽트 마스크 레지스터(335), 제1 인터럽트 상태 레지스터(337), 제2 인터럽트 상태 레지스터(339), 제1 인터럽트 제어 레지스터(341), 제2 인터럽트 제어 레지스터(343) 및 신호 변환부(350)를 포함할 수 있다.As illustrated in FIG. 3, the interrupt controller 330 may include the access right controller 331, the first interrupt mask register 333, the second interrupt mask register 335, the first interrupt status register 337, and the second interrupt. It may include a status register 339, a first interrupt control register 341, a second interrupt control register 343, and a signal converter 350.

액세스 권한 제어부(331)는 제1 인터럽트 마스크 레지스터(333) 및 제2 인터럽트 마스크 레지스터(335)에 저장된 마스크 신호(MASK1, MASK2)와 세마포 제어부(310)에서 출력된 세마포 신호(SMP)를 기초로 소정 공유 메모리 영역(240 내지 270)에 대한 제1 프로세서(60) 및 제2 프로세서(80)의 액세스를 차단한다.The access right control unit 331 is based on the mask signals MASK1 and MASK2 stored in the first interrupt mask register 333 and the second interrupt mask register 335 and the semaphore signal SMP output from the semaphore control unit 310. The first processor 60 and the second processor 80 are blocked from accessing the predetermined shared memory areas 240 to 270.

제1 인터럽트 마스크 레지스터(333)는 소정 공유 메모리 영역에 대한 제1 프로세서(60)의 액세스를 차단하기 위해 사용자로부터 제공된 마스크 신호(MASK1)가 저장되고, 제2 인터럽트 마스크 레지스터(335)는 소정 공유 메모리 영역에 대한 제2 프로세서(80)의 액세스를 차단하기 위해 사용자로부터 제공된 마스크 신호(MASK2)가 저장된다.The first interrupt mask register 333 stores a mask signal MASK1 provided from a user to block access of the first processor 60 to a predetermined shared memory area, and the second interrupt mask register 335 is predetermined shared. The mask signal MASK2 provided from the user is stored to block access of the second processor 80 to the memory area.

제1 인터럽트 마스크 레지스터(333) 및 제2 인터럽트 마스크 레지스터(335)에 저장된 마스크 신호(MASK1, MASK2)들은 동일할 수도 있고 상이할 수도 있다. 즉, 제1 프로세서(60) 및 제2 프로세서(80)에 대해 액세스가 차단된 공유 메모리 영역(240 내지 270)은 동일할 수도 있고 상이할 수도 있다.The mask signals MASK1 and MASK2 stored in the first interrupt mask register 333 and the second interrupt mask register 335 may be the same or different. That is, the shared memory areas 240 to 270 that are blocked from access to the first processor 60 and the second processor 80 may be the same or different.

액세스 권한 제어부(331)는 제1 인터럽트 마스크 레지스터(333) 및 제2 인터럽트 마스트 레지스터(335)에 저장된 마스크 신호(MASK1, MASK2)와 세마포 제어부(310)에서 출력된 세마포 신호(SMP)와 마스크 연산을 수행함으로써, 소정 공유 메모리 영역(240 내지 270)에 대한 제1 프로세서(60) 및/또는 제2 프로세서(80)의 액세스를 차단할 수 있다. The access right control unit 331 performs mask operations MASK1 and MASK2 stored in the first interrupt mask register 333 and the second interrupt mask register 335, and a semaphore signal SMP and a mask operation output from the semaphore control unit 310. By performing the operation, access of the first processor 60 and / or the second processor 80 to the predetermined shared memory areas 240 to 270 may be blocked.

예를 들어, 제1 공유 메모리 영역(240)에 대해 제1 프로세서(60)의 액세스를 차단하고자 하는 경우, 제1 인터럽트 마스크 레지스터(333)에 저장된 마스크 신 호(MASK1) 중에서 제1 공유 메모리 영역(240)에 해당하는 마스크 비트를 논리값'0'으로 저장하고, 제1 인터럽트 마스크 레지스터(240)의 제2 내지 제4 공유 메모리 영역(250 내지 270)에 대한 마스크 신호(MASK1)를 논리값 '1'로 저장한 후, 세마포 제어부(310)에서 출력된 제1 공유 메모리 영역(240)에 대한 세마포 신호(SMP)와 논리곱 하여 항상 논리값 '0'이 출력되도록 함으로써 세마포 신호(SMP)에 상관없이 제1 공유 메모리 영역(240)에 대한 액세스를 차단할 수 있다.For example, when the first processor 60 is to be blocked from accessing the first shared memory area 240, the first shared memory area among the mask signals MASK1 stored in the first interrupt mask register 333. The mask bit corresponding to (240) is stored as a logic value '0', and the mask signal MASK1 for the second to fourth shared memory areas 250 to 270 of the first interrupt mask register 240 is stored as a logic value. After storing as '1', the semaphore signal SMP is output by logically multiplying the semaphore signal SMP for the first shared memory area 240 output from the semaphore control unit 310 so that a logical value '0' is always output. Regardless, the access to the first shared memory area 240 may be blocked.

또는, 제1 공유 메모리 영역(240)에 대한 마스크 신호(MASK1)를 제1 인터럽트 마스크 레지스터(333)의 해당 비트에 논리값 '1'로 저장하고, 제1 인터럽트 마스크 레지스터(333)의 제2 내지 제4 공유 메모리 영역(250 내지 270)에 대한 마스크 신호(MASK1)를 논리값 '0'으로 저장한 후, 세마포 제어부(310)에서 출력된 제1 공유 메모리 영역(240)에 대한 세마포 신호(SMP)와 논리합 하여 항상 '1'이 출력되도록 함으로써 세마포 신호(SMP)에 상관없이 제1 공유 메모리 영역(240)에 대한 액세스를 차단할 수 있다.Alternatively, the mask signal MASK1 for the first shared memory area 240 is stored as a logic value '1' in a corresponding bit of the first interrupt mask register 333, and the second signal of the first interrupt mask register 333 is stored. The semaphore signal for the first shared memory region 240 output from the semaphore control unit 310 after storing the mask signal MASK1 for the fourth to shared memory regions 250 to 270 as a logic value '0'. By 'OR' being always output in conjunction with SMP, it is possible to block access to the first shared memory area 240 irrespective of the semaphore signal SMP.

또한, 액세스 권한 제어부(331)는 세마포 제어부(310)로부터 출력된 세마포 신호(SMP)와 제1 인터럽트 마스크 레지스터(333) 및 제2 인터럽트 마스크 레지스터(335)에 저장된 마스크 신호(MASK1, MASK2)를 마스크 연산한 결과인 액세스 상태 신호(STE1, STE2)를 제1 인터럽트 상태 레지스터(337) 및 제2 인터럽트 상태 레지스터(339)에 각각 저장한다.In addition, the access right control unit 331 controls the semaphore signal SMP output from the semaphore control unit 310, and the mask signals MASK1 and MASK2 stored in the first interrupt mask register 333 and the second interrupt mask register 335. The access status signals STE1 and STE2 that are the result of the mask operation are stored in the first interrupt status register 337 and the second interrupt status register 339, respectively.

즉, 액세스 권한 제어부(331)는 제1 프로세서(60)의 액세스 상태에 해당하는 세마포 신호(SMP)와 제1 인터럽트 마스크 레지스터(333)에 저장된 마스크 신 호(MASK1)를 마스크 연산한 결과인 액세스 상태 신호(STE1)를 제1 인터럽트 상태 레지스터(337)에 저장하고, 제1 프로세서(80)의 액세스 상태에 해당하는 세마포 신호(SMP)와 제2 인터럽트 마스크 레지스터(335)에 저장된 마스크 신호(MASK2)를 마스크 연산한 결과인 액세스 상태 신호(STE2)를 제2 인터럽트 상태 레지스터(339)에 저장한다.That is, the access right control unit 331 accesses the result of masking the semaphore signal SMP corresponding to the access state of the first processor 60 and the mask signal MASK1 stored in the first interrupt mask register 333. The state signal STE1 is stored in the first interrupt state register 337, and the semaphore signal SMP corresponding to the access state of the first processor 80 and the mask signal MASK2 stored in the second interrupt mask register 335. ) Is stored in the second interrupt status register 339 as a result of mask operation.

그리고, 액세스 권한 제어부(331)는 제1 프로세서(60) 및/또는 제2 프로세서(80)가 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 액세스 상태를 요청하면 제1 인터럽트 상태 레지스터(337) 및/또는 제2 인터럽트 상태 레지스터(339)에 저장된 액세스 상태 신호(STE1, STE2)를 제공함으로써 제1 프로세서(60) 및/또는 제2 프로세서(80)가 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 액세스 상태를 파악할 수 있도록 한다.When the first processor 60 and / or the second processor 80 requests the access status of the first to fourth shared memory areas 240 to 270, the access right control unit 331 registers the first interrupt status register. Providing the access status signals STE1 and STE2 stored in the 337 and / or the second interrupt status registers 339 so that the first processor 60 and / or the second processor 80 are first to fourth shared memory. The access state of the areas 240 to 270 can be identified.

또한, 액세스 권한 제어부(331)는 세마포 제어부(310)에서 출력된 세마포 신호(SMP)에 기초하여 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 제1 프로세서(60) 및 제2 프로세서(80)의 액세스 권한 나타내는 액세스 권한 신호(ACC1, ACC2) 및 액세스 권한 신호를 변환하기 위한 액세스 변환 제어 신호(AMC1, AMC2) 를 출력한다.In addition, the access right control unit 331 may include the first processor 60 and the second processor for the first to fourth shared memory areas 240 to 270 based on the semaphore signal SMP output from the semaphore control unit 310. The access authority signals ACC1 and ACC2 representing the access authority of 80 and the access conversion control signals AMC1 and AMC2 for converting the access authority signals are output.

예를 들어, 제1 프로세서(60)가 제1 공유 메모리 영역(240)에서 읽기 또는 쓰기 작업을 수행하고 있는 도중 제2 프로세서(80)가 제1 공유 메모리 영역(240)에 대해 액세스를 요청하게 되면 액세스 권한 제어부(331)는 제2 프로세서(80)가 제1 공유 메모리 영역(240)에 액세스할 수 없음을 나타내는 액세스 권한 신호(ACC2)를 출력한다.For example, while the first processor 60 is performing a read or write operation in the first shared memory area 240, the second processor 80 requests access to the first shared memory area 240. The access right control unit 331 outputs an access right signal ACC2 indicating that the second processor 80 cannot access the first shared memory area 240.

또한, 액세스 권한 제어부(331)는 제1 인터럽트 제어 레지스터(341) 또는 제2 인터럽트 제어 레지스터(343)로부터 액세스 변환 제어 신호(AMC1, AMC2)를 각각 수신하고 신호 변환부(350)에 제공함으로써 액세스 변환 제어 신호(AMC1, AMC2)에 상응하여 액세스 권한 신호(ACC1, ACC2)의 형태가 변환될 수 있도록 한다.In addition, the access right control unit 331 receives the access conversion control signals AMC1 and AMC2 from the first interrupt control register 341 or the second interrupt control register 343, respectively, and provides them to the signal conversion unit 350 for access. The types of the access right signals ACC1 and ACC2 can be converted in correspondence with the conversion control signals AMC1 and AMC2.

제1 인터럽트 제어 레지스터(341) 및 제2 인터럽트 제어 레지스터(343)에는 액세스 권한 제어부(331)로부터 출력된 액세스 권한 신호(ACC1, ACC2)를 변경하기 위한 액세스 변환 제어 신호(AMC1, AMC2)가 각각 저장된다.In the first interrupt control register 341 and the second interrupt control register 343, access conversion control signals AMC1 and AMC2 for changing the access right signals ACC1 and ACC2 output from the access right control unit 331 are respectively. Stored.

제1 인터럽트 제어 레지스터(341) 및 제2 인터럽트 제어 레지스터(343)에 저장된 액세스 변환 제어 신호(AMC1, AMC2)는 동일할 수도 있고, 서로 상이할 수도 있다. 즉, 신호 변환부(350)에서 제1 프로세서(60) 및 제2 프로세서(80)로 각각 출력되는 액세스 허용 신호(READY1, READY2)의 출력 형식은 서로 동일할 수도 있고, 서로 상이할 수도 있다.The access conversion control signals AMC1 and AMC2 stored in the first interrupt control register 341 and the second interrupt control register 343 may be the same or may be different from each other. That is, output formats of the access permission signals READY1 and READY2 output from the signal converter 350 to the first processor 60 and the second processor 80 may be the same as or different from each other.

신호 변환부(350)는 액세스 권한 제어부(331)로부터 액세스 변환 제어 신호(AMC1, AMC2) 및 액세스 권한 신호(ACC1, ACC2)를 입력 받고 액세스 변환 제어 신호(AMC1, AMC2)에 상응하여 액세스 권한 신호(ACC1, ACC2)를 액세스 허용 신호(READY1, READY2)로 그대로 출력하거나 변환된 액세스 권한 신호를 액세스 허용 신호(READY1, READY2)로 출력한다.The signal conversion unit 350 receives the access conversion control signals AMC1 and AMC2 and the access right signals ACC1 and ACC2 from the access right control unit 331 and corresponds to the access conversion control signals AMC1 and AMC2. Outputs (ACC1, ACC2) as the access permission signals READY1 and READY2 as it is or outputs the converted access permission signals as the access permission signals READY1 and READY2.

본 발명의 다른 실시예에서는 제1 인터럽트 마스크 레지스터(333) 및 제2 인터럽트 마스크 레지스터(335)가 하나의 마스크 레지스터로 구현될 수도 있고, 제1 인터럽트 상태 레지스터(337) 및 제2 인터럽트 상태 레지스터(339)가 하나의 상태 레지스터로 구현될 수도 있다. 또한, 제1 인터럽트 제어 레지스터(341) 및 제2 인터럽트 제어 레지스터(343)가 하나의 제어 레지스터로 구현될 수도 있다.In another embodiment of the present invention, the first interrupt mask register 333 and the second interrupt mask register 335 may be implemented as one mask register, and the first interrupt status register 337 and the second interrupt status register ( 339 may be implemented with one status register. In addition, the first interrupt control register 341 and the second interrupt control register 343 may be implemented as one control register.

또한, 본 발명의 다른 실시예에서 인터럽트 제어부(330)는 액세스 권한 제어부(331), 제1 인터럽트 마스크 레지스터(333), 제2 인터럽트 마스크 레지스터(335), 제1 인터럽트 상태 레지스터(337) 및 제2 인터럽트 상태 레지스터(339)를 포함할 수도 있고, 액세스 권한 제어부(331), 제1 인터럽트 상태 레지스터(337), 제2 인터럽트 상태 레지스터(339), 제1 인터럽트 제어 레지스터(341), 제2 인터럽트 제어 레지스터(343) 및 신호 변환부(350)를 포함할 수도 있다.Further, in another embodiment of the present invention, the interrupt controller 330 may include the access right controller 331, the first interrupt mask register 333, the second interrupt mask register 335, the first interrupt status register 337, and the first interrupt status register 337. 2 may include an interrupt status register 339, and include an access right control unit 331, a first interrupt status register 337, a second interrupt status register 339, a first interrupt control register 341, and a second interrupt. The control register 343 and the signal converter 350 may be included.

또한, 본 발명의 또 다른 실시예에서는 인터럽트 제어부(330)를 액세스 권한 제어부(331), 제1 인터럽트 상태 레지스터(337) 및 제2 인터럽트 상태 레지스터(339)만으로 구성함으로써 접근 제어 장치(300)가 제1 프로세서(60) 및 제2 프로세서(80)에 액세스 상태 신호(STE1, STE2) 및 액세스 허용 신호(READY1, READY2)만을 제공하도록 구현할 수도 있다.In addition, in another embodiment of the present invention, the access control device 300 is configured by configuring the interrupt control unit 330 only with the access right control unit 331, the first interrupt status register 337, and the second interrupt status register 339. The first processor 60 and the second processor 80 may be implemented to provide only the access status signals STE1 and STE2 and the access permission signals READY1 and READY2.

도 4a는 도 3에 도시된 신호 변환부의 상세한 구성을 나타내는 블록도이고, 도 4b는 도 3에 도시된 신호 변환부의 출력을 나타내는 타이밍도이다.4A is a block diagram illustrating a detailed configuration of the signal converter shown in FIG. 3, and FIG. 4B is a timing diagram illustrating an output of the signal converter shown in FIG. 3.

도 4a 및 4b를 참조하면, 신호 변환부(350)는 인버터(351, 352), 지연회로(353, 354), 에지검출회로(355, 356) 및 멀티플렉서(357, 358)를 포함하여 구성된다. 4A and 4B, the signal converter 350 includes inverters 351 and 352, delay circuits 353 and 354, edge detection circuits 355 and 356, and multiplexers 357 and 358. .

인버터(351, 352)는 액세스 권한 제어부(331)로부터 제공된 액세스 권한 신 호(ACC1, ACC2)를 반전시켜 반전된 액세스 권한 제어 신호(I_ACC1, I_ACC2)를 출력하고, 지연회로(353, 354)는 액세스 권한 신호(ACC1, ACC2)를 기설정된 소정 시간(또는 클럭)만큼 지연시킨 후 지연된 액세스 권한 신호(D_ACC1, D_ACC2)를 출력한다. 에지검출회로(355, 356)는 액세스 권한 신호가 로우 레벨에서 하이 레벨로 또는 하이 레벨에서 로우 레벨로 천이시 이를 검출하여 펄스 형태의 액세스 권한 신호(P_ACC1, P_ACC2)를 출력한다.The inverters 351 and 352 invert the access right signals ACC1 and ACC2 provided from the access right control unit 331 to output the inverted access right control signals I_ACC1 and I_ACC2, and the delay circuits 353 and 354 After delaying the access authority signals ACC1 and ACC2 by a predetermined time (or clock), the delayed access authority signals D_ACC1 and D_ACC2 are output. The edge detection circuits 355 and 356 detect when the access right signal transitions from the low level to the high level or from the high level to the low level, and outputs pulsed access rights signals P_ACC1 and P_ACC2.

멀티플렉서(357, 358)는 액세스 권한 신호(ACC1, ACC2), 인버트된 액세스 권한 신호(I_ACC1, I_ACC2), 지연된 액세스 권한 신호(D_ACC1, D_ACC2) 및 펄스 형태의 액세스 권한 신호(P_ACC1, P_ACC2)를 입력받고 액세스 권한 제어부(331)에서 제공된 액세스 변환 제어 신호(AMC1, AMC2)에 상응하여 입력된 네 개의 신호중 하나를 선택하여 액세스 허용 신호(READY1, READY2)로 출력한다.The multiplexers 357 and 358 input the access authority signals ACC1 and ACC2, the inverted access authority signals I_ACC1 and I_ACC2, the delayed access authority signals D_ACC1 and D_ACC2 and the pulsed access authority signals P_ACC1 and P_ACC2. And one of four signals input corresponding to the access conversion control signals AMC1 and AMC2 provided by the access right control unit 331 and outputs them as the access permission signals READY1 and READY2.

도 4a와 같이 본 발명의 일실시예에 따른 접근 제어 장치를 가지는 듀얼 포트 메모리에서는 제1 인터럽트 제어 레지스터(341) 및 제2 인터럽트 제어 레지스터(343)에 액세스 변환 제어 신호(AMC1, AMC2)를 저장하고, 액세스 권한 제어부(331)에서 출력된 액세스 권한 신호(ACC1, ACC2)를 액세스 변환 제어 신호(AMC1, AMC2)에 따라 그대로 출력하거나 변환하여 출력함으로써 사용자의 의도에 맞게 액세스 허용 신호(READY1, READY2)를 출력할 수 있다.In the dual port memory having the access control device according to an embodiment of the present invention as shown in FIG. 4A, the access conversion control signals AMC1 and AMC2 are stored in the first interrupt control register 341 and the second interrupt control register 343. In addition, the access permission signals ACC1 and ACC2 output from the access right control unit 331 are output as they are or converted according to the access conversion control signals AMC1 and AMC2, and the access permission signals READY1 and READY2 according to the user's intention. ) Can be printed.

도 5는 본 발명의 일실시예에 따른 듀얼 포트 메모리의 접근 제어 방법을 나타내는 흐름도를 나타낸다.5 is a flowchart illustrating an access control method of a dual port memory according to an embodiment of the present invention.

도 5를 참조하면 먼저, 세마포 제어부(310)는 제1 프로세서(60) 및 제2 프로 세서(80) 중 어느 하나의 프로세서로부터 제1 내지 제4 공유 메모리 영역(240 내지 270) 중 적어도 하나의 공유 메모리 영역에 대한 액세스 요청을 기다리고(단계 501), 소정의 공유 메모리 영역에 대한 액세스 요청이 발생되면 상기 소정의 공유 메모리 영역의 액세스 상태에 따라 세마포 신호(SMP)를 출력한다(단계 503).Referring to FIG. 5, first, the semaphore control unit 310 may include at least one of the first to fourth shared memory areas 240 to 270 from one of the first processor 60 and the second processor 80. Waiting for an access request for the shared memory area (step 501), if an access request for the predetermined shared memory area is generated, a semaphore signal SMP is output according to the access state of the predetermined shared memory area (step 503).

예를 들어, 제2 프로세서(80)가 제2 공유 메모리 영역(250)에 액세스 하여 읽기 또는 쓰기 작업을 수행하는 도중에 제1 프로세서(60)가 제1 공유 메모리 영역(240)에 대한 액세스를 요청하면, 세마포 제어부(310)는 제1 프로세서(60)에 대해 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 각각의 세마포 신호(SMP)로서 논리값 '0', '1', '1', '1'를 출력하고, 동시에 제2 프로세서(80)에 대해 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 각각의 세마포 신호로서 논리값 '1', '0', '1', '1'를 출력한다.For example, while the second processor 80 accesses the second shared memory area 250 to perform a read or write operation, the first processor 60 requests access to the first shared memory area 240. In this case, the semaphore control unit 310 is a logic value '0', '1', 'as the respective semaphore signals SMP for the first to fourth shared memory areas 240 to 270 with respect to the first processor 60. Outputs 1 ',' 1 ', and at the same time the logic values' 1 ',' 0 ',' as respective semaphore signals for the first to fourth shared memory areas 240 to 270 for the second processor 80; Output 1 ',' 1 '.

여기서, 논리값 '0'은 액세스가 가능함을 나타내고, 논리값 '1'은 엑세스가 가능하지 않음을 나타낸다. 즉, 세마포 제어부(310)는 제1 공유 메모리 영역(240)에 대해 제1 프로세서(60)가 액세스 할 수 있음을 나타내는 논리값 '0'을 제1 프로세서(60)의 제1 공유 메모리 영역(240)에 대한 세마포 신호로 출력한다. Here, the logical value '0' indicates that access is possible, and the logical value '1' indicates that access is not possible. That is, the semaphore control unit 310 may set a logic value '0' indicating that the first processor 60 can access the first shared memory area 240. The semaphore signal for 240 is output.

다른 예를 들면, 제2 프로세서(80)가 제2 공유 메모리 영역(250)에 액세스 하여 읽기 또는 쓰기 작업을 수행하는 도중 제1 프로세서(60)가 제2 공유 메모리 영역(250)에 대한 액세스를 요청하면, 세마포 제어부(310)는 제1 프로세서(60)에 대해 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 각각의 세마포 신호(SMP)로서 논리값 '1', '1', '1', '1'를 출력하고, 동시에 제2 프로세서(80)에 대해 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 각각의 세마포 신호로서 논리값 '1', '0', '1', '1'을 출력한다. In another example, while the second processor 80 accesses the second shared memory area 250 to perform a read or write operation, the first processor 60 may access the second shared memory area 250. Upon request, the semaphore control unit 310 may provide the first processor 60 with the logic values '1', '1', as the semaphore signals SMP for the first to fourth shared memory areas 240 to 270. Outputs '1', '1' and at the same time the logical values '1', '0', as semaphore signals for the first to fourth shared memory areas 240 to 270 for the second processor 80, respectively. Outputs '1', '1'.

즉, 세마포 제어부는 제2 공유 메모리 영역에 대해 제1 프로세서(60)가 액세스 할 수 없음을 나타내는 논리값 '1'을 제1 프로세서(60)의 제2 공유 메모리 영역(250)에 대한 세마포 신호로 출력한다.That is, the semaphore control unit may set a logic value '1' indicating that the first processor 60 cannot access the second shared memory area, and the semaphore signal for the second shared memory area 250 of the first processor 60. Will output

다음으로 액세스 권한 제어부(331)는 세마포 제어부(310)에서 출력된 세마포 신호(SMP)와 제1 인터럽트 마스크 레지스터(333) 및 제2 인터럽트 마스크 레지스터(335)에 저장된 각각의 마스크 신호(MASK1, MASK2) 비트를 마스크 연산한다(단계 507).Next, the access right control unit 331 is a semaphore signal (SMP) output from the semaphore control unit 310 and each of the mask signals MASK1 and MASK2 stored in the first interrupt mask register 333 and the second interrupt mask register 335. ) Mask the bits (step 507).

예를 들어, 세마포 제어부(310)에서 출력된 제2 프로세서(80)에 대한 제1 내지 제4 공유 메모리 영역(240 내지 270)의 세마포 신호(SMP)가 논리값 '1', '0', '1', '1'이고, 제2 인터럽트 마스크 레지스터(335)에 마스크 신호(MASK2)로 논리값 '0', '1', '0', '0'이 저장된 경우, 액세스 권한 제어부(331)는 세마포 신호(SMP) '1', '0', '1', '1'과 제2 인터럽트 마스크 레지스터에 저장된 마스크 신호(MASK2) 논리값 '0', '1', '0', '0'의 각각의 비트를 논리합 연산하여 '1', '1', '1', '1'을 얻는다. 여기서, 논리값 '0'은 액세스가 가능함을 나타내고, 논리값 '1'은 액세스가 가능하지 않음을 나타낸다.For example, the semaphore signal SMP of the first to fourth shared memory areas 240 to 270 for the second processor 80 output from the semaphore control unit 310 may be logical values '1', '0', '1', '1', and the access right control unit 331 when logic values '0', '1', '0', and '0' are stored as the mask signal MASK2 in the second interrupt mask register 335. ) Is the semaphore signal SMP '1', '0', '1', '1' and the mask signal MASK2 logic values' 0 ',' 1 ',' 0 ',' stored in the second interrupt mask register. The OR of each bit of 0 'is performed to obtain' 1 ',' 1 ',' 1 ', and' 1 '. Here, the logical value '0' indicates that access is possible, and the logical value '1' indicates that access is not possible.

즉, 세마포 제어부(310)에서 제2 공유 메모리 영역(250)에 대한 제2 프로세서(80)의 액세스가 가능함을 나타내는 세마포 신호로 논리값 '0'이 출력되었음에도 불구하고, 세마포 신호인 논리값 '0' 과 마스크 비트 '1'의 논리합 연산을 통해 액 세스 권한 신호로 논리값 '1'을 출력함으로써 제2 공유 메모리 영역(250)에 대한 제2 프로세서(80)의 액세스를 차단할 수 있다.That is, even though the semaphore signal 310 outputs a logic value '0' as a semaphore signal indicating that the second processor 80 can access the second shared memory area 250, the logic value 'that is the semaphore signal' is displayed. The second processor 80 may be blocked from accessing the second shared memory area 250 by outputting a logic value '1' as an access right signal through an AND operation of the mask bit '1'.

액세스 권한 제어부(331)는 단계 507에서 마스크 연산한 결과를 제1 인터럽트 상태 레지스터(337) 및 제2 인터럽트 상태 레지스터(339)에 각각 저장함으로써 제1 인터럽트 상태 레지스터(337) 및 제2 인터럽트 상태 레지스터(339)를 갱신하고(단계 509), 단계 507에서 마스크 연산한 결과를 액세스 권한 신호(ACC1, ACC2)로 출력한다(단계 511).The access right control unit 331 stores the result of the mask operation in step 507 in the first interrupt status register 337 and the second interrupt status register 339, respectively, so that the first interrupt status register 337 and the second interrupt status register are stored. (339) is updated (step 509), and the result of the mask operation in step 507 is output as the access authority signals ACC1 and ACC2 (step 511).

즉, 액세스 권한 제어부(331)는 제1 프로세서(60)의 액세스 상태에 해당하는 세마포 신호(SMP)와 제1 인터럽트 마스크 레지스터(333)에 저장된 마스크 신호(MASK1)를 마스크 연산한 결과를 제1 인터럽트 상태 레지스터(337)에 저장하고, 제1 프로세서(80)의 액세스 상태에 해당하는 세마포 신호(SMP)와 제2 인터럽트 마스크 레지스터(335)에 저장된 마스크 신호(MASK2)를 마스크 연산한 결과를 제2 인터럽트 상태 레지스터(339)에 저장한다.That is, the access right control unit 331 may perform a mask operation on the semaphore signal SMP corresponding to the access state of the first processor 60 and the mask signal MASK1 stored in the first interrupt mask register 333. The result of masking the semaphore signal SMP corresponding to the access state of the first processor 80 and the mask signal MASK2 stored in the second interrupt mask register 335 is stored in the interrupt status register 337. 2 is stored in the interrupt status register 339.

이후, 신호 변환부(345)는 액세스 권한 제어부(331)로부터 액세스 권한 신호(ACC1, ACC2)와, 액세스 변환 제어 신호(AMC1, AMC2)를 입력받고, 액세스 변환 제어 신호(AMC1, AMC2)에 따라 제1 프로세서(60) 및 제2 프로세서(80)의 액세스 권한 신호(ACC1, ACC2)를 변환한 후(단계 513), 액세스 권한 신호 또는 변환된 액세스 권한 신호를 액세스 허용 신호(READY1, READY2)로 제1 프로세서(60) 및 제2 프로세서(80)에 제공한다(단계 515).Thereafter, the signal conversion unit 345 receives the access right signals ACC1 and ACC2 and the access conversion control signals AMC1 and AMC2 from the access right control unit 331 and according to the access conversion control signals AMC1 and AMC2. After converting the access right signals ACC1 and ACC2 of the first processor 60 and the second processor 80 (step 513), the access right signal or the converted access right signal is converted into the access permission signals READY1 and READY2. Provided to first processor 60 and second processor 80 (step 515).

그리고, 액세스 권한 제어부(331)는 제1 프로세서(60) 및/또는 제2 프로세 서(80)로부터 액세스 상태에 대한 요청 여부를 판단하고(단계 517), 액세스 상태에 대한 요청이 있는 것으로 판단되면, 제1 프로세서(60) 및/또는 제2 프로세서(80)에 제1 인터럽트 상태 레지스터(337) 및/또는 제2 인터럽트 상태 레지스터(339)에 저장된 액세스 상태 신호(STE1, STE2)를 제공한다(단계 519).In addition, the access right control unit 331 determines whether a request for an access state is requested from the first processor 60 and / or the second processor 80 (step 517), and determines that there is a request for the access state. Provide access status signals STE1 and STE2 stored in the first interrupt status register 337 and / or the second interrupt status register 339 to the first processor 60 and / or the second processor 80. (Step 519).

그리고, 액세스 권한 제어부(331)는 제1 프로세서(60) 및/또는 제2 프로세서(80)의 액세스 상태에 변화가 있는지를 판단하고(단계 521), 변화가 있는 것으로 판단되면 단계 503으로 되돌아가서 이후의 단계들을 순차적으로 수행한다.Then, the access right control unit 331 determines whether there is a change in the access state of the first processor 60 and / or the second processor 80 (step 521), and if it is determined that there is a change, returns to step 503. The following steps are performed sequentially.

단계 521에서 판단결과, 액세스 상태에 변화가 없는 것으로 판단되면 액세스 권한 제어부(331)는 접근 제어 과정의 종료에 해당하는 제어 신호가 입력되었는지를 판단하고(단계 523), 접근 제어 과정의 종료에 해당하는 제어 신호가 입력된 것으로 판단되면 접근 제어 과정을 종료하고, 접근 제어 과정의 종료에 해당하는 제어 신호가 입력되지 않은 것으로 판단되면 단계 501으로 되돌아가서 이후의 단계들을 순차적으로 수행한다.If it is determined in step 521 that there is no change in the access state, the access right control unit 331 determines whether a control signal corresponding to the end of the access control process is input (step 523), and corresponds to the end of the access control process. If it is determined that the control signal is input, the access control process is terminated. If it is determined that the control signal corresponding to the end of the access control process is not input, the process returns to step 501 to sequentially perform subsequent steps.

본 발명의 다른 실시예에서는 도 5에 도시된 듀얼 포트 메모리의 접근 제어 방법의 흐름도에서 마스크 연산 수행 단계(단계 507), 액세스 권한 신호 출력 단계(단계 511) 및 액세스 권한 신호 변환 단계(단계 513)는 생략될 수도 있다.In another embodiment of the present invention, in the flowchart of the access control method of the dual port memory shown in FIG. 5, a mask operation performing step (step 507), an access right signal output step (step 511), and an access right signal conversion step (step 513) are performed. May be omitted.

상기와 같은 접근 제어 장치를 가지는 듀얼 포트 메모리 및 듀얼 포트 메모리의 접근 제어 방법에 따르면, 접근 제어 장치는 공유 메모리 영역에 대한 복수의 프로세서 각각의 액세스 상태를 저장하고, 프로세서의 요청시 저장된 액세스 상태 를 제공한다. 또한, 접근 제어 장치는 마스크 연산을 통해 소정의 공유 메모리 영역에 대한 프로세서의 액세스를 차단하고, 액세스 허용 신호를 다양하게 변환하여 출력한다.According to an access control method of a dual port memory and a dual port memory having the access control device as described above, the access control device stores the access state of each of the plurality of processors to the shared memory area, and stores the stored access state at the request of the processor. to provide. In addition, the access control device blocks a processor's access to a predetermined shared memory area through a mask operation, and converts and outputs an access permission signal in various ways.

따라서, 상기와 같은 접근 제어 장치를 가지는 듀얼 포트 메모리를 핸드폰과 같은 휴대용 단말기에 적용함으로써 듀얼 포트 메모리의 공유 메모리 영역에 대한 복수의 프로세서의 액세스 속도를 향상시킬 수 있고, 사용자의 설정에 따라 소정의 공유 메모리 영역에 대한 액세스를 차단할 수 있다. 또한, 설계자의 의도에 맞게 액세스 허용 신호를 변화시킬 수 있다. Therefore, by applying the dual port memory having the access control device as described above to a portable terminal such as a mobile phone, it is possible to improve the access speed of a plurality of processors to the shared memory area of the dual port memory, and according to the user's setting You can block access to shared memory areas. It is also possible to change the access permission signal to suit the designer's intention.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described with reference to the embodiments above, those skilled in the art will understand that the present invention can be variously modified and changed without departing from the spirit and scope of the invention as set forth in the claims below. Could be.

Claims (17)

제1 및 제2 프로세서가 액세스하는 적어도 하나의 공유 메모리 영역을 가지는 메모리 어레이;A memory array having at least one shared memory area accessed by the first and second processors; 상기 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제1 메모리 인터페이스;A first memory interface configured to perform a read or write operation on the at least one shared memory area based on an address and a control signal provided from the first processor; 상기 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제2 메모리 인터페이스; 및A second memory interface configured to perform a read or write operation on the at least one shared memory area based on an address and a control signal provided from the second processor; And 상기 적어도 하나의 공유 메모리 영역 각각에 대한 상기 제1 프로세서 및 제2 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하고 상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고, 상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 접근 제어 장치를 포함하는 듀얼 포트 메모리.Store access states of each of the first processor and the second processor for each of the at least one shared memory region for each processor and provide access grant signals to the first and second processors based on the stored access states; And an access control device to provide the stored access state to the first and second processors. 제1항에 있어서, 상기 접근 제어 장치는The apparatus of claim 1, wherein the access control device is 상기 적어도 하나의 공유 메모리 영역에 대해 상기 제1 및 제2 프로세서 중 적어도 하나의 프로세서로부터 상기 제1 및 제2 메모리 인터페이스 중 상기 적어도 하나의 프로세서에 상응하는 메모리 인터페이스를 통해 액세스 요청 신호를 제공 받고 상기 액세스 요청된 공유 메모리 영역의 현재의 액세스 유무에 따라 세마포 신호를 출력하는 세마포 제어부; 및Receiving an access request signal from at least one of the first and second processors for the at least one shared memory area through a memory interface corresponding to the at least one processor of the first and second memory interfaces; A semaphore control unit which outputs a semaphore signal according to whether there is a current access in the shared memory area requested for access; And 상기 세마포 신호와 마스크 신호를 마스크 연산하여 소정의 공유 메모리 영역에 대한 액세스를 차단하고, 상기 마스크 연산한 결과를 액세스 상태로 저장하고, 상기 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 상기 액세스 허용 신호를 제공하는 인터럽트 제어부를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.Masking the semaphore signal and the mask signal to block access to a predetermined shared memory area, store the masked result as an access state, and access the first and second processors based on the access state. And a interrupt controller for providing an allowance signal. 제2항에 있어서, 상기 세마포 제어부는The method of claim 2, wherein the semaphore control unit 상기 요청된 공유 메모리 영역에 상기 제1 및 제2 프로세서 중 어느 프로세서도 액세스를 하지 않으면 액세스가 가능함을 나타내는 세마포 신호를 출력하고, 상기 요청된 공유 메모리 영역에 액세스 중인 프로세서가 존재하면 액세스가 가능하지 않음을 나타내는 세마포 신호를 출력하는 것을 특징으로 하는 듀얼 포트 메모리.Outputs a semaphore signal indicating that access is possible if none of the first and second processors have access to the requested shared memory area, and access is not possible if a processor that is accessing the requested shared memory area exists. And outputting a semaphore signal indicating no. 제2항에 있어서, 상기 인터럽트 제어부는The method of claim 2, wherein the interrupt control unit 상기 마스크 신호를 저장하기 위한 마스크 레지스터;A mask register for storing the mask signal; 상기 액세스 상태를 저장하기 위한 상태 레지스터; 및A status register for storing the access status; And 상기 마스크 연산을 수행하고 상기 마스크 연산을 수행한 결과를 액세스 권한 신호로 출력하는 액세스 권한 제어부를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.And an access right controller configured to perform the mask operation and output a result of performing the mask operation as an access right signal. 제2항에 있어서, 상기 인터럽트 제어부는The method of claim 2, wherein the interrupt control unit 변환 제어 신호를 저장하기 위한 제어 레지스터를 더 포함하는 것을 특징으로 하는 듀얼 포트 메모리.And a control register for storing the translation control signal. 제5항에 있어서, 상기 인터럽트 제어부는The method of claim 5, wherein the interrupt control unit 상기 변환 제어 신호에 상응하여 상기 액세스 권한 신호를 변환하여 상기 액세스 허용 신호로 출력하는 신호 변환부를 더 포함하는 것을 특징으로 하는 듀얼 포트 메모리.And a signal converter configured to convert the access right signal according to the conversion control signal and output the converted access right signal as the access permission signal. 제1항에 있어서, 상기 접근 제어 장치는The apparatus of claim 1, wherein the access control device is 상기 적어도 하나의 공유 메모리 영역에 대해 상기 제1 및 제2 프로세서 중 적어도 하나의 프로세서로부터 상기 제1 및 제2 메모리 인터페이스 중 상기 적어도 하나의 프로세서에 상응하는 메모리 인터페이스를 통해 액세스 요청 신호를 제공 받고 상기 액세스 요청된 공유 메모리 영역의 현재의 액세스 유무에 따라 세마포 신호를 출력하는 세마포 제어부; 및Receiving an access request signal from at least one of the first and second processors for the at least one shared memory area through a memory interface corresponding to the at least one processor of the first and second memory interfaces; A semaphore control unit which outputs a semaphore signal according to whether there is a current access in the shared memory area requested for access; And 상기 세마포 제어부로부터 제공된 세마포 신호를 상기 제1 프로세서 및 제2 프로세서의 각각의 액세스 상태로 저장하고 상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고, 상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 인터럽트 제어부를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.Storing a semaphore signal provided from the semaphore control unit into respective access states of the first processor and the second processor, and providing an access permission signal to the first and second processors based on the stored access state; And an interrupt controller for providing the stored access state to a second processor. 청구항 8은(는) 설정등록료 납부시 포기되었습니다.Claim 8 was abandoned when the registration fee was paid. 제1항에 있어서, 상기 메모리 어레이는 DRAM 셀 구조를 가지는 것을 특징으로 하는 듀얼 포트 메모리.2. The dual port memory of claim 1 wherein the memory array has a DRAM cell structure. 청구항 9은(는) 설정등록료 납부시 포기되었습니다.Claim 9 was abandoned upon payment of a set-up fee. 제1항에 있어서, 상기 듀얼 포트 메모리는 SDRAM 듀얼 포트 메모리인 것을 특징으로 하는 듀얼 포트 메모리.The dual port memory of claim 1, wherein the dual port memory is an SDRAM dual port memory. 제1 및 제2 프로세서가 공동으로 액세스 하는 제1 공유 메모리 및 제2 공유 메모리 영역을 포함하는 메모리 어레이;A memory array including a first shared memory and a second shared memory area jointly accessed by the first and second processors; 상기 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 제1 및 제2 공유 메모리 영역 중 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제1 메모리 인터페이스;A first memory interface configured to perform a read or write operation on at least one shared memory area of the first and second shared memory areas based on an address and a control signal provided from the first processor; 상기 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 제1 및 제2 공유 메모리 영역 중 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제2 메모리 인터페이스; 및A second memory interface configured to perform a read or write operation on at least one shared memory area of the first and second shared memory areas based on an address and a control signal provided from the second processor; And 상기 제1 및 제2 공유 메모리 영역에 대한 상기 제1 프로세서의 액세스 상태 및 상기 제2 프로세서의 액세스 상태를 각각 저장하고 상기 제1 프로세서 및 제2 프로세서의 요청시 상기 저장된 액세스 상태를 제공하는 접근 제어 장치를 포함하 는 듀얼 포트 메모리.An access control that stores the access state of the first processor and the access state of the second processor to the first and second shared memory regions, respectively, and provides the stored access state upon request of the first processor and the second processor; Dual port memory containing the device. 제1 프로세서;A first processor; 제2 프로세서; 및A second processor; And 상기 제1 및 제2 프로세서가 공동으로 액세스하는 적어도 하나의 공유 메모리 영역을 가지는 메모리 어레이와, 상기 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 두 개 이상의 메모리 영역 중 적어도 하나의 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제1 메모리 인터페이스와, 상기 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 두 개 이상의 메모리 영역 중 적어도 하나의 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제2 메모리 인터페이스 및 상기 적어도 하나의 공유 메모리 영역 각각에 대한 상기 제1 프로세서 및 제2 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하고 상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고, 상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 접근 제어 장치를 가지는 듀얼 포트 메모리를 포함하는 메모리 시스템.A memory array having at least one shared memory area jointly accessed by the first and second processors, and at least one of the two or more memory areas based on an address and a control signal provided from the first processor; A first memory interface performing a read or write operation, and a second memory interface performing a read or write operation on at least one of the two or more memory regions based on an address and a control signal provided from the second processor; And store access states of each of the first processor and the second processor for each of the at least one shared memory area for each processor, and provide access permission signals to the first and second processors based on the stored access states. And the first and second pros And a dual port memory having an access control device for providing a stored access state to a parser. 청구항 12은(는) 설정등록료 납부시 포기되었습니다.Claim 12 was abandoned upon payment of a registration fee. 제11항에 있어서, 상기 제1 프로세서는 베이스 밴드 프로세서이고, 상기 제2 프로세서는 응용프로그램을 수행하는 응용 프로세서인 것을 특징으로 하는 메모리 시스템.12. The memory system of claim 11, wherein the first processor is a baseband processor and the second processor is an application processor that executes an application program. 적어도 하나의 공유 메모리 영역을 가지는 듀얼 포트 메모리에 대한 제1 및 제2 프로세서의 액세스 방법에 있어서,A method of accessing first and second processors to dual port memory having at least one shared memory area, the method comprising: 상기 적어도 하나의 공유 메모리 영역에 대한 상기 제1 및 제2 프로세서 각각의 액세스 상태를 각 프로세서 별로 저장하는 단계;Storing access states of each of the first and second processors to the at least one shared memory area for each processor; 상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하는 단계; 및Providing an access grant signal to the first and second processors based on the stored access state; And 상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 단계를 포함하는 듀얼 포트 메모리의 접근 제어 방법.Providing the stored access state to the first and second processors. 제13항에 있어서, 상기 제1 및 제2 프로세서 각각의 액세스 상태를 각 프로세서 별로 저장하는 단계는 The method of claim 13, wherein the storing of the access state of each of the first and second processors for each processor is performed. 상기 적어도 하나의 공유 메모리 영역에 대한 액세스 요청이 발생되면 상기 적어도 하나의 공유 메모리 영역의 액세스 상태에 따라 세마포 신호를 출력하는 단계;Outputting a semaphore signal according to an access state of the at least one shared memory area when an access request for the at least one shared memory area is generated; 상기 세마포 신호와 마스크 신호의 마스크 연산을 수행하는 단계; 및Performing a mask operation on the semaphore signal and the mask signal; And 상기 마스크 연산을 수행한 결과를 액세스 상태로서 저장하는 단계를 포함하는 것을 특징으로 하는 듀얼 포트 메모리의 접근 제어 방법.And storing the result of performing the mask operation as an access state. 청구항 15은(는) 설정등록료 납부시 포기되었습니다.Claim 15 was abandoned upon payment of a registration fee. 제14항에 있어서, 상기 세마포 신호를 출력하는 단계는 15. The method of claim 14, wherein outputting the semaphore signal comprises 상기 액세스가 요청된 공유 메모리 영역에 제1 및 제2 프로세서 중 어느 프 로세서도 액세스를 하지 않으면 액세스가 가능함을 나타내는 세마포 신호를 출력하고, 상기 요청된 공유 메모리 영역에 액세스 중인 프로세서가 존재하면 액세스가 가능하지 않음을 나타내는 세마포 신호를 출력하는 것을 특징으로 하는 듀얼 포트 메모리의 접근 제어 방법.Outputs a semaphore signal indicating that access is possible if no one of the first and second processors has access to the shared memory area for which access is requested, and if there is a processor that is accessing the requested shared memory area, access is And outputting a semaphore signal indicating that it is not possible. 청구항 16은(는) 설정등록료 납부시 포기되었습니다.Claim 16 was abandoned upon payment of a setup registration fee. 제14항에 있어서, 상기 마스크 신호는 소정의 공유 메모리 영역에 대한 액세스를 차단하기 위한 신호인 것을 특징으로 하는 듀얼 포트 메모리의 접근 제어 방법.15. The method of claim 14, wherein the mask signal is a signal for blocking access to a predetermined shared memory area. 청구항 17은(는) 설정등록료 납부시 포기되었습니다.Claim 17 was abandoned upon payment of a registration fee. 제14항에 있어서, 상기 액세스 허용 신호를 제공하는 단계는15. The method of claim 14, wherein providing the access grant signal is 상기 마스크 연산을 수행한 결과에 기초하여 액세스 권한 신호를 출력하는 단계; 및Outputting an access right signal based on a result of the mask operation; And 기저장된 변환 제어 신호에 상응하여 상기 액세스 권한 신호를 변환하여 액세스 허용 신호를 출력하는 단계를 포함하는 것을 특징으로 하는 듀얼 포트 메모리의 접근 제어 방법.And converting the access right signal in correspondence with a pre-stored conversion control signal to output an access permission signal.
KR1020060100400A 2006-10-16 2006-10-16 Dual Port Memory having Access Control Device, Memory System Having the Same and Access Control Method for Dual Port Memory KR100827720B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060100400A KR100827720B1 (en) 2006-10-16 2006-10-16 Dual Port Memory having Access Control Device, Memory System Having the Same and Access Control Method for Dual Port Memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060100400A KR100827720B1 (en) 2006-10-16 2006-10-16 Dual Port Memory having Access Control Device, Memory System Having the Same and Access Control Method for Dual Port Memory

Publications (2)

Publication Number Publication Date
KR20080034313A KR20080034313A (en) 2008-04-21
KR100827720B1 true KR100827720B1 (en) 2008-05-07

Family

ID=39573799

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060100400A KR100827720B1 (en) 2006-10-16 2006-10-16 Dual Port Memory having Access Control Device, Memory System Having the Same and Access Control Method for Dual Port Memory

Country Status (1)

Country Link
KR (1) KR100827720B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101647818B1 (en) 2010-04-13 2016-08-12 삼성전자주식회사 Apparatus for routing data between multicore and method thereof
KR102102335B1 (en) * 2018-02-06 2020-04-20 엘에스일렉트릭(주) Dual memory structure and method for processing message of PLC using thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020058322A (en) * 2000-12-29 2002-07-12 엘지전자 주식회사 Operating Method of Processor Using Dual Port Memory
JP2002312234A (en) 2001-04-17 2002-10-25 Yaskawa Electric Corp Dual port memory system
JP2003167752A (en) 2001-11-29 2003-06-13 Nec Yonezawa Ltd Program update system, program update method and program update program
JP2003280980A (en) 2002-03-20 2003-10-03 Matsushita Electric Ind Co Ltd Shared memory exclusive control device and shared memory exclusive control method
US20030204665A1 (en) 2002-04-26 2003-10-30 Jain Raj Kumar High performance architecture with shared memory
US6684305B1 (en) 2001-04-24 2004-01-27 Advanced Micro Devices, Inc. Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020058322A (en) * 2000-12-29 2002-07-12 엘지전자 주식회사 Operating Method of Processor Using Dual Port Memory
JP2002312234A (en) 2001-04-17 2002-10-25 Yaskawa Electric Corp Dual port memory system
US6684305B1 (en) 2001-04-24 2004-01-27 Advanced Micro Devices, Inc. Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence
JP2003167752A (en) 2001-11-29 2003-06-13 Nec Yonezawa Ltd Program update system, program update method and program update program
JP2003280980A (en) 2002-03-20 2003-10-03 Matsushita Electric Ind Co Ltd Shared memory exclusive control device and shared memory exclusive control method
US20030204665A1 (en) 2002-04-26 2003-10-30 Jain Raj Kumar High performance architecture with shared memory

Also Published As

Publication number Publication date
KR20080034313A (en) 2008-04-21

Similar Documents

Publication Publication Date Title
US7349285B2 (en) Dual port memory unit using a single port memory core
US7127563B2 (en) Shared memory architecture
US7650453B2 (en) Information processing apparatus having multiple processing units sharing multiple resources
EP3082048B1 (en) Memory configured to provide simultaneous read/write access to multiple banks
US20140047197A1 (en) Multiport memory emulation using single-port memory devices
JPH07182870A (en) Synchronous random access memory
JP4827399B2 (en) Semiconductor memory device
KR100827720B1 (en) Dual Port Memory having Access Control Device, Memory System Having the Same and Access Control Method for Dual Port Memory
KR101110550B1 (en) Processor, Multi-processor System And Method For Controlling Access Authority For Shared Memory In Multi-processor System
JP2008140078A (en) Bus bridge device, information processor, and data transfer control method
KR100872196B1 (en) Memory system and method of controlling access of dual port memory using the memory system
US6442645B1 (en) Pre-decode conditional command generation for reduced SDRAM cycle latency
CN112100098B (en) DDR control system and DDR memory system
KR100874169B1 (en) Dual port memory for direct transfer of commands between processors and method for performing them
US8971145B2 (en) Synchronous multiple port memory with asynchronous ports
JPWO2006132006A1 (en) Memory control device and memory control method
US7224622B2 (en) Method for writing data into memory and the control device
KR20080046065A (en) Dual port memory having access control device for shared memory, multi-processor system having access control device for shared memory and method for controlling access for shared memory
KR100886179B1 (en) Method for Handling Access Right Acquisition in Dual Port Memory and Apparatus therefore
KR100863541B1 (en) Synchronization Control Device, Dual Port Memory Having Synchornization Control Device and Method for Controlling Synchonization in Dual Port Memory
US8074096B2 (en) Semiconductor integrated circuit, memory system, memory controller and memory control method
KR100877972B1 (en) Dual Port Memory for directly transferring data between processors and Method thereof
JPH05151769A (en) Multi port memory
KR100816038B1 (en) Method for accessing shared memory in multi-processor system
KR100813133B1 (en) Dual port memory apparatus, memory system and method for adaptive using shared memory area of dual port memory apparatus

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
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20170329

Year of fee payment: 10