KR100338954B1 - 멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법 - Google Patents

멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법 Download PDF

Info

Publication number
KR100338954B1
KR100338954B1 KR1019990066173A KR19990066173A KR100338954B1 KR 100338954 B1 KR100338954 B1 KR 100338954B1 KR 1019990066173 A KR1019990066173 A KR 1019990066173A KR 19990066173 A KR19990066173 A KR 19990066173A KR 100338954 B1 KR100338954 B1 KR 100338954B1
Authority
KR
South Korea
Prior art keywords
mask
lock mode
request
deadlock
signal
Prior art date
Application number
KR1019990066173A
Other languages
English (en)
Other versions
KR20010058810A (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 KR1019990066173A priority Critical patent/KR100338954B1/ko
Publication of KR20010058810A publication Critical patent/KR20010058810A/ko
Application granted granted Critical
Publication of KR100338954B1 publication Critical patent/KR100338954B1/ko

Links

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • G06F13/4036Coupling between buses using bus bridges with arbitration and deadlock prevention

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 멀티-버스 컴퓨터 시스템에서, 서로 다른 두 개 이상의 에이전트가 거의 동시에 임의의 에이전트를 억세스할 때 발생하는 포텐셜 데드록 상태를 검출하고 데드록을 발생시킬 수 있는 에이전트를 제한하여 버스 퍼포먼스를 향상시키는 멀티-버스 컴퓨터 시스템에서의 데드록 회피 기술을 제공함에 있다.
이러한 본 발명의 목적은, 초기 록모드가 요청된 경우 록모드 동작에 참여하는 마스터와 슬레이브의 정보를 기억해 두고, 이미 록모드 동작이 수행되고 있는 경우에는 에이전트의 리퀘스트 라인을 마스킹 처리하거나, 마스킹을 하지 않거나, 계속해서 록모드 동작을 수행할 수 있도록, 데드록을 검출하여 그에 따른 마스크신호를 발생하는 마스크 발생기(41)와; 상기 마스크 발생기(41)가 마스크신호 발생동작을 완료할때까지 리퀘스트신호를 잠시 차단하는 리퀘스트신호 선택기(42)와; 상기 마스크 발생기(41)에서 출력되는 마스크신호로 상기 리퀘스트신호 선택기(42)에서 출력되는 신호를 마스킹하는 마스크 처리부(43)와; 상기 마스크 처리부(43)의 출력신호를 대상으로 중재기능을 수행하여 그에 따른 그랜트신호(B_Gnt#0∼ B_Gnt#n)를 발생하는 아비터(44)에 의해 달성된다.

Description

멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법{DEADLOCK AVOIDANCE APPARATUS AND METHOD IN MULTI-BUS COMPUTER SYSTEM}
본 발명은 멀티-버스 컴퓨터 시스템에서 버스의 사용 성능을 향상시키는 기술에 관한 것으로, 특히 서로 다른 두 개 이상의 에이전트(agent)가 거의 동시에 임의의 에이전트를 억세스할 때 발생하는 포텐셜 데드록(Potential deadlock) 상태를 검출하고 데드록을 발생시킬 수 있는 에이전트를 제한하여 버스 사용 성능을 향상시킬 수 있도록한 멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법에 관한 것이다.
도 1은 종래 기술에 의한 멀티-버스 컴퓨터 시스템에서 데드록 검출부의 설치 위치를 나타낸 블록도로서 이에 도시한 바와 같이,버스(BUS_A) 상에 다수의 마스터(11A),(11B)가 접속되고, 또 다른 버스(BUS_B)에는 마스터(11C) 및 슬레이브(12A),(12B)가 접속되며, 상기 버스(BUS_A),(BUS_B)의 사이에 버스 컴퓨터(13)가 위치하게 되는데, 이 버스 시스템(13)에는 마스킹 시스템 및 데드록 검출부(13A)가 구축되어 있다.
도 2는 종래 기술에 의한 데드록 방지 장치의 블록도로서 이에 도시한 바와 같이, 데드록의 발생을 검출하여 마스크 요청신호(req_mask)를 출력하는 데드록 검출 및 마스크 발생부(21)와; 리퀘스트 마스크를 얼마나 유지할 수 있는지 결정해 주는 런닝 카운터(22)와; 버스 사용 요청(request)에 대해 우선권을 부여하고 마스킹을 수행하는 우선권 레절루션 및 마스킹부(Priority Resolution and Masking Block)(23)와; 우선권이 부여된 리퀘스트를 가지고 그랜트(Grant)를 생성하는 중재 상태머신 및 그랜트 발생기(24)와; 현재 그랜트를 가지고 다음 동작에 대한 가장 우선권을 갖는 에이전트를 결정하는 우선권 레지스터(25)로 구성된 것으로, 이의 작용을 첨부한 도 3을 참조하여 설명하면 다음과 같다.
마스터(11A)가 슬레이브(12B)와 잠금모드인 록모드(Lock mode)로 억세스하고 있는 도중에 그 슬레이브(12B)가 포기 및 재시도를 의미하는 디스커넥터(Relinquish and Retry) 신호를 발생시킨 후 마스터(11C)가 슬레이브(12B)를 억세스하면 교착 상태가 가능함을 의미하는 포텐셜 데드록(Potential deadlock) 상태가 검출된다.여기서, 마스터(11C)가 마스터(11A)보다 우선권이 높다. 이때, 상기 마스터(11C)의 억세스는 상기 슬레이브(12B)에 의해 거부된다. 이후, 상기 마스터(11A)와 마스터(11C)는 상기 슬레이브(12B)를 억세스하기 위해 아비터(Arbiter)에게 계속 리퀘스트신호를 전송하게 되는데, 마스터(11C)가 소속된 버스(BUS_B)의 리퀘스트를 불규칙적으로 마스킹한다. 이렇게 하는 이유는 마스터(11A)의 록모드 억세스 동작에 대해 그랜트를 주어 먼저 록 모드 동작을 마치게 함으로써 데드록이 방지되도록 하기 위함이다.
그런데, 상기와 같은 종래 기술을 도 3의 멀티-버스 DMA 구조에 적용해 보면, 포텐셜 데드록이 검출된 후에는 데드록과 무관한 다른 에이전트들도 그 동작에 제한을 받아서 마치 우선권이 가장 상위인 아비테이션에 대해 록모드 동작이 수행되는 것과 같이 된다. 여기서, 에이전트는 현재 상황을 스스로 판단해서 처리를 실행하는 기능을 갖는 블록을 의미한다.
또한, 하나의 록모드 억세스시에도 계속해서 포텐셜 데드록이 발생하게 되므로 버스 사용 성능(performance)에도 제한을 두게 된다.
이와 같이 종래의 데드록 방지 장치는 포텐셜 데드록이 검출된 후에는 데드록과 무관한 다른 에이전트들도 그 동작에 제한을 받아서 마치 우선권이 가장 상위인 아비트레이션(arbitration)이 되는 결함이 나타나고, 하나의 록모드 억세스시에도 계속해서 포텐셜 데드록이 발생되어 버스 퍼포먼스에도 제한을 두게 되는 결함이 있었다.
따라서, 본 발명의 목적은 멀티-버스 컴퓨터 시스템에서, 서로 다른 두 개 이상의 에이전트가 거의 동시에 임의의 에이전트를 억세스할 때 발생하는 포텐셜 데드록 상태를 검출하고 데드록을 발생시킬 수 있는 에이전트를 제한하여 버스 퍼포먼스를 향상시키는 멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법을 제공함에 있다.
도 1은 종래 기술에 의한 멀티-버스 컴퓨터 시스템의 블록도.
도 2는 종래 기술에 의한 데드록 방지 장치의 블록도.
도 3은 일반적인 멀티-버스 DMA의 구조 설명도.
도 4는 본 발명에 의한 멀티-버스 컴퓨터 시스템의 데드록 회피 장치의 블록도.
도 5a,5b는 본 발명에 의한 멀티-버스 컴퓨터 시스템의 데드록 회피 방법의 신호 흐름도.
***도면의 주요 부분에 대한 부호의 설명***
41 : 마스크 발생기 42 : 리퀘스트신호 선택기
43 : 마스크 처리부 44 : 아비터
도 4는 본 발명의 목적을 달성하기 위한 멀티-버스 컴퓨터 시스템의 데드록 회피 장치의 일실시 예시 블록도로서 이에 도시한 바와 같이, 데드록을 검출하여 그에 따른 마스크신호를 발생하는 마스크 발생기(41)와; 상기 마스크 발생기(41)가 마스크신호 발생동작을 완료할때까지 리퀘스트신호를 잠시 차단하는 리퀘스트신호 선택기(42)와; 상기 마스크 발생기(41)에서 출력되는 마스크신호로 상기 리퀘스트신호 선택기(42)에서 출력되는 신호를 마스킹하는 마스크 처리부(43)와; 상기 마스크 처리부(43)의 출력신호를 대상으로 중재기능을 수행하여 그에 따른 그랜트신호(B_Gnt#0∼B_Gnt#n)를 발생하는 아비터(44)로 구성한 것으로, 이와 같이 구성한 본 발명의 작용을 첨부한 도 5를 참조하여 상세히 설명하면 다음과 같다.
마스크 발생기(41)는 데드록을 검출하여 그에 따른 마스크신호를 발생하고, 리퀘스트신호 선택기(42)는 그 마스크 발생기(41)가 마스크신호 발생동작을 완료할때까지 리퀘스트신호를 잠시 차단하는 기능을 수행한다.
또한, 마스크 처리부(43)는 다수의 앤드게이트(AD1-ADn)를 이용하여, 상기 마스크 발생기(41)에서 출력되는 마스크신호로 상기 리퀘스트신호 선택기(42)에서 출력되는 신호를 마스킹처리하고, 아비터(44)는 그 마스크 처리부(43)의 출력신호를 대상으로 중재기능을 수행하여 그에 따른 그랜트신호(B_Gnt#0∼B_Gnt#n)를 발생하게 된다.
한편, 상기 마스크 발생기(41)의 마스크신호 발생 방법을 도 5를 참조하여 좀더 상세히 설명하면 다음과 같다. 이 마스크 발생기(41)의 동작 모드는 '록모드가 설정되지 않은 경우', '초기 록모드가 요청된 경우', '기존에 록모드 동작이 수행되고 있는 경우'의 3가지 모드로 동작한다.
첫째, 록모드가 설정되지 않은 경우에는 동작요청신호를 입력하여, 리퀘스트신호(request#1)가 초기값인지 확인하고, 현재 오퍼레인션 록모드인지를 확인한 후 다시 동작요청신호를 입력하는 일련의 대기과정(S1-S3)을 반복 수행하게 된다. 이때, DMA 아비터(44)는 일반적인 아비터로 동작하게 된다.
둘째, 초기 록모드가 요청된 경우에는 동작요청신호를 입력하여, 리퀘스트신호(request#1)가 초기값인지 확인하고, 현재 오퍼레인션 록모드인지를 확인하여 스타트 어드레스[31:4]를 레지스터(reg#1)에 저장하고, 현재 요청된 라인을 리퀘스트 인덱스(req_index)에 저장하는 일련의 과정(S1-S4)을 수행하게 된다.
즉, 초기 록모드가 요청된 경우에는 록모드 동작에 참여하는 마스터와 슬레이브의 정보를 기억해 두는 동작을 수행하게 된다.
셋째, 기존에 록모드 동작이 수행되고 있는 경우에는 다음의 세가지 모드로 동작하게 된다.
포텐셜 데드록이 발생한 경우에는 동작요청신호를 입력하여 리퀘스트신호(request#1)가 초기값인지 확인하고, 리퀘스트 인덱스(Req_index)가 현재 리퀘스트 라인인지 확인하여 스타트 어드레스[31:0]를 리퀘스트 영역(req.#2)에 저장한 후 리퀘스트신호(req.#1),(req.#2)를 비교하여 서로 동일한 경우 현재 요청된 라인의 리퀘스트 마스크를 세트시키는 일련의 과정(S1,S2,S5,S6,S7,S8)을 수행하게 된다.
즉, 이 경우에는 현재 리퀘스트를 요청한 에이전트가 이미 록모드에 있는 슬레이브를 억세스하고 있는 중이므로 이 에이전트의 리퀘스트 라인을 마스킹 처리하게 된다.
기존의 록모드와 무관한 에이전트의 리퀘스트가 발생한 경우에는 동작요청신호를 입력하여 리퀘스트신호(request#1)가 초기값인지 확인하고, 리퀘스트 인덱스(Req_index)가 현재 리퀘스트 라인인지 확인하여 스타트 어드레스[31:0]를 리퀘스트 영역(req.#2)에 저장한 후 리퀘스트신호(req.#1),(req.#2)를 비교하여 서로 상이한 경우 현재 요청된 라인의 리퀘스트 마스크를 리세트시키는 일련의 과정(S1,S2,S5,S6,S7,S9)을 수행하게 된다.
즉, 이 경우는 록모드와 무관한 에이전트의 리퀘스트에 해당하는 것으로, 이때에는 마스킹을 하지 않는다.
이미 록모드로 설정되어 있는 에이전트의 리퀘스트가 발생한 경우에는 동작요청신호를 입력하여 리퀘스트신호(request#1)가 초기값인지 확인하고, 리퀘스트 인덱스(Req_index)가 현재 리퀘스트 라인인지 확인한 후 다시 동작요청신호를 입력하여 계속해서 록모드 동작을 수행할 수 있도록 하는 일련의 과정(S1,S2,S5)을 반복 수행하게 된다.
록모드 동작의 마스터가 모든 록모드 동작을 완료하면, 록모드에 대한 정보를 초기값으로 리세트시킨다.
이상에서 상세히 설명한 바와 같이 본 발명은, 멀티-버스 컴퓨터 시스템에서, 서로 다른 두 개 이상의 에이전트가 거의 동시에 임의의 에이전트를 억세스할 때 발생하는 포텐셜 데드록 상태를 검출하고 데드록을 발생시킬 수 있는 에이전트만을 정확하게 제한 함으로써, 데드록을 보다 효과적으로 방지할 수 있고, 결과적으로, 데드록을 발생시키지 않는 에이전트는 버스를 사용할 수 있게 되어 버스 사용 퍼포먼스가 향상되는 효과가 있다.

Claims (4)

  1. 초기 록모드가 요청된 경우 록모드 동작에 참여하는 마스터와 슬레이브의 정보를 기억해 두고, 이미 록모드 동작이 수행되고 있는 경우에는 에이전트의 리퀘스트 라인을 마스킹 처리하거나, 마스킹을 하지 않거나, 계속해서 록모드 동작을 수행할 수 있도록, 데드록을 검출하여 그에 따른 마스크신호를 발생하는 마스크 발생기(41)와; 상기 마스크 발생기(41)가 마스크신호 발생동작을 완료할때까지 리퀘스트신호를 잠시 차단하는 리퀘스트신호 선택기(42)와; 상기 마스크 발생기(41)에서 출력되는 마스크신호로 상기 리퀘스트신호 선택기(42)에서 출력되는 신호를 마스킹하는 마스크 처리부(43)와; 상기 마스크 처리부(43)의 출력신호를 대상으로 중재기능을 수행하여 그에 따른 그랜트신호(B_Gnt#0∼B_Gnt#n)를 발생하는 아비터(44)로 구성한 것을 특징으로 하는 멀티-버스 컴퓨터 시스템의 데드록 회피 장치.
  2. 제1항에 있어서, 마스크 처리부(43)는 상기 마스크 발생기(41)에서 출력되는 마스크신호로 상기 리퀘스트신호 선택기(42)에서 출력되는 신호를 마스킹처리하는 다수의 앤드게이트(AD1-ADn)로 구성된 것을 특징으로 하는 멀티-버스 컴퓨터 시스템의 데드록 회피 장치.
  3. 록모드가 설정되지 않은 경우 통상의 아비터 기능을 수행하는 제1과정과; 초기 록모드가 요청된 경우 록모드 동작에 참여하는 마스터와 슬레이브의 정보를 기억해 두는 동작을 수행하는 제2과정과; 마스크 발생기가 마스크신호를 발생함에 있어서,
    이미 록모드 동작이 수행되고 있는 경우 포텐셜 데드록이 발생할 때 두 리퀘스트신호를 비교하여 서로 동일한 것으로 판명되면 에이전트의 리퀘스트 라인을 마스킹 처리하고, 기존의 록모드와 무관한 에이전트 레퀘스트가 발생할 때 상기 두 리퀘스트신호를 비교하여 서로 상이한 것으로 판명되면 마스킹 처리하고, 이미 록모드로 설정되어 있는 에이전트의 리퀘스트가 발생하면 계속해서 록모드 동작을 수행할 수 있도록 처리하는 제3과정을 포함하여 이루어지는 것을 특징으로 하는 멀티-버스 컴퓨터 시스템의 데드록 회피 방법.
  4. 제3항에 있어서, 제3과정은 포텐셜 데드록이 발생할 때, 현재 리퀘스트를 요청한 에이전트가 이미 록모드에 있는 슬레이브를 억세스하고 있는 것을 감안하여 해당 에이전트의 리퀘스트 라인을 마스킹 처리하는 제1단계와; 기존의 록모드와 무관한 에이전트의 리퀘스트가 발생할 때, 마스킹 기능을 수행하지 않는 제2단계와; 이미 록모드로 설정되어 있는 에이전트의 리퀘스트가 발생할 때, 계속해서 록모드 동작을 수행할 수 있도록 처리하는 제3단계로 이루어지는 것을 특징으로 하는 멀티-버스 컴퓨터 시스템의 데드록 회피 방법.
KR1019990066173A 1999-12-30 1999-12-30 멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법 KR100338954B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990066173A KR100338954B1 (ko) 1999-12-30 1999-12-30 멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990066173A KR100338954B1 (ko) 1999-12-30 1999-12-30 멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20010058810A KR20010058810A (ko) 2001-07-06
KR100338954B1 true KR100338954B1 (ko) 2002-05-31

Family

ID=19633322

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990066173A KR100338954B1 (ko) 1999-12-30 1999-12-30 멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100338954B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930006556A (ko) * 1991-09-27 1993-04-21 마이클 에이치, 모리스 원격버스상의 중재를 고정시키는 방법 및 장치
JPH06214946A (ja) * 1993-01-20 1994-08-05 Hitachi Ltd 多段バスのバス使用権調停方式
US5544332A (en) * 1991-09-27 1996-08-06 Sun Microsystems, Inc. Method for preventing deadlock in a multi-bus computer system
US5761454A (en) * 1996-08-27 1998-06-02 Vlsi Technology, Inc. Deadlock resolution methods and apparatus for interfacing concurrent and asynchronous buses
KR0172310B1 (ko) * 1995-12-29 1999-03-30 김주용 교착 상태 방지를 위한 버스 유닛
US5889972A (en) * 1997-03-25 1999-03-30 Adaptec, Inc. Bus to bus bridge deadlock prevention system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930006556A (ko) * 1991-09-27 1993-04-21 마이클 에이치, 모리스 원격버스상의 중재를 고정시키는 방법 및 장치
US5544332A (en) * 1991-09-27 1996-08-06 Sun Microsystems, Inc. Method for preventing deadlock in a multi-bus computer system
JPH06214946A (ja) * 1993-01-20 1994-08-05 Hitachi Ltd 多段バスのバス使用権調停方式
KR0172310B1 (ko) * 1995-12-29 1999-03-30 김주용 교착 상태 방지를 위한 버스 유닛
US5761454A (en) * 1996-08-27 1998-06-02 Vlsi Technology, Inc. Deadlock resolution methods and apparatus for interfacing concurrent and asynchronous buses
US5889972A (en) * 1997-03-25 1999-03-30 Adaptec, Inc. Bus to bus bridge deadlock prevention system

Also Published As

Publication number Publication date
KR20010058810A (ko) 2001-07-06

Similar Documents

Publication Publication Date Title
US5613075A (en) Method and apparatus for providing deterministic read access to main memory in a computer system
US5544332A (en) Method for preventing deadlock in a multi-bus computer system
US5717873A (en) Deadlock avoidance mechanism and method for multiple bus topology
EP3588309A2 (en) Semiconductor device, control system, and control method of semiconductor device
EP0443557B1 (en) Interrupt controller capable of realizing interrupt nesting function
JP2986176B2 (ja) バス権制御方式およびバスシステム
JPH07287686A (ja) データ処理システム内でバス仲裁プロトコルを実行する方法および装置
JPH08339346A (ja) バスアービタ
US6212589B1 (en) System resource arbitration mechanism for a host bridge
JP2007058716A (ja) データ転送バスシステム
KR0155269B1 (ko) 버스 중재방법 및 그 장치
KR100338954B1 (ko) 멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법
US7558923B1 (en) Prevention of live-lock in a multi-processor system
JP2002536718A (ja) アドレスリマッピング保証装置および方法
JP2972491B2 (ja) バス制御機構及び計算機システム
JPH08297630A (ja) バス接続方式
EP1984943B1 (en) Selective transaction request processing at an interconnect during a lockout
JP5111940B2 (ja) 情報処理装置及びアクセス制御方法
JP2846999B2 (ja) マイクロプロセッサ
JPH08137785A (ja) Dma制御装置
JP2860733B2 (ja) バス接続装置
JP3371978B2 (ja) 情報処理装置
JP3244746B2 (ja) 情報処理装置
JP2837893B2 (ja) マイクロコンピュータ装置
KR0131848B1 (ko) 다중 프로세서 시스템의 버스 스누핑 제어장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050422

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee