KR0169161B1 - 정보처리 시스템과 정보처리 시스템에서의 계산방법 - Google Patents

정보처리 시스템과 정보처리 시스템에서의 계산방법 Download PDF

Info

Publication number
KR0169161B1
KR0169161B1 KR1019950022302A KR19950022302A KR0169161B1 KR 0169161 B1 KR0169161 B1 KR 0169161B1 KR 1019950022302 A KR1019950022302 A KR 1019950022302A KR 19950022302 A KR19950022302 A KR 19950022302A KR 0169161 B1 KR0169161 B1 KR 0169161B1
Authority
KR
South Korea
Prior art keywords
data
calculation
processing system
information processing
processor
Prior art date
Application number
KR1019950022302A
Other languages
English (en)
Inventor
타케하루 오시마
토시유끼 타무라
사토루 코토
히로노 쓰보다
신지 코모리
신지 나카미사
히로아끼 데라다
마코토 이와타
카쓰히토 야마구치
쥰지 오니시
아끼라 콘도
Original Assignee
기다오까 다까시
미쓰비시 뎅끼 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 기다오까 다까시, 미쓰비시 뎅끼 가부시끼가이샤 filed Critical 기다오까 다까시
Application granted granted Critical
Publication of KR0169161B1 publication Critical patent/KR0169161B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/803Three-dimensional arrays or hypercubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

근접한 요소프로세서등(3)사이의 데이타의 인터통신은 따른 요소프로세서등(3)의 연산을 방해하지 않고 각 요소프로세서등(3)등에 독립적으로 액세스할 수 있다.
따라서 메모리 액세스와 데이타 전송은 개개의 요소프로세서(3) 연산을 방해하지 않고 성취될 수 있다.
또한 비동기 통신 시스템에 의하여 미분방정식을 푸는 것이 가능하게 된다.

Description

정보처리시스템과 정보처리시스템의 계산방법
제1도는 본 발명의 제1실시예에 따른 정보처리시스템의 구조를 나타내는 블럭도.
제2도는 본 발명의 제2실시예에 따른 요소프로세서의 하드웨어 구조를 나타내는 블럭도.
제3도는 본 발명의 제3실시예에 따른 요소프로세서의 하드웨어 구조를 나타내는 블럭도.
제4도는 본 발명의 제4실시예에 따른 요소프로세서의 하드웨어 구조를 나타내는 블럭도.
제5도는 연산처리의 기본흐름을 나타내는 데이타그래프.
제6도는 본 발명의 제5실시예에 따른 3차원으로 2차원 보드를 접속함으로써 구성된 3차원계산을 행하기 위한 정보처리시스템의 구성을 나타내는 블럭도.
제7도는 본 발명의 제6실시예에 따른 비동기계산시스템에 의한 연산알골리즘을 나타내는 플로우차트.
제8도는 차분법에 의한 제어량을 설명하기 위한 개념도.
제9도는 데이타메모리에 의해 취급되는 데이타의 구조를 나타내는 도면.
제10도는 비동기계산시스템에 의한 계산알고리즘의 계산수순을 나타내는 플로우차트.
제11도는 비동기계산시스템에 의한 계산알고리즘의 계산수순을 나타내는 플로우차트.
제12도는 본 발명의 제7실시예에 따른 시간축 방향으로 파이프라인의 2차원보드 구성을 나타내는 블럭도.
제13도는 본 발명의 제8실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제14도는 본 발명의 제8실시예에 따른 정보처리시스템을 구성하는 요소프로세서의 구성을 나타내는 블럭도.
제15도는 본 발명의 제9실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제16도는 본 발명의 제9실시예에 따른 정보처리시스템을 실현화하는데 사용되는 요소프로세서의 구성을 나타내는 블럭도.
제17도는 본 발명의 제10실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제18도는 본 발명의 제10실시예에 따른 정보처리시스템을 실현화하는데 사용되는 요소프로세서의 구성을 나타내는 블럭도.
제19도는 본 발명의 제10실시예에 따른 정보처리시스템을 실현화하는데 사용되는 메모리 구성을 나타내는 블럭도.
제20도는 본 발명의 제11실시예에 따른 요소프로세서의 구성을 나타내는 블럭도.
제21도는 본 발명의 제12실시예에 따른 요소프로세서의 구성을 나타내는 블럭도.
제22도는 본 발명의 제13실시예에 따른 처리장치의 구성을 설명하기 위한 시스템플로우차트.
제23도는 본 발명의 제14실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제24도는 본 발명의 제15실시예에 따른 정보처리시스템을 실현화하는데 사용되는 요소프로세서의 구성을 나타내는 블럭도.
제25도는 본 발명의 제16실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제26도는 본 발명의 제17실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제27도는 본 발명의 제16 및 제17실시예에 따른 정보처리시스템을 실현화하는데 사용되는 요소프로세서의 구성을 나타내는 블럭도.
제28도는 본 발명의 제18실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제29도는 본 발명의 제19실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제30도는 본 발명의 제20실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제31도는 본 발명의 제21실시예에 따른 정보처리시스템의 구성을 설명하는 격자점 상태를 나타내는 평면도.
제32도는 본 발명의 제22실시예에 따른 정보처리시스템을 설명하는 프로그램 메모리의 레이아웃을 나타내는 도면.
제33도는 본 발명의 제23실시예에 따른 다이나믹 데이타 플로우 시스템에 의해 정보처리시스템을 설명하는 프로그램 메모리의 레이아웃을 나타내는 도면.
제34도는 본 발명의 제23실시예에서 각 컬러식별자용 상이데이타 메모리 어드레스를 얻기 위한 컬러포착기능을 나타내는 개념도.
제35도는 본 컬러포착기능을 실현하는 컬러식별자의 레이아웃 예를 나타내는 개념도.
제36도는 컬러포착기능을 실현하는 데이타메모리의 구성예를 나타내는 도면.
제37도는 본 발명의 제24실시예에 따른 정보처리시스템을 실현하는 데이타메모리의 구성을 나타내는 도면.
제38도는 제24실시예에 따른 격자점 사이의 통신수순을 나타내는 플로우차트.
제39도는 본 발명의 제25실시예에 따른 정보처리시스템을 실현하는 데이타메모리의 구성을 나타내는 도면.
제40도는 제25실시예에 따른 격자점 사이의 통신수순을 나타내는 플로우차트.
제41도는 각 격자점을 통신하기 위한 각 방향에서의 메모리 영역을 나타내는 계산영역의 개념도.
제42도는 제25실시예에 따른 격자점 사이의 통신을 설명하는 도면.
제43도는 본 발명의 제26실시예에 따른 더미통신용 데이타영역의 공유를 실현하는 데이타메모리의 구성을 나타내는 도면.
제44도는 더미통신용 데이타영역의 공유를 실현하는 플로우차트.
제45도는 본 발명의 제27실시예에 따른 요소프로세서 사이의 통신의 형태를 설명하는 개념도.
제46도는 본 발명의 제28실시예에 따른 간략화프로그램을 설명하는 레이아웃 도면.
제47도는 본 발명의 제29실시예에 따른 정보처리시스템의 동작을 설명하는 격자점의 관계를 나타내는 도면.
제48도는 본 발명의 제31실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제49도는 본 발명의 제32실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제50도는 본 발명의 제33실시예에 따른 정보처리시스템을 실현하는데 사용되는 요소프로세서의 구성을 나타내는 블럭도.
제51도는 본 발명의 제33실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제52도는 본 발명의 제34실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제53도는 본 발명의 제35실시예에 따른 정보처리시스템을 실현하는데 사용되는 요소프로세서의 구성을 나타내는 블럭도.
제54도는 본 발명의 제35실시예에 따른 정보처리시스템의 구성을 나타내는 블럭도.
제55도는 본 발명의 제36실시예에 따른 정보처리시스템의 동작을 설명하기 위한 엔드플레그의 전송경로를 나타내는 개념도.
제56도는 본 발명의 제36실시예에 따른 정보처리시스템의 인접격자점에 엔드플레그의 전송수순을 설명하는 플로우차트.
제57도는 본 발명의 제36실시예에 따른 정보처리시스템이 인접격자점에 엔드플레그의 전송수순을 설명하기 위한 플로우차트.
제58도는 본 발명의 제36실시예에 따른 결과데이타를 출력하는데 사용되는 메세지패킷의 구성을 나타내는 도면.
제59도는 본 발명의 제37실시예에 따른 정보처리시스템의 동작을 설명하기 위한 엔드플레그의 전송경로를 나타내는 개념도.
제60도는 본 발명의 제37실시예에 따른 정보처리시스템의 인접격자점에 대해 엔드플레그의 전송수순을 설명하기 위한 플로우차트.
제61도는 본 발명의 제37실시예에 따른 정보처리시스템의 엔드플레그의 전송용의 시작점으로 해서 이용되는 요소프로세서의 엔드플레그의 발송수순을 나타내는 플로우차트.
제62도는 본 발명의 제38실시예에 따른 정보처리시스템의 인접격자점에 대해 엔드플레그의 전송수순을 설명하기 위한 플로우차트.
제63도는 본 발명의 제38실시예에 따른 정보처리시스템의 엔드플레그의 전송용 시작점으로 이용되는 요소프로세서의 엔드플레그의 발송수순을 나타내는 플로우차트.
제64도는 본 발명의 제38실시예에 따른 정보처리시스템의 격자점에서 처리조정수순을 나타내는 플로우차트.
제65도는 본 발명의 제39실시예에 따른 정보처리시스템의 인접격자점에 대한 엔드플레그의 전송수순을 설명하는 플로우차트.
제66도는 본 발명의 제39실시예에 따른 정보처리시스템의 인접격자점에 대한 엔드플레그의 전송수순을 설명하는 플로우차트.
제67도는 본 발명의 제40실시예에 따른 정보처리시스템의 수렴 판정의 수순을 나타내는 플로우차트.
제68도는 종래 다중프로세서를 사용해서 미분방정식의 해를 구하는 시스템의 구성을 나타내는 블럭도.
제69도는 미분방정식의 해를 구하는 종래 방법을 사용하는 경우에 병렬연산의 효율성을 나타내는 그래프.
제70도는 SIMPLE방법에 의해 유체수치해석의 계산수순을 나타내는 플로우차트.
제71도는 본 발명의 제41실시예에 따른 I/O콘트롤러와 데이타메모리로 구성된 네트워크의 장치를 설명하는 블럭도.
제72도는 본 발명의 제41실시예에 따른 I/O콘트롤러와 데이타메모리로 구성된 네트워크의 다른 장치를 설명하는 블럭도.
제73도는 본 발명의 제41실시예에 따른 I/O콘트롤러와 데이타메모리로 구성된 제1네트워크의 장치를 설명하는 블럭도.
제74도는 본 발명의 제41실시예에 따른 I/O콘트롤러와 데이타메모리로 구성된 제2네트워크의 장치를 설명하는 블럭도.
제75도는 본 발명의 제41실시예에 따른 I/O콘트롤러와 데이타메모리로 구성된 제3네트워크의 장치를 설명하는 블럭도.
제76도는 본 발명의 제41실시예에 따른 I/O콘트롤러와 데이타메모리로 구성된 제4네트워크의 장치를 설명하는 블럭도.
제77도는 본 발명의 제42실시예에 따른 수렴 판정 시스템의 구성의 윤곽을 나타내는 개념도.
제78도는 본 발명의 제43실시예에 따른 해석용 불안정점을 포함하는 계산영역의 분할형성을 나타내는 개념도.
제79도는 본 발명의 제44실시예에 따른 레지스터 사이의 데이타전송경로의 모델을 나타내는 블럭도.
본 발명은 병렬프로세서수단에 의해 처리성능을 크게 향상시키는 정보처리시스템의 계산방법과 구성에 관한 것으로, 특히 미분방정식의 수치계산의 속도를 높이는데 관한 것이다.
본 발명의 응용의 주분야인 미분방정식의 해에서는, 목적의 방정식이 해석적 시간과 공간에서 상호인접한 격자점들의 시공적으로 분별되는 상호작용을 통한 유한 차분계산으로 해를 풀어낸다.
종래에서는, 그들 문제는 노이먼컴퓨터에 의한 순차계산 또는 다중프로세서의 병렬계산 어느쪽의 하나의 방법에 의해 해석되어 왔다.
또한 최근에 열과 유체의 수치해석에 의한 대단위 추산이, 예를들면, 일기예보 또는 대기 및 대양공해의 환경학적평가를 하기 위해 행해진다.
일기예보에 있어서는, 예보가 기압, 풍속, 대기온도와 태양복사에 의거해서 고저기압의 이동을 물론 태풍의 경로와 같은 대기의 이동을 추산함에 의해 이루워진다.
환경학적 평가에서는, 공해원이 공기흐름 또는 조류에 의해 확산되는 길이 흐름속도와 공해물질의 농도를 추산을 통해서 평가된다.
다수의 슈퍼컴퓨터가 상술의 일들을 처리하기 위해 투입되고 많은 시간이 계산때문에 소비된다.
이러한 방법에서는 환경파괴와 폭풍우에 의한 재앙을 방지하기 위해 많은 컴퓨터 자원과 노력이 투입되어, 추산의 정확성과 연산속도의 향상이 이루워져 왔다.
다중프로세서로 이런 문제점을 취급하는 방법이 시도되고 있으며 일본기계학회의 논문모음집 NO. 558, vol. 59. pp 427-432(논문 1)와 일본기계학회의 논문모음집 NO. 569, vol. 60. pp 99-106(논문 2)에 개재된 바와 같이 전체로서 복수의 요소프로세서로 구성된 다중프로세서시스템수단에 의해 병렬처리를 행하기 위하여 단일 요소프로세서를 각 분할영역에 배당하는 분리해석영역이 블럭으로된 영역분할법으로 실행된다.
제68도는 종래기술예인 논문(1)에 나타난 인접메쉬수단에 의해 요소프로세서를 결합함으로써 영역분배프로세서를 행하는 시스템의 일반적 구성도이다.
도면에서 (201)은 담당하고 있는 분할영역의 연산을 행하는 요소프로세서이고, (202)는 요소프로세서(201)사이에 데이타통신을 행하는 요소프로세서(201)사이의 결선이며, (203)은 요소프로세서(201)를 총괄적으로 제어하는 호스트컴퓨터이고, (204)는 호스트컴퓨터(203)와 요소프로세서(201)를 접속하는 인터페이스보드이며 , (205)는 4개의 요소프로세서(201)가 실장된 트랜스퓨터(Transputer)보다이다.
또한 논문(2)에서의 종래예에서, 일반적으로 사용하는 병렬컴퓨터는 AP1000이 사용되고 요소프로세서(201)는 비슷한 인접메쉬수단에 의해 접속된다.
일반적 사용으로 그 다중프로세서시스템을 이용하는 병렬계산방법에서는, 패킷통신 등과 같은 저속통신수단이 프로세서 사이의 통신용으로 사용된다.
또한 처리의 동기화가 프로세서 사이에 필요하기 때문에, 요소프로세서(201)사이의 데이타전송시간이 요버헤드가 걸리고 이것이 요소프로세서(201)의 장치수를 증가함에 따라 병렬계산에서 효율성을 높이는데 방해가 된다.
제69도는 논문(2)에서 제시된 바와같이, 유한차분법을 이용하여 얻은 편미분방정식의 해의 예인 수력문제의 수치해석의 경우에, 요소프로세서의 장치수를 증가로 인한 병렬계산에서의 효율성의 향상을 방해하는 상황을 나타내는 도면이다.
도면에서 횡축은 요소프로세서(201)의 장치수를 나타내고, 세로축은 연산속도의 향상비를 나타내며, ○ 표시는 MAC(Market and Cell)방법이 사용되는 경우의 연산속도향상비이고, △ 표시는 SMAC(단순화된 MAC법)의 사용경우에 연산속도향상비이며, □ 표시는 HSMAC(고단순화된 MAC)방법이 사용되는 경우의 연산속도향상비이고, 실선은 요소프로세서(201)의 장치수에 비례하는 연산속도향상비를 나타낸다.
MAC와 SMAC 및 HSMAC 방법 모두에서는, 데이타전송의 오버헤드에 의해 요소프로세서(201)의 장치수가 증가됨에 따라 병렬계산의 효율의 상승이 저하된다.
또한, 편미분방정식의 해석에서 병렬계산의 가능성을 주목해보면, 하드웨어구조의 보편성을 강조하기 때문에, 편미분방정식의 해석에 나타나는 연산레벨에 병렬연산을 삽입하기 위해 현존의 하드웨어를 사용하는 종래의 수치해석에서는 충분치 못하다.
즉 대용량의 노이먼슈터컴퓨터 또는 범용의 병렬컴퓨터를 사용함으로써도, 대규모의 편미분방정식을 신속하게 그리고 저렴한 가격으로 해석하기는 어려웠다.
미분방정식의 종래의 해석시스템이 상술한 바와 같은 방법으로 진행되므로서, 편미분방정식의 해의 주류는 nCUBE, AP-1000, 트랜스퓨터 등과 같은 범용 병렬프로세서를 사용하는 영역분해법이었다.
그 다중프로세서 사이의 통신용으로, 패킷통신과 같은 저속통신수단이 사용된다.
현존의 하드웨어구조가 유지되는한, 선택성은 없으나, 프로세서 사이의 병렬처리 또는 동시처리의 적어도 하나에 중요성이 훨씬 증대된다.
즉 영역분해법에 의해 해가, 연산시간이 계산에 요구되는 전시간에서의 통신시간과 비교해서 큰 비로 나타나는 코어스 그래인병렬처리의 병렬계산에는 어느 정도까지는 효과적인 반면에, 이것은 데이타전송시에 오버헤드가 증가하는 문제를 가지며 또 이것은 미분방정식의 해석시에 계산시간이 그 연산시간과 비교해서 큰 비로 나타나는 세밀한 그래인병렬처리에서 병렬계산의 효율성이 저하하는 원인이 된다.
또한, 다양한 방법이 소프트웨어의 개선에 의해 잠재허용오차를 상승시키는 연구(데이타의 대기문제 대한 대응책)가 되어있는 반면에 현존 하드웨어가 사용되는한 통신시스템을 근본적으로 바꾸기가 불가능하다는 문제점이 있다.
그러므로 통신의 동기화를 위한 대기시간을 크게 감소시킬 방법은 없다.
또한 또다른 문제점은 프로세서의 연산레벨상의 병렬성은 하드웨어의 구조에 의존하며 효과적 대책은 소프트웨어에서는 얻어질 수 없다는 것이다.
본 발명은 정보처리시스템에 관한 것이다.
본 발명의 제1관점에 따르면, 정보처리시스템은 : 할당에 의해 계산을 하는 계산동작에 대한 데이타를 저장하는 데이타메모리와 계산동작을 행하는 처리장치를 각각 갖는 복수의 요소프로세서 복수의 요소프로세서를 사용함으로써 적어도 하나의 사전 방정식으로 기술될 수 있는 필드의 적어도 하나의 지배방정식에 관한 것, 상기 필드를 요소프로세서로 공간적으로 분할함으로써 얻어지는 복수의 격자점과 요소프로세서의 인접된 것을 사이의 데이타 상호통신을 갖기 위한 복수의 데이타버스를 포함한다.
정보처리시스템에서, 데이타버스를 통해 전송된 데이타를 사용함으로써 요소프로세서를 비동기적이고, 독립적으로 동작시킴으로써 계산이 행해진다.
본 발명의 제2관점에 따르면, 정보처리시스템은 : 할당에 의해 계산을 행하는 계산동작에 대한 데이타를 저장하는 데이타메모리와 계산동작을 행하는 처리장치를 각각 가진, 복수의 요소프로세서, 복수의 요소프로세서를 사용함으로써 적어도 하나의 사전 방정식으로 기술될 수 있는 필드에서의 적어도 하나의 지배방정식에 대한 것, 필드를 공간적으로 분할함으로써 얻어지는 복수의 격자점 및 요소프로세서에 대한 격자점중 각각의 하나 하나에 대응하는 복수의 시간과; 요소프로세서중 인접된 것 사이에 데이타의 상호통신을 가지는 복수의 데이타버스를 구비한다.
정보처리시스템에서 계산은 행해지고 데이타버스를 통해 전송된 데이타를 사용해서 요소프로세서가 비동기적이고, 독립적인 동작에 의해 진행된다.
본 발명의 제3관점에 따르면, 제2관점에서의 정보처리시스템에서 복수의 2차 원평면이, 이 공간에서 2차원 필드의 공간적 배분으로 얻어진 격자졈의 처리를 행하는 요소프로세서는 2차원적으로 배열되는데, 2차원적 해석해가 구해질 때, 3차원으로 구성되는 시간축에 따라 배열되며 요소프로세서는 시간축의 방향으로 파이프라인 형태로 구성된다.
본 발명의 제4관점에 따르면, 제1 또는 제2관점에서의 정보처리시스템은 요소프로세서에 초기 조건과 경계조건을 전송하기 위한 전송수단을 더 포함한다.
본 발명의 제5관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서는, 인접 요소프로세서 사이의 데이타통신의 각 요소프로세서에 대하여 개별적이고, 비동기 및 반복적으로 행해진다.
본 발명의 제6관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서는, 인접 요소프로세서 사이의 데이타통신은 메세지통신이고 다중명령스트림과 다중데이타스트림으로 행해진다.
본 발명의 제7관점에 따르면, 제1 또는 제2 관점의 정보처리시스템에서는, 요소프로세서가 인접 각각 요소프로세서의 데이타메모리를 직접 참조할 수 있다.
본 발명의 제8관점에 따르면, 제7관점의 정보처리시스템에서는, 요소프로세서는, 각각, 인접 요소프로세서의 데이타메모리를 직접 및 갱신해서 참조할 수 있다.
본 발명의 제9관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서, 데이타메모리는, 인접요소프로세서를 접속하는 경로상에서, 인접 요소프로세서에 의해 공유된 제1메모리를 포함하고 그 1 메모리에 접속된 복수의 요소프로세서로부터 제1메모리에 저장된 내용을 직접 참조하고 또 갱신할 수 있다.
본 발명의 제10관점에 따르면, 제7관점의 정보처리시스템에서, 데이타메모리는 다중포트메모리를 포함한다.
본 발명의 제11관점에 따르면, 제1 또는 제2 관점의 정보처리시스템은, 데이타메모리에 대한 임시 억세스 요구를 버퍼하기 위한 버퍼수단을 더 포함한다.
본 발명의 제12관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서는, 요소프로세서의 각각은 인접요소프로세서에서 보내진 데이타가 인접 요소프로세서 사이의 통신에서 목적명을 가진 데이타로서 기록되는 버퍼메모리를 가지며, 요소프로세서는 버퍼메모리에서 선택된 시간에 목적명을 가인 데이타를 찾음으로써 인접 요소프로세서에서의 데이타수납은 완료한다.
본 발명의 제13관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서, 요소프로세서는 각각 계산동작중 적어도 하나에 필요한 데이타를 대기하기 위한 정합메모리를 가지며, 요소프로세서의 각각에서의 처리장치는 필요데이타가 같은 요소프로세서의 정합메모리에서 유용할 수 있을 때, 시간시퀀스상의 한점에서 적어도 여러 계산동작중 하나의 소정의 동작을 행한다.
본 발명의 제14관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서는 요소프로세서가 처리장치의 동작을 규정하는 프로그램 재기록하는데 유용한 프로그램메모리를 가진다.
본 발명의 제15관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서, 처리장치의 각각은 프로그램메모리의 각각의 다른 영역에 배당된 복수의 프로그램의 동시실행을 가능하게 할 수 있는 데이타플로우시스템에 의거해서 동작하고, 각 처리장치는 각 프로그램메모리의 되는 영역에 각 격자점을 처리하기 위한 복수의 프로그램을 배당함으로써 동시에 복수의 격자점의 계산동작을 실행한다.
본 발명에 제16관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서, 데이타플로우시스템은 식별자 사용으로 복수셋트의 입력데이타에서 하나의 같은 프로그램을 동시에 실행할 수 있는 동적데이타구동시스템을 포함한다.
본 발명의 제17관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서는 처리장치는 일부 배선로직 또는 전데이타처리플로우에 따른 데이타플로우그래프에 의거한 형태로 연산논리소자가 배선된 하드웨어 회로를 각각 가진다.
본 발명의 제18관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서는 처리장치는 하나의 같은 배선로직에 의한 하드웨어 회로를 가지며, 하드웨어 회로는 그 격자점이 모든 격자점에 대해 필드내의 계산영역외부에 위치하는지 또는 계산영역내부에 위치하는지를 지시하는 계산영역비트로 요소프로세서의 데이타메모리에 선행해서 로드하며, 격자점이 계산영역의 목표내부에 위치하는 것을 지시하는 내부포인트비트와, 격자점이 계산영역의 목표외부에 위치하는 것을 지시하는 외부포인트비트와, 계산영역의 경계에 위치하는 격자점에 대한 경계조건정보를 지시하는 경계조건비트들인데, 하드웨어 회로는 이와같은 계산영역비트, 내부포인트비트와 외부포인트비트 및 경계조건비에 의해 데이타플로우그래프의 처리를 바꾼다.
본 발명의 제19관점에 의하면, 제17관점의 정보처리시스템에서는 처리장치는 제2입력에 제1입력곱, 제4입력에 제3입력곱, 제6입력에 제5입력곱, …, 2n의 입력데이타로 (2×N)번째 입력에 (2×N-1)의 입력의 곱이 각 결과를 누가적으로 더하는 직접 실행동작코드용 연산장치를 각각 더 구비한다.
본 발명의 제20관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서는 서로 인접 요소프로세서를 연결하는 화인노드결합과 그들 사이에 하나 이상 건너뛰어 서로의 요소프로세서를 연결하는 코어스노드결합을 더 포함한다.
본 발명의 제21관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서는 요소프로세서는 출력데이타를 비동기적으로 판독하고, 데이타의 배열과 분류에 필요한 식별자에 의해 출력데이타를 제공하고 요소프로세서 외부로 데이타를 보내는 출력장치를 각각 가지고 있다.
본 발명의 제22관점에 따르면, 제21관점의 정보처리시스템에서는, 요소프로세서의 출력장치에서의 출력데이타를 모으고, 모든 요소프로세서로부터 비동기로 도착되는 출력데이타에 의거한 실시간으로 출력데이타의 가시적 영상을 생성하기 위한 출력데이타영상처리장치를 더 포함한다.
본 발명의 제23관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서, 호스트컴퓨터에서 요소프로세서로 데이타가 전송시킬 때는 요소프로세서를 제어하는 호스트컴퓨터에 의해 사용된 선택된 제1좌표시스템을 요소프로세서에 의해 사용된 제2좌표시스템으로 변환하고, 데이타가 요소프로세서에서 호스트컴퓨터로 전송될 때는 요소프로세서에 의해 사용되는 제2좌표시스템을 호스트컴퓨터에 의해 사용되는 제1좌표시스템으로 변환하는 좌표변환장치를 더 포함한다.
본 발명의 제24관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서는 호스트컴퓨터에 의해 일체로 제어되는 복수의 각각 요소프로세서는 : 처리장치의 계산을 방해함이 없이 수렴을 판정하기 위하여 각 요소프로세서에서 처리장치와는 독립적으로 설치된 제1 수렴판정장치 및, 정보처리시스템은 : 복수의 요소프로세서를 복수의 그룹으로 분할하고 단방향 페루우프의 형태 또는 각 그룹에서 집중형태로 각 요소프로세서의 제1수렴판정장치가 접속되는 제1통인 경로와 ; 그룹내의 모든 제1수렴판정장치의 수렴 결과를 통합하기 위하여 제1통신경로에 각각 접속되는 제2수렴판정장치와, 그룹내의 모든 제2수렴판정장치를 단방향폐쇄루우프 또는 집중형태로 접속하기 위한 제2통신경로를 더 포함한다.
본 발명의 제25관점에 따르면, 제1 또는 제2관점의 정보처리시스템을 복수의 요소프로세서의 메세지를 전송하기 위한 적어도 하나의 경로와; 요소프로세서 각각에 배당된 하나이상의 처리수단 또는 요소프로세서상의 수렴을 판정하기 위한 제1수렴판정수단과; 이전에 기술된 요소프로세서 또는 그 처리수단상에 수렴을 제1수렴판정수단이 판정될 때 이전에 기술된 요소프로세서 또는 그 처리수단상에 수렴을 나타내는 제1메지를 보내는 제1메세지전송수단과; 인접요소프로세서에서 제1 또는 제2메세지를 수신받는 요소프로세서(4) 그 처리수단 또는 인접 요소프로세서 또는 요소프로세서에 뒤따르는 제1 또는 제2 메세지를 받는 처리수단상의 수렴을 지시하는 제2메세지를 보내는 제2메세지전송수단과; 제2전송수단에 의해 적어도 하나의 경로를 통해 차례로 제2메세지를 전송함으로써 모든 요소프로세서의 수렴을 판정하는 제2수렴 판정수단을 더 포함한다.
본 발명의 제26관점에 따르면, 제25관점의 정보처리시스템에서는 적어도 하나의 경로는 그 처리수단을 접속하는 복수의 상이경로와 복수의 상이한 경로를 포함하고, 제2수렴판정수단은 복수의 상이한 경로를 통해서 차례로 전송된 메세지에 의해 멀티플렉스방식으로 모든 요소프로세서의 수렴을 확인한다.
또, 본 발명은 정보처리시스템을 사용함으로써 행해지는 계산방법에 관한 것이다.
본 발명의 제27관점에 따르면, 이 발명에서는 정보처리시스템은 : 적어도 하나의 사전방정식에 의해 기술될 수 있는 필드의 적어도 하나의 지배방정식에 관해 할당된 계산을 행하기 위한 계산동작에 관한 데이타를 저장하는 데이타메모리와, 계산동작을 행하기 위한 처리중량를 각각 갖인 복수의 요소프로세서와, 요소프로세서로 필드를 공간적으로 분할함에 의해 얻어지는 복수의 격자점과, 인접의 하나의 요소프로세서 사이의 상호데이타통신을 구비한 복수의 데이타버스를 포함하고 있으며, 여기서 계산은 데이타버스를 통해 전송된 데이타를 사용함으로써 요소프로세서가 비동기 및 독립적으로 동작함에 의해 계산이 행해진다.
본 발명의 제28관점에 따르면, 이 방법에서는, 정보처리시스템이 : 복수의 요소프로세서를 사용함에 의해 적어도 하나의 미리 기술된 방정식에 기술될 수 있는 필드의 적어도 하나의 지배방정식에 관한, 할당된 계산을 행하기 위한 연산에 대한 데이타를 저장하는 데이타메모리와 계산동작을 행하는 처리장치와를 갖는 복수의 요소프로세서와, 공간으로 필드를 분할함에 의해 얻어진 복수의 격자점과, 요소프로세서의 격자점중 식별된 하나에 대응하는 복수시간과, 요소프로세서 사이에서 상호데이타통신을 구비한 복수의 데이타버스를 구비하고, 데이타버스를 통해서 전송된 데이타를 사용함에 의해 비동기 및 독립적으로 요소프로세서가 동작함으로써 행해진다.
본 발명의 제29관점에 따르면, 제28관점의 방법에서는 복수의 2차원 평면은, 여기서는 공간을 2차원으로 분할함에 의해 얻어진 격자점처리를 행하는 요소프로세서가 2차원으로 배열되고 있으며, 3차원으로 구성된 시간축에 따라 배열되며 2차원해석해가 요구될 때는 요소프로세서는 시간축의 방향으로 파이프라인분리로 구성된다.
본 발명의 제30관점에 따르면, 제27 또는 제28 관점의 방법에서는 적어도 하나의 미리 소정의 방정식은 적어도 하나의 미분방정식을 포함하고, 적어도 하나의 소정의 방정식은 유한차분법에 의해 요소프로세서를 비동기 및 독립적으로 동작함에 의해 적어도 하나의 미분방정식의 해를 얻는다.
본 발명의 제31관점에 따르면, 제30관점의 방법에서는 적어도 미리 소정의 미분방정식은 적어도 하나의 편미분방정식 또는 적어도 하나의 상미분방정식을 포함한다.
본 발명의 제32관점에 따르면, 제27 또는 제28관점의 방법에서는 요소프로세서는 공간으로 필드를 각각 분할함에 의해 얻어지는 복수의 격자점의 계산을 책임지고, 데이타메모리상의 격자점에 해당하는 데이타영역의 베이스어드레스 또는 격자점에 해당하는 수가 요소프로세서에 의해 행해진 계산을 제어하는 입력토큰으로서 사용된다.
본 발명의 제33관점에 따르면, 제27 또는 제28광점의 방법에서는 정보처리 시스템은 요소프로세서에 초기조건과 경계조건을 전송하는 전송수단을 이용함으로써 계산을 행한다.
본 발명의 제34관점에 따르면, 제27 또는 제28관점의 방법에서는 인접 요소프로세서 사이의 데이타통신의 각 요소프로세서에 대해서 개별적이고, 비동기로 반복적으로 행해진다.
본 발명의 제35관점에 따르면, 제27 또는 제28관점의 방법에서는 인접 요소프로세서 사이의 데이타통신은 메세지통신이고 다중인스럭션스트림과 다중데이타스트림으로 수행된다.
본 발명의 제36관점에 따르면, 제27 또는 제28관점의 방법에서는 요소프로세서가 인접 요소프로세서의 데이타메모리를 각각 접속 참조한다.
본 발명의 제37관점에 따르면, 제36관점의 방법에서는 각 요소프로세서가 인접 요소프로세서의 데이타메모리를 각각 참조하고 갱신한다.
본 발명의 제38관점에 따르면, 제27 또는 제28관점의 방법에서는 데이타메모리는 인접 요소프로세서를 접속하는 경로에서 인접 요소프로세서에 의해 공유된 제1메모리를 포함하고, 제1메모리에 접속된 복수의 요소프로세서로부터 제1메모리에 저장된 내용을 직접참조 및 갱신한다.
본 발명의 제39관점에 따르면, 제36관점의 방법에서는 데이타메모리가 다중프트메모리를 포함한다.
본 발명의 제40관점에 따르면, 제27 또는 제28관점의 방법에서는 정보처리시스템은 데이타메모리에 억세스 요구를 일치로 버퍼하기 위한 버퍼수단에 의해 계산을 행한다.
본 발명의 제41관점에 따르면, 제27 또는 제28 관점의 방법에서는, 요소프로세서는 각각 인접 요소프로세서에서 보낸 데이타가 인접 요소프로세서 사이에 통신에서 옵젝트이름을 가진 데이타로서 기록되는 버퍼메모리를 포함하며, 요소프로세서는 버퍼메모리에서 선택된 시간에 옵젝트이름으로 데이타를 찾는 것에 의해 인접 요소프로세서에서의 데이타의 수신을 완료한다.
본 발명의 제42관점에 따르면, 제27 또는 제28관점의 방법에서는, 요소프로세서는 각각 적어도 하나의 계산동작중에 필요한 데이타를 대기하기 위한 정합메모리를 포함하고, 각 요소프로세서의 처리장치는 필요데이타가 요소프로세서내의 정합메모리내에서 유용될 수 있는 시간내에서 계산동작 사이에서 적어도 소정의 한 동작을 행한다.
본 발명의 제43점에 따르면, 제27 또는 제28관점의 방법에서는 요소프로세서가 처리장치의 계산동작을 요구하는 프로그램을 재기록하는데 유용한 프로그램메모리를 각각 포함한다.
본 발명의 제44관점에 따르면, 제27 또는 제28 관점의 방법에서는 처리장치가 하나의 같은 계산프로그램을 사용함에 의해 계산동작을 행하고, 계산프로그램은 상기 격자점이 모든 격자점에 대하여 계산영역의 외부에 위치하는지 또는 그 필드안에 있는 게산영역의 내부에 위치하는가를 나타내는 계산영역비트와, 모든 격자점에 대한 내부포인트비트 또는 외부포인트비트로, 상기 격자점이 계산영역의 목표내부에 위치하는 것을 나타내는 내부포인트비트와 격자점이 계산영역의 목표외부에 위치하는 것을 나타내는 외부포인트비트와, 계산영역의 경계상에 위치한 격자점에 대한 경계조건의 정보를 나타내는 경계조건비트를 요소프로세서의 데이타메모리에 선행해서 로드하고, 상기 계산프로그램은 계산영역비트, 내부포인트비트, 외부포인트비트 및 경계조건비트에 따라 요소프로세서상의 처리를 바꾼다.
본 발명의 제45관점에 따르면, 제27 또는 제28 관점의 방법에서는, 각 처리장치는 각 프로그램메모리의 상이영역에 배당된 복수프로그램을 동시에 실행할 수 있는 데이타플로우시스템에 기초하여 동작하고, 각 처리장치는 프로그램메모리의 상이영역에 각 격자점을 처리하기 위한 복수의 프로그램을 할당함으로서, 복수의 격자점의 계산동작을 동시에 실행한다.
본 발명의 제46관점에 따르면, 제45관점의 방법에서, 데이타플로우시스템은 식별자를 사용하여, 복수셋트의 입력데이타에 대하여 하나의 같은 프로그램을 동시에 실행할 수 있는 다이나믹데이타구동시스템을 포함한다.
본 발명의 제47관점에 따르면, 제46관점의 방법에서는, 처리장치는 인접 요소프로세서에 관한 데이타를 저장하는 데이타메모리의 어드레스를 계산하여, 그 입력데이타에 배당된 식별자의 값에 의거해서, 데이타메모리의 어드레스를 사용하여 상기 데이타메모리를 참조 및 갱신
본 발명의 제48관점에 따르면, 제27 또는 제28 관점의 발명에서는, 각각의 처리장치는 전체 또는 일부의 데이타처리플로우용 배선로직에 따른 데이타플로우그래프에 의거한 형태로 연산로직소자가 배선되는 하드웨어회로를 구비한다.
본 발명의 제49관점에 따르면, 제27 또는 제28관점의 방법에서는, 각 처리장치가 하나의 동일 배선로직에 의한 하드웨어회로를 가지고, 하드웨어회로는 모든 격자점에 대하여 계산영역의 외부에 있는지 또는 필드에서 계산영역의 내부에 위치하는가를 나타내는 계산영역비트와, 격자점이 계산영역의 목표외부에 위치하는 것을 나타내는 외부포인트비트와 모든 격자점에 대한 내부포인트비트 또는 외부포인트비트와 계산영역의 경계상에 위치한 격자점에 대한 경계조건의 정보를 나타내는 경계조건비트를 요소프로세서의 데이타메모리를 선행해서 로드하고, 상기 하드웨어회로는 계산영역비트, 내부포인트비트, 외부포인트비트 및 경계조건비트에 따른 따라 데이타플로우그래프의 처리를 변경한다.
본 발명의 제50관점에 따르면, 제48관점의 방법에서는 처리장치는 제1입력에 제2입력곱, 제3입력에 제4입력곱, 제5입력에 제6입력곱, 입력데이타 2N으로 (2×N-1)입력에 (2×N)의 곱의 결과를 누적해서 더하기 위한 동작코드를 직접 실행하는 연산장치를 각각 가진다.
본 발명의 제51관점에 따르면, 제48관점의 방법에서, 정보처리시스템에 있어서 계산의 대상을 형성하는 격자점이 영역경계에서 발견되므로, 필드에 대한 적어도 하나의 제어방정식을 풀기위한 몇번의 통신으로 격자점에서 조차 더미통신을 행함으로써 모든 격자점에서의 통신의 회수를 표준화한다.
본 발명의 제52관점에 따르면 제27 또는 제28관점의 방법에서는, 정보처리시스템의 레벨은 계산의 대상을 형성하는 격자점이 영역경계에서 발견되므로 필드의 적어도 하나의 지배방정식을 풀기위한 몇번의 연산으로 격자점에서도 더미연산을 행함으로써 모든 격자점에서 연산회로를 표준화한다.
본 발명의 제53관점에 따르면, 제27 또는 제28관점의 방법에서는, 정보처리시스템은 차분법에 의해 미분방정식의 해를 구하는 각 격자점에 대하여 처리를 행하고 상기 각 격자점간의 통신과, 상기 각 격자점에 대하여 통신이 필요한가 아닌가를 나타내는 정보 및 각 격자점에 대한 통신방법을 실행한다.
본 발명의 제54관점에 따르면, 제27 또는 제28 관점의 방법에서는, 정보처리시스템은 각 격자점에 메모리영역을 할당하는 유한차분법에 의해 미분방정식에 대한 해를 구하는 각 격자점에 대해 처리를 행하고, 통신이 이루어져야할 각 방향에서 통신에 이용될 메모리영역을 나타내는 정보를 각 격자점에 제공하고 상기 메모리영역에 의해 인접격자점의 정보사이의 통신을 행한다.
본 발명의 제55관점에 따르면, 제54관점의 방법에 있어서, 정보처리시스템은 통신이 불가능한 방향으로 공통더미영역을 나타내는 정보를 각 격자점에 제공한다.
본 발명의 제56관점에 따르면, 제27 또는 제28관점의 방법에 있어서 인접격자점이 상이한 요소프로세서상에 할당될 때는, 양쪽의 요소프로세서는 상호통신용 두쌍의 시간데이타를 홀드하고, 그 격자점용 데이타가 갱신될 때는 상기 프로세서는, 시간적으로 이전 쌍의 데이타와의 비교에서 어느 갱신데이타의 변위가 소정의 값보다 크지 않으면, 그 데이타를 재기록하지 않는다.
본 발명의 제57관점에 따르면, 제57관점의 방법에서는, 정보처리시스템은 적어도 하나의 소정방정식의 계산의 대상을 형성하는 계산영역 경계에 가장 근접하며 계산영역을 외측에서 구해진 격자점을 모의하는 가상데이타의 영역을 데이타 메모리에 할당한다.
본 발명의 제58관점에 따르면, 제27 또는 제28 관점의 방법에서는 정보처리시스템은 서로 요소프로세서에 상호 인접하게 접속된 세밀한노드결속과 그들 사이의 요소프로세서 하나 이상을 건너뛰어서 요소프로세서를 서로 접속하는 코어스노드결속으로 구성된다.
본 발명의 제59관점에 따르면, 제58관점의 방법에서, 정보처리시스템은 코어스노드결속에 의해 접속된 요소프로세서에 의한 계산과 세밀한노드결속에 의해 결속된 요소프로세서에 의한 계산을 교대로 실행함으로써 적어도 하나의 소정방정식의 계산을 진행한다.
본 발명의 제60관점에 따르면, 제27 또는 제28관점의 방법에서는 정보처리시스템은 모든 격자점을 사용한 적어도 하나의 필드지배방정식의 계산과 형행하게, 선택된 일부 격자점만을 이용하는 적어도 하나의 필드지배방정식의 계산을 행한다.
본 발명의 제61관점에 따르면, 제27 또는 제28관점의 방법에서는, 격자점중 선택된 하나만을 사용하여 적어도 하나의 필드지배방정식의 계산알고리즘은 모든 격자점을 사용하여 적어도 하나의 소정의 필드지배방정식의 계산에 사용되는 알고리즘과는 다르다.
본 발명의 제62관점에 따르면, 제61관점의 방법에 있어서, 정보처리시스템은 타임스퀀스에서 상호인접격자점에 대한 두쌍의 데이타이상을 가지며 그 데이타쌍 사이의 변동량이 소정량보다 크지않으면 그 격자점의 연산을 정지한다.
본 발명의 제63관점에 따르면, 제62관점의 방법에 있어서, 그 데이타쌍 사이의 변동값에 따라 그 격자점의 연산을 변동값에 그 격자점의 연산을 생략하기 위한 소정량의 값이 수렴등급에 의해 감소된다.
본 발명의 제64관점에 따르면, 제27 또는 제28 관점의 방법에 있어서는, 상기 요소프로세서는 각각 출력데이타를 비동기로 독출하는 출력장치를 가지며, 배치 및 분류에 필요한 식별자를 그 출력데이타에 공급하여 요소프로세서 외측으로 데이타를 전송한다.
본 발명의 제65관점에 따르면, 제64관점의 방법에 있어서, 정보처리시스템이 요소프로세서의 출력장치에서 나온 출력데이타를 모아서 출력데이타영상처리장치를 포함하여 모든 요소프로세서로부터 비동기로 도착하는 출력데이타에 의거해서 실시간으로 출력데이타의 가시적인 영상을 생성하기 위한 출력데이타 영상 프로세스, 장치를 구비한다.
본 발명의 제66관점에 따르면, 제27 또는 제28과는 관점의 방법에서는 정보처리시스템은, 데이타가 호스트컴퓨터에서 요소프로세서로 전송될 때, 요소프로세서를 제어하는 호스트컴퓨터에 의해 사용되는 선택 제1좌표시스템을 요소프로세서에 의해 사용되는 제2좌표시스템으로 변환하고, 데이타가 요소프로세서에서 호스트컴퓨터로 전송시킬 때는 요소프로세서에 의해 사용되는 제2좌표시스템을 호스트컴퓨터에 의해 사용되는 제1좌표시스템으로 변환하는 좌표변환장치를 포함한다.
본 발명의 제67관점에 따르면, 제27 또는 제28관점의 방법에서는 복수의 요소프로세서는 호스트컴퓨터에 의해 총괄적으로 제어되는 복수의 요소프로세서이고, 복수의 요소프로세서는 처리장치의 계산을 방해하지 않고 수렴을 판정하기 위해 처리장치와 각각 독립해서 각 요소프로세서에 설치된 수렴판정장치를 포함하며, 정보처리시스템은 복수의 요소프로세서를 복수의 그룹으로 분할하고 각 그룹에서 집중형태 또는 탄방향폐쇄루우프형태로 각 요소프로세서의 수렴판정장치를 접속하는 제1통신경로와, 상기 그룹의 각 제1통신경로에 접속되고, 그 그룹내의 모든 수렴판정장치의 수렴판정결과와 단방향폐쇄루우프의 형태 또는 중앙집중형태로 그룹의 모든 수렴판정장치의 수렴의 판정결과를 통합하는 모든 수렴판정장치를 접속한다.
본 발명의 제68관점에 따르면, 제27 또는 제28관점의 방법에서 정보처리시스템은 복수의 요소프로세서의 메세지를 전송하는 적어도 하나의 경로를 포함한다.
그 계산방법은 (a)각 요소프로세서 또는 각 프로세서에 할당된 하나이상 처리수단의 수렴을 판정하는 스텝과; (b) 정보처리시스템이 소정의 요소프로세서 또는 소정 요소의 처리수단의 수렴을 판정할때, 소정의 소자프로세서 또는 소정요소의 처리수단을 나타내는 제1메세지를 전송하는 스텝과; (c) 그 요소프로세서 또는 그 처리수단이 제1 또는 제2메세지를 수신한 후 인접의 요소프로세서 또는 인접의 요소프로세서에서 제1 또는 제2메세지를 수신하는 처리수단 또는 요소프로세서의 수렴을 나타내는 제2메세지를 송신하는 스텝과; (d) 스텝(c)를 반복함으로써 차례로 제2메세지를 전송하여 모든 요소프로세서의 수렴을 판정하는 스텝으로 더 구성된다.
본 발명의 제69관점에 따르면, 제68관점의 방법에 있어서, 그 정보처리시스템은 모든 요소프로세서의 수렴성의 여러가지 확인을 위해 스텝(a)-스텝(d)를 반복한다.
본 발명의 제70관점에 따르면, 제69관점의 방법에서 정보처리시스템은 제2수렴 판정수단을 포함하고, 적어도 하나의 경로는 처리수단에 접속된 복수의 상이한 경로를 포함하며, 제2수렴판정수단은 복수의 상이한 경로를 통해서 차례로 전송하는 메세지에 의해 멀티플렉스 방법으로 전체 요소프로세서의 수렴을 확인한다.
본 발명의 제71관점에 따르면, 제70관점의 방법에서 정보처리시스템은 일반의 수렴을 판정하는 프로세서에 의해 판정된 일반 수렴의 완료된 후, 전체 요소프로세서 또는 처리수단의 처리를 중단함으로써 재차 수렴 판정을 형성한다.
본 발명의 제72관점에 따르면, 보수의 요소프로세서를 가지는 정보처리시스템을 사용함으로써 행해지는 계산방법은 ; 수렴의 판정결과를 저장하는 기억수단을 초기화하는 스텝과; 요소프로세서에 의해 행해지는 각 격자점에 대한 격자점의 계산의 수렴여부를 판정하는 스텝과; 수렴이 아직 달성되지 않았다고 판정되면, 그 저장수단을 소정논리값에 설정하는 스텝을 더 구비한다.
본 발명의 제73관점에 따르면, 제1 또는 제2관점의 정보처리시스템에서 복수의 요소프로세서는 인접 요소프로세서 사이에서 데이타메모리를 공유하고, 복수의 요소프로세서 각각은 억세스요구에 따라 통신방향을 스위칭함으로써 복수의 데이타메모리중 하나와 데이타의 입력/출력을 제어하는 인접요소프로세서를 공유하는 복수의 데이타메모리에 공통으로 접속되는 입력/출력제어장치를 포함한다.
본 발명의 제73관점에 따르면, 제1 또는 제2점의 정보처리시스템은, 복수의 요소프로세서의 각각에 의해 실행되는 동작의 수렴의 판정결과를 임시로 저장하는 복수의 요소프로세서 대응해서 설치되는 복수의 레지스터와, 복수레지스터의 출력의 논리적을 생성하는 와이어드 OR회로를 더 구비한다.
본 발명의 제75관점에 따르면, 제27 또는 제28관점의 방법에서, 복수의 요소프로세서가 인접 요소프로세서 사이에서 데이타메모리를 공유하고, 복수의 요소프로세서의 각각은 억세스 요구에 따라 통신방향을 스위칭함에 의해 복수의 데이타메모리중 하나와 함께 입력/출력데이타를 제어하는 인접 요소프로세서와 공유된 복수의 데이타메모리에 공통으로 접속되는 입력/출력제어장치를 포함하고, 각 복수의 요소프로세서는 상기 입력/출력제어장치를 통해 상기 데이타메모리의 내용을 참조한다.
본 발명의 제76관점에 따르면, 제27 또는 제28 관점의 방법에서는 정보처리시스템이 임시로 복수 요소프로세서에 대응하여 설치된 복수의 레지스터와 해당 요소프로세서의 수렴의 판정결과를 저장하고, 와이어드 OR회로의 복수의 레지스터에 저장된 수렴의 판정결과의 논리적을 취하면서 동작을 실행한다.
본 발명의 제77관점에 따르면, 제27 또는 제28관점의 방법에서는 불안정한 요소가 존재하는 해석에 대한 불안정점을 포함하는 하나의 요소프로세서당의 격자점수는 해석상의 어느 불안정점을 포함하지 않는 하나의 요소프로세서당의 격자점 수보다 적다.
제1관점 또는 제27관점의 데이타버스수단에 의해 인접 요소프로세서 사이의 데이타통신을 형성하고 비동기 및 독립적으로 요소프로세서를 동작함으로써 그 데이타를 계산을 행하여 요소프로세서 사이의 통신시간을 짧게 할 수 있다.
상술한 바와같이, 제27관점의 정보처리시스템을 이용함에 의해 행해지는 계산방법 또는 제1관점의 정보처리시스템에 따르면, 인접 요소프로세서 사이의 상호 데이타통신을 구비하는 복수의 데이타버스를 가지고, 데이타버스에 의해 전송된 데이타를 사용하고, 요소프로세서가 비동기 및 독립적으로 동작함으로써 필드를 요소프로세서로 공간적으로 분할함에 의해 얻어진 복수의 격자점을 할당함에 의해 계산이 행해지는 정보처리시스템내에서 계산이 행해지고, 이것은 요소프로세서 사이의 통신시간을 짧게 하는 효과가 있어서 정보처리시스템의 처리속도를 향상시킨다.
제2관점 또는 제28관점의 데이타버스수단에 의해 인접 요소프로세서 사이의 데이타통신을 형성하고 비동기 및 독립적으로 요소프로세서를 동작함에 의해 데이타의 계산을 행함에 의해 요소프로세서 사이의 통신시간을 짧게 하는 것이 가능하다.
제2관점의 정보처리시스템 또는 제28관점의 정보처리시스템을 사용함에 의해 행해진 계산방법에 따르면, 인접 요소프로세서 사이의 상호데이타통신을 갖는 복수의 데이타버스를 더 구비하고, 데이타버스에 의해 전송된 데이타를 사용하고 비동기 및 독립적으로 요소프로세서를 동작함에 의해 수시간에 해당하고 필드를 공간으로 분할하는 방법으로 복수의 격자점을 설치함으로써 계산을 행하는 정보처리시스템에서 계산이 행해지고, 이것이 요소프로세서 사이의 통신시간을 짧게 하는 효과를 얻을 수 있어서 정보처리시스템의 처리속도를 증가시킨다.
제3관점 또는 제29관점의 2차원 평면에는, 2차원필드를 공간적으로 분할함에 의해 얻어진 격자점의 처리를 행하는 요소프로세서는 2차원 배열되어, 요소프로세서 사이의 통신시간을 짧게 할 수 있고, 병렬로 수번계산을 행함에 의해 계산시간을 단축할 수 있고, 시간축의 방향을 따라서 파이프라인형태로 요소프로세서를 설계할 수 있다.
제3관점의 정보처리시스템 또는 제29관점의 정보처리시스템을 사용함에 의해 행해진 계산방법에 따르면, 2차원평면이 3차원으로 구축되도록 시간축에 따라서 배열되고, 시간축의 방향에서의 차원이 파이프라인으로 구축되며, 이것이 요소프로세서 사이의 통신시간을 단축할 수 있는 효과를 얻을 수 있어서, 정보처리시스템의 처리속도를 증가시킨다.
제30관점에서 소정방정식이 미분방정식이고, 미분방정식에 대한 해가 유한차분법을 사용함으로써 얻어지는 경우에는, 계산주체를 형성하는 격자점에 인접한 격자점의 영향이 매우 적기 때문에 고정확도의 해석해를 얻는 것이 가능하다.
제30관점의 정보처리시스템을 사용함으로써 실행된 계산방법에 따르면, 미분방정식에 대한 해가 미분법에 의해 비동기 및 독립적으로 요소프로세서를 동작시킴으로써 얻어지고, 이것이 해석의 정확도를 희생하지 않고 정보처리시스템의 처리시간을 짧게 할 수 있는 효과가 있다.
제31관점의 편미분방정식 또는 상미분방정식에서는, 미분방정식에 대한 해가 유한차분법에 의해 얻어질 때 계산주체를 형성하는 격자점에 인접한 격자점의 영향을 무시해도 좋으므로 고정확도의 해석해가 얻어진다.
제31관점의 정보처리시스템을 이용함에 의해 행해진 계산방법에 따르면, 편미분방정식 또는 상 미분방정식에 대한 해는 차분법에 의해 비동기 및 독립적으로 요소프로세서를 동작시킴으로써 얻어지고, 이것이 해석의 정확도를 희생하지 않고 정보처리시스템의 처리시간을 단축시키는 효과를 갖는다.
제32관점에서 요소프로세서는 공간적으로 필드를 각각 분할함으로써 얻어지는 복수의 격자점의 계산을 담당한다.
그러한 이유로 해서, 상호인접격자점은 두개의 요소프로세서로 확장된 일부 또는 그러하지 않는 일부를 포함한다.
다른 요소프로세서가 존재하는 인접격자점 사이에서 데이타를 전송하는 입력 토큰으로서 격자점에 대응하는 데이타영역의 베이스어드레스 또는 격자점에 대응하는 수를 사용함으로써 요소프로세서의 동작을 제어하여, 인접 요소프로세서상의 데이타 메모리에 직접 억세스 함으로써 요소프로세서 사이의 데이타 전송을 실행하게 되어, 격자사이의 데이타전송오버헤드를 제거하여 비동기제어로 고속해석을 행할 수 있다.
제32관점의 정보처리시스템을 사용함에 의해 행해진 계산방법에 의하면, 요소프로세서의 동작은 격자점의 해당수 또는 데이타메모리상의 격자점에 대응하는 데이타영역의 베이스어드레스에 대응하는 수의 어느쪽을, 입력토큰으로 해서, 사용함에 의해 제어되고, 이것은 인접 요소프로세서상의 데이타메모리에 직접 억세스하는 것을 가능하게 하는 효과를 얻을 수 있게 하여, 격자사이의 데이타전송오버헤드를 제거함으로써 비동기제어에 의해 고속해석을 행할 수 있다.
제4관점 또는 제3관점에 따른 전송수단은, 요소프로세서에 대한 계산의 초기 조건과 경계조건이 호스트컴퓨터에 입력되면 모든 요소프로세서상의 데이타메모리를 리세트하고, 요소프로세서 사이의 네트워크 및 접속을 통해서 각 요소프로세서로 요소프로세서에 대한 계산의 초기 조건과 경계조건을 할당한다.
그리고 각 요소프로세서는 계산을 착수하기 위한 대기상태로 들어간다.
제33관점의 정보처리시스템을 사용함에 의해 행해진 계산방법 또는 제4관점의 정보처리시스템은 처리장치에 또한 초기조건과 경계조건을 전송하는 전송수단을 구비하여, 요소프로세서의 하나의 동일 구성을 이용해서, 호스트컴퓨터에서 입력시키는 조건의 단순한 과정으로 다양한 초기조건 및 경계조건의 계산을 실현화하는 것이 가능하게 하는 효과가 발생한다.
제5관점 또는 제34관점에서 인접 요소프로세서의 데이타처리장치 사이의 데이타통신을, 각 처리 장치에 개별적으로, 비동기 및 반복적으로 행함으로써, 데이타메모리에 억세스가 가능하고 인접 요소프로세서에서의 처리를 방해하지 않고 완전히 비동기로 각 요소프로세서상의 처리를 계속할 수 있다.
즉 통신의 인접 요소프로세서내의 계산을 방해하지 않고 인접 요소프로세서 사이에서 이루어진다.
제5관점의 정보처리시스템 또는 제34관점의 정보처리시스템을 이용해서 행해진 계산방법에 따르면, 인접 요소프로세서 사이의 데이타통신을 각 처리장치에 개별적이며, 비동기 및 반복적으로 행해지며, 이것은 인접 요소프로세서의 처리를 방해없이 데이타메모리를 억세스하게 하여 완전히 비동기로 처리를 계속하는 것이 가능하고 인첩 요소프로세서의 동작을 방해하지 않고 통신할 수 있어 이것이 동작속도를 증가하는 효과가 있다.
제35관점 또는 제6관점에서의 인접 요소프로세서의 사이의 통신을, 메세지통신과, 다중명령스트림과, 다중데이타스트림에 의해 실행함으로서, 병렬처리효율을 향상시키는 것이 가능하다.
제6관점의 정보처리시스템 제35관점의 정보처리시스템을 사용함에 의해 행해진 계산방법에 따르면, 인접 요소프로세서 사이의 통신이 메세지통신이고, 멀티플렉스 코멘드 플로우 및 멀티플렉스 데이타 플로우로 실행되며, 이것은 병렬처리효율을 향상시키는 정보처리시스템의 처리속도를 증가하는 효과를 얻는다. 제7관점 또는 제36관점의 요소프로세서에서는, 인접 요소프로세서로부터 데이타메모리에 억세스하는 것은, 인접 요소프로세서의 데이타메모리에 각각 직접참조함에 의해서만 참조동작을 제한할 수 있어서, 이는 인접한 요소프로세서 처리 장치간의 데이타 통신에서, 각 처리장치에 의해 비동기 및 반복적으로 쉽게 행해질 수 있다.
제7관점의 정보처리시스템 또는 제36관점의 정보처리시스템을 사용함에 의해 행해진 계산방법에 따르면, 요소프로세서는 각각 인접 요소프로세서의 데이타메모리를 직접 참조하고, 인접 요소프로세서 사이의 데이타통신은 각 처리장치용의 하나의 동일 메모리를 갱신하는 요구들의 충돌없이 비동기 및 반복적으로 쉽게 실행된다.
이것은 메모리억세스용 데이타버스의 중재를 단순화함으로써 정보처리시스템의 처리속도를 증가하는 효과를 갖는다.
제8관점 또는 제37관점의 요소프로세서는 인접 요소프로세서의 데이타메모리 직접참조 및 갱신할 수 있고 이것이 계산효율을 크게 향상시키고 각 요소프로세서에 의해 배당된 처리를 인접격자점의 데이타로 간주해서 다른 요소프로세서가 상호 다른 메모리를 직접억세스하게 허락함으로써 짧은 시간에 소망의 동작을 완료할 수 있게 한다.
제8관점의 정보처리시스템 또는 제37관점의 정보처리시스템을 사용함에 의해 행해진 계산방법에 따르면, 요소프로세서는, 각각, 인접프로세서의 데이타메모리를 직접 참조 및 갱신하고, 이것이 인접 요소프로세서 사이의 데이타통신의 오버헤드를 감소하는 효과를 갖게 하여 계산효율을 향상시킨다.
제9관점의 정보처리시스템 또는 제38관점의 메모리에 접속된 복수의 소자프로세서는 메모리에 저장된 메모리 내용을 직접 참조 및 갱신할 수 있고, 이 메모리는 인접한 요소프로세서를 접속하는 경로상의 인접 요소프로세서에 의해 공유된다.
이것이 예를들면 I/O제어장치를 등을 통해서 메모리내의 인접격자점의 데이타를 직접 참조하고 갱신함에 의해 계산효율을 향상시키는 것을 가능하게 한다.
제9관점의 정보처리시스템 또는 제38관점의 정보처리시스템을 사용함에 의해 행해진 계산방법에 따르면, 인접 요소프로세서에 의해 공유된 메모리가 인접 요소프로세서를 접속하는 경로에 설치되며, 메모리에 공유된 메모리내용이 메모리에 접속된 복수의 요소프로세서에서 직접참조 및 갱신될 수 있고, 이것이 계산효율을 상당히 향상시켜 정보처리시스템의 처리속도를 증가하는 효과를 얻고 계산시간도 짧게 한다.
제10관점 또는 제39관점의 데이타메모리가 다중프트메모리이므로, 해당 요소프로세서와 인접 요소프로세서에 의해 다중포트메모리에 주어진 메모리참조명령을 동시에 처리할 수 있다.
제10관점의 정보처리시스템 또는 제39관점의 정보처리시스템을 사용함에 의해 형성된 계산방법에 따르면, 데이타메모리는 다중포트메모리이고, 하나의 동일 메모리어드레스를 참조하여 충돌이 생기는 처리에서 계산시간을 상당히 짧게 하고, 해당 요소프로세서와 인접 요소프로세서에 의해 다중포트메모리에 만들어진 메모리에 대한 참조요구를 동시처리할 수 있어, 처리지연을 크게 감소시킴으로써, 정보처리시스템의 고속동작을 쉽게 실현화할 수 있는 효과를 가진다.
제11관점 또는 제40관점에서의 버퍼수단은 일시적으로 데이타메모리에 억세스명령을 버퍼하여, 하나의 동일 메모리어드레스에 대한 갱신명령의 충돌의 경우에서 조차도 처리가 중단될 위험은 없다.
제40관점의 정보처리시스템을 사용함에 의해 행해진 계산방법과 제11관점의 정보처리시스템을 따르면, 시스템은 데이타메모리에 대한 억세스 요구를 일시적으로 버퍼하는 버퍼메카니즘을 포함한다.
이것은 갱신요구의 충돌에 의한 처리 중단을 피함으로써 정보처리시스템의 처리속도를 증가하는 효과를 갖게 하여, 계산시간의 증가를 방지할 수 있다.
제12관점 또는 제41관점의 버퍼메모리는 인접 요소프로세서에서 보내진 데이타를 인접 요소프로세서 사이의 통신에서 옵젝트 이름을 갖는 데이타로서, 기록하고 요소프로세서는 버퍼메모리로부터 선택타이밍에서 옵젝트 이름으로 데이타를 찾음으로서 인접 요소프로세서로부터 데이타수신이 완료된다.
이것이 인접 요소프로세서 사이의 데이타통신에 의해 각 요소프로세서 내부의 동작을 아무 방해없이 보호할 수 있다.
제12관점의 정보처리시스템 또는 제41관점의 정보처리시스템을 사용함에 의해 행해지는 계산방법에 따르면, 요소프로세서가 옵젝트이름을 갖는 데이타로서 인접 요소프로세서에서 보내진 데이타를 인접 요소프로세서 사이의 통신에서, 그안에 기록하기 위하여 버퍼메모리와 더불어, 각각 더 설치되고 요소프로세서는 버퍼메모리에서의 선택타이밍에서 옵젝트이름으로 데이타를 찾음으로써 인접 요소프로세서에서 데이타의 수신을 완료한다.
이것은 인접 요소프로세서 사이의 데이타통신에 의해 각 요소프로세서 내부의 동작에 대한 어느 간섭으로부터도 보호됨으로써 고동작속도를 얻는 효과가 있다.
제13관점 또는 각 계산동작의 적어도 하나에 필요한 데이타를 대기하는 제42관점에서의 정합메모리를 유지함에 의해 요소프로세서에서 처리 장치는 해당 정합메모리에서 필요한 데이타가 유용할 때 그점에서만 일정량의 소정동작을 행하고, 정합메모리에 결과를 정송하며, 인접 요소프로세서로 데이타를 전송하고, 또 인접 요소프로세서에서 데이타를 또 수신하여서, 데이타 사이에 자동동기화가 가능하고 통신에 오버헤드가 적은 쾌속처리가 가능하다.
제13관점의 정보처리시스템 또는 제42관점의 정보처리시스템을 사용함에 의해 행해진 계산방법에 따르면, 처리 장치는 필요한 데이타가 정합메모리에서 유용할 때 시간 상으로 그점에지만 일정량의 소정동작을 행하고, 정합메모리에 결과를 전송하며, 인접 요소프로세서에 데이타를 전송하고 또 인접소자프로세서로부터 데이타를 수신하고, 이러한 것은 통신의 오버헤드를 적게 하는 자동처리를 가능하게 하고 정보처리시스템의 처리속도를 증가시키는 효과를 가진다. 제14관점 또는 제43관점에서의 프로그램메모리는 처리 장치의 동작을 규정하는 프로그램을 재기록하는데 유효하고, 예를들면 호스트컴퓨터에 의해 요소프로세서가 총괄적으로 제어되는 경우에, 호스트컴퓨터로부터 네트워크를 통해 처리장치 내부의 프로그램메모리에 새로운 프로그램을 로드함으로써 프로그램을 바꿀 수 있다.
제14관점의 정보처리시스템 또는 제43관점의 정보처리시스템을 사용함에 의해 행해진 계산방법에 따르면, 시스템은 처리장치의 동작을 규정하는 프로그램을 재기록하는데 유용한 프로그램메모리을 포함함으로써 구성되고, 예를들면 네트워트를 통해서 요소프로세서를 일체로 제어하는 호스트컴퓨터가 접속되는 경우에 호스트컴퓨터에서 처리장치 내부의 프로그램메모리에 새로운 프로그램을 로드함으로써 프로그램을 바꿀 수 있고 이는 범용목적에 응용가능성이 높은 정보처리시스템을 제공하는 효과를 가진다.
제44관점에서 처리장치는 계산영역비트, 내부포인트비트, 외부포인트비트 및 경계조건비트를 요소프로세서의 데이타메모리에 선행해서 로드하여 그들이 격자점 종류에 관계없이 하나의 같은 계산프로그램을 사용함으로써 연산을 실행할 수 있고, 계산영역비트, 내부포인트비트, 외부포인트비트 및 경계조건비트를 사용함으로써 요소프로세서에 대한 처리를 바꿀 수 있다.
제44관점의 정보처리시스템을 사용함으로써 실행된 계산방법에 따르면, 처리장치는 계산영역비트, 내부포인트비트, 외부포인트비트 및 경계조건 비트로 요소프로세서에서 처리변환할 수 있는 하나의 동일 계산프로그램을 이용함으로써 연산을 실행하고, 이것은 격자점의 종류에 관계없이 하나의 동일 계산프로그램을 사용함으로써 연산을 실행하는 것이 가능하게 하고, 계산프로그램을 단순화시킴으로써 정보처리시스템의 규모를 축소시킬 수 있게 하는 효과를 가진다.
제15관점 또는 제45관점에서 각 처리장치는 각 프로그램메모리의 다른 영역의 배당된 복수의 프로그램을 동시에 실행할 수 있는 데이타플로우시스템에 의거해서 동작한다.
그리고, 하나의 되어일처리장치는 해당 프로그램메모리의 다른 영역에 각 격자점을 처리하는 복수의 프로그램을 배당함으로써 동시에 복수의 격자점 처리를 행할 수 있다.
제15관점의 정보처리시스템 또는 제45관점의 정보처리시스템을 사용함으로써 행해진 계산방법에 따르면, 처리장치는 프로그램메모리의 다른 영역에 배당된 복수의 프로그램을 동시 실행할 수 있는 데이타플로우시스템의 의거해서 동작하고, 각 격자점을 처리하는 복수의 프로그램을 프로그램메모리의 다른 영역에 할당함으로써 동시에 복수격자점의 처리를 실행하며, 이는 정보처리시스템의 규모를 줄어들게 하고 정보처리시스템의 구조를 단순화시키는 효과를 갖는다.
제16관점 또는 제46관점에서의 처리장치는 식별자의 사용으로 복수의 세트의 입력데이타상에 하나의 동일 프로그램을 동시에 실행할 수 있는 다이나믹 데이타구동시스템에 의거해서 동작한다.
제16관점의 정보처리시스템 또는 제46관점의 정보처리시스템을 사용함으로써 실행된진 계산방법에 따르면, 데이타플로우시스템은 식별자의 사용으로 복수의 세트 상기 입력데이타상에 하나의 동일 프로그램을 동시에 실행할 수 있는 다이나믹데이타구동시스템이고, 이것은 정보처리시스템의 구성의 단순화를 쉽게 실현하는 효과를 갖는다.
제47관점에서의 처리장치는 입력데이타에 배당된 식별자의 값에 의거해서 인접 요소프로세서에 관한 데이타를 저장하는 데이타메모리의 어드레스를 계산한다.
그리고 그들은 데이타메모리의 어드레스를 사용함으로써 데이타메모리를 참조 및 갱신한다.
그런 이유로 인접 요소프로세서의 처리장치 사이의 데이타통신이 각 처리장치에 대해서 개별적으로 행해지는 정보처리시스템에서 조차 다이나믹데이타구동시스템에 의해 계산이 비동기 및 반복적으로 쉽게 행해진다.
제47관점의 정보처리시스템을 사용함으로써 행해진 계산방법에 따르면, 시스템은 입력데이타에 배당된 식별자 값에 의거한 데이타메모리의 어드레스를 사용함으로써 데이타메모리를 참조 및 갱신하고 인접 요소프로세서에 관한 데이타를 저장하는 데이타메모리의 어드레스를 계산하며, 이것은 정보처리시스템의 구성의 단순화를 쉽게 실현화하는 효과를 갖는다.
제17관점 또는 제48관점에서 처리장치는 데이타처리플로우의 전체 또는 일부에 대한 와이어드로직에 따른 데이타플로우그래프의 형태로 계산 요소가 배선되는 하드웨어 회로가 제공하고, 각고 데이타는 차례로 처리로 제공된 데이타그래프의 맨 위로부터 하나씩 최종 계산 요소에 자동적으로 도달하기 위해 하나씩 차례로 연산 요소의 스퀀스를 통해서 지나간다. 일련의 연산이 끝날 때 그 계산결과는 프로세서 내부의 데이타버스를 통해 데이타메모리내에 기록되고 또 요소프로세서 사이의 접속을 통하여 인접소자프로세서의 데이타메모리에서 동시에 기록된다.
제17관점의 정보처리시스템 또는 제48관점의 정보처리시스템을 사용함으로써 행해진 계산방법에 따르면, 데이타처리장치는 데이타처리플로우의 전체 또는 일부의 와이어드로직에 따라 데이타플로우그래프의 형태로 계산 요소가 배선되는 하드웨어회로를 설치하고, 각 데이타는 차례로 처리될 데이타플로우그래프의 맨 위로부터 계산 요소의 열(column)을 통하여 통과하여 자동적으로 최종계산 요소에 이른다.
일련의 연산이 끝날 때, 데이타처리장치는 프로세서 내부의 데이타버스를 통해 데이타메모리에 그 계산결과를 기록하고, 동시에, 일련의 처리동작을 완료하기 위하여 인접 요소프로세서의 데이타메모리에 그 계산결과를 기록한다.
그러므로 본 발명은 미분 연산을 위하여 특수화된 최대병렬을 추출함으로써 고속동작을 실현화한국는 효과를 가진다.
제18관점 또는 제19관점에서의 처리중량는 계산영역비트, 내부포인트비트, 외부포인트비트 및 경계조건비트를 요소프로세서의 데이타메모리에 미리 로드해서 격자점에 관계없이 하나의 같은 와이에어드로직에 다른 하드웨어회로로 계산을 행하여, 계산영역비트, 내부포인트비트, 외부포인트비트 및 경계조건비트에 따른 데이타플로우그래프의 처리를 바꿀 수도 있다.
제18관점의 정보처리시스템 또는 제49관점의 정보처리시스템을 사용함에 의해 행해진 계산방법에 따르면, 처리중량는 계산영역비트, 내부포인트비트, 외부포인트비트 및 경계조건비트에 다른 데이타플로우그래프의 처리를 바꿀 수 있는 하나의 동일 와이어드로직에 따른 하드웨어회로로 이루어진다. 이것은 격자점의 종류에 관계없이 하나의 동일 와이어드로직에 따른 하드웨어회로로 계산을 행할 수 있어서 계산프로그램을 단순화함으로써 정보처리시스템의 크기를 감소시킬 수 있다.
제19관점 또는 제50관점에서의 처리장치는 제1입력에 제2입력곱, 제3입력에 제4입력곱, 제5입력에 제6입력곱, (2×N-1)번째 입력에 (2×N)번째곱, 2N의 입력데이타에 각 결과를 누적해서 더해서 연산을 실행한다, 연산장치를 직접 부름으로써, 예를들면, 노비어-스토크(Navier-Stokes)방정식과 같은, 그들의 연산을 자주 사용하는 연산 처리 속도를 고속화시킬 수 있다.
제19관점의 정보처리시스템 또는 제50관점의 정보처리시스템을 사용함에 의해 행해진 계산방법에 따르면, 처리장치는 제1입력에 제2입력곱, 제3입력에 제4입력곱, 제5입력에 제6입력곱, 제7입력에 제8입력곱을 8개의 입력데이타에 누적하여 더하기 위하여 동작코드를 직접 실행하는 계산장치를 설치하고, 다중플라이어의 각 입력단자에 있는 데이타입력에 대한 와이어드로직에 따른 데이타플로우그래프의 연산을 실행하고, 다중플라이어의 출력단자에 그 결과를 출력하여서, 미분방정식 등과 같은 방정식을 푸는 속도를 증가하는 효과를 제공한다.
제51관점에서의 요소프로세서는 적은 횟수의 통신을 갖는 격자점에서 조차 더미통신을 가짐에 의해 필드에 대한 지배방정식을 풀기 위한 연산 회수가 작은 통신으로 격자점의 통신 회수를 증가시킴으로써 전격자점에서 통신 회수를 평준화한다.
제51관점의 정보처리시스템을 이용함에 의해 행해진 계산방법에 따르면, 모든 격자점에서의 통신 회수는 평준화되고 이것이 병렬연산의 효율성을 높이는 효과를 가져온다.
52관점에서 요소프로세서는 적은량의 연산으로 격자점에서 조차 더미동작을 가짐으로써 필드의 지배방정식을 풀기 위한 연산회수가 작은 격자점의 연산 회수를 증가함으로써 전체의 격자점에서 연산회수를 평준화한다.
제52관점의 정보처리시스템을 이용함에 의해 행해진 계산방법에 따르면, 처리장치는 연산 회수가 작은 격자점에서 조차 더미연산을 행함에 의히 전격자점에서의 통신수를 평준화한다.
제53관점의 요소프로세서는 격자점사이의 통신에 대한 필요 여부의 정보를 각 격자점에 할당함으로써 격자점사이의 통신효율을 향상시킨다. 예를들면, 요소프로세서는 격자점에 대한 통신의 여부를 나타내는 통신 여부의 정보, 네트워크를 통하여 지나는 통신인지 아닌지를 나타내는 통신 방법에 대한 정보를 각 격자점에 할당함으로써, 불 필요한 정보를 제거하게 된다.
제53관점의 정보처리시스템을 이용함에 의해 행해진 계산방법에 따르면, 격자점 사이의 통신은 각 격자점에 배당되고, 이것이 격자점사이의 통신효율성을 높이고 정보처리시스템의 처리속도를 증가시킨다.
또한 본 발명은, 격자점사이의 통신이 필요한가 아닌가를 나타내는 통신의 필요여부를 정보 및 각 격자점에 할당된 통신이 네트워크를 통해서 이루어졌는지의 여부를 나타내는 통신 방법에 대한 정보인지가, 예를 들면, 각 격자점에 할당되어, 정보처리시스템의 처리속도를 향상시키고 격자점 간의 통신 효율성을 증진시키는 효과를 가진다. 제54관점에서 데이타메모리는 각 격자점에 배당된 그들의 메모리영역을 가지고, 요소프로세서는 메모리영역을 통해서 인접의 격자점사이의 데이타를 교환하며, 각 격자점에 대해서 독립적으로 격자점 간의 데이타 교환을 행할 수 있다.
그리고, 데이타메모리는 각 격자점의 통신용으로 사용될 각 방향에 대한 통신에 사용되도록 메모리영역을 나타내기 위한 정보를 유지함으로써 각 격자점에 대한 데이타통신을 효과적으로 유지할 수 있다.
제54관점의 정보처리시스템을 사용함에 의해 행해진 계산방법에 따르면, 처리시스템은 메모리영역을 통해 인접격자점 사이의 데이타 교환을 하도록 각 격자점에 각 데이타메모리의 메모리영역을 배당하고, 통신이 형성되어야 하는 각 방향에서 통신용으로 사용될 메모리영역을 나타내기 위한 정보를 각 격자점에 제공하며, 이러한 것은 정보처리시스템에 의해 고속처리를 쉽게 실현화하는 효과를 준다.
제55관점에서 요소프로세서는, 통신이 불가능한 방향에서 각 격자점을 보유를 위해 공통더미영역을 나타내는 정보를 제공함으로써 통신이 가능 또는 불가능에 관계없이 하나의 동일처리를 행할 수 있고, 통신 가능성 여부를 판정하기 위한 판정프로그램이 필요치않다.
제55관점의 정보처리시스템을 이용함에 의해 행해진 계산방법에 따르면 보유하기 위하여, 각 격자점은, 통신이 불가능한 방향에서 공통더미영역을 나타내는 정보로 제공되고, 이것이 통신의 가능성 여부를 판정하기 위한 프로그램을 주어 들게 하여 프로그램 크기를 축소할 수 있게 하는 효과를 갖는다.
제56관점에서 요소프로세서는 인접격자점이 다른 요소프로세서에 배당될 때 상호통신용 타임스퀀스에서 두쌍의 데이타를 홀딩하고 그들 격자점용 데이타가 갱신될 때는 시차적으로 이전의 데이타쌍과 비교하여 소정값보다 갱신데이타의 변위가 크지 않으면 데이타를 재기록 하지 않음으로써 소자프로세서 사이의 불 필요한 통신을 제거할 수 있다.
제56관점의 정보처리시스템을 이용함에 의해 행해진 계산방법에 따르면, 양쪽의 요소프로세서는 타임스퀀스에서 다른쪽으로부터 전송된 2쌍의 데이타를 상호 홀딩하고 그들 격자점에 대한 데이타가 갱신될 때 갱신된 데이타의 변위가 시차적으로 이전쌍의 데이타와 비교해서 소정값보다 크지 않으면 다른 쪽의 데이타를 프로세서는 재기록하지 않는다.
이것이 요소프로세서 사이의 불필요한 통신을 제거함으로써 정보처리시스템의 처리속도를 증가시키는 효과를 가진다.
제57관점에서 요소프로세서는 방정식의 계산주체를 형성하는 계산영역 경계에 가장 근접하고 계산 영역의 외부에서 구해진 격자점을 모의하는 가상 데이타 영역 할당하고 계산 영역의 바로 내부의 격자점의 처리를 계산영역 내의 다른 격자점의 처리와 동등하게 한다.
제57관점의 정보처리시스템을 사용함에 의해 행해진 계산방법에 따르면 상기 방정식의 계산주체를 형성하는 계산영역에 경계에 가장 근접하고 상기 계산영역의 외부에서 구해진 격자점을 모의하는 가상데이타 영역은 데이타 메모리에 배당되고, 격자점의 데이타는 가상데이타 영역에 기록하며, 이것이 프로그램 크기의 축소 또는 처리프로그램의 단순화를 가능하게 하는 효과를 갖는다.
제20관점 또는 제58관점에서, 서로 인접한 요소프로세서를 접속하는 화인 노드 결합의 접속과 그들 사이에서 하나의 요소프로세서 이상을 건너뛰어 서로 요소프로세서에 접속하는 코어스 노드 결합의 접속을 구비함으로써, 코어스 노드결속와 화인노드결속의 사용으로 계산을 진전시키고 정확도를 떨어뜨리지 않고서 계산시간을 짧게 할 수 있다.
제20관점의 정보처리시스템 또는 제58관점의 정보처리시스템을 이용하여 수행된 컴퓨터 계산방법에 따라, 정보처리 시스템은 코어스 노드 결합에 의해 접속된 요소프로세서의 컴퓨터 계산과 화인 노드 결합에 의해 접속된 요소프로세서의 컴퓨터 계산을 수행하여 방정식의 컴퓨터 계산을 수행하는데, 이는 코어드 노드 결합에 의해 접속된 요소프로세서를 이용함으로써 행해진 컴퓨터 계산으로 수렴 속도를 증가시키는 효과를 가질 뿐만 아니라 화인 노드 결합에 의해 접속된 요소프로세서를 이용함으로써 행해진 계산에 의하여 계산의 정확성을 유지하는 효과를 가짐으로써, 고속으로 고도의 정확성을 갖는 처리가 가능해진다.
제59관점에서, 방정식의 계산은 코어드 노드 결합에 의해 접속된 요소프로세서에 의한 계산과 화인 노드 결합에 의해 접속된 요소프로세서에 의한 계산의 교대적인 실행으로 진행되며, 수렴 시간은 코어드 노드 결합에 의해 접속된 요소프로세서에 의한 계산으로 단축되며, 계산의 정확성은 화인 노드 결합에 의해 접속된 요소프로세서에 의한 계산으로 보상된다.
제59관점의 정보처리시스템을 사용하여 수행된 계산방법은 이 시스템이 코어드 노드 결합에 의해 접속된 요소프로세서에 의한 계산과 화인 노드 결합에 의해 접속된 요소프로세서에 의한 계산을 교대로 수행함으로써 방정식의 계산이 수행되므로 고속의 고도의 정확성을 갖는 처리를 할 수 있는 효과를 갖는다.
본 발명의 제60관점에서, 선택된 격자점만을 이용한 방정식의 계산은 수렴실행을 개선하기 위하여 모든 격자점에 대한 방정식의 계산과 동시에 수행된다.
제61관점의 정보처리시스템을 이용하여 수행된 컴퓨터 계산방법에 따르면, 상기 시스템은 선택된 격자점의 일부만을 이용해 방정식의 계산을 수행하며 모든 격자점을 이용한 제어방정식의 계산도 동시에 수행되며, 이는 정보처리시스템의 처리 시간을 단축하는 효과를 갖는다.
제61관점에서 선택된 격자점만을 이용하는 방정식의 계산알고리듬(algorithm)은 모든 격자점을 이용한 방정식의 계산에 이용된 알고리듬과 다르게 만들어져서, 전자 알고리듬을 수렴에 역점은 두고 있는 후자 알고리듬은 해의 정확도에 역점을 두고 있다.
제61관점의 정보처리시스템을 이용하여 수행된 컴퓨터 계산방법에 따르면, 선택된 격자점만을 이용한 방정식의 계산 알고리듬은 모든 격자점을 사용하는 방정식의 계산에 이용된 알고리듬과 다르고, 이는 코어스 노드에 적용할 수 있는 알고리듬의 정확성보다는 수렴 속도에 더 역점을 두게 하여 정보처리시스템의 처리시간을 급격히 감소시킬 수 있는 효과를 갖는다.
제62관점에서 요소프로세서는 시간 계열에서 인접한 격자점에 관한 2쌍이하의 데이타를 가지며 그들 2쌍의 데이타를 서로 비교하여 상기 데이타쌍사이의 변동 양이, 정해진 양보다 크지 않을 경우 해당 격자점의 연산을 생략한다.
제62관점의 정보처리시스템을 이용하여 수행된 컴퓨터 계산방법에 따르면, 처리장치는 시간 계열적으로 인접한 격자점에 관한 2쌍 이하의 데이타를 가지며, 만일 이 데이타 사이의 변동량이 정해진 양보다 크지 않다면 해당 격자점의 연산을 생략하는데, 이는 정보처리시스템의 처리시간을 급속도로 단축하는 효과를 갖는다.
또한, 제63관점의 요소프로세서는 수렴 등급에 따른 상기 데이타쌍 사이의 변동 값에 의거하여, 격자점의 연산을 생략하기 위하여 정해진 양의 값을을 감소시킴으로써 비경제적이며 국부적인 컴퓨터 계산을 더 방지할 수 있다.
제63관점의 정보처리시스템을 이용하여 수행된 컴퓨터 계산방법에 따르면, 상기 데이타쌍 사이의 변동 값에 의거하여, 격자점의 연산을 생략하기 위한 정해진 양의 값은 수렴 등급에 따라 감소되며, 이는 정보처리시스템의 처리 시간을 급속도로 단축하는 효과를 갖는다.
제21관점 또는 제64관점에서 I/O장치는 데이타 소팅(sorting) 및 정리에 필요한 식별로 출력 데이타를 제공함으로써 요소프로세서의 출력데이타를 비동기적으로 읽으며, 복수개의 상태량이 혼합된 상태로 보내진다 하더라도, 식별자로 각 출력 데이타를 식별하고 소팅함으로써, 포스트 처리(post-processing)를 수행할 수 있다.
제21관점의 정보처리시스템 또는 제64관점의 정보처리시스템을 이용하여 수행된 컴퓨터 계산방법에 따르면, 출력 I/O장치는 요소프로세서에서 출력 데이타를 비동기적으로 독출하며 그 데이타의 소팅 및 정리에 필요한 식별에 의해 그 출력 데이타를 제공하며,
이는 식별작업에 의해 제공된 출력 데이타를 이용하여 포스트 처리를 수행하는 효과와 비안정 계산(non-steady computation)의 중간 결과를 출력함과 동시에 고속 처리를 수행하는 효과를 갖는다.
제22관점 또는 제65관점에서 출력 데이타 이미지 처리 장치는 각 요소프로세서의 출력 장치로부터 출력 데이타를 수집해서, 컴퓨터 계산의 진행 상황을 외부에 전송하여, 모든 요소프로세서로부터 비동기적으로 도착한 출력 데이타를 기초로 하여 실시간으로 데이타의 시각적인 이미지를 발생한다.
제22관점의 정보처리시스템 또는 제65관점의 정보처리시스템을 이용하여 수행된 컴퓨터 계산방법에 따르면, 정보처리시스템은 출력 I/O장치로부터 나온 출력 데이타를 수집하고 모든 요소프로세서로부터 비동기적으로 도축된 출력 데이타를 기초로 하여 실시간으로 출력 데이타를 시각적인 이미지를 발생하는 출력 데이타 이미지 처리 장치를 구비함으로써 구성되며 요소프로세서의 연산을 방해하지 않고 비고정 컴퓨터 계산의 중간 결과를 출력할 수 있는데, 이는 비안정 계산의 중간 결과를 출력함과 동시에 고속 처리를 수행하는 효과를 갖는다.
제23관점 또는 제66관점에서 좌표 변환 장치는, 호스트컴퓨터에 의해 이용되는 제1좌표 시스템으로부터 요소프로세서에 의해 이용되는 제2좌표 시스템으로 전환시키고, 요소프로세서에 의해 이용되는 제2좌표 시스템으로부터 호스트컴퓨터에 의해 이용되는 제1좌표 시스템으로 변환시킴으로써 서로 다른 좌표 시스템, 즉, 입력에 적절한 좌표 시스템과 컴퓨터 계산에 적절한 좌표 시스템을 사용할 수 있게 하여, 격자의 형성을 용이하게 한다.
제23관점의 정보처리시스템 또는 제66관점의 정보처리시스템을 이용하여 수행된 컴퓨터 계산방법에 따르면, 정보처리시스템은 요소프로세서를 제어하는 호스트컴퓨터로부터 요소프로세서로, 호스트컴퓨터에 의해 이용된 임의의 제1좌표 시스템으로부터 요소프로세서에 의해 이용된 제2좌표 시스템으로 데이타를 전송할 때, 그리고 상기 요소프로세서에 의해 이용된 제2좌표 시스템으로부터 상기 호스트컴퓨터에 의해 이용된 상기 제1좌표 시스템으로 데이타를 전송할 때 데이타를 변환하기 위한 좌표 변환 장치로 제공되는데, 이는 격자의 형성을 용이하게 하고 해의 정확도를 향상시키는 효과를 갖는다.
제24관점 또는 제67관점에서 제1수렴 판정 장치는 각 요소프로세서와 해당 처리 장치의 컴퓨터 계산을 방해하지 않고 수렴을 판정하는 독립적인 처리 장치가 제공된다.
또한, 복수개의 요소프로세서는 복수개의 그룹으로 구분되며 각 요소프로세서의 제1수렴 판정 장치는 단일방향폐루프(unidirectional closed loop)의 형태로 접속되거나 제1통신 경로의 수단에 의해 각 그룹에 집적된 형태로 접속된다. 또한, 상기 제1수렴 판정 장치는 제2통신 경로에 의해서 각 그룹의 제1통신 경로에 각각 접속된다.
그리하여, 각 그룹에 있는 모든 제1수렴 판정 장치의 수렴 판정 결과를 집적하는 제2수렴 판정 장치 모두와 단일방향의 폐루프의 형태로 되거나, 집적된 형태로된 각 그룹의 제2수렴판정 장치 모두에 접속되어 각 요소프로세서의 계산을 방해하지 않고 수렴 판정을 수행할 수 있으며 제1 및 제2통신 경로를 통하여 호스트컴퓨터에 정보를 전송할 수 있게 된다.
제24관점의 정보처리시스템 또는 제67관점의 정보처리시스템을 이용하여 수행된 컴퓨터 계산방법에 따르면, 처리 장치는 요소프로세서에서 처리를 방해하지 않고 각 그룹에 대해 병렬로 수렴의 판정을 수행할 수 있으며, 이는 계산 속도를 증가시키는 효과를 갖는다.
제25관점 또는 제68관점에서 복수개의 요소프로세서는 먼저 각 요소프로세서나 이 프로세서에 할당된 1개 이상의 처리 수단에 대한 수렴 판정을 실행한다.
그리고, 수렴 판정이 이루어지면, 각 요소프로세서는 인접 요소프로세서로부터 수렴의 메세지를 수신한 후 요소프로세서나 해당 처리 수단의 수렴을 나타내는 메세지를 전송한다.
이러한 동작을 반복함으로써, 요소프로세서는 경로를 따라 차례로 메세지를 전송하고 전체 시스템의 수렴을 판정한다.
제25관점의 정보처리시스템 또는 제68관점의 정보처리시스템을 이용하여 수행된 컴퓨터 계산방법에 따르면, 정보처리시스템은 각 요소프로세서 또는 이 요소프로세서에 할당된 1개 이상의 처리 수단에 대해 수렴 판정을 수행하는 처리와 정해진 경로를 따라 차례로 메세지를 전송하여 수련을 판정하는 처리를 구성되며, 각 요소프로세서는 각 연산을 방해하지 않고 병렬로 연산을 수행할 수 있다. 이는 연산 속도를 증가하는 효과를 갖는다.
제69관점의 전 부분의 수렴 판정 프로세서에 의해 수렴의 판정 완료 후, 각 프로세서를 반복하여 비안정점이 존재하더라도 수렴의 유사한 판정을 재차 수행할 수 있게 되며, 시간 경과로 인해 두번 판정하여 전체 시스템의 수렴 판정이 확실하게 할 수 있게 된다.
제69관점의 정보처리시스템을 이용하여 수행된 컴퓨터 계산방법에 따르면, 수렴 판정 장치는, 일반적인 수렴이 일반적인 수렴을 판정하는 프로세서에 의해 판정된 후, 각 프로세서를 반복하여 재차 유사한 수렴의 판정을 수행하는데, 이는 비안정점이 존재한다 하더라도 전체 정보처리시스템의 수렴 판정을 정확하게 수행하는 효과를 갖는다.
제26관점 또는 제70관점의 복수개의 경로를 따라 차례로 전송된 메세지에 의한 멀티플렉스 방식으로 수렴을 확인하여, 비안정점이 존재한다 하더라도 하나의 격자점에 대해 적어도 두번의 유사한 수렴을 판정을 수행할 수 있게 되며 전체 시스템의 수렴 판정을 확실하게 할 수 있게 된다.
제26관점의 정보처리시스템 또는 제70점의 정보처리시스템을 이용하여 수행된 계산방법에 따르면, 수렴은 복수개의 경로를 따라 차례로 전송된 메세지에 의한 멀티플렉스 방식으로 수렴이 확인되며, 비안정점이 존재한다 하더라도 전체 정보처리시스템의 수렴 판정을 정확하게 수행하는 효과를 갖는다.
를 제71관점에서 전체 시스템의 수렴을 판정하는 프로세서에 의해 판정된 전체 시스템의 수렴의 완료 후 수렴을 새롭게 확인하여, 비안정점이 존재한다 하더라도 수렴의 판정이 가능해져서 전체 요소프로세서의 처리가 중단된다 하더라도 전체 시스템의 수렴 판정을 확실하게 할 수 있게 된다.
제71관점의 정보처리시스템을 이용하여 수행된 컴퓨터 계산방법에 따르면, 수렴 판정 장치는 일반적인 수렴을 판정하는 프로세서에 등 의해 판정된 일반적인 수렴의 완료 후 모든 요소프로세서 또는 처리 수단을 중단함으로써 재차 수렴 판정을 수행한다.
이는 비안정점이 존재한다 하더라도 전체 정보처리시스템의 수렴 판정을 정확하게 수행하는 효과를 갖는다.
제72관점에서 기억 수단은 수렴의 판정 결과를 기억하는 기억 수단을 초기화시키는 과정에 의해 초기화된 후 각 격자점의 격자점 계산의 수렴 여부가 전체 시스템이 충분히 수렴되었다고 간주되는 정해진 시간의 경과후 프로세서에 의해 수행된다.
그리고, 수렴이 도달되지 않았다고 판정되면, 기억수단을 정해진 논리값에 셋팅하며 기억수단의 메모리 내용을 확인하여 수렴을 판정한다.
이는 시스템이 계속적으로 불안정한 상태에 놓인다 하더라도 처리가 가능하게 된다.
제72관점의 정보처리시스템을 이용하여 수행된 계산방법에 따르면, 정보처리시스템은 수렴 판정 결과를 기억하는 기억수단을 초기화하는 프로세서와 프로세서에 의해 수행된 각 격자점에 대한 격자점 계산의 수렴 여부를 판정하는 프로세서로 구성되며, 수렴에 도달되지 않았다고 판정되면, 기억수단을 정해진 논리값에 셋팅하는데, 이는 시스템이 일정한 불안정성의 상태에 있다 하더라도 시스템을 작동가능하게 유지하는 효과를 가지며 정보처리시스템의 신뢰성을 향상시키는 효과를 갖는다.
본 발명의 73번째나 75번째 관점의 입/출력 제어 장치는 요소프로세서의 데이타 메모리에 억세스에 대한 요구에 따라서 통신의 방향을 스위칭하여 요소프로세서는 인접한 요소프로세서와 공유하는 복수 데이타 메모리의 한개의 데이타 메모리로부터/에서 고속도로 데이타를 판독/기입할 수 있다.
상기 독출된 데이타는 인접한 요소프로세서에 의해서 기입된 데이타이며 인접한 요소프로세서 사이의 데이타 통신은 데이타 메모리에 대한 억세스에 의해 유지된다.
73번째 관점의 정보처리시스템이나 75번째 관점의 정보처리시스템을 사용함으로써 수행된 계산방법에 따라서, I/O제어기는 인접한 요소프로세서에 의해 공유된 복수의 데이타에 보통 접속되고, 억세스에 대한 요구에 따라 통신의 방향을 스위칭으로써 복수 데이타 메모리중 하나와 입/출력 데이타를 통제하기 위한 방법으로 구성되고, 이렇게 하여 인접한 요소프로세서 사이의 데이타 통신속도를 증가시키는 효과를 가진다.
본 발명의 74번째나 76번째 관점에서 와이어드 OR회로에 의해서 생성된 논리곱의 값은 각각의 요소프로세서에서 연산이 수렴하는지를 나타내는 수렴 판정의 결과가 모든 복수 레지스터에 저장되는지 안되는지를 알려줄 수 있다.
이때, 요소프로세서는 레지스터에 저장된 수렴의 판정결과를 사용함으로써 요소프로세서는 수렴 판정에 대하여 독립적으로 연산을 계속할 수 있다.
74번째 관점의 정보처리시스템이나 76번째 관점의 정보처리시스템을 사용함으로써 실행되는 컴퓨터 계산의 방법에 따라서, 상기 시스템은 와이어드 OR회로에 의해서 각각의 복수 요소프로세서가 실행한 연산에 대한 수렴 판정 결과를 일시적으로 저장하고 복수 요소프로세서에 상응하여 각각 장치된 복수의 레지스터 출력의 논리곱을 산출하기 위한 방법으로 구성되어 있고, 이러한 젊은 와이어드 OR회로에 의해 생성되는 논리곱의 값으로 수렴을 판정하여 요소프로세서의 작동을 위한 처리의 수렴 판정을 독립적으로 형성하면서 수렴 판정 시간을 단축하는 효과를 준다.
본 발명의 77번째 관점의 요소프로세서는 비안정점을 포함하는 경우 보다 해석상 비안정점을 포함하는 경우에 더 작은 수의 격자점을 할당함으로써 수렴까지의 시간을 단축하기 때문에 모든 요소프로세서의 연산 시간의 편차를 작아지게 하여, 전체 요소프로세서가 수렴하는데에 필요한 시간을 단축시킬 수 있다.
77번째 관점의 정보처리시스템을 사용함으로써 실행되는 컴퓨터 계산방법에 따르면, 상기 시스템은 불안정 요인(factor)이 존재하는 해석상 비안정점을 포함하는 요소프로세서에 할당된 격자점의 숫자가 해석상 비안정점을 포함하지 않는 요소프로세서에 할당된 격자점의 숫자보다 작은 그런 방식으로 구성되어 있고, 이러한 방법으로 각각 요소프로세서에서 연산시간을 평준화함으로써 수렴까지의 시간을 단축시키는 효과를 준다.
본 발명의 제1목적은 요소프로세서 사이의 메시지를 비동기적으로 전달함으로써 잠재 인내력(latency tolerance)을 향상시킬 수 있는 정보처리시스템을 제공하는 것이다.
본 발명의 제2목적은 통신에 의한 요소프로세서 내부의 처리에 대한 어떤 방해에 대해서도 보호되는 메모리 구조를 구비함으로써 미분방정식의 해에 적합한 메모리 억세스 시스템을 실현할 수 있는 정보처리시스템을 제공하는 것이다.
본 발명의 제3목적은 직접적으로 와이어 논리를 프로세서에 있는 하드웨어에 돌림으로써 실현된 계산 소자를 배열함으로써 열유압 수치 해석(thermasl hydraulic numerical analysis)에 근거를 둔 수치해석 방법과 편미분방정식의 해에 대한 다른 방법에 있어서 고유의 연산의 수준으로 병렬성(paralleism)을 충분히 증명할 수 있는 정보처리시스템을 제공하는 것이다.
본 발명의 목적 및 다른 목적, 특징, 관점 및 장점은 첨부되는 도면과 관련지어 취해지는 이하의 본 발명의 상세히 설명으로부터 더욱 더 명백하게 될 것이다.
본 발명의 이러한 것들과 다른 목적, 특징, 관점과 잇점은 도면과 관련시켜 보았을 때 본 발명의 다음의 상세한 설명으로부터 더 명백해질 것이다.
본 발명의 제1실시예를 도면을 이용하여 아래에 설명한다.
제1도는 본 발명의 제1실시예에 있어서의 멀티-프로세서의 일반구성도이다.
제1도에 있어서, 1은 계산 처리을 전체적으로 제어하여 호스트컴퓨터이고, 2는 호스트컴퓨터 1의 제어 아래에서 계산 처리를 수행하는 정보처리시스템의 메인보디이고, 3은 공간적으로 배열되어서 정보처리시스템 2를 구성하는 요소프로세서이고, 4는 호스트컴퓨터 1과 정보처리시스템 2사이를 연결함으로서 정보를 교환하기 위한 네트워크이고, 5는 계산을 수행하기 위한 각각의 요소프로세서 3내에 설치되어 처리 장치이고, 6은 정보를 저장하기 위한 각각의 요소프로세서 3내에 제공되는 메모리이고, 그리고 7은 각 요소프로세서 3사이를 연결하여 통신하기 위한 요소프로세서 사이의 연결이다.
제1도에서 정보처리시스템 2에서, 각각의 요소프로세서 3 사이의 연결상태는 격자 형태로 배열된 인접 메쉬케이스를 가리키고, 그러나 또한 선상배열, 링, 스타, 트리, 시스트릭 배열 완전히 연결된 것과 같은 다른 연결시스템 일 수도 있다.
다음에, 작용에 대한 설명을 한다.
호스트컴퓨터 1은 네트워크 4를 통하여 정보처리시스템 2를 마주하고 초기조건 및 경계 조건의 세팅, 정보처리시스템 2내의 수렴의 판정, 정보처리시스템 2내의 계산결과의 출력등을 한다.
각각의 요소프로세서 3은 요소프로세서 사이의 연결 7을 통하여 상호통신하도록 서로 연결되고 초기조건 및 경계조선을 세팅하고 계산의 수렴의 판정을 발송하거나 계산결과를 발송하고, 제어 명령에 따라 호스트컴퓨터로부터 정보처리시스템 2로 보내진다.
호스트컴퓨터 1에서와 같이 퍼스날 컴퓨터 또는 워크스테이션등이 사용되고 네트워크 4를 통하여 정보처리시스템 2에 연결된다.
각각의 요소프로세서 3은 처리장치 5 및 메모리 장치6으로 구성되고, 네트워크 4 및 메모리장치 6내의 요소프로세서 사이의 연결 7을 통하여 호스트컴퓨터 1로부터 보내진 초기 조건 및 경계 조건을 저장하는 기능을 가지고, 호스트컴퓨터 1로부터 계산의 초기 토큰을 수신한 후에 즉시 처리장치 5내에서 소정의 계산 처리를 수행하고, 처리된 데이타를 메모리 장치 6안에 기록하고, 계산을 계속한다.
요소프로세서 3은 하드웨어의 구조시스템에 따라 3개의 주카테고리로 분류된다.
제2도에서 제4도는 다양한 종류의 요소프로세서 3a 에서 3c의 하드웨어 구조 시스템의 예를 나타내는 블럭도이다.
각각의 도면에서 8은 메모리 장치 6내에 제공된 데이타 메모리이고, 9는 처리 장치 5와 데이타 메모리 8사이를 연결함으로 통신하기 위한 처리장치내의 데이타 버스이고, 10은 처리장치 5에 제공되는 부동 소수점 산술 소자이고, 11은 처리장치 5에 제공된 프로그램메모리이고, 12는 처리장치 5에 제공된 기능모듈이고, 13은 처리장치 5에 제공된 배선 논리에 따르는 데이타 플로우그라프 모양의 하드웨어회로이고, 14은 데이타 플로우 그라프 13을 따라 배열된 컴퓨터 요소이고, 그리고 15는 데이타 플로우그라프 13을 따라 계산 소자 14를 연결하는 데이타라인이다.
미분방정식을 풀기 위한 모든 연산을 하드웨어로 실현함으로서, 명령어 레벨에서 최고도의 병렬을 현실화할 수 있다.
영역 분해방법을 기본으로 하는 멀티-프로세서로서의 해결방법에서, 각각의 프로세서의 명령 레벨에서의 병렬은 프로세서의 구조에 의존하지만 다른 방정식의 해법 자체가 가진 병렬성에 의존하는 것은 아니다.
제2도는 배선 논리를 기초로 된 데이타 플로우 그라프를 가진 데이타 처리의 흐름이 실현된 요소프로세서의 구조도면이다.
본 발명의 제2실시예를 도면을 사용하여 설명한다.
제2도는 본 발명의 제2실시예에 따른 정보처리시스템을 구성하는 요소프로세서를 나타낸 블럭도이다.
제2도에서, 처리장치 5내부에 각각의 계산 논리요소가 제5도에 표시된 배선논리에 따르는 데이타 플로우그라프 13을 따라서 배열되고, 예로서 데이타 라인 15로 연결된다. 제5도는 기본 처리의 흐름을 보이는 데이타 플로우그라프이다.
본 도면에서, 16은 아크 17을 따른 데이타 입력에 대한 소정의 연산을 수행하는 계산 노드이고 연산 결과를 아크 17을 따라 다음 계산 노드에 출력한다.
산술 논리 소자 14는 4개의 산술 연산, 논리 연산, 메모리에서 명령을 읽기, 메모리에 명령을 쓰기, 절대값, 지수항수 연산등을 수행하는 기능을 가진다.
만일 네트워크 4를 통하여 호스트컴퓨터 1로부터 발송된 토큰(노드 주소 또는 계산의 시작으로 불리우는 메시지)이 프로세서 내부에서 데이타버스 9를 통하여 처리장치 5에 다다르면, 요소프로세서 3a 는 DRAM(dynamic random access memory), SRAM(static RAM), 플래쉬 메모리등과 같은 데이타 메모리에 먼저 액세스하고 데이타 메모리 8내에 저장된 처리장치 5의 상태의 량과 인접 처리장치 5의 상태의 량을 흡수함으로써 필요한 데이타를 준비한다.
각각의 데이타가 계산처리에 이용되도록 데이타 플로우그라프 13의 정상으로부터 하나씩 산술 논리 소자 14의 순서를 통과하고 자동적으로 마지막 산술 논리 소자 14에 도달된다. 그리하여 일련의 연산이 완성된다.
산술 논리 소자 14는 프로세서 내에 데이타버스 9를 통하여 데이타 메모리 8내에 계산의 결과를 기록하고 또한 일련의 계산 처리를 완료하기 위하여 요소프로세서 사이의 연결 7을 통하여 인접요소프로세서 3a의 데이타 메모리 8내에 상기 결과를 기록한다.
상기 경우에서는 처리장치 5는 데이타 플로우그라프 13에 나타난 일련의 처리를 실행하여 높은 속도의 계산을 제공하는 특수 목적 컴퓨터로서 작용한다.
다음에 본 발명의 제3실시예를 도면을 이용하여 설명한다.
제3도는 본 발명의 제3실시예에 의한 정보처리시스템을 구성하는 요소프로세서를 나타낸다.
각각의 요소프로세서에 재장전할 수 있는 프로그램메모리를 배열함으로서, 특수 목적 컴퓨터 기능에 유연성을 제공할 수 있다.
제3도에 표시된 처리장치 5는 데이타 플로우그라프 13에 따라 산술 논리 소자 14의 순서 대신에 부동 소수점 산술 소자 10 및 프로세서메모리 11로 구성된다.
작업은 요소프로세서사이의 연결 7을 통하여 각각의 요소프로세서 16의 프로세서메모리 11내에 네트워크 4를 통하여 호스트컴퓨터로부터 보내진 프로그램을 좀더 장진함으로서 완성된다.
프로그램메모리 11의 내용은 재장전할 수 있고, 그리하여 네트워크 4를 통하여 호스트컴퓨터로부터 처리장치 5내부에 프로그램메모리 11내에 새로운 프로그램을 장진함으로서 프로그램을 변화할 수 있다.
그러므로 기능을 보충하거나 미분방정식을 풀기 위한 연상의 어떤 변화는 프로그램메모리 11에 새로운 프로그램을 간단히 장전함으로서 가능하다.
상기에 설명한 바와 같이 작업 속도를 증가하기 위해서 특별히 구성한 멀티프로세서도 연산변화 기능의 보충등의 유연한 기능의 제공되어 프로그램을 재기록할 수 있다.
제3도에 표시된 처리장치에 따라서, 프로그램을 변경함으로서 자유롭게 해법 알고리듬을 선택하고 변화하여 제2도의 처리장치와 비교하여 컴퓨터의 응용 범위를 훨씬 더 넓게 할 수 있다.
요소프로세서내에 재장전 프로그램 메모리를 제공함으로서 프로그램메모리 내용을 재기록함으로서 프로그램을 변경시킬 수 있고 같은 하드웨어에서 다른 방정식을 풀거나 함수를 보충하기 위한 알고리듬 또는 도식의 변화를 실현할 수 있다.
제1 및 제3도는 각각 정보처리시스템의 구조 및 본 발명의 제1실시예에서의 각각의 요소프로세서에서의 프로그램 메모리내의 새로운 알고리듬, 도식 또는 모델을 로딩하기 위한 요소프로세서의 구조를 나타낸다.
제3도에서, 프로그램메모리 11의 내용을 재장전할 수 있고, 네트워크 4를 통하여 호스트컴퓨터 1로부터 처리장치 5내부의 프로그램메모리내에 새로운 프로그램을 로딩함으로써 프로그램을 변경할 수 있다. 각각의 요소프로세서 3b는 프로그램메모리 11내에 기록된 소프트웨어에 따라서 부동 소수점 계산 소자 10을 작동함으로서 연산을 수행하는 방식으로 구성된다.
만일 요소프로세서 3B에 새로운 알고리듬, 도식 및 모델로 기록된 어느 프로그램이 호스트컴퓨터 1로부터 입력모든 요소프로세서의 프로그램메모리 11이 리세트되고, 프로그램은 네트워크 4와 요소프로세서사이의 연결 7을 통하여 각각의 요소프로세서 3b에 할당되고, 프로그램메모리 11내의 프로그램이 재기록되고, 그리고 상기 과정의 완성에 따라 각각의 요소프로세서 3b가 계산을 시작하기 위하여 준비된다.
상기에서 설명된 바와 같이 연산 속도를 증가시키기 위해 특수화된 구조의 멀티-프로세서는 재기록를 하는 유연한 기능을 가지도록 모델, 알고리듬 및 도식을 정적으로 재구성할 수 있다.
요소프로세서에서 호스트컴퓨터의 명령으로 소거할 수 있는 내용의 데이타 메모리를 제공함으로서, 데이타 메모리의 내용을 재기록함으로서 경계조건을 변경하고 같은 하드웨어에서 다양한 해석모델의 계산을 실현할 수 있게 된다.
제1도에서 각각의 요소프로세서 3은 연산 논리 소자 14에서 데이타라인 15에 의해 연결된 데이타 플로우그라프 13형태의 하드웨어 회로를 가지거나 프로그램메모리 11에서 기록된 소프트웨어에 따라 부동소수점 컴퓨터 계산요소 10을 작동함으로서 작업은 완성하는 방식으로 구성될 수 있다. 초기 조건 세팅 프로그램은 호스트컴퓨터 1에 로드되고 경계조건은 상기 세팅프로그램을 사용함으로서 자유롭게 설정된다.
만일 계산의 경계조건이 초기되면 모든 요소프로세서에서 데이타 메모리 8이 재설정되고, 계산의 초기 및 경계조건이 요소프로세서 사이의 연결 7 및 네트워크 4를 통하여 각각의 요소프로세서 3이 지정되고, 상기 과정이 완료되면 각각의 요소프로세서 3은 계산을 초기하기 위한 대기상태에 들어간다.
다양한 경계조건 및 초기조건에서 작동은 하나의 동일한 멀티-프로세서 구조의 정보처리시스템 2를 사용함으로서 호스트컴퓨터에 조건을 장전하는 간단한 과정으로 실현될 수 있다.
본 발명의 제4실시예를 도면을 이용하여 설명한다.
제4도는 본 발명의 제4실시예에 의한 정보처리시스템을 구성하는 요소프로세서를 나타낸다.
제4도에 표시된 처리장치 5는 제2 및 제3도에 표시된 처리장치 구조의 복합기능을 가진다.
제4도에 나타난 처리장치 5에서, 미분방정식를 풀기 위해 자주 사용되는 연산 처리 기능은 기능모듈 12에서 하드웨어 회로 형태로 구성된다.
계산이 수행할 때, 기능모듈 12는 프로그램내에서 호출 기능모듈 12를 위한 명령을 기재함으로써 기능을 요구함에 따라 호출된다.
상기 기간의 계산 시간은 소프트웨어가 제3도에 표시된 처리장치에서와 같이 부동 소수점 산술 소자 10이 모든 계산 처리를 위한 기능을 하도록 만드는 경우에 비교하여 상당히 감소될 수 있다.
각각의 요소프로세서 3c는 데이타통신을 위한 요소프로세서 사이의 연결 7로서 격자형태의 인접 요소프로세서 3에 연결되고, 상호 인접한 요소프로세서 3c사이의 데이타통신은 요소프로세서 사이의 상기 연결 7을 통하여 일어난다.
네트워크 4는 수렴판정 플래그 또는 계산의 결과의 통신을 하도록 모든 요소프로세서 또는 주변 요소프로세서 3c 및 호스트컴퓨터 1사이에 제공된다.
본 발명의 제5실시예를 도면을 이용하여 설명한다.
요소프로세서 3으로 구성된 제1실시예에 표시된 2차원 플래인에 배열한 2차원 컴퓨터 보드를 3총무차원적으로 연결함으로서, 3차원 계산으로 확장할 수 있다.
제6도는 2차원 컴퓨터 보드를 3차원적으로 연결함으로서 3차원 계산을 완성하기 위한 요소프로세서 의 구조를 나타낸 도면이다.
도면에서, 1은 호스트컴퓨터이고, 3은 3차원적으로 요소프로세서 3에 제공된 처리장치하고, 5는 요소프로세서 3에 제공된 처리 장치이고, 6은 정보를 저장하기 위하여 요소프로세서 3에 제공된 메모리이고, 4는 네트워크 그리고 18은 이차원적으로 요소프로세서 3을 연결함으로서 구성된 2차원 컴퓨터 보드이다.
이 경우에, 2차원 컴퓨터 보드 18의 타임베이스 방향의 파이프 라인내의 구조와 달리, 2차원 컴퓨터 보드 18사이에 제공된 네트워크 4는 공간적 적분 계산을 위한 데이타의 통신에 사용된다.
요소프로세서 3사이의 3차원 배열형태의 연결상태는 네트워크 4의 배선의 변경으로, 격자형 기하학, 하이퍼큐브 또는 파이프라인 등으로 자유롭게 변경될 수 있다.
상기 실시예에서 요소프로세서 3 사이의 연결상태가 격자형태로 배열된 인접메쉬 경우를 설명하였으나 같은 효과를 심지어, 예를 들면, 화음링, 3-큐브, 2진 4-큐브 등과 같은 다른 연결시스템으로도 얻어질 수 있다.
본 발명의 제6실시예를 도면을 이용하여 설명한다.
앞의 실시예에 표시된 구조의 정보처리시스템 2의 사용방법에 대해 설명한다.
제1 및 제6도는 본 발명의 제1실시예에서 각각의 요소프로세서에 초기 조건 및 경계조건을 송출하기 위한 멀티-프로세서 구조의 정보처리시스템을 나타낸다.
정보처리시스템 2는 각 요소프로세서 3b내에, 계산 소자 14가 데이타 플로우그라프 13의 형태에서 데이타라인 15로서 연결된 하드웨어 회로를 가지거나 제3 및 제4도에서 보여지는 것과 같이 프로그램메모리 11에 기록된 소프트웨어에 따라서 부동소수점 계산소자 10을 작동함으로서 연산을 수행하는 방식으로 구성된다.
만일 요소프로세서에 계산의 어떠한 초기 조건 및 경계 조건의 호스트컴퓨터 1에 입력된다면 모든 요소프로세서 3의 데이타 메모리는 재설정되고 계산의 초기 조건 및 경계조건은 네트워크 4 및 요소프로세서 사이의 접속 7을 통하여 각각의 요소프로세서 3에 지정되고, 상기 과정의 완료에 따라, 각각의 요소프로세서 3은 계산개시를 위한 대기상태로 들어간다.
그러므로, 정보처리시스템 2에서, 하나의 동일한 멀티프로세서의 구성을 사용함으로써, 다양한 경계 조건과 초기 조건에 대한 연산은 그 호스트컴퓨터에 조건을 입력하는 간단한 과정으로 실현될 수 있다.
정보처리시스템 2의 사용예로서, 영역 분해법을 기초로 하는 유체의 수치해석으로 설명된다.
연속체인 유체는 연속 방정식 및 나비어-스토크(Navier-Stokes) 방정식으로 불리우는 강한 비-선형 방정식으로 설명된다.
유한차분법에 의하여 상기 편미분방정식으로 설명된 필드의 지배방정식을 풀 때는, 먼저 대상현상 및 영역은 공간 및 시간에서 미세한 크기를 가지는 가장 작은 요소(격자)로 나뉘어진다.
상기 격자에서, 편미분방정식으로 표현된 지배방정식을, 이산화 하고 차분방정식으로 변환하여 이 차분방정식을 풀므로써, 해가 얻어진다.
한편, 차분법에 의한 해법에서, 미세한 공간요소가 갖는 상태량은 단지 인접한 이웃에 존재하는 요소의 상태량에 의해서만 영향을 받고, 상기 효과는 계산에서, 인접요소가 갖는 상태량으로 컴퓨터 처리를 하게 함으로서 실현된다.
공간에서 따로 분리된 작은 요소는 서로 다른 데에 어떤영향을 주지 않으며 단지 인접하는 작은 요소에 영향을 고려함으로서 독자적으로 계산될 수 있다.
예로서, 심플(SIMPLE Semi-Implicit Method for Pressure-Linked Equation)방법(부분적으로는 연속성을 만족시키지 않기 위한, 가정 압력하에 운동 방정식을 푸는, 연속성을 만족시키지 않는 부분에, 압력 및 속도를 교정하는 반면에 최종적으로 연속의 규칙을 만족시키는 해를 얻는 수법, (예를들면, S. V. Patankar, Nmerical Heat Transfer and Fluid Flow(1980),맥그로-힐출판사)에서 기술된 것과 같이,)에 의해 비압축성 유체를 푸는 것을 고려한다.
제70은 심플방법에 의한 유체의 수치해석을 하기 위해 통상적으로 사용된 계산과정을 나타낸 플로우차트이다.
도면에서, 211은 나비어-스토크 운동 방정식을 풀기 위한 루틴그룹을 나타내고, 212는 압력-교정방정식을 풀기 위한 루틴그룹을 나타내고, 213은 속도 및 압력을 교정하기 위한 루틴이고, 214는 비-선형 수렴을 위한 반복사이클이고, 그리고 215는 시간을 진행하기 위한 계산 사이클을 나타낸다.
즉, 심플방법에 의한 열유합해석과정을 루틴 211그룹이고 이산 나비어-스토크 운동 방정식을 풀고, 루틴 213으로 하나씩 차례로 속도 및 압력 결정방정식을 풀고 또한 시간의 진행을 위한 계산 사이클(215)을 반복하는 것으로 구성된다.
근래에 자주 사용되는 멀티-프로세서를 사용하는 병렬해결방법에서, 주흐름(main stream)은 전체 계산공간을 복수영역으로 나누고, 각각의 영역에 요소프로세서를 지정하고, 단지 요소프로세서 사이의 보드의 상태량의 데이타를 전달하는 것으로 구성된 도메인 분해방법이다.
상기 방법의 문제점은 요소프로세서 사이의 통신에 관한 동기화를 기다리는 것이다.
일반적 사용의 현재 병렬프로세서에서, 요소프로세서 사이의 데이타 통신이 패킷통신등에 의해 낮은 속도의 리모트메모리 액세스로 실현되는 것에서, 요소프로세서의 수에 최소의 가능한 통신량을 갖는 코어스 그레인의 계산 알고리듬을 사용하여 동기화를 기다리는 것을 가능한 한 많이 피하는 기법을 갖는 것이 필요하다.
그러나 요소프로세서가 수퍼 행렬로 구성되는 경우에는, 동기화 기다림의 갑작스런 증가를 피할 방법은 없고, 그러므로, 프로세서의 수에 비례하는 어떤 병렬도 기대될 수 없다.
상기와 같은 이유로, 격자포인트가 상태량을 개별적으로 계산하는 새로운 SIMPLE 방법이, 단지, 운동방정식 및 압력-교정방정식이 인접격자 포인트가 상태량을 참조함으로써, 해가 구해질 수 있다고 하더라도, 얻어진 해는 충분히 정확하다는 사실에 특별한 관심을 갖고서, 표시될 것이다.
제7도는 본 실시예의 격자포인트 #1, #2, … #n이 다른 격자포인트가 다른 격자포인트의 계산의 연산을 방해하지 않고 독립적으로 상태량을 계산하는 계산 알고리듬을 나타내는 플로우차트이다.
도면에서, 20은 나비어-스토크 운동 방정식을 풀기 위한 루틴 그룹이고, 21은 압력-교정 방정식을 풀기 위한 루틴 그룹이고, 22는 압력 및 속도의 교정을 수행하기 위한 루틴이고, 23은 비선형 수렴을 위한 반복 사이클이고, 24는 시간을 진전시키는 계산 사이클이고, 그리고 25는 격자포인트 #1, #2, … #n의 각각에 지정된 요소프로세서의 루틴그룹이다.
여기에 압축할 수 없는 2차원적 층의 유체에 대한 유체 수치해석을 예로 보임으로서 구체적인 알고리듬이 제시될 것이다. 온도필드를 고려하지 않은 경우, 유체는 아래의 3개의 무차원적인 방정식으로 표현된다.
연속방정식은 공식 1에 주어진다.
여기서, 각 심볼은 다음과 같다.
여기서, 각 심볼은 다음과 같다.
공식 1~3은 공식 4로서 하나로 표현될 수 있고, ψ는 임의의 변수를 나타내고, T는 확산 황, Su, Sp는 생성 항이고, 그들의 값은 아래 테이블 1에 나타낸다.
제8도는 공식 4의 미분에 필요한 조절볼륨을 표시한다.
임의의 변수 ψ는 조절볼륨 26의 중앙포인트 P27에 위치하고, 인접한 ψ에 대한 각 포인트는 E(동쪽 : East) 28, W(서쪽 : West) 29, N(북쪽 : North) 30, S(남쪽 : South) 31로서 정의되고, 상기의 중앙포인트(조절볼륨 26의 경계와 격자 라인 사이의 교점)는 소문자(e,w,n,s)로서 표시된다.
그들은 그물모양으로 짜여 있으므로, 스칼라 량은 대문자의 위치에 배치되고 벡터 량(속도)은 소문자의 위치에 배치된다.
만일 조절볼륨 26에 들어가고 나가는 흐름 속도를 고려하고 이산화하기 위하여 시간 차이에 대한 도식으로서 오일러 명시 방법이 공식 4에 적용된다면, 공식 4는 공식 5로 변경한다.
ψ가 격자들 사이에 선형으로 분포되고 e,w,n,s 가 각각 P와 E,P와 W,P 와 N,P와 S사이의 중앙포인트라고 가정하면 공식 6-9가 예상될 수 있다.
공식 10은 조절볼륨에 대해 공식 5를 적분함으로서 얻어진다.
여기서, 대류항 C 및 확산항 D에 관해서는 공식 11 및 공식 12에서와 같은 방법으로 정의된다.
상기 표현에서, 첨자는 조절볼륨 26의 경계면의 위치를 표시한다.
공식 11 및 공식 12의 정의가 사용되면, 공식 10은 공식 13으로 변화된다.
만일 공식 13에 공간 차분 도식으로서 ψ에 대한 하이브리드 도식을 적용하여 배열을 하다면, 공식 14가 얻어진다.
또한 max[ , , ]는 괄호안의 최대치를 선택하는 함수이다. 시간 차이 방법으로서, 양 해법, 음 해법, 반 음 해법이 있다.
그러나, 가속 방법에서 보통 해를 최종적으로 구하는 것을 목적으로 하여 그 다음 시간의 값 ψpn+1로 공식 13의 우변에 포함된 ψp를 평가함으로써, 공식 15의 이산 방정식이 공식 14로부터 얻어진다.
SIMPLE 방법에서 도출된 이산 방정식의 미지수인 속도와 압력은 서로 관련된다. 첫째로, 운동 방정식의 공식 2-3의 이산 방정식이 유도될 것이다.
변수 ψ는 u,v이고, 만일 공식 16-19가 속도 u에 대해서 정의된다면 이산 방정식은 공식 20으로 될 것이고, 만일 공식 21-24가 속도 v에 대해 정의된다면 이산 방정식은 공식 25로 될 것이다.
공식 16은 속도 u에 대한 w-면의 계수를 나타낸다.
공식 17은 속도 u에 대한 e-면의 계수를 나타낸다.
공식 18은 속도 u에 대한 s-면의 계수를 나타낸다.
공식 19는 속도 u에 대한 n-면의 계수를 나타낸다.
상기에서,
공식 21은 속도 u에 대한 w-면의 계수를 나타낸다.
공식 22은 속도 u에 대한 e-면의 계수를 나타낸다.
공식 23은 속도 v에 대한 e-면의 계수를 나타낸다.
공식 24는 속도 v에 대한 n-면의 계수를 나타낸다.
공식 20을 풀면, 포인트 p에서 가정된 흐름 속도 u*가 결정될 수 있다. 공식 25을 풀면, 포인트 p에서 가정된 흐름 속도 v*가 결정될 수 있다. 상기 방정식을 끌어내는데 필요한 Fp 뿐만 아니라 공식 20 및 공식 25로부터 얻어진 가정된 값 u*,v*를 사용함으로서, 압력-교정 방정식의 계수는 압력 교정 값 P'를 결정한다. 공식 26은 압력-교정 방정식을 나타낸다. 방정식에서 첨자 e 및 n은 각각 동쪽 및 북쪽에 있는 요소프로세서로부터 전달된 값을 나타낸다.
서쪽 및 남쪽의 요소프로세서로부터 전달된 압력 교정값 P'를 사용함으로써 공식 27-29로부터 속도 및 압력이 계산된다.
계산을 위한 다양한 종류의 격자포인트가 고려될 수 있는데, 이산적인 포인트가 일반적으로 물질 내부, 벽 근처 또는 흐름의 입구 또는 출구등에서 존재할 수 있는 형태이다.
많은 종류의 계산 프로그램(소프트웨어) 및 계산 회로(하드웨어)를 준비하는 것은 프로그래밍을 매우 번거롭게 만든다.
상기와 같은 이유로, 각 포인트의 위치 정보는 내부 포인트 비트와 외부 포인트 비트 형태의 초기 조건 및 경계 조건으로서 각 요소프로세서의 메모리에 미리 주어져서, 똑 같은 프로그램이 계산 자체로 실행될 수 있다.
계산 영역의 내부 포인트와 외부 포인트의 구별도 역시 비트를 사용하여 이루어진다. 만일 상기 이산 포인트가 물질 내부에 있다면 그것은 외부 포인트로 간주될 것이고, 상기 이산 포인트가 유체니에 있으면 그것은 내부 포인트로 간주될 것이다. 외부 포인트 및 내부 포인트 비트는 변수 u,v,p의 각각에 의해 정의되고, 내부 포인트는 1(ON)로 주어지고 반면에 외부 포인트는 0(OFF)로 주어진다. 예로서, u에 대한 플래그가 비트(u)로 입력되면, u의 이산 방정식의 계수를 결정하기 전에 다음의 연산 처리가 수행될 것이다.
경계 조건으로서, 아래에 주어진 종류의 경계 조건이 설정될 수 있다.
변수 u,v,p의 각각은 월함수(wall ffunction)의 사용여부를 표시하는 플래그를 갖는다. 그러나, 어떤 면에 월이 존재하는가를 판정하기 위하여 w,e,s,n의 각 방향에 비트가 설정된다. u와 v의 이산 방정식의 계수를 결정하기 전에 공식 31-33의 연산이 수행된다.
공식 31은 월 함수를 사용하는 벽면 조건을 나타낸다.
상기에서, t=전단 변형력
공식 32은 경사도 0의 유출 경계 조건을 나타낸다.
단, ψp1는 구배 0의 유출 경계 조건을 가진 변수인 것을 나타낸다.
공식 33은 경계값의 고정을 나타낸다.
변수 ψp은 공식 32와 공식 32이 결합된 공식 34로서 설명된다.
각각의 계산 셀에 필요한 연산의 본질에 따라서, 유체의 지배방정식의 특성 때문에 다른 경계 조건하에서도 거의 동일한 연산이 이루어진다.
만일 경계 조건의 상기 설정에 따른 여러 종류의 비트가 제공됨으로써 단지 상기 경계 조건이 데이타 메모리에 초기에 매핑된다면, 계산 셀이 존재하는 계산 공간의 경계, 내부 포인트 또는 외부 포인트의 위치에 관계 없이 하나의 동일한 프로그램이 사용될 수 있다. 그러므로, 요소프로세서 3의 프로그램 메모리에 있는 1격자 포인트의 실제 값을 계산하기 위해 필요한 일련의 연산을 나타내는 프로그램을 로딩하는 것만으로 충분하다.
상기 한 종류의 연산 프로그램을 사용하여 계산 격자를 차례로 청소함으로써 계산을 수행하기 위하여, 첫째 계산 격자의 격자 포인트 수(또는 데이타 메모리 8에 대한 베이스 번지)는 입력 토큰으로서 요소프로세서 3의 내부에 있는 순환 파이프라인(제21도의 84)에 흐르게 된다. 예로서, 만일 입력토큰인 격자 포인트 수가 2라면, 제2격자 포인트에 할당된 메모리 영역에 액세스함으로서 계산 요소는 계산을 시작한다.
토큰의 입력 순서에는 제한이 없으므로, 1,2,3 …과 같이 순서적으로 상기 컴퓨터를 단지 세는 것에 더하여, 격자 수를 랜덤하게 입력시키는 것도 가능하다.
제9도는 요소프로세서에 설치된 데이타 메모리 내부의 데이타 구조를 보여 준다.
제9도에서 보여진 것과 같이, 요소프로세서에 설치된 데이타 메모리의 내부는 하나의 프로세서에 의해 점유될 격자 포인트의 수와 똑같은 수의 부분 32로 분할되고, 한 격자 포인트의 계산을 위해 필요한 데이타는 상기 부부의 각각에 매핑된다.
제10도와 제11도는 앞에서 설명된 알고리듬의 흐름을 보여주는 플로우 챠트이다. 상기 도면에서, 33-63은 지금부터 각각 A-I로 표시되는 각 계산 함수들이다.
(a) 요소프로세서 3은 방위 x에 있는 운동 방정식을 풀어서 예측값 u를 결정하는 함수를 가진다. 상기 도면에서, 33은 u의 w-면에 대한 계산에서 x방향의 운동 방정식의 계수 Fw를 결정하는 함수 A(u)이고, 34는 u의 e-면에 대한 계산에서 x방향의 운동 방정식의 계수 Fe를 결정하는 함수 B(u)이고, 35는 u는 s-면에 대한 계산에서 x방향의 운동방정식의 계수 Fs를 결정하는 함수 C(u)이고, 36은 u의 n-면에 대한 계산에서 x방향의 운동 방정식의 계수 Fn을 결정하는 함수 D(u)이고, 37은 x방향의 운동 방정식의 생성항 G를 결정하는 함수 E(u)이고, 43은 x방향의 운동 방정식의 계수 Fp를 결정하고, 상기 각 계수와 상기 각 생성항으로부터 예측속도 u를 결정하는 함수 G(u)이다.
(b) 요소프로세서 3은 y방향의 운동 방정식을 풀어서 예측값 v*를 결정하는 함수를 가진다. 상기 도면에서, 38은 v의 w-면에 대한 계산에서 y방향의 운동 방정식의 계수 Fw를 결정하는 함수 A(v)이고, 39는 v의 e-면에 대한 계산에서 y방향의 운동 방정식의 계수 Fe를 결정하는 함수 B(v)이고, 40은 v의 s-면에 대한 계산에서 y방향의 운동 방정식의 계수 Fs를 결정하는 함수 C(v)이고, 41은 v의 n-면에 대한 계산에서 y방향의 운동 방정식의 계수 Fn을 결정하는 D(v)이고, 42는 y방향의 운동 방정식의 생성항 G를 결정하는 함수 E(v)이고, 그리고 44는 y방향의 운동 방정식의 계수 Fp를 결정하고 상기 각 계수 및 상기 생성항으로부터 예측속도 v*를 결정하는 함수 G(v)이다.
(c) 요소프로세서 3은 압력 교정값 p'를 결정하는 함수를 가진다. 상기 도면에서, 51은 p'에 대한 방정식의 생성항 G를 결정하는 함수 F이고, 52는 운 방정식의 계수 및 함수 F로 얻어지는 생성항을 기초로 하여 방정식 p'을 풀어서 P'를 결정하는 함수 G(p)이다.
(d) 요소프로세서 3은 흐름 속도 및 압력을 교정하는 함수를 가진다. 상기 도면에서, 55는 p'를 기초로 하여, u,v,p를 결정하는 함수 H이다.
(e) 요소프로세서 3은 경계 조건을 설정하는 함수를 가진다. 상기 도면에서, 45,46,57-59는 초기 값으로 주어진 비트 데이타를 기초로 하여 경계 조건을 설정하는 함수 I이다.
(f) 요소프로세서 3은 설정된 경계 조건을 전달하는 함수를 가진다. 상기 도면에서 47,48,53,60-62는 이전 처리에서 설정된 각 경계 조건을 인접 요소프로세서 3에 전달하는 함수들이다.
(g) 요소프로세서 3은 계산된 경계 조건의 수렴여부를 판정하는 함수를 가진다. 상기 도면에서, 49,50,54,63은 이전 함수 I 45,46,57-59에서 각각 설정된 경계 조건의 수렴여부를 판정하는 함수들이다.
제11도에 표시된 플로우챠트에 따라 상기 함수들을 연결함으로서 한개의 격자 포인트에 대한 계산 코드가 완료된다.
다음에 한개의 격자포인트를 계산하는 알고리듬은 요소프로세서 3의 프로그램메모리 11에 매핑된다. 상기 매핑된 프로그램은 요소프로세서 사이의 연결 7과 네트워크 4를 통하여 호스트컴퓨터 1로부터 발송된 격자 포인트수의 정보 테크를 입력 토큰으로 사용함으로서 개시된다.
복수의 격자포인트가 하나의 요소프로세서에 매핑된 경우에는, 요소프로세서서 사이의 연결 7을 통하여 요소프로세서 3 사이에서 전달된 데이타는 복수의 격자포인트로 구성된 각 분할의 영역의 외부에 위치한 격자포인트에 의해 유지된 정보이다. 상기와 같은 이유로, 요소프로세서 3사이에 설치된 요소프로세서 사이의 연결 7을 통하여 인접 요소프로세서 3에 있는 데이타 메모리를 직접적으로 액세스함으로써, 프로세서 사이의 데이타 전송을 수행하고 격자포인트 사이에서 과도한 데이타 전송을 제거함으로 비동기 제어에 의해 빠른 해석을 할 수 있게 된다.
또한, 하나의 요소프로세서에 하나의 격자포인트를 매핑하고, 적어도 계산된 격자포인트에 수만큼 의 요소프로세서 3을 사용하고, 요소프로세서 3 사이에서 후에 설명될 멀티포트메모리를 배열하고, 요소프로세서 사이의 연결 7에 의해 그들을 연결하는 수퍼 병렬 시스템을 구성하고, 그리고 서로 인접한 요소프로세서 3사이에서 비동기적으로 밀접한 데이타 통신을 유지하는 반면 요소프로세서의 처리를 서로 방해하지 않고 데이타의 교환을 수행함으로써 수렴하는 해를 얻는 것이 가능하다.
또한 하나의 요소프로세서에 복수의 격자포인트를 매핑하고 요소프로세서 사이에 동기적인 통신 시스템을 적용함으로서, 요소프로세서 3 사이에서 동기적인 해석이 가능해진다. 상기 경우에서는, 요소프로세서 3의 처리장치 5가 편미분방정식을 푸는데 적합한 특수 목적의 고속 연산을 하기 때문에, 일반적인 용도의 종래 프로세서를 사용하는 동기적인 해법에 비교하여 처리속도의 탁월한 개선이 가능하다.
상기 실시예에서 하나의 격자포인트를 계산하기 위한 알고리듬의 요소프로세서 3의 프로그램 메모리 11에 매핑되는 경우에 대하여 설명되었을지라도, 계산 요소 14가 데이타 플로우그라프 13의 형태로 하드웨어 회로를 형성하도록 데이타 라인 15에 연결된 경우에도 물론 같은 효과가 얻어질 수 있다.
더불어서, 어떤 처리로부터 다른 처리로 메시지(데이타)를 보낼 때 메시지의 번지 부호에 의해서 적합한 처리로 메시지를 보내는 메시지 통신이고 복수의 데이타에 대해서 복수의 다른 (같을 수도 있음)명령이 병렬로 실행되는 경우에는, 서로 인접한 요소프로세서 3사이의 통신의 효율적인 병렬 처리가 가능하다.
다음에, 본 발명의 제7실시예를 설명한다. 시간미분의 근사법으로서, 참조될 상태의 양에 대한 시간 간격의 차이때문에, 오일러 양의 전진 방법, 오일러 음의 재처리 방법, 2차 크랭크-니콜슨 도식, 3차 리차드슨도식 등이 있다.
3차 리차드슨 도식에 있어서, 예를들면, 현재 시간이 n으로 주어질 때, 다음 시간 n+1에서의 값을 얻는데 필요한 상태의 량은 시간 n-1과 n에서의 값으로 결정된다.
종래 노이만 컴퓨터를 사용하는 방법에서는, 일반 메모리안에 과도하게 시간 n-1 및 n에서의 값을 저장할 필요가 있으므로, 메모리 용량의 부족으로 인하여 계산 스케일이 제한된다.
메모리 용량이 모자라는 상기 문제도, 제11실시예에서 설명된 2차원 면에 배열된 요소프로세서로 구성된 복수의 2차원 계산 보드를 사용하여 쉽게 해결할 수 있다.
제12도는 2차원 공간에서 시간 미분의 근사법을 위한 정보 처리 시스템의 구조를 나타낸 도면이다. 상기 도면에서, 65-67은 요소프로세서 3을 2차원적으로 연결하여 각각 구성된 2차원 계산 보드이고, 65는 시간 n-1에 대응하는 값의 계산이 점유하는 2차원 계산 보드이고, 66은 시간 n에 대응하는 값의 계산이 점유하는 2차원 계산 보드이고, 67은 시간 n+1에 대응하는 값의 계산이 점유하는 2차원 계산 보드이다. 더구나, 4는 각각의 2차원 계산 보드를 파이프라인으로 연결하고 또 그들을 호스트컴퓨터 1에 연결하여 정보를 교환하는 네트워크이다.
리차드슨 도식에서는, 예를 들어, 시간 n+1에서의 값을 얻는데 필요한 시간 n-1 및 n에서의 값들은 시간 n-1에 대해서는 2차원 계산 보드 65위에 있고 시간 n에 대해서는 2차원 계산 보드 66위에 있는 각 요소프로세서 3의 데이타 메모리로부터 네트워크 4를 통하여 시간 n+1에 대한 2차원 계산 보드 67의 각 요소프로세서 3으로 전달된다.
계산이 종료된 때, 계산 결과는 자동적으로 2차원 계산 보드 67의 각 요소프로세서 3의 데이타 메모리안에 저장된다.
계속하여 시간 n+2에서의 값을 산출하기 위하여, 시간 n-1에서의 값이 저장 되어 있는 시간 n-1용 2차원 계산 보드의 각 요소프로세서 3의 데이타 메모리를 리세트하고, 계산을 위하여 네트워크 4를 통해서 시간 n+2에서의 값으로서 시간 n 및 n+1에서의 값을, 각각 시간 n용 2차원 계산 보드 66과 시간 n+1용 2차원 계산 보드 67로부터 시간 n-1용 2차원 계산 보드 65로 새롭게 전달하고, 시간 n+2에서의 값으로서 상기 결과를 각 요소프로세서 3의 데이타 메모리안에 저장한다.
상기에 설명된 바와같이, 제3실시예의 정보처리시스템에 따르면, 메모리 부족 문제가 해결되고 연산이 더욱 빨라진다.
시간 기준의 방향에 따라서 파이프라인의 상기 구조는 또한 2차원적으로 해석적인 해법의 수렴 판정에 속도를 증가시키는데 이바지한다.
미분 방정식의 해에서, 현재 시간 n에서 계산된 값과 이전 시간 n-1에서 계산된 값 사이의 차이가 어떤 표준 범위 보다 크지 않을 때 수렴판정이 이루어지는 경우인데, 시간 기준의 방향으로 파이프라인의 구조는 있을 인접한 2차원 계산 보드 사이의 상기 값을 비교하는 간단한 작업으로 수렴을 판정하는 것이 가능하게 한다.
본 발명의 제8실시예를 설명한다.
본 발명의 응용의 주 목적이 미분방정식의 해를 구하는 것인 반면에, 상기와 같은 문제점은 상호 인접한 격자 포인트 사이의 상호 동작을 반복함으로서, 계산되고, 안정된 상태에 있는 모든 격자 포인트가 수렴함으로써 계산이 완료된다.
어떠한 데이타 교환도 서로 근접하지 않은 격자 포인트 사이에서는 이루어지기 어렵고, 데이타 교환은 상호 인접 역자포인트 사이에서만 이루어진다.
더구나, 일반적으로, 대상 시스템이 격자 포인트로 나뉘여진 후에, 하나 또는 복수의 상호 인접 격자 포인트에 관한 계산이 하나의 요소프로세서 3에 맡겨지고, 상기 격자 포인트에 근접한 격자 포인트에 관한 계산도 역시 인접 요소프로세서 3에 맡겨진다.
대상 문제점의 상기 특성에 주의를 기울임으로서, 계산 효율이 탁월히 개선되고, 상호 인접 요소프로세서 3이 같은 메모리를 공유하고 서로 다른 프로세서의 메모리에 직접적으로 액세스를 하는 방식으로 구성된다면, 소망하는 연산이 짧은 시간안에 완료될 수 있다.
제13도는 요소프로세서 3이 요소프로세서 사이의 연결 7에 의해 연결되고 정방 격자 형태로 배열된 멀티프로세서의 일부를 나타낸다.
제14도는 제13도에 나타낸 하나의 요소프로세서의 내부 구조를 나타낸 도면이다. 상기 도면에서, 처리 장치5는 같은 프로세서 내에 결합된 데이타 메모리 8과 연결되어서 상기 데이타 메모리 8에 액세스 한다.
상기 처리장치 5는 입력/출력 제어회로(다음부터는 I/O로서 표기한다) 71를 통하여 인접 요소프로세서와 연결된다.
I/O 71을 통하여 인접 요소프로세서 3d와 연결됨으로써, 처리장치 5가 하나의 동일 요소프로세서안에 있는 메모리인 것처럼 인접 요소프로세서 3d내에 데이타 메모리 8에 직접적으로 액세스 할 수 있게 된다. 역으로, 인접 요소프로세서 3d는 또한 같은 방법으로 설명된 데이타 메모리 8에 액세스 한다.
상호 인접 요소프로세서 사이의 메모리에 상호 액세스 하기 위하여, 상기 도면의 I/O 71은 처리장치 5와 데이타 메모리 8 사이의 데이타 버스 73을 위한 인접 요소프로세서로부터 메모리액세스 요구에 대한 중재 기능을 해제하여야만 한다.
그러나, 데이타 버스를 위한 중재는 일반 프로세서에서 이미 사용되고 VME 버스 등의 사용으로 실현된 잘 알려진 기술이므로, 이런 점에 대한 설명은 여기서 생략된다.
상기에 설명된 바와 같이, 요소프로세서 안에서, 처리장치 5는 동일 프로세서에 결합된 데이타 메모리와 연결되어서 처리장치 5가 상기 데이타 메모리에 액세스 하고, I/O 71을 통하여 인접 요소프로세서 3d에도 연결 된다.
이것은 요소프로세서 3d사이의 데이타 통신의 과부하를 줄이고 계산의 효율을 개선시킨다.
상기와 같이 요소프로세서의 구조의 설명에서 일반 경우가 설명된 반면, 인접 격자 포인트의 데이타(즉 읽기)를 참조하는 것도 충분하고 미분방정식의 해법에 관한 한 갱신이 요구되지 않는다.
만일 작동이 참조하는 것에만 한정된다면, 동일한 메모리 번지에 대한 갱신의 요구 사이에 충돌 위험은 없으며, 그러므로 메모리 액세스를 위한 데이타 버스의 중재가 간단해질 수 있음은 자명하다.
하나의 동일 메모리의 참조를 위한 수많은 요구가 매우 높은 빈도로 발생할 것이다.
상기의 경우에서, 처리의 축적은 단일 보드의 메모리로 하는 계산에서 결과적으로 더 긴 시간을 요구하는 것으로 나타난다.
상기 문제점을 피하기 위하여, 복수의 메모리에 대한 참조를 동시에 처리할 수 있도록 멀트-포트 메모리가 적용된다면 문제를 해결할 수 있다.
본 발명의 상기 목적이 실현된 제9실시예에 대한 설명을 한다.
제15도는 메모리가 6개의 인접 요소프로세서에 공유된 경우를 나타낸다.
상기 도면에서, 3은 요소프로세서이고, 7은 네트워크이다.
제16도는 하나의 요소프로세서의 내부 구조를 나타내는데, 데이타 메모리 8은 7개의 포트를 가진다. 데이타 메모리 8은 데이타 버스 75를 통하여 6개의 I/O 71과 연결되고 또한 처리 장치5와 연결된다. 상기 구조를 가짐으로서, 관련된 요소프로세서와 6개의 인접 요소프로세서로부터 메모리에 대한 요구를 동시에 처리할 수 있다.
만일 동작이 단지 참조하는 것이라면 비교적 단순한 제어회로로서, 실현될 수 있다. 그러나, 정보처리시스템이 일반적인 목적용이라면, 처리장치는 인접 요소프로세서 3e의 메모리안에서 쓰기 기능을 가져야 하는 것이 요구되는 경우가 있다. 상기 종류의 구조를 가짐으로서, 관련된 요소프로세서 3e의 데이타 메모리 8안에서 동시 쓰기 기능으로 인접 요소프로세서 3e의 데이타 메모리 8안에서 하나의 동일 데이타를 기록하는 것이 가능해지고, 하나의 동일 메모리 번지에 대해 충돌을 갖는 처리에서 계산 시간을 단축시키는데 커다란 공헌을 할 수 있다. 더 좋은 것은, 상기 요소프로세서들안에서 공유될 메모리 장치를 가지는 것이 항상 필요한 것은 아니다.
상기 메모리 장치에 어떤 변형을 가하여 실현된 본 발명의 제10실시예의 도면에 관하여 설명한다.
제17도는 공통으로 공유된 메모리 장치가 요소프로세서의 외부에 배열된 정보처리시스템의 구조를 나타낸다.
제18도는 제17도에 나타난 정보처리시스템을 구성하는 요소프로세서의 구조와 메모리 장치에 대한 연결관계를 나타낸다.
도면에서 76은 요소프로세서 3f 외부에 제공된 메모리이고, 5는 I/O 71을 통해서 외부 메모리 76과 연결된 처리장치이고, 8은 요소프로세서 3f 내부에 제공된 데이타 메모리이며 처리장치 5와 직접 연결되고 I/O 71을 통하여 요소프로세서 3내부에서 처리장치와 연결된다. 제17도와 같이, 메모리 76은 요소프로세서 사이의 데이타 경로에 배치된다. 상기 방법으로 배열함으로서, I/O 71을 통하여 인접 요소프로세서에 공유된 4개의 메모리 76을 직접 참조하고 갱신하는 것이 가능해진다.
다음에 설명된 방법은 상기 메모리 76를 통하여 상호 인접 요소프로세서 3f사이에서 데이타를 교환하기 위한 방법의 일례로서 가능하다.
각 요소프로세서 3f에 의해 기록하기 위하여 미리 어드레스 또는 어드레스의 영역을 약정하고, 메모리 76은 미리 결정된 어드레스 영역 안에 데이타를 기록하고 데이타 수신 측에서 요소프로세서 3f로 상기 어드레스 영역을 읽어냄으로서 요소프로세서 3f사이의 데이타 교환이 완료된다.
제17도에서, 메모리 76 내부에 개재된 기호 P는 요소프로세서 3에 의한 쓰기 번지의 영역을 나타내고, 기호 S,N,E,W는 요소프로세서 3f에 의한 쓰기 번지의 영역을 나타낸다.
본 실시예에서 요소프로세서 3f안에 있는 데이타 메모리 8을 포함하는 일례에 대해서 설명하였지만, 데이타 메모리 8에 저장될 데이타가 요소프로세서에 연결된 메모리 76에 저장되어 있다면 데이타 메모리 8을 갖지 않은 요소프로세서에 의해서도 같은 효과가 얻어질 수 있음은 자명하다.
상기 설명에서, 단일 포트 메모리가 메모리 76으로서 사용되는 경우가 설명되었다. 그러나, 데이타 경로에 배열된 메모리의 경우에서 다중 포트 메모리를 사용함으로서, 제16도에서 설명된 요소프로세서 3f에 데이타 메모리 8을 결합하는 경우와 같은 방법으로 계산 시간을 단축할 수 있다.
그러나 멀티-포트 메모리가 적용된 때에도, 하나의 동일 메모리 어드레스에 갱신을 위한 요구의 충돌인 경우에서는 계산 시간의 증가로 이끌어져서 처리가 방해를 받는다. 상기 문제점을 피하기 위하여, 메모리의 참조/갱신을 위한 요구를 일시적으로 저장하는 버퍼 장치를 도입하는 것이 효과적이다.
제19도는 상기 목적을 위한 버퍼 메모리를 도입한 멀티-포트 메모리를 나타내고 제17도의 정보처리시스템에서 메모리 76에 상응하는 부분을 나타낸 것이다.
상기 도면에서, 76a는 버퍼 장치를 가진 멀티포트 메모리이고, 79는 2-포트 메모리이고, 80은 버퍼 장치이다.
버퍼 장치 80은 요소프로세서 사이의 연결 7을 통하여 2-포트 메모리 79로부터 수신된 데이타 및 2-포트 메모리 79에 기록되는 데이타를 일시적으로 저장할 수 있다.
위에서 설명된 바와 같이, 버퍼 장치 80은 상호 인접한 요소프로세서 3f사이에 배열된 2포트 메모리의 각 포트에 설치되므로, 한개의 같은 메모리 어드레스 갱신 요청이 충돌하는 경우에서 조차도 처리가 방해받을 염려는 없다. 처리할 때 그러한 방해로 초래되는 계산 시간의 증가 또는 피할 수 있다.
제19도에 나타낸 멀티포트 메모리에 있어서, 버퍼 장치 80이 2포트 메모리 79의 각각에 설치된 경우가 설명되었다. 그러나, 버퍼 장치가 멀티포트(메모리)의 각각의 포트에 장치될 수도 있다는 것과 복수 또는 모든 포트에 대해 한개의 버퍼를 설치하는 것도 또한 효과적이라는 것은 명백하다.
다음은 본 발명의 열한번째 실시예에 대한 설명이다. 각각의 요소프로세서에 대한 통신 데이타를 유지하기 위한 버퍼 메모리를 장치함으로써, 요소프로세서 사이에서의 데이타 통신으로 인해 각각의 요소프로세서의 작동에 일어나는 혼란이 방지될 수 있다.
제20도는 통신 데이타 유지를 위한 버퍼 메모리를 가지는 요소프로세서의 구조를 보여주는 블럭도면이다.
이 도면에서, 5는 요소프로세서 3g에 장치된 처리 장치이고, 7은 요소프로세서 3g 사이에 접속하는 데이타 버스이고, 82는 요소프로세서 3g에 장치되고 요소프로세서와 처리 장치 5사이에서 데이타 버스 7에 접속되는 버퍼 메모리이며, 8은 요소프로세서 3에 설치되고 처리 장치 5에 접속되는 데이타 메모리이다.
각각의 요소프로세서(3g)는 옵젝트 명을 가지는 데이타로서 버퍼 메모리(82)에 있는 요소프로세서 사이에 데이타 버스(7)를 통해서 인접하는 요소프로세서(3g)로부터 보내진 데이타를 기록하고, 인접한 요소프로세서(3g)로부터 데이타 접수를 완료하기 위해 이 버퍼 메모리로부터 선택 타이밍에 옵젝트를 가진 데이타를 조사한다.
제20도에서 보여지는 구조를 가진 요소프로세서로 형성된 정보처리시스템에 따르면, 더 빠른 처리가, 예를 들어, 상호 인접 요소프로세서 사이에서 데이타 통신을 하는 부동 소수점 산술 소자 또는 각 요소프로세서 3g안에 있는 처리 장치 5의 동작을 방해하지 않고 가능하게 된다.
다음은, 본 발명의 12번째 실시예에 대한 설명이다. 제21도는 이 12번째 실시예에 따른 정보처리시스템의 요소프로세서 구조의 예를 보여주는 블럭도면이다.
이 도면에서, 3h는 요소프로세서이고, 10은 요소프로세서(3h)내부에 장치된 부동 소수점 산술 소자이고, 83은 요소프로세서(3h)내부에 장치된 정합 메모리(데이타풀)이고, 11은 요소프로세서(3h)내부에 장치된 프로그램 메모리이고, 8은 요소프로세서(3h)내부에 장치된 데이타 메모리이고, 84는 부동 소수점 산술 소자 10, 데이타 메모리 8, 프로그램 메모리 11 및 데이타 메모리 8을 접속함으로써 정보를 교환하기 위한 파이프라인이며, 7은 요소프로세서 사이를 접속함으로써 정보를 교환하는 요소프로세서 사이의 접속이다.
상호 인접한 요소프로세서(3h)사이의 통신에 의해 교환되는 데이타는 폭 넓고 다양하다. 이번 실시예에서, 각각의 데이타는 다음에 만들어질 처리의 종류의 결정을 미리 가능하게 하는 부여된 옵젝트 명이다.
옵젝트 명을 가진 데이타는 정합 메모리(데이타풀) 83이 설치된 파이프라인(84)위에 데이타 패킷 형태로 입력되고 순환하여 요소프로세서 사이의 접속(7)을 통해서 인접 요소프로세서(3h)내부에 있는 정합 메모리(데이타풀)(83)에 보내어진다.
부동 소수점 연산 요소(10)는 선택 타이밍에 있는 정합 메모리(83)내부에서 검색하고 선택 처리를 수행하기 위해 필요한 옵젝트 명을 가지는 데이타가 준비되자 마자 동작을 개시한다.
부분적으로 미분방정식 프로그램이 시간 수열로 보여지는 것처럼 일시적으로 평행도가 커지는 경향 때문에 정합 메모리(83)에 대한 충분한 저장 용량을 확보하는 것이 필요하다.
상기 설명에서는, 요소프로세서(3h)의 처리 장치가 부동 소수점 산술 소자(10)로 구성된 경우에 대한 설명이었던 반면, 연산-논리 소자(14)가 제2도에 표시된 하드웨어인 데이타 플로우 그래프(3) 형성의 회로를 형성하도록 데이타 라인(15)과 접속된 구조 또는 다른 부분은 프로그램 메모리(11)로부터의 명령에 따른 부동 소수점 산술 소자(10)로 연산되는 동안에 연산중에 자주 나타나는 부분이 제4도에 보인 것과 같은 기능 모듈(12)안에 있는 하드웨어 회로로 형성된 구성으로도 효과가 얻어질 수 있다.
위에서 설명된 것과 같이, 서로 다른 데이타를 자동적으로 동기시킴으로써, 통신 오버헤드가 거의 없이 처리를 빠르게 하는 것이 가능하게 된다.
다음은 본 발명의 13번째 실시예에 대한 설명이다.
앞서 언급된 바와같이, SIMPLE 방법에 의한 나비에르-스토케즈 방정식의 풀이에서 제1입력×제2입력, 제3입력×제4입력, 제5입력×제6입력과 제7입력×제8입력의 각각의 결과를 축적하여 더하는 작동이 자주 보이며, 이 처리의 속도증가는 계산시간을 단축시키는 핵심중 하나이다.
제5도는 공식 35의 연산을 도식적으로 표시한 플로우 그래프이다.
제22도는 이 처리의 적분을 위한 하드웨어 구조이다.
상기 도면에서, 85는 (두개의 데이타) 입력 터미널로부터 입력과 출력 터미널에 출력을 곱하는 승산기이다.
86,87(두개의 데이타)은 입력 터미널로부터의 입력과 출력 터미널에서의 출력을 더하는 것을 실행하는 가산기들이다.
승산기(85)의 출력 터미널과 가산기(86)의 입력 터미널은 데이타 와이어(88)에 의해서 서로 접속된다.
가산기(86)의 출력 터미널과 가산기(87)의 입력 터미널은 데이타 와이어(88)에 의해서 서로 접속된다.
상기 구조에서 가산기와 승산기를 접속함으로써 제5도에서의 연산수행과 승산기 각각의 입력 터미널에서의 데이타 입력에 대해서 가산기(87)의 출력터미널에 결과를 출력하는 것이 가능하게 된다.
이런 방식으로, 데이타 와이어에 의해서 컴퓨팅 요소를 접속함으로써 보여지는 소위 매크로 기능적 블럭을 가지는 요소프로세서는 나비에르-스토케즈 방정식 등과 같은 미분방정식의 풀이에서 속도증가에 크게 기여한다.
다음은 본 발명의 14번째 실시예에 대한 설명이다.
제23도는 각각의 요소프로세서에 대해 상호 인접 요소프로세서 사이의 비동기적이며 반복적인 데이타 통신을 하기 위한 통신 회로의 구조를 보여주는 블럭 도면이다.
상기 도면에서, 3i는 요소프로세서이고, 5는 요소프로세서 3i에 장치된 작동을 수행하기 위한 처리 장치이고, 8은 요소프로세서 3i에 장치된 처리장치의 처리를 위해 필요한 데이타를 저장하기 위한 데이타 메모리이며, 90은 데이타 메모리(8)에 설명된 정보를 교환하기 위한 데이타 버스이다.
다음은 기능에 대한 설명이다.
처리 장치 5에 의한 처리에 있어서 인접한 요소프로세서 3i에 대한 정보가 필요하다면, 인접한 요소프로세서 3i는 대응물의 데이타 8에 설명되어 있는 필요한 정보에 대해 인접한 요소프로세서 3i와 완전히 비동기적으로, 반복적으로 언급하는 것인 메모리 액세스 기능을 실행한다.
편미분방정식을 푸는데 있어서 각각의 요소프로세서에 의해서 수행되는 연산을 멀리 있는 요소프로세서 3i에 의해서 유지되는 정보가 아닌 인접한 요소프로세서 3i에 의해서 유지되는 정보가 달려 있기 때문에 국지적이다.
그러므로, 상호 인접한 요소프로세서 3i사이의 통신은 처리 장치 5의 처리를 방해하지 않고서 데이타 버스 90을 통해서 완전히 비동기적으로, 반복적으로 지탱될 것이다.
인접한 요소프로세서 3i의 처리를 방해하지 않고 상호 인접한 요소프로세서서 3i 사이에서의 완전히 비동기적이고 반복적인 메모리 접근을 허용하는 방법으로 하는 구조를 가지면서, 상호 인접한 요소프로세서 3i 사이의 통신은 처리 장치 5의 처리를 방해함이 없이 데이타버스 90을 통해서 완전히 비동기적이고 반복적으로 유지된다.
이렇게 함으로써, 완전히 비동기적인 방법으로 각각의 요소 3i위에 수행되는 작동을 계속하게 하는 것이 가능하다.
처리 장치 5와 데이타 메모리 8이 이번 실시예에서 대응물의 기능을 방해함이 없이 메모리에 언급하는 것을 할 수 있는 데이타 버스 90을 사용함으로써, 각각의 요소프로세서 3i사이의 데이타 통신을 가지고 있는 동안에, 요소프로세서 사이에 있는 데이타 통신 시스템은 데이타 메모리 8에 접근하는 인접한 요소프로세서 3i에 있는 처리 장치 5의 기능을 방해하기 위해서 동시에 일어나는 작동이 필요할 때 동시에 일어나게 되어 위로 통신을 증가시키고 해석해를 얻는데 어떤 장애도 발생되지 않는다.
다음은 본 발명의 15번째 실시예에 따라서, 심지어는 데이타 비동기적으로, 흡수하면서 배열에 대해 쉽게 출력을 얻고, 데이타 분류하는 것을 위한 요소프로세서에 대한 설명이다.
제24도는 심지어는 데이타를 비동기적으로 흡수하면서 배열에 대해 쉽게 출력을 얻고, 데이타를 분류하는 것을 위한 요소프로세서에 대한 구조를 보여주고 상기 메모리내의 상태의 각각의 양에 대한 식별자를 부착함으로써 실행되어지는 블럭도면이다.
상기 도면에서, 3i는 요소프로세서이고, 70은 요소프로세서 3i에 장치된 작동을 수행하기 위한 처리 장치이고, 8은 출력데이타를 포함하여 계산 데이타를 저장하기 위한 데이타 메모리이고 요소프로세서 3i에 장치되어 있고, 90은 요소프로세서를 접속하는 데이타 버스이고, 91은 요소프로세서 3i에 접속되고 장치되어야 할 상태의 양에 의존하는 식별자를 부착함으로써 요소프로세서 3i에 밖으로 데이타를 보내기 위한 I/O장치이고, 92는 I/O장치 91을 통해서 데이타 출력을 상위 컴퓨터에 전이하기 위한 출력 데이타 버스이다.
다음도 기능에 대한 설명이다.
처리 장치 70의 일련의 처리므로 획득된 계산의 결과는 상태 양의 복수종류에 만들어졌지만 고속 연산이 의도되므로 출력 데이타의 시간차를 샘플링하는 것은 훨씬 단축된다.
그와 같은 이유로, 출력 데이타는 상태량의 동일화를 가능하게 하는 식별자로 그 앞이나 뒤에 주어진다.
출력데이타는 계속해서 복수의 상태량이 혼합방식으로 수행되는 패킷 통신의 형태로 비동기적으로, 대량으로 그 자체의 요소프로세서 3i밖으로 출력되고, 후반 처리에 제출되어야 할 I/O 장치를 통해서 상위 컴퓨터로 보내어진다.
이때, 출력 데이타 버스(92)는 요소프로세서 3i의 각각을 위해 장치되기 때문에, I/O 장치(91)을 통한 데이타출력은 인접한 요소프로세서 3i의 출력을 방해하지 않고 비동기적으로 출력되어 상위 컴퓨터로 옮겨진다.
출력 데이타에 상태량의 판정을 가능하게 하는 식별자가 장치되어 있으므로, 상위 컴퓨터는 패킷의 형태로 상태의 복수양을 구성하는 출력 데이타가 혼합 방식으로 보내진다 하더라도 배열과 분류를 위한 데이타를 결정함으로써 후반 처리를 수행할 수 있다.
그러므로, 이번 실시예에 따라서, 비고정시킨 계산의 중간 결과는 인접한 요소프로세서 3i의 작동에 방해를 주지 않고 출력될 수 있어서 이와 같은 고속로 작동이 가능하다.
동시에 일어나는 타입의 다음의 출력방법은 당연한 것으로서 또한 가능하다.
상위 컴퓨터는 출력 명령을 출력 데이타 버스(92)를 통해서 각각의 요소프로세서 3i에 출력명령을 보내고, 요소프로세서 3i는 접수된 명령에 따라 I/O내부에 장치된 데이타 메모리의 문의 기능을 실행하고 명령에 설명된 순서에 따라 요구된 상태량의 출력 데이타를 흡수하고, 출력 데이타의 순서를 준비한다.
I/O장치에 발생된 출력 데이타의 순서는 데이타버스(92)를 통해서 보내어 진다.
그러므로, 상위 컴퓨터로부터의 출력 명령을 각각의 요소프로세서 3i에 보내는 타이밍을 지정함으로써 선택시간에 출력하는 것이 가능하게 된다.
다음은 본 발명의 16번째 실시예에 대한 설명이다.
제25도는 본 발명의 16번째 실시예에 따라서, 각각의 요소프로세서로부터 비동기적으로 출력 데이타를 수집하고 실지로 그것들을 시각화하기 위한 전체적인 컴퓨터 시스템의 구조도이다.
상기 도면에서, 3j는 작동을 수행하는 요소프로세서이고, 93은 외부로 작동결과를 출력하고 요소프로세서 3j에 장치될 때 데이타를 변환에 대한 출력을 위한 I/O장치이고, 94는 각각의 요소프로세서 위에 출력을 위한 I/O 장치를 통해서 데이타 출력을 전달하기 위한 출력 데이타버스이고, 95는 각각의 요소프로세서 3j로부터 출력 데이타 버스(94)를 통하여 연속 데이타로 전달된 요소프로세서 3j의 수와 적어도 동일한 병렬데이타를 변환하기 위한 데이타 출력통제 장치이고, 96은 데이타 통제 장치를 통하여 변환된 데이타를 연속 데이타로 전달하기 위한 연속 데이타 버스이고, 97은 타입에 의해서 연속 데이타 버스를 통하여 보내진 데이타를 분류하는 것과 스케일의 반전, 두배의 스케일링, 평균화, 색깔톤의 수정, 윤곽의 지시, 윤곽 처리, 가장자리 처리, 백터지적 등과 같은 후반 처리를 수행하기 위한 후반 처리 장치이고, 98은 후반 처리 장치(97)에 의해서 준비된 이미지 데이타를 전달하기 위한 이미지 출력 데이타 버스이고, 99는 이미지 출력 데이타 버스(98)을 통하여 전달된 이미지 데이타를 지시하기 위한 디스플레이이다.
다음은 가능에 대한 설명이다.
출력 데이타 버스(94)는 요소프로세서 3j와 접속되고 각각의 요소프로세서 3j의 외부 출력 데이타는 출력(93)을 위한 I/O장치를 출력 데이타는 그것이 요소프로세서 3j로부터 출력될 때의 지점에서 복수의 상태량을 포함하는 데이타의 순서이다.
출력하는 시간에, 데이타 구조는 어떤 요소프로세서 3j로부터 데이타가 출력되는지 명확히 하려는 데이타 순서의 앞이나 끝에 요소프로세서 수를 보여주는 식별자를 부착함으로써 패킷의 형태로 만들어진다.
데이타 순서는 출력 데이타 버스(94)를 통해서 데이타 출력 통제 장치(95)에 수집되고 적어도 요소프로세서의 수와 똑같은 병렬 데이타로부터 하나의 연속 데이타로 변환된다.
연속(serial) 데이타 버스(96)를 통해서 후반 처리 장치(97)에 보내진 데이타는 요소프로세서 수의 식별자에 따라서 할당되고 상태량의 식별자에 따라서 또한 분배되고 배열된다.
배열된 데이타는 윤곽 처리, 가장자리 처리, 백터 지적 등과 같은 시각화를 위한 후반 처리에 제시되고 이미지 출력 데이타 버스(98)를 통해서 디스플레이(99)위에 시각적 이미지로 변한다.
그러므로, 이번 실시예에 따라서, 비정지 계산의 중간결과는 요소프로세서 3j의 작동에 혼란을 주지않고 출력될 수 있어서 이와같이 고속도 작동을 해낼 수 있는 것이다.
후반 처리 장치(97)를 통해서 출력을 위한 I/O 장치로부터 비동기적으로 데이타 출력을 출력하고, 후반 처리 장치(97)내부에 샘플링 시간을 장치해둠으로써 시각화하는 것의 시간차를 자유롭게 통제할 수 있는 것 또한 당연히 가능하다.
만약에 출력 데이타 버스(94)가 제25도에서 보여지는 각각의 요소프로세서(3)으로부터 데이타 출력 통제장치(95)에 접속된다면 와이어링은 복잡한 것이 되어 장치의 소형화나 자주 제조하는데 문제점이 생길 위험이 있다.
도면에 근거하는 문제점을 해결하기 위해서 실현된 17번째 실시예에 대한 설명은 다음과 같다.
제26도는 출력 데이타 버스(94)를 최소화함으로써 상기 문제를 해결하기 위한 전체적인 컴퓨터 시스템에 대한 도면이다.
출력 데이타 버스(94)는 모든 요소프로세서 3j와 데이타 출력통제 장치(95)를 접속하는 단일 데이타 버스이다.
100은 상위 컴퓨터이고, 101은 상위 컴퓨터를 100과 출력 데이타 버스(94)와 접속하는 네트워크이다.
다른 것들은 제25도에서와 같다.
다음은 기능에 대한 설명이다.
출력 데이타는 복수의 상태량을 포함하는 데이타의 순서이다.
상위 컴퓨터는 각각의 요소프로세서 3j로부터 출력 데이타 버스(94)에 출력 데이타를 보내는 타이밍을 통제한다.
각각의 요소프로세서 3j는 출력(93)을 위한 I/O장치를 통해서 출력 데이타 버스에 출력 데이타를 보낸다.
이때, 데이타 구조는 어떤 요소프로세서 3j로부터 데이타가 출력되는지 명확히 하기 위한 데이타 순서의 앞이나 끝에 요소프로세서 수를 보여주는 식별자를 부착함으로써 패킷의 형태로 만들어진다.
데이타 출력통제(95)는 요소프로세서 수의 식별자에 따라 출력 데이타 버스(94)를 통해 들어오는 데이타를 재배열하고, 그것들을 하나의연속 데이타로 변환시킨다.
연속 데이타 버스(96)를 통해서 후반 처리에 보내진 데이타는 상태량의 식별자에 따라 분류하고 배열된다.
배열된 데이타는 윤곽 처리, 가장자리 처리, 백터지적 등과 같은 시각화를 위한 후반 처리에 제시되어 이미지 데이타 버스(98)를 통하여 디스플레이(99)위에 시각적 이미지로 바뀐다.
그러므로, 최소 출력 데이타 버스구조를 가지고, 비정지 계산의 중간결과는 요소프로세서 3j의 작동에 혼란을 주지 않고 출력될 수 있어서 고속도 작동이 이뤄질 수 있다.
다음은, 본 발명의 18번째 실시예에 대한 설명이다.
주로 고속도 계산이 의도된 종래의 병렬 컴퓨터에서는, 문제점이 컴퓨팅 속도의 증가가 필수적으로 전체적인 작동의 속도를 증가시키지 않는다는 것이다.
왜냐하면, 정지 계산의 계산을 지적하거나 비정지 계산의 매순간마다 계산의 결과를 지적할 때, 모든 요소프로세서의 결과가 가능할 때까지 그 작동을 중지함으로써 모든 요소프로세서의 작동을 중지시키거나 다른 요소프로세서가 대기하는 것이 필요하기 때문이다.
제27도는 계산결과의 병렬지적에 의해서 전체적인 계산속도의 증가에 대한 예를 지적하는 요소프로세서의 구조도이고 제28도는 제27도에서 지적된 요소프로세서로 구성된 멀티프로세서의 일반 구조도이다.
상기 도면에서, 3s는 요소프로세서이고, 70은 요소프로세서 3s에 장치된 계산을 실행하기 위한 처리 장치이고, 8은 처리 장치(70)의 계산을 위해 필요한 계산정보를 저장하기 위해 요소프로세서 3s에 장치된 메모리 장치이고, 107은 만약에 한개의 계산 격자 포인트가 하나의 요소프로세서에 할당되면 처리를 장치(70)의 계산을 중단하지 않고 메모리 장치(8)에 저장된 계산 정보를 받아서 상기 정보를 유지시키기 위한 출력정보 처리 장치이지만 복수의 격자 포인트가 하나의 요소프로세서에 엮어질 경우, 상기 격자 포인트들을 처리를 출력하는 장치이고, 104는 라인방위에 있는 요소프로세서 3s 내부에 메모리 장치(6)사이의 작동을 위해 필요한 데이타를 교환하기 위해 상기 라인방위에 있는 계산 정보버스이고, 105는 시퀀스 방위에 있는 요소프로세서 3s내부의 메모리 장치(18)사이의 작동을 위해 필요한 정보를 교환하기 위해서 시퀀스 방위에 있는 계산 정보버스이고, 106은 처리 장치(70)와 메모리 장치(8)나 컴퓨테이션 결과의 데이타 사이의 작동에 필요한 데이타를 교환하기 위한 내부의 계산 정보버스이고, 108는 메모리 장치(70)에 저장된 계산정보를 출력정보 처리 장치(107)에 전달하기 위한 출력 처리 정보버스이고, 110은 계산정보를 액체 수정(crystal) 디스플레이 요소와 같은 빛의 투과율로 변환시키거나 마그네틱 스트레인을 빛의 반사로, 변환을 위한 색깔 액체수정 디스플레이 엘림너트를 색깔의 변화로, 그외 등등을 바꾸는 케르효과(Kerr effect)를 사용하기 위한 요소프로세서 같은 디스플레이 요소이고, 111은 램프가 빛전송 타입이라면 디스플레이 요소(110)의 뒤쪽으로부터 빛을 방출하기 위한 램프이고 램프가 빛반사 타입일 경우에는 디스플레이의 요소(110)의 표면으로부터 빛을 방출하기 위한 램프이고, 112는 램프(111)의 빛을 병렬빛으로 돌리기 위한 반사기이며, 113은 각각의 요소프로세서 3s의 출력정보 처리 장치(107)로부터 디스플레이의 요소(110)으로 출력 처리 정보를 전달하기 위한 출력 처리 정보 버스
각각의 요소프로세서 3s의 메모리 장치(8)는 처리 장치(70)의 계산을 위해 필요한 계산정보와 처리 장치(5)와 메모리 장치(6)사이의 계산(출력 데이타)의 결과에 대한 데이타나 연산(입력 데이타)에 필요한 교환 데이타를 저장한다.
그러므로, 계산이 수렴될 때까지나 비정지 계산의 매순간에 계산결과에 있는 변화를 디스플레이하기 위해서는, 수렴 이후에 계산결과를 디스플레이 하기 위해서 모든 요소프로세서 3s의 계산이 수렴될 때까지 메모리 장치(8)에 접근하기 위해서 처리 장치(70)의 계산을 멈추게 하거나 대기상태에 둠으로써 전체적인 계산을 방해하는 수밖에 없다.
이번 실시예에서, 메모리 장치(8)과 비동기적으로 접속되는 출력정보 처리 장치(107)는 (메모리 장치(8)와 요소프로세서 3s 사이의 통신을 방해하거나 상기 메모리을 정합함이 없이 메모리 장치(8)에 의해서 보내진 계산을 받을 수 있다)한개의 계산 격자 포인트가 한개의 요소프로세서에 할당된다면 메모리 장치(8)에 의해서 밖으로 보내지는 계산정보를 유지하기 위해서 요소프로세서 3s내에 장치되지만, 복수의 격자 포인트가 한개의 요소프로세서에 엮어질 경우에 상기 격자 포인트의 정보를 처리하기 위해서 요소프로세서 3s내에 장치되고, 내부 구조로서 유지되는 디지탈/아나로그 전환회로를 통해서 디지탈 데이타를 아나로그 데이타로, 출력 처리 정보 버스(113)를 통해 디스플레이 요소에 보내기 위해서 전환시킨다.
디스플레이의 요소(110)은 계산정보를 액체수정 디스플레이 요소 같은 빛의 투과율로, 변화 마그네틱 스트레인을 빛의 투과율(케르효과를 사용한 요소)로 전환하거나 전달된 빛의 색깔변화(쌕깔 액체수정 디스플레이 요소), 등으로 전환된다.
이때, 디스플레이의 요소(110)은 빛전달 타입일 경우는 뒤쪽으로부터 반산기(112)이 의해서 병렬빛으로 전환된 램프(111)에 의해서 빛반사 타입일 경우에는 디스플레이 요소 표면으로부터 빛이 나오기 때문에 출력정보 처리장치(107)의 기능을 방해하지 않고 출력 처리 정보를 시각적으로 디스플레이 할 수 있다.
그런 방법으로 해서, 상기 구조는 시각적으로 계산의 중간단계나 최후 결과를 관찰하여 계산의 고속 처리를 방해하지 않고 통제하기 위해서 상기 결과를 이용하는 것을 가능하게 한다.
다음은 본 발명의 19번째 실시예에 대한 설명이다.
출력 처리 정보버스(113)이 제28도에서 보여지듯이 각각의 요소프로세서 3s로부터 디스플레이의 요소(110)에 개별적으로 와이어드(wired)되면 와이어링의 양는 광대해져서 시스템과 디스플레이 장치의 넓은 거리를 확보하는 것이 불가능하게 된다.
제29도는 컴퓨터 시스템과 디스플레이 장치 사이의 단일 직렬버스를 가짐으로써 상기 문제를 해결하기 위한 전체적 컴퓨터 시스템의 구조도이다.
상기 도면에서, 1은 상위 컴퓨터이고, 114는 차례를 바꿈으로써 마구잡이로 보내진 출력데이타를 연속 데이타로 전환하기 위한 데이타 출력통제 장치이고, 113은 모든 요소프로세서 3s와 데이타 출력통제 장치(114)를 접속하는 출력 처리 정보버스이고, 117은 상위 컴퓨터(1)와 출력 처리 정보버스(113)접속되는 네트워크이고, 116은 연속 데이타를 분해하고 그것들을 디스플레이 데이타로서 각각의 디스플레이의 요소(110)에 할당하기 위한 디스플레이 데이타 통제장치이고, 115는 데이타 출력 통제장치(114)와 디스플레이 데이타 통제장치(116)를 접속하는 직렬 데이타 버스이며, 118은 디스플레이 데이타 통제장치(116)와 각각의 디스플레이(110)를 접속하는 디스플레이 데이타 버스이다.
다른 것들은 제28도와 같다.
다음은 기능에 대한 설명이다.
출력정보 처리 장치(107)는 한개의 계산 격자 포인트가 한개의 요소프로세서서 할당될 경우는 그대도의 메모리 장치에 의해서 밖으로 보내진 계산정보가 유지되지만, 복수의 격자 포인트가 한개의 요소프로세서에 엮어질 경우에는 상기 격자 포인트의 정보를 처리한다.
상기 컴퓨터(1)는 각각의 요소프로세서 3s로부터 출력 처리 정보버스(113)에 출력 처리 정보를 보내는 것의 타이밍을 제어한다.
각각의 요소프로세서 3s는 상위 컴퓨터(1)에 의해서 통제되는 타이밍에 따라서 출력정보 처리 장치(107)로부터 출력 처리 정보버스(113)에 출력 처리 정보를 보낸다.
이때, 데이타 구조는 어떤 요소프로세서 3s로부터 데이타가 출력되는지 명확히 하기 위해서 요소프로세서를 데이타 시퀀스의 앞이나 끝에 보여주는 식별자를 부착함으로써 패킷의 형태로 만들어진다.
데이타 출력 통제장치(114)는 요소프로세서 수의 식별자에 따라서, 출력 처리정보(113)를 통해서 들어오는 출력 처리 정보를 재배열하고 그것들을 한개의 연속 데이타로 전환시킨다.
연속데이타 버스(115)를 통해서 디스플레이 통제장치(116)에 보내진 데이타는 요소프로세서 수의 식별자에 따라서 각각 상응하는 디스플레이(110)에 재할당되고, 디지탈 데이타에서 아나로그 데이타로 디지탈/아나로그 전환회로를 통해서 전환되고 디스플레이 데이타 버스(113)를 통해 각각의 디스플레이 요소로 보내진다.
디스플레이의 요소(110)는 계산정보를 액체수정 디스플레이 요소 같은 빛의 투과율로 전환하고, 마그네틱 스트레인을 빛의 반사로 바꾸거나, 전달된 빛의 색깔변화로 전환시킨다.
그때, 디스플레이의 요소(110)는 상기 디스플레이의 요소(110)가 빛전달 타입일 경우는 뒷쪽으로부터 빛이 나오고 (반사기(112)에 의해서 병렬빛으로 전환된), 램프(111)에 의해서 빛반사 타입인 경우에는 디스플레이의 요소(110)의 표면으로부터 빛이 나오기 때문에 시각적으로 출력정보 처리 장치(107)의 기능을 방해하지 않고 출력 처리 정보를 디스플레이 할 수 있다.
상기 설명된 바와같이, 이 구조는 컴퓨터 시스템과 디스플레이 장치 사이의 넓은 거리를 확보하는 것을 가능하게 하여 시각적으로 계산의 중간단계나 최후 결과를 관찰하여 최소 데이타 버스구조를 가지는 계산의 고속도처리를 방해함 없이 통제하기 위해서 그 결과를 사용한다.
다음은 본 발명의 20번째 실시예에 대한 설명이다.
이번 실시예는 유체해석 등등으로 설명된다.
해석의 정확성은 컴퓨터의 오브젝트가 외부 플로우일 때는 복잡하게 굴곡이 진 모양을 가진 물질의 외부 표면을 따라서, 내부 플로우일 때는 굴곡진 모양을 가지는 내부 벽 페이스를 따라서 플로우를 해석할 때 보디(body)의 표면을 따라 격자를 사용하는 굴곡이 맞춰진 보디를 사용하고, 계산의 오브젝터가 국부적으로 복잡한 구조를 가질 경우에는 코어스 격자와 화인 격자의 조합을 사용하는 컴플렉스 굴곡을 사용하고, 현상들이 격렬한 국부적 변화를 일으킬 경우에는 격렬한 변화를 가지는 부분의 격자 크기를 자동적으로 줄이는 굴곡이 맞춰진 해결을 사용하여 향상된다.
그러나, 이러한 좌표식의 시스템을 사용하기 위해서는 물리적인 좌표식의 시스템과 계산된 좌표식의 시스템 사이에 문제를 일으키는 좌표의 전환을 꾸준히 실행하는 것이 필요하다.
이번 실시예는 물리적 좌표식 공간과 계산된 좌표식 공간 사이에 좌표식 전환의 기능을 가진 특별 좌표식 전환 장치를 장치함으로써 격자의 생산을 축진시킬 뿐 아니라 유체해석시에 계산속도를 증가시키고 계산결과의 디스플레이 시간을 짧게 하도록 의도된 것이다.
제30도는 멀티프로세서의 일반구조도를 나타낸다.
상기 도면에서, 1은 상위 컴퓨터, 3은 요소프로세서, 7은 정보를 교환하기 위한 요소프로세서 사이를 접속하는 요소프로세서 사이의 접속이고, 18은 요소프로세서(7)사이의 접속에 의해서 2차원의 플레인(plane)의 형태로 요소프로세서(3)를 접속함으로써 실현된 제2의 계산 보드(board)이고, 4는 제2의 계산보드(18)에 있는 요소프로세서를 접속함으로써 정보를 교환하기 위한 네트워크이며, 120은 네트워크(4)의 중간에 장치된 좌표를 전환하기 위한 특별좌표 전환장치이다.
초기조건과 경계조건이 상위 컴퓨터로부터 멀티프로세서 상에 놓여질 때, 첫 번째 좌표식의 전환장치(120)은 물리적 좌표식의 시스템으로부터 계산된 좌표식의 시스템으로 좌표를 전환하고, 계산된 좌표에 관련된 정보는 멀티프로세서에 입력된다.
그러므로, 좌표식 전환의 문제를 일으키는 계산은 요소프로세서에서 나눠지고 기본적인 유체 계산은 속도가 빨라진다.
컴퓨터의 결과를 출력할 때, 시각적 이해를 위해 쉬운 물리적 좌표식 시스템으로 전환하는 것이 필요한 동안에 요소프로세서 내부에 작동을 막기 위한 물리적 좌표식의 시스템으로 전환은 요소프로세서로부터 상위 컴퓨터(1)로 전달하는 동안에 특별 좌표전환 장치에 의해서 수행된다.
그러므로, 계산의 결과의 출력시간이 단축될 뿐만 아니라 계산의 결과를 출력하기 위한 작동을 방해하지 않고 요소프로세서는 고속 연산을 유지할 수 있다.
상기에 설명된 바와 같이, 계산에 필요한 좌표의 전화뿐만 아니라 격자의 형성 및 또한 더 쉬어지고, 해결의 정확성은 좌표식 시스템의 전반처리, 후반처리, 등등을 실행하는 특별좌표식의 전환 장치가 하드웨어나 소프트웨어로 지지된다면 해결의 정확성이 향상된다.
또한, 계산의 결과를 시각화하는데 있어서도, 디스플레이 시간의 단축은 고속도 전화를 통해서 계산된 좌표식으로부터 특별 좌표식의 전환 장치를 사용함으로써 만들어진 물리적 좌표에 이뤄질 수가 있다.
다음은 본 발명의 21번째 실시예에 대한 설명이다.
제31도는 각각의 요소 프로세서의 로드를 고르게 함으로써 만들어진 병렬 계산의 효율을 향상시키기 위한 예를 보여주는 계산영역의 경계 근처에 있는 격자 포인트를 나타
이 도면에서, 125는 계산영역의 경계에 있는 격자 포인트이고, 126은 영역내부에 있는 격자 포인트이고, 127은 경계125에 있는 계산 영역밖으로 격자포인트에 인접한 가상기억의 격자포인트이고, 모든 격자포인트는 각각의 요소프로세서에 1:1 로 대응한다.
계산영역 126내부에 있는 격자포인트의 숫자 보다도 더 적은 인접한 격자포인트의 숫자인, 경계 125위에 있는 격자포인트는 내부 격자포인트 126보다도 통신의 양과 연산의 양에서 더 적다.
그러한 이유로, 가상기억의 격자포인트 127은 모든 격자포인트의 처리의 양을 고르게 하기 위해서는 경계 125위에 격자포인트를 가지고 가상 통신을 함으로써, 경계 125위에 있는 격자포인트를 위한 처리 시간을 단축하는 다른 내부 격자포인트 126을 가지는 통합된 처리가 필요한 경우에는 통합으로 인하여 위는 피함으로써, 비동기적인 계산이 실행될 경우에는 작동하는 로드의 고르지 못함을 피함으로써 내부격자 포인트 126의 처리를 가지는 처리의 양을 동등화하기 위해서 상기 경계밖으로 장치된다.
상기 언급된 실시예에서 계산된 격자포인트는 요소 프로세서에 1:1로 대응되는 경우에 대한 설명인 반면, 경계 125위에 있는 격자포인트를 포함하는 요소프로세서의 처리 시간이 단출되기 때문에, 복수의 계산된 격자포인트가 한 개의 요소 프로세서에 대응하는 경우에도, 경계 125위에 있는 격자포인트에 가상의 격자포인트를 접속하고, 상기 격자포인트에 단지 내부 격자포인트 126을 포함하는 요소프로세서를 위한 것으로서 같은 계산 로드를 줌으로써, 격자포인트에 상기에 언급된 실시예의 것들과 똑같은 효과를 얻을 수 있다.
그러므로, 이번 실시예에 따르면, 각각의 요소프로세서의 로드를 고르게 하고, 병렬작용에 있어서 효율을 향샹시키는 것이 가능하다.
다음은 본 발명의 22번째 실시예에 대한 설명이다.
요소프로세서가 소위 노이먼(Neumann)의 프로세서일 경우에, 복수의 계산된 격자포인트의 컴퓨터작동이 그것에 할당될 때, 단일 노이먼의 프로세서를 가지는 병렬 연산이 불가능하기 때문에 처리를 나누는 시간을 만든다.
반대로, 복수의 계산된 격자포인트의 계산은 명령 레벨위에 병렬 처리를 할 수 있는 데이타 플로우 프로세서의 사용으로 병렬로 실행될 수 있다.
데이타 플로우 프로세서는 미쯔비시 뎅끼 기후(Mitsubishi Denki Gihou), Vo, 66, No, 2, 1992, p.24 to p.25에 의해서 소개된 것이다.
이러한 설명으로부터 알 수 있듯이, 데이타 플로우 프로세서는 명령 레벨위에 병렬 처리를 할 수 있다.
상기에서 설명된 바와 같이, 동시에 실행될 수 있는 명령은 데이타 플로우(보내진 데이타)시스템에 독립적으로 실행될 수 있다.
그러한 특성을 가진 데이타 프로세서 위에 한정된 차이의 계산법에 근거를 둔 프로그램을 둔 푸는 미분방정식을 실현하기 위한 방법에 대한 설명이다.
예를 들어, 제21도에서 나타나는 요소프로세서에 적응하는 경우, 계산 프로그램은 프로그램 메모리에 할당되고, 부동 소수점은 데이타 플로우 그래프에 따라서 수행한다.
제32도는 편미분방정식을 풀기 위한 프로그램의 파트에서 프로그램 메모리를 나타내는 도면이다.
제32도에서 보여지는것처럼, 격자포인트 No.1과 No.2에 대한 계산 프로그램은 프로그램 메모리 11의 다른 영역 131,132에 할당된다.
밖으로부터 입력된 초기의 패킷은 프로그램 메모리 11을 통과하지 않고 명령이 실행 되도록 하기 위해 미리 주어진 명령 코드, 도착지 노드 어드레스 등이다.
실행 패킷은 대기 행렬이 정합 메모리 83에서 완성 될 때 생산 된다.
데이타 메모리 8에서, 메모리에 대한 접근은 명령코드에 따라서 만들어 진다.
데이타 메모리로부터의 패킷 출력을 구성하는 필드 중에서 도착지 노드 어드레스는 명령 코드와 연산 옵젝트 데이타가 각각 연산 처리 10에 의해서 처리 되는 동안에 프로그램 메모리 11에의 해서 처리된다.
즉, 프로그램 메모리 11은 입력 패킷의 도착지 노드 어드레스를 밖으로 읽혀지는 다음 도착지 노드 어드레스로 갱신하며 연산 처리 장치 10은 제1연산 옵젝트 데이타 필드에 연산결과를 셋팅한다.
결과 패킷은 재처리 되거나 최후 결과로서 외부로 출력된다.
프로그램 메모리 11의 다른 영역 131,132에 저장된 두개의 프로그램은 각각 명령 코드와 도착지 노드 어드레스를 다시 작동을 가능하게 하기 위해서 결과 패킷에 준다.
데이타 플로우 시스템의 프로세서에서, 그 두개의 프로그램은 명령 레벨의 혼합된 상태로 존재하여 병렬 처리에 인가된다.
다음은 본 발명의 23번째 실시예에 대한 설명이다.
데이타 플로우 시스템의 다이나믹 프로세서 위의 식별자를 사용하는 처리를 수행함으로써, 복수 셋트의 입력 데이타 상에 한개의 똑같은 프로그램을 실행한다.
데이타 플로우 시스템의 다이나믹 프로세서인 이 타임은 J.A.Sharp: 데이타 플로우 컴퓨팅(사이언스 퍼블리싱 컴퍼니, 1986), 에 나타나 있다.
제33도에 보여지듯이, 두개의 격자포인트(No.1, No.2)는 관련된 요소프로세서에 할당되고, 프로그램 메모리 130은 각각 격자포인트 No.1, No.2에 작은 메인 프로그램 131,132를 저장한다.
메인 프로그램 131,132의 작용은 각각의 격자포인트에 특별한 식별자수를 둔후에 계산 커넬(kernel) 장치 133에 상기 데이타를 주는 것이다.
동시에 격자포인트 No.1, No.2에 대한 처리 131, 과 132를 수행하는, 계산 커넬 장치 133에 있어서, 데이타가 식별자에 장치 되므로 상기 두개의 처리는 서로 완전히 독립적으로 수행된다.
상기에 설명된 바와 같이, 얻던 메모리 접근도 요구하지 않는 데이타 플로우처리에 있어서, 한개의 똑같은 프로그램은 컬러 식별자의 도입에 의한 복수 셋트의 데이타 위에 동시에 실행될 수 있다. 그러나, 컬러 식별자에 의해서 데이타 메모리 접근에 대해 배타적 통제가 될 수는 없다.
이 프로그램은 프로그래머의 책임이 피해져야만 한다.
이 문제를 피하기 위한 방법으로서, 컬러 식별자와 프로그램을 가진 데이타 메모리 어드레스를 전환함으로써 각각의 컬러 식별자에 대해 다른 데이타 메모리 어드레스를 획득하는 것이 가능하다.
제34도를 연상 데이타 필드에 있는 컬러 식별자의 내용(이후로는 컬러 요청 기능으로 언급될)을 저장하기 위한 기능의 예를 나타낸다. 제34도는 컬러 요청 기능을 보여주는 데이타 플로우 그래프이다.
챠트의 오른쪽상에, 데이타 패킷의 변화로 설명 된다. 상기 도면이 간단한 것이므로, 단지 컬러 식별자, 왼쪽 데이타(제1연산 옵젝트)과 오른쪽 데이타(제2연산 옵젝트)만이 패킷의 포맷으로 설명된다.
상기 도면에서, 135에서, 138은 순서대로의 처리 데이타에 대한 노드이다. 노드 135는 PC 명령을, 노드 136은 OR 명령을, 노드 137은 PC 명령을, 그리고 마지막 노드 138은 SWAP 명령을 실행한다.
제34도에 있는 플로우 그래프에 사용된 명령의 기능이 설명될 것이다.
(1) PC는 각각을 위해 컬러 식별자와 왼쪽 데이타를 교환하기 위한 명령이다.
(2) OR은 왼쪽 데이타와 오른쪽 데이타 사이의 비트 투 비트 베이시스(bit-to-bit basis) 논리적 충작동을 수행하고 왼쪽 데이타에 상기 작동의 결과를 저장하기 위한 명령이다.
(3) SWAP는 각각을 위해 왼쪽 데이타와 오른쪽 데이타를 교환함으로서 그것들을 출력하기 위한 명령이다.
다음의 컬러 요청 기능에 대한 설명이다.
데이타 패킷 입력은 왼쪽 데이타에 있는 5, 컬러 식별자로서 C1과 오른쪽 데이타에 있는 DR1을 저장하는 것으로 간주된다.
출력 데이타가 노드 135에서 PC명령에 의해 왼쪽 데이타에 대한 컬러 식별자의 교환자에 제시된다.
다음은 노드 136에서 상기 데이타가 상수값 0을 가지고 있는 OR작동에 제시되고, 결과로서 컬러 식별자를 위한 5와, 왼쪽 데이타와 오른쪽 데이타를 위한 C1의 데이타 패킷이 출력된다.
노드 137에서, PC 명령을 이 데이타 패킷을 컬러 식별자를 위한 C1패킷, 왼쪽 데이타를 위한 5와 오른쪽 데이타를 위한 C1으로 돌리기 위해 이 데이타 패킷은 실행한다.
끝으로 노드 138사이의 출력 패킷은 SWAP 명령에 따라서 각각을 위해 왼쪽 데이타와 오른쪽 데이타를 교환하고 입력 데이타 패킷에 동일한 컬러 식별자를 가지게 되고 왼쪽 데이타에 단독으로 소유된 컬러 식별자를 저장하고 출력한다.
컬러 요청 기능으로부터 출력 패킷은 왼쪽 데이타로서 단독으로 소유되어지는 컬러 식별자를 획득할 수 있다.
다음은 상기 언급된 컬러 요청 기능으로 컴퓨터화 된 결과를 사용함으로써 데이타 메모리의 어드레스를 계산하기 위한 방법에 대한 설명이다.
제35도는 각각의 격자포인트에 컬러 식별자를 할당하기 위한 방법의 예에 대한 개념적 도면이다.
상기 도면에서, 139는 격자포인트이다.
격자포인트 139가 메쉬 형태로 배열된 2차원적인 논리에 대한 설명이 될 것이다.
컬러 식별자 0은 가로 N과 세로 N에 메쉬 형태로 배열된 격자포인트 139에 할당되고 색깔은 그러한 방법으로 각각의 격자포인트에 할당되어 왼쪽 방위와 아래쪽 방위에서 진행될 때 색깔수는 증가된다.
제35도에서 보여지는 개념도에서, 각각의 격자포인트 139의 왼쪽탑에 있는 심벌은 각각의 격자포인트에 할당된 컬러 식별자이다.
할당이 상기에 나타난 것처럼 되었기 때문에, 옆에 있는 격자포인트에 할당된 컬러 식별자는 컬러 요청 기능으로 획득된 격자포인트를 소유하기 위해 할당된 컬러 식별자를 사용함으로써 공식 36아래에 있는 것처럼 계산될 수 있다.
방위를 제시하는 용어처럼, 탑(top)은 북쪽으로, 바텀(bottom)은 남쪽으로, 오른쪽은 동쪽으로, 왼쪽은 서쪽으로 명칭될 것이다.
공식 36에 있는 ⓛ방정식은 관련된 격자포인트의 북쪽 방위에 있는 옆에 있는 격자포인트에 할당된 컬러 식별자를 나타낸다.
똑같은 방법으로 공식 36에 있는 방정식 ②에서 ③은 각각 남, 서, 동쪽에 있는 옆에 있는 격자포인트에 할당된 컬러 식별자를 나타낸다.
제36도에서 보여지듯이, 데이타 메모리 8의 Y용어는 각각의 격자포인트에 할당되고, 그러한 방법으로 메모리가 할당되어 Z가 있는 컬러 식별자의 격자포인트에 할당된 데이타 메모리의 어드레스는 (Z×Y)에서 (X×Y+Y-1) 영역이 될 수 있다.
그러므로, 어느것이 CN인지 대해 격자포인트 컬러 식별자에 할당된 메모리의 어드레스는 공식 37이다.
그러나, K가 미리 예정된 수이고 어느것이 CN인지에 대해 격자포인트의 컬러 식별자에 할당된 Y용어의 데이타 메모리 요소의 K번째 용어에 접근됨을 의미한다.
상기 설명된 바와 같이, (그러한 방법으로 구조된 시스템) 컬러 식별자의 전환과 프로그램을 가지는 데이타 메모리 어드레스를 실행하고 각각의 컬러 식별자에 대한 다른 데이타 메모리 영역에 접근하기 때문에, 그것을 위해 어떤 특별한 하드웨어를 사용함 없이, 데이타 플로우 시스템에서도 요소프로세서 3의 메모리를 상호 언급함으로써 같은 값에 있는 격자포인트 사이에서 비동기적 통신을 실현하는 것이 가능하다.
다음은 본 발명의 24번째 실시예에 대한 설명이다.
미분방정식을 풀기 위한 정보처리시스템의 이번 타입은 옵젝트 방정식을 차이로 나눈다.
즉 격자에 있는 공간(시간도 어떤 경우에 포함된다.)을 나누고, 각각의 격자포인트(분할된 공간의 대표 포인트)에 다양한 양들을 결정하기 위해 이웃하는 격자포인트에 계산의 결과를 사용함으로써 수렴 계산을 실행한다.
이번 실시예에서는, 각각의 격자포인트에 계산의 결과를 저장하기 위한 메모리가 그 메모리들에 언급함으로써 격자포인트 사이에 있는 데이타 교환을 실현하기 위해서 각각 격자포인트에 할당된다.
격자포인트 간의 데이타 교환 방법을 보여주는 예에 대해 설명 될것이다.
제37도는 한 격자포인트에 계산의 결과를 저장하기 위해 할당된 데이타 메모리 영역을 나타낸다.
상기 도면에서, 140은 격자포인트에 계산의 계산을 저장하기 위해 데이타 메모리 8에 있는 한 격자포인트에 할당된 영역이고 141에서 144는 140영역에 놓여진 영역이며 데이타를 저장하거나 각각의 동, 서, 남, 북쪽에 있는 격자포인트에 대한 통신의 필요하거나 그렇지 않은 플래그의 결과를 저장한다.
제37도에서 보여지듯이, 각각의 격자포인트에 할당된 영역에서, 두종류의 데이타, 즉(1) 격자포인트에 계산의 결과의 인접한 격자포인트에 의해 언급되어진 데이타와 (2) 통신의 각각의 방위에 있는 통신의 각각의 방위에 있는 (여기서, 방위는 2차원 구조로 가정하고 동, 서, 남, 북쪽 방위로 명명된다. )
필요성이나 비필요성을 지시하는 플래그가 있는데 통신이 한개의 같은 프로세서에 놓여진 격자포인트의 처리나 네트워크 등을 통해 만들어진 통신이라면 저장된다.
제38도는 격자포인트 사이에서 통신이 유지되는 처리 플로우를 보여주는 플로우 챠트이다.
첫째로, 격자포인트 간에 통신할 때 통신의 각방위에 할당된 데이타 메모리 영역의 미결정된 어드레스에 저장된 데이타를 판독한다(스텝 ST1). 스텝 ST2에서는 통신의 필요성 또는 불필요성이 판정된다.
즉(처리 중량)데이타가 1을 판독하면 그것은 인접한 격자포인트가 통신이 의도 되어지는 방위에 존재 하는것을 의미하기 때문에 통신을 위한 처리를 수행한다.
반면, 데이타가 0을 판독하면 그것은 이 격자포인트가 상기 시스템의 경계에 존재하여 이 방위에서는 통신의 요구되지 않는것을 의미하기 때문에 통신에 대한 어떤 처리도 만들어지지 않는다.
스텝 ST3에서, 처리 장치는 통신의 타입을 지시하는 플래그가 지정되어 있는 데이타 메모리의 미리 결정된 또다른 어드레스에 저장된 데이타를 판독하고 데이타 값을 테스트하는 것은 상기와 똑같은 방법으로 판독한다. 데이타가 0을 판독하는 경우에, 그것은 통신이 하나의 똑같은 프로세서에 놓여진 격자포인트와 되어(처리 장치)본 발명의 23번째 실시예에 제시된 방법에 의해서 어드레스 계산을 수행하고 인접한 격자포인트에 할당된 데이타 메모리 영역을 언급하고 갱신함으로써 격자포인트 사이에서 통신을 한다.
반면, 판독된 데이타가 0이 아니면, 통신 파트너의 격자포인트에 할당된 데이타 메모리의 베이스 어드레스가 하부 24비트에 저장 되는 동안에 이것은 통신을 위한 격자포인트가 다른 프로세서에 할당되어, 동시에 32-비트 데이타의 상부 8노드에 통신 파트너의 격자포인트가 저장되어 있는 프로세서 No.가 판독 되었음을 23번째 실시예에서 보여지듯이, 오프 어드레스는 요구된 데이타를 저장하는 데이타 메모리의 어드레스를 계산하기 위해서 상기 32비트 데이타에 추가된다.
만약 분배되고 나눠진 메모리 액세스가 어드레스로서 상기 데이타와 실행되면, 데이타 패킷은 네트워크를 통해서, 요구된 데이타를 읽기 위해서, 통신을 하기 위한 격자포인트가 할당되는 프로세서에 전달되어 상기 데이타와 함께 다시 프로세서를 전달 하는 것에 리턴하여 격자포인트 계산을 계속한다.
상기에 설명된 바와 같이, 격자포인트간에 통신을 하는 멀티 프로세서에 있어서, 가능성이나 불가능성을 나타내는 정보를 저장하기 위한 필드나, 각각의 격자포인트의 각 방위에 대해 통신 또는 비통신을 위해 가능한 방위의 같은 통신의 방법이나, 네트워크를 통한 통신이나 그렇지 않은것, 등등은 데이타 메모리에 할당 되어서 네트워크를 통한 통신인 경우에 분배되고 나뉘진 메모리 액세스가 사용되었다.
분배되고 나눠진 메모리 액세스에 대한 기계구조는 일본 공개 공보 3-122338호에 상세히 설명되어 있다.
그러한 이유때문에, 경계상의 격자포인트의 처리과 경계내부에 있는 격자포인트 처리는 한개의 같은 프로그램에 실현될 수 있고, 그러므로 프로그램 크기가 줄어 들 수 있다.
각각의 격자포인트가 복수의 프로세서에 할당 될 때, 프로세서에 걸쳐 있는 격자포인트 사이의 통신은 격자포인트 할당 방법에 의존함이 없이 쉽게 실현될 수 있다.
이후에 설명될 25번째, 26번째, 27번째와 28번째 실시예에서는, 복수의 격자포인트의 처리 포인트가 한개의 같은 요소프로세서에 있는 데이타 메모리를 통하여 격자포인트 사이의 데이타 변화를 수행하기 위해서 한개의 같은 요소프로세서에 할당된다.
각각의 실시예는 이후에 자세히 설명 될것이다.
다음은 본 발명의 25번째 실시예에 대한 설명이다.
다음은 각각의 격자포인트 메모리를 할당하고 상기 메모리를 통해서 서로 밀접한 격자포인트 사이에서의 통신을 하고 각 격자포인트에 대한 통신을 하기 위해 각 방위에 있는 메모리 영역을 만드는 테이블을 가지는 시스템에 관한 설명이다.
제38도는 데이타 메모리 영역의 분할을 보여 주는 도면이다.
상기 도면에서, 145도는 인접한 격자포인트에 계산의 결과를 획득하기 위해서 데이타 메모리내에 한개의 격자포인트에 할당된 영역이고 146에서 149는 145영역 내부에 할당되고, 각각 동, 서, 남, 북영역에 있는 격자포인트의 메모리 영역의 전방 어드레스를 저장하는 영역이다.
제39도에서 보여지듯이, 각 방위에 있는 격자포인트의 메모리 영역의 전방 어드레스는 각 격자포인트에 대해 할당된 메모리 영역에 저장된다.
이번 실시예의 경우에, 통신 방위의 격자포인트의 메모리 영역의 전방 어드레스는 각 격자포인트에 대동, 서, 남, 북쪽의 방위에 있는 4데이타 영역 146에서 149를 사용함으로써 제40도는 통신의 경우에 처리 플로우를 나타내는 플로우챠트이다.
통신을 할 때, 통신 파트너의 메모리 영역의 전방 어드레스는 통신 방위에 따라 판독된다. (스텝 ST6)통신의 요구 되어지는 방위가 통신이 불가능한 방위 일경우, -1은 미리 통신 방향의 격자포인트의 메모리 영역의 전방 어드레스를 저장하는 영역에 저장된다.
판독된 데이타가 -1일 경우에, 어떤 통신도 이뤄지지 않는다(스텝 ST7). 만약 요구되어지는 방위가 통신을 위해 이용할 수 없는 방향으로서 판정될 때, 통신되어야 할 데이타의 어드레스 오프셋은 실제로 통신 하고 실제 통신을 수행하기 위한 어드레스를 획득하기 위해서 통신 파트너의 전방 어드레스에 추가된다 (스텝 ST8).
통신 하기 위해 각 방위에 있는 메모리 영역의 전방 어드레스가 저장되는 경우의 예가 상기 실시예에 나타났을 동안에 본 발명은 메모리 영역이 격자포인트 숫자의 순서대로 할당하는 경우에 격자포인트 숫자를 저장하는 실시예에도 적용될 수도 있다.
통신을 하기 위해 각 방향에 있는 메모리 영역의 전방 어드레스가 저장되는 경우의 예가 상기 실시예에 나타났을 동안에, 본 발명은 파터를 전달하는 것의 격자포인트 메모리 영역의 전방 어드레스와 통신 파트너의 메모리 영역의 전방 어드레스간의 차이, 하나의 격자포인트에 의해 사용된 메모리 크기에 의해 상기 값을 나눔으로써 획득된 값인 격자포인트의 거리, 포인트와 같은 통신을 위해 사용되어질 메모리 영역을 상술할 수 있는 식별자를 저장하는 실시예에도 적용될 수 있다.
상기 실시예에서 통신의 4방위가 있는 경우에 대해 설명했던 동안 본 발명은 6 또는 8방위(북동, 북서, 남서, 남동이나 그러한 방위의 부분을 포함하여)인 경우에도 적용될 수 있다.
게다가 상기 실시예에서 통신을 위해 이용할 수 없는 방위에 -1이 저장되는 경우가 설명 되었을 동안에 본 발명은 어떤 비사용된 선택값이 통신을 위해 이용할 수 없는 방향을 지시하는 식별자로서 사용되는 경우에도 적용될 수 있다.
통신을 위해 사용되어야 할 격자가 코어스 노드 처리 하는 동안에 통신 되어야 할 인접한 격자포인트는 약간 떨어져 그러한 방법으로 변화하고 가는 노드 처리를 하는 동안에 더 밀접하게 되는 처리의 경우에서 조차도, 상기 프로세서는 통신 방위에 있는 격자포인트의 메모리 영역을 지시하는 식별자 영역을 재기록 함으로써 한개의 똑같은 프로그램을 가지고 실행될 수 있다.
과거에, 제41도에서 보여지는 프로젝션과 커트를 가진 영역이 처리의 옵젝트로서 취해질 경우에, 처리의 옵젝트는 프로젝션과 커트를 가진 영역을 포함하기 위해서 도중에 형성된 정사각형이나 직사각형으로서 선택되었다.
그러한 이유로, 본질적으로 처리될 필요가 없는 격자포인트 조차도 처리 하는 것이 필요했다.
그러나, 본 발명을 적용하는데, 상기 처리는 어떤 선택방위에서 어떤 격자포인트가 통신을 위해 이용할 수 없는 격자포인트로서 장치될 수 있기 때문에 프로젝션과 커트를 가진 영역을 위해 직접 처리 된다.
이러한 점이 프로젝션과 커트를 가진 영역 밖으로 격자포인트의 메모리 영역을 제거하는 것을 가능하게 하여 메모리 크기를 줄인다.
또한 이러한 점이 불필요한 프로젝션과 커트를 가진 영역 밖으로 격자포인트의 처리를 하게 하고 빠른 처리를 가능하게 한다.
이렇게 해서 메모리 크기의 축소와 처리 속도의 증가가 실현된다.
이번 실시예에서 통신 방위 식별자로서 사용되는 식별자에 있어서, 격자포인트 수의 메모리 영역의 전방 어드레스나 파터를 전달하는 것의 격자포인트와 한개의 격자포인트에 의해서 사용되는 메모리의 크기에 의해서 통신 파트너의 메모리 영역의 전방 어드레스 사이의 차이를 나눔으로써 획득된 값을 사용하는것이 어드레스나 어드레스 자체의 차이를 사용하는 경우와 비교했을 때 메모리로서 요구 되는 비트의 숫자를 줄이고 사용된 메모리 크기를 줄이기 때문에 더 효과적이다.
상기 실시예가 많은수의 격자포인트가 단일 요소프로세서에 엮어질 경우에 메모리 영역의 액세스 방법을 장치하는 동안, 요소프로세서 사이의 통신이 관련되는 한 상기 통신은 이후에 지적된 실시예로 단순화 될 수 있다.
요소프로세서가 격자형 토폴로지에 연결될 때, 대각 방향의 요소프로세서와 통신되는 문제점이 있다.
제42도는 대각 방향에 요소프로세서를 갖는 통신 시스템을 도시하는 도면이다. 상기 도면에서, 151은 NW 방향의 요소프로세서를, 152는 N방향의 요소프로세서를, 153은 NE 방향의 요소프로세서를, 154은 W방향의 요소프로세서를, 155는 계산하에 있는 요소프로세서를, 156은 E방향의 요소프로세서를, 157은 SW방향의 요소프로세서를, 158은 S방향의 요소프로세서를, 159은 SE방향의 요소프로세서를 각각 나타낸다.
더우기, 도면에서 160은 NW방향의 가상 통신 선로이고, 161은 SE방향의 가상 통신 선로이며, 162는 요소프로세서 사이의 네트워크이고, 163은 SW방향의 가상 통신 선로이며, 164는 NE방향의 가상 통신 선로이다.
요소프로세서(155)가 NW 및 SE방향의 요소프로세서(151)(159)와 통신하는 경우에, 통상적인 방법은 통신하는 요소프로세서(151)(155)사이와 요소프로세서(155)(159)사이에 직접적으로 연결된 가상 통신 선로(160)(161)를 설치하거나, 또는 요소프로세서(152)(158)을 통해 데이타 통신을 하도록 구성한다.
그러나, 이러한 방법은 종재 방법 보다 복잡한 통신 네트워크가 필요하고 통신 동기화를 위한 대기 시간이 크기 때문에 전체 시스템의 동작 속도가 저하되는 등의 많은 문제점이 있었다.
각각의 요소프로세서가 2중화 상태를 더 높고 더 낮은 위치의 요소프로세서에 의해 유지되는 데이타를 가지면, 요소프로세서(151)로 통신하는 통신시스템이, 예를들면, 요소프로세서(154)의 메모리 상에 있는 요소프로세서(151)의 데이타에 적용되어 간단해질 수 있다.
그러나, 원래 데이타가 갱신될 때 마다 2중화 상태를 유지하는 데이타는 정정되어야 한다.
더우기, 더 높고 더 낮은 위치의 요소프로세서 대신에 외쪽 및 오른쪽에 있는 요소프로세서의 데이타가 2중화 상태에 있고, 예를들어, 요소프로세서(151)와 통신할 때 요소프로세서(152)의 메모리에 저장된 요소프로세서(151)의 데이타가 액세스하므로써 동일한 효과를 얻을 수 있다.
다음에, 본 발명의 26번째 실시예를 설명한다.
각각의 격자점에 메모리를 지정하고 이 메모리를 통해 서로 인접하는 격자 점들 사이를 통신하는 다중-프로세서는 각각의 격자점에 통신하는 각각의 방향에 있는 메모리 영역을 나타내는 정보가 남아 있고 통신하는데 필요하지 않은 방향에 통상의 더미 영역을 나타내는 정보를 특별히 갖는다.
제43도는 26번째 실시예에 사용된 메모리의 평면도이다.
제43도에서, 170은 데이타 메모리(8)의 내부의 처리 주체를 형성하는 격자 점에 지정된 메모리 영역이고, 171은 메모리 영역(170)의 내부의 하나의 격자점에 지정된 메모리 영역이며, 172는 지정된 메모리 영역(170)에서 처리 주체를 형성하는 격자 점으로 개별적으로 통신하는 데 필요하지 않은 방향 내의 더미 영역과 같이 데이타 메모리(80)의 내부에 지정된 하나의 격자 점을 위한 메모리 영역이다.
하나의 격자 점을 위한 메모리 영역은 실 처리의 주체를 형성하는 격자 점용 메모리 영역 외에 통신하는 데 필요하지 않은 방향 내의 더미 영역과 같이 안전하다.
더미 영역을 나타내는 식별자는 실 처리의 주체를 형성하는 격자 점에 지정된 통신의 각각 방향 내의 격자 점용 메모리 영역을 저장하는 영역 내의 통신하는 데 필요하지 않은 방향을 나타내는 식별자와 같이 저장된다.
제44도는 상기 실시예의 처리 플로우도를 나타낸다.
통신하기 위하여, 통신 방향내의 격자 점의 메모리영역을 나타내는 식별자를 읽는다(단계 ST10).
그 다음, 그 식별자가 더미 영역이거나 또는 아니더라도 개의치 않고 그 영역에서 통신 처리한다(단계 ST11).
통신 처리를 위한 통화자의 영역으로부터 무엇이던 독출할 때, 처리 중에 어떠한 나쁜 감응을 갖지 않는 임의 값을 더미 영역에도 미리 저장한다.
그러나, 통신 중에, 실패 없이 인접하는 격자 점으로 미리 전달되는 방법으로 각각의 격자 점의 처리를 위해 필요한 데이타를 처리하는 것에 의해 단지 기록하여 송신기에서 통화자로 처리를 억제하는 것이 가능하다.
통신이 가능 또는 불가능 하더라도 개의치 않고 단지 한 종류의 처리를 하므로 판정용 프로그램이 필요하지 않아 프로그램의 크기를 감소할 수 있다.
통신이 가능 또는 불가능 하더라도 개의치 않고 단지 한 종류의 처리를 하므로 각각의 격자 점을 위한 계산 적재 내에서 편차를 조정하고 통신하는데 필요하지 않은 많은 방향을 갖는 단지 격자 점을 위한 처리의 어떠한 초과 진행의 기피를 가능하게 하므로, 각각의 격자 점중 동시 처리가 필요한 경우라도 프로그램 크기의 축소와 처리 속도의 향상을 실현하는 것이 가능하다.
다음에 본 발명의 27번째 실시예를 설명한다.
데이타 교환에서 지연 시간을 짧게 하기 위해서는 상호 인접하는 격자 점이 2개의 요소프로세서에 대해 지정될 때, 양측 상호간의 요소프로세서가 이중화에서 상대방의 데이타를 갖는 것이 효과적이다.
이러한 경우, 그들 격자 점들을 위한 데이타가 갱신될 때, 양측 요소프로세서의 데이타의 일관성을 보장하는 데 실패하지 않도록 인접하는 프로그램에 새로운 데이타를 전송하는 것이 필요하다.
그러나, 상기 데이타가 불필요하게 갱신될 때 마다 인접하는 요소프로세서로 전송하는 데이타는 프로세서 사이에서 통신하는 양은 증가하고 갱신된 데이타가 매우 작을 때에는 필수적인 처리에 대하여 음으로 영향을 끼친다.
제45도는 상호 인접하는 프로세서 사이의 통신 상태를 나타내는 개략도이다.
상기 도면에서, 좌측 상의 요소프로세서(3)는 우측의 요소프로세서(3)가 격자 점 n+1에서 격자 점 m의 계산을 수행하는 동안 격자 점 0번에서 격자 점 n번의 계산을 수행한다.
제45도에 도시된 바와 같이, 예를들어, 좌측 상의 요소프로세서(3)가 인접하는 요소프로세서(3)으로 격자 점 0번의 계산 결과를 전송할 때, 이전에 발생된 데이타 B와 인접하는 요소프로세서(3)로 전송되는 데이타 A를 비교하여 그들이 동일하거나 임의의 값 보다 크지 않은 차를 갖는다면 전송을 중지하여 이러한 나쁜 영향을 피할 수 있다.
여기서, 데이타 B가 이전 발생의 데이타(즉, 이전 계산의 결과 데이타)로 추정되지만, 각각의 시간에 발생된 정하의 양이 매우 적다면 차이가 축적되는 우려 때문에, 대한 이 데이타 B는 인접하는 프로세서(3)에 이전에 전송된 데이타일 수도 있다.
다음에, 본 발명의 28번째 실시예에 따른 식을 푸는 프로그램을 단순하는 것을 설명한다.
제46도는 식을 해석하는 계산 영역과 상기 계산영역에 지정된 격자 점 사이의 관계를 도시하는 평면도이다.
하나의 외부 원주의 격자 점은 입체 선에 의해 에워싸여진 처리를 요구하는 외부 격자 점이라 생각된다.
메모리 영역은 하나의 외부 원주의 각각의 격자 점에 지정되고, 번호는 격자 점 번호와 같이 각각의 격자 점 아래에 주어진다.
송신기의 격자 점 번호가 n일 때, 각 방향에서 격자 점의 번호는 식 38으로 계산될 수 있고 모서리에 있는 격자 점은 위한 어떠한 특별한 처리를 필요없다.
격자 점 번호(동쪽 방향) = n +1
격자 점 번호(동쪽 방향) = n -1
격자 점 번호(동쪽 방향) = n - 10
격자 점 번호(동쪽 방향) = n +10
격자 점의 데이타가 어드레스 로부터 격자 점의 순서대로 엔트리 R량에 의해 각 격자 점에 안정하게 저장된다면, 상기 식에 의해 얻어진 통화자의 격자 점이 D로 표현될 때 통화자의 격자 점의 데이타 영역의 선두 어드레스를 식 39로부터 얻을 수 있다.
통신 처리는 25번 및 26번째 실시예의 처리와 동일하다.
통신 처리가 통화자의 영역으로부터 리드를 포함하는 경우에 처리시 어떠한 나쁜 영향을 갖지 않는 값은 각각의 더미 영역에 앞서 저장된다.
이것은 월 데이타(wall date)를 갖는 인접 격자 점의 수단과 동일한 더미 영역을 제공하는 것에 의해 임의의 큰 영향을 제거하는 이러한 수단에 의해 실행될 수 있다.
더우기, 임의의 값이 각각의 동작을 위한 장치 요소와 같이 제공되면, 상기 보호는 그 값을 설정하는 것에 의해 실행될 수 있다.
각 방향의 격자 점 번호는 이 실시예에 있는 계산에 의해 얻어지며, 이 방법은 25번째 실시예와 같이 통신 방향 내의 격자 점의 식별자가 동일한 방법으로 메모리에 정장되는 있는 실시예에 적용될 수 있다.
25번째부터 26번째 실시예에서 블럭 영역의 메모리가 각 격자 점에 지정된 경우에 대해 설명되는 데, 이 방법은, 예를들면, 압력 값 및 속도 등과 같은 각각의 요소를 블럭에 안전하게 저장하는 영역을 갖고, 각각의 영역은 격자 점 번호에 순차적으로 각각의 요소를 저장하는 경우에 영역이 각 요소를 블럭에 안정하게 저장되는 다른 실시예에 적용될 수 있다.
각 격자 점을 위한 데이타 메모리 영역을 지정하고 상기 메모리를 참조하여 인접하는 데이타을 얻을 수 있는 계산 장치에서, 경계에 위치된 격자 점에 외부 격자 점을 시뮬레이션하는 실 데이타 영역을 지정하는 것에 의해 처리 프로그램의 간략화, 프로그램 크기의 압력 및 처리 속도의 증가를 실현할 수 있다.
각각의 요소를 위한 블럭에 그들을 배열하는 것에 의해 영역을 안정하게 저장할 때, 주기적인 액세스를 갖는 요소의 블럭에 배열되는 것에 의해 캐쉬(cash)의 적중률을 개선하고 처리 속도를 증가시킬 수 있다.
다음에, 본 발명의 29번째 실시예를 설명한다.
미분방정식의 풀이에 있어서, 오브젝트 시스템은 작은 격자 점으로 분할된다.
그러한 경우, 경계에서 각각의 격자 점 노드에 점의 번호에 비례하는 시간이 모든 격자 점에 퍼져 안정된 경계 조건에 의해 한정된 격자 점의 상태를 위해 요구되기 때문에 수렴을 이루기 위한 시간이 연장될 수 있다.
이러한 비효율적인 것을 피하기 위해, 코오스(coarse)노드와 화인(fine)노드를 선택적으로 사용하여 수렴 속도를 개선한다.
제47도는 코오스 노드와 화인 노드를 선별적으로 사용하여 수렴 속도를 개선하는 예에서 나타내어지는 계산 영역 경계에 인접하는 계산된 격자 점을 나타낸다.
상기 도면에서, 125는 계산 영역 경계의 격자 점이고, 126a는 화인 노드에 의해 접속될 때의 계산 영역 내부의 격자 점이며, 126b는 코오스 노드에 의해 접속될 때의 계산 영역 내부의 격자 점이고, 7a는 화인 노드 접속을 위해 요소 컴프레서 사이를 접속하고 7b는 코오스 노드 접속을 위해 요소 컴프레서 사이를 접속하며, 그리고 그들 격자 점과 각각의 요소프로세서는 1:1 대응한다.
이 실시예에서, 계산 영역(126a)(126b)내부의 모든 격자 점은 화인 노드 접속시 화인 노드를 위한 요소프로세서 사이를 접속 수단(7a)에 의해 접속되고, 코오스 노드 접속을 위한 내부 격자 점(126b)은 코오스 노드 접속시 코오스 접속을 위한 요소 컴프레서 사이를 접속하는 수단(7b)에 의해 내부 다수의 격자 점을 건너 뛰어 접속된다.
여기서, 코오스 노드 접속들 위한 내부 격자 점(126b)은 코오스 노드 접속시 화인 노드 동작과 코오스 노드 동작 모두에서 계산된 격자 점의 역활을 하므로 격자 점(126b) 내부의 데이타 메모리는 코오스 노드 동작과 화인 노드 동작 사이에서 정보를 교환하는 역활을 한다.
그리고, 계산시에, 화인 노드 동작과 코오스 노드 동작이 선택적으로 사용된다.
이러한 구성에서, 보드 상의 격자 점(125)의 경계 조건은 코오스 노드 접속을 위한 요소프로세서 사이를 접속하는 수단(7b)에 의해 계산 영역의 내부로 화인 노드 동작 중 보다 3배 이상 빠르게 전송되며, 그리고, 상세한 계산을 실현하는 화인 노드 접속에 의해 이웃에서 화인 노드 접속을 위한 내부 격자 점(126a)으로 전송된다.
그러므로, 이 실시예에 따르며, 코오스 노드를 사용하여 즉각 계산 영역으로 관통하고, 그리고 화인 노드를 사용하여 매우 정확한 계산 결과를 얻는 경계 조건을 표시하여 수렴 속도를 향상시키며, 고정확성 및 고속 동작을 이룰 수 있다.
화인 노드의 격자 점이 코오스 노드 접속시 모든 2점에 연결되는 예가 본 실시예에 나타내어지며, 물론 여러 점을 생략하여 만들어진 접속으로도 유사한 효과를 기대할 수 있다. 더우기, 격자의 조잡함은 2등급 또는 본 실시예에 화인 노드 접속 및 코오스 노드 접속이 주어지며, 조잡한 다수의 등급 내에서 격자를 사용하여도 동일한 효과를 얻을 수 있다.
또한, 본 실시예에서 코오스 노드 접속에서의 계산과 화인 노드 접속에서의 계산을 하나 씩 선택적으로 하는 경우가 설명되며, 코오스 노드 접속과 화인 노드에서 순서적으로 다수 번 선택적으로 계산할 수도 있다.
상기 실시예로서, 코오스 노드 접속에서의 계산과 최종 노드 접속에서의 계산이 선택적으로 하는 경우가 설명되며, 코오스 노드와 수렴을 이룬 후 풀이의 정확성을 점차적으로 향상시키는 방법을 채택할 수 있다.
즉, 이러한 방법은 제47도에 도시된 바와 같이 코오스 노드 접속에서의 요소프로세서 사이의 접속(7b)과 연결된 코오스 노드 접속시 초기 격자 점(126b)과 경계(125)상의 격자 점을 사용하는 것에 의해 수렴 해법을 얻을 때까지 반복적으로 계산을 실행하고, 그후, 초기 조건으로 코오스 노드 접속시 내부 격자 점(126b)의 해법을 제공하거나, 또는 최종 노드의 공간분산에 따라 해법을 비례적으로 분산하는 것에 의하여 초기 조건으로 코오스 노드 접속시 내부 격자 점(126b)의 해법을 제공하며, 그리고 최종 노드 접속에서 요소프로세서 사이의 접속(7a)과 연결된 초기 격자 점(126b), 코오스 노드 접속시 초기 격자 점(126b)과 최종 해법으로 수렴 해답을 채택하는 경계(125)상의 격자 점을 이용하는 것에 의해 반복적으로 계산한다.
이 방법을 채택함에 의해, 대략적인 수렴을 이루도록 계산을 급격하게 촉진시킬 수 있다.
즉, 이것은 불필요하게 표시된 국부 연산을 피할 뿐만 아니라 수렴을 안정되게 이루고 치동 수렴을 빠르게 이루도록 할 수 있게 한다.
상기 실시예에서, 격자 점과 각각의 요소프로세서가 1:1로 대응하는 경우가 설명되며, 다수 개의 격자 점 그룹이 존재하는 공간 영역에 각 요소프로세서에 대응(지정)되는 경우도 동일한 결과를 얻을 수 있다.
다음에, 본 발명의 30번째 실시예를 설명한다.
상기 29번째의 실시예에서, 점프 선으로 상호 인접하는 요소프로세서 사이의 연결을 생략하는 것에 의해 코오스 노드 접속을 실현하는 경우를 설명한다.
본 실시예에서는 오직 S/W로 그들 코오스 노드를 실현하는 경우를 설명할 것이다.
본 발명의 제25번째 실시예에서 설명된 바와 같이, 데이타 메모리 영역이 각 격자 점을 위해 확보되고, 각 격자 점 사이의 데이타 통신이 통신을 요구하는 격자 점에 의해 이 데이타 메모리가 각 격자 점을 위해 확보되도록 상호 액세스를 통해 실현되는 경우에서, 인접하는 격자 점 이외의 격자 점과 데이타 통신을 수행할 수 있는데, 즉 각 격자 점에 통신의 각각의 방향 내에서 데이타 메모리를 나타내는 테이블을 갖고, 이 테이블의 각 엔트리에서 하는 갯수의 격자 점에 의해 생략된 격자 점을 위해 확보된 데이타 메모리 영역의 어드레스를 저장하는 것에 의해 단지 S/W를 사용하여 코오스 노드 접속을 실현할 수 있다.
그러므로, 수식 전체의 초기 단계에서 코오스 노드 접속을 실현하는 방법으로 통신을 하기 위한 각 방향 내의 데이타 메모리 영역을 나타내는 테이블을 설정하며, 그리고, 처리의 수렴 후, 최종 노드 처리를 수행하도록 인접하는 격자 점이 확보된 데이타 메모리 영역을 나타내는 방법으로 상기 테이블을 변경하는 것에 의해 최종 노드 처리를 실현할 수 있다.
또한, 상술한 바와 마찬가지로 동일한 방법에 의해 요구되는 테이블의 갱신에 의해 코오스 노드 처리와 최종 노드 처리를 선택적으로 수행하는 것이 가능하다.
더우기, 통신하는 각 방향내의 데이타 메모리 영역을 나타내는 상기 테이블의 2개를, 즉 코오스 노드의 하나와 화인 노드 처리의 다른 하나를 갖는 것과, 코오스 노드 처리를 위한 프로그램과 화인 노드를 위한 프로그램을 병렬로 처리하는 것에 의해 코오스 노드 처리와 화인 노드 처리를 병렬로 처리할 수 있다.
통신하기 위한 인접하는 격자 점이 코오스 노드 처리 동안 약간 이격되어 화인 노드 처리 동안 접근하는 등의 이러한 방법으로 변환하는 처리의 경우에도, 통신 방향에 있는 격자 점의 데이타 메모리영역을 나타내는 식별자의 영역을 바로 갱신하는 것에 의해 실제로 동일한 하나의 프로그램으로 수행할 수 있다.
상기 실시예에서, 코오스 노드와 화인 노드의 동시 처리로 인해 수렴 속도가 증가되는 경우가 설명되며, 코오스 노드 처리와 화인 노드 처리 양쪽을 위한 하나의 동일한 알고리즘이 필요하지는 않다.
코오스 노드와 화인 노드를 위한 개별적인 프로그램을 갖는 것에 의해 코오스 노드 처리와 화인 노드 처리를 위한 다른 알고리즘을 사용할 수 있다. 예를들면, 코오스 노드에서 높은 수렴 속도를 가지나 낮은 정확성을 갖는 알고리즘의 사용은 전체적으로 시스템의 수렴 속도를 더욱 개선한다.
상술한 실시예에 관련된 간단한 방법에서, 인접하는 격자 점의 전류 데이타는 관련된 격자 점에 대한 계산을 수행하는 것에 관련된다.
그러나, 인접하는 격자 점에 관련하는 데이타의 2생성이나 갖고 생성사이의 변이가 단지 규정된 값일 때 관련된 노드의 계산을 생략하는 것에 의해 전체 계산 양을 감소하고 계산 시간을 매우 짧게 할 수 있다. 더우기, 규정된 보다 크지 않은 생성 사이에서 변이를 갖는 격자 점 계산의 생략은 다른 격자 점의 처리를 위한 계산되어 얻어진 자원(데이타?)의 사용을 가능하게 하는 효과도 초래한다.
여기서 언급된 2 생성 데이타는 인접하는 격자 점에 관련하는 반복 계산의 이전 스텝에서 계산된 결과를 기초로 하는 데이타와 반복 계산의 마지막 전 스텝에서 계산된 결과를 기초로 하는 데이타로 귀결된다.
상술한 간단한 방법에서, 각 격자 점에서 계산을 생략하는 조건이 제시된다.
인접하는 격자 점의 생성 사이의 데이타의 차는 고정된 값이다.
그러나, 수렴 계산 동안에 점진적으로 축소하나 큰 값에서, 계산을 생략하기 위한 조건을 생성 사이 데이타 차의 허용을 설정하는 것에 의해 대략의 수렴을 이루기 위한 계산을 급격히 촉진시킬 수 있다.
이 방법의 응용은 어떠한 불필요한 국부 연산을 하는 것을 피하고 최종 수렴에 빠르게 이루도록 한다.
다음에, 본 발명의 31번째 실시예를 설명한다.
주로 계산 횟수를 최소로 하는 통상적인 병렬 컴퓨터는 임의의 시간에서 모든 격자 점의 계산이 완료되는 시점에서 수렴을 연속적으로 판정하는 수단의 채택 여부 때문에 수렴 처리가 전체 컴퓨터의 속도를 한정하고 아직 수렴되지 않았다면 다시 진행하는 시간에 의해 각 격자 점의 계산을 시작하는 결함을 갖는다.
(격자 점에서 계산 값(CA)) (수렴 CC 판정을 위한 처리 값(CC))의 관계는 일반적으로 유체 시뮬레이션에서 확증되기 때문에, 소량의 완충 장치가 준비된다면 이 구성은 채택될 수 있다.
또한, 수렴 판정이 부분적으로 형성되면, 단지 소량의 완충 장치는 충분할 것이다.
N, N×(CA+CC+a)가 N×CA+a 로 짧아질 수 있게 수렴하도록 반복적으로 계산하여 통신 값을 나타낸다.
제48도는 시뮬레이션과 수렴을 판정하기 위한 처리 사이의 상호 종속을 배제하여 시뮬레이션의 속도를 개선한 본 발명의 실시예를 나타내는 다중 프로세서의 구성도이다.
상기 도면에서, 3k는 동작을 실행하는 요소프로세서이고, 180은 각각의 요소프로세서(3k)에 의해 출력된 수렴 플래그의 정보에 기인하는 각 컬럼 내의 수렴 상태를 판정하기 위한 수렴 판정 장치이며, 1은 요소프로세서(3k)와 수렴 판정 장치(180)을 적분을 위한 호스트컴퓨터이고, 104는 선 방향에서 요소프로세서(3k)사이를 동작하기 위한 데이타를 변환하는 선 방향 내의 계산 정보 버스이며, 105는 컬럼 방향에서 요소프로세서(3k) 사이를 동작하기 위한 데이타를 변환하는 컬럼 방향 내의 계산 정보 버스이고, 181은 수렴 판정 장치(180)에 각 요소프로세서(3k)에 의해 수렴 플래그 출력을 전송을 위한 수렴 플래그 정보 버스이며, 182는 호스트컴퓨터에 각 수렴 판정 장치(180)의 수렴 정보를 전송을 위한 수렴 정보 버스이다.
다음, 동작을 설명할 것이다.
각 요소프로세서(3k)가 그들 내부에서의 계산 결과에 대하여 반복하는 각각의 계산이 각 스텝, 또는 각각의 계산의 소정의 다수 스텝을 위해 계산의 수렴을 판정하여, 수렴되면, 예를들어, 수렴 플래그 정보 버스(181)에 1과 같은 수렴 판정 플래그를 출력한다.
수렴 판정 장치(180)는 각각의 요소프로세서(3k)로부터 출력되는 수렴 판정 플래그의 정보를 모으며, 그리고, 각각의 수렴 정보 판정 장치(180)에 의해 모여진 모든 요소프로세서(3k)가 수렴되었다고 판정될 때, 수렴 정보 버스(182)에 수렴 정보를 개별적으로 출력한다.
그리고, 마지막으로, 호스트컴퓨터(1)에 동작을 종료하도록 모든 수렴 정보 버스(182)로부터 흡수된 모든 요소프로세서(3k)의 수렴 정보로부터 전체 부분의 수렴을 판정한다.
이러한 방법으로 시스템을 구성하는 것에 의해, 요소프로세서(3k)는 병렬로 동작을 완수하고 각 동작이 분산되지 않아 동작 속도를 증가시킬 수 있다.
이 실시예에서 수렴 판정 장치(180)은 선에 의해 그룹 내에서 격자 형상으로 배열된 요소프로세서를 분할하고 이 그룹의 수렴 정보를 제어하며, 컬럼 또는 임의로 그룹을 형성하는 지의 여부와 관계 없이 동일한 효과를 얻을 수 있다.
다음에, 본 발명의 32번째 실시예를 설명한다.
제49도는 시뮬레이션과 수렴을 판정하기 위한 처리 사이의 상호 종속 관계를 더욱 배제하여 시뮬레이션의 속도를 개선한 본 발명의 실시예를 나타내는 다중 프로세서의 구성도이다.
상기 도면에서, 3k는 동작은 실행하기 위한 요소프로세서이고, 180과 180a은 각각의 요소프로세서(3k)에 의해 출력된 수렴 플래그의 정보에 기인하는 각 컬럼 내의 수렴 상태를 판정하기 위한 수렴 판정 장치이며, 1은 요소프로세서(3k)와 수렴 판정 장치(180)을 적분을 위한 호스트컴퓨터이고, 104는 선 방향에서 요소프로세서(3k)사이를 동작하기 위한 데이타를 변환하는 선 방향 내의 계산 정보 버스이며, 105는 컬럼 방향에서 요소프로세서(3k)사이를 동작하기 위한 데이타를 변환하는 컬럼 방향 내의 계산 정보 버스이고, 181은 수렴 판정 장치(180)에 각 요소프로세서(3k)의 수렴 상황을 나타내는 수렴 플래그를 전송을 위한 수렴 플래그 정보 버스이며, 182는 호스트컴퓨터 내의 각 수렴 판정 장치(180) 사이를 접속하고 상기 수렴 판정 장치(180)의 수렴 정보를 전송하기 위한 수렴 정보 버스이다.
이러한 구성에 있어서, 수렴 판정 장치(180)은 상호 인접하는 수렴 판정 장치 사이에서 정보를 오직 한 방향으로 전송하는 방법으로 수렴 정보 버스(182)를 배열한다.
그리고, 호스트컴퓨터에서 가장 먼 수렴 판정 장치에 의해 제어되는 모든 요소프로세서(3k)에서의 계산이 수렴될 때에 그것들은 수렴 정보의 전송을 시작한다.
인접하는 수렴 판정 장치(180)로부터의 수렴 정보와 스스로 제어되는 모든 요소프로세서(3k)내에서의 계산의 수렴에 관한 수렴 판정 장치(180)의 판정이 준비될 때 다른 수렴 판정 장치(180)은 수렴 정보를 전송한다.
이와 같이 배열함으로써, 호스트컴퓨터(1)에 가장 가까운 수렴 판정 장치(180)가 수렴정보를 호스트컴퓨터(1)에 내보낼 때에 호스트컴퓨터(1)는 즉시 그 점에서의 계산 완료를 판정할 수 있다.
이것은 요소프로세서(3k)와 호스트컴퓨터(1)내의 처리에 방해가 되지 않고 계산 속도를 더 증가시킬 수 있다.
본 실시예에서 수렴 판정 장치(180)는 격자 모양으로 배열된 요소프로세서를 한 줄씩 그룹으로 나누고 상기 그룹들의 수렴 정보를 제어하는 반면에, 이 그룹이 컬럼으로 만들어졌던 아무렇게나 만들어졌건 상관없이 당연히 같은 효과를 얻을 수 있다.
더우기 수렴 판정 장치(180)사이의 연결이 호스트컴퓨터(1)로부터의 거리에 상관없이 만들어졌어도 같은 효과를 얻을 수 있다.
다음으로, 본 발명의 제33실시예를 설명한다.
제32실시예의 설명과 같이, 요소 프로세서의 밖에 구성된 수렴 플래그 정보 버스를 통하여 수렴 플래그를 전송하면 통신 시간의 손실을 초래한다.
제50도는 수렴 플래그의 전송 시간을 줄이기 위하여 구현된 제33실시예에 따른 요소프로세서의 구조도이다.
더우기, 제51도는 제50도에서 지시된 요소프로세서로 구성된 멀티프로세서의 구조도이다.
제50도를 참조하면, 3m은 요소프로세서이다.
5는 처리 장치인데, 이는 요소프로세서(3m)내에서 계산을 수행하기 위한 처리 장치이다.
6은 처리 장치의 계산을 위해 필요한 계산 정보를 저장하기 위한 기억 수단인데 이는 요소프로세서(3m)내에 제공된다.
183은 수렴 판정 장치인데, 이는 요소프로세서(3m)내에 제공되고 요소프로세서(3m)내에 있는 처리 장치(5)의 수렴 상황과, 인접한 요소프로세서(3m)내의 수렴 환경과, 모든 요소프로세서(3m)의 수렴 환경을 판정하기 위한 수렴 판정 장치이다.
104는 선의 방향의 계산정보 버스인데, 이는 선 방향의 요소프로세서사이의 동작을 위한 데이타를 교환하기 위한 선의 방향의 계산정보 버스이다.
105는 컬럼 방향으로의 계산정보 버스인데, 이는 컬럼 방향의 요소프로세서(3m)사이의 동작을 위한 데이타를 교환하기 위한 컬럼 방향으로의 계산정보 버스이다.
181은 수렴 플래그 정보 버스인데, 이는 링 형태로 된 각각의 요소프로세서(3m)내의 수렴 판정 장치(183)를 연결함으로써 각각의 요소프로세서(3m)내의 수렴 판정 장치(183)에 수렴 플래그를 전송하기 위한 수렴 플래그 정보 버스이다.
182는 모든 요소프로세서(3m)의 수렴 판정 장치(183)중에서 적어도 하나와 호스트컴퓨터(1)와의 사이를 연결시킴으로써 모든 요소프로세서(3m)의 수렴 정보를 호스트컴퓨터(1)에 전송하기 위한 버스이다.
184는 내부 플래그 정보 버스인데, 이는 처리 장치(5)에 의해 출력된 수렴 플래그를 수렴 판정 장치(180)에 전송하기 위한 내부 플래그 정보버스이다.
106은 내부 플래그 정보 버스인데, 이는 계산에 필요한 데이타와 처리장치(5)와 메모리(6)사이의 계산 결과의 데이타를 교환하는 내부 플래그 정보 버스이다.
제51도에서, 1은 호스트컴퓨터인데, 이는 요소프로세서(3m,3k)를 전체적으로 제어하여 호스트컴퓨터이다.
예를들어, 각각의 처리 장치(5)는 각각의 반복의 각 스텝과 각 계산의 스텝의 회수에 대한 계산의 수렴을 판정하여, 수렴되면, 내부 플래그 정보 버스(184)를 통하여 수렴 판정 장치(183)에 수렴 판정 플래그를 '1'로 출력한다.
더우기, 각각의 요소프로세서(3k)의 수렴 판정 장치(183)는 수렴 플래그 정보 버스를 통하여 특정 링 형태로 연결된다.
수렴 판정은 소정의 특정 요소프로세서로부터 시작된다.
예를들어, 동시에 요소프로세서(3m)의 수렴 판정 장치(183)가 내부에 있는 처리 장치(5)로부터 수렴을 가리키는 내부 플래그 정보 버스를 받으면, 그것은 근접한 요소프로세서(3k)의 수렴 판정 장치(183)에 수렴 플래그 정보 버스를 통하여 수렴 판정 플래그를 '1'로 전송한다.
여기서, 링 형태로 접속되는 수렴 플래그 정보 버스(181)는 단방향으로의 정보전송 기능을 가지고 있다.
인접한, 요소프로세서(3k)의 상기 수렴 판정 장치(183)는 그것이 속해 있는 요소프로세서(3k)의 처리 장치로부터 내부 정보 플래그(=1)와, 인접한 각각의 프로세서(3m)의 수렴 판정 장치(183)로부터 수렴 플래그(=1)와의 논리곱(AND)을 취하여, 만일 그것이 참(=1)이면, 인접한 요소프로세서(3m)의 수렴 판정 장치(183)에 수렴 플래그 정보 버스(181)를 통하여 수렴 플래그 1을 더 보낸다.
링 형태로 연결된 각각의 수렴 판정 장치(183)는 그것들이 속한 요소프로세서(3k)의 처리 장치로부터의 내부 정보 플래그와, 인접한 요소프로세서(3k)의 수렴 판정 장치(183)로부터의 내부 플래그(=1)와의 논리곱(AND)을 취하는 동작들 수행하여, 만일 그것이 참(=1)이면, 수렴 플래그 정보 버스(181)의 순서대로 인접한 요소프로세서(3m)의 수렴 판정 장치(183)에 수렴 플래그 정보 버스를 통하여 수렴 플래그 1을 차례차례 더 보낸다.
끝으로, 수렴 플래그를 1로 처음으로 전송했던 요소프로세서(3m)의 수렴 판정 장치(183)에 수렴 플래그(=1)가 전송되는 때의 점에서, 수렴 판정 장치(183)는 요소프로세서(3k,3m)가 수렴되었는지 판정하고 수렴 정보 버스(182)를 통하여 수렴 정보(=1)를 호스트컴퓨터(1)에 보내어 계산을 완료한다.
이런 방법으로 배열함으로써, 수렴에 관한 정보의 저는 전송시간을 짧게 하여 계산속도를 올리는 것이 가능하다.
왜냐하면, 내부 플래그 정보 버스(181)가 각각의 요소프로세서(3m,3k)내부에 제공되기 때문이다.
위의 실시예에서 내보 정보 플래그와 수렴 플래그 정보와 수렴 정보는 '1' 또는 '0'의 논리값으로서 각각 설명되며, 수렴의 판정이 이루어지든 말든 어떤 값이라도 그것들에 주어진다.
더우기, 수렴 정보 버스(182)가 하나의 요소프로세서(3m)게 제공되어 모든 요소프로세서들의 내부에 그것을 설치할 필요가 없으면 괜찮다.
더우기, 어떠한 요소프로세서도 특정한 요소프로세서(3m)로 선택될 수 있다.
다음으로, 본 발명의 제34실시예에 관해 설명한다.
제52도는 모든 요소프로세서를 복수개의 그룹으로 묶고 수렴 플래그 정보 버스의 정보 전송 링크를 형성하여 각 그룹이 수렴 판정을 병렬로 할 수 있게 하기 위한 실시예를 가리키는 멀티프로세서의 구성을 나타내는 블럭도이다.
제5도에서, 181은 수렴 플래그 정보 버스인데, 이는 모든 요소프로세서를 복수개의 그룹으로 묶고 링 모양의 그룹으로 각각의 요소프로세서(3m,3k)내부에 있는 수렴 판정 장치(183)를 연결하여 수렴 플래그를 인접한 각각의 요소프로세서(3m,3k)내에 있는 수렴 판정 장치(183)에 전송하기 위한 수렴 플래그 정보 버스이다.
182는 수렴 정보 버스인데, 수렴 판정 장치(183)와 호스트컴퓨터(1)사이를 연결시킴으로써 각각의 그룹의 수렴 정보를 전송하고 각 그룹의 하나의 특정한 요소프로세서(3m)내에 제공되는 수렴 정보 버스이다.
각 그룹에서, 예를들어, 수렴 정보 버스(182)가 제공되는 특정한 요소프로세서(3m)의 수렴 판정 장치(183)는 수렴을 가리키는 내부 정보 플래그를 내부에 있는 처리 장치(5)로부터 받고, 수렴하면 동시에 수렴 플래그 '1'을 인접한 요소프로세서(3k)의 수렴 판정 장치(183)로 수렴 플래그 정보 버스를 통하여 전송한다.
여기서, 링 모양의 그룹으로 요소프로세서들의 수렴 판정 장치들(183)사이를 수렴 플래그 정보 버스(181)는 한 쪽 방향만으로 정보를 전송하는 기능을 가지고 있다.
인접한 요소프로세서(3k)의 상기 수렴 판정 장치(183)는 그것이 속한 요소프로세서(3k)의 처리 장치(5)로부터 내부 정보 플래그(=1)와, 인접한 요소프로세서(3m)의 수렴 판정 장치(183)로부터의 수렴 플래그(=1)와의 논리곱(AND)을 취하여, 그 것이 참(=1)이면, 인접하는 요소프로세서(3k)의 수렴 판정 장치(183)에 수렴 플래그 정보 버스(181)를 통하여 수렴 플래그 1을 수렴 플래그 정보 버스(181)의 연결 순서대로 차례차례 더 보내는 동작을 수행한다.
끝으로, 수렴 플래그를 1로 처음으로 전송했던 특정한 요소프로세서(3m)의 수렴 판정 장치(183)에 수렴 플래그(=1)가 전송되는 때의 점에서, 수렴 판정 장치(183)는 그룹 내에 있는 모든 요소프로세서(3)가 수렴되었는지 판정하고 수렴 정보 버스(182)를 통하여 수렴 정보(=1)를 호스트컴퓨터(1)에 보낸다.
호스트컴퓨터(1)는 모든 그룹으로부터 수렴 정보(=1)를 받았을 때의 점에서 모든 요소프로세서(3)의 계산이 수렴하는지를 판정하고 그 계산을 완료한다.
이 방법으로 구성함으로써, 각 그룹에 대한 수렴 판정이 병렬로 이루어지고, 수렴 판정에 걸리는 시간은 감소된다.
위의 실시예에서 수렴 판정 장치(183)가, 격자 모양으로 배열된 요소프로세서들을 그룹으로 나누어 상기 그룹의 수렴 정보를 제어하는 반면에, 이 그룹이 컬럼으로 만들어졌건 아무렇게나 만들어졌건 상관없이 당연히 같은 효과를 얻을 수 있다.
또한, 수렴 판정 여부가 수행되기만 하면 어떤 값이 얻어지더라도, 상기 실시예에서 내부 정보 플래그, 수렴 플래그 정보 및 수렴 정보는 각각 0 또는 1의 논리값으로 표시된다.
또한, 수렴 정보 버스 182가 하나의 요소프로세서 3m 내부에 제공되면 모든 프로세서에 수렴 정보 버스 182를 설치할 필요가 없다.
요소프로세서중 하나는 특정 요소프로세서 3m으로 선택될 수 있다.
다음은 본 발명의 제34실시예에 대해 설명될 것이다.
제53도는 수렴 판정이 병렬로 수행될 때 호스트컴퓨터내의 부하(load)감소를 실현하는 멀티프로세서를 구성하는 요소프로세서의 구조를 도시한 블럭도이다.
제54도는 제53도에서 지시한 요소프로세서로 구성된 멀티프로세서의 일반적인 구조도이다.
제53도에서, 181은 모든 요소프로세서 3k, 3p, 3q를 복수개의 그룹으로 모아 링모양의 그룹인 각각의 요소프로세서 내부에 있는 수렴 판정 장치(183)를 연결함으로써, 수렴 플래그를 인접한 각각의 요소프로세서내부에 있는 수렴 판정 장치(183)에 전송시키는 수렴 플래그 정보 버스이다.
182는 링모양으로 연결되고 각 그룹의 적어도 하나의 요소프로세서 3p, 3q로 구비된 수렴 정보 버스이며, 요소프로세서 3p, 3q의 수렴 판정 장치(183)가 구비된다.
186는 모든 그룹중에서 적어도 하나의 요소프로세서 3p 로 구비되고 요소프로세서 3p의 수렴 판정 장치(183)와 호스트컴퓨터(1)사이에 연결된 앤드 정보 버스이다.
제54도에 도시된 바와같이 그룹이 형성될 때 수렴 정보 버스(182)가 구비된 그룹내의 소정 요소프로세서 3p 수렴 판정 장치(183)는 수렴 판정을 시작하며, 처리 장치 5 내부로부터 수렴를 지시하는 내부 정보 플래그를 수신하자마자, 예를들어, 수렴가 도달하면, 수렴 플래그 1을 수렴 플래그 정보 버스를 통해 인접 요소프로세서 3k의 수렴 판정 장치(183)에 전송한다.
여기서, 링모양으로 된 각그룹내의 요소프로세서 3k, 3p의 수렴 판정 장치(183)를 연결하는 수렴 플래그 정보 버스(181)는 한방향으로만 정보를 전송하는 기능이 제공된다.
인접 요소프로세서 3k의 상기 수렴 판정 장치(183)는 해당 요소프로세서 3k의 처리 장치로부터 내부 정보 플래그(=1)와 인접 요소프로세서 3p, 3q의 수렴 판정 장치(183)로부터 수렴 플래그(=1)의 논리곱(AND)을 구한다.
그리고 그 값이 참이라면 (=1), 수렴 플래그 정보 버스(181)를 통해 인접 요소프로세서 3k의 수렴 판정 장치(183)에 수렴 플래그 1을 추가적으로 전송한다.
링모양으로 연결된 각 수렴 판정 장치(183)는 해당 요소프로세서 3k의 처리 장치로부터의 내부 정보 플래그(=1)와 인접 요소프로세서 3k의 수렴 판정 장치(183)으로부터의 수렴 플래그(=1)의 논리곱(AND)을 구하는 절차를 수행하여, 그 값이 참이라면 (=1), 수렴 플래그 정보 버스를 통해 인접 요소프로세서 3k의 수렴 판정 장치(183)에 수렴 플래그 1을 전송하고 수렴 플래그 버스(181)의 연결순서로 서로 연결한다.
그리하여, 수렴 플래그 1을 최초로 전송한 특정 요소프로세서 3p, 3q의 수렴 판정 장치(183)로 수렴 플래그(=1)가 복귀되는 시점에 수렴 판정 장치(183)는 그룹으로 수렴된 요소프로세서 3p 또는 3q를 판정한다.
또한, 엔드 정보 버스가 제공된 요소프로세서 3p내에 있는 특정 요소프로세서의 수렴 판정 장치(183)가 수렴된 해당 요소프로세서 3p, 3k가 수렴됐다고 판정될 때, 요소프로세서 3p, 3k는 링모양으로 연결된 수렴 정보 버스를 통해 수렴 정보(=1)를 전송한다.
여기서, 링모양의 그룹으로 된 요소프로세서 3p, 3q의 수렴 판정 장치(183)사이를 연결하는 수렴 플래그 정보 버스(182)는 한 방향으로만 정보를 전송하는 기능이 제공된다.
소정 그룹의 요소프로세서 3p는 인접 그룹의 수렴 정보 버스(182)가 제공된 요소프로세서 3q에 정보를 전송한다.
상기 인접 그룹의 수렴 정보 버스(182)가 제공된 요소프로세서 3q의 수렴 판정 장치(183)는 해당 그룹의 수렴 정보(=1)와 인접 요소 그룹의 수렴 정보(=1)의 논리곱(AND)을 구하여, 그 값이 참이라면 (=1), 수렴 정보 1을 수렴 플래그 정보 버스(182)를 통해 인접 요소프로세서 3q의 수렴 판정 장치(183)에 전송한다.
상술한 바와 같이, 링모양으로 연결된 각각의 수렴 판정 장치(183)는 해당 그룹의 수렴 정보(=1)와 인접 그룹으로부터 수렴 정보(=1)의 논리곱(AND)을 구하는 절차를 수행하여, 그 값이 참이라면 (=1), 수렴 정보 1을 인접 그룹의 수렴 정보 버스(182)가 제공된 요소프로세서 3q의 수렴 판정 장치(183)에 수렴 플래그 정보 버스(182)를 통해 전송하고 수렴 정보 버스(182)의 연결순서로 서로 연결한다.
마지막으로, 수렴 플래그 1을 최초로 전송한 소정 요소프로세서 3p의 수렴 판정 장치(183)로 수렴 정보 (=1)가 복귀되는 시점에 수렴 판정 장치(183)는 그룹으로 수렴된 모든 요소프로세서 3k, 3p, 3q를 판정하고 엔드 정보 버스(186)를 통해 호스트컴퓨터(1)에 앤드 정보를 전송한다.
호스트컴퓨터(1)는 앤드 정보(=1)를 수신하는 시점에 수렴된 모든 요소프로세서 3k, 3p, 3q의 계산(computation)을 판정하여 컴퓨터 계산을 완료한다.
이러한 방식으로 시스템을 구성시킴으로써, 수렴 판정이 병렬로 행해지는 시점에서 호스트컴퓨터의 부하를 감소시킬 수 있으며 또한 계산 속도를 증가시킬 수 있다.
본 실시예에서, 수렴 판정 장치(180)는 격자 모양으로 배열된 요소프로세서를 라인마다 그룹으로 구분하고 상기 그룹의 수렴 정보를 조정함으로써, 그룹이 칼럼 단위로 또는 마구잡이로 형성되었는지의 여부와 상관없이 동일한 효과를 얻을 수 있다. 또한 수렴 판정 여부가 수행되기만 하면 어떤 이 얻어지더라도, 상기 실시예에서 내부 정보 플래그, 수렴 플래그 정보 및 수렴 정보는 각각 논리값 0 또는 1로 표시된다.
또한, 수렴 정보 버스(182)가 하나의 요소프로세서 3p 또는 3q에 제공되면 모든 요소프로세서 에 수렴 정보 버스를 설치할 필요가 없으며, 앤드 정보 버스(186)가 하나의 요소프로세서 3p에 제공되며 모든 요소프로세서에 앤드 정보 버스를 설치할 필요가 없어진다.
또한, 그룹내의 요소프로세서중의 하나가 특정 요소프로세서 3p, 3q로서 선택될 수 있으며, 그룹을 대표하는 요소프로세서가 측정 요소프로세서 3p로서 선택될 수 있다.
다음은 본 발명에 따른 36실시예에 대해 설명된다.
멀티프로세서에서 계산이 수행될 때, 매우 드물긴 하지만, 비안정점(비수렴점)이 순회하는 경우가 발생하게 되어 소위 변동 현상이라 불리우는 유형이 검출된다.
변동 현상의 검출은 모든 요소프로세서에서 수렴를 일단 확인한후 2번째 시간동안 수렴을 판정함으로써 수행될 수 있고 이는 공정하고 매우 정확한 수렴을 판정할 수 있도록
구체적으로, 엔드 플래그는 소정 경로에 따라 전체 수렴의 판정을 형성하기 위해 이동된다.
제55도는 엔드 플래그를 이동시키는 경로의 예를 도시한 개념도로서, 190 및 191은 2차원의 공간을 숫자로 표시한 결과로서 얻어진 격자점이다.
또한, 각각의 격자점을 연결하는 화살표 라인 192는 엔드 플래그가 이동된 경로를 지시한다.
각각의 격자점에서 수렴를 판정하는 처리가 설명될 것이다.
인접 격자점으로부터 엔드 플래그의 도착후 첫 번째 시간동안 수렴가 확인될 때 엔드 플래그를 연속 격자점으로 이동된다.
제56도는 엔드 플래그를 인접 격자점으로 전달하기 위한 각 격자점에 대한 플로우 챠트이며 엔드 플래그의 출발점으로서 기능하는 격자점(190)의 처리는 제외된 것이다.
제56도에 도시된 바와같이, 우선, 엔드 플래그를 전달하는 메세지가 인접 격자점으로부터 도착되었는지의 여부가 판정되며 (스텝 ST20), 인접 격자점으로부터 엔드 플래그를 전달하는 메세지가 도착되면 수렴 판정 장치는 자체의 격자점의 수렴 판정 장치를 진행하며, 자체 격자점의 처리가 수렴에 도달할 때까지 대기하며, (스텝 ST21) 수렴가 도달된 시점에 엔드 플래그를 전달하는 메세지를 정해진 경로를 통해 다음의 격자점에 전송한다(스텝 ST22).
제57도는 엔드 플래그의 이동을 위한 출발점으로서 기능하는 격자점에서 엔드 플래그를 전달하는 플로우 챠트를 나타낸다.
챠트에 도시된 바와같이, 수렴 판정 장치는 엔드 플래그의 출발점으로서 기능하는 격자점에서만 자체의 격자점의 처리 수렴을 판점한다. (스텝 ST25) 그리고, 수렴가 도달되면 엔드 플래그를 전달하는 메세지를 제55도에서 지시한 경로를 통해 다음의 격자점에 전송한다(스텝 ST26).
상술한 바와같은 모든 격자점을 통해 통과한 후, 엔드 플래그는 호스트컴퓨터에 전송되며 수렴가 확인된다.
제35실시예에 따른 멀티프로세서에서는 일단 수렴가 확인된 후에는 상기 과정의 반복되어 수렴의 판정이 확실해진다.
상술한 바와같이, 본 실시예에서는 각 격자점에 있는 처리의 엔드 플래그를 전달하는 메세지의 입력으로 자체의 격자점의 수렴 판정 처리가 시작되고, 자체의 격자점의 처리에 수렴가 도달되면 수렴 판정 플래그를 전달하는 메세지가 출력됨으로써 어떠한 비안정점이 존재한다 하더라도 전체 시스템의 수렴를 정확하게 판정하는 것이 가능하는 방식이 실현된다.
또한, 본 실시예에서는 엔드 플래그의 출발점으로서 기능하는 격자점에 다른 자체의 격자 처리용 수렴 판정의 처리가 일정하게 진행되는 경우가 설명되며 수렴 판정의 처리가 호스트컴퓨터로부터 시작된다 할지라도 동일한 효과를 얻을 수 있다.
이러한 정보처리시스템에서 방정식의 해답은 각 격자점에 할당된 메모리등과 같은 저장수단에 분포됨으로써 저장된다.
그러한 이유로, 별도로 저장된 계산 결과를 수렴시키고, 투시등과 같은 처리를 수행하고, 상기 컴퓨터 계산 결과를 모니터에 디스플레이하는 것이 필요하다.
본 실시예에서는 호스트컴퓨터의 각 격자점에 분포된 방정식의 해답을 수렴하는 방법이 설명된다.
제36실시예에서는 전체 설정에서 계산의 완료여부에 대한 수렴 판정 방법에 대해 설명된다.
즉, 수렴 판정 장치는 정해진 경로에 따른 순서로 엔드 플래그를 호스트컴퓨터에 전송하며 모든 격자점을 완전히 순회한 후 전체 시스템의 수렴을 나타내는 메세지를 호스트컴퓨터에 전송한다.
호스트컴퓨터는 상기 메세지를 수신하여 계산의 완료를 입증하는 처리를 수행한다.
제56도는 각 격자점에 있는 수렴 판정의 처리와 미분방정식에 대한 해답의 전송과의 관계를 보여주는 플로우 챠트이다.
다음은 수렴의 판정 절차 및 제56도를 근거로 한 미분방정식에 대한 해답의 전송에 대해 설명된다.
첫째, 각 격자점은 인접 격자점으로부터 엔드 플래그를 수신한다(스텝 ST20).
그리고 나서, 자체의 격자점의 처리의 수렴을 판정하며 (스텝 ST21), 수렴의 완료후, 소정 경로를 따라 엔드 플래그를 호스트컴퓨터에 전송하면서 (스텝 ST22)에 동시에 각 격자점에 있는 계산 결과 즉, 미분방정식의 해답을 호스트컴퓨터에 전송한다.
또한, 제58도는 호스트컴퓨터로 전송하는 미분방정식의 해답을 갖는 메세지 패킷 PAC의 포맷을 나타낸다.
메세지 패킷의 필드는 레프트 데이타(제1연산수) pa3과, 라이드 데이타(제2연산수)pa4와, 메세지 패킷을 전송하기 위해 요소프로세서 수를 저장하는 지정 PE 수 pa1과, 다음에 수행되는 명령 어드레스를 저장하는 지정포인트 수 pa2의 각 필드로 구성된다.
본 발명의 실시예에 다른 메세지 패킷에서 레프트 데이타 필드, 라이트 데이타 필드, 지정 요소프로세서 수 및 지정 포인트 수는 다음과 같이 주어진다.
레프트 데이타 필드는 미분방정식의 해답에 관계된 격자점에서의 값(기능값)이며, 라이트 데이타 필드는 격자점에 관계된 검증수이다(identification number).
지정 요소프로세서(PE)수는 호스트컴퓨터에 의해 요소프로세서에 할당된 수이며 지정 포인트 수는 그에 다른 결과 수이다.
그 결과 수는 소정 값이며 메세지 패킷이 각 격자점에서 계산 결과를 저장한다는 것을 나타낸다.
상기 메세지 패킷이 호스트컴퓨터에 의해 수신되면 시스템은 다음의 기능을 수행한다:
(1) 지정 포인트 수의 필드를 검사하고, 값이 결과 수이므로 관계된 메세지 패킷이 각 격자점에서의 계산 결과라는 것을 확인한다.
(2) 라이트 데이타 필드에 저장된 격자점의 수 및 레프트 데이타에 저장된 미분방정식의 해답을 판독한다.
(3) 격자점 수로부터 소정 방법에 의해 어드레스를 정하고 메모리등과 같은 저장수단에 관계된 격자점의 미분방정식의 해답 값을 저장한다.
지금까지 서술한 바와 같이, 본 실시예는 각 격자점이 각 격자점에서의 계산 수렴을 확인하자마자 자체의 격자점에서의 계산 결과(미분방정식의 해답)를 호스트컴퓨터에 전송하며, 미분방정식의 풀이가 완료되었다는 것이 확인된 시점에 호스트컴퓨터에 최종 결과 데이타를 준비시키는 효과를 갖는 방식이 실현된다.
한편, 제29실시예는 하나의 요소프로세서에 하나의 격자점(프로세서)의 처리 할당을 전제로 하며, 제25-28 실시예는 복수개의 격자점 처리가 하나의 동일한 요소프로세서에 할당되고 격자점사이의 데이타 변동이 하나의 동일한 요소프로세서 내부의 데이타 메모리를 통해 수행되는 것을 전제로 한다.
다음은 각 실시예에 대해 상세하게 설명된다.
본 발명의 제37실시예에 대해 설명된다.
가능한 비안정점(비수렴점)의 검출 계산의 또다른 방법은 모든 격자점을 통해 통과하는 복수개의 경로를 통해 엔드 플래그를 전송함으로써 다중 방식으로 모든 격자점의 수렴를 확인하는 수렴의 판정 방법이다.
구체적으로, 수렴의 판정은 세로 및 가로의 두방향으로 엔드 플래그를 교환하여 다중 방식으로 수행될 수 있다.
제59도는 본 실시예에 따른 엔드 플래그의 전송 경로를 보여주는 개념도이다.
제59도에서, 193,194 및 195는 2차원의 공간의 직각 격자를 나타내며 실선으로 지시한 화살표는 제1엔드 플래그(196)의 전송경로를 나타내며 점선으로 지시한 화살표는 제1엔드 플래그(197)의 전송 경로를 나타낸다.
본 실시예에서 비수렴점의 순환은 제1 및 제2엔드 플래그의 전송 경로를 서로 직각으로 교차시킴으로써 검출될 수 있다.
제60도는 인접 격자점에 엔드 플래그를 전달하는 각 격자점의 플로우 챠트로서 엔드 플래그의 출발점으로서 기능하는 격자점(193,195)의 처리는 제외된다.
제60도에 도시된 바와같이, 우선, 수렴의 판정 메세지가 인접 격자점으로부터 도착되었지의 여부는 판정된다(스텝 ST30).
엔드 플래그를 전달하는 메세지가 인접 격자점으로부터 도착하면 격자점은 자체 격자점의 수렴 판정 처리를 진행하며 자체 격자점의 처리가 수렴에 도달할 때까지 대기하며 (스텝 ST31), 수렴가 도달된 시젊에서 도착된 엔드 플래그가 제1전송 경로에 해당되는지 제2전송 경로에 해당되는지의 여부를 판정하고, 엔드 플래그를 전달하는 메세지를 정해진 바람직한 경로를 통해 다음 격자점에 전송한다(스텝 ST32).
제61도는 엔드 플래그의 출발점으로서 기능하는 격자점에 있는 엔드 플래그의 전송에 대한 플로우 챠트이다.
제61도에 도시된 바와같이, 엔드 플래그의 출발점으로서 기능하는 격자점은 먼저 차제의 처리 수렴를 판정하며 (스텝 ST40), 수렴가 도달되면 수렴 메세지의 제1 또는 제2전송 경로에 해당되는 플래그를 저장한다(스텝 ST41).
그리고 나서, 엔드 플래그를 전달하는 메세지를 제59도에 지시된 경로를 통해 다음의 격자점에 전송한다(스텝 ST32).
이때, 격자점은 엔드 플래그에 해당하는 제1경로 또는 제2경로에 상응하는 값을 엔드 플래그의 값으로 저장한다.
이 값을 기본으로 하여 기타 격자점은 도착 엔드 플래그의 경로를 정할 수 있다.
상술한 바와같이, 수렴를 판정하는 플래그를 전송하는 2개이상의 경로가 제공되어 비안정점이 존재한다 하더라도 전체 시스템에 수렴를 정확히 판정할 수 있도록 한다.
본 실시예에서 플래그 값은 2개 이상의 경로에 엔드 플래그가 전송된다는 것을 지시하는데 이용되며, 엔드 플래그를 처리하는 프로그램이 별도로 제공될 때 동일한 효과가 얻어질 수 있으며 그리하여 수렴를 판정하는 프로그램은 각 엔드 플래그의 도착 시간에 엔드 플래그의 각 전송경로를 향해 시작된다.
다음은 본 발명의 제38실시예에 대해 설명된다.
비안정점이 존재할 가능성이 있는 경우 멀티 프로세서를 이용하여 수렴 계산과정에서 비안정점을 검출하는 절차에 대해 설명된다.
먼저, 제35실시예와 동일한 방식으로 격자점은 소정 경로를 따라 모든 격자점을 통해 엔드 플래그를 호스트컴퓨터에 전송한다.
그리고 나서, 호스트컴퓨터는 모든 격자점의 처리를 멈추는 메세지를 전송하며 그 결과로서, 모든 처리 동작이 중단된다.
그후, 다시 수렴을 검사하여 비안정점의 순환을 검출한다.
이러한 방법으로, 정확한 수렴 판정이 실현될 수 있다.
제62도는 본 실시예에 따른 각 격자점의 수렴 판정에 관한 처리 항목을 나타내는 플로우 챠트이다.
각 격자점의 수렴 판정에 관한 처리는 제62도를 근거로 설명된다.
본 실시예에서, 수렴 판정 결과를 저장하는 메모리 또는 레지스터가 사용된다.
스텝 ST50에서, 격자점은 인접 격자점에서 엔드 플래그를 전달하는 메세지가 도착되었는지의 여부를 판정한다.
엔드 플래그를 전달하는 메세지가 도착되면, 격자점은 자체 격자점의 수렴 판정 장치를 진행하고 자체 격자점의 수렴에 도달할 때까지 대기한다(스텝 ST51).
그리고 나서, 수렴가 도착된 시점에 제 55도에 도시된 소정 경로를 통해 다음의 격자점에 엔드 플래그를 전달하는 메세지를 전송한다(스텝 ST53).
이때, 격자점은 상기 메모리를 클리어하고 (스텝 ST52) 수렴 판정 처리에 대한 프로그램을 시작한다(스텝 ST54).
수렴 판정 처리 프로그램은 자체 격자점의 처리가 비수렴 상태에 있는지의 여부를 판정한다.
판정 결과, 비수렴 상태로 판정되면 상기 메모리에 자체 격자점의 비수렴 상태를 나타내는 플래그를 기록한다.
또한, 엔드 플래그를 전달하는 메세지의 출발점으로서 기능하는 격자점에서 수렴을 판정하는 처리는 제36도에 도시된 바와 같이, 제36실시예의 엔드 플래그를 전달하는 메세지의 출발점으로서 기능하는 격자점의 처리과 기본적으로 동일하다.
격자점은 상기 메모리를 클리어하고 (스텝 ST61)상기 처리에 추가로 수렴 판정을 처리하는 프로그램을 진행한다(스텝 ST63).
수렴 판정 처리 프로그램은 각 격자점의 처리가 비수렴 상태에 있는지의 여부를 판정하고 비수렴 상태에 있으면, 상기 메모리에 자체 격자점의 비수렴 상태를 나타내는 플래그를 기록한다.
그러나 나서, 엔드 플래그를 전달하는 메세지가 호스트컴퓨터에 전송된다.
엔드 플래그를 전달하는 메세지의 수신후 호스트컴퓨터는 소정 격자점의 처리를 멈추는 메세지를 전송한다.
처리를 중단하는 상기 메세지를 수신한 격자점은 처리를 중단하며 동시에 처리를 중단하는 메세지를 다음 격자점에 소정 경로를 따라 전송한다.
처리를 중단하는 메세지를 수신한 격자점은 동일한 중단 동작을 수행한다.
모든 격자점의 처리가 끝난 후, 호스트컴퓨터는 각 격자점에 할당된 상기 메모리를 독출하며, 독출한 모든 결과가 0일 경우 옵젝트 계산이 수렴된다는 것을 의미한다.
상기 독출 결과가 0이 아닐 경우 상기의 처리는 반복된다.
제64도는 처리를 중단하기 위한 격자점의 플로우 챠트이다.
호스트컴퓨터는 소정 격자점에서만 처리를 중단하는 메세지를 전송한다.
소정 격자점은 처리를 중단하는 메세지의 도착여부를 판정하며 (스텝 ST70), 처리 중단하는 메세지가 도착된 경우 처리를 중단한다(스텝 ST71).
본 실시예에서는 소정 격자점에서만 처리를 중단하는 메세지가 호스트컴퓨터에서 전송되는 경우에 대해 설명되며, 이 메세지가 모든 또는 복수개의 격자점에 동시에 또는 일련으로 전송된다 하더라도 동일한 효과가 얻어질 수 있다.
또한, 본 실시예에서는 격자점에서 처리가 중단되는 경우에 대한 설명되며, 본 발명에 따른 멀티프로세서를 구성하는 요소프로세서에 인터럽트 신호를 수신하는 메카니즘이 제공될 때 호스트컴퓨터에서 발생된 인터럽션으로 인해 상기 요소프로세서에 처리가 중단된다 하더라도 동일한 효과가 얻어질 수 있다.
본 실시예에로서는 격자점의 비수렴 상태를 나타내는 플래그를 저장하는 메모리가 각 격자점에 할당된 경우에 대해 설명되며, 적어도 1개의 메모리가 시스템에 존재한다면 동일한 효과가 얻어질 수 있다.
또한, 상기 멀티프로세서를 구성하는 요소프로세서가 레지스터를 갖는 구조라면 레지스터의 사용으로 동일한 효과를 얻을 수 있다.
다음은 본 발명의 제39실시예에 대해 설명된다.
제36-38실시예에서는 수렴 상태에 도달한 자체 격자점의 처리를 나타내는 플래그를 전달하는 메세지가 소정 경로를 따라 이동하여 호스트컴퓨터에 전송되면 호스트컴퓨터는 제37실시예에 설명된 변동 현상을 검출하는 처리를 시작하는 경우에 대해 설명된다.
매우 드물긴 하지만, 경계선등에 의해 장시간동안 수렴 상태가 도달되지 않는 경우도 있다.
다음은 시스템이 상술한 바와같이 일정한 불안정성의 상태에 있는 경우에서도 작동가능하는 정보처리시스템의 수렴의 판정 방법에 대해 설명된다.
상기 수렴가 처리 기간이 호스트컴퓨터의 타이머 또는 시스템등에 설치된 감시 타이머로 측정된 후 일정기간 동안 호스트컴퓨터에 전송되지 않은 경우에, 각 격자점의 처리 프로그램은 다음의 처리 (1),(2)를 수행한다:
(1) 각 격자점의 수렴 판정 기준을 보통보다 완화시키기
(2) 전송되는 메세지에 완화된 판정기준을 이용하여 수행된 판정을 나타내는 플래그를 부착하기
처리 (1),(2)를 수행함으로써 시스템이 일정한 안정성의 상태로 되는 것을 방지있다.
다음은 제37실시예를 근거로 하여 처리(1),(2)를 실현하는 실시예 대해 설명된다.
제65도 및 66도는 처리(1),(2)를 실현하는데 필요한 각 격자점의 수렴 판정에 대한 처리의 플로우 챠트이다.
제65도 및 66도는 제36실시예에서 설명된 제56도 및 57도에 각각 대응한다.
제65도는 플래그의 출발점으로서 기능하는 격자점이외의 격자점에 있는 수렴 판정에 대한 처리를 보여주는 플로우 챠트이다.
제65도에 도시된 바와같이, 엔드 플래그를 전달하는 메세지가 인접 격자점로부터 도착됐는지의 여부가 판정된다(스텝 ST80).
상기 메세지가 도착되면 격자점은 판정 기준의 완화를 나타내는 플래그가 그 메세지에 부착됐는지의 여부를 판정한다(스텝 ST81).
이 메세지에 판정 기준의 완화를 나타내는 플래그가 없다면 수렴 판정은 정상적인 판정 기준에 따라 수행되고 (스텝 ST82), 수렴 판정이 수행됐는지의 여부가 확인된다(스텝 ST83).
수렴가 도달되면 격자점은 인접 격자점에 수렴 메세지를 전송한다(스텝 ST84).
수렴 메세지가 인접 격자점으로부터 입력된 후 이 메세지가 완화된 관정 기준을 이용하여 판정이 수행되었다는 것을 나타내는 플래그를 갖는 다는 것이 확인되면 격자점은 미리 설정된 제2기준을 이용하여 자체 격자점의 수렴 판정을 수행한다(스텝 ST85).
그리고 나서, 판정 기준의 완화를 나타내는 플래그를 부착하여 다음 격자점에 그 메세지를 전송한다(스텝 ST87).
제66도는 플래그의 출발점으로서 기능하는 격자점에서 수렴의 판정을 위한 처리를 보여주는 플로우 챠트이다.
제66도는 격자점이 호스트컴퓨터로부터 수렴 판정기준의 변동을 나타내는 메세지를 수신하는 경우 미리 설정된 제2기준을 이용하여 자체 격자점의 수렴 판정을 수행하고 나서, 판정 기준의 완화를 나타내는 플래그를 부착하여 다음 격자점에 상기 메세지를 전송하는 절차를 보여준다.
격자점은 수렴 판정 기준을 변동시키는 지시 메세지가 호스트컴퓨터로부터 도착됐는지의 여부를 판정한다(스텝 ST90).
지시 메세지가 도착되면 격자점은 스텝 ST91에서 그 판정 기준을 변화시키고 자체 격자점의 처리가 정해진 기준으로 컨버전되었는지의 여부를 판정한다(스텝 ST92).
자체 격자점의 처리가 정해진 기준으로 컨버젼되면 수렴 판정 기준이 변동되었는지의 여부가 판정된다(스텝 ST93).
수렴 판정 장치의 변동이 없으면 격자점은 인접 격자점에 수렴 메세지를 전송하며 (스텝 ST95), 수렴 판정 기준이 변동된 경우 판정 기준의 완화를 나타내는 플래그를 부착하여 (스텝 ST94) 인접 격자점에 수렴 메세지를 전송한다.
제37 및 38실시예에서는 상기 처리(1),(2)을 실현하는 기능이 제39실시예와 동일한 방식으로 보안될 수 있다.
다음은 본 발명의 제40실시예에 대해 설명된다.
본 실시예는 멀티 프로세서를 이용한 수렴의 계산에서 비안정점을 검출하는 수렴의 판정 방법이 설명된다.
본 실시예에서는 각 격자점에서, 계산의 수렴 여부를 판정하는 수렴 판정 장치 프로그램을 판정하는 수렴와 수렴 형태를 저장하는 레지스터(CREG) 또는 메모리가 구비된 시스템이 구현된다.
CREG는 최적의 시기에 외부로부터 0으로 클리어될 수 있으며 해당 격자점의 계산이 컨버전되지 않았다는 것이 판정될 때 1로 셋팅된다.
전체 시스템의 수렴 판정은 하기에 서술한 절차에 의해 수행된다. 제67도는 그 절차에 해당하는 플로우 챠트로서, 다음과 같은 과정이 진행된다.
(1) 모든 격자점에 해당하는 CREG 레지스터를 0으로 클리어한다(스텝 ST100).
(2) 모든 격자점의 1시간 처리를 종료하는데 충분한 시간을 대기한다(스텝 ST101).
(3) 상기 레지스터를 0으로 유지하기 위해 모든 격자점에 있는 상기 레지스터를 독출한다(스텝 ST102).
(4) 하나의 격자점에서만 1'이 독출되는 경우에도 상기 처리 (1)~(3)을 반복한다. 모든 격자점에 대한 상기 레지스터의 값이 0이 되면 처리를 종료한다(스텝 ST103).
본 실시예에서 1은 수렴가 도달되지 않은 것으로 판정된 수렴 판정 프로그램의 경우 상기 CREG레지스터에 기록되며, 이 처리는 상기 CREG 레지스터를 동작시키기 위해, 시작부터 상기 프로그램에 포함되거나 해당 격자점의 계산의 수렴후 프로그램을 재기록함으로써 상기 판정 프로그램을 시작하여 수행된다.
또한, 본 실시예에서는 격자점의 계산의 수렴 상태를 저장하는 저장수단으로서 레지스터가 각 격자점에 할당되는 경우에 대해 되며 저장 수단과 같은 메모리를 사용하여 동일한 효과를 얻을 수 있다.
또한, 본 실시예에서는 레지스터 메모리 요소가 각 격자점에 할당되는 경우에 대해 설명되며, 하나의 상기 레지스터나 메모리로도 전체 시스템에 충분할 것이다.
상기 저장수단을 각 요소프로세서에 할당하는 것은 본 발명에 따른 수렴 판정 방법이 멀티 프로세서로 구성된 시스템의 경우에 더욱 효과 적이다.
상술한 바와같이 비수렴 상태를 저장하는 저장 수단과, 상기의 모든 저장 수단을 0으로 클리어하는 수단과, 상기 저장 수단의 값을 모두 0으로 하는 상기 저장수단에 저장된 항목을 독출하는 수단이 구비된 본 실시예에서는 몇개의 비수렴 포인트가 존재하는 경우에서도 에러없이 수렴 판정이 가능하다.
또한 각 격자점의 처리 프로그램은 해당 격자점이 본 실시예의 비수렴 상태에 있을때 레지스터(CREG)에 1'을 기록한다.
1의 추가로, CREG의 값을 최종적으로 독출함으로써 많은 수의 격자점이 비수렴 상태에 있음을 알 수 있다.
그러한 방식으로, 해당 격자점이 비 수렴 상태에 있는 경우 CREG의 항목에 1을 추가하는 방법으로 각 격자점에 대한 처리 프로그램이 구성된다면, CREG의 최종값을 근거로 하여 수렴 판정기준을 변동하고, 격자점등의 무분별한 분포를 조정함으로써 처리 시간을 단축할 수 있다.
제35-39실시예에 따른 본 발명은 복수개의 프로세서를 갖는 보통의 멀티 프로세서에 대해 효과적일 뿐만 아니라 수렴 판정시에도 독립적으로 요소프로세서를 계산할 수 있는 효과를 가지며 제1실시예의 요소프로세서등과 같은 요소프로세서의 독립적인 동작을 허용하는 정보처리시스템을 이용하여 해법(solution)의 정확성을 개선할 수 있는 효과를 갖는다.
다음은 본 발명의 제4실시예에 대해 설명된다.
제71도는 본 발명의 제41실시예에 따른 인접 요소프로세서사이의 상호 데이타 통신을 보유하는 데이타 메모리와 I/O 제어기로 구성된 네트워크 구조를 보여주는 블럭도이다. 제71도에서, 3t는 어떠한 데이타 메모리 또는 데이타 메모리 내부와의 통신을 위한 I/O 제어기를 갖지 않는 요소프로세서이며, 200은 네트워크에 배열된 데이타 메모리이며, 201은 요소프로세서 3t와 복수개의 데이타 메모리(200)사이에 액세스 경로를 정하고 요소프로세서와 데이타 메모리(200)사이의 데이타 통신을 제어하여 I/O제어기이며, 202는 데이타 통신을 위해 요소프로세서 3t와 I/O제어기를 연결하는 데이타 버스이며 203은 요소프로세서 3t와 데이타 메모리(200)사이를 연결하는 요소프로세서사이의 연결부이다.
I/O 제어기(201)는 4개의 데이타 메모리(200)와 연결되며 각 데이타 메모리(200)는 요소 프로세서 3t의 인접 프로세서에 연결된 기타 I/O제어기에 연결된다.
그러나, I/O제어기(201)에 연결된 데이타 메모리(200)의 갯수는 4개로 제한된다.
각 I/O 제어기(201)에 연결된 데이타 메모리(200)의 갯수는 네트워크 상태에 의해 정해지며 네트워크의 상태는 각 해석 모드에 의해 정해진다.
요소프로세서 3t는 메모리에 액세스하기 위한 수요를 데이타 버스(202)를 통해 I/O제어기(201)에 전송한다.
메모리에 액세스하기 위해 수요에는 4방향에서 데이타 메모리(200)에 액세스하는 데이타를 보여주는 통신 방향의 데이타와 특정 데이타 메모리(200)의 메모리 공간의 어드레스 갯수에 대한 종류가 포함된다.
I/O제어기(201)는 메모리에 액세스하기 위한 수요에 따라 통신 방향을 변화시켜 4방향에 있는 데이타 가운데서 특정 데이타 메모리(200)에 액세스할 수 있도록 한다.
메모리 액세스 수요에 설명된 어드레스 번호의 데이타는 요소프로세서 3t에 전해지기 위해 요소프로세서, I/O제어기(201) 및 데이타 버스(202)사이의 연결부(203)를 통해 통과된다.
요소프로세서에 주어진 이 데이타는 인접 요소프로세서에 의해 미리 기록된 데이타로서 예를들어 인접 요소와의 직접적이고 통신에 의해 주어진 값과 동일한 값의 데이타이다.
또한, 메모리에 규칙적으로 배열된 복수개의 데이타에 액세스할 때 선두 어드레스와 상기 데이타의 어드레싱 모드를 요소프로세서 3t로부터 I/O제어기(201)에 전송하여 상기 데이타에 계속적인 액세스가 실현될 수 있다. 상술한 바와같이, 데이타 메모리(200)가운데 위치한 I/O제어기(201)과의 네트워크를 구성함으로써 I/O제어기(201)가 요소프로세서 3t내부에 장착되지 않은 경우라도 데이타가 기록된 데이타 메모리(200)에 인접 요소 프로세서가 하이 스피드로 액세스할 수 있게 된다.
제71도에 도시된 네트워크 구조에서는 요소프로세서 3t와 I/O제어기(201)가 데이타 버스(202)를 통해 서로 직접적으로 연결되어, 직접적인 연결로 인해 참조/갱신(reference/renewal)수요의 충돌을 피하기 위한 방식으로 시스템 작동을 형성하는 것이 필요하다.
하나의 동일한 메모리에 참조/갱신 수요가 충돌할 경우, 처리가 인터럽트되어 액세스 시간이 증가된다.
제72도에 도시된 네트워크 구조에는 요소프로세서 3t로부터 I/O제어기(201)에 전송된 메모리 액세스 수요를 임시로 저장하는 버퍼 메카니즘이 제공된다:
제72도에서 204는 요소 프로세서 3t로부터 I/O제어기(201)에 전송된 메모리 액세스 수요를 임시로 저장하는 버퍼 메카니즘이며, 제71도의 부호와 동일한 부호는 제71도와 동일하다.
제72도에 바와같이 구성된 멀티프로세서에서는 하나의 데이타 메모리(200)가 상호 요소프로세서에 의해 나누어진다.
2개의 상호 인접 요소프로세서가 하나의 동일한 메모리에 동시에 액세스할 수 있다.
버퍼 메카니즘(204)은 참조/갱신 수요를 데이타 메모리에 임시로 저장한다.
참조/갱신 수요가 버퍼 메카니즘(204)에 저장되면 요소프로세서 3t는 데이타 메모리로부터 데이타의 추가여부와 상관없이 처리를 수행할 수 있다.
하나의 동일한 메모리 어드레스에 참조/갱신 수요가 충돌하는 경우에도 메모리에 스피드한 액세스가 처리의 인터럽션 없이 가능하다.
제73도는 제71도에 도시된 복수개의 요소 장치를 연결하여 형성된 열 유압해석에 가장 적절한 격자형 네트워크 위상을 도시한다.
제8-11실시예에서 설명된 2차원의 격자형 네트워크에서는 요소프로세서가 격자의 교차점에 배열된다.
제73도에 도시된 바와같이, I/O제어기가 요소프로세서 3t외부에 위치되는 경우 I/O제어기(201)는 격자의 교차 위치에 위치된다.
요소프로세서 3t는 1:1로 I/O제어기에 대응하며 I/O제어기(201)와 요소프로세서 3t는 데이타 버스(202)는 통해 서로 연결되며, I/O제어기(201)는 또한 4개의 데이타 메모리(200)와 연결된다.
이러한 방식으로, I/O제어기 중심부에 있는 요소프로세서 3t, 데이타 메모리(200)등과 같은 다양한 장치를 연결하여, 2차원의 격자형 네트워크를 구성할 수 있으며 상호 인접 요소프로세서사이에 하이 스피드로 메모리 액세스를 수행할 수 있다.
물론, I/O제어기(201)를 이용하여 1차원의 파이프라인 위상에 근거하여 네트워크를 구성할 수 있다.
제74도는 1차원의 파이프 라인 모양으로 구성된 멀티프로세서의 네트워크의 부분을 보여블럭도이다.
1차원의 파이프 라인 위상의 경우 I/O제어기에 연결된 데이타 메모리(200)의 갯수는 2개이다.
I/O제어기(201)를 통해 네트워크를 구성하여, 2차원의 격자형 네트워크와 동일한 방식으로 1차원의 파이프 라인형 네트워크에서도 요소프로세서 3t에 의해 데이타 메모리(200)에 액세스 속도가 올라가게 된다.
또한, 요소프로세서가 3차원으로 배열된 경우에도 유사한 구성이 가능하다.
제75도에 도시된 바와같이, 3차원의 구성에서 6개의 데이타 메모리(200)의 하나의 I/O기에 연결된다.
예를들면, 제73도에 도시된 복수개의 격자형 네트워크 위상은 3차원의 구성으로 위치될 수 있다.
제75도에서 I/O제어기(201a,201b)는 다른 평면에서 격자점 격자형 네트워크 위상에 속한다.
이 두 제어기(201a,201b)는 다른 평면에서 격자형 네트워크 위상에 속한다.
이 두 제어기(201a,201b)는 하나의 데이타 메모리(200)를 공유한다.
이러한 방식으로, I/O제어기(201a,201b)중심부에 있는 요소프로세서 3t, 데이타 메모리(200)등과 같은 다양한 장치를 연결하여, 3차원의 격자형 네트워크를 구성할 수 있으며 상호 인접 요소프로세서사이에 하이스피드로 메모리 액세스를 수행할 수 있다.
이러한 구성은 최적의 네트워크에 적용할 수 있으며, 제73도에 도시된 격자형 네트워크 위상에 다른 인접 요소프로세서 3t이외에, 이웃한 리모트 요소프로세서 3t와 데이타 통신을 가질 수 있다.
예를들면, 정해진 요소프로세서의 데이타를 데이타 메모리에 기록하기 위한 영역을 제공하고 I/O제어기(201)를 갖춘 영역을 복사하여, 인접 요소프로세서 3t로부터 일정한 거리에 위치한 요소프로세서의 데이타를 얻을 수 있다.
요소프로세서가 참조/갱신 수요를 복수개의 I/O제어기에 출력하는 구조가 형성된다.
제76도는 제73도에 도시된 2차원의 격자형 위상에 상기의 아이디어를 적용하여 실현된 구조를 도시한다.
제76도에 도시된 바와 같이, 요소프로세서 3tc, 3td는 4방향에 배열된 I/O제어기(201c)에 참조/갱신 수요를 출력한다.
예를들면, 요소프로세서 3tc사이에 통신을 유지할 때 상기 요소프로세서 3tc,3td는 하나의 데이타 메모리(200)를 공유하는 상호 인접 I/O제어기(201c)에 참조/갱신 수요를 출력한다.
이는 하나의 인접 요소프로세서 3td를 스킵함으로써 요소프로세서 3tc사이에 통신을 유지할 수 있도록 한다.
예를들면, 요소프로세서 3tc만을 이용하여 계산을 수행하는 굵은 점 연결과 요소프로세서 3tc,3td를 이용하여 계산을 수행하는 가는 점 연결의 선택적인 이용이 가능해진다.
또한, 요소프로세서 3t는 참조/갱신 수요를 출력하기 위해 요소프로세서 3t주위에 위치한 I/O제어기(201)에 데이타 버스를 통해 연결될 뿐만 아니라 해석, 정확성등의 옵젝트에 의해 더 먼 위치에 있는 I/O제어기(201)에 데이타 버스를 통해 연결된다.
다음은 본 발명의 제42실시예에 대해 설명된다.
제30-34실시예에서, 각 요소프로세서 3k, 3m, 3p, 3q에 의해 출력된 수렴 판정 플래그(1 또는 0)는 수렴 판정 장치(180) 또는 수렴 판정 장치(183)내부에 설치된 논리회로에 의해 하나씩 논리곱되어, 최종적으로 수렴 판정 정보로서 호스트컴퓨터(1)에 전송된다.
연결된 요소프로세서의 갯수가 10개정도인 소규모의 멀티프로세서 시스템의 경우, 제30-35실시예에 도시된 구조에서도 수렴 판정 비트의 논리곱이 매우 높은 속도로 얻어질 수 있다.
그러나, 연결된 요소프로세서의 갯수가 100개에 달하는 대규모 멀티프로세서의 경우에는 모든 수렴 장치(180) 또는 수렴 장치(183)에서 논리곱이 완료되는데 필요하고 수렴의 판정 결과로 호스트컴퓨터(1)에 전송되는데 필요한 총시간은 엄청나게 증가된다.
그리하여 수렴 판정 장치(180)가 예를들면 요소프로세서 3k등의 외부에 위치된 특수 하드웨어를 갖는 효과가 감소된다.
제77도는 본 발명의 제42실시예에 따른 수렴 판정 시스템의 윤곽을 나타내는 개념도이다.
제77도에서 3은 요소프로세서이며, 205는 수렴 판정 비트를 임시로 저장하는 수렴 판정 비트용 레지스터이며, 206은 요소프로세서와 수렴 판정 비트(205)용 레지스터사이에 연결하여 요소프로세서(3)로부터 출력된 컨번전스 판정 비트를 전송하는 수렴 판정 비트 와이어이며, 208은 호스트컴퓨터에 수렴 정보를 전송하는 정보 신호 와이어이며, 209는 Vss의 접지 전위에 고정된 접지 전위점(207)에 연결된 소스와 수렴 판정 비트(205)용 레지스터에 연결된 게이트와 수렴 정보 신호 와이어(208)에 연결된 드레인을 갖는 N형 MOS트랜지스터이며, 210은 공급 전위점(211)에 연결된 엔드와 수렴 정보 신호 와이어(208)에 연결된 기타 엔드를 갖는 레지스터이다.
와이어드 OR는 N형 MOS트랜지스터(209)와 수렴 정보 신호 와이어(208)와 레지스터(210)으로 구성된다.
각 요소프로세서(3)에서 출력된 수렴 판정 비트중에서 적어도 1비트가 수렴 판정 비트 와이어(206)을 통해 수렴 판정 비트용 레지스터(205)에 임시로 보관된다.
수렴 판정 비트용 레지스터(205)에 저장된 수렴 판정 비트는 와이어드 OR에 의해 논리곱되며 수렴 정보 신호 와이어(208)에 출력된 적어도 1비트의 수렴 판정 결과에 반영된다.
이제, 각 요소프로세서(3)으로부터 출력된 수렴 판정 비트가 0이 되는 상태에 대한 수렴 상태와 1이 되는 경우의 비수렴 상태가 설명된다.
각 요소프로세서(3)가 수렴 판정 비트로 수렴 상태인 0을 출력할 경우, N형 MOS트래지스터(209)는 모두 비지속상태에 놓이게 되며, 수렴 정보 신호 와이어(208)는 레지스터(210)를 통해 VDD의 공급전위를 출력하며, 호스트컴퓨터는 전체 시스템이 수렴 상태에 도달했다는 것을 인식할 수 있다.
또한, 요소프로세서(3)중에서 적어도 하나가 수렴 판정 비트로 (즉, 비수렴 상태) 1을 출력할 경우, 수렴 정보 신호 와이어(208)는, 해당 N형 MOS트랜지스터(209)가 지속성 상태에 있으므로 N형 MOS트랜지스터(209)의 지속시간에서의 저항값과 비교하여 더 큰 레지스터(210)의 저항값을 셋팅하여, 디지틀 방식의 VDD의 공급 전위로 간주될 수 있는 전위를 출력한다.
VSS와 같은 디지틀 방식으로 간주될 수 있는 전위에서 유지된 수렴 정보 신호 와이어(208)로 인해, 호스트컴퓨터(1)는 전체 시스템이 수렴 상태에 도달되지 않았다는 것을 인식할 수 있다.
본 실시예에서는 각 요소프로세서(3)에서 출력된 수렴 판정 비트의 논리값이 1일때 수렴 상태가 되고, 0일때 비수렴 상태가 되며, 또한, N형 MOS트랜지스터를 P형 MOS트랜지스터로 변환시킴으로써 유사한 동작을 하는 회로가 구성될 수 있다.
상술한 바와같이 수렴 판정 장치를 구성함으로써, 불과 몇초동안의 짧은 시간에 수렴 판정 비트용의 모든 레지스터(205)에 보관된 수렴 판정 비트의 논리값을 계속해서 얻을 수 있게 되어 연산 처리의 독립적인 수렴 판정을 수행함과 동시에 수렴 판정 시간을 줄일 수 있게 된다.
다음은 본 발명의 제43실시예에 대해 설명된다.
영역 분할 방법에 의한 열유압 값 해석의 병렬방법에 있어서, 컴퓨터 계산 영역은 적어도 요소프로세서(3)의 영역과 같은 갯수의 영역으로 분할되며 각 영역의 컴퓨터 계산은 각 요소프로세서(3)에 할당된다.
요소프로세서사이의 통신 컴퓨터 통신 시스템이 일반적으로 실행되는 메세지 전송형 로우 스피드 리모트 액세스를 위해 셋팅되는 경우, 요소프로세서(3)에 할당된 격자점의 갯수를 동일한 레벨로 유지하여 계산 부하를 평균화하는 범위로 병렬연산을 실현할 수 있다.
그러나, 분할 영역에서 몇개의 비안정점이 존재할 때, 요소프로세서(3)의 처리 양의 차이로 인해 수렴의 해답이 얻어지기 전에 다수의 반복적인 연산이 요구되고 이는 요소프로세서(3)의 처리 양을 증가시킨다.
이러한 이유로, 상기의 문제점을 해결하기 위해, 멀티 프로세서 시스템은 통신의 동기화의 대기상태로 인한 대기시간을 완전히 없애는 비동기 통신 시스템으로 구성되고, 배열되는 격자점의 갯수는 각 요소프로세서(3)에 해당하는 갯수로 변동된다.
제78도는 해석용 비안정점을 포함하는 컴퓨터 계산 영역의 분할형성 과정을 보여준다.
제78도에서, 213은 해석에 이용되는 전체 컴퓨터 영역이며, 214는 각 요소프로세서(3)에 의해 지정되는 분할영역이며, 215는 보통의 격자점이며, 216은 물리적인 양등의 순차적인 변동과 같은 약간의 비지속성 인자가 존재하는 경우의 해석을 위한 비안정점이다.
해석의 불안정성을 가져오는 인자는 예를들면, 옵젝트 스피드가 급속도로 변하는 지점, 온도가 급속도로 변하는 지점, 나선지점, 물리적인 값이 고정적으로 변동되는 지점, 이동 옵젝트 또는 이동 경계면에 이웃하는 지점, 방향을 바꾸는 유동체가 있는 지점, 코너에 위치한 단일지점, 열발생 지점, 유동체의 유입 및 유출 지점, 물질의 이동 지점 및 그 인접 지점등이다.
다음은 작용에 대해 설명된다.
해석(216)용 비안정점을 포함하는 분할 영역(14)을 지정하는 요소프로세서(3)에서는, 해석용(216) 비안정점의 불안정성이 분할 영역(14)에 있는 모든 격자점에 대해 영향을 미치기 때문에 수렴의 공간 해결이 달성될 때까지 반복되는 시간이 증가한다.
이러한 이유로, 해석(216)용 비안정점을 포함하는 분할영역에 있는 격자점의 갯수는 해석(216)용 비안정점을 포함하지 않는 기타 분할영역에 있는 격자점의 갯수보다 적어진다.
이는 격자점의 갯수를 시키는 반복시간의 증가로 인해 처리 양의 증가를 가져올 수 있다.
또한, 비동기 통신 시스템을 채택하여, 해석(216)용 비안정점을 포함하지 않는 분할영역(14)의 안정성을 수행하기전에 해석용(216) 비안정점을 포함하는 분할 영역(14)의 컴퓨터 계산을 수행할 수 있다.
상술한 바와같이, 비동기 통신 시스템과 불규칙적으로 분포된 격자점의 조합으로, 비지속영역이 컴퓨터계산 영역에 포함하는 경우라도 수렴의 연산 스피드를 증가시킬 수 있다.
다음은 본 발명의 제44실시예에 대해 설명된다.
제1-5실시예에 설명된 요소프로세서(3)에 이용된 컴퓨터 계산 회로는 대부분 요소프로세서(3)에 제공된 클럭을 기초로 한 동기화 시스템이다.
현재의 기술 수준에서는 칩의 정보 전달(와이어링 딜레이)로 인해 회로에서의 요소 반응 시간(요소 딜레이)의 상관관계가 설정된다.
그러나, 최근 초고속 요소 기술의 급속한 발전으로 실리콘 반도체 요소로 구성된 10ps, 화합물 반도체 요소로 구성된 5ps 및 Josephson 요소로 구성된 1ps 레벨의 요소 딜레이가 실행가능해졌다.
또한, VLSI기술의 발전으로 칩의 크기가 15mm×15mm 로 확대되었으며 설치가능한 요소의 갯수는 논리 LSI와 함께 3백만개로 증가될 예정이다.
상기의 피코세컨드 LSI가 실현되면, 요소(요소 딜레이)의 입력에 필요한 처리 결과를 출력할 때까지의 시간이 감소됨과 동시에 지금까지는 문제가 처리 않았던 칩의 어링(와이어링 딜레이)을 통해 정보를 통과시키는 데 필요한 시간이 줄어든다.
1 피코세컨드의 요소 딜레이를 갖는 요소로 칩이 구성된다면 단일 클럭의 작용은 전체 칩에 대해 최대 0.3mm×0.3mm의 칩 표면 영역까지 보장된다.
그리하여, 클럭이 구비된 칩에서는 동기화 작용을 하지 않는 인프로세서 비동기 시스템을 기초로 회로가 설계됨으로써, 요소프로세서의 처리 용량이 상당히 개선될 수 있다.
또한, 비동기 시스템의 설계는 하기의 ①-④등과 같은 이점을 제공하며 요소프로세서의 견고성 및 고속연산을 향상시킬 수 있으며 최종적으로 고속 열처리 유압 해석을 달성할 수 있다.
① 고속 연산을 달성하여 신호 추이의 불규칙적인 관계에 따른 요소 딜레이의 양과는 상관없이 정상적인 동작이 가능하다.
② 정보 처리 시스템의 전압 변동, 온도 및 환경 변화등과 같은 외부 간섭에 대비해 시간 변동을 완저히 없애고 고도의 신뢰성을 달성한다.
③ 타이밍 조정이 요구되지 않으므로 설계 작업이 용이하다.
④ 클럭을 발생하는 전력이 요구되지 않으므로 저전력이 소비되는 정보 처리 시스템을 제공한다.
상기와 같은 특징을 갖는 비동기 회로가 요소프로세서(3)의 회로에 이용될 수 있다.
따라서, 다음은 비동기 회로의 기본 구조에 대해 설명된다.
비동기 시스템은 신호를 상호 교환하는 비동기회로로 구조된 기능 모듈의 집합체이다.
일정한 기능 모듈 A로부터 또 다른 기능 모듈 B에 처리가 요구되면, 기능 모듈 A,B사이의 하나의 처리 요구에 대한 동작은 2개의 신호, 즉, 모듈 A,B사이의 처리 요구를 나타내는 수요로 지칭되는 수요 신호와 모듈 B로부터 모듈 A 까지 처리의 완료 통지를 나타내는 반응으로 지칭되는 반응 신호의 교환으로 완료된다.
그러나, 비동기 시스템에서는 동기화 클럭이 존재하지 않으므로 상기 수요 신호와 반응 신호의 도착 시간을 알리는 장치가 필요하지 않는다.
먼저, 제어 신호에 있어서, 유효 구간을 1로 비유효 구간을 0으로 정의한다면 0→1 이나 1→0이 추이 자체는 수요 또는 반응 타이밍으로 표시한다. 교환 신호가 데이타 신호일 경우는 문제가 된다.
보통, 데이타 신호는 단일 와이어 시스템이며 2개의 수식으로 표현할 수 있으며, 수요 및 반응 타이밍을 설명하는 방법은 없다.
이러한 문제점의 해결로서, 비동기 회로로 구성된 복수개의 기능 모듈사이의 데이타 신호의 교환이 2개의 신호 와이어를 갖는 2개의 와이어형 데이타 표시 1비트 정보를 이용하여 이루어진다.
2개의 와이어형 데이타 표시에는 2개의 와이어 2개의 위상 시스템, 2개의 와이어 추이 시스템, 패리티 교류 시스템(parity alternating system)등이 있다.
이러한 시스템중에서 2개의 와이어 2개의 위상 시스템은 융통성이 매우 크며 회로 구성을 간소화시킨다.
2개의 와이어 2개의 위상 시스템의 데이타 신호 수식이 사용된 경우에 대해 설명된다.
2개의 와이어 2개의 위상 시스템에서 비트 데이타 D는 2개의 와이어 신호(d1,d0)으로 된 공식 40으로 표현될 수 있다.
예를들면, 1을 전송하기 위해, 시스템은 중지 위상(pause phase)을 (0,0)에서 (1,0)으로 변화시키는 일련의 동작을 수행한다.
그리고 처리의 완료 후, 다음의 데이타 전송을 준비하기 위해 스페이서(0,0)의 상태로 리셋된다.
다음은 2개의 와이어 2개의 위상 시스템이 이 데이타 수식을 기초로 데이타 전송 경로에 대해 설명된다.
제79도는 2개의 와이어 2개의 위상 시스템이 데이타 수식을 기초로 한 레지스터사이의 데이타 전송 경로 모델을 보여주는 블럭도이다.
제79도에서, 217은 제어신호를 전송하는 제어신호 버스이며, 218은 수요 및 반응 처리의 완료 후 2개의 와이어 2개의 위상 신호를 리셋시키는 2개의 와이어 2개의 위상 제어 모듈이며, 220은 2개의 와이어 논리 회로이며, 221은 2개의 와이어형 데이타 버스이다.
그러나, 2개의 와이어 논리 회로(220)는 2개의 배선 논리를 기초로 구성된 기본 논리 요소로 구성됨을 주시할 수 있다.
상부 장치로부터의 처리의 완료 정보 수신으로 2개의 와이어 2개의 위상 제어 모듈(218)은 수요(추이 0→1)를 발생한다.
이 수요에서 2개의 와이어 데이타 신호가 전송 레지스터(219)에서 독출된다.
전송 레지스터(219)에서 독출된 데이타는 2개의 와이어형 데이타 버스(221)를 통하여 2개의 배선 논리 회로(220)에 전송되며 2개의 배선 논리 회로(220)에 의해 처리된다.
또한, 2개의 배선 논리 회로(220)에 의해 처리된 데이타는 2개의 와이어형 데이타 버스(221)를 통해 지정 레지스터(219)에 기록된다.
그러나 나서, 레지스터(219)에 의해 발생된 반응(추이 0→1)을 수신한 2개의 와이어 2개의 위상 제어모듈(218)은 처리의 완료 정보를 하부 장치에 전송한다.
상부 장치에서 처리의 완료 정보를 추적하여 수요(0→1)의 중단 명령이 상부 장치로부터 전송 레지스터(219)를 통과하여 논리 회로(220)에 전송되고, 모든 2개의 와이어 신호를 스페이서 상태로 두기 위해 지정 레지스터(219)에 이르게 하여 최종적으로 연산을 완료할 수 있도록 반응(추이 1→0)을 중단시킨다.
제79도의 2개의 배선 논리 회로(220)는 2개의 와이어형 AND게이트, OR게이트, NOT게이트등과 같은 기본 논리 요소를 연결하여 구성된 회로라면 어떤 구조의 회로라도 무방하다.
예를들면, 2개의 배선 논리 회로(220)에 대한 제 1-5실시예중에서 설명된 전체 처리 장치(5)를 실현하여, 와이어링 딜레이가 요소 딜레이보다 큰 경우라도 요소프로세서(3)에서 고속 연산을 실현할 수 있게 된다.
클럭을 이용하지 않은 비동기 처리는 특정 연산 칼럼에만 적용될 수 있으며 이 경우에도 동일한 효과를 얻을 수 있다.
또한, 상기의 여러 실시예를 조합하여 이용하는 것이 가능하다.
본 발명의 상세히 설명되었으며, 상기의 설명은 모든 관점에서 명확하며 제한적이지 않다. 따라서, 많은 변형 및 수정이 본 발명의 영역을 벗어나지 않는 범위에서 이루어질 수 있다는 것이 이해될 것이다.

Claims (77)

  1. 정보처리시스템에 있어서, 복수의 요소프로세서들를 사용함으로서 적어도 하나의 소정의 방정식 내에서 설명될 수 있는 필드의 적어도 하나의 지배방정식에 관하여 상기 필드를 공간적으로 분할하여 얻어진 복수의 격자 점들을 상기 요소프로세서들에 할당하므로서 연산을 수행하는 처리장치와 연산을 수행하는 상기 연산에 관한 데이타를 기억하는 데이타 메모리들을 각각 가지는 복수의 요소프로세서와; 상기 요소프로세서들 중 인접한 요소프로세서 사이에 상기 데이타의 상호 통신들을 가지는 복수의 데이타 버스들을 구비하고, 상기 계산은 상기 데이타 버스들을 통하여 전달된 상기 데이타를 사용하므로서 상기 요소프로세서들을 비동기적이고 독립적으로 동작시켜서 수행되는 것을 특징으로 하는 정보처리시스템.
  2. 정보처리시스템에 있어서 ; 복수의 요소프로세서들을 사용하므로서 적어도 하나의 소정의 방정식 내에서 설명될 수 있는 필드의 적어도 하나의 지배방정식에 관하여 상기 필드를 공간적으로 분할하여서 얻어진 복수의 격자 점들과 상기 격자 점들중에서 동일한 것들과 대응하는 복수의 시간들을 상기 요소프로세서에 할당하므로서 연산을 수행하는 처리장치와 계산을 수행하는 상기 연산에 관하여 데이타를 기억하는 데이타 메모리들을 각각 가지는 복수의 요소프로세서와; 상기 메모리들 중에서 인접한 요소프로세서들 사이에 상기 데이타의 상호 통신을 가지는 복수의 데이타 요 버스들을 구비하고, 상기 계산은 상기 데이타 버스들을 통해 전달된 상기 데이타를 사용하므로서 상기 요소프로세서들을 비동기적이고 독립적으로 동작시켜서 수행되는 것을 특징으로 하는 정보처리시스템.
  3. 제2항에 있어서, 2차원 필드를 공간적으로 분할하여서 얻어진 상기 격자 점들의 처리를 수행하는 상기 요소프로세서가 2차원적으로 배열되는 복수의 2차원 평면은 2차원적 해석적인 해가 구해질 때 3차원적으로 구성되는 시간 축을 따라 배열되며 또한 상기 요소프로세서는 시간 축의 방향에서 파이프 라인으로 구성되는 것을 특징으로 하는 정보처리시스템.
  4. 제1항 또는 제2항의 어느 하나에 있어서, 초기 조건들과 경계조건들을 상기 요소프로세서들에 전송하는 전송수단을 또한 포함하는 것을 특징으로 하는 정보처리시스템.
  5. 제1항 또는 제2항의 어느 하나에 있어서, 상기 인접 요소프로세서들 사이의 데이타 통신은 상기 요소프로세서들의 각각에 대하여 개별적이고, 비동기적이고 반복적으로 수행되는 것을 특징으로 하는 정보처리시스템.
  6. 제1항 또는 제2항의 어느 하나에 있어서, 상기 인접 요소프로세서들 간의 데이타 통신은 메세지 통신이고 또한 다중명령 스트림과 데이타 스트림으로 수행되는 것을 특징으로 하는 정보처리시스템.
  7. 제1항 또는 제2항의 어느 하나에 있어서 상기 요소프로세서들은 상기 인접 요소프로세서의 상기 데이타 메모리를 각각 직접적으로 참조할 수 있는 정보처리시스템.
  8. 제7항에 있어서, 상기 요소프로세서들은 상기 인접 요소프로세서의 상기 데이타 메모리를 직접 참조 및 갱신할 수 있는 것을 특징으로 하는 정보처리시스템.
  9. 제1항 또는 제2항의 어느 하나에 있어서, 상기 데이타 메모리는 상기 인접 요소프로세서를 접속하는 경로 상에, 상기 인접 요소프로세서에 의해서 공유된 제1메모리를 포함하고 상기 제1메모리에 접속된 복수의 상기 요소프로세서들로부터 상기 제1메모리에 기억된 내용을 직접 참조하고 갱신할 수 있는 것을 특징으로 하는 정보처리시스템.
  10. 제7항에 있어서, 상기 데이타 메모리들은 멀티포트 메모리들을 포함하는 것을 특징으로 하는 정보처리시스템.
  11. 제1항 또는 제2항의 어느 하나에 있어서, 상기 데이타 메모리에 액세스 요구를 일시적으로 버퍼하는 버퍼수단을 구비하는 것을 특징으로 하는 정보처리시스템.
  12. 제1항 또는 제2항의 어느 하나에 있어서, 상기 요소프로세서들은 각각 상기 인접 요소프로세서들 사이의 통신에서 상기 인접 요소프로세서들로부터 보내진 데이타를 옵젝트 이름을 가진 데이타로 기록되는 버퍼 메모리들을 가지며, 상기 요소프로세서들은 상기 버퍼 메모리로부터 임의의 타이밍에서 옵젝트 이름을 갖는 데이타를 검색하므로서 상기 인접한 요소프로세서들로부터의 데이타 수납을 완료하는 것을 특징으로 하는 정보처리시스템.
  13. 제1항 또는 제2항의 어느 하나에 있어서, 상기 요소프로세서들은 적어도 하나의 상기 연산에 필요한 상기 데이타를 기다리는 정합 메모리를 각각 가지며, 또한 상기 각 요소프로세서 내의 상기 처리 장치는 필요한 데이타가 상기 정합 메모리에서 동일하게 유효할 때 시간 수열의 그 시점에서 상기 연상 중의 적어도 하나의 소정연산을 수행하는 것을 특징으로 하는 정보처리시스템.
  14. 제1항 또는 제2항의 어느 하나에 있어서, 상기 요소프로세서들은 상기 처리 유니의 연산들을 규정하는 프로그램을 재기입하는데 유효한 프로그램 메모리들을 각각 가지는 것을 특징으로 하는 정보처리시스템.
  15. 제1항 또는 제2항의 어느 하나에 있어서, 상기 각 처리 장치는 상기 각 프로그램 메모리의 상이한 영역에 할당된 복수의 상기 프로그램의 동기 실행을 가능하게 하는 데이타 플로우 시스템에 기초하여 작동하며, 또한 각 상기 처리 장치는 각 상기 프로그램 메모리의 상이한 영역에 상기 각 격자점을 처리하기 위한 복수의 프로그램을 할당하므로서 복수의 상기 격자점에 대한 상기 연산을 동시에 실행하는 것을 특징으로 하는 정보처리시스템.
  16. 제15항에 있어서, 상기 데이타 플로우 시스템은 식별자를 사용하여 복수의 세트의 입력 데이타 상에 한개의 동일 프로그램을 동시에 실행할 수 있는 다이나식 데이타 구동 시스템을 포함하는 것을 특징으로 하는 정보처리시스템.
  17. 제1항 또는 제2항의 어느 하나에 있어서, 상기 처리 장치는 산술 논리 소자가 일부 또는 전체의 데이타 처리 플로우는 그 와이어드 논리에 따른 데이타 플로우 그래프에 기초한 형태로 와이어드 된 하드웨어 회로를 각각 가지는 것을 특징으로 하는 정보처리시스템.
  18. 제1항 또는 제2항의 어느 하나에 있어서, 상기 처리 장치는 하나의 동일한 와이어드 논리에 따른 하드웨어 회로들을 각각 가지며, 상기 하드웨어 회로는 상기 격자점이 상기 모든 격자점에 관해서 상기 필드내의 계산영역 내부에 위치되어 있는지 또는 상기 계산영역 외부에 위치되어 있는지를, 상기 모든 격자점에 관해서 내부 포인트 비트 또는 외부 포인트 비트를 가지고, 나타내는 계산영역 비트를 갖는 상기 요소프로세서의 상기 데이타를 미리 로우드하며, 상기 내부 포인트 비트는 상기 격자점이 상기 계산영역에서 옵젝트 내부에 위치되는 것을 표시하며, 상기 외부 포인트 비트들은 상기 격자점이 상기 계산영역에서 상기 옵젝트의 외부에 외치되어 있는 것을 표시하며 또한 상기 계산영역이 경계상에 위치한 상기 격자점에 관해서 경계조건에 대한 정보를 나타내는 경계조건 비트를 가지며, 상기 하드웨어회로는 상기 계산영역 비트, 상기 내부 포인트 비트, 상기 외부 포인트 비트 및 상기 경계조건 비트에 따라서 데이타 플로우 그래프의 처리를 변경하는 정보처리시스템.
  19. 제17항에 있어서, 상기 처리 장치는 제1 입력과 제2입력의 곱, 제3입력과 제4입력의 곱, 제5입력과 제6입력의 곱, ...., (2×N-1)번째의 입력과 (2×N)번째의 입력이 곱의 각각의 결과를 입력 데이타의 2N 피스에 누적하여 더하는 연산코드들을 직접 실행하는 연산장치를 가지는 것을 특징으로 하는 정보처리시스템.
  20. 제1항 또는 제2항의 어느 하나에 있어서, 하나 이상의 상기 요소프로세서 만큼 그들 사이에서 건너 뛰어 상기 인접한 요소프로세서들을 서로 접속시키는 화인노드 결속과 상기 요소프로세서들을 서로 접속시키는 코오스 노드 결속을 더 포함하는 것을 특징으로 하는 정보처리시스템.
  21. 제1항 또는 제2항에 있어서, 상기 요소프로세서에서는, 각각 출력 데이타를 비동기로 판독하는 출력 장치를 가지며, 해당 출력 데이타의 정리 및 분류에 필요한 식별자로 출력 데이타를, 상기 요소프로세서의 외측으로 데이타를 송출하는 정보처리시스템.
  22. 제21항에 있어서, 상기 요소프로세서로부터 비동기적으로 도착하는 출력 데이타에 근거하여 실시간으로 상기 요소프로세서의 상기 출력 장치로부터 출력 데이타를 수집하고 상기 출력 데이타의 가시적인 이미지를 발생하는 출력 데이타 이미지 처리 장치를 포함하는 것을 특징으로 하는 정보처리시스템.
  23. 제1항 또는 제2항에 있어서, 데이타가 상기 호스트컴퓨터로부터 상기 요소프로세서로 전송될 때 상기 요소프로세서로 전송될 때 상기 요소프로세서를 제어하는 호스트컴퓨터에 의하여 사용된 임의의 제1좌표 시스템을 상기 요소프로세서에 의하여 사용된 제2좌표 시스템으로 변환하고, 데이타가 상기 요소프로세서로부터 상기 호스트컴퓨터로 전송될 때는 상기 요소프로세서에 의해 사용된 상기 제2좌표 시스템을 상기 호스트컴퓨터에 의해 사용된 제1좌표 시스템으로 변환하는 좌표변환 장치를 더 포함하는 것을 특징으로 하는 정보처리시스템.
  24. 제1항 또는 제2항의 어느 하나의 정보처리시스템에 있어서, 호스트컴퓨터에 의하여 총괄적으로 제어된 상기 복수의 요소프로세서들은 각 요소프로세서 에서 상기 처리 장치의 각각이 독립적으로 설치되어, 처리 장치의 계산을 방해하지 않고 수렴을 판정하기 위한 제1수렴 판정 장치를 구비하며, 상기 정보처리시스템은: 복수의 상기 요소프로세서들을 복수의 그룹으로 분할하고 단일 방향의 폐루프 형태나 상기 각 그룹에서 각 요소프로세서들의 상기 제1수렴 판정 장치를 집중 형태로 접속하는 제1통신 경로들과 ; 상기 제1통신 경로들에, 각각 접속되고, 상기 그룹내의 상기 모든 제1수렴 판정 장치들의 수렴의 판정결과들을 집적하는 제2수렴 판정 장치들과; 그러나 단일 방향의 폐루우프 형태나 집중 형태로 상기 그룹들의 모든 제2수렴 판정 장치를 접속하는 제2통신 경로들을 더 구비하는 것을 특징으로 하는 정보처리시스템.
  25. 제1항 또는 제2항에 있어서의 정보처리시스템은, 복수의 상기 요소프로세서의 메세지를 전송하는 적어도 하나의 경로와; 상기 요소프로세서에 또는 상기 요소프로세서의 각각에 할당된 하나 이상의 처리 수단에 대한 수렴을 판정하는 제1수렴 판정수단과; 상기 제1수렴 판정 수단이 소정의 요소프로세서의 또는 상기 소정의 요소프로세서의 상기 처리 수단의 수렴을 판정할 때 상기 소정의 요소프로세서의 처리 수단 또는 상기 소정의 요소프로세서의 수렴을 표시하는 제1메세지를 송출하는 제1메세지 송출 수단과; 상기 인접 요소프로세서, 또는 상기 요소프로세서 또는 상기 처리 수단이 제1 또는 제2메세지를 받은 후의 상기 인접 요소프로세서로부터 상기 제1 또는 제2메세지를 받는 상기 처리 수단 또는 상기 요소프로세서의 수렴을 표시하는 제2 메세지를 송출하기 위한 제2 메세지 송출 수단과; 상기 제2송출 수단에 의하여 상기 적어도 하나의 경로를 통해 상기 제2메세지를 차례로 전송함으로서 모든 상기 요소프로세서들의 수렴을 판정하기 위한 제2수렴 판정수단을 구비하는 것을 특징으로 하는 정보처리시스템.
  26. 제25항에 있어서, 상기 적어도 하나의 경로는 상기 처리 수단을 접속하는 복수의 상이한 경로들을 포함하고, 상기 제2수렴 판정수단은 상기 복수의 상이한 경로들을 통해 차례로 전송된 메세지들에 의하여 멀티플렉스방식으로 모든 상기 요소프로세서의 상기 수렴을 확인하는 것을 특징으로 하는 정보처리시스템.
  27. 정보처리시스템을 사용하여 수행된 계산방법에 있어서, 상기 정보처리시스템은; 상기 복수의 요소프로세서를 사용하므로써 적어도 하나의 소정 방정식으로 기술될 수 있는 필드의 적어도 하나의 지배방정식에 관하여, 상기 필드를 공간적으로 분할해서 얻어진 복수의 격자점을 상기 요소프로세서에 할당하므로서, 계산을 실행하는 상기 연산에 관한 데이타를 기억하기 위한 데이타 메모리들과 연산을 수행하기 위한 처리 장치를 각각 가지는 복수의 요소프로세서; 및 상기 요소프로세서의 인접한 요소프로세서들 간의 상기 데이타의 상호 통신을 갖기 위한 복수의 데이타 버스를 구비하고, 상기 계산은 상기 데이타 버스를 통해 전달된 상기 데이타를 사용하여 상기 요소프로세서를 비동기 및 독립적으로 동작시킴으로써 수행되는 되는 것을 특징으로 하는 정보처리시스템을 사용하여 실행된 계산방법.
  28. 정보처리시스템을 사용하여 수행된 계산방법에 있어서, 기 정보처리시스템은; 상기 복수의 요소프로세서를 사용하므로서 적어도 하나의 소정의 방정식에서 기술될 수 있는 필드의 적어도 하나의 지배방정식에 관한, 상기 필드를 공간적으로 분할하여 얻어진 복수의 격자점과 동일한 상기 격자점에 대응하는 복수의 시간을 상기 요소프로세서에 할당하므로서 계산을 실행하기 위한 상기 연산에 관한 데이타를 기억하는 데이타 메모리 등과 연산을 수행하는 처리 장치를 각각 가지는 복수의 요소프로세서와; 상기 요소프로세서의 인접한 요소프로세서들 사이의 상기 데이타의 상호 통신을 갖기 위한 복수의 데이타 버스를 구비하고, 상기 계산은 상기 데이타를 통해 전달된 상기 데이타를 사용하므로서 상기 요소프로세서를 비동기 및 독립적으로 동작시킴으로써 수행되는 것을 특징으로 하는 정보처리시스템을 사용하여 실행된 계산 방법.
  29. 제28항에 있어서, 2차원 필드를 공간적으로 분해서 얻어진 상기 격자점의 처리를 수행하는 상기 요소프로세서가 2차원적으로 배열되는 복수의 2차원 평면은, 2차원 해석해가 구해질 때에는, 3차원적으로 구성될 시간축을 따라 배열되고, 상기 요소프로세서는 시간 축의 방향에서 파이프 라인으로 구성된 정보처리시스템을 사용하여 수행되는 것을 특징으로 하는 계산방법.
  30. 제27항 또는 제28항의 어느 하나의 정보처리시스템을 사용하여 실행된 계산 방법에 있어서, 상기 적어도 하나의 소정의 방정식은 적어도 하나의 미분 정식을 포함하며, 그리고 상기 적어도 하나의 소정의 방정식은 차분법의 계산법에 의하여 상기 요소프로세서를 비동기적이고 독립적으로 연산하여서 상기 적어도 하나의 미분방정식에 대한 해를 얻는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  31. 제30항에 있어서, 상기 적어도 하나의 소정의 미분방정식은 적어도 하나의 편 미분방정식 또는 하나의 상 미분방정식을 포함하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  32. 제27항 또는 제28항의 어느 하나에 있어서, 상기 요소프로세서는 상기 필드를 공간적으로 각각 분할하여 얻어진 복수의 격자점에 대한 계산을 담당하며, 그리고 상기 격자점에 대응한 수 또는 상기 데이타 메모리상의 상기 격자점에 대응하는 데이타 영역의 베이스 어드레스는 상기 요소프로세서에 의하여 수행된 상기 계산을 제어하는 입력토큰으로 사용되는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  33. 제27항 또는 제28항의 어느 하나에 있어서, 상기 정보처리시스템은 초기 조건등과 경계 조건등을 상기 요소프로세서에 전달하는 전송수단을 사용하여 상기 계산을 수행하는 것을 특징으로 하는 정보처리시스템을 사용해서 수행된 계산방법.
  34. 제27항 또는 제28항의 어느 하나에 있어서, 상기 인접한 요소프로세서들 간의 데이타 통신은 상기 요소프로세서의 각각에 대하여 개별적으로, 비동기적이고 반복적으로 수행되는 것을 특징으로 하는 정보처리시스템을 사용해서 수행된 계산방법.
  35. 제27항 또는 제28항의 어느 하나에 있어서, 상기 인접한 요소프로세서들 간의 데이타통신은 메세지 신이고 다중 명령 스트림과 다중 데이타 스트림으로 수행되는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  36. 제27항 또는 제28항의 어느 하나에 있어서, 상기 요소프로세서들은 상기 인접한 요소프로세서들의 데이타 메모리를 직접적으로, 각각, 참조하는 정보처리시스템을 사용하여 수행되는 것을 특징으로 하는 계산방법.
  37. 제36항에 있어서, 상기 요소프로세서는 상기 인접한 요소프로세서의 상기 데이타 메모리를 각각 직접 참조 및 갱신하는 정보처리시스템을 사용하여 수행된 것을 특징으로 하는 계산방법.
  38. 제27항 또는 제28항에 있어서, 상기 데이타 메모리는 상기 인접한 요소프로세서들을 접속한 경로상에, 상기 인접한 요소프로세서들에 의해 공유된 제1메모리를 포함하며 또한 상기 제1메모리에 접속된 복수의 상기 요소프로세서로부터 상기 제1메모리에 기억된 내용을 직접 참조하고 갱신하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  39. 제36항에 있어서, 상기 데이타 메모리는 멀티포트 메모리를 포함하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  40. 제27항 또는 제28항의 어느 하나에 있어서, 상기 정보처리시스템은 상기 데이타메모리에 액세스 요구를 일시적으로 버퍼링 하는 버퍼수단을 사용하여 상기 계산을 수행하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  41. 제27항 또는 제28항의 어느 하나에 있어서, 상기 요소프로세서는 상기 인접한 요소프로세서로부터 보내진 데이타가 상기 인접한 요소프로세서들 간의 통신에서 오브젝트 이름을 가진 데이타로서 기록되는 버퍼 메모리를 구비하고, 상기 요소프로세서는 상기 버퍼 메모리로부터 임의의 타이밍에서 옵젝트 이름을 갖는 데이타를 검색하므로서, 상기 인접한 요소프로세서로부터의 데이타 수납을 완료하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  42. 제27항 또는 제28항의 어느 하나에 있어서, 상기 요소프로세서는 적어도 하나의 상기 연산에 필한 상기 데이타를 기다리는 정합 메모리를 각각 포함하며, 각 상기 요소프로세서 내의 상기 처리 장치는 필요한 데이타가 상기 정합 메모리에서 동일하게 유효할 때 그 시점에서 상기 연산중의 적어도 하나의 소정 동작을 실행하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  43. 제27항 또는 제28항의 어느 하나에 있어서, 상기 요소프로세서들은 상기 처리를 장치의 상기 연산을 규정하는 프로그램을 재기입하는데 유용한 프로그램 메모리를, 각각, 포함하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  44. 제27항 또는 제28항의 어느 하나에 있어서, 상기 처리 장치는 하나의 동일한 계산 프로그램을 사용하여 연산을 수행하고, 상기 계산 프로그램은 상기 격자점이 모든 격자점에 대하여 상기 필드내의 계산 영역 내부에 있는지 외부에 있는지를 표시하는 계산영역 비트와, 상기 격자점의 모든 것에 관하여 상기 내부 포인트 비트는 상기 격자점이 상기 계산 영역에서 옵젝트 내부에 있는 것을 표시하고, 상기 외부 포인트 비트는 상기 격자점의 상기 계산 영역에서의 상기 옵젝트 외부에 위치된 것을 표시하는, 내부 포인트 비트 또는 외부 포인트 비트, 및 상기 계산영역의 경계상에 위치한 상기 격자점에 관한 경계조건의 정보를 나타내는 경계조건 비트를, 상기 요소프로세서의 상기 데이타 메모리에 미리 로드하고, 상기 계산 프로그램은 상기 계산영역 비트, 상기 내부 포인트, 상기 외부 포인트 비트, 상기 경계 조건 비트에 따라 상기 요소프로세서 상의 처리를 변경하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  45. 제27항 또는 제28항의 하나에 있어서, 각 상기 처리 장치는 각 상기 프로그램 메모리의 상이한 영역에 할당된 복수의 상기 프로그램의 동시 실행을 가능하게 하는 데이타 플로우 시스템에 기초로 하여 동작하고, 각 상기 처리 장치는 상기 각 격자점을 처리하는 복수의 프로그램을 상기 프로그램 메모리의 상이한 영역에 할당함으로서 복수의 상기 격자점의 연산을 동시에 실행하는 것을 특징으로 하는 정보처리시스템을 사용해서 수행된 계산방법.
  46. 제45항에 있어서, 상기 데이타 플로우 시스템은 식별자를 사용하여 복수의 세트의 입력 데이타에 대하여 하나의 동일한 프로그램을 동시에 실행할 수 있는 다이나믹 데이타 구동 시스템을 포함하는 것을 특징으로 하는 정보처리시스템을 사용해서 수행된 계산방법.
  47. 제46항에 있어서 상기 입력 데이타에 할당된 상기 식별자의 값을 기초로 하여, 상기 처리 장치는 상기 인접한 요소프로세서에 관한 데이타를 기억하는 상기 데이타 메모리의 주소를 계산하고 상기 데이타 메모리의 주소를 사용하여 상기 데이타 메모리의 참조 및 갱신을 행하는 정보처리시스템을 사용하여 수행된 계산방법.
  48. 제27항 제28항의 어느 하나에 있어서, 상기 처리 장치는 데이타 처리 플로우의 전체 또는 일부에 대한 와이어드 논리에 따른 데이타 플로우 그래프를 근거로 한 형태로 산술 논리 소자가 배선된 하드웨어 회로를 각각 가지는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  49. 제27항 또는 제28항의 어느 하나에 있어서, 상기 처리 장치는 하나의 동일한 와이어드 논리 회로에 따른 하드웨어 회로를 가지며, 상기 하드웨어 회로는 상기 격자점이 모든 격자점에 관하여 상기 필드내의 계산 영역 내부 또는 상기 계산영역 외부에 위치되어 있는가를 지시하는 계산 영역 비트와, 상기 격자점이 상기 계산 영역내의 옵젝트 내부에 위치되어 있는것을 표시하는 상기 격자점의 모든 것에 관계되는 내부 포인트 비트와, 상기 외부 포인트 비트는 상기 계산 영역이 내의 상기 옵젝트 외부에 있는 것을 표시하는 외부 포인트 비트와, 상기 계산 영역의 경계에 위치한 상기 격자점에 관한 경계 조건의 정보를 표시하는 경계조건 비트를 상기 요소프로세서의 상기 데이타 메모리에 미리 로드하고, 그리고 상기 하드웨어 회로는 상기 계산영역 비드, 상기 내부 포인트 비트, 상기 외부 포인트 비트, 상기 경계조건 비트에 따라 데이타 플로우 그래프의 처리를 변화 시키는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  50. 제48항에 있어서, 상기 처리 장치는 제1입력과 제2입력의 곱, 제3입력과 제4입력과 곱, 제5입력과 제6입력의 곱, ..., (2×N-1)번째의 입력과 (2×N)번째의 입력의 곱의 각 결과를 입력 데이타의 2N 피스에 누적적으로 더하기 위하여 연산 코드를 직접 실행하는 연산장치를 가지는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  51. 제48항에 있어서 상기 정보처리시스템은 계산 대상을 형성하는 상기 격자점들이 영역의 경계상에서 발견되기 때문에 상기 필드의 적어도 하나의 지배방정식을 해결하기 위하여 작은 통신 회수를 가진 상기 격자점에 대해서 까지도 더미 통신을 수행함으로서 모든 상기 격자점의 통신 회수의 균형을 유지하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  52. 제27항 제28항의 어느 하나에 있어서, 정보처리시스템은 계산 대상을 형성하는 상기 격자점이 영역의 경계상에서 발견되기 때문에 상기 필드의 상기 적어도 하나의 지배방정식을 푸는 작은 연산 회수를 가진 격자점에 대해서 까지도 더미 연산을 수행함으로서 모든 상기 격자점의 연산 회수의 균형을 유지하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  53. 제27항 또는 제28항의 어느 하나에 있어서, 상기 정보처리시스템은 차분법의 계산방법에 의해 미분방정식에 대한 해를 찾기 위하여 상기 각 격자점의 처리를 수행하고 각 격자점 간의 통신을 수행하며, 통신의 필요성이 있는지 없는지와 상기 격자점의 각각에 대한 통신의 방법을 표시하는 정보를 가진 것을 특징으로 하는 정보처리 시스템을 사용하여 수행될 계산방법.
  54. 제27항 또는 제28항의 어느 하나에 있어서, 차분법의 계산에 의해 미분방정식에 대한 해를 찾기 위하여 상기 격자점의 각각의 처리를 수행하는 상기 정보처리시스템은 상기 격자점의 각각에 메모리 영역을 할당하고, 상기 메모리 영역에 의해 인접 격자점의 정보간의 통신을 수행하고, 통신이 이루어져야 할 방향에서 통신을 위해 사용될 상기 메모리 영역을 표시하는 정보를 상기 각 격자점에 제공하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  55. 제54항에 있어서, 상기 정보처리시스템은 통신이 불가능한 방향에서 공통 더미 영역을 표시하는 정보를 상기 격자점의 각각에 제공하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  56. 제27항 제28항의 어느 하나에 있어서, 상기 인접한 격자점들이 상이한 상기 요소프로세서 위에 할당될 때, 양쪽에 있는 상기 요소프로세서는 상호 통신을 위하여 시간안에 두 쌍의 데이타를 보유하고, 상기 격자점들의 데이타가 갱신 되었을 때, 갱신된 데이타의 어떠한 변위가 연대순으로 전번 쌍의 데이타와 비교해서 소정 값보다 더 크지 않은 경우에 상기 프로세서들은 데이타를 재기록하지 않는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  57. 제54항에 있어서, 상기 정보처리시스템은 상기 적어도 하나의 소정 방정식의 계산의 대상을 구성하는 계산 영역의 경계선에 가장 가깝고 상기 계산 영역 밖에서 발견되는 격자점을 시뮬레이션하는 가상 데이타 영역을 상기 데이타 메모리에 할당하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  58. 제27항 또는 제28항의 어느 하나에 있어서, 상기 정보처리시스템은 상호 가까운 상기 요소프로세서를 서로 접속하는 화인 노드 결합과 그들 사이에서 하나 이상의 상기 요소프로세서를 건너 뛰어서 상기 요소프로세서를 서로 접속하는 코오스 노드 결합을 포함하는 것을 특징으로 하는 정보처리시스템 사용하여 수행된 계산방법.
  59. 제58항에 있어서, 상기 정보처리시스템은 코오스 노드 결합에 의해서 접속된 상기 요소프로세서에 의한 계산과 상기 화인 노드 결합에 의해서 접속된 상기 요소프로세서에 의한 계산을 교대로 수행함으로써 상기 적어도 하나의 방정식의 계산을 진행하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  60. 제27항 또는 제28항의 하나에 있어서 상기 정보처리시스템은, 상기 모든 격자점을 사용하여 상기 필드의 적어도 하나의 지배방정식의 계산과 병행하여, 선택된 상기 격자점의 부분만을 사용하는 상기 필드의 적어도 하나의 지배방정식의 계산을 수행하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  61. 제27항 또는 제28항의 어느 하나에 있어서, 상기 격자점중에서 선택된 것만을 사용하는 상기 필드의 적어도 하나의 지배방정식의 계산의 알고리듬은 상기 모든 격자점을 사용하는 상기 필드의 적어도 하나의 소정 지배방정식의 계산에 사용된 알고리듬과 상이한 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  62. 제61항에 있어서, 상기 정보처리시스템은 시간 수열에 의해서 상호 인접한 격자점에 관한 데이타를 두쌍 이상 가지며, 상기 쌍의 데이타 사이의 변동양이 소정의 양보다 크지 않은 경우에는 상기 격자점의 연산을 정지시키는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  63. 제62항에 있어서 상기 쌍의 데이타 사이의 변동값에 따라서 상기 격자점의 연산을 생략하기 위한 상기 소정 양의 값의 수렴의 등급에 따라서 감소되는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  64. 제27항 또는 제28항의 어느 하나에 있어서 상기 요소프로세서들은 각각 출력 데이타를 비동기적으로 판독하고, 데이타의 배열 및 분류에 필요한 식별자를 그 출력 데이타에 공급하고, 데이타를 상기 요소프로세서 밖으로 출력시키는 출력 장치를 가지는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  65. 제64항에 있어서 상기 정보처리시스템은 상기 요소프로세서의 상기 출력 장치로부터 출력 데이타를 수집하여 상기 모든 요소프로세서로부터 비동기적으로 도착하는 출력 데이타에 근거하여 실시간으로 상기 출력의 가시적인 이미지를 발생하는 출력 데이타 이미지 처리 장치를 포함하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  66. 제27항 또는 제28항의 어느 하나에 있어서 상기 정보처리시스템은 데이타가 호스트컴퓨터로부터 상기 요소프로세서로 전송될 때 상기 요소프로세서를 지배하는 호스트컴퓨터에 의해 사용된 임의의 제1좌표 시스템을 상기 요소프로세서에 의하여 사용된 제2좌표 시스템을 상기 요소프로세서에 의하여 사용된 제2좌표 시스템으로 변환시키고, 데이타가 상기 요소프로세서로부터 상기 호스트컴퓨터로 전송될 때는 상기 요소프로세서에 의해서 사용된 상기 제2좌표 시스템을 상기 제1좌표 시스템으로 변환시키는 좌표 변환 장치를 포함하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  67. 제27항 또는 제28항의 어느 하나에 있어서, 상기 복수의 요소프로세서는 호스트컴퓨터에 의해서 총체적으로 제어되는 복수의 요소프로세서이고, 상기 복수의 요소프로세서는 각 요소프로세서에서 상기 처리 장치와 독립적으로 각각 제공되고 상기 처리 장치의 계산을 방해하지 않고 수렴을 판정하는 수렴 판정 장치를 포함하고, 그리고 상기 정보처리시스템은 복수의 상기 요소프로세서를 복수의 그룹으로 분할하고 단일 방향의 폐루프 형태로 또는 복수의 그룹으로 분할하고 단일 방향의 폐루프 형태로 또는 각 그룹의 집중형태로 상기 각 요소프로세서의 수렴 판정 장치를 연결하는 제1통신 경로와, 그리고 상기 그룹의 제1통신 경로의 각각에 접속되고, 상기 그룹에 있는 모든 상기 수렴 판정 장치와 단일 방향의 폐루프 형태로 또는 집중형태로 있는 상기 그룹의 상기 모든 수렴 판정 장치의 수렴 판정 결과를 총합하는 모든 상기 수렴 판정 장치를 연결하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  68. 제27항 또는 제28항의 어느 하나에 있어서, 상기 정보처리시스템은 복수의 상기 요소프로세서의 메세지를 전송하는 적어도 하나의 경로를 포함하고, 그리고 상기 계산방법은 (a) 상기 요소프로세서의 각각에 할당된 하나의 처리 수단 만큼이나 상기 요소프로세서의 각각의 수렴을 판정하는 스텝과, (b) 상기 정보처리시스템이 상기 소정의 요소프로세서에서 또는 상기 소정의 요소의 처리 수단에서 수렴을 판정할 때 소정의 요소프로세서 또는 상기 소정의 요소의 처리 수단을 표시하는 제1메세지를 보내는 스텝과, (c) 상기 인접 요소프로세서 동안 또는 상기 요소프로세서 또는 상기 처리 수단이 상기 제1 또는 제2 메세지를 수신한 후에 인접 요소프로세서로부터 상기 제1 또는 제2 메세지를 수신하는 상기 요소프로세서 또는 상기 처리 수단의 수렴을 지시하는 제2 메세지를 보내는 스텝과, 그리고 (d) 상기 스텝 (c)를 반복하여서 상기 제2메세지를 차례로 전송함으로써 모든 상기 요소프로세서의 수렴을 판정하는 스텝을 포함하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  69. 제68항에 있어서, 상기 정보처리시스템은 상기 모든 요소프로세서의 상기 수렴의 복수 확인을 위하여 상기 스텝(a) 에서 스텝(d)를 반복하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  70. 제69항에 있어서, 상기 정보처리시스템은 제2수렴 판정수단을 포함하고, 상기 적어도 하나의 경로는 상기 처리 수단을 연결하는 복수의 상이한 경로를 포함하고, 그리고 상기 제2수폄 판정수단은 상기 복수의 상이한 경로를 통하여 차례로 전송된 메세지에 의하여 다중 방정식으로 모든 상기 요소프로세서의 상기 수렴을 확인하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  71. 제70항에 있어서 상기 정보처리시스템은 일반적인 수렴을 판정하는 상기 프로세서에 의하여 일반적인 수렴의 완성이 판정된 후, 상기 요소프로세서 또는 상기 처리 수단의 처리를 정지함으로서 수렴의 판정을 다시 형성하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  72. 복수의 요소프로세서를 가지는 정보처리시스템을 사용하여 수행된 계산방법은, 수렴 판정의 결과를 기억하는 기억수단을 초기화하는 스텝과, 그리고 상기 요소프로세서등에 의하여 담당된 각 격자점을 위하여 상기 격자점에 대한 계산이 수렴인가 아닌가를 판정하는 스텝과, 만약 수렴이 아직 도달되지 않은 것이 판정되는 경우 상기 기억수단을 소정의 논리값에 세트하는 스텝을 더 포함하는 복수의 요소프로세서를 가지는 것을 특징으로 하는 정보처리시스템을 사용해서 수행된 계산방법.
  73. 제1항 또는 제2항의 어느 하나에 있어서, 복수의 요소프로세서는 상기 인접 요소프로세서들 사이에 있는 상기 데이타 메모리를 공유하고, 그리고 상기 복수의 요소프로세서의 각각은 액세스의 요구에 따라서 통신의 방향을 스위칭함으로서 복수의 데이타 메모리의 하나를 가진 데이타의 입출력을 제어하는 상기 인접 요소프로세서와 공유된 복수의 데이타 메모리에 공통으로 접속된 입출력 제어장치를 포함하는 것을 특징으로 하는 정보처리시스템.
  74. 제1항 또는 제2항의 어느 하나에 있어서 상기 복수 요소프로세서의 각각에 의하여 실행된 연산의 수렴의 판정결과를 일시적으로 제어하는 복수의 요소프로세서에 대응하여 제공된 복수의 레지스터와, 그리고 복수의 상기 레지스터의 출력의 논리곱을 생성하는 와이어드 OR 회로를 더 포함하는 것을 특징으로 하는 정보처리시스템.
  75. 제27항 또는 제28항의 어느 하나에 있어서, 복수의 상기 요소프로세서는 상기 인접 요소프로세서 사이에 있는 상기 데이타 메모리를 공유하고, 상기 복수의 요소프로세서의 각각은 액세스 요구에 따라 통신의 방향을 스위칭함으로서 복수의 데이타 메모리의 하나를 가진 데이타의 입출력을 제어하는 상기 인접 요소프로세서와 공유된 복수의 데이타 메모리에 공통으로 접속된 입출력 제어장치를 포함하고, 상기 복수의 요소프로세서의 각각은 상기 출력 제어 장치를 통하여 상기 데이타 메모리의 내용에 관여하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  76. 제27항 또는 제28항의 어느 하나에 있어서, 정보처리시스템은, 상기 복수의 요소프로세서에 대응하여 설치된 상기 보수의 레지스터에, 상기 대응하는 요소프로세서의 수렴의 판정 결과를 일시적으로 저장하고, 그리고 와이어드 OR 회로를 가진 복수의 상기 레지스터 내에 기억된 수렴의 판정의 상기 결과들의 논리곱을 가지고 있는 동안 연산을 실행하는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
  77. 제27항 또는 제28항의 어느 하나에 있어서, 불안정한 요인이 존재하는 해석을 위한 불안정한 포인트를 포함하는 하나의 요소프로세서 당 격자점의 수는 해석을 위한 어떠한 불안정한 포인트를 포함않지 않는 하나의 요소프로세서 당 격자점의 수보다 더 작게 되는 것을 특징으로 하는 정보처리시스템을 사용하여 수행된 계산방법.
KR1019950022302A 1994-07-22 1995-07-22 정보처리 시스템과 정보처리 시스템에서의 계산방법 KR0169161B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP17138594 1994-07-22
JP94-171385 1994-07-22
JP18019595A JP3308770B2 (ja) 1994-07-22 1995-07-17 情報処理装置および情報処理装置における計算方法
JP95-180195 1995-07-17

Publications (1)

Publication Number Publication Date
KR0169161B1 true KR0169161B1 (ko) 1999-01-15

Family

ID=26494130

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950022302A KR0169161B1 (ko) 1994-07-22 1995-07-22 정보처리 시스템과 정보처리 시스템에서의 계산방법

Country Status (5)

Country Link
US (1) US5740463A (ko)
EP (1) EP0696001B1 (ko)
JP (1) JP3308770B2 (ko)
KR (1) KR0169161B1 (ko)
DE (1) DE69524306T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100965709B1 (ko) * 2003-05-17 2010-06-24 마이크로소프트 코포레이션 멀티-파트 파일에 변환을 적용하기 위한 시스템 및 방법

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US6041345A (en) * 1996-03-08 2000-03-21 Microsoft Corporation Active stream format for holding multiple media streams
JPH09305551A (ja) * 1996-05-10 1997-11-28 Toshiba Corp 並列計算機システム
GB9611994D0 (en) * 1996-06-07 1996-08-07 Systolix Ltd A field programmable processor
ES2136518B1 (es) * 1996-10-25 2000-08-01 Azti Inst Tecnologico Pesquero Sistema de modelizacion y simulacion de la evolucion de la dispersion del flujo de contaminantes vertidos al mar.
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
EP1329816B1 (de) 1996-12-27 2011-06-22 Richter, Thomas Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US5950170A (en) * 1997-04-11 1999-09-07 Vanguard International Semiconductor Corporation Method to maximize capacity in IC fabrication
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
WO1999046689A1 (en) * 1998-03-12 1999-09-16 Crossworlds Software, Inc. Execution of extended activity diagrams by code generation
WO2002013000A2 (de) 2000-06-13 2002-02-14 Pact Informationstechnologie Gmbh Pipeline ct-protokolle und -kommunikation
US7627736B2 (en) 1999-04-09 2009-12-01 Clearspeed Technology Plc Thread manager to control an array of processing elements
GB2348974B (en) * 1999-04-09 2004-05-12 Pixelfusion Ltd Parallel data processing systems
US8762691B2 (en) 1999-04-09 2014-06-24 Rambus Inc. Memory access consolidation for SIMD processing elements using transaction identifiers
US20080162874A1 (en) * 1999-04-09 2008-07-03 Dave Stuttard Parallel data processing apparatus
EP1181648A1 (en) 1999-04-09 2002-02-27 Clearspeed Technology Limited Parallel data processing apparatus
US7506136B2 (en) * 1999-04-09 2009-03-17 Clearspeed Technology Plc Parallel data processing apparatus
US20080162875A1 (en) * 1999-04-09 2008-07-03 Dave Stuttard Parallel Data Processing Apparatus
US8174530B2 (en) * 1999-04-09 2012-05-08 Rambus Inc. Parallel date processing apparatus
US20080008393A1 (en) * 1999-04-09 2008-01-10 Dave Stuttard Parallel data processing apparatus
US7802079B2 (en) 1999-04-09 2010-09-21 Clearspeed Technology Limited Parallel data processing apparatus
US8171263B2 (en) * 1999-04-09 2012-05-01 Rambus Inc. Data processing apparatus comprising an array controller for separating an instruction stream processing instructions and data transfer instructions
US7966475B2 (en) 1999-04-09 2011-06-21 Rambus Inc. Parallel data processing apparatus
US20070242074A1 (en) * 1999-04-09 2007-10-18 Dave Stuttard Parallel data processing apparatus
US8169440B2 (en) 1999-04-09 2012-05-01 Rambus Inc. Parallel data processing apparatus
US7526630B2 (en) 1999-04-09 2009-04-28 Clearspeed Technology, Plc Parallel data processing apparatus
AU5805300A (en) 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
JP4609682B2 (ja) * 2000-11-29 2011-01-12 ソニー株式会社 通信システム、情報処理方法
US7062749B2 (en) * 2000-12-15 2006-06-13 Promenix, Inc. Measuring, monitoring and tracking enterprise communications and processes
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
EP1378862B1 (en) 2001-03-13 2010-10-20 Ecchandes Inc. Visual device, interlocking counter, and image sensor
EP2224330B1 (de) 2001-06-20 2012-05-09 Krass, Maren Verfahren und gerät zum partitionieren von grossen rechnerprogrammen
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
WO2003060747A2 (de) 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US7263602B2 (en) * 2002-08-16 2007-08-28 Carnegie Mellon University Programmable pipeline fabric utilizing partially global configuration buses
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
US7360220B2 (en) * 2002-10-31 2008-04-15 Intel Corporation Methods and apparatus for multi-threading using differently coded software segments to perform an algorithm
US7430500B2 (en) * 2002-12-27 2008-09-30 Riken Method and device for numerical analysis of flow field of incompressible viscous fluid, directly using V-CAD data
US7827386B2 (en) * 2003-06-30 2010-11-02 Intel Corporation Controlling memory access devices in a data driven architecture mesh array
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
US7937557B2 (en) * 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US7799273B2 (en) 2004-05-06 2010-09-21 Smp Logic Systems Llc Manufacturing execution system for validation, quality and risk assessment and monitoring of pharmaceutical manufacturing processes
US7444197B2 (en) 2004-05-06 2008-10-28 Smp Logic Systems Llc Methods, systems, and software program for validation and monitoring of pharmaceutical manufacturing processes
JP2006053662A (ja) * 2004-08-10 2006-02-23 Matsushita Electric Ind Co Ltd 多重プロセッサ
US7904695B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
US7805709B2 (en) * 2005-05-27 2010-09-28 Delphi Technologies, Inc. System and method for bypassing execution of an algorithm
JP2007164472A (ja) * 2005-12-14 2007-06-28 Sonac Kk 待ち合わせ機構を有する演算装置
EP1974265A1 (de) 2006-01-18 2008-10-01 PACT XPP Technologies AG Hardwaredefinitionsverfahren
JP5007050B2 (ja) * 2006-02-01 2012-08-22 株式会社野村総合研究所 格子型コンピュータシステム、タスク割り当てプログラム
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7617383B2 (en) * 2006-02-16 2009-11-10 Vns Portfolio Llc Circular register arrays of a computer
US7752422B2 (en) * 2006-02-16 2010-07-06 Vns Portfolio Llc Execution of instructions directly from input source
US7904615B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
US7693257B2 (en) 2006-06-29 2010-04-06 Accuray Incorporated Treatment delivery optimization
KR100885915B1 (ko) 2007-02-27 2009-02-26 삼성전자주식회사 내부 통신이 가능한 멀티 메모리 칩 및 이를 구비하는시스템
US20080270751A1 (en) * 2007-04-27 2008-10-30 Technology Properties Limited System and method for processing data in a pipeline of computers
JP5240196B2 (ja) * 2007-07-12 2013-07-17 富士通株式会社 計算装置、計算方法および計算プログラム
US20100023730A1 (en) * 2008-07-24 2010-01-28 Vns Portfolio Llc Circular Register Arrays of a Computer
US8201038B2 (en) * 2009-09-29 2012-06-12 International Business Machines Corporation Integrating design for reliability technology into integrated circuits
JP5718564B2 (ja) * 2009-12-04 2015-05-13 トヨタ自動車株式会社 車両用駆動ユニットの数値解析方法
JP5582472B2 (ja) * 2010-08-27 2014-09-03 大学共同利用機関法人情報・システム研究機構 Lsi演算装置及びその故障検出方法
US9465758B2 (en) * 2013-05-29 2016-10-11 Qualcomm Incorporated Reconfigurable instruction cell array with conditional channel routing and in-place functionality
US9753710B2 (en) * 2013-11-07 2017-09-05 Netronome Systems, Inc. Resource allocation with hierarchical scope
US9959661B2 (en) 2015-12-02 2018-05-01 Samsung Electronics Co., Ltd. Method and device for processing graphics data in graphics processing unit
US10303505B2 (en) 2016-05-19 2019-05-28 International Business Machines Corporation Adjusting a computing environment for processing a data stream with dummy tuples
JP6802480B2 (ja) 2017-01-27 2020-12-16 富士通株式会社 プロセッサ、情報処理装置及びプロセッサの動作方法
US10830743B2 (en) * 2017-05-04 2020-11-10 International Business Machines Corporation Determining the net emissions of air pollutants
JP7053891B2 (ja) * 2018-06-27 2022-04-12 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッド オンチップコードのブレークポイントによるデバッグ方法、オンチッププロセッサ及びブレークポイントによるチップデバッグシステム
US20220035762A1 (en) * 2018-10-18 2022-02-03 Shanghai Cambricon Information Technology Co., Ltd. Network-on-chip data processing method and device
JP6946364B2 (ja) 2019-03-18 2021-10-06 株式会社東芝 ニューラルネットワーク装置
CN113656924A (zh) * 2021-08-09 2021-11-16 北京首钢国际工程技术有限公司 一种工业园区三维管线建模方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1008018B (zh) * 1986-09-27 1990-05-16 徐肇昌 一种具有合作能力的同构型多计算机系统及其合作方法
US4811214A (en) * 1986-11-14 1989-03-07 Princeton University Multinode reconfigurable pipeline computer
GB2201817A (en) * 1987-02-27 1988-09-07 Massachusetts Inst Technology Geometry-defining processors
US4908751A (en) * 1987-10-15 1990-03-13 Smith Harry F Parallel data processor
US5339396A (en) * 1987-11-18 1994-08-16 Hitachi, Ltd. Interconnection network and crossbar switch for the same
US4939642A (en) * 1989-02-01 1990-07-03 The Board Of Trustees Of The Leland Stanford Jr. University Virtual bit map processor
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
JP3057460B2 (ja) * 1991-08-22 2000-06-26 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサ・システム、およびそのマルチプロセッサ・システムを用いたグラフィックス表示装置
CA2076293A1 (en) * 1991-10-11 1993-04-12 Prathima Agrawal Multiprocessor computer for solving sets of equations
US5513364A (en) * 1993-03-09 1996-04-30 Matsushita Electric Industrial Co., Ltd. Data transfer device and multiprocessor system
US5546596A (en) * 1993-08-24 1996-08-13 Intel Corporation Method and apparatus for integrated local and express routing in a multiprocessor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100965709B1 (ko) * 2003-05-17 2010-06-24 마이크로소프트 코포레이션 멀티-파트 파일에 변환을 적용하기 위한 시스템 및 방법

Also Published As

Publication number Publication date
DE69524306D1 (de) 2002-01-17
JP3308770B2 (ja) 2002-07-29
JPH0887475A (ja) 1996-04-02
DE69524306T2 (de) 2002-08-08
US5740463A (en) 1998-04-14
EP0696001B1 (en) 2001-12-05
EP0696001A1 (en) 1996-02-07

Similar Documents

Publication Publication Date Title
KR0169161B1 (ko) 정보처리 시스템과 정보처리 시스템에서의 계산방법
Rocki et al. Fast stencil-code computation on a wafer-scale processor
Hoisie et al. Performance and scalability analysis of teraflop-scale parallel architectures using multidimensional wavefront applications
Director et al. A design methodology and computer aids for digital VLSI systems
US20190057060A1 (en) Reconfigurable fabric data routing
WO1987004278A1 (en) Method and apparatus for simulating systems described by partial differential equations
CN114450661A (zh) 用于可重配置架构的编译器流程逻辑
KR20220008826A (ko) 이기종 멀티코어 아키텍처를 위한 컴필레이션 흐름
Hwang Multiprocessor supercomputers for scientific/engineering applications
US20200167309A1 (en) Reconfigurable fabric configuration using spatial and temporal routing
Guerre et al. Hierarchical network-on-chip for embedded many-core architectures
Lundstrom Applications considerations in the system design of highly concurrent multiprocessors
Sawley et al. A comparison of parallel programming models for multiblock flow computations
WO2020112992A1 (en) Reconfigurable fabric configuration using spatial and temporal routing
US7516059B2 (en) Logical simulation device
CN114341805A (zh) 纯函数语言神经网络加速器系统及结构
Cong et al. Architectural synthesis integrated with global placement for multi-cycle communication
Bytyn et al. Dataflow aware mapping of convolutional neural networks onto many-core platforms with network-on-chip interconnect
JP3495010B2 (ja) 情報処理装置および情報処理装置における計算方法
WO2021212045A1 (en) Synchronization of processing elements and software managed memory hierarchy in a machine learning accelerator
JP2001236342A (ja) 多体問題解析装置に用いるアドレス装置
Civera et al. The μ Project: An Experience with a Multimicroprocessor System.
JPH0619864A (ja) アレイプロセッサと処理素子と大量並列プロセッサ
Das Evolution and application of a parallel algorithm for explicit transient finite element analysis on SIMD/MIMD computers
Arndt et al. Hardware Accelerated Matrix Multiplication for Embedded Systems

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

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee