JPH09305537A - I/oリカバリタイム挿入可能なデータ処理装置 - Google Patents

I/oリカバリタイム挿入可能なデータ処理装置

Info

Publication number
JPH09305537A
JPH09305537A JP12528396A JP12528396A JPH09305537A JP H09305537 A JPH09305537 A JP H09305537A JP 12528396 A JP12528396 A JP 12528396A JP 12528396 A JP12528396 A JP 12528396A JP H09305537 A JPH09305537 A JP H09305537A
Authority
JP
Japan
Prior art keywords
cpu
recovery time
cycle
address
data processing
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
JP12528396A
Other languages
English (en)
Inventor
Kazuma Oshiba
和磨 大柴
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 JP12528396A priority Critical patent/JPH09305537A/ja
Publication of JPH09305537A publication Critical patent/JPH09305537A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 I/OデバイスへのI/Oリカバリタイムの
挿入をOS設計者がソフトウェアで設定し、挿入する必
要があった。 【解決手段】 立上り処理でCPU31がI/Oリカバ
リタイムを挿入すべきI/Oアドレス及びサイクルの種
類を登録し、CPU31のアドレス・ステータスコマン
ドをデコードするデコーダをシステムコントローラ32
の中に持つことにより、I/Oリカバリタイムが必要な
サイクルが発生した時に、CPU31に対しHOLDを
かけ、必要な時間、HOLD状態を保持することによ
り、I/Oリカバリタイムの挿入が可能になる。I/O
アドレスの設定処理はROMによる立上り処理に行わせ
ることにより、OSは全く意識せず、I/Oリカバリタ
イムの挿入が可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はI/Oデバイス使用
時にI/Oデバイスの動作リカバリタイムをシステム動
作中に挿入するI/Oリカバリ挿入方式に関し、特にハ
ードウェアによるI/Oリカバリタイムの自動挿入可能
なデータ処理装置に関する。
【0002】
【従来の技術】従来のI/Oリカバリ挿入方法は、図9
に示すように、OSの設計者はすべてのI/Oコマンド
についてI/Oリカバリタイムが必要かどうかを判断
し、必要な場合はI/Oリカバリタイムが必要なコマン
ドを設定し(処理101)、そのコマンドの後にNOP
命令やJMP命令で構成されるI/Oリカバリ処理(処
理102)を行い、次のI/Oサイクルに対するリカバ
リタイムを確保する(処理103)。
【0003】
【発明が解決しようとする課題】第1の問題点は、OS
の設計者はI/Oデバイス制御用のプログラム設計時に
コマンド毎にI/Oリカバリタイムの必要性の検証を行
う必要があることである。
【0004】その理由は、I/Oデバイスによっては一
定の時間以上の間隔をあけない連続アクセスが禁止され
るからである。
【0005】本発明の目的は、I/Oコマンド間のリカ
バリタイムをOSをいじらずに自動的に挿入することに
より、OS開発の設計負荷を軽減することを可能とする
データ処理装置を提供することにある。
【0006】
【課題を解決するための手段】本発明によれば、オペレ
ーティングシステム(OS)に基づいて動作するCPU
(図2の31)によりI/Oデバイス(図2の33−1
〜33−n)を介してデータ処理を実行するデータ処理
装置において、立上り処理プログラムを格納するROM
(図2の30)と、立上り時に、そのROMに格納され
た立上り処理プログラムを実行するCPU(図2の3
1)と、ROMの立上り処理プログラムの実行後に、I
/Oリカバリタイムの設定を行うべきI/Oデバイスの
I/Oサイクルを検出する検出手段(図2の31)と、
この検出手段による検出により所定時間前記CPUをH
OLD状態にし、CPUによるバスサイクルを停止する
HOLD制御手段(図2の32)と、を含み、CPUの
HOLD状態の設定によりI/Oデバイスのリカバリが
行われるデータ処理装置が得られる。
【0007】この発明において、CPUは、立上り処理
プログラムによってI/Oリカバリタイムの設定を行う
べきI/Oデバイスのアドレスとサイクルを設定し、検
出手段は、立上り処理プログラムで設定されたアドレス
とサイクル検出によってI/Oリカバリタイムの設定を
行うべきI/OデバイスのI/Oサイクルを検出するよ
うにしても良い。
【0008】また、上記発明において、CPUは、立上
り処理プログラムによってI/Oリカバリタイムの設定
を行うべきI/OデバイスのアドレスとサイクルとCP
UをHOLD状態にする前記所定時間を設定し、検出手
段は、立上り処理プログラムで設定されたアドレスとサ
イクル検出によってI/Oリカバリタイムの設定を行う
べきI/OデバイスのI/Oサイクルを検出し、HOL
D制御手段は、アドレスの検出により前記所定時間を計
数し、計数動作によって前記CPUをHOLD状態にし
てもよい。
【0009】ROMに実装する立上り処理プログラムに
より、I/Oリカバリタイムを挿入したいI/Oアドレ
スとサイクルを登録しておくことにより、OSに制御が
移行してからは、指定したI/Oアドレスへのアクセス
が発生するたびに自動的にI/Oリカバリタイムが挿入
される。
【0010】
【発明の実施の形態】次に本発明の実施の形態について
図面を参照して説明する。
【0011】図1において、レジスタ1、レジスタ2、
…、レジスタnは、それぞれI/Oリカバリタイムを挿
入すべきI/OデバイスのI/Oアドレスと、リードサ
イクル、ライトサイクル又はリードライト両方のサイク
ルにI/Oリカバリタイムを挿入するか否かを示す情報
とを記憶するレジスタ群である。
【0012】図2において、データ処理装置のCPU3
1は、OS29の処理及びROM30の立上り処理プロ
グラムを実行する。HOLD制御手段であるシステムコ
ントローラ32はCPU31に接続され、図1に示すI
/Oアドレスのレジスタ群1〜nとカウントレジスタ2
0を内蔵し、I/Oデバイス33−1〜33−nとメモ
リ34の制御を行う。更に、システムコントローラ32
はCPU31とのインタフェース機能を内蔵し、CPU
31とI/Oデバイス33−1〜33−n及びメモリ3
4との動作タイミング制御を行う。I/Oデバイス33
−1〜33−nは、図1のレジスタ1〜nにそれぞれ対
応しシステムに内蔵されるI/Oリカバリタイムを必要
とされるI/Oデバイスである。メモリ34にはOS等
で使用されるコード及びデータが常時記憶される。
【0013】また図1において、カウントレジスタ20
は、システムコントローラ32で計数されるI/Oリカ
バリタイムのクロックカウント数と、I/Oリカバリタ
イム挿入機能のイネーブルBitを予め蓄積する。
【0014】次に、本発明の実施の形態の動作について
説明する。
【0015】図4は、ROM30のプログラムの制御の
移行を示すフローチャートである。図2のデータ処理装
置は、電源投入などによる立上り後、ROM30の立上
り処理プログラムを実行する(処理51)。立上り処理
において、CPU31はI/Oリカバリタイムの必要と
されるI/Oデバイスのアドレスとリード、ライトどち
らのサイクルでリカバリタイムが必要かの情報とを予め
定義し、システムコントローラ32のレジスタ1〜n
(図1)に格納する。また、CPU31はI/Oリカバ
リタイムのクロックカウント数を予めカウントレジスタ
20に格納し、またI/Oリカバリ機能のイネーブル処
理を行う。その後処理はOS29に移行する。
【0016】OSに処理が移行した後にCPU31にお
いて、I/Oリカバリタイムが挿入されるように設定さ
れたI/O命令が実行されると、図3に示すように、シ
ステムコントローラ32(図2のものと同一)は、HO
LD信号40をアクティブにする。CPU31は、HO
LD信号40の認識後、HOLDACK信号41をアク
ティブにすると同時にHOLD状態となる。その後シス
テムコントローラ32は、図1のカウントレジスタ20
に設定されたカウント数を計数するまでHOLD信号4
0をアクティブにし続ける。カウント終了後、HOLD
信号をインアクティブに戻す。この後、HOLDACK
信号41はインアクティブに戻る。HOLD信号40と
HOLDACK信号41が同時にアクティブな状態で
は、CPU31はバス動作を停止し、次のI/Oサイク
ルまでリカバリタイムが確保される。
【0017】次に図2に示すデータ処理装置を具体的に
示す図面を参照して説明する。図5はシステムコントロ
ーラ32の中のレジスタの内容を示し、図6は図2のデ
ータ処理装置のCPUとシステムコントローラの詳細を
示す回路図である。図において、レジスタ1、レジスタ
2のデータビットであるD0−D15BitにI/Oリ
カバリタイムを挿入するI/Oアドレスを登録する。レ
ジスタ1,2のD16Bitを1がセットされると、I
/Oライトサイクル時にリカバリタイムが挿入される。
レジスタ1,2のD17Bitを1がセットされるとI
/Oリードサイクル時にリカバリタイムが挿入される。
これらのレジスタはINDEX=1及び2で指定され
る。
【0018】レジスタ3のD0−D6ビットにはCPU
31によりI/Oリカバリタイムのクロックカウント数
がセットされる。ここではレジスタ3がカウントレジス
タになる。レジスタ3のD7ビットに1がセットされる
と、I/Oリカバリタイム挿入機能がイネーブルとな
る。このレジスタはアドレス=F0Hで指定される。レ
ジスタ4とレジスタ5はINDEXレジスタを構成す
る。INDEXレジスタにより複数のレジスタを2つの
アドレスから指定できる。本発明の実施の形態において
は、レジスタ1、レジスタ2がINDEXレジスタとし
て使用される。レジスタ4にはINDEXアドレスがセ
ットされる。レジスタ5は、レジスタ4により選択され
たレジスタのデータのリード・ライトを行う。レジスタ
4はアドレスF4H,レジスタ5はアドレスF8Hに割
り当てられる。
【0019】図6において、CPU31はプログラムの
実行を行う。また、システムコントローラ32はI/O
リカバリタイム挿入機能を実現する。カウンタ321
は、レジスタ3に設定されたカウント数までクロック信
号CLKをカウントする。コマンド・アドレスデコーダ
322はCPU31のステータス(リードかライトか)
とアドレスをデコードし、システムコントローラ32の
動作を制御する。HOLD信号40は、コマンド・アド
レスデコーダ322により指定したI/Oアクセスが検
出された時セットされ、HOLDACK信号41のセッ
ト後、カウンタ321がカウント終了後にリセットされ
る。アドレス42、ステータス43はCPU31のアド
レスとCPUステータスを示す。クロック信号CLKは
外部から供給されるクロック信号である。検出信号33
0はコマンド・アドレスデコーダ322から発生し、I
/Oリカバリ設定するサイクルが検出された時に(I/
Oアクセスが検出されたときに)セットされる。この検
出信号によりHOLD信号40がセットされる。
【0020】次に動作について図9を併用して説明す
る。タイミング901でレジスタ1にセットしたI/O
アドレスのサイクル(リードサイクル又はライトサイク
ル)が発生すると、コマンド・アドレスデコーダ322
は、検出信号330をアクティブにする。これによりカ
ウンタ321はHOLD信号40を902のタイミング
でセットする。この後、CPU31がHOLD信号を受
け付けた後、HOLDACK信号41をセットすると同
時にHOLD状態となる。カウンタ321は、レジスタ
3にセットされた分だけカウントを行い、カウントが終
了すると、HOLD信号40はリセットされる。カウン
タ動作中、CPU31はHOLD状態にあるため、この
間CPUによりバスサイクルは実行されず、I/Oリカ
バリタイムが挿入される。
【0021】次に本発明の第2の形態について図面を参
照して説明する。図8において、システムコントローラ
62とコマンド・アドレスデコーダ63はCPU61に
接続されている。図8が図6のデータ処理装置と異なる
点は、システムコントローラからコマンド・アドレスデ
コーダが独立し、コマンド・アドレスデコーダ63はC
PU61のステータスとアドレスのデコードを独立して
行うことである。
【0022】CPU61がI/Oリカバリタイムの挿入
が必要なI/Oサイクルを実行した時、コマンド・アド
レスデコーダ63は、検出信号610をアクティブとす
る。システムコントローラ62は、検出信号610を検
出後、CPU61のHOLD要求を行いシステムコント
ローラ62はHOLDACK受付後指定されたクロック
カウント分、HOLDを保持する。この間、CPU61
のバスはHOLD状態となり、これによりコマンド間で
I/Oリカバリタイムが確保される。
【0023】
【発明の効果】第1の効果は、OSはI/Oデバイスで
規定されるI/Oコマンドリカバリタイムを考慮する必
要がない。
【0024】その理由は、HOLD制御手段により強制
的にCPUにHOLDをかけ、I/Oリカバリタイムを
挿入するためである。
【0025】この第1の効果は請求項1によって得られ
る。
【0026】第2の効果は、ROM上の立上り処理で、
I/Oリカバリタイムを挿入するI/Oアドレス等を設
定するため、OSはI/Oリカバリタイムを全く意識せ
ずにI/Oリカバリタイムの挿入ができる。
【0027】その理由は、ROMの立上処理プログラム
は、システムコントローラ側でOSに制御を移行する前
にI/Oリカバリ実行のための環境を設定するものであ
るためである。
【0028】この第2の効果は請求項2によって得られ
る。
【図面の簡単な説明】
【図1】本発明の実施の形態のデータ処理装置における
レジスタを示すブロック図である。
【図2】本発明の実施の形態のデータ処理装置を示すブ
ロック図である。
【図3】本発明の実施の形態におけるCPUとシステム
コントローラを示すブロック図である。
【図4】本発明の実施の形態における立上り処理を示す
フローチャートである。
【図5】本発明の実施の形態のデータ処理装置における
レジスタの具体例を示すブロック図である。
【図6】本発明の実施の形態におけるCPUとシステム
コントローラの具体例を示すブロック図である。
【図7】図6の動作を示す波形図である。
【図8】本発明の第2の実施の形態のデータ処理装置を
示すブロック図である。
【図9】従来のI/Oリカバリ挿入方法を示すフローチ
ャートである。
【符号の説明】
30 ROM 31 CPU 32 システムコントローラ 34 メモリ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 オペレーティングシステム(OS)に基
    づいて動作するCPUによりI/Oデバイスを介してデ
    ータ処理を実行するデータ処理装置において、 立上り処理プログラムを格納するROMと、 立上り時に、前記ROMに格納された立上り処理プログ
    ラムを実行するCPUと、 前記立上り処理プログラムの実行後に、I/Oリカバリ
    タイムの設定を行うべきI/OデバイスのI/Oサイク
    ルを検出する検出手段と、 前記検出手段による検出により所定時間前記CPUをH
    OLD状態にし、前記CPUによるバスサイクルを停止
    するHOLD制御手段と、 を含み、前記CPUのHOLD状態の設定により前記I
    /Oデバイスのリカバリが行われるデータ処理装置。
  2. 【請求項2】 前記CPUは、前記立上り処理プログラ
    ムによってI/Oリカバリタイムの設定を行うべきI/
    Oデバイスのアドレスとサイクルを設定し、前記検出手
    段は、前記立上り処理プログラムで設定されたアドレス
    とサイクル検出によってI/Oリカバリタイムの設定を
    行うべきI/OデバイスのI/Oサイクルを検出するこ
    とを特徴とする請求項1記載のデータ処理装置。
  3. 【請求項3】 前記CPUは、前記立上り処理プログラ
    ムによってI/Oリカバリタイムの設定を行うべきI/
    Oデバイスのアドレスとサイクルと前記CPUをHOL
    D状態にする前記所定時間を設定し、 前記検出手段は、前記立上り処理プログラムで設定され
    たアドレスとサイクル検出によってI/Oリカバリタイ
    ムの設定を行うべきI/OデバイスのI/Oサイクルを
    検出し、 前記HOLD制御手段は、前記アドレスの検出により前
    記所定時間を計数し、計数動作によって前記CPUをH
    OLD状態にすることを特徴とする請求項1記載のデー
    タ処理装置。
JP12528396A 1996-05-21 1996-05-21 I/oリカバリタイム挿入可能なデータ処理装置 Pending JPH09305537A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12528396A JPH09305537A (ja) 1996-05-21 1996-05-21 I/oリカバリタイム挿入可能なデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12528396A JPH09305537A (ja) 1996-05-21 1996-05-21 I/oリカバリタイム挿入可能なデータ処理装置

Publications (1)

Publication Number Publication Date
JPH09305537A true JPH09305537A (ja) 1997-11-28

Family

ID=14906252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12528396A Pending JPH09305537A (ja) 1996-05-21 1996-05-21 I/oリカバリタイム挿入可能なデータ処理装置

Country Status (1)

Country Link
JP (1) JPH09305537A (ja)

Similar Documents

Publication Publication Date Title
US8327161B2 (en) Command decoder for microcontroller based flash memory digital controller system
US6959365B2 (en) Microcomputer including a flash memory and a flash memory rewrite program stored therein
US5923838A (en) Microcomputer with built-in flash memory
US7356717B2 (en) Information processing apparatus with central processing unit and main memory having power saving mode, and power saving controlling method
US4949241A (en) Microcomputer system including a master processor and a slave processor synchronized by three control lines
RU2137182C1 (ru) Выполнение инструкции обработки данных
JP2009528633A (ja) マイクロコントローラベースのフラッシュメモリデジタルコントローラのためのファームウェアで拡張可能なコマンド
JPH09305537A (ja) I/oリカバリタイム挿入可能なデータ処理装置
US5537664A (en) Methods and apparatus for generating I/O recovery delays in a computer system
US5606673A (en) Small computer system interface (SCSI) controller
EP0359232A2 (en) Computer system and method for setting recovery time
EP0683461A1 (en) Integrated processor employing improved address decoding method
US7487287B2 (en) Time efficient embedded EEPROM/processor control method
JPH0756847A (ja) ポータブルコンピュータ
US5581793A (en) System for bypassing setup states in a bus operation
JP4343244B2 (ja) マイクロコンピュータ
JPH0426913Y2 (ja)
JP3481666B2 (ja) プロセッサのメモリアクセス制御方法及び装置
JP2004355569A (ja) メモリチェック方法
JPS6158049A (ja) エラ−検出方式
JPH06332590A (ja) コンピュータインターフェース装置
JPH07281926A (ja) 情報処理装置の保護装置
JPH06230993A (ja) 情報処理装置
JP2003126484A (ja) 遊技機
JPS63253461A (ja) デ−タ転送用バツフア

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19981110