KR100327546B1 - 버스 마스터 예약/중재회로 및 방법 - Google Patents
버스 마스터 예약/중재회로 및 방법 Download PDFInfo
- Publication number
- KR100327546B1 KR100327546B1 KR1019990006897A KR19990006897A KR100327546B1 KR 100327546 B1 KR100327546 B1 KR 100327546B1 KR 1019990006897 A KR1019990006897 A KR 1019990006897A KR 19990006897 A KR19990006897 A KR 19990006897A KR 100327546 B1 KR100327546 B1 KR 100327546B1
- Authority
- KR
- South Korea
- Prior art keywords
- bus
- signal
- reservation
- output
- outputting
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 241001522296 Erithacus rubecula Species 0.000 claims description 37
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 11
- 230000000737 periodic effect Effects 0.000 claims description 5
- 101100440246 Mus musculus Ncaph gene Proteins 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 230000001788 irregular Effects 0.000 description 2
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40202—Flexible bus arrangements involving redundancy by using a plurality of master stations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
본 발명은 버스 마스터 중재회로에 관한 것으로, 특히 복수의 버스사용 요구를 효과적으로 예약/중재할 수 있는 버스 마스터 예약/중재회로 및 방법에 관한 것이다.
본 발명은 예약신호의 수에 따라 버스 선택로직을 정상모드와 예약모드로 전환시킴으로써, 버스 사용요구를 효과적으로 예약/중재하고, 시스템의 신뢰성을 확보할 수 있는 효과가 있다.
Description
본 발명은 버스 마스터 중재회로에 관한 것으로, 특히 복수의 버스사용 요구를 효과적으로 예약/중재할 수 있는 버스 마스터 예약/중재회로 및 방법에 관한 것이다.
종래의 버스 마스터 중재회로는 도 1에 도시된 바와같이, 일정 간격으로 주기적인 버스선택번호(BS0∼BSn)를 출력하는 라운드 로빈회로(10)와, 라운드 로빈회로(10)에서 출력된 버스선택번호(BS0∼BSn)에 따라 복수의 버스요구신호(BR0∼BRn)에 대한 버스선택신호(BA0∼BAn)를 출력하는 버스선택로직(11)을 구비하여 이루어진다.
이와같이 구성된 종래의 버스 마스터 중재회로의 동작은 다음과 같다.
먼저, 라운드 로빈회로(10)는 버스선택로직(11)으로 일정 간격으로 주기적인 버스선택 번호(BS0∼BSn)를 출력한다. 버스선택로직(11)은 외부의 칩들로부터 버스사용을 요구하는 버스요구신호(BR0∼BRn)를 입력받아 칩 번호(BR0)와 라운드 로빈회로(10)로부터 입력된 버스선택번호(BS0∼BSn)를 비교한다. 비교결과, 두 신호가 동일하면 해당 칩에 버스 마스터 권한을 부여하는 버스선택신호(BA0∼BAn)를 출력하는 한편 라운드 로빈회로(10)의 구동을 정지시키기 위한 중지신호를 출력한다. 따라서, 상기 버스선택신호(BA0∼BAn)에 따라 해당 칩들은 버스를 사용하여 데이터를 송/수신하고, 라운드 로빈회로(10)는 중지신호에 의해 칩이 버스사용을 종료할 때까지 구동을 정지한다. 그리고, 상기 제1칩이 버스사용을 종료하면 버스선택로직(11)은 중지신호를 디스에이블시켜 라운드 로빈회로(10)를 재가동한다.
이후, 상기와 동일한 과정을 반복적으로 수행함에 의해 종래의 버스 마스터 중재회로는 버스사용을 요구한 복수의 칩들에 대한 버스마스터 중재 동작을 수행하게 된다.
상기 버스마스터 중재동작을 도 2 및 도 3에 도시된 동작 플로우차트를 참조하여 상세히 설명하면 다음과 같다. 도 2는 라운드 로빈회로(10)의 동작 플로우차트이다.
먼저, 라운드 로빈회로(10)는 버스선택로직(11)으로부터 중지신호가 입력되는지 체크하여(S10), 해당 중지신호가 입력되었으면 구동을 중지하고(S11), 해당 중지신호가 입력되지 않았으면 일정 간격으로 주기적인 버스선택번호(BS0∼BSn)를 버스선택로직(11)으로 출력한다(S12).
도 3은 버스선택로직(11)의 동작 플로우차트이다.
버스선택로직(11)은 버스사용을 요구한 칩이 있는지 체크한다(S20). 체크결과 제4도의 (A)와 같이 시간(t1)에서 외부의 제1칩으로부터 버스사용을 요구하는 버스요구신호(BR0)가 인에이블되면, 제1칩의 칩번호와 라운드 로빈회로(10)에서 출력된 버스선택번호(BS0)가 동일한지 비교한다(S21). 비교결과, 제1칩의 칩번호와 버스선택번호(BS0)가 동일한 시점 즉, 라운드 로빈회로(10)에서 버스선택번호(BS0)가 입력되는 시점에서 버스선택로직(11)은 제1칩으로 버스 마스터 권한을 부여하는 버스선택신호(BA0)를 출력하는 한편 라운드 로빈회로(10)로 중지신호를 출력한다. 따라서, 제1칩은 버스를 사용하여 데이터를 송/수신하고, 라운드 로빈회로(10)는 중지신호에 따라 제1칩이 버스사용을 종료할 때까지 구동을 정지한다(S22).
반면에, 상기 제1칩의 칩번호와 버스 선택번호(BS0)가 일치하지 않으면, 버스 선택로직(11)은 일정간격으로 라운드로빈 형태로 칩번호를 선택하여(S23) 상기 과정(S20,S21)을 반복적으로 수행한다.
이후, 시간(t2)에서 제1칩이 버스사용을 종료하면(S24) 버스선택로직(11)은 중지신호를 디스에이블시켜 라운드 로빈회로(10)를 재구동한 후(S25) 다시 버스사용을 요구한 칩이 있는지 체크한다(S20).
체크결과 제4도의 (C)와 같이 시간(t3)에서 외부의 제3칩으로부터 버스사용을 요구하는 버스요구신호(BR2)가 인에이블되었기 때문에, 상술한 바와같이 버스선택로직(11)은 제3칩의 칩번호와 라운드 로빈회로(10)에서 출력된 버스선택번호(BS2)가 동일하게 되는 시점에서 제3칩으로 버스 마스터 권한을 부여하는 버스선택신호(BA2)를 출력하고 라운드 로빈회로(10)로 중지신호를 출력한다. 따라서, 제3칩은 버스를 사용하여 데이터를 송/수신하고, 라운드 로빈회로(10)는 중지신호에 따라 제3칩이 버스사용을 종료할 때까지 구동을 정지한 후 중지신호가 디스에이블되면 다시 구동된다.
이후, 상기와 동일한 과정을 반복적으로 수행함에 의해 종래의 버스 마스터 중재회로는 버스사용을 요구한 복수의 칩들에 대한 버스마스터 중재 동작을 수행하게 된다.
그런데, 외부에 위치된 다수의 칩들은 불규칙적으로 버스요구신호(BR0∼BRn)를 출력하며, 버스선택로직(11)은 가장 먼저 버스사용을 요구한 칩에 마스터 권한을 부여한 후, 해당 칩의 버스사용이 완료된 시점에서 입력된 버스사용 요구를 수용하여 다른 칩에 버스 마스터 권한을 부여한다.
따라서, 복수의 버스 요구신호가 입력될 경우, 종래의 버스 마스터 중재회로는 특정 칩에 버스 마스터 권한을 부여하지 못하게 되는 문제점이 발생될 수 있다. 예를들어, 버스선택로직(11)은 가장 먼저 버스사용을 요구한 칩에 마스터 권한을 부여한 후, 해당 칩의 버스사용이 완료된 시점에서 다른 칩에 버스 마스터 권한을 부여한다. 그런데, 제4도에 도시된 바와같이, 시간(t2)에서 제1칩의 버스사용이 종료되면 라운드 로빈회로(10)는 다시 구동되어, 이전 버스 선택번호(BS0)에 +1을 더한 다음 버스선택번호(BS1,BS2..BSn)부터 순차적으로 출력한다. 그리고, 시간(t3)에서 제3칩의 버스요구신호(BR2)가 입력되면, 버스선택로직(11)은 라운드 로빈회로(10)로부터 버스선택번호(BS2)가 입력될 때 제3칩에 마스터 권한을 부여하는 버스선택신호(BA2)를 출력한다. 이것은 버스선택로직(11)이 특정 칩의 버스사용이 완료된 시점에서 다른 칩에 버스 마스터 권한을 부여하기 때문이다.
이후, 제3칩의 버스사용이 종료되는 시점에서 버스요구신호(BR6)가 아닌 또 다른 다른 버스요구신호(BR)가 입력되면, 버스선택로직(11)은 버스요구신호(BR)를 출력한 칩에 버스 마스터 권한을 부여하게 된다. 따라서, 상기와 동일한 동작이 반복되면 결국 버스요구신호(BR5)를 출력한 제6칩은 버스 마스터 권한을 부여받지 못하게 되는 문제점이 발생될 수 있다. 그 결과, 버스 마스터 권한을 부여받지 못하는 칩은 기능상의 에러를 유발하게 되고 심지어는 데이터를 유실하게 되는 문제점이 발생될 수 있다.
본 발명의 목적은 복수의 또는 불규칙적인 버스 사용요구를 효과적으로 예약/중재할 수 있는 버스 마스터 예약/중재회로 및 방법을 제공하는데 있다.
본 발명의 다른 목적은 예약신호의 수에 따라 버스 선택로직을 정상모드와 예약모드로 전환시킴으로써 시스템의 신뢰성을 확보할 수 있는 버스 마스터 예약/중재회로 및 방법을 제공하는데 있다.
도 1은 종래의 버스 마스터 중재회로를 나타낸 구성블럭도.
도 2는 도 1에 도시한 라운드 로빈회로의 동작을 나타낸 플로우 차트.
도 3은 도 1에 도시한 버스 선택로직의 동작을 나타낸 플로우 차트.
도 4는 도 1에서 버스 요구신호의 입력 파형도.
도 5은 본 발명의 실시예에 따른 버스 마스터 예약/중재회로를 나타낸 구성블럭도.
도 6은 도 5에 도시한 버스 예약신호 발생부의 상세 구성블럭도.
도 7은 도 5에 도시한 클럭신호발생부를 나타낸 상세 구성블록도.
도 8은 본 발명의 실시예에 따른 버스 마스터 예약/중재회로의 동작을 나타낸 플로우 차트.
* 도면의 주요부분에 대한 부호의 설명 *
100 : 제1출력버퍼 101 : 라운드 로빈회로
102 : 버스선택로직 103 : 버스예약신호발생부
103-0∼103-n : 버스 예약신호 발생기 104 : 클럭신호발생부
105 : FIFO 106 : 제2출력버퍼
상기와 같은 목적을 달성하기 위한 본 발명의 특징은, 버스 마스터 예약/중재 회로에 있어서, 복수의 버스요구신호를 감지하여 버스예약신호를 출력하고, 버스예약신호의 저장상태를 나타내는 제1신호를 출력하는 버스 예약신호 생성회로와; 상기 제1신호가 디스에이블되면 동작하여 버스요구신호를 버퍼링하는 제1출력버퍼와; 상기 제1신호가 디스에이블되면 주기적인 버스선택번호를 출력하는 라운드 로빈회로와; 상기 제1신호가 인에이블되면 상기 버스 예약신호 생성회로로부터 출력된 버스예약신호에 따라 버스선택신호를 출력하고, 상기 제1신호가 디스에이블되면 상기 제1출력버퍼로부터 출력된 버스요구신호와 상기 라운드 로빈회로로 부터의 버스선택번호에 따라 버스선택신호를 출력하는 버스선택로직을 구비하는데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 또 다른 특징은, 버스 마스터 예약/중재 방법에 있어서, 버스예약신호의 저장상태를 나타내는 제1신호가 인에이블되었는지 체크하는 과정과; 상기 제1신호가 디스에이블되면 버스 요구신호에 따라 버스선택신호를 출력하는 정상동작모드를 수행하는 과정과; 상기 제1신호가 인에이블되면 버스예약신호에 따라 버스선택신호를 출력하는 예약동작모드를 실행하는 과정을 포함하는데 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명하면 다음과 같다.
본 발명의 실시예에 따른 버스 마스터 예약/중재 회로는 도 5에 도시한 바와 같이, 제1출력버퍼(100), 라운드 로빈회로(101), 버스선택로직(102), 버스 예약신호 발생부(103), 클럭신호발생부(104), FIFO(105) 및 제2출력버퍼(106)을 구비하여 이루어진다.
상기 제1출력버퍼(100)는 외부의 칩으로부터 입력된 버스 요구신호(BR0∼BRn)를 버스선택로직(102)으로 출력하되, /2S(Two Store)신호가 인에이블되면 동작 중지하고, /2S신호가 디스에이블되면 동작한다. 상기 라운드 로빈회로(101)는 /2S신호 또는 중지신호(STOP)가 인에이블되면 동작을 중지하고, /2S신호 또는 중지신호(STOP)가 디스에이블되면 일정 간격으로 주기적인 버스 선택번호(BS0∼BSn)를 버스 선택로직(102)으로 출력한다.
그리고, 상기 버스선택로직(102)은 /2S신호가 인에이블(로우레벨)되면 상기 제2출력버퍼(106)에서 출력된 버스 예약신호(BRr0∼BRrn)에 따라 버스 선택신호(BA0∼BAn)를 출력하고(예약모드), /2S신호가 디스에이블(하이레벨)되면 종래와 같이 제1출력버퍼(100)에서 출력된 버스 요구신호(BR0∼BRn)에 따라 버스 선택신호(BA0∼BAn)를 출력한다(정상모드). 또한, 버스선택로직(102)은 정상모드에서 칩이 버스사용이 종료하면 라운드 로빈회로(101)로 중지신호(STOP)를 출력한다.
상기 버스 예약신호 발생부(103)는 복수의 버스요구신호(BR0∼BRn)를 감지하여 버스예약신호(BRr0∼BRrn)를 출력하는 블록으로서, 도 6에 도시된 바와같이, 복수의 버스 예약신호 발생기(103-0∼103-n)로 구성된다.
이때, 각각의 버스 예약신호 발생기(103-0∼103-n)는 시스템 클럭신호(SCLK)에 따라 버스요구신호(BRx)(x=0,1,..,n)를 출력하는 D플리플롭(20)과, 해당 D플리플롭(20)의 출력과 버스요구신호(BRx)를 입력받는 배타적 오아게이트(21)와, 버스요구신호(BRx)를 반전하는 인버터(22)와, 해당 인버터(22)와 해당 배타적 오아게이트(21)의 출력을 논리곱하여 버스 예약신호(BRrx)를 출력하는 앤드게이트(23)으로 구성된다.
상기 클럭신호발생부(104)는 FIFO(105)를 위한 각종 클럭신호를 생성하는 블록으로서, 버스선택신호(BA0∼BAn), 버스예약신호(BRrx) 및 /2S신호를 입력받아 입력 클럭신호(ICLK), 출력 클럭신호(OCLK) 및 NBA(No BAx)신호를 출력한다.
이때, 상기 클럭신호발생부(104)는 도 7에 도시한 바와 같이, NBA신호, /2S신호 및 시스템 클럭신호(SCLK)를 논리합하여 출력 클럭신호(OCLK)를 출력하는 오아게이트(30)와, 복수의 버스예약신호(BRr0∼BRrn)를 논리합하는 오아게이트(31)와, 해당 오아게이트(31)의 출력과 /NE신호를 논리곱하여 입력 클럭신호(ICLK)를 출력하는 앤드게이트(32)와, 복수의 버스선택신호(BA0∼BAn)를 논리곱한후 반전시켜 NBA신호를 출력하는 낸드게이트(33)로 구성된다. 이때, 상기 NBA신호는 버스선택신호(BA0∼BAn)가 모두 디스에이블(하이레벨)될 때 인에이블(로우레벨)된다.
상기 FIFO(105)는 버스예약신호(BRr0∼BRrn)를 저장하는 블록으로서, 클럭신호 발생부(104)로부터 출력된 입력 및 출력 클럭신호(ICLK,OCLK)에 따라 예약신호(BRr0∼BRrn)를 저장 및 출력한다. 그리고, FIFO(105)는 카운터를 구비하여 버스 예약신호(BRx)를 카운트하는데, 저장된 버스예약신호(BRx)가 2개이상일 경우 로우레벨의 /2S신호를 출력하여 다른 회로가 버스요구 예약모드에서 동작될 수 있도록 한다. 그리고, FIFO(105)는 최초로 입력된 버스예약신호(BRr)는 마지막 저장영역에 저장하고 두 번째부터는 입력된 버스예약신호(BRr)부터 선입선출하며, 저장된 버스예약신호(BRx)를 모두 출력한 후 최초로 입력된 버스 예약신호(BRr)를 삭제한다. 또한, FIFO(105)는 저장된 버스예약신호(BRx)가 포화상태일 경우 /NE(No Empty)신호를 클럭신호 발생부(104)로 출력하여 입력 클럭신호(ICLK)를 디스에이블시킨다.
상기 제2출력버퍼(106)는 /2S신호가 디스에이블되면 동작을 중지하고, /2S신호가 인에이블되면 FIFO(105)에서 출력된 버스예약신호(BRr0∼BRrn)를 버스 선택로직(102)으로 출력하는 블록이다.
이와같이 구성된 본발명에 따른 버스 마스터 에약/중재 회로의 동작을 첨부된 도면을 참조하여 설명하면 다음과 같다.
버스 예약신호 발생부(103)는 외부에 위치된 다수의 칩들로부터 버스요구신호(BR0∼BRn)를 입력받아, 도 6에 도시된 복수의 예약신호발생기(103-0∼103-n)를 통하여 숏펄스 형태의 버스예약신호(BRr0∼BRrn)를 출력한다. 이때, 클럭신호 발생부(104)의 앤드게이트(32)는 /NE신호가 하이레벨이기 때문에 역시 숏펄스 형태의 입력 클럭신호(ICLK)를 출력하고, 낸드게이트(33)는 현재 버스 선택로직(102)에서 출력되는 버스선택신호(BA0∼BAn)가 없으므로 로우레벨의 NBA신호를 출력한다.
따라서, FIFO(105)는 클럭신호 발생부(104)에서 출력된 입력 클럭신호(ICLK)에 따라 상기 버스예약신호(BRr0∼BRrn)를 순차적으로 저장하며, 카운터(미도시)는 버스예약신호(BRr0∼BRrn)의 수를 카운트한다. 이때, FIFO(105)의 저장영역에는 두 번째 입력된 버스예약신호(BRr0∼BRrn)부터 차례로 저장되며, 마지막 저장영역에 최초로 입력된 버스예약신호(BRr0∼BRrn)가 입력될 수 있도록 한다.
설명의 편의를 위하여 도 4에 도시된 버스요구신호(BR0, BR5, BR3, BR2)가 차례로 입력되는 경우를 예로 들어보자.
먼저, 시간(t1)에서 외부의 제1칩으로부터 버스요구신호(BR0)가 입력되면, 버스 예약신호 발생부(103)는 상기 버스요구신호(BR0)를 감지하여 10000..형태(숏펄스형태)의 버스예약신호(BRr0)를 출력하고, FIFO(105)는 입력 클럭신호(ICLK)에 따라 버스예약신호(BRr0)를 마지막 저장영역에 저장한다. 현재 NBA신호는 로우레벨이고 저장된 버스예약신호는 1개이기 때문에 FIFO(105)는 하이레벨의 /2S신호를 출력한다. 그 결과, 오아게이트(OR1)를 통하여 입력된 하이레벨의 /2S신호에 의해 제2출력버퍼(106)는 구동을 정지하고, 인버터(IN1)에서 반전된 로우레벨의 /2S신호에의해 제1출력버퍼(100)와 라운드 로빈회로(101)는 구동을 개시한다.
따라서, 버스선택로직(102)은 인버터(IN1)를 통하여 라운드 스위치핀(SW)으로 입력되는 로우레벨의 /2S신호에 의해 종래와 동일한 정상 동작모드를 실행한다.
즉, 버스선택로직(102)은 제1출력버퍼(100)로부터 출력된 버스요구신호(BR0)를 입력받아, 제1칩 번호와 라운드 로빈회로(101)로부터 입력된 버스선택번호(BS0)가 일치할 때 제1칩에 버스 마스터 권한을 부여하는 버스선택신호(BA0)를 출력하고, 라운드 로빈회로(101)로 중지신호(STOP)를 출력한다. 따라서, 제1칩은 버스를 사용하여 데이터를 송/수신하고, 라운드 로빈회로(101)는 중지신호(STOP)에 따라 제1칩이 버스사용을 종료할 때까지 구동을 정지한다.
그런데, 제1칩이 버스를 사용하는 도중에 제6, 제4칩으로부터 버스 요구신호(BR5,BR3)가 발생되면, 상기 버스 요구신호(BR5,BR3)는 상술한 바와같이 버스 예약신호 발생부(103)에서 각각 0000010...와 0001000....형태로 감지되어 FIFO(105)에 순차 저장된다. 이때, FIFO(105)에 구비된 카운터는 입력된 버스 예약신호(BRr5,BRr3)를 카운트하여 로우레벨의 /2S신호를 출력하는데, 만약 입력된 버스 예약신호(BRrx)가 FIFO(105)의 저장용량을 초과할 경우는 버스 예약신호 발생부(103)로부터 더 이상 버스예약신호(BRrx)가 입력되지 않도록 클럭신호 발생부(104)로 /NE신호를 출력한다. 이후, 제1칩이 버스사용을 종료하여 클럭신호발생부(104)로부터 로우레벨의 NBA신호가 입력되면, FIFO(105)는 출력 클럭신호(OCLK)에 따라 두번째로 입력된 버스예약신호(BRr5)를 출력한다.
이에 따라서, FIFO(105)로부터 출력되는 로우레벨의 /2S신호가 인버터(INT)에 의해 하이레벨로 변환되어 출력되므로 제1출력버퍼(100)와 라운드 로빈회로(101)는 구동을 정지하고, 제2출력버퍼(106)는 오아게이트(OR1)를 통해 로우레벨의 /2S신호를 입력받아 구동을 개시하며, 버스 선택로직(102)은 라운드 스위치핀(SW)으로 입력되는 하이레벨의 /2S신호에 따라 예약 동작모드를 실행한다. 즉, 제2출력버퍼(106)를 거쳐 입력된 예약신호(BRr5)에 따라, 버스선택로직(102)은 제6칩에 버스 마스터 권한을 부여하는 버스선택신호(BA5)를 출력한다. 그리고, 제6칩의 버스사용이 종료되어 클럭신호 발생부(104)로부터 다시 로우레벨의 NBA신호가 입력되면, FIFO(105)는 다음 버스예약신호(BRr3)를 제2출력버퍼(106)를 통하여 버스 선택로직(102)으로 출력한다. 따라서, 버스선택로직(102)은 상기 예약신호(BRr3)에 따라 제4칩에 버스 마스터 권한을 부여하는 버스 선택신호(BA3)를 출력한다.
그런데, 현재 저장된 버스 예약신호는 제1칩의 버스예약신호(BRr0)뿐이기 때문에, FIFO(105)는 하이레벨의 /2S신호를 출력한 후 마지막 저장영역에 저장된 버스예약신호(BRr0)를 삭제하며, 카운터를 리세트시켜 새로운 버스 예약신호가 저장될 수 있도록 한다. 그 결과. FIFO(105)에서 출력된 하이레벨의 /2S신호에 의해 제2출력버퍼(106)는 구동을 정지하고, 제1출력버퍼(100)와 라운드 로빈회로(101)는 다시 구동된다. 또한, 버스선택로직(102)은 라운드 스위치핀(SW)으로 입력되는 /2S신호에 의해 정상 동작모드로 복귀한다.
그리고, 시간(t2)에서 제4칩이 버스사용을 종료하고 시간(t3)에서 제3칩으로부터 버스요구신호(BR5)가 입력되면 버스선택로직(102)은 종래와 동일한 정상 동작모드를 실행하게 된다.
상술한 바와같이, 본 발명은 복수의 버스요구신호(BR0∼BRn)가 입력될 경우,상기 버스요구신호(BR0∼BRn)를 예약하여 순차적으로 처리함으로써, 특정 칩이 버스 마스터 권한을 부여받지 못하는 문제점을 해결할 수 있다. 즉, 제8도에 도시된 바와같이, 본 발명에서 버스선택로직(102)은 먼저, 라운드 스위치핀(SW)으로 입력되는 /2S신호가 하이레벨인지 체크한다(S30). 체크결과, /2S신호가 하이레벨이면 예약동작모드를 실행하고(S31), /2S신호가 로우레벨이면 종래처럼 정상동작모드를 실행하게 된다(S32). 이후 해당 칩이 버스사용을 종료하면 상기 과정(S30∼S32)을 반복적으로 수행하게 된다(S33).
본 발명에서 선행된 실시예들은 단지 한 예로서 청구범위를 한정하지 않으며, 여러가지의 대안, 수정 및 변경들이 통상의 지식을 갖춘자에게 자명한 것이 될 것이다.
상술한 바와같이 본 발명은 불규칙적인 복수의 버스 요구신호에 대하여 순차적인 버스예약 및 버스중재동작을 수행함으로써, 특정 칩이 버스마스터 권한을 부여받지 못하는 문제점을 해결할 수 있는 효과가 있다.
본 발명은 예약신호의 수에 따라 버스 선택로직을 정상모드와 예약모드로 전환시킴으로써, 버스 사용요구를 효과적으로 예약/중재하고, 시스템의 신뢰성을 확보할 수 있는 효과가 있다.
Claims (7)
- 버스 마스터 예약/중재 회로에 있어서,복수의 버스요구신호를 감지하여 버스예약신호를 출력하고, 버스예약신호의 저장상태를 나타내는 제1신호를 출력하는 버스 예약신호 생성회로와; 상기 제1신호가 디스에이블되면 동작하여 버스요구신호를 버퍼링하는 제1출력버퍼와; 상기 제1신호가 디스에이블되면 주기적인 버스선택번호를 출력하는 라운드 로빈회로와; 상기 제1신호가 인에이블되면 상기 버스 예약신호 생성회로로부터 출력된 버스예약신호에 따라 버스선택신호를 출력하고, 상기 제1신호가 디스에이블되면 상기 제1출력버퍼로부터 출력된 버스요구신호와 상기 라운드 로빈회로로 부터의 버스선택번호에 따라 버스선택신호를 출력하는 버스선택로직을 구비하는 것을 특징으로 하는 버스 마스터 예약/중재 회로.
- 제1항에 있어서,상기 버스 예약신호 생성회로는, 복수의 버스요구신호를 감지하여 버스예약신호를 출력하는 버스 예약신호 발생부와; 상기 버스선택신호, 버스예약신호, 제1신호 및 용량초과신호를 입력받아 입력 클럭신호와 출력 클럭신호를 출력함과 아울러 상기 버스선택신호의 출력이 없음을 나타내는 제2신호를 출력하는 클럭신호발생부와; 상기 클럭신호발생부로부터의 입력 및 출력클럭신호에 따라 상기 버스 예약신호 발생부로부터의 버스예약신호를 저장하였다가 출력하고, 해당 저장된 버스예약신호가 2개 이상일 경우에 상기 제1신호를 출력하고, 해당 저장된 버스예약신호가 저장용량을 초과할 경우에 상기 용량초과신호를 상기 클럭신호발생부로 출력하는 FIFO와; 상기 FIFO로부터의 제1신호를 반전시켜 상기 제1출력버퍼, 버스선택로직 및 라운드 로빈회로로 출력하는 인버터와; 상기 FIFO로부터의 제1신호와 상기 클럭신호발생부로부터의 제2신호를 논리합하는 오아게이트와; 상기 오아게이트를 통해 출력된 신호의 상태에 따라 상기 FIFO로부터의 버스예약신호를 상기 버스선택로직으로 출력하는 제2출력버퍼를 구비하는 것을 특징으로 하는 버스 마스터 예약/중재 회로.
- 제2항에 있어서,상기 버스 예약신호 발생부는 복수의 버스예약신호 발생기로 구성되며, 각 버스 예약신호 발생기는 시스템 클럭신호에 따라 버스 요구신호를 출력하는 D플리플롭과; 상기 D플리플롭의 출력과 버스 요구신호를 입력받는 배타적 오아게이트와; 버스요구신호를 반전시키는 제1인버터와; 상기 제1인버터와 배타적 오아게이트의 출력을 논리곱하여 버스예약신호를 출력하는 앤드게이트를 구비하는 것을 특징으로 하는 버스 마스터 예약/중재 회로.
- 제2항에 있어서,상기 클럭신호발생부는, 복수의 버스예약신호를 논리합하는 제1오아게이트와; 상기 제1오아게이트의 출력과 상기 FIFO의 용량 초과신호를 논리곱하여 입력 클럭신호를 출력하는 앤드게이트와; 복수의 버스선택신호를 논리곱한후 반전시켜 제2신호를 출력하는 낸드게이트와; 상기 제1, 제2신호와 시스템 클럭신호를 논리합하여 출력 클럭신호를 발생하는 제2오아게이트로 구성된 것을 특징으로 하는 버스 마스터 예약/중재 회로.
- 제2항에 있어서,상기 FIFO의 저장영역에는 두 번째 입력된 버스예약신호부터 차례로 저장하고, 마지막 저장영역에 최초로 입력된 버스예약신호를 저장하는 것을 특징으로 하는 버스 마스터 예약/중재 회로.
- 버스 마스터 예약/중재 방법에 있어서,버스예약신호의 저장상태를 나타내는 제1신호가 인에이블되었는지 체크하는 과정과; 상기 제1신호가 디스에이블되면 버스 요구신호에 따라 버스선택신호를 출력하는 정상동작모드를 수행하는 과정과; 상기 제1신호가 인에이블되면 버스예약신호에 따라 버스선택신호를 출력하는 예약동작모드를 실행하는 과정을 포함하는 것을 특징으로 하는 버스 마스터 예약/중재 방법.
- 제6항에 있어서,상기 정상동작모드를 실행하는 과정에서는 버스선택로직에서 제1출력버퍼로부터 출력된 버스요구신호와 라운드 로빈회로로부터 출력된 버스선택번호에 따라 버스 선택신호를 출력하고, 상기 예약동작모드를 실행하는 과정에서는 상기 버스선택로직에서 버스 예약신호 생성회로로부터 출력된 버스예약신호에 따라 버스선택신호를 출력하는 것을 특징으로 하는 버스 마스터 예약/중재 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990006897A KR100327546B1 (ko) | 1998-09-18 | 1999-03-03 | 버스 마스터 예약/중재회로 및 방법 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR19980038779 | 1998-09-18 | ||
KR1019980038779 | 1998-09-18 | ||
KR1019990006897A KR100327546B1 (ko) | 1998-09-18 | 1999-03-03 | 버스 마스터 예약/중재회로 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000022583A KR20000022583A (ko) | 2000-04-25 |
KR100327546B1 true KR100327546B1 (ko) | 2002-03-14 |
Family
ID=26634130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990006897A KR100327546B1 (ko) | 1998-09-18 | 1999-03-03 | 버스 마스터 예약/중재회로 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100327546B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100480605B1 (ko) * | 2002-07-25 | 2005-04-06 | 삼성전자주식회사 | 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR910008418A (ko) * | 1989-10-31 | 1991-05-31 | 이헌조 | 직렬포트의 보드율 측정시스템 |
-
1999
- 1999-03-03 KR KR1019990006897A patent/KR100327546B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR910008418A (ko) * | 1989-10-31 | 1991-05-31 | 이헌조 | 직렬포트의 보드율 측정시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20000022583A (ko) | 2000-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4463445A (en) | Circuitry for allocating access to a demand-shared bus | |
US6820152B2 (en) | Memory control device and LSI | |
US5832278A (en) | Cascaded round robin request selection method and apparatus | |
US4488218A (en) | Dynamic priority queue occupancy scheme for access to a demand-shared bus | |
US6584523B1 (en) | Device for organizing the access to a memory bus | |
US20030229742A1 (en) | Methods and structure for state preservation to improve fairness in bus arbitration | |
KR0144022B1 (ko) | 엘알유에 의한 중재기 | |
JP2009282828A (ja) | マイクロコンピュータ | |
KR100327546B1 (ko) | 버스 마스터 예약/중재회로 및 방법 | |
US7127540B2 (en) | Apparatus and method for controlling frequency of bus use | |
KR100400851B1 (ko) | 화상처리 시스템 및 이를 이용한 반도체장치와 디지털스틸 카메라장치 | |
US7162557B2 (en) | Competition arbitration system | |
US7130947B2 (en) | Method of arbitration which allows requestors from multiple frequency domains | |
KR100457533B1 (ko) | 리프레쉬 제어방법 및 장치 | |
US5872937A (en) | System for optimizing bus arbitration latency and method therefor | |
JP4170506B2 (ja) | 調停回路および方法 | |
US6223245B1 (en) | Device and method for generating interrupt | |
JP2742135B2 (ja) | バス調停装置 | |
JP3557522B2 (ja) | 割込信号生成装置 | |
JP2658972B2 (ja) | バス調停装置 | |
CN103688493A (zh) | 通信网络系统 | |
JPS6019819B2 (ja) | バス使用権制御方式 | |
KR100188004B1 (ko) | 동적 메모리 장치를 구비한 시스템의 버스 중재방법 및 회로 | |
SU1151975A1 (ru) | Устройство дл управлени пам тью | |
JPH0728747A (ja) | マルチマスタバス調停装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
AMND | Amendment | ||
AMND | Amendment | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20110128 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |