KR20100054107A - 인터럽트 검출 장치 및 정보 처리 시스템 - Google Patents

인터럽트 검출 장치 및 정보 처리 시스템 Download PDF

Info

Publication number
KR20100054107A
KR20100054107A KR1020090109256A KR20090109256A KR20100054107A KR 20100054107 A KR20100054107 A KR 20100054107A KR 1020090109256 A KR1020090109256 A KR 1020090109256A KR 20090109256 A KR20090109256 A KR 20090109256A KR 20100054107 A KR20100054107 A KR 20100054107A
Authority
KR
South Korea
Prior art keywords
interrupt
msi
information
processor
message
Prior art date
Application number
KR1020090109256A
Other languages
English (en)
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 소니 주식회사
Publication of KR20100054107A publication Critical patent/KR20100054107A/ko

Links

Images

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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/14Handling requests for interconnection or transfer

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

본 발명에 따른 인터럽트 검출 장치는 어드레스 정보를 갖는 제1 인터럽트 메시지에 따라서 검출해야 할 어드레스 영역을 검출 어드레스 영역으로서 기억하도록 구성된 검출 어드레스 영역 기억부와, 제2 인터럽트 메시지의 어드레스 정보를 발행 인터럽트 정보로서 기억하도록 구성된 발행 인터럽트 정보 기억부와, 상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당하는지를 판정하도록 구성된 인터럽트 메시지 검출부와, 상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당한다고 판정된 경우에, 상기 발행 인터럽트 정보를 갖는 상기 제2 인터럽트 메시지를 발행하도록 구성된 인터럽트 발행부를 포함한다.
인터럽트 검출 장치, 검출 어드레스 영역 기억부, 발행 인터럽트 정보 기억부, 인터럽트 메시지 검출부, 인터럽트 발행부

Description

인터럽트 검출 장치 및 정보 처리 시스템{INTERRUPT DETECTION APPARATUS AND INFORMATION PROCESSING SYSTEM}
본 발명은 인터럽트 검출 장치에 관한 것으로, 특히 어드레스 정보를 포함하는 인터럽트 메시지를 검출하는 인터럽트 검출 장치 및 그 인터럽트 검출 장치를 포함하는 정보 처리 시스템에 관한 것이다.
프로세서 등이 정상적인 동작을 행하고 있을 때, 그 정상적인 동작을 중단시키기 위한 인터럽트를 발행함으로써 다른 동작으로 전환시킬 수가 있다. PCI(Peripheral Component Interconnect) 버스를 포함하는 컴퓨터 시스템에서는, PCI 디바이스로부터 호스트 프로세서로 인터럽트를 나타내는 통지를 전송하는 방식으로서, MSI(Message Signaled Interrupt) 방식이 사용되고 있다. 이 MSI 방식은, 패킷 베이스의 트랜색션층에 있어서의 메시지 형식의 인터럽트에 대해 사용되며, 더블 워드(double word)를 사용하는 라이팅 트랜색션으로서 실현된다. 이 MSI를 발행가능한 PCI 디바이스는, 호스트 프로세서에 의해 기입된 데이터를 수용하는 MSI 어드레스 레지스터 및 MSI 데이터 레지스터를 포함한다. 호스트 프로세서는, 어느 PCI 디바이스로부터의 인터럽트를 MSI로서 수신하기 전에, 그 PCI 디바이스에 포함된 MSI 어드레스 레지스터 및 MSI 데이터 레지스터에, MSI가 전송될 어드레스 및 데이터를 각각 설정한다. PCI 디바이스가 MSI를 발행할 경우, 그 PCI 디바이스는, MSI 어드레스 레지스터에 설정된 어드레스에 대하여, MSI 데이터 레지스터에 설정된 값을 기입하기 위해 사용되는 PCI 라이트 트랜색션을 발행함으로써, 인터럽트 통지를 한다. 호스트 프로세서는, 지정한 어드레스에 대하여 데이터가 기입되었음을 나타내는 정보를, 인터럽트 컨트롤러 등을 사용하여 검지하고, PCI 디바이스로부터 전송되는 인터럽트 통지를 인식한다. 그리고나서, 호스트 프로세서는 수신된 MSI에 따라서 인터럽트 핸들러 처리를 실행한다.
종래의 시스템에서는, MSI 어드레스를 인터럽트 검출 영역으로서 설정하고, 이 영역에 해당하는 MSI를 프로세서로 전송되는 인터럽트 신호로 변환함으로써, MSI를 사용하는 인터럽트 처리를 행하고 있다(예를 들어, 일본 특허공개 제2008-90375호 공보(도 5) 참조).
상술한 종래 기술에서는, MSI를 인터럽트 신호로 변환함으로써 프로세서로의 인터럽트를 발행하고 있다. 그러나, 프로세서에 대해 발행된 인터럽트를 인터럽트 신호를 사용하여 전송하는 경우, 통지처가 그 프로세서에 한정되어버려, 유연성이 부족하다고 하는 문제가 있다. 또한, 어드레스 정보 및 데이터 값을 포함하는 MSI의 특성을 충분히 이용하지 않고 있는 점에서 문제가 있다.
메시지 형식의 인터럽트의 특성을 이용함으로써, 인터럽트 처리를 유연하게 행하는 것이 요구된다.
본 발명의 일 실시형태에 따르면, 인터럽트 검출 장치 및 이 인터럽트 검출 장치를 포함하는 정보 처리 시스템이 제공되며, 상기 인터럽트 검출 장치는, 어드레스 정보를 갖는 제1 인터럽트 메시지에 따라서 검출해야 할 어드레스 영역을 검출 어드레스 영역으로서 기억하도록 구성된 검출 어드레스 영역 기억부와, 제2 인터럽트 메시지의 어드레스 정보를 발행 인터럽트 정보로서 기억하도록 구성된 발행 인터럽트 정보 기억부와, 상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당하는지를 판정하도록 구성된 인터럽트 메시지 검출부와, 상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당한다고 판정된 경우에, 상기 발행 인터럽트 정보를 갖는 상기 제2 인터럽트 메시지를 발행하도록 구성된 인터럽트 발행부를 포함한다. 이에 따라서, 검출 어드레스 영역에 해당하는 제1 인터럽트 메시지의 검 출에 응답하여, 제2 인터럽트 메시지가 발행된다.
상기 발행 인터럽트 정보 기억부는 복수의 발행 인터럽트 정보 아이템을 기억하고, 상기 인터럽트 발행부는 상기 복수의 발행 인터럽트 정보 아이템에 따라서 복수의 제2 인터럽트 메시지를 발행하여도 된다. 이에 따라서, 검출 어드레스 영역에 해당하는 제1 인터럽트 메시지의 검출에 응답하여, 복수의 제2 인터럽트 메시지가 발행된다.
본 발명의 다른 실시형태에 따르면, 인터럽트 검출 장치 및 이 인터럽트 검출 장치를 포함하는 정보 처리 시스템이 제공되며, 상기 인터럽트 검출 장치는, 어드레스 정보 및 데이터 정보를 갖는 제1 인터럽트 메시지에 따라서 검출해야 할 어드레스 영역을 검출 어드레스 영역으로서 기억하도록 구성된 검출 어드레스 영역 기억부와, 제2 인터럽트 메시지의 어드레스 정보 및 데이터 정보를 발행 인터럽트 정보로서 기억하도록 구성된 발행 인터럽트 정보 기억부와, 상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당하는지를 판정하도록 구성된 인터럽트 메시지 검출부와, 발행해야 할 인터럽트의 종류로서 상기 제2 인터럽트 메시지 또는 프로세서에 대해 발행하는 프로세서 인터럽트 신호를 기억하도록 구성된 인터럽트 종류 기억부와, 상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당하는 것으로 판정된 경우에, 상기 인터럽트 종류 기억부에 기억된 종류가 상기 제2 인터럽트 메시지에 해당하면, 상기 발행 어드레스 정보를 갖는 상기 제2 인터럽트 메시지를 발행하도록 구성되고, 상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당하는 것으로 판정된 경우에, 상기 인터럽트 종류 기억부에 기억된 종류가 상기 프로세서 인터럽트 신호에 해당하면, 상기 프로세서에 대하여 상기 프로세서 인터럽트 신호를 발행하도록 구성된 인터럽트 발행부를 포함한다. 이에 따라서, 검출 어드레스 영역에 해당하는 제1 인터럽트 메시지의 검출에 응답하여, 인터럽트 종류 기억부에 기억된 인터럽트의 종류에 따라 제2 인터럽트 메시지 또는 프로세서에 대한 프로세서 인터럽트 신호가 발행된다.
본 발명의 또 다른 실시형태에 따르면, 프로세서 및 메모리를 갖는 적어도 1개의 프로세서 시스템과, 적어도 1개의 주변 기기와, 상기 프로세서 시스템과 상기 주변 기기와의 사이에 직렬 또는 병렬로 서로 접속되는 복수의 브릿지 장치를 포함하는 정보 처리 시스템이 제공된다. 상기 브릿지 장치는, 상기 주변 기기로부터 전송되는 어드레스 정보를 갖는 제1 인터럽트 메시지에 따라서 검출해야 할 어드레스 영역을 검출 어드레스 영역으로서 기억하도록 구성된 검출 어드레스 영역 기억부와, 제2 인터럽트 메시지에 포함된 어드레스 정보를 발행 인터럽트 정보로서 기억하도록 구성된 발행 인터럽트 정보 기억부와, 상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당하는지를 판정하도록 구성된 인터럽트 메시지 검출부와, 상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당한다고 판정된 경우에, 상기 발행 인터럽트 정보를 갖는 상기 제2 인터럽트 메시지를 상기 프로세서 시스템 또는 상기 주변 기기에 대하여 발행하도록 구성된 인터럽트 발행부를 포함한다. 이에 따라서, 브릿지 장치들 중의 하나가 검출 어드레스 영역에 해당하는 제1 인터럽트 메시지를 검출하면, 제2 인터럽트 메시지가 연쇄 반응적으로 발행된다.
본 발명에 따르면, 메시지 형식의 인터럽트의 특성을 이용하여, 인터럽트 처리가 유연하게 행하여진다.
이하, 본 발명을 실시하기 위한 최선의 형태(이하, 실시형태라고 칭한다)에 대해서 설명한다. 설명은 이하의 순서에 의해 행한다.
1. 제1 실시형태(하나의 브릿지 장치를 포함하는 정보 처리 시스템의 예)
2. 제2 실시형태(복수의 브릿지 장치를 포함하는 정보 처리 시스템의 예)
1. 제1 실시형태
하나의 브릿지 장치를 포함하는 정보 처리 시스템의 예
도 1은 본 발명의 제1 실시형태에 따른 정보 처리 시스템의 일 구성예를 도시하는 도면이다. 이 정보 처리 시스템은, 브릿지 장치(100)와, 프로세서 시스템(200)과, PCI(Peripheral Component Interconnect) 디바이스(310 내지 330)를 포함하고 있다.
브릿지 장치(100)는, 프로세서 시스템(200)에 포함된 프로세서 버스(290)와 PCI 디바이스(310 내지 330) 가까이에 위치된 PCI 버스(190) 사이에 접속되고, 패킷 포맷 및 전기 특성의 변환을 행함으로써 그들 양자 사이의 상호 통신을 가능하게 한다. 이 브릿지 장치(100)는, 브릿지 장치(100)를 통해 전송되는 메시지 형식의 인터럽트를 검출함으로써, 새로운 메시지 형식의 인터럽트 또는 프로세서 인터럽트를 발생시킨다.
프로세서 시스템(200)은 프로세서 버스(290)를 통해서 서로 접속된 프로세서(210) 및 메모리(220)를 포함한다. 프로세서(210)는 프로세서 시스템(200)의 프로세싱으로서의 처리를 행한다. 메모리(220)는 프로세서(210)에 의해 수행되는 처리에 사용되는 프로그램 및 데이터를 기억하고 있다.
PCI 디바이스(310 내지 330)는, 프로세서 시스템(200)의 주변 기기로서의 역할을 하며, 예를 들어 각종 입출력 디바이스 및 DMA(Direct Memory Access) 컨트롤러 등으로서 실현된다. 본 실시형태에서는, 3개의 PCI 디바이스(310 내지 330)를 상정하고 있지만, 본 발명은 이에 한정되지 않고, 임의의 개수의 PCI 디바이스가 PCI 버스(190)에 접속될 수 있다. 임의의 개수의 PCI 디바이스를 총칭하여 PCI 디바이스(300)라고 칭한다.
도 2는 본 발명의 제1 실시형태에 따른 PCI 디바이스(300)에 포함되는 메시지 생성 기구의 일례를 도시하는 도면이다. PCI 디바이스(300)는, PCI에 있어서 규정되는 메시지 형식의 인터럽트(MSI:Message Signaled Interrupt)를 생성한다. PCI 디바이스(300)는 MSI 레지스터(311)와, 메시지 생성부(317)를 포함하고 있다.
MSI 레지스터(311)는 PCI 디바이스(300)로부터 MSI를 발행하기 위해서 필요한 정보를 기억한다. MSI 레지스터(311)는, PCI 규격에서는 MSI 캡어빌리티 구조(MSI Capability Structure)라고 불린다. MSI 레지스터(311)는 기능 식별자(312)와, 다음 포인터(313)와, 메시지 제어(314)와, 메시지 어드레스(315)와, 메시지 데이터(316)를 포함하고 있다.
기능 식별자(Capability ID)(312)는, 메시지의 기능을 나타내는 식별자를 기 억하는 레지스터에 해당한다. MSI의 경우, 기능 식별자(312)에는 "05h"("h"는 당해 "h" 직전의 숫자가 16 진수인 것을 의미한다. 이하 같음)가 할당된다.
다음 포인터(Next Pointer)(313)는, 다음 항목(item)에 대한 포인터를 기억하는 레지스터에 해당한다. 최종 항목의 경우, 이 다음 포인터(313)에는, 비어 있음(blank)을 나타내는 "NULL"이 할당된다.
메시지 제어(Message Control)(314)는, 시스템 소프트웨어에 제공되는 제어 정보를 기억하는 레지스터에 해당한다. 메시지 제어(314)는, 64 비트 어드레싱의 유무를 나타내는 정보 및 복수 메시지(Multiple Message)에 관한 제어 정보를 포함한다.
메시지 어드레스(Message Address)(315)는, MSI의 어드레스 정보를 기억하는 레지스터에 해당한다. 구체적으로는, 메시지 어드레스(315)는 PCI 디바이스(300)에 의해 발행되는 MSI의 수신처(destination)의 어드레스를 기억한다. 여기에서는, 32 비트 어드레싱을 이용하고 있기 때문에, 메시지 어드레스(315)가 32 비트의 폭을 가지고 있지만, 시스템에 따라서는 64 비트 어드레싱을 이용할 수도 있다. 이 경우, 메시지 어드레스(315)는 64 비트의 폭을 갖는다.
메시지 데이터(Message Data)(316)는, MSI의 데이터 값을 기억하는 레지스터에 해당한다. 구체적으로는, 메시지 데이터(316)는 예를 들어 PCI 디바이스(300)의 디바이스 식별자와 같은 데이터 값을 기억한다.
메시지 생성부(317)는, 메시지 어드레스(315)에 기억되는 어드레스 정보와 메시지 데이터(316)에 기억되는 데이터 값을 이용하여 MSI 메시지를 생성한다.
PCI 디바이스(300)를 이용하여 생성된 MSI는 PCI 버스(190)에 공급되고, 또한 브릿지 장치(100)를 통해서 프로세서 버스(290)에 공급된다. 브릿지 장치(100)는, MSI의 어드레스 정보를 감시하고, 미리 정해진 어드레스 영역(이하, 검출 어드레스 영역이라고 칭한다)에 해당하는 MSI를 검출한다.
도 3a 및 도 3b는, PCI 버스(190)에 있어서의 MSI 메시지의 이미지 예를 도시하는 도면이다. MSI 메시지는, 예를 들어 PCI 버스(190)에서 AD(Address and Data) 신호선이라고 불리는 신호선을 통해서, 1 사이클당 32 비트씩 전송된다.
도 3a는 32 비트 어드레싱의 경우의 일 예를 도시한다. 어드레스 단계에 있어서, MSI의 32 비트의 메시지 어드레스(702)가 전송된다. 그리고, 데이터 단계에 있어서, MSI의 16 비트의 메시지 데이터(703)가 전송된다.
도 3b는 64 비트 어드레싱의 경우의 일 예를 도시한다. 먼저, 최초의 어드레스 단계에 있어서, MSI의 MSB(Most Significant Bit)측의 32 비트(제32번째 비트로부터 제63번째 비트)의 메시지 어드레스(701)가 전송된다. 다음에, 2번째의 어드레스 단계에 있어서, MSI의 LSB(Least Significant Bit)측의 32 비트(제0번째 비트로부터 제31번째 비트)의 메시지 어드레스(702)가 전송된다. 그리고, 데이터 단계에 있어서, MSI의 16 비트의 메시지 데이터(703)가 전송된다.
도 4는, 본 발명의 제1 실시형태에 따른 브릿지 장치(100)의 일 구성예를 도시하는 도면이다. 브릿지 장치(100)는 MSI 검출부(110)와, 브릿지 제어 레지스터(120)와, MSI 검출 영역 취득부(130)와, MSI 발행 디바이스 힌트 정보 설정부(140)와, 인터럽트 발행 상태 관리부(150)와, 인터럽트 발행부(160)를 포함하고 있다.
MSI 검출부(110)는 PCI 버스(190)로부터 프로세서 버스(290)에 전송되는 MSI의 메시지 어드레스(702)(또는 메시지 어드레스(701))를 감시하고, 검출 어드레스 영역에 해당하는 MSI를 검출한다.
브릿지 제어 레지스터(120)는, 브릿지 장치(100)의 제어에 사용되는 정보를 기억한다. 구체적으로는, 브릿지 제어 레지스터(120)는, MSI 검출부(110)에 의해 검출해야 할 어드레스 영역과, 인터럽트 발행부(160)에 의해 발행되는 MSI의 어드레스 정보 및 데이터 값을 기억한다. 이하, 도 5를 참조하여 브릿지 제어 레지스터(120)에 대해 상세히 설명한다.
MSI 검출 영역 취득부(130)는, MSI 검출부(110)에 의해 검출해야 할 어드레스 영역에 관련하는 정보를 브릿지 제어 레지스터(120)로부터 취득하고, 이 정보를 MSI 검출부(110)에 공급한다.
MSI 발행 디바이스 힌트 정보 설정부(140)는, MSI 검출부에 의해 검출된 MSI를 발행한 PCI 디바이스(300)를 식별하기 위해 사용되는 힌트 정보를 브릿지 제어 레지스터(120)에 설정한다. 이 힌트 정보는, 예를 들어 메시지 데이터(703)에 기억된 디바이스 식별자를 포함한다.
인터럽트 발행 상태 관리부(150)는, 프로세서(210)에 대해 발행된 인터럽트의 발행 상태를 관리한다. 인터럽트 발행 상태 관리부(150)는, 검출 어드레스 영역에 해당하는 MSI가 검출될 경우, 발행해야 할 인터럽트의 종류를 특정한다. 그 인터럽트가 프로세서(210)에 대해 발행되었다고 판정된다면, 프로세서(210)에 대해 발행되어 있는 인터럽트의 상태에 따른 동작을 행한다. 구체적으로는, 인터럽트 발행 상태 관리부(150)는, 프로세서(210)에서 인터럽트 처리가 진행 중이면, 인터럽트 처리의 완료 통지가 전송될 때까지 기다린다. 한편, 인터럽트 발행 상태 관리부(150)는, 프로세서(210)에서 인터럽트 처리가 진행 중이지 않다면, 메모리(220)에 적절한 MSI가 기입되어 있는 것을 확인한 후에 프로세서(210)에 대한 인터럽트를 발행하도록 인터럽트 발행부(160)에 지시한다.
인터럽트 발행부(160)는, 인터럽트 발행 상태 관리부(150)에 의해 발행된 지시에 따라서, MSI 또는 프로세서 인터럽트를 발행한다. MSI를 발행할 경우, 그 MSI의 어드레스 정보에 따라서 PCI 버스(190) 또는 프로세서 버스(290)에 MSI가 제공된다. 프로세서 인터럽트를 발행할 경우, 프로세서 버스(290)를 거쳐서 인터럽트를 발행하는 것을 상정하고 있다. 그러나, 프로세서 버스(290)에 대한 인터럽트 전용선을 거쳐서 인터럽트를 발행하여도 된다.
도 5는 본 발명의 제1 실시형태에 따른 브릿지 제어 레지스터(120)의 일 구성예를 도시하는 도면이다. 브릿지 제어 레지스터(120)는, MSI 베이스 어드레스 레지스터(121)와, MSI 리미트 어드레스 레지스터(122)와, 디바이스 힌트 정보 레지스터(123)와, 인터럽트 종류 선택 레지스터(124)와, 인터럽트 처리중 레지스터(125)와, 다음 MSI 어드레스 레지스터(126)와, 다음 MSI 데이터 레지스터(127)와, 다음 MSI 이네이블 레지스터(128)를 포함한다.
MSI 베이스 어드레스 레지스터(121)는, MSI 검출부(110)에 의해 검출해야 할 어드레스 영역의 선두 어드레스로서의 역할을 하는 베이스 어드레스를 기억한다. MSI 리미트 어드레스 레지스터(122)는, MSI 검출부(110)에 의해 검출해야 할 어드레스 영역의 말미 어드레스로서의 역할을 하는 리미트 어드레스를 기억한다. 즉, 검출 어드레스 영역은, MSI 베이스 어드레스 레지스터(121) 및 MSI 리미트 어드레스 레지스터(122)에 의해 규정되게 된다. MSI 검출 영역 취득부(130)는, MSI 베이스 어드레스 레지스터(121) 및 MSI 리미트 어드레스 레지스터(122)로부터 각각 어드레스 정보 및 데이터 값을 취득하고, 그 어드레스 정보 및 데이터 값을 MSI 검출부(110)에 공급한다.
디바이스 힌트 정보 레지스터(123)는, MSI 검출부(110)에 의해 검출된 MSI를 발행한 PCI 디바이스(300)를 식별하기 위해 사용되는 힌트 정보를 기억한다. 이 디바이스 힌트 정보 레지스터(123)는, 예를 들어 MSI 발행 디바이스 힌트 정보 설정부(140)에 의해 설정되고, 프로세서(210) 등에 의해 참조된다. 프로세서(210)는, 당해 프로세서(210)에 의해 수신된 인터럽트의 트리거로서의 역할을 하는 MSI를 발행한 PCI 디바이스(300)를 식별할 때, 이 힌트 정보를 이용함으로써, 탐색 동작의 수고를 경감할 수 있다.
인터럽트 종류 선택 레지스터(124)는, 인터럽트 발행부(160)에 의해 발행되는 인터럽트의 종류로서 선택된 MSI 또는 프로세서 인터럽트를 기억한다. 인터럽트 발행 상태 관리부(150) 및 인터럽트 발행부(160)는, 이 인터럽트 종류 선택 레지스터(124)에 기억되어 있는 내용에 따라 동작을 행한다. 즉, 인터럽트 발행 상태 관리부(150)는, 프로세서(210)에 대한 인터럽트가 발행되었으며, 이미 프로세서(210)에 대해 발행되어 있는 다른 인터럽트가 처리 중이라고 판정되는 경우라면, 인터럽트 처리의 완료 통지가 전송될 때까지 기다린다. 한편, 인터럽트 발행 상태 관리부(150)는, 프로세서(210)에서 어떠한 인터럽트 처리도 진행 중이지 않다면, 메모리(220)에 적절한 MSI가 기입되어 있는 것을 확인한 뒤에 프로세서(210)에 대한 인터럽트를 발행하도록 인터럽트 발행부(160)에 지시한다. 인터럽트 발행부(160)는 인터럽트 종류 선택 레지스터(124)에 기억된 내용에 따라 MSI 또는 프로세서 인터럽트를 발행한다.
인터럽트 처리중 레지스터(125)는, 프로세서(210)에 대하여 인터럽트가 발행되고 있는 중인지의 여부를 나타내는 정보를 기억한다. 인터럽트 처리중 레지스터(125)에는, 인터럽트 발행부(160)가 프로세서(210)에 대해 인터럽트를 발행하고 있는 경우에는 "처리 중임"을 나타내는 정보가 설정되고, 프로세서(210)로부터 인터럽트 처리 완료의 통지가 전송되었을 때에는 "처리중이 아님"을 나타내는 정보가 설정된다. 인터럽트 발행 상태 관리부(150)는 이 인터럽트 처리중 레지스터(125)를 참조하여, 프로세서(210)에 대한 인터럽트가 발행될 때에 인터럽트 처리가 수행중이라면, 인터럽트 처리의 완료 통지가 전송될 때까지 대기한다.
다음 MSI 어드레스 레지스터(126)는, 인터럽트 발행부(160)에 의해 발행되는 MSI의 어드레스 정보를 기억한다. 다음 MSI 데이터 레지스터(127)는, 인터럽트 발행부(160)에 의해 발행되는 MSI의 데이터 값을 기억한다. 다음 MSI 이네이블 레지스터(128)는, 인터럽트 발행부(160)에 의해 MSI를 발행하는 것을 허가할지를 나타내는 정보를 기억한다. 인터럽트 발행부(160)는 다음 MSI 어드레스 레지스터(126), 다음 MSI 데이터 레지스터(127) 및 다음 MSI 이네이블 레지스터(128)에 따라서 다음 MSI를 발행한다.
도 6은, 본 발명의 제1 실시형태에 따른 MSI 검출부(110)의 일 구성예를 도시하는 도면이다. MSI 검출부(110)는, 감시 어드레스 레지스터(111)와, 비교기(112 및 113)와, 논리적 연산기(114)를 포함하고 있다.
감시 어드레스 레지스터(111)는, PCI 버스(190)로부터 프로세서 버스(290)에 전송되는 MSI의 메시지 어드레스(702)(또는 메시지 어드레스(701))를 감시하고, 이 메시지 어드레스(702)(또는 메시지 어드레스(701))를 감시 어드레스로서 기억한다. 이 감시 어드레스 레지스터(111)에 기억된 감시 어드레스는, 비교기(112 및 113)에 공급된다.
비교기(112 및 113)는 감시 어드레스 레지스터(111)에 기억된 감시 어드레스가 검출 어드레스 영역에 해당하는지를 판정한다. 비교기(112)는, 감시 어드레스 레지스터(111)에 기억된 감시 어드레스와 MSI 베이스 어드레스 레지스터(121)로부터 취득된 베이스 어드레스를 비교한다. 그리고, 감시 어드레스가 베이스 어드레스 이상으로 판정된 경우에는 논리 상태 "참(true)"을 출력하고, 그 이외의 경우에는 논리 상태 "거짓(false)"을 출력한다. 비교기(113)는, 감시 어드레스 레지스터(111)에 기억된 감시 어드레스와 MSI 리미트 어드레스 레지스터(122)로부터 취득된 리미트 어드레스를 비교한다. 그리고, 감시 어드레스가 리미트 어드레스 이하로 판정된 경우에는 논리 상태 "참"을 출력하고, 그 이외의 경우에는 논리 상태 "거짓"을 출력한다.
논리적 연산기(114)는, 비교기(112 및 113)로부터 출력된 결과를 사용하여 논리적(AND)을 생성한다. 따라서, 감시 어드레스 레지스터(111)에 기억된 감시 어드레스가 베이스 어드레스 이상, 또한 리미트 어드레스 이하일 경우에, 검출 어드레스 영역에 해당하는 MSI가 검출된다.
도 7은, 본 발명의 제1 실시형태에 따른 인터럽트 발행 상태 관리부(150) 및 인터럽트 발행부(160)를 포함하는 영역의 구성예를 도시하는 도면이다.
인터럽트 발행 상태 관리부(150)에는, 인터럽트 종류 선택 레지스터(124)의 내용 및 인터럽트 처리중 레지스터(125)의 내용이 공급된다. 또한, 인터럽트 발행부(160)에는, 인터럽트 종류 선택 레지스터(124)의 내용, 다음 MSI 어드레스 레지스터(126)의 내용, 다음 MSI 데이터 레지스터(127)의 내용 및 다음 MSI 이네이블 레지스터(128)의 내용이 공급된다.
인터럽트 발행 상태 관리부(150)는, MSI 검출부(110)가 검출 어드레스 영역에 해당하는 MSI를 검출하면, 인터럽트 종류 선택 레지스터(124)의 내용을 참조한다. 인터럽트 종류 선택 레지스터(124)의 내용이 MSI를 나타내고 있을 경우, 인터럽트 발행 상태 관리부(150)는 인터럽트 발행부(160)에 MSI를 발행하도록 지시한다. 한편, 인터럽트 종류 선택 레지스터(124)의 내용이 프로세서 인터럽트를 나타내고 있을 경우, 인터럽트 발행 상태 관리부(150)는 또한 인터럽트 처리중 레지스터(125)의 내용을 참조한다. 그 결과, 프로세서(210)가 인터럽트 처리를 수행 중이면, 인터럽트 발행 상태 관리부(150)는 인터럽트 처리의 완료 통지가 전송될 때까지 기다린다. 한편, 프로세서(210)가 인터럽트 처리를 수행 중이 아니라면, 인터럽트 발행 상태 관리부(150)는 메모리(220)에 적절한 MSI가 기입되어 있는 것을 확인하고 프로세서(210)에 대한 인터럽트를 발행하도록 인터럽트 발행부(160)에 지시한다.
인터럽트 발행부(160)는, 인터럽트 발행 상태 관리부(150)에 의해 발행된 지시에 따라서, 인터럽트 종류 선택 레지스터(124)의 내용에 따라 MSI 또는 프로세서 인터럽트를 발행한다. MSI를 발행할 때에, 인터럽트 발행부(160)는, 다음 MSI 이네이블 레지스터(128)를 참조하고, 다음 MSI 이네이블 레지스터(128)가 MSI의 발행이 가능하다고 나타내면, 다음 MSI 어드레스 레지스터(126) 및 다음 MSI 데이터 레지스터(127)에 따라서 MSI를 발행한다. 한편, 프로세서 인터럽트를 발행하는 때는, 인터럽트 처리중 레지스터(125)를 "처리 중"으로 설정하고, 인터럽트 발행부(160)는 프로세서(210)에 대한 인터럽트를 발행한다.
인터럽트 발행부(160)에 의해 발행되는 MSI의 어드레스 정보가 MSI 검출부(110)의 어드레스 영역에 해당할 경우, 이 MSI는, MSI 검출부(110)에 의해 수행되는 검출 대상이 되어, 무한 루프를 발생시킬 우려가 있다. 이러한 무한 루프를 피하기 위해서는, MSI 검출부(110)의 검출 어드레스 영역에 해당하지 않도록 다음 MSI 어드레스 레지스터(126)를 설정하거나, 또는 다음 MSI 어드레스 레지스터(126)의 내용을 검출 어드레스 영역으로부터 제외한다.
[하나의 브릿지 장치를 포함하는 정보 처리 시스템의 동작예]
도 8은, 본 발명의 제1 실시형태에 따른 정보 처리 시스템에서 수행되는 MSI의 발행예를 도시하는 도면이다. 여기에서는, 인터럽트 종류 선택 레지스터(124)에 "MSI"가 설정되어 있는 것으로 한다.
PCI 디바이스 #A(310)가 MSI를 송신하면(801), PCI 버스(190) 및 프로세서 버스(290)를 경유하여, 메모리(220)에 MSI의 내용이 기입된다(802). 브릿지 장치(100)의 MSI 검출부(110)는, PCI 버스(190)와 프로세서 버스(290) 사이에 전송되는 메시지의 어드레스 정보를 감시하고 있다. 그리고, 브릿지 장치(100)는, MSI 베이스 어드레스 레지스터(121) 및 MSI 리미트 어드레스 레지스터(122)에 의해 규정되는 어드레스 영역에 해당하는 MSI를 검출한다(803).
인터럽트 종류 선택 레지스터(124)에 "MSI"가 설정되어 있기 때문에, 브릿지 장치(100)의 인터럽트 발행 상태 관리부(150)는, 인터럽트 발행부(160)에 대하여 MSI의 발행을 지시한다. 이에 의해, 브릿지 장치(100)의 인터럽트 발행부(160)는 MSI를 발행한다(804). 여기서, 메시지 어드레스(702)(또는 메시지 어드레스(701))에는 다음 MSI 어드레스 레지스터(126)의 내용이 설정되고, 메시지 데이터(703)에는 다음 MSI 데이터 레지스터(127)의 내용이 설정된다.
다음 MSI 어드레스 레지스터(126)의 어드레스가 PCI 디바이스 #B(320)를 나타내고 있을 경우, MSI는 PCI 디바이스 #B(320)에서 수신된다(805). 이 MSI의 수신에 응답하여, 예를 들어 PCI 디바이스 #B(320)의 기동 처리가 행하여진다(806).
도 9는, 본 발명의 제1 실시형태에 따른 정보 처리 시스템에서 수행되는 프로세서 인터럽트의 발행예를 도시하는 도면이다. 여기에서는, 인터럽트 종류 선택 레지스터(124)에 "프로세서 인터럽트"가 설정되어 있는 것으로 한다.
PCI 디바이스 #A(310)가 MSI를 송신하면(811), PCI 버스(190) 및 프로세서 버스(290)를 경유하여, 메모리(220)에 MSI의 내용이 기입된다(812). 브릿지 장 치(100)의 MSI 검출부(110)는, PCI 버스(190)와 프로세서 버스(290) 사이에 전송되는 메시지의 어드레스 정보를 감시하고 있다. 그리고, 브릿지 장치(100)는, MSI 베이스 어드레스 레지스터(121) 및 MSI 리미트 어드레스 레지스터(122)에 의해 규정되는 어드레스 영역에 해당하는 MSI를 검출한다(813).
인터럽트 종류 선택 레지스터(124)에 "프로세서 인터럽트"가 설정되어 있기 때문에, 브릿지 장치(100)의 인터럽트 발행 상태 관리부(150)는 메모리(220)로부터 MSI를 판독하고, 기입 동작(812)이 정상적으로 완료되었는지를 확인한다(815). 이렇게 함으로써, 프로세서 인터럽트 처리가 수행될 때, 메모리(220)에 MSI가 기억되어 있음이 보증된다. 그리고, 브릿지 장치(100)의 인터럽트 발행부(160)는 프로세서(210)에 대하여 프로세서 인터럽트를 발행한다(816). 이 때, 브릿지 장치(100)의 인터럽트 처리중 레지스터(125)에는, "처리 중"임을 나타내는 정보가 설정된다.
프로세서(210)은, 프로세서 인터럽트를 검출하면(817), 메모리(220)에 기억되어 있는 MSI의 데이터 값을 참조하여 인터럽트 처리를 실행한다(818). 그리고, 인터럽트 처리의 완료 후에, 프로세서(210)는 인터럽트 처리 완료 통지를 브릿지 장치(100)에 전송한다(819). 이에 의해, 브릿지 장치(100)의 인터럽트 처리중 레지스터(125)에는, "처리 중이 아님"을 나타내는 정보가 설정된다.
도 10은, 본 발명의 제1 실시형태에 따른 정보 처리 시스템에 있어서 복수의 MSI가 발행된 경우의 동작예를 도시하는 도면이다. 여기에서는, 인터럽트 종류 선택 레지스터(124)에 "프로세서 인터럽트"가 설정되어 있는 것으로 한다.
여기에서는, PCI 디바이스 #A(310)는 4개의 MSI(A 내지 D)를 송신하는 것으 로 가정한다(831, 837, 838, 841). 브릿지 장치(100)의 MSI 검출부(110)가 MSI_A를 검출하면(832), 브릿지 장치(100)의 인터럽트 발행 상태 관리부(150)는 메모리(220)로부터 MSI를 판독하여(833), 기입 동작이 정상적으로 완료하고 있는 것을 확인한다(834). 그리고, 브릿지 장치(100)의 인터럽트 발행부(160)는 프로세서(210)에 대하여 프로세서 인터럽트를 발행한다(835). 이 때, 인터럽트 처리중 레지스터(125)에는, "처리 중"임을 나타내는 정보가 설정된다. 이 설정이 유효한 동안에는, 후속의 MSI가 송신되어도, 프로세서 인터럽트의 발행은 행하여지지 않고, 브릿지 장치(100)의 인터럽트 발행 상태 관리부(150)에는 최신의 MSI에 관한 정보가 기억된다.
프로세서(210)는, 프로세서 인터럽트를 나타내는 지시를 수신하면, 인터럽트 처리를 실행한다(836). 프로세서(210)는, MSI의 인터럽트 처리를 완료할 때마다, 메모리(220)에 기억되는 각 MSI에 관한 정보를 클리어한다. 여기서는, 3개의 MSI(A 내지 C)의 인터럽트 처리가 행하여지고, 그 후, 인터럽트 처리 완료 통지가 브릿지 장치(100)에 전송되는 것으로 가정한다. 브릿지 장치(100)는, 각각의 인터럽트 처리 완료 통지를 수신하였을 때, 메모리(220)에 대해 판독 동작을 행하고(843), 최신의 MSI(MSI_D)가 메모리(220)에 기입되어 있는 것을 확인한다(844). 그리고, 인터럽트 발행부(160)는 프로세서(210)에 대하여 프로세서 인터럽트를 발행한다(845). 프로세서(210)는, 브릿지 장치(100)로부터 프로세서 인터럽트를 나타내는 지시를 수신하면, 인터럽트 처리를 실행한다(846). 인터럽트 처리가 완료하면, 프로세서(210)는 인터럽트 처리 완료 통지를 브릿지 장치(100)에 전송한다.
상술한 바와 같이, 이 동작예에서는, 인터럽트 처리중 레지스터(125)가 "처리 중"임을 나타내고 있는 동안에는, 프로세서 인터럽트가 발행되지 않도록 프로세서 인터럽트의 발행을 제어함으로써, 쓸데없는 인터럽트 처리의 기동을 억제할 수 있다. 그러나, 이러한 제어가 불필요한 시스템에 있어서는, MSI를 검출할 때마다 프로세서 인터럽트를 발행하도록 해도 상관없다.
[MSI 검출에 응답하여 복수의 MSI를 발행할 경우의 변형예]
도 11은, 본 발명의 제1 실시형태의 변형예에 따른 브릿지 제어 레지스터(120)의 일부의 구성예를 도시하는 도면이다. 이 변형예에서는, 브릿지 제어 레지스터(120)가 다음 MSI 어드레스 레지스터(126), 다음 MSI 데이터 레지스터(127) 및 다음 MSI 이네이블 레지스터(128)를 각각 포함하는 그룹을 복수 포함하는 것을 상정한다. 브릿지 제어 레지스터(120)에 포함되는 다른 레지스터에 대해서는 도 5에서 설명한 것과 같다.
MSI 검출부(110)가 검출 어드레스 영역에 해당하는 MSI를 검출하면, 가장 작은 번호가 할당된 첫번째 그룹, 즉 다음 MSI 어드레스 레지스터(126-1), 다음 MSI 데이터 레지스터(127-1) 및 다음 MSI 이네이블 레지스터(128-1)를 포함하는 그룹이 참조된다. 다음 MSI 이네이블 레지스터(128-1)가 MSI의 발행을 허가하는 취지를 나타내고 있으면, 다음 MSI 어드레스 레지스터(126-1)를 메시지 어드레스(702)(또는 701)에 설정한다. 그리고, 다음 MSI 데이터 레지스터(127-1)를 메시지 데이터(703)에 설정하고, MSI를 발행한다. 다음 MSI 이네이블 레지스터(128-1)가 이 MSI의 발행을 허가하지 않는다는 취지를 나타내고 있으면, 이 MSI는 발행되지 않는 다.
계속해서, 인터럽트 발행부(160)는, 두번째로 작은 번호가 할당된 그룹, 즉 다음 MSI 어드레스 레지스터(126-2), 다음 MSI 데이터 레지스터(127-2) 및 다음 MSI 이네이블 레지스터(128-2)를 포함하는 그룹을 참조한다. 다음 MSI 이네이블 레지스터(128-2)가 MSI의 발행을 허가하는 취지를 나타내고 있으면, 다음 MSI 어드레스 레지스터(126-2)를 메시지 어드레스(702)(또는 701)에 설정한다. 그리고, 다음 MSI 데이터 레지스터(127-2)를 메시지 데이터(703)에 설정하고, MSI를 발행한다. 다음 MSI 이네이블 레지스터(128-2)가 이 MSI의 발행을 허가하지 않는다는 취지를 나타내고 있으면, 이 MSI는 발행되지 않는다.
계속해서, 인터럽트 발행부(160)는, 세번째로 작은 번호가 할당된 그룹, 즉 다음 MSI 어드레스 레지스터(126-3), 다음 MSI 데이터 레지스터(127-3) 및 다음 MSI 이네이블 레지스터(128-3)를 포함하는 그룹을 참조한다. 다음 MSI 이네이블 레지스터(128-3)가 MSI의 발행을 허가하는 취지를 나타내고 있으면, 다음 MSI 어드레스 레지스터(126-3)를 메시지 어드레스(702)(또는 701)에 설정한다. 그리고, 다음 MSI 데이터 레지스터(127-3)를 메시지 데이터(703)에 설정하고, MSI를 발행한다. 다음 MSI 이네이블 레지스터(128-3)가 이 MSI의 발행을 허가하지 않는다는 취지를 나타내고 있으면, 이 MSI는 발행되지 않는다.
상술한 바와 같이, 그룹에 할당된 숫자의 증가 순서로 레지스터가 참조되어, 복수의 MSI가 순차적으로 발행되어 간다. 이 변형예에서는, 3 그룹의 레지스터를 사용하고 있지만, 레지스터의 그룹의 수는 이에 한정되는 것이 아니다.
도 12는, 본 발명의 제1 실시형태의 변형예에 따른 정보 처리 시스템에 의해 행해지는 복수의 MSI의 발행예를 도시하는 도면이다. 여기에서는, 인터럽트 종류 선택 레지스터(124)에 "MSI"가 설정되어 있는 것으로 가정한다.
PCI 디바이스 #A(310)가 MSI를 송신하면(851), PCI 버스(190) 및 프로세서 버스(290)를 경유하여, 메모리(220)에 MSI의 내용이 기입된다. 브릿지 장치(100)의 MSI 검출부(110)는, PCI 버스(190)와 프로세서 버스(290) 사이에 전송되는 메시지의 어드레스 정보를 감시하고, 어드레스 영역에 해당하는 MSI를 검출한다(852).
인터럽트 종류 선택 레지스터(124)에 "MSI"가 설정되어 있기 때문에, 브릿지 장치(100)의 인터럽트 발행 상태 관리부(150)는, 인터럽트 발행부(160)에 대하여 MSI의 발행을 지시한다. 이에 의해, 브릿지 장치(100)의 인터럽트 발행부(160)는 MSI_B를 발행한다(853). 이때, 메시지 어드레스(702)(또는 701)에는 다음 MSI 어드레스 레지스터(126-1)의 내용이 설정되고, 메시지 데이터(703)에는 다음 MSI 데이터 레지스터(127-1)의 내용이 설정된다.
다음 MSI 어드레스 레지스터(126-1)의 어드레스가 PCI 디바이스 #B(320)를 나타내고 있을 경우, MSI_B는 PCI 디바이스 #B(320)에서 수신된다(854). 이 MSI_B의 수신에 응답하여, 예를 들어, PCI 디바이스 #B(320)의 기동 처리가 행하여진다(855). 또한, 브릿지 장치(100)의 인터럽트 발행부(160)는, PCI 디바이스 #B(320)에 포함된 레지스터 영역으로부터 데이터를 판독함으로써(856), MSI_B의 발행이 완료한 것을 확인한다(857). 또한, 버스 기능에 의해 액세스의 순서가 보증될 경우에는, 이러한 발행의 확인 처리는 생략할 수 있다.
계속해서, 브릿지 장치(100)의 인터럽트 발행부(160)는, MSI_C를 발행한다(858). 이때, 메시지 어드레스(702)(또는 701)에는 다음 MSI 어드레스 레지스터(126-2)의 내용이 설정되고, 메시지 데이터(703)에는 다음 MSI 데이터 레지스터(127-2)의 내용이 설정된다.
다음 MSI 어드레스 레지스터(126-2)의 어드레스가 PCI 디바이스 #C(330)를 나타내고 있을 경우, MSI_C는, PCI 디바이스 #C(330)에서 수신된다(859). 이 PCI 디바이스 #C(330)는, DMA(Direct Memory Access) 전송 제어 장치에 해당하는 것으로 상정한다. MSI_C의 수신에 응답하여, 예를 들어, PCI 디바이스 #C(330)에 DMA 전송에 대한 어드레스가 설정된다(861). 또한, 브릿지 장치(100)의 인터럽트 발행부(160)는, PCI 디바이스 #C(330)에 포함된 레지스터 영역으로부터 데이터를 판독함으로써(862), MSI_C의 발행이 완료한 것을 확인한다(863).
계속해서, 브릿지 장치(100)의 인터럽트 발행부(160)는, MSI_D를 발행한다(864). 이때, 메시지 어드레스(702)(또는 701)에는 다음 MSI 어드레스 레지스터(126-3)의 내용이 설정되고, 메시지 데이터(703)에는 다음 MSI 데이터 레지스터(127-3)의 내용이 설정된다.
다음 MSI 어드레스 레지스터(126-3)의 어드레스가 PCI 디바이스 #C(330)를 나타내고 있을 경우, MSI_D는, PCI 디바이스 #C(330)에서 수신된다(865). MSI_D의 수신에 응답하여, 예를 들어, PCI 디바이스 #C(330)에 DMA 전송에 대한 어드레스가 설정된다(866). 또한, 브릿지 장치(100)의 인터럽트 발행부(160)는, PCI 디바이스 #C(330)에 포함된 레지스터 영역으로부터 데이터를 판독함으로써(867), MSI_D의 발 행이 완료한 것을 확인한다(868).
도 12에서는 이후의 처리는 생략하고 있지만, DMA 전송의 경우, 전송 사이즈가 추가로 설정되고나서, DMA 처리의 개시가 지시된다.
이 변형예에 따르면, 브릿지 장치(100)에 의해 발행되는 MSI의 수와 그 내용이 임의적으로 프로그램 가능하게 된다. 이것은, 브릿지 장치(100)에 의해 발행되는 MSI를 사용하여 복수의 프로세서에 대해 인터럽트를 지시할 경우나, 디바이스를 기동하기 위해서 복수의 레지스터에 대한 설정이 필요할 경우 등에 특히 유효하다.
[본 발명의 적용예]
도 13은, 본 발명의 제1 실시형태의 구체적인 적용예를 도시하는 도면이다. 이 정보 처리 시스템의 예는 셀(cell:Cell Broadband Engine)(20)과, 셀 브릿지(10)와, PCIe(Peripheral Component Interconnect Express) 디바이스(31 내지 34)와, PCIe 스위치(35)를 포함하고 있다.
셀(20)은 멀티 코어 CPU이며 PPE(PowerPC Processor Element)(21)와, 복수의 SPE(Synergistic Processor Element)(22)와, 메모리(23)와, IIC(Internal Interrupt Controller)(24)를 포함하고 있다. 셀(20)에 포함되는 각 구성 요소는 프로세서 버스(29)를 통해 서로 접속된다. PPE(21)는 범용 프로세서 코어이며 셀(20) 전체의 제어를 위해 주로 사용된다. SPE(22)는 멀티프로세서 코어이며 산술 연산을 위해 주로 사용된다. SPE(22) 각각은 로컬 스토리지를 포함하고 있다. 메모리(23)는 셀(20)의 메인 스토리지로서의 역할을 한다. IIC(24)는 내부 인터럽트 컨트롤러이다. 이 셀(20)은, 도 1을 참조하여 상술한 프로세서 시스템(200)에 상당한다.
셀 브릿지(10)는 셀(20)에 대응하는 브릿지 시스템이며, 브릿지 장치(11)와 가상 PCI 버스(19)를 포함한다. 브릿지 장치(11)는, 셀(20)에 포함된 프로세서 버스(29)와 가상 PCI 버스(19) 사이에 접속되어, 패킷 형식 및 전기 특성의 변환을 행함으로써 양자 사이의 상호 통신을 가능하게 한다. 셀 브릿지(10)는, 도 1에 도시된 브릿지 장치(100)에 상당한다. 가상 PCI 버스(19)는, PCIe 디바이스(31 및 32)와 PCIe 스위치(35)를 서로 접속한다.
PCIe 디바이스(31 내지 34)는 PCIe 인터페이스를 포함하는 주변 기기이다. PCIe 디바이스(31 내지 34)는, 셀 브릿지(10)에 포함된 가상 PCI 버스(19)에 접속되어도 되고, 또한 PCIe 스위치(35)를 통해서 계층적으로 접속되어도 된다. PCIe 스위치(35)는 복수의 PCIe 디바이스에 대해 하나의 인터페이스를 선택하기 위해 사용된다.
이와 같은 구성에 의하면, 브릿지 장치(11)는 PCIe 디바이스(31 내지 34)로부터 셀(20)에 대하여 송신되는 MSI를 감시한다. 그리고, 검출 어드레스 영역에 해당하는 MSI가 검출되면, 브릿지 장치(11)는 새로운 MSI 또는 프로세서 인터럽트를 발행한다. 셀(20)에 있어서, SPE(22)는 MSI를 직접 접수할 수 있다. 그러나, PPE(21)는 MSI를 접수하는 기능을 갖고 있지 않다. 따라서, MSI가 메모리(23)에 기입된 후, 브릿지 장치(11)는 IIC(24)에 대하여 인터럽트 패킷을 발행한다. 프로세서 인터럽트를 받으면, IIC(24)는 PPE(21)에 대하여 인터럽트를 통지한다. 이에 의해, PPE(21)는 메모리(23)에 기입된 MSI를 인식한다.
셀(20)에 포함된 프로세서 버스(29)에서는, 메모리에 대한 MSI의 기입 순서와 인터럽트 패킷의 기입 순서가 보증된다. 따라서, 이 정보 처리 시스템의 예에서는, MSI의 기입의 확인을 제거할 수 있다.
상술한 바와 같이, 본 발명의 제1 실시형태에 따르면, MSI 검출부(110)가 검출 어드레스 영역에 해당하는 MSI를 검출했을 경우에, 인터럽트 발행부(160)가 새로운 MSI를 발행하기 때문에, 인터럽트 처리를 유연하게 행할 수 있다. 즉, 검출된 MSI를 인터럽트 신호로 변환하지 않고 새로운 MSI가 전송되기 때문에, 프로세서에 의한 인터럽트 처리를 행하는 일 없이 고속으로 디바이스의 기동 등을 행할 수 있다. 또한, 변형예에 따르면, 1개의 MSI의 검출에 응답하여 복수의 MSI를 순차적으로 발행할 수 있기 때문에, 임의의 내용을 갖는 임의의 수의 MSI를 발행할 수 있다.
2. 제2 실시형태
[수개의 브릿지 장치를 포함하는 정보 처리 시스템의 예]
도 14는, 본 발명의 제2 실시형태에 따른 정보 처리 시스템의 일 구성예를 도시하는 도면이다. 이 정보 처리 시스템은 3개의 브릿지 장치 #A 내지 #C(101 내지 103)와, 2개의 프로세서 시스템 #A 및 #B(201 및 202)과, 4개의 PCI 디바이스(310 내지 340)를 포함하고 있다.
브릿지 장치 #A 및 #B(101 및 102)는 PCI 버스(190)와 프로세서 시스템 #A(201) 사이에 직렬로 접속되어 있다. 또한, 브릿지 장치 #C(103)는 PCI 버스(190)와 프로세서 시스템 #B(202) 사이에 접속되어 있다. 프로세서 시스템 #A 및 #B(201 및 202)와 PCI 버스(190) 사이의 관계로서 보면, 브릿지 장치 #A 및 #B(101 및 102)는 브릿지 장치 #C(103)에 병렬로 접속되어 있다.
이 구성예에 있어서, 각각의 브릿지 장치 #A 내지 #C(101 내지 103)는, 그 다른 것들 중 하나로부터 발행된 MSI를 검출한 것에 응답하여, 새로운 MSI를 발행한다. 이에 의해, 연쇄적으로 MSI가 발행된다. 이하, 이 구성예에 있어서의 동작에 대해서 설명한다.
[수개의 브릿지 장치를 포함하는 정보 처리 시스템의 동작예]
도 15는, 본 발명의 제2 실시형태에 따른 정보 처리 시스템에서의 MSI의 발행예를 도시하는 도면이다.
PCI 디바이스 #A(310)가 MSI_A를 송신하면(871), 프로세서 시스템 #A(201)에 포함된 메모리에 MSI_A의 내용이 기입된다. 브릿지 장치 #A 및 #B(101 및 102)에 포함된 MSI 검출부(110)는, PCI 버스(190)와 프로세서 시스템 #A (201) 사이에 전송되는 메시지의 어드레스 정보를 감시하고 있다. 그래서, 브릿지 장치 #B(102)는, 검출 어드레스 영역에 해당하는 MSI_A를 검출한다(872). 브릿지 장치 #B(102)에 포함된 인터럽트 종류 선택 레지스터(124)에 "MSI"가 설정되어있다고 가정하면, 브릿지 장치 #B(102)에 포함된 인터럽트 발행 상태 관리부(150)는, 인터럽트 발행부(160)에 대하여 MSI의 발행을 지시한다. 이에 의해, 브릿지 장치 #B(102)에 포함된 인터럽트 발행부(160)는, 프로세서 시스템 #B(202)에 MSI_B를 발행한다(873).
한편, 브릿지 장치 #A(101)도 검출 어드레스 영역에 해당하는 MSI_A를 검출한다(874). 브릿지 장치 #A(101)에 포함된 인터럽트 종류 선택 레지스터(124)에 " 프로세서 인터럽트"가 설정되어있다고 가정하면, 브릿지 장치 #A(101)는 프로세서 시스템 #A(201)에 포함된 메모리로부터 MSI_A를 판독하고, 기입 동작이 정상적으로 완료하고 있는 것을 확인한다(875). 그리고, 브릿지 장치 #A(101)에 포함된 인터럽트 발행부(160)는, 프로세서 시스템 #A(201)에 대하여 프로세서 인터럽트를 발행한다(876).
또한, 브릿지 장치 #C(103)는 검출 어드레스 영역에 해당하는 MSI_B를 검출한다(881). 브릿지 장치 #C(103)에 포함된 인터럽트 종류 선택 레지스터(124)에 "프로세서 인터럽트"가 설정되어있다고 가정하면, 브릿지 장치 #C(103)는 프로세서 시스템 #B(202)에 포함된 메모리로부터 MSI_B를 판독하고, 기입 동작이 정상적으로 완료하고 있는 것을 확인한다(882). 그리고, 브릿지 장치 #C(103)에 포함된 인터럽트 발행부(160)는, 프로세서 시스템 #B(202)에 대하여 프로세서 인터럽트를 발행한다(883). 그리고나서, 프로세서 시스템 #B(202)는 인터럽트 처리를 실행한다.
그 후, PCI 디바이스 #C(330)가 MSI_C를 발행하고 PCI 디바이스 #D(340)가 MSI_D를 발행했을 경우, 프로세서 시스템 #B(202)는 복수의 MSI를 수신한다. 이 경우, 도 10을 참조하여 설명한 바와 동일한 처리가 실행되므로, 그 설명을 생략한다.
상술한 바와 같이, 본 발명의 제2 실시형태에 따르면, 복수의 브릿지 장치 #A 내지 #C (101 내지 103)를 사용하여 MSI를 검출하고 새로운 MSI를 발행함으로써 연쇄적으로 MSI가 생성된다.
본 발명에 따른 전술한 실시형태에서는, 브릿지 장치(100)를 프로세서 버 스(290)와 PCI 버스(190) 사이에 접속하는 경우를 예를 들어 설명하였지만, 본 발명은 이에 한정되지 않는다. 브릿지 장치(100)를 PCI 버스(190)의 트리(tree)상의 임의의 위치에 삽입하여도 된다.
또한, 본 발명의 전술한 실시형태에 따르면, PCI 버스를 예로서 사용하였다. 그러나, PCI 버스는, PCI 버스와 소프트웨어상의 호환성을 갖는 PCI-X 버스 또는 PCIe 버스로 치환될 수 있다. 다르게는, PCI 버스 대신에, 다른 임의의 버스를 사용해도 된다.
또한, 본 발명의 전술한 실시형태에 따르면, 검출 어드레스 영역으로서, MSI 베이스 어드레스 레지스터(121) 및 MSI 리미트 어드레스 레지스터(122)에 의해 규정되는 일련의 영역을 예를 들어서 설명했다. 그러나, 본 발명은 이에 한정되지 않고, 복수의 어드레스 영역을 검출 어드레스 영역으로 하여도 된다.
본 발명의 전술한 실시형태는 본 발명을 구현하기 위한 일 예를 나타낸 것일뿐이다. 본 발명은 전술한 실시형태에 한정되는 것이 아니고, 본 발명의 범위내에서 각종의 변경을 가할 수 있다.
또한, 본 발명의 실시형태에서 설명한 처리 절차는, 이들 일련의 절차를 포함하는 방법으로서 인식하여도 된다. 다르게는, 상기 처리 절차를, 컴퓨터로 하여금 상기 일련의 절차를 실행하도록 만드는 프로그램 또는 이 프로그램을 기억하는 기록 매체로서 인식하여도 된다. 이 기록 매체의 예로는 CD(Compact Disc), MD(Mini Disc), DVD(Digital Versatile Disk), 메모리 카드 및 블루 레이 디스크(Blu-ray Disc(등록 상표)) 등을 들 수 있다.
본 출원은 2008년 11월 13일자로 일본 특허청에 출원된 일본 우선권인 특허출원 JP2008-290438호에 개시된 주제와 관련된 주제를 포함하며, 그 전체 내용은 본원에 참조로서 포함되어 있다.
첨부된 특허청구의 범위 또는 그 균등물의 범위내에 있는 한, 설계 요구조건 및 다른 요소에 따라 각종 변경, 조합, 하위 조합 및 변형이 가능함은 당업자에게 자명하다.
도 1은 본 발명의 제1 실시형태에 따른 정보 처리 시스템의 일 구성예를 도시하는 도면.
도 2는 본 발명의 제1 실시형태에 따른 PCI 디바이스에 포함되는 메시지 생성 기구의 일례를 도시하는 도면.
도 3a 및 도 3b는 PCI 버스에 있어서의 MSI 메시지의 이미지 예를 도시하는 도면.
도 4는 본 발명의 제1 실시형태에 따른 브릿지 장치의 일 구성예를 도시하는 도면.
도 5는 본 발명의 제1 실시형태에 따른 브릿지 제어 레지스터의 일 구성예를 도시하는 도면.
도 6은 본 발명의 제1 실시형태에 따른 MSI 검출부의 일 구성예를 도시하는 도면.
도 7은 본 발명의 제1 실시형태에 따른 인터럽트 발행 상태 관리부 및 인터럽트 발행부를 포함하는 영역의 일 구성예를 도시하는 도면.
도 8은 본 발명의 제1 실시형태에 따른 정보 처리 시스템에서 행해지는 MSI 발행예를 도시하는 도면.
도 9는 본 발명의 제1 실시형태에 따른 정보 처리 시스템에서 행해지는 프로세서 인터럽트의 발행예를 도시하는 도면.
도 10은 본 발명의 제1 실시형태에 따른 정보 처리 시스템에서 복수의 MSI가 발행된 경우의 동작예를 도시하는 도면.
도 11은 본 발명의 제1 실시형태의 변형예에 따른 브릿지 제어 레지스터의 일부의 구성예를 도시하는 도면.
도 12는 본 발명의 제1 실시형태의 변형예에 따른 정보 처리 시스템에 의해 행해지는 복수의 MSI의 발행예를 도시하는 도면.
도 13은 본 발명의 제1 실시형태의 구체적인 적용예를 도시하는 도면.
도 14는 본 발명의 제2 실시형태에 따른 정보 처리 시스템의 일 구성예를 도시하는 도면.
도 15는 본 발명의 제2 실시형태에 따른 정보 처리 시스템에서의 MSI의 발행예를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
10: 셀 브릿지
11, 100, 101, 102, 103: 브릿지 장치
20: 셀
31 내지 34: PCIe 디바이스
35: PCIe 스위치
110: MSI 검출부
111: 감시 어드레스 레지스터
112, 113: 비교기
114: 논리적 연산기
120: 브릿지 제어 레지스터
121: MSI 베이스 어드레스 레지스터
122: MSI 리미트 어드레스 레지스터
123: 디바이스 힌트 정보 레지스터
124: 인터럽트 종류 선택 레지스터
125: 인터럽트 처리중 레지스터
126: 다음 MSI 어드레스 레지스터
127: 다음 MSI 데이터 레지스터
128: 다음 MSI 이네이블 레지스터
130: MSI 검출 영역 취득부
140: MSI 발행 디바이스 힌트 정보 설정부
150: 인터럽트 발행 상태 관리부
160: 인터럽트 발행부
200, 201, 202: 프로세서 시스템
210: 프로세서
220: 메모리
300 내지 340: PCI 디바이스
311: MSI 레지스터
317: 메시지 생성부

Claims (5)

  1. 인터럽트 검출 장치로서,
    어드레스 정보를 갖는 제1 인터럽트 메시지에 따라서 검출해야 할 어드레스 영역을 검출 어드레스 영역으로서 기억하도록 구성된 검출 어드레스 영역 기억부와,
    제2 인터럽트 메시지의 어드레스 정보를 발행 인터럽트 정보로서 기억하도록 구성된 발행 인터럽트 정보 기억부와,
    상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당하는지를 판정하도록 구성된 인터럽트 메시지 검출부와,
    상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당한다고 판정된 경우에, 상기 발행 인터럽트 정보를 갖는 상기 제2 인터럽트 메시지를 발행하도록 구성된 인터럽트 발행부를 포함하는, 인터럽트 검출 장치.
  2. 제1항에 있어서,
    상기 발행 인터럽트 정보 기억부는 복수의 발행 인터럽트 정보 아이템을 기억하고,
    상기 인터럽트 발행부는 상기 복수의 발행 인터럽트 정보 아이템에 따라서 복수의 제2 인터럽트 메시지를 발행하는, 인터럽트 검출 장치.
  3. 인터럽트 검출 장치로서,
    어드레스 정보 및 데이터 정보를 갖는 제1 인터럽트 메시지에 따라서 검출해야 할 어드레스 영역을 검출 어드레스 영역으로서 기억하도록 구성된 검출 어드레스 영역 기억부와,
    제2 인터럽트 메시지의 어드레스 정보 및 데이터 정보를 발행 인터럽트 정보로서 기억하도록 구성된 발행 인터럽트 정보 기억부와,
    상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당하는지를 판정하도록 구성된 인터럽트 메시지 검출부와,
    발행해야 할 인터럽트의 종류로서 상기 제2 인터럽트 메시지 또는 프로세서에 대해 발행하는 프로세서 인터럽트 신호를 기억하도록 구성된 인터럽트 종류 기억부와,
    상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당하는 것으로 판정된 경우에, 상기 인터럽트 종류 기억부에 기억된 종류가 상기 제2 인터럽트 메시지에 해당하면, 발행 어드레스 정보를 갖는 상기 제2 인터럽트 메시지를 발행하도록 구성되고, 상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당하는 것으로 판정된 경우에, 상기 인터럽트 종류 기억부에 기억된 종류가 상기 프로세서 인터럽트 신호에 해당하면, 상기 프로세서에 대하여 상기 프로세서 인터럽트 신호를 발행하도록 구성된 인터럽트 발행부를 포함하는, 인터럽트 검출 장치.
  4. 프로세서 및 메모리를 갖는 프로세서 시스템과, 주변 기기와, 상기 프로세서 시스템과 상기 주변 기기를 접속하는 브릿지 장치를 포함하는 정보 처리 시스템으로서,
    상기 브릿지 장치는,
    상기 주변 기기로부터 전송되는 어드레스 정보를 갖는 제1 인터럽트 메시지에 따라서 검출해야 할 어드레스 영역을 검출 어드레스 영역으로서 기억하도록 구성된 검출 어드레스 영역 기억부와,
    제2 인터럽트 메시지의 어드레스 정보를 발행 인터럽트 정보로서 기억하도록 구성된 발행 인터럽트 정보 기억부와,
    상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당하는지를 판정하도록 구성된 인터럽트 메시지 검출부와,
    상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당한다고 판정된 경우에, 상기 발행 인터럽트 정보를 포함하는 상기 제2 인터럽트 메시지를 상기 프로세서 시스템 또는 상기 주변 기기에 대하여 발행하도록 구성된 인터럽트 발행부를 포함하는, 정보 처리 시스템.
  5. 프로세서 및 메모리를 갖는 적어도 1개의 프로세서 시스템과, 적어도 1 개의 주변 기기와, 상기 프로세서 시스템과 상기 주변 기기와의 사이에 직렬 또는 병렬로 서로 접속되는 복수의 브릿지 장치를 포함하는 정보 처리 시스템으로서,
    상기 브릿지 장치는,
    상기 주변 기기로부터 전송되는 어드레스 정보를 갖는 제1 인터럽트 메시지 에 따라서 검출해야 할 어드레스 영역을 검출 어드레스 영역으로서 기억하도록 구성된 검출 어드레스 영역 기억부와,
    제2 인터럽트 메시지에 포함된 어드레스 정보를 발행 인터럽트 정보로서 기억하도록 구성된 발행 인터럽트 정보 기억부와,
    상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당하는지를 판정하도록 구성된 인터럽트 메시지 검출부와,
    상기 제1 인터럽트 메시지가 상기 검출 어드레스 영역에 해당한다고 판정된 경우에, 상기 발행 인터럽트 정보를 갖는 상기 제2 인터럽트 메시지를 상기 프로세서 시스템 또는 상기 주변 기기에 대하여 발행하도록 구성된 인터럽트 발행부를 포함하는, 정보 처리 시스템.
KR1020090109256A 2008-11-13 2009-11-12 인터럽트 검출 장치 및 정보 처리 시스템 KR20100054107A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008290438A JP5217929B2 (ja) 2008-11-13 2008-11-13 割込検出装置および情報処理システム
JPJP-P-2008-290438 2008-11-13

Publications (1)

Publication Number Publication Date
KR20100054107A true KR20100054107A (ko) 2010-05-24

Family

ID=41621007

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090109256A KR20100054107A (ko) 2008-11-13 2009-11-12 인터럽트 검출 장치 및 정보 처리 시스템

Country Status (5)

Country Link
US (1) US8200875B2 (ko)
EP (1) EP2189912A1 (ko)
JP (1) JP5217929B2 (ko)
KR (1) KR20100054107A (ko)
CN (1) CN101739369A (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5320140B2 (ja) * 2009-04-14 2013-10-23 株式会社日立製作所 計算機システム、割込み中継回路及び割込み中継方法
US8606975B2 (en) * 2010-05-21 2013-12-10 Oracle International Corporation Managing interrupts in a virtualized input/output device supporting multiple hosts and functions
US8549202B2 (en) * 2010-08-04 2013-10-01 International Business Machines Corporation Interrupt source controller with scalable state structures
US8495271B2 (en) 2010-08-04 2013-07-23 International Business Machines Corporation Injection of I/O messages
US20120036302A1 (en) 2010-08-04 2012-02-09 International Business Machines Corporation Determination of one or more partitionable endpoints affected by an i/o message
US9146776B1 (en) 2011-08-16 2015-09-29 Marvell International Ltd. Systems and methods for controlling flow of message signaled interrupts
US9128920B2 (en) * 2011-11-30 2015-09-08 Marvell World Trade Ltd. Interrupt handling systems and methods for PCIE bridges with multiple buses
JP6079065B2 (ja) 2012-08-31 2017-02-15 富士通株式会社 情報処理装置,処理方法及びプログラム
JP6123487B2 (ja) 2013-05-28 2017-05-10 富士通株式会社 制御装置、制御方法及び制御プログラム
US9619029B2 (en) 2013-11-14 2017-04-11 Immersion Corporation Haptic trigger control system
US9164587B2 (en) 2013-11-14 2015-10-20 Immersion Corporation Haptic spatialization system
WO2015072992A1 (en) * 2013-11-14 2015-05-21 Intel Corporation Techniques for processing custom events
US9174134B1 (en) 2014-11-12 2015-11-03 Immersion Corporation Peripheral device with haptic diminishment prevention component
US10185396B2 (en) 2014-11-12 2019-01-22 Immersion Corporation Haptic trigger modification system
CN104679687B (zh) * 2014-12-19 2018-04-20 杭州华为数字技术有限公司 一种识别中断源的方法及装置
US11210246B2 (en) * 2018-08-24 2021-12-28 Advanced Micro Devices, Inc. Probe interrupt delivery
CN111757318B (zh) * 2019-03-28 2022-08-09 华为技术有限公司 一种通信方法和装置
CN111078597B (zh) * 2019-12-04 2021-07-30 江苏芯盛智能科技有限公司 一种中断消息生成装置、方法以及端设备
CN114265800B (zh) * 2022-03-02 2022-06-07 山东云海国创云计算装备产业创新中心有限公司 中断消息处理方法、装置、电子设备及可读存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03163651A (ja) * 1989-11-21 1991-07-15 Nec Corp デュアルポートメモリの割込み発生回路
JPH0644193A (ja) * 1992-07-24 1994-02-18 Oki Electric Ind Co Ltd I/oレジスタアクセス方式
JPH10242962A (ja) * 1997-02-25 1998-09-11 Nippon Telegr & Teleph Corp <Ntt> インターネット上のマルチキャストゲートウェイ通信方法及びシステム
TW501017B (en) 2000-04-05 2002-09-01 Via Tech Inc Processing method, chip set and controller for supporting message signaled interrupt
JP2003298602A (ja) * 2002-04-05 2003-10-17 Hitachi Cable Ltd ネットワーク機器
US7409483B2 (en) 2003-12-19 2008-08-05 Intel Corporation Methods and apparatuses to provide message signaled interrupts to level-sensitive drivers
US7048877B2 (en) 2004-03-30 2006-05-23 Intel Corporation Efficiently supporting interrupts
US20050289271A1 (en) 2004-06-29 2005-12-29 Martinez Alberto J Circuitry to selectively produce MSI signals
US7496706B2 (en) * 2004-06-30 2009-02-24 Intel Corporation Message signaled interrupt redirection table
US7380067B2 (en) 2004-07-19 2008-05-27 Infortrend Technology, Inc. IO-stream adaptive write caching policy adjustment
US20060294277A1 (en) 2005-06-24 2006-12-28 Tetrick Raymond S Message signaled interrupt redirection
US7707465B2 (en) * 2006-01-26 2010-04-27 International Business Machines Corporation Routing of shared I/O fabric error messages in a multi-host environment to a master control root node
WO2008018485A1 (fr) * 2006-08-09 2008-02-14 Nec Corporation Commutateur pour une interconnexion, et système
JP2008090375A (ja) * 2006-09-29 2008-04-17 Hitachi Ltd 割込み制御システム、およびこれを利用した記憶制御システム

Also Published As

Publication number Publication date
US8200875B2 (en) 2012-06-12
JP2010117872A (ja) 2010-05-27
JP5217929B2 (ja) 2013-06-19
US20100122006A1 (en) 2010-05-13
EP2189912A1 (en) 2010-05-26
CN101739369A (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
KR20100054107A (ko) 인터럽트 검출 장치 및 정보 처리 시스템
CN100592271C (zh) 使用集成dma引擎进行高性能易失性磁盘驱动器存储器访问的装置和方法
US7457900B2 (en) Method for discovering and partitioning PCI devices
US4006466A (en) Programmable interface apparatus and method
US4942519A (en) Coprocessor having a slave processor capable of checking address mapping
US4000487A (en) Steering code generating apparatus for use in an input/output processing system
TWI310899B (en) Method, system, and product for utilizing a power subsystem to diagnose and recover from errors
JP2011512588A (ja) I/o動作の状態を判別するコンピュータ・プログラム、装置、及び方法(i/o動作の状態を判別するコンピュータ・コマンド及び応答)
US6070204A (en) Method and apparatus for using universal serial bus keyboard to control DOS operations
US9779047B2 (en) Universal intelligent platform management interface (IPMI) host to baseboard management controller (BMC) communication for non-x86 and legacy free systems
EP0775959A2 (en) Method and apparatus for optimizing PCI interrupt binding and associated latency in extended/bridged PCI busses
TWI267740B (en) Method, apparatus, article and system of device resource allocation
US7143206B2 (en) Method for controlling data transfer unit having channel control unit, storage device control unit, and DMA processor
KR101579592B1 (ko) 직접 메모리 액세스 컨트롤러 및 직접 메모리 액세스 컨트롤러의 동작 방법
JP5057360B2 (ja) 半導体装置、データ処理装置、及び記憶装置へのアクセス方法
CN111615691A (zh) 直接存储器访问适配器
US20060282585A1 (en) Method and system for identifying peripheral component interconnect device information
EP0338564B1 (en) Microprogram branching method and microsequencer employing the method
JP2008225577A (ja) Pciデバイスのホットプラグにおけるモード設定方法及びpciバスを有するシステム
JP6106986B2 (ja) 演算処理装置、情報処理装置及び割込制御方法
JP5079502B2 (ja) 並列通信バスを介して割り込みメッセージを伝送するためのコンピュータシステムおよび方法
US20030018842A1 (en) Interrupt controller
JP4865213B2 (ja) 割込みコントローラ
JP2001306411A (ja) 情報処理装置及び情報処理方法
JP2006236234A (ja) 割込み処理回路

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid