JPH03257572A - Multiprocessor system - Google Patents

Multiprocessor system

Info

Publication number
JPH03257572A
JPH03257572A JP5484490A JP5484490A JPH03257572A JP H03257572 A JPH03257572 A JP H03257572A JP 5484490 A JP5484490 A JP 5484490A JP 5484490 A JP5484490 A JP 5484490A JP H03257572 A JPH03257572 A JP H03257572A
Authority
JP
Japan
Prior art keywords
processor
control program
address
memory
microprogram
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
JP5484490A
Other languages
Japanese (ja)
Inventor
Toru Matsuda
徹 松田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP5484490A priority Critical patent/JPH03257572A/en
Publication of JPH03257572A publication Critical patent/JPH03257572A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE:To shorten the data transfer time and to reduce the load of a secondary processor by storing a microprogram from the secondary processor with a memory write instruction given to a memory of the secondary processor itself. CONSTITUTION:A control program memory 23 is provided in a memory address of a secondary processor 10 in order to store a control microprogram that actuates a main processor 20. Then the processor 10 stores a memory write instruction into a memory of the processor 10 itself. Thus the processor 10 can store the microprogram into a control program of the processor 20 just by performing a writing operation to the memory of the processor 10 itself. Therefore it is not required for the processor 10 to transfer the data to the processor 20 for each word based on a program and with output of a data transfer instruction. As a result, the data transfer time is shortened and the load of the processor 10 can be reduced.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、システム全体の制御を行なう汎用マイクロプ
ロセッサ、及び特殊な構造のデータを高速に処理するた
めの専用プロセッサを有するマルチプロセッサシステム
に関する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a multiprocessor system having a general-purpose microprocessor that controls the entire system and a dedicated processor for processing data with a special structure at high speed.

(従来の技術) 第4図は、マルチプロセッサシステムの一例を示すブロ
ック図である。
(Prior Art) FIG. 4 is a block diagram showing an example of a multiprocessor system.

図示のシステムは、主プロセッサ20と、副プロセッサ
10とから成る。
The illustrated system consists of a main processor 20 and a secondary processor 10.

副プロセッサ10は、主プロセッサの起動、停止及び工
/○装置の制御を行なう。
The sub-processor 10 starts and stops the main processor and controls the equipment.

この副プロセッサ10は、通常、フロントエンドプロセ
ッサと呼ばれているものである。
This sub-processor 10 is usually called a front-end processor.

主プロセッサ20は、副プロセッサ10により制御され
る専用のプロセッサであり、例えば、64ビツト長のA
LU29や主記憶装置32を有しており、副プロセッサ
10では高速に処理できないようなデータ処理を実行す
るものである。
The main processor 20 is a dedicated processor controlled by the sub-processor 10, and is, for example, a 64-bit long A
It has an LU 29 and a main storage device 32, and executes data processing that cannot be processed at high speed by the sub-processor 10.

副プロセッサlOにおいて、マイクロプロセッサ11は
、システム全体の制御を行なう。このマイクロプロセッ
サ11は、特定のプロセッサに限定されるものではない
が、本発明では、 Inte1社の8086.16ビツ
トマイクロプロセッサを使用しているものとして説明す
る。
In the sub-processor IO, a microprocessor 11 controls the entire system. Although the microprocessor 11 is not limited to a specific processor, the present invention will be described using an 8086.16-bit microprocessor manufactured by Intel Corporation.

パスライン12は、マイクロプロセッサ11及び各I1
0装置と、主プロセッサ20を接続する。
The pass line 12 connects the microprocessor 11 and each I1
0 device and the main processor 20.

図示の例では、前述したマイクロプロセッサ11の条件
により、16本のデータラインと、IMBのアドレス空
間をサポートする20本のアドレスラインと、バスの制
御信号により構成されている。
In the illustrated example, due to the conditions of the microprocessor 11 described above, it is composed of 16 data lines, 20 address lines supporting the IMB address space, and bus control signals.

メモリ13は、副プロセッサ10側のメモリである。The memory 13 is a memory on the sub-processor 10 side.

フロッピ制御装置14は、フロッピ磁気ディスク装置を
制御する。
The floppy control device 14 controls a floppy magnetic disk device.

ハードディスク制御装置16は、ハードディスク装置を
制御する。
The hard disk control device 16 controls hard disk devices.

キーボード/表示制御装置15は、キーボード及び表示
装置を制御する。
The keyboard/display control device 15 controls the keyboard and display device.

主プロセッサ20は、アダプタ制御部21を通じて副プ
ロセッサ10側のパスライン12と接続されている。
The main processor 20 is connected to the path line 12 on the sub-processor 10 side through an adapter control section 21.

制御プログラムメモリ23は、主プロセッサ20を制御
するためのマイクロプログラムが格納される書き換え可
能なメモリである。この制御プログラム23に格納され
るマイクロプログラムは、主プロセッサ20を高速に動
作させるためのものであり、1回の命令で制御可能な条
件をできる限り多くするため、通常は1ワードが32ビ
ツト又は64ビツトなどにより構成されている。
The control program memory 23 is a rewritable memory in which a microprogram for controlling the main processor 20 is stored. The microprogram stored in this control program 23 is for operating the main processor 20 at high speed, and in order to control as many conditions as possible with one instruction, one word is usually 32 bits or 1 word. It is composed of 64 bits, etc.

以下、図示の例では、1ワードが32ビツト長でアドレ
スが64キロワードのマイクロプログラムが採用されて
いるものとして説明を行なう力さ、前述の条件により制
御プログラムメモリ23は、データ長が32ビツト(1
マイクロ命令分)でアドレス方向が64キロワ一ド分の
機能を必要とすることになり、後述するように市販され
ている64キロ×4ビツト構成のSRAMなどが使用可
能である。
In the illustrated example, the explanation will be given assuming that a microprogram with one word having a length of 32 bits and an address of 64 kilowords is adopted. 1
This requires a function equivalent to 64 kilowords in the address direction (microinstructions), and a commercially available SRAM with a 64 kilobyte x 4 bit configuration, as will be described later, can be used.

切換えゲート22は、制御プログラムメモリ23に入力
されるアドレス線を切換える。これは、アドレスレジス
タ33から送られてくる副プロセッサ10からのアドレ
ス情報と、マイクロプログラムの実行を制御するための
シーケンサ27からのアドレス情報を切換えるものであ
る。このアドレス情報は、制御プログラムメモリ23の
アドレス空間64キロをサポートするため、16本の信
号線により構成されている。
The switching gate 22 switches the address line input to the control program memory 23. This is to switch between the address information from the sub-processor 10 sent from the address register 33 and the address information from the sequencer 27 for controlling the execution of the microprogram. This address information is composed of 16 signal lines in order to support the 64 km address space of the control program memory 23.

シーケンサ27は、主プロセッサ20側が実行するマイ
クロプログラムのアドレスを指定するものである。
The sequencer 27 specifies the address of the microprogram executed by the main processor 20 side.

インストラクションデコーダ25は、制御プログラム2
3から送られてくる各マイクロプログラムのアドレスを
指定するものである。即ち、インストラクションデコー
ダ25は、制御プログラムメモリ23から送られてくる
各マイクロプログラムをデコードして各種の制御信号を
発生するマイクロインストラクションデコーダである。
The instruction decoder 25 is a control program 2
It specifies the address of each microprogram sent from 3. That is, the instruction decoder 25 is a microinstruction decoder that decodes each microprogram sent from the control program memory 23 and generates various control signals.

命令デコーダ26は、副プロセッサ10のマイクロプロ
セッサ11によりアドレス線上に送られてくる命令のデ
コーダであり、主プロセッサ20の起動、停止などの制
御を実行する。
The instruction decoder 26 is a decoder for instructions sent onto the address line by the microprocessor 11 of the sub-processor 10, and executes control such as starting and stopping the main processor 20.

バスコントローラ28.30は、メインプロセッサ側の
内部バスのデータの流れを制御するためのものである。
The bus controllers 28 and 30 are for controlling the flow of data on the internal bus on the main processor side.

データの上位バイト、下位バイトの入れ替えやビット操
作などを実行する。
Performs bit operations such as swapping the upper and lower bytes of data.

制御レジスタ31は、主プロセッサ側の各種制御レジス
タであり、汎用レジスタや割込み処理用のレジスタ等に
より構成される。
The control register 31 is a variety of control registers on the main processor side, and is composed of general-purpose registers, registers for interrupt processing, and the like.

主記憶装置32は、このような専用プロセッサにおいて
は、例えば、1ワード即ち64ビツト長などデータの高
速処理が可能なように工夫されている。
In such a dedicated processor, the main memory 32 is devised to enable high-speed processing of data, such as one word or 64-bit length, for example.

ゲート24は、制御レジスタ31−?1シーケンサ27
などの状態を副プロセッサ10がリードするための切換
えゲートである。
The gate 24 is connected to the control register 31-? 1 sequencer 27
This is a switching gate for the sub-processor 10 to read the states such as.

第3図は、第2図のマルチプロセッサシステムの制御手
順を示すフローチャートである。
FIG. 3 is a flowchart showing the control procedure of the multiprocessor system of FIG.

図において、ステップS31では、第4図に示す主プロ
セッサ20を制御するためのマイクロプログラムを副プ
ロセッサ10のメモリ13にロードする。このシステム
制御用のマイクロプログラムは、予めフロッピディスク
装置14やハードディスク装置16の中に格納されてい
るものとする。
In the figure, in step S31, a microprogram for controlling the main processor 20 shown in FIG. 4 is loaded into the memory 13 of the sub-processor 10. It is assumed that this system control microprogram is stored in the floppy disk device 14 or hard disk device 16 in advance.

次に、ステップS32において、副プロセッサ10のメ
モリ13にロードしたマイクロプログラムを主プロセッ
サ20の制御プログラムメモリ23に格納する。この場
合、第4図において、切換えゲート22は、アドレスレ
ジスタ33からのアドレス線を選択し、制御プログラム
メモリ23の中に順次格納する動作を実行するが、詳細
については後述する。続いてステップS33で、副プロ
セッサ10のマイクロプロセッサ11から主プロセッサ
20に対して起動命令を送出する。この起動命令は、第
4図の命令デコーダ26によりデコードされ、主プロセ
ッサ20側が動作を開始する。この場合、切換えゲート
22は、シーケンサ27からのアドレス線を選択するの
で、制御プログラムメモリ23からは、実行すべきマイ
クロプログラムが逐次出力され、必要な処理が実行され
ていく。
Next, in step S32, the microprogram loaded into the memory 13 of the sub-processor 10 is stored in the control program memory 23 of the main processor 20. In this case, in FIG. 4, the switching gate 22 selects the address lines from the address register 33 and sequentially stores them in the control program memory 23, but the details will be described later. Subsequently, in step S33, the microprocessor 11 of the sub-processor 10 sends a startup command to the main processor 20. This startup command is decoded by the command decoder 26 shown in FIG. 4, and the main processor 20 side starts operating. In this case, since the switching gate 22 selects the address line from the sequencer 27, the microprograms to be executed are sequentially output from the control program memory 23, and necessary processing is executed.

ステップS34では、副プロセッサ10のマイクロプロ
セッサ11は、主プロセッサ20側からの動作終了割込
みを待っている状態であり、割込みが発生すると、ステ
ップS35で動作終了時の割込みクリア等を実行し、第
4図の制御レジスタ31内に格納されている動作終了ス
テータスをリードする0次に、ステップS36で正常終
了したか否かの判定を行ない、一連の動作を完了するも
のである。
In step S34, the microprocessor 11 of the sub-processor 10 is in a state of waiting for an operation end interrupt from the main processor 20 side. When an interrupt occurs, in step S35, the microprocessor 11 of the sub-processor 10 clears the interrupt at the end of the operation, etc. After reading the operation end status stored in the control register 31 in FIG. 4, it is determined in step S36 whether or not the operation has ended normally, and the series of operations is completed.

次に、第3図のステップS32において制御プログラム
メモリにマイクロプログラムを順次格納する動作の詳細
について説明する。
Next, details of the operation of sequentially storing microprograms in the control program memory in step S32 in FIG. 3 will be explained.

第2図は、従来の制御プログラムメモリの周辺の主要構
成を示す回路図である。
FIG. 2 is a circuit diagram showing the main peripheral configuration of a conventional control program memory.

メモリ41〜48は、マイクロプログラムを記憶するた
めのものであり、市販されているSRAMにより構成さ
れている。このSRAMとしては、例えば、64キロ×
4ビツト構成のSRAMが利用可能であり、メモリ41
〜44でマイクロプログラムの上位16ビツト分を記憶
し、メモリ45〜48でマイクロプログラムの下位16
ビツト分を記憶し、全体で32ビツト×64キロワード
のマイクロプログラムを格納するものである。
The memories 41 to 48 are for storing microprograms, and are composed of commercially available SRAMs. For example, this SRAM is 64 kg x
A 4-bit configuration SRAM is available, and the memory 41
~44 stores the upper 16 bits of the microprogram, and memories 45~48 store the lower 16 bits of the microprogram.
It stores a total of 32 bits x 64 kilowords of microprograms.

アドレス線50は、制御プログラムメモリ23へのアド
レス線であり、64キロワ一ド分のアドレス空間をサポ
ートするため、16本の信号線により構成されており、
本信号はすべてのSRAMに供給されている。尚、第2
図では、メモリ42〜48のアドレス線は省略しである
The address line 50 is an address line to the control program memory 23, and is composed of 16 signal lines to support an address space of 64 kilobytes.
This signal is supplied to all SRAMs. Furthermore, the second
In the figure, address lines for the memories 42 to 48 are omitted.

ゲート51は、アドレス線を切換えるためのゲートであ
り、選択信号Sが“0”場合は、B信号が選択され、“
1”のときはA信号が選択されるものである。
The gate 51 is a gate for switching the address line, and when the selection signal S is "0", the B signal is selected and "
1'', the A signal is selected.

アドレス信号52は、副プロセッサ10からのアドレス
信号である。
Address signal 52 is an address signal from sub-processor 10.

アドレスレジスタ53は、副プロセッサ10が制御プロ
グラムメモリ23をアクセスする場合に制御プログラム
メモリ23にセットされる。このアドレスレジスタ53
は、16ビツト長である。
Address register 53 is set in control program memory 23 when sub-processor 10 accesses control program memory 23 . This address register 53
is 16 bits long.

このアドレスレジスタ53は、第4図のアドレスレジス
タ33に相当するものである。データバス54は、副プ
ロセッサ10から接続されている。
This address register 53 corresponds to the address register 33 in FIG. 4. A data bus 54 is connected from the sub-processor 10.

データバス54は、16ビツト分の幅を持っている。こ
の信号は、第4図のADP21より接続されている。ゲ
ート55.56は、データバス54の信号を制御プログ
ラムメモリ23に出力するか否かを制御する。ゲート5
5.56は、G信号が“O”レベルのときに出力が有効
となるものである。ゲート55.56は、各々D31〜
D16又はD15〜Doの制御を行なうためのものであ
る。
Data bus 54 has a width of 16 bits. This signal is connected to the ADP 21 in FIG. Gates 55 and 56 control whether the signals on data bus 54 are output to control program memory 23 or not. gate 5
5.56, the output becomes valid when the G signal is at the "O" level. Gates 55 and 56 are respectively D31~
This is for controlling D16 or D15 to Do.

インストラクションデコーダ57は、第4図のインスト
ラクションデコーダ25に相当する部分で主プロセッサ
の各種の制御信号を発生するものである。命令デコーダ
58は、第4図の命令デコーダ26に相当する部分で副
プロセッサ10から命令をデコードし、各種制御信号を
発生するものである。
The instruction decoder 57 corresponds to the instruction decoder 25 in FIG. 4 and generates various control signals for the main processor. The instruction decoder 58 corresponds to the instruction decoder 26 in FIG. 4, and decodes instructions from the sub-processor 10 and generates various control signals.

図示の例では、アドレスセット、アッパーセット、ロア
ーセット、ライト信号の4種類の信号を出力するものと
して説明する。これらの信号は、すべてネガティブ出力
とする。アドレスセット信号は、アドレスレジスタ53
に制御プログラムメモリ23への格納アドレスを設定す
るために使用される。アッパーセット及びロアーセット
は、各々制御プログラムメモリを構成するメモリ41〜
44(上位D31〜D16の16ビツト分)にデータを
セットするか、又は制御プログラムメモリを構成するメ
モリ45〜48(下位D15〜Doの16ビツト分)に
データをセットするかを制御する信号線である。また、
WR倍信号、制御プログラムメモリへデータを格納する
タイミング信号であり、制御プログラムメモリに使われ
ているSRAMの特性に合ったタイミング信号を生成す
るものである。RUN信号59は、主プロセッサが動作
中は、“O“レベルになっている。この信号線は、制御
プログラムメモリ23のSRAMのリード端子に接続さ
れており、主プロセッサ20が動作中のときは、常に制
御プログラムメモリ23の出力を有効にするものである
In the illustrated example, four types of signals are output: address set, upper set, lower set, and write signal. These signals are all negative outputs. The address set signal is sent to the address register 53.
This is used to set the storage address to the control program memory 23. The upper set and lower set each have memories 41 to 41 constituting a control program memory.
A signal line that controls whether to set data in memory 44 (16 bits of upper D31 to D16) or to memories 45 to 48 (16 bits of lower D15 to Do) that constitute the control program memory. It is. Also,
The WR multiplication signal is a timing signal for storing data in the control program memory, and is used to generate a timing signal that matches the characteristics of the SRAM used in the control program memory. The RUN signal 59 is at the "O" level while the main processor is operating. This signal line is connected to the lead terminal of the SRAM of the control program memory 23, and always enables the output of the control program memory 23 when the main processor 20 is in operation.

また、RUN信号59は、アドレス線の切換ゲート51
のS信号に接続されており、主プロセッサが動作中のと
きは、常にB側のシーケンサからのアドレス線を制御プ
ログラムメモリ23に入力するものである。ゲート60
.61は、各々制御プログラムメモリ41〜44及び4
5〜48のWR倍信号作るためのものである。図示の例
では、ネガティブ信号のANDゲートとして動作する。
Further, the RUN signal 59 is applied to the switching gate 51 of the address line.
When the main processor is in operation, the address line from the B-side sequencer is always input to the control program memory 23. gate 60
.. 61 are control program memories 41 to 44 and 4, respectively.
This is for creating a 5 to 48 WR multiplied signal. In the illustrated example, it operates as an AND gate of negative signals.

第5図は、制御プログラムメモリにマイクロプログラム
を書き込む場合の手順を示すフローチャートである。
FIG. 5 is a flowchart showing the procedure for writing a microprogram into the control program memory.

第5図において、まず、ステップS51で、マイクロプ
ログラムを制御プログラムメモリに格納するためのアド
レス情報をセットする。この場合、第4図のマイクロプ
ロセッサ11は、主プロセッサ20に対してアドレスセ
ット命令を送出する。この命令は、第2図の命令デコー
ダ58によりデコードされてアドレスセット信号となる
。第2図のアドレスレジスタ53に制御プログラムメモ
リの格納アドレスがセットされ、さらに、本信号はゲー
ト51を通って制御プログラムメモリ41〜48のアド
レス情報として供給される。
In FIG. 5, first, in step S51, address information for storing the microprogram in the control program memory is set. In this case, the microprocessor 11 in FIG. 4 sends an address set command to the main processor 20. This command is decoded by the command decoder 58 of FIG. 2 and becomes an address set signal. The storage address of the control program memory is set in the address register 53 of FIG. 2, and this signal is further supplied through the gate 51 as address information of the control program memories 41-48.

ゲート51のS信号は、制御プログラムメモリ23ヘプ
ログラムをセットする場合は、主プロセッサ20は動作
中でないため、RUN信号は“1”のレベルになってお
り、A信号が選択されていることによる。
When the S signal of the gate 51 is set to the control program memory 23, the RUN signal is at the level "1" because the main processor 20 is not in operation, and the A signal is selected. .

次に、ステップS52によりマイクロプログラムのD3
1〜D16のデータが制御プログラムメモリ41〜44
のSRAMに格納される。この場合、第4図のマイクロ
プロセッサ11は、主プロセッサ20に対してアッパー
セット命令を送出し、この命令は命令デコーダ58でデ
コードされてアッパーセット信号となり、さらにこの信
号によりゲート55のG信号は、“O”レベルとなり、
出力が有効となって、データ線上に載せられているマイ
クロ命令のD31〜D16の内容が制御プログラムメモ
リ41〜44に格納される。
Next, in step S52, D3 of the microprogram is
Data 1 to D16 are stored in control program memories 41 to 44.
The data is stored in the SRAM. In this case, the microprocessor 11 in FIG. 4 sends an upperset command to the main processor 20, this command is decoded by the command decoder 58 to become an upperset signal, and this signal causes the G signal of the gate 55 to , becomes “O” level,
The output becomes valid, and the contents of microinstructions D31 to D16 carried on the data line are stored in the control program memories 41 to 44.

次に、ステップS53によりマイクロプログラムのDI
5〜Doのデータが制御プログラムメモリ45〜48に
格納される。この動作もステップS52の場合と同様に
してロアーセット信号が出力され、データ線上に載せら
れているマイクロ命令のD15〜Doの内容が制御プロ
グラムメモリ45〜48に格納される。
Next, in step S53, the microprogram DI
The data of 5 to Do are stored in the control program memories 45 to 48. In this operation, the lower set signal is output in the same manner as in step S52, and the contents of microinstructions D15-Do carried on the data line are stored in the control program memories 45-48.

続いて、ステップS54で最終アドレスまでセットした
か否かが副プロセッサ10のマイクロプロセッサ11に
より判定され、最終命令のセットが完了するまでステッ
プS51〜S54を繰り返し実行することにより、すべ
てのマイクロプログラムを制御プログラムメモリに格納
する動作が完了する。
Next, in step S54, the microprocessor 11 of the sub-processor 10 determines whether or not the final address has been set, and all microprograms are executed by repeatedly executing steps S51 to S54 until the final instruction is set. The operation of storing in the control program memory is completed.

(発明が解決しようとする課題) しかしながら、上述のように構成したマルチプロセッサ
システムには、次のような問題点があった。
(Problems to be Solved by the Invention) However, the multiprocessor system configured as described above has the following problems.

即ち、制御プログラムメモリにマイクロプログラムをセ
ットするためには、必ず、第5図のシーケンスにより副
プロセッサ側がプログラムにより1ワード毎にデータ転
送する必要があり、転送完了までの時間がかかる欠点が
あった。
That is, in order to set a microprogram in the control program memory, it is necessary for the subprocessor to transfer data word by word according to the program according to the sequence shown in FIG. 5, which has the drawback that it takes a long time to complete the transfer. .

例えば、前述した従来例の場合は、マイクロプログラム
の構成は、64キロワード×32ビツトであるため、1
6ビツト単位にデータ転送する場合でも、65536x
 2 = 131072回のデータ転送が必要であり、
又アドレスレジスタの設定は65536回必要であるか
ら、1回当たりの副プロセッサ側のI10命令の実行速
度を約10μs/回と仮定すると、全体の処理時間Tは
、 T= (131072+65536) X10μS 4
 1.9秒となり、主プロセッサを起動するまでに時間
がかかるという欠点があった。
For example, in the case of the conventional example mentioned above, the structure of the microprogram is 64 kilowords x 32 bits, so 1
Even when transferring data in units of 6 bits, 65536x
2 = 131072 data transfers are required,
Also, since the address register needs to be set 65,536 times, assuming that the execution speed of the I10 instruction on the sub-processor side is approximately 10 μs/time, the total processing time T is: T = (131072 + 65536) x 10 μS 4
It took 1.9 seconds, which had the disadvantage that it took time to start up the main processor.

また、通常の場合、主プロセッサの制御プログラムメモ
リに書き込まれるプログラムは、システムの必要に応じ
て適時書き換えられるものであり、最大処理時間が約1
.9秒かかるのは、システムとしてのレスポンスを低下
させる要因となり、技術的に十分満足の得られるもので
はなかった。
In addition, in normal cases, the program written to the control program memory of the main processor is rewritten as needed according to the needs of the system, and the maximum processing time is approximately 1.
.. The fact that it took 9 seconds was a factor that reduced the response of the system, and was not technically satisfactory.

また、副プロセッサの負荷が増大する欠点にもなってい
た。
Another disadvantage was that the load on the subprocessor increased.

本発明は以上の点に着目してなされたもので、マルチプ
ロセッサシステムにおける主プロセッサの制御プログラ
ムメモリにマイクロプログラムをセットするのに時間が
かかるという問題点を除去し、副プロセッサの負荷を軽
くし、使いやすいマルチプロセッサシステムを提供する
ことを目的とするものである。
The present invention has been made with attention to the above points, and eliminates the problem that it takes time to set a microprogram in the control program memory of the main processor in a multiprocessor system, and lightens the load on the sub processor. The purpose is to provide an easy-to-use multiprocessor system.

(課題を解決するための手段) 本発明のマルチプロセッサシステムは、主プロセッサの
制御プログラムメモリに転送されるマイクロプログラム
を格納したファイル装置を有する副プロセッサと、当該
副プロセッサから前記制御プログラムメモリに転送され
たマイクロプログラムにより動作する主プロセッサがバ
スにより結合されたマルチプロセッサシステムにおいて
、主プロセッサを動作させる制御用マイクロプログラム
を格納するための制御プログラムメモリを前記副プロセ
ッサのメモリアドレス上に配置し、前記副プロセッサか
ら当該副プロセッサ自身のメモリへのメモリライト命令
により、マイクロプログラムを格納するようにしたこと
を特徴とするものである。
(Means for Solving the Problems) A multiprocessor system of the present invention includes a sub-processor having a file device storing a microprogram to be transferred to a control program memory of a main processor, and a sub-processor for transfer from the sub-processor to the control program memory. In a multiprocessor system in which main processors that operate according to a microprogram are connected by a bus, a control program memory for storing a control microprogram that operates the main processor is located at a memory address of the subprocessor, and the This system is characterized in that a microprogram is stored by a memory write instruction from a subprocessor to its own memory.

(作用) 本発明のマルチプロセッサシステムによれば、副プロセ
ッサは、自分のメモリにライトする動作を行なうだけで
主プロセッサの制御プログラムにマイクロプログラムを
格納することができる。
(Operation) According to the multiprocessor system of the present invention, the sub-processor can store a microprogram in the control program of the main processor simply by performing an operation of writing it into its own memory.

従って、副プロセッサがプログラムにより主プロセッサ
にデータ転送命令を出して1ワード毎にデータ転送する
必要がない。このため、データ転送時間を大幅に短縮す
ることができる。
Therefore, there is no need for the sub-processor to issue a data transfer command to the main processor using a program to transfer data word by word. Therefore, data transfer time can be significantly reduced.

(実施例) 第1図は、本発明のマルチプロセッサシステムの要部の
構成を示すブロック図である。
(Embodiment) FIG. 1 is a block diagram showing the configuration of main parts of a multiprocessor system of the present invention.

この図は、先に説明した第4図のマルチプロセッサシス
テムの制御プログラムメモリの周辺の部分のみを示した
ものである。
This figure shows only the peripheral portion of the control program memory of the multiprocessor system of FIG. 4 described above.

メモリ41〜48は、マイクロプログラムを記憶するた
めのものであり、市販されているSRAMにより構成さ
れている。このSRAMとしては、例えば、64キロ×
4ビツト構成のSRAMが利用可能であり、メモリ41
〜44でマイクロプログラムの上位16ビツト分を記憶
し、メモリ45〜48でマイクロプログラムの下位16
ビツト分を記憶し、全体で32ビツト×64キロワード
のマイクロプログラムを格納するものである。
The memories 41 to 48 are for storing microprograms, and are composed of commercially available SRAMs. For example, this SRAM is 64 kg x
A 4-bit configuration SRAM is available, and the memory 41
~44 stores the upper 16 bits of the microprogram, and memories 45~48 store the lower 16 bits of the microprogram.
It stores a total of 32 bits x 64 kilowords of microprograms.

アドレス線50は、制御プログラムメモリ23へのアド
レス線であり、64キロワ一ド分のアドレス空間をサポ
ートするため、16本の信号線により構成されており、
本信号はすべてのSRAMに供給されている。尚、第1
図では、メモリ42〜48のアドレス線は省略しである
The address line 50 is an address line to the control program memory 23, and is composed of 16 signal lines to support an address space of 64 kilobytes.
This signal is supplied to all SRAMs. Furthermore, the first
In the figure, address lines for the memories 42 to 48 are omitted.

ゲート51は、アドレス線を切換えるためのゲートであ
り、選択信号Sが”O”場合は、B信号が選択され、“
1”のときはA信号が選択されるものである。
The gate 51 is a gate for switching the address line, and when the selection signal S is "O", the B signal is selected and "
1'', the A signal is selected.

アドレス信号52は、副プロセッサ10からのアドレス
信号である。
Address signal 52 is an address signal from sub-processor 10.

第1図においては、以下のようにして、主プロセッサ2
0を動作させる制御用マイクロプログラムを格納するた
めの制御プログラムメモリ23が、副プロセッサ10の
メモリアドレス上に配置されている。即ち、第2図に示
すアドレスレジスタ53は、使用せず、切換ゲート51
の六入力信号線64には、副プロセッサ10からのアド
レス線A17〜A2の16本が接続されている。この結
果、副プロセッサ10から当該副プロセッサ10自身の
メモリ13(第4図参照)へのメモリライト命令により
、マイクロプログラムを格納するようにされる。
In FIG. 1, the main processor 2
A control program memory 23 for storing a control microprogram for operating the subprocessor 10 is located at a memory address of the subprocessor 10. That is, the address register 53 shown in FIG. 2 is not used, and the switching gate 51
Sixteen address lines A17 to A2 from the sub-processor 10 are connected to the six input signal lines 64. As a result, the microprogram is stored in the memory 13 (see FIG. 4) from the sub-processor 10 by a memory write command of the sub-processor 10 itself.

また、命令デコーダ58の出力のうち、アドレスセット
、アッパーセット、ロアーセット信号は、不使用であり
、アドレスデコーダ70、インバータ71、ゲート72
.73の回路が増設されている。
Further, among the outputs of the instruction decoder 58, the address set, upper set, and lower set signals are not used, and the address decoder 70, inverter 71, and gate 72
.. 73 circuits have been added.

アドレスデコーダ70は、アドレス線A19、A18が
それぞれA19=“l″ A18=“0”であり、且つ
MW(メモリライト)信号が有効のときネガティブ(ロ
ウレベル)信号を出力する。この信号は、インバータ7
1、ケート72.73でAND条件が判定され、それぞ
れロアーセル及びアバ−セル信号(ネガティブ出力)が
出力される。インバータ71は、アドレス線のA1が入
力されているため、ORゲート72は、アドレス線A1
=“0”のとき、“○”信号のAND条件が成立し、ロ
アーセル信号が出力され、逆にアドレスA1=“1”の
ときは、ORゲート出カフ3が有効となり、アバ−セル
信号が出力される。
The address decoder 70 outputs a negative (low level) signal when the address lines A19 and A18 are A19="1" and A18="0", respectively, and the MW (memory write) signal is valid. This signal is transmitted to inverter 7
1, AND conditions are determined in gates 72 and 73, and lower cell and upper cell signals (negative output) are output, respectively. Since the address line A1 is input to the inverter 71, the OR gate 72 inputs the address line A1.
When address = “0”, the AND condition of the “○” signal is established and the lower cell signal is output, and conversely, when address A1 = “1”, OR gate output cuff 3 is enabled and the upper cell signal is output. Output.

第6図は、本発明による制御プログラムメモリのアドレ
ス領域を示す図である。
FIG. 6 is a diagram showing an address area of a control program memory according to the present invention.

第6図(a)は、後述するように制御プログラムメモリ
のアドレス選択信号を示す図である。
FIG. 6(a) is a diagram showing an address selection signal for the control program memory, as will be described later.

第6図(b)は、副プロセッサのメモリマツピングを示
す図である。
FIG. 6(b) is a diagram showing memory mapping of the sub-processor.

次に、上述のように構成したマルチプロセッサシステム
の動作を説明する。
Next, the operation of the multiprocessor system configured as described above will be explained.

上述のような回路構成にすると、制御プログラムメモリ
は副プロセッサ10側から見ると、第4図に示すマイク
ロプロセッサ11のメモリ空間上において、第6図(b
)に示すように、アドレス領域80000 (HEX)
 〜8FFFF (HEX) !::位置付けされたこ
とになり、副プロセッサ10部のマイクロプロセッサ1
1は、自分のメモリにライトする動作を行なうだけで、
制御プログラムメモリ23にマイクロプログラムを格納
することが可能となる。
With the above-described circuit configuration, the control program memory is arranged in the memory space of the microprocessor 11 shown in FIG. 4 as shown in FIG.
), address area 80000 (HEX)
~8FFFF (HEX)! ::The microprocessor 1 of the 10 sub-processors has been positioned.
1, just write to your memory,
It becomes possible to store microprograms in the control program memory 23.

例えば、 80(100(HE X)番地にメモリライ
トを実行した場合は、アドレス線のAl=“O”である
ため、第1図のゲート72のロアーセル信号が有効とな
り、本信号によりゲート56の出力が有効となり、デー
タ線54上のデータが制御プログラムメモリ45〜48
に入力される。このとき、制御プログラムメモリへのア
ドレスは、切換ゲート51の六入力が選択されており、
アドレス線A17〜A2のデータが入力されており、0
000(HEX)番地となっているため、SRAM45
〜48の0000(HE X)番地にマイクロ命令の下
位1ワ一ド分(16ビツト)のデータが格納される。同
様にして、80002 (HE X )番地にメモリラ
イトを実行した場合は、アドレス線のA1=“1”であ
るため、ゲート73のアッパーセル信号が有効となり、
前述の従来例と同様にして制御プログラムメモリ41〜
44(7)0000 (HEX)番地にマイクロ命令の
上位1ワ一ド分(16ビツト)のデータが格納される。
For example, when a memory write is executed to address 80 (100 (HEX)), since Al of the address line is “O”, the lower cell signal of gate 72 in FIG. The output becomes valid and the data on data line 54 is stored in control program memories 45-48.
is input. At this time, the six inputs of the switching gate 51 are selected as the address to the control program memory.
Data on address lines A17 to A2 is input, and 0
Since the address is 000 (HEX), SRAM45
The data of one lower word (16 bits) of the microinstruction is stored at address 0000 (HEX) of 48 to 48. Similarly, when a memory write is executed to address 80002 (HEX), the upper cell signal of gate 73 is valid because A1 of the address line is "1"
Similarly to the conventional example described above, the control program memory 41 to
Data for one upper word (16 bits) of the microinstruction is stored at address 44(7)0000 (HEX).

これで最初の32ビツト分のマイクロプログラムの格納
が終了し、さらに続いて80004 (HE X )番
地にメモリライトを実行すると、前述と同様に動作する
が、今度はアドレス線50の内容は、AI7〜A23D
OO1(HEX)となっており、制御プログラムメモリ
23の0001番地にマイクロプログラムが格納される
ことになる。以上の動作をアドレスBFFFF(HEX
)番地まで繰り返すことにより制御プログラムメモリ2
3内にすべてのマイクロプログラムを格納することが可
能となる。
This completes the storage of the first 32 bits of the microprogram, and then executes a memory write to address 80004 (H ~A23D
OO1 (HEX), and the microprogram will be stored at address 0001 of the control program memory 23. The above operation is performed at address BFFFF (HEX
) control program memory 2 by repeating up to the address
It becomes possible to store all microprograms within 3.

第6図(a)は、前述したように制御プログラムメモリ
のアドレス選択信号を示す図である。
FIG. 6(a) is a diagram showing the address selection signal of the control program memory as described above.

即ち、この図は、Al信号でアッパーセル、ロアーセル
の切換え、A17〜A2の16ビツトで制御プログラム
メモリアドレス64キロワード分を選択し、A19=“
1”、A18=“O”の場合に制御プログラムメモリ選
択領域が選択されることを示したものである。
That is, in this figure, the upper cell and lower cell are switched by the Al signal, 64 kilowords of control program memory address are selected by 16 bits of A17 to A2, and A19="
1” and A18="O" indicates that the control program memory selection area is selected.

以上説明したように、本実施例によれば、制御プログラ
ムメモリにマイクロプログラムを格納する場合、副プロ
セッサ10側のマイクロプロセッサ11は、単に自分の
メモリに対するストア命令を実行するだけでよくなり、
1回当りのストア命令の実行時間を1μsとすれば、マ
イクロプログラム256キロバイト分を転送するのに要
する処理時間Tは、 T= (65536X2) X 1 μs40.14秒
となり、従来と比較して処理時間が短くなり、且つ副プ
ロセッサ側の負荷を軽くすることが可能となる。
As explained above, according to the present embodiment, when storing a microprogram in the control program memory, the microprocessor 11 on the sub-processor 10 side only needs to execute a store instruction for its own memory.
If the execution time of each store instruction is 1 μs, the processing time T required to transfer 256 kilobytes of the microprogram is T = (65536 x 2) The time is shortened and the load on the sub-processor side can be reduced.

尚、本実施例では、アドレス領域は、第6図(b)のよ
うに設定したが、これはシステムに使用されるプロセッ
サの条件等により自由に選択することができることは勿
論である。また、第1図の例では、副プロセッサからの
メモリライト動作の場合のみを示したが、リード動作に
ついても同様にして回路を一部修正することにより対応
できることは勿論である。さらに、本発明によれば、制
御プログラムメモリは、副プロセッサ側のメモリとして
機能するため、副プロセッサ側のフロッピディスクやハ
ードディスクに予めマイクロプログラムを格納しておい
て、DMA転送等により直接制御プログラムメモリにマ
イクロプログラムを格納することも可能であり、副プロ
セッサの負荷を著しく軽減することができる。
In this embodiment, the address area is set as shown in FIG. 6(b), but it goes without saying that this can be freely selected depending on the conditions of the processor used in the system. In the example of FIG. 1, only the memory write operation from the sub-processor is shown, but it goes without saying that the read operation can also be handled by partially modifying the circuit. Further, according to the present invention, since the control program memory functions as a memory on the sub-processor side, a microprogram is stored in advance in a floppy disk or hard disk on the sub-processor side, and the control program memory is directly transferred to the control program memory by DMA transfer or the like. It is also possible to store microprograms in the microprocessor, and the load on the subprocessor can be significantly reduced.

(発明の効果) 以上説明したように、本発明によれば、主プロセッサ側
の制御プログラムメモリを副プロセッサ側のメモリ空間
の中に配置したので、次のような効果がある。
(Effects of the Invention) As described above, according to the present invention, the control program memory on the main processor side is arranged in the memory space on the sub-processor side, so that the following effects can be obtained.

即ち、副プロセッサから制御プログラムメモリにマイク
ロプログラムを格納するためには、単に副プロセッサで
メモリライト命令を実行するだけでよく、すべてのマイ
クロプログラムの格納に要する時間が短縮できるととも
に、副プロセッサのプログラムによる処理負荷を軽くす
ることが可能となる。
In other words, in order to store a microprogram from the subprocessor to the control program memory, it is sufficient to simply execute a memory write instruction in the subprocessor. This makes it possible to reduce the processing load due to

また、本発明によれば、制御プログラムメモリは、副プ
ロセッサ側のメモリとして機能するため、副プロセッサ
側のフロッピディスクやハードディスクに予めマイクロ
プログラムを格納しておいて、DMA転送により直接制
御プログラムメモリにマイクロプログラムを格納するこ
とも可能となり、副プロセッサの負荷を著しく軽減する
ことができる。
Further, according to the present invention, since the control program memory functions as a memory on the sub-processor side, a microprogram is stored in advance on a floppy disk or hard disk on the sub-processor side, and is directly transferred to the control program memory by DMA transfer. It is also possible to store microprograms, and the load on the subprocessor can be significantly reduced.

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

第1図は本発明による制御プログラムメモリの周辺回路
を示すブロック図、第2図は従来の制御プログラムメモ
リの周辺回路を示すブロック図、第3図は第2図のマル
チプロセッサシステムの制御手順を示すフローチャート
、第4図はマルチプロセッサシステムの一例を示す図、
第5図はマイクロプログラムを格納するシーケンスを示
すフローチャート、第6図は本発明による制御プログラ
ムメモリのアドレス領域を示す図である。 10・・・副プロセッサ、20・・・主プロセッサ、2
3・・・制御プログラムメモリ、52・・・バス、57
・・・インストラクションデコーダ、58・・・命令デ
コーダ。 正常動作時の70−チャ 第3図 ト 第5図 16ピツト メモリの7ドレス’9I域 図
FIG. 1 is a block diagram showing a peripheral circuit of a control program memory according to the present invention, FIG. 2 is a block diagram showing a peripheral circuit of a conventional control program memory, and FIG. 3 shows a control procedure of the multiprocessor system of FIG. FIG. 4 is a diagram showing an example of a multiprocessor system,
FIG. 5 is a flowchart showing a sequence for storing a microprogram, and FIG. 6 is a diagram showing an address area of a control program memory according to the present invention. 10... Sub-processor, 20... Main processor, 2
3... Control program memory, 52... Bus, 57
...Instruction decoder, 58...Instruction decoder. 70-cha Figure 3 to Figure 5 16 Pit memory 7 dress '9I area diagram during normal operation

Claims (1)

【特許請求の範囲】 主プロセッサの制御プログラムメモリに転送されるマイ
クロプログラムを格納したファイル装置を有する副プロ
セッサと、 当該副プロセッサから前記制御プログラムメモリに転送
されたマイクロプログラムにより動作する主プロセッサ
がバスにより結合されたマルチプロセッサシステムにお
いて、 主プロセッサを動作させる制御用マイクロプログラムを
格納するための制御プログラムメモリを前記副プロセッ
サのメモリアドレス上に配置し、前記副プロセッサから
当該副プロセッサ自身のメモリへのメモリライト命令に
より、マイクロプログラムを格納するようにしたことを
特徴とするマルチプロセッサシステム。
[Scope of Claims] A sub-processor having a file device that stores a microprogram to be transferred to the control program memory of the main processor, and a main processor that operates based on the microprogram transferred from the sub-processor to the control program memory, In a multiprocessor system connected by A multiprocessor system characterized by storing microprograms using a memory write instruction.
JP5484490A 1990-03-08 1990-03-08 Multiprocessor system Pending JPH03257572A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5484490A JPH03257572A (en) 1990-03-08 1990-03-08 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5484490A JPH03257572A (en) 1990-03-08 1990-03-08 Multiprocessor system

Publications (1)

Publication Number Publication Date
JPH03257572A true JPH03257572A (en) 1991-11-18

Family

ID=12981921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5484490A Pending JPH03257572A (en) 1990-03-08 1990-03-08 Multiprocessor system

Country Status (1)

Country Link
JP (1) JPH03257572A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097539A (en) * 2011-10-31 2013-05-20 Mitsutoyo Corp Control device and control program illegal reading prevention method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097539A (en) * 2011-10-31 2013-05-20 Mitsutoyo Corp Control device and control program illegal reading prevention method

Similar Documents

Publication Publication Date Title
US4255785A (en) Microprocessor having instruction fetch and execution overlap
US5455955A (en) Data processing system with device for arranging instructions
US4222103A (en) Real time capture registers for data processor
US4095268A (en) System for stopping and restarting the operation of a data processor
US4949242A (en) Microcomputer capable of accessing continuous addresses for a short time
JPH0232659B2 (en)
JPH03257572A (en) Multiprocessor system
JP2731618B2 (en) emulator
JPS59218569A (en) Microcomputer
JPS62120542A (en) Information processor
JPH0581145A (en) Data write circuit in eeprom
JPS6155130B2 (en)
JP2847729B2 (en) Information processing device
JP2583614B2 (en) Vector arithmetic unit
JPH0535472A (en) Microcomputer
JP3006487B2 (en) Emulation device
JPS60193046A (en) Detecting system for instruction exception
JPH0561659B2 (en)
JPS61272856A (en) Processor control system
JPS6227423B2 (en)
JPH0545978B2 (en)
JPH08297583A (en) Processor and method for interruption processing
JPS60245049A (en) Data processor
JPS6014334A (en) Data processor
JPH05108340A (en) Microprogram loading system