KR20060101157A - 정보 처리 시스템, 파이프라인 처리 장치, 및 비지 판정프로그램을 기록한 컴퓨터로 판독가능한 기록 매체 - Google Patents

정보 처리 시스템, 파이프라인 처리 장치, 및 비지 판정프로그램을 기록한 컴퓨터로 판독가능한 기록 매체 Download PDF

Info

Publication number
KR20060101157A
KR20060101157A KR1020050066133A KR20050066133A KR20060101157A KR 20060101157 A KR20060101157 A KR 20060101157A KR 1020050066133 A KR1020050066133 A KR 1020050066133A KR 20050066133 A KR20050066133 A KR 20050066133A KR 20060101157 A KR20060101157 A KR 20060101157A
Authority
KR
South Korea
Prior art keywords
request
unit
busy
valid
determination
Prior art date
Application number
KR1020050066133A
Other languages
English (en)
Other versions
KR100660458B1 (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 KR20060101157A publication Critical patent/KR20060101157A/ko
Application granted granted Critical
Publication of KR100660458B1 publication Critical patent/KR100660458B1/ko

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 파이프라인 처리 장치에 있어서 요구가 파이프라인 레지스터의 중도에 유지되어 있는 단계에서 상기 요구를 파이프라인 레지스터의 최종단에 구비된 레지스터에 저장하기 위한 이러한 레지스터의 비지 판정을 하드 자원을 증대시키는 일없이 확실하게 실행할 수 있도록 하는 것을 특징으로 한다.
파이프라인 레지스터(12) 사이에 삽입된 요구가 유효 요구인지 여부의 판정을 행하는 판정부(23)로부터 요구 큐(13)까지의 사이의 레지스터(12a)에서의 유효 요구의 수를 카운트하는 제1 카운터(25)와, 이 제1 카운터(25)에 의해 카운트되는 유효 요구 수에 기초하여 요구 큐(13)가 비지 상태인지 아닌지를 판정하는 비지 판정부(22)를 구비하고, 판정부(23)가 비지 판정부(22)에 의한 비지 상태 판정 결과에 기초하여 판정을 행하도록 한다.

Description

정보 처리 시스템, 파이프라인 처리 장치, 및 비지 판정 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체{INFORMATION PROCESSING SYSTEM, PIPELINE PROCESSOR, AND COMPUTER READABLE RECORDING MEDIUM IN WHICH BUSY JUDGMENT PROGRAM IS STORED}
도 1은 본 발명의 일 실시예로서의 정보 처리 시스템의 구성을 도시하는 블록도.
도 2는 본 발명의 일 실시예로서의 정보 처리 시스템의 파이프라인 처리 장치의 유지 판정부에 의한 판정 결과를 설명하기 위한 도면.
도 3은 본 발명의 일 실시예로서의 정보 처리 시스템의 파이프라인 처리 장치의 비지 판정부에 의한 판정 결과를 설명하기 위한 도면.
도 4는 본 발명의 일 실시예로서의 정보 처리 시스템의 비지 판정부 및 파이프라인 비지 카운터를 설명하기 위한 도면.
도 5는 본 발명의 일 실시예로서의 정보 처리 시스템의 제어 장치의 결정부에 의한 요구에 대한 최종적인 동작 확정의 일례를 설명하기 위한 도면.
도 6은 본 발명의 일 실시예로서의 정보 처리 시스템의 제어 장치의 결정부에 의한 요구에 대한 최종적인 동작 확정의 일례를 설명하기 위한 도면.
도 7은 본 발명의 일 실시예로서의 정보 처리 시스템의 제어 장치의 결정부 에 의한 요구에 대한 최종적인 동작 확정의 일례를 설명하기 위한 도면.
도 8은 본 발명의 일 실시예로서의 정보 처리 시스템의 제어 장치의 결정부에 의한 요구에 대한 최종적인 동작 확정의 일례를 설명하기 위한 도면.
도 9는 종래의 구성을 도시하는 블록도.
도 10은 종래의 정보 처리 시스템의 파이프라인 처리 장치의 LCST 생성 논리에 의한 요구 큐의 비지 상태 판정 방법을 설명하기 위한 도면.
〈도면의 주요 부분에 대한 부호의 설명〉
1, 100 : 정보 처리 시스템
10, 10-0∼10-7, 110, 110-0∼110-7 : 파이프라인 처리 장치
11, 11-0∼11-7, 111, 111-0∼111-7 : 데이터 버스
12, 32, 112, 124 : 파이프라인 레지스터
12a, 32a, 112a, 124a : 레지스터
13, 117 : 요구 큐
14, 113 ; 데이터 정보 유지부
20, 114 : LCST(Local Cache Status) 생성 논리
21 : 유지 판정부
22 : 비지 판정부
23, 115 : 조건 생성부(판정부)
24 ; 판정 결과 통지부
25 : 파이프라인 비지 카운터(제1 카운터)
26 : 유효 엔트리수 계수 논리(제2 카운터)
27 : 가산기(산출부)
28, 116 : GCST(Global Cache Status) 판정 논리(확정부)
30, 120 : 제어 장치
31 : 요구 통지부
33, 122 : LCST(Local Cache Status) 집약 논리
34, 123 : GCST(Global Cache Status) 생성 논리
35 : 결정부
36 : 결정 결과 통지부
112 : 선택부
A-0∼A-7, B-0∼B-7 : 연산부
본 발명은 복수단의 레지스터로 이루어지는 파이프라인 레지스터의 최종단에 예컨대, 요구를 유지하는 레지스터를 구비하는 장치에 있어서 요구가 파이프라인 레지스터의 중도에 유지되어 있는 단계에서 이러한 레지스터로의 투입(저장) 판정을 행하기 위한 기술에 관한 것이다.
종래부터 복수단의 레지스터로 이루어지고, 시프트 레지스터로서 기능하는 파이프라인 레지스터의 최종단에 요구를 유지하는 큐를 구비하는 파이프라인 장치 가 있다(예컨대, 하기 특허 문헌 1 참조).
이러한 파이프라인 처리 장치가 구비된 종래의 정보 처리 시스템을 도 9에 도시한다. 이 도 9에 도시한 바와 같이, 정보 처리 시스템(100)에서는 복수(여기서는 8개)의 파이프라인 처리 장치(110-0∼110-7)[도면 중 SB(System Board)(SB0∼SB7)로 표기]가 구비되고, 이들 복수의 파이프라인 처리 장치(110-0∼110-7)[이하, 이들 복수의 파이프라인 처리 장치(110-0∼110-7)를 특별히 구별하지 않는 경우에는 단순히 부호 "110"을 이용하여 설명한다]가 상호 동기하면서 파이프라인 처리를 실행함과 동시에, 복수의 파이프라인 처리 장치(110-0∼110-7)의 각각이 데이터 버스(FSB: Front Side Bus)(111-0∼111-7)[이하, 이들 데이터 버스(111-0∼111-7)를 특별히 구별하지 않는 경우에는 단순히 부호 "111"을 이용하여 설명한다]를 통해 요구를 실행하는 2개의 연산부[도면 중 CPU(Central Processing Unit)로 표기)(A-0∼A-7, B-0∼B-7)(이하, 연산부(A-0∼A-7, B-0∼B-7)를 특별히 구별하지 않는 경우에는 단순히 부호 "A, B"를 이용하여 설명한다]에 접속되어 있다.
또한, 파이프라인 처리 장치(110-0∼110-7)의 각각은 부호 말미의 번호가 동일한 대응하는 데이터 버스(111-0∼111-7)와 상호 접속되고, 또한 파이프라인 처리 장치(110-0∼110-7)의 각각은 데이터 버스(111)를 통해 부호 말미의 번호가 동일한 대응하는 2개의 연산부(A-0∼A-7, B-0∼B-7)에 접속되어 있다.
예컨대, 파이프라인 처리 장치(110-0)는 데이터 버스(111-0)를 통해 연산부(A-0, B-0)에 접속되고, 파이프라인 처리 장치(110-1)는 데이터 버스(111-1)를 통해 연산부(A-1, B-1)에 접속되고, 파이프라인 처리 장치(110-7)는 데이터 버스 (111-7)를 통해 연산부(A-7, B-7)에 접속되어 있다.
또한, 도 9에 있어서 파이프라인 처리 장치(110-2, 110-3, 110-4, 110-5, 110-6) 및 데이터 버스(111-2, 111-3, 111-4, 111-5, 111-6) 및 연산부(A-2, B-2, A-3, B-3, A-4, B-4, A-5, B-5, A-6, B-6)는 도면의 간략화를 위해서 생략하고 있다.
또한, 정보 처리 시스템(100)은 이들 복수의 파이프라인 처리 장치(110)에 요구를 통지함과 동시에, 상기 요구를 복수의 파이프라인 처리 장치(110) 중 하나의 파이프라인 처리 장치(110)에 담당시키는 제어 장치[도면 중 XB(Crossbar Board)로 표기](120)를 구비하여 구성된다.
이 정보 처리 시스템(100)에서는 제어 장치(120)의 선택부(121)가 제어 장치(120)에 대한 요구(REQ0∼REQn)를 각 요구(REQ0∼REQn)의 우선도를 판단하여 선택하고, 선택된 요구를 GSA(Global System Address)-SB0∼GSA-SB7로써 대응하는 파이프라인 처리 장치(110-0∼110-7)에 동시에 통지한다.
그리고, 각 파이프라인 처리 장치(110)는 복수의 레지스터(112a)로 이루어지는 파이프라인 레지스터(112)에 의해 통지된 요구를 유지한다. 이 때, 각 파이프라인 장치(110)는 본 정보 처리 시스템(100) 내의 시스템 클록(동기 신호)에 기초하여 다른 파이프라인 처리 장치(110)와 동일한 타이밍에 요구를 복수의 레지스터(112a)의 상류측에서 하류측의 순으로 이행시키면서 유지한다.
한편, 각 파이프라인 처리 장치(110)의 LCST(Local Cache Status) 생성 논리(114)는 다른 파이프라인 처리 장치(110)와 동일한 타이밍에 기억부(도면 중 TAG로 표기)(113)를 검색하여, 상기 요구에 사용하는 데이터가 지배하에 있는 연산부 (A, B)의 기억부에 유지되어 있는지 여부를 판단한다.
또한, LCST 생성 논리(114)는 후술하는 요구 큐(도면 중 SLVQ_FSB로 표기; Slave Request Queue)(117)가 상기 요구를 저장할 수 있는지 여부[즉, 요구 큐(117)가 비지 상태인지 아닌지]를 판정한다.
그리고, LCST 생성 논리(114)의 조건 생성부(도면 중 조건 생성이라 표기)(115)가 LCST 생성 논리(114)에 의한 캐시 히트(cache hit)했는지 여부의 판정 결과와, 요구 큐(117)가 비지 상태인지 여부의 판정 결과에 기초하여 상기 요구가 담당 가능한 유효 요구인지 여부의 동작 확정을 행한다.
계속해서, LCST 생성 논리(114)가 추가로 자신의 TAG 정보[즉, 기억부(113)의 상기 검색 결과, 캐시 히트했는지 여부의 정보]나, 상기 요구가 담당 가능한 유효 요구인지 여부의 동작 확정 정보 등을 LCST-SB0∼LCST-SB7로써 제어 장치(120)에 송신한다.
그리고, 제어 장치(120)의 LCST 집약 논리(122)가 복수의 파이프라인 처리 장치(110)로부터 송신된 정보를 집약하고, GCST(Global Cache Status) 생성 논리(123)가 각 파이프라인 처리 장치(110)로부터 송신된 정보를 종합 판단하여, 예컨대 상기 요구를 복수의 파이프라인 처리 장치(110) 중 어느 파이프라인 처리 장치(110)에 담당시키는가 하는 정보 처리 시스템(100)으로서의 동작을 확정하고, 이 확정 동작을 GCST-SB0∼GCST-SB7로써 대응하는 파이프라인 처리 장치(110)에 동시에 통지한다.
또한, 제어 장치(120)도 복수의 레지스터(124a)로 이루어지는 파이프라인 레지스터(124)를 구비하여 구성되고, 요구를 각 파이프라인 처리 장치(110)에 통지하고 나서 상기 요구에 대한 동작 확정 정보가 각 파이프라인 처리 장치(110)로부터 송신되어 오기까지의 사이 각 파이프라인 처리 장치(110)에 대하여 동기를 취하기 위해서 파이프라인 레지스터(124)가 상기 요구를 이러한 시스템 클록에 기초하여 상류측에서 하류측의 순으로 이행시키면서 유지하고 있다.
그리고, 각 파이프라인 처리 장치(110)의 GCST 판정 논리(116)가 대응하는 GCST-SB0∼GCST-SB7로써 제어 장치(120)로부터 통지된 확정 동작을 수신하고, 수신한 확정 동작을 토대로 상기 요구를 파이프라인 레지스터(112)의 후단에 설치된 요구 큐(117)에 저장하는지 여부를 판정한다.
즉, 복수의 파이프라인 처리 장치(110) 중의 동작 허가를 얻은(즉, 상기 요구를 담당시킨다고 확정된) 파이프라인 처리 장치(110)가 상기 요구를 요구 큐(117)에 저장한다.
여기서, 요구 큐(117)는 요구를 유지하는 선입 선출 방식(FIFO; First In First 0ut)의 레지스터이며, 요구는 이 요구 큐(11-7)에 유지됨으로써 데이터 버스(111)를 통해 연산부(A, B)로 받아서 실행된다.
또한, 각 파이프라인 처리 장치(110)의 파이프라인 레지스터(112)는 제어 장치(120)로부터 요구를 수신하고 나서 자신의 동작을 확정하기까지의 사이[즉, 기억부(113)에 유지된 TAG 정보를 검색하는 사이]의 타임 러그를 흡수하기 위해서, 상기 요구를 이러한 시스템 클록에 기초하여 상류측에서 하류측의 순으로 이행시키면 서 유지하고 있다.
또한, 각 파이프라인 처리 장치(110)의 파이프라인 레지스터(112)는 LCST 생성 논리(114)에 의해 자신의 동작 확정 정보 등을 제어 장치(120)에 송신하고 나서 GCST 판정 논리(116)가 GCST 생성 논리(123)로부터 확정 동작을 수신하기까지의 사이 제어 장치(120)에 대하여 동기를 취하기 위해서, 상기 요구를 이러한 시스템 클록에 기초하여 상류측에서 하류측의 순으로 이행시키면서 유지하고 있다.
이와 같이, 정보 처리 시스템(100)에서는 각 파이프 라인 처리 장치(110)에 있어서 요구가 파이프라인 레지스터(112)의 중도에 유지되어 있는 단계에서 LCST 생성 논리(114)[조건 생성부(115)]가 상기 요구의 요구 큐(117)로의 투입(저장) 판정을 행하여야 한다.
즉, 각 파이프라인 처리 장치(110)는 요구가 파이프라인 레지스터(112)의 중도에 유지되어 있는 단계에서 상기 요구가 자신이 담당할 수 있는 유효 요구인지 여부[즉, 상기 레지스터를 자신의 지배하에 있는 연산부(A, B)에서 실행 가능한지 여부]의 동작을 확정해야 한다.
더구나, 상기 요구를 실제로 담당하는지 여부의 최종적인 동작 확정은 제어 장치(120)의 GCST 생성 논리(123)가 행하고, 각 파이프라인 처리 장치(110)에 있어서는 상기 요구가 파이프라인 레지스터(112)의 최종단을 통과할 때에 판명되기 때문에, 각 파이프라인 처리 장치(110)의 LCST 생성 논리(114)는 조건 생성부(l15)로부터 요구 큐(117)까지의 사이에 개재하는 레지스터(112a)에 유지되어 있는 다른 요구를 고려하여 요구 큐(117)가 비지 상태인지 여부의 판정을 행하여야 하다.
즉, LCST 생성 논리(114)는 상기 요구를 요구 큐(117)에 저장할 때에, 요구 큐(117)가 비지 상태로 되어 있는지 여부를 미리 판정하지 않으면 안되고, 이에 따라, 상기 요구를 요구 큐(117)에 실제로 저장할 때에 요구 큐(117)가 비지 상태가 되어 있는 것과 같은 상황을 회피한다.
여기서, 도 10을 참조하면서 LCST 생성 논리(114)에 의한 요구 큐(117)가 구체적인 비지 상태 판정 방법에 관해서 설명한다.
도 10에 도시한 바와 같이, 요구 큐(117)가 m 단(m 은 1 이상의 정수; 즉, m 개의 요구를 엔트리 가능)이며, 조건 생성부(115)로부터 요구 큐(117)까지의 파이프라인 레지스터(112)의 레지스터(112a)가 n 단(n 은 1 이상의 정수)이며, 또한 요구 큐(117)의 x 단(x는 정수; x < m)을 유효 요구가 점유하고 있는(즉, x 개의 유효 엔트리가 존재하는)경우, LCST 생성 논리(114)는 n 단의 레지스터(112a) 모두가 유효 요구를 유지하고 있다고 가정하고, 하기의 (X)에 나타내는 조건으로 요구 큐(117)의 비지 판정을 행한다.
x + n = m ···(X)
즉, LCST 생성 논리(114)는 요구 큐(117)의 유효 엔트리수 x 단과, 조건 생성부(115)로부터 요구 큐(117)까지의 레지스터(112a)의 단수 n과의 합이 요구 큐(117)의 모든 엔트리수 m 단과 같으면 요구 큐(117)가 비지 상태라고 판정한다.
또한, 종래부터 요구를 유지하는 큐(레지스터)의 유효 엔트리수(도 10에 있어서의 x 단)를 카운트하는 기술이 제안되고 있다(예컨대, 하기 특허 문헌 1, 2 참조).
(특허 문헌 1) 일본 특개평 4-367031호 공보
(특허 문헌 2) 일본 특개소 64-10332호 공보
그러나, 도 10을 참조하면서 전술한 LCST 생성 논리(114)에 의한 비지 판정 방법에서는, n 단 중 레지스터(112a)에 무효 엔트리가 존재하고 있더라도 이것을 유효 엔트리로서 취급하기 때문에, 실제로는 비지 상태로는 되지 않는 경우라도 비지 상태라고 판정하는 경우가 있고, 요구 큐(117)의 엔트리수를 유효하게 활용할 수 없다.
더구나, 이러한 비지 판정 방법은 조건 생성부(115)로부터 요구 큐(117)까지의 레지스터(112a)의 단수 n이 요구 큐의 모든 엔트리수 m 이상인 경우에는, LCST 생성 논리(114)가 항상 비지를 검출하게 되기 때문에 적용할 수 없다.
그래서, 조건 생성부(l15)가 동작 확정을 행할 때마다, n 단의 레지스터(112a) 모두에 대해서 유효 엔트리가 유지되어 있는지 여부를 판별하는 것을 생각할 수 있지만, 이 방법은 각 레지스터(112a)에 유효/무효의 어느 쪽 요구가 유지되어 있는가를 판별하기 위한 회로 등이 필요해지기 때문에 하드 자원이 증대하여 버림과 동시에, 제조 비용이 커져 버린다.
본 발명은 이러한 과제를 감안하여 창안된 것으로, 전술한 바와 같이 정보 처리 시스템의 파이프라인 처리 장치에 있어서, 요구가 파이프라인 레지스터의 중도에 유지되어 있는 단계에서 상기 요구를 파이프라인 레지스터의 최종단에 구비된 레지스터에 저장하기 위한 이러한 레지스터의 비지 판정을 하드 자원을 증대시키는 일이 없이 확실하게 실행할 수 있도록 하는 것을 목적으로 한다.
상기 목적을 달성하기 위해서 본 발명의 정보 처리 시스템은 요구를 실행하는 연산부에 접속되고, 상호 동기하면서 파이프라인 처리를 실행하는 복수의 파이프라인 처리 장치와, 요구를 상기 복수의 파이프라인 처리 장치에 대하여 통지함 과 동시에, 상기 요구에 대한 최종적인 동작을 결정하는 제어 장치로 이루어지는 정보 처리 시스템으로서, 상기 복수의 파이프라인 처리 장치의 각각은 상기 제어 장치에 의해 통지되는 요구를 유지할 수 있는 복수단의 레지스터로 이루어지고, 상기 요구를 상류측에서 하류측의 순으로 이행시키면서 유지하는 파이프라인 레지스터와, 이 파이프라인 레지스터의 후단에 구비되는 요구 큐와, 상기 파이프라인 레지스터 사이에 삽입되고 상기 요구가 상기 요구 큐에 유지될 수 있는 유효 요구인지 여부의 판정을 행하는 판정부와, 이 판정부에서 상기 요구 큐까지의 사이의 상기 레지스터에 있어서의 상기 유효 요구의 수를 카운트하는 제1 카운터와, 이 제1 카운터에 의해 카운트되는 상기 유효 요구 수에 기초하여 상기 요구 큐가 비지 상태인지 여부를 판정하는 비지 판정부와, 이 비지 판정부에 의한 비지 상태 판정 결과를 상기 제어 장치에 통지하는 판정 결과 통지부를 구비하고, 상기 판정부는 상기 비지 판정부에 의한 비지 상태 판정 결과에 기초하여 상기 판정을 행하도록 구성됨과 동시에, 상기 제어 장치는 요구를 상기 복수의 파이프라인 처리 장치에 대하여 동시에 통지하는 요구 통지부와, 상기 복수의 파이프라인 처리 장치의 상기 판정 결과 통지부에서 통지되는 상기 비지 상태 판정 결과에 기초하여 상기 요구에 대한 최종적인 동작을 결정하는 결정부와, 이 결정부에 의한 결정 결과를 상기 복수의 파이프라인 처리 장치에 대하여 동시에 통지하는 결정 결과 통지부를 구비하여 구성되는 것을 특징으로 한다(청구항 1).
또한, 상기 비지 판정부에 의해 상기 요구 큐가 비지 상태라고 판정된 경우, 상기 판정부는 상기 요구를 상기 유효 요구라고 판정하지 않는 것이 바람직하다(청구항 2).
또한, 상기 복수의 파이프라인 처리 장치의 각각은 상기 요구 큐의 유효 엔트리수를 카운트하는 제2 카운터와, 상기 제1 카운터에 의해 카운트된 상기 유효 요구 수와, 상기 제2 카운터에 의해 카운트된 상기 유효 엔트리수와의 합을 산출하는 산출부를 구비하고, 상기 비지 판정부는 상기 산출부에 의해 산출되는 상기 합과 상기 요구 큐가 구비하는 모든 엔트리수를 비교하여 상기 합이 상기 모든 엔트리수와 같은 경우에 상기 요구 큐가 비지 상태라고 판정하는 것이 바람직하다 (청구항 3).
또한, 상기 제2 카운터는 상기 요구 큐에 상기 유효 요구가 상기 유효 엔트리로서 새롭게 엔트리되었을 때에, 상기 유효 엔트리수를 하나 카운트업하는 한편, 상기 요구 큐에 유지되어 있던 상기 유효 엔트리에 관한 요구 처리가 완료되면, 상기 유효 엔트리수를 하나 카운트 다운하는 것이 바람직하며(청구항 4), 상기 제1 카운터는 상기 판정부가 상기 요구를 상기 유효 요구라고 판정하면 상기 유효 요구 수를 하나 카운트업하는 한편, 상기 유효 요구가 상기 파이프라인 레지스터의 최종단 레지스터를 통과하면 상기 유효 요구 수를 하나 카운트 다운하는 것이 바람직하 다(청구항 5).
그리고, 상기 복수의 파이프라인 처리 장치의 각각은 상기 제어 장치의 상기 결정 결과 통지부에서 통지된 상기 결정 결과가 상기 요구를 자신이 담당하는 것인 경우, 상기 요구를 상기 요구 큐에 상기 유효 엔트리로서 엔트리하는 한편, 상기 결정 결과가 상기 요구를 자신이 담당하는 것이 아닌 경우, 상기 요구를 무효화하는 확정부를 구비하여 구성되는 것이 바람직하다(청구항 6).
또한, 상기 복수의 파이프라인 처리 장치의 각각은 자신에게 접속된 상기 연산부의 기억부에 유지된 데이터에 관한 데이터 정보를 유지하는 데이터 정보 유지부와, 상기 제어 장치로부터 통지된 상기 요구에 사용되는 데이터를 자신에게 접속된 상기 연산부가 유지하고 있는지 여부를 상기 데이터 정보 유지부에 유지된 상기 데이터 정보에 기초하여 판정하는 유지 판정부를 구비하고, 상기 판정 결과 통지부는 상기 유지 판정부에 의한 유지 판정 결과를 상기 제어 장치에 통지함과 동시에, 상기 판정부는 상기 유지 판정부에 의한 유지 판정 결과에 기초하여 상기 판정을 행하는 것이 바람직하다(청구항 7).
이 때, 상기 제어 장치의 상기 결정부는 상기 복수의 파이프라인 처리 장치의 상기 판정 결과 통지부에서 통지되는 상기 유지 판정부에 의한 유지 판정 결과에 기초하여 상기 요구에 대한 최종적인 동작을 결정하는 것이 바람직하다(청구항 8).
또한, 상기 유지 판정부는 상기 데이터 정보에 기초하여 상기 요구에 사용되는 상기 데이터가 최신의 데이터인지 여부를 판정하도록 구성되고, 상기 유지 판정 부가 상기 요구에 사용되는 상기 데이터가 최신의 데이터라고 판정한 경우에는, 상기 판정 결과 통지부는 상기 요구에 사용되는 최신의 데이터를 유지하고 있는 것을 나타내는 정보를 상기 유지 판정부에 의한 유지 판정 결과로서 상기 제어 장치에 통지하는 것이 바람직하다(청구항 9).
또한, 상기한 목적을 달성하기 위해서, 본 발명의 파이프라인 처리 장치는 요구를 실행하는 연산부와 요구를 통지함과 동시에 상기 요구에 대한 최종적인 동작을 결정하는 제어 장치에 접속되고, 다른 파이프라인 처리 장치와 상호 동기하면서 파이프라인 처리를 실행하는 파이프라인 처리 장치로서, 상기 제어 장치에 의해 통지되는 요구를 유지할 수 있는 복수단의 레지스터로 이루어지고, 상기 요구를 상류측에서 하류측의 순으로 이행시키면서 유지하는 파이프라인 레지스터와, 이 파이프라인 레지스터의 후단에 구비되는 요구 큐와, 상기 파이프라인 레지스터 사이에 삽입되고, 상기 요구가 상기 요구 큐에 유지될 수 있는 유효 요구인지 여부의 판정을 행하는 판정부와, 이 판정부에서 상기 요구 큐까지의 사이의 상기 레지스터에 있어서의 상기 유효 요구의 수를 카운트하는 제1 카운터와, 이 제1 카운터에 의해 카운트되는 상기 유효 요구 수에 기초하여 상기 요구 큐가 비지 상태인지 아닌지를 판정하는 비지 판정부와, 이 비지 판정부에 의한 비지 상태 판정 결과를 상기 제어 장치에 통지하는 판정 결과 통지부를 구비하고, 상기 판정부는 상기 비지 판정부에 의한 비지 상태 판정 결과에 기초하여 상기 판정을 행하는 것을 특징으로 한다(청구항 10).
또한, 상기 비지 판정부에 의해 상기 요구 큐가 비지 상태라고 판정된 경우, 상기 판정부는 상기 요구를 상기 유효 요구로 판정하지 않는 것이 바람직하다(청구항 11).
또한, 상기 요구 큐의 유효 엔트리수를 카운트하는 제2 카운터와, 상기 제1 카운터에 의해 카운트된 상기 유효 요구 수와 상기 제2 카운터에 의해 카운트된 상기 유효 엔트리수와의 합을 산출하는 산출부를 구비하고, 상기 비지 판정부는 상기 산출부에 의해 산출되는 상기 합과 상기 요구 큐가 구비하는 모든 엔트리수를 비교하여 상기 합이 상기 모든 엔트리수와 같은 경우에, 상기 요구 큐가 비지 상태라고 판정하는 것이 바람직하다(청구항 12).
또한, 상기 제2 카운터는 상기 요구 큐에 상기 유효 요구가 상기 유효 엔트리로서 새롭게 엔트리되었을 때에, 상기 유효 엔트리수를 하나 카운트업하는 한편, 상기 요구 큐에 유지되어 있었던 상기 유효 엔트리에 관한 요구 처리가 완료되면 상기 유효 엔트리수를 하나 카운트 다운하는 것이 바람직하고(청구항 13), 상기 제1 카운터는 상기 판정부가 상기 요구를 상기 유효 요구라고 판정하면, 상기 유효 요구 수를 하나 카운트업하는 한편, 상기 유효 요구가 상기 파이프라인 레지스터의 최종단의 레지스터를 통과하면 상기 유효 요구 수를 하나 카운트 다운하는 것이 바람직하다(청구항 14).
또한, 상기 제어 장치로부터 통지된 상기 요구에 대한 최종적인 결정 결과가 상기 요구를 자신이 담당하는 것인 경우, 상기 요구를 상기 요구 큐에 상기 유효 엔트리로서 엔트리하는 한편, 상기 요구를 자신이 담당하는 것이 아닌 경우, 상기 요구를 무효화하는 확정부를 구비하여 구성되는 것이 바람직하다(청구항 15).
또한, 자신에게 접속된 상기 연산부의 기억부에 유지된 데이터에 관한 데이터 정보를 유지하는 데이터 정보 유지부와, 상기 제어 장치로부터 통지된 상기 요구에 사용되는 데이터를 자신에게 접속된 상기 연산부가 유지하고 있는지 여부를 상기 데이터 정보 유지부에 유지된 상기 데이터 정보에 기초하여 판정하는 유지 판정부를 구비하고, 상기 판정 결과 통지부는 상기 유지 판정부에 의한 유지 판정 결과를 상기 제어 장치에 통지함과 동시에, 상기 판정부는 상기 유지 판정부에 의한 유지 판정 결과에 기초하여 상기 판정을 행하는 것이 바람직하며(청구항 16), 이 때, 상기 유지 판정부는 상기 데이터 정보에 기초하여 상기 요구에 사용되는 상기 데이터가 최신의 데이터인지 여부를 판정하도록 구성되고, 상기 유지 판정부가 상기 요구에 사용되는 상기 데이터가 최신의 데이터라고 판정한 경우에는, 상기 판정 결과 통지부는 상기 요구에 사용되는 최신의 데이터를 유지하고 있는 것을 나타내는 정보를 상기 유지 판정부에 의한 유지 판정 결과로서 상기 제어 장치에 통지하는 것이 바람직하다(청구항 17).
또한, 상기한 목적을 달성하기 위해서, 본 발명의 비지 판정 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체는 요구를 실행하는 연산부와, 요구를 통지함과 동시에 상기 요구에 대한 최종적인 동작을 결정하는 제어 장치에 접속되고, 상기 제어 장치에 의해 통지되는 요구를 유지할수 있는 복수단의 레지스터로 이루어지고, 상기 요구를 상류측에서 하류측의 순으로 이행시키면서 유지하는 파이프라인 레지스터와, 이 파이프라인 레지스터의 후단에 구비되는 요구 큐를 구비하고, 상호 동기하면서 파이프라인 처리를 실행하는 복수의 파이프라인 처리 장치의 각각에 있 어서 상기 요구가 상기 파이프라인 레지스터의 중도에 유지되어 있는 단계에서 상기 요구에 대한 상기 요구 큐의 비지 상태를 판정하는 기능을 컴퓨터에 실현시키기 위한 비지 판정 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체로서, 상기 요구가 상기 파이프라인 레지스터의 중도에 유지되어 있는 단계에서 상기 요구가 상기 요구 큐에 유지될 수 있는 유효 요구인지 여부의 판정을 행하는 판정부, 이 판정부에서 상기 요구 큐까지의 사이의 상기 레지스터에 있어서의 상기 유효 요구의 수를 카운트하는 제1 카운터, 및 상기 제1 카운터에 의해 카운트되는 상기 유효 요구 수에 기초하여 상기 요구 큐가 비지 상태인지 아닌지를 판정하는 비지 판정부로서, 상기 컴퓨터를 기능시킴과 동시에 상기 판정부는 상기 비지 판정부에 의한 비지 상태 판정 결과에 기초하여 상기 판정을 행하도록 상기 컴퓨터를 기능시키는 것을 특징으로 한다(청구항 18).
또한, 상기 요구 큐의 유효 엔트리수를 카운트하는 제2 카운터 및 상기 제1 카운터에 의해 카운트된 상기 유효 요구 수와 상기 제2 카운터에 의해 카운트된 상기 유효 엔트리수와의 합을 산출하는 산출부로서, 상기 컴퓨터를 기능시킴과 동시에 상기 비지 판정부는 상기 산출부에 의해 산출되는 상기 합과 상기 요구 큐가 구비하는 모든 엔트리수를 비교하여 상기 합이 상기 모든 엔트리수와 같은 경우에, 상기 요구 큐가 비지 상태라고 판정하도록 상기 컴퓨터를 기능시키는 것이 바람직하다(청구항 19).
이하, 도면을 참조하면서 본 발명의 실시예에 관해서 설명한다.
〔1〕본 발명의 일 실시예에 관해서
우선, 도 1에 도시하는 블록도를 참조하면서 본 발명의 일 실시예로서의 정보 처리 시스템(1)의 구성에 관해서 설명한다.
도 1에 도시한 바와 같이, 본 정보 처리 시스템(1)은 복수(여기서는 8개)의 파이프라인 처리 장치[도면 중 SB(System Board)로 표기](10-0∼10-7), 데이터 버스(FSB: Front Side Bus)(11-0∼11-7), 연산부[도면 중 CPU(Central Processing Unit)로 표기](A-0∼A-7, B-0∼B-7) 및 제어 장치[도면 중 XB(Crossbar Board)로 표기](30)를 구비하여 구성되어 있다.
복수의 파이프라인 처리 장치(10-0∼10-7)[이하, 이들 복수의 파이프라인 처리 장치(10-0∼10-7)를 특별히 구별하지 않는 경우에는 단순히 부호 "10"를 이용하여 설명한다]의 각각이 데이터 버스(11-0∼11-7)[이하, 이들 데이터 버스(11-0∼11-7)를 특별히 구별하지 않는 경우에는 단순히 부호 "11"를 이용하여 설명한다]를 통해 요구를 실행하는 2 개의 연산부(A-0∼A-7, B-0∼B-7)[이하, 연산부(A-0∼A-7, B-0∼B-7)를 특별히 구별하지 않는 경우에는 단순히 부호 "A, B"를 이용하여 설명한다]에 접속되어 있다.
또한, 파이프라인 처리 장치(10-0∼10-7)의 각각은 데이터 버스(11-0∼11-7)와 상호 접속되고, 그리고 파이프라인 처리 장치(10-0∼10-7)의 각각은 데이터 버스(11)를 통해 부호 말미의 번호가 동일한 대응하는 2 개의 연산부(A-0∼A-7, B-0∼B-7)에 접속되어 있다.
예컨대, 파이프라인 처리 장치(10-0)는 데이터 버스(11-0)를 통해 연산부(A-0, B-0)에 접속되고, 파이프라인 처리 장치(10-1)는 데이터 버스(11-1)를 통해 연 산부(A-1, B-1)에 접속되고, 파이프라인 처리 장치(10-7)는 데이터 버스(11-7)를 통해 연산부(A-7, B-7)에 접속되어 있다.
또한, 도 1에 있어서 파이프라인 처리 장치(10-2, 10-3, 10-4, 10-5, 10-6) 및 데이터 버스(11-2, 11-3, 11-4, 11-5, 11-6) 및 연산부(A-2, B-2, A-3, B-3, A-4, B-4, A-5, B-5, A-6, B-6)는 도면의 간략화를 위해 생략한다.
여기서, 복수의 파이프라인 처리 장치(10)의 각각은 상호 동기하면서 후술하는 파이프라인 처리를 실행하도록 구성되고, 제어 장치(30)는 이들 복수의 파이프라인 처리 장치(10)에 대하여 요구를 통지함과 동시에, 상기 요구에 대한 채취적인 동작을 결정하는 것이다.
복수의 파이프라인 처리 장치(10)의 각각은 파이프라인 레지스터(12), 요구 큐(도면 중 SLVQ_FSB 로 표기; Slave Request Queue)(13), 데이터 정보 유지부(도면 중 TAG 로 표기)(14), LCST(Local Cache Status) 생성 논리(20), 파이프 라인 비지 카운터(제1 카운터; 도면 중 PIPELINE BUSY CNTR 로 표기)(25), 유효 엔트리수 계수 논리(제2 카운터)(26), 가산기(산출부)(27) 및 GCST(Global Cache Status) 판정 논리(확정부)(28)를 구비하여 구성되고 있다.
파이프라인 레지스터(12)는 제어 장치(30)로부터 통지되는 요구를 유지하는 것으로, 복수단의 레지스터(12a)로 이루어진다.
또한, 파이프라인 레지스터(12)는 본 정보 처리 시스템(1) 내의 시스템 클록(동기 신호; 펄스 신호)에 기초하여 요구를 복수단의 레지스터(12a)의 상류측에서 하류측의 순으로 이행시키면서 유지한다. 즉, 파이프라인 레지스터(12)는 시프트 레지스터로서 기능한다.
따라서, 복수의 파이프라인 처리 장치(10)의 각각은 파이프라인 레지스터(12)에 있어서 시스템 클록에 기초하여 상호 동기하면서 요구를 하류측의 레지스터(12a)로 이행한다.
또한, 각 파이프 라인 처리 장치(10)는 이러한 시스템 클록에 기초하여 다른 처리[후술하는 LCST 생성 논리(20), 파이프라인 비지 카운터(25), 가산기(27) 및 GCST 판정 논리(28)에 있어서의 처리]도 상호 동기하면서 실행하도록 구성되어 있다.
요구 큐(13)는 요구를 유지하는 선입 선출 방식(FIFO; First In First Out) 레지스터이며, 파이프라인 레지스터(12)의 후단에 구비되어 있다.
또한, 요구 큐(13)에 유지된 유효 엔트리로서의 요구는 자신에게 접속된 연산부(A, B)로부터의 요구에 따라서 FSB(11)를 통해 이러한 연산부(A, B)에서 받아서 실행된다.
데이터 정보 유지부(14)는 자신에게 접속된 연산부(A, B)의 기억부(예컨대, 캐시 메모리나 DIMM; Dual In-line Memory Module)에 유지된 데이터에 관한 데이터 정보를 유지하는 것이다. 또한, 데이터 정보 유지부(14)가 유지하는 데이터 정보는 연산부(A, B)의 기억부에 유지된 데이터의 태그(TAG) 정보이지만, 본 발명에 있어서 데이터 정보 유지부(14)가 유지하는 데이터 정보는 한정되는 것은 아니며, 이러한 데이터 정보가 연산부(A, B)의 기억부에 유지된 데이터의 내용을 나타내는 것이라도 좋고, 적어도 후술하는 유지 판정부(21)가 이러한 데이터 정보에 기초하여 파 이프라인 레지스터(12)에 유지된 요구가 사용하는 데이터를 연산부(A, B)가 유지하고 있는지 여부를 판정할 수 있는 것이면 된다.
LCST 생성 논리(20)는 파이프라인 레지스터(12)에 개장되고, 파이프라인 레지스터(12)가 유지하는 요구에 대한 동작을 판단함과 동시에, 판단 결과를 제어 장치(30)에 대하여 통지하는 것이며, 유지 판정부(21), 비지 판정부(비지 판정 회로)(22), 조건 생성부(판정부; 도면 중 조건 생성으로 표기)(23) 및 판정 결과 통지부(24)를 구비하여 구성되어 있다.
유지 판정부(21)는 제어 장치(30)로부터 통지된 요구[즉, 파이프라인 레지스터(12)에 유지되어 있는 요구]에 사용되는 데이터를 자신에게 접속된 연산부(A, B)가 유지하고 있는지 여부를 데이터 정보 유지부(14)에 유지된 데이터 정보에 기초하여 판정하는 것이다.
구체적으로는, 유지 판정부(21)는 도 2에 도시하는 바와 같이 이하의 (1)∼(6)의 상태를 판정한다.
(1) 접속된 지배하에 있는 연산부(A, B)의 어느 쪽 캐시 메모리(도면 중 Cache로 표기)에도 DIMM에도 요구에 사용되는 데이터가 유지되어 있지 않다[No Hit].
(2) 접속된 지배하에 있는 연산부(A, B)의 DIMM에 히트했다[DIMM Hit].
(3) 접속된 지배하에 있는 연산부(A, B) 중 어느 한 쪽의 연산부에서 공유형으로 히트했다[Shared Single Hit].
(4) 접속된 지배하에 있는 연산부(A, B)에서 공유형으로 히트했다[Shared Double Hit].
(5) 접속된 지배하에 있는 연산부(A, B) 중 어느 한 쪽 연산부에 배타형으로 히트했다[Exclusive Hit].
(6) 접속된 지배하에 있는 연산부(A, B) 중 어느 한 쪽 연산부에 변경형(최신의 상태)으로 히트했다[Modify].
이와 같이, 유지 판정부(21)는 데이터 정보 유지부(14)에 유지된 데이터 정보에 기초하여 요구에 사용되는 데이터의 유지 상태를 판정하고, 상기 (6)에 도시한 바와 같이 유지 판정부는 최신의 데이터인지 아닌지를 판정한다. 즉, 유지 판정부(21)는 자신에게 접속된 연산부(A, B)의 기억부에 유지된 상기 요구에 사용되는 데이터가 최신의 데이터인지 아닌지를 판정한다.
또한, 파이프라인 처리 장치(10)는 유지 판정부(21)에 의한 데이터 정보 유지부(14)의 검색을 행하기 위해서 요구를 유지하는 레지스터(12a')를 구비하고 있다. 따라서, 파이프라인 처리 장치(10)는 후술하는 제어 장치(30)의 요구 통지부(31)로부터 요구가 통지되면 상기 요구를 파이프라인 레지스터(12) 및 레지스터(12a')에 유지한다.
비지 판정부(22)는 파이프라인 비지 카운터(25)에 의해 카운트되는 LCST 생성 논리(20)로부터 요구 큐(13)까지의 사이의 레지스터(12a)에서의 유효 요구 수에 기초하여 요구 큐(13)가 비지 상태인지 아닌지를 판정하는 것이다.
구체적으로는, 비지 판정부(22)는 도 3에 도시하는 바와 같이 이하의 (a)∼(c)의 상태를 판정한다.
(a) 어드레스 매치 등의 재시도 요인은 없고, 요구 큐(13)가 비지 상태가 아니다[No Abort].
(b) 어드레스 매치 등의 재시도 요인이 검출되었다[Retry].
(c) 요구 큐(13)의 비지 상태가 검출되었다[Busy].
또한, 비지 판정부(22)에 의한 비지 상태인지 아닌지의 판정 방법은 도 4를 참조하면서 후술한다.
조건 생성부(23)는 파이프라인 레지스터(12)의 중도에 개장되고[즉, 복수의 레지스터(12a) 사이에 삽입되고], 제어 장치(30)로부터 통지된 요구가 요구 큐에 유지될 수 있는 유효 요구(QUEUE 획득 확정 요구)인지의 여부를 판정하는 것이다.
즉, 조건 생성부(23)는 요구가 파이프라인 레지스터(12)의 중도에 유지되어 있는 단계에서 상기 요구가 자신이 담당할 수 있는 유효 요구인지 아닌지[즉, 상기 요구를 자신의 지배하에 있는 연산부(A, B)에서 실행 가능한지 여부]의 요구에 대한 동작을 판정하여 후술하는 파이프라인 비지 카운터(25)를 "1" 카운트업(인크리멘트)하는지 여부를 판단한다.
여기서, 조건 생성부(23)는 유지 판정부(21)에 의한 판정 결과와 비지 판정부(22)에 의한 비지 상태 판정 결과에 기초하여 상기 판정을 행하도록 구성되어 있고, 구체적으로는 이하의 (x)∼(z) 경우에 조건 생성부(23)는 상기 요구가 유효 요구가 아니다(즉, 무효 요구이다) 라고 판정하는 한편, 이하의 (x)∼(z) 이외의 경우에는 후술하는 파이프라인 비지 카운터(25)를 인크리멘트하도록 상기 요구가 유효 요구라고 판정한다.
(x) 유지 판정부(21)에 의해 요구에 사용되는 데이터를 자신에게 접속된 연산부(A, B)가 유지하지 않는다고 판정된 경우[상기 (1)로 판정된 경우].
(y) 비지 판정부(22)에 의해 요구 큐(13)가 비지 상태라고 판정된 경우[상기 (c)로 판정된 경우].
(z) 어드레스 매치 등의 재시도 요인이 검출된 경우[상기 (b)로 판정된 경우].
판정 결과 통지부(24)는 유지 판정부(21) 및 비지 판정부(22)에 의한 판정 결과를 LCST(Local Cache Status; 도면 중 LCST-SB0∼LCST-SB7 로 표기)로써 제어 장치(30)의 후술하는 LCST 집약 논리(33)에 통지하는 것이다.
구체적으로는, 판정 결과 통지부(24)는 도 2에 도시하는 유지 판정부(21)에 의한 판정 결과 및 도 3에 도시하는 비지 판정부(22)에 의한 판정 결과를 제어 장치(30)에 통지한다.
즉, 판정 결과 통지부(24)는 도 2에 도시한 바와 같이 유지 판정부(21)에 의한 판정 결과를 4 비트의 캐시 상태(Cache Status; 도 2 중 CST 로 약기)를 이용하여 (1)"No Hit"의 경우 "0000"을, (2)"DIMM Hit"의 경우 "0001"을, (3)"Shared Single Hit"의 경우 "OO1O"을, (4)"Shared Double Hit"의 경우 "0011"을, (5)"Exclusive Hit"의 경우 "O100"을, (6)"Modify Hit"의 경우 "0101"을 LCST 집약 논리(33)에 통지한다.
이와 같이, 판정 결과 통지부(24)는 유지 판정부(21)에 의한 판정 결과를 그 내용을 구별하여 제어 장치(30)에 통지하도록 구성되어 있고, 유지 판정부(21)가 요구에 사용되는 최신의 데이터를 유지하고 있다고 판정한 경우에는[상기 (6)으로 판정한 경우], 상기 요구에 사용되는 최신의 데이터를 유지하고 있는 것을 나타내는 정보(여기서는 CST "0101")를 유지 판정부(21)에 의한 판정 결과로서 제어 장치(30)에 통지한다.
또한, 도 2에 도시한 바와 같이, 이들 유지 판정부(21)에 의한 판정 결과 (1)∼(6)은 판정 결과 (1)로부터 판정 결과 (6)을 향해서 우선도가 높아진다(상태값이 클수록 우선도가 높아진다). 따라서, 유지 판정부(21)에 의해서 복수의 판정 결과 (1)∼(6)이 얻어진 경우, 판정 결과 통지부(24)는 이러한 우선도에 기초하여 우선도가 가장 높은 하나의 판정 결과만을 LCST 집약 논리(33)에 통지한다.
또한, 판정 결과 통지부(24)는 도 3에 도시한 바와 같이 비지 판정부(23)에 의한 판정 결과를 2 비트의 어보트 상태(Abort Status; 도 3 중 ABTST 로 약기)를 이용하여, (a)"No Abort"의 경우 "OO"을, (b)"Retry"의 경우 "O1"을, (c)"Busy"의 경우 "10"을 LCST 집약 논리(33)에 통지한다.
파이프라인 비지 카운터(25)는 전술한 바와 같이 LCST 생성 논리(20)로부터 요구 큐(113)까지의 사이의 레지스터(12a)에서의 유효 요구 수를 카운트하는 것이다.
즉, 도 4에 도시한 바와 같이 파이프라인 비지 카운터(25)는 조건 생성부(23)가 요구를 유효 요구라고 판정하고, 상기 요구가 조건 생성부(23)로부터 조건 생성부(23)의 후단 레지스터(12a)로 이행될 때에 유효 요구 수(카운트수)를 하나 카운트업(인크리멘트)한다.
한편, 파이프라인 비지 카운터(25)는 파이프라인 레지스터(12)의 최종단 레지스터(12a)를 유효 요구가 통과하면 유효 요구 수(카운트수)를 하나 카운트 다운(디크리멘트)한다.
또한, 도 4에 있어서 사선으로 도시하는 레지스터(12a)는 유효 요구를 유지하고 있는 것을 나타내고 있다.
유효 엔트리수 계수 논리(26)는 요구 큐(13)에 있어서의 유효한 요구가 존재하고 있는 엔트리(유효 엔트리) 수를 계수(카운트)하는 것으로, 도 4에 도시하는 바와 같이, 요구 큐(13)에 유효 요구가 설정된 경우, 즉 요구 큐(13)에 유효 요구가 유효 엔트리로서 새롭게 엔트리되었을 때에 유효 엔트리수(카운트수)를 하나 카운트업한다.
한편, 유효 엔트리수 계수 논리(26)는 요구 큐(13)에 유지되어 있던 유효 엔트리에 관한 요구 처리가 완료하고, 상기 유효 엔트리가 비어 있는 경우에, 유효 엔트리수를 하나 카운트 다운한다.
가산기(27)는 파이프라인 비지 카운터(25)에 의해 카운트된 유효 요구 수와, 유효 엔트리수 계수 논리에 의해 카운트된 유효 엔트리수를 가산함으로써, 이들 유효 요구 수와 유효 엔트리수와의 합을 산출하는 것이다.
여기서, 비지 판정부(22)에 의한 요구 큐(13)의 비지 판정 방법에 관해서 설명하면 비지 판정부(22)는 가산기(27)에 의해 산출된 유효 요구 수와 유효 엔트리수와의 합과, 요구 큐(13)가 구비하는 모든 엔트리수를 비교하여 이러한 합이 요구 큐(13)의 모든 엔트리수와 같은 경우에 요구 큐(13)가 비지 상태라고 판정한다.
즉, 도 4에 도시한 바와 같이 요구 큐(13)가 구비하는 모든 엔트리수가 m(m 은 1 이상의 정수)이며, 요구 큐(13)에 있어서의 유효 엔트리수[즉, 유효 엔트리수 계수 논리(26)에 의해 카운트된 유효 엔트리수]가 x(x 는 정수; x < m)이며, 또한, 조건 생성부(23)[LCST 생성 논리(20)]로부터 요구 큐(13)까지의 사이에 개재하는 n 단(n 은 1 이상의 정수)의 레지스터(12a)에 유지된 유효 요구 수[즉, 파이프라인 비지 카운터(25)에 의해 카운트된 유효 요구 수]가 y(y 는 정수)인 경우, 비지 판정부(22)는 하기의 식 (1)에 기초하여 요구 큐(13)의 비지 판정을 행한다.
x + y = m ···(1)
또한, 비지 판정부(22)는 유효 요구 수(y)와 유효 엔트리수(X)와의 합이 요구 큐(13)가 구비하는 모든 엔트리수(m)보다도 작으면 요구 큐(13)가 비지 상태가 아니라고 판정한다.
또한, 도 1에 도시한 바와 같이 GCST 판정 논리(28)는 제어 장치(30)[구체적으로는 후술하는 GCST 생성 논리(33)]로부터 자신이 요구를 담당한다고 하는 결정 결과가 통지된 경우, 상기 요구를 요구 큐(13)에 유효 엔트리로서 엔트리하는 한편, 제어 장치(30)로부터 자신이 요구를 담당하는 것이 아니라고 하는 결정 결과 또는 상기 요구의 재투입(재시도)이 통지된 경우, 상기 요구를 요구 큐(13)에 유효 엔트리로서 엔트리하지 않고 상기 요구를 무효화하는 것이다.
여기서, 각 파이프라인 처리 장치(10)의 파이프라인 레지스터(12)의 작용에 관해서 도 1을 참조하면서 설명하면 전술한 바와 같이 각 파이프라인 처리 장치(10)의 파이프라인 레지스터(12)는 본 정보 처리 시스템(1)의 시스템 클록에 기초 하여 상호 동기하면서 동 타이밍에 요구를 하류측의 레지스터(12a)로 이행시키면서 유지한다.
그리고, 각 파이프라인 처리 장치(10)의 파이프라인 레지스터(12)에 있어서의 최상류로부터 LCST 생성 논리(20)까지 사이의 레지스터(12a)는 각 파이프라인 처리 장치(10) 내의 유지 판정부(21) 및 비지 판정부(22)에 의한 처리(판정) 시간을 흡수하여 다른 파이프라인 처리 장치(10)에 대하여 조건 생성부(23) 및 판정 결과 통지부(24)에 의한 처리의 동기를 취하기 위한 것이다.
환언하면, 파이프라인 레지스터(12)의 최상류로부터 LCST 생성 논리(20)까지의 사이에는 각 파이프라인 처리 장치(10) 내의 유지 판정부(21) 및 비지 판정부(22)에 의한 처리 시간과 같은 시간을 들여서 요구가 이행되는 만큼의 수의 레지스터(12a)가 갖추어져 있다.
또한, LCST 생성 논리(20)로부터 요구 큐(13)까지 사이의 레지스터(12a)는 판정 결과 통지부(24)에 의한 판정 결과의 통지 후, 제어 장치(30)로 실행되는 처리 시간[후술하는 LCST 집약 논리(33) 및 GCST 생성 논리(34)에 의한 처리 시간]과 GCST 판정 논리(28)에 의한 처리 시간을 흡수하기 위한 것이다.
즉, LCST 생성 논리(20)로부터 요구 큐(13)까지의 사이에는 제어 장치(30)에 있어서의 처리 시간과 GCST 판정 논리(28)에 의한 처리 시간과의 합계 시간과 같은 시간을 들여서 요구가 이행되는 만큼의 수의 레지스터(12a)가 갖추어져 있다.
다음에, 도 1을 참조하면서, 본 정보 처리 시스템(1)의 제어 장치(30)에 관해서 설명하면 제어 장치(30)는 요구 통지부(31), 파이프라인 레지스터(32), LCST 집약 논리(33) 및 GCST 생성 논리(34)를 구비하여 구성되어 있다.
요구 통지부(31)는 외부 또는 각 파이프라인 처리 장치(10)에 접속된 연산부(A, B)에서 발행된 요구(REQ0∼REQn) 중에서 하나의 요구를 각 요구(REQ0∼REQn)의 우선도를 판단하여 선택하고, 선택된 요구를 GSA(Global System Address; 도면 중 GSA-SB0∼GSA-SB7 로 표기)로써 각 파이프라인 처리 장치(10)에 동시에 통지하는 것이다.
파이프라인 레지스터(32)는 요구 통지부(31)에 의해 각 파이프라인 처리 장치(10)에 통지된 요구를 유지하는 것으로, 파이프라인 처리 장치(10)의 파이프라인 레지스터(12)와 마찬가지로 복수단의 레지스터(32a)로 이루어지고, 본 정보 처리 시스템(1) 내의 시스템 클록에 기초하여 요구를 상류측에서 하류측의 순으로 이행시키면서 요구를 유지한다.
이 파이프라인 레지스터(32)에 있어서의 요구 통지부(31)로부터 후술하는 LCST 집약 논리(33)까지 사이의 레지스터(32a)는 각 파이프라인 처리 장치(10)에 있어서 요구를 수신하고 나서 판정 결과 통지부(24)에 의해 판정 결과를 통지하기까지의 시간을 흡수하기 위한 것으로, 각 파이프라인 처리 장치(10)에 대하여 동기를 취하기 위한 것이다.
환언하면, 요구 통지부(31)로부터 LCST 집약 논리(33)까지의 사이에는 각 파이프라인 처리 장치(10)에 있어서 요구를 수신하고 나서 판정 결과 통지부(24)에 의해 판정 결과를 통지하기까지의 처리 시간과 같은 시간을 들여서 요구가 이행되는 만큼의 수의 레지스터(32a)가 갖추어져 있다.
LCST 집약 논리(33)는 파이프라인 레지스터(32)에 개장되고, 각 파이프라인 처리 장치(10)의 판정 결과 통지부(24)로부터 LCST-SB0∼LCST-SB7로써 통지된 유지 판정부(21)에 의한 판정 결과(도 2에 도시하는 "CST") 및 비지 판정부(22)에 의한 판정 결과(도 3에 도시하는 "ABTST")를 집약하는 것이다.
GCST 생성 논리(34)는 파이프라인 레지스터(32)의 후단에 구비되고, LCST 집약 논리(33)에 의해 집약된 각 파이프라인 처리 장치(10)의 유지 판정부(21) 및 비지 판정부(22)에 의한 판정 결과에 기초하여 요구를 복수의 파이프라인 처리 장치(10) 중 하나의 파이프라인 처리 장치(10)에 담당시키기 위한 것으로, 결정부(35) 및 결정 결과 통지부(36)를 구비하여 구성되어 있다.
결정부(35)는 요구에 대한 본 정보 처리 시스템(1)의 최종적인 동작을 확정하는 것으로, LCST 집약 논리(33)에 의해 집약된 판정 결과에 기초하여 상기 요구를 실행시킬 것이지 여부 및 상기 요구를 실행시킬 경우에는 복수의 파이프라인 처리 장치(10) 중에서 상기 요구를 담당시키는 하나의 파이프라인 처리 장치(10)를 결정하는 것이다.
결정 결과 통지부(36)는 결정부(35)에 의해 결정된 상기 요구의 최종적인 동작(결정 결과)을 GCST(Global Cache Status; 도면 중 GCST-SB0∼GCST-SB7 로 표기)로써 각 파이프라인 처리 장치(10)의 GCST 판정 논리(28)에 동시에 통지하는 것이다.
여기서, 결정부(35)에 의한 요구에 대한 최종적인 동작 확정 방법에 관해서, 도 5∼도 8에 도시하는 예를 참조하면서 설명한다. 또한, 도 5∼도 8은 설명의 간 략화 및 도면의 간략화를 위해서 파이프라인 처리 장치(10-3∼10-7)를 생략하고, 또한 제어 장치(30)에는 LCST 집약 논리(33)만을 도시하고, 파이프라인 처리 장치(10-0∼10-2)에는 데이터 정보 유지부(14) 및 LCST 생성 논리(20)만을 도시하고 있다. 또한, 도 5∼도 8에 도시하는 예는 제어 장치(30)로부터 각 파이프라인 처리 장치(10)에 메모리 판독의 요구(이하, 판독 요구라고 한다)가 발행(통지)된 경우를 도시한다.
우선, 도 5에 도시한 예는 각 파이프라인 처리 장치(10-0∼10-2)의 LCST 생성 논리(20)의 비지 판정부(22)가 요구 큐(13)의 비지 상태를 검출하지 않고 (ABTST:"00"), 파이프라인 처리 장치(10-0)의 유지 판정부(21)가 상기 판독 요구의 데이터에 대하여 DIMM 히트를 검출하고(CST: "0001"), 파이프라인 처리 장치(10-1, 10-2)의 유지 판정부(21)가 상기 판독 요구의 데이터를 검출하지 않은(CST : "0000") 경우이다.
이 때, LCST 집약 논리(33)는 도 5에 도시하는 바와 같이, 각 파이프라인 처리 장치(10-0∼10-2)로부터 통지된 판정 결과를 집약한다.
그리고, GCST 생성 논리(34)의 결정부(35)는 LCST 집약 논리(33)에 의해 집약된 판정 결과에 기초하여 상기 판독 요구에 대한 최종적인 동작을 결정한다.
여기서는, 각 파이프라인 처리 장치(10-0∼10-2) 중 어느 것에서도 요구 큐(13)의 비지가 검출되지 않고, 파이프라인 처리 장치(10-0)만이 DIMM 히트를 검출하고 있기 때문에, 결정부(35)는 상기 판독 요구를 파이프라인 처리 장치(10-0)에 담당시킨다는 결정을 행한다. 즉, 결정 결과 통지부(36)가 파이프라인 처리 장치 (10-1)의 요구 큐(13)에 대하여 접속된 연산부(A 또는 B)의 DIMM에 판독 액세스를 실행시키는 SLAVE_REQ(REQUEST)를 발행한다.
또한, 이 결정부(35)에 의한 결정 결과가 결정 결과 통지부(36)에 의해 각 파이프라인 처리 장치(10-0∼10-2)에 통지되면 파이프라인 처리 장치(10-0)에서는 GCST 판정 논리(28)가 파이프라인 레지스터(12)에 유지된 상기 판독 요구를 요구 큐(13)에 유효 엔트리로서 등록하는 한편, 파이프라인(10-1, 10-2)에서는 GCST 판정 논리(28)가 파이프라인 레지스터(12)에 유지된 상기 판독 요구를 무효화한다.
다음에, 도 6에 도시하는 예에 관해서 설명한다. 도 6에 도시하는 예는 각 파이프라인 처리 장치(10-0∼10-2)의 LCST 생성 논리(20)의 비지 판정부(22)가 요구 큐(13)의 비지 상태를 검출하지 않고(ABTST: "00"), 파이프라인 처리 장치(10-0)의 유지 판정부(21)가 상기 판독 요구의 데이터에 대하여 DIMM 히트를 검출하고(CST: "0001"), 파이프라인 처리 장치(10-1)의 유지 판정부(21)가 상기 판독요구의 데이터에 대하여 Modify 히트를 검출하고(CST: "0101"), 파이프라인 처리 장치(10-2)의 유지 판정부(21)가 상기 판독 요구의 데이터를 검출하지 않은(CST: "0000") 경우이다.
이 때, 도 6에 도시하는 바와 같이, LCST 집약 논리(33)에 의해 판정 결과가 집약되고, 결정부(35)는 각 파이프라인 처리 장치(10-0∼10-2) 중 어느 것에서도 요구 큐(13)의 비지가 검출되지 않기 때문에, DIMM 히트(CST: "0001") 보다도 우선도가 높은 Modify 히트(CST: "0101")를 검출한 파이프라인 처리 장치(10-1)에 상기 판독 요구를 담당시키는 결정을 행한다.
즉, 결정부(35)는 파이프라인 처리 장치(10-0)에는 접속된 연산부(A 또는 B)의 DIMM에 판독 액세스를 실행시키지 않고서, 파이프라인 처리 장치(10-1)에 접속된 연산부(A 또는 B)에 대한 판독 액세스를 실행시킨다.
또한, 이 결정부(35)에 의한 결정 결과를 받으면 파이프라인 처리 장치(10-0, 10-2)에서는 파이프라인 레지스터(12)에 유지된 상기 판독 요구가 무효화되고, 파이프 라인 처리 장치(10-1)에서는 상기 판독 요구가 요구 큐(13)에 유효 엔트리로서 등록된다.
다음에, 도 7에 도시하는 예에 관해서 설명한다. 도 7에 도시하는 예는 각 파이프라인 처리 장치(10-0∼10-2)의 LCST 생성 논리(20)의 비지 판정부(22)가 요구 큐(13)의 비지 상태를 검출하지 않고(ABTST: "00"), 파이프라인 처리 장치(10-0)의 유지 판정부(21)가 상기 판독 요구의 데이터에 대하여 DIMM 히트를 검출하고(CST: "0001"), 파이프라인 처리 장치(10-1)의 유지 판정부(21)가 상기 판독요구의 데이터에 대하여 Shared-Double 히트를 검출하고(CST: "0011"), 파이프라인 처리 장치(10-2)의 유지 판정부(21)가 상기 판독 요구의 데이터에 대하여 Shared-Single 히트를 검출한(CST: "0010") 경우이다.
이 때, 도 7에 도시하는 바와 같이, LCST 집약 논리(33)에 의해 판정 결과가 집약되고, 결정부(35)는 각 파이프라인 처리 장치(10-0∼10-2) 중 어느 것에서도 요구 큐(13)의 비지가 검출되지 않기 때문에, 가장 우선도가 높은 Shared-Double 히트(CST: "0011")를 검출한 파이프라인 처리 장치(10-1)에 상기 판독 요구를 담당시키는 결정을 행한다.
또한, 이 경우에도 파이프라인 처리 장치(10-0, 10-2)에서는 상기 판독 요구가 무효화되고, 파이프라인 처리 장치(10-1)에서는 상기 판독 요구가 요구 큐(13)에 유효 엔트리로서 등록된다.
다음에, 도 8에 도시한 예에 관해서 설명한다. 도 8에 도시하는 예는 파이프라인 처리 장치(10-0, 10-2)의 LCST 생성 논리(20)의 비지 판정부(22)가 요구 큐(13)의 비지 상태를 검출하지 않고(ABTST: "00"), 파이프라인 처리 장치(10-1)의 비지 판정부(22)가 요구 큐(13)의 비지 상태를 검출한(ABTST : "10") 경우로서, 파이프라인 처리 장치(10-0)의 유지 판정부(21)가 상기 판독 요구의 데이터에 대하여 DIMM 히트를 검출하고(CST: "0001"), 파이프라인 처리 장치(10-1)의 유지 판정부(21)가 상기 판독 요구의 데이터에 대하여 Modify 히트를 검출하고(CST: "0101"), 파이프라인 처리 장치(10-2)의 유지 판정부(21)가 상기 판독 요구의 데이터를 검출하지 않은(CST: "0000") 경우이다.
이 때, 도 8에 도시한 바와 같이, LCST 집약 논리(33)에 의해 판정 결과가 집약되고, 결정부(35)는 파이프라인 처리 장치(10-1)로 요구 큐(13)의 Busy가 검출되기 때문에(ABTST: "10"), 상기 판독 요구를 어느 쪽의 파이프라인 처리 장치(10-0∼10-2)에도 담당시키지 않고서, 상기 판독 요구를 재차 실행시키도록 상기 요구를 요구 통지부(31)에 재차 투입시킨다.
따라서, 이 경우에는 파이프라인 처리 장치(10-0∼10-2) 중 어디에 대해서도 상기 판독 요구의 무효가 발행되어 각 파이프라인 처리 장치(10-0∼10-2)에서는 상기 판독 요구가 무효화된다.
이와 같이, 결정부(35)는 LCST 집약 논리(33)에 의해 집약된 판정 결과의 우선도(도 2 및 도 3 참조)에 기초하여 요구에 대한 최종적인 동작을 결정한다. 이 때, 각 파이프라인 처리 장치(10)의 유지 판정부(21)로부터의 판정 결과에 상관없이 적어도 하나의 파이프라인 처리 장치(10)의 비지 판정부(22)에 의한 판정 결과가 "Retry" 또는 "Busy"이면 결정부(35)는 상기 요구를 어느 쪽 파이프라인 처리 장치(10)에도 담당시키지 않고서 상기 요구를 재시도시키도록 상기 요구를 요구 통지부(31)에 재차 투입시킨다.
이처럼, 본 발명의 일 실시예로서의 정보 처리 시스템(1)에 의하면 각 파이프라인 처리 장치(10)에 LCST 생성 논리(20)로부터 요구 큐(13)까지 사이의 레지스터(12a)에 유지된 유효 요구를 카운트하기 위한 파이프라인 비지 카운터(25)가 구비되기 때문에, 요구가 파이프라인 레지스터(12)의 중도에 유지되어 있는 단계에서 조건 생성부(23)에 의해 상기 요구가 유효 요구인지 아닌지를 판정하기 위한 요구 큐(13)의 비지 판정을 비지 판정부(22)가 확실하게 실행할 수 있다.
더구나, 파이프라인 비지 카운터(25)가 조건 생성부(23)가 유효 요구라고 판정한 경우에 카운터를 인크리멘트함과 동시에, 최종단의 레지스터(12a)를 요구가 통과했을 때에 카운터를 디크리먼트하기 위해서, LCST 생성 논리(20)로부터 요구 큐(13)까지 사이의 레지스터(12a) 하나 하나에 대하여 유효/무효의 어느 쪽 요구가 유지되어 있는가를 판별하기 위한 회로 등을 설치할 필요가 없고, 적은 자원으로 이러한 사이의 유효 요구 수를 카운트하여 요구 큐(13)의 비지 판정을 행할 수 있다.
또한, CST 생성 논리(20)로부터 요구 큐(13)까지 사이의 레지스터(12a)의 수에 상관없이 이러한 사이의 레지스터(12a)의 수가 방대하더라도 파이프라인 비지 카운터(25)를 사용함으로써, 이러한 사이의 레지스터(12a)에 유지되어 있는 유효 요구를 정확히 카운트할 수 있어 요구 큐(13)의 비지 관리를 확실하게 행할 수 있다.
또한, 유효 엔트리수 계수 논리(26) 및 가산기(27)를 구비하여 구성되기 때문에, 비지 판정부(22)가 가산기(27)에 의해 산출된 파이프라인 비지 카운터(25)의 유효 요구 수와 유효 엔트리수 계수 논리(26)의 유효 엔트리수와의 합이 요구 큐(13)의 모든 엔트리수와 같은지 여부를 판정하는 것만으로 요구 큐(13)의 비지 판정을 행할 수 있어 비지 판정부(22)를 간단한 구성으로 할 수 있다.
〔2〕기타
또한, 본 발명은 전술한 실시예에 한정되는 것은 아니며, 본 발명의 취지를 벗어나지 않는 범위에서 여러 가지 변형하여 실시할 수 있다.
예컨대, 전술한 실시예에서는 제어 장치(30)에는 각 파이프라인 처리 장치(10)가 접속되어 있는 예를 일례로서 설명하였지만, 본 발명은 이것에 한정되는 것은 아니며, 제어 장치(3O)에 IOU(I/O 장치 유닛; Input/Output Unit)가 접속되고, 이 IOU에 대해서도 요구를 실행시키기 위해서 요구를 통지하도록 구성되고, 또한, LCST 집약 논리로써 IOU 로부터의 판정 결과(LCST)를 집약하여 GCST 생성 논리로써 IOU 및 각 파이프라인 처리 장치(10)를 포함한 상기 요구의 최종적인 동작을 확정하고, 이들 IOU 및 각 파이프라인 처리 장치(10)에 통지하도록 구성되어 있어도 좋 다. 또한, 이 경우에는 상기 도 1에 도시한 바와 같이 각 파이프라인 처리 장치(10)로부터의 판정 결과의 집약과, IOU 로부터의 판정 결과의 집약과의 동기를 취하기 위한 레지스터(32a)가 구비되는 것이 바람직하다.
또한, 전술한 각 파이프라인 처리 장치의 유지 판정부(21), 비지 판정부(22), 조건 생성부(23), 판정 결과 통지부(24), 파이프라인 비지 카운터(25), 유효 엔트리수 계수 논리(26), 가산기(27), GCST 판정 논리(28) 및 제어 장치(30)의 요구 통지부(31), LCST 집약 논리(33), 결정부(35), 결정 결과 통지부(36)로서의 기능은 컴퓨터(CPU, 정보 처리 장치, 각종 단말을 포함한다)가 소정의 어플리케이션 프로그램(비지 판정 프로그램)을 실행함으로써 실현되어도 좋다.
그 프로그램은 예컨대 플렉시블 디스크, CD(CD-ROM, CD-R, CD-RW 등), DVD(DVD-ROM, DVD-RAM, DVD-R, DVD-RW, DVD+R, DVD+RW 등) 등의 컴퓨터 판독 가능한 기록 매체에 기록된 형태로 제공된다. 이 경우, 컴퓨터는 그 기록 매체로부터 예컨대 비지 판정 프로그램을 판독하여 내부 기억 장치 또는 외부 기억 장치로 전송하고 저장하여 이용한다. 또한, 그 프로그램을 예컨대 자기 디스크, 광 디스크, 광자기 디스크 등의 기억 장치(기록 매체)에 기록해 두고, 그 기억 장치로부터 통신 회선을 통해 컴퓨터에 제공하도록 해도 좋다.
여기서, 컴퓨터란 하드웨어와 OS(운영 체제)를 포함하는 개념이며, OS의 제어하에서 동작하는 하드웨어를 의미한다. 또한, 0S가 불필요하고 응용 프로그램 단독으로 하드웨어를 동작시키는 경우에는, 그 하드웨어 자체가 컴퓨터에 상당한다. 하드웨어는 적어도 CPU 등의 마이크로 프로세서와, 기록 매체에 기록된 컴퓨터 프 로그램을 판독하기 위한 수단을 구비하고 있다.
상기 비지 판정 프로그램으로서의 응용 프로그램은 전술한 바와 같은 컴퓨터에 유지 판정부(21), 비지 판정부(22), 조건 생성부(23), 판정 결과 통지부(24), 파이프라인 비지 카운터(25), 유효 엔트리수 계수 논리(26), 가산기(27), GCST 판정 논리(28), 요구 통지부(31), LCST 집약 논리(33), 결정부(35) 및 결정 결과 통지부(36)로서의 기능을 실현시키는 프로그램 코드를 포함하고 있다. 또한, 그 기능의 일부는 응용 프로그램이 아니라 OS에 의해 실현해도 좋다.
또한, 본 실시예로서의 기록 매체로서는 전술한 플렉시블 디스크, CD, DVD, 자기 디스크, 광 디스크, 광자기 디스크 외에 IC 카드, ROM 카트리지, 자기 테이프, 펀치 카드, 컴퓨터의 내부 기억 장치(RAM이나 ROM 등의 메모리), 외부 기억 장치 등이나 바코드 등의 부호가 인쇄된 인쇄물 등의 컴퓨터 판독가능한 여러 가지의 매체를 이용할 수도 있다.
이와 같이, 본 발명에 따르면 각 파이프라인 처리 장치에 판정부에서 요구 큐까지의 사이의 레지스터에 유지된 유효 요구를 카운트하는 제1 카운터가 구비되기 때문에, 요구가 파이프라인 레지스터의 중도에 유지되어 있는 단계에서 상기 요구가 유효 요구인지 아닌지를 판정하기 위해서 이용하는 요구 큐의 비지 판정을 비지 판정부가 확실하게 실행할 수 있다.
더구나, 제1 카운터가 판정부에서 요구 큐까지의 사이의 복수의 레지스터에 유지된 유효 요구 수를 카운트하기 위해서 이러한 복수의 레지스터 하나 하나에 대 하여 유효/무효의 어느 쪽 요구가 유지되어 있는가를 판별하기 위한 회로 등을 설치할 필요가 없이도 하드 자원을 증대시키는 일이 없다.

Claims (19)

  1. 요구를 실행하는 연산부에 접속되고 상호 동기하면서 파이프라인 처리를 실행하는 복수의 파이프라인 처리 장치와:
    요구를 상기 복수의 파이프라인 처리 장치에 통지함과 동시에 상기 요구에 대한 최종적인 동작을 결정하는 제어 장치로 이루어지는 정보 처리 시스템으로서,
    상기 복수의 파이프라인 처리 장치의 각각은,
    상기 제어 장치에 의해 통지되는 요구를 유지할 수 있는 복수단의 레지스터로 이루어지고, 상기 요구를 상류측에서 하류측의 순으로 이행시키면서 유지하는 파이프라인 레지스터와;
    상기 파이프라인 레지스터의 후단에 구비되는 요구 큐와;
    상기 파이프라인 레지스터 사이에 삽입되고, 상기 요구가 상기 요구 큐에 유지될 수 있는 유효 요구인지 아닌지를 판정하는 판정부와;
    상기 판정부에서 상기 요구 큐까지의 사이의 상기 레지스터에 있어서의 상기 유효 요구의 수를 카운트하는 제1 카운터와;
    상기 제1 카운터에 의해 카운트되는 상기 유효 요구 수에 기초하여 상기 요구 큐가 비지 상태인지 여부를 판정하는 비지 판정부와;
    상기 비지 판정부에 의한 비지 상태 판정 결과를 상기 제어 장치에 통지하는 판정 결과 통지부를 구비하고,
    상기 판정부는 상기 비지 판정부에 의한 비지 상태 판정 결과에 기초하여 상 기 판정을 행하도록 구성됨과 동시에,
    상기 제어 장치는,
    요구를 상기 복수의 파이프라인 처리 장치에 동시에 통지하는 요구 통지부와;
    상기 복수의 파이프라인 처리 장치의 상기 판정 결과 통지부에서 통지되는 상기 비지 상태 판정 결과에 기초하여 상기 요구에 대한 최종적인 동작을 결정하는 결정부와;
    상기 결정부에 의한 결정 결과를 상기 복수의 파이프라인 처리 장치에 동시에 통지하는 결정 결과 통지부를 구비하여 구성되어 있는 것을 특징으로 하는 정보 처리 시스템.
  2. 제1항에 있어서, 상기 비지 판정부에 의해 상기 요구 큐가 비지 상태라고 판정된 경우, 상기 판정부는 상기 요구를 상기 유효 요구로 판정하지 않는 것을 특징으로 하는 정보 처리 시스템.
  3. 제1항 또는 제2항에 있어서, 상기 복수의 파이프라인 처리 장치의 각각은,
    상기 요구 큐의 유효 엔트리수를 카운트하는 제2 카운터와,
    상기 제1 카운터에 의해 카운트된 상기 유효 요구 수와 상기 제2 카운터에 의해 카운트된 상기 유효 엔트리수와의 합을 산출하는 산출부를 구비하고,
    상기 비지 판정부는 상기 산출부에 의해 산출되는 상기 합과 상기 요구 큐가 구비하는 모든 엔트리수를 비교하여 상기 합이 상기 모든 엔트리수와 같은 경우에 상기 요구 큐가 비지 상태라고 판정하는 것을 특징으로 하는 정보 처리 시스템.
  4. 제3항에 있어서, 상기 제2 카운터는 상기 요구 큐에 상기 유효 요구가 상기 유효 엔트리로서 새롭게 엔트리되었을 때에, 상기 유효 엔트리수를 하나 카운트업하는 한편, 상기 요구 큐에 유지되어 있던 상기 유효 엔트리에 관한 요구 처리가 완료되면, 상기 유효 엔트리수를 하나 카운트 다운하는 것을 특징으로 하는 정보 처리 시스템.
  5. 제1항 또는 제2항에 있어서, 상기 제1 카운터는 상기판정부가 상기 요구를 상기 유효 요구라고 판정하면, 상기 유효 요구 수를 하나 카운트 업하는 한편, 상기 유효 요구가 상기 파이프라인 레지스터의 최종단 레지스터를 통과하면 상기 유효 요구 수를 하나 카운트 다운하는 것을 특징으로 하는 정보 처리 시스템.
  6. 제1항 또는 제2항에 있어서, 상기 복수의 파이프라인 처리 장치의 각각은,
    상기 제어 장치의 상기 결정 결과 통지부에서 통지된 상기 결정 결과가 상기 요구를 자신이 담당하는 것일 경우, 상기 요구를 상기 요구 큐에 상기 유효 엔트리로서 엔트리하는 한편, 상기 결정 결과가 상기 요구를 자신이 담당하는 것이 아닌 경우, 상기 요구를 무효화하는 확정부를 구비하여 구성되어 있는 것을 특징으로 하는 정보 처리 시스템.
  7. 제1항 또는 제2항에 있어서, 상기 복수의 파이프라인 처리 장치의 각각은,
    자신에게 접속된 상기 연산부의 기억부에 유지된 데이터에 관한 데이터 정보를 유지하는 데이터 정보 유지부와,
    상기 제어 장치로부터 통지된 상기 요구에 사용되는 데이터를 자신에게 접속된 상기 연산부가 유지하고 있는지 여부를 상기 데이터 정보 유지부에 유지된 상기 데이터 정보에 기초하여 판정하는 유지 판정부를 구비하고,
    상기 판정 결과 통지부는 상기 유지 판정부에 의한 유지 판정 결과를 상기 제어 장치에 통지함과 동시에,
    상기 판정부는 상기 유지 판정부에 의한 유지 판정 결과에 기초하여 상기 판정을 행하는 것을 특징으로 하는 정보 처리 시스템.
  8. 제7항에 있어서, 상기 제어 장치의 상기 결정부는 상기 복수의 파이프라인 처리 장치의 상기 판정 결과 통지부에서 통지되는 상기 유지 판정부에 의한 유지 판정 결과에 기초하여 상기 요구에 대한 최종적인 동작을 결정하는 것을 특징으로 하는 정보 처리 시스템.
  9. 제7항에 있어서, 상기 유지 판정부는 상기 데이터 정보에 기초하여 상기 요구에 사용되는 상기 데이터가 최신의 데이터인지 아닌지를 판정하도록 구성되고,
    상기 유지 판정부가 상기 요구에 사용되는 상기 데이터가 최신의 데이터라고 판정한 경우에는, 상기 판정 결과 통지부는 상기 요구에 사용되는 최신의 데이터를 유지하고 있는 것을 나타내는 정보를 상기 유지 판정부에 의한 유지 판정 결과로서 상기 제어 장치에 통지하는 것을 특징으로 하는 정보 처리 시스템.
  10. 요구를 실행하는 연산부와 요구를 통지함과 동시에 상기 요구에 대한 최종적인 동작을 결정하는 제어 장치에 접속되고, 다른 파이프라인 처리 장치와 상호 동기하면서 파이프라인 처리를 실행하는 파이프라인 처리 장치로서,
    상기 제어 장치에 의해 통지되는 요구를 유지할 수 있는 복수단의 레지스터로 이루어지고, 상기 요구를 상류측에서 하류측의 순으로 이행시키면서 유지하는 파이프라인 레지스터와;
    상기 파이프라인 레지스터의 후단에 구비되는 요구 큐와;
    상기 파이프라인 레지스터 사이에 삽입되고, 상기 요구가 상기 요구 큐에 유지될 수 있는 유효 요구인지 여부를 판정하는 판정부와;
    상기 판정부에서 상기 요구 큐까지의 사이의 상기 레지스터에 있어서의 상기 유효 요구의 수를 카운트하는 제1 카운터와;
    상기 제1 카운터에 의해 카운트되는 상기 유효 요구 수에 기초하여 상기 요구 큐가 비지 상태인지 여부를 판정하는 비지 판정부와;
    상기 비지 판정부에 의한 비지 상태 판정 결과를 상기 제어 장치에 통지하는 판정 결과 통지부
    를 구비하고,
    상기 판정부는 상기 비지 판정부에 의한 비지 상태 판정 결과에 기초하여 상기 판정을 행하는 것을 특징으로 하는 파이프라인 처리 장치.
  11. 제10항에 있어서, 상기 비지 판정부에 의해 상기 요구 큐가 비지 상태라고 판정된 경우, 상기 판정부는 상기 요구를 상기 유효 요구로 판정하지 않는 것을 특징으로 하는 파이프라인 처리 장치.
  12. 제10항 또는 제11항에 있어서, 상기 요구 큐의 유효 엔트리수를 카운트하는 제2 카운터와,
    상기 제1 카운터에 의해 카운트된 상기 유효 요구 수와 상기 제2 카운터에 의해 카운트된 상기 유효 엔트리수와의 합을 산출하는 산출부를 구비하고,
    상기 비지 판정부는 상기 산출부에 의해 산출되는 상기 합과 상기 요구 큐가 구비되는 모든 엔트리수를 비교하여 상기 합이 상기 모든 엔트리수와 같은 경우에, 상기 요구 큐가 비지 상태라고 판정하는 것을 특징으로 하는 파이프라인 처리 장치.
  13. 제12항에 있어서, 상기 제2 카운터는 상기 요구 큐에 상기 유효 요구가 상기 유효 엔트리로서 새롭게 엔트리되었을 때에, 상기 유효 엔트리수를 하나 카운트 업하는 한편, 상기 요구 큐에 유지되어 있던 상기 유효 엔트리에 관한 요구 처리가 완료되면 상기 유효 엔트리수를 하나 카운트 다운하는 것을 특징으로 하는 파이프 라인 처리 장치.
  14. 제10항 또는 제11항에 있어서, 상기 제1 카운터는 상기 판정부가 상기 요구를 상기 유효 요구라고 판정하면, 상기 유효 요구 수를 하나 카운트 업하는 한편, 상기 유효 요구가 상기 파이프라인 레지스터의 최종단 레지스터를 통과하면, 상기 유효 요구 수를 하나 카운트 다운하는 것을 특징으로 하는 파이프라인 처리 장치.
  15. 제10항 또는 제11항에 있어서, 상기 제어 장치로부터 통지된 상기 요구에 대한 최종적인 결정 결과가 상기 요구를 자신이 담당하는 것인 경우, 상기 요구를 상기 요구 큐에 상기 유효 엔트리로서 엔트리하는 한편, 상기 요구를 자신이 담당하는 것이 아닌 경우, 상기 요구를 무효화하는 확정부를 구비하여 구성되어 있는 것을 특징으로 하는 파이프라인 처리 장치.
  16. 제10항 또는 제11항에 있어서, 자신에게 접속된 상기 연산부의 기억부에 유지된 데이터에 관한 데이터 정보를 유지하는 데이터 정보 유지부와,
    상기 제어 장치로부터 통지된 상기 요구에 사용되는 데이터를 자신에게 접속된 상기 연산부가 유지하고 있는지 여부를 상기 데이터 정보 유지부에 유지된 상기 데이터 정보에 기초하여 판정하는 유지 판정부를 구비하고,
    상기 판정 결과 통지부는 상기 유지 판정부에 의한 유지 판정 결과를 상기 제어 장치에 통지함과 동시에,
    상기 판정부는 상기 유지 판정부에 의한 유지 판정 결과에 기초하여 상기 판정을 행하는 것을 특징으로 하는 파이프라인 처리 장치.
  17. 제16항에 있어서, 상기 유지 판정부는 상기 데이터 정보에 기초하여 상기 요구에 사용되는 상기 데이터가 최신의 데이터인지 여부를 판정하도록 구성되고,
    상기 유지 판정부가 상기 요구에 사용되는 상기 데이터가 최신의 데이터라고 판정한 경우에는, 상기 판정 결과 통지부는 상기 요구에 사용되는 최신의 데이터를 유지하고 있는 것을 나타내는 정보를 상기 유지 판정부에 의한 유지 판정 결과로서 상기 제어 장치에 통지하는 것을 특징으로 하는 파이프라인 처리 장치.
  18. 요구를 실행하는 연산부와, 요구를 통지함과 동시에 상기 요구에 대한 최종적인 동작을 결정하는 제어 장치에 접속되고, 상기 제어 장치에 의해 통지되는 요구를 유지할 수 있는 복수단의 레지스터로 이루어지고, 상기 요구를 상류측에서 하류측의 순으로 이행시키면서 유지하는 파이프라인 레지스터와, 상기 파이프라인 레지스터의 후단에 구비되는 요구 큐를 구비하고, 상호 동기하면서 파이프라인 처리를 실행하는 복수의 파이프라인 처리 장치의 각각에 있어서 상기 요구가 상기 파이프라인 레지스터의 중도에 유지되어 있는 단계에서 상기 요구에 대한 상기 요구 큐의 비지 상태를 판정하는 기능을 컴퓨터로 실현시키기 위한 비지 판정 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체로서,
    상기 비지 판정 프로그램이,
    상기 요구가 상기 파이프라인 레지스터의 중도에 유지되어 있는 단계에서, 상기 요구가 상기 요구 큐에 유지될 수 있는 유효 요구인지 아닌지의 판정을 행하는 판정부,
    상기 판정부에서 상기 요구 큐까지의 사이의 상기 레지스터에 있어서의 상기 유효 요구의 수를 카운트하는 제1 카운터, 및
    상기 제1 카운터에 의해 카운트되는 상기 유효 요구 수에 기초하여 상기 요구 큐가 비지 상태인지 아닌지를 판정하는 비지 판정부로서, 상기 컴퓨터를 기능시킴과 동시에,
    상기 판정부는 상기 비지 판정부에 의한 비지 상태 판정 결과에 기초하여 상기 판정을 행하도록 상기 컴퓨터를 기능시키는 것을 특징으로 하는 비지 판정 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체.
  19. 제18항에 있어서, 상기 요구 큐의 유효 엔트리수를 카운트하는 제2 카운터, 및
    상기 제1 카운터에 의해 카운트된 상기 유효 요구 수와 상기 제2 카운터에 의해 카운트된 상기 유효 엔트리수와의 합을 산출하는 산출부로서, 상기 컴퓨터를 기능시킴과 동시에,
    상기 비지 판정부는 상기 산출부에 의해 산출되는 상기 합과 상기 요구 큐가 구비하는 모든 엔트리수를 비교하여 상기 합이 상기 모든 엔트리수와 같은 경우에, 상기 요구 큐가 비지 상태라고 판정하도록 상기 컴퓨터를 기능시키는 것을 특징으 로 하는 비지 판정 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체.
KR1020050066133A 2005-03-16 2005-07-21 정보 처리 시스템, 파이프라인 처리 장치, 및 비지 판정프로그램을 기록한 컴퓨터로 판독가능한 기록 매체 KR100660458B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005075091A JP4368320B2 (ja) 2005-03-16 2005-03-16 情報処理システム,パイプライン処理装置,ビジー判定プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JPJP-P-2005-00075091 2005-03-16

Publications (2)

Publication Number Publication Date
KR20060101157A true KR20060101157A (ko) 2006-09-22
KR100660458B1 KR100660458B1 (ko) 2006-12-22

Family

ID=36577486

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050066133A KR100660458B1 (ko) 2005-03-16 2005-07-21 정보 처리 시스템, 파이프라인 처리 장치, 및 비지 판정프로그램을 기록한 컴퓨터로 판독가능한 기록 매체

Country Status (5)

Country Link
US (1) US7490219B2 (ko)
EP (1) EP1703376A3 (ko)
JP (1) JP4368320B2 (ko)
KR (1) KR100660458B1 (ko)
CN (1) CN100414495C (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217305B (zh) * 2008-01-02 2011-05-04 华为技术有限公司 专用物理数据信道数据的处理方法和装置
US8843651B2 (en) * 2009-06-30 2014-09-23 Oracle America, Inc. Software aware throttle based flow control
US20160006526A1 (en) * 2014-07-03 2016-01-07 Qualcomm Incorporated Systems and methods of network clock comparison
CN104239130B (zh) * 2014-08-15 2020-09-11 北京配天技术有限公司 人机交互界面对操作指令响应的控制方法及终端
JP6996099B2 (ja) * 2017-03-24 2022-01-17 日本電気株式会社 データ処理システム及びデータ処理方法
CN107770090B (zh) * 2017-10-20 2020-05-01 深圳市楠菲微电子有限公司 用于控制流水线中寄存器的方法和装置
US10684797B2 (en) * 2018-08-31 2020-06-16 Micron Technology, Inc. Command-in-pipeline counter for a memory device
CN111104166B (zh) * 2019-12-13 2022-09-06 北京新忆科技有限公司 寄存器的写入方法和写入装置
CN111241622A (zh) * 2020-01-19 2020-06-05 杭州群核信息技术有限公司 一种自适应水暖电管线调整系统及方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847755A (en) * 1985-10-31 1989-07-11 Mcc Development, Ltd. Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies
JPH0527224Y2 (ko) 1987-07-03 1993-07-12
JPS6410332A (en) 1987-07-03 1989-01-13 Hitachi Ltd Pipeline control system
JPH04367031A (ja) 1991-06-14 1992-12-18 Nec Eng Ltd バッファ制御方式
US6006318A (en) * 1995-08-16 1999-12-21 Microunity Systems Engineering, Inc. General purpose, dynamic partitioning, programmable media processor
US5860018A (en) * 1997-06-25 1999-01-12 Sun Microsystems, Inc. Method for tracking pipeline resources in a superscalar processor
US6633916B2 (en) * 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
JPH11306020A (ja) 1998-04-20 1999-11-05 Fujitsu Ltd 情報処理装置におけるブロックストア命令の実行制御方式
US6249855B1 (en) * 1998-06-02 2001-06-19 Compaq Computer Corporation Arbiter system for central processing unit having dual dominoed encoders for four instruction issue per machine cycle
US6938147B1 (en) * 1999-05-11 2005-08-30 Sun Microsystems, Inc. Processor with multiple-thread, vertically-threaded pipeline
US6505293B1 (en) * 1999-07-07 2003-01-07 Intel Corporation Register renaming to optimize identical register values
US6711670B1 (en) 1999-10-14 2004-03-23 Hewlett-Packard Development Company, L.P. System and method for detecting data hazards within an instruction group of a compiled computer program
US6490674B1 (en) 2000-01-28 2002-12-03 Hewlett-Packard Company System and method for coalescing data utilized to detect data hazards
WO2001063434A1 (en) * 2000-02-24 2001-08-30 Bops, Incorporated Methods and apparatus for dual-use coprocessing/debug interface
KR100783687B1 (ko) * 2000-10-23 2007-12-07 더 트러스티스 오브 콜롬비아 유니버시티 인 더 시티 오브 뉴욕 래치 제어기를 갖는 비동기 파이프라인
US7337306B2 (en) * 2000-12-29 2008-02-26 Stmicroelectronics, Inc. Executing conditional branch instructions in a data processor having a clustered architecture
US6961821B2 (en) * 2002-10-16 2005-11-01 International Business Machines Corporation Reconfigurable cache controller for nonuniform memory access computer systems
US7272664B2 (en) * 2002-12-05 2007-09-18 International Business Machines Corporation Cross partition sharing of state information

Also Published As

Publication number Publication date
CN100414495C (zh) 2008-08-27
EP1703376A2 (en) 2006-09-20
KR100660458B1 (ko) 2006-12-22
CN1834900A (zh) 2006-09-20
EP1703376A3 (en) 2008-01-23
US7490219B2 (en) 2009-02-10
JP4368320B2 (ja) 2009-11-18
US20060212683A1 (en) 2006-09-21
JP2006260013A (ja) 2006-09-28

Similar Documents

Publication Publication Date Title
KR100660458B1 (ko) 정보 처리 시스템, 파이프라인 처리 장치, 및 비지 판정프로그램을 기록한 컴퓨터로 판독가능한 기록 매체
CN101410797B (zh) 无序处理器中的事务存储器执行的方法、设备和系统
CN101751246B (zh) 预取数据的系统和方法
CN102541771B (zh) 微处理器以及快取数据的方法
US20070050562A1 (en) Method for proactive synchronization within a computer system
US20130238861A1 (en) Multimode prefetcher
US8392666B2 (en) Low power high speed load-store collision detector
US20080288691A1 (en) Method and apparatus of lock transactions processing in single or multi-core processor
JP2006309757A (ja) メモリーに送るコマンドの選択方法、メモリーコントローラー、コンピュータシステム
US7058767B2 (en) Adaptive memory access speculation
CN113791892B (zh) 数据通路仲裁方法、数据通路仲裁装置及芯片
US6816932B2 (en) Bus precharge during a phase of a clock signal to eliminate idle clock cycle
US6678767B1 (en) Bus sampling on one edge of a clock signal and driving on another edge
US20140379995A1 (en) Semiconductor device for controlling prefetch operation
US8732377B2 (en) Interconnection apparatus and controlling method therefor
WO2023093335A1 (zh) 数据处理电路及人工智能芯片、数据处理方法和装置
CN101430650B (zh) 用于事务内存的方法和设备
US20030051103A1 (en) Shared memory system including hardware memory protection
US7809874B2 (en) Method for resource sharing in a multiple pipeline environment
US20160103776A1 (en) Transaction response modification within interconnect circuitry
CN115269199A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
US6581111B1 (en) Out-of-order probing in an in-order system
US20230236992A1 (en) Data elision
CN103019945B (zh) 一种访存指令的执行方法
CN116097229A (zh) 屏蔽存储器访问的高效处理

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121121

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131118

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141120

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee