KR101087177B1 - 리퀘스트 순서 제어 시스템, 리퀘스트 순서 제어 방법 및 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 - Google Patents

리퀘스트 순서 제어 시스템, 리퀘스트 순서 제어 방법 및 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101087177B1
KR101087177B1 KR1020090108957A KR20090108957A KR101087177B1 KR 101087177 B1 KR101087177 B1 KR 101087177B1 KR 1020090108957 A KR1020090108957 A KR 1020090108957A KR 20090108957 A KR20090108957 A KR 20090108957A KR 101087177 B1 KR101087177 B1 KR 101087177B1
Authority
KR
South Korea
Prior art keywords
request
order
subsequent
control
unit
Prior art date
Application number
KR1020090108957A
Other languages
English (en)
Other versions
KR20100054734A (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 KR20100054734A publication Critical patent/KR20100054734A/ko
Application granted granted Critical
Publication of KR101087177B1 publication Critical patent/KR101087177B1/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
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명에 의하면 리퀘스트를 접수하고 나서 후속 리퀘스트의 처리가 완료할 때까지의 시간을 단축하는 것을 과제로 한다.
상기 과제를 해결하기 위해, 본 발명은 시스템 보드(1)에서는, IOC(10)가, 선행 리퀘스트의 종별 또는 후속 리퀘스트의 종별에 따라서, 리퀘스트의 순서 제어를 I0C(10)가 담당할지 CPU(20)가 담당할지를 판정한다. 그리고, IOC(1O)가, 리퀘스트의 순서 제어를 CPU(2O)가 담당한다고 판정된 경우에는, 선행 리퀘스트에 이어서, 후속 리퀘스트를 CPU(20)에 송신한다. 그리고, CPU(20)가, 선행 리퀘스트를 메모리(30)에 송신하고, 선행 리퀘스트의 처리가 완료한 후에, 후속 리퀘스트를 메모리(30)에 송신하도록 순서를 제어한다.
리퀘스트, 리퀘스트 순서 제어 시스템, 외부 입출력 장치, 연산 장치

Description

리퀘스트 순서 제어 시스템, 리퀘스트 순서 제어 방법 및 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체{SYSTEM FOR CONRTOLLING REQUEST ORDER, METHOD FOR CONTROLLING REQUEST ORDER, AND A COMPUTER-READABLE RECORDING MEDIUM HAVING PROGRAM FOR CONTROLLING REQUEST ORDER}
본 발명은 순서 보증이 필요한 리퀘스트 순서를 제어하는 리퀘스트 순서 제어 시스템, 리퀘스트 순서 제어 방법 및 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
종래부터, 정보 처리 장치의 일부를 구성하는 시스템 보드에서는, 순서 보증이 필요한 IO 리퀘스트를 수신하면, 후속 리퀘스트가 선행 리퀘스트를 추월하지 않도록 리퀘스트 사이의 순서를 제어하는 것이 행해지고 있다. 메모리 액세스의 리퀘스트를 예시하면, 시스템 보드는 선행 리퀘스트에 의거하는 메모리 액세스 처리가 완료한 후에, 후속 리퀘스트를 메모리에 송신하도록 순서를 제어하고 있다.
시스템 보드 상에는, 도 11에 도시하는 바와 같이, CPU(Central Processing Unit), SC(시스템 컨트롤러), IOC(외부 입출력 컨트롤러) 및 메모리가 실장되어 있다. 이러한 구성 아래, 시스템 보드에서는, I0리퀘스트가 IOC, SC, 메모리의 순으 로 전송된다.
시스템 보드에서는, 도 12에 도시하는 바와 같이, IOC가 순서 보증이 필요한 리퀘스트를 외부 입력으로부터 수신한 경우, 우선 선행 리퀘스트를 SC에 발행한다. 그리고, SC는 IOC로부터 선행 리퀘스트를 수신하면, 선행 리퀘스트를 파이프 라인에 투입하고, 메모리에 대하여 메모리 액세스를 요구한다.
이어서, SC는, 메모리 액세스가 확정하면, 메모리 액세스 확정의 응답을 IOC에 송신한다. 그 후, IOC는, 메모리 액세스 확정의 응답을 SC로부터 수신한 후에, 후속 리퀘스트를 SC에 발행한다. 이렇게, 순서 보증이 필요한 I0리퀘스트에 대해서, 도 13에 도시하는 바와 같이, 모두 IOC가 순서 보증을 행하고 있었다.
[특허 문헌 1] 특개평6-187231호 공보
[특허 문헌 2] 특개평4-190435호 공보
[특허 문헌 3] 특개2007-148507호 공보
그런데, 상기한 종래의 기술에서는, 시스템 보드의 IOC가, 메모리 리퀘스트 확정의 응답을 수신한 후에, 후속 리퀘스트를 발행하므로, 선행 리퀘스트가 IOC로부터 송출되고 나서 그 응답을 수신할 때까지, 후속 리퀘스트를 IOC에 체류시키게 된다. 이 결과, 리퀘스트를 접수하고 나서 후속 리퀘스트의 처리가 완료할 때까지 긴 시간을 요하는 문제점이 있었다.
따라서, 본 발명은, 선행하는 리퀘스트를 접수하고 나서 후속 리퀘스트의 처리가 완료할 때까지의 시간을 단축하는 것을 목적으로 한다.
상술한 과제를 해결하고, 목적을 달성하기 위해, 이 시스템에서는, 외부 입출력 장치가, 선행 리퀘스트의 종별 또는 후속 리퀘스트의 종별에 따라, 리퀘스트의 순서 제어를 외부 입출력 장치가 담당할지 연산 장치가 담당할지를 판정한다. 그리고, 외부 입출력 장치가, 리퀘스트의 순서 제어를 연산 장치가 담당한다고 판정된 경우에는, 선행 리퀘스트에 이어서, 후속 리퀘스트를 연산 장치에 송신한다. 그리고, 연산 장치가, 선행 리퀘스트를 기억 장치에 송신하고, 선행 리퀘스트의 처리가 완료한 후에, 후속 리퀘스트를 기억 장치에 송신하도록 순서를 제어한다.
개시의 시스템은, 리퀘스트를 접수하고 나서 후속 리퀘스트의 처리가 완료할 때까지의 시간, 즉 지연 시간을 단축하여, 성능을 향상시키는 효과를 얻는다.
이하에 첨부 도면을 참조하여, 본 발명에 관한 리퀘스트 순서 제어 시스템, 리퀘스트 순서 제어 방법 및 리퀘스트 순서 제어 프로그램의 실시예를 상세하게 설명한다.
[실시예 1]
이하의 실시예에서는, 실시예 1에 관한 시스템 보드의 구성 및 처리의 흐름을 설명하고, 최후에 실시예 1에 의한 효과를 설명한다. 또한, 이하에서는, CPU와 SC의 기능을 겸비하는 시스템 보드의 예에 관하여 설명한다.
[시스템 보드의 구성]
우선 최초로, 도 1을 이용하여, 실시예 1의 시스템 보드(1)의 구성을 설명한다. 도 1은, 실시예 1에 관한 시스템 보드(1)의 구성을 도시하는 블록도이다. 도 1에 도시하는 바와 같이, 실시예 1에 의한 시스템 보드(1)는, IOC(10), CPU(20), 메모리(30)(도면 중 「Memory」, 이하 동일함)를 갖고, 버스 등을 통하여 각각의 요소가 접속되어 있다. 이하에 이것들의 각 부(部)의 처리를 설명한다.
IOC(1O)는, 시스템 보드(1) 외와의 신호 송수신을 제어한다. 실시예 1의 IOC(1O)는, 순서 보증이 필요한 리퀘스트를 외부 장치로부터 수신한 경우에, 선행 리퀘스트를 CPU(20)에 발행하고, 그 후, 후속 리퀘스트를 CPU(20)에 발행한다. 또한, I0C(10)에 의한 상세한 처리에 대해서는, 도 3을 이용하여 후에 상세하게 설명한다.
CPU(20)는, IOC(10)와 메모리(30)의 사이의 패킷 송수신을 제어하는 동시에, 각종 연산과 데이터의 가공을 행한다. 실시예 1에 의해 CPU(20)는, IOC로부터 수신한 선행 리퀘스트 또는 후속 리퀘스트를 파이프 라인에 투입하고, 메모리(30)에 액세스한다. 또한, CPU(20)에 의한 상세한 처리에 대해서는, 도 6을 이용하여 후에 상세하게 설명한다.
메모리(30)는, 각종 처리에 필요한 데이터를 기억한다. 상세하게 설명하면, 메모리(30)는, CPU(20)로부터의 리퀘스트를 수신하여 액세스를 접수하고, 리퀘스트 처리를 행한다.
여기에서, 도 2를 이용하여, IOC(10)로부터 메모리(30)까지의 패킷 경로를 설명한다. 도 2에 도시하는 바와 같이, 시스템 보드(1)에서는, CPU(20)를 통하여 IOC(10)와 메모리(30)가 접속되어 있다. 그리고, IOC(10)와 CPU(20)가 IO버스, 즉 IOC-CPU 사이의 버스를 통하여 접속되어 있다. 또한, I0버스는, 실시예 1에서는 8 Lane × 4개의 시리얼 전송 버스이지만, 도 2에서는, 1개로 생략하여 IO버스를 기재하고 있다. 이렇게, 복수의 IO버스가 설치되어 있기 때문에, I0버스 상을 전송 중인 패킷에 대해서 순서 보증이 필요하다.
또한, 도 2에 도시하는 바와 같이, CPU(20)와 메모리(30)가 접속되어 있다. CPU(20) 내의 파이프 라인에서는, 각종의 자원이 비워지기를 기다리기 때문에 리퀘스트가 비지 리트라이(busy retry), 즉 리퀘스트를 파이프 라인의 입구로 되돌려서 재처리할 경우가 있고, 이러한 상황에 대응하기 위해서, 선행 리퀘스트와 후속 리퀘스트가 순서 보증되어 있지 않으면 안된다.
[IOC의 구성]
다음으로, 도 3 ~ 도 5를 이용하여, 도 1에 도시한 IOC(10)의 구성을 설명한다. 도 3은, 실시예 1에 관한 IOC의 구성을 도시하는 블록도이다. 도 4는, 제어 담당 테이블의 일례를 설명하기 위한 도면이다. 도 5는, IOC로부터 메모리까지의 패킷 경로를 설명하기 위한 도면이다.
도 3에 도시하는 바와 같이, 실시예 1의 IOC(10)는, 외부 입출력 제어 I/F(인터페이스, 이하 동일함)(11), CPU 제어 I/F(12), 제어부(13), 기억부(14)를 가진다. 또한, CPU 제어 I/F(12)는, IO 버스를 통하여 CPU(20)와 접속되어 있다. 이하에 이것들의 각 부의 처리를 설명한다.
외부 입출력 제어 I/F(11)는, 접속되는 외부 장치와의 사이에서 입출력하는 각종 정보에 관한 통신을 제어한다. 예를 들면, 외부 입출력 제어 I/F(11)는, 순서 보증이 필요한 리퀘스트를 포함하는 각종 리퀘스트를 외부 장치로부터 수신한다.
CPU 제어 I/F(12)는, 접속되는 CPU(20)와의 사이에서 교환하는 각종 정보에 관한 통신을 제어한다. 상세하게 설명하면, CPU 제어 I/F(12)는, 선행 리퀘스트를 CPU(20)에 송신하고, 그 후, 선행 리퀘스트에 대응하는 후속 리퀘스트를 CPU(20)에 송신한다. 또한, CPU 제어 I/F(12)는, 리퀘스트의 처리 완료 통지를 CPU(20)로부터 수신한다.
기억부(14)는, 제어부(13)에 의한 각종 처리에 필요한 데이터, 미완료의 리퀘스트 및 프로그램을 저장하는 것이며, 제어 담당 테이블(14a)을 갖는다. 제어 담당 테이블(14a)은, 리퀘스트의 종별에 대응시켜서, 순서 보증 제어를 담당하는 장치를 기억하고 있다. 또한, 도 3의 예에서는, 순서 보증 제어를 담당하는 장치는 IOC(10) 또는 CPU(20)인 것으로 한다. 여기에서, 순서 보증 제어는, 후속 리퀘스트가 선행 리퀘스트를 추월하지 않도록 제어한다.
제어 담당 테이블(14a)은, 도 4에 도시하는 바와 같이, 선행 리퀘스트의 종별을 도시하는 「선행 리퀘스트」와, 후속 리퀘스트의 종별을 도시하는 「후속 리퀘스트」와, 후속 리퀘스트가 선행 리퀘스트를 추월하는 일이 없도록 순서 제어하는 장치를 도시하는 「순서 제어 담당」을 대응시켜서 기억한다. 또한, 도 4에서, 「모든 DMA Write/Read」는, IOC(10)로부터 선행 리퀘스트로서 발행되는 모든 DMA Write/Read를 도시하고 있다.
여기에서, 순서 제어 담당 「IOC」는, 후속 리퀘스트가 선행 리퀘스트를 추월하지 않도록 하는 순서 제어를 주로 IOC가 행하는 것을 도시하고, 순서 제어 담당 「CPU&IOC」는, 순서 제어를 주로 CPU가 행하는 것을 도시하고 있다. 예를 들면, 도 4에 예시하는 제어 담당 테이블(14a)에서의 (4)의 후속 리퀘스트 「Zero Byte Read」는, 도 5에 도시하는 바와 같이, IOC 내부에서 처리가 완결한다. 이 때문에, 후속 리퀘스트 「Zero Byte Read」가 CPU(20)를 통과하지 않고, CPU가 후속 리퀘스트인 「Zero Byte Read」에 대한 순서 제어하는 것이 가능하지 않기 때문에, 제어 담당 테이블(14a)에서는, 「DMA Write」에 후속하는 「Zero Byte Read」에 대한 순서 제어 담당이 「IOC」로 되어 있다.
또한, 도 4에 도시하는 제어 담당 테이블(14a)에서의 (3)의 후속 리퀘스트 「PIO Read」의 응답은, 도 5에 도시하는 바와 같이, CPU(20)의 제어부와 파이프 라인을 통과하지 않고 CPU(20) 내부에서 완결한다. 이 때문에, 후속 리퀘스트 「PIO Read」가 CPU(20)의 제어부를 통과하지 않고, CPU가 「PIO Read」에 대한 순서 제어하는 것이 가능하지 않기 때문에, 제어 담당 테이블(14a)에서는, 「DMA Write」에 후속하는 「PIO Read」에 대한 순서 제어 담당이 「IOC」로 되어 있다.
또한, CPU(20)에서는, 선행 리퀘스트의 라이트 처리(DMA Write)를 카운트하는 카운터를 설치하고 있다. 이 점에 대해서는, 후에 도 6의 CPU(20)의 구성의 설명에서 상술하지만, 카운터는 선행 리퀘스트 「DMA Write」가 파이프 라인에 투입되면 +1로 하고, 그 메모리 액세스가 확정되면 -1로 함으로써 순서 보증에 사용된다. 한편, 도 4에 도시하는 제어 담당 테이블(14a)에서의 (5)의 선행 리퀘스트 「DMA Read」는, CPU(20)로 카운트하지 않으므로, 제어 담당 테이블(14a)에서는, 순서 제어 담당이 「IOC」로 되어 있다.
제어부(13)는, 각종의 처리 순서 등을 규정한 프로그램 및 소요 데이터를 저장하기 위한 내부 메모리를 갖고, 프로그램이나 소요 데이터에 의해 각각의 처리를 실행하지만, 특히, 리퀘스트 종별 판정부(13a), 선행 리퀘스트 발행부(13b), 후속 리퀘스트 발행부(13c)를 갖는다.
본원 발명의 제어 담당 판정부의 일 실시예인 리퀘스트 종별 판정부(13a)는, 선행 리퀘스트의 종별 또는 후속 리퀘스트의 종별에 따라서, 리퀘스트의 순서 제어를 IOC(10)가 담당할지 CPU(20)가 담당할지를 판정한다. 상세하게 설명하면, 리퀘스트 종별 판정부(13a)는, 순서 보증이 필요한 IO 리퀘스트를 외부 입출력으로부터 수신하면, 제어부(13)가 발행하는 선행 리퀘스트 및 후속 리퀘스트에 해당하는 순서 제어 담당을 제어 담당 테이블(14a)로부터 검색한다. 즉, 리퀘스트 종별 판정부(13a)는, 후속 리퀘스트의 이전에 수신하고 있던 「선행 리퀘스트」와, 금회 수신한 「후속 리퀘스트」를 검색 키로서 사용하고, 이것들에 대응하는 리퀘스트의 조(組)를 제어 담당 테이블로부터 검색하고, 검색된 리퀘스트의 조에 대응하는 「제어 담당」을 판독한다.
여기에서, 리퀘스트 종별 판정부(13a)는, 순서 제어 담당으로서 「IOC」를 판독한 경우에는, 리퀘스트의 순서 제어를 자기 자신, 즉 IOC(1O)가 담당한다고 판정하고, 그 취지를 후속 리퀘스트 발행부(13c)에 통지한다. 또한, 리퀘스트 종별 판정부(13a)는, 순서 제어 담당으로서 「CPU & IOC」를 판독한 경우에는, 리퀘스트의 순서 제어를 IOC(10)에 접속된 CPU(20)가 담당한다고 판정하고, 그 취지를 후속 리퀘스트 발행부(13c)에 통지한다.
선행 리퀘스트 발행부(13b)는, 선행 리퀘스트를 CPU(20)에 발행한다. 상세하게 설명하면, 선행 리퀘스트 발행부(13b)는, 리퀘스트 종별 판정부(13a)에 의해 순서 보증이 필요한 IO 리퀘스트가 외부 입력으로부터 수신된 경우에, 선행 리퀘스트를 CPU(20)에 발행한다. 즉, 선행 리퀘스트 발행부(13b)는, IO 리퀘스트로서 수신한, 선행 리퀘스트 및 후속 리퀘스트의 조가 순서 보증의 필요가 있을 경우에는, 선행 리퀘스트를 CPU(20)에 발행한다.
리퀘스트의 순서 제어를 CPU(20)가 담당한다고 판정된 경우에는, 본원 발명의 리퀘스트 송신부의 일 실시예인 후속 리퀘스트 발행부(13c)는, 선행 리퀘스트의 발행에 이어서, 후속 리퀘스트를 CPU(20)에 발행한다. 이 경우, I0C는, CPU가 선행 리퀘스트에 대한 처리를 완료했는가의 여부를 확인하지 않고, 후속 리퀘스트를 CPU에 대하여 송신한다. 또한, 리퀘스트의 순서 제어를 IOC(10)가 담당한다고 판정된 경우에는, 후속 리퀘스트 발행부(13c)는, 선행 리퀘스트의 처리가 완료한 후에, 후속 리퀘스트를 CPU(20)에 발행한다.
후속 리퀘스트 발행부(13c)는, 순서 제어 담당이 「CPU & IOC」인 취지의 통지를 리퀘스트 종별 판정부(13a)로부터 수신한 경우에는, 후속 리퀘스트의 패킷 내에 1비트의 추월 금지 플래그(STO 플래그)를 세운다. 즉, CPU(20) 내의 파이프 라인에서는, 각종의 자원이 비워지기를 기다리기 때문에 리퀘스트가 비지 리트라이 할 경우가 있고, 여기에서의 선행 리퀘스트 및 후속 리퀘스트의 순서 보증을 행하기 때문이다. 이 점에 대해서는, 상세하게는, CPU의 구성의 설명에서 상술하지만, 후술하는 CPU(20)의 순서 제어부(23a)는, 추월 금지 플래그 부착 패킷의 후속 리퀘스트를 수신하면, CPU 내부에서 처리중의 선행 리퀘스트가 메모리 액세스 확정의 상태로 되는 것을 버퍼(24a)에서 대기시킨 후, 리퀘스트 처리부(23b)에 후속 리퀘스트를 통지하여 메모리(30)에 송신시킨다.
그리고, 후속 리퀘스트 발행부(13c)는, 보드 상의 실(實) 배선 길이나 IOC와 CPU의 클록 동기화를 고려하여, 선행 리퀘스트의 발행으로부터 충분한 간격, 예를 들면 625 ㎒로 20 사이클을 두고 후속 리퀘스트를 발행한다. 즉, 후속 리퀘스트 발행부(13c)는, 선행 리퀘스트의 발행으로부터 충분한 간격을 두고 후속 리퀘스트를 발행함으로써, I0 버스 상의 순서를 보증하고 있다. 또한, 선행 리퀘스트와 후속 리퀘스트의 간격은, 보드 상의 실제의 배선 길이, 혹은 IOC와 CPU의 사이의 클록 동기를 고려하여 결정한다.
또한, 후속 리퀘스트 발행부(13c)는, 순서 제어 담당이 「I0C」인 취지의 통지를 리퀘스트 종별 판정부(13a)로부터 수신한 경우에는, 선행 리퀘스트의 처리가 CPU에서 완료한 후에, 후속 리퀘스트를 CPU(20)에 발행한다.
[CPU의 구성]
다음으로, 도 6 ~ 도 7을 이용하여, 도 1에 도시한 CPU(20)의 구성을 설명한다. 도 6은, 실시예 1에 관한 CPU의 구성을 도시하는 볼록도이다. 도 7은, 지연 시간 단축을 설명하기 위한 도면이다.
도 6에 도시하는 바와 같이, CPU(20)는, IOC 제어 I/F(21), 메모리 제어 I/F(22), 제어부(23), 기억부(24)를 가진다. IOC 제어 I/F는 IO 버스를 통하여 IOC(10)와 접속되어 있고, 메모리 제어 I/F는 메모리(30)와 접속되어 있다. 이하에 이것들의 각 부의 처리를 설명한다.
IOC 제어 I/F(21)는, 접속되는 외부 장치 사이에서 입출력하는 각종 정보에 관한 통신을 제어한다. 예를 들면, IOC 제어 I/F(21)는, 리퀘스트를 IOC(10)로부터 수신하고, 수신한 리퀘스트에 대한 처리가 완료한 것을 도시하는 리퀘스트 완료 통지를 IOC(10)에 송신한다.
메모리 제어 I/F(22)는, 접속되는 메모리(30) 사이에서 교환하는 각종 정보에 관한 통신을 제어한다. 상세하게 설명하면, 메모리 제어 I/F(22)는, 리퀘스트를 메모리(30)에 송신하고, 송신한 리퀘스트에 대한 처리 완료 통지를 메모리(30)로부터 수신한다.
기억부(24)는, 제어부(23)에 의한 각종 처리에 필요한 데이터 및 프로그램을 저장하는 것이다. 기억부(24)는, 버퍼(24a)를 가진다. 버퍼(24a)는, IOC(10)로부 터 수신한 후속 리퀘스트를 후술하는 순서 제어부(23a)가 일시적으로 저장시킨다.
제어부(23)는, 각종의 처리 순서 등을 규정한 프로그램 및 소요 데이터를 저장하기 위한 내부 메모리를 갖고, 프로그램이나 소요 데이터에 의해 각각의 처리를 실행한다. 제어부는, 순서 제어부(23a), 리퀘스트 처리부(23b), 송신 에러 검출부(23c)를 가진다.
순서 제어부(23a)는, CPU가 순서 제어 담당일 경우에는, 메모리 제어 I/F(22)를 통하여 선행 리퀘스트를 메모리(30)에 송신하고, 선행 리퀘스트의 처리가 완료한 후에, 후속 리퀘스트를 메모리(30)에 송신하도록, 리퀘스트의 송신 순서를 제어한다. 또한, IOC(10)가 순서 제어 담당일 경우에는, 선행 리퀘스트에 의거하는 메모리 액세스가 확정한 후, 메모리 액세스 확정의 응답을 IOC 제어 I/F(21)를 통하여 IOC(10)에 송신한다.
상세하게 설명하면, 순서 제어부(23a)는, IOC(10)로부터 선행 리퀘스트를 수신하면, 수신한 선행 리퀘스트를 리퀘스트 처리부(23b)에 통지하여 메모리(30)에 송신시킨다. 그리고, 순서 제어부(23a)는, IOC(10)로부터 후속 리퀘스트를 수신하면, 수신한 후속 리퀘스트의 패킷 내에 추월 금지 플래그가 세워서 있을지를 판정한다.
수신한 후속 리퀘스트의 패킷에 추월 금지 플래그가 세워서 있을 경우, 순서 제어부(23a)는 후속 리퀘스트를 버퍼(24a)에 저장하고, CPU로 처리 중의 선행 리퀘스트에 의거하는 메모리 액세스가 확정의 상태가 될 때까지 후속 리퀘스트를 버퍼(24a)에 대기시킨 후, 리퀘스트 처리부(23b)에 후속 리퀘스트를 통지하여 메모 리(30)에 송신시킨다.
상세한 처리를 설명하면, 순서 제어부(23a)는, 라이트 처리(DMA Write)에 대응하는 선행 리퀘스트를 카운트하는 카운터를 갖고, 「DMA Write」에 대응하는 리퀘스트가 파이프 라인에 투입될 때마다 계수값을 +1로 하고, 파이프 라인에 투입한 리퀘스트에 의거하는 메모리 액세스가 확정하면 카운터의 계수값을 -1로 하여, 리퀘스트 사이의 순서 보증을 행한다. 즉, 선행 리퀘스트의 ID나 리퀘스트 종(種) 및 그 완료 상태를 기록하도록 대규모인 버퍼를 설치할 필요가 없고, 선행 리퀘스트 및 후속 리퀘스트의 순서 제어를 가능하게 하고 있다.
리퀘스트 처리부(23b)는, 리퀘스트를 파이프 라인에 투입하고, 메모리(30)에 대하여 액세스 요구를 행한다. 상세하게 설명하면, 리퀘스트 처리부(23b)는, 순서 제어부(23a)로부터 선행 리퀘스트를 수신하면, 수신한 선행 리퀘스트를 파이프 라인에 투입하고, 메모리(30)에 대하여 액세스 요구를 행한다.
그리고, 리퀘스트 처리부(23b)는, 선행 리퀘스트의 처리 완료의 통지를 메모리(30)로부터 수신하고, 순서 제어부(23a)로부터 후속 리퀘스트를 수신하면, 수신한 후속 리퀘스트를 파이프 라인에 투입하고, 메모리(30)에 대하여 액세스 요구를 행한다. 그 후, 리퀘스트 처리부(23b)는, 처리 완료의 통지를 메모리(30)로부터 수신한다.
이렇게, 시스템 보드(1)는, 리퀘스트의 종별에 따라 CPU(20)가 순서 제어를 행함으로써, IOC(10)가 선행 리퀘스트의 처리 완료를 기다리는 시간을 단축한다. 여기에서, 도 7을 이용하여 지연 시간 단축에 대해서 설명한다. 또한, 도 7은 처 리의 순서를 쫓은 것이며, IO-BUS나 IOC가 복수 기재되어 있지만, 복수 존재하는 것은 아니다. 또한, 세로 점선으로 구절(區切)된 1개의 구절은, 1클록 사이클을 도시하고 있다. 또한, 편의상, 도면은 상단과 하단으로 나뉘어 있지만, 도면 중의 화살표로 도시하는 바와 같이, 상단으로부터 하단으로 이어서 시간이 연속하고 있는 것으로 한다.
상세하게 설명하면, 시스템 보드(1)는, 도 7에 도시하는 바와 같이, CPU(20)가 순서 보증을 행할 경우에는, IOC(10)가 순서 보증을 행할 경우와 비교하여, 메모리 액세스 확정의 통지를 IOC(10)까지 전송하는 처리(도 7에서는 「전송」 및 「IO-BUS」로 기재), IOC(10) 내부에서 순서 제어하는 처리(도 7에서는 「IOC」로 기재), CPU(20)를 향해서 전송하는 처리(도 7에서는, 「IO-BUS」로 기재)를 행하는 만큼의 지연 시간을 단축할 수 있고, 대폭적인 성능 향상이 가능하다.
송신 에러 검출부(23c)는, IOC 버스 상에서 발생한 송신 에러를 검출한다. 상세하게 설명하면, 송신 에러 검출부(23c)는, 송신 에러를 검출한 경우에, IOC(10)에 대하여 송신 에러가 발생한 취지 및 에러가 발생한 버스 번호를 IOC(10)에 통지한다. 그리고, 송신 에러 검출부(23c)는, 송신 에러 발생 후에 CPU가 수신하는, 순서 보증이 필요한 리퀘스트(도 4의 예에서는, (1), (2), (6)의 리퀘스트)를 모두 파기하고, IOC(10)가 순서 보증하는 리퀘스트(도 4의 예에서는, (3), (4), (5)의 리퀘스트)를 통상대로 처리하도록 순서 제어부(23a)에 지시한다.
그리고, 송신 에러 검출부(23c)는, 에러 발생 이전에 수신한 모든 리퀘스트의 처리가 완료하면, 송신 에러 발생 후에 CPU(20)가 수신한 순서 보증이 필요한 리퀘스트의 재송 요구를 IOC(10)에 송신한다. 그 후, 송신 에러 검출부(23c)는, 일정 시간 경과 후, 버스 축퇴를 해제한다.
[시스템 보드에 의한 처리]
다음으로, 도 8 및 도 9를 이용하여, 실시예 1에 관한 시스템 보드에 의한 처리를 설명한다. 도 8은, 실시예 1에 따른 시스템 보드에 의한 리퀘스트 순서 보증 처리의 흐름을 도시하는 순서도이다. 도 9는, 실시예 1에 따른 시스템 보드에 의한 에러 발생시에서의 리퀘스트 순서 보증 처리의 흐름을 도시하는 순서도이다.
도 8에 도시하는 바와 같이, 시스템 보드(1)의 IOC(10)는, 순서 보증이 필요한 리퀘스트를 외부 입력으로부터 수신하면(스텝 S101), 수신한 리퀘스트의 종별을 판별하고, 판별한 리퀘스트 종별로부터, 리퀘스트의 순서 제어를 IOC(10)가 담당할지 CPU(20)가 담당할지를 판정한다(단계 S102). 또한, 이하의 도 8의 예에서는, 리퀘스트의 순서 제어를 CPU(20)가 담당할 경우의 리퀘스트 순서 보증 처리에 관하여 설명한다.
그리고, IOC(10)는, 선행 리퀘스트를 CPU(20)에 발행한다(스텝 S103). 이어서, IOC(10)는, 후속 리퀘스트의 패킷 내에 1비트의 추월 금지 플래그(STO 플래그)를 세워서, 선행 리퀘스트의 발행으로부터 충분한 간격, 예를 들면, 625㎒로 20 사이클을 두어서 CPU에 대하여 후속 리퀘스트를 발행한다(스텝 S104).
CPU(20)는, IOC(10)로부터 선행 리퀘스트를 수신하면, 수신한 선행 리퀘스트를 파이프 라인에 투입하고(스텝 S105), 메모리(30)에 대하여 액세스 요구를 행한다(스텝 S106). 그 후, CPU(20)는, 메모리(30)로부터 처리 완료를 수신하고(스텝 S107), 선행 리퀘스트의 처리가 완료한다고 판단하면, 후속 리퀘스트를 파이프 라인에 투입한다(스텝 S108).
그리고, CPU(20)는, 후속 리퀘스트의 액세스 요구를 메모리(30)에 대하여 행하고(스텝 S109), 메모리(30)가 후속 리퀘스트에 대응하는 처리를 완료했을 때에 메모리(30)로부터 처리 완료를 수신한다(스텝 S110).
다음으로, 실시예 1에 관한 시스템 보드(1)에 의한 에러 발생시에서의 리퀘스트 순서 보증 처리에 대해서 도 9를 이용하여 설명한다. 도 9에 도시하는 바와 같이, CPU(20)는, 송신 에러를 검출하면(스텝 S201), 송신 에러가 발생한 취지 및 에러가 발생한 버스 번호를 IOC(10)에 통지한다(스텝 S202).
IOC(10)는, 송신 에러가 발생한 취지의 통지를 CPU로부터 수신하면, 모든 리퀘스트의 발행을 중단한다(스텝 S203). 또한, CPU(20)는, 송신 에러 발생 후에 IOC로부터 수신하는 리퀘스트 중, CPU가 순서 보증하는 리퀘스트를 모두 파기하고(스텝 S204), IOC(10)가 순서 보증하는 리퀘스트를 통상대로 처리하도록 순서 제어부(23a)에 지시한다(스텝 S205).
이어서, CPU(20)는, 에러 발생 이전에 IOC로부터 수신한 모든 리퀘스트의 처리가 완료하면(스텝 S206), 패킷의 재송 요구를 IOC(10)에 송신한다(스텝 S207). 그리고, IOC(10)는, 재송 요구를 CPU로부터 수신하면, 모여있는 미완료의 리퀘스트를 낡은 것으로부터 순차적으로 송출한다(스텝 S208). 이때, IOC(10)는, 송신 에러가 발생한 IO 버스를 사용하지 않은, 즉 송신 에러를 발생한 I0 버스를 일시적으로 축퇴시켜, 축퇴한 버스와는 다른 버스를 이용하여, 리퀘스트를 재송한다.
그 후, CPU(20)는, 일정 기간 리퀘스트를 처리하고(스텝 S209), 일정 기간 경과 후에 IO 버스 축퇴를 해제하는 취지를 IOC(10)에 통지하고, 통상의 처리로 복귀한다.
[실시예 1의 효과]
상술해온 바와 같이, 시스템 보드(1)에서는, IOC(10)가, 선행 리퀘스트의 종별 또는 후속 리퀘스트의 종별에 따라, 리퀘스트의 순서 제어를 IOC(10)가 담당할지 CPU(20)가 담당할지를 판정한다. 그리고, 리퀘스트의 순서 제어를 CPU(20)가 담당한다고 판정된 경우에는, IOC(10)가, 선행 리퀘스트에 이어서, CPU(20)에 의한 선행 리퀘스트의 처리 완료를 기다리지 않고, 선행 리퀘스트 송신 후 곧, 후속 리퀘스트를 CPU(20)에 송신한다. 그리고, CPU(20)가, 선행 리퀘스트를 메모리(30)에 송신하고, 선행 리퀘스트의 처리가 완료한 후에, 후속 리퀘스트를 메모리(30)에 송신하도록 순서를 제어한다. 이 때문에, IOC(10)가 CPU(20)에 의한 선행 리퀘스트의 처리 완료를 기다리는 시간을 단축하여, 후속 리퀘스트를 CPU(20)에 발행하는 것이 가능하다. 이 결과, 리퀘스트를 접수하고 나서 후속 리퀘스트의 처리가 완료할 때까지의 시간(지연 시간)을 단축하여, 성능을 향상시키는 것이 가능하다.
또한, 실시예 1에 의하면, 시스템 보드(1)에서는, 후속 리퀘스트가 CPU(20)의 제어부(23)를 통하지 않을 경우에는, 리퀘스트의 순서 제어를 I0C(10)가 담당하는 것으로 하여 판정하므로, CPU(20)가 순서 제어를 행할 수 없는 리퀘스트에 대해서는, IOC(10)에 순서 제어를 담당시키는 것이 가능하다.
또한, 실시예 1에 따르면, 시스템 보드(1)에서는, 선행 리퀘스트를 송신하고 나서, 소정의 간격을 둔 후, 후속 리퀘스트를 CPU(20)에 송신하므로, 선행 리퀘스트의 발행으로부터 충분한 간격을 둔 후, 후속 리퀘스트를 발행함으로써, IO 버스 상의 순서를 확실하게 보증하는 것이 가능하다.
또한, 실시예 1에 따르면, 시스템 보드(1)에서는, 리퀘스트의 순서 제어를 IOC(10)가 담당한다고 판정된 경우에는, IOC(10)가 후속 리퀘스트에 추월 금지 플래그를 부가하여 CPU(20)에 송신한다. 그리고, CPU(20)가 추월 금지 플래그가 부가된 후속 리퀘스트를 수신하면, 선행 리퀘스트의 처리가 완료한 후에, 추월 금지 플래그가 부가된 후속 리퀘스트를 메모리(30)에 송신한다. 이 때문에, 예를 들면 선행 리퀘스트의 메모리 액세스 완료를 관리하는 카운터를 CPU(20)에 설치하고, 카운트에 따라 추월 금지 플래그가 부가된 후속 리퀘스트의 순서 제어를 행할 수 있다. 이 결과, 선행 리퀘스트의 ID나 리퀘스트 종 및 그 완료 상태를 기록하는 것과 같은 대규모인 버퍼를 설치할 필요가 없고, 선행 리퀘스트 및 후속 리퀘스트의 순서 제어를 간단하게 행하는 것이 가능하다.
또한, 실시예 1에 따르면, 시스템 보드(1)에서는, 선행 리퀘스트 또는 후속 리퀘스트의 송신 에러를 검출하고, 에러가 발생한 I0 버스를 IOC(10)에 통지하고, 리퀘스트의 순서 제어를 CPU(20)가 담당한다고 판정된 선행 리퀘스트 및 후속 리퀘스트를 파기한다. 그리고, IOC는, 통지된 에러가 발생한 I0 버스를 사용하지 않고, 선행 리퀘스트 및 후속 리퀘스트를 CPU(20)에 송신한다. 이 때문에, 에러 발생시에도, 적절하게 순서 제어를 행하는 것이 가능하다.
[실시예 2]
그런데, 지금까지 본 발명의 실시예에 관하여 설명했지만, 본 발명은 상기한 실시예 이외에도, 각각의 다른 형태에서 실시되어도 좋은 것이다. 그러므로, 이하에서는 실시예 2로서 본 발명에 포함되는 다른 실시예를 설명한다.
(1) IO 버스 상에서의 순서 보증
상기의 실시예 1에서는, IO 버스 상에서의 순서를 보증하기 위해서, 선행 리퀘스트의 발행으로부터 충분한 간격, 예를 들면, 625 ㎒로 20 사이클을 두어서 후속 리퀘스트를 발행할 경우를 설명했지만, 본 발명은 이것에 한정되는 것은 아니다. I0 버스는 복수 개, 예를 들면 4개 설치됐지만, 실시예 2에서는 IO 버스 상에서의 순서를 보증하기 위해서, 선행 리퀘스트를 송신한 IO 버스와 동일한 버스에서 후속 리퀘스트를 송신한다.
실시예 2에 관한 시스템 보드의 IOC는, 도 10에 도시하는 바와 같이, 선행 리퀘스트를 CPU에 발행한 후(스텝 S303), 후속 리퀘스트의 패킷 내에 추월 금지 플래그를 세우고, 선행 리퀘스트의 송신한 버스와 동일한 버스로부터 후속 리퀘스트를 CPU에 대하여 발행한다(스텝 S304).
실시예 2에 관한 시스템 보드의 IOC는, 선행 리퀘스트를 발행할 때에, 리퀘스트 전송에 사용하는 버스를 오직 한 의미로 식별하는 버스 번호를 기록해 둔다. 그리고, IOC는, CPU에 후속 리퀘스트를 발행할 때에, 선행 리퀘스트 중에 후속 리퀘스트가 추월해서는 안 되는 리퀘스트가 있으면, 그 선행 리퀘스트를 송신한 버스를 통하여 후속 리퀘스트를 발행한다. 또한, 추월해서는 안 되는 선행 리퀘스트가 복수 있었을 경우에는, 최후로 송출한 선행 리퀘스트의 송신에 사용한 버스와 동일 버스를 후속 리퀘스트의 송신에 사용한다.
이렇게, 선행 리퀘스트를 송신한 I0 버스와 동일한 I0 버스에서, 후속 리퀘스트를 송신함으로써, 후속 리퀘스트가 선행 리퀘스트를 추월하는 것이 없어지는 결과, I0 버스 상의 리퀘스트 사이의 순서를 확실하게 보증하는 것이 가능하다.
(2) 시스템 구성 등
또한, 도시한 각 장치의 각 구성 요소는, 반드시 물리적으로 도시하는 바와 같이 구성되어 있는 것을 요하지 않는다. 즉, 각 장치의 분산·통합의 구체적 형태는 도시하는 것에 한정되지 않고, 그 전부 또는 일부를, 각종의 부하나 사용 상황 등에 따라, 임의의 단위로서 기능적 또는 물리적으로 분산·통합하여 구성하는 것이 가능하다. 예를 들면, 선행 리퀘스트 발행부(13b)와 후속 리퀘스트 발행부(13c)를 통합해도 좋다. 또한, 각 장치에서 행해지는 각 처리 기능은, 그 전부 또는 임의의 일부가, CPU 및 그 CPU에서 해석 실행되는 프로그램에서 실현되고, 혹은, 와이어드 로직(wired logic)에 의한 하드웨어로서 실현될 수 있다.
또한, 본 실시예에서 설명한 각 처리 중, 자동적으로 행할 수 있는 것으로서 설명한 처리의 전부 또는 일부를 수동적으로 행할 수도 있고, 혹은, 수동적으로 행할 수 있는 것으로서 설명한 처리의 전부 또는 일부를 공지의 방법으로 자동적으로 행할 수도 있다. 이 외, 상기 문서 중이나 도면 중에서 도시한 처리 수순, 제어 수순, 구체적 명칭, 각종의 데이터나 파라미터를 포함하는 정보에 대해서는, 특기할 경우를 제외하고 임의로 변경하는 것이 가능하다.
(3) 프로그램
또한, 본 실시예에서 설명한 리퀘스트 순서 제어 방법은, 미리 준비된 프로그램을 퍼스널 컴퓨터나 워크스테이션 등의 컴퓨터에서 실행함으로써 실현하는 것이 가능하다. 이 프로그램은, 인터넷 등의 네트워크를 통하여 배포하는 것이 가능하다. 또한, 이 프로그램은, 하드디스크, 플렉시블 디스크(FD), CD-ROM, MO, DVD 등의 컴퓨터에서 판독 가능한 기록 매체에 기록되고, 컴퓨터에 의해 기록 매체로부터 판독되는 것에 의해 실행하는 것이 가능하다.
이상의 실시예 1 ~ 2를 포함하는 실시예에 관하여, 더욱 이하의 부기를 개시한다.
(부기 1) 순서 부증이 필요한 리퀘스트에 대해서, 외부 입출력 장치에 의해 발행된 선행 리퀘스트를 연산 장치를 통하여 기억 장치에 송신하고, 그 선행 리퀘스트의 후에 발행되는 후속 리퀘스트가 상기 기억 장치에 송신되는 순서를 제어하는 리퀘스트 순서 제어 시스템으로서,
상기 외부 입출력 장치는,
상기 선행 리퀘스트의 종별 또는 상기 후속 리퀘스트의 종별에 따라서, 리퀘스트의 순서 제어를 상기 외부 입출력 장치가 담당할지 상기 연산 장치가 담당할지를 판정하는 제어 담당 판정부와,
상기 제어 담당 판정부에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 선행 리퀘스트에 이어서, 후속 리퀘스트를 상기 연산 장치에 송신하는 리퀘스트 송신부를 구비하고,
상기 연산 장치는,
상기 제어 담당 판정부에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 선행 리퀘스트를 상기 기억 장치에 송신하고, 그 선행 리퀘스트의 처리가 완료한 후에, 후속 리퀘스트를 상기 기억 장치에 송신하도록 순서를 제어하는 순서 제어부를 구비하는 것을 특징으로 하는 리퀘스트 순서 제어 시스템.
(부기 2) 상기 제어 담당 판정부는, 상기 후속 리퀘스트가 상기 연산 장치를 통과하지 않는 것일 경우에는, 리퀘스트의 순서 제어를 상기 외부 입출력 장치가 담당하도록 판정하는 것을 특징으로 하는 부기 1에 기재된 리퀘스트 순서 제어 시스템.
(부기 3) 상기 리퀘스트 송신부는, 상기 선행 리퀘스트를 송신하고 나서, 소정의 간격을 둔 후, 상기 후속 리퀘스트를 상기 연산 장치에 송신하는 것을 특징으로 하는 부기 1 또는 2에 기재된 리퀘스트 순서 제어 시스템.
(부기 4) 상기 리퀘스트 송신부는, 상기 선행 리퀘스트를 송신한 통신 경로와 동일한 통신 경로에서, 상기 후속 리퀘스트를 송신하는 것을 특징으로 하는 부기 1 또는 2에 기재된 리퀘스트 순서 제어 시스템.
(부기 5) 상기 리퀘스트 송신부는, 상기 제어 담당 판정부에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 후속 리퀘스트에 추월 금지 플래그를 부가하여 송신하고,
상기 순서 제어부는, 상기 추월 금지 플래그가 부가된 후속 리퀘스트를 수신하면, 상기 선행 리퀘스트의 처리가 완료한 후에, 그 추월 금지 플래그가 부가된 후속 리퀘스트를 상기 기억 장치에 송신하는 것을 특징으로 하는 부기 1 ~ 3 중 어느 하나에 기재된 리퀘스트 순서 제어 시스템.
(부기 6) 상기 연산 장치는, 상기 선행 리퀘스트 또는 상기 후속 리퀘스트의 송신 에러를 검출하고, 그 에러가 발생한 통신 경로를 상기 외부 입출력 장치에 통지하는 송신 에러 검출부를 더 구비하고,
상기 순서 제어부는, 상기 제어 담당 판정부에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 선행 리퀘스트 및 후속 리퀘스트를 파기하고,
상기 리퀘스트 송신부는, 상기 에러 검출부에 의해 통지된 상기 통신 경로를 사용하지 않고, 상기 선행 리퀘스트 및 상기 후속 리퀘스트를 상기 연산 장치에 송신하는 것을 특징으로 하는 부기 1 내지 5 중 어느 하나에 기재된 리퀘스트 순서 제어 시스템.
(부기 7) 순서 보증이 필요한 리퀘스트에 대해서, 외부 입출력 장치에 의해 발행된 선행 리퀘스트를 연산 장치를 통하여 기억 장치에 송신하고, 그 선행 리퀘스트의 후에 발행되는 후속 리퀘스트가 상기 기억 장치에 송신되는 순서를 제어하는 리퀘스트 순서 제어 방법으로서,
상기 외부 입출력 장치가, 상기 선행 리퀘스트의 종별 또는 상기 후속 리퀘스트의 종별에 응하여, 리퀘스트의 순서 제어를 상기 외부 입출력 장치가 담당할지 상기 연산 장치가 담당할지를 판정하는 제어 담당 판정 스텝과,
상기 외부 입출력 장치가, 상기 제어 담당 판정 스텝에 의해 상기 리퀘스트 의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 선행 리퀘스트에 이어서, 후속 리퀘스트를 상기 연산 장치에 송신하는 리퀘스트 송신 스텝과,
상기 연산 장치가, 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 선행 리퀘스트를 상기 기억 장치에 송신하고, 그 선행 리퀘스트의 처리가 완료한 후에, 후속 리퀘스트를 상기 기억 장치에 송신하도록 순서를 제어하는 순서 제어 단계를 포함하는 것을 특징으로 하는 리퀘스트 순서 제어 방법.
(부기 8) 상기 제어 담당 판정 스텝은, 상기 후속 리퀘스트가 상기 연산 장치를 통과하지 않는 것일 경우에는, 리퀘스트의 순서 제어를 상기 외부 입출력 장치가 담당하도록 판정하는 것을 특징으로 하는 부기 7에 기재된 리퀘스트 순서 제어 방법.
(부기 9) 상기 리퀘스트 송신 스텝은, 상기 선행 리퀘스트를 송신하고 나서, 소정의 간격을 둔 후, 상기 후속 리퀘스트를 상기 연산 장치에 송신하는 것을 특징으로 하는 부기 7 또는 8에 기재된 리퀘스트 순서 제어 방법.
(부기 10) 상기 리퀘스트 송신 스텝은, 상기 선행 리퀘스트를 송신한 통신 경로와 동일의 통신 경로에서, 상기 후속 리퀘스트를 송신하는 것을 특징으로 하는 부기 7 또는 8에 기재된 리퀘스트 순서 제어 방법.
(부기 11) 상기 리퀘스트 송신 스텝은, 상기 제어 담당 판정 스텝에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 후속 리퀘스트에 추월 금지 플래그를 부가하여 송신하고,
상기 순서 제어 스텝은, 상기 추월 금지 플래그가 부가된 후속 리퀘스트를 수신하면, 상기 선행 리퀘스트의 처리가 완료한 후에, 그 추월 금지 플래그가 부가된 후속 리퀘스트를 상기 기억 장치에 송신하는 것을 특징으로 하는 부기 7 ~ 10 중 어느 하나에 기재된 리퀘스트 순서 제어 방법.
(부기 12) 상기 연산 장치가, 상기 선행 리퀘스트 또는 상기 후속 리퀘스트의 송신 에러를 검출하고, 그 에러가 발생한 통신 경로를 상기 외부 입출력 장치에 통지하는 송신 에러 검출 단계를 더 포함하고,
상기 순서 제어 스텝은, 상기 제어 담당 판정 스텝에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 선행 리퀘스트 및 후속 리퀘스트를 파기하고,
상기 리퀘스트 송신 스텝은, 상기 에러 검출 스텝에 의해 통지된 상기 통신 경로를 사용하지 않고, 상기 선행 리퀘스트 및 상기 후속 리퀘스트를 상기 연산 장치에 송신하는 것을 특징으로 하는 부기 7 ~ 11 중 어느 하나에 기재된 리퀘스트 순서 제어 방법.
(부기 13) 순서 보증이 필요한 리퀘스트에 대해서, 외부 입출력 장치에 의해 발행된 선행 리퀘스트를 연산 장치를 통하여 기억 장치에 송신하고, 그 선행 리퀘스트의 후에 발행되는 후속 리퀘스트가 상기 기억 장치에 송신되는 순서를 제어하는 리퀘스트 순서 제어 방법을 컴퓨터에 실행시키는 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체로서,
상기 외부 입출력 장치로서의 컴퓨터에,
상기 선행 리퀘스트의 종별 또는 상기 후속 리퀘스트의 종별에 따라, 리퀘스트의 순서 제어를 상기 외부 입출력 장치가 담당할지 상기 연산 장치가 담당할지를 판정하는 제어 담당 판정 순서와,
상기 제어 담당 판정 순서에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 선행 리퀘스트에 이어서, 후속 리퀘스트를 상기 연산 장치에 송신하는 리퀘스트 송신 순서를 실행시켜,
상기 연산 장치로서의 컴퓨터에,
상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 선행 리퀘스트를 상기 기억 장치에 송신하고, 그 선행 리퀘스트의 처리가 완료한 후에, 후속 리퀘스트를 상기 기억 장치에 송신하도록 순서를 제어하는 순서 제어 수순을 실행시키는 것을 특징으로 하는 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
(부기 14) 상기 리퀘스트 송신 순서는, 상기 제어 담당 판정 수순에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 후속 리퀘스트에 추월 금지 플래그를 부가하여 송신하고,
상기 순서 제어 수순은, 상기 추월 금지 플래그가 부가된 후속 리퀘스트를 수신하면, 상기 선행 리퀘스트의 처리가 완료한 후에, 그 추월 금지 플래그가 부가된 후속 리퀘스트를 상기 기억 장치에 송신하는 것을 특징으로 하는 부기 13에 기재된 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
(부기 15) 상기 연산 장치로서의 컴퓨터에, 상기 선행 리퀘스트 또는 상기 후속 리퀘스트의 송신 에러를 검출하고, 그 에러가 발생한 통신 경로를 상기 외부 입출력 장치에 통지하는 송신 에러 검출 순서를 더 실행시켜,
상기 순서 제어 수순은, 상기 제어 담당 판정 수순에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 선행 리퀘스트 및 후속 리퀘스트를 파기하고,
상기 리퀘스트 송신 수순은, 상기 에러 검출 수순에 의해 통지된 상기 통신 경로를 사용하지 않고, 상기 선행 리퀘스트 및 상기 후속 리퀘스트를 상기 연산 장치에 송신하는 것을 특징으로 하는 부기 13 또는 14에 기재된 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
(부기 16) 외부의 장치에 접속되는 입출력부와, 상기 입출력부에 접속되어, 상기 입출력 장치로부터의 리퀘스트에 따른 처리를 실행하는 처리부를 갖춘 정보 처리 장치로서,
상기 입출력부는,
발행된 리퀘스트의 종별을 판별하고, 선행하는 선행 리퀘스트와, 상기 선행 리퀘스트의 후에 발행되는 후속 리퀘스트의 종별에 따라, 상기 선행 리퀘스트와 상기 후속 리퀘스트의 순서 제어를, 상기 입출력부가 담당할지, 혹은 상기 처리부가 담당할지를 판정하는 판정부와,
상기 판정부에 의해 상기 순서 제어를 상기 처리부가 담당한다고 판정된 경우, 상기 처리부로의 선행 리퀘스트의 송신에 이어서, 상기 처리부에 의한 상기 선행 리퀘스트에 대한 처리 완료를 기다리지 않고, 상기 후속 리퀘스트를 상기 처리 부에 송신하는 송신부를 구비한 것을 특징으로 하는 정보 처리 장치.
(부기 17) 상기 정보 처리 장치에서,
상기 판정부는, 상기 후속 리퀘스트의 순서 제어가 상기 처리부에서 행해지는지의 여부를 도시하는 정보를 상기 후속 리퀘스트에 더 부가하고,
상기 처리부는, 상기 입출력부로부터 수신한 후속 리퀘스트에 상기 정보가 부가되어 있는지의 여부를 판정하고, 상기 후속 리퀘스트에 상기 정보가 부가된 경우에는, 상기 입출력부로부터 수신한 상기 선행 리퀘스트 및 상기 후속 리퀘스트의 순서 제어를 행하는 제어부를 구비하는 것을 특징으로 하는 부기 16에 기재된 정보 처리 장치.
(부기 18) 상기 정보 처리 장치는, 상기 선행 리퀘스트의 종별과, 상기 후속 리퀘스트의 종별과, 상기 순서 제어를 실행하는 것이 상기 처리부인지의 여부를 도시하는 식별 정보를 대응시켜서 기억하는 기억부를 더 구비하고,
상기 판정부는, 상기 리퀘스트의 종별에 의거하여 상기 기억부를 참조하고, 상기 순서 제어를 상기 처리부가 실행하는지의 여부를 판별하는 것을 특징으로 하는 부기 16에 기재된 정보 처리 장치.
도 1은 실시예 1에 따른 시스템 보드의 구성을 가리키는 볼록도.
도 2는 IOC로부터 메모리까지의 패킷 경로를 도시하는 도면.
도 3은 실시예 1에 따른 IOC의 구성을 도시하는 볼록도.
도 4는 제어 담당 테이블의 일례를 설명하기 위한 도면.
도 5는 IOC로부터 메모리까지의 패킷 경로를 설명하기 위한 도면.
도 6은 실시예 1에 따른 CPU의 구성을 도시하는 볼록도.
도 7은 지연 시간 단축을 설명하기 위한 도면.
도 8은 실시예 1에 따른 시스템 보드에 의한 리퀘스트 순서 보증 처리의 흐름을 도시하는 순서도.
도 9는 실시예 1에 따른 시스템 보드에 의한 에러 발생시에서의 리퀘스트 순서 보증 처리의 흐름을 도시하는 순서도.
도 10은 실시예 2에 따른 시스템 보드에 의한 리퀘스트 순서 보증 처리의 흐름을 도시하는 순서도.
도 11은 종래 기술을 설명하기 위한 도면.
도 12는 종래 기술을 설명하기 위한 도면.
도 13은 종래 기술을 설명하기 위한 도면.
*도면의 주요 부분에 대한 부호의 설명*
1 : 시스템 보드
10 : IOC
11 : 외부 입출력 제어 I/F
12 : CPU 제어 I/F
13 : 제어부
13a : 리퀘스트 종별 판정부
13b : 선행 리퀘스트 발행부
13c : 후속 리퀘스트 발행부
14 : 기억부
14a : 제어 담당 테이블
20 : CPU
21 : IOC 제어 I/F
22 : 메모리 제어 I/F
23 : 제어부
23a : 순서 제어부
23b : 리퀘스트 처리부
23c : 송신 에러 검출부
24 : 기억부
24a : 버퍼
30 : 메모리

Claims (10)

  1. 순서 보증이 필요한 리퀘스트에 대해서, 외부 입출력 장치에 의해 발행된 선행 리퀘스트를 연산 장치를 통하여 기억 장치에 송신하고, 그 선행 리퀘스트의 후에 발행되는 후속 리퀘스트가 상기 기억 장치에 송신되는 순서를 제어하는 리퀘스트 순서 제어 시스템으로서,
    상기 외부 입출력 장치는,
    상기 선행 리퀘스트의 종별 또는 상기 후속 리퀘스트의 종별에 따라, 리퀘스트의 순서 제어를 상기 외부 입출력 장치가 담당할지 상기 연산 장치가 담당할지를 판정하는 제어 담당 판정부와,
    상기 제어 담당 판정부에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 선행 리퀘스트에 이어서, 후속 리퀘스트를 상기 연산 장치에 송신하는 리퀘스트 송신부를 구비하고,
    상기 연산 장치는,
    상기 제어 담당 판정부에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 선행 리퀘스트를 상기 기억 장치에 송신하고, 그 선행 리퀘스트의 처리가 완료한 후에, 후속 리퀘스트를 상기 기억 장치에 송신하도록 순서를 제어하는 순서 제어부를 구비하는 것을 특징으로 하는 리퀘스트 순서 제어 시스템.
  2. 제 1 항에 있어서,
    상기 제어 담당 판정부는, 상기 후속 리퀘스트가 상기 연산 장치를 통하지 않는 것일 경우에는, 리퀘스트의 순서 제어를 상기 외부 입출력 장치가 담당하도록 판정하는 것을 특징으로 하는 리퀘스트 순서 제어 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 리퀘스트 송신부는, 상기 선행 리퀘스트를 송신하고 나서, 소정의 간격을 둔 후, 상기 후속 리퀘스트를 상기 연산 장치에 송신하는 것을 특징으로 하는 리퀘스트 순서 제어 시스템.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 리퀘스트 송신부는, 상기 선행 리퀘스트를 송신한 통신 경로와 동일한 통신 경로에서, 상기 후속 리퀘스트를 송신하는 것을 특징으로 하는 리퀘스트 순서 제어 시스템.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 리퀘스트 송신부는, 상기 제어 담당 판정부에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 후속 리퀘스트에 추월 금지 플래그를 부가하여 송신하고,
    상기 순서 제어부는, 상기 추월 금지 플래그가 부가된 후속 리퀘스트를 수신 하면, 상기 선행 리퀘스트의 처리가 완료한 후에, 그 추월 금지 플래그가 부가된 후속 리퀘스트를 상기 기억 장치에 송신하는 것을 특징으로 하는 리퀘스트 순서 제어 시스템.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 연산 장치는, 상기 선행 리퀘스트 또는 상기 후속 리퀘스트의 송신 에러를 검출하고, 그 에러가 발생한 통신 경로를 상기 외부 입출력 장치에 통지하는 송신 에러 검출부를 더 구비하고,
    상기 순서 제어부는, 상기 제어 담당 판정부에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 선행 리퀘스트 및 후속 리퀘스트를 파기하고,
    상기 리퀘스트 송신부는, 상기 에러 검출부에 의해 통지된 상기 통신 경로를 사용하지 않고, 상기 선행 리퀘스트 및 상기 후속 리퀘스트를 상기 연산 장치에 송신하는 것을 특징으로 하는 리퀘스트 순서 제어 시스템.
  7. 순서 보증이 필요한 리퀘스트에 대해서, 외부 입출력 장치에 의해 발행된 선행 리퀘스트를 연산 장치를 통하여 기억 장치에 송신하고, 그 선행 리퀘스트의 후에 발행되는 후속 리퀘스트가 상기 기억 장치에 송신되는 순서를 제어하는 리퀘스트 순서 제어 방법으로서,
    상기 외부 입출력 장치가, 상기 선행 리퀘스트의 종별 또는 상기 후속 리퀘 스트의 종별에 따라, 리퀘스트의 순서 제어를 상기 외부 입출력 장치가 담당할지 상기 연산 장치가 담당할지를 판정하는 제어 담당 판정 스텝과,
    상기 외부 입출력 장치가, 상기 제어 담당 판정 스텝에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 선행 리퀘스트에 이어서, 후속 리퀘스트를 상기 연산 장치에 송신하는 리퀘스트 송신 스텝과,
    상기 연산 장치가, 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 선행 리퀘스트를 상기 기억 장치에 송신하고, 그 선행 리퀘스트의 처리가 완료한 후에, 후속 리퀘스트를 상기 기억 장치에 송신하도록 순서를 제어하는 순서 제어 스텝을 포함하는 것을 특징으로 하는 리퀘스트 순서 제어 방법.
  8. 제 7 항에 있어서,
    상기 리퀘스트 송신 스텝은, 상기 선행 리퀘스트를 송신하고 나서, 소정의 간격을 둔 후, 상기 후속 리퀘스트를 상기 연산 장치에 송신하는 것을 특징으로 하는 리퀘스트 순서 제어 방법.
  9. 제 7 항에 있어서,
    상기 리퀘스트 송신 스텝은, 상기 선행 리퀘스트를 송신한 통신 경로와 동일한 통신 경로에서, 상기 후속 리퀘스트를 송신하는 것을 특징으로 하는 리퀘스트 순서 제어 방법.
  10. 순서 보증이 필요한 리퀘스트에 대해서, 외부 입출력 장치에 의해 발행된 선행 리퀘스트를 연산 장치를 통하여 기억 장치에 송신하고, 그 선행 리퀘스트의 후에 발행되는 후속 리퀘스트가 상기 기억 장치에 송신되는 순서를 제어하는 리퀘스트 순서 제어 방법을 컴퓨터에 실행시키는 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체로서,
    상기 외부 입출력 장치로서의 컴퓨터에,
    상기 선행 리퀘스트의 종별 또는 상기 후속 리퀘스트의 종별에 따라, 리퀘스트의 순서 제어를 상기 외부 입출력 장치가 담당할지 상기 연산 장치가 담당할지를 판정하는 제어 담당 판정 수순(手順)과,
    상기 제어 담당 판정 수순에 의해 상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 선행 리퀘스트에 이어서, 후속 리퀘스트를 상기 연산 장치에 송신하는 리퀘스트 송신 수순을 실행시켜,
    상기 연산 장치로서의 컴퓨터에,
    상기 리퀘스트의 순서 제어를 상기 연산 장치가 담당한다고 판정된 경우에는, 상기 선행 리퀘스트를 상기 기억 장치에 송신하고, 그 선행 리퀘스트의 처리가 완료한 후에, 후속 리퀘스트를 상기 기억 장치에 송신하도록 순서를 제어하는 순서 제어 수순을 실행시키는 것을 특징으로 하는 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
KR1020090108957A 2008-11-14 2009-11-12 리퀘스트 순서 제어 시스템, 리퀘스트 순서 제어 방법 및 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 KR101087177B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008292721A JP5239769B2 (ja) 2008-11-14 2008-11-14 リクエスト順序制御システム、リクエスト順序制御方法およびリクエスト順序制御プログラム
JPJP-P-2008-292721 2008-11-14

Publications (2)

Publication Number Publication Date
KR20100054734A KR20100054734A (ko) 2010-05-25
KR101087177B1 true KR101087177B1 (ko) 2011-11-25

Family

ID=42035576

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090108957A KR101087177B1 (ko) 2008-11-14 2009-11-12 리퀘스트 순서 제어 시스템, 리퀘스트 순서 제어 방법 및 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체

Country Status (6)

Country Link
US (1) US8185668B2 (ko)
EP (1) EP2189911B1 (ko)
JP (1) JP5239769B2 (ko)
KR (1) KR101087177B1 (ko)
CN (1) CN101739341B (ko)
AT (1) ATE522869T1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392621B2 (en) * 2010-06-22 2013-03-05 International Business Machines Corporation Managing dataflow in a temporary memory
WO2013101140A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Early fabric error forwarding
US9134919B2 (en) 2012-03-29 2015-09-15 Samsung Electronics Co., Ltd. Memory device including priority information and method of operating the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275913B1 (en) 1999-10-15 2001-08-14 Micron Technology, Inc. Method for preserving memory request ordering across multiple memory controllers
US20020019903A1 (en) 2000-08-11 2002-02-14 Jeff Lin Sequencing method and bridging system for accessing shared system resources
US20080244134A1 (en) 2004-07-02 2008-10-02 Nec Corporation Multiprocessor System and Method for Processing Memory Access

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61250748A (ja) * 1985-04-27 1986-11-07 Nec Eng Ltd 情報処理装置のメモリアクセス方式
JPH04190435A (ja) * 1990-11-26 1992-07-08 Hitachi Ltd マルチプロセッサシステムのメモリアクセス順序保証方式
JPH06187231A (ja) * 1992-12-22 1994-07-08 Hitachi Ltd 計算機システム
US6167492A (en) * 1998-12-23 2000-12-26 Advanced Micro Devices, Inc. Circuit and method for maintaining order of memory access requests initiated by devices coupled to a multiprocessor system
US6681320B1 (en) * 1999-12-29 2004-01-20 Intel Corporation Causality-based memory ordering in a multiprocessing environment
JP4305378B2 (ja) * 2004-12-13 2009-07-29 ソニー株式会社 データ処理システム、アクセス制御方法、その装置およびそのプログラム
JP2006260140A (ja) * 2005-03-17 2006-09-28 Fujitsu Ltd データ処理システム
JP4463190B2 (ja) * 2005-11-24 2010-05-12 エヌイーシーコンピュータテクノ株式会社 マルチプロセッサシステム及び入出力制御装置並びにリクエスト発行方法
WO2007097017A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited バッファリング装置およびバッファリング方法
US7917676B2 (en) * 2006-03-10 2011-03-29 Qualcomm, Incorporated Efficient execution of memory barrier bus commands with order constrained memory accesses

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275913B1 (en) 1999-10-15 2001-08-14 Micron Technology, Inc. Method for preserving memory request ordering across multiple memory controllers
US20020019903A1 (en) 2000-08-11 2002-02-14 Jeff Lin Sequencing method and bridging system for accessing shared system resources
US20080244134A1 (en) 2004-07-02 2008-10-02 Nec Corporation Multiprocessor System and Method for Processing Memory Access

Also Published As

Publication number Publication date
JP5239769B2 (ja) 2013-07-17
US8185668B2 (en) 2012-05-22
ATE522869T1 (de) 2011-09-15
US20100125687A1 (en) 2010-05-20
KR20100054734A (ko) 2010-05-25
CN101739341B (zh) 2013-10-16
EP2189911B1 (en) 2011-08-31
EP2189911A1 (en) 2010-05-26
JP2010118020A (ja) 2010-05-27
CN101739341A (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
US7558895B2 (en) Interconnect logic for a data processing apparatus
US4426681A (en) Process and device for managing the conflicts raised by multiple access to same cache memory of a digital data processing system having plural processors, each having a cache memory
US8656228B2 (en) Memory error isolation and recovery in a multiprocessor computer system
CN110741342A (zh) 区块链交易提交排序
US20070174509A1 (en) System for asynchronous dma command completion notification
US8266331B2 (en) Transmitting retry request associated with non-posted command via response credit channel
JP6129976B2 (ja) 高効率アトミック演算を使用した方法および装置
US7685473B2 (en) Computer system, method of detecting a stall in a computer system, and signal-bearing medium embodying a program causing a computer system to perform a method of detecting a stall in a computer system
KR101087177B1 (ko) 리퀘스트 순서 제어 시스템, 리퀘스트 순서 제어 방법 및 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US20080147906A1 (en) DMA Transferring System, DMA Controller, and DMA Transferring Method
TWI750386B (zh) 匯流排系統
JP4953794B2 (ja) バスシステムのバス調停方法及びバスシステム
US7167939B2 (en) Asynchronous system bus adapter for a computer system having a hierarchical bus structure
US7987437B2 (en) Structure for piggybacking multiple data tenures on a single data bus grant to achieve higher bus utilization
WO2007039933A1 (ja) 演算処理装置
US20110113172A1 (en) Utilization-enhanced shared bus system and bus arbitration method
EP1761856A1 (en) Computer system and method for queuing interrupt messages in a device coupled to a parallel communications bus
US20230315573A1 (en) Memory controller, information processing apparatus, and information processing method
JP2015014962A (ja) 演算装置、演算方法、及びプログラム
EP2800003B1 (en) Method and device for realizing end-to-end hardware message passing
JP6992295B2 (ja) 電子装置
CN117891761A (zh) 一种直接内存访问系统及数据搬运方法
JP2006092077A (ja) バスシステム
CN113076282A (zh) 一种面向处理器片上网络的死锁处理方法
CN110955507A (zh) 基于vxWorks系统的多任务访问同意IIC总线的方法

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee