JPH0475140A - Information processor performing symbol processing and numeric value processing in parallel - Google Patents

Information processor performing symbol processing and numeric value processing in parallel

Info

Publication number
JPH0475140A
JPH0475140A JP2189147A JP18914790A JPH0475140A JP H0475140 A JPH0475140 A JP H0475140A JP 2189147 A JP2189147 A JP 2189147A JP 18914790 A JP18914790 A JP 18914790A JP H0475140 A JPH0475140 A JP H0475140A
Authority
JP
Japan
Prior art keywords
arithmetic
instruction
processing
unit
symbol processing
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2189147A
Other languages
Japanese (ja)
Inventor
Hidekazu Tokunaga
徳永 秀和
Seiji Yasunobu
安信 誠二
Atsushi Katsumata
敦 勝亦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GIJUTSU KENKYU KUMIAI KOKUSAI FUAJII KOGAKU KENKYUSHO
Hitachi Ltd
Nippon Steel Corp
Azbil Corp
Original Assignee
GIJUTSU KENKYU KUMIAI KOKUSAI FUAJII KOGAKU KENKYUSHO
Hitachi Ltd
Nippon Steel Corp
Azbil Corp
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 GIJUTSU KENKYU KUMIAI KOKUSAI FUAJII KOGAKU KENKYUSHO, Hitachi Ltd, Nippon Steel Corp, Azbil Corp filed Critical GIJUTSU KENKYU KUMIAI KOKUSAI FUAJII KOGAKU KENKYUSHO
Priority to JP2189147A priority Critical patent/JPH0475140A/en
Publication of JPH0475140A publication Critical patent/JPH0475140A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To improve the description capability of a program and to perform fast processing by generating a sequential arithmetic instruction flow from a symbol processing part which performs symbol processing interpretively based on message transmission between objects, and supplying it to a numeric value arithmetic part. CONSTITUTION:This device is comprised of an interface 1 with a host computer, the symbol processing part 2, the numeric value processing part 3, a bus switch 4, object managing memory 5, and memory banks 61 - 6n for numeric value data. The symbol processing part 2 which performs the symbol processing interpretively based on the message transmission between the objects dynamically generates the sequential arithmetic instruction flow to the numeric value arithmetic part 3 which executes a numeric value arithmetic operation according to interpretive symbol processing in parallel with the symbol processing. Thereby, it is possible to easily perform fuzzy set description by the symbol processing oriented for object, and also, since the parallel processing of an instruction flow generated sequentially by the symbol processing can be performed by the numeric value arithmetic part 3, the fast processing can be attained.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、記号処理と数値処理を並列的に行う情報処理
装置に関し、特にファジィ情報処理システムに適用して
好適なものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an information processing device that performs symbol processing and numerical processing in parallel, and is particularly suitable for application to fuzzy information processing systems.

〔従来の技術〕[Conventional technology]

従来、コンピュータアーキテクチャは、数値処理に重点
を置いて設計されていた。汎用CPUと数値演算プロセ
ッサとの組合せにより情報処理を行うコンピュータシス
テムが一般的である。また、記号処理を行う装置として
は、L I S P (listρrocessor 
)マシーンが知られている。
Traditionally, computer architectures have been designed with emphasis on numerical processing. 2. Description of the Related Art Computer systems that process information using a combination of a general-purpose CPU and a numerical processor are common. In addition, as a device that performs symbol processing, L I S P (listρrocessor
) machine is known.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

近年のファジ情報処理や人工知能などのより高度な知識
情報処理への応用には、数値処理と記号処理の両方が要
求されるので、上述のようなコンピュータシステムでは
、効率的な処理は望めない。
In recent years, applications to more advanced knowledge information processing such as fuzzy information processing and artificial intelligence require both numerical processing and symbolic processing, so the computer systems described above cannot hope for efficient processing. .

本発明はこの問題にかんがみ、数値処理と記号処理との
両方を効率的に行うことのできる情報処理装置(コンピ
ュータアーキテクチャ)を提供することを目的とする。
In view of this problem, it is an object of the present invention to provide an information processing device (computer architecture) that can efficiently perform both numerical processing and symbolic processing.

〔課題を解決するための手段〕[Means to solve the problem]

本発明の記号処理と数値処理とを並列的に行う情報処理
装置は、オブジェクト間のメツセージ伝達に基づいてイ
ンタープリティブに記号処理を行う記号処理部と、上記
インタープリティブな記号処理に伴う数値演算を上記記
号処理と並列に実行する数値演算部とを具備し、上記記
号処理部は、上記数値演算部に対し逐次的な演算命令流
を動的に生成することを特徴とする。
An information processing device according to the present invention that performs symbol processing and numerical processing in parallel includes a symbol processing unit that performs symbolic processing in an interpretive manner based on message transmission between objects, and a numerical value accompanying the interpretive symbol processing. A numerical calculation unit that executes calculations in parallel with the symbol processing, and the symbol processing unit dynamically generates a sequential calculation instruction stream for the numerical calculation unit.

〔作用〕[Effect]

知識ベースを備えたエキスパートシステムにおいて、あ
いまいさを含むファジィ情報を扱う場合、記号処理に伴
ってファジィ情報処理のための数値演算(ファジィ集合
演算等)が不可欠となる。上述の構成によると、オブジ
ェクト指向の記号処理によりファジィ集合記述が容易と
なり、また記号処理によって逐次的に生成される命令流
が専用の数値演算部で並列処理されるので、高速処理が
可能となる。
When handling fuzzy information containing ambiguity in an expert system equipped with a knowledge base, numerical operations (fuzzy set operations, etc.) for fuzzy information processing are essential along with symbolic processing. According to the above configuration, object-oriented symbolic processing facilitates fuzzy set description, and high-speed processing is possible because the instruction stream sequentially generated by symbolic processing is processed in parallel by a dedicated numerical calculation unit. .

〔実施例〕〔Example〕

以下、本発明を、ファジィ知識情報処理に適したコンピ
ュータアーキテクチャに適用した一実施例に基づいて説
明する。
Hereinafter, the present invention will be explained based on an example in which the present invention is applied to a computer architecture suitable for fuzzy knowledge information processing.

人間の言語が有しているあいまいさを表現する手段とし
てファジィ理論が注目されている。ファジィ理論は、主
に制御分野における応用によって有効性が実証されてき
たが、本来は分野に依存しない基本的概念である。今後
は、人間の持つあいまいな知識の表現手段として、知識
工学的な手法と結びついた、より広範なファジィ情報処
理の発展が期待される。
Fuzzy theory is attracting attention as a means of expressing the ambiguity inherent in human language. The effectiveness of fuzzy theory has been demonstrated mainly through application in the control field, but it is originally a fundamental concept that does not depend on the field. In the future, it is expected that a broader range of fuzzy information processing will be developed in conjunction with knowledge engineering methods as a means of expressing ambiguous human knowledge.

ファジィ情報処理を支援するシステムに求められる条件
には次の2つがある。
There are two conditions required for a system that supports fuzzy information processing:

(1)ファジィ集合の処理と記号処理とを統一的に行え
ること。
(1) Fuzzy set processing and symbol processing can be performed in a unified manner.

(2)ファジィ集合の表現と演算を容易且つ高速に行え
ること。
(2) Expression and calculation of fuzzy sets can be performed easily and quickly.

現在までにも「ファジィコンピュータ」と名付けられた
システムは存在したが、このような条件を満たすもので
はなかった。ハードウェアによるものは、制御用のファ
ジィ推論の高速な実行を目的としたものであり、−船釣
な数値演算、記号処理などの処理をサポートしていない
。また、ソフトウェアによるファジィ集合処理システム
などの例もあるが、充分な汎用性と高速性を兼ね備えた
ものは見られない。
There have been systems called ``fuzzy computers'' to date, but they did not meet these conditions. Those based on hardware are aimed at high-speed execution of fuzzy inference for control purposes, and do not support processing such as simple numerical calculations and symbolic processing. There are also examples of software-based fuzzy set processing systems, but none that have sufficient versatility and high speed have been found.

上に示した2つの条件を満たすために、ファジィ知的情
報処理に適した言語と、これを高速に実行するためのハ
ードウェアとを説明する。
In order to satisfy the above two conditions, a language suitable for fuzzy intellectual information processing and hardware for executing this at high speed will be explained.

まず、ファジィコンピュータのシステム記述言語である
オブジェクト指向言語MoNo (以下、単にrMoN
o」と称する。)の概要について述べる。そして、Mo
Noを高速処理するためのハードウェアの基本構成を示
し、数値演算の高速化のための機能分散命令法方式演算
部について述べる。
First, we will start with the object-oriented language MoNo (hereinafter simply rMoN), which is a system description language for fuzzy computers.
o”. ). And Mo
The basic configuration of hardware for high-speed processing of numbers will be shown, and a functional distributed instruction method calculation unit for high-speed numerical calculation will be described.

オブジェクト  舌伍M。Noの オブジェクト指向のモデルを導入することにより、以下
のような特徴が得られる。
Object Tongo M. By introducing No.'s object-oriented model, the following features can be obtained.

(1)ファジィ集合のデータ型としての表現ファジィ集
合を構造化されたデータと捉え、これをオブジェクトと
して表現することにより、ファジィ集合記述の簡潔化が
図れる。
(1) Representation of fuzzy sets as data types By regarding fuzzy sets as structured data and expressing them as objects, it is possible to simplify fuzzy set descriptions.

(2)知識表現の単位としてのオブジェクトとフレーム
等の類似性 オブジェクトは、フレームや意味ネットワークなどの知
識表現の単位の表現に適している。
(2) Similarity between objects and frames as units of knowledge representation Objects are suitable for representing units of knowledge representation such as frames and semantic networks.

(3)プログラム開発の容易性 オブジェクト指向の考え方に基づくことによって、ソフ
トウェアのモジュラ化の容易性、再利用性が向上し、生
産性の向上が期待できる。
(3) Ease of program development By being based on object-oriented concepts, it is possible to improve the ease of modularization and reusability of software, and improve productivity.

更に、メタオブジェクトの概念を導入することにより、
ファジィ知的情報処理で要求される以下のような機能を
実現する。
Furthermore, by introducing the concept of meta-objects,
It realizes the following functions required by fuzzy intelligent information processing.

(1)全体集合の性質に依存したファジィ集合の表現 (2)ファジィ集合演算における無限の演算方式の実現 MoNoにおいて、オブジェクトは「内部状態を持ち、
メツセージにより活発化される実体J、メタオブジェク
トは「オブジェクトの振舞いを記述するオブジェクト」
である。メタオブジェクトとオブジェクトの関係は、ク
ラスとインスタンスの関係に似ているが、メタオブジェ
クトの指定はオブジェクトの側から行う。そのため、オ
ブジェクトの自立性が高まるとともに、1つのオブジェ
クトが多様な機能を持つことが可能となっている。
(1) Representation of fuzzy sets depending on the properties of the entire set (2) Realization of infinite calculation methods in fuzzy set calculations In MoNo, objects "have an internal state,
An entity J activated by a message, a metaobject is an "object that describes the behavior of an object"
It is. The relationship between a metaobject and an object is similar to the relationship between a class and an instance, but the metaobject is specified from the object side. Therefore, the independence of objects increases, and it becomes possible for one object to have a variety of functions.

MoNoにおけるプログラムの基本はメツセージパシン
グにより記述される。オブジェクトは、レセプタ(re
ceρtor)を持っており、メツセージを受けると、
レセプタ中のバタンと送られたメツセージとをメタオブ
ジェクトにより震合し、マツチしたレセプタのアクショ
ンが実行される。
The basic program in MoNo is written by message passing. The object is a receptor (re
ceρtor) and when you receive a message,
The metaobject matches the slam in the receptor with the message sent, and the action of the matched receptor is executed.

メツセージによって起動されるべきアクションは、レシ
ーバオブジェクトの状態などにより変化するので、実行
時まで決定できない。従って、実行はインクリメンタル
コンパイル方式により、対話的に行われる。
The action to be activated by a message changes depending on the state of the receiver object and so on, and cannot be determined until execution time. Therefore, execution is performed interactively using an incremental compilation method.

バー ウェアアーキークチ の ファジィコンピュータ上のプログラムはMoN0により
記述されるため、次に示すMoNoの処理をハードウェ
ア化することにより、ファジィ情報処理の高速処理が期
待できる。
Since the program on the fuzzy computer of the barware architecture is written in MoN0, high-speed processing of fuzzy information can be expected by converting the following MoNo processing into hardware.

(1)ファジィ集合演算処理 (2)ファジィ関係やファジィ積分等の数値演算処理 (3)メツセージ伝達処理 (4)オブジェクトの生成やガーベジ・コレクシボンに
伴うメモリ管理処理 (1)(2)は数値処理であり、(3)(4)は記号処
理である。
(1) Fuzzy set calculation processing (2) Numerical calculation processing such as fuzzy relationships and fuzzy integrals (3) Message transmission processing (4) Memory management processing associated with object generation and garbage collection (1) (2) are numerical processing , and (3) and (4) are symbolic processing.

上記の(1)(2)の要求に対しては、ファジィ集合演
算で最も特徴的な処理を高速処理するファジィ集合処理
演算器と、通常の数値演算処理 て、これらを並列に動作させることにより満足すること
ができる。
In order to meet the above requirements (1) and (2), a fuzzy set processing unit that processes the most characteristic processing in fuzzy set calculations at high speed and a normal numerical calculation process are operated in parallel. can be satisfied.

複数個の演算器を並列に動作させるには、VLI W 
(Very Long In5truction Wo
rd)方式をとることが考えられる。VL IW方式で
は、コンパイラによる静的なプログラム解析により、バ
ス、メモリ構成を含む演算器構成に最適なコードを生成
する。しかし、MoNoでは、以下に述べるような、メ
ツセージ伝達により計算が行われるため、コンパイラに
よる静的な解析が困難である。つまり、インタプリタに
よる動的処理が行われる。
To operate multiple arithmetic units in parallel, VLI W
(Very Long In5truction Wo
rd) method may be adopted. In the VL IW method, a compiler performs static program analysis to generate a code that is optimal for the arithmetic unit configuration, including bus and memory configurations. However, in MoNo, calculations are performed by message transmission as described below, so static analysis by a compiler is difficult. In other words, dynamic processing is performed by the interpreter.

メツセージ伝達による計算モデルでは、オブジェクトは
メツセージを受は取ると、そのメツセージに対応した、
メツセージ伝達や、数値やファジィ集合のようなデータ
に対する演算命令などのアクションを実行する。
In a computational model based on message transmission, when an object receives a message, it
Perform actions such as message transmission and computational instructions on data such as numbers and fuzzy sets.

二のように、各演算器に対する命令が、実行時に動的に
生成されるもとで、各演算器を効率良く並列に動作させ
、ファジィ情報処理を高速処理する方式として、以下の
ようなアーキテクチャを検討する。
As shown in 2, the following architecture is used as a method to efficiently process each arithmetic unit in parallel and perform fuzzy information processing at high speed, with instructions for each arithmetic unit dynamically generated during execution. Consider.

(1)オブジェクト管理:MoNoを解放しくオブジェ
クトの生成処理、メツセージ通信処理など)、各演算器
に対する逐次的な演算命令流を動的に発生する。
(1) Object management: Dynamically generates a sequential operation command stream for each arithmetic unit (object generation processing, message communication processing, etc.) to free up MoNo.

(2)機能分散命令漬方式−動的に発生された命令流を
、各演算器毎の機能分散命令流に分散し、演算器間で同
期をとりなから並列処理する。
(2) Functional distributed instruction dipping method - A dynamically generated instruction stream is distributed into functionally distributed instruction streams for each computing unit, and parallel processing is performed without synchronization between the computing units.

(3)高機能演算命令:演算命令を、メモリーメモリ演
算モデルの3オペランドの高機能演算命令とすることに
より、M o N oの解釈時に演算器構成を考える必
要をなくし、演算命令の発生を容易にする。
(3) High-performance arithmetic instructions: By using the 3-operand high-performance arithmetic instructions in the memory-memory arithmetic model, there is no need to consider the arithmetic unit configuration when interpreting M o N o, and the generation of arithmetic instructions is reduced. make it easier.

(4)同期処理:演算器間の同期処理と、バスのアービ
トレーションは、全てハードウェアでサポートすること
により、機能分散命令流を高速に処理する。
(4) Synchronous processing: Synchronous processing between arithmetic units and bus arbitration are all supported by hardware, so that distributed instruction streams can be processed at high speed.

(5)メモリアーキテクチャ二数値データを保持するメ
モリは、複数のバンクに分割し、複数の演算器が異なる
バンクに対して同時アクセス可能とすることにより、高
速データ転送を実現する。
(5) Memory Architecture A memory that holds binary numerical data is divided into multiple banks, and multiple arithmetic units can access different banks simultaneously to achieve high-speed data transfer.

第1図に、以上の処理を行うファジィコンピュータの全
体構成をブロック図で示す。
FIG. 1 shows a block diagram of the overall configuration of a fuzzy computer that performs the above processing.

第1図に示されるアーキテクチャにおいて、主な構成要
素は、ホストコンピュータとのインターフェース1、記
号処理部2、数値演算部3、バススイッチ4、オブジェ
クト管理メモリ5及び数値データ用メモリパンクロ1〜
6nから成る。
In the architecture shown in FIG. 1, the main components are an interface 1 with the host computer, a symbol processing section 2, a numerical calculation section 3, a bus switch 4, an object management memory 5, and a memory panchromator 1 for numerical data.
Consists of 6n.

インターフェース1は、この実施例では、VMEバスB
oを介してホストコンピュータと記号処理部2とを結合
する。記号処理部2は、オブジェクト管理部OM U 
(Object Management Unit)と
称され、オブジェクト指向言語MoNoのメツセージ通
信とオブジェクト生成の処理を行い、高機能演算命令l
N5Tを発生する。オブジェクトを記述したメツセージ
パシングのためのメソッド等の記号データは、記号処理
部2にハスB1を介して結合されたオブジェクト管理メ
モリ5に書き込まれている。なお、記号処理部2(オブ
ジェクト管理部)は、記号データをリストとして扱うリ
スト処理機構を基本構成とするインタプリタであってよ
い。
Interface 1 is in this example VMEbus B
The host computer and the symbol processing section 2 are coupled via o. The symbol processing unit 2 is an object management unit OMU
(Object Management Unit), which handles message communication and object generation in the object-oriented language MoNo, and processes high-performance arithmetic instructions.
Generates N5T. Symbol data such as a method for message passing that describes an object is written in an object management memory 5 connected to the symbol processing section 2 via a lotus B1. Note that the symbol processing section 2 (object management section) may be an interpreter whose basic configuration is a list processing mechanism that handles symbol data as a list.

数値演算部3は、異なるI!能を有する複数個の演算器
で構成され、記号処理部2から発生された高機能演算命
令lN5Tを受けて、機能分散並列処理を行う。従って
、数値演算部3は、機能分散命令法方式演算部F I 
P U (Function−Partition−e
d、  Instruction−5treaga  
Method  Processing  Unit)
と称される。異なる機能を有する演算器は、例えば浮動
小数点演算器3 a (F P U : Floati
ng Po−1nt [In1t) 、整数乗算器3 
b (I M U = IntegerMultipl
ier Unit)、ファジィ集合演算器3c(FS 
U : Fuzzy 5ets Unit)などから成
る。高機能演算命令I NSTはこれらの演算器におい
て分散処理される。また、これらの演算器3a、3b、
3C−・−−−−−−−は、同機能のものが複数(例え
ば2ユニツトずつ)用意され、命令が並列処理される。
The numerical calculation unit 3 uses different I! It is composed of a plurality of arithmetic units having high performance, and receives the high-performance arithmetic instruction IN5T generated from the symbol processing unit 2, and performs functional distributed parallel processing. Therefore, the numerical calculation unit 3 is a functional distributed instruction method calculation unit F I
P U (Function-Partition-e
d. Instruction-5treaga
Method Processing Unit)
It is called. An example of an arithmetic unit having different functions is a floating point arithmetic unit 3a (FPU: Floati
ng Po-1nt [In1t), integer multiplier 3
b (IM U = IntegerMultipl
ier Unit), fuzzy set operator 3c (FS
U: Fuzzy 5ets Unit). The high-performance arithmetic instruction INST is distributed and processed in these arithmetic units. Moreover, these computing units 3a, 3b,
A plurality of units (for example, two units each) having the same function are prepared for 3C--------, and instructions are processed in parallel.

ナオ、ファジィ集合演算器3cは、メンバシップのグレ
ードを要素とするベクトルデータを扱うことができるベ
クトル・行列演算器を主体とする。
The fuzzy set calculator 3c is mainly a vector/matrix calculator that can handle vector data whose elements are membership grades.

演算器3a、3b、3 c −−−−−−−は、ハスア
ービターB A (Bas Arbitor)を介して
演算機能ごとに用意されたバスB−、Bb 、B、  
・・・−・・−・表結合され、これらのバスはバススイ
ッチ4を介してメモリパンクロ1〜6rlと結合される
The arithmetic units 3a, 3b, 3c --------- are connected to buses B-, Bb, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, A, B, A, B, A, B, A, B, A, B, A, B, A, B, A, B, B, A, B, B, A, B, B, A, B, B, B, B, B, B, B, B, B,
. . . Table-coupled, and these buses are coupled to the memory panchros 1 to 6rl via the bus switch 4.

メモリパンクロ1〜6□は、格納するデータの型により
分割されている。第1図に示した例では、メモリパンク
ロ□は整数データ用で、メモリパンクロ2は実数データ
用で、メモリパンクロ3はファジィ集合データ(ベクト
ルデータ)用である。
Memory panchros 1 to 6□ are divided according to the type of data to be stored. In the example shown in FIG. 1, memory panchromatic □ is for integer data, memory panchromatic 2 is for real number data, and memory panchromatic 3 is for fuzzy set data (vector data).

演算器側のバスB、 、Bb、B、−・・・・・・・・
−・は、各データ型に一つが割り当てられていて、同一
タイプのデータ型の演算器どうしは、バスアービターB
Aにより調停されて、対応するデータ型のメモリバンク
をアクセスする。また、複数の異なる型の演算器は、並
行的(同時)に対応するデータ型のメモリバンクをアク
セスすることができる。
Bus B on the computing unit side, , Bb, B, ---
-, one is assigned to each data type, and the bus arbiter B
Arbitration is made by A to access the memory bank of the corresponding data type. Further, a plurality of different types of arithmetic units can access memory banks of corresponding data types in parallel (simultaneously).

データの型は記号処理部2により指示される。The data type is specified by the symbol processing unit 2.

指示されたデータ型は、バススイッチ4内のバンクテー
ブルBTに保持され、演算器3a、3b、3c −・・
・−−一−−−とメモリパンクロt、6z  ・−との
接続情報として使用される。通常は同じ型の演算器とメ
モリバンクとが接続されている。演算器が異なるデータ
型のメモリバンクにアクセスするときには、バススイッ
チ4内のバススイッチコントローラBSCに要求を出す
。バススイッチコントローラBSCは、出された要求に
対応して、メモリアクセスの競合を回避しなから、演算
器によるメモリアクセスを可能とする。
The designated data type is held in the bank table BT in the bus switch 4, and is stored in the arithmetic units 3a, 3b, 3c --...
・--1--- and memory panchromatic t, 6z ・- It is used as connection information. Usually, arithmetic units and memory banks of the same type are connected. When an arithmetic unit accesses a memory bank of a different data type, it issues a request to the bus switch controller BSC in the bus switch 4. In response to the issued request, the bus switch controller BSC enables the arithmetic unit to access the memory while avoiding memory access conflicts.

m遺l皇金 第2図に、記号処理部2(オブジェクト管理部)から数
値演算部3に与えられる高機能演算命令のデータ構造を
示す。
FIG. 2 shows the data structure of a high-performance calculation instruction given from the symbol processing section 2 (object management section) to the numerical calculation section 3.

高機能演算命令は、2つ又は1つのデータを読み込み、
任意の処理を行い、処理結果を書き込むという一連の操
作を指示する。
High-performance calculation instructions read two or one data,
Instructs a series of operations to perform arbitrary processing and write the processing results.

第2図に示すように、lワード分の高機能演算命令は、
命令タグ、オペレーションコード、第1読込みアドレス
、第2読込みアドレス、書込みアドレスを夫々示す5つ
のセグメン)10〜14から成る。命令タグのセグメン
ト10は、読込みアドレスのデータ型を指示するタグ1
0aと、書込みアドレスのデータ型を指示するタグI 
Q bとから成る。タグ10aの読込みアドレスのデー
タ型は、セグメント12.13に格納された第1、第2
読込みアドレスのデータ型を示す。また、タグfobの
書込みアドレスのデータ型は、セグメント14に格納さ
れた書込みアドレスのデータ型を示ス。オペレーション
のセグメント11は、演算器の種別を示すタグllaと
、タグllaによって指示された演算器への命令を示す
部分11bとから成る。演算器の種別を示すタグlla
は、第1図の数値演算部3における浮動小数点演算器3
a、整数乗算器3b、ファジィ集合演算器30等を選択
するコードとして使用される。演算命令の部分11bは
、加算、減算、乗算、除算、論理演算等を実行する演算
ユニットへの命令(オペコード)を示す。
As shown in Figure 2, the high-performance operation instructions for l words are:
It consists of five segments (10 to 14) each indicating an instruction tag, an operation code, a first read address, a second read address, and a write address. Segment 10 of the instruction tag is tag 1 that indicates the data type of the read address.
0a and tag I that indicates the data type of the write address
Consists of Q b. The data type of the read address of tag 10a is the first and second data type stored in segment 12.13.
Indicates the data type of the read address. Further, the data type of the write address of the tag fob indicates the data type of the write address stored in the segment 14. The operation segment 11 includes a tag lla indicating the type of arithmetic unit, and a portion 11b indicating an instruction to the arithmetic unit designated by the tag lla. Tag lla indicating the type of computing unit
is the floating point arithmetic unit 3 in the numerical arithmetic unit 3 in FIG.
a, the integer multiplier 3b, the fuzzy set arithmetic unit 30, etc. The arithmetic instruction portion 11b indicates instructions (opcodes) to the arithmetic unit to perform addition, subtraction, multiplication, division, logical operations, and the like.

第1、第2読込みアドレスを示すセグメン)12.13
は、夫々演算の第1引数及び第2引数の各データが格納
されているメモリのアドレスを示す。これらの引数のデ
ータ型は、タグloaが示すデータ型と一致している。
Segment indicating the first and second read addresses) 12.13
indicates the address of the memory where each data of the first argument and the second argument of the operation is stored. The data types of these arguments match the data types indicated by the tag loa.

書込みアドレスを示すセグメント14は、演算結果を格
納するメモリのアドレスを示す、演算結果のデータ型は
、タグ10bによって指示されている。
The segment 14 indicating the write address indicates the memory address for storing the operation result. The data type of the operation result is indicated by the tag 10b.

第2図に示す高機能演算命令においては、タグ10aが
示す読込みアドレスのデータ(第1、第2引数)の型と
、タグllaが示す演算器の種別とが必ず合致しなけれ
ばならないという制限を与えである。例えば、整数演算
を行う命令の読込みデータは、必ず整数型である。引数
として書き込むデータは、演算器と同じ型のデータであ
るとは限らない。従って、異なったデータ型どうしの演
算では、必ずデータ型変換命令を事前に実行し、演算器
に合ったデータ型にしておく必要がある。
In the high-performance arithmetic instruction shown in FIG. 2, there is a restriction that the type of data (first and second arguments) at the read address indicated by tag 10a must match the type of arithmetic unit indicated by tag lla. It is given. For example, data read by an instruction that performs an integer operation is always of integer type. The data written as an argument is not necessarily of the same type as the arithmetic unit. Therefore, when performing calculations between different data types, it is necessary to execute a data type conversion instruction in advance to make the data type suitable for the arithmetic unit.

このように、読込みデータに制限を付けることにより、
後述の演算器間の同期処理を容易にすることができる。
In this way, by limiting the read data,
Synchronization processing between computing units, which will be described later, can be facilitated.

読込みデータ、書込みデータ及び演算器の各型に対応す
るタグ10a、10b、11aは、同期処理と演算器の
選択のために付されている。
Tags 10a, 10b, and 11a corresponding to each type of read data, write data, and arithmetic unit are attached for synchronization processing and selection of arithmetic unit.

第3図に数値演算部の要部ブロック図を示す。FIG. 3 shows a block diagram of the main parts of the numerical calculation section.

記号処理部2(オブジェクト管理部OMU)より発生し
た高機能演算命令lN5Tは、逐次命令キュー(SIQ
)31において発生順に保持され、命令分配器(ID)
32に順次転送される。命令分配器32は、演算命令に
付された演算器の型を示すタグllaに従って命令I 
NSTを演算器3a、、3b、3c  ・−・・−・−
に分配する。
The high-performance operation instruction lN5T generated from the symbol processing unit 2 (object management unit OMU) is stored in the sequential instruction queue (SIQ).
) 31 in the order of occurrence, and the instruction distributor (ID)
32 in sequence. The instruction distributor 32 distributes the instruction I according to the tag lla attached to the arithmetic instruction indicating the type of arithmetic unit.
NST is calculated by computing units 3a, 3b, 3c ・−・・−・−
to be distributed.

演算器3a、3 b −、3c −・−−−−−は、第
3図にその1つ(3a)を示すように、演算器命令キュ
ー(PIQ)34、同期制御器(SC)35及び演算ユ
ニッ) (PU)36から成る。演算器命令キュー34
は、演算ユニット36で処理する演算命令lN5Tを保
持する。保持された演算命令には、他の演算器との同期
処理のためのフラグビットが付加されている。同期制御
器35は、演算器命令キュー34のフラグビットを参照
しなから、他の演算器との同期を考えて、演算器命令キ
ュー34の演算命令lN5Tを演算ユニット36に送る
。演算命令ユニット36は、送られて来た高機能演算命
令を並列処理する。
The arithmetic units 3a, 3b-, 3c--------, as one (3a) is shown in FIG. It consists of 36 calculation units (PU). Arithmetic unit instruction queue 34
holds an arithmetic instruction IN5T to be processed by the arithmetic unit 36. A flag bit is added to the retained arithmetic instruction for synchronization processing with other arithmetic units. The synchronization controller 35 sends the arithmetic instruction IN5T of the arithmetic unit instruction queue 34 to the arithmetic unit 36 without referring to the flag bit of the arithmetic unit instruction queue 34, considering synchronization with other arithmetic units. The arithmetic instruction unit 36 processes the sent high-performance arithmetic instructions in parallel.

整数演算器、浮動小数点演算器、ファジィ演算器等の演
算の型ごとに設けられた演算器3a、3b、3 c −
−−−−−−は、1つの演算器判別器(FD)33に結
合されている。演算器判別器33は、演算ユニット36
から得られる同期のための信号をどの同期制御器35に
送るかを判別する。
Arithmetic units 3a, 3b, 3c provided for each type of arithmetic operation such as an integer arithmetic unit, a floating point arithmetic unit, a fuzzy arithmetic unit, etc.
------- is coupled to one arithmetic unit discriminator (FD) 33. The arithmetic unit discriminator 33 is an arithmetic unit 36
It is determined to which synchronization controller 35 the signal for synchronization obtained from the synchronization controller 35 is to be sent.

置皿処理 次に、第3図と共に第4図の流れ図を参照して演算器3
a、3 b 、 3 c−−−一間の同期処理について
説明する。
Placement plate processing Next, referring to the flowchart in FIG. 4 together with FIG.
The synchronization process between a, 3b, 3c---1 will be explained.

高機能演算命令lN5Tは、記号処理部2で発生された
順に逐次命令キュー31に保持される。
The high-performance arithmetic instructions IN5T are sequentially held in the instruction queue 31 in the order in which they are generated by the symbol processing unit 2.

逐次命令キュー31は、例えば8つの命令バッファを備
え、バッファに空きが生じると、信号fullをインア
クティブにし、記号処理部2に知らせる。
The sequential instruction queue 31 includes, for example, eight instruction buffers, and when a buffer becomes vacant, the signal full is made inactive and the symbol processing unit 2 is notified.

記号処理部2は、書込み信号−riteと共に新たな演
算命令を逐次命令キュー31に送り出す。
The symbol processing unit 2 sequentially sends new operation instructions to the instruction queue 31 along with the write signal -rite.

第4図の逐次命令キュー31に蓄積された命令語の例に
おいて、命令タグ10a、10bのI、Rは夫々整数、
実数を示し、オペレーションタグ11aのALU、rM
U、FPU等は、整数演算器、整数乗算器、浮動小数点
演算器等の演算器の型を示し、命令部分11bの+、×
、#等は、加算、乗算、データ型変換等の演算ユニット
への命令を示す。読込みアドレス12.13及び書込み
アドレス14の31、SR,Ll、LR等は、整数、実
数(浮動小数点)を短ワード又は長ワードとして扱うメ
モリのアドレスを示す。
In the example of instruction words accumulated in the sequential instruction queue 31 in FIG. 4, I and R of instruction tags 10a and 10b are integers, respectively.
ALU of operation tag 11a, rM
U, FPU, etc. indicate the type of arithmetic unit such as an integer arithmetic unit, an integer multiplier, a floating point arithmetic unit, etc., and +, × in the instruction part 11b
, #, etc. indicate instructions to the arithmetic unit such as addition, multiplication, and data type conversion. The read addresses 12 and 13 and the write addresses 14, 31, SR, Ll, LR, etc., indicate memory addresses that treat integers and real numbers (floating point numbers) as short words or long words.

命令分配器32は、信号readにより、逐次命令キュ
ー31の先頭から命令を読み出し、実行すべき演算器3
a、3b−・・・−・−の演算器命令キュー34に送る
。同期制御器35は、演算器命令キュー34の4つの命
令バッファIBのうちの先頭の命令を実行可能かどうか
判断し、実行可能であれば演算ユニット36に送る。演
算器命令キュー34の各命令バッファIBには、同期制
御のためのフラグビットFBが付けられている。
The instruction distributor 32 sequentially reads instructions from the head of the instruction queue 31 in response to the signal read, and selects the instructions from the arithmetic unit 3 to be executed.
a, 3b--...- to the arithmetic unit instruction queue 34. The synchronization controller 35 determines whether the first instruction of the four instruction buffers IB of the arithmetic unit instruction queue 34 is executable, and if it is executable, sends it to the arithmetic unit 36. Each instruction buffer IB of the arithmetic unit instruction queue 34 is provided with a flag bit FB for synchronization control.

同期制御器35は、演算を実行するときに使用するアド
レスが有効になっているか否かを判断して同期制御を行
うための無効アドレステーブル35aを持つ。この無効
アドレステーブル35aは、5つの無効アドレスバッフ
ァIABと各バッファに付けられたフラグビットFBか
ら成る。また、同期制御器35は、演算ユニット36に
、次に実行する命令を保持すると共に、その命令が使用
するアドレスの無効状態を監視する命令監視部35bを
備える。
The synchronization controller 35 has an invalid address table 35a for performing synchronization control by determining whether or not an address used when executing an operation is valid. This invalid address table 35a consists of five invalid address buffers IAB and a flag bit FB attached to each buffer. Furthermore, the synchronization controller 35 includes an instruction monitoring section 35b in the arithmetic unit 36 that holds an instruction to be executed next and monitors an invalid state of an address used by the instruction.

命令監視部35bにおいて、無効アドレスが解消したこ
とが判断されると、保持されている命令が演算ユニット
36に送られ、演算が実行される。
When the instruction monitoring unit 35b determines that the invalid address has been resolved, the held instruction is sent to the arithmetic unit 36 and the arithmetic operation is executed.

なお、第4図に示されている32の演算ユニット36は
、異なるタイプの演算器3a、3b  −・・・−・・
・に属するもので、例えば整数演算器、整数乗算器、浮
動小数点演算器に相当する。
Note that the 32 arithmetic units 36 shown in FIG. 4 are different types of arithmetic units 3a, 3b.
・It corresponds to, for example, an integer arithmetic unit, an integer multiplier, and a floating point arithmetic unit.

演算器間の同期は、未実行の先行命令の書込みデータの
アドレスと後行命令の読込みデータのアドレスとのチエ
ツクによって行う。第4図には、逐次命令キュー31に
No、1−No、8の命令があり、これらを全て演算器
命令キュー34に分配した後に、No、1の命令が実行
されたときの様子が示されている。演算器命令キュー3
4のフラグビットFBのf7は、No、nの命令が演算
器命令キュー34に送られたときに、“工”が立てられ
たことを示している。
Synchronization between arithmetic units is performed by checking the address of write data of an unexecuted preceding instruction and the address of read data of a succeeding instruction. In FIG. 4, there are instructions No. 1-No. 8 in the sequential instruction queue 31, and after all these instructions are distributed to the arithmetic unit instruction queue 34, the situation when the instruction No. 1 is executed is shown. has been done. Arithmetic unit instruction queue 3
Flag bit f7 of No. 4 flag bit FB indicates that "work" is set when the No. n instruction is sent to the arithmetic unit instruction queue 34.

命令分配器32から演算器命令キュー34に命令を分配
する際には、命令中の演算器種類のタグ11aに基づい
て命令−rite信号が出力されて、指定の演算器3a
、3b −・−・・・−の演算器命令キュー34に命令
が転送される。このとき、他の演算器命令キュー34の
キューイングされている最後の命令の次の位置のフラグ
をチエツクし、立っていなければ、flag writ
e信号を出力してフラグを立てる。例えば、逐次命令キ
ュー31からNo、2の命令(この場合には、整数演算
命令ALU)をALUの演算器命令キュー34に読み込
むときには、他の演算器(この場合には、IMU)のキ
ューイングされている最後の命令(この場合には、No
、1の整数乗算命令IMU)の次の位置のフラグビット
FBをfz=1にセットする。
When distributing an instruction from the instruction distributor 32 to the arithmetic unit instruction queue 34, an instruction-rite signal is output based on the arithmetic unit type tag 11a in the instruction, and the command is sent to the specified arithmetic unit 3a.
, 3b ---, the instruction is transferred to the arithmetic unit instruction queue 34. At this time, the flag next to the last queued instruction in the other arithmetic unit instruction queue 34 is checked, and if it is not set, the flag write
Output the e signal and set a flag. For example, when reading the instruction No. 2 (integer operation instruction ALU in this case) from the sequential instruction queue 31 into the operation unit instruction queue 34 of the ALU, queuing of another operation unit (IMU in this case) (in this case, No.
, 1 (integer multiplication instruction IMU)) is set to fz=1.

これと同時に、write信号を出力して、対応のIM
Uの同期制御器35の無効アドレステーブル35aに、
書込みデータのアドレス(命令No、2では、312)
を書き込む。このとき、IMUの演算器命令キュー34
にフラグを立てた場合には、無効アドレステーブル35
aの対応のフラグビットFBにもフラグを立てる(f2
)。
At the same time, a write signal is output and the corresponding IM
In the invalid address table 35a of the synchronous controller 35 of U,
Write data address (312 for instruction No. 2)
Write. At this time, the arithmetic unit instruction queue 34 of the IMU
If the flag is set, the invalid address table 35
A flag is also set in the flag bit FB corresponding to a (f2
).

このように、演算器命令キュー34のフラグと、同期制
御器35内の無効アドレステーブル35aのフラグを用
いることにより、演算器命令キュー34から演算ユニッ
ト36に命令を送るときに、チエツクすべきアドレスの
チエツク範囲を知ることができる。この命令分配器32
の同期処理においては、高機能演算命令は、演算器の型
と異なったデータの型の読み込みを禁止して生成されて
いるので、型変換命令以外の命令では、同−型の演算器
(例えばALUとIMU)に対する操作(チエツク)の
みでよい。また、型変換命令のときには、変換データを
書き込むデータ型の演算器に対する毘作のみでよい。
In this way, by using the flag of the arithmetic unit instruction queue 34 and the flag of the invalid address table 35a in the synchronization controller 35, the address to be checked is determined when sending an instruction from the arithmetic unit instruction queue 34 to the arithmetic unit 36. You can know the check range. This instruction distributor 32
In the synchronous processing of It is only necessary to operate (check) the ALU and IMU. Further, in the case of a type conversion instruction, it is only necessary to perform the same operation on the arithmetic unit of the data type to which the conversion data is written.

次に、同期制御器35により、演算器命令キュー34か
ら演算ユニット36に命令を転送するときの処理を述べ
る。演算器命令キュー34より読み出した命令にフラグ
が立っていれば、無効アドレステーブル35aの先頭に
最も近いフラグをflag remove信号により消
す。そして、読み出した命令の読込みデータのアドレス
12.13と、無効アドレステーブル35aの先頭から
フラグの立っているアドレスの前までのアドレスとをチ
エツクする。もしアドレスが一致したならば、命令監視
部35bの命令レジスタIRにその命令を書き込み、無
効アドレスレジスタJARに一致したアドレスを書き込
む。
Next, the process of transferring an instruction from the arithmetic unit instruction queue 34 to the arithmetic unit 36 by the synchronization controller 35 will be described. If the instruction read from the arithmetic unit instruction queue 34 has a flag set, the flag closest to the head of the invalid address table 35a is erased by the flag remove signal. Then, the addresses 12 and 13 of the read data of the read instruction and the addresses from the beginning of the invalid address table 35a to before the flagged address are checked. If the addresses match, the instruction is written into the instruction register IR of the instruction monitoring section 35b, and the matching address is written into the invalid address register JAR.

例えば、命令No、2(ALU命令)を読み出したとき
には、この命令の読込みデータのアドレスS■1、I1
3と無効アドレステーブル35aの先頭アドレスSII
とを比較する。アドレスSllは、命令No、1 (I
 M U命令)の転送のときに、ALUの無効アドレス
テーブル35aに書き込まれた命令No、1が使用して
いる書込みアドレスである。
For example, when reading instruction No. 2 (ALU instruction), the address S1, I1 of the read data of this instruction is
3 and the starting address SII of the invalid address table 35a.
Compare with. Address Sll is instruction No. 1 (I
This is the write address used by instruction No. 1 written in the invalid address table 35a of the ALU when transferring the MU instruction).

従って、この場合には、命令No、1の書込みアドレス
Sllと、命令No、2の読出しアドレスSIIとが一
致する。このことは、IMUにおいて、命令No、lの
演算が終了して、演算結果が書込みアドレスSIIに入
らなければ、ALUにおいて、NO,2の演算を行うた
めにアドレス311から引数データを読み出してはなら
ないことを示す。従って、この場合には、ALUの命令
監視部35bの命令レジスタIRにNo、2の命令が入
り、無効アドレスレジスタIARに一致アドレスSll
が入る。
Therefore, in this case, the write address Sll of instruction No. 1 and the read address SII of instruction No. 2 match. This means that if the IMU completes the operation of the instruction No. 1 and the operation result does not enter the write address SII, the ALU cannot read the argument data from the address 311 to perform the operation of No. 2. Indicates that this is not the case. Therefore, in this case, the instruction No. 2 is entered into the instruction register IR of the instruction monitoring unit 35b of the ALU, and the matching address Sll is entered into the invalid address register IAR.
enters.

同期制御器35の命令監視部35bは、無効アドレスレ
ジスタIARのアドレスに演算器がデータを書き込むの
を待って、write信号により命令レジスタIRの命
令を演算ユニット36に送る。
The instruction monitoring unit 35b of the synchronous controller 35 waits for the arithmetic unit to write data to the address of the invalid address register IAR, and then sends the instruction of the instruction register IR to the arithmetic unit 36 using a write signal.

アドレスが一致しなかった場合には、待機なしに演算器
に命令を即座に送る。
If the addresses do not match, the instruction is immediately sent to the arithmetic unit without waiting.

演算器判別器33は、演算ユニット36が書き込みを行
ったアドレスとそのデータ型を示すタグを監視していて
、演算ユニット36からのend信号により書き込みが
生じたことを知ったときには、同じ型の演算器の同期制
御器35にその書込みアドレスをwrite信号により
通知する。従って、演算器判別器33は、第4図に示す
ように例えばALUとIMU間で演算終了時の書込みア
ドレスを相互に転送し合うように転送処理を行う。
The arithmetic unit discriminator 33 monitors the address to which the arithmetic unit 36 has written and the tag indicating its data type, and when it learns that a write has occurred due to the end signal from the arithmetic unit 36, it identifies a tag of the same type. The write address is notified to the synchronization controller 35 of the arithmetic unit by a write signal. Therefore, as shown in FIG. 4, the arithmetic unit discriminator 33 performs a transfer process such that, for example, the ALU and IMU mutually transfer the write address at the end of the operation.

演算器判別器33から書き込み終了を通知された同期制
御器35は、転送された書込みアドレスと、演算器監視
部35bの無効アドレスレジスタJARにセットされて
いる無効アドレスとを比較し、一致した場合には、命令
レジスタIRの命令を演算ユニット36に送る。そして
、無効アドレスレジスタIARより通知された書込みア
ドレスを消去する。
The synchronization controller 35, which has been notified of the completion of writing from the arithmetic unit discriminator 33, compares the transferred write address with the invalid address set in the invalid address register JAR of the arithmetic unit monitoring unit 35b, and if they match. To do this, the instruction in the instruction register IR is sent to the arithmetic unit 36. Then, the write address notified from the invalid address register IAR is erased.

濱1諮=ヒム1 演算ユニット36の構成を第5図に示す。演算ユニット
36は、実行可能な高機能命令を受は取り、実行する。
FIG. 5 shows the configuration of the arithmetic unit 36. Computing unit 36 receives and executes executable high-function instructions.

演算ユニットの内部は、データロード部36a、実行部
36b、データストア部36Cに分けられ、そりアクセ
ストと命令実行とを同時に処理する。この2段のパイプ
ライン処理を実行するために、連続する2命令を格納す
る命令バッファ36dを設けである。データロード部3
6aでは、命令バッファ36dから供給される読込みア
ドレス1.2及び書込みアドレスに基づいてアドレスジ
ェネレータ36eがメモリにアドレスを出力する。パイ
プライン処理のために、メモリからデータを読み込むと
きには、アドレスコンパレータ36fにおいて読込みア
ドレスと前命令の書込みアドレスとの一致を調べて、演
算器内の同期をとっている。メモリからのデータ読み込
みは、読込みコントローラ36gから出力されるコント
ロール信号とアドレスジェネレータ36eのアドレス出
力に基づいて行われる。読み出されたデータは、入力レ
ジスタ36hを経て実行部36bの演算要素36jに供
給される。一方、命令ノ\ッファ36dからのオペレー
ションコードは、実行コントローラ36iを介して演算
要素36jに与えられる。演算要素36jの出力は、書
込みコントローラ36kに制御されて、出力レジスタ3
6mからメモリに導出される。書込みアドレスは、命令
バッファ36dに格納されている命令に従ってアドレス
ジェネレータ36eで作成され、メモリに連なるパスラ
インに出力される。
The inside of the arithmetic unit is divided into a data load section 36a, an execution section 36b, and a data store section 36C, which simultaneously process thread access and instruction execution. In order to execute this two-stage pipeline processing, an instruction buffer 36d is provided to store two consecutive instructions. Data load section 3
At 6a, the address generator 36e outputs an address to the memory based on the read address 1.2 and write address supplied from the instruction buffer 36d. When data is read from memory for pipeline processing, the address comparator 36f checks whether the read address matches the write address of the previous instruction and synchronizes the arithmetic unit. Data reading from the memory is performed based on a control signal output from the read controller 36g and an address output from the address generator 36e. The read data is supplied to the calculation element 36j of the execution unit 36b via the input register 36h. On the other hand, the operation code from the instruction buffer 36d is given to the arithmetic element 36j via the execution controller 36i. The output of the calculation element 36j is controlled by the write controller 36k and is sent to the output register 3.
6m to memory. The write address is created by the address generator 36e according to the command stored in the command buffer 36d, and output to the pass line connected to the memory.

〔発明の効果〕〔Effect of the invention〕

本発明の情報処理装置は、上述の如く、オブジェクト間
のメツセージ伝達に基づいてインタープリティブに記号
処理を行う記号処理部と、記号処理に伴う数値演算を記
号処理とは並列に行う数値演算部とを具備させ、記号処
理部から逐次的な演算命令流を動的に生成して数値演算
部に与えるようにしたものである。よって、本発明によ
ると、ファジィ情報処理のように数値演算(ファジィ集
合演算等)を伴う記号処理を行う場合に、プログラムの
記述性が良く、プログラムの生産性が増すと共に、記号
及び数値の並行処理により高速処理が可能となる。
As described above, the information processing device of the present invention includes a symbol processing unit that performs symbolic processing in an interpretive manner based on message transmission between objects, and a numerical calculation unit that performs numerical calculations associated with symbol processing in parallel with the symbolic processing. This system dynamically generates a sequential operation instruction stream from the symbol processing section and supplies it to the numerical operation section. Therefore, according to the present invention, when performing symbolic processing that involves numerical operations (fuzzy set operations, etc.) such as fuzzy information processing, program description is good, program productivity is increased, and parallel processing of symbols and numerical values is possible. The processing enables high-speed processing.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明を適用したファジィコンピュータの全体
構成を示すブロック図、第2図は第1図の記号処理部で
生成される高機能演算命令の構成図、第3図は第1図の
数値演算部の詳細を示すブロック図、第4図は演算器間
の同期処理を示すインストラクションの流れ図、第5図
は演算ユニットの詳細を示すブロック図である。 なお、図面に用いた符号において、 1 ・−・−・・・−・・・−インターフェース2− 
・・・−・・・・−記号処理部 3 ・−−−−−−一・・・−数値演算部4 ・・・−
・−・・−・・−・ バススイッチ5−・・・−・・・
・・−オブジェクト管理メモリ61〜6n −・−・−
・−・メモリバンク31−・・・−・−・逐次命令キュ
ー 32 ・−・−命令分配器 36 ・・−・−・−・ である。 演算器判別器 演算器命令キュー 同期判別器 演算ユニット
FIG. 1 is a block diagram showing the overall configuration of a fuzzy computer to which the present invention is applied, FIG. 2 is a configuration diagram of high-performance arithmetic instructions generated by the symbol processing section of FIG. 1, and FIG. FIG. 4 is a block diagram showing details of the numerical calculation section, FIG. 4 is an instruction flow chart showing synchronization processing between calculation units, and FIG. 5 is a block diagram showing details of the calculation unit. In addition, in the symbols used in the drawings, 1 ・−・−・・・・−・−Interface 2−
...-- Symbol processing section 3 .-------1...- Numerical calculation section 4 ...-
・−・・−・・−・ Bus switch 5−・・・−・
・・−Object management memory 61 to 6n −・−・−
. . . Memory bank 31 . . . Sequential instruction queue 32 . . . Instruction distributor 36 . . . Arithmetic unit discriminator arithmetic unit instruction queue synchronization discriminator arithmetic unit

Claims (8)

【特許請求の範囲】[Claims] (1)オブジェクト間のメッセージ伝達に基づいてイン
タープリティブに記号処理を行う記号処理部と、 上記インタープリティブな記号処理に伴う数値演算を上
記記号処理と並列に実行する数値演算部とを具備し、 上記記号処理部は、上記数値演算部に対し逐次的な演算
命令流を動的に生成することを特徴とする記号処理及び
数値処理を並列的に行う情報処理装置。
(1) Equipped with a symbol processing unit that performs interpretive symbol processing based on message transmission between objects, and a numerical calculation unit that performs numerical operations associated with the above-mentioned interpretive symbol processing in parallel with the above-mentioned symbol processing. An information processing device that performs symbol processing and numerical processing in parallel, wherein the symbol processing unit dynamically generates a sequential operation instruction stream for the numerical calculation unit.
(2)上記数値演算部がファジィ集合演算器を備えるこ
とを特徴とする請求項1に記載の情報処理装置。
(2) The information processing device according to claim 1, wherein the numerical calculation unit includes a fuzzy set calculation unit.
(3)上記数値演算部が実数演算器を備えることを特徴
とする請求項2に記載の情報処理装置。
(3) The information processing device according to claim 2, wherein the numerical calculation unit includes a real number calculation unit.
(4)上記数値演算部が整数演算器を備えることを特徴
とする請求項2又は3に記載の情報処理装置。
(4) The information processing device according to claim 2 or 3, wherein the numerical calculation unit includes an integer calculation unit.
(5)上記数値演算部が、互いにデータ型が異なるファ
ジィ集合演算器、実数演算器及び整数演算器を少なくと
も備え、 上記記号処理部が生成する逐次的な演算命令流の個々の
命令には、演算器の型を指示するタグが付されていると
共に、 上記数値演算部は、上記命令のタグに基づいて命令を指
定の演算器に分配する命令分配器を更に備えることを特
徴とする請求項1に記載の情報処理装置。
(5) The numerical arithmetic unit includes at least a fuzzy set arithmetic unit, a real number arithmetic unit, and an integer arithmetic unit with different data types, and each instruction of the sequential arithmetic instruction stream generated by the symbol processing unit includes: A tag indicating a type of the arithmetic unit is attached, and the numerical calculation unit further includes an instruction distributor that distributes instructions to specified arithmetic units based on the tag of the instruction. 1. The information processing device according to 1.
(6)上記演算命令が、第1、第2引数と演算結果の各
値を格納する3つのアドレス指定を伴う3オペランド構
成のメモリーメモリ演算形命令語から成ることを特徴と
する請求項5に記載の情報処理装置。
(6) The arithmetic instruction is comprised of a memory arithmetic type instruction word having a three-operand configuration with three address specifications for storing the first and second arguments and the values of the arithmetic results. The information processing device described.
(7)上記演算器の夫々が、同一データ型の複数の演算
器を備え、 上記演算命令流の命令間での上記3オペランドの書込み
アドレスと読込みアドレスとの一致を検出し、或る演算
器における先行命令の実行による演算結果の書込み終了
後に、その書込みアドレスからのデータ読込みを伴う後
行命令を別の演算器で実行させる同期制御器を各演算器
が備えることを特徴とする請求項6に記載の情報処理装
置。
(7) Each of the arithmetic units includes a plurality of arithmetic units of the same data type, and detects a match between the write address and the read address of the three operands among the instructions of the arithmetic instruction stream, and selects a certain arithmetic unit. Claim 6, wherein each arithmetic unit is provided with a synchronization controller that causes another arithmetic unit to execute a subsequent instruction that involves reading data from the write address after completion of writing the arithmetic result by executing the preceding instruction. The information processing device described in .
(8)上記演算器の夫々が、互いに独立したバス及びこ
のバスに結合されたメモリを備えることを特徴とする請
求項5に記載の情報処理装置。
(8) The information processing apparatus according to claim 5, wherein each of the arithmetic units includes a mutually independent bus and a memory coupled to the bus.
JP2189147A 1990-07-17 1990-07-17 Information processor performing symbol processing and numeric value processing in parallel Pending JPH0475140A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2189147A JPH0475140A (en) 1990-07-17 1990-07-17 Information processor performing symbol processing and numeric value processing in parallel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2189147A JPH0475140A (en) 1990-07-17 1990-07-17 Information processor performing symbol processing and numeric value processing in parallel

Publications (1)

Publication Number Publication Date
JPH0475140A true JPH0475140A (en) 1992-03-10

Family

ID=16236211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2189147A Pending JPH0475140A (en) 1990-07-17 1990-07-17 Information processor performing symbol processing and numeric value processing in parallel

Country Status (1)

Country Link
JP (1) JPH0475140A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6500523B1 (en) 1994-10-27 2002-12-31 Canon Kabushiki Kaisha Recording medium, and image forming method employing the same
US6521323B1 (en) 1993-12-28 2003-02-18 Canon Kabushiki Kaisha Recording medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6521323B1 (en) 1993-12-28 2003-02-18 Canon Kabushiki Kaisha Recording medium
US6500523B1 (en) 1994-10-27 2002-12-31 Canon Kabushiki Kaisha Recording medium, and image forming method employing the same

Similar Documents

Publication Publication Date Title
Gajski et al. Essential issues in multiprocessor systems
US4922413A (en) Method for concurrent execution of primitive operations by dynamically assigning operations based upon computational marked graph and availability of data
US7926060B2 (en) iMEM reconfigurable architecture
US7856632B2 (en) iMEM ASCII architecture for executing system operators and processing data operators
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
US7908603B2 (en) Intelligent memory with multitask controller and memory partitions storing task state information for processing tasks interfaced from host processor
JPH02242451A (en) Extended memory address control system
Reddi et al. A conceptual framework for computer architecture
US8108870B2 (en) Intelligent memory device having ASCII-named task registers mapped to addresses of a task
Olson Parallel processing in a message-based operating system
US7594232B2 (en) Intelligent memory device for processing tasks stored in memory or for storing data in said memory
JPH0475140A (en) Information processor performing symbol processing and numeric value processing in parallel
Brewer A highly scalable system utilizing up to 128 PA-RISC processors
US7823159B2 (en) Intelligent memory device clock distribution architecture
JPH0475157A (en) Function distribution instruction flow system arithmetic unit
JPH06505588A (en) Network structure for parallel software processing
Uchida Inference machine: From sequential to parallel
CN118519707B (en) System calling method based on exchangeable attribute
Foster Computer architecture
Gupta et al. CTDNet-A mechanism for the concurrent execution of lambda graphs
JP2527038B2 (en) Extended memory transfer control method
JP2006515446A (en) Data processing system with Cartesian controller that cross-references related applications
JP3081341B2 (en) Intelligent real-time controller, function distributed hierarchical real-time controller, homogeneous hierarchical real-time controller, composite real-time controller
JPH10283178A (en) Method and system for issuing instruction
JPH08235149A (en) Instruction generating and distributing device of single-instruction, multi-data type parallel computer