JPH01241636A - データ処理システム - Google Patents

データ処理システム

Info

Publication number
JPH01241636A
JPH01241636A JP63318664A JP31866488A JPH01241636A JP H01241636 A JPH01241636 A JP H01241636A JP 63318664 A JP63318664 A JP 63318664A JP 31866488 A JP31866488 A JP 31866488A JP H01241636 A JPH01241636 A JP H01241636A
Authority
JP
Japan
Prior art keywords
address
instruction
storage
clock
microinstruction
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
JP63318664A
Other languages
English (en)
Inventor
Mark R Funk
マーク・ロバート・フアンク
Harold Eugene Frye
ハロルド・ジユゼン・フライ
Allen Mcmahon Lynn
ライン・アラン・マツクマホン
Ralph Petz Bruce
ブルース・ラルフ・ペツズ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH01241636A publication Critical patent/JPH01241636A/ja
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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明はコントロール・ワード・ストレージ装置に記憶
されたコントロール・ワードの制御の下で動作するハー
ドウェアを有するデータ処理システムに関する0本発明
の装置はオペレータによって選択されたコントロール・
ストレージ・アドレスにおいてシステムの動作を停止さ
せる手段と、プロセッサが停止されたことをオペレータ
に知らせる手段と、オペレータにより与えられた信号に
応答して動作を再開始するための手段とを備えている。
B、従来の技術 マイクロプログラムで構成されたデータ処理システムの
開発、特にマイクロインストラクションの直接の制御の
下にあるハードウェアを使用するクラスのシステムの開
発は、特定のインストラクションが終了した時点におけ
るシステムの状態を、診断目的のために分析することが
必要であり、しかも、ハードウェアの誤動作、またはプ
ログラミングのエラーかの何れかによる誤動作の場所を
指摘することが必要である。このタスクは、マイクロイ
ンストラクションとデータ処理システムのハードウェア
との間のインターフェースの複雑化によって非常に困難
になってきた。誤動作を識別し、且つそれらのエラーを
訂正して、「修理」の完全さを確かめるために、通常、
テスト及び検査のための丹念に作られたプロシージャが
採用される。
特に「マイクロコード」と言われているソフトウェアの
クラスにおいて、ハードウェアの開発、配線処理及びソ
フトウェアのテスト処理は、プログラミング・エラーの
類を決定する目的で、種々のレジスタの位置や、システ
ム・ストレージの位置などの分析を可能とするために、
プログラムの実行を停止させる能力を、プログラマ−に
与えることによって、極めて容易にすることができる。
米国特許出願第121443号で開示された内容は本発
明の説明の一部に取り入れられている。
ソフトウェアをデパックするために通常用いられている
1つの技術は、「分断点J (breakpoint 
)を使用すること、または、単に無効なインストラクシ
ョンを使用することであり、この技術によると上述の分
断点は、インストラクションのオペレーション・コード
のバイトを、特別の分断点インストラクションに変更す
ることによって設定されるものである。プログラムにお
いて、この分断点に到達すると、トラップがソフトウェ
アのルーチンに遂行され、これにより、分断点に到達し
たことをオペレータに通知し、そして、ある特定のレジ
スタの内容を貯えておくための付加的な機能を行う、こ
の技術は、プロセッサが適正なところで停止せず、従っ
て、停止した時点においてシステムの状態の包括的な分
析ができないという欠点を持っている。
他の技術は所定の停止アドレスを現在のコントロール・
ストレージ・アドレスと比較する特別目的のハードウェ
アで実行するものである。ハードウェアが現在のコント
ロール・ストレージ・アドレスと所定の停止アドレスと
の一致を識別したとき、システムは停止される。この技
術は上述の技術の弱点をカバーするけれども、複数の停
止アドレスを指定することができない弱点を持っている
加えて、若し、指定されたコントロール・ストレージ・
アドレスと重複したコントロール・ワードが実行された
とすれば、沢山の偽りの停止が発生することになる。
サービス・プロセッサによってこのようなコントロール
・ストレージの停止を処理させることが望ましいが、サ
ービス・プロセッサは、通常、システムのプロセッサ(
CPU)に直接に接続されていないので、現在のコント
ロール・ストレージ・アドレスを決定する能力を持たず
、しかも、処理システムを停止するために、プロセッサ
のクロックを禁止することも出来ない。
米国特許第3813531号はインストラクション・レ
ジスタに接続されたスイッチが、テストされるべきイン
ストラクションに対応するビット・パターンにセットさ
れるようなシステムが開示されている。このインストラ
クションのタイプがコマンド・レジスタ、即ちオペレー
ション・コード・レジスタにストアされた時、比較回路
がシステムを停止させることになる。このシステムは、
システムが停止されるコントロール・ストレージのアド
レスを指定する能力がない。
米国特許第4095268号は、コントロール・コンソ
ールからの開始及び停止信号がシステムの開始及び停止
動作に使用されるようなマイクロプログラムで編成され
たシステムが開示されている。
このシステムが停止された時、分析用して、選択された
アドレスを指定されたアドレスに書き込むことが可能で
ある。このシステムは、特定のマイクロインストラクシ
ョン・アドレスにおいてシステムを停止することを取り
入れていない。
米国特許第4422144号は、書き込み可能なコント
ロール・ストレージ・エレメントにストアされたマイク
ロインストラクションが、読取専用ストレージ・エレメ
ントに見出された欠陥マイクロインストラクションに対
して代替えすることができるマイクロプログラムで構成
されたデータ処理システムが開示されている。停止アレ
ー中のデータ・ビットの存在に基づいて、無効なマイク
ロインストラクションに替えて有効なマイクロインスト
ラクションを代替する手段が設けられている。このアレ
ーは、マイクロインストラクションと同じアドレスによ
りアクセスされ、そして、サービス要員によって予めス
トアされているバイナリ1が書き込み可能なコントロー
ル・ストレージからの代替マイクロインストラクション
を実行させる。このシステムは、システムを停止に導く
ことがなく、そして、停止する所定の位置のコントロー
ル・ストレージ・アドレスにおけるマイクロインストラ
クションを本来的にストアする手段を含んでいない。
米国特許第4275441号はプロセッサが一時に1ス
テツプだけ動作させることができるようにマイクロプロ
グラムで構成されたシステムが開示されている。このシ
ステムは、人出力で発生される割込みのような種々の制
御信号に応答して「オン」状態に置かれ、そして対応す
る終了信号に応答して「オフ」状態に置かれる。このシ
ステムには、コントロール・ストレージ中の特定のアド
レスのアクセスに応答してシステムを停止させる手段が
設けられていない。
米国特許第4530050号は可変長インストラクショ
ンを実行する能力のあるプロセッサを有するデータ処理
システムが開示されている。この特許に記載されたエラ
ー検出システムは、コントロール・ストレージ中の特定
のアドレスのアクセスに応答してシステムを停止に導く
手段が設けられていない。
米国特許第4571677号は、予め決められたメモリ
・アドレスと等しい、CPUのメモリ・アドレス・レジ
スタ中の現在のアドレスを検出するための追跡システム
が開示されている。このシステムは予め決められたアド
レスにおけるマイクロインストラクションのクロック停
止インストラクションを置き替える手段を開示していな
い。
米国特許第4570218号は、周辺装置、及び直接メ
モリ・アクセスを使用したマイクロ・プロセッサ・メモ
リとの闇のデータと、データ・メモリ中に書き込まれた
プログラム可能な停止コードとを転送するためのシステ
ムが記載されている。
このシステムは、マイクロインストラクションがコント
ロール・ストレージから取り除かれ、そしてクロック停
止インストラクションで置き替えられるシステムを開示
していない。
米国特許第4589065号は、状態のチエツクを行い
、平行して、インストラクションのストリームの連続し
た実行を行うための単一サイクル動作の方法を与えるト
ラップ・インストラクションを有する「原始的なインス
トラクションのセット・マシン」が記載されている。こ
の特許は、所望のアドレスにおけるマイクロインストラ
クションがクロック停止インストラクションで置換され
るシステムを記載していない。
米国特許第4598364号は、追跡インストラクショ
ンがプログラムに永久的に組み込まれており、置換ビッ
トによって選択的に付勢される追跡システムが記載され
ている。このシステムは、所望のコントロール・ストレ
ージ・アドレスにおけるマイクロインストラクションを
、停止クロック・インストラクションと置換させ、次い
でコントロール・ストレージに復帰する装置が記載され
ていない。
米国特許第4638452号は、デパツギングが周辺装
置から受は取られた信号の性質に従って選択的に動作す
る分断点の助けによって達成されるデータ処理システム
が記載されている。このシステムには、コントロール・
ストレージ中のマイクロインストラクションが停止クロ
ック・インストラクションと置き替えられるシステムが
記載されていない。
米国特許第4638452号は実時間割込みシステムの
マイクロプロセッサに関している0割込みのインターバ
ルは実時間の経過に依存しており、コントロール・スト
レージ・アドレスには依存していない。
1977年11月の18Mテクニカル・ディスクロージ
ャ・ブレティンの第20巻第6号、2193頁の「デー
タ・プロセッサの誤動作の分析の助けJ (Data 
Processor Fault Analysis 
As5ist )と題する刊行物には、アドレスをマツ
チさせる手段によって、予め決められているマイクロイ
ンストラクションの終端において停止することの出来る
マイクロプログラムで構成されたシステムが開示、され
ている、このシステムは複数個のクロック・パルスのイ
ンターバルの任意の1つにおいて停止させる能力を与え
る。この開示には、所定の停止位置でインストラクショ
ンを置き替える停止インストラクションについての記載
がない。
1987年5月の18Mテクニカル・ディスクロージャ
・ブレティンの第29巻第12号、5334頁乃至53
37頁の「マイクロコードの透明仮想コントロール・ス
トレージのアドレッシング」(Microcode T
ransparent Virtual Contro
l StoreAddressing )と題する刊行
物には、常態の非しジゲント・モジュール(常駐してい
ないストレージ・モジュール)がマイクロコードに対し
て透明であるコントロール・ストレージにおいて、レジ
デント・モジュールであるか否かを決定するシステムを
開示している。開示されたシステムは本明細書で開示さ
れた実施例に使用されている。この刊行物の記載は、マ
イクロコードの仮想アドレッシングを持つシステムに、
本発明を適用するのを理解するのに有用である。
C0発明が解決しようとする問題点 本発明の主目的は、従来のデータ処理システムが持つ問
題を解決するための、マイクロプログラムで構成された
データ処理システムの停止機構を提供することにある。
本発明の他の目的は、データ処理システムの動作が停止
される位置における、1つ、またはそれ以上のマイクロ
インストラクションを、オペレータが指定することを可
能としたマイクロプログラム構成のデータ処理システム
の停止機構を提供することにある。
本発明の他の目的は、クロック停止インストラクション
が、システムを停止させたい位置にあるコントロール・
ストレージ・アドレスのマイクロインストラクションと
置き替えられるデータ処理システムを提供することにあ
る。
本発明の他の目的は、指定されたマイクロインストラク
ションが存在する所でシステムが停止され、その停止点
に到達したことを、オペレータが通知され、そしてシス
テムが容易に再始動されるデータ処理システムを提供す
ることにある。
本発明の他の目的は、異なったクループのマイクロイン
ストラクションを含むことができる重複領域を含むマイ
クロプログラムで構成されたデータ処理システムのため
のクロック停止機構を提供することにある。
本発明の他の目的は、異なったクループのマイクロイン
ストラクションを含むことができる重複領域を含む読取
り/書込みコントロール・ストレージ装置を有するマイ
クロプログラムで構成されたデータ処理システムのため
のクロック停止機構を提供することにある。
本発明の他の目的は、マイクロプログラムで構成された
データ処理システムのためのクロック停止インストラク
ションを提供することにある。クロック停止インストラ
クションは、システムを停止させたい位置にあるマイク
ロインストラクションと置き替えられる。インストラク
ション・デコード・ロジックがクロック停止インストラ
クションを感知すると、システム・クロックは停止され
、そして、元のマイクロインストラクションはシステム
のストレージ・ユニットからコントロール・ストレージ
へ再ロードされる。サービス・プロセッサは、LSSD
によって実際化されたシステム・ラッチが直接に間合さ
れる態様のデータ処理システムと相互接続される。
D0問題点を解決するための手段 本発明の上述の目的は、読取り/書込みコントロール・
ストレージ・ユニット中にストア(記憶)されているマ
イクロインストラクションで構成されたプログラムを実
行するLSSDロジックな含むマイクロプロセッサを有
するデータ処理システムによって達成される。オペレー
タがプログラムをランさせ、そして所望の点で停止させ
る、即ち特定のマイクロインストラクションで停止させ
たいと望んだ時、クロック停止インストラクションは、
特定されたマイクロインストラクションによって占めら
れているコントロール・ストレージ中のアドレスにスト
アされる。その特定のマイクロインストラクションは、
クロック停止インストラクションに含まれているアドレ
スにおけるサービス・プロセッサのストレージ・ユニッ
ト中に臨時にストアされる。システムがプログラムを実
行し、そしてクロック停止インストラクションに遭遇し
た時、インストラクション・コード・ロジックが動作し
て、クロック停止インストラクションに遭遇したことと
、システムが停止されたこととをオペレータに通知する
。また、デコード・ロジックは、元のマイクロインスト
ラクションを検索し、そして、そのマイクロインストラ
クションを、コントロール・ストレージ中の現在のアド
レスと置き替えるように、クロック停止インストラクシ
ョンによって特定されたアドレスの位置にシステム・ス
トレージのアクセスを行う、オペレータは、デバッグを
行うプロシージャの一部としてシステム中の種々のレジ
スタに問合せを行うことができる。
これが完了した時、クロック停止インストラクションが
置き替えられたマイクロインストラクションを、処理シ
ステムが実行し、また、クロック停止インストラクショ
ンを持つ元のマイクロインストラクションを置き替えて
、この置き替えに関連する管理的なタスクを遂行し、そ
して、プログラムが完了するか、或は、次のクロック停
止インストラクションに遭遇するまで、インストラクシ
ョンの実行を続行することを処理システムに行わせる再
始動信号を、オペレータによって発生させることが出来
る。各クロック停止インストラクションは、置き替えら
れるマイクロインストラクションの特定のアドレスに関
連されているので、コントロール・ストレージ・アドレ
スが重複モジュールに含まれるということは、重複モジ
ュール(overlay module )が現在のレ
ジデント(常駐)モジュールであることを表示するスト
レージ中のテーブルを含ませることによって、容易に対
応することができる。若し重複モジュールが現在レジデ
ント・モジュールであるとすれば、対応するコントロー
ル・ワードもまた修正される0重複モジュールを操作す
る詳細は、本発明の要部ではない。
従って、重複モジュールを操作する詳細な説明は、これ
以上行わない0重複モジュールを操作する詳細は、19
85年5月に刊行された上述の18Mテクニカル・ディ
スクロージャ・ブレティンに記載されている。
経済的な面からの理由と、性能面からの理由のために、
コントロール・ストレージ・ユニットは、すべてのマシ
ンの特性に必要なすべてのマイクロインストラクション
を含むほど十分な容量を持っていないから、コントロー
ル・ストレージの成る領域は重複のために保留しである
0重複は、状況により必要があるときに、コントロール
・ストレージに移動し、且つコントロール・ストレージ
から移動することの↑きる一部のマイクロインストラク
ションである。それは通常、浮動少数点のインストラク
ションのような余り使用されないマシン・ファンクショ
ンに関係するクループである。コントロール・ストレー
ジの重複領域中のコントロール・ワードは、任意の時間
において、可能性ある幾つかの重複マイクロインストラ
クションの1つである。すべての重複マイクロインスト
ラクションは、重複ストレージである、主ストレージの
重複部分にストアされる。システムが重複マイクロイン
ストラクションの実行を要求し、そして要求されたマイ
クロインストラクションが、コントロール・ストレージ
中の現在のレジデントではない時、ハードウェアは、要
求されたマイクロインストラクションをコントロール・
ストレージにロードし、次に、それに分岐するマイクロ
コード・ルーチンにトラップする。実際上は、重複モジ
ュールと名付けられたマイクロインストラクションのグ
ループが転送される。サービス・プロセッサでアクセス
することのできる主ストレージの位置は、重複モジュー
ルがコントロール・ストレージ中のレジデントであるこ
との表示を含んでいる。
コントロール・ストレージの重複領域中のマイクロイン
ストラクションは、マイクロ・コー゛ドによってロード
されるので、サービス・プロセッサによってこれらの領
域に置かれたクロック停止インストラクションは、実行
される前に、重複される。従って、重複ストレージ中の
対応するマイクロインストラクションは、サービス・プ
ロセッサによって、クロック停止インストラクションに
変更されなければならない。
E、実施例 第1図はLSSDロジックにおいて実際化されるマイク
ロプログラムで構成されたデータ処理システムで使用さ
れる本発明のコンポーネントを示している。この単純化
したブロック図は、本発明のハードウェア及びソフトウ
ェアの両方と直接に対話するデータ処理システムのコン
ポーネントだけしか示されていないことは注意を喚起す
る必要がある0図示されたコンポーネントは、すべてマ
イクロプログラムで構成されたプロセッサに含ませ、ま
たは付加することは容易なので、本発明は、データ処理
システムに幅広く適用することが可能である。
本発明を適用し、第1図に示されたマイクロプログラム
で構成されたデータ処理システムは、主ストレージ装置
3と関連したデータ・レジスタ及びアドレス・レジスタ
に接続されている主データ・パス1を有している0例え
ば、主データ・パス1上のデータは、接続データ・パス
32及びサービス・プロセッサ40から延びた制御ライ
ン43bによって、主ストレージ・ユニット3の入力及
び出力データ・レジスタとして用いられるデータ・レジ
スタ31にゲートされる。
サービス・プロセッサ40は、主データ・パス1に関連
したマイクロプロセッシング・システムのための種々の
内部機能を遂行するのに設゛けられたマイクロプロセッ
サである。サービス・プロセッサ40は、キーボード及
びデイスプレーを有するシステム・コンソール41と通
信することができる。サービス・プロセッサは、データ
処理システム内の、選択されたレジスタの内容の読み取
りとか、システム全般にわたって存在するLSSDラッ
チの状態を決定するとかのシステムの管理的なタスクを
遂行するために、殆ど制限が課されていない、サービス
・プロセッサ40は別個のクロックを持っているので、
データ処理システムのクロック動作が禁止されたとして
も、その機能を維持することができる0本発明の実施例
において、サービス・プロセッサは多くのクロック停止
機能を遂行するように使用されるけれども、このプロセ
ッサが行う論理機能は本発明の技術的範囲内で種々の用
途を持たせることが出来ることは注意を要する。
マイクロインストラクションのアドレスは、サービス・
プロセッサ40からのライン46上の信号の制御の下で
、データ・パス25を介して、サービス・プロセッサ4
0からコントロール・ストレージ・アドレス・レジスタ
24に供給される。マイクロプロセッサ・システムは、
処理システムの通常の動作の間で、コントロール・スト
レージ・アドレス・レジスタ24に用いるため、パス2
5ヘアドレスを供給する他の手段を持つことには注意を
払う必要がある。この場合には、パス25及びコントロ
ール・ストレージ・アドレス・レジスタ24に関連した
アドレス情報の付加的なラインと供給源がある0例えば
、成るインストラクションを実行している時に、インス
トラクション・デコード・ロジック29からデータ・パ
ス23を経てデータを、データ・パス25を介してコン
トロール・ストレージ・アドレス・レジスタ24にゲー
トすることが必要である。このゲート動作は、インスト
ラクション・デコード・ロジック29によって発生され
たライン27a上の信号によって達成される。
インストラクション・デコード・ロジック29は、コン
トロール・ストレージ・データ・レジスタ21に接続さ
れ、そして、このレジスタの内容に応答して制御信号を
発生するが、殆どの場合には、マイクロインストラクシ
ョンのオベレーション・コードの部分に応答してインス
トラクション信号ライン29a、29b及び29c上に
所定の制御信号を発生する0種々のインストラクション
のフォーマットが本発明の技術思想を逸脱しない範囲内
で使用できることは注意を要する。インストラクション
の部分であるオペレーション・コードとしての特性は、
本発明の詳な説明目的のためであって、これは個々のイ
ンストラクションに対して独特のロジック信号を発生す
るように、インストラクション・デコード・ロジック2
9と協働するインストラクションのその部分を識別する
よう意図されている0本明細書の説明を単純化する目的
のために、ライン29a及び29b上の信号は無視され
る。ライン29c上の信号が本発明のクロック停止イン
ストラクションであり、そして、コントロール・ストレ
ージ・アドレス・レジスタ24中のアドレスによってア
クセスされたコントロール・ストレージ2中のストレー
ジ位置が、クロック停止インストラクションとして識別
されるクラスのマイクロインストラクションを含んでい
る時に発生される。
種々のクラスのインストラクションを実行する際に、デ
ータを、システム・プロセッサ内のデータの供給源から
、コントロール・ストレージ・アドレス・レジスタ24
に転送することが必要だから、インストラクション・デ
コード・ロジック29はこの目的のために、ライン27
a上に信号を発生する。ライン27a上のインストラク
ション・デコード・ロジック29からの信号は、パス2
5を介して、システム内の供給源から、コントロール・
ストレージ・アドレス・レジスタ24への転送を制御す
る。同様に、制御ライン28b及び27bは、データ・
パス32を介して主ストレージのデータ・レジスタ31
及び主データ・パス1との闇のデータ転送と、データ・
パス35を介して主ストレージのデータ・レジスタ31
及び主データ・パス1の間のデータ転送とを制御する。
インストラクション・デコード・ロジック29から主デ
ータ・パス1へ延びるデータ・パス50は、データ・レ
ジスタ21中のマイクロインストラクションの部分を主
データ・パス1へ転送する役目をする。マイクロインス
トラクションの部分が主ストレージ3のためのアドレス
として使用される場合に、この転送が必要とされる。ま
た、この転送は、データ・パス22を介してデータ・レ
ジスタ21からデータ・パス1へ選択的にゲートするこ
とによっても行うことができることは注意を要する。
インストラクション・デコード・ロジック29からライ
ン29cを通るクロック停止信号は、データ処理システ
ム全体にわたる種々のタイミング回路及び制御回路へ、
ライン61を介してシステム・クロック信号を発生する
システム・クロック・ロジック60へ印加される。唯1
つのラインしか示されていないが、通常、コンピュータ
・システムは、各マシン・サイクルに対して、間隔を開
けた複数個のクロック信号を必要とし、図示の回路はそ
のようなコンピュータ・システムを含むものとして示さ
れている。ライン61上の信号は、処理システムを強制
的に5u?するのに使用される。
また、ライン29c上のクロック停止信号は、サービス
・プロセッサ40にも印加される。この信号をサービス
・プロセッサが受は取ったた時、サービス・プロセッサ
40はコントロール・ストレージ・アドレス・レジスタ
24中の現在のアドレスを読取り、そしてクロック停止
インストラクションによって置き替えられたインストラ
クションをストアするためにサービス・プロセッサのス
トレージ(図示せず)中のテーブルを走査する。
サービス・プロセッサによってライン43a上に発生さ
れた制御信号に応答して、このインストラクションは、
サービス・プロセッサ40からデータ・パス?2へ導く
データ・パス22aを介して、サービス・プロセッサの
ストレージ・ユニットからコントロール・ストレージ・
データ・レジスタ21へ転送され、そして、そのインス
トラクションを読み取ったアドレス、即ちコントロール
・ストレージ・アドレス・レジスタ24中に現在存在す
るアドレスにストアされる。若し、このコントロール・
ストレージ・アドレスが重複したアドレスであれば、重
複したストレージ中の対応する位置もまた置き替えられ
る。
次に、サービス・プロセッサ40はコンソール41ヘク
ロツク停止信号の表示を送るよう動作し、コンソール4
1において、オペレータがクロック停止信号の表示を知
ることになる。サービス・プロセッサ40によって、オ
ペレータはデータ処理システム内の種々の内部レジスタ
に問合せをすることが出来、そしてデータ処理システム
中のLSSDラッチの状態を決定する。この情報の分析
は、誤動作の分析、または問題の分析に用いられ、問題
解決に導く。
誤動作の分析が終了した時点において、データ処理シス
テムは、システムが停止された地点のアドレス、即ち現
在のアドレスにある本来のインストラクションで始まる
動作で再始動する用意が整っている。
クロック停止動作の準儂、およびクロック停止動作の実
行の闇のデータ処理システムの動作の詳細は、第2図に
示された漬れ図によって理解できる。システム制御プロ
ゲラミンクの領域で、マイクロインストラクションの列
で構成されるシステム・コントロール・プログラムをデ
バッグする分野において、通常、熟練したシステム・デ
ザイナ−1またはプログラマ−のエキスパートであるシ
ステム・オペレータは、問題を分析するために、特定の
マイクロインストラクションの列を選択することが出来
る。それらのマイクロインストラクションは、第1図の
コントロール・ストレージ・ユニット2にロードされて
いる。コントロール・ストレージ・アドレスAAAにお
けるマイクロインストラクションの列が終了した後、分
析されるべき特定のマイクロインストラクションの列の
終端において、オペレータは第2図のブロック201に
示したように、クロック停止インストラクションをロー
ドする。コントロール・ストレージ・アドレス番号AA
Aにクロック停止マイクロインストラクションをロード
すると、その位置に元から存在するマイクロインストラ
クションは、サービス・プロセッサのストレージのアド
レス番号XXxに転送される。クロック停止マイクロイ
ンストラクションのフォーマットは、ブロック202に
示されている。そのインストラクションはオペレーショ
ン・コード部分202aと、サービス・プロセッサのス
トレージ・アドレス部分202bとを含んでいる。シス
テム・ストレージのアドレスは、元のマイクロインスト
ラクションが置かれていたアドレスであることは注意を
要する。クロック停止マイクロインストラクションは、
インストラクションが実行される特定のシステムによっ
て必要とされる付加的な情報を含ませることが出来るけ
れども、すべての場合、オペレーション・コードとして
用いられる部分と、システム・ストレージをアドレスす
るのに用いられる部分とを含んでいる。コントロール・
ストレージのアドレスAAA中に存在する元のマイクロ
インストラクションはブロック203に示されている。
クロック停止インストラクションと同様に、そのマイク
ロインストラクションはオペレーション・コード部分と
、NNN−NNとして示されている付加的な部分とを含
んでいる。付加的な部分は、ストレージ・アドレス、ま
たはデータ処理システム内のレジスタを表わす。
若し、コントロール・ストレージ・アドレスAAAが重
複モジュールのために用いられたとすれば、重複ストレ
ージ中の対応するマイクロインストラクションは、若し
その重複インストラクションが現在のレジデント・イン
ストラクションでなければ、レジデント・インストラク
ションの代りに修正されねばならず、若しそれがコント
ロール・ストレージにあれば、レジデント・インストラ
クションに加えて修正されねばならない。
既に説明したように、オペレータはコントロール・スト
レージ・ユニット中の幾つかのクロック停止インストラ
クションを同時に設定したいと望むことがある。第2の
クロック停止インストラクションのローディングは、ブ
ロック210において示されている。この第2のインス
トラクションは、コントロール・ストレージ・アドレス
BBHにロードされ、そして、そのアドレスに存在した
元のインストラクションは、サービス・プロセッサ40
のストレージ・ユニットのアドレスYYYにストアされ
る。第2のクロック停止インストラクションのフォーマ
ットはブロック212に示されている。このインストラ
クションはオペレーション・コードの部分212aと、
ストレージ・アドレス部分212bを持っている0元の
マイクロインストラクション213はオペレーション・
コード部分213a及び付加的な部分NNN−NNを持
ち、インストラクション202の場合と同様に、それら
はストレージ・アドレス・レジスタ、またはその特定の
オペレーション・コードの実行に必要な他の情報を表示
することが出来る。
元のマイクロインストラクションのストレージのために
選択されたアドレスは、サービス・プロセッサ40のス
トレージの領域内に専用のバッファとして設定れた別の
バッファ・ストレージ中に存在する。このバッファ中の
ストレージ位置は元のマイクロインストラクションと、
そのマイクロインストラクションがストアされていたア
ドレスとを含んでいる。以下により詳細に説明されるよ
うに、クロック停止インストラクションがコントロール
・ストレージ・データ・レジスタ21中に存在している
という表示を、サービス・プロセッサ40がライン29
cを介して受は取った時、コントロール・ストレージ・
アドレス・レジスタ24のアドレスは、゛マツチ(整合
)したアドレスが見出されるまで、バッファ領域内のア
ドレスと比較される0次に、マツチしたアドレスに対応
するインストラクションは、元のアドレスのコントロー
ル・ストレージ中に再書込みされるように、コントロー
ル・ストレージ・データ・レジスタ21へ再転送される
コントロール・ストレージ・ユニット2中の所望の位置
にクロック停止インストラクションをロードし、そして
元のマイクロインストラクションをサービス・プロセッ
サ40のストレージ中のバッファ領域内にロードすると
、オペレータはブロック220に示したようにシステム
の動作を開始する。
データ処理システムがプログラムの実行を開始すると、
コントロール・ストレージ2からマイクロインストラク
ションを読取り、そのマイクロインストラクションをコ
ントロール・ストレージ・データ・レジスタ21にロー
ドし、そしてインストラクション・デコード・ロジック
29によってそのマイクロインストラクションをデコー
ドする。
ブロック230に示されたように、コントロール・スト
レージ・アドレスAAAに到達するまで、マイクロイン
ストラクションの読み取り、解釈及び実行が続けられる
。到達したアドレスは、第1のクロック停止インストラ
クションのアドレスである。
ブロック230aに示されたように、クロック停止イン
ストラクションは、コントロール・ストレージから読み
取られ、そして、インストラクションによってデコード
される。サービス・プロセッサ40に開運して、インス
トラクション・デコード・ロジック29は、サービス・
プロセッサのストレージ・アドレスXxxに現在ストア
されている元のマイクロインストラクションを検索する
よう動作する。既に説明したように、サービス・プロセ
ッサ40及びインストラクション・デコード・ロジック
29は、サービス・プロセッサのバッファ・ストレージ
のアドレスを表示するクロック停止インストラクション
の部分を、データ・パス23を介して、コントロール・
ストレージ・データ・バッファからサービス・プロセッ
サ40ヘゲートするように動作する。
次に、元のマイクロインストラクションは、アドレスX
xXのシステム・ストレージから読み取られ、そしてブ
ロック230bに示されているように、パス22及びコ
ントロール・ストレージ・データ・レジスタ21に導く
パス22a上に供給される0次に、元のマイクロインス
トラクションは、そのマイクロインストラクションが最
初に取り出されたアドレスと同じアドレスのコントロー
ル・ストレージ2の中にロードされる。コントロール・
ストレージ・アドレス・レジスタ24中のアドレス値に
変化が加えられなかったから、元のマイクロインストラ
クションは、現在のアドレス、即ち、クロック停止イン
ストラクションが維持されていたアドレスであり、且つ
そのインストラクションが本来取り除かれたアドレスと
同じアドレスにロードされる。若し、このアドレスが重
複インストラクションに使用されたならば、重複ストレ
ージ中の対応するインストラクションもまた置換されね
ばならない。
この時点で、システム・クロック・ロジック60に接続
されているライン29c上のクロック停止信号は、ライ
ン61上のクロック・パルスの発生を禁止させ、ブロッ
ク230dに示されたように、システムを命令的に停止
状態にする。
同じ信号がサービス・プロセッサに供給され、そして、
ブロック230eに示されているように、システムがク
ロック停止インストラクションに到達して停止したこと
を、オペレータに通知するために、サービス・プロセッ
サ40がシステム・コンソール41に対して信号を発生
する。
デパックしている問題を識別する場合の通常の収態にお
いて、システムの収態の分析を遂行するために、オペレ
ータが介入する。ブロック240に示されているように
、この分析は、サービス・プロセッサによって、種々の
レジスタの内容を検査することを含み、そして種々のシ
ステム・ストレージ中のデータの記録経過を行うこと、
及び選択されたLSSDレジスタの内容の記録経過を行
うことを含む、サービス・プロセッサは独立したクロッ
クを持っているから、システム・クロックが禁止された
としても、データ処理システムの収態の分析は、サービ
ス・プロセッサ40によって遂行される。
また、サービス・プロセッサ40は、データ処理システ
ムの種々のロジック・エレメントに直接にアクセスする
ことが出来、この目的のためのシステム・データ・パス
の使用を必要としない。
再始動の準備が整ったならば、ブロック250に示され
たように、オペレータはシステム・コンソール41から
始動システム信号を発生し、そして、システムは、コン
ソール・ストレージ位置AAAにあるマイクロインスト
ラクションを単一ステップで読み取り、そして実行する
動作を開始する0次に、ブロック251に示したように
、サービス・プロセッサは、システム・クロックを再始
動し、そしてコントロール・ストレージ・アドレスAA
Aにクロック停止インストラクションを再ストアする。
これは、オペレータが手操作で再度、クロック停止イン
ストラクションを挿入することなく、元のプログラムの
ランを重複させることが出来る。
次に、ブロック252に示したように、次のクロック停
止インストラクションに遭遇するまでか、または、他の
システム動作が行われるまで、システムはプログラムの
ランを続ける。
F0発明の詳細 な説明したように、本発明はマイクロインストラクショ
ンのソフトウェアのクラスにおけるハードウェア、また
はソフトウェアをテストする際に、データ処理システム
の動作が停止される位置における、1つ、またはそれ以
上のマイクロインストラクションを、オペレータが指定
することを可能としたマイクロプログラムで構成された
データ処理システムの停止機構を提供する。
【図面の簡単な説明】
第1図は本発明を適用するために関連した、マイクロプ
ログラムで構成されたデータ処理システムの部分を示す
ブロック図、第2図はインストラクションを実行する間
、システムによって実行されるステップを示した、注釈
付きのデータの流れ図である。 1・・・・主データ・パス、2・・・・コントロール・
ストレージ、3・・・・主ストレージ・ユニット、21
・・・・コントロール・ストレージ・データ・レジスタ
、24・・・・コントロール・ストレージ・アドレス・
レジスタ、29・・・・インストラクション・デコード
・ロジック、31・・・・主ストレージのデータ・レジ
スタ、34・・・・主ストレージのアドレス・レジスタ
、40・・・・サービス・プロセッサ、41・・・・シ
ステム・コンソール、60・・・・システム・クロック
・ロジック。

Claims (1)

  1. 【特許請求の範囲】 コントロール・ワード記憶装置に記憶されているコント
    ロール・ワードを実行するプロセッサと、選択されたコ
    ントロール・ワード記憶アドレスで上記プロセッサを停
    止させ、かつ上記選択されたコントロール・ワード記憶
    アドレスで上記プロセッサを再始動させる手段とを有す
    るデータ処理システムにおいて、 上記プロセッサを停止させたいアドレスで、上記コント
    ロール・ワード記憶装置に、所定のコントロール・ワー
    ドに代えてクロック停止命令を記憶し、 上記クロック停止命令に、上記所定のコントロール・ワ
    ードが記憶されているシステム記憶アドレスを含ませ、 マイクロ命令デコード手段により上記クロック停止命令
    に応じて上記プロセッサの動作を禁止させ、かつ、 上記所定のコントロール・ワードを上記コントロール・
    ワード記憶装置に復帰させうるようにしたことを特徴と
    するデータ処理システム。
JP63318664A 1988-03-17 1988-12-19 データ処理システム Pending JPH01241636A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16951788A 1988-03-17 1988-03-17
US169517 1993-12-17

Publications (1)

Publication Number Publication Date
JPH01241636A true JPH01241636A (ja) 1989-09-26

Family

ID=22616034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63318664A Pending JPH01241636A (ja) 1988-03-17 1988-12-19 データ処理システム

Country Status (3)

Country Link
US (1) US5901300A (ja)
EP (1) EP0333613A3 (ja)
JP (1) JPH01241636A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3872196B2 (ja) * 1998-01-09 2007-01-24 株式会社ルネサステクノロジ マイクロコンピュータ

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5699550A (en) * 1980-01-11 1981-08-10 Nec Corp Information processing unit
JPS5750058A (en) * 1980-09-10 1982-03-24 Usac Electronics Ind Co Ltd Debugging method by instruction exchange
JPS59103158A (ja) * 1982-12-03 1984-06-14 Fujitsu Ltd デイジタル信号処理プログラムデバツグ方式

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3411147A (en) * 1966-03-24 1968-11-12 Burroughs Corp Apparatus for executing halt instructions in a multi-program processor
US3786365A (en) * 1972-04-26 1974-01-15 Hughes Aircraft Co Laser materials from calcium fluoride - rare earth fluoride expanded lattice structures
US3813531A (en) * 1973-01-02 1974-05-28 Honeywell Inf Systems Diagnostic checking apparatus
US3909802A (en) * 1974-04-08 1975-09-30 Honeywell Inf Systems Diagnostic maintenance and test apparatus
US3937938A (en) * 1974-06-19 1976-02-10 Action Communication Systems, Inc. Method and apparatus for assisting in debugging of a digital computer program
US3941989A (en) * 1974-12-13 1976-03-02 Mos Technology, Inc. Reducing power consumption in calculators
JPS5220735A (en) * 1975-08-08 1977-02-16 Hitachi Ltd Microprogram controlled computer system
US4034194A (en) * 1976-02-13 1977-07-05 Ncr Corporation Method and apparatus for testing data processing machines
US4080650A (en) * 1976-07-28 1978-03-21 Bell Telephone Laboratories, Incorporated Facilitating return from an on-line debugging program to a target program breakpoint
JPS54127247A (en) * 1978-03-27 1979-10-03 Toshiba Corp Microprogram controller
US4758945A (en) * 1979-08-09 1988-07-19 Motorola, Inc. Method for reducing power consumed by a static microprocessor
JPS5654529A (en) * 1979-10-08 1981-05-14 Nec Corp Data processor
IN155448B (ja) * 1980-03-19 1985-02-02 Int Computers Ltd
US4482953A (en) * 1980-05-30 1984-11-13 Fairchild Camera & Instrument Corporation Computer with console addressable PLA storing control microcode and microinstructions for self-test of internal registers and ALU
US4422144A (en) * 1981-06-01 1983-12-20 International Business Machines Corp. Microinstruction substitution mechanism in a control store
JPS5825652A (ja) * 1981-08-10 1983-02-15 Fuji Xerox Co Ltd 複写機等の自己診断時の出力端遠隔操作装置
US4530050A (en) * 1981-08-26 1985-07-16 Hitachi, Ltd. Central processing unit for executing instructions of variable length having end information for operand specifiers
JPS5886648A (ja) * 1981-11-18 1983-05-24 Mitsubishi Electric Corp トレ−ス装置
FR2531244B1 (fr) * 1982-07-27 1987-05-15 Debesson Pierre Systeme de detection de codes d'arret programmables dans un transfert de donnees intervenant entre une memoire locale d'un microprocesseur et un peripherique, dans un ensemble processeur utilisant un circuit d'acces direct a la memoire locale
US4545030A (en) * 1982-09-28 1985-10-01 The John Hopkins University Synchronous clock stopper for microprocessor
US4598364A (en) * 1983-06-29 1986-07-01 International Business Machines Corporation Efficient trace method adaptable to multiprocessors
US4589065A (en) * 1983-06-30 1986-05-13 International Business Machines Corporation Mechanism for implementing one machine cycle executable trap instructions in a primitive instruction set computing system
US4638452A (en) * 1984-02-27 1987-01-20 Allen-Bradley Company, Inc. Programmable controller with dynamically altered programmable real time interrupt interval
GB2197506A (en) * 1986-10-27 1988-05-18 Burr Brown Ltd Providing and handling break points in a software monitor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5699550A (en) * 1980-01-11 1981-08-10 Nec Corp Information processing unit
JPS5750058A (en) * 1980-09-10 1982-03-24 Usac Electronics Ind Co Ltd Debugging method by instruction exchange
JPS59103158A (ja) * 1982-12-03 1984-06-14 Fujitsu Ltd デイジタル信号処理プログラムデバツグ方式

Also Published As

Publication number Publication date
EP0333613A2 (en) 1989-09-20
EP0333613A3 (en) 1991-01-30
US5901300A (en) 1999-05-04

Similar Documents

Publication Publication Date Title
US4635193A (en) Data processor having selective breakpoint capability with minimal overhead
EP0380858B1 (en) Method and apparatus for detecting and correcting errors in a pipelined computer system
EP0528585B1 (en) Data processing system with internal instruction cache
US4606024A (en) Hierarchical diagnostic testing arrangement for a data processing system having operationally interdependent circuit boards
US4080651A (en) Memory control processor
EP0272036A2 (en) Methods and apparatus for providing a microprocessor test interface
US4493035A (en) Data processor version validation
US4167779A (en) Diagnostic apparatus in a data processing system
US4933941A (en) Apparatus and method for testing the operation of a central processing unit of a data processing system
RU2137182C1 (ru) Выполнение инструкции обработки данных
JPH11212817A (ja) ハードウェア支援ファームウェア追跡方法及び装置
EP0141744B1 (en) Method and apparatus for self-testing of floating point accelerator processors
US4841434A (en) Control sequencer with dual microprogram counters for microdiagnostics
JPH0689201A (ja) アイドルモードをアクセスするラン/ストップピンを有するマイクロプロセッサ及びそれを動作させる方法
EP0509558B1 (en) Information processing system with support means responsive to an overall system control
US7100027B1 (en) System and method for reproducing system executions using a replay handler
KR19990071604A (ko) 램구성내의정보를판독하고복원하기위한처리시스템및방법
JPH01241636A (ja) データ処理システム
US6141635A (en) Method of diagnosing faults in an emulated computer system via a heterogeneous diagnostic program
JPS60254250A (ja) デユアル・マイクロプログラムカウンタを有するマイクロ診断用制御シーケンサ
JPS5939052B2 (ja) 情報処理装置及び方法
CA1165454A (en) Odd byte memory accessing in data processing apparatus
CA1223079A (en) Data processor having selective breakpoint capability with minimal overhead
JPH1153214A (ja) パーソナルコンピュータのブート不良検出システム
JPS62192824A (ja) 処理装置アクセス方式