KR100338954B1 - 멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법 - Google Patents
멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000000873 masking effect Effects 0.000 claims abstract description 13
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims abstract description 5
- 230000000903 blocking effect Effects 0.000 claims abstract description 3
- 239000003795 chemical substances by application Substances 0.000 abstract description 22
- 239000012035 limiting reagent Substances 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
- G06F13/4036—Coupling 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
본 발명은 멀티-버스 컴퓨터 시스템에서 버스의 사용 성능을 향상시키는 기술에 관한 것으로, 특히 서로 다른 두 개 이상의 에이전트(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)
- 초기 록모드가 요청된 경우 록모드 동작에 참여하는 마스터와 슬레이브의 정보를 기억해 두고, 이미 록모드 동작이 수행되고 있는 경우에는 에이전트의 리퀘스트 라인을 마스킹 처리하거나, 마스킹을 하지 않거나, 계속해서 록모드 동작을 수행할 수 있도록, 데드록을 검출하여 그에 따른 마스크신호를 발생하는 마스크 발생기(41)와; 상기 마스크 발생기(41)가 마스크신호 발생동작을 완료할때까지 리퀘스트신호를 잠시 차단하는 리퀘스트신호 선택기(42)와; 상기 마스크 발생기(41)에서 출력되는 마스크신호로 상기 리퀘스트신호 선택기(42)에서 출력되는 신호를 마스킹하는 마스크 처리부(43)와; 상기 마스크 처리부(43)의 출력신호를 대상으로 중재기능을 수행하여 그에 따른 그랜트신호(B_Gnt#0∼B_Gnt#n)를 발생하는 아비터(44)로 구성한 것을 특징으로 하는 멀티-버스 컴퓨터 시스템의 데드록 회피 장치.
- 제1항에 있어서, 마스크 처리부(43)는 상기 마스크 발생기(41)에서 출력되는 마스크신호로 상기 리퀘스트신호 선택기(42)에서 출력되는 신호를 마스킹처리하는 다수의 앤드게이트(AD1-ADn)로 구성된 것을 특징으로 하는 멀티-버스 컴퓨터 시스템의 데드록 회피 장치.
- 록모드가 설정되지 않은 경우 통상의 아비터 기능을 수행하는 제1과정과; 초기 록모드가 요청된 경우 록모드 동작에 참여하는 마스터와 슬레이브의 정보를 기억해 두는 동작을 수행하는 제2과정과; 마스크 발생기가 마스크신호를 발생함에 있어서,이미 록모드 동작이 수행되고 있는 경우 포텐셜 데드록이 발생할 때 두 리퀘스트신호를 비교하여 서로 동일한 것으로 판명되면 에이전트의 리퀘스트 라인을 마스킹 처리하고, 기존의 록모드와 무관한 에이전트 레퀘스트가 발생할 때 상기 두 리퀘스트신호를 비교하여 서로 상이한 것으로 판명되면 마스킹 처리하고, 이미 록모드로 설정되어 있는 에이전트의 리퀘스트가 발생하면 계속해서 록모드 동작을 수행할 수 있도록 처리하는 제3과정을 포함하여 이루어지는 것을 특징으로 하는 멀티-버스 컴퓨터 시스템의 데드록 회피 방법.
- 제3항에 있어서, 제3과정은 포텐셜 데드록이 발생할 때, 현재 리퀘스트를 요청한 에이전트가 이미 록모드에 있는 슬레이브를 억세스하고 있는 것을 감안하여 해당 에이전트의 리퀘스트 라인을 마스킹 처리하는 제1단계와; 기존의 록모드와 무관한 에이전트의 리퀘스트가 발생할 때, 마스킹 기능을 수행하지 않는 제2단계와; 이미 록모드로 설정되어 있는 에이전트의 리퀘스트가 발생할 때, 계속해서 록모드 동작을 수행할 수 있도록 처리하는 제3단계로 이루어지는 것을 특징으로 하는 멀티-버스 컴퓨터 시스템의 데드록 회피 방법.
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)
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 |
-
1999
- 1999-12-30 KR KR1019990066173A patent/KR100338954B1/ko not_active IP Right Cessation
Patent Citations (6)
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 |