KR20070024628A - 병렬 통신 버스를 통한 인터럽트 메시지 전송 방법, 컴퓨터시스템 및 제조물 - Google Patents
병렬 통신 버스를 통한 인터럽트 메시지 전송 방법, 컴퓨터시스템 및 제조물 Download PDFInfo
- Publication number
- KR20070024628A KR20070024628A KR1020067026986A KR20067026986A KR20070024628A KR 20070024628 A KR20070024628 A KR 20070024628A KR 1020067026986 A KR1020067026986 A KR 1020067026986A KR 20067026986 A KR20067026986 A KR 20067026986A KR 20070024628 A KR20070024628 A KR 20070024628A
- Authority
- KR
- South Korea
- Prior art keywords
- communication bus
- interrupt
- interrupt message
- message
- computer system
- Prior art date
Links
Images
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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
병렬 통신 버스를 통해 인터럽트 메시지를 전송하는 컴퓨터 시스템 및 방법이 제공된다. 컴퓨터 시스템은 병렬 통신 버스를 통해 제 2 디바이스와 동작가능하게 통신하는 제 1 디바이스를 포함한다. 제 1 디바이스는 병렬 통신 버스를 통해 제 2 디바이스에 제 1 인터럽트 메시지를 전송하도록 구성되는데, 제 1 인터럽트 메시지는 제 1 디바이스를 식별하는 제 1 식별자를 가지는 복수의 비트로 이루어진 데이터 부분을 갖는다.
Description
PCI(Peripheral Component Interconnect) 버스를 활용하는 컴퓨터 시스템이 개발되어 왔다. PCI 버스는 정확히 하나의 PCI 호스트 디바이스 및 하나 이상의 비-호스트 PCI 디바이스가 PCI 버스에 동작가능하게 결합되는 것을 필요로 한다. PCI 버스는 PCI 호스트 디바이스와 비-호스트 PCI 디바이스 사이에 결합되는 인터럽트 라인 세트를 선택적으로 포함한다. 비호스트 PCI 버스는 PCI 호스트 디바이스를 인터럽트하기 위해 인터럽트 라인 상의 전압을 변경하여, PCI 호스트 디바이스가 자신이 실행하였던 어떠한 태스크라도 중지하게 하며 인터럽트와 관련된 더 높은 우선순위의 태스크를 실행하게 한다.
PCI 사양 및 VME와 같은 다른 유사한 병렬 컴퓨터 버스에 의해 제공된 인터럽트 방법은 여러 가지 부족한 점이 있는데, 이들 전부는 컴퓨터 시스템의 전체 속도에 부정적인 영향을 준다. 특히, 인터럽트 라인 중 하나가 어서트될(asserted) 때마다, 인터럽트된 디바이스는 어떤 인터럽트 디바이스가 인터럽트 라인을 어서트하는 중인지를 결정하고 인터럽트 디바이스에게 인터럽트 라인이 인터럽트 신호를 수신하였음을 알리기 위해 하나 이상의 버스 사이클을 생성해야 한다. 디바이스의 구성원이 버스에 결합되어 인터럽트 신호 증가를 발생시킬 수 있으므로, PCI 호스트 디바이스는 어떤 디바이스가 각각의 인터럽트 신호를 전달하였는지를 결정하기 위해 상대적으로 다량의 프로세싱 시간이 필요하다.
따라서, 버스를 통해 인터럽트 신호를 수신하는 디바이스가 인터럽트하는 디바이스의 신원을 비교적 빨리 판단하는 것을 가능하게 하는 병렬 버스 시스템을 구비하는 것이 바람직하다.
예시적인 실시예에 따른 컴퓨터 시스템이 제공된다. 컴퓨터 시스템은 병렬 통신 버스를 통해 제 2 디바이스와 동작가능하게 통신하는 제 1 디바이스를 포함한다. 제 1 디바이스는 병렬 통신 버스를 통해 제 2 디바이스에 제 1 인터럽트 메시지를 전송하도록 구성되는데, 제 1 인터럽트 메시지는 제 1 디바이스를 식별하는 제 1 식별자를 가지는 복수의 비트로 이루어진 데이터 부분을 갖는다.
다른 예시적인 실시예에 따라 병렬 통신 버스를 통해 인터럽트 메시지를 전송하는 방법이 제공된다. 본 방법은 병렬 통신 버스를 통해 제 1 디바이스로부터 제 1 인터럽트 메시지를 전송하는 단계를 포함한다. 제 1 인터럽트 메시지는 제 1 디바이스를 식별하는 제 1 식별자를 가지는 복수의 비트로 이루어진 데이터 부분을 갖는다. 마지막으로, 방법은 통신 버스에 동작가능하게 결합되는 제 2 디바이스에서 제 1 인터럽트 메시지를 수신하는 단계를 포함한다. 제 2 디바이스는 메모리의 제 1 메모리 장소에 제 1 인터럽트 메시지를 저장한다.
다른 예시적인 실시예에 따른 제조물이 제공된다. 이 제조물은 병렬 통신 버스를 통해 적어도 하나의 인터럽트 메시지를 전송하기 위해 자체 내에서 인코딩된 컴퓨터 프로그램을 갖는 컴퓨터 저장 매체를 포함한다. 컴퓨터 저장 매체는 병렬 통신 버스를 통해 제 1 디바이스로부터 제 1 인터럽트 메시지를 전송하는 코드를 포함한다. 제 1 인터럽트 메시지는 제 1 디바이스를 식별하는 제 1 식별자를 가지는 복수의 비트로 이루어진 데이터 부분을 갖는다. 컴퓨터 저장 매체는 통신 버스에 동작가능하게 결합되는 제 2 디바이스에서 제 1 인터럽트 메시지를 수신하는 코드를 포함한다. 제 2 디바이스는 메모리의 제 1 메모리 장소에 제 1 인터럽트 메시지를 저장한다.
본 실시예에 따른 다른 시스템 및/또는 방법은 후속하는 도면 및 상세한 설명의 검토에 의해 당업자에게 자명하거나 자명해질 것이다. 이러한 모든 추가 시스템 및 방법은 본 발명의 범주 내에 존재하며, 첨부하는 특허청구범위에 의해 보호된다.
도 1은 예시적인 실시예에 따른 컴퓨터 시스템의 개략도이다.
도 2는 도 1의 컴퓨터 시스템의 일부를 보다 상세히 나타낸 개략도이다.
도 3 및 도 4는 다른 예시적인 실시예에 따른 도 1의 컴퓨터 시스템에서 병렬 통신 버스를 통해 인터럽트 메시지를 전송하는 방법의 흐름도이다.
도 1을 참조하면, 컴퓨터 시스템(10)이 제공된다. 도시된 바와 같이, 컴퓨터 시스템(10)은 PCI 버스 호스트 디바이스(12), PCI 버스(14), PCI 버스 마스터 디바이스(16,18) 및 PCI 타깃 디바이스(20,22)를 포함한다. 컴퓨터 시스템(10)의 이점은 시스템(10)이 병렬 통신 버스에 결합된 디바이스가 전달 디바이스의 신원을 식별하는 인터럽트 메시지를 전송하는 것을 가능하게 한다는 점이다. 인터럽트 신호 또는 인터럽트 메시지는 타깃 디바이스가 인터럽트 메시지에 의해 지시된 태스크는 수행하지만 자신의 다른 태스크는 일시적으로 중단하도록 유도한다.
PCI 호스트 디바이스(12)는 PCI 통신 버스(14)를 통해 통신을 용이하게 하는 것과 관련된 태스크를 수행하도록 제공된다. PCI 버스 호스트 디바이스(12)는 PCI 통신 버스(14)에 결합된 각각의 디바이스에 고유한 어드레스 범위를 할당한다. 또한, PCI 호스트 디바이스(12) 내의 PCI 버스 중재기(PCI bus arbiter)는 버스(14)에 결합된 하나의 디바이스만 허용하여 특정 시간에 버스(14)를 통한 데이터 전송을 개시한다. 다른 실시예에서, PCI 버스 중재기는 PCI 호스트 디바이스(12)가 아닌 다른 디바이스에 존재할 수 있다.
PCI 버스(14)는 버스(14)에 부착된 다양한 디바이스 간의 통신을 용이하게 하도록 제공된다. 도시된 바와 같이, 버스(14)는 PCI 호스트 디바이스(12), PCI 버스 마스터 디바이스(16,18) 및 PCI 버스 타깃 디바이스(20,22)에 동작가능하게 결합된다. 다른 실시예에서, PCI 통신 버스(14)는 예컨대, VME 버스와 같은 다른 유형의 버스로 대체될 수 있음에 주목해야 한다.
PCI 버스 마스터 디바이스(16,18)는 버스(14)를 통해 버스(14)에 동작가능하게 결합되는 임의의 디바이스에 PCI 인터럽트 메시지를 전송하도록 제공된다. PCI 버스 마스터 디바이스(16)는 버스(14)에 동작가능하게 결합되어 버스(14)를 통한 데이터 전송을 개시하는 능력이 있는 임의의 디바이스를 포함한다. 예컨대, PCI 버스 마스터 디바이스는 PCI 버스 마스터 디바이스(16), PCI 버스 마스터 디바이스(18) 및 PCI 호스트 디바이스(12)일 수 있다. 특히, PCI 버스 마스터 디바이스(16,18) 각각은 버스(14)를 통해 하나 이상의 PCI 메시지를 전송하도록 구성된 컴퓨터를 포함한다. 또한, 디바이스(16,18) 버스(14)를 통해 버스 기록 사이클을 수행함으로써 각각은 타깃 디바이스에 할당된 특정 메모리 어드레스에 인터럽트 메시지를 전송한다. 각 인터럽트 메시지는 수신 디바이스가 인터럽트 메시지에 반응하는 방법에 영향을 주는 정보를 포함하는 복수의 비트의 데이터 부분을 갖는다. 이 정보는 전송 디바이스의 신원, 인터럽트 메시지의 우선순위 또는 인터럽트 메시지에 대한 이유 중 하나 이상을 포함한다. 타깃 디바이스(20)는 버스(14)에 동작가능하게 결합된 디바이스 중 임의의 디바이스를 포함할 수 있다. 예컨대, PCI 버스 마스터 디바이스(16)는 PCI 버스 마스터 디바이스(18), PCI 타깃 디바이스(20,22) 및 PCI 호스트 디바이스(12)에 인터럽트 메시지를 전송할 수 있다.
도 2를 참조하면, PCI 버스 마스터 디바이스(16,18), PCI 타깃 디바이스(20)를 포함하는 컴퓨터 시스템(10)의 일부가 도시된다.
PCI 타깃 디바이스(20)는 PCI 커넥터(23), 로컬 PCI 버스(24), PCI 브릿지(26), 프로세스(28), 로컬 메모리 버스(30), 메모리(32) 및 인터럽트 처리 디바 이스(34)를 포함한다. PCI 커넥터(23)는 PCI 타깃 디바이스(20)와 PCI 통신 버스(14)를 동작가능하게 결합하도록 제공된다. 로컬 PCI 버스(24)는 PCI 커넥터(23)와 PCI 브릿지(26) 사이에 동작가능하게 결합되어 디바이스(20)에 대한 인터럽트 메시지를 통신 버스(14)에서 PCI 브릿지(26)로 라우팅한다. PCI 타깃 디바이스(20)의 이점은 타깃 디바이스(20)가 메모리(36) 내의 복수의 인터럽트 메시지를 큐잉(queue)한 후 이에 응답하여 복수의 인터럽트 태스크를 실행할 수 있다는 것이다.
PCI 통신 브릿지(26)는 수신된 디바이스(20)에 대한 인터럽트 메시지를 로컬 메모리 버스(30)를 통해 인터럽트 처리 디바이스(34)에 전송하도록 제공된다. 특히, PCI 통신 브릿지(26)가 인터럽트 메시지를 수신할 때, PCI 통신 브릿지(26)는 인터럽트 처리 디바이스(34)에 할당된 특정 어드레스에 버스 기록 사이클을 수행한다. 이에 따라, 인터럽트 처리 디바이스(34)는 메모리(36) 내의 사전결정된 어드레스에 인터럽트 메시지를 기록한다. 다른 실시예에서, 인터럽트 처리 디바이스(34)는 메모리(32) 내의 사전결정된 어드레스에 인터럽트 메시지를 기록한다. 또한, 또 다른 실시예에서, PCI 통신 브릿지(26)는 프로세서(28)에 내장될 수 있다.
프로세서(28)는 버스(30)를 통해 통신을 제어하고, 인터럽트 메시지에 응답하여 인터럽트 태스크(예컨대, 인터럽트 서비스 요청 서브루틴)를 실행하도록 제공된다. 프로세서(28)는 버스(30)에 동작가능하게 결합되고 인터럽트 처리 디바이스(34)에도 결합된다. 인터럽트 통신 라인(37)은 프로세서(28)와 인터럽트 처리 디바이스(34) 사이에 배치된다. 프로세서(28)가 인터럽트 처리 디바이스(34)로부터 인터럽트 신호(I1)를 수신할 때, 프로세서(28)는 인터럽트 처리 디바이스(34)에 의해 메모리(36) 내에 저장된 인터럽트 메시지를 검색한다. 이에 따라, 프로세서(28)는 (i) 인터럽트 메시지와 관련된 태스크를 실행하거나 (ii) 프로세스 상태 변수를 처리하여, 프로세스(28)는 이후의 시간에 인터럽트 메시지와 관련된 태스크를 실행할 것이다. 이에 따라, 만일 큐 내에 프로세서(28)에 의해 검색되지 않았던 다수의 인터럽트 메시지가 존재하면, 프로세서(28)는 인터럽트 처리 디바이스(34)로부터 인터럽트 신호를 계속해서 수신한다. 인터럽트 신호 수신에 응답하여, 프로세서(28)는 큐로부터 인터럽트 메시지를 계속해서 검색하고, 큐가 비워질 때까지 인터럽트 메시지와 관련된 태스크를 실행한다.
다른 실시예에서, 인터럽트 처리 디바이스(34)는 프로세서(28)에 다른 별개의 인터럽트 신호를 전달하여 인터럽트 메시지가 여전히 보류중임을 나타낸다. 또 다른 실시예에서, 프로세서(28)와 인터럽트 처리 디바이스(34) 사이의 프로토콜은 인터럽트 큐가 비어있는지를 판단하는 것으로 정의된다.
타깃 디바이스(20)에 대한 또 다른 실시예에서, 복수의 추가 인터럽트 통신 라인은 프로세서(28)와 인터럽트 처리 디바이스(34) 사이에 배치된다. 각 인터럽트 통신 라인은 별개의 인터럽트 메시지를 나타내는 신호를 전송하도록 구성된다. 프로세서(28)가 인터럽트 통신 라인을 통해 인터럽트 처리 디바이스(34)로부터 신호를 수신할 때, 프로세서(28)는 인터럽트 통신 라인과 관련된 태스크를 실행한다. 따라서, 이러한 다른 실시예에서, 프로세서(28)는 임의의 디바이스로부터 인터럽트 메시지를 판독하여 어떤 인터럽트 태스크가 실행되는지를 판단할 필요가 없다. 대신에, 인터럽트 처리 디바이스(34)는 복수의 인터럽트 통신 라인 중 사전결정된 인터럽트 통신 라인을 통해 프로세서(28)에 신호를 전송함으로써 인터럽트의 유형을 나타낸다.
인터럽트 처리 디바이스(34)는 버스(30)에 동작가능하게 결합되어, 버스(14)에 결합하는 임의의 PCI 버스 마스터 디바이스로부터 수신된 인터럽트 메시지를 수신하고 저장한다. 도시된 바와 같이, 인터럽트 처리 디바이스(34)는 내부 메모리 디바이스(36)를 포함한다. 특히, 인터럽트 처리 디바이스(34)는 각각의 인터럽트 메시지를 저장하는 메모리(36) 내의 메모리 어드레스를 결정하도록 구성된다. 또한, 디바이스(34)는 인터럽트 통신 라인(37)을 통해 프로세서(28)에 인터럽트 메시지가 수신되어 메모리(36)에 저장되었음을 나타내는 신호(I1)를 전송하도록 구성된다. 인터럽트 처리 디바이스(34)는 ASIC(application specific integrated circuit)를 포함한다. 다른 실시예에서, 인터럽트 처리 디바이스(34)는 CPLD(configurable programmable logic device), FPGA(field programmable gate array), 커스텀 마스크 로직 디바이스(custom masked logic device) 또는 다른 로직 디바이스를 포함할 수 있다.
다른 실시예에서, 인터럽트 처리 디바이스(34)는 내부 메모리(36)를 구비하지 않는 대신에 로컬 메모리(32)에 기록하여 인터럽트 메시지를 저장한다. 따라서, 인터럽트 처리 디바이스(34)는 로컬 메모리(32)에 기록하여 메시지를 저장하고, 프로세스(28)는 이 로컬 메모리(32)로부터 판독하여 인터럽트 메시지를 검색한 다.
이제 도 3 및 도 4를 참조하면, 병렬 통신 버스를 통해 인터럽트 메시지를 전송하는 방법이 설명될 것이다.
단계(60)에서, PCI 버스 마스터 디바이스(16)는 PCI 버스(14)를 통해 PCI 타깃 디바이스(20)에 할당되는 특정 어드레스에 제 1 인터럽트 메시지를 기록하는데, 여기서 제 1 인터럽트 메시지는 PCI 버스 마스터 디바이스(16)를 식별하는 식별자를 포함한다.
단계(62)에서, PCI 브릿지(26)는 제 1 인터럽트 메시지를 수신하고, 내부 버스(30)를 통해 인터럽트 처리 디바이스(34)에 할당된 특정 어드레스에 제 1 인터럽트 메시지를 포함하는 버스 기록 사이클을 수행한다.
단계(64)에서, 인터럽트 처리 디바이스(34)는 메모리(36)의 제 1 메모리 장소에 제 1 인터럽트 메시지를 저장한다.
단계(66)에서, 인터럽트 처리 디바이스(34)는 적어도 하나의 인터럽트 메시지가 보류중인 프로세서(28)로의 신호에 인터럽트 라인(37) 상의 제 1 사전결정된 레벨로 전압을 인가한다.
단계(68)에서, PCI 버스 마스터 디바이스(18)는 PCI 버스(14)를 통해 PCI 타깃 디바이스(20)에 할당되는 특정 어드레스에 제 2 인터럽트 메시지를 기록하는데, 여기서 제 2 인터럽트 메시지는 PCI 버스 마스터 디바이스(18)를 식별하는 식별자를 포함한다.
단계(70)에서, PCI 브릿지(26)는 제 2 인터럽트 메시지를 수신하고, 내부 버 스(30)를 통해 인터럽트 처리 디바이스(34)에 할당된 특정 어드레스에 제 2 인터럽트 메시지를 포함하는 버스 기록 사이클을 수행한다.
단계(74)에서, 인터럽트 처리 디바이스(34)는 메모리(36)의 제 2 메모리 장소에 제 2 인터럽트 메시지를 저장한다.
단계(76)에서, 인터럽트 처리 디바이스(34)는 적어도 하나의 인터럽트 메시지가 보류중인 프로세서(28)로의 신호에 대해 인터럽트 라인(37) 상의 전압을 제 1 사전결정된 레벨로 계속해서 유지한다.
단계(78)에서, 전압이 제 1 사전결정된 전압 레벨로 인터럽트 라인(37)에 인가되므로, 프로세서(28)는 현재 수행중인 태스크를 중단하고 로컬 버스(30)를 사용하여 인터럽트 처리 디바이스(34)로부터 제 1 인터럽트 메시지를 검색한다.
단계(80)에서, 프로세서(28)는 (i) 제 1 인터럽트 메시지와 관련된 태스크를 즉시 실행하거나 (ii) 이후의 시간에 제 1 인터럽트 메시지와 관련된 태스크를 실행하게 될 방법으로 프로세스 상태 변수를 변경한다.
단계(82)에서, 인터럽트 처리 디바이스(34)는 적어도 하나의 인터럽트 메시지가 보류중인 프로세서(28)로의 신호에 대해 인터럽트 라인(37) 상의 전압을 제 1 사전결정된 레벨로 계속해서 유지한다.
단계(84)에서, 전압이 제 1 사전결정된 전압 레벨로 인터럽트 라인(37)에 인가되므로, 프로세서(28)는 현재 수행중인 태스크를 중단하고 로컬 버스(30)를 사용하여 인터럽트 처리 디바이스(34)로부터 제 2 인터럽트 메시지를 검색한다.
단계(86)에서, 프로세서(28)는 (i) 제 2 인터럽트 메시지와 관련된 태스크를 즉시 실행하거나 (ii) 이후의 시간에 제 2 인터럽트 메시지와 관련된 태스크를 실행하게 될 방법으로 프로세스 상태 변수를 변경한다.
단계(88)에서, 인터럽트 디바이스(34)는 인터럽트 라인(37) 상의 전압을 제 2 사전결정된 전압 레벨로 변경하여 어떠한 인터럽트 메시지도 현재 보류중이 아님을 나타낸다.
마지막으로, 단계(90)에서, 전압이 제 2 사전결정된 전압 레벨로 인터럽트 라인(37)에 인가되므로, 프로세서(28)는 인터럽트 처리 디바이스(34)로부터 인터럽트 메시지를 검색하는 것이 아닌 다른 태스크를 수행한다.
인터럽트 메시지를 전송하는 컴퓨터 시스템 및 방법은 다른 시스템 및 방법 이상의 상당한 이점을 제공한다. 특히, 이러한 시스템 및 방법은 병렬 통신 버스에 결합되는 전달 디바이스가 그 전달 디바이스를 식별하는 식별자를 포함하는 인터럽트 메시지를 수신 디바이스에 전송하는 것을 가능하게 하는 기술적 효과를 제공한다.
상술한 바와 같이, 본 발명은 컴퓨터 구현형 프로세스 및 이들 프로세스를 실행하는 장치의 형태로 구현될 수 있다. 본 발명은 플로피 디스켓, CD ROM, 하드 드라이브 또는 기타 컴퓨터 판독가능한 저장 매체와 같은 실체적인 매체로 실행되는 인스트럭션을 포함하는 컴퓨터 프로그램 코드의 형태로도 구현될 수 있는데, 컴퓨터 프로그램 코드가 컴퓨터에 로딩되어 컴퓨터에 의해 실행될 때, 그 컴퓨터는 본 발명을 실행하는 장치가 된다. 본 발명은 예컨대, 저장 매체에 저장되고, 컴퓨터에 로딩 및/또는 컴퓨터에 의해 실행되거나, 전기적 와이어링 또는 케이블링, 광 섬유 또는 전자기 방사와 같은 몇몇 전송 매체를 통해 전송되는 컴퓨터 프로그램 코드의 형태로도 구현될 수 있는데, 컴퓨터 프로그램 코드가 컴퓨터에 로딩되어 컴퓨터에 의해 실행될 때, 그 컴퓨터는 본 발명을 실행하는 장치가 된다. 범용 마이크로프로세서 상에서 구현될 때, 컴퓨터 프로그램 코드 세그먼트는 마이크로프로세서를 구성하여 특정 로직 회로를 생성한다.
본 발명은 예시적인 실시예를 참조하여 설명되었지만, 당업자는 다양한 변경이 가능할 수 있고, 균등물이 본 발명의 범주를 벗어나지 않으면서 구성요소를 대체할 수 있음을 알 것이다. 또한, 다수의 변경은 본 발명의 범주를 벗어나지 않으면서 본 발명의 이론을 특정 상태에 적합시킬 수 있다. 따라서, 본 발명은 본 발명을 수행하기 위해 개시된 실시예를 제한하려는 것이 아니며, 첨부되는 특허 청구 범위에 포함되는 모든 실시예를 포함한다. 또한, 용어 제 1, 제 2 등은 임의의 중요도 순서를 나타내기 위해 사용되는 것이 아니라, 하나의 구성요소와 다른 구성요소를 구별하기 위해 사용된다.
Claims (21)
- 병렬 통신 버스를 통해 제 2 디바이스와 동작가능하게 통신하고, 상기 병렬 통신 버스를 통해 상기 제 2 디바이스에 제 1 인터럽트 메시지를 전송하도록 구성된 제 1 디바이스를 포함하되,상기 제 1 인터럽트 메시지는 상기 제 1 디바이스를 식별하는 제 1 식별자를 가지는 복수의 비트로 이루어진 데이터 부분을 갖는컴퓨터 시스템.
- 제 1 항에 있어서,상기 병렬 통신 버스는 PCI 통신 버스, PCI-X 통신 버스, CompactPCI 통신 버스, VME 통신 버스, VME64 통신 버스 및 VME64x 통신 버스 중 하나를 포함하는컴퓨터 시스템.
- 제 1 항에 있어서,상기 병렬 통신 버스에 동작가능하게 결합되어, 상기 병렬 통신 버스를 통해 상기 제 2 디바이스에 제 2 인터럽트 메시지를 전송하도록 구성되는 제 3 디바이스를 더 포함하되,상기 제 2 인터럽트 메시지는 상기 제 3 디바이스를 식별하는 제 2 식별자를 갖는 복수의 비트로 이루어진 데이터 부분을 갖는컴퓨터 시스템.
- 제 1 항에 있어서,상기 병렬 통신 버스에 동작가능하게 결합되는 제 3 디바이스를 더 포함하되,상기 제 1 디바이스는 상기 병렬 통신 버스를 통해 상기 제 3 디바이스에 제 2 인터럽트 메시지를 전송하도록 구성되고,상기 제 2 인터럽트 메시지는 상기 제 1 디바이스를 식별하는 제 2 식별자를 갖는 복수의 비트로 이루어진 데이터 부분을 갖는컴퓨터 시스템.
- 제 1 항에 있어서,상기 제 1 인터럽트 메시지의 데이터 부분은 상기 제 2 디바이스가 수행하는 태스크를 식별하는 인터럽트 명령을 더 포함하는컴퓨터 시스템.
- 제 1 항에 있어서,상기 제 2 디바이스는 상기 제 1 인터럽트 메시지를 수신하고 상기 제 1 식별자와 관련된 적어도 하나의 태스크를 수행하도록 구성되는컴퓨터 시스템.
- 제 1 항에 있어서,상기 제 1 디바이스는 상기 병렬 통신 버스를 통해 상기 제 2 디바이스에 상기 제 1 인터럽트 메시지를 기록하는컴퓨터 시스템.
- 제 1 항에 있어서,상기 제 1 인터럽트 메시지는 상기 제 2 디바이스가 상기 제 1 인터럽트 메시지와 관련되지 않은 다른 태스크를 수행하는 것을 중단하도록 유도하는컴퓨터 시스템.
- 제 1 항에 있어서,상기 제 2 디바이스는 브릿지 통신 디바이스, 프로세서, 인터럽트 처리 디바이스 및 상기 브릿지 통신 디바이스, 상기 프로세서 및 상기 인터럽트 처리 디바이스에 동작가능하게 결합되는 내부 버스를 포함하되,상기 브릿지 통신 디바이스는 상기 제 1 인터럽트 메시지를 수신하고 상기 제 1 인터럽트 메시지를 상기 인터럽트 처리 디바이스에 전송하는컴퓨터 시스템.
- 제 9 항에 있어서,상기 인터럽트 처리 디바이스는 상기 제 1 인터럽트 메시지를 수신하고 메모리의 제 1 메모리 장소에 상기 제 1 인터럽트 메시지를 저장하되,상기 인터럽트 처리 디바이스는 상기 프로세서에 상기 제 1 인터럽트 메시지가 상기 메모리에 저장되었음을 나타내는 제 1 신호를 전송하고, 상기 프로세서는 상기 제 1 신호에 응답하여 상기 제 1 메모리 장소로부터 상기 제 1 인터럽트 메시지를 검색하는컴퓨터 시스템.
- 제 10 항에 있어서,상기 프로세서는 상기 제 1 인터럽트 메시지를 판독한 후에 상기 제 1 인터 럽트 메시지와 관련된 적어도 하나의 태스크를 수행하는컴퓨터 시스템.
- 제 9 항에 있어서,상기 인터럽트 처리 디바이스는 상기 제 1 인터럽트 메시지를 수신하고 메모리의 제 1 메모리 장소에 상기 제 1 인터럽트 메시지를 저장하되,상기 인터럽트 처리 디바이스는 수신된 인터럽트의 유형을 나타내는 복수의 신호 중 하나를 상기 프로세서로 전송하고, 상기 프로세서는 상기 복수의 신호 중 하나에 응답하여 상기 제 1 메모리 장소로부터 상기 제 1 인터럽트 메시지를 검색하는컴퓨터 시스템.
- 제 12 항에 있어서,상기 프로세서는 상기 제 1 인터럽트 메시지를 검색한 후에 상기 제 1 인터럽트 메시지와 관련된 적어도 하나의 태스크를 수행하는컴퓨터 시스템.
- 병렬 통신 버스를 통해 인터럽트 메시지를 전송하는 방법에 있어서,제 1 디바이스로부터 상기 병렬 통신 버스를 통해 상기 제 1 디바이스를 식별하는 제 1 식별자를 가지는 복수의 비트로 이루어진 데이터 부분을 갖는 제 1 인터럽트 메시지를 전송하는 단계와,상기 통신 버스에 동작가능하게 결합되어 메모리의 제 1 메모리 장소에 제 1 인터럽트 메시지를 저장하는 제 2 디바이스에서 상기 제 1 인터럽트 메시지를 수신하는 단계를 포함하는병렬 통신 버스를 통한 인터럽트 메시지 전송 방법.
- 제 14 항에 있어서,상기 메모리로부터 상기 제 1 인터럽트 메시지를 검색하고, 상기 제 1 식별자에 기초하여 상기 제 1 인터럽트 메시지와 관련된 적어도 하나의 태스크를 수행하는 단계를 더 포함하는병렬 통신 버스를 통한 인터럽트 메시지 전송 방법.
- 제 14 항에 있어서,상기 제 1 인터럽트 메시지의 상기 데이터 부분은 상기 제 2 디바이스가 실 행하는 태스크를 식별하는 인터럽트 명령을 더 포함하는병렬 통신 버스를 통한 인터럽트 메시지 전송 방법.
- 제 14 항에 있어서,상기 병렬 통신 버스는 PCI 통신 버스, PCI-X 통신 버스, CompactPCI 통신 버스, VME 통신 버스, VME64 통신 버스 및 VME64x 통신 버스 중 하나를 포함하는병렬 통신 버스를 통한 인터럽트 메시지 전송 방법.
- 제 14 항에 있어서,제 3 디바이스로부터 상기 병렬 통신 버스를 통해 상기 제 3 디바이스를 식별하는 제 2 식별자를 가지는 복수의 비트로 이루어진 데이터 부분을 갖는 제 2 인터럽트 메시지를 전송하는 단계와,상기 통신 버스에 동작가능하게 결합되어 상기 메모리의 제 2 메모리 장소에 제 2 인터럽트 메시지를 저장하는 상기 제 2 디바이스에서 상기 제 2 인터럽트 메시지를 수신하는 단계를 더 포함하는병렬 통신 버스를 통한 인터럽트 메시지 전송 방법.
- 병렬 통신 버스를 통해 적어도 하나의 인터럽트 메시지를 전송하기 위해 자체 내에서 인코딩된 컴퓨터 프로그램을 갖는 컴퓨터 저장 매체를 포함하는 제조물에 있어서,상기 컴퓨터 저장 매체는,제 1 디바이스로부터 상기 병렬 통신 버스를 통해 상기 제 1 디바이스를 식별하는 제 1 식별자를 가지는 복수의 비트로 이루어진 데이터 부분을 갖는 제 1 인터럽트 메시지를 전송하는 코드와,상기 통신 버스에 동작가능하게 결합되어 메모리의 제 1 메모리 장소에 제 1 인터럽트 메시지를 저장하는 제 2 디바이스에서 상기 제 1 인터럽트 메시지를 수신하는 코드를 포함하는제조물.
- 제 19 항에 있어서,상기 병렬 통신 버스는 PCI 통신 버스, PCI-X 통신 버스, CompactPCI 통신 버스, VME 통신 버스, VME64 통신 버스 및 VME64x 통신 버스 중 하나를 포함하는제조물.
- 제 19 항에 있어서,상기 컴퓨터 저장 매체는,제 3 디바이스로부터 상기 병렬 통신 버스를 통해 상기 제 3 디바이스를 식별하는 제 2 식별자를 가지는 복수의 비트로 이루어진 데이터 부분을 갖는 제 2 인터럽트 메시지를 전송하는 코드와,상기 통신 버스에 동작가능하게 결합되어 상기 메모리의 제 2 메모리 장소에 제 2 인터럽트 메시지를 저장하는 상기 제 2 디바이스에서 상기 제 2 인터럽트 메시지를 수신하는 코드를 더 포함하는제조물.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/710,141 | 2004-06-22 | ||
US10/710,141 US20050283555A1 (en) | 2004-06-22 | 2004-06-22 | Computer system and method for transmitting interrupt messages through a parallel communication bus |
PCT/US2005/016915 WO2006007100A1 (en) | 2004-06-22 | 2005-05-13 | Computer system and method for transmitting interrupt messages through a parallel communication bus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070024628A true KR20070024628A (ko) | 2007-03-02 |
KR101133806B1 KR101133806B1 (ko) | 2012-04-06 |
Family
ID=34970166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067026986A KR101133806B1 (ko) | 2004-06-22 | 2005-05-13 | 병렬 통신 버스를 통한 인터럽트 메시지 전송 방법 및 컴퓨터 시스템 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20050283555A1 (ko) |
EP (1) | EP1761857A1 (ko) |
JP (1) | JP5079502B2 (ko) |
KR (1) | KR101133806B1 (ko) |
CN (1) | CN1973273A (ko) |
WO (1) | WO2006007100A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105259839A (zh) * | 2015-11-02 | 2016-01-20 | 日立永济电气设备(西安)有限公司 | 多电路板并行通信系统和方法 |
EP3398299A1 (en) * | 2015-12-31 | 2018-11-07 | Blocks Wearables Inc. | Modular communication framework |
US20180285292A1 (en) * | 2017-03-28 | 2018-10-04 | Qualcomm Incorporated | System and method of sending data via additional secondary data lines on a bus |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62243058A (ja) * | 1986-04-15 | 1987-10-23 | Fanuc Ltd | マルチプロセツサシステムの割込制御方法 |
JPH05342171A (ja) * | 1992-06-11 | 1993-12-24 | Hitachi Ltd | 共有記憶通信方式 |
JPH0916526A (ja) * | 1995-07-03 | 1997-01-17 | Hitachi Ltd | データ処理システム |
JP3208332B2 (ja) * | 1995-12-20 | 2001-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割込み装置 |
US5848279A (en) * | 1996-12-27 | 1998-12-08 | Intel Corporation | Mechanism for delivering interrupt messages |
US5956516A (en) * | 1997-12-23 | 1999-09-21 | Intel Corporation | Mechanisms for converting interrupt request signals on address and data lines to interrupt message signals |
US6374321B2 (en) * | 1997-12-23 | 2002-04-16 | Intel Corporation | Mechanisms for converting address and data signals to interrupt message signals |
US6094699A (en) * | 1998-02-13 | 2000-07-25 | Mylex Corporation | Apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller |
US6665761B1 (en) * | 1999-07-28 | 2003-12-16 | Unisys Corporation | Method and apparatus for routing interrupts in a clustered multiprocessor system |
US6265885B1 (en) * | 1999-09-02 | 2001-07-24 | International Business Machines Corporation | Method, apparatus and computer program product for identifying electrostatic discharge damage to a thin film device |
US6502156B1 (en) * | 1999-12-27 | 2002-12-31 | Intel Corporation | Controlling I/O devices independently of a host processor |
TW501017B (en) * | 2000-04-05 | 2002-09-01 | Via Tech Inc | Processing method, chip set and controller for supporting message signaled interrupt |
US6983339B1 (en) * | 2000-09-29 | 2006-01-03 | Intel Corporation | Method and apparatus for processing interrupts of a bus |
US6684281B1 (en) * | 2000-11-02 | 2004-01-27 | Fujitsu Limited | Fast delivery of interrupt message over network |
TW499795B (en) * | 2001-03-19 | 2002-08-21 | Realtek Semiconductor Corp | PCI extended function interface and the PCI device using the same |
US6775730B2 (en) * | 2001-04-18 | 2004-08-10 | Sony Corporation | System and method for implementing a flexible interrupt mechanism |
US6813665B2 (en) * | 2001-09-21 | 2004-11-02 | Intel Corporation | Interrupt method, system and medium |
JP2003122733A (ja) * | 2001-10-17 | 2003-04-25 | Denso Corp | プロセッサ間通信システム |
JP2003198356A (ja) * | 2001-12-25 | 2003-07-11 | Hitachi Ltd | 半導体チップおよび集積回路 |
JP2004030161A (ja) * | 2002-06-25 | 2004-01-29 | Hitachi Ltd | コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラム |
US7564860B2 (en) * | 2003-05-08 | 2009-07-21 | Samsung Electronics Co., Ltd. | Apparatus and method for workflow-based routing in a distributed architecture router |
US7013358B2 (en) * | 2003-08-09 | 2006-03-14 | Texas Instruments Incorporated | System for signaling serialized interrupts using message signaled interrupts |
-
2004
- 2004-06-22 US US10/710,141 patent/US20050283555A1/en not_active Abandoned
-
2005
- 2005-05-13 JP JP2007518066A patent/JP5079502B2/ja not_active Expired - Fee Related
- 2005-05-13 CN CNA2005800209177A patent/CN1973273A/zh active Pending
- 2005-05-13 KR KR1020067026986A patent/KR101133806B1/ko not_active IP Right Cessation
- 2005-05-13 WO PCT/US2005/016915 patent/WO2006007100A1/en not_active Application Discontinuation
- 2005-05-13 EP EP05749829A patent/EP1761857A1/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
CN1973273A (zh) | 2007-05-30 |
JP2008503834A (ja) | 2008-02-07 |
US20050283555A1 (en) | 2005-12-22 |
EP1761857A1 (en) | 2007-03-14 |
KR101133806B1 (ko) | 2012-04-06 |
JP5079502B2 (ja) | 2012-11-21 |
WO2006007100A1 (en) | 2006-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5546635B2 (ja) | データ転送装置およびその制御方法 | |
US9842081B2 (en) | Implementing modal selection of bimodal coherent accelerator | |
US8990451B2 (en) | Controller for direct access to a memory for the direct transfer of data between memories of several peripheral devices, method and computer program enabling the implementation of such a controller | |
EP3292474B1 (en) | Interrupt controller | |
US9684613B2 (en) | Methods and systems for reducing spurious interrupts in a data storage system | |
US10061728B2 (en) | Arbitration and hazard detection for a data processing apparatus | |
US10073629B2 (en) | Memory transaction prioritization | |
CN111913898A (zh) | 使用端点的pcie根复合体消息中断产生方法 | |
KR101133806B1 (ko) | 병렬 통신 버스를 통한 인터럽트 메시지 전송 방법 및 컴퓨터 시스템 | |
JP5625737B2 (ja) | 転送装置、転送方法および転送プログラム | |
US9053092B2 (en) | System authorizing direct data transfers between memories of several components of that system | |
EP1761856B1 (en) | Computer system and method for queuing interrupt messages in a device coupled to a parallel communications bus | |
CN114003168A (zh) | 用于处理命令的存储设备和方法 | |
US10552354B2 (en) | Managing starvation in a distributed arbitration scheme | |
JP3600536B2 (ja) | 書き込みデータの破壊を制限する方法及びシステムとpciバス・システム | |
TWI750386B (zh) | 匯流排系統 | |
US20020040414A1 (en) | Multiprocessor system and transaction control method for the same | |
US9535850B1 (en) | System and method for efficient DMA transfers | |
KR101133879B1 (ko) | 컴퓨터 시스템, 인터럽트 메시지 큐잉 방법 및 제조물 | |
US20030018842A1 (en) | Interrupt controller | |
CN105786744B (zh) | 互连装置和互连的操作方法 | |
US20130185468A1 (en) | Semiconductor device | |
US8726283B1 (en) | Deadlock avoidance skid buffer | |
JPH06337838A (ja) | ユニット実装/非実装検出方法 |
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 | ||
LAPS | Lapse due to unpaid annual fee |