KR100237474B1 - An arbitor of pci bus - Google Patents
An arbitor of pci bus Download PDFInfo
- Publication number
- KR100237474B1 KR100237474B1 KR1019970057235A KR19970057235A KR100237474B1 KR 100237474 B1 KR100237474 B1 KR 100237474B1 KR 1019970057235 A KR1019970057235 A KR 1019970057235A KR 19970057235 A KR19970057235 A KR 19970057235A KR 100237474 B1 KR100237474 B1 KR 100237474B1
- Authority
- KR
- South Korea
- Prior art keywords
- bus
- pci
- priority
- devices
- pci bus
- Prior art date
Links
Images
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/40052—High-speed IEEE 1394 serial bus
- H04L12/40084—Bus arbitration
-
- 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/40052—High-speed IEEE 1394 serial bus
- H04L12/40097—Interconnection with other networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
Abstract
본 발명은 에이티엠 랜시스템과 같이 PCI 버스를 사용하는 장치에 있어서 PCI버스에 다수의 디바이스가 연결될 경우, 이를 중재하기 위한 PCI버스 중재장치에 관한 것이다.The present invention relates to a PCI bus arbitration device for arbitrating when a plurality of devices are connected to the PCI bus in a device using a PCI bus, such as AMT LAN system.
이러한 본 발명의 중재장치는 디바이스들로부터 버스 사용요구(REQ#)신호를 입력받고 PCI버스의 사용상태를 감시하는 버스감시부(32); 버스감시부로부터 우선순위 결정이 요구되면 특정의 한 디바이스에 제1의 우선순위를 부여하고, 나머지 디바이스는 동등한 우선순위를 부여하되 버스 사용상태에 따라 라운드로빈 방식으로 우선순위를 부여하는 우선순위 결정수단(34); 우선순위 결정수단의 출력에 따라 PCI버스 규격에 따른 버스 파킹을 수행하는 버스 파킹 수행수단(36); 및 버스 파킹 수행수단의 출력에 따라 우선순위 결정수단에서 결정된 우선순위에 의해 PCI버스를 요구한 PCI디바이스중에서 우선순위가 가장 높은 디바이스에 버스 사용을 승낙하는 버스승인부(38)를 포함한다.Such an arbitration apparatus of the present invention includes a bus monitoring unit 32 that receives a bus use request (REQ #) signal from devices and monitors a state of use of a PCI bus; If priority is requested from the bus monitoring unit, priority is given to assigning a first priority to a specific device and assigning priority to the other devices in a round robin manner according to bus usage. Means 34; Bus parking performing means 36 for performing bus parking according to the PCI bus standard according to the output of the priority determining means; And a bus acknowledgment unit 38 for accepting the bus use to the device having the highest priority among the PCI devices which requested the PCI bus by the priority determined by the priority determining means according to the output of the bus parking performing means.
따라서 본 발명에 따른 PCI버스 중재장치는 PCI디바이스의 숫자에 관계없이 다수의 PCI디바이스를 중재하여 PCI 버스 사용 효율을 극대화할 수 있는 효과가 있다.Therefore, the PCI bus arbitration apparatus according to the present invention has the effect of maximizing the PCI bus use efficiency by arbitrating a plurality of PCI devices regardless of the number of PCI devices.
Description
본 발명은 에이티엠 랜(ATM-LAN)시스템과 같이 PCI 버스를 사용하는 장치에 있어서 PCI버스에 다수의 디바이스가 연결될 경우, 이를 중재하기 위한 PCI버스 중재장치에 관한 것이다.The present invention relates to a PCI bus arbitration device for arbitrating when a plurality of devices are connected to the PCI bus in a device using a PCI bus, such as an ATM-LAN system.
최근들어 프로세서기술의 비약적인 발전과 더불어 종래 중형컴퓨터의 기능을 구비한 고성능의 프로세서들이 개발되어 사용되고 있다. 펜티엄 프로세서는 가장 널리 사용되는 인텔사의 고성능 프로세서이다. 이러한 펜티엄 프로세서를 이용하여 시스템을 구현할 경우에 일반적인 시스템의 구성은 도 1에 도시된 바와 같이, 호스트버스에 펜티엄프로세서(100)와 캐쉬(102), PCMC(103), LBX(105)가 연결되고, PCI버스가 PCMC(103) 및 LBX(105)를 통해 호스트버스와 정합되고, 시스템 입출력(106)을 통해 ISA버스가 연결되는 구조로 되어 있다. 도 1에서 점선부분은 본 발명의 사용예로서 PCI버스에 연결되는 PCI버스중재장치(107)와 5개의 PCI 디바이스(108∼111)를 나타낸다.In recent years, with the rapid development of processor technology, high-performance processors having the functions of conventional medium computers have been developed and used. The Pentium processor is the most widely used high performance processor from Intel. In the case of implementing a system using such a Pentium processor, a general system configuration is illustrated in FIG. 1, where a Pentium
도 1을 참조하면, 펜티엄프로세서(100)는 64비트의 데이터폭과 32비트의 어드레스신호선, 제어선들을 가지며, PCMC(103)를 통해 캐쉬(102)와 메인 메모리(104)를 억세스하고, PCI버스는 PCMC(103)와 제어신호선이 연결되고, LBX(105)를 통해 어드레스/데이터선이 연결되어 호스트버스와 정합되고, PCI버스에는 시스템 I/O(106)가 연결되어 있다. 시스템 입출력(106)은 ISA버스를 위한 인터페이스 기능을 제공한다.Referring to FIG. 1, the Pentium
PCI버스는 주변장치연결(Peripheral Component Interconnect)을 위한 버스로서 인텔사의 82430 칩세트에 의해 제공된다. 여기서, 82430 칩세트는 PCI/Cache/Memory Controller(PCMC:103)와 Local Bus Accelerator(LBX:105) 및 PCI/ISA 브리지(106) 혹은 PCI/EISA 브리지로 이루어진다. 그리고 PCI버스는 PCMC(103)를 통해 제공되는 제어신호선 C/BE[3:0]#, FRAME#, TRDY#, IRDY#, STOP#, PLOCK#, MEMCS#, DEVSEL#, MEMREQ#, PAR, PERR#, SERR#, REQ#, GNT#, FLSHREQ#, MEMACK#과, LBX(105)를 통해 제공되는 32비트의 데이터버스와 어드레스버스로 이루어진다.The PCI bus is provided by Intel's 82430 chipset as a bus for Peripheral Component Interconnect. The 82430 chip set includes a PCI / Cache / Memory Controller (PCMC: 103), a Local Bus Accelerator (LBX: 105), a PCI /
그런데 이와 같이 PCI버스에 다수의 디바이스가 연결될 경우에 이들 디바이스에 대한 중재가 필요하다. 비록 PCMC에 일부 중재기능이 구현되어 있다하더라도 연결할 수 있는 디바이스의 수에 한계가 있고, 우선순위 알고리즘도 다양하지 못한 문제점이 있다.However, when multiple devices are connected to the PCI bus, mediation of these devices is necessary. Although some arbitration functions are implemented in the PCMC, there is a limit on the number of devices that can be connected and the priority algorithm is not diverse.
이에 본 발명은 상기와 같은 필요성을 충족시키기 위하여 제안된 것으로, PCI 버스에 다수의 디바이스가 연결되어 PCI버스를 사용하고자할 경우 이들을 중재하기 위한 PCI버스의 중재장치를 제공하는데 그 목적이 있다.Accordingly, the present invention has been proposed to meet the above necessity, and has an object of providing an arbitration apparatus for a PCI bus for arbitrating when a plurality of devices are connected to the PCI bus and intend to use the PCI bus.
상기와 같은 목적을 달성하기 위하여 본 발명의 장치는, PCI버스에 다수의 PCI 디바이스가 연결되어 각 PCI 디바이스가 버스사용을 요청하면 소정의 우선순위 알고리즘에 따라 이를 중재하도록 된 PCI버스 중재장치에 있어서, 상기 디바이스들로부터 버스 사용요구(REQ#)신호를 입력받고 상기 PCI버스의 사용상태를 감시하는 버스감시부; 버스감시부로부터 우선순위 결정이 요구되면 특정의 한 디바이스에 제1의 우선순위를 부여하고, 나머지 디바이스는 동등한 우선순위를 부여하되 버스 사용상태에 따라 라운드로빈 방식으로 우선순위를 부여하는 우선순위 결정수단; 상기 우선순위 결정수단의 출력에 따라 PCI버스 규격에 따른 버스 파킹을 수행하는 버스 파킹 수행수단; 및 상기 버스 파킹 수행수단의 출력에 따라 상기 우선순위 결정수단에서 결정된 우선순위에 의해 PCI버스를 요구한 PCI디바이스중에서 우선순위가 가장 높은 디바이스에 버스 사용을 승낙하는 버스승인부를 포함하는 것을 특징으로 한다.In order to achieve the above object, the apparatus of the present invention provides a PCI bus arbitration apparatus in which a plurality of PCI devices are connected to a PCI bus so that each PCI device requests bus use according to a predetermined priority algorithm. A bus monitoring unit configured to receive a bus use request (REQ #) signal from the devices and monitor a use state of the PCI bus; If priority is requested from the bus monitoring unit, priority is given to assigning a first priority to a specific device and assigning priority to the other devices in a round robin manner according to bus usage. Way; Bus parking performing means for performing bus parking according to the PCI bus standard according to the output of the priority determining means; And a bus acknowledgment unit accepting bus use to a device having the highest priority among the PCI devices which request the PCI bus according to the priority determined by the priority determining means according to the output of the bus parking performing means. .
도 1은 일반적인 펜티엄 프로세서시스템의 구성예,1 is a configuration example of a general Pentium processor system,
도 2는 본 발명에 따른 중재장치의 구성예,2 is a configuration example of an arbitration apparatus according to the present invention,
도 3은 본 발명에 따른 PCI버스 중재장치의 기능 블록도,3 is a functional block diagram of a PCI bus arbitration apparatus according to the present invention;
*도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
100: 펜티엄 프로세서 102: 캐쉬100: Pentium processor 102: cache
103: PCMC 104: 메인메모리103: PCMC 104: main memory
105: LBX 106: 시스템 입출력105: LBX 106: System I / O
107: PCI버스 중재장치 108∼111: PCI버스 디바이스107: PCI bus arbitration device 108-111: PCI bus device
32: 버스감시부 34: 우선순위 결정부32: bus monitoring unit 34: priority determination unit
36: 버스파킹수행부 38: 버스승인부36: bus parking section 38: bus approval section
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명이 적용되는 펜티엄프로세서 시스템의 예는 도 2에 도시된 바와 같이, 펜티엄프로세서를 사용하는 시스템에서 PCI버스에 연결되는 PCI버스 중재장치(107)와 PCI버스를 사용하는 다수의 PCI디바이스(108∼112)를 포함한다.An example of a Pentium processor system to which the present invention is applied is a
도 2를 참조하면, PCI버스에 제1 PCI디바이스(108) 내지 제5 PCI버스 디바이스(112)가 연결되어 있는데, 각 PCI디바이스(108∼112)와 PCI버스 중재장치(107)는 버스요구(REQ1∼REQ5)신호선과 버스사용승락(GNT1∼GNT5)신호선으로 각각 연결되어 있다.Referring to FIG. 2,
그리고 본 발명에 따라 PCI버스를 사용하려는 PCI디바이스를 중재하기 위한 PCI버스 중재장치(107)는 도 3에 도시된 바와 같이, 버스감시부(32), 버스에 대한 우선순위결정부(34), 버스파킹수행부(36), 버스승인부(38)로 구성되어 있다. 버스감시부(32)에는 각 PCI디바이스로부터 버스요구(REQ#)신호이 연결되어 있고, 버스승인부(38)에는 각 PCI디바이스에 제공하기 위한 버스승락(GNT#)신호선이 연결되어 있다.And PCI
도 3을 참조하면, PCI버스감시부(32) PCI버스로부터 버스에 대한 사용요청을 감시하고 있다가 버스 사용 요청(REQ#)이 오면, 다른 PCI 디바이스가 버스를 사용하고 있는지를 판단한다. 만일, 다른 PCI디바이스가 버스를 사용하고 있지 않으면 PCI버스에 대한 우선순위 결정을 우선순위 결정부(34)에 요구한다.Referring to FIG. 3, the PCI
우선순위결정부(34)는 다음에 설명할 표를 참조하여 PCI버스에 대한 우선순위를 결정한다. 그리고 PCI버스 감시부(32)로부터 PCI버스에 대한 우선순위 결정요청이 오면 PCI버스를 사용하지 않으면 버스 파킹수행부(36)에 버스 파킹(bus parking)을 요청한다.The
상기 표 1을 참조하면 수가 작은 쪽이 우선순위가 높은 것을 나타내는데, 본 발명의 실시예에서 PCI 디바이스1은 가장 우선순위가 높게 정의되어 있고, 디바이스2 내지 디바이스5는 동등한 우선순위를 가지면서 라운드로빈(round-robin)방식으로 순차적으로 우선순위가 바뀌게 된다. 예컨데, PM[4:1] 신호가 0001이면 PCI디바이스1은 0순위이고, PCI디바이스5가 1순위, PCI디바이스4가 2순위, PCI디바이스3이 3순위, PCI디바이스2가 4순위이다. PM[4:1] 신호가 1000이면 PCI디바이스1은 0순위이고, PCI디바이스4가 1순위, PCI디바이스3이 2순위, PCI디바이스1이 3순위, PCI디바이스5가 4순위이다.Referring to Table 1, the smaller the number indicates the higher priority. In the embodiment of the present invention, PCI device 1 is defined as having the highest priority, and devices 2 to 5 have the same priority and are round robin. Priority changes in a round-robin fashion. For example, if the PM [4: 1] signal is 0001, PCI device 1 is 0, PCI device 5 is 1, PCI device 4 is 2, PCI device 3 is 3, and PCI device 2 is 4th. If the PM [4: 1] signal is 1000, PCI device 1 is 0, PCI device 4 is 1st, PCI device 3 is 2nd, PCI device 1 is 3rd, and PCI device 5 is 4th.
한편, 우선순위결정부(34)는 PCI디바이스가 버스를 사용하고 있다면, 현재 PCI버스를 사용하고 있는 PCI디바이스가 버스사용을 요청한 PCI디바이스보다 우선순위가 높으면 현재 PCI버스를 사용중인 PCI디바이스가 PCI버스의 사용이 끝날 때까지 기다리고 있다가 버스의 사용이 끝나면 요청한 PCI디바이스가 버스를 사용하게 한다. 만일, 현재 PCI버스를 사용하고 있는 PCI디바이스가 버스 사용을 요청한 PCI디바이스보다 우선순위가 낮으면 버스를 사용하고 있는 PCI디바이스로 하여금 버스의 사용을 중지하게 하고, 바로 버스 사용을 요구한 높은 우선순위의 PCI디바이스에게 버스 사용권을 넘겨주게 한다.On the other hand, if the PCI device is using the bus, the
버스에 대한 우선순위가 결정되면 버스파킹수행부(36)는 우선순위결정부(34)의 출력에 따라 버스 파킹을 수행한다. 이때 버스 파킹동작은 PCI 버스 규격 2.1에 따라 수행하고, PCI버스를 사용하지 않으면 PCI버스 파킹수행부(36)에 의해 특정한 PCI버스의 신호를 구동시킨다.When the priority of the bus is determined, the bus
그리고 버스 파킹 수행과 동시에 버스승인부(38)는 결정된 우선순위에 따라 버스사용을 요구한 PCI디바이스중에서 가장 우선순위가 높은 PCI디바이스에게 버스 사용을 승낙한다.At the same time as bus parking is performed, the
이상에서 살펴본 바와 같이 본 발명에 따른 PCI버스 중재장치는 PCI 버스 사용을 요청한 PCI디바이스들에게 소정의 우선순위 알고리즘에 따라 버스 사용을 승낙하여 중재하므로써 PCI디바이스간의 충돌을 방지하고, PCI디바이스의 숫자에 관계없이 다수의 PCI디바이스를 중재하여 PCI 버스 사용 효율을 극대화할 수 있는 효과가 있다.As described above, the PCI bus arbitration apparatus according to the present invention prevents collisions between PCI devices by arbitrating the PCI devices that request the use of the PCI bus by accepting the bus usage in accordance with a predetermined priority algorithm, thereby preventing the number of PCI devices. Regardless, it is possible to maximize the efficiency of using the PCI bus by arbitrating multiple PCI devices.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970057235A KR100237474B1 (en) | 1997-10-31 | 1997-10-31 | An arbitor of pci bus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970057235A KR100237474B1 (en) | 1997-10-31 | 1997-10-31 | An arbitor of pci bus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990035433A KR19990035433A (en) | 1999-05-15 |
KR100237474B1 true KR100237474B1 (en) | 2000-01-15 |
Family
ID=19523909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970057235A KR100237474B1 (en) | 1997-10-31 | 1997-10-31 | An arbitor of pci bus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100237474B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010078559A (en) * | 2000-02-09 | 2001-08-21 | 윤종용 | Hierarchical distributed bus arbitration apparatus and method |
-
1997
- 1997-10-31 KR KR1019970057235A patent/KR100237474B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19990035433A (en) | 1999-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0628914B1 (en) | System direct memory access (DMA) support logic for PCI based computer system | |
US5396602A (en) | Arbitration logic for multiple bus computer system | |
EP1163593B1 (en) | Apparatus for communicating between multiple functional units in a computer environment | |
US5613075A (en) | Method and apparatus for providing deterministic read access to main memory in a computer system | |
US6718422B1 (en) | Enhanced bus arbiter utilizing variable priority and fairness | |
US5758166A (en) | Method and apparatus for selectively receiving write data within a write buffer of a host bridge | |
US5708794A (en) | Multi-purpose usage of transaction backoff and bus architecture supporting same | |
AU687627B2 (en) | Multiprocessor system bus protocol for optimized accessing of interleaved storage modules | |
US6425037B1 (en) | Information processing system, bus arbiter, and bus controlling method | |
US6272580B1 (en) | Apparatus and method for dynamically elevating a lower level bus master to an upper level bus master within a multi-level arbitration system | |
US5761452A (en) | Bus arbiter method and system | |
US6397279B1 (en) | Smart retry system that reduces wasted bus transactions associated with master retries | |
JP4313607B2 (en) | Bus connection circuit and bus connection system | |
US6604159B1 (en) | Data release to reduce latency in on-chip system bus | |
US6347352B1 (en) | Computer system having a plurality of bus agents coupled to bus requesters wherein each bus agent includes an internal arbiter that selects one of the bus requests | |
US6212589B1 (en) | System resource arbitration mechanism for a host bridge | |
US5748916A (en) | VXIbus device which intelligently monitors bus conditions and begins early cycles for improved performance | |
US6959354B2 (en) | Effective bus utilization using multiple bus interface circuits and arbitration logic circuit | |
US5822549A (en) | Computer system and bus controller for controlling access to a computer bus | |
US6421756B1 (en) | Buffer assignment for bridges | |
US5933616A (en) | Multiple bus system bus arbitration according to type of transaction requested and the availability status of the data buffer between the buses | |
EP0924623A3 (en) | Computer system including arbitration mechanism allowing multiple bus masters to access a graphics bus | |
US6442632B1 (en) | System resource arbitration mechanism for a host bridge | |
KR100237474B1 (en) | An arbitor of pci bus | |
US5931931A (en) | Method for bus arbitration in a multiprocessor system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |