JPS63193233A - Instrument control equipment - Google Patents

Instrument control equipment

Info

Publication number
JPS63193233A
JPS63193233A JP2671787A JP2671787A JPS63193233A JP S63193233 A JPS63193233 A JP S63193233A JP 2671787 A JP2671787 A JP 2671787A JP 2671787 A JP2671787 A JP 2671787A JP S63193233 A JPS63193233 A JP S63193233A
Authority
JP
Japan
Prior art keywords
cpu
tasks
cop
control
task
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
JP2671787A
Other languages
Japanese (ja)
Inventor
Masao Hosaka
昌雄 保坂
Hisashi Sakamaki
久 酒巻
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2671787A priority Critical patent/JPS63193233A/en
Publication of JPS63193233A publication Critical patent/JPS63193233A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

PURPOSE:To process plural tasks in parallel and to easily control the respective tasks by providing a main control part with plural subordinate control parts. CONSTITUTION:A bus OBUS dedicated to the extension element of an I/O is connected directly to subordinate control parts COP0-COPn, which operate I/O elements independently according to the composition of tasks and also control the timing of a sequence and eternal devices by counting a clock PCLKn. A u-LAN determines constant protocol by a system and assigns it to some COP. A CPU is interrupted from an internal data RAM assigned on a DPRAM and COPs. The COP finds the interruption to the CPU according to the program and report state changers to the CPU. The CPU and COPs operate asynchronously to access the same memory.

Description

【発明の詳細な説明】 〔技術分野) 本発明は複写機、ファクシミリ、ワープ℃。[Detailed description of the invention] 〔Technical field) The present invention applies to copiers, facsimiles, and warps.

パソコン等OA機器を始め、メカトロニクス用機器を制
御する機器制御装置に関す条。
Articles regarding equipment control devices that control mechatronics equipment, including OA equipment such as personal computers.

(発明の背景〕 マイクロコンピュータの機器への応用が一般化した現在
、機器の性能の向上は顕著である。
(Background of the Invention) Nowadays, the application of microcomputers to equipment has become commonplace, and the performance of equipment has improved significantly.

この傾向はさらに増大して行くものと思われる。This trend is expected to increase further.

これは、半導体技術とこれらのチップの低コスト化にあ
る。製品の機能の向上と共にマイクロコンピュータの使
用個数も多くなり、そのソフトウェアのプログラム容量
も年々飛躍的に増大している。そして製品の開発工数は
ソフトウェアが大部分を占めるに致っている。製品の開
発期間はまさにソフトウェアによって圧迫されているの
が現状である。まさにソフトウニアクライシスと言われ
るゆえんがここにある。チップそのものの価格はきわめ
て低価格であるから付加価値を同上させるためにどんど
ん使用個数を増やして行く傾向にある。ハードウェアは
極めてシンプルになり、機能はどんどん向上して行くが
、ハードにソフトが追いつかない。さらに設計変更を行
おうとするとプログラムの根本から全て変え17くては
ならない。コンピュータシーケンスとは外から見るとき
わめてフレキシビリティに冨んだ装置をユーザに提供し
てくれるが、それを設Z1するのは困難である。そこで
リアルタイムO5が市販させ、これを使用してシステム
を構成する例も増えている。しかし大がかりな装置は別
にして、スタンドアローンのOAi器は、市販のリアル
タイムO5を使用する栓装置も犬ぎくないし、これらは
プログラム容l的にも不能率である。そこで、従来のマ
イコンアーキテクチャ−を根本から見直し、タスクの並
列処理と、リアルタイム処理可能なアーキテクチャを提
案し、並列処理を管理するためのコアのCPUに簡単な
O5(シリコンO5)を付加すればプログラムの構成、
変更も容易になり、力計つ一度作ったプログラムを再度
使用出来、このようなソフトウェア資源のリサイクルが
可能になる。製品の商品寿命は年々短くなり、開発期間
の余裕が十分でない。
This is due to semiconductor technology and the lower cost of these chips. As the functionality of products improves, the number of microcomputers in use increases, and the program capacity of their software increases dramatically year by year. Software now accounts for the majority of product development man-hours. The current situation is that product development periods are being squeezed by software. This is exactly why it is called a software crisis. Since the price of the chips themselves is extremely low, there is a tendency to increase the number of chips used in order to increase the added value. Hardware has become extremely simple and its functionality has continued to improve, but software has not been able to keep up with hardware. Furthermore, if you want to change the design, you will have to change the entire program from its roots17. From the outside, the computer sequence provides the user with an extremely flexible device, but it is difficult to set up. Therefore, real-time O5 is commercially available, and the number of systems using it is increasing. However, apart from large-scale devices, stand-alone OAi devices and plugging devices that use commercially available real-time O5 are too difficult to use, and these devices are impossible to program. Therefore, we fundamentally reviewed the conventional microcomputer architecture and proposed an architecture that can perform parallel processing of tasks and real-time processing. composition,
Changes can be made easily, programs that have been created once can be reused, and software resources can be recycled. The lifespan of products is getting shorter every year, and there is not enough time for development.

従来一度作ったソフトウェア(アプリケージ5ンプログ
ラム)は次の開発1fffiには全く使われていなかっ
た。それは従来のマイクロコンピュータのアーキテクチ
ャ−が、その様な構造になっていたからである。ソフト
ウェアの再利用に関してはシリコンO5を提案し各種の
タスクの管理手段に付、すでに特開昭59−22174
8号「像形成装置」、同じく特開昭59−221749
号「像形成装置」に開示しである。
In the past, the software that was created once (application cage program) was not used at all in the next development 1fffi. This is because the architecture of conventional microcomputers had such a structure. Regarding the reuse of software, we proposed Silicon O5 and applied it as a means of managing various tasks.
No. 8 "Image forming device", also published in JP-A-59-221749
No. ``Image Forming Apparatus''.

第8図に複写機等のメカトロニクスを主体とした制御装
置の従来のコントロールシステムのハート構成を示す。
FIG. 8 shows the heart configuration of a conventional control system for a control device mainly based on mechatronics such as a copying machine.

図においてMC,〜MC4の4ケのワンチップマイコン
による構成で、マイフンは8ビツトの日本電気製 μm
C0M87ADが良く使用されている。各種のIloを
始め4にバイトのROM、128バイトのRAMがオン
チップされている。コストパフォーマンスがいいので、
このチップを使用する傾向が強い。
In the figure, the configuration consists of four one-chip microcontrollers MC, ~MC4, and the microphone is an 8-bit NEC μm microcomputer.
C0M87AD is often used. In addition to various types of Ilo, 4 bytes of ROM and 128 bytes of RAM are on-chip. Because it has good cost performance,
There is a strong tendency to use this chip.

MCI〜MC4は機器の内部のコントロールを行い、シ
リアル110(SIlo)は外部にも拡張さねており、
外部に機器を増設する場合このパスラインを介して機器
と通(Xする事が出来る。
MCI to MC4 control the inside of the device, and serial 110 (SIlo) is extended to the outside.
When adding external equipment, it is possible to communicate with the equipment via this path line.

複写機でたとえるなら、本体以外にオプションで付属す
るソーター、コレ−ター、ADF (自動原稿通り機)
、料金カウンター等がこれに当る。
If we were to compare it to a copying machine, there would be a sorter, colleter, and ADF (automatic document feeder) that are optional accessories in addition to the main unit.
, fare counters, etc.

図における構成においてMCIはホストプロセッサで、
機器のシーケンスコントロールを主に行う。これはタイ
ミングパルスをMC,のカウンターに入力してこれを順
次読みとって、ROMに書かれた数値と比較しながらシ
ーケンスを進めて行く、シーケンスのコントロールに必
要なソレノイド、クラッチ、モーター等のアクチェータ
ーをセット、リケットして行く。又センサー検出スイッ
チ等の信号も人力され、順序動作を行う。
In the configuration shown in the figure, MCI is a host processor,
Mainly performs sequence control of equipment. This inputs timing pulses to the MC's counter, reads them sequentially, and compares them with the values written in the ROM to advance the sequence.It controls the actuators such as solenoids, clutches, and motors required to control the sequence. Set, ricket and go. Also, signals from sensor detection switches, etc. are manually input to perform sequential operations.

M C2は主にパルスモータ−、サーボモーターの制御
を行う複写機の場合パルスモータ−は2〜3ケ使用する
場合があるが、レンズ移動1紙の給紙、原稿台移動等に
通用し、サーボモーターは感光体ドラム、光学系スキャ
ナーに使用される。
MC2 is mainly a pulse motor, in the case of a copying machine that controls a servo motor, two to three pulse motors may be used, but it is commonly used for lens movement, feeding one sheet of paper, moving the document platen, etc. Servo motors are used in photoreceptor drums and optical scanners.

M Csはアナログ入出力のコントロールを行うプロセ
ッサで、温度、光量、湿度1表面電位がこれに当る。ざ
らに機器全体の診断も行う。これらの信号入力はアナロ
グで入力されるためチップ上にあるA/Dコンバータで
ディジタル入力される。
MCs is a processor that controls analog input/output, including temperature, light intensity, humidity, and surface potential. It also performs a rough diagnosis of the entire device. Since these signal inputs are input in analog form, they are input digitally by an A/D converter on the chip.

M C4は操作表示部のコントロールを主に行うもので
、表示素子の制御、CED、LCD。
MC4 mainly controls the operation display section, including display element control, CED, and LCD.

ケイ光表示管の点灯制御を行う。さらにキースイッチか
らの入力を制御する。
Controls the lighting of the fluorescent display tube. Furthermore, it controls the input from the key switch.

このようなマルチプロセッサシステムはワンチップマイ
コンを使用した時コストパフォーマンスが高いのが特徴
であるが、チップ相互間のプロトコル、通信用ソフトウ
ェアが複雑になるのが欠点である。それでこれらオンチ
ップ化されているシリアルI10はスピードが必ずしも
早くないためアイドリングタイムが多いためマイコン相
互の連絡がうまく行かない場合がある。何故ならば、各
チップのシリアルI10はホストのマイコンより指定さ
れたスレイブのマイコンにデーターを送ろうとした場合
、スレイブのマイコンにホストのマイコンよりデーター
が受信された時全てのスレイブのマイコンは仕事を中断
して、アドレスのデコードを始める。従って第8図の制
御システムにおいて例えばMC,がサーボの微細な制御
を行っていた時、丁度割り込みがかかって中断状態とな
ったと同じ事であるから、その間の制御は中断され、精
確な結果は得られない。精密な位置決めを行う様な、デ
ィジタル複写機のスキャナーの場合、数10μの誤差が
あフても画像ブレを起こし、良好な画像が得られなくな
る。このようなマルチCPUuはコスト上の効率は高い
が同期をとらねばならないからこのような通信を行う際
問題が生じる。そこで一般には16ビツト以上のCPに
見られるような市販の実時間処理用のソフトウェア・リ
アルタイム・オペレーティング・システムを使用する例
が多い。実時間処理とは、システムの外部、内部で種々
の状態の変化が起ると、要求される時間内にその変化に
対応するために最°適なプログラムを選び出し、実行さ
せる機能をいう。すなわち時分割処理(TSS)のよう
に処理要求とは関係なく、あらかじめ決められた一定時
間間隔で対応処理するのでなく、処理要求に対して即時
処理を行うのが実時間処理の特徴である。従来処理機能
も低く、タスク数も当然少ないから単純なCPUへの割
り込み処理プログラムで対処する事が出来た。しかし現
在のOA機器は、システムの機能も向上し、処理タスク
数も大きく複雑になって来た。従って処理プログラム、
即ちタスクをどのような順序で優先順序を与えて実行す
れば良いか、判断が困難になり、この判断を効果的に行
う基本ソフトウェアがリアルタイム・オペレーティング
システムである。リアルタイム・オペレーティングシス
テムはシステムの変化に対応して処理の単位であるプロ
グラム、すなわちタスクの中から最適なも、のを高速に
選び出し、実行させる事を主な仕事としている。一般に
このような応用システムでは、各タスクの処理は他のタ
スクの処理結果により処理が異なるまで互いに実行条件
を制限し合っているのが普通である。
Such a multiprocessor system is characterized by high cost performance when using a one-chip microcomputer, but the drawback is that the protocols and communication software between chips become complex. Therefore, since the speed of these on-chip serial I10s is not necessarily high, there is a lot of idling time, and communication between the microcomputers may not work properly. This is because when the serial I10 of each chip tries to send data from the host microcontroller to the specified slave microcontroller, all the slave microcontrollers stop working when the slave microcontroller receives data from the host microcontroller. Interrupt and start decoding the address. Therefore, in the control system shown in Fig. 8, for example, when the MC is performing fine control of the servo, it is the same as if an interrupt occurs and the state is interrupted, so the control during that time is interrupted and the accurate result is not accurate. I can't get it. In the case of a digital copying machine scanner that performs precise positioning, even an error of several tens of microns causes image blur, making it impossible to obtain a good image. Such a multi-CPU u is highly cost effective, but problems arise when performing such communication because synchronization must be achieved. Therefore, commercially available software real-time operating systems for real-time processing, such as those found in CPs of 16 bits or more, are often used. Real-time processing refers to a function that selects and executes the optimal program to respond to various changes in the external or internal state of the system within the required time. That is, real-time processing is characterized by performing immediate processing in response to a processing request, rather than performing corresponding processing at predetermined fixed time intervals, regardless of the processing request, as in time-sharing processing (TSS). Conventionally, the processing function was low and the number of tasks was naturally small, so it was possible to deal with it with a simple interrupt processing program for the CPU. However, the system functions of current OA equipment have improved, and the number of processing tasks has become larger and more complex. Therefore the processing program,
In other words, it becomes difficult to judge in what order tasks should be given priority and executed, and the basic software that effectively makes this judgment is a real-time operating system. The main job of a real-time operating system is to respond to changes in the system by quickly selecting and executing the optimal program from among the processing units, that is, tasks. Generally, in such application systems, the execution conditions of each task are mutually limited until the processing differs depending on the processing results of other tasks.

従ってこれらを制御するリアルタイム・オペレーティン
グシステムはタスク間での実行待ち合わせをつかさどる
同期機能、タスク間でのデータやメツセージの交換を支
援する通信機能、あるいは実行可能なタスクから最も優
先度の高いタスクを選び出し、順序づけをする機能が豊
富である事が要求される。
Therefore, the real-time operating system that controls these functions has a synchronization function that waits for execution between tasks, a communication function that supports the exchange of data and messages between tasks, and a function that selects the highest priority task from among executable tasks. , it is required to have abundant functions for ordering.

〔目 的〕〔the purpose〕

本発明は上述の如き点に鑑みなされたもので、複数のタ
スクを並列処理し、各タスクの管理が容易な機器制御装
置の提供を目的としている。
The present invention has been made in view of the above points, and an object of the present invention is to provide an equipment control device that processes a plurality of tasks in parallel and can easily manage each task.

(実施例) 第1図に本実施例の制御装置(以下コントローラ)の概
念図を示している。
(Example) FIG. 1 shows a conceptual diagram of a control device (hereinafter referred to as controller) of this example.

頂点cpu (主制御部)がある、これは全体を統括す
る管理用のCPUで、特に通常はアプリケーションとし
てのタスクの実行は行わない。
There is an apex CPU (main control unit), which is a CPU for management that oversees the entire system, and does not normally execute tasks as applications.

主な仕事はコープロセツサ(副制御部以下COPという
)の管理、O5(モニター)の実行管理を行う。又求め
に応じてCoPでは出来ないような処理速度の速′い演
算とか、COPが処理で多忙な時、その処理を助けるた
めに実行の手助けを行う。レイヤーの2番目は002群
である。これはCOP複数チャンネルのレイヤーで、複
写機の例をとると10チヤンネル用意しである。この0
01群はCPuの管理のもとに所定のタスクの実行を行
う。タスクに対してCoPmは対応させて固定させてお
いても良いが、CPUの管理のもとに次々に発生するタ
スクにフレキシビリティに対応させても良い。レイヤー
3はcpu。
Its main work is to manage the co-processor (sub-control unit hereinafter referred to as COP) and to manage the execution of O5 (monitor). In addition, when the COP is busy with processing, it will assist in executing high-speed calculations that cannot be performed by the CoP, depending on the request. The second layer is the 002 group. This is a COP multi-channel layer, and in the example of a copying machine, 10 channels are prepared. This 0
The 01 group executes predetermined tasks under the control of the CPU. CoPm may be fixed and correspond to tasks, but it may also be made to flexibly correspond to tasks that occur one after another under the control of the CPU. Layer 3 is CPU.

COP及び外部I10メモリとの連絡用の1’tAMと
バスである。Sバスは通常のシステムバスで通常のマイ
クロプロセッサにあるようにメモリ。
1'tAM and bus for communication with COP and external I10 memory. The S-bus is the normal system bus for memory, as in a normal microprocessor.

I10用のアドレス、データパスラインである。This is the address and data path line for I10.

■バスはCPUと直接接続されICE(エミュレータ)
用の特別なバスである。I10バスの0バスは後で述べ
るがI10ボート拡張用の専用バスで、これはCPUに
管理されたCOPが特定のレジスターと専用にインタフ
ェンスする事が出来る。μ−LANは一定のプロトコム
にでデーターのやりとりを行うシリアル通信ラインであ
る。DPRAM(デュアルポートRAM)は主にCPU
とCOPとのデーターの交換用に用いられる。COPは
緊急の場合、CPUに割り込みをかけて呼び出し、デー
タを取りにこさせても良いが、プログラム(OS)のよ
って定期的にRAM領域をサーチしてデーターのチェッ
クを行っても良い。RAMは通常のスクラッチバドメモ
リで、COP、CPuともアクセス可能である。レイヤ
ー4はメカトロニクス制御に必要な周辺I10装置で、
PWM (パルス巾変調)、ADDCモ−タ−PCはサ
ーボモーター用フェイズコンパレーターでプログラマブ
ルな周波数のPLLに対応出来、可変速度のPLL制御
のDCモーターなどに使用する事が出来る。
■The bus is directly connected to the CPU and runs as an ICE (emulator)
This is a special bus for As will be described later, the 0 bus of the I10 bus is a dedicated bus for expanding the I10 port, and this bus allows the COP managed by the CPU to exclusively interface with a specific register. μ-LAN is a serial communication line that exchanges data using a certain protocol. DPRAM (dual port RAM) is mainly used for CPU
It is used for exchanging data between and COP. In an emergency, the COP may interrupt the CPU and call it to fetch the data, but the program (OS) may also periodically search the RAM area and check the data. The RAM is a normal scratchpad memory and can be accessed by both the COP and CPU. Layer 4 is peripheral I10 equipment necessary for mechatronics control.
PWM (Pulse Width Modulation), ADDC Motor PC is a phase comparator for servo motors and can support PLL of programmable frequency, and can be used for variable speed PLL controlled DC motors.

このフェイズコンパレータのリファレンス信号は、内部
の16ビツト・タイマ/カウンタから供給させる。
The reference signal for this phase comparator is supplied from an internal 16-bit timer/counter.

それに16ビツトのタイマ/カウンターPC−1これは
先きに述べたPLLリファレンス信号の発生、方形波の
発生、ワンショットパルスの発生、外部パルス入力のカ
ウンターがある。
Additionally, there is a 16-bit timer/counter PC-1 which generates the aforementioned PLL reference signal, generates a square wave, generates a one-shot pulse, and has a counter for external pulse input.

外部トリガー人力はゼロクロスパルスのデテクター、外
部パルス入力によるカウンターのスタート、A/D変換
器のスタートがある。このレイヤー4の周辺I10装置
はCOPと組み会わせて有機時にメカトロニクスの制御
を行う事が出来る。第2図はCOPとタスクの関係を示
した図でシリコンO3のもとに002群によってタスク
1〜nmの制御を行う図を示した。第2図に示す様にタ
スクと特定のCOPとの対応はなくcpuの構成のもと
にCOPがフレキシブルに対応する。
External triggers include a zero-cross pulse detector, a counter start by external pulse input, and an A/D converter start. This layer 4 peripheral I10 device can be combined with the COP to control mechatronics during organic operation. FIG. 2 is a diagram showing the relationship between COP and tasks, and shows that tasks 1 to nm are controlled by the 002 group based on silicon O3. As shown in FIG. 2, there is no correspondence between tasks and specific COPs, and the COPs correspond flexibly based on the configuration of the CPU.

第3図はコントローラのブロック構成図を示し、外部と
の関係を示した。図においてIBUSはCPUより直接
接続されたICE(インサーキットエミュレータ−)用
の専用バスで、システムのデパック時に用いられる。C
PUはシリコンモニターとしてのO5に特化した仕事を
主に行うから、ACC(アキュームレータ)、各レジス
ターの内容をリアルタイムでI BUSを通して外部に
ハキ出す事が可能である。本システムにおいて実際のタ
スクはCOPが行うからCPUはO3の仕事だけでは十
分な余裕をもっているから従来のICEと異なりリアル
タイムのエミュレーションが可能である。
FIG. 3 shows a block diagram of the controller and shows its relationship with the outside. In the figure, IBUS is a dedicated bus for an ICE (in-circuit emulator) that is directly connected to the CPU and is used when depacking the system. C
Since the PU mainly performs a job specific to O5 as a silicon monitor, it is possible to output the contents of the ACC (accumulator) and each register to the outside through the I BUS in real time. In this system, the actual tasks are performed by the COP, and the CPU has sufficient margin for the work of O3, so unlike conventional ICE, real-time emulation is possible.

Sバスは従来のシステムバスと何ら変わりがないが、C
PUの他にCOPもアクセス出来る所に特徴がある、C
PUとCoPは見かけ上全く独立して動作を行う別個の
CPUであるが、実際にはバスをタイムシェアリングに
よって用いる。その関係を第4図に示す。バスをCPI
JとCOPが交互に使うタイムチャートの模式を示しで
ある。実際にはCPUの空きサイクルにCOPのサイク
ルを入れてしまうわけで、従ってCOPはその命令はC
Puに比し、比較的単純な命令群を揃えである。先にも
述べた様に複雑な演算(乗除算)を行う命令はCPUに
実行されるのはこの意味が含まれている。第5図はCO
210チヤンネルの実行順序を示したもので、順にバス
を使用する様式を示した。COPはCPtJに比しこの
ように交互にバスをシェアして行くからCOPの数を増
やす程、その実行速度はおそくなる。従って速い実行速
度を必要とする時には、そのタスクの処理の時だけ例え
ばcopoと1の2チヤンネルのみを使用して、差しつ
かえない時間だけあとのCOPは休止しておけば良い。
The S bus is no different from the conventional system bus, but the C bus
The feature of COP is that it can be accessed in addition to PU.
Although the PU and CoP are apparently separate CPUs that operate completely independently, they actually use a bus by time sharing. The relationship is shown in FIG. Bus to CPI
This is a schematic diagram of a time chart used alternately by J and COP. In reality, the COP cycle is inserted into an empty cycle of the CPU, so the COP instruction is
Compared to Pu, it has a relatively simple set of instructions. As mentioned above, this is the reason why instructions that perform complex operations (multiplication and division) are executed by the CPU. Figure 5 shows CO
This figure shows the execution order of the H.210 channel, and shows how the buses are used in order. Compared to CPtJ, COPs alternately share the bus in this way, so as the number of COPs increases, the execution speed becomes slower. Therefore, when a high execution speed is required, it is sufficient to use only two channels, for example, copo and 1, only when processing that task, and then suspend the remaining COP for an unavoidable amount of time.

とのCOPを動作させるかはCPUが管理して、その外
部の負荷の処理状態に応じて起動をかけて行けば良い。
The CPU should manage whether or not to operate the COP, and activate it depending on the processing status of the external load.

第3図のブロック図に戻って説明する。The explanation will be returned to the block diagram of FIG. 3.

0BUSはIloの拡張素子専用のバスで、COPと直
接接続されている。従ってタスクの編制に応じてCOP
は独自にI10素子を動作させる事ができる。CoPに
入力されているPCLKnは例えば4チヤンネルのクロ
ックが人力され、これはCoPにそれぞれ付属している
カウンターに入力される。このパルスをカウントしてシ
ーケンスのタイミング、外部装置のコントロールに使用
される。μ−CANはシリアルラインでこれは一定のプ
ロトコルをシステムで決定し、例えばCoPのどれかを
割り当て、この管理を行えば良い。ボーレートジェネレ
ータは16ビツトのタイマーがあり、このタイマーレジ
スタの値を設定する事によって種々のボーレートを生成
する事が出来る。これらのボー、レート生成の管理は特
定のcopが行えば良い。
0BUS is a bus dedicated to Ilo expansion elements and is directly connected to COP. Therefore, depending on the organization of tasks, COP
can independently operate the I10 element. For example, the PCLKn input to the CoP is manually inputted as a 4-channel clock, and this is input to a counter attached to each CoP. These pulses are counted and used for sequence timing and control of external devices. μ-CAN is a serial line, and this can be managed by determining a certain protocol in the system, allocating one of the CoPs, for example. The baud rate generator has a 16-bit timer, and various baud rates can be generated by setting the value of this timer register. A specific cop may manage these baud and rate generation.

INO〜2は3チヤンネルの外部割り込みかCPUに接
続されている。これらはプライオリティがあり0→2に
従って高くなっている。
INO~2 are connected to 3 channels of external interrupts or the CPU. These have priority and increase from 0 to 2.

μ−CAHに接続されているMCUO,は他のマイクロ
コントローラでシリアルI10で同期をとっている。
The MCUO connected to μ-CAH is synchronized with another microcontroller using serial I10.

第6図はコントローラ内部のメモリマツプでCPとワー
プロセッサcopo〜nチャンネルとのアドレスの関係
を示している。この関係について説明する。
FIG. 6 is a memory map inside the controller and shows the address relationship between the CP and the word processor copo~n channels. This relationship will be explained.

各COPは、CPUと同様に独立したプロセッサ群で、
それぞれチャンネルごとの「ローカルスペース」とそれ
に共通の「グローバルスペース」をもっている。グロー
バルスペースとは、copがアクセス出来る全アドレス
スペースのことであり、ローカル・スペース、外部I1
0も含まれる。ローカルスペースには各COPのプログ
ラム・カウンタ、各種フラグ、16ビツト・カウンタな
どが割り当てられている。第6図にその関係を示しであ
る。ローカル・スペースは内部RAMに割り当てられて
おり、ローカルスペース以外のグローバル・スペースに
はオンチップのペリフェラルのレジスタ類、RAM及び
外部I10スペースが割り当てられている。外部I10
スペースは物理的に外部拡張ボートバスに接続されてお
り、ここをアクセスすると、外部I10ポートに接続さ
れたIloとのデータアクセスが出来る。
Each COP is a group of independent processors similar to a CPU.
Each channel has a "local space" and a common "global space". Global space refers to all address spaces that cop can access, including local space, external I1
0 is also included. A program counter for each COP, various flags, a 16-bit counter, etc. are allocated to the local space. FIG. 6 shows the relationship. The local space is allocated to internal RAM, and the global space other than the local space is allocated to on-chip peripheral registers, RAM, and external I10 space. External I10
The space is physically connected to the external expansion boat bus, and accessing this space allows data access to Ilo connected to the external I10 port.

CPUも「ウィンド」 (第7図参照)を通してここを
アクセスする事が出来る。
The CPU can also access this area through the "window" (see Figure 7).

アクセス可能範囲は、COPからは、自分自身のローカ
ルベース及びグローバルスペースにアクセス出来、CP
Uは全チャンネルのローカルスペース及びグローバル・
スペースにアクセス出来る。
The accessible range is that a COP can access its own local base and global space, and a COP can access its own local base and global space.
U is local space and global space of all channels.
I can access the space.

CPU/COPから見たC0P(7)メモリースペース
及びアドレスを第6図に示しである。
The C0P(7) memory space and address as seen from the CPU/COP is shown in FIG.

CPU、COPともいづれのスペースにもアクセス出来
るのが特徴であり、ローカルスペースは各COP専有の
スペースである。I10エキスパンダのスペースはCP
Uはウィンドというレジスタを通してアクセスするが、
CoPは直接ここにアクセス出来、Iloへの入出力は
、ここへのリード、ライト命令で済ます事が出来る。
The feature is that both the CPU and COP can access the space, and the local space is a space exclusive to each COP. I10 expander space is CP
U is accessed through a register called window,
CoP can access this directly, and input/output to Ilo can be done with read and write commands here.

第7図はCPUとCOPのコミュニケーションの関係を
示す図である。DPRAM(デュアルポートRAM)上
に割り付けられた内部データRAMとCoPからCPU
へはその他に割り込みによって行う事が出来る。I10
エキスパンダに関しては先きにも述べたようにCPはウ
ィンドというレジスターを介してアクセスする事が可能
で、COPは直接アクセスする事が出来る。
FIG. 7 is a diagram showing the communication relationship between the CPU and COP. Internal data RAM allocated on DPRAM (dual port RAM) and CPU from CoP
In addition, it can be done by interrupt. I10
Regarding the expander, as mentioned earlier, the CP can be accessed via a register called a window, and the COP can be accessed directly.

その他に第6図に示したメモリマツプ中にあるグローバ
ルスペース中のレジスタを監視する事によってCoPの
動きを知ることが出来る。又CoPはCOPのプログラ
ムに従ってCPUに割り込みを要求し、状態の変化をC
PUに知らせる。ここでの特徴は、cpuもcoPも独
立した別個のプロセッサであり、互いに非同期に動作し
、同一のメモリにアクセス出来る点である。
In addition, the movement of the CoP can be known by monitoring the registers in the global space in the memory map shown in FIG. In addition, CoP requests an interrupt from the CPU according to the COP program, and reports state changes to the CPU.
Inform PU. The feature here is that both the CPU and the coP are independent and separate processors, operate asynchronously with each other, and can access the same memory.

メモリ共有型マルチプロセッサシステムで問題になる同
一番地へ両プロセッサが同時にデータを書き込む可能性
があることを示しているが、第4図、第6図で説明した
ようにハードウェアにおいて、このような衝突は回避し
ている。
This shows that there is a possibility that both processors write data to the same location at the same time, which is a problem in a shared memory multiprocessor system, but as explained in Figures 4 and 6, this problem occurs in hardware. Collisions are avoided.

以上説明したような新しい提案のリアルタイムマルチタ
スク処理用プロセッサを用いて機器の制御方式について
以下説明を行う。
A device control method using the newly proposed real-time multitasking processor as described above will be described below.

第9図に制御例を示す。FIG. 9 shows a control example.

以下、特にタスクの管理、例えばタスクのプライオリテ
ィとスケジューリングについて詳細に説明する。通常第
10図に示すように制御下にあるタスクは、プライオリ
ティの範囲が決められる。タスクの数を256とすると
0〜255までその優先順位が決められる。スケジュー
ラはイベントの発生時に第10図に示すようにREAD
Yタスクの中で一番高いプライオリティを持つタスクに
CPUの実行権を割り当てる。プライオリティは0が一
番高く、255が最も低くなっている。一番高いプライ
オリティを持つタスクが複数ある場合は待ち行列に連な
っている順番、すなわちFIFOでCPUの実行権が割
り当てられる。
In the following, task management, such as task priority and scheduling, will be explained in detail. Normally, as shown in FIG. 10, the priority range of tasks under control is determined. If the number of tasks is 256, their priorities can be determined from 0 to 255. The scheduler executes READ when an event occurs as shown in Figure 10.
The CPU execution right is assigned to the task with the highest priority among the Y tasks. As for the priority, 0 is the highest and 255 is the lowest. If there are multiple tasks with the highest priority, CPU execution rights are assigned to them in the order in which they appear in the queue, that is, in FIFO order.

通常市販されているO3はバッチ処理用O3゜TSS 
(タイムシェアリング)用O3,リアルタイムO8の太
き(は3つに与けられる。バッチ処理用OSは1つのジ
ョブを順次実行処理して行くものであり、TSS用O3
は時分割で、一定時間々隔で対応処理して行く、ランド
ソブンとも呼ばれている。リアルタイム用O3は、デー
ターの処理要求が発生した時点でただちに処理を行うも
ので、イベントドリブンとも呼ばれている。本提案のO
5は、先きに述べた様にCPUと実際にタスクを制御す
るcop (コープロセツサ)群より構成され、見かけ
上複数侶のCOPがCPUの管理下で実行する事になる
Usually commercially available O3 is O3゜TSS for batch processing.
O3 for (time sharing), real-time O8 (are given to three). Batch processing OS executes one job sequentially, and O3 for TSS
It is also called a land solven, which is time-divided and processes are carried out at regular intervals. The real-time O3 performs processing immediately when a data processing request occurs, and is also called event-driven. O of this proposal
5 is composed of a CPU and a group of COPs (coprocessors) that actually control tasks, as described above, and apparently multiple COPs execute under the control of the CPU.

従って従来のO3構造より単純な形でマルチタスクのリ
アルタイム制御が可能になる事に特徴がある。第11図
は本提案によるタスクのスケジューリングについて示し
た、今タスクがO〜255.即ち256のタスクがあり
、コープロセツサC0PONCOP9の10のプロセッ
サによって並列処理される模式を示した。10のタスク
が並列処理され、タスクの切り替えはCPU (0,S
のコントロール)によって行われる。タスクの編成とス
ケジュールはCPUによって行われる。一定の順序によ
ってCPUはタスクを実行して行くが、何かの事象の発
生によって緊急に特定のタスクの実行を行う必要が生じ
たとしよう。その発生はコープロセッサからCPUへの
割り込み又はコントローラの外部より゛割り込みによっ
てCPに知らせる場合、所定のタスクの実行によフてD
PRAM(デュアルポートRAM)内のメイルボックス
にCPU宛にタスクの切り替え、又は特定タスクの実行
を求めるメツセージをおいても良い。第12図はコープ
ロセツサCOPよりCPUにメツセージを送る模式を示
している。これはコントローラ内のf)PRAM(デュ
アルポートRAM)を介して行われる。このように緊急
に特定のタスクの実行を要求する場合とメイルボックス
を介してCPUに知らせる場合がある。
Therefore, the feature is that real-time multitasking control is possible in a simpler form than the conventional O3 structure. FIG. 11 shows task scheduling according to this proposal, where the current task is O~255. That is, a model is shown in which there are 256 tasks and they are processed in parallel by 10 processors of coprocessor C0PONCOP9. 10 tasks are processed in parallel, and tasks are switched by CPU (0, S
control). The organization and scheduling of tasks is done by the CPU. Suppose that the CPU executes tasks in a fixed order, but due to the occurrence of some event, it becomes necessary to urgently execute a specific task. If the occurrence is notified to the CP by an interrupt from the coprocessor to the CPU or by an interrupt from outside the controller, it can be detected by executing a predetermined task.
A message requesting the CPU to switch tasks or execute a specific task may be placed in a mailbox in the PRAM (dual port RAM). FIG. 12 shows a model in which messages are sent from the co-processor COP to the CPU. This is done via f) PRAM (Dual Port RAM) in the controller. In this way, there are cases where execution of a specific task is requested urgently, and cases where the CPU is notified via the mailbox.

例えば、OA機器の複写機を例にとると、ドラムクロッ
クパルスをカウントして所定のタスクを順次実行する場
合について説明する。
For example, taking a copying machine as an OA device as an example, a case will be described in which drum clock pulses are counted and predetermined tasks are sequentially executed.

定着部のヒーターを制御するCOPがそのタスク内で、
どうしても温度制御が不能になり、温度が上昇する一方
である。そこで緊急を要するのでCPuに割り込みをか
け、待機中の診断タスクを実行させねばならない。割り
込みを受けたCPUは、現在実行動作中のcopを全て
止めて診断のタスクを特定のCOPに割り当て実行させ
る。
Within its task, the COP that controls the fuser heater
Temperature control becomes impossible, and the temperature continues to rise. Since this is urgent, it is necessary to interrupt the CPU to execute the waiting diagnostic task. The CPU that receives the interrupt stops all currently executing COPs and assigns the diagnostic task to a specific COP for execution.

そしてサーミスター等の温度検知素子の故障であれば、
ただちに機械への電力を止めて異常モードの表示警告を
行う。又この様な異常はコントローラ外の、例えば温度
検知素子(所定温度以上になった時、又は所定以下の時
ON又はOFFする)によって直接外部よりCPUに割
り込みをかけてタスクの切り替えを要求しても良い。第
13図は割り込みによりタスクの切り替えを行う図を示
している。本例においてはヒーターの温度スイッチと外
部のスイッチがある。この外部スイッチはオペレーター
が機械に今までと異った仕事をさせたい時、例えば複写
機の場合、多色複写機の例をとると今まで黒モードでコ
ピーしていた所、赤モードに変えたい時など用いると便
利である。タスクの切り替えを速かに行う事°が出来る
。第14図はタスクの切り替えによってCOPの優先順
位を変更する模式を示した。第14図はC0PIOチヤ
ンネルがCPUの管理下のもと順次実行している図であ
る。先きにも述べた様に、CP IJとCOPのパスラ
インは共有しているため、CoPは見かけ上複数のチャ
ンネルが同時に実行しているか、バスをシェアし合うか
ら並列処理の見かけ上の実行は遅くなる。1つのCOP
が8μsecの実行時間を要するとすると、C0POC
0P9まで全部実行すると80μSeCかかる。即ちC
oPの見かけ上の実行は80μsecである。何らかの
イベントの発生によって早い処理が必要な時、例えばC
0PO,C0P2 、C0P4 、C0Paに優先をも
たせると24μsecで4つのコープロセツサを実行す
る。
If a temperature sensing element such as a thermistor is malfunctioning,
Immediately shut off power to the machine and issue a display warning of abnormal mode. In addition, such an abnormality can be caused by a temperature detection element outside the controller (which turns ON or OFF when the temperature exceeds a predetermined temperature or below a predetermined temperature) directly interrupting the CPU and requesting a task switch. Also good. FIG. 13 shows a diagram in which tasks are switched by interrupts. In this example, there is a heater temperature switch and an external switch. This external switch is used when the operator wants the machine to do a different job, for example, in the case of a copying machine.For example, in a multicolor copying machine, it changes from the black mode to the red mode. It is convenient to use when you want to. You can quickly switch between tasks. FIG. 14 shows a model for changing the priority order of COPs by switching tasks. FIG. 14 is a diagram in which C0PIO channels are executed sequentially under the control of the CPU. As mentioned earlier, since the path line between CP IJ and COP is shared, CoP appears to have multiple channels running at the same time, or the apparent execution of parallel processing because they share the bus. becomes late. 1 COP
If it takes 8μsec execution time, then C0POC
It takes 80μSeC to execute all the steps up to 0P9. That is, C
The apparent execution of oP is 80 μsec. When fast processing is required due to the occurrence of some event, for example, C
If priority is given to 0PO, C0P2, C0P4, and C0Pa, the four coprocessors will be executed in 24 μsec.

第14図(b)がそれを示した図である。FIG. 14(b) is a diagram showing this.

又聞(c) 0)ようニCOP Oとcop6℃優先格
をもたせると16μsecで2つのCOPのみ実行する
事になる。(a)=(b)、(a)−(C)への切り替
えを行う事によってスピードの早いタスクの実行を優先
して行う事が可能である。以上述べた様に本実施例はC
PUとツープロセッサ002群が複数チャンネル一体と
なったコントローラを用いてタスクの編制スケジューリ
ングを内部、外部割り込み、それにDPRAMに設けら
れたメイルボックスを介して行い、copの優先順位を
変更し、速やかに外部の変化に対応したタスクの編制を
行う事が可能である。
(c) 0) Yoni COP If O and cop6°C are given priority, only two COPs will be executed in 16 μsec. By switching between (a)=(b) and (a)-(C), it is possible to give priority to the execution of faster tasks. As mentioned above, this embodiment uses C
Using a controller in which the PU and two-processor 002 group integrate multiple channels, task organization and scheduling are performed via internal and external interrupts, and the mailbox provided in the DPRAM, and the priority order of the cops is changed and the tasks are quickly executed. It is possible to organize tasks in response to external changes.

〔効 果〕〔effect〕

以上の如く本発明に依れば、複数のタスクの同時処理と
タスクの切り替えを種々な事象に合せて迅速に対応出来
る。
As described above, according to the present invention, simultaneous processing of a plurality of tasks and task switching can be quickly handled in accordance with various events.

又、主制御部はタスクの管理に専念出来ると共に、プロ
グラムのライブラリ化が可能で、ソフトウェアの有効活
用が出来る。更にメカトロニクスのような複数の同時処
理を必要とする処理のタスク管理の効率が良い等積々の
効果がある。
In addition, the main control section can concentrate on managing tasks, and can also create a library of programs, allowing effective use of software. Furthermore, there are many benefits such as improved efficiency in task management for processes that require multiple simultaneous processes such as mechatronics.

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

第1図は本実施例のコントローラのアーキテクチャを示
す図、 第2図はコープロセツサとタスクの関係を示す図、 第3図はコントローラのブロック図、 第4図はCPUとCOPのバスの専有時間を示す図、 第5図はCOPの実行順序を示す図、 第6図はCOPの専有メモリマツプを示す図、第7図は
CoPとCPUのインタフェースを示す図、 第8図は従来の制御システムのブロック図、第9図は本
実施例の制御例を示す図、 第10図はタスクのプライオリティを示す図、第11図
はタスクのスケジュール(編制)を示す図、 第12図はcopとCPUのメツセージの交換を示す図
、 第13図は割り込みによるタスクの切換を示す図、 第14図はCOPの割付の変更を示す図である。 (O) Cb) (C> ニ・)fjcス千ヤン石−ド
Figure 1 is a diagram showing the architecture of the controller of this embodiment, Figure 2 is a diagram showing the relationship between the co-processor and tasks, Figure 3 is a block diagram of the controller, and Figure 4 is the exclusive time of the bus for the CPU and COP. Figure 5 is a diagram showing the execution order of COP, Figure 6 is a diagram showing the exclusive memory map of COP, Figure 7 is a diagram showing the interface between CoP and CPU, and Figure 8 is a block diagram of a conventional control system. Figure 9 is a diagram showing a control example of this embodiment, Figure 10 is a diagram showing task priorities, Figure 11 is a diagram showing task schedule (organization), and Figure 12 is a message between cop and CPU. FIG. 13 is a diagram showing task switching due to an interrupt, and FIG. 14 is a diagram showing changing COP allocation. (O) Cb) (C> d) fjc

Claims (5)

【特許請求の範囲】[Claims] (1)主制御部と、主制御部の管理の下で並列処理を実
行する複数の副制御部とを一体に形成した機器制御装置
において前記副制御部が実行する複数のタスクを前記主
制御部にて編制すると共に、前記複数のタスクの優先順
位の割付を前記主制御部にて行うことを特徴とする機器
制御装置。
(1) In an equipment control device that integrates a main control unit and a plurality of sub-control units that execute parallel processing under the control of the main control unit, the main control unit controls a plurality of tasks executed by the sub-control unit. An equipment control device characterized in that the main control unit organizes the tasks in the main control unit and assigns priorities to the plurality of tasks.
(2)特許請求の範囲第1項において、タスクの編制の
切り替えを外部要求によって実行することを特徴とする
機器制御装置。
(2) The device control device according to claim 1, characterized in that the task organization is switched in response to an external request.
(3)特許請求の範囲第1項において、タスクの編制の
切り替えを副制御部からの要求によって実行することを
特徴とする機器制御装置。
(3) The equipment control device according to claim 1, characterized in that the switching of task organization is performed in response to a request from a sub-control unit.
(4)特許請求の範囲第1項において、タスクの優先順
位の割付を前記副制御部からの要求によって実行するこ
とを特徴とする機器制御装置。
(4) The equipment control device according to claim 1, wherein assignment of task priorities is executed in response to a request from the sub-control unit.
(5)特許請求の範囲第1項において、タスクの優先順
位の割付を外部要求によって実行することを特徴とする
機器制御装置。
(5) The device control device according to claim 1, characterized in that assignment of task priorities is executed in accordance with an external request.
JP2671787A 1987-02-06 1987-02-06 Instrument control equipment Pending JPS63193233A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2671787A JPS63193233A (en) 1987-02-06 1987-02-06 Instrument control equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2671787A JPS63193233A (en) 1987-02-06 1987-02-06 Instrument control equipment

Publications (1)

Publication Number Publication Date
JPS63193233A true JPS63193233A (en) 1988-08-10

Family

ID=12201099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2671787A Pending JPS63193233A (en) 1987-02-06 1987-02-06 Instrument control equipment

Country Status (1)

Country Link
JP (1) JPS63193233A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04299428A (en) * 1990-09-28 1992-10-22 Xerox Corp Control for electronic image processing system
JPH0713779A (en) * 1993-06-24 1995-01-17 Sankyo Seiki Mfg Co Ltd Multi-task controller

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50105040A (en) * 1974-01-21 1975-08-19
JPS5477881A (en) * 1977-12-02 1979-06-21 Canon Kk Control device
JPS60181934A (en) * 1984-02-29 1985-09-17 Fujitsu Ltd Task priority degree controlling system
JPS6152761A (en) * 1984-08-22 1986-03-15 Hitachi Ltd Arithmetic unit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50105040A (en) * 1974-01-21 1975-08-19
JPS5477881A (en) * 1977-12-02 1979-06-21 Canon Kk Control device
JPS60181934A (en) * 1984-02-29 1985-09-17 Fujitsu Ltd Task priority degree controlling system
JPS6152761A (en) * 1984-08-22 1986-03-15 Hitachi Ltd Arithmetic unit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04299428A (en) * 1990-09-28 1992-10-22 Xerox Corp Control for electronic image processing system
JPH0713779A (en) * 1993-06-24 1995-01-17 Sankyo Seiki Mfg Co Ltd Multi-task controller

Similar Documents

Publication Publication Date Title
US7428629B2 (en) Memory request / grant daemons in virtual nodes for moving subdivided local memory space from VN to VN in nodes of a massively parallel computer system
JP6246603B2 (en) Task scheduler mechanism, operating system, and multiprocessor system
EP0425320A2 (en) Multiprocessor system and process synchronisation method therefor
EP2936304B1 (en) Scalable compute fabric
JP2003256221A (en) Parallel process executing method and multi-processor type computer
JPWO2002069174A1 (en) Parallel process execution method and multiprocessor computer
JPH02208740A (en) Virtual computer control system
US10310887B2 (en) CPU overcommit with guest idle polling
JP5458998B2 (en) Virtual machine system and virtual machine management method
JPS60112164A (en) Dynamically alterable interrupt preference circuit
WO2014101561A1 (en) Method and device for implementing multi-application parallel processing on single processor
JP2010044784A (en) Scheduling request in system
EP3557345A1 (en) Control apparatus, system program, and control method
CN109766168B (en) Task scheduling method and device, storage medium and computing equipment
US11150945B2 (en) Reverse restartable sequences for lock polling scalability
JPS63193233A (en) Instrument control equipment
JPH0926889A (en) Virtual machine system
JPS62295168A (en) Apparatus control device
JP6774147B2 (en) Control device
JPH02210542A (en) Execution control system for virtual computer system
JP2525390B2 (en) Image formation control device
JP2780662B2 (en) Multiprocessor system
US20240134669A1 (en) Paravirtual pause loops in guest user space
US20230305872A1 (en) Efficient central processing unit overcommit for virtual machines with symmetric multi-processing
JP3039918B2 (en) Processor system