KR20050107174A - Pci 시스템에서 에이전트간 통신 방법 및 통신 장치 - Google Patents

Pci 시스템에서 에이전트간 통신 방법 및 통신 장치 Download PDF

Info

Publication number
KR20050107174A
KR20050107174A KR1020040032458A KR20040032458A KR20050107174A KR 20050107174 A KR20050107174 A KR 20050107174A KR 1020040032458 A KR1020040032458 A KR 1020040032458A KR 20040032458 A KR20040032458 A KR 20040032458A KR 20050107174 A KR20050107174 A KR 20050107174A
Authority
KR
South Korea
Prior art keywords
agent
host
data
bus system
interrupt signal
Prior art date
Application number
KR1020040032458A
Other languages
English (en)
Other versions
KR100599112B1 (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 KR1020040032458A priority Critical patent/KR100599112B1/ko
Priority to US11/001,322 priority patent/US20050251605A1/en
Priority to CNB2005100638314A priority patent/CN100432971C/zh
Priority to EP05102883A priority patent/EP1594068A3/en
Publication of KR20050107174A publication Critical patent/KR20050107174A/ko
Application granted granted Critical
Publication of KR100599112B1 publication Critical patent/KR100599112B1/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
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 에이전트1과 적어도 하나의 에이전트2를 포함한 적어도 2개의 에이전트들과, 하나의 호스트로 구성된 버스 시스템에서, 상기 에이전트2가 에이전트1으로 데이터를 전달받는 방안을 제안한다. 상기 에이전트1과 에이전트2는 상기 버스 시스템의 외부로 인터럽트 신호라인을 연결하고 있으며, 상기 호스트의 관여없이 상기 에이전트2는 에이전트2로 인터럽트 신호를 전송한다. 상기 인터럽트 신호를 수신한 상기 에이전트1은 상기 에이전트2에 저장되어 있는 데이터를 직접 전달받는다.

Description

PCI 시스템에서 에이전트간 통신 방법 및 통신 장치{Equipment and method for communication between agents in PCI system}
본 발명은 PCI 로컬 버스 시스템에 관한 것으로서 더욱 상세하게는 상기 PCI 로컬 버스 시스템을 구성하고 있는 에이전트간 통신을 수행하는 방안에 관한 것이다.
퍼리퍼럴 컴포넌트 인터커넥트(Peripheral Component Interconnect:PCI) 로컬 버스는 중앙 처리 장치(CPU)와 주변 장치들을 직접 연결하여 고속으로 데이터를 전달하는 데이터 통로를 제공하는 로컬 버스의 일종이며, 안정성이나 확장성 등이 먼저 보급된 VL(VESA(Video Electronics Standard Association) Local) 버스보다 우수하다는 장점을 가지고 있다. 상기 PCI 버스는 CPU와 버스 사이에 브리지 회로를 두는 구조이므로, 상기 VL 버스와 달리 CPU의 종류가 달라도 그에 대응하는 브리지 회로를 갖추기만 하면 어떤 CPU와도 연결할 수 있다. 이하 도 1을 이용하여 상기 PCI 로컬 버스 시스템을 구성하고 있는 디바이스들간의 연결 구조와 데이터의 이동에 대해 알아보기로 한다.
상기 도 1은 호스트(100)와 에이전트(102), 상기 호스트(100)와 에이전트(102)가 연결되어 있는 PCI 로컬 버스로 구성된다. 상기 호스트(100)는 PCI 로컬 버스 시스템을 제어하는 기능을 담당하는 디바이스이며, 상기 에이전트(102)는 PCI 로컬 버스를 통해 부가적인 기능을 상기 호스트(100)에 제공하는 디바이스이다. 일예로 상기 PC가 호스트의 기능을 담당한다면, 네트워크 카드, 사운드카드, 그래픽카드 등이 에이전트의 기능을 담당한다. 또한, 화상형성장치가 호스트의 기능을 담당한다면, 네트워크 프린터 카드, 무선랜 모듈, HDD(Hard Disk Device) 등이 에이전트의 기능을 담당한다.
상기 도 1의 호스트(100)와 에이전트(102)를 연결하고 있는 PCI 로컬 버스는 두 개의 신호라인으로 구성된다. 상기 두 개의 신호라인은 인터럽트 신호라인과 인터럽트를 제외한 신호들을 전달하는 신호라인으로 구성된다. 상기 인터럽트는 예기치 않은 상태가 발생되면 이전에 수행하던 작업을 중단하고, 예기치 않은 상태에 따른 작업을 수행하는 것을 지칭한다. 상기 인터럽트 신호란 예기치 않은 상태가 발생되면 상기 예기치 않은 상태에 따른 작업을 수행하도록 요청하는 신호이다.
상기 인터럽트 신호는 정전, 주변장치들에 의해 요청, 데이터의 입출력 종료, 에러가 발생한 경우 등에 의해 생성된다.
상기 에이전트(102)는 상태 변경이나 데이터 전송 요청 등 호스트(100)의 제어를 원할 경우 인터럽트 신호를 PCI 로컬 버스상에 발생시킨다. 상기 호스트(100)는 PCI 로컬 버스를 체크함으로서 인터럽트 신호가 발생되었음을 인지하게 된다. 상기 호스트(100)는 PCI 로컬 버스상에 인터럽트 신호가 발생되면, 상기 PCI 로컬 버스와 연결되어 있는 에이전트(102)들의 상태를 체크하여 필요한 인터럽트 서비스 루틴을 수행한다.
상기 도 1은 에이전트(102)가 호스트(100)로 인터럽트 신호라인을 이용하여 인터럽트 신호를 전달하며, 인터럽트를 제외한 신호들을 전송하는 신호라인을 이용하여 인터럽트를 제외한 신호들을 전달하고 있음을 도시하고 있다.
도 2는 하나의 호스트(200)와 두 개의 에이전트(202, 204), 상기 호스트(200)와 두 개의 에이전트들(202, 204)을 연결하는 PCI 로컬 버스를 도시하고 있다. 상기 두 개의 에이전트는 에이전트1(202)과 에이전트2(204)이다. 상기 PCI 로컬 버스는 적어도 하나의 에이전트로 구성될 수 있으나, 도 2는 설명의 편의를 위해 2개의 에이전트를 도시하고 있다.
상기 도 2는 도 1과 동일하게 2개의 신호라인을 도시하고 있다. 즉, 2개의 신호라인은 인터럽트 신호를 전송하는 인터럽트 신호라인과 상기 인터럽트를 제외한 신호들을 전송하는 신호라인이다. 상기 에이전트2(204)는 호스트(200)로 인터럽트 신호를 전달하는 경우뿐만 아니라, 에이전트1(202)로 인터럽트 신호를 전달할 경우가 발생한다. 상기 에이전트2(204)가 호스트(200)로 인터럽트 신호를 전달하는 경우 상기 도 1에서 설명한 바와 동일하다.
하지만, 상기 에이전트2(204)가 에이전트1(202)로 인터럽트 신호를 전달할 경우, 상기 에이전트2(204)는 에이전트1(202)로 인터럽트 신호를 직접 전달할 수 없다. 상술한 바와 같이 상기 PCI 로컬 버스와 연결되어있는 모든 디바이스들은 호스트(200)가 제어한다. 따라서, 상기 에이전트1(202)이 에이전트2(204)로 전달하는 인터럽트 신호 역시 호스트(200)를 경유하여 전달된다.
일 예로 상기 에이전트2(204)가 에이전트1(202)로 데이터 전송과 상기 데이터 전송을 위한 인터럽트 신호를 전달하는 경우, 상기 에이전트2(204)는 에이전트1(202)의 메모리로 접근할 수 있는 디바이스 드라이버는 가지고 있지 않다. 따라서, 상기 에이전트2(204)는 에이전트1(202)로 인터럽트 신호뿐만 아니라 데이터를 전송할 수 없다. 상기 PCI 로컬 버스에 연결되어 있는 디바이스들에 대한 디바이스 드라이버는 호스트(200)가 관리하고 있다. 따라서, 상기 에이전트2(204)는 인터럽터 신호를 상기 호스트로 전달하면, 상기 호스트(200)는 상기 에이전트2(204)에 저장되어 있는 데이터를 독출한다. 물론 상기 에이전트2(204)는 데이터를 먼저 전달하여 상기 호스트(200)에 저장한 후 인터럽트 신호를 상기 호스트(200)로 전달할 수 있다. 상기 호스트(200)는 전달받은 인터럽트 신호를 이용하여 상기 저장되어 있는 데이터를 상기 에이전트1(202)로 전달한다. 상기 호스트(200)가 에이전트1(202)로 데이터를 전달하는 과정은 상기 에이전트2(204)가 호스트(200)로 데이터를 전송하는 과정과 동일하다.
상술한 바와 같이 상기 에이전트2(204)가 에이전트1(202)을 직접 제어하기 위한 디바이스 드라이버가 없기 때문에 호스트(200)가 이를 중계해 주어야 한다. 즉, 에이전트2(202)가 호스트(200)로 먼저 데이터 및 인터럽트 신호를 전달한 후, 상기 호스트(200)가 전달받은 데이터 및 인터럽트 신호를 에이전트1(202)로 전달한다. 이로 인해 전체 PCI 로컬 버스 시스템의 트래픽이 증가할 뿐만 아니라 호스트의 퍼포먼스(performance)에도 영향을 미친다. 따라서, 상기한 바와 같은 문제점들을 해결하기 위한 방안이 논의된다.
상기 문제점을 해결하기 위한 본 발명의 목적은 에이전트간 전달되는 데이터의 처리 속도를 증가시키는 방안을 제안함에 있다.
본 발명의 다른 목적은 PCI 로컬 버스 시스템의 부하를 감소시킴으로서 시스템의 효율을 증가시키는 방안을 제안함에 있다.
본 발명의 또 다른 목적은 새로운 기능을 위해 이미 구현된 구성들을 재 사용함으로서 비용을 감소시킬 수 있는 방안을 제안함에 있다.
본 발명의 목적들을 이루기 위해 에이전트1과 적어도 하나의 에이전트2를 포함한 적어도 2개의 에이전트들과, 호스트로 구성된 버스 시스템에서, 상기 버스 시스템을 제어하는 호스트; 상기 호스트와 데이터를 송수신하는 에이전트1; 및 상기 에이전트1과 직접 데이터를 송수신하는 에이전트2;로 구성됨을 특징으로 한다.
바람직하게, 상기 에이전트1을 제어하기 위해 상기 호스트는 상기 에이전트1의 디바이스 드라이버를 초기화한다.
바람직하게, 상기 에이전트1과 에이전트2는 데이터 발생 여부에 대한 정보인 인터럽트를 송수신하는 인터럽터 신호라인을 직접 연결하고 있다.
바람직하게, 상기 에이전트1과 에이전트2의 인터럽트 신호라인은 상기 버스 시스템 외부로 연결되어 있음을 특징으로 한다.
본 발명의 목적들을 이루기 위해 에이전트1과 적어도 하나의 에이전트2를 포함한 적어도 2개의 에이전트들과, 호스트로 구성된 버스 시스템에서, 상기 버스 시스템이 활성화되는 단계; 상기 호스트가 상기 에이전트1을 구동시키기 위한 상기 에이전트1의 장치 디바이스를 설정하는 단계; 상기 에이전트1이 상기 에이전트2를 구동시키기 위한 상기 에이전트2의 장치 디바이스를 설정하는 단계;로 구성됨을 특징으로 한다.
본 발명은 호스트가 모든 에이전트들을 제어하는 대신 특정 에이전트가 다른 에이전트를 제어하는 방안을 제안한다.
이하 도면들을 이용하여 본 발명의 기술적 사상에 대해 상세하게 설명한다. 이하 도 3 내지 도 5를 이용하여 하나의 호스트와 두 개의 에이전트로 구성된 PCI 로컬 버스 시스템에서 각 구성들에서 수행되는 동작에 대해 알아보기로 한다. 이하 상기 도 3을 이용하여 PCI 로컬 버스 시스템을 구성하고 있는 호스트에 대해 알아보기로 한다.
도 3은 본 발명에 따른 PCI 로컬 버스 시스템을 구성하고 있는 호스트에서 수행되는 동작을 도시하고 있다.
S300단계에서 PCI 로컬 버스 시스템의 전원이 온(on)된다. S302단계에서 상기 호스트는 PCI 구성(configuration) 초기화를 수행한다. 상기 PCI 구성 초기화 과정을 수행함으로서 상기 호스트는 자신에게 필요한 부분에 대한 초기화를 수행한다. 즉, 상기 호스트는 자신에게 필요한 PCI 메모리 사이즈, 캐쉬라인 사이즈(cacheline size) 등에 대한 초기화를 수행한다. 또한, 상기 호스트는 PCI 로컬 버스 시스템을 활성화시키기 위한 초기 변수들에 대한 초기화를 수행한다.
S304단계에서 상기 호스트는 PCI 로컬 버스 시스템을 구성하고 있는 모든 디바이스들을 탐색하고, 상기 탐색된 디바이스들에 대한 초기화를 수행한다. 상기 디바이스에 대한 초기화는 디바이스가 요청한 메모리 영역을 PCI 어드레스에 할당하는 과정이 포함된다. 즉, 에이전트 1이 요청한 메모리 영역이 x이며, 에이전트 2가 요청한 메모리 영역이 y라고 가정하면, 상기 호스트는 요청된 메모리 영역들(x, y)이 중첩되지 않도록 PCI 어드레스를 할당한다. 상기 PCI 어드레스를 할당받음으로서 디바이스는 자신이 사용할 메모리와 관련되 어드레스 정보를 획득하게 된다. 즉, 상기 디바이스는 할당받은 PCI 어드레스 내에서 메모리를 사용할 수 있게 된다.
상기 PCI 버스를 구성하고 있는 디바이스에 대한 초기화 과정을 수행하면 S306단계에서 PCI 버스가 활성화(activation)된다. S308단계에서 상기 호스트는 PCI 로컬 버스 시스템을 구성하고 있는 디바이스들 중 일부 디바이스에 대해 디바이스 드라이버(device driver)를 초기화를 수행한다. 상기 디바이스 드라이버 초기화를 수행할 디바이스는 상기 호스트에 미리 설정할 수 있다. 본 발명과 관련하여 상기 호스트는 모든 디바이스에 대해 디바이스 드라이버 초기화를 수행하는 것이 아니라 일부의 디바이스들에 대해 디바이스 드라이버 초기화를 수행한다. 상기 호스트는 디바이스 어드레스 초기화를 수행할 디바이스에 관한 식별자를 저장하고, 상기 PCI 로컬 버스 시스템을 구성하고 있는 디바이스들 중 저장되어 있는 식별자와 동일한 식별자를 갖는 디바이스가 존재하는 지 여부를 검사한다. 상기 검사 결과 상기 저장되어 있는 식별자와 동일한 식별자를 갖는 디바이스가 존재하면 해당 디바이스에 대한 디바이스 드라이버 초기화 과정을 수행한다. 상기 디바이스 드라이버 초기화를 통해 상기 호스트는 디바이스 드라이버 초기화를 수행한 디바이스에 대한 일반적인 동작을 제어한다. 즉, 할당받은 PCI 어드레스의 사용방법에 관한 것을 결정함으로서 해당 디바이스를 제어한다. 상술한 바와 같이 본 발명과 관련하여 상기 호스트는 일부 디바이스에 대해서만 디바이스 드라이버 초기화 과정을 수행함으로서, PCI 로컬 버스 시스템의 부하를 줄일 수 있게 된다.
도 4는 본 발명에 대한 에이전트 1에서 수행되는 동작을 도시하고 있다. 상기 에이전트 1은 상기 도 3에서 설명한 바와 같이 호스트에 의해 디바이스 드라이버 초기화가 수행되는 디바이스이다. 이하 도 4를 이용하여 본 발명에 따른 호스트에 의해 디바이스 드라이버가 초기화가 수행되는 에이전트 1에서 수행되는 동작에 대해 상세하게 알아보기로 한다.
S400단계에서 PCI 로컬 버스 시스템의 전원이 온(on)된다. S402단계에서 상기 에이전트1은 PCI 구성 초기화 과정을 수행한다. 상기 S402단계에서 상기 에이전트1은 자신이 사용할 메모리 영역뿐만 아니라 에이전트2와 관련된 메모리 영역에 대한 어드레스 할당을 상기 호스트로 요청한다. 즉, 기존에 에이전트1은 에이전트2가 전송한 데이터를 직접 전달받을 메모리를 가지고 있지 않음으로 인해 호스트를 중계하여 데이터를 전달받았다. 하지만, 본원 발명과 관련하여 상기 에이전트1이 상기 에이전트2와 관련된 메모리 영역을 호스트로 요청함으로서, 상기 에이전트1이 전달하는 데이터를 직접 전달받을 수 있게 된다.
S404단계에서 상기 에이전트1은 PCI 로컬 버스가 활성화되도록 대기한다. 상기 S406단계에서 PCI 로컬 버스가 활성화된다. 상기 PCI 로컬 버스가 활성됨으로서 상기 에이전트1은 요청한 메모리 영역에 대한 PCI 어드레스를 할당받게 된다. 즉, 에이전트2와 관련된 메모리 영역에 대한 PCI 어드레스를 할당받게 된다.
S408단계에서 상기 에이전트1은 PCI 로컬 버스를 탐색한다. S410단계에서 상기 에이전트1은 에이전트2가 탐색되는 지 여부를 판단한다. 상기 에이전트는 2는 상기 에이전트1에 의해 디바이스 드라이버 초기화가 수행되는 디바이스이다. 상기 도 4에서는 상기 에이전트1이 하나의 디바이스만을 탐색하는 것으로 도시되어 있으나, 본원 발명과 관련하여 상기 에이전트1은 하나의 디바이스만을 탐색하는 것에 한정되지 않는다. 즉, 상기 S410단계에서 에이전트1에 의해 디바이스 드라이버 초기화가 수행되는 모든 디바이스들에 대한 탐색과정을 수행한다. 하지만 상기 도 4에서는 설명의 편의를 위해 하나의 디바이스에 대한 탐색과정을 수행하는 것으로 한정하였다. 상기 에이전트1은 디바이스 드라이버 초기화를 수행할 디바이스에 대한 식별자를 저장하고, 상기 저장된 식별자와 동일한 식별자 탐색되는 지 여부를 판단한다. 상기 판단 결과 저장된 식별자와 동일한 식별자가 존재하면, 해당 디바이스에 대한 디바이스 드라이버 초기화 과정을 수행한다. 상기 도 4와 관련항 상기 에이전트1은드바이스 드라이버 초기화 과정을 수행할 디바이스로 에이전트2를 설정하고, 상기 에이전트2에 대한 식별자를 저장하고 있다. 따라서, 상기 S410단계에서 상기 에이전트1은 PCI 로컬 버스 상에 에이전트2가 존재하는 지 여부를 판단한다. 상기 판단 결과 에이전트2가 존재하면 S412단계로 이동하고, 에이전트2가 존재하지 않으면 S414단계로 이동한 후 종료한다.
S412단계에서 상기 에이전트1은 에이전트2에 대한 디바이스 드라이버 초기화 과정을 수행한다. 상기 S412단계를 수행함으로서 상기 에이전트1은 에이전트2를 제어할 수 있게 된다. 즉, 상기 에이전트2와 관련하여 할당받은 PCI 어드레스의 사용방법을 결정함으로 해당 디바이스를 제어한다.
도 5는 본 발명에 따른 에이전트 2에서 수행되는 동작을 도시하고 있다. 이하 상기 도 5를 이용하여 본 발명에 따른 에이전트 2에서 수행되는 동작에 대해 상세하게 알아보기로 한다.
S500단계에서 PCI 로컬 버스 시스템의 전원이 온(on)된다. S502단계에서 상기 에이전트2는 PCI 구성 초기화 과정을 수행한다. 상기 S502단계에서 상기 에이전트2는 자신이 사용할 메모리 영역에 대한 어드레스 할당을 상기 호스트로 요청한다. S504단계에서 상기 에이전트2는 PCI 로컬 버스가 활성화되도록 대기한다. 상기 S506단계에서 PCI 로컬 버스가 활성화된다. 상기 PCI 로컬 버스가 활성됨으로서 상기 에이전트2는 요청한 메모리 영역에 대한 PCI 어드레스를 할당받게 된다.
본원 발명은 상술한 바와 PCI 로컬 버스를 구성하고 있는 디바이스에서 수행되는 기능에 3개 나누었다. 즉, PCI 로컬 버스를 구성하고 있는 디바이스의 일반적인 동작을 제어하는 호스트와, 상기 호스트에 의해 동작이 제어되는 에이전트1, 상기 에이전트1에 의해 동작이 제어되는 에이전트2로 나누어진다. 상술한 바와 같이 호스트의 기능의 일부를 에이전트1에서 수행함으로서 상기 PCI 로컬 버스의 부하가 감소된다.
도 6은 본 발명에 따른 에이전트간 데이터를 전달되는 과정을 도시하고 있다. 이하 도 6을 이용하여 에이전트2에서 에이전트1로 데이터가 전달되는 과정에 대해 상세하게 알아보기로 한다.
도 6에 의하면, PCI 로컬 버스 시스템은 호스트(200)와 에이전트1(202), 에이전트 2(204)로 구성된다. 일반적으로 PCI 로컬 버스 시스템은 상기 구성들 이외에 다른 구성들이 포함될 수 있으나 상기 도 6은 설명의 편의를 상기 호스트(200)와 에이전트1(202), 에이전트2(204)로 한정하여 도시하고 있다.
상기 도 3 내지 도 5에서 설명한 바와 같이 상기 에이전트2(204)는 에이전트1(202)에 의해 제어된다. 이하 일 예를 들어 상기 에이전트1(202)과 에이전트2(204)의 관계에 대해 알아보기로 한다. 화상형성장치 시스템에서 유선 네트워크 프린터 카드가 PCI 로컬 버스에 연결되어 있다고 가정한다. 상기 유선 네트워크 프린터 카드는 패킷을 처리하여 화상형성장치에 필요한 정보를 전달한다. 상기 화성형성장치 시스템에 무선기능을 추가하고자 할 경우, 유선 네트워크 프린터 카드 대신 무선 네트워크 프린터 카드를 추가하여 사용하는 것은 비효율적이다. 이와 같은 경우 무선 패킷을 처리할 수 있는 무선 모듈만을 추가적으로 사용하는 것이 바람직하다. 즉, 상기 무선모듈에서 무선 패킷을 처리하고, 상기 처리된 무선 패킷을 유선 네트워크 프린터 카드에서 처리하도록 하는 것이 바람직하다. 상기 유선 네트워크 프린터 카드는 에이전트1의 기능을 수행하며, 무선모듈은 에이전트2의 기능을 수행한다.
상술한 바와 같이 이 경우 무선모듈이 프린터(호스트)를 거치게 되면 패킷이 처리되는 시간이 지연되고, PCI 로컬 버스의 트래픽이 증가된다.
상기 도 6에 도시되어 있는 바와 같이 상기 에이전트1(202)과 에이전트2(204)는 인터럽트 신호라인이 직접 연결되어 있다. 상기 에이전트2(204)는 에이전트1(202)로 전달할 데이터가 발생되면 인터럽트 신호라인을 이용하여 데이터 발생 여부를 전달하게 된다. 상기 에이전트1(202)은 인터럽트 신호라인으로 전달된 정보를 이용하여 상기 에이전트1(202)로 전달할 데이터가 에이전트2(204)에 저장되어 있음을 인지하게 된다. 상기 에이전트1(202)은 에이전트2(204)를 위한 메모리 영역을 구성하고 있으므로, 상기 호스트(200)의 관여없이 데이터를 전달받을 수 있게 된다. 상기 에이전트2(204)는 먼저 인터럽트를 발생시켜 에이전트1(202)로 전달할 데이터가 발생되었음을 알릴 수 있다. 또한, 상기 에이전트2(204)는 먼저 에이전트1(202)로 데이터를 전달하고, 인터럽트를 발생시켜 전달된 데이터를 처리하게 할 수 있다.
도 7은 본 발명에 따른 에이전트간 데이터를 전달되는 과정을 도시한 다른 도면이다. 이하 도 7을 이용하여 적어도 에이전트2로부터 에이전트1으로 데이터가 전달되는 과정에 대해 상세하게 알아보기로 한다.
도 7에 의하면, PCI 로컬 버스 시스템은 호스트(200)와 에이전트1(202), 에이전트 2들(204, 206)로 구성된다. 일반적으로 PCI 로컬 버스 시스템은 상기 구성들 이외에 다른 구성들이 포함될 수 있으나 상기 도 7은 설명의 편의를 상기 호스트(200)와 에이전트1(202), 에이전트2들(204, 206)로 한정하여 도시하고 있다.
상기 도 3 내지 도 5에서 설명한 바와 같이 상기 에이전트2들(204, 206)은 에이전트1(202)에 의해 제어된다.
상기 도 7에 도시되어 있는 바와 같이 상기 에이전트1(202)은 에이전트2(204)와 에이전트2(206)는 인터럽트 신호라인이 직접 연결되어 있다. 상기 에이전트2(204)는 에이전트1(202)로 전달할 데이터가 발생되면 인터럽트 신호라인을 이용하여 데이터 발생 여부를 전달하게 된다. 상기 에이전트1(202)은 인터럽트 신호라인으로 전달된 정보를 이용하여 상기 에이전트2(204)에 상기 에이전트1(202)로 전달할 데이터가 저장되어 있음을 인지하게 된다. 상기 에이전트1(202)은 에이전트2(204)를 위한 메모리 영역을 구성하고 있으므로, 상기 호스트(200)의 관여없이 데이터를 전달받을 수 있게 된다. 상기 에이전트2(204)는 먼저 인터럽트를 발생시켜 에이전트1(202)로 전달할 데이터가 발생되었음을 알릴 수 있다. 또한, 상기 에이전트2(204)는 먼저 에이전트1(202)로 데이터를 전달하고, 인터럽트를 발생시켜 전달된 데이터를 처리하게 할 수 있다.
상기 에이전트2(206) 역시 에이전트1(202)로 전달할 데이터가 발생되면 인터럽트 신호라인을 이용하여 데이터 발생 여부를 전달하게 된다. 상기 에이전트1(202)은 인터럽트 신호라인으로 전달된 정보를 이용하여 상기 에이전트2(206)에 상기 에이전트1(202)로 전달할 데이터가 저장되어 있음을 인지하게 된다. 상기 에이전트1(202)은 에이전트2(206)를 위한 메모리 영역을 구성하고 있으므로, 상기 호스트(200)의 관여없이 데이터를 전달받을 수 있게 된다. 상기 에이전트2(206)는 먼저 인터럽트를 발생시켜 에이전트1(202)로 전달할 데이터가 발생되었음을 알릴 수 있다. 또한, 상기 에이전트2(206)는 먼저 에이전트1(202)로 데이터를 전달하고, 인터럽트를 발생시켜 전달된 데이터를 처리하게 할 수 있다.
상기 에이전트2(204)와 에이전트2(208)은 상기 에이전트1(202)에 대해 서로 독립적으로 동작한다.
물론 상기 호스트와 에이전트간 전달할 데이터 및 인터럽트에 대해서는 기존의 방법을 사용할 수 있다. 즉, 본원 발명은 에이전트가 전달할 정보에 대해 상기 호스트의 관여없이 수행하는 방안을 제안하고 있다.
상기한 바와 같이 본 발명은 PCI 로컬 버스 시스템하에서 특정 에이전트가 호스트로 직접 데이터를 전달할 필요 없이 다른 에이전트로 데이터를 전달하는 경우, 상기 호스트의 중계없이 직접 에이전트간 통신을 가능하게 된다. 이와 같이 에이전트간 통신을 수행함으로서 PCI 로컬 버스 시스템의 부하를 줄이고, 데이터 전달에 따른 속도를 증가시킬 수 있게 된다.
도 1은 호스트와 하나의 에이전트로 구성된 PCI 로컬 버스 시스템을 도시한 도면,
도 2는 호스트와 두 개의 에이전트로 구성된 PCI 로컬 버스 시스템을 도시한 도면.
도 3은 본 발명에 따른 호스트에서 수행되는 동작을 도시한 도면,
도 4는 본 발명에 따른 에이전트1에서 수행되는 동작을 도시한 도면,
도 5는 본 발명에 따른 에이전트2에서 수행되는 동작을 도시한 도면,
도 6은 본 발명에 따른 에이전트2에서 에이전트1로 데이터를 전송하는 PCI 로컬 버스 시스템을 도시한 도면, 및
도 7은 본 발명에 따른 에이전트2에서 에이전트1로 데이터를 전송하는 PCI 로컬 버스 시스템을 도시한 다른 도면.

Claims (16)

  1. 에이전트1과 적어도 하나의 에이전트2를 포함한 적어도 2개의 에이전트들과, 호스트로 구성된 버스 시스템에서,
    상기 버스 시스템을 제어하는 호스트;
    상기 호스트와 데이터를 송수신하는 에이전트1; 및
    상기 에이전트1과 직접 데이터를 송수신하는 에이전트2;로 구성됨을 특징으로 하는 상기 시스템.
  2. 제 1항에 있어서, 상기 에이전트1과 에이전트2는 데이터 발생여부를 전달하기 위한 인터럽트 신호라인을 연결하고 있음을 특징으로 하는 상기 시스템.
  3. 제 2항에 있어서, 상기 에이전트1과 에이전트2의 인터럽트 신호라인은 상기 버스 시스템 외부로 연결되어 있음을 특징으로 하는 상기 시스템.
  4. 제 1항에 있어서, 상기 호스트는 화상형성장치의 제어부임을 특징으로 하는 상기 시스템.
  5. 제 1항에 있어서, 상기 에이전트1은 유선네트워크카드이며, 상기 에이전트2는 무선모듈임을 특징으로 하는 상기 시스템.
  6. 제 1항에 있어서, 상기 에이전트2는 전달할 데이터의 발생을 알리는 인터럽트를 상기 인터럽트 신호라인을 통해 상기 에이전트1로 전달한 후, 상기 데이터를 전달함을 특징으로 하는 상기 시스템.
  7. 제 1항에 있어서, 상기 에이전트2는 상기 데이터를 전달한 후 데이터의 처리를 지시하는 인터럽트를 상기 인터럽트 신호라인을 통해 상기 에이전트1로 전달함을 특징으로 하는 상기 시스템.
  8. 에이전트1과 적어도 하나의 에이전트2를 포함한 적어도 2개의 에이전트들과, 호스트로 구성된 버스 시스템에서,
    상기 버스 시스템이 활성화되는 단계;
    상기 호스트가 상기 에이전트1을 구동시키기 위한 상기 에이전트1의 장치 디바이스를 설정하는 단계; 및
    상기 에이전트1이 상기 에이전트2를 구동시키기 위한 상기 에이전트2의 장치 디바이스를 설정하는 단계;로 구성됨을 특징으로 하는 방법.
  9. 제 8항에 있어서, 상기 에이전트2는 설정된 장치 디바이스를 이용하여 상기 에이전트1로 데이터를 전달하는 단계;를 부가함을 특징으로 하는 상기 방법.
  10. 제 9항에 있어서, 상기 에이전트2는 설정된 장치 디바이스를 이용하여 데이터 발생을 알리는 인터럽트를 상기 인터럽트 신호라인을 통해 상기 에이전트1로 전달한 후 데이터를 전달함을 특징으로 하는 상기 방법.
  11. 제 9항에 있어서, 상기 에이전트2는 설정된 장치 디바이스를 이용하여 데이터 전달한 후 상기 데이터의 처리를 지시하는 인터럽트를 상기 인터럽트 신호라인을 통해 상기 에이전트1로 전달함을 특징으로 하는 상기 방법.
  12. 제 8항에 있어서, 상기 호스트가 상기 에이전트1의 장치 디바이스를 설정하는 단계는 상기 에이전트2로부터 전달받은 데이터만을 저장하는 영역을 상기 에이전트1에 설정함을 특징으로 하는 상기 방법.
  13. 제 8항에 있어서, 상기 활성화 단계는 상기 버스 시스템을 구성하고 있는 에이전트들을 탐색함을 특징으로 하는 상기 방법.
  14. 제 8항에 있어서, 상기 에이전트1은 상기 버스 시스템을 구성하고 있는 상기 에이전트2를 탐색함을 특징으로 하는 상기 방법.
  15. 제 8항에 있어서, 상기 활성화 단계는 상기 버스 시스템을 구성 초기화 과정을 수행함을 특징으로 하는 상기 방법.
  16. 제 8항에 있어서, 상기 버스 시스템은 PCI 로컬 버스 시스템임을 특징으로 하는 상기 방법.
KR1020040032458A 2004-05-08 2004-05-08 Pci 시스템에서 에이전트간 통신 방법 및 통신 장치 KR100599112B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020040032458A KR100599112B1 (ko) 2004-05-08 2004-05-08 Pci 시스템에서 에이전트간 통신 방법 및 통신 장치
US11/001,322 US20050251605A1 (en) 2004-05-08 2004-12-02 Apparatus and method for communications between agents in PCI system
CNB2005100638314A CN100432971C (zh) 2004-05-08 2005-04-08 用于在外围组件互连系统中的代理之间通信的设备和方法
EP05102883A EP1594068A3 (en) 2004-05-08 2005-04-12 PCI Bus system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040032458A KR100599112B1 (ko) 2004-05-08 2004-05-08 Pci 시스템에서 에이전트간 통신 방법 및 통신 장치

Publications (2)

Publication Number Publication Date
KR20050107174A true KR20050107174A (ko) 2005-11-11
KR100599112B1 KR100599112B1 (ko) 2006-07-13

Family

ID=34939247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040032458A KR100599112B1 (ko) 2004-05-08 2004-05-08 Pci 시스템에서 에이전트간 통신 방법 및 통신 장치

Country Status (4)

Country Link
US (1) US20050251605A1 (ko)
EP (1) EP1594068A3 (ko)
KR (1) KR100599112B1 (ko)
CN (1) CN100432971C (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100855803B1 (ko) * 2004-03-24 2008-09-01 인텔 코오퍼레이션 협동적 임베디드 에이전트
KR101018573B1 (ko) * 2006-06-15 2011-03-03 엔비디아 코포레이션 2개 이상의 그래픽 처리 장치를 갖는 비용 효율적인 고성능그래픽 시스템을 위한 그래픽 처리 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1877537A (zh) * 2005-06-10 2006-12-13 鸿富锦精密工业(深圳)有限公司 外围部件互连设备信息识别系统及方法
CN101488079B (zh) * 2008-01-14 2011-08-24 联想(北京)有限公司 在计算机中处理操作命令的方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821180A (en) * 1985-02-25 1989-04-11 Itt Corporation Device interface controller for intercepting communication between a microcomputer and peripheral devices to control data transfers
US5778242A (en) * 1995-01-20 1998-07-07 National Semiconductor Corporation Software interrupt generator for computer bus interface
US5878197A (en) * 1995-12-11 1999-03-02 Ricoh Company, Ltd. Image forming apparatus capable of processing data at high speed in accordance with a high speed data transmission interface
JP3986588B2 (ja) * 1996-09-12 2007-10-03 ブラザー工業株式会社 イメージ画像形成システム及びスキャナ装置
JPH10143437A (ja) * 1996-11-14 1998-05-29 Toshiba Corp コンピュータシステムおよび動画像転送方法
US5898886A (en) * 1996-11-19 1999-04-27 Advanced Micro Devices, Inc. Multimedia devices in computer system that selectively employ a communications protocol by determining the presence of the quaternary interface
US6243775B1 (en) * 1998-01-20 2001-06-05 Micron Technology, Inc. System for extending the available number of configuration registers
US6412027B1 (en) * 1998-02-11 2002-06-25 Globespanvirata, Inc. Direct memory access controller having on-board arbitration circuitry
US6065088A (en) * 1998-08-31 2000-05-16 International Business Machines Corporation System and method for interrupt command queuing and ordering
US6876678B1 (en) * 1999-02-04 2005-04-05 Cisco Technology, Inc. Time division multiplexing method and apparatus for asynchronous data stream
JP3791742B2 (ja) * 1999-05-28 2006-06-28 株式会社沖データ Pciバス制御システム
US6792513B2 (en) * 1999-12-29 2004-09-14 The Johns Hopkins University System, method, and computer program product for high speed backplane messaging
EP1193610B1 (en) * 2000-09-29 2006-11-15 Ricoh Company, Ltd. Data processing apparatus and DMA data transfer method
US6928498B2 (en) * 2001-01-31 2005-08-09 Efficient Networks, Inc. System and method for identifying open peripheral component interconnect (PCI) slots
JP2003263373A (ja) * 2002-03-07 2003-09-19 Fuji Xerox Co Ltd Usb装置
US7243178B2 (en) * 2003-05-16 2007-07-10 Intel Corporation Enable/disable claiming of a DMA request interrupt

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100855803B1 (ko) * 2004-03-24 2008-09-01 인텔 코오퍼레이션 협동적 임베디드 에이전트
KR101018573B1 (ko) * 2006-06-15 2011-03-03 엔비디아 코포레이션 2개 이상의 그래픽 처리 장치를 갖는 비용 효율적인 고성능그래픽 시스템을 위한 그래픽 처리 장치

Also Published As

Publication number Publication date
EP1594068A2 (en) 2005-11-09
EP1594068A3 (en) 2007-04-18
US20050251605A1 (en) 2005-11-10
KR100599112B1 (ko) 2006-07-13
CN100432971C (zh) 2008-11-12
CN1694083A (zh) 2005-11-09

Similar Documents

Publication Publication Date Title
US20200057739A1 (en) Flexible mobile device connectivity to automotive systems with usb hubs
US8347008B2 (en) Method and system for hardware based implementation of USB 1.1 over a high speed link
CA2657827A1 (en) Method and apparatus for distributing usb hub functions across a network
JP2002149592A (ja) ネットワーク上でのpciブリッジ
JP2001156797A (ja) ワイヤレスusbハブ
JP2004295333A (ja) バス通信システムおよびその通信制御方法
CN114281722B (zh) 一种双总线接口的嵌入式控制电路、芯片和电子设备
JP2003256351A (ja) Usbハブ
KR100599112B1 (ko) Pci 시스템에서 에이전트간 통신 방법 및 통신 장치
WO2023125565A1 (zh) 网络节点的配置和访问请求的处理方法、装置
US20190286606A1 (en) Network-on-chip and computer system including the same
US6192409B1 (en) X.25 network connection for X.25 protocol communication used in a full electronic switching system
KR100602204B1 (ko) 메인 제어부와 부 제어부로 구성된 제어 시스템 및 버스연결 방법
US7360007B2 (en) System including a segmentable, shared bus
JP2004152156A (ja) インタフェース変換装置
CN115442239B (zh) 带宽资源分配方法、PCIe通道切换器及电子设备
JP2003022248A (ja) バスブリッジ回路及びデータ転送方法
KR100763039B1 (ko) Dma를 지원하는지를 나타내는 정보를 전송하는 수단을 구비하는 디바이스
US20240012770A1 (en) Interface device having plurality of ports and method of operating the same
CN112948317A (zh) 基于Hlink的多节点系统及处理方法
KR950010948B1 (ko) 베사 로컬 시스템에서의 데이타 중계 방법 및 장치
JP2639248B2 (ja) 通信インターフェイス装置
JP2024015954A (ja) ホストブリッジ機能を有するusbハブ装置及びその制御方法
CN113014631A (zh) 基于Hlink的设备缓存推送系统及方法
CN115757226A (zh) 一种运维方法、计算设备及运维辅助装置

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: 20130627

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee