JPH09218791A - ファクシミリ制御装置 - Google Patents

ファクシミリ制御装置

Info

Publication number
JPH09218791A
JPH09218791A JP8024445A JP2444596A JPH09218791A JP H09218791 A JPH09218791 A JP H09218791A JP 8024445 A JP8024445 A JP 8024445A JP 2444596 A JP2444596 A JP 2444596A JP H09218791 A JPH09218791 A JP H09218791A
Authority
JP
Japan
Prior art keywords
task
stack information
storage unit
stack
main storage
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
JP8024445A
Other languages
English (en)
Inventor
Ryoichi 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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP8024445A priority Critical patent/JPH09218791A/ja
Publication of JPH09218791A publication Critical patent/JPH09218791A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Facsimiles In General (AREA)

Abstract

(57)【要約】 【課題】 性能を劣化させることなく、多機能化を実現
することこと。 【解決手段】 処理手順とデータとを有する複数のタス
ク8と、このタスク8の状態及びスタック情報7を管理
するタスク管理テーブル6を記憶する主記憶部2と、こ
の主記憶部2に格納されたタスク管理テーブル6に基づ
いてタスク8を順次実行させるタスクスケジューラ4と
を備えている。しかも、主記憶部2に、タスクスケジュ
ーラ4によって出力されるスタック情報7を記憶する拡
張記憶部3を併設し、タスクスケジューラ4が、拡張記
憶部3を用いて主記憶部2には1タスクのスタック情報
のみを保持するスタック情報保持機能を備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ファクシミリ制御
装置に係り、特に、マルチタスキング方式の組み込み型
OS(オペレーティングシステム)を用いたファクシミ
リ制御装置に関する。
【0002】
【従来の技術】ファクシミリ装置において、ソフトウェ
アプログラムの実行は一般にタスク(プロセス)を単位
として制御される。タスクは、TCBと称するタスク管
理テーブルを介して管理される。
【0003】TCBに関連する従来技術としては、特開
昭61−060137号公報がある。これは、タスク間
の同期制御方式に関するものである。また、タスクスイ
ッチについては、例えば、特開平2−71330号公報
に開示された技術がある。これは、タスクスイッチ処理
によるオーバーヘッドを防止するものである。
【0004】TCBには、タスク番号やタスクの状態な
どの管理情報の他に、レジスタ等のセーブ情報やスタッ
クエリアも含んでおり、その容量は数キロバイトに及
ぶ。
【0005】従って、現在のようにファクシミリ装置が
多機能化し、ソフトウェアの規模が増大するに伴って、
処理タスクの数が増え、TCB全体の容量も飛躍的に増
加している。
【0006】図4は従来のタスク配置の一例を示す説明
図である。図4に示すように、従来機では各タスクのT
CB情報、スタックエリア、タスクプログラムは、メモ
リ空間上に一列に配置されていた。
【0007】
【発明が解決しようとする課題】しかしながら、従来例
では、ファクシミリ装置で使用しているCPUのメモリ
空間には限界があるため、多機能を実現するためのタス
クを必要なだけメモリ上に配置することができない、と
いう不都合があった。一方、より高次のCPUを採用す
ると、デバイスに要する費用が多大となり、それに伴う
ソフトウェアの改造費用が膨大なものとなってしまう。
【0008】また、タスクの処理を記述したプログラム
に関しては、同一のメモリアドレスをページングによっ
て任意の空間に割り付けるバンク切り替え機能を使用す
ることでメモリ空間の効率化を図っているが、第2の問
題点は、OSの制約により、TCB情報はプログラムと
異なり共通空間に配置しなければならないことにある。
【0009】OSの処理性能を向上すべく、メモリをよ
り高速にアクセス可能とするため、TCB情報について
は共通空間に配置しなければならない。従って、TCB
情報により共通空間が圧迫され、すると、この共通空間
の圧迫によりタスク数が制限されることとなり、このた
め、従来例では、ファクシミリ制御の多機能化が図れな
い、という不都合があった。
【0010】
【発明の目的】本発明は、限られたメモリ空間を有効に
活用することにより、少ないメモリ空間しか提供できな
いCPU上により多くのタスクを実装させることで、フ
ァクシミリ装置の小型・計量化を図り、さらに、OSの
性能を劣化させることなく、多機能化を実現することが
できるファクシミリ制御装置を提供することを、その目
的とする。
【0011】
【課題を解決するための手段】そこで、本発明では、第
1の手段として、処理手順とデータとを有する複数のタ
スクと、このタスクの状態及びスタック情報を管理する
タスク管理テーブルを記憶する主記憶部と、この主記憶
部に格納されたタスク管理テーブルに基づいてタスクを
順次実行させるタスクスケジューラとを備えている。し
かも、主記憶部に、タスクスケジューラによって出力さ
れるスタック情報を記憶する拡張記憶部を併設し、タス
クスケジューラが、拡張記憶部を用いて主記憶部には1
タスクのスタック情報のみを保持するスタック情報保持
機能を備えた、という構成を採っている。
【0012】本発明は、主記憶部のメモリ空間における
制約に関する欠点を解決するために、共通空間を広げる
手段として、TCB情報の中で大半を占めているスタッ
ク情報をページングする手段を備えている。より具体的
には、タスクプログラムと同様の手法によって、タスク
スケジューラがタスクをスイッチする際、スタックエリ
アをタスクの所属するページにバンク切り替えを行う。
【0013】第1の手段では、タスクスケジューラは、
主記憶部に格納されたタスク管理テーブルに基づいてタ
スクを順次実行させる。すると、タスクは、その処理
(プログラム)をデータを参照して実行し、ファクシミ
リ装置の諸機能を実現する。例えば、相手先の番号を特
定する為のキー入力を処理し、また、短縮キーからの入
力に基づいて相手先電話番号を検索する。
【0014】さらに、タスクスケジューラは、タスクス
イッチをする際、タスク管理テーブルに従い次タスクを
特定する。このとき、タスクスケジューラは、スタック
情報保持機能により、拡張記憶部を用いて主記憶部のス
タックエリアには1タスクのスタック情報のみを保持す
る。従って、タスクスケジューラは、前タスクのスタッ
ク情報を拡張記憶部に格納し、また、拡張記憶部に格納
されていた次タスクのスタック情報を主記憶部のスタッ
クエリアに出力する。
【0015】タスクスケジューラが、主記憶部のスタッ
クエリアには1タスクのスタック情報のみを保持する制
御をするため、主記憶部の共通空間を各タスクの各スタ
ック情報で圧迫することなく、このため、主記憶部の共
通空間が確保される。
【0016】第2の手段(請求項2)では、第1の手段
を特定する事項に加え、タスクスケジューラが、タスク
管理テーブルに基づいて次タスクにタスクスイッチする
ときに実行したタスクのスタック情報を主記憶部に格納
するスタック情報格納機能と、このスタック情報格納機
能によって主記憶部に格納されたスタック情報と拡張記
憶部に格納された次タスクのスタック情報とを切り換え
るスタック情報切り替え機能とを備えた、という構成を
採っている。
【0017】第3の手段(請求項3)では、第1の手段
を特定する事項に加え、タスクスケジューラが、タスク
毎に定められるスタック情報量のうち最大のスタック情
報量に基づいて予め主記憶に割り当てられたスタックエ
リアをバンクとしてバンク切り替えを行うバンク切り替
え制御機能を備えた、という構成を採っている。
【0018】本発明は、これらの各手段により、前述し
た目的を達成しようとするものである。
【0019】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。
【0020】図1は、本発明によるファクシミリ制御装
置の構成を示すブロック図である。ファクシミリ制御装
置は、処理手順とデータとを有する複数のタスク8と、
このタスク8の状態及びスタック情報7を管理するタス
ク管理テーブル6を記憶する主記憶部2と、この主記憶
部2に格納されたタスク管理テーブル6に基づいてタス
ク8を順次実行させるタスクスケジューラ4とを備えて
いる。
【0021】しかも、主記憶部2に、タスクスケジュー
ラ4によって出力されるスタック情報7を記憶する拡張
記憶部3を併設し、タスクスケジューラ4が、拡張記憶
部3を用いて主記憶部2には1タスクのスタック情報の
みを保持するスタック情報保持機能を備えている。
【0022】これを詳細に説明する。
【0023】スタック情報保持機能により、主記憶部2
には1タスクのスタック情報のみが保持されるため、図
1に示すように、図4に示す従来例と比較して、RAM
空間10には、広げられた共通空間Aが確保される。
【0024】このスタック情報は、タスクの実行環境を
保存するためのレジスタ情報などにより構成される。本
実施形態では、1タスク毎に、32K又は64Kを最大
量とするスタック情報が生成されるため、スタック保持
機能は、32K又は64Kを単位に拡張記憶部3にスタ
ック情報を出力し、また拡張記憶部3からスタック情報
を読み出す。
【0025】スタック保持機能は、スタック情報格納機
能と、スタック情報切り替え機能とにより実現する。タ
スクスケジューラ4は、タスク管理テーブルTCBに基
づいて次タスク5aにタスクスイッチするときに実行し
たタスク5aのスタック情報7aを主記憶部2に格納す
るスタック情報格納機能と、このスタック情報格納機能
によって主記憶部に格納されたスタック情報7aと拡張
記憶部3に格納された次タスクのスタック情報7bとを
切り換えるスタック情報切り替え機能とを備えている。
【0026】具体的には、CPU自体がバンク切り替え
機能を有する場合には、スタック情報を格納する主記憶
部2に予めスタックエリアの領域を確保しておき、この
スタックエリアをバンクとしてバンク切り替えを行う。
すなわち、各タスク7のスタック情報をバンク切り替え
機能によりページングする。スタックエリアの大きさ
は、各タスクによってスタック情報の量が異なるため
に、スタック情報が最も大きくなるタスクによって定ま
る。このページングサイズは、例えば、32Kであり、
また64Kである。
【0027】ファクシミリ装置の機能追加によりタスク
の数が増えた場合、タスクプログラムを配置するROM
空間は、従来よりバンク切り替え機能を使用したページ
ングによって共通空間を確保している。
【0028】さらに本発明のように、タスクスケジュー
ラ4がタスクのスタックエリアをページングすることに
よって、スタックエリアもバンク空間内(拡張記憶部
内)で広がるだけに止まり、共通部分のメモリ空間Aを
確保でき、そのメモリ空間を有効に利用することができ
る。
【0029】共通空間の確保確保により、タスク間通信
の設計が容易となる。例えば、文字入力を受け付けるタ
スクと、このタスクにより入力された文字列に基づいて
電話番号を検索するタスクと、このタスクにより検索さ
れた電話番号でダイヤルするタスクとの間の、タスク間
通信の設計が容易となる。
【0030】また、ファクシミリ装置では、そのタスク
数によると、セグメントによるページングよりも、固定
長の領域について一括してページングするバンク切り替
えがより高速である。また、バンク切り替え機能を有す
るCPUとしては、V53がある。これは、バンク切替
用のバンクレジスタ(ページレジスタ)を備えている。
【0031】次に、動作を説明する。
【0032】まず、タスクスケジューラによるタスクの
スイッチング方式を説明する。
【0033】図2は、タスク切り替えを行うためのタス
クスケジューラ4の基本的な構造を示している。
【0034】CPU2から起動されたタスクスケジュー
ラ4は、現在実行中のタスク(現タスク)から、新たに
実行するタスク(次タスク)にスイッチするために、図
3に示す処理を行う。
【0035】図3に示すように、まず、現タスクのTC
B情報6aを取り出し(ステップS1)、次タスク8b
があるかどうか判断する(ステップS2)。各タスクの
TCB6は、次にスイッチするタスク8のTCBアドレ
スを示すポインタを有している。タスクスケジューラ4
は、このチェインポインタを追尾することでタスクの切
り替え順位を決定する。
【0036】次タスクが接続されていない場合、実行す
るタスクが現れるまでの間、アイドル状態に移行する
(ステップS3)。実行可能タスクの最後尾にあるTC
B3のチェインポインタが、NULLを指すことで最後
尾タスクであると判断する。
【0037】一方、次タスクが接続されている場合、現
タスクの実行環境を保存するためにレジスタ情報などを
スタックエリア4に退避する(ステップS4)。このレ
ジスタ情報等がバンク切換の対象となるスタック情報7
aである。
【0038】次に、TCB6aのチェインポインタから
次タスクのTCB6bのアドレスを追尾する(ステップ
S5)。さらに、次タスクの所属するページにバンクを
切り替える(ステップS6)。
【0039】さらに、スタック情報7bに基づいて、次
タスク5bのTCB6bを取り出す(ステップS7)。
【0040】次タスク5bの実行アドレスを求めるため
に、TCB6bのスタックアドレスを求め(ステップS
8)、さらに、スタック情報7bから次タスク5bの実
行アドレスを得る(ステップS9)。ここでは、この実
行アドレスは当該プログラムが格納されたROM空間の
アドレスである。
【0041】TCBは、タスクが使用しているスタック
エリア4へのポインタを有しており、ポインタの先に
は、タスク5の実行アドレスが格納されている。従っ
て、タスクスケジューラ4は、このスタックへのポイン
タを追尾することで次に実行するタスク5の実行アドレ
スを知ることができる。
【0042】次タスク5bの実行環境を復元するため
に、スタックエリアに格納されたスタック情報7bをレ
ジスタ情報などにロードする(ステップS10)。最後
に、次タスク5bの実行アドレスに遷移することによっ
て、タスクのスイッチングを完了する。
【0043】この図3に示した例では、タスクスイッチ
されたこと、及びスタック情報についてバンク切り替え
されたことはなんらタスクの実行に対して影響を与えな
い。すなわち、タスク側のプログラムをなんら変更する
ことなく、このスタック情報のバンク切換を実現するこ
とが可能である。
【0044】上述したように本実施形態によると、例え
ば、V53を用いて、スタックエリアを64Kとし、拡
張記憶部(拡張エリア)3に11バンクを予め定義して
おくと、共通空間には700K余りが確保されることと
なり、ファクシミリの機能増大に十分対処可能となる。
【0045】このように、本実施形態によると、メモリ
空間の有効に活用できるという第1の効果を奏する。タ
スクの数が増えても、共通空間を圧迫していたスタック
エリアはバンク空間(拡張記憶部3)内で広がるだげ
で、共通部分のメモリ空間A(図1参照)は依然として
確保でき、システム開発時のタスク間インタフェースの
設計を容易にして、CPUのメモリ空間を有効に使用す
ることができる。
【0046】また、タスクのスケジューリングはシステ
ムの処理能力などの性能を決定する極めて重要な部位で
あり、オーバーヘッドを押さえるために可能な限り高速
に行う必要がある。従って、メモリへのアクセス手段に
手を加えることは通常好ましくない。その意味で、本実
施形態によるタスクスケジューラへの改造は、システム
に及ぼす影響が小さい、という効果を奏する。その理由
は、スタックエリアのバンク切り替えは、ページレジス
タの内容を書き換えるという僅かの処理を追加するだけ
だからである。
【0047】
【発明の効果】本発明は以上のように構成され機能する
ので、これによると、主記憶部に、拡張記憶部を併設
し、タスクスケジューラが、主記憶部のスタックエリア
には1タスクのスタック情報のみを保持する制御をする
ため、主記憶部の共通空間は各タスクの各スタック情報
で圧迫されることがなくなり、従って、主記憶部の共通
空間が確保され、このため、ファクシミリ装置の多機能
化による全体のタスク数増加に対応でき、しかも、スタ
ック情報の切り替えのみでこの共通空間の確保を行うた
め、システムへ与える影響が少なく、高速な処理を維持
すると共に、既に完成されているタスクを変更する必要
がなく、これらにより、ファクシミリ装置の多機能化に
よってもたらされるタスク間通信を強化することができ
る。このように、ファクシミリ装置の小型・計量化を図
り、さらに、OSの性能を劣化させることなく、多機能
化を実現することができる従来にない優れたファクシミ
リ制御装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態の構成を示す説明図であ
る。
【図2】タスクスケジューラの基本構造を示す説明図で
ある。
【図3】図1及び図2に示した構成によるタイムスイッ
チの処理工程を示すフローチャートである。
【図4】従来例を示す説明図である。
【符号の説明】
1 CPU 2 主記憶部 3 拡張記憶部 4 タスクスケジューラ 5 タスク 6 TCB(タスク管理テーブル) 7 スタック情報 8 タスク(プログラム部分)

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 処理手順とデータとを有する複数のタス
    クと、このタスクの状態及びスタック情報を管理するタ
    スク管理テーブルを記憶する主記憶部と、この主記憶部
    に格納されたタスク管理テーブルに基づいて前記タスク
    を順次実行させるタスクスケジューラとを備えたファク
    シミリ制御装置において、 前記主記憶部に、前記タスクスケジューラによって出力
    されるスタック情報を記憶する拡張記憶部を併設し、 前記タスクスケジューラが、前記拡張記憶部を用いて前
    記主記憶部には1タスクのスタック情報のみを保持する
    スタック情報保持機能を備えたことを特徴とするファク
    シミリ制御装置。
  2. 【請求項2】 前記タスクスケジューラが、前記タスク
    管理テーブルに基づいて次タスクにタスクスイッチする
    ときに前記実行したタスクのスタック情報を前記主記憶
    部に格納するスタック情報格納機能と、このスタック情
    報格納機能によって前記主記憶部に格納されたスタック
    情報と前記拡張記憶部に格納された次タスクのスタック
    情報とを切り換えるスタック情報切り替え機能とを備え
    たことを特徴とする請求項1記載のファクシミリ制御装
    置。
  3. 【請求項3】 前記タスクスケジューラが、タスク毎に
    定められるスタック情報量のうち最大のスタック情報量
    に基づいて予め主記憶に割り当てられたスタックエリア
    をバンクとしてバンク切り替えを行うバンク切り替え制
    御機能を備えたことを特徴とする請求項1記載のファク
    シミリ制御装置。
JP8024445A 1996-02-09 1996-02-09 ファクシミリ制御装置 Pending JPH09218791A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8024445A JPH09218791A (ja) 1996-02-09 1996-02-09 ファクシミリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8024445A JPH09218791A (ja) 1996-02-09 1996-02-09 ファクシミリ制御装置

Publications (1)

Publication Number Publication Date
JPH09218791A true JPH09218791A (ja) 1997-08-19

Family

ID=12138353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8024445A Pending JPH09218791A (ja) 1996-02-09 1996-02-09 ファクシミリ制御装置

Country Status (1)

Country Link
JP (1) JPH09218791A (ja)

Similar Documents

Publication Publication Date Title
JP2545789B2 (ja) 情報処理装置
US6948034B2 (en) Method for use of stack
US20030177328A1 (en) Method and apparatus for controlling stack area in memory space
JPH09218791A (ja) ファクシミリ制御装置
JPS62151940A (ja) レジスタ退避/復帰方式
JPH1139171A (ja) マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体
JP2752902B2 (ja) ベクトル処理装置
EP0789881B1 (en) System and method for processing of data and a communications system with such a system
EP0787326B1 (en) System and method for processing of memory data and communication system comprising such system
JP3789315B2 (ja) ベクトルギャザー命令追い越し回路
JPH06309169A (ja) 情報処理装置
JPH06266619A (ja) ページ退避/復元装置
JP2000029783A (ja) プロセッサ及び計算機
JPH0245207B2 (ja)
JPH0724025B2 (ja) マルチレジスタセツト方式のマイクロコンピユ−タ
JPH02270032A (ja) ローディング方式
JPS6314242A (ja) メモリ拡張方式
JPH02129724A (ja) プログラム実行方式
JPH08272411A (ja) ラダー命令処理装置
JPH0512114A (ja) キヤツシユメモリ
JPH0380344A (ja) 計算機
JPH02282832A (ja) タスクのメモリ保護方式
JPH06149593A (ja) マルチタスク実行装置
JP2002268897A (ja) スレッド管理方法及び情報処理装置
JPH07319753A (ja) バスサイクルのマルチプレクス方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19981020