KR101056759B1 - 정보 처리 시스템, 정보 처리 시스템의 제어 방법, 및 정보 처리 시스템의 제어 프로그램을 기록한 기록 매체 - Google Patents

정보 처리 시스템, 정보 처리 시스템의 제어 방법, 및 정보 처리 시스템의 제어 프로그램을 기록한 기록 매체 Download PDF

Info

Publication number
KR101056759B1
KR101056759B1 KR1020090015371A KR20090015371A KR101056759B1 KR 101056759 B1 KR101056759 B1 KR 101056759B1 KR 1020090015371 A KR1020090015371 A KR 1020090015371A KR 20090015371 A KR20090015371 A KR 20090015371A KR 101056759 B1 KR101056759 B1 KR 101056759B1
Authority
KR
South Korea
Prior art keywords
interrupt
channel device
channel
unit
processing
Prior art date
Application number
KR1020090015371A
Other languages
English (en)
Other versions
KR20090092707A (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 후지쯔 가부시끼가이샤
Publication of KR20090092707A publication Critical patent/KR20090092707A/ko
Application granted granted Critical
Publication of KR101056759B1 publication Critical patent/KR101056759B1/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
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • 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
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)

Abstract

본 발명은 종래의 컴퓨터 시스템에서 전용 회로로 실현되고 있던 채널 장치의 인터럽트(interrupt) 제어를, 범용 플랫폼상에서 에뮬레이션하는 구성 및 방법을 제공하는 것을 과제로 한다.
채널 장치(32)는 IO 장치(5)의 데이터 전송을 행할 때에는, CIB 영역(52)에 우선권의 요구를 기입하고, CPU(21)에 인터럽트를 행한다. 드라이버(23)는 인터럽트를 검출하면, CIB 영역(52)을 참조함으로써, 채널 장치(32)로부터의 요구를 인식한다. 요구를 허가하는 경우에는, 드라이버(23)는, 채널 장치(32)에 대해서 개시 지시를 부여한다. 채널 장치(32)는 드라이버(23)로부터 개시 지시를 수신하면, IO 장치(5)의 데이터 전송에 따른 처리를 개시한다.
IO 유닛, 인터럽트 제어부, COB 영역, 범용 플랫폼

Description

정보 처리 시스템, 정보 처리 시스템의 제어 방법, 및 정보 처리 시스템의 제어 프로그램을 기록한 기록 매체{INFORMATION PROCESSING SYSTEM AND CONTROL METHOD AND RECORDING MEDIUM ON WHICH CONTROL PROGRAM OF THE SAME IS RECORDED}
본 발명은 정보 처리 장치, 정보 처리 장치에 접속된 입출력 장치, 정보 처리 장치와 입출력 장치 사이에서 데이터의 전송을 행하는 채널 장치를 갖는 정보 처리 시스템에 관한 것이며, 또한, 그러한 정보 처리 시스템에서의 인터럽트의 제어 방법 및 제어 프로그램에 관한 것이다.
종래, 기업의 기간(基幹) 업무의 처리는, 메인프레임에 의해 행해지는 경우가 많았다. 메인프레임은 종종, 범용 컴퓨터, 범용기, 대형 범용 컴퓨터 등으로 불리며, 일반적으로, 여러 가지 IO 장치(입출력 장치)가 접속된다.
메인프레임은, 각각 독자적인 전용 회로(하드웨어)를 구비하는 것이 많았다. 예를 들면, 도 9에 나타낸 바와 같이, 메인프레임(100)이 구비하는 IO 프로세서(101)는, 전용의 인터럽트 제어 회로(102)를 구비하고 있다. 여기서, IO 프로세서(101)는, 채널 장치(110)를 통해서 1 또는 복수의 IO 장치의 사이에서 데이터의 송수신을 제어한다. 채널 장치(110)는, 메인프레임(100)과 IO 장치 사이의 데이터 전송을 제어한다. IO 장치는, 예를 들면, RAID(Redundant Arrays of Inexpensive Disks 또는 Redundant Arrays of Independent Disks)를 구성하는 스토리지(storage) 장치이다. 그리고, 인터럽트 제어 회로(102)는, 하드웨어 회로로 구성되어 있고, 1 또는 복수의 채널 장치(110)로부터 인터럽트를 접수하여, 채널 장치(110)에 대해서 필요한 지시를 부여한다.
이에 대해서 최근에는, 대규모인 시스템이라도, 범용 프로세서를 사용한 범용 플랫폼상에서 실현하고자 하는 움직임이 확대되고 있다. 범용 플랫폼으로서는, UNIX(등록 상표), Linux 또는 Windows(등록 상표) 등을 OS로서 동작하는 서버 시스템의 도입이 추진되고 있다. 이에 따라, 개발 비용의 삭감, 개발 기간의 단축, 메인터넌스(maintenance)의 용이성이 도모되고 있다.
그런데, 메인프레임을 이용해 온 사용자의 대부분은, 범용 플랫폼으로 이행하는 경우, 종전의 환경의 유지를 필요로 한다. 예를 들면, 메인프레임(100)을 범용 플랫폼(200)상에서 에뮬레이션할 때에는, 도 9에 나타낸 바와 같이, 메인프레임(100)에서 행해지고 있던 인터럽트 제어와 같은 제어가 행해질 필요가 있다. 이 경우, 범용 플랫폼(200)에서 채널 드라이버(201)를 실장(實裝)하여, 채널 장치(110)로부터의 인터럽트를 접수할 필요가 있다.
또한, 관련되는 기술로서, 하기의 특허문헌 1∼3이 공지 기술로서 개시되어 있다. 개시된 시스템에서, CPU는, 메인 메모리와의 사이의 버스를 사용하지만, 채널 장치로부터의 인터럽트 요구에 의해, 이 버스의 사용권을 넘겨준다. 이 때문에, DMA 컨트롤러 또는 인터럽트 컨트롤러는, 복수의 채널 장치로부터의 요구를 조 정하여, CPU가 서비스를 제공할 채널 장치를 선택한다. 이 때, 복수의 채널 장치로부터의 서비스 요구에 대해서 우선 제어를 행하는 방법에서, 서비스 요구가 접수된 채널 장치의 우선 순위가 가장 낮게 갱신되고, 이 채널 장치의 갱신 전의 우선 순위 이하의 우선 순위를 갖고 있던 채널 장치의 우선 순위가 높게 갱신된다.
또한, 개시의 입출력 채널 제어 방식에서는, 중앙 처리 장치가 복수의 입출력 채널 장치를 내장하여 시분할로 입출력 동작을 행하는 구성에서, 입출력 채널 장치 및 서브 채널에 접속되는 입출력 제어 장치와 입출력 장치의 입출력 처리 속도에 따라, 중앙 처리 장치가 이들의 입출력 채널 장치와 복수의 서브채널을 갖는 입출력 채널 장치의 복수의 서브채널군에 대한 입출력 처리 우선 순위가 기계어 명령으로 설정된다. 그리고, 입출력 시스템의 구성에 따라 최적인 우선 순위를 기초로 하여 소요 효율의 입출력 처리 동작이 행해진다.
또한, 개시의 인터럽트 처리 방식은, 중앙 처리 장치, 주기억 장치, 복수의 채널 장치가 메모리 버스를 통하여 접속되어 있고, 주기억 장치상에 할당된 특정 번지를 이용하여 복수의 채널 장치간의 인터럽트 순위가 결정되고, 이 인터럽트 순위를 따라서 각 채널에 설치된 인터럽트 신호선을 이용하여 중앙 처리 장치에 인터럽트 신호가 송신된다.
[특허문헌 1] 일본국 특허공개 평4-363748호 공보
[특허문헌 2] 일본국 특허공개 소54-14133호 공보
[특허문헌 3] 일본국 특허공개 소61-233837호 공보
본 발명의 과제는, 종래의 컴퓨터 시스템에서 전용 회로에 의해 실현되고 있던 채널 장치의 인터럽트 제어를, 범용 플랫폼상에서 에뮬레이션하는 구성 및 방법을 제공하는 것이다.
본 발명의 정보 처리 시스템은, 연산 처리 장치와 기억 장치를 갖는 정보 처리 장치와, 상기 정보 처리 장치에 접속된 입출력 장치와, 상기 정보 처리 장치와 상기 입출력 장치 사이에서 데이터의 전송을 행하는 채널 장치를 갖는다. 상기 기억 장치는, 상기 채널 장치를 기동시키는 채널 장치 기동 명령과 상기 채널 장치의 기동에 사용하는 기동 정보가 유지되는 제 1 영역과, 상기 채널 장치의 동작 결과가 유지되는 제 2 영역을 갖는다. 상기 채널 장치는, 상기 채널 장치의 기동을 제어하는 기동 제어부와, 상기 채널 장치로부터 상기 연산 처리 장치에의 인터럽트를 제어하는 인터럽트 제어부와, 상기 채널 장치의 제어를 행하는 채널 장치 제어부를 갖는다.
상기 정보 처리 장치는 또한, 상기 연산 처리 장치에, 상기 기억 장치의 상기 제 1 영역에 상기 채널 장치 기동 명령과 상기 기동 정보를 기입시키는 스텝과, 상기 기동 제어부에 대해서, 상기 채널 장치의 기동을 지시시키는 스텝을 실행시키고, 상기 기동 제어부에, 상기 기억 장치의 상기 제 1 영역을 판독시키는 동시에, 상기 채널 장치 제어부에 통지시키는 스텝을 실행시키고, 상기 채널 장치에, 상기 기억 장치의 상기 제 1 영역이 갖는 상기 채널 장치 기동 명령을 실행시키는 스텝과, 상기 채널 장치 기동 명령의 실행에 의한 채널 장치의 동작 결과를, 상기 기억 장치의 상기 제 2 영역에 기입시키는 스텝과, 상기 인터럽트 제어부를 이용하여, 상기 연산 처리 장치에의 인터럽트를 발생시키는 스텝을 실행시키고, 상기 연산 처리 장치에, 상기 기억 장치의 상기 제 2 영역을 참조하여, 상기 채널 장치의 동작 결과를 판독시킴으로써, 인터럽트의 처리를 실행시키는 스텝과, 상기 인터럽트 제어부에의 인터럽트의 처리 완료를 통지시키는 스텝을 실행시키는 드라이버부를 갖는다.
상기 구성의 정보 처리 시스템에서는, 채널 장치는, 연산 처리 장치의 드라이버부에 의해 기동된다. 이 기동 제어는, 드라이버부와 채널 장치 사이에서, 기억 장치상의 제 1 및 제 2 영역을 통하여 정보를 수수(授受)함으로써 실현된다.
본 발명의 다른 형태의 정보 처리 시스템은, 연산 처리 장치와 기억 장치를 갖는 정보 처리 장치와, 상기 정보 처리 장치에 접속된 입출력 장치와, 상기 정보 처리 장치와 상기 입출력 장치 사이에서 데이터의 전송을 행하는 채널 장치를 갖는다. 상기 기억 장치는, 상기 채널 장치의 동작 결과가 유지되는 영역을 갖는다. 상기 채널 장치는, 상기 채널 장치의 기동을 제어하는 기동 제어부와, 상기 채널 장치로부터 상기 연산 처리 장치에의 인터럽트를 제어하는 인터럽트 제어부와, 상기 채널 장치의 제어를 행하는 채널 장치 제어부를 갖는다.
상기 정보 처리 장치는 또한, 상기 채널 장치에, 상기 기억 장치의 상기 영역에 제 1 인터럽트의 요구를 기입시키는 스텝과, 상기 인터럽트 제어부를 사용하여, 상기 연산 처리 장치에의 제 1 인터럽트를 발생시키는 스텝을 실행시키고, 상 기 연산 처리 장치에, 상기 연산 처리 장치가 상기 제 1 인터럽트의 발생을 검출한 경우에, 상기 영역을 판독시켜서, 상기 제 1 인터럽트의 요구를 참조시키는 스텝과, 상기 제 1 인터럽트의 요구보다도 우선하여 처리해야 할 다른 처리가 존재하지 않기 때문에, 상기 제 1 인터럽트의 요구에 대해서, 상기 채널 장치에 의한 제 1 인터럽트의 처리가 허가되는 경우에는, 상기 인터럽트 제어부를 이용하여 상기 제 1 인터럽트의 처리를 실행시키는 동시에, 상기 제 1 인터럽트의 요구보다도 우선하여 처리해야 할 다른 처리가 존재하기 때문에, 상기 제 1 인터럽트의 요구에 대해서, 상기 채널 장치에 의한 제 1 인터럽트의 처리가 허가되지 않는 경우에는, 상기 연산 처리 장치가 상기 다른 처리를 실행 후에, 상기 인터럽트 제어부를 이용하여 상기 제 1 인터럽트의 처리를 실행시키는 스텝을 실행시키는 드라이버부를 갖는다.
상기 다른 형태의 정보 처리 시스템에서는, 채널 장치는, 연산 처리 장치의 드라이버부의 허가를 기다려서 처리를 실행한다. 즉, 채널 장치는, 드라이버부의 허가없이 자발적인 처리를 실행할 수는 없다. 또한, 이 우선 제어는, 드라이버부와 채널 장치 사이에서, 기억 장치상의 상기 영역을 통하여 정보를 수수함으로써 실현된다.
상기 다른 형태의 정보 처리 시스템에서, 상기 드라이버부는 또한, 상기 채널 장치에, 상기 제 1 인터럽트의 요구에 대한 상기 제 1 인터럽트의 처리를 실행시키는 스텝과, 상기 제 1 인터럽트의 처리 결과를 상기 영역에 기입시키는 스텝과, 상기 인터럽트 제어부를 이용하여, 상기 연산 처리 장치에의 제 2 인터럽트를 발생시키는 스텝을 실행시키고, 상기 연산 처리 장치에, 상기 연산 처리 장치가 상 기 제 2 인터럽트의 발생을 검출한 경우에, 상기 영역을 판독시키는 동시에, 상기 제 1 인터럽트의 처리 결과를 참조시키는 스텝과, 상기 인터럽트 제어부에의 제 2 인터럽트의 처리 완료를 통지시키는 스텝을 실행시키도록 해도 좋다.
개시의 시스템에 의하면, 전용 회로에서 실현되고 있던 채널 장치의 인터럽트 제어를, 범용 플랫폼상에서 에뮬레이션할 수 있다.
도 1은, 본 발명의 실시예에 따른 정보 처리 시스템의 구성을 나타낸 도면이다. 도 1에서, 정보 처리 시스템(1)은, 시스템 보드(2)(#0∼#7), IO 유닛(3)(#0∼#7), 시스템 인터코넥트(4), IO 장치(5)(5a∼5n)를 구비한다. 또한, 시스템 보드(2) 및 IO 유닛(3)의 개수는, 각각, 특별히 한정되는 것이 아니다. 또한, 시스템 보드(2) 및 IO 유닛(3)의 개수는, 서로 동일해도 좋고, 서로 달라도 좋다.
시스템 보드(2)는 각각 CPU(21) 및 메모리(22)를 구비한다. 도 1에 나타낸 예에서는, 시스템 보드(2)(#0)는 4개의 CPU(21)를 구비하고 있다. 또한, 메모리(22)는 복수의 CPU(21)에 의해 공용된다. 단, 각 CPU(21)에 대해서 각각 서로 독립한 메모리(22)를 설치하도록 해도 좋다.
각 CPU(21)는, 각각 IO 유닛(3)과의 접속을 제어하는 처리를 행하는 드라이버(23)를 갖고 있다. 각 드라이버(23)는, 예를 들면 메모리(22)에 저장되어 있는 드라이버 프로그램을 실행하는 것으로 실현된다.
IO 유닛(3)은, 각각 정보 처리 시스템(1)의 입출력 장치이다. 각 IO 유 닛(3)은 각각 시스템 인터코넥트(4)에 접속되는 PCI 버스를 구비한다. 이 PCI 버스에는, 예를 들면 하드디스크 드라이브(31), 채널 장치(32), LAN 포트, CD-ROM 또는 DVD용의 드라이브 장치 등의 입출력 유닛이 접속되어 있다. 도 1에 나타낸 예에서는, IO 유닛(3)(#0)에는, 4개의 하드디스크 드라이브(31), 및 4개의 채널 장치(32)가 탑재되어 있다. 채널 장치(32)는, 예를 들면 카드 형상의 인터페이스 디바이스이며, IO 장치(5)가 접속된다. 또한, IO 유닛(3)(#0∼#7)의 구성은, 서로 같은 구성이라도 좋고, 서로 다른 구성이라도 좋다. 즉, IO 유닛(3)(#1∼#7)은, 반드시 하드디스크 드라이브(31), 채널 장치(32), LAN 포트 등을 구비하고 있을 필요는 없다.
시스템 인터코넥트(4)는, 예를 들면 칩세트 등에 의해 구성되며, 시스템 보드(2)(#0∼#7)와 IO 유닛(3)(#0∼#7)의 사이를 접속한다. 또한, 시스템 인터코넥트(4)는, 이중화 구성 등, 장황하게 구성되도록 해도 좋다. IO 장치(5a∼5n)는, 예를 들면 RAID를 구성하는 스토리지 장치이며, 채널 장치(32)에 접속된다.
도 2는, 도 1에 나타낸 정보 처리 시스템(1)을 간략화하여 나타낸 개략도이다. 도 2에서, CPU(21) 및 메모리(22)는, 도 1에 나타낸 시스템 보드(2)(#0∼#7) 중의 임의의 하나에 설치된다. 시스템 제어부(40)는, 도 2에 나타낸 시스템 인터코넥트(4)를 포함해서 구성되고, CPU(21), 메모리(22), 채널 장치(32a∼32c)를 서로 접속한다. 또한, CPU(21)는 도 2에서는, 시스템 제어부(40)를 통해서 메모리(22)에 액세스하지만, 시스템 제어부(40)를 통하지 않고 메모리(22)에 액세스하도록 해도 좋다.
채널 장치(32a∼32c)는 CPU(21) 및 메모리(22)와, IO 장치(5a∼5c) 사이의 데이터 전송을 제어한다. 또한, 채널 장치(32a∼32c)는, 반드시 1대의 IO 유닛(3) 내에 탑재될 필요는 없고, 서로 다른 IO 유닛(3)에 탑재되어도 좋다. 또한, 채널 장치(32a∼32c)와 IO 장치(5a∼5c)의 사이는, 1대1로 접속될 필요는 없고, 「1대다」 또는 「다대1」로 접속되도록 해도 좋다.
상기 구성의 정보 처리 시스템(1)에서, 드라이버(23)는, 채널 장치(32a∼32c)를 기동할 수 있다. 예를 들면, IO 장치(5a)에 데이터를 송신할 때에는, 드라이버(23)는 채널 장치(32a)를 기동하여, 채널 장치(32a)에 데이터 전송 코맨드를 실행시킨다.
또한, CPU(21)는 드라이버(23)를 사용하여, 채널간의 조정을 행할 수 있다. 즉, 채널 장치(32a∼32c)는, 대응하는 IO 장치(5a∼5c)를 동작시킬 때는, CPU(21)에 대해서 우선권을 요구한다. 이 때, 어느 1개의 채널 장치(예를 들면, 32a)만이 우선권을 요구한 경우에는, 채널 장치(32a)에 대해서 우선권이 부여된다. 이에 따라, 채널 장치(32a)는 대응하는 IO 장치(5a)의 데이터 전송에 따른 동작을 개시한다. 한편, 복수의 채널 장치(예를 들면, 32a, 32b)로부터 우선권이 요구된 경우에는, 드라이버(23)는 소정의 알고리즘을 따라서 조정을 행하여, 채널 장치간의 우선 순위를 결정한다. 이 경우, 예를 들면 조정에 의해 채널 장치(32a)에 대해서 우선권이 부여되는 것으로 하면, 채널 장치(32b)는, 대응하는 IO 장치(5b)의 데이터 전송에 따른 동작을 개시할 수 없다. 즉, 채널 장치(32b)는, 드라이버(23)로부터의 지시를 기다리게 된다. 그리고, 드라이버(23)는 채널 장치(32b)에 의한 데이터 전 송이 종료하면, 채널 장치(32a)에 대해서 우선권을 부여한다. 또한, 채널간의 조정은, 드라이버(23)에 의해 실행되어도 좋고, 드라이버(23)가 상위의 애플리케이션과 제휴하면서 행하도록 해도 좋다.
이와 같이, 실시예의 정보 처리 시스템(1)에서는, 채널 장치(32)는, 드라이버(23)의 지시에 따라서, 또는 드라이버(23)로부터의 허가를 얻은 후에, IO 제어 동작을 개시한다. 즉, 채널 장치(32)는, 드라이버(23)로부터의 지시 또는 허가없이는 IO 제어 동작을 개시하지 않는다.
도 3은, 실시예의 정보 처리 시스템(1)에서 인터럽트 제어에 관한 요소를 나타낸 도면이다. 또한, 도 3에서, 채널 장치(32)는 도 1 또는 도 2에 나타낸 복수의 채널 장치의 임의의 1개에 상당한다.
CPU(21)는, 상술한 바와 같이, 드라이버(23)를 갖는다. 드라이버(23)는, 인터럽트 제어부(24)를 포함하여 구성된다. 인터럽트 제어부(24)는, 채널 장치(32)로부터의 인터럽트를 접수하여, 그 인터럽트에 따른 처리를 실행한다.
메모리(22)는, 특히 한정되는 것이 아니지만, 예를 들면 반도체 메모리이며, CPU(21)의 주기억으로서 사용된다. 메모리(22)에는, COB(Channel Operation Buffer: 채널 조작 버퍼) 영역(51), 및 CIB(Channel Interruption Buffer: 채널 인터럽트 버퍼) 영역(52)이 설치된다. COB 영역(51) 및 CIB 영역(52)은, 각각 드라이버(23)에 의해, 각 채널 장치에 대해서 확보된다. 즉, 드라이버(23)는, 예를 들면 정보 처리 장치(1)에 새로운 채널 장치(32)가 접속되면, 그 새로운 채널 장치에 대응하는 COB 영역(51) 및 CIB 영역(52)을, 메모리(22) 내에 확보한다.
COB 영역(51)은, 드라이버(23)로부터 채널 장치(32)에 대해서 동작 내용을 지시하기 위해서 사용된다. 이 실시예에서는, COB 영역(51)은, 채널 장치(32)를 기동시키기 위한 채널 장치 기동 명령 및 채널 장치(32)를 기동하기 위해서 사용하는 기동 정보를 유지한다. 또한, CIB 영역(52)은, 채널 장치(32)로부터 드라이버(23)에 제어 정보를 통지하기 위해서 사용된다. 이 실시예에서는, CIB 영역(52)에는, 채널 장치(32)의 동작 결과를 나타내는 정보, 및 채널 장치(32)로부터 CPU(21)에 대한 요구를 나타내는 정보 등이 기입된다.
채널 장치(32)는, 기동 제어부(61), 인터럽트 제어부(62), 채널 장치 제어부(63), PCI 버스 제어부(64), IO 제어부(65)를 구비한다. 또한, 이들의 유닛(61∼65)은, 하드웨어로 실현되어도 좋고, 하드웨어 및 (펌웨어(firmware)를 포함) 소프트웨어의 조합에 의해 실현되어도 좋다.
기동 제어부(61)는, 드라이버(23)로부터의 지시에 따라서, 채널 장치(32)를 기동한다. 이 실시예에서는, 기동 제어부(61)는, 레지스터를 구비하여, 채널 장치(32)에 의해 그 레지스터에 소정의 값이 기입되면, 메모리(22)의 COB 영역(51)에 저장되어 있는 정보를 판독하여 채널 장치 제어부(63)에 넘긴다. 이것에 의해, 채널 장치(32)는 기동된다.
인터럽트 제어부(62)는, 채널 장치(32)로부터 CPU(21)에의 인터럽트를 제어한다. 이 실시예에서는, 인터럽트 제어부(62)는 채널 장치(32)의 동작(예를 들면, 데이터 전송 처리 등)이 종료했을 때에, CPU(21)에 인터럽트 신호를 송신한다. 또한, 인터럽트 제어부(62)는 우선권을 요구할 때에도 CPU(21)에 인터럽트 신호를 송 신한다. 또한, CPU(21)의 인터럽트 제어부(24)는, 채널 장치(32)로부터 인터럽트를 받아들이면, 그 채널 장치(32)에 대응하는 CIB 영역(52)에 기입되어 있는 정보를 판독한다. 이에 따라, 인터럽트에 대응하는 처리가 실행된다.
채널 장치 제어부(63)는, 대응하는 IO 장치(5a∼5n)에 관한 데이터 전송을 위해, 채널 장치(32)의 동작을 제어한다. PCI 버스 제어부(64)는, 채널 장치 제어부(63)의 제어를 따라서, CPU(21) 및 메모리(22)와 데이터 전송하기 위해서 PCI 버스를 제어한다. IO 제어부(65)는 채널 장치 제어부(63)의 제어에 따라서, 대응하는 IO 장치(5a∼5n)와의 데이터 전송을 제어한다.
도 4는, 드라이버(23)로부터 채널 장치(32)를 기동할 때의 순서를 나타낸 플로차트이다. 또한, 이 플로차트의 처리는, 드라이버(23)에 의해 개시된다. 드라이버(23)는, 예를 들면 애플리케이션으로부터의 지시에 따라, 이 플로차트의 처리를 개시한다.
스텝 S1에서는, 드라이버(23)는, 기동해야 할 채널 장치(32)에 대응하는 COB 영역(51)에 기동 정보를 기입한다. 기동 정보는, 채널 장치(32)의 동작에 필요한 정보로서, 예를 들면 채널 장치(32)에 데이터 전송을 실행시키는 경우에는, 포인터, 선두 어드레스, 데이터 사이즈, Last Byte Count이다. 포인터는, 채널 장치(32)가 실행해야 할 명령을 지시한다. 선두 어드레스는, 전송해야 할 데이터를 저장하는 영역의 선두 어드레스이다. 데이터 사이즈는, 전송해야 할 데이터의 사이즈를 나타낸다. Last Byte Count는, 체인 데이터를 전송하는 경우에서, 최후의 체인 데이터의 바이트 계수 정보의 바이트 카운트를 나타낸다. 또한, 포인터 대신 에, COB 영역(51)에 명령 코드 자체를 기입하도록 해도 좋다.
스텝 S2에서는, 드라이버(23)는, 기동해야 할 채널 장치(32)의 기동 제어부(61)에 대해서, 기동을 지시한다. 기동 지시는, 이 실시예에서는, 기동 제어부(61)가 구비하는 레지스터에, 「채널 장치의 기동」을 나타내는 소정의 값을 기입함으로써 실현된다.
스텝 S3에서는, 기동 지시를 받은 채널 장치(32)의 기동 제어부(61)는, 당해 채널 장치(32)에 대응하는 COB 영역(51)에 저장되어 있는 정보를 판독한다. 여기서, 이 COB 영역(51)에는, 스텝 S1에서, 기동 정보가 기입되어 있다. 즉, 기동 제어부(61)는, 드라이버(23)에 의해 기입된 기동 정보를 취득한다. 그리고, 기동 제어부(61)는, 취득한 기동 정보를 채널 장치 제어부(63)에 넘긴다.
스텝 S4에서는, 채널 장치(32)는, COB 영역(51)으로부터 취득한 기동 정보에 대응하는 처리를 실행한다. 여기서, 기동 정보로서, 데이터 전송 명령을 지시하는 포인터, 전송 데이터의 선두 어드레스, 데이터 사이즈가 저장되어 있는 것으로 한다. 그렇게 하면, 채널 장치(32)는, 그 포인터가 지시하는 명령을 실행한다. 즉, 채널 장치(32)는, 선두 어드레스에 의해 지정되는 어드레스로부터, 데이터 사이즈에 의해 지정되는 사이즈의 데이터를 취득하고, 데이터 전송 명령을 따라서 그 데이터를 전송한다.
스텝 S5에서는, 채널 장치(32)는, 스텝 S4에 따른 처리의 동작 결과를, 당해 채널 장치(32)에 대응하는 CIB 영역(52)에 기입한다. 여기서, 스텝 S4에서 데이터 전송을 실행한 것으로 하고, 그 데이터 전송이 정상적으로 종료한 경우에는, 동작 결과로서 「정상 종료」를 나타내는 종료 코드가 CIB 영역(52)에 기입된다. 한편, 데이터 전송을 정상적으로 실행할 수 없었던 경우에는, 에러의 요인을 나타내는 에러 코드가 기입된다. 또한, 데이터 전송의 도중에서 그 전송 처리가 캔슬된 경우에는, 최후의 명령으로 전송된 데이터의 전송 사이즈를 CIB 영역(52)에 기입하도록 해도 좋다.
스텝 S6에서는, 채널 장치(32)의 인터럽트 제어부(62)는, CPU(21)에 인터럽트를 행한다. 또한, 인터럽트 방법은, 특히 한정되는 것이 아니다. 즉, 예를 들면, CPU(21)가 채널 장치마다 인터럽트 단자를 구비하고 있는 경우에는, 대응하는 인터럽트 단자의 논리값을 변경함으로써 인터럽트가 실현된다. 또는, 인터럽트를 행하는 채널 장치를 식별하는 정보를 CPU(21)에 송신함으로써 인터럽트를 실현하도록 해도 좋다.
스텝 S7에서는, CPU(21)의 드라이버(23)는 채널 장치(32)로부터의 인터럽트를 검출하면, 그 채널 장치(32)에 대응하는 CIB 영역(52)을 참조한다. 여기서, 이 CIB 영역(52)에는, 스텝 S5에서, 채널 장치(32)의 동작 결과가 기입되어 있다. 따라서, 드라이버(23)는 CIB 영역(52)을 참조함으로써, 채널 장치(32)의 동작 결과를 인식할 수 있다. 즉, CPU(21)는 스텝 S1에서 생성한 기동 정보에 대응하는 처리의 실행 결과를 알 수 있다.
스텝 S8에서는, 드라이버(23)는 인터럽트를 발행한 채널 장치(32)에 대해서, 인터럽트 처리가 완료된 것을 통지한다. 이 통지는, 예를 들면 인터럽트 제어부(62)가 구비하는 레지스터에, 「완료」를 나타내는 소정의 값을 기입함으로써 실 현된다.
이와 같이, 실시예의 정보 처리 시스템(1)에서는, 채널 장치(32)는 CPU(21)의 드라이버(23)에 의해 기동된다. 그리고, 이 기동 제어는, 드라이버(23)와 채널 장치(32) 사이에서, 메모리(22)상의 COB 영역(51) 및 CIB 영역(52)을 통해서 정보를 수수함으로써 실현된다. 또한, CPU(21)에의 인터럽트는, 그 CPU(21)에 CIB 영역(52)을 참조시키기 위한 트리거(trigger)로서의 역할을 갖고 있다.
또한, 드라이버(23)는 스텝 S1∼S2, S7∼S8의 처리를 CPU(21)에 실행시킨다. 또한, 드라이버(23)는 스텝 S3∼S6의 처리를 채널 장치(32)에 실행시킨다.
도 5는, 채널 장치(32)가 우선권을 요구했을 때의 순서를 나타낸 플로차트이다. 또한, 우선권의 요구는, 이 실시예에서는, 예를 들면 채널 장치(32)가 원하는 동작을 실행하기 위해서 컴퓨터 자원을 예약하기 위한 요구에 상당한다.
스텝 S11에서는, 채널 장치(32)는, 우선권의 요구를 나타내는 정보를, 그 채널 장치(32)에 대응하는 CIB 영역(52)에 기입한다. 즉, 채널 장치(32)는, 예를 들면, IO 장치(5)로부터 데이터를 판독하여 다른 장치에 전송할 때, 또는 IO 장치(5)에 데이터를 기입할 때에는, 필요한 컴퓨터 자원을 예약하기 위해서, CPU(21)에 대해서 우선권을 요구한다.
스텝 S12에서는, 채널 장치(32)의 인터럽트 제어부(62)는, CPU(21)에 인터럽트를 행한다. 또한, 이 인터럽트는, 기본적으로, 도 4에 나타낸 스텝 S6의 인터럽트와 동일하다.
스텝 S13에서는, 스텝 S7과 마찬가지로, CPU(21)의 드라이버(23)는 채널 장 치(23)로부터의 인터럽트를 검출하면, 그 채널 장치(23)에 대응하는 CIB 영역(52)을 참조한다. 단, 여기서는, CIB 영역(52)에는, 스텝 S11에서, 채널 장치(32)에 의해 우선권의 요구를 나타내는 정보가 기입되어 있다. 따라서, 드라이버(23)는 CIB 영역(52)을 참조함으로써, 채널 장치(32)가 우선권을 요구하고 있는 것을 인식한다.
스텝 S14에서는, 드라이버(23)는, 스텝 S13에서 인식한 우선권의 요구를 허가할지의 여부를 판단한다. 여기서, CPU(21)는 애플리케이션으로부터 요구된 처리를 우선적으로 실행하는 경우가 있다. 이 경우, 드라이버(23)는 그 애플리케이션으로부터 요구된 처리를 종료할 때까지, 채널 장치(32)로부터의 요구를 허가하지 않는다. 또한, CPU(21)는 복수의 채널 장치(32)로부터 우선권의 요구를 받아들이는 경우가 있다. 이 때, 드라이버(23)는 어느 채널 장치(예를 들면, 채널 장치(32a))로부터 우선권의 요구를 받았을 때에, 다른 채널 장치(예를 들면, 채널 장치(32b))에 우선권을 부여하고 있던 경우에는, 채널 장치(32b)의 처리가 종료할 때까지, 채널 장치(32a)로부터의 요구를 허가하지 않는다. 이와 같이, 드라이버(23)는, 정보 처리 시스템(1)의 동작 상태에 따라서, 우선권의 요구를 허가할지의 여부를 판단한다. 그리고, 요구를 허가하는 경우에는, 스텝 S15로 진행한다.
스텝 S15에서는, 드라이버(23)는 스텝 S11에서 우선권을 요구한 채널 장치(32)에 대해서, 인터럽트 처리의 개시를 지시한다. 이 지시는, 예를 들면, 인터럽트 제어부(62)가 구비하는 레지스터에, 「개시」를 나타내는 소정의 값을 기입(Accept 비트를 설정)함으로써 실현된다.
스텝 S16에서는, 채널 장치(32)는 인터럽트 제어부(62)가 드라이버(23)로부터의 지시를 검출하면, 우선권의 요구가 허가된 것이라고 판단하고, 원하는 동작을 실행한다. 여기서는, 예를 들면 대응하는 IO 장치(5)로부터의 비동기(非同期) 인터럽트를 계기로 하는 데이터 전송이 실행된다.
스텝 S17∼S20은, 기본적으로, 도 4에 나타낸 스텝 S5∼S8과 같다. 즉, 스텝 S17에서는, 채널 장치(32)는, 채널 장치(32)의 처리 결과를 CIB 영역(52)에 기입한다. 스텝 S18에서는, 인터럽트 제어부(62)는 CPU(21)에 인터럽트를 행한다. 스텝 S19에서는, 드라이버(23)는 채널 장치(32)로부터의 인터럽트를 검출하면, 그 채널 장치(32)에 대응하는 CIB 영역(52)을 참조한다. 즉, CPU(21)는, 스텝 S11에서 생성된 우선권의 요구에 대응하는 처리의 실행 결과를 알 수 있다. 그리고, 스텝 S20에서는, 드라이버(23)는 인터럽트를 발행한 채널 장치(32)에 대해서, 인터럽트 처리가 완료된 것을 통지한다.
스텝 S11에서 생성된 우선권의 요구를 허가하지 않을 때는(스텝 S14: No), 스텝 S21로 진행한다. 스텝 S21에서는, 드라이버(23)는 스텝 S11에서 생성된 요구보다도 우선 순위가 높은 처리를 실행한다. 또한, 드라이버(23)는 스텝 S21에서 실행하는 우선 순위가 높은 처리가 종료했을 때에, 스텝 S15로 진행하도록 해도 좋다. 즉, 드라이버(23)는 채널 장치(32)에 의한 인터럽트의 처리를 허가하지 않는 경우에는, 도 5에 나타낸 바와 같이, CPU(21)가 우선 순위가 높은 다른 처리를 실행한 후에, 그 채널 장치(32)에 의한 인터럽트의 처리를 실행시키도록 해도 좋다.
이와 같이, 실시예의 정보 처리 시스템(1)에서는, 채널 장치(32)는 CPU(21) 의 드라이버(23)의 허가를 기다려서 원하는 처리를 실행한다. 환언하면, 채널 장치(32)는 드라이버(23)의 허가없이 자발적인 처리를 실행할 수는 없다. 그리고, 이 우선 제어는, 드라이버(23)와 채널 장치(32)의 사이에서, 메모리(22)상의 CIB 영역(52)을 통하여 정보를 수수함으로써 실현된다. 또한, CPU(21)에의 인터럽트는, 도 4에 나타낸 순서와 마찬가지로, 그 CPU(21)에 CIB 영역(52)을 참조시키기 위한 트리거로서의 역할을 갖고 있다.
또한, 드라이버(23)는 스텝 S13∼S15, S19∼S21의 처리를 CPU(21)에 실행시킨다. 또한, 드라이버(23)는 스텝 S11∼S12, S16∼S18의 처리를 채널 장치(32)에 실행시킨다.
도 6은, 우선권이 허가되지 않을 때의 순서를 나타낸 플로차트이다. 이 플로차트의 처리는, 이 실시예에서는, 채널 장치(32)에 의해 실행된다.
스텝 S31 및 S32는, 도 5에 나타낸 스텝 S11 및 S12에 상당한다. 즉, 채널 장치(32)는 CIB 영역(52)을 이용하여 드라이버(23)에 대해서 우선권을 요구하고, 또한 CPU(21)에 인터럽트를 행한다.
스텝 S33에서는, 인터럽트 제어부(62)는 타이머를 기동한다. 즉, 우선권을 요구한 시점(또는, CPU(21)에 인터럽트를 행한 시점)으로부터의 경과 시간을 모니터한다. 스텝 S34∼S35에서는, 인터럽트 제어부(62)는, 드라이버(23)로부터의 응답을 기다린다. 그리고, 소정 시간 내에 드라이버(23)로부터의 응답(도 5에 나타낸 스텝 S15의 개시 지시)을 검출하면, 이 후, 채널 장치(32)는, 도 5에 나타낸 스텝 S16∼S18의 처리를 실행한다.
소정 시간 내에 드라이버(23)로부터의 응답이 검출되지 않고 타이머가 만료되면, 스텝 S36에서, 인터럽트 제어부(62)는 타임 아웃의 발생을 채널 장치 제어부(63)에 통지한다. 그렇게 하면, 채널 장치(32)는 스텝 S31∼S32에서 요구한 처리를 중지한다. 또한, 스텝 S37에서는, 채널 장치(32)는 우선권 획득에 실패한 것을 나타내는 에러 보고를 행한다. 에러는, 예를 들면, 대응하는 IO 장치(5)에(및, 필요에 따라 CPU(21)에도) 보고된다.
또한, 도 5∼도 6에 나타낸 순서에서는, 채널 장치(32)에 우선권을 부여하지 않을 때에, 드라이버(23)로부터 그 채널 장치(32)에 대해서 아무런 통지가 행해지지 않지만, 드라이버(23)로부터 채널 장치(32)에 대해서 우선권을 부여하지 않는 취지를 명시적으로 통지하도록 해도 좋다. 즉, 예를 들면 드라이버(23)는 스텝 S12의 인터럽트를 검출했을 때에 타이머를 기동하여, 소정 시간 내에 채널 장치(32)에 우선권을 부여할 수 없을 때에, 그 채널 장치(32)(또는, 채널 장치(32)의 채널 장치 제어부(63))에 에러를 보고하도록 해도 좋다. 이 에러 보고를 받으면, 채널 장치(32)는 우선권의 요구에 관한 처리를 중지한다. 즉, 이 에러 보고는, 채널 장치(32)의 처리 중지를 지시하는 정지 지시에 상당한다.
또한, 채널 장치(32)는 우선권을 요구하고 있는 기간에 드라이버(23)로부터 기동 지시를 받으면, 그 기동 지시를 우선한다. 즉, 채널 장치(32)가 우선권을 요구했을 때부터 개시 지시를 받을 때까지의 기간(즉, 스텝 S11∼S15의 기간)에, 기동 제어부(61)가 드라이버(23)로부터 도 4에서 설명한 기동 지시를 받으면, 기동 제어부(61)로부터 채널 장치 제어부(63)에 대해서 우선권의 획득에 실패한 취지가 보고된다. 그렇게 하면, 채널 장치(32)는 드라이버(23)로부터의 기동 지시를 우선하기 때문에, 우선권을 요구한 처리를 중지한다.
이와 같이, 실시예의 정보 처리 시스템에 의하면, 에뮬레이션 환경에서도 드라이버와 채널 장치 사이의 인터럽트 제어가 실현된다. 따라서, 종래의 메인프레임에서 제공되고 있던 기능이, 범용 플랫폼상에서도 실현된다. 예를 들면, 메인프레임의 하나의 형태로서, 메인프레임의 정보 처리 유닛과 1대의 IO 장치의 사이를 복수의 채널 장치를 이용하여 멀티패스 접속하는 기능을 제공하는 구성이 알려져 있다. 이 경우, 제 1 채널 장치를 이용해서 정보 처리 유닛과 IO 장치의 사이에서 데이터 전송을 행하고 있을 때에, 체인된 데이터 전송의 도중에서 그 제 1 채널 장치가 고장나면, 제 2 채널 장치를 사용해서 데이터 전송을 계속한다. 그리고, 실시예의 정보 처리 시스템은, 이러한 멀티패스 기능도 제공할 수 있다.
다음에, 세대 바이트를 이용하는 제어 방법에 관하여 설명한다. 채널 장치(32)는, 상술한 바와 같이, CIB 영역(52)을 이용해서 CUP(21)에 제어 정보를 통지한다. 이 때, 채널 장치(32)는 통지해야 할 제어 정보와 함께 세대 바이트를 CIB 영역(52)에 기입한다. 세대 바이트는, CIB 영역(52)에 기입되는 제어 정보를 식별하는 시퀀스 번호이며, 새로운 제어 정보를 기입할 때마다 「1」씩 인크리먼트(increment)된다. 따라서, 드라이버(23)는 CIB 영역(52)으로부터 제어 정보를 취득할 때, 이 세대 바이트를 참조함으로써, 과거의 제어 정보에 대응하는 처리를 실행해버리는 것을 회피할 수 있다. 즉, 세대 바이트를 이용하면, 채널 장치(32)로부터 CIB 영역(52)에의 기입의 실패를 검출할 수 있다.
또한, 이 세대 바이트를 이용하면, 채널 장치(32)로부터 CPU(21)에의 인터럽트를 행하지 않아도, 도 4에 나타낸 기동 순서, 및 도 5에 나타낸 우선권의 허가 순서와 동등한 동작을 실현할 수 있다.
도 7은, 채널 장치(32)의 기동시에 세대 바이트를 이용하는 경우의 순서를 나타낸 플로차트이다. 세대 바이트를 이용하는 경우에는, 스텝 S5 대신에 스텝 S41이 실행된다. 스텝 S41에서는, 채널 장치(32)는 동작 결과 및 새로운 세대 바이트를 CIB 영역(52)에 기입한다. 이에 따라, 세대 바이트는 「1」만큼 인크리먼트된다. 이 후, 채널 장치(32)는 CPU(21)에 대해서 인터럽트를 행할 필요는 없다.
드라이버(23)는 스텝 S42에서, 폴링(polling)에 의해 CIB 영역(52)에 설정되어 있는 세대 바이트를 정기적으로 참조한다. 그리고, 드라이버(23)는 세대 바이트가 인크리먼트되어 있는 것을 검출하면, 스텝 S43에서, 그 CIB 영역(52)에 기입되어 있는 제어 정보(여기서는, 채널 장치(32)의 동작 결과)를 파악한다. 이 후, 드라이버(23)는 채널 장치(32)에 대해서 인터럽트 완료 통지를 통지한다.
도 8은, 우선권의 요구시에 세대 바이트를 이용하는 경우의 순서를 나타낸 플로차트이다. 세대 바이트를 이용하는 경우, 채널 장치(32)는 스텝 S11 대신에, 스텝 S51에서, 우선권의 요구와 함께 새로운 세대 바이트를 CIB 영역(52)에 기입한다. 또한, 채널 장치(32)는 스텝 S17 대신에, 스텝 S54에서, 처리 결과와 함께 새로운 세대 바이트를 CIB 영역(52)에 기입한다. 이 경우, 채널 장치(32)는 CPU(21)에 대해서 인터럽트를 행할 필요는 없다.
드라이버(23)는 스텝 S52에서, 폴링에 의해 세대 바이트를 정기적으로 참조 한다. 그리고, 드라이버(23)는 세대 바이트가 인크리먼트되어 있는 것을 검출하면, 스텝 S53에서 CIB 영역(52)을 참조함으로써 채널 장치(32)로부터의 우선권의 요구를 인식하고, 스텝 S14 이후의 처리를 실행한다.
또한, 드라이버(23)는 스텝 S55에서, 폴링에 의해 세대 바이트를 정기적으로 참조한다. 그리고, 드라이버(23)는 스텝 S56에서, 세대 바이트가 인크리먼트되어 있는 것을 검출하면, CIB 영역(52)을 참조함으로써 채널 장치(32)의 처리 결과를 인식한다.
도 1은 본 발명의 실시예에 따른 정보 처리 시스템의 구성을 나타낸 도면.
도 2는 실시예의 정보 처리 시스템을 간략화하여 나타낸 개략도.
도 3은 인터럽트 제어에 관한 요소를 나타낸 도면.
도 4는 드라이버로부터 채널 장치를 기동하는 순서를 나타낸 플로차트.
도 5는 채널 장치가 우선권을 요구했을 때의 순서를 나타낸 플로차트.
도 6은 우선권이 허가되지 않을 때의 순서를 나타낸 플로차트.
도 7은 기동시에 세대 바이트를 이용하는 경우의 순서를 나타낸 플로차트.
도 8은 우선권의 요구시에 세대 바이트를 이용하는 경우의 순서를 나타낸 플로차트.
도 9는 배경 기술에 관하여 설명한 도면.
도면의 주요 부분에 대한 부호의 설명
1 : 정보 처리 시스템 2 : 시스템 보드
3 : IO 유닛 4 : 시스템 인터코넥트
5(5a∼5n) : IO 장치 21 : CPU
22 : 메모리 23 : 드라이버
24 : 인터럽트 제어부 32(32a∼32c) : 채널 장치
40 : 시스템 제어부 51 : COB 영역
52 : CIB 영역 61 : 기동 제어부
62 : 인터럽트 제어부 63 : 채널 장치 제어부
200 : 범용 플랫폼

Claims (12)

  1. 연산 처리 장치와 기억 장치를 갖는 정보 처리 장치와, 상기 정보 처리 장치에 접속된 입출력 장치와, 상기 정보 처리 장치와 상기 입출력 장치 사이에서 데이터의 전송을 행하는 채널 장치를 갖는 정보 처리 시스템에 있어서,
    상기 기억 장치는,
    상기 채널 장치를 기동시키는 채널 장치 기동 명령과 상기 채널 장치의 기동에 사용하는 기동 정보가 유지되는 제 1 영역과,
    상기 채널 장치의 동작 결과가 유지되는 제 2 영역을 가지며,
    상기 채널 장치는,
    상기 채널 장치의 기동을 제어하는 기동 제어부와,
    상기 채널 장치로부터 상기 연산 처리 장치에의 인터럽트(interrupt)를 제어하는 인터럽트 제어부와,
    상기 채널 장치의 제어를 행하는 채널 장치 제어부를 가지며,
    상기 정보 처리 장치는 또한,
    상기 연산 처리 장치에게,
    상기 기억 장치의 상기 제 1 영역에 상기 채널 장치 기동 명령과 상기 기동 정보를 기입시키며,
    상기 기동 제어부에 대해서, 상기 채널 장치의 기동을 지시시키는 것을 실행하도록 설정되고,
    상기 기동 제어부에게,
    상기 기억 장치의 상기 제 1 영역을 판독시키는 동시에, 상기 채널 장치 제어부에 통지시키는 것을 실행하도록 설정되고,
    상기 채널 장치에게,
    상기 기억 장치의 상기 제 1 영역이 갖는 상기 채널 장치 기동 명령을 실행시키며,
    상기 채널 장치 기동 명령의 실행에 의한 채널 장치의 동작 결과를, 상기 기억 장치의 상기 제 2 영역에 기입시키며,
    상기 인터럽트 제어부를 이용하여, 상기 연산 처리 장치에의 인터럽트를 발생시키는 것을 실행하도록 설정되고,
    상기 연산 처리 장치에게,
    상기 기억 장치의 상기 제 2 영역을 참조하여, 상기 채널 장치의 동작 결과를 판독시킴으로써, 인터럽트의 처리를 실행시키며,
    상기 인터럽트 제어부에의 인터럽트의 처리 완료를 통지시키는 것을 실행하도록 설정된 드라이버부를 갖는 것을 특징으로 하는 정보 처리 시스템.
  2. 연산 처리 장치와 기억 장치를 갖는 정보 처리 장치와, 상기 정보 처리 장치에 접속된 입출력 장치와, 상기 정보 처리 장치와 상기 입출력 장치 사이에서 데이터의 전송을 행하는 채널 장치를 갖는 정보 처리 시스템에 있어서,
    상기 기억 장치는,
    상기 채널 장치의 동작 결과가 유지되는 영역을 가지며,
    상기 채널 장치는,
    상기 채널 장치의 기동을 제어하는 기동 제어부와,
    상기 채널 장치로부터 상기 연산 처리 장치에의 인터럽트를 제어하는 인터럽트 제어부와,
    상기 채널 장치의 제어를 행하는 채널 장치 제어부를 가지며,
    상기 정보 처리 장치는 또한,
    상기 채널 장치에게,
    상기 기억 장치의 상기 영역에 제 1 인터럽트의 요구를 기입시키며,
    상기 인터럽트 제어부를 이용하여, 상기 연산 처리 장치에의 제 1 인터럽트를 발생시키는 것을 실행하도록 설정되고,
    상기 연산 처리 장치에게,
    상기 연산 처리 장치가 상기 제 1 인터럽트의 발생을 검출한 경우에, 상기 영역을 판독시켜서, 상기 제 1 인터럽트의 요구를 참조시키며,
    상기 제 1 인터럽트의 요구보다도 우선하여 처리해야 할 다른 처리가 존재하지 않기 때문에, 상기 제 1 인터럽트의 요구에 대해서, 상기 채널 장치에 의한 제 1 인터럽트의 처리가 허가되는 경우에는, 상기 인터럽트 제어부를 이용하여 상기 제 1 인터럽트의 처리를 실행시키는 동시에, 상기 제 1 인터럽트의 요구보다도 우선하여 처리해야 할 다른 처리가 존재하기 때문에, 상기 제 1 인터럽트의 요구에 대해서, 상기 채널 장치에 의한 제 1 인터럽트의 처리가 허가되지 않는 경우에는, 상기 연산 처리 장치가 상기 다른 처리를 실행 후에, 상기 인터럽트 제어부를 이용하여 상기 제 1 인터럽트의 처리를 실행시키는 것을 실행하도록 설정된 드라이버부를 갖는 것을 특징으로 하는 정보 처리 시스템.
  3. 제 2 항에 있어서,
    상기 드라이버부는 또한,
    상기 채널 장치에게,
    상기 제 1 인터럽트의 요구에 대한 상기 제 1 인터럽트의 처리를 실행시키며,
    상기 제 1 인터럽트의 처리 결과를 상기 영역에 기입시키며,
    상기 인터럽트 제어부를 이용하여, 상기 연산 처리 장치에의 제 2 인터럽트를 발생시키는 것을 실행하도록 설정되고,
    상기 연산 처리 장치에게,
    상기 연산 처리 장치가 상기 제 2 인터럽트의 발생을 검출한 경우에, 상기 영역을 판독시키는 동시에, 상기 제 1 인터럽트의 처리 결과를 참조시키며,
    상기 인터럽트 제어부에의 제 2 인터럽트의 처리 완료를 통지시키는 것을 실행하도록 설정된 것을 특징으로 하는 정보 처리 시스템.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 드라이버부는 또한,
    상기 연산 처리 장치에게,
    상기 제 1 인터럽트의 요구에 대해서, 상기 채널 장치에 의한 제 1 인터럽트의 처리가 허가되지 않는 경우에는, 상기 제 1 인터럽트의 처리를 중지시키는 것을 실행하도록 설정된 것을 특징으로 하는 정보 처리 시스템.
  5. 제 1 및 제 2 영역을 갖는 기억 장치와 드라이버부를 갖는 연산 처리 장치를 갖는 정보 처리 장치와, 상기 정보 처리 장치에 접속된 입출력 장치와, 상기 정보 처리 장치와 상기 입출력 장치 사이에서 데이터의 전송을 행하는 동시에, 자기(自己)의 기동을 제어하는 기동 제어부와, 상기 연산 처리 장치에의 인터럽트를 제어하는 인터럽트 제어부와, 자기의 제어를 행하는 채널 장치 제어부를 갖는 채널 장치를 구비한 정보 처리 시스템의 제어 방법에 있어서,
    상기 드라이버부가, 상기 연산 처리 장치에 의해, 상기 기억 장치의 상기 제 1 영역에 상기 채널 장치를 기동시키는 채널 장치 기동 명령과 상기 채널 장치의 기동에 사용하는 기동 정보를 기입시키는 스텝과,
    상기 드라이버부가, 상기 연산 처리 장치에 의해, 상기 채널 장치의 기동을 상기 기동 제어부에 지시시키는 스텝과,
    상기 드라이버부가, 상기 기동 제어부에 의해, 상기 기억 장치의 상기 제 1 영역을 판독시키는 동시에, 상기 채널 장치 제어부에 통지시키는 스텝과,
    상기 드라이버부가, 상기 채널 장치에 의해, 상기 기억 장치의 상기 제 1 영역이 갖는 상기 채널 장치 기동 명령을 실행시키는 스텝과,
    상기 드라이버부가, 상기 채널 장치에 의해, 상기 채널 장치 기동 명령의 실행에 의한 채널 장치의 동작 결과를, 상기 기억 장치의 상기 제 2 영역에 기입시키는 스텝과,
    상기 드라이버부가, 상기 채널 장치에 의해, 상기 인터럽트 제어부를 이용하여, 상기 연산 처리 장치에의 인터럽트를 발생시키는 스텝과,
    상기 드라이버부가, 상기 연산 처리 장치에 의해, 상기 기억 장치의 상기 제 2 영역을 참조하여, 상기 채널 장치의 동작 결과를 판독시킴으로써, 인터럽트의 처리를 실행시키는 스텝과,
    상기 드라이버부가, 상기 연산 처리 장치에 의해, 상기 인터럽트 제어부에의 인터럽트의 처리 완료를 통지시키는 스텝을 갖는 것을 특징으로 하는 제어 방법.
  6. 영역을 갖는 기억 장치와 연산 처리 장치와 드라이버부를 갖는 정보 처리 장치와, 상기 정보 처리 장치에 접속된 입출력 장치와, 상기 정보 처리 장치와 상기 입출력 장치 사이에서 데이터의 전송을 행하는 동시에, 상기 연산 처리 장치에의 인터럽트를 제어하는 인터럽트 제어부를 갖는 채널 장치를 구비한 정보 처리 시스템의 제어 방법에 있어서,
    상기 드라이버부가, 상기 채널 장치에 의해, 상기 기억 장치의 상기 영역에 제 1 인터럽트의 요구를 기입시키는 스텝과,
    상기 드라이버부가, 상기 채널 장치에 의해, 상기 인터럽트 제어부를 이용하여, 상기 연산 처리 장치에의 제 1 인터럽트를 발생시키는 스텝과,
    상기 드라이버부가, 상기 연산 처리 장치에 의해, 상기 연산 처리 장치가 상기 제 1 인터럽트의 발생을 검출한 경우에, 상기 영역을 판독시켜서, 상기 제 1 인터럽트의 요구를 참조시키는 스텝과,
    상기 드라이버부가, 상기 연산 처리 장치에 의해, 상기 제 1 인터럽트의 요구보다도 우선하여 처리해야 할 다른 처리가 존재하지 않기 때문에, 상기 제 1 인터럽트의 요구에 대해서, 상기 채널 장치에 의한 제 1 인터럽트의 처리가 허가되는 경우에는, 상기 인터럽트 제어부를 이용하여 상기 제 1 인터럽트의 처리를 실행시키는 동시에, 상기 제 1 인터럽트의 요구보다도 우선하여 처리해야 할 다른 처리가 존재하기 때문에, 상기 제 1 인터럽트의 요구에 대해서, 상기 채널 장치에 의한 제 1 인터럽트의 처리가 허가되지 않는 경우에는, 상기 연산 처리 장치가 상기 다른 처리를 실행 후에, 상기 인터럽트 제어부를 이용하여 상기 제 1 인터럽트의 처리를 실행시키는 스텝을 갖는 것을 특징으로 하는 제어 방법.
  7. 제 6 항에 있어서,
    상기 제어 방법은 또한,
    상기 드라이버부가, 상기 채널 장치에 의해, 상기 제 1 인터럽트의 요구에 대한 상기 제 1 인터럽트의 처리를 실행시키는 스텝과,
    상기 드라이버부가, 상기 채널 장치에 의해, 상기 제 1 인터럽트의 처리 결과를 상기 영역에 기입시키는 스텝과,
    상기 드라이버부가, 상기 채널 장치에 의해, 상기 인터럽트 제어부를 이용하여, 상기 연산 처리 장치에의 제 2 인터럽트를 발생시키는 스텝과,
    상기 드라이버부가, 상기 연산 처리 장치에 의해, 상기 연산 처리 장치가 상기 제 2 인터럽트의 발생을 검출한 경우에, 상기 영역을 판독시키는 동시에, 상기 제 1 인터럽트의 처리 결과를 참조시키는 스텝과,
    상기 드라이버부가, 상기 연산 처리 장치에 의해, 상기 인터럽트 제어부에의 제 2 인터럽트의 처리 완료를 통지시키는 스텝을 갖는 것을 특징으로 하는 제어 방법.
  8. 제 7 항에 있어서,
    상기 제어 방법은 또한,
    상기 드라이버부가, 상기 연산 처리 장치에 의해, 상기 제 1 인터럽트의 요구에 대해서, 상기 채널 장치에 의한 제 1 인터럽트의 처리가 허가되지 않는 경우에는, 상기 제 1 인터럽트의 처리를 중지시키는 스텝을 갖는 것을 특징으로 하는 제어 방법.
  9. 제 1 및 제 2 영역을 갖는 기억 장치와 연산 처리 장치를 갖는 정보 처리 장치와, 상기 정보 처리 장치에 접속된 입출력 장치와, 상기 정보 처리 장치와 상기 입출력 장치 사이에서 데이터의 전송을 행하는 동시에, 자기의 기동을 제어하는 기동 제어부와, 상기 연산 처리 장치에의 인터럽트를 제어하는 인터럽트 제어부와, 자기의 제어를 행하는 채널 장치 제어부를 갖는 채널 장치를 구비한 정보 처리 시스템의 제어 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체에 있어서,
    상기 연산 처리 장치에,
    상기 기억 장치의 상기 제 1 영역에 상기 채널 장치를 기동시키는 채널 장치 기동 명령과 상기 채널 장치의 기동에 사용하는 기동 정보를 기입하는 스텝과,
    상기 기동 제어부에 대해서, 상기 채널 장치의 기동을 지시하는 스텝과,
    상기 기동 제어부를 이용하여, 상기 기억 장치의 상기 제 1 영역을 판독하는 동시에, 상기 채널 장치 제어부에 통지하는 스텝과,
    상기 채널 장치를 이용하여, 상기 기억 장치의 상기 제 1 영역이 갖는 상기 채널 장치 기동 명령을 실행하는 스텝과,
    상기 채널 장치를 이용하여, 상기 채널 장치 기동 명령의 실행에 의한 채널 장치의 동작 결과를, 상기 기억 장치의 상기 제 2 영역에 기입하는 스텝과,
    상기 채널 장치의 상기 인터럽트 제어부를 이용하여, 상기 연산 처리 장치에의 인터럽트를 발생하는 스텝과,
    상기 기억 장치의 상기 제 2 영역을 참조하여, 상기 채널 장치의 동작 결과를 판독함으로써, 인터럽트의 처리를 실행하는 스텝과,
    상기 인터럽트 제어부에의 인터럽트의 처리 완료를 통지하는 스텝을 실행시키는 제어 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체.
  10. 영역을 갖는 기억 장치와 연산 처리 장치와 드라이버부를 갖는 정보 처리 장치와, 상기 정보 처리 장치에 접속된 입출력 장치와, 상기 정보 처리 장치와 상기 입출력 장치 사이에서 데이터의 전송을 행하는 동시에, 상기 연산 처리 장치에의 인터럽트를 제어하는 인터럽트 제어부를 갖는 채널 장치를 구비한 정보 처리 시스템의 제어 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체에 있어서,
    상기 연산 처리 장치에,
    상기 채널 장치를 이용하여, 상기 기억 장치의 상기 영역에 제 1 인터럽트의 요구를 기입하는 스텝과,
    상기 채널 장치의 상기 인터럽트 제어부를 이용하여, 상기 연산 처리 장치에의 제 1 인터럽트를 발생시키는 스텝과,
    상기 연산 처리 장치가 상기 제 1 인터럽트의 발생을 검출한 경우에, 상기 영역을 판독시켜서, 상기 제 1 인터럽트의 요구를 참조하는 스텝과,
    상기 제 1 인터럽트의 요구보다도 우선하여 처리해야 할 다른 처리가 존재하지 않기 때문에, 상기 제 1 인터럽트의 요구에 대해서, 상기 채널 장치에 의한 제 1 인터럽트의 처리가 허가되는 경우에는, 상기 인터럽트 제어부를 이용하여 상기 제 1 인터럽트의 처리를 실행하는 동시에, 상기 제 1 인터럽트의 요구보다도 우선하여 처리해야 할 다른 처리가 존재하기 때문에, 상기 제 1 인터럽트의 요구에 대해서, 상기 채널 장치에 의한 제 1 인터럽트의 처리가 허가되지 않는 경우에는, 상기 연산 처리 장치가 상기 다른 처리를 실행 후에, 상기 인터럽트 제어부를 이용하여 상기 제 1 인터럽트의 처리를 실행하는 스텝을 갖는 제어 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체.
  11. 제 10 항에 있어서,
    상기 제어 프로그램은 또한,
    상기 연산 처리 장치에,
    상기 채널 장치를 이용하여, 상기 제 1 인터럽트의 요구에 대한 상기 제 1 인터럽트의 처리를 실행하는 스텝과,
    상기 채널 장치를 이용하여, 상기 제 1 인터럽트의 처리 결과를 상기 영역에 기입하는 스텝과,
    상기 채널 장치의 상기 인터럽트 제어부를 이용하여, 상기 연산 처리 장치에의 제 2 인터럽트를 발생하는 스텝과,
    상기 연산 처리 장치가 상기 제 2 인터럽트의 발생을 검출한 경우에, 상기 영역을 판독하는 동시에, 상기 제 1 인터럽트의 처리 결과를 참조하는 스텝과,
    상기 인터럽트 제어부에의 제 2 인터럽트의 처리 완료를 통지하는 스텝을 실행시키는 제어 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체.
  12. 제 11 항에 있어서,
    상기 제어 프로그램은 또한,
    상기 연산 처리 장치에,
    상기 제 1 인터럽트의 요구에 대해서, 상기 채널 장치에 의한 제 1 인터럽트의 처리가 허가되지 않는 경우에는, 상기 제 1 인터럽트의 처리를 중지하는 스텝을 실행시키는 제어 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체.
KR1020090015371A 2008-02-27 2009-02-24 정보 처리 시스템, 정보 처리 시스템의 제어 방법, 및 정보 처리 시스템의 제어 프로그램을 기록한 기록 매체 KR101056759B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2008-045888 2008-02-27
JP2008045888A JP5076967B2 (ja) 2008-02-27 2008-02-27 情報処理システム、情報処理システムの制御方法、および情報処理システムの制御プログラム

Publications (2)

Publication Number Publication Date
KR20090092707A KR20090092707A (ko) 2009-09-01
KR101056759B1 true KR101056759B1 (ko) 2011-08-16

Family

ID=40538869

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090015371A KR101056759B1 (ko) 2008-02-27 2009-02-24 정보 처리 시스템, 정보 처리 시스템의 제어 방법, 및 정보 처리 시스템의 제어 프로그램을 기록한 기록 매체

Country Status (5)

Country Link
US (1) US8151028B2 (ko)
EP (1) EP2096550B1 (ko)
JP (1) JP5076967B2 (ko)
KR (1) KR101056759B1 (ko)
CN (1) CN101520758B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101400657B1 (ko) * 2010-08-16 2014-05-28 미쓰비시덴키 가부시키가이샤 제어 프로그램 생성 장치, 제어 프로그램 생성 프로그램을 기록한 컴퓨터 판독 가능 기록매체, 및 제어 프로그램 생성 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8548025B2 (en) * 2009-09-30 2013-10-01 Landis+Gyr Innovations, Inc. Methods and systems for distributing broadcast messages on various networks
JP6540156B2 (ja) * 2015-03-27 2019-07-10 富士ゼロックス株式会社 制御装置及び画像形成装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850555A (en) 1995-12-19 1998-12-15 Advanced Micro Devices, Inc. System and method for validating interrupts before presentation to a CPU
US6978331B1 (en) 1999-09-08 2005-12-20 Mellanox Technologies Ltd. Synchronization of interrupts with data packets

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4087204A (en) * 1974-12-19 1978-05-02 Niedermeyer Karl O Enclosed sump pump
US4325119A (en) * 1977-01-19 1982-04-13 Honeywell Information Systems Inc. Process and apparatus employing microprogrammed control commands for transferring information between a control processor and communications channels
JPS5414133A (en) 1977-07-05 1979-02-02 Mitsubishi Electric Corp Control system for input and output channel
US4222711A (en) * 1978-06-22 1980-09-16 I2 Ds Sump pump control system
US4228427A (en) * 1979-03-29 1980-10-14 Niedermeyer Karl O Monitor apparatus for sump pumps
US4437811A (en) * 1980-06-30 1984-03-20 Ebara Corporation Submersible pump with alternate pump operation control means
US4538386A (en) * 1984-09-04 1985-09-03 Ohio State Home Services, Inc. Drainage system and method
JPS61233837A (ja) 1985-04-08 1986-10-18 Mitsubishi Electric Corp 割込処理方式
US4652802A (en) * 1986-05-29 1987-03-24 S. J. Electro Systems, Inc. Alternator circuit arrangement useful in liquid level control system
JPS63265349A (ja) * 1987-04-22 1988-11-01 Nec Corp デ−タ転送制御装置
US5228130A (en) * 1988-09-14 1993-07-13 National Semiconductor Corporation Multi-channel peripheral interface using selectively flaggable channel register sets for concurrent write in response to any selected channel register write instruction
JPH04363748A (ja) 1991-03-12 1992-12-16 Toshiba Corp 優先制御方法及び優先制御回路
US5530872A (en) * 1992-12-23 1996-06-25 International Business Machines Corporation Method and system for directing device driver to service multiple sequential interrupt requests generated by I/O device connected thereto
JPH0721111A (ja) * 1993-07-06 1995-01-24 Nec Corp 優先順位決定システム
JPH0756842A (ja) * 1993-08-19 1995-03-03 Hitachi Ltd チャネルサブシステム
JP3288158B2 (ja) * 1993-12-20 2002-06-04 日本電気エンジニアリング株式会社 チャネル制御方式
US5449274A (en) * 1994-03-24 1995-09-12 Metropolitan Pump Company Sump system having timed switching of plural pumps
US5503533A (en) * 1994-05-26 1996-04-02 Metropolitan Pump Company Fluid level control panel structure for multi-pump system
US5768599A (en) * 1995-02-28 1998-06-16 Nec Corporation Interrupt managing system for real-time operating system
US6462666B1 (en) * 1995-05-03 2002-10-08 Virgil A. Einck Housing and electric connection panel for sump pump and full septic tank alarm
US5689726A (en) * 1995-05-03 1997-11-18 United Microelectronics Corporation Computer system interface adapter capable of automatic self-configuration and self-diagnosis before operating system initiation
JPH0926927A (ja) * 1995-07-10 1997-01-28 Canon Inc デバイス制御装置及び方法
US5892956A (en) * 1995-12-19 1999-04-06 Advanced Micro Devices, Inc. Serial bus for transmitting interrupt information in a multiprocessing system
US5850558A (en) * 1995-12-19 1998-12-15 Advanced Micro Devices System and method for referencing interrupt request information in a programmable interrupt controller
US5870865A (en) * 1997-06-26 1999-02-16 Everdry Marketing & Management, Inc. Method for repairing a drainage system
US5944263A (en) * 1997-11-04 1999-08-31 Everdry Marketing & Management, Inc. Dust suppressing misting device for percussive tools
WO1999034273A2 (en) * 1997-12-30 1999-07-08 Lsi Logic Corporation Automated dual scatter/gather list dma
US6553443B1 (en) * 1999-09-28 2003-04-22 Legerity, Inc. Method and apparatus for prioritizing interrupts in a communication system
US6443715B1 (en) * 1999-11-19 2002-09-03 Campbell Hausfeld/Scott Fetzer Company Pump impeller
US6839857B2 (en) * 2000-01-13 2005-01-04 Sony Computer Entertainment Inc. Interrupt controller in an interface device or information processing system
JP4363748B2 (ja) 2000-06-02 2009-11-11 株式会社東芝 多重化パケット生成装置
US6754738B2 (en) * 2001-09-28 2004-06-22 International Business Machines Corporation Low overhead I/O interrupt
US6634144B1 (en) * 2001-11-02 2003-10-21 Everdry Marketing & Management Services, Inc. Home waterproofing system
EP1631911B1 (en) * 2003-05-26 2007-02-14 Koninklijke Philips Electronics N.V. Method and device for transferring data between a main memory and a storage device
US20050281679A1 (en) * 2004-06-21 2005-12-22 Karl Niedermeyer Basement flood control system
US7260663B2 (en) * 2005-04-07 2007-08-21 International Business Machines Corporation System and method for presenting interrupts
CN100361104C (zh) * 2005-04-08 2008-01-09 英业达股份有限公司 中断共享机制下的自定中断信号响应处理方法及系统
JP4817834B2 (ja) * 2005-12-19 2011-11-16 ルネサスエレクトロニクス株式会社 割り込み制御装置及び割り込み制御方法
JP2008090375A (ja) * 2006-09-29 2008-04-17 Hitachi Ltd 割込み制御システム、およびこれを利用した記憶制御システム
DE602008003233D1 (de) * 2007-07-02 2010-12-09 Ibm Priorisierung von interrupts in einer speichersteuerung
US7917813B2 (en) * 2008-02-14 2011-03-29 International Business Machines Corporation Exception condition determination at a control unit in an I/O processing system
US8055807B2 (en) * 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850555A (en) 1995-12-19 1998-12-15 Advanced Micro Devices, Inc. System and method for validating interrupts before presentation to a CPU
US6978331B1 (en) 1999-09-08 2005-12-20 Mellanox Technologies Ltd. Synchronization of interrupts with data packets

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101400657B1 (ko) * 2010-08-16 2014-05-28 미쓰비시덴키 가부시키가이샤 제어 프로그램 생성 장치, 제어 프로그램 생성 프로그램을 기록한 컴퓨터 판독 가능 기록매체, 및 제어 프로그램 생성 방법

Also Published As

Publication number Publication date
JP2009205347A (ja) 2009-09-10
EP2096550A1 (en) 2009-09-02
CN101520758A (zh) 2009-09-02
EP2096550B1 (en) 2014-04-16
KR20090092707A (ko) 2009-09-01
US20090216930A1 (en) 2009-08-27
CN101520758B (zh) 2013-03-13
JP5076967B2 (ja) 2012-11-21
US8151028B2 (en) 2012-04-03

Similar Documents

Publication Publication Date Title
US7111086B1 (en) High-speed packet transfer in computer systems with multiple interfaces
US9430266B2 (en) Activating a subphysical driver on failure of hypervisor for operating an I/O device shared by hypervisor and guest OS and virtual computer system
EP2176772B1 (en) Processing of data to monitor input/output operations
JP4558519B2 (ja) 情報処理装置およびシステムバス制御方法
US20060064523A1 (en) Control method for virtual machine
US11397675B2 (en) Storage device, computer system, and operation method of storage device configured to arbitrarily stop garbage collection
JP4658122B2 (ja) Dmaコントローラ、ノード、データ転送制御方法、及びプログラム
US20100162045A1 (en) Method, apparatus and system for restarting an emulated mainframe iop
JP2012203636A (ja) 仮想計算機の制御方法及び計算機
JP2009043256A (ja) 記憶装置のアクセス方法及び装置
US9501372B2 (en) Cluster system including closing a bus using an uncorrectable fault upon a fault detection in an active server
JP2010140361A (ja) コンピュータシステム及び異常検出回路
JP2018116648A (ja) 情報処理装置、その制御方法、及びプログラム
US8868811B2 (en) Systems and methods for hot-plug detection recovery
KR101056759B1 (ko) 정보 처리 시스템, 정보 처리 시스템의 제어 방법, 및 정보 처리 시스템의 제어 프로그램을 기록한 기록 매체
US8099563B2 (en) Storage device and access instruction sending method
US20200401442A1 (en) Information processor, method for controlling information processor, and non-transitory computer-readable storage medium for storing control program for information processor
US9892078B2 (en) Information processing apparatus and control method of the information processing apparatus
JP6123487B2 (ja) 制御装置、制御方法及び制御プログラム
KR102377729B1 (ko) 멀티 코어 프로세서 및 그것의 동작 방법
JP2019164578A (ja) 制御システム、情報処理装置、制御方法、raidコントローラの復旧方法及びプログラム。
JP2006040063A (ja) 情報処理装置および情報処理装置のsmi処理方法
US20240012651A1 (en) Enhanced service operating system capabilities through embedded controller system health state tracking
WO2015159359A1 (ja) 物理計算機
JP6089543B2 (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
FPAY Annual fee payment

Payment date: 20140721

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150716

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 9