JPH04349535A - Information processor - Google Patents

Information processor

Info

Publication number
JPH04349535A
JPH04349535A JP3123391A JP12339191A JPH04349535A JP H04349535 A JPH04349535 A JP H04349535A JP 3123391 A JP3123391 A JP 3123391A JP 12339191 A JP12339191 A JP 12339191A JP H04349535 A JPH04349535 A JP H04349535A
Authority
JP
Japan
Prior art keywords
address
area
task
program
memory
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
JP3123391A
Other languages
Japanese (ja)
Inventor
Satoshi Kikuchi
聡 菊地
Tomihisa Hatano
富久 幡野
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3123391A priority Critical patent/JPH04349535A/en
Publication of JPH04349535A publication Critical patent/JPH04349535A/en
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Memory System (AREA)
  • Facsimiles In General (AREA)

Abstract

PURPOSE:To develop the program without being conscious of an invasion of an address of a memory area by converting automatically an address of a static memory area accessed by the program to a dynamic address used by a task actually. CONSTITUTION:In the case a communication request is generated, a task requests to actuate a communication control task. In this case in a program counter saving area of a TCB, an execution start address of a communication control program is registered, and the number of a free bank used for a bank number saving area is registered. An OS refers to the bank number saving area in the TCB of an actuated task, and informs the bank number to a memory managing part 4. The communication control program starts a processing from its execution start address, and in order to access a work area or an I/O area, an address of a bank window is outputted onto a bus 2. In this case, the memory managing part 4 converts the address of the bank window to an actual address.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、ファクシミリ装置等の
情報処理装置に係り、特に、一プログラムで複数の同等
処理タスクを並列実行する制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus such as a facsimile machine, and more particularly to a control apparatus that executes a plurality of equivalent processing tasks in parallel using one program.

【0002】0002

【従来の技術】現在、公衆電話網用G3ファクシミリは
、約四百万台と広く普及している。これらの装置は、企
業内ネットワークの発達等に伴い、通信に先立って原稿
を読取り、一時メモリ等の記憶装置に格納した後、複数
の相手先へ送信するメモリ同報送信機能に対する需要が
大きい。
2. Description of the Related Art Currently, G3 facsimile machines for public telephone networks are widely used, with approximately 4 million units. With the development of corporate networks, these devices are in high demand for a memory broadcast transmission function that reads a document prior to communication, stores it in a storage device such as a temporary memory, and then transmits the document to a plurality of destinations.

【0003】この同報送信には大きく分けて二種類ある
。一つは、メモリ内の原稿を一相手先ずつ順番に送信す
る、順次、同報送信である。しかし、一旦、この機能を
使用し始めると、連続送信する長い期間、その他の通信
を待たさなければならない。そこで、通信トラフィック
を削減するために複数の回線を用い、メモリ内の原稿を
複数の相手先へ同時に送信する一斉同報送信機能を備え
た装置もある。
Broadly speaking, there are two types of broadcast transmission. One is sequential broadcast transmission, in which documents in memory are sent one by one to each recipient in turn. However, once you start using this feature, you will have to wait for long periods of continuous transmission for other communications. Therefore, in order to reduce communication traffic, some devices are equipped with a simultaneous broadcast transmission function that uses multiple lines to simultaneously transmit documents in memory to multiple destinations.

【0004】また、公衆電話網に代って、データをデジ
タル二値のまま送信するサービス統合デジタル網(IS
DN:Integrated Services Di
gital Network)が整備されてきた。この
ISDNは、音声、画像、データ等の各種通信サービス
を統一インタフェースにより提供するもので、現在、基
本インタフェースと一次群インタフェースが実用化され
ている。このうち、基本インタフェースは、一本の加入
者線上に、64Kbps(bits per seco
nd)の情報伝送チャネルを二本と、16Kbpsの制
御チャネルを一本備えている。
[0004] In place of the public telephone network, the integrated services digital network (IS) transmits data as digital binary data.
DN:Integrated Services Di
digital network) has been developed. ISDN provides various communication services such as voice, image, data, etc. through a unified interface, and the basic interface and primary group interface are currently in practical use. Among these, the basic interface is 64Kbps (bits per second) on one subscriber line.
nd) and one 16 Kbps control channel.

【0005】このようなインフラストラクチャ確立の影
響を受けて、ISDNのようなデジタル網に接続可能な
G4ファクシミリが注目を浴びている。この装置は、一
枚のA4原稿を数秒で送信し、更に400×400pp
i(pels per inch)の高精細な画像通信
を実現できる。 またISDNに接続するG4ファクシミリは、二本の情
報伝送チャネルを用いて、送信中の他相手先送信や受信
中の送信等、同時通信機能を特徴とするものもある。
[0005] Under the influence of such infrastructure establishment, G4 facsimiles that can be connected to digital networks such as ISDN are attracting attention. This device can send a single A4 document in a few seconds, and also sends a 400x400pp
i (pels per inch) high-definition image communication can be achieved. Some G4 facsimiles connected to ISDN are characterized by simultaneous communication functions, such as transmitting to another destination while transmitting and transmitting while receiving, using two information transmission channels.

【0006】このように、これからのファクシミリ装置
は、同時通信機能が大変重要な要素となる。
[0006] As described above, the simultaneous communication function will be a very important element in future facsimile machines.

【0007】ここで、図4のシステム構成を用いて、従
来の同時通信可能なファクシミリを説明する。
[0007] Here, a conventional facsimile machine capable of simultaneous communication will be explained using the system configuration shown in FIG.

【0008】同図において、1は装置全体を制御する主
制御部、2はデータやアドレスが流れるバス、5はプロ
グラム等を格納するメインメモリ、7は原稿の画像デー
タを格納する画像メモリ、8は原稿を読取るスキャナ及
び原稿を印刷するプリンタで構成される読取記録部、9
、10は画像データを圧縮又は伸長する画像変換部、1
1、12は画像データもしくは通信手順データを送受信
するチャネル入出力部、13、14は通信チャネル又は
回線である。また15、16は誤り再送制御やページ同
期制御、種々の通信条件に関するネゴシェーション等、
通信手順を実行する通信制御部である。
In the figure, 1 is a main control unit that controls the entire apparatus, 2 is a bus through which data and addresses flow, 5 is a main memory that stores programs, etc., 7 is an image memory that stores image data of a document, and 8 9 is a reading/recording section consisting of a scanner that reads the original and a printer that prints the original.
, 10 is an image conversion unit that compresses or expands image data; 1
1 and 12 are channel input/output units for transmitting and receiving image data or communication procedure data, and 13 and 14 are communication channels or lines. 15 and 16 are error retransmission control, page synchronization control, negotiation regarding various communication conditions, etc.
This is a communication control unit that executes communication procedures.

【0009】ユーザが読取記録部8に原稿をセットした
なら、主制御部1は、読取記録部8に対して原稿を読取
り圧縮して画像メモリ7に格納するように指示する。読
取記録部8が原稿の画像データを格納し終えたならば、
主制御部1は、通信制御部、画像変換部、チャネル入出
力部の使用状況を調査し、空いている各処理部に動作指
示を出す。そして、通信制御部が相手装置と通信に使用
する符号化方式や解像度等を取決め、画像変換部が画像
メモリ7内の画像データを取決めた符号化方式及び解像
度に変換し、チャネル入出力部がチャネルを介して相手
装置へ送出する。
When the user sets a document on the reading/recording section 8, the main control section 1 instructs the reading/recording section 8 to read and compress the document and store it in the image memory 7. Once the reading and recording unit 8 has finished storing the image data of the original,
The main control section 1 investigates the usage status of the communication control section, image conversion section, and channel input/output section, and issues operation instructions to each vacant processing section. Then, the communication control unit determines the encoding method, resolution, etc. to be used for communication with the partner device, the image converting unit converts the image data in the image memory 7 to the determined encoding method and resolution, and the channel input/output unit Send to the other device via the channel.

【0010】図3はこのシステムにおけるメインメモリ
5のメモリマップである。
FIG. 3 is a memory map of the main memory 5 in this system.

【0011】以後の各システムは、ソフトウェアで実現
する各種処理(ジョブ)をタスクという最適な単位に分
割し、各タスクをマルチタスクオペレーティングシステ
ム(OS)の環境下で並列動作させる。
[0011] In each of the following systems, various processes (jobs) realized by software are divided into optimal units called tasks, and each task is operated in parallel under a multitasking operating system (OS) environment.

【0012】メインメモリ5は、OSのプログラムを格
納するエリア、OSが各タスクの動作状況管理に使用す
るタスク制御ブロック(TCB)、プログラムを格納す
るエリアとワークエリア、そして各種I/O機器のデー
タ入出力用I/Oポートをメインメモリ5にマッピング
したI/Oエリア(I/O空間)で構成されている。
The main memory 5 includes an area for storing OS programs, a task control block (TCB) used by the OS to manage the operating status of each task, an area for storing programs and a work area, and storage for various I/O devices. It consists of an I/O area (I/O space) in which data input/output I/O ports are mapped to the main memory 5.

【0013】ここでは、通信制御部15をソフトウェア
制御のタスクAとする。タスクAの通信制御プログラム
Aは、通信制御ワークエリアAを用いて処理を行い、画
像変換I/OエリアAとチャネル入出力I/OエリアA
を介して画像変換部9とチャネル入出力部11をアクセ
スする。
[0013] Here, the communication control unit 15 is assumed to be a software-controlled task A. Communication control program A of task A performs processing using communication control work area A, and uses image conversion I/O area A and channel input/output I/O area A.
The image conversion section 9 and channel input/output section 11 are accessed through the .

【0014】次に同時通信について説明する。タスクA
が通信手順を実行する間、幾つかの時点で、相手装置か
らの応答を待つ等、ある事象が発生するまでタスクAが
休止状態となることがある。この期間を利用すれば、他
の相手装置との通信が可能である。しかし、このために
再びタスクAを起動すると、通信制御プログラムAがワ
ークエリアAを破壊したり、画像変換部9やチャネル入
出力部11にデータを入出力してしまい、休止状態にあ
るタスクAを再開させることができなくなる。
Next, simultaneous communication will be explained. Task A
At some point while task A executes a communication procedure, task A may go into a dormant state until some event occurs, such as waiting for a response from a partner device. By using this period, it is possible to communicate with other partner devices. However, when task A is started again for this purpose, communication control program A destroys work area A, inputs/outputs data to image converter 9 and channel input/output unit 11, and task A is in a dormant state. cannot be restarted.

【0015】そこでこのシステムでは、図4から分かる
ように、画像変換部、チャネル入出力部及びチャネルを
二組ずつ備えると共に、タスクBとしてもう一つの通信
制御部16を設ける。タスクBの通信制御プログラムB
は、通信制御ワークエリアBを用いて処理を行い、画像
変換I/OエリアBとチャネル入出力I/OエリアBを
介して、画像変換部10とチャネル入出力部12をアク
セスする。
Therefore, as can be seen from FIG. 4, this system is provided with two sets each of an image conversion section, a channel input/output section, and a channel, and another communication control section 16 is provided as task B. Communication control program B for task B
performs processing using communication control work area B, and accesses image conversion section 10 and channel input/output section 12 via image conversion I/O area B and channel input/output I/O area B.

【0016】この説明のように、従来のシステムは、二
通信のタスク各々にプログラムを設け、制御の流れは同
等の二プログラムをアクセスするワークエリア及びI/
Oエリアのアドレスだけ変えて、メインメモリ5上に二
つ配置しなければならず、メモリ領域をむだに消費する
。 また、プログラムをメンテナンスまたはエンハンスする
時、二ヵ所を修正しなければならず、デバッグ効率も良
くない。
As described above, in the conventional system, a program is provided for each of the two communication tasks, and the control flow is divided into a work area and an I/O area that access the two equivalent programs.
Only the address of the O area must be changed and two must be placed on the main memory 5, which wastes memory area. Furthermore, when maintaining or enhancing a program, two parts must be modified, which is not efficient in debugging.

【0017】そこで、従来のようにタスクとプログラム
を一対一に対応させるのではなく、一つのプログラムを
N個のタスクに対応させるプログラム構造が提案されて
いる。この構造はリエントラント構造と呼ばれ、例えば
、昭和63年8月、昭晃堂発行の「ローダとリンケージ
エディタ」に記載されている。
Therefore, a program structure has been proposed in which one program is made to correspond to N tasks, instead of the conventional one-to-one correspondence between tasks and programs. This structure is called a reentrant structure, and is described, for example, in "Loader and Linkage Editor" published by Shokodo in August 1988.

【0018】リエントラント(再入)可能なプログラム
とは、複数のプログラムから同時に処理を指示されても
、問題なく実行するプログラムであり、処理する毎に使
用するワークエリアをメモリ上に個別に確保する。
[0018] A reentrant program is a program that executes without problems even if it is instructed to process by multiple programs at the same time, and it secures a separate work area in memory for each process. .

【0019】図6はリエントラント構造を有する通信制
御部17を備えた装置のシステム構成であり、図5はそ
のメモリマップである。
FIG. 6 shows a system configuration of a device equipped with a communication control section 17 having a reentrant structure, and FIG. 5 shows its memory map.

【0020】このシステムでは、二つの通信制御タスク
(タスクA及びB)が一つのリエントラント構造通信制
御プログラムを共有する。
In this system, two communication control tasks (tasks A and B) share one reentrant structure communication control program.

【0021】例えば通信要求が発生したとき、図示しな
い他のタスクはメインメモリ5上にワークエリアAを確
保する。そして、確保したワークエリアAと空いている
画像変換及びチャネル入出力I/OエリアAをタスクA
に通知し、処理を依頼する。依頼を受けたタスクAは、
通知されたワークエリアAとI/OエリアAを用いて、
通信制御プログラムを実行する。
For example, when a communication request occurs, another task (not shown) secures a work area A on the main memory 5. Then, assign the secured work area A and the vacant image conversion and channel input/output I/O area A to task A.
and request processing. The requested task A is
Using the notified work area A and I/O area A,
Execute the communication control program.

【0022】この処理中に、更に通信要求が発生した場
合は、図示しない他のタスクはメインメモリ5上に別の
ワークエリアBを確保し、空いている画像変換及びチャ
ネル入出力I/OエリアBと共に、タスクBへ処理を依
頼する。依頼を受けたタスクBは、タスクAとは異なる
ワークエリアB及びI/OエリアBを用いて、通信制御
プログラムを実行する。
If another communication request occurs during this process, other tasks (not shown) secure another work area B on the main memory 5 and use the vacant image conversion and channel input/output I/O areas. Request processing to task B together with task B. Task B, which has received the request, uses work area B and I/O area B, which are different from task A, to execute the communication control program.

【0023】つまり、第一の従来例は、ワークエリア及
びI/Oエリアとしてメインメモリ5上の静的な固定エ
リアを使用するため、アクセスアドレスだけを変えた通
信制御プログラムをメインメモリ5上に二つ配置しなけ
ればならなかったが、第二の従来例は、通知された動的
なエリアを使用するため、メインメモリ5上に一つ配置
すれば良い。
In other words, in the first conventional example, a static fixed area on the main memory 5 is used as a work area and an I/O area, so a communication control program with only the access address changed is stored on the main memory 5. However, in the second conventional example, only one need to be placed in the main memory 5 because the notified dynamic area is used.

【0024】[0024]

【発明が解決しようとする課題】現在のプログラミング
技術では、プログラム及び変数を再配置できるように、
プログラムや変数にアドレス定数という論理的な名称を
付加し、これを用いてプログラムがアクセスする方法が
一般的である。アドレス定数を用いたプログラムはアセ
ンブラ、または、コンパイラ等によりオブジェクトプロ
グラムに変換された後、リンカにより他のオブジェクト
プログラムと結合されてメモリ上に並び、プログラム内
のアドレス定数を実際のワークエリアまたはI/Oエリ
アのアドレスに置換される。
[Problem to be solved by the invention] In current programming technology, programs and variables can be rearranged.
A common method is to add a logical name called an address constant to a program or variable, and use this to access the program. A program using address constants is converted into an object program by an assembler or compiler, etc., and then combined with other object programs by a linker and arranged in memory, and the address constants in the program are transferred to the actual work area or I/O. Replaced with the O area address.

【0025】第一の従来方式では、通信制御プログラム
Aと通信制御プログラムBは、互いに異なるアドレス定
数によりワークエリアまたはI/Oエリアをアクセスす
るので、相手のエリアを侵害することはない。
In the first conventional method, communication control program A and communication control program B access the work area or I/O area using different address constants, so they do not infringe on the other's area.

【0026】しかし、第二の従来方式のようなリエント
ラント構造をもつプログラムが使用するワークエリア、
または、I/Oエリアは、実行時に始めて決まる動的な
エリアであり、アドレス定数を用いて、プログラムがア
クセスするエリアを固定することはできない。
However, the work area used by a program with a reentrant structure as in the second conventional method,
Alternatively, the I/O area is a dynamic area that is determined only during execution, and the area accessed by the program cannot be fixed using address constants.

【0027】このため、リエントラント構造をもつプロ
グラムは、実行する毎にワークエリア及びI/Oエリア
を確保し、アドレスをポインタ変数として記憶する。そ
して、記憶したポインタ変数を介して動的なエリアをア
クセスする。
For this reason, a program with a reentrant structure secures a work area and an I/O area each time it is executed, and stores addresses as pointer variables. Then, the dynamic area is accessed via the stored pointer variable.

【0028】しかし、ポインタ変数による間接的なメモ
リアクセスは、プログラミング言語またはCPUによっ
てはサポートされていないものもある。また、サポート
されていても、アドレス定数による直接的なメモリアク
セスを用いたプログラムのように、容易に開発すること
はできない。
However, indirect memory access using pointer variables is not supported by some programming languages or CPUs. Furthermore, even if it is supported, it is not as easy to develop as a program that uses direct memory access using address constants.

【0029】本発明の目的は、アクセスするワークエリ
ア、及び、I/Oエリアとして静的なエリアを使用しな
がらも、一プログラムを並列処理させることが可能な制
御方法をもった情報処理装置を提供することにある。
An object of the present invention is to provide an information processing apparatus having a control method that allows one program to be processed in parallel while using a static area as an access work area and an I/O area. It is about providing.

【0030】[0030]

【課題を解決するための手段】前記目的達成のため、本
発明は、マルチタスクOSの環境下で並列処理するプロ
グラムを備えたファクシミリ装置、または、情報処理装
置において、プログラムがアクセスするメモリ領域のア
ドレスをタスクが使用するメモリ領域のアドレスに変換
する手段と、タスクが使用するメモリ領域の位置を特定
する情報を記憶する手段と、タスク実行時に使用するメ
モリ領域の位置に関する情報を前記アドレス変換手段に
通知する手段を設けたものである。
[Means for Solving the Problems] To achieve the above object, the present invention provides a facsimile device or an information processing device equipped with a program that performs parallel processing under a multitasking OS environment. means for converting an address into an address of a memory area used by a task; means for storing information specifying the location of the memory area used by the task; The system provides a means to notify the public.

【0031】さらに本発明は、マルチタスクOSの環境
下で並列処理するプログラムを備えたファクシミリ装置
または情報処理装置において、前記プログラムは局所的
なデータをアクセスする場合でもメモリ上の仮領域を静
的にアクセスし、メモリ上の仮領域を指すアドレスを実
際の動的な局所データ領域のアドレスに変換する手段と
、実際の局所データ領域の位置を特定する情報を記憶す
る手段と、タスク実行時に使用するメモリ領域の位置に
関する情報を前記アドレス変換手段に通知する手段を設
けたものである。
Further, the present invention provides a facsimile device or an information processing device equipped with a program that performs parallel processing under a multitasking OS environment, in which the program statically stores a temporary area in memory even when accessing local data. a means to access and convert an address pointing to a temporary area in memory into an address of an actual dynamic local data area, a means to store information specifying the location of the actual local data area, and a means to be used when executing a task. The address conversion means is further provided with means for notifying the address conversion means of information regarding the location of the memory area.

【0032】さらに、本発明は、マルチタスクOSの環
境下で並列処理するプログラムを備えたファクシミリ装
置または情報処理装置において、前記プログラムは局所
的なI/O機器をアクセスする場合、メモリ上の仮領域
をI/O空間として静的にアクセスし、メモリ上の仮領
域を指すアドレスを実際の動的な局所I/O空間のアド
レスに変換する手段と、実際の局所I/O空間の位置を
特定する情報を記憶する手段と、タスク実行時に使用す
るI/O空間の位置に関する情報を前記アドレス変換手
段に通知する手段を設けたものである。
Furthermore, the present invention provides a facsimile device or an information processing device that is equipped with a program that performs parallel processing under a multitasking OS environment, in which the program uses virtual memory on a memory when accessing a local I/O device. A means for statically accessing an area as an I/O space, converting an address pointing to a temporary area in memory into an actual dynamic local I/O space address, and a method for determining the actual local I/O space location. The apparatus is provided with means for storing identifying information, and means for notifying the address conversion means of information regarding the location of the I/O space used during task execution.

【0033】[0033]

【作用】本発明の情報処理装置によれば、前記アドレス
変換手段は、アクセスするメモリ領域のアドレスを使用
するメモリ領域のアドレスに自動的に変換する。このた
め、あるプログラムを複数並列に処理する場合でも、各
タスクの前記メモリ領域の記憶手段に異なる位置を設定
しておけば、並列処理しているタスク間で、他タスクの
メモリ領域を侵害することがない。
According to the information processing apparatus of the present invention, the address conversion means automatically converts the address of the memory area to be accessed into the address of the memory area to be used. For this reason, even when processing multiple programs in parallel, if a different location is set in the storage means of the memory area of each task, the tasks being processed in parallel will not infringe on the memory area of other tasks. Never.

【0034】[0034]

【実施例】以下、本発明に係るファクシミリ装置の実施
例について説明する。
Embodiments Hereinafter, embodiments of a facsimile apparatus according to the present invention will be described.

【0035】図2は本発明の第一の実施例に関するファ
クシミリ装置のシステム構成であり、図1はメモリマッ
プである。
FIG. 2 shows the system configuration of a facsimile machine according to the first embodiment of the present invention, and FIG. 1 shows a memory map.

【0036】従来例のシステム構成(図4または6)と
異なる点は、メモリ管理部4及びバンクメモリ6を備え
ることである。
The difference from the conventional system configuration (FIG. 4 or 6) is that a memory management section 4 and a bank memory 6 are provided.

【0037】図1に示すように、メインメモリ5上には
、OS、TCB、通信制御プログラムに加え、バンクウ
ィンドウを配置する。バンクウィンドウには、ウィンド
ウサイズに合わせて分割されたバンクメモリ6(以下、
分割されたバンクメモリの個々をバンクとする)を反映
させてあり、ある時点でバンクウィンドウには一つのバ
ンクが写しだされる。それぞれのバンクはバンク番号と
いうユニークな番号で管理され、メモリ管理部4が、実
行すべきバンクをバンクウィンドウに写しだすよう切換
制御する。本実施例では、バンクウィンドウに二つのバ
ンク20、21を対応させ、それぞれのバンクに、通信
制御ワークエリア、画像変換I/Oエリア、チャネル入
出力I/Oエリアを割り当てている。通信制御プログラ
ムは、ワークエリア及びI/Oエリアとして、バンクウ
ィンドウという静的なエリアをアクセスするようにコー
ディングされている。また、I/O機器の入出力用I/
Oポートは、バンク20もしくはバンク21のI/Oエ
リアに相当するアドレスに割付ける。
As shown in FIG. 1, in addition to the OS, TCB, and communication control program, a bank window is arranged on the main memory 5. The bank window has bank memory 6 (hereinafter referred to as
Each divided bank memory is defined as a bank), and at a certain point, one bank is displayed in the bank window. Each bank is managed by a unique number called a bank number, and the memory management section 4 performs switching control so that the bank to be executed is displayed on the bank window. In this embodiment, two banks 20 and 21 correspond to a bank window, and a communication control work area, an image conversion I/O area, and a channel input/output I/O area are assigned to each bank. The communication control program is coded to access a static area called a bank window as a work area and an I/O area. In addition, the input/output I/O device
The O port is assigned to an address corresponding to the I/O area of bank 20 or bank 21.

【0038】図7はタスクの動作を管理するタスク制御
ブロック(TCB)の構造である。TCBには、タスク
が次に実行を始めるプログラムアドレスを格納するプロ
グラムカウンタ退避エリアと、タスクが使用するバンク
の番号を格納するバンク番号退避エリアを設け、同時二
通信まで処理できるように、一つの通信制御プログラム
に対して、二タスクA,BのTCB18,19を用意す
る。
FIG. 7 shows the structure of a task control block (TCB) that manages task operations. The TCB has a program counter save area that stores the program address that the task will start executing next, and a bank number save area that stores the number of the bank used by the task. Two TCBs 18 and 19 for tasks A and B are prepared for the communication control program.

【0039】図8は、メインメモリ5上のバンクウィン
ドウ及びバンクメモリの配置例を示すものである。本実
施例では、メインメモリ5のアドレス「D000H」か
ら「EFFFH」をバンクメモリ6に割当てている。ま
た、バンクウィンドウはメインメモリ5上のアドレス「
C000H」から「CFFFH」に配置し、アドレス「
D000H」から「DFFFH」をバンク20、アドレ
ス「E000H」から「EFFFH」をバンク21とし
ている。このとき、バンク番号はそれぞれ1及び2とす
る。通信制御プログラムがワークエリアまたはI/Oエ
リアをアクセスする際は、アドレス「C000H」から
「CFFFH」のバンクウィンドウをアクセスする。 そのとき、メモリ管理部4は、そのアクセスするエリア
のアドレスを、起動中のタスクに応じてバンク20また
はバンク21のアドレスに変換する。
FIG. 8 shows an example of the arrangement of bank windows and bank memories on the main memory 5. In this embodiment, addresses "D000H" to "EFFFH" of the main memory 5 are assigned to the bank memory 6. Also, the bank window is located at the address “
C000H” to “CFFFH” and address “
Bank 20 is set from "D000H" to "DFFFH", and bank 21 is set from addresses "E000H" to "EFFFH". At this time, the bank numbers are 1 and 2, respectively. When the communication control program accesses the work area or I/O area, it accesses the bank window from address "C000H" to "CFFFH". At this time, the memory management unit 4 converts the address of the area to be accessed into an address of the bank 20 or bank 21 depending on the task being activated.

【0040】次に、本発明のファクシミリ装置における
同時通信処理方式を説明する。
Next, a simultaneous communication processing method in the facsimile apparatus of the present invention will be explained.

【0041】通信要求が発生した場合、図示しない他の
タスクは、OSに対して、通信制御タスクの起動を要求
する。この時、TCBのプログラムカウンタ退避エリア
に、通信制御プログラムの実行開始アドレスを登録し、
更に、バンク番号退避エリアに使用する空きバンクのバ
ンク番号を登録しておく。
When a communication request occurs, another task (not shown) requests the OS to start a communication control task. At this time, register the execution start address of the communication control program in the program counter save area of the TCB,
Furthermore, the bank number of the empty bank to be used is registered in the bank number save area.

【0042】図9は、OSがタスクの起動要求を受けた
場合、そのタスクの実行に先立つディスパッチ処理を示
すものである。
FIG. 9 shows the dispatch process that occurs prior to the execution of a task when the OS receives a task activation request.

【0043】まず、OSは起動するタスクのTCB内の
バンク番号退避エリアを参照し(ステップ901)、メ
モリ管理部4にバンク番号を通知する(ステップ902
)。 このとき必要ならば、バンク内の変数等を初期化する。 次に、同じTCB内のプログラムカウンタ退避エリアに
格納されたアドレスからプログラムを実行する(ステッ
プ903)。
First, the OS refers to the bank number save area in the TCB of the task to be started (step 901), and notifies the memory management unit 4 of the bank number (step 902).
). At this time, if necessary, variables in the bank are initialized. Next, the program is executed from the address stored in the program counter save area in the same TCB (step 903).

【0044】通信制御プログラムはその実行開始アドレ
スから処理を始め、ワークエリアまたはI/Oエリアを
アクセスするために、バス2上にバンクウィンドウのア
ドレスを出す。このとき、メモリ管理部4は、バンクウ
ィンドウのアドレスを実際のバンクのアドレスに変換す
る。
The communication control program starts processing from its execution start address and issues a bank window address on bus 2 in order to access the work area or I/O area. At this time, the memory management unit 4 converts the bank window address into an actual bank address.

【0045】図10はメモリ管理部4のアドレス変換処
理を示すものである。
FIG. 10 shows address conversion processing by the memory management section 4.

【0046】メモリ管理部4は、バス2を監視し、アド
レスが出力されるのを待つ(ステップ1001)。アド
レスが出力されたならば読込み(ステップ1002)、
バンクウィンドウのアドレスであるか確認する(ステッ
プ1003)。もし、バンクウィンドウのアドレスでな
ければ、次のステップ1004,1005を実行しない
。しかし、バンクウィンドウのアドレスである場合は、
図9のステップ902においてOSから通知されたバン
ク番号を読込み(ステップ1004)、そのバンク番号
に16進の「1000H」を乗算し、アドレスに加算す
る(ステップ1005)。
The memory management unit 4 monitors the bus 2 and waits for an address to be output (step 1001). If the address is output, read it (step 1002),
It is confirmed whether the address is a bank window address (step 1003). If it is not the bank window address, the next steps 1004 and 1005 are not executed. But if it's the bank window address, then
The bank number notified from the OS in step 902 of FIG. 9 is read (step 1004), and the bank number is multiplied by hexadecimal "1000H" and added to the address (step 1005).

【0047】次に、アドレスがI/Oエリアを指してい
るか確認する(ステップ1006)。もしI/Oエリア
ではない場合、メインメモリ5またはバンクメモリ6の
該当のアドレスをアクセスする(ステップ1007)。 I/Oエリアの場合は、対応するI/O機器をアクセス
する(ステップ1008)。
Next, it is confirmed whether the address points to the I/O area (step 1006). If it is not the I/O area, the corresponding address in main memory 5 or bank memory 6 is accessed (step 1007). If it is an I/O area, the corresponding I/O device is accessed (step 1008).

【0048】例えば、最初の通信要求に対して、タスク
AがTCB18及びバンク20を用いて実行されると、
プログラムがアクセスする「C000H」から「CFF
FH」のアドレスは、「D000H」から「DFFFH
」のアドレスに変換される。そして、タスクAが実行中
に別の通信要求が発生した場合、図示しない他のタスク
は、通信制御TCB19及びバンク21によるタスクB
の起動を依頼すれば、プログラムがアクセスする「C0
00H」から「CFFFH」のアドレスは、「E000
H」から「EFFFH」のアドレスに変換される。
For example, when task A is executed using TCB 18 and bank 20 in response to a first communication request,
From “C000H” that the program accesses to “CFF”
The address of “FH” is from “D000H” to “DFFFH”.
” address. If another communication request occurs while task A is being executed, other tasks (not shown)
If you request startup of ``C0'', the program will access ``C0''.
Addresses from “00H” to “CFFFH” are “E000
The address is converted from "H" to "EFFFH".

【0049】このように、各タスクが共有しているプロ
グラムは、静的なバンクウィンドウ上に配置した仮のワ
ークエリア及びI/Oエリアを、例えば、アドレス定数
でアクセスすることにより、バンクメモリ6上の各タス
クが使用する動的なワークエリア及びI/Oエリアを自
動的にアクセスできる。
In this way, the program shared by each task can access the bank memory 6 by accessing the temporary work area and I/O area placed on the static bank window using address constants, for example. Dynamic work areas and I/O areas used by each of the above tasks can be automatically accessed.

【0050】また、第一の実施例では一バンクを一タス
クが占有しているが、装置の仕様によっては複数のタス
クで一バンクを共有しても良い。さらに第一の実施例で
は、全てのワークエリア及びI/Oエリアをバンクに割
り当てているが、タスク間で侵害しないワークエリア及
びI/Oエリアはメインメモリ5上に割り当てても良い
Furthermore, in the first embodiment, one task occupies one bank, but one bank may be shared by a plurality of tasks depending on the specifications of the device. Further, in the first embodiment, all work areas and I/O areas are allocated to banks, but work areas and I/O areas that do not interfere between tasks may be allocated on the main memory 5.

【0051】以上の点を考慮したシステムのメモリマッ
プを図11に示す。
FIG. 11 shows a memory map of the system in consideration of the above points.

【0052】本実施例のシステムは三プログラムから成
る。この内、Zプログラムは一つのタスクに使われるが
、Xプログラム及びYプログラムは並列処理の可能性が
あるため、各々タスクAとB及びタスクCとDでプログ
ラムを共有する。また、各タスクで競合しないエリアは
、タスク共通ワークエリア及びタスク共通I/Oエリア
としてメインメモリ5上に配置する。
The system of this embodiment consists of three programs. Of these, the Z program is used for one task, but since the X program and the Y program have the possibility of parallel processing, the programs are shared by tasks A and B and tasks C and D, respectively. Further, areas that do not conflict with each task are arranged on the main memory 5 as a task common work area and a task common I/O area.

【0053】本実施例では、一バンクにX及びYプログ
ラムのワークエリアとI/Oエリアを配置し、一バンク
を二プログラムで共有する。例えば、Xプログラムに対
応づけられるタスクAとB、及びYプログラムに対応づ
けられるタスクCとDとを連動して実行させる場合等は
、並列処理させるために、第一の実施例では四バンク必
要であるが、本実施例では、XタスクAとYタスクCの
TCB内バンク番号退避エリアに同一バンク20のバン
ク番号を設定し、XタスクBとYタスクDのTCB内バ
ンク番号退避エリアに同一バンク21のバンク番号を設
定することで、二バンクで済み、更にXタスクまたはY
タスクは、連動しているタスクのワークエリア及びI/
Oエリアを容易に参照することもできる。
In this embodiment, the work area and I/O area of the X and Y programs are arranged in one bank, and one bank is shared by two programs. For example, when tasks A and B associated with the X program and tasks C and D associated with the Y program are executed in conjunction, four banks are required in the first embodiment in order to perform parallel processing. However, in this embodiment, the bank number of the same bank 20 is set in the TCB bank number save area of X task A and Y task C, and the same bank number is set in the TCB bank number save area of X task B and Y task D. By setting the bank number of bank 21, only two banks are required, and in addition, X task or Y
Tasks are connected to the work area and I/O of the linked tasks.
The O area can also be easily referenced.

【0054】以上説明した実施例はファクシミリ装置に
関するものであるが、本発明は一プログラムを並列処理
させる全ての情報処理装置にも適用可能である。
Although the embodiments described above relate to facsimile machines, the present invention is also applicable to all information processing apparatuses that process one program in parallel.

【0055】[0055]

【発明の効果】本発明のファクシミリ装置及び情報処理
装置によれば、プログラムがアクセスする静的なメモリ
領域のアドレスを、実際にタスクが使用する動的なメモ
リ領域のアドレスに自動変換する。このため、並列処理
するタスクのメモリ領域のアドレスを侵害することがな
いように意識せずに、容易にプログラムを開発すること
ができる。
According to the facsimile machine and information processing apparatus of the present invention, the address of a static memory area accessed by a program is automatically converted into the address of a dynamic memory area actually used by a task. Therefore, programs can be easily developed without worrying about infringing on the memory area addresses of tasks to be processed in parallel.

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

【図1】本発明の第一の実施例のメモリマップ、FIG. 1 is a memory map of a first embodiment of the present invention;

【図2
】本発明の第一の実施例のシステムブロック図、
[Figure 2
] System block diagram of the first embodiment of the present invention,

【図3
】第一の従来装置のメモリマップ、
[Figure 3
] Memory map of the first conventional device,

【図4】第一の従来
装置のシステムブロック図、
[Fig. 4] System block diagram of the first conventional device,

【図5】第二の従来装置の
メモリマップ、
[Fig. 5] Memory map of the second conventional device,

【図6】第二の従来装置のシステムブロ
ック図、
[Fig. 6] System block diagram of the second conventional device,

【図7】本発明のタスク制御ブロック(TCB
)の説明図、
FIG. 7: Task control block (TCB) of the present invention
) explanatory diagram,

【図8】本発明のバンクメモリの構成例を示す説明図、
FIG. 8 is an explanatory diagram showing a configuration example of a bank memory of the present invention;

【図9】本発明のOSディスパッチ処理を表すフローチ
ャート、
FIG. 9 is a flowchart representing OS dispatch processing of the present invention;

【図10】本発明のメモリ管理部の処理を表すフローチ
ャート、
FIG. 10 is a flowchart showing the processing of the memory management unit of the present invention;

【図11】本発明の第二の実施例のメモリマップ。FIG. 11 is a memory map of the second embodiment of the present invention.

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

1…主制御部、 2…バス、 5…メインメモリ、 7…画像メモリ、 8…読取記録部、 9,10…画像変換部、 11,12…チャネル入出力部、 13,14…回線。 1... Main control unit, 2...Bus, 5...Main memory, 7...Image memory, 8...Reading and recording section, 9, 10...image conversion section, 11, 12...channel input/output section, 13, 14...Line.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】マルチタスクOSの環境下で並列処理する
プログラムを備えた情報処理装置において、前記プログ
ラムがアクセスするメモリ領域のアドレスをタスクが使
用するメモリ領域のアドレスに変換する手段と、前記タ
スクが使用する前記メモリ領域の位置を特定する情報を
記憶する手段と、前記タスクの実行時に使用する前記メ
モリ領域の位置に関する情報を前記アドレス変換手段に
通知する手段を備えることを特徴とする情報処理装置。
1. An information processing device comprising a program that performs parallel processing under a multitasking OS environment, comprising means for converting an address of a memory area accessed by the program into an address of a memory area used by a task; Information processing comprising: means for storing information specifying the location of the memory area used by the task; and means for notifying the address conversion means of information regarding the location of the memory area used when executing the task. Device.
【請求項2】マルチタスクOSの環境下で並列処理する
プログラムを備えた情報処理装置において、前記プログ
ラムは局所的なデータをアクセスする場合でもメモリ上
の仮領域を静的にアクセスし、前記メモリ上の仮領域を
指すアドレスを実際の動的な局所データ領域のアドレス
に変換する手段と、実際の局所データ領域の位置を特定
する情報を記憶する手段と、タスクの実行時に使用する
メモリ領域の位置に関する情報を前記アドレス変換手段
に通知する手段を備えることを特徴とする情報処理装置
2. An information processing device including a program that performs parallel processing under a multitasking OS environment, wherein the program statically accesses a temporary area on memory even when accessing local data, and A means for converting the address pointing to the above temporary area into an address of an actual dynamic local data area, a means for storing information specifying the location of the actual local data area, and a means for storing the memory area used when executing a task. An information processing device characterized by comprising means for notifying the address conversion means of information regarding a location.
【請求項3】マルチタスクOSの環境下で並列処理する
プログラムを備えた情報処理装置において、前記プログ
ラムは局所的なI/O機器をアクセスする場合でもメモ
リ上の仮領域をI/O空間として静的にアクセスし、メ
モリ上の仮領域を指すアドレスを実際の動的な局所的な
前記I/O空間のアドレスに変換する手段と、実際の局
所的な前記I/O空間の位置を特定する情報を記憶する
手段と、タスク実行時に使用する前記I/O空間の位置
に関する情報を前記アドレス変換手段に通知する手段を
備えたことを特徴とする情報処理装置。
3. In an information processing device equipped with a program that performs parallel processing in a multitasking OS environment, the program uses a temporary area in memory as an I/O space even when accessing local I/O equipment. A means for statically accessing and converting an address pointing to a temporary area on memory into an actual dynamic local address of the I/O space, and specifying the actual local position of the I/O space. 1. An information processing apparatus comprising: means for storing information relating to the location of the I/O space to be used when executing a task; and means for notifying the address conversion means of information regarding the position of the I/O space used when executing a task.
JP3123391A 1991-05-28 1991-05-28 Information processor Pending JPH04349535A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3123391A JPH04349535A (en) 1991-05-28 1991-05-28 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3123391A JPH04349535A (en) 1991-05-28 1991-05-28 Information processor

Publications (1)

Publication Number Publication Date
JPH04349535A true JPH04349535A (en) 1992-12-04

Family

ID=14859411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3123391A Pending JPH04349535A (en) 1991-05-28 1991-05-28 Information processor

Country Status (1)

Country Link
JP (1) JPH04349535A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028148B2 (en) * 2001-06-11 2006-04-11 Mitsumi Electric, Co. Ltd. Program executing device and method for executing programs

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028148B2 (en) * 2001-06-11 2006-04-11 Mitsumi Electric, Co. Ltd. Program executing device and method for executing programs

Similar Documents

Publication Publication Date Title
US7568077B2 (en) Information processing apparatus and file controller
US5608894A (en) Execution control system
US5805827A (en) Distributed signal processing for data channels maintaining channel bandwidth
CA2153827C (en) Method of managing memory allocation in a printing system
US6157463A (en) Facsimile system
JP2001265691A (en) Distributed processing system and control method therefor
US5710873A (en) Apparatus and method for maximizing a rate of image data transfer in a printing system
US5412488A (en) Data processing apparatus dual-bus data processing with reduced cpu and memory requirements
US20090303524A1 (en) Operation control program, operation control method, image forming apparatus, and memory resource allocation method
US6553414B1 (en) System used in plural information processing devices for commonly using peripheral device in network
US5923439A (en) Adjustable memory capacity for peripheral multi-function device
JPH04349535A (en) Information processor
JPH0855069A (en) Network system
JPH09114759A (en) Communication function controller
JPS59221068A (en) Facsimile composite device
JPH0918906A (en) Virtual terminal controller for exchange system
JPH0651999A (en) Information processing system with resource exclusive control function
JP3486584B2 (en) Data processing apparatus and method
JP2003337714A (en) Image forming apparatus and memory map method
JP2003125122A (en) Composite machine
JPH1083449A (en) Scan server
JPS60160771A (en) Facsimile system
JP2713894B2 (en) Facsimile machine
JP2002268940A (en) Image processor
JPH11261751A (en) Facsimile communication system and facsimile communication method applied to the system