KR0152225B1 - 공유 메모리의 사용 권한 제어 장치 - Google Patents

공유 메모리의 사용 권한 제어 장치

Info

Publication number
KR0152225B1
KR0152225B1 KR1019950052297A KR19950052297A KR0152225B1 KR 0152225 B1 KR0152225 B1 KR 0152225B1 KR 1019950052297 A KR1019950052297 A KR 1019950052297A KR 19950052297 A KR19950052297 A KR 19950052297A KR 0152225 B1 KR0152225 B1 KR 0152225B1
Authority
KR
South Korea
Prior art keywords
shared memory
signal
slave
master
monitoring
Prior art date
Application number
KR1019950052297A
Other languages
English (en)
Other versions
KR970049634A (ko
Inventor
한종욱
Original Assignee
양승택
한국전자통신연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 양승택, 한국전자통신연구소 filed Critical 양승택
Priority to KR1019950052297A priority Critical patent/KR0152225B1/ko
Publication of KR970049634A publication Critical patent/KR970049634A/ko
Application granted granted Critical
Publication of KR0152225B1 publication Critical patent/KR0152225B1/ko

Links

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns

Landscapes

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

Abstract

본 발명은 두개의 프로세서가 메모리를 공유하는 경우 공유 메모리에 대한 사용 권한을 하드웨어만으로 제어하는 장치에 관한 것으로서, 공유 메모리의 사용 여부를 감시하는 공유 메모리 사용 감시 수단(1), 공유 메모리를 사용하는 경우 대기 상태를 제어하는 대기 상태 제어 수단(2), 공유 메모리 사용 감시 수단과 대기 상태 제어 수단으로 부터 결과를 받아 공유 메모리 사용을 제어하는 공유 메모리 사용 제어 수단(3)을 구비하여 순수하게 하드웨어만으로 공유 메모리의 사용을 제어할 수 있으며, 슬레이브 프로세서의 상태에 관계없이 마스터 프로세서의 상태에 따라 모조건 정지시키는 방법에 비해 마스터 프로세서와 슬레이브 프로세서가 동시에 공유 메모리를 사용할 때만 슬레이브 프로세서를 정지시키는 것이 아니라 마스터 프로세서의 공유 메모리 사용이 끝나기를 기다리게 만드는 방법을 사용함으로 훨씬 작업 효율이 높아지고, 두 개의 프로세서가 레지스터나 핸드 쉐이크 신호등을 통하여 데이타 교환등을 수행함으로서 공유 메모리 사용 권한을 제어하였던 종래의 방법에 비해 소프트웨어적인 부담이 전혀없는 효과가 있다.

Description

공유 메모리의 사용 권한 제어 장치
제1도는 본 발명의 일실시예에 따른 공유 메모리 사용 권한 제어 장치 블럭 구성도.
제2도는 본 발명의 일실시예에 다른 공유 메모리 사용 제어부의 블럭 구성도.
제3도는 본 발명의 일실시예에 따른 공유 메모리 사용 권한 제어 장치의 상세 구성도.
제4도는 본 발명의 일실시예에 따른 공유 메모리 사용 권한 제어 장치의 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
1 : 공유 메모리 사용 감시부 2 : 대기 상태 제어부
3 : 공유 메모리 사용 제어부 4 : 공유 메모리
본 발명은 두개의 프로세서가 메모리를 공유하는 공유 메모리에 대한 사용 권한을 하드웨어만으로 제어하는 장치에 관한 것이다.
프로세서를 사용하여 디지탈 시스템을 설계하는 경우 다른 프로세서와 메모리를 공유하는 일이 필요하게 된다. 프로세서간 데이타 교환이나 특정 데이타의 공유를 위하여 두 개의 프로세서가 특정 메모리를 공유하게 되는데 일반적으로 두 개의 프로세서가 동시에 메모리를 사용할 수는 없으므로 여러 방법을 사용하여 이런 문제를 해결하여 왔다. 두 개의 프로세서를 마스터, 슬레이브로 나누어 마스터 프로세서가 메모리를 사용하는 경우에는 항상 슬레이브 프로세서의 동작을 정지시켜 아이들(Idle) 상태로 있게 하여 마스터가 메모리를 사용할 수 있게 하는 방법이 있다. 이 방법은 슬레이브 프로세서를 정지시키므로 슬레이브 프로세서가 다른 목적의 일을 수행해도 마스터 프로세서가 공유 메모리를 사용하게 되면 정지당하게 되므로 비효율적인 단점이 있다.
또한, 별개의 레지스터등을 이용하여 메모리 사용시 마다 데이타 등을 검사한 후 미사용시 사용을 하는 방법이 있는데, 이 방법은 공유 메모리 사용시마다 소프트웨어적으로 상대방 프로세서의 사용 여부를 검사하여야 하는 복잡성이 있다. 그리고 핸드 쉐이크 신호를 주고 받으며 차례를 지켜 메모리를 사용하는 방법이 있는데, 이 방법도 공유 메모리의 사용시 마다 상대방 프로세서와 정보를 교환해야 하는 단점이 있다.
그러므로 종래의 방법은 공유 메모리를 사용하기 위해 상대방 프로세서의 수행 능력을 떨어지게 하거나 공유 메모리를 사용시 마다 소프트웨어적으로 사용 가능성을 알기 위한 프로그램을 실행시켜야 하므로 비효율적인 문제점이 있었다.
상기와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 본 발명은 두 개의 프로세서가 자유로이 소프트웨어와 독립적으로 하드웨어적인 제어만으로 공유 메모리를 사용할 수 있는 공유 메모리의 사용 권한 제어 장치를 제공하는 데 그 목적이 있다.
상기의 목적을 달성하기 위한 본 발명은 클럭과 마스터 프로세서의 공유 메모리 선택 신호와 슬레이브 프로세서의 공유 메모리 선택 신호를 입력받아 마스터 프로세서가 공유 메모리를 사용하는 경우 사용 여부를 나타내는 감시 신호를 출력하는 공유 메모리 사용 감시 수단;외부로 부터 슬레이브측 공유 메모리 대기 상태 신호와 슬레이브측 타 주변 장치 선택신호 관련 대기 상태 신호를 입력받아 상기 공유 메모리 사용 감시수단으로 부터 마스터 프로세서가 공유 메모리를 사용함을 나타내는 감시 신호를 입력받아 슬레이브 프로세서의 공유 메모리 대기 상태 신호를 제어하기 위한 슬레이브측 준비 신호를 출력하는 대기 상태 제어수단;및 외부의 마스터측 공유 메모리 선택 신호와 상기 공유 메모리 사용 감시 수단의 감시 신호를 입력받아 칩 선택 신호를 공유 메모리에 출력하고, 데이타와 어드레스를 입력받아 상기 공유 메모리 사용 감시 수단의 감시 신호와 외부의 마스터측, 슬레이브측 쓰기 신호에 의해 생성된 쓰기 신호에 의해 데이타를 저장하고, 상기 공유 메모리 사용 감시 수단의 감시 신호와 외부의 마스터측, 슬레이브측 읽기 신호에 의해 생성된 읽기 신호에 의해 공유 메모리에 저장된 데이타를 읽어 출력하는 공유 메모리 사용 제어 수단을 구비한 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 일실시예를 상세히 설명한다.
제1도는 본 발명의 일실시예에 따른 공유 메모리 사용 권한 제어 장치의 블럭 구성도로서, 도면에서 부호 1은 공유 메모리 사용 감시부, 2는 대기 상태 제어부, 3은 공유 메모리 사용 제어부, 4는 공유 메모리를 각각 나타낸다.
공유 메모리 사용 감시부(1)는 클럭과 마스터 프로세서의 공유 메모리 선택 신호와 슬레이브 프로세서의 공유 메모리 선택 신호를 입력받아 어느 프로세서가 공유 메모리를 사용하는지 검사하는 역활을 수행한다. 즉, 마스터 프로세서가 공유 메모리를 사용한다면 사용 여부를 나타내는 감시 신호를 대기 상태 제어부(2)로 출력한다.
대기 상태 제어부(2)는 외부로 부터 슬레이브측 공유 메모리 대기 상태 신호와 슬레이브측 타 주변장치 선택신호 관련 대기 상태 신호를 입력받아 상기 공유 메모리 사용 감시부(1)로 부터 마스터 프로세서가 공유 메모리를 사용한다는 감시 신호를 받으면 슬레이브 프로세서의 공유 메모리 대기 상태 신호를 제어하여 마스터 프로세서의 공유 메모리 사용이 종료될 때까지 기다리게 하기 위한 슬레이브측 준비 신호를 출력한다. 이때 슬레이브측의 공유 메모리 선택 시간을 마스터측 공유 메모리 선택 시간보다 약 3배 정도 길게 유지하도록 설계해야만 한다. 즉, 연속적으로 마스터측의 공유 메모리 선택 신호가 활성화될 때 한 활성화 신호 시간의 2배 길이에다 활성화 신호간 시간 간격 만큼을 합한 시간 동안 슬레이브측 공유 메모리 신호 시간이 유지되어야만 한다. 그래야만 슬레이브측의 공유 메모리 선택 신호가 활성화된 후 어떠한 위치에서 마스터측 공유 메모리 신호가 활성화되어도 무방하게 되고, 연속적인 마스터측 공유 메모리 선택 신호의 활성화시에도 문제가 없게 된다.
공유 메모리 사용 제어부(3)는 마스터측 공유 메모리 선택 신호와 상기 공유 메모리 사용 감시부(1)의 감시 신호를 입력받아 칩 선택 신호를 공유 메모리(4)에 출력하고, 데이타와 어드레스를 입력받아 상기 공유 메모리 사용 감시부(1)의 감시 신호와 마스터측, 슬레이브측 쓰기 신호에 의해 생성된 쓰기 신호에 의해 데이타를 저장하고, 상기 공유 메모리 사용 감시부(1)의 감시 신호와 마스터측, 슬레이브측 읽기 신호에 의해 생성된 읽기 신호에 의해 공유 메모리에 저장된 데이타를 읽어 출력한다.
즉, 공유 메모리 사용 제어부(3)는 동시에 사용하는 경우가 발생되면 마스터 프로세서만 사용 가능하게 하여 주는 역활을 수행한다. 본 발명은 마스터 프로세서에게 우선권을 부여하여 동시에 공유 메모리를 사용하는 경우에는 마스터 프로세서가 공유 메모리를 사용하게 하고 슬레이브 프로세서는 마스터 프로세서의 메모리 사용이 종료될 때까지 기다리게 한 후 메모리를 사용하게 하는 것이다. 즉, 마스터 프로세서와 슬세이브 프로세서가 동시에 공유 메모리를 사용하려는 경우에만 슬레이브 프로세서의 동작을 제어하여 주는 것이다.
제2도는 본 발명의 일실시예에 따른 공유 메모리 사용 제어부(3)의 블럭 구성도를 나타낸다.
공유 메모리 사용 제어부(3)는 외부의 마스터측 공유 메모리 선택 신호와 공유 메모리 사용 감시부(1)의 감시 신호에 의해 어드레스를 입력받아 공유 메모리(4)에 출력하는 제1 버퍼(31), 외부의 마스터측 공유 메모리 선택 신호와 상기 공유 메모리 사용 감시부(1)의 감시 신호를 입력 받아 칩 선택 신호를 공유 메모리(4)에 출력하는 선택기(32), 상기 공유 메모리 사용 감시부(1)의 감시 신호와 외부의 마스터측 읽기/쓰기 신호와 슬레이브측 읽기/쓰기 신호를 입력받아 데이타를 저장하기 위한 쓰기 신호와 데이타를 읽기 위한 읽기 신호를 공유 메모리(4)에 출력하고, 슬레이브측 쓰기 신호를 출력하는 읽기/쓰기 제어기(33), 및 외부로 부터 마스터측 공유 메모리 선택 신호, 마스터측 쓰기 신호, 그리고 상기 공유 메모리 사용 감시부(1)의 감시 신호를 입력받고, 상기 읽기/쓰기 제어기(33)의 슬레이브측 쓰기 신호를 입력 받아 공유 메모리(4)에 데이타를 입출력하는 제2 버퍼(34)로 구성된다.
제3도는 본 발명의 일실시예에 따른 공유 메모리 사용 권한 제어 장치의 상세 구성도를 나타낸다.
먼저, 공유 메모리 사용 감시부(1)는 외부의 마스터측 공유 메모리 선택 신호를 입력 받아 마스터측 사용 중 신호를 출력하는 플립플롭(11), 상기 플립플롭(11)의 출력과 외부의 슬레이브측 공유 메모리 선택 신호를 입력받아 논리합하여 감시신호를 공유 메모리 사용 제어부(3)로 출력하는 논리합 게이트(12), 및 상기 논리합 게이트(12)의 출력을 반전시켜 대기 상태 제어부(2)로 출력하는 인버터(13)로 구성된다.
대기 상태 제어부(2)는 외부의 슬레이브측 공유 메모리 대기 상태 신호를 데이타 단자에 입력 받고, 공유 메모리 사용 감시부(1)의 감시 신호를 입력받아 출력하는 플립플롭(21), 및 상기 플립플롭(21)의 출력과 외부의 슬레이브측 타 주변 장치 선택 신호 관련 대기 상태 신호를 입력 받아 논리곱하여 슬레이브측 준비 신호를 출력하는 논리곱 게이트(22)로 구성된다.
공유 메모리 사용 제어부(3)의 선택기(32)는 외부의 마스터측 공유 메모리 선택 신호와 공유 메모리 사용 감시부(1)의 감시 신호를 입력받아 논리곱하여 공유 메모리(4)에 칩 선택 신호를 출력하는 논리곱 게이트로 구성되며, 제1 버퍼(31)는 외부의 마스터측 공유 메모리 선택 신호에 의해 어드레스를 입력받아 공유 메모리에 출력하는 마스터측 버퍼(310)와 공유 메모리 사용 감시부(1)의 감시 신호에 의해 어드레스를 입력받아 공유 메모리(4)에 출력하는 슬레이브측 버퍼(311)로 구성된다.
또한 공유 메모리 사용 제어부(3)의 읽기/쓰기 제어기(33)는 공유 메모리 사용 감시부(1)의 감시 신호와 외부의 슬레이브측 쓰기 신호를 입력받아 논리합하여 슬레이브측 쓰기 신호를 출력하는 제1 논리합 게이트(331), 상기 공유 메모리 사용 감시부(1)의 감시 신호와 외부의 슬레이브측 읽기 신호를 입력받아 논리합하여 슬레이브측 읽기 신호를 출력하는 제2 논리합 게이트(332), 상기 제1 논리합 게이트(331)의 출력과 외부의 마스터측 쓰기 신호를 입력받아 논리곱하여 공유 메모리(4)에 스기 신호를 출력하는 제1 논리곱 게이트(333), 및 상기 제2 논리합 게이트(332)의 출력과 외부의 마스터측 읽기 신호를 입력받아 논리곱하여 공유 메모리(4)에 읽기 신호를 출력하는 제2 논리곱 게이트(334)로 구성된다.
공유 메모리 사용 제어부(3)의 제2 버퍼(34)는 외부로 부터 마스터측 공유 메모리 선택 신호, 마스터측 쓰기 신호에 의해 공유 메모리(4)에 데이타를 입출력하는 마스터측 버퍼(340)와 상기 공유 메모리 사용 감시부(1)의 감시 신호와 상기 읽기/쓰기 제어기(33)의 슬레이브측 쓰기 신호를 입력받아 공유 메모리(4)에 데이타를 입출력하는 슬레이브측 버퍼(341)로 구성된다.
상기와 같이 구성된 본 발명의 동작을 살펴보면, 슬레이브 프로세서에서 출력되는 슬레이브측 공유 메모리 선택 신호가 활성화되면 논리합 게이트(12)와 선택기(32)를 통하여 공유 메모리의 칩 선택 신호로 입력된다.
이때 동시에 마스터측 공유 메모리의 선택 신호가 활성화 된다면 D-플립플롭(11)의 입력 단자 _S가 활성화되어 출력 Q는 'High' 상태가 된다.
그러므로 D-플립플롭(11)에 의하여 논리합 게이트(12)에서 슬레이브 측 공유 메모리 선택 신호는 출력에 무관하게 된다. 즉, 슬레이브측 공유 메모리 선택 신호는 마스터측 공유 메모리 선택 신호의 활성화로 인하여 공유 메모리의 칩 선택 신호와 무관하게 되는 것이다.
또한 인버터(13)를 거친 결과는 D-플립플롭(21)의 입력 _S를 활성화시켜 출력 Q를 'High' 상태로 만들게 된다.
그러므로 D-플립플롭(21)의 결과는 슬레이브 프로세서의 준비 신호 단자로 가는 회로에 연결이 되므로 결과적으로 슬레이브 프로세서의 준비 신호 단자를 비활성화시켜 계속 수행 사이클에 대기 상태를 삽입하므로 슬레이브측 공유 메모리 선택 신호를 계속 활성화 상태로 유지하게 된다.
마스터측 공유 메모리 선택 신호가 종료가 되면 D-플립플롭(11)의 출력 Q는 'Low' 상태가 되므로 이때까지 대기 상태 삽입으로 기다리고 있던 슬레이브측 공유 메모리 선택 신호가 논리합 게이트(12)를 통하여 출력될 수 있으므로 선택기(32)의 논리곱 게이트를 거친 후 공유 메모리(4)으 칩 선택 신호를 활성화시킨다.
또한 인버터(13)를 통과하여 D-플립플롭(21)의 입력 신호 _S를 비활성화시켜 슬레이브의 공유 메모리 선택 신호에 의하여 생성되는 슬레이브측 공유 메모리 대기 상태 신호를 입력 D를 통하여 출력 Q로 래치하므로 논리곱 게이트(22)를 통하여 슬레이브 프로세서의 준비 신호로 입력이 되게 된다.
그러므로 슬레이브측의 공유 메모리 선택 신호는 이상 없이 동작을 하게 되는 것이다.
논리곱 게이트(22)는 슬레이브 프로세서에서 발생되는 다른 선택 신호들과 관련된 스레이브측 타 주변 장치 선택 신호 관련 대기 상태 신호의 출력을 함께 입력받으므로 공유 메모리(4)를 사용하지 않는 경우의 준비 신호의 출력을 정상적으로 동작하게 하여준다.
마스터 프로세서에서 출력되는 공유 메모리 선택 신호는 D-플립플롭(11)의 출력 Q를 'High'로 만들고 선택기(32)를 통과하여 공유 메모리(4)의 칩 선택 신호를 활성화시키게 된다. 이때 슬레이브 프로세서가 공유 메모리와 관련이 없는 다른 주변 장치와 일을 수행중이라면 논리곱 게이트(22)로 다른 주변 장치 관련 신호가 입력이 되므로 D-플립플롭(21)의 출력 Q를 'High' 상태로 만들어도 문제가 없게 된다.
읽기/쓰기 제어기(33)의 논리곱 게이트(333)는 마스터 프로세서와 슬레이브 프로세서의 쓰기 신호(_WR)를 공유 메모리(4)의 입력 쓰기 인에이블 단자(_WE)에 출력하며, 쓰기 신호(_WR)는 데이타 버스용 버퍼의 방향을 결정하는 역활을 수행한다.
읽기/쓰기 제어기(33)의 논리곱 게이트(334)도 마찬가지로 마스터 프로세서와 슬레이브 프로세서의 읽기 신호(_RD)를 공유 메모리(4)의 입력 출력 인에이블 단자(_OE)에 출력한다.
공유 메모리 사용 감시부(1)의 논리합 게이트(12)의 출력과 외부의 마스터측 공유 메모리 선택 신호는 마스터측 입력버터(310), 슬레이브측 입력 버퍼(311), 마스터측 출력 버퍼(340), 슬레이브측 출력 버퍼(341)의 입력 _G를 화성화시키는데 사용이 된다.
여기서 읽기/쓰기 제어기(33)의 제1, 제2 논리곱 게이트(333, 334)에 각각 입력되는 슬레이브측 쓰기 신호와 읽기 신호는 제1, 제2 논리합 게이트(331, 332)에서 공유 메모리 사용 감시부(1)의 논리합 게이트(12)의 출력인 감시 신호로 제어가 되므로 마스터와 슬레이브가 동시에 공유 메모리(4)를 사용하는 경우 데이타 충돌을 방지하여 준다.
제4도는 본 발명의 일실시예에 따른 공유 메모리 사용 권한 제어 장치의 타이밍도를 나타낸 것으로서, 마스터 프로세서와 슬레이브 프로세서가 동시에 공유 메모리(4)를 사용하는 경우에 대한 것이다.
우선 슬레이브측에선 공유 메모리 선택 신호를 마스터측의 공유 메모리 선택 신호보다 두배의 대기 상태를 삽입할 수 있도록 해야만 한다.
도면과 같이 마스터측 및 슬레이브측의 공유 메모리 선택 신호가 동시에 활성화가 되면 D-플립플롭(11)의 입력 _S를 활성화하므로 출력 Q가 'High' 상태가 된다.
이 신호는 논리합 게이트(12)에서 슬레이브측의 공유 메모리 선택 신호를 마스킹함으로 대기 상태 제어부(2)의 D_플립플롭(21)의 입력 _S를 활성화하여 출력 Q로 'High' 상태가 출력되게 한다.
다시 상기 D-플립플롭(21)의 출력 Q는 논리곱 게이트(22)를 통하여 슬레이브 프로세서의 슬레이브측 준비 신호 단자로 입력이 된다. 이때 슬레이브의 다른 주변 장치 선택 신호들은 모두 비활성화 상태가 되므로 슬레이브 프로세서의 슬레이브측 중비 신호 단자는 계속 'High' 상태가 된다.
그러므로 마스터 프로세서의 공유 메모리 선택 신호가 종료될 때까지 대기 상태를 삽입하게 된다.
마스터측 공유 메모리 선택 신호가 종료되면 D-플립플롭(21)의 입력 D인 슬레이브측 공유 메모리 대기 상태 신호가 출력 Q로 나오게 되므로 마스터 프로세서에서 생성되었던 대기 상태 만큼을 더 유지한 후 슬레이브 프로세서의 슬레이브측 준비 신호는 활성화가 된다. 즉, 슬레이브 프로세서의 공유 메모리 선택 신호에 필요한 대기 상태 수를 마스터측의 3배로 설계했으므로 마스터측 공유 메모리 선택 신호가 종료된 후에 마스터측 공유 메모리 선택 신호에 필요한 만큼의 대기 상태가 삽입된 후 슬레이브 프로세서에서 수행하였던 공유 메모리 선택 신호가 종료가 되는 것이다.
본 발명의 구현시 슬레이브와 마스터측의 공유 메모리 선택 신호가 겹치는 경우에만 슬레이브측의 공유 메모리 선택 시간을 마스터측 공유 메모리 선택 시간보다 약 3배 정도 길게 유지하도록 설계해야만 한다.
그래야만 슬레이브측의 공유 메모리 선택 신호가 활성화된 후 어떠한 위치에서 마스터측 공유 메모리 신호가 활성화되어도 무방하게 되고 연속적인 마스터측 공유 메모리 선택 신호의 활성화시에도 문제가 없게 된다.
연속적으로 마스터측의 공유 메모리 선택 신호가 활성화될 때 한 활성화 신호 시간의 2배 길이와 두개의 연속된 활성화 신호간 시간 간격만큼을 합한 시간 동안 슬레이브측 공유 메모리 신호 시간이 유지되어야만 한다.
D-플립플롭(21)의 입력 D로 들어오는 슬레이브측 공유 메모리 대기 상태 신호를 마스터측 공유 메모리 선택 신호로 제어하여 주면 된다. 즉, 카운터와 플립플롭을 사용하여 슬레이브측 대기 생성 회로를 구성한 후 마스터측 공유 메모리 신호가 활성화될 때마다 카운터의 초기치를 재 로드(Load)하는 방법으로 제어하여 주면 된다. 단, 슬레이브와 마스터측의 공유 메모리가 겹치는 경우에만 재 로드(Load)하게 하여주고, 이때 초기치 값을 마스터측 공유 메모리 선택 신호 간격의 약 3배 정도로 하여주면 된다.
상기와 같이 구성되어 동작하는 본 발명은 순수하게 하드웨어만으로 공유 메모리의 사용을 제어할 수 있으며, 슬레이브 프로세서의 상태에 관계없이 마스터 프로세서의 상태에 따라 무조건 정지시키는 방법에 비해 마스터 프로세서와 슬레이브 프로세서가 동시에 공유 메모리를 사용할 때만 슬레이브 프로세서를 정지시키는 것이 아니라 마스터 프로세서의 공유 메모리 사용이 끝나기를 기다리게 만드는 방법을 사용함으로 훨씬 작업 효율이 높아지고, 두 개의 프로세서가 레지스터나 핸드 쉐이크 신호 등을 통하여 데이타 교환 등을 수행함으로서 공유 메모리 사용 권한을 제어하였던 종래의 방법에 비해 소프트웨어적인 부담이 전혀없는 효과가 있다.

Claims (7)

  1. 클럭과 마스터 프로세서의 공유 메모리 선택 신호와 슬레이브 프로세서의 공유 메모리 선택 신호를 입력받아 마스터 프로세서가 공유 메모리를 사용하는 경우 사용 여부를 나타내는 감시 신호를 출력하는 공유 메모리 사용 감시 수단(1);외부로 부터 슬레이브측 공유 메모리 대기 상태 신호와 슬레이브측 타 주변 장치 선택신호 관련 대기 상태 신호를 입력받아 상기 공유 메모리 사용 감시수단(1)으로 부터 마스터 프로세서가 공유 메모리를 사용함을 나타내는 감시 신호를 입력받아 슬레이브 프로세서의 공유 메모리 대기 상태 신호를 제어하기 위한 슬레이브측 준비 신호를 출력하는 대기 상태 제어 수단(2);및 외부의 마스터측 공유 메모리 선택 신호와 상기 공유 메모리 사용 감시 수단(1)의 감시 신호를 입력받아 칩 선택 신호를 공유 메모리(4)에 출력하고, 데이타와 어드레스를 입력받아 상기 공유 메모리 사용 감시 수단(1)의 감시 신호와 외부의 마스터측, 슬레이브측 쓰기 신호에 의해 생성된 쓰기 신호에 의해 데이타를 저장하고, 상기 공유 메모리 사용 감시 수단(1)의 감시 신호와 외부의 마스터측, 슬레이브측 읽기 신호에 의해 생성된 읽기 신호에 의해 공유 메모리에 저장된 데이타를 읽어 출력하는 공유 메모리 사용 제어 수단(3)을 구비한 것을 특징으로 하는 공유 메모리의 사용 권한 제어 장치.
  2. 제1항에 있어서, 슬레이브와 마스터측의 공유 메모리 선택 신호가 겹치는 경우에는 슬레이브측의 공유 메모리 선택 시간을 마스터측 공유 메모리 선택 시간보다 약 3배 정도 길게 유지하도록 구성한 것을 특징으로 하는 공유 메모리의 사용 권한 제어 장치.
  3. 제1항에 있어서, 상기 공유 메모리 사용 감시 수단(1)은, 외부의 마스터측 공유 메모리 선택 신호를 입력받아 마스터측 사용 중 신호를 출력하는 프립플롭 수단(11);상기 플립플롭 수단(11)의 출력과 외부의 슬레이브측 공유 메모리 선택 신호를 입력받아 논리합하여 감시신호를 상기 공유 메모리 사용 제어 수단(3)으로 출력하는 논리합 게이트 수단(12);및 상기 논리합 게이트 수단(12)의 출력을 반전시켜 대기 상태 제어 수단(2)으로 출력하는 인버터 수단(13)으로 구성된 것을 특징으로 하는 공유 메모리의 사용 권한 제어 장치.
  4. 제1항에 있어서, 상기 대기 상태 제어 수단(2)은, 외부의 슬레이브측 공유 메모리 대기 상태 신호를 데이타 단자에 입력받고, 상기 공유 메모리 사용 감시 수단(1)의 감시 신호를 입력받아 출력하는 플립플롭 수단(21);및 상기 플립플롭 수단(21)의 출력과 외부의 슬레이브측 타 주변 장치 선택 신호 관련 대기 상태 신호를 입력받아 논립곱하여 슬레이브측 준비 신호를 출력하는 논리곱 게이트 수단(22)으로 구성된 것을 특징으로 하는 공유 메모리의 사용 권한 제어 장치.
  5. 제1항에 있어서, 상기 공유 메모리 사용 제어 수단(3)은, 외부의 마스터측 공유 메모리 선택 신호와 상기 공유 메모리 사용 감시 수단(1)의 감시 신호에 의해 어드레스를 입력받아 공유 메모리(4)에 출력하는 제1 버퍼링 수단(31);외부의 마스터측 공유 메모리 선택 신호와 상기 공유 메모리 사용 감시 수단(1)의 감시 신호를 입력받아 칩 선택 신호를 공유 메모리(4)에 출력하는 선택 수단(32);상기 공유 메모리 사용 감시 수단(1)의 감시 신호와 외부의 마스터측 읽기/쓰기 신호와 슬레이브측 읽기/쓰기 신호를 입력받아 데이타를 저장하기 위한 쓰기 신호와 데이타를 읽기 위한 읽기 신호를 공유 메모리(4)에 출력하고, 슬레이브측 쓰기 신호를 출력하는 읽기/쓰기 제어 수단(33);및 외부로 부터 마스터측 공유 메모리 선택 신호, 마스터측 쓰기 신호, 그리고 상기 공유 메모리 사용 감시 수단(1)의 감시 신호를 입력받고, 상기 읽기/쓰기 제어 수단(33)의 슬레이브측 쓰기 신호를 입력받아 공유 메모리(4)에 데이타를 입출력하는 제2 버퍼링 수단(34)을 구비한 것을 특징으로 하는 공유 메모리의 사용 권한 제어 장치.
  6. 제5항에 있어서, 상기 선택 수단(32)은, 외부의 마스터측 공유 메모리 선택 신호와 상기 공유 메모리 사용 감시 수단(1)의 감시 신호를 입력받아 논리곱하여 공유 메모리(4)에 칩 선택 신호를 출력하는 논리곱 게이트 수단으로 구성된 것을 특징으로 하는 공유 메모리의 사용 권한 제어 장치.
  7. 제5항에 있어서, 상기 읽기/쓰기 제어 수단(33)은 상기 공유 메모리 사용 감시 수단(1)의 감시 신호와 외부의 슬레이브측 쓰기 신호를 입력받아 논리합하여 슬레이브측 쓰기 신호를 출력하는 제1논리합 게이트 수단(331);상기 공유 메모리 사용 감시 수단(1)의 감시 신호와 외부의 슬레이브측 읽기 신호를 입력받아 논리합하여 슬레이브측 읽기 신호를 출력하는 제2 논리합 게이트 수단(332);상기 제1 논리합 게이트 수단(331)의 출력과 외부의 마스터측 쓰기 신호를 입력받아 논리곱하여 공유 메모리(4)에 쓰기 신호를 출력하는 제1 논리곱 게이트 수단(333);및 상기 제2 논리합 게이트 수단(332)의 출력과 외부의 마스터측 읽기 신호를 입력받아 논리곱하여 공유 메모리(4)에 읽기 신호를 출력하는 제2 논리곱 게이트 수단(334)으로 구성된 것을 특징으로 하는 공유 메모리의 사용 권한 제어 장치.
KR1019950052297A 1995-12-20 1995-12-20 공유 메모리의 사용 권한 제어 장치 KR0152225B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950052297A KR0152225B1 (ko) 1995-12-20 1995-12-20 공유 메모리의 사용 권한 제어 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950052297A KR0152225B1 (ko) 1995-12-20 1995-12-20 공유 메모리의 사용 권한 제어 장치

Publications (2)

Publication Number Publication Date
KR970049634A KR970049634A (ko) 1997-07-29
KR0152225B1 true KR0152225B1 (ko) 1998-10-15

Family

ID=19441621

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950052297A KR0152225B1 (ko) 1995-12-20 1995-12-20 공유 메모리의 사용 권한 제어 장치

Country Status (1)

Country Link
KR (1) KR0152225B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441742B1 (ko) * 2002-07-26 2004-07-23 (주)엔텔스 정보교환 버스를 이용한 프로세스간 통신 데이터 제어방법및 그 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441742B1 (ko) * 2002-07-26 2004-07-23 (주)엔텔스 정보교환 버스를 이용한 프로세스간 통신 데이터 제어방법및 그 시스템

Also Published As

Publication number Publication date
KR970049634A (ko) 1997-07-29

Similar Documents

Publication Publication Date Title
JP5197571B2 (ja) マルチポート・メモリ・デバイスにおけるインターポート通信
US4737932A (en) Processor
US4591979A (en) Data-flow-type digital processing apparatus
US20100287318A1 (en) I/o and memory bus system for dfps and units with two- or multi-dimensional programmable cell architectures
CA1158737A (en) Shared synchronous memory multiprocessing arrangement
EP0172038B1 (en) Information processor
EP0409285B1 (en) Method and apparatus for data transfer between processor elements
US4835684A (en) Microcomputer capable of transferring data from one location to another within a memory without an intermediary data bus
KR900007002B1 (ko) 인터럽트 가능 버스 싸이클을 갖는 반도체 집적회로
US6874049B1 (en) Semaphores with interrupt mechanism
KR0152225B1 (ko) 공유 메모리의 사용 권한 제어 장치
KR900005284B1 (ko) 마이크로 컴퓨터
JP2005100448A (ja) データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
JPS6214868B2 (ko)
JPS59229662A (ja) 共有メモリ制御回路
JP3266610B2 (ja) Dma転送方式
JP2001014214A (ja) メモリ共有方法、およびこの方法を使用したマルチプロセッサ設備
EP1193606B1 (en) Apparatus and method for a host port interface unit in a digital signal processing unit
KR100249523B1 (ko) 중앙 처리 장치와 입/출력 제어기들간의 통신을 위한 조정회로
JPH05242008A (ja) データ処理装置
JPH03214275A (ja) 半導体集積回路
JPH06208542A (ja) バス争奪方式
JPH06301641A (ja) 電子計算機
JPH0764849A (ja) プロセッサの共有メモリ制御装置
JPS5975354A (ja) プロセッサ装置

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: 20090324

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee