KR930008048B1 - 요청신호개수에 독립적인 중재시간의 중재기 - Google Patents
요청신호개수에 독립적인 중재시간의 중재기 Download PDFInfo
- Publication number
- KR930008048B1 KR930008048B1 KR1019910009444A KR910009444A KR930008048B1 KR 930008048 B1 KR930008048 B1 KR 930008048B1 KR 1019910009444 A KR1019910009444 A KR 1019910009444A KR 910009444 A KR910009444 A KR 910009444A KR 930008048 B1 KR930008048 B1 KR 930008048B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- request
- inh
- tlu
- log
- Prior art date
Links
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/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
Abstract
내용 없음.
Description
제 1 도는 종래의 트리중재기의 구성의 일실시례를 도시하는 블록다이아그램.
제 2 도는 본 발명에 따른 중재기의 구성의 일실시례를 도시하는 블록다이아그램.
제 3 도는 본 발명의 중재기에 사용되는 중재모듈의 블럭다이아그램.
제 4 도는 중재모듈내의 RS 래치의 동작을 나타내는 연산표.
제 5 도는 중재모듈의 논리회로도.
제 6 도는 중재집적회로를 사용한 64개 요청시의 중재기 구성을 도시하는 블록다이아그램.
* 도면의 주요부분에 대한 부호의 설명
1 : 중재모듈 4 : 요청신호발생기
본 발명은 중재시간이 요청신호의 개수에 관계없이 일정한 중재기에 관한 것으로서 더욱 상세히는 다중프로세서에서 다수의 프로세서가 하나의 자원에 대하여 경쟁적으로 사용을 요청할 때 그중 하나의 프로세서에게 사용권을 부여하는 중재기에 관한 것이다.
종래에도 다수의 중재기가 사용되어 오고 있었으며 이러한 하나의 예가 제 1 도에 도시되어 있다. 여기에서는 소위[1 OF 2] 형식의 중재모듈들의 2진 트리형태로 구성된 중재기를 도시하고 있다. 트리중재기의 최상위단계에서의 각 중재모듈(1)의 [RA, RB]에 한 개 이상의 요청신호가 입력되면 [RC]에 요청신호를 출력한다. [RC]요청신호는 한단계 아래의 각 중재모듈(2)의 입력[RA] 또는 [RB]에 들어간다. 이와 같이 하여 요청신호가 트리의 최하위단계에 도착한다. 최하위단계의 중재모듈(3)은 [GA, GB]중 하나를 선택하여 승인신호를 출력한다. [GA] 또는 [GB]승인신호는 한단계 위의 중재모듈(2)의 입력[GC]에 들어간다.
[GC]에 승인신호가 입력되면 [GA, GB]중 하나를 선택하여 승인신호를 출력한다.
이와 같이 하여 승인신호가 최상위단계에 도착하여 여러개의 요청신호중 한 개만 승인하게 된다. N개의 요청신호가 있으면, 트리중재기는 [log2n]단계로 구성된다. 따라서 요청신호가 [log2n]단계 아래로 전파하고 승인신호가 다시 [log2n]단계위로 전파하여야 하므로 종중재시간은 [log2n]에 비례하며 n이 크면 중재시간이 길어지는 문제점이 있어서 처리시간이 지연되고 전체 시스템의 응답속도를 느리게 하는 문제점이 있었다.
이하 본 발명은 상기와 같은 문제점을 해결하기 위하여, 요청신호와 중재의 현재상태정보로서 전위[lookahead]정보를 생성하여 이것을 이용하여 각 중재모듈들이 동시에 중재하고, 각 중재모듈의 승인신호로써 전체중재기의 승인신호를 생성하게 함으로써 요청신호의 개수에 관계없이 일정한 시간내에 중재가 되도록 구성한다.
또한, 현재의 승인에 관계된 중재모듈은 다음 중재에서는 우선순위를 바꿈으로써 공정한 중재가 되게 하는 것을 목적으로 한다.
이하의 제 2 도 내지 제 6 도와 함께 본 발명을 더욱 상세하게 설명하고자 한다.
제 2 도는 요청신호의 개수가 8인 경우의 중재기의 구성의 실시례이다. 각 중재모듈이 트리의 노드[NODE]를 나타내는 것은 종래의 트리중재기와 같으나, 노드사이는 구체적인 신호선으로 연결되지 않고 요청신호발생기(4), 트리거신호발생기(5) 및 승인신호발생기(6)를 통하여 서로간의 묵시적인 포함관계만으로 트리가 구성된다.
요청신호 발생기(4)는 요청신호 R0…R7로써 중재모듈들에 대한 요청신호 R0, R11…R3, R47를 발생시킨다.
요청신호의 논리식은 다음과 같다.
R0= R0, R11= R1, R22= R2, R33= R3,
R44= R4, R55= R5, R66= R6, R77= R7,
R1= RZ∨ R1, R23= R2∨ R3, R45= R4∨ R5,
R67= R6∨ R7, R3= R0∨ R1∨ R2∨ R3,
R47= R4∨ R5∨ R6∨ R7
승인신호발생기(6)는 중재모듈들의 출력신호 Y0, Y11…Y3, Y41로서 승인신호 YG0…YG7와 G0…G7을 발생시키는데, 각각의 논리식은 다음과 같다.
YG0= Y03∧ Y01∧ Y0, YG1= Y03∧ Y01∧ Y11,
YG2= Y03∧ Y23∧ Y22,YG3= Y03∧ Y23∧ Y33,
YG4= Y47∧ Y45∧ Y44,YG5= Y47∧ Y45∧ Y55,
YG6= Y47∧ Y67∧ Y66,YG7= Y47∧ Y67∧ Y77,
G0 INH ∧ YG0, G0 INH ∧ YG1
G2 INH ∧ YG2, G3 INH ∧ YG3
G4 INH ∧ YG4, G5 INH ∧ YG5
G6 INH ∧ YG6, G7 INH ∧ YG7
트리거신호 발생기(5)는 요청신호가 끝나는 순간부터 승인신호가 끝날때까지 일정한 길이의 펄스신호를 발생시키는데, 신호[R0…R7] 와 [YG0…YG0]로써 트리거신호[T0, T11…T3, T41]와 금지신호[INH]를 발생시킨다. 트리거신호는 각 중재모듈들이 변화하는 과도시간에 잘못된 승인신호가 출력되는 것을 방지하는 신호이다. 트리거신호의 논리식과 금지신호의 논리식은 다음과 같다. Delay(T, td)는 신호 T를 시간 td만큼 지연시키는 신호를 발생하는 함수이다.
T0 R0∧ YG0, T1 R1∧ YG1, T2 R2∧ YG2,
T3 R3∧ YG3, T4 R4∧ YG4, T5 R5∧ YG5,
T6 R6∧ YG6, T7 R7∧ YG7, T00= T0,
T11= T1, T22= T2, T33= T3, T44= T4, T55= T5,
T66= T6, T77= T7, T01= T0∨ T1, T23= T2∨ T3,
T45= T4∨ T5, T67= T6∨ T7,
T03= T0∨ T1∨ T2∨ T3, T47= T4∨ T5∨ T6∨ T7,
T07= T0∨ T1∨ T2∨ T3∨ T4∨T5∨T6∨ T7
INH = T07∨ DELAY(T7, td)
요청신호의 개수가 n인 일반적인 경우의 각 논리식은 다음과 같다.
Rlu =단, 1=j2ku=1+2k-1, 0≤j≤n-1,
0≤k≤「log2n」-1, 0≤1, u≤n-1‥‥‥‥‥‥‥‥‥‥‥‥(1)
YG1=단, i=0,…, n-1,
m =「log2n」-1, 1=「i/2k」2k, u=1+2k-1‥‥‥‥‥‥‥‥‥(2)
G1 INH∧YG1단, i=0,…,n-1‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥(3)
T1 R1∧YG1단, i=0,…,n-1‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥(4)
Tlu=단, i=j2k, u=1+2k-1, 0≤j≤n-1,
0≤k≤「log2n」-1, 0≤1, u≤n-1‥‥‥‥‥‥‥‥‥‥(5)
INH=Tlu∨Delay(Tlu, td) 단, 1=0, u=n-1‥‥‥‥‥‥‥‥‥(6)
제 3 도는 중재모듈의 블록도이다. RS래치(7)는 우선순위를 기억하는 장치이며, RS래치(7)의 출력과 요청신호는[AND]게이트로 결합되므로 두 개의 요청신호가 동시에 입력될 경우에는 우선순위로 기억된 쪽을 승인한다. 입력논리회로(8)는 RS래치(7)를 구동하는 회로이며, 제 4 도는 공정한 중재를 하기 위한 입력논리의 연산표이다. 각 경우에 관한 설명은 다음과 같다.
① : 요청신호도 없고 승인도 없는 경우 : 불변
②, ③ : 단 하나의 요청신호가 있었는데 자원의 사용이 끝난 순간 : 우선 순위를 바꿈
④, ⑤ : 단 하난의 요청신호만 있는 경우 : 요청한 폭을 승인
⑥ : 두 개의 요청신호가 모두 있는데 그중 어느 한쪽이 자원을 사용중인 경우 : 불변
⑦, ⑧ : 두 개의 요청신호가 모두 있는데 그중 어느 한쪽의 자원사용이 끝났음 : 우선순위를 바꿈
여기에서 중재모듈의 요청신호는 두 개 이상의 요청신호를 포함할 수 있는데, 이 경우에는 자원의 사용이 끝나도 중재모듈의 요청신호는 계속 유효한 상태로 있게 된다.
제 4 도의 연산표로부터 S, R의 논리식을 유도하면 다음과 같다.
제 5 도는 이와 같이 하여 설계된 중재모듈의 논리회로도이다.
요청신호의 종료가 승인신호발생기(6)의 YG까지 이르는 경로에는 다음의 두가지가 있다.
첫 번째는 승인신호가 [Disable]되는 경우인데 이때의 신호전파경로는 요청신호발생기-중재모듈- YG신호 경로이며, 그 신호전파 시간은 식(1)(2)와 제 5 도에서 tg(tg는 게이트의 전파지연시간)이다. 두 번째는 승인신호가 [Enable]되는 경우인데 이때의 신호전파경로는 트리거신호발생기-중재모듈-YG신호경로이며, 그 신호전파시간은 식(2) (4)(5)와 제 5 도에서 8tg이다. 이러한 신호전파경로의 차이로 인하여 각 중재모듈의 상태변화가 동시에 일어나지 않을 수 있으므로, 요청신호의 종료로부터 5tg에서 8tg의 과도상태에서는 [INH]로써 승인신호의 출력을 금지시킨다.
[INH]는 식(4)(5)(6)에서 요청신호의 종료로부터 4tg에서 8tg+ td사이에 발생되므로, 게이트 전파지연시간의 산포를 고려하면 td〉 0이어야 한다. 실험적으로 td= 2tg가 적당하였다.
N개의 프로세서를 중재하기 위하여 n 개의 요청신호와 n개의 승인신호, 즉 2n개의 입출력신호가 필요한데, n이 크면 집적회로의 핀(pin)수의 제한 때문에 중재기 전체를 집적회로[IC]화 할 수 없게 된다. 따라서 n개의 프로세서를 몇 개의 블록으로 분할하여 집적회로화하고 이 집적회로들을 결합하여 전체 중재기를 구성하여야 한다.
제 6 도는 각각 8개의 요청신호를 중재할 수 있는 [IC]를 8개 결합하여 64개의 요청신호를 중재할 수 있는 중재기의 구성도이다. 각 [IC]가 n개의 요청을 중재한다면, [RR] 및 [TO]의 논리식은 각각 식(7), 식(8)과 같다. N개의 [TO] 출력이 하나의 [TI]입력에 들어가고, 그중 한 개 이상의 [TO]=1 이면 [TI] = 1 이 되어야 하므로 [TO]는 소위[wired-OR]가 되어야 한다.
RR =………………………………………………………(7)
TO = TI∨T1U단, 1=0, u = n-1 ……………………………………(8)
이에 따라 식(3)(5)(6)은 각각 식(9)(10)(11)과 같이 된다.
G1=GGINH∧YG1단, i=0, …, n-1…………………………(9)
Tlu=단, 1=j2k, u=1+2k-1,
0≤j≤n-1, 0≤k≤「log2n」-1, 0≤1, u≤n-1…………………(10)
INH=TO∨Delay(Tlu, td) 단, 1=0, u=n=1……………………………(11)
Claims (1)
- 요청신호 R0…Rn로써 중재모듈들에 대한 요청신호를 발생시키며 그 일반논리식이단, 1=j2ku=1+2k-1, 0≤j≤n-1,0≤k≤「log2n」-1, 0≤1≤n-1‥‥‥‥‥‥‥‥‥‥‥‥‥(1)인 요청신호발생기(4)와, 승인신호 YG0…YGn와 G0…Gn을 발생시키며 그 일반논리식이,단, 1=0,…, n-1,m =「log2n」-1, 1=「i/2k」2k, u=1+2k-1‥‥‥‥‥‥(2)인 승인신호발생기(6)와, 요청신호가 끝나는 순간부터 승인신호가 끝날때까지 일정한 길이의 펄스신호를 발생시키며 [R0…Rn]와 신호[YG0…YGn]로써 트리거신호와 금지신호[INH]를 발생시키고, 트리거신호는 각 중재모듈들이 상황에 따라서 우선순위를 바꾸게 하고 금지신호는 중재모듈들이 변화하는 과도시간에 잘못된 승인신호가 출력되는 것을 방지하는 신호로서 트리거신호의 논리식과 금지신호의 일반논리식이,G1 INH∧YG1단, i=0,…,n-1‥‥‥‥‥‥‥‥‥‥‥‥‥‥(3)T1 R1∧YG1단, i=0,…,n-1‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥(4)단, 1=j2k, u=1+2k-1, 0≤j≤n-1,,0≤k≤「log2n」-1, 0≤1, u≤n-1‥‥‥‥‥‥‥‥‥(5)INH=Tlu∨Delay(Tlu, td) 단, 1=0, u=n=1‥‥‥‥‥‥‥‥(6)이며 Delay(Tlu, td)는 신호 T를 시간 td만큼 지연시키는 신호를 발생하는 함수이며 td인 트리거신호발생기(5)와, 우선순위를 기억하는 RS래치(7)와, RS래치(7)의 출력과 요청신호는 [AND]게이트로 결합되며, RS래치(7)를 구동하는 회로인 입력논리회로(8)로 구성되고, S, R의 논리식이,으로 구성되고 제 5 도와 같은 논리회로도를 가지는 중재모듈을 가지며 ; n 개의 프로세서를 몇 개의 블록으로 분할하여 집적회로화하고 이 집적회로들을 결합하여 전체 중재기를 구성하기 위하여, 각 [IC]가 n개의 요청을 중재한다면, [RR] 및 [TO]의 논리식이 각각,TO = TI∨T1U단, 1=0, u = n-1 ……………………………(8)와 같으며,이에 따라 식(3)(5)(6)은G1=GGINH∧YG1단, i=0, …, n-1…………………(9)Tlu=단, 1=j2k, u=1+2k-1,0≤j≤n-1, 0≤k≤「log2n」-1, 0≤1, u≤n-1…………(10)INH=TO∨Delay(Tlu, td) 단, 1=0, u=n-1……………………(11)로서 되며, N개의 [TO] 출력이 하나의 [TI]입력에 들어가고, 그중 한 개 이상의 [TO]=1 이면 [TI]=1 이 되어야 하기 때문에 [TO]는 [wired-OR]가 되어야 하는 것을 특징으로 하는 요청신호개수에 독립적인 중재시간의 중재기.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019910009444A KR930008048B1 (ko) | 1991-06-05 | 1991-06-05 | 요청신호개수에 독립적인 중재시간의 중재기 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019910009444A KR930008048B1 (ko) | 1991-06-05 | 1991-06-05 | 요청신호개수에 독립적인 중재시간의 중재기 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR930001079A KR930001079A (ko) | 1993-01-16 |
KR930008048B1 true KR930008048B1 (ko) | 1993-08-25 |
Family
ID=19315542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019910009444A KR930008048B1 (ko) | 1991-06-05 | 1991-06-05 | 요청신호개수에 독립적인 중재시간의 중재기 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR930008048B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5582591A (en) * | 1994-09-02 | 1996-12-10 | Delab | Delivery of solid drug compositions |
-
1991
- 1991-06-05 KR KR1019910009444A patent/KR930008048B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR930001079A (ko) | 1993-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4775950A (en) | Logic simulation system | |
US4423384A (en) | Asynchronous multi-port arbiter | |
JP2559906B2 (ja) | アービトレーション・システム及び方法 | |
US20060075169A1 (en) | Bus deadlock avoidance | |
US4597054A (en) | Arbiter circuit and method | |
US5848297A (en) | Control apparatus for maintaining order and accomplishing priority promotion in a computer interconnect | |
US5875339A (en) | Asynchronous arbiter using multiple arbiter elements to enhance speed | |
JPH01134558A (ja) | アービタ回路 | |
KR930008048B1 (ko) | 요청신호개수에 독립적인 중재시간의 중재기 | |
US7395360B1 (en) | Programmable chip bus arbitration logic | |
US20040015853A1 (en) | System having an arithmetic-logic circuit for determining the maximum or minimum of a plurality of codes | |
US5872937A (en) | System for optimizing bus arbitration latency and method therefor | |
US5241629A (en) | Method and apparatus for a high performance round robin distributed bus priority network | |
JP2538874B2 (ja) | 共通バス調停方式 | |
JPS5848130A (ja) | バスプライオリテイ制御装置 | |
KR100190184B1 (ko) | 직렬버스를 통해 데이타를 송신하는 회로 | |
KR950011059B1 (ko) | 다중 프로세서 시스템의 버스중재기 | |
JP3113355B2 (ja) | データ伝送装置 | |
Zeng et al. | Design of low latency asynchronous arbiter based on standard cell library | |
JPH0358261A (ja) | アービタ回路 | |
JP3092181B2 (ja) | 高速アービトレーション回路 | |
KR900000606B1 (ko) | 라운드-로빈 방식에 의한 우선처리 회로 | |
KR950009447A (ko) | 타이콤(ticom) 시스템의 입출력 처리 장치 중재기 | |
JP2577420B2 (ja) | データ伝送装置 | |
JPS60191354A (ja) | デ−タ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |