JP3388518B2 - Program control unit - Google Patents

Program control unit

Info

Publication number
JP3388518B2
JP3388518B2 JP35841592A JP35841592A JP3388518B2 JP 3388518 B2 JP3388518 B2 JP 3388518B2 JP 35841592 A JP35841592 A JP 35841592A JP 35841592 A JP35841592 A JP 35841592A JP 3388518 B2 JP3388518 B2 JP 3388518B2
Authority
JP
Japan
Prior art keywords
data
data processing
cpu
program
execution
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.)
Expired - Fee Related
Application number
JP35841592A
Other languages
Japanese (ja)
Other versions
JPH06195233A (en
Inventor
剛 遠藤
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP35841592A priority Critical patent/JP3388518B2/en
Publication of JPH06195233A publication Critical patent/JPH06195233A/en
Application granted granted Critical
Publication of JP3388518B2 publication Critical patent/JP3388518B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、プログラム制御装置に
係り、詳細には、ストアドプログラム方式の情報処理装
置において、データ駆動式の並列処理を効率良く行うた
めのプログラム制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program control device, and more particularly to a program control device for efficiently performing data driven parallel processing in a stored program type information processing device.

【0002】[0002]

【従来の技術】従来のストアドプログラム方式(ノイマ
ン型)の情報処理装置におけるプログラミングは、一部
の入出力装置による若干の割り込み処理を除いて、基本
的には1つの制御フローしか実行できないため、プログ
ラムで使用している各データ状態の変化によって複数の
処理(プロセス)を行わせようとした場合、図3及び図
4に示すように、まず、各プロセスA、B毎に扱うデー
タ及び処理のグループ(処理A、B、C、D)を分割
し、さらに、各プロセスA、Bで個々のデータ内容(F
LG1、2)をチェックし、対応する処理A、B、C、
Dに分岐するような手法が取られていた。
2. Description of the Related Art In a conventional stored program method (Neumann type) information processing apparatus, basically only one control flow can be executed except for some interrupt processing by some input / output devices. When it is attempted to perform a plurality of processes (processes) by changing the state of each data used in the program, first, as shown in FIG. 3 and FIG. The groups (processes A, B, C, D) are divided, and the individual data contents (F
LG1, 2) is checked, and the corresponding processing A, B, C,
The technique of branching to D was taken.

【0003】また、図5に示すように、各プロセスA、
B、…Xでは、タイマ割り込みとフラグセンスによるプ
ロセス制御ルーチンによりCPUの実行時間が割り当て
られ、プロセス中の各処理では、フラグセンスのループ
による制御ルーチンによりCPUの実行時間が割り当て
られている。
Further, as shown in FIG. 5, each process A,
In B, ... X, the execution time of the CPU is assigned by the process control routine by the timer interrupt and the flag sense, and in each process in the process, the execution time of the CPU is assigned by the control routine by the loop of the flag sense.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、このよ
うな従来のストアドプログラム方式の情報処理装置にあ
っては、各プロセスでは、タイマ割り込みとフラグセン
スによるプロセス制御ルーチンによりCPUの実行時間
が割り当てられ、プロセス中の各処理では、フラグセン
スのループによる制御ルーチンによりCPUの実行時間
が割り当てられるようになっていたため、簡単なプログ
ラムであれば、これらの制御に要する時間及び制御フロ
ー作成の手間はそれほどでもないが、並列性の高いプロ
グラムを記述する場合、このような手法では実行が遅
く、例えば、人工知能的な処理を行わせようとする場
合、実用的なスピードは得られず、また、プログラム開
発の効率も悪いという問題点があった。
However, in such a conventional stored program type information processing apparatus, the CPU execution time is assigned to each process by the process control routine based on the timer interrupt and the flag sense. In each process in the process, the execution time of the CPU is assigned by the control routine by the flag sense loop. Therefore, if it is a simple program, the time required for these controls and the labor for creating the control flow are not so much. However, when writing a program with high parallelism, such a method is slow in execution. For example, when trying to perform artificial intelligence processing, practical speed cannot be obtained, and program development is not possible. There was a problem that the efficiency of was not good.

【0005】このため、マルチCPUの制御のためのソ
フトの負担が大きい、前述のような人工知能的な処理を
行わせる場合には、高価な専用のハードウェア上で専用
のプログラミング言語を用いて行う必要があり、従来の
ストアドプログラム方式のパーソナルコンピュータやワ
ークステーションでは実現が大変困難であった。
Therefore, in the case of performing the above-mentioned artificial intelligence processing in which the load of software for controlling multiple CPUs is large, a dedicated programming language is used on expensive dedicated hardware. It was necessary to do so, and it was very difficult to realize with a conventional stored program type personal computer or workstation.

【0006】本発明の課題は、並列性の高いプログラム
を実行するためのハードウェアを安価に、しかも従来の
プログラムとの互換性を保ったまま実現するためのプロ
グラム制御装置を提供することである。
An object of the present invention is to provide a program control device for realizing hardware for executing a program having a high parallelism at low cost while maintaining compatibility with a conventional program. .

【0007】[0007]

【課題を解決するための手段】本発明の手段は次の通り
である。
The means of the present invention are as follows.

【0008】本発明は、各々のデータ処理手段が、所定
の読み込み対象データの内容を読み込み、その読み込み
対象データに関する所定のデータ処理を行い、そのデー
タ処理結果に基づいて所定の書き込み対象データの内容
の書き換えを行う複数のデータ処理手段と、複数のデー
タの各々に対し、各データを読み込み対象とする前記デ
ータ処理手段のいずれかとの対応関係を予め記憶する対
応関係記憶手段と、前記いずれかのデータ処理手段によ
って前記データの書き換えが行われたことを検出する検
出手段と、前記検出手段によって書き換えが検出された
データを読み込み対象とする前記データ処理手段を前記
対応関係記憶手段より検索し、その検索されたデータ処
理手段に対して各々のデータ処理の実行を指示する実行
制御手段と、を備えたことを特徴とする。
According to the present invention, each data processing means reads the content of predetermined read target data, performs predetermined data processing on the read target data, and based on the data processing result, the predetermined write target data content. A plurality of data processing means for rewriting, and a correspondence relationship storage means for preliminarily storing a correspondence relationship between each of the plurality of data and any one of the data processing means whose data is to be read, A detection unit that detects that the data has been rewritten by the data processing unit and a data processing unit that reads the data whose rewriting has been detected by the detection unit are searched from the correspondence relationship storage unit, and Execution control means for instructing the retrieved data processing means to execute each data processing. Characterized in that was.

【0009】[0009]

【0010】[0010]

【0011】[0011]

【0012】[0012]

【0013】[0013]

【実施例】以下、図1、図2を参照して実施例を説明す
る。
EXAMPLES Examples will be described below with reference to FIGS. 1 and 2.

【0014】図1、図2は本発明に係るプログラム制御
装置を適用したコンピュータシステムの一実施例を示す
図である。
1 and 2 are views showing an embodiment of a computer system to which the program control device according to the present invention is applied.

【0015】まず、構成を説明する。図1は、コンピュ
ータシステム1のブロック構成図である。図1におい
て、コンピュータシステム1は、メインメモリ群2、C
PU群3、タグメモリ4、アドレスカウンタ5、6、タ
グ書込制御部7、走査制御回路8、対応指定メモリ9、
割込調停回路10、アクセス調停回路11、マルチCP
U制御回路12、アクセス制御部13〜15、アドレス
切換器16、17及びデータ切換器18から構成され、
各部は、アドレスバス19、データバス20、制御信号
用バス22に接続されている。
First, the structure will be described. FIG. 1 is a block diagram of a computer system 1. In FIG. 1, a computer system 1 includes a main memory group 2 and C.
PU group 3, tag memory 4, address counters 5 and 6, tag writing control unit 7, scanning control circuit 8, correspondence designation memory 9,
Interrupt arbitration circuit 10, access arbitration circuit 11, multi-CP
The U control circuit 12, the access control units 13 to 15, the address switching units 16 and 17, and the data switching unit 18,
Each unit is connected to the address bus 19, the data bus 20, and the control signal bus 22.

【0016】なお、図1において、タグメモリ4、アド
レスカウンタ5、6、タグ書込制御部7、走査制御回路
8、対応指定メモリ9、割込調停回路10、アクセス調
停回路11、マルチCPU制御回路12、アクセス制御
部13〜15、アドレス切換器16、17及びデータ切
換器18は、本発明のプログラム制御装置を構成する。
In FIG. 1, the tag memory 4, the address counters 5 and 6, the tag writing control unit 7, the scanning control circuit 8, the correspondence designation memory 9, the interrupt arbitration circuit 10, the access arbitration circuit 11, the multi-CPU control. The circuit 12, the access control units 13 to 15, the address switching units 16 and 17, and the data switching unit 18 constitute the program control device of the present invention.

【0017】メインメモリ群2は、複数のROM(Read
Only Memory)等により構成され、その内部には、図2
に示すように、データを格納するデータ領域とコードを
格納するコード領域を形成し、アドレスバス19を介し
てCPU群3からアドレス指定が入力されるとともに、
データバス20を介してCPU群3との間でデータを授
受し、また、制御信号用バス21を介してCPU群3か
らのアクセス要求がアクセス制御部13によりアクセス
要求信号に変換されて入力される。
The main memory group 2 includes a plurality of ROMs (Read
Only Memory), etc.
As shown in, a data area for storing data and a code area for storing a code are formed, and address designation is input from the CPU group 3 via the address bus 19, and
Data is transferred to and from the CPU group 3 via the data bus 20, and an access request from the CPU group 3 is converted into an access request signal by the access control unit 13 and input via the control signal bus 21. It

【0018】CPU群3は、複数のCPU(Central Pr
ocessing Unit)を接続したマルチCPU構成であり、メ
インメモリ群2のコード領域に格納されているコードを
読み出して各種情報処理(プロセス)を逐次実行すると
ともに、各種情報処理を実行する際に必要なデータを、
アドレスバス19を介して出力するアドレス指定により
メインメモリ群2のデータ領域に格納されているデータ
を読み出して処理し、その処理結果によりデータ領域の
アドレスを指定して書き込み信号(WRITE)をメイ
ンメモリ群2に出力してデータ内容を書き換える。この
書き込み信号は、タグ書込制御部7にも出力される。
The CPU group 3 includes a plurality of CPUs (Central Pr
It is a multi-CPU configuration in which various processing units are connected, and the code stored in the code area of the main memory group 2 is read and various information processing (processes) are sequentially executed, and necessary when executing various information processing. Data
The data stored in the data area of the main memory group 2 is read and processed by the address designation output via the address bus 19, and the write signal (WRITE) is issued to the main memory by designating the address of the data area according to the processing result. Output to group 2 and rewrite data contents. This write signal is also output to the tag write control unit 7.

【0019】なお、本実施例では、図2に示すように、
256個のCPU1〜CPU256が接続されており、
同一バス上に複数のCPUを接続したマルチCPUにも
対応できる構成となっている。
In this embodiment, as shown in FIG.
256 CPU1 to CPU256 are connected,
The configuration is also compatible with multiple CPUs in which a plurality of CPUs are connected on the same bus.

【0020】タグメモリ4は、RAM(Random Accesss
Memory)等により構成され、メインメモリ群2内のデー
タ領域のアドレス単位で書き換えが行われたことを示す
フラグデータ(FLG1、FLG2、…)を複数記憶す
るため、図2に示すようにメモリエリアを形成し、タグ
書込制御部7から入力されるタグイン信号(TAGI
N)により、そのメモリエリア毎にフラグデータが設定
され、記憶されたフラグデータは、走査制御回路8の走
査によりタグアウト(TAG OUT)から読み出され
る。
The tag memory 4 is a RAM (Random Accesses).
Memory) and the like, and stores a plurality of flag data (FLG1, FLG2, ...) Indicating that rewriting has been performed in the address unit of the data area in the main memory group 2. Therefore, as shown in FIG. And a tag-in signal (TAGI
N), flag data is set for each memory area, and the stored flag data is read from the tag out (TAG OUT) by the scanning of the scanning control circuit 8.

【0021】アドレスカウンタ5は、走査制御回路8が
タグメモリ4内を走査する際にバウンダリアドレス毎に
カウントアップし、アドレスカウンタ6は、走査制御回
路8がタグメモリ4内を走査してフラグがセット状態に
あるとき、さらに走査制御回路8が、そのフラグに対応
する対応指定メモリ9内を走査するアドレス(対応1〜
対応8)をカウントアップする。
The address counter 5 counts up for each boundary address when the scan control circuit 8 scans the inside of the tag memory 4, and the address counter 6 has a flag when the scan control circuit 8 scans the inside of the tag memory 4. When in the set state, the scan control circuit 8 further scans the address (corresponding to 1 to 1) in the correspondence designation memory 9 corresponding to the flag.
Count up 8).

【0022】タグ書込制御部7は、CPU群3から入力
される書き込み信号に応じてタグメモリ4にタグイン信
号を出力し、メインメモリ群2内の書き込みデータ領域
に対応するフラグデータをセットする。また、タグ書込
制御部7には、走査制御回路8から走査制御回路8は、
タグアウト(TAG OUT)を通してタグメモリ4内
を走査してフラグデータをチェックし、アドレスカウン
タ5のアドレスカウントにより対応指定メモリ9内の対
応1方向(図2の縦方向)を走査して、格納データをチ
ェックし、フラグデータがセットされていると、そのフ
ラグデータに対応する対応指定メモリ9内の対応1の対
応するデータ格納領域から対応2〜対応8方向(図2の
横方向)をアドレスカウンタ6のアドレスカウントによ
り走査して、格納データをチェックし、その格納データ
の記述内容に応じて割込調停回路10に割込み有効信号
IRQを出力し、割込調停回路10及びアクセス調停回
路11に割込み要求信号を出力し、マルチCPU制御回
路13にCPU指定データを出力するとともに、対応指
定メモリ9から読み出したアドレスデータを、データ切
換器18により切り換えられるデータバス20を介して
CPU群2の指定CPUに出力する。また、走査制御回
路8は、タグメモリ4を走査する際に、アドレス切換要
求信号をアクセス制御部14に出力し、対応指定メモリ
9を走査する際に、アドレス切換要求信号をアクセス制
御部15に出力する。
The tag write controller 7 outputs a tag-in signal to the tag memory 4 in response to the write signal input from the CPU group 3 and sets flag data corresponding to the write data area in the main memory group 2. . Further, in the tag writing control unit 7, the scanning control circuit 8 to the scanning control circuit 8 are
The tag memory 4 is scanned through the tag out (TAG OUT) to check the flag data, and the corresponding one direction (vertical direction in FIG. 2) in the corresponding designated memory 9 is scanned by the address count of the address counter 5 and stored. When the data is checked and the flag data is set, the correspondence 2 to correspondence 8 directions (horizontal direction in FIG. 2) are addressed from the corresponding data storage area of correspondence 1 in the correspondence designation memory 9 corresponding to the flag data. The stored data is checked by scanning with the address count of the counter 6, the interrupt valid signal IRQ is output to the interrupt arbitration circuit 10 according to the description content of the stored data, and the interrupt arbitration circuit 10 and the access arbitration circuit 11 are supplied. It outputs an interrupt request signal, outputs CPU designation data to the multi-CPU control circuit 13, and reads it from the corresponding designation memory 9. The output address data is output to the designated CPU of the CPU group 2 via the data bus 20 switched by the data switch 18. Further, the scanning control circuit 8 outputs an address switching request signal to the access control unit 14 when scanning the tag memory 4, and outputs an address switching request signal to the access control unit 15 when scanning the corresponding designated memory 9. Output.

【0023】対応指定メモリ9は、RAM等により構成
され、図2に示すように、対応1〜対応8のメモリエリ
アを形成し、各対応メモリエリアには、対応指定データ
が格納され、その対応指定データの内容は、割込みの有
効/無効を示すステータスデータ、CPU指定データ及
び割込みアドレスデータが格納される。
The correspondence designation memory 9 is composed of a RAM or the like, and as shown in FIG. 2, forms memory areas of correspondence 1 to correspondence 8, and the correspondence designation data is stored in each of the correspondence memory areas. The contents of the specified data are
Status data indicating effectiveness / invalidity , CPU designation data, and interrupt address data are stored.

【0024】割込調停回路10は、走査制御回路8から
入力される割込み有効信号IRQ及び割込み要求信号に
応じて割込み要求信号をCPU群2の指定CPUに出力
する。アクセス調停回路11は、走査制御回路8から入
力される割込み要求信号に応じて走査制御回路8とCP
U群2からのアクセスを調停する。
The interrupt arbitration circuit 10 outputs an interrupt request signal to a designated CPU of the CPU group 2 in response to the interrupt valid signal IRQ and the interrupt request signal input from the scan control circuit 8. The access arbitration circuit 11 receives the scan control circuit 8 and the CP in response to the interrupt request signal input from the scan control circuit 8.
Arbitrate access from U group 2.

【0025】マルチCPU制御回路12は、走査制御回
路8から入力されるCPU指定データに応じてCPU群
2内の割込み処理を実行するCPUを指定する。
The multi-CPU control circuit 12 designates the CPU in the CPU group 2 for executing the interrupt processing according to the CPU designation data input from the scanning control circuit 8.

【0026】アクセス制御部13は、CPU群3及び割
込調停回路10から入力される割込み要求信号に応じて
メインメモリ群2にアクセスする。
The access control unit 13 accesses the main memory group 2 according to the interrupt request signal input from the CPU group 3 and the interrupt arbitration circuit 10.

【0027】アクセス制御部14は、走査制御回路8が
タグメモリ4を走査する際に、アドレス切換器16に切
換信号を出力し、タグメモリ4に接続するアドレスバス
19をアドレスカウンタ5側に切換えるとともに、対応
指定メモリ9から割込みアドレスデータをデータバス2
0に出力する際に、データ切換器18に切換信号を出力
し、データバス20を対応指定メモリ9側に切り換え
る。
When the scanning control circuit 8 scans the tag memory 4, the access control unit 14 outputs a switching signal to the address switching unit 16 and switches the address bus 19 connected to the tag memory 4 to the address counter 5 side. At the same time, the interrupt address data is sent from the correspondence designation memory 9 to the data bus 2
When outputting to 0, a switching signal is output to the data switching device 18, and the data bus 20 is switched to the corresponding designated memory 9 side.

【0028】アクセス制御部15は、走査制御回路8が
対応指定メモリ9を走査する際に、アドレス切換器17
に切換信号を出力し、対応指定メモリ9に接続するアド
レスバス19をアドレスカウンタ6側に切換える。
The access control unit 15 is provided with an address switching unit 17 when the scan control circuit 8 scans the correspondence designation memory 9.
A switching signal is output to switch the address bus 19 connected to the corresponding designated memory 9 to the address counter 6 side.

【0029】アドレス切換器16は、アクセス制御部1
4から入力される切換信号により切り換え制御され、ア
ドレスバス19をタグメモリ4側とアドレスカウンタ5
側に切り換える。アドレス切換器17は、アクセス制御
部15から入力される切換信号により切り換え制御さ
れ、アドレスバス19を対応指定メモリ9側とアドレス
カウンタ6側に切り換える。
The address switching unit 16 is the access control unit 1
Switching control is performed by a switching signal input from the address bus 4, and the address bus 19 is connected to the tag memory 4 side and the address counter 5.
Switch to the side. The address switching unit 17 is switching-controlled by a switching signal input from the access control unit 15, and switches the address bus 19 between the correspondence designation memory 9 side and the address counter 6 side.

【0030】データ切換部18は、アクセス制御部15
から入力される切換信号により切り換え制御され、デー
タバス20を走査制御回路8側と対応指定メモリ9側に
切り換える。
The data switching section 18 includes an access control section 15
Switching is controlled by a switching signal input from the data bus 20, and the data bus 20 is switched between the scanning control circuit 8 side and the correspondence designation memory 9 side.

【0031】以下、本実施例の動作を説明する。The operation of this embodiment will be described below.

【0032】まず、本実施例のコンピュータシステム1
の動作を説明するため、コンピュータシステム1内で処
理される1つのプログラミング例として以下のような場
合を設定する。
First, the computer system 1 of this embodiment
In order to explain the operation of, the following case is set as one programming example processed in the computer system 1.

【0033】図2において、メインメモリ2内のデータ
領域に格納されたデータ1は、コード1によって処理さ
れ、いずれかのCPUによりデータ1の書き換えが行わ
れたときには、CPU1によって処理されるものとす
る。また、データ2は、コード2及びコード3によって
処理され、いずれかのCPUによりデータ2の書き換え
が行われたときには、CPU1によりコード2が処理さ
れ、CPU3によりコード3が処理されるものとする。
In FIG. 2, the data 1 stored in the data area in the main memory 2 is processed by the code 1 and is processed by the CPU 1 when any of the CPUs rewrites the data 1. To do. The data 2 is processed by the code 2 and the code 3, and when the data 2 is rewritten by any of the CPUs, the CPU 1 processes the code 2 and the CPU 3 processes the code 3.

【0034】この動作を行わせるためには、ます、タグ
メモリ4の初期設定、及び、対応指定メモリ9の設定を
行う必要がある。
In order to perform this operation, it is necessary to make initial setting of the tag memory 4 and setting of the correspondence designation memory 9.

【0035】対応指定メモリ9の設定は、CPU群2内
のある1つのCPUによりアドレスバス19、データバ
ス20、制御信号用バス21を介して行われ、このと
き、アドレス切換器17及びデータ切換器18は、アク
セス制御部15によりCPUからの対応指定メモリアク
セスが可能なように切り換えられる。
The correspondence designation memory 9 is set by one of the CPUs in the CPU group 2 via the address bus 19, the data bus 20, and the control signal bus 21. At this time, the address switch 17 and the data switch. The device 18 is switched by the access control unit 15 so that the corresponding designated memory can be accessed from the CPU.

【0036】設定の内容は、図2に示すように、例え
ば、対応1のメモリエリアの(1)で示す領域には“0
1019057”、同じく対応1のメモリエリアの
(2)で示す領域には“0101BF2D”、また、対
応2のメモリエリアの(3)に示す領域には“0103
D302”と設定し、格納するものとする。
As shown in FIG. 2, the content of the setting is, for example, "0" in the area indicated by (1) in the memory area of the correspondence 1.
1019057 "," 0101BF2D "in the area indicated by (2) in the corresponding 1 memory area, and" 0103 "in the area indicated by (3) in the corresponding 2 memory area.
It shall be set as D302 ″ and stored.

【0037】この時、図2に示すように、メインメモリ
2上のアドレス“0045〜004C”(“0040〜
004F”)のデータ1がアドレス“9057〜”のコ
ード1に、アドレス“327A〜3289”(“327
0〜327F”)のデータ2がアドレス“BF2D〜”
のコード2、及び“D302〜”のコード3に対応づけ
られている。また、図2に示す例では、メインメモリ2
のデータ領域は、16バイトバウンダリで分割されるた
め、対応指定メモリ9へのアクセスにはデータ識別用に
CPUのアドレスビットA14〜A4を、対応コードナ
ンバ識別用にA15,A3〜A2を、対応指定データは
2バイトアドレス7、及び1バイトCPU指定データ
8、1バイトステータスレジスタ9、の4バイトを持つ
ため、この指定用にA1〜A0を割り当てている。(な
お、CPUのアドレス空間はA15〜A0の2バイトで
あらわすものとする。)各対応指定データの内容を、
“01019057”について説明すると、左端“0
1”の1バイトデータは、割込みの有効/無効を示すス
テータスデータを示し、次の“01”の1バイトデータ
は、CPU群3内のCPU番号を指定するCPU指定デ
ータを示し、次の“9057”の2バイトデータは、メ
インメモリ2内の割込みアドレスデータを示している。
At this time, as shown in FIG. 2, addresses "0045 to 004C"("0040 to 004C" on the main memory 2 are stored.
Data 1 of 004F ”is assigned to Code 1 of address“ 9057 ”and addresses“ 327A to 3289 ”(“ 327
0-327F ") data 2 is address" BF2D- "
It is associated with the code 2 of No. 2 and the code 3 of "D302-". In the example shown in FIG. 2, the main memory 2
Since the data area of is divided by a 16-byte boundary, the address bits A14 to A4 of the CPU are used for data identification, and A15 and A3 to A2 are used for identification of the corresponding code number when accessing the corresponding designated memory 9. Since the designated data has 4 bytes of the 2-byte address 7, the 1-byte CPU designated data 8 and the 1-byte status register 9, A1 to A0 are assigned for this designation. (Note that the address space of the CPU is represented by 2 bytes A15 to A0.)
Explaining "01019057", the left end "0"
The 1-byte 1-byte data indicates status data indicating the validity / invalidity of the interrupt , the next 1-byte data “01” indicates the CPU-designating data that designates the CPU number in the CPU group 3, and the next “1-” The 2-byte data of 9057 ″ represents the interrupt address data in the main memory 2.

【0038】ここで、ステータスデータは、“00”の
時には、この対応は無効であることを表し、“01”の
ときは有効であることを表すとすると、上記図2に示す
対応指定データの格納領域(1)、(2)に格納されて
いるデータでは、CPU1による割り込みが有効である
ことを表し、(3)では、CPU3による割り込みが有
効であることを表している。以上が、対応指定メモリの
必要な設定内容であり、他の不要な部分についてはすべ
てステータスを“00”に設定しておく。
When the status data is "00", this correspondence is invalid, and when the status data is "01", it is valid. The data stored in the storage areas (1) and (2) indicates that the interrupt by the CPU 1 is valid, and (3) indicates that the interrupt by the CPU 3 is valid. The above is the necessary setting contents of the correspondence designation memory, and the status is set to "00" for all other unnecessary portions.

【0039】次いで、タグメモリ4の初期設定である
が、これは後述するように、自動的にヌルクリア(ゼロ
クリア“0”)される。
Next, regarding the initial setting of the tag memory 4, this is automatically null-cleared (zero-clear "0") as described later.

【0040】以下、この設定内容において、CPU1が
データ2の書き換えを行ったときのコンピュータシステ
ム1内の動作を以下に説明する。
The operation in the computer system 1 when the CPU 1 rewrites the data 2 in the setting contents will be described below.

【0041】まず、図2において、CPU群2内のCP
U1が、メインメモリ2内のデータ領域“327A”番
地のデータ1をライトすると、WRITE信号によりタ
グ書込制御部7がTAGIN信号として“1”をタグメ
モリ4内の対応する領域に出力することにより、図2に
示すタグメモリ4内のFLG2に“1”が設定される
(但し、タグメモリは1ビットデータ)。
First, in FIG. 2, the CP in the CPU group 2
When U1 writes the data 1 in the data area "327A" in the main memory 2, the tag write controller 7 outputs "1" as the TAGIN signal to the corresponding area in the tag memory 4 by the WRITE signal. Thereby, "1" is set in the FLG 2 in the tag memory 4 shown in FIG. 2 (however, 1-bit data is stored in the tag memory).

【0042】これと並行して走査制御回路8によりタグ
メモリ4が走査されており、アドレスカウンタ5により
データバウンダリがカウントアップされる。このカウン
トアップによりカウントが“327”となると、走査制
御回路8からアドレス切換要求信号がアクセス制御部1
4に出力され、アクセス制御部14からアドレス切換器
16に切換信号が出力され、アドレス切換器16により
タグメモリ4に接続するアドレスバス19がCPU3側
からアドレスカウンタ5側に切り換えられ、タグメモリ
4内のFLG2の内容がTAGOUTより読み出され
る。
In parallel with this, the tag memory 4 is scanned by the scanning control circuit 8, and the data boundary is counted up by the address counter 5. When the count becomes "327" due to this count-up, the address switching request signal is sent from the scanning control circuit 8 to the access control unit 1.
4 and a switching signal is output from the access control unit 14 to the address switching unit 16, and the address switching unit 16 switches the address bus 19 connected to the tag memory 4 from the CPU 3 side to the address counter 5 side. The contents of FLG2 in the above are read out from TAGOUT.

【0043】この時、FLG2は“1”に設定されてい
るため、これを受けて走査制御回路8では、アドレス切
換要求信号がアクセス制御部15に出力され、アクセス
制御部15からアドレス切換器17に切換信号が出力さ
れ、アドレス切換器17により対応指定メモリ9に接続
するアドレスバス19がCPU3側からアドレスカウン
タ6側に切り換えられ、アドレスカウンタ6がカウント
アップされ、図2に示す対応指定メモリ9内の対応1〜
8が走査される。
At this time, since FLG2 is set to "1", in response to this, the scan control circuit 8 outputs an address switching request signal to the access control unit 15, and the access control unit 15 outputs the address switching unit 17. A switching signal is output to the address designation circuit 9 by the address switching unit 17, the address bus 19 connected to the correspondence designation memory 9 is switched from the CPU 3 side to the address counter 6 side, the address counter 6 is counted up, and the correspondence designation memory 9 shown in FIG. Correspondence 1 to
8 are scanned.

【0044】まず、図2では、走査制御回路8により対
応1のメモリエリア(2)“0101BF2D”がチェ
ックされ、ステータス部“01”のデータがデータバス
20を介して走査制御回路8に送られると、割り込み有
効であるため、IRQが割込調停回路10に、CPU指
定データ“01”(CPU1を指定)がデータバス20
を介してマルチCPU制御回路12に出力される。
First, in FIG. 2, the scan control circuit 8 checks the memory area (2) "0101BF2D" of the corresponding 1 and the data of the status portion "01" is sent to the scan control circuit 8 via the data bus 20. Since the interrupt is enabled, the IRQ is sent to the interrupt arbitration circuit 10 and the CPU-designated data “01” (designating the CPU 1) is sent to the data bus 20.
Is output to the multi-CPU control circuit 12 via.

【0045】これにより指定したCPU1の割り込みが
許可されると、走査制御回路8からデータ切換器18に
データ切換信号が出力され、データ切換器18を介して
対応指定メモリ9からデータバス20に割込みアドレス
データ“BF2D”が出力される。すると、CPU1の
メインメモリ2の本割込みアドレス、すなわち、コード
領域のコード2への割込み処理が行われる。この時、C
PU1によりコード2への割込み処理が実行されている
間にも、走査制御回路8の走査が行われており、アドレ
スカウンタ6のカウントアップにより対応指定メモリ9
内の対応2が走査され、対応指定メモリ9内の対応2の
メモリエリア(3)“0103D302”がチェックさ
れ、このデータにより同様にCPU3に対して割り込み
アドレス“D302”への割り込み処理が要求され、C
PU3によりコード3への割込み処理が実行される。
When the interrupt of the designated CPU 1 is permitted in this way, a data switching signal is output from the scanning control circuit 8 to the data switching unit 18, and the corresponding designated memory 9 interrupts the data bus 20 via the data switching unit 18. The address data "BF2D" is output. Then, the interrupt processing for the main interrupt address of the main memory 2 of the CPU 1, that is, the code 2 in the code area is performed. At this time, C
The scanning of the scanning control circuit 8 is performed even while the interrupt processing to the code 2 is executed by the PU 1, and the correspondence designation memory 9 is generated by the count up of the address counter 6.
Correspondence 2 in the correspondence designated memory 9 is scanned, and the memory area (3) “0103D302” of correspondence 2 in the designated correspondence memory 9 is checked, and this data similarly requests the CPU 3 to perform interrupt processing to the interrupt address “D302”. , C
The PU3 executes an interrupt process for the code 3.

【0046】次いで、アドレスカウンタ6のカウントア
ップにより対応指定メモリ9内の対応3が走査され、メ
モリエリア(4)“00065010”がチェックされ
たとき、ステータスが“00”であるため、走査制御回
路8では、データ2(FLG2)に対する走査が中止さ
れる。そして、タグ書込制御部7の出力TAGINを
“0”とすることにより自動的にFLG2の内容が
“0”にクリアされる。この後は、再びアドレスカウン
タ5をカウントアップにより、同様の走査が繰返し実行
される。
Next, when the address counter 6 counts up, the correspondence 3 in the correspondence designation memory 9 is scanned, and when the memory area (4) "00065010" is checked, the status is "00", so the scan control circuit. At 8, the scan for data 2 (FLG2) is stopped. Then, by setting the output TAGIN of the tag writing control unit 7 to "0", the contents of FLG2 are automatically cleared to "0". After that, the address counter 5 is counted up again to repeat the same scanning.

【0047】また、上記実施例において、I/O装置を
メモリアドレス2上に対応させることにより指定したI
/Oより指定したデータが入力されたとき、あるいは指
定したI/Oへ指定したデータが出力されたときに対応
する処理を行わせることも可能であり、これは通常のI
/O割り込み制御よりも、より詳細な処理条件にすばや
く対処することが可能である。
Further, in the above embodiment, the I / O device is designated by associating it with the memory address 2.
When the specified data is input from / O or when the specified data is output to the specified I / O, the corresponding process can be performed.
It is possible to quickly deal with more detailed processing conditions than the / O interrupt control.

【0048】なお、上記実施例では、メインメモリ2内
のデータバウンダリを16バイト、1つのデータに対応
可能なコード数を8個、マルチCPUの可能な最大数を
256個、CPUのアドレス空間を64Kバイトとした
が、これらの値を変えて回路を構成することによりコス
ト(必要メモリ数)優先か、性能(効率、スピード)優
先かの自由な選択が可能となる。
In the above embodiment, the data boundary in the main memory 2 is 16 bytes, the number of codes corresponding to one data is 8, the maximum number of multi-CPUs is 256, and the address space of the CPU is Although 64 Kbytes is used, by configuring these circuits by changing these values, it is possible to freely select cost (required memory number) or performance (efficiency, speed).

【0049】例えば、データバウンダリを大きくし、コ
ード領域をもバウンダリで分割し、マルチCPU数を減
らし、CPU指定の“00”をステータスの割り込み無
効に割り当てることで、必要なタグメモリ及び対応指定
メモリの容量を少なくすることができ、その逆にする
と、より柔軟で効率の良いプログラミングを行うことが
できる。
For example, by enlarging the data boundary, dividing the code area by the boundary, reducing the number of multiple CPUs, and assigning "00" of the CPU designation to the status interrupt disable, the necessary tag memory and corresponding designation memory are allocated. Can be reduced and vice versa for more flexible and efficient programming.

【0050】したがって、本発明のプログラム制御装置
を従来のストアドプログラム方式のコンピュータシステ
ム等の情報処理装置に搭載することにより、1つのハー
ドウェア上で並列プログラミングと従来の逐次実行形式
プログラミングとを実行することができ、しかも、これ
らの中間的なプログラミングも実行可能であるため、将
来の主流になるであろう並列プログラミングとハードウ
ェアに移行ための中間段階の情報処理装置を低コストで
実現することができ、例えば、個人所有のパーソナルコ
ンピュータ上で並列プログラミングを実行させることと
も可能である。また、マルチCPUにも対応できるた
め、従来、非常にプログラミングが難しく、CPUを増
しただけの効果が得られなかったような場合にも、簡単
に情報処理装置の処理効率を向上させることができる。
Therefore, by mounting the program control apparatus of the present invention on an information processing apparatus such as a conventional stored program type computer system, parallel programming and conventional sequential execution format programming are executed on one piece of hardware. Moreover, since these intermediate programming can be executed, it is possible to realize at low cost an intermediate-stage information processing device for moving to parallel programming and hardware that will become mainstream in the future. It is also possible, for example, to execute parallel programming on a personal computer owned by the individual. Further, since it is compatible with multiple CPUs, it is possible to easily improve the processing efficiency of the information processing apparatus even when it is difficult to program conventionally and the effect of increasing the number of CPUs cannot be obtained. .

【0051】[0051]

【発明の効果】本発明によれば、複数のデータと複数の
データ処理手段とが複雑な依存関係を持ちながら協調し
てデータ処理を行うような場合でも、任意のデータ処理
目的に応じた任意の対応関係を記憶させておき、この対
応関係に基づいて自動制御を行うことができ、各データ
処理手段自身が複数のデータの中から自分の処理に関連
するデータの書き換えがあったか否かを常にチェックし
ている必要がなくなり、必要な時に必要な処理だけを効
率良く実行させることができ、特に、並列プログラミン
グにおけるプログラミング効率やマルチプロセッサシス
テムにおけるデータ処理効率を大幅に向上させることが
できる。
According to the present invention, even in the case where a plurality of data and a plurality of data processing means carry out cooperative data processing while having a complicated dependency relationship, any data processing purpose can be used. It is possible to memorize the correspondence relation of, and perform automatic control based on this correspondence relation, and each data processing means itself always checks whether or not the data related to its processing is rewritten from a plurality of data. It is not necessary to check, and it is possible to efficiently execute only necessary processing when necessary, and in particular, it is possible to significantly improve programming efficiency in parallel programming and data processing efficiency in a multiprocessor system.

【0052】また、マルチCPUにも対応できるため、
従来、非常にプログラミングが難しく、CPUを増した
だけの効果が得られなかったような場合にも、簡単に情
報処理装置の処理効率を向上させることができる。
Also, since it can be applied to multiple CPUs,
Conventionally, it is possible to easily improve the processing efficiency of the information processing apparatus even when the programming is very difficult and the effect of increasing the number of CPUs cannot be obtained.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明のプログラム制御装置を適用したコンピ
ュータシステムのブロック構成図。
FIG. 1 is a block configuration diagram of a computer system to which a program control device of the present invention is applied.

【図2】図1のメインメモリ、タグメモリ、対応指定メ
モリ及びCPU群の構成を示す図。
FIG. 2 is a diagram showing a configuration of a main memory, a tag memory, a correspondence designation memory, and a CPU group in FIG.

【図3】従来のストアドプログラミング方式の情報処理
装置で処理されるプロセスフローの一例を示す図。
FIG. 3 is a diagram showing an example of a process flow processed by a conventional information processing apparatus of a stored programming system.

【図4】従来のストアドプログラミング方式の情報処理
装置で処理されるその他のプロセスフローの一例を示す
図。
FIG. 4 is a diagram showing an example of another process flow processed by a conventional information processing apparatus of a stored programming system.

【図5】従来のストアドプログラミング方式の情報処理
装置で並列処理されるプロセスフローの一例を示す図。
FIG. 5 is a diagram showing an example of a process flow in which parallel processing is performed by a conventional stored programming type information processing apparatus.

【符号の説明】[Explanation of symbols]

1 コンピュータシステム 2 メインメモリ群 3 CPU群 4 タグメモリ 5 アドレスカウンタ 6 アドレスカウンタ 7 タグ書込制御部 8 走査制御回路 9 対応指定メモリ 10 割込調停回路 11 アクセス調停回路 12 マルチCPU制御回路 13、14、15 アクセス制御部 16、17 アドレス切換器 18 データ切換器 19 アドレスバス 20 データバス 21 制御信号用バス 1 computer system 2 main memory group 3 CPU group 4 tag memory 5 address counter 6 address counter 7 Tag writing control unit 8 Scan control circuit 9 Corresponding designated memory 10 interrupt arbitration circuit 11 Access arbitration circuit 12 Multi CPU control circuit 13, 14, 15 Access control unit 16, 17 Address changer 18 Data switch 19 address bus 20 data buses 21 Control signal bus

フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 - 9/54 G06F 15/16 - 15/177 G06F 15/82 G06F 13/38 - 13/42 G06F 13/24 - 13/34 Front page continuation (58) Fields surveyed (Int.Cl. 7 , DB name) G06F 9/46-9/54 G06F 15/16-15/177 G06F 15/82 G06F 13/38-13/42 G06F 13 / 24-13/34

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 各々のデータ処理手段が、所定の読み込
み対象データの格納領域から読み込み対象データを読み
込み、その読み込み対象データに関する所定のデータ処
理を行い、そのデータ処理結果に基づいて所定の書き込
み対象データの格納領域内にある書き込み対象データ
書き換えを行う複数のデータ処理手段と、 複数のデータの格納領域の各々に対し、各データを読み
込み対象とする前記データ処理手段のいずれかとの対応
関係を予め記憶する対応関係記憶手段と、 前記いずれかのデータ処理手段によって前記データの書
き換えが行われたことを検出する検出手段と、 前記検出手段によって書き換えが検出されたデータを読
み込み対象とする前記データ処理手段を前記対応関係記
憶手段より検索し、その検索されたデータ処理手段に対
して各々のデータ処理の実行を指示する実行制御手段
と、 を具備したことを特徴とするプログラム制御装置。
1. Each data processing means reads read target data from a storage area of predetermined read target data, performs predetermined data processing on the read target data, and writes a predetermined write target based on the data processing result. Correspondence between a plurality of data processing means for rewriting write target data in the data storage area and one of the data processing means for reading each data for each of the plurality of data storage areas Correspondence storage means that is stored in advance, detection means that detects that the data has been rewritten by any of the data processing means, and the data that is the target of reading the data for which rewriting has been detected by the detection means The processing means is searched from the correspondence storage means, and the searched data processing means A program control device comprising: execution control means for instructing execution of each data process.
【請求項2】 前記実行制御手段は、前記各データ処理
手段の実行とは独立して前記対応関係記憶手段を検索し
て実行指示を行い、前記対応関係記憶手段に対応関係が
記憶されている複数のデータ処理手段に対して平行して
データ処理を行わせることを特徴とする請求項1記載の
プログラム制御装置。
2. The execution control means searches the correspondence relation storage means and gives an execution instruction independently of the execution of each data processing means, and the correspondence relation is stored in the correspondence relation storage means. 2. The program control device according to claim 1, wherein a plurality of data processing means are caused to perform data processing in parallel.
【請求項3】 前記検出手段は、データの書き換えが行
われた複数のデータに対する書き換え情報を保持し、前
記各データ処理手段の実行とは独立してこの保持された
書き換え情報を検索することによって検出動作を行うこ
とを特徴とする請求項1または請求項2記載のプログラ
ム制御装置。
3. The detection means holds rewriting information for a plurality of data for which data has been rewritten, and searches the held rewriting information independently of the execution of each data processing means. TURMERIC line the detection operation
The program control device according to claim 1 or 2, characterized in that .
【請求項4】 前記各データ処理手段は、所定の格納領
域に格納されたプログラムをCPUが実行することによ
り所定のデータ処理を行い、 前記対応関係記憶手段は、各データ処理用のプログラム
が格納された格納領域とそのプログラムを実行させるC
PUとを、各データの格納領域に対応させて記憶し、 前記実行制御手段は、データ処理用のプログラムが格納
された格納領域とそのプログラムを実行させるCPUと
を検索し、その検索されたCPUに対してその 検索され
た格納領域に格納されたプログラムの実行を指示する
とを特徴とする請求項1記載のプログラム制御装置。
4. Each of the data processing means has a predetermined storage area.
By executing the program stored in the area
Predetermined data processing, and the correspondence storage means stores a program for each data processing.
Storage area where is stored and C that executes the program
A PU is stored in association with each data storage area, and the execution control means stores a data processing program.
Storage area and CPU for executing the program
Is searched, and the searched CPU is searched.
Instructs This <br/> a program control device according to claim 1, wherein the execution of the program stored in the storage area.
【請求項5】 前記各データ処理を実行可能なCPUが
複数あり、 前記実行制御手段は、前記検索されたCPUに対して割
り込み信号を発生させることにより、前記複数のCPU
のうちの検索されたCPUに対して前記検索された格納
領域に格納されたプログラムの実行を指示することを特
徴とする請求項記載のプログラム制御装置。
5. A CPU capable of executing each data processing
There are a plurality of the execution control means , and the execution control means divides the retrieved CPU.
By generating a load signal, the plurality of CPUs
Of the retrieved CPU for the retrieved CPU of
The program control device according to claim 4 , wherein the program control device instructs execution of a program stored in the area .
JP35841592A 1992-12-24 1992-12-24 Program control unit Expired - Fee Related JP3388518B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35841592A JP3388518B2 (en) 1992-12-24 1992-12-24 Program control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35841592A JP3388518B2 (en) 1992-12-24 1992-12-24 Program control unit

Publications (2)

Publication Number Publication Date
JPH06195233A JPH06195233A (en) 1994-07-15
JP3388518B2 true JP3388518B2 (en) 2003-03-24

Family

ID=18459182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35841592A Expired - Fee Related JP3388518B2 (en) 1992-12-24 1992-12-24 Program control unit

Country Status (1)

Country Link
JP (1) JP3388518B2 (en)

Also Published As

Publication number Publication date
JPH06195233A (en) 1994-07-15

Similar Documents

Publication Publication Date Title
US4734882A (en) Multilevel interrupt handling scheme
US6920521B2 (en) Method and system of managing virtualized physical memory in a data processing system
EP0584783A2 (en) Method and apparatus for improved processing
EP0258736A2 (en) Parallel computer with distributed shared memories and distributed task activating circuits
US6904490B2 (en) Method and system of managing virtualized physical memory in a multi-processor system
JPH04246745A (en) Memory access system
US5161219A (en) Computer system with input/output cache
JPH0527971A (en) Information processor
GB2216306A (en) Load and synchronize computer architecture and process
EP0532690B1 (en) Method and apparatus for managing page zero memory accesses in a multi-processor system
US6862675B1 (en) Microprocessor and device including memory units with different physical addresses
EP0285634B1 (en) Method to execute two instruction sequences in an order determined in advance
JP3388518B2 (en) Program control unit
JPS5844263B2 (en) memory control circuit
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
EP0389886B1 (en) Ring reduction logic mechanism
US5933856A (en) System and method for processing of memory data and communication system comprising such system
JPH0635800A (en) Microprocessor and data processing system using it
JPS63310060A (en) Multiprocessor system
WO1991010204A1 (en) Image processing apparatus having disk storage resembling ram memory
JP3127737B2 (en) Digital signal processor
JP3345050B2 (en) Two-dimensional array type memory system
JPH03127126A (en) Information processor
EP0377969A2 (en) I/O cached computer systems
EP0437928A2 (en) Memory management in a multi-processor system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees