JPH04127250A - バスパリティ制御機構をもつマイクロプロセサ - Google Patents

バスパリティ制御機構をもつマイクロプロセサ

Info

Publication number
JPH04127250A
JPH04127250A JP2247121A JP24712190A JPH04127250A JP H04127250 A JPH04127250 A JP H04127250A JP 2247121 A JP2247121 A JP 2247121A JP 24712190 A JP24712190 A JP 24712190A JP H04127250 A JPH04127250 A JP H04127250A
Authority
JP
Japan
Prior art keywords
parity
microprocessor
bus
error
circuit
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
JP2247121A
Other languages
English (en)
Inventor
Kunio Uchiyama
邦男 内山
Tetsuhiko Okada
岡田 哲彦
Susumu Narita
進 成田
Fumio Arakawa
文男 荒川
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 JP2247121A priority Critical patent/JPH04127250A/ja
Publication of JPH04127250A publication Critical patent/JPH04127250A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はパスパリティ制御機構を有するマイクロプロセ
サに関する。
〔従来の技術〕
従来のマイクロプロセサにおいて、パスパリティ機構を
持つものとしては、インテル社のマイクロプロセサi4
86TMがある0本マイクロプロセサは、′(インテル
14867Mマイクロプロセサ”  (intel。
i486TM MICROPROCESSOR)の第8
6頁に述べられているように、データバスの各バイトに
対して1ビツトのパリティ信号を持つ。
〔発明が解決しようとする課題〕
上記マイクロプロセサでは、4バイト幅のデータバスの
各バイトに対応して1ビツトの偶数パリティ信号ピンを
持ち、データをマイクロプロセサが外部から読んだとき
に、マイクロプロセサ内部でパリティチエツクを行いそ
の結果をパリティ状態信号として、無条件に外部に出力
している。−方、このパリティチエツクの結果、パリテ
ィニラ−であったとしてもマイクロプロセサのプログラ
ム実行状態は変化しない。
上記パスパリティ機構をもつマイクロプロセサでは、パ
リティ状態信号でパリティエラーが報告された場合に、
マイクロプロセサにその異常状態を知らせるための外部
回路が必要であり、システム構築の際のハードウェア増
加の問題があった。
また、パリティ状態信号でパリティエラーが報告された
場合に、マイクロプロセサにその異常状態を知らせるた
めの外部回路を介在するために、異常状態の報告が遅れ
て、マイクロプロセサにおけるプログラム実行が暴走す
る恐れがあった。
また、上記マイクロプロセサにパリティ生成回路を持つ
外部メモリと、パリティ生成回路を持たない外部メモリ
とを付けてシステムを構築する場合に、マイクロプロセ
サがアクセスするそれぞれの外部メモリに応じて、パリ
ティ状態信号出力を判断する外部回路が必要であり、シ
ステム構築の際のハードウェア増加の問題があった。
また、上記マイクロプロセサに、奇数パリティを採用す
る外部メモリとを付ける場合に、偶数−奇数パリティ変
換のための外部回路が必要であり、システム構築の際の
ハードウェア増加の問題があった・ 本発明の目的は、上記問題点をすべて解決できるパスパ
リティ制御機構を内蔵するマイクロプロセサを提供する
ことにある。
本発明のマイクロプロセサを用いおば、余分な外部回路
が不要になり、最小のハードウェアで、融通性および信
頼性の高いシステムの構築が可能となる。
〔課題を解決するための手段〕
上記目的を達成するため二つの手段がある。
第1の手段では、上記目的を達成するためマイクロプロ
セサ内部にメモリ領域管理テーブルを内蔵し、メモリ領
域単位にパスパリティ−が付くか否かを管理するパリテ
ィ有効ビットをメモリ領域管理テーブルの各エントリに
持たせる。パスパリティエラー検出回路の出力信号はメ
モリ管理テーブルから読み出されたパリティ−有効ビッ
トと論理和をとり、それをマイクロプロセサ内部の例外
処理回路に入力させる。
また、パスパリティとして偶数パリティを用いるか、あ
るいは、奇数パリティを用いるかを識別するモードビッ
トを持たせ、その値によりマイクロプロセサ内部のパス
パリティエラー検出回路が偶数パリティエラーを検出す
るか、あるいは、奇数パリティエラーを検出するかをき
める。また、モードピットの値により、マイクロプロセ
サ内部のパスパリティエラー生成回路が偶数パリティエ
ラーを生成するか、あるいは、奇数パリティエラーを生
成するかをきめる。
上記パリティ−制御ビットとモードピットはマイクロプ
ロセサの命令の実行により値を設定できるようにする。
第2の手段では、上記目的を達成するために、マイクロ
プロセサにリードしたデータのパリティ信号が有効か無
効かを示すパリティエネーブルピンを設ける。パスパリ
ティエラー検出回路の出力信号はこの入力ピンからの入
力信号と論理和をとり、それをマイクロプロセサ内部の
例外処理回路に入力させる。
また、パスパリティとして偶数パリティを用いるか、あ
るいは、奇数パリティを用いるかを識別するモードピッ
トを持たせ、その値によりマイクロプロセサ内部のパス
パリティエラー検出回路が偶数パリティエラーを検出す
るか、あるいは、奇数パリティエラーを検出するかをき
める。また、モードピットの値により、マイクロプロセ
サ内部のパスパリティエラー生成回路が偶数パリティエ
ラーを生成するか、あるいは、奇数パリティエラーを生
成するかをきめる。
上記モードピットはマイクロプロセサの命令の実行によ
り値を設定できるようにする。
〔作用〕
上記第1の手段における作用を述べる。
上記第1手段のパスパリティ制御機構を持つマイクロプ
ロセサでは、システム構成にあわせて、命令の実行によ
り、パリティ−有効ビットとモードピットを設定してお
く。すなわち、外部メモリの領域単位にその領域がパリ
ティを付加している場合には、メモリ領域管理テーブル
の対応するエントリのパリティ有効ビットを″有効″に
設定し、その領域がパリティを付加しない場合には、パ
リティ有効ビットを″無効″に設定する。モードピット
は、システムが使用するパリティモード(偶数パリティ
か、奇数パリティ)にあわせて設定する。
マイクロプロセサがデータをリートした場合には、リー
ドされたデータとパリティビットがマイクロプロセサ内
部のパスパリティエラー検出回路によりチエツクされる
。その出力は、データのリードと並行して読み出されて
いたメモリ領域管理テーブルのパリティ有効ビットと論
理和がとられ、マイクロプロセサ内部の例外処理回路に
入力される。このため、パリティが付加されている領域
からデータをリードした場合には、そのパリティがチエ
ツクされ、その結果エラーが検出された場合には、直ち
にそれが例外処理回路に報告され、その結果マイクロプ
ロセサは、パスエラー例外処理に入ることができる。一
方、パリティが付加されていない領域からデータをリー
ドした場合には、パスパリティエラー検出回路の結果が
抑止されるので、パリティビットにどんな値が乗ってい
ても、それを無視することができる。
このように、上記機構を備えたマイクロプロセッサを用
いれば、余分な外部回路が不要になり、最小のハードウ
ェアで、融通性および信頼性の高いシステムの構築が可
能となる、 つぎに前記第2の手段における作用を述べる。
上記第2の手段のバスパリティ制御機構を持つマイクロ
プロセサを用いるシステムの各外部メモリは、マイクロ
プロセサからのリードアクセスに対して有効なパリティ
を返す場合にはデータとともにパリティエネーブルピン
に11″ を返し、マイクロプロセサにパリティが有効
であることを知らせる。一方、有効なパリティを返さな
い場合にはデータとともにパリティエネーブルピンに′
0′を返し、マイクロプロセサにパリティが無効である
ことを知らせる。モードピットは、システムが使用する
パリティモード(偶数パリティか、奇数パリティ)にあ
わせて、マイクロプロセサが命令の実行により設定する
マイクロプロセサがデータをリードした場合には、リー
ドされたデータとパリティビットがマイクロプロセサ内
部のバスパリティエラー検出回路によりチエツクされる
。その出力は、パリティエネーブルピンからの入力信号
と論理和がとられ、マイクロプロセサ内部の例外処理回
路に入力される。このため、パリティが付加されている
外部メモリからデータをリードした場合には、そのパリ
ティがチエツクされ、その結果エラーが検出された場合
には、直ちにそれが例外処理回路に報告され、その結果
マイクロプロセサは、いままでのプログラムの実行を中
断して、バスエラー例外処理に入ることができる。一方
、パリティが付加されていない外部メモリからデータを
リードした場合には、パスパリティエラー検呂回路の結
果が抑止されるので、パリティビットにどんな値が乗っ
ていても、それを無視することができる。
このように、上記機構を備えたマイクロプロセッサを用
いれば、余分な外部回路が不要になり、最小のハードウ
ェアで、融通性および信頼性の高いシステムの構築が可
能となる。
〔実施例〕
最初に本発明の第1番目の実施例について説明する。第
1図から第6図がその説明図である。
マイクロプロセサの内部構成 第1図は本発明の実施例であるマイクロプロセサの内部
構成を示す。マイクロプロセサ1は一つの半導体チップ
からなり、その内部は命令実行部2とバス制御部3から
なる。
命令実行部2はマイクロプロセサの命令を実行する部分
である。命令実行部2の内部は次の要素からなる。IR
4は実行する命令を保持するための命令レジスタである
。実行シーケンサ6は、IR4に保持された命令を解読
してその命令の実行するためのシーケンスを制御したり
、例外処理シーケンスを制御する制御部である。例外処
理回路5は、マイクロプロセサの外部割込み、アクセス
例外等の例外要求を受付で、実行シーケンサ6に例外処
理要求35を出したり、例外ベクタを生成する部分であ
る。演算器7は、命令実行時の演算をする部分である。
レジスタファイル8は、命令実行時に使用されるオペラ
ンド、命令アドレス、オペランドアドレス等を格納する
レジスタ群である。AR9は、マイクロプロセサ1の外
部のメモリに格納されている命令やオペランドをアクセ
スするためのアドレスを保持するためのアドレスレジス
タである。このアドレス計算は、演算器7で行われる。
バス制御部3はマイクロプロセサ1が外部のメモリをア
クセスする時のバス制御を行う。バス制御部3の内部は
次の要素からなる。メモリ領域管理テーブル10は外部
のメモリをアドレスの上位2ビツトで区分けされる4つ
の領域に分割し、それぞれの領域の属性を定義する。第
2図に示すように、メモリ領域管理テーブル10はアド
レスの上位2ビツトでアクセスされる4ワードからなる
メモリである。各ワードは2ビツトのTMビットと1ビ
ツトのPvビットからなる。TMビットは対応する領域
のアクセス時間を定義し、Pvビットは対応する領域が
データにパリティを付加しているか否かを定義する(P
V=Oの時パリティ無し、PV=1の時パリティ付き)
。バスコントローラ12はマイクロプロセサ1の外部メ
モリに対するバスサイクルを制御したり、バス制御部3
内のテーブルやレジスタに対するアクセスを制御−る。
パリティ回路]、1は外部メモリからり一ドだデータに
対するパリティチエツクを行ったり、外部メモリにライ
トするデータに対してパリテ。
を生成する部分である。VL13は1.ビットの制御レ
ジスタであり、パリティ回路11にパリテ。
チエツクを行うか否かを指示する。(V L = Oに
ときパリティチエツクを行はない、VL=1の2きパリ
ティチエツクを行う、)MD14は1ビつトの制御レジ
スタであり、使用するパリティがクパリティか奇パリテ
ィを指示する。(MD=(Mとき奇パリティ、MD=1
のとき偶パリティ。)PE15は1ビツトのステータス
レジスタであ(パリティ回路11によるパリティチエツ
クの結Mパリティエラーが発生したか否かを記憶する。
BE16は1ビツトのステータスレジスタであ1マイク
ロプロセサlが外部メモリをアクセスしたときに、バス
エラーが発生したか否かを記憶すζ本マイクロプロセサ
1の内部データ線20のデータ幅は32ビツトでありデ
ータ信号Do−31を介して外部につながる。データ信
号Do〜31は8ビット単位にパリティビットDPO−
3(Do−7対してはDPO,D8−15対シテハDP
コ、D16−23対してはDP2、D24−31対して
はDP3)を持つ。内部アドレス線21の幅は32ビツ
トでありアドレス信号AO−31を介して外部につなが
る。BSはマイクロプロセサ1が外部メモリに対いして
バスサイクルを起動したことを示すバススタート信号で
ある。R/Wはマイクロプロセサ1のバスサイクルがリ
ードかライトかを識別する信号である(R/W=0のと
きライト、R/W=1のときリード)。
マイクロプロセサのl務 マイクロプロセサ1の通常の命令実行動作を次に述べる
。実行さ九る命令は外部メモリよりデータ信号Do−3
1を介して読み込まれIR4に保持される。IR4に保
持された命令は実行シーケンサ6によってそのビットパ
ターンが解読され、実行される。例えば、その命令がメ
モリとレジスタ間の演算命令である場合には、実行シー
ケンサ6はまず最初に外部メモリからオペランドをリー
ドする。このために、実行シーケンサ6は信号線37よ
りバススタート信号BSをアサートしてバスサイクルの
開始をしらせ、同時に信号l1136をアサートするこ
とによりR/W=1にする。このとき外部メモリアドレ
スとして、演算器7で計算されAR9に保持されている
値がアドレス信号AO−31より送出される。この外部
メモリに対するリード動作と並行して、実行シーケンサ
6からのバススタートはバスコントローラ12に報告さ
れる。これよりバスコントローラ12は、外部メモリア
ドレスの上位2ビツト32を用いてメモリ領域管理テー
ブル10を読み出し、アクセスしている領域のアクセス
時間(TMビット)とパリティの有無(Pvビット)を
知る6バスコントローラ12は信号線37のアサートを
契機に時間のカウントを始め、TMビットで指示された
アクセス時間が終了すると実行シーケンサ6にデータレ
ディ信号28を返し、外部メモリからデータがリードさ
れたことを知らせる。実行シーケンサ6はリードされた
データを内部データバス2oを介して演算器7の一つの
入力とし、他方の入力はレジスタ8からリードしたデー
タとして演算を行う。
その演算結果は内部データバス2oおよびデータ!Do
−31を介して、外部メモリにライトされる。このとき
の、実行シーケンサ6およびバスコントローラ12の動
作はリードの場合と同様である。(ただし、信号線36
はネゲートされ、R/W=Oとなっている。) 上記のようにマイクロプロセサ1で命令が実行されるが
、その動作のなかでデータを外部メモリからリードする
とき(命令リート、およびオペランドリードのとき)、
パリティ回路11によってパリティチエツクが行われる
。更に詳述すると、パリティ回路11はVL=1及びメ
モリ領域管理テーブル10から読み出されたPV=1の
ときにリードデータDO−31とリードパリティDPO
−3間のパリティチエツクを行う(MD=Oのときは奇
パリティチエツク、MD=1のときは偶パリティチエツ
ク)。このパリティチエツクの結果、パリティエラーで
あると判明すると、PE15に1がセットされ、それと
同時にアクセスエラー信号34がアサートされ例外処理
回路5にそれが報告される。データリードの結果として
外部メモリのアクセスに何らかの障害が外部で見つかっ
た場合には、バスエラー信号38 (BERR)がアサ
ートされ、この場合にもアクセスエラー信号34がアサ
ートされる。バスエラーが発生した場合にはBE16に
1がセットされる。例外処理回路5はアクセスエラーが
報告されると、直ちに実行シーケンサ6にアクセス例外
処理要求信号35を返す、実行シーケンサ6は現在実行
中の命令実行動作を中断してアクセス例外処理に入る。
アクセス例外処理は、通常のマイクロプロセサの例外処
理として良く知られているように、マイクロプロセサ1
の外部からアクセス例外用ベクタをフェッチしてその例
外ベクタでしめされる例外処理ルーチンへ処理を移す、
アクセス例外用ベクタ番号は例外処理回路5で生成され
、信号線31を介して演算器7に入力され、アクセス例
外用ベクタのアドレスが計算される。例外処理ルーチン
はPE15あるいはBE16のどちらに1がセットされ
ているかをみることで、アクセス例外の原因を知ること
ができる。
マイクロプロセサ1の命令実行中にデータを外部メモリ
にライトする場合には、パリティ回路11はデータ信号
Do−31に付随したパリティ信号DPO−3を生成し
て外部に送出する(MD:0のときは奇パリティチエツ
ク、MD=1のときは偶パリティチエツク)。データラ
イトサイクルの場合には、パリティエラーによるアクセ
ス例外は発生しないが、BERR38によるアクセス例
外は発生することがある。この場合のマイクロプロセサ
1の内部動作は上記データリードの場合のそれと同じで
ある。
マイクロプロセサ1はバス制御部3のメモリ領域管理テ
ーブル10および制御レジスタVL13、MD14、ス
テータスレジスタPE15、BE16に値を設定する制
御ライト命令、および、PH15゜BE16の値を読む
制御リード命令を持つ、制御ライト命令がIR4に設定
されると実行シーケンサ6は信号29によりバスコント
ローラ12に制御ライト動作の起動をかける。バスコン
トローラ12は内部アドレス信号の一部40よりアクセ
スされるテーブルあるいはレジスタを判別して、それに
対してライト指示信号を出す、ライトされる値は内部デ
ータ信号20上の値である。一方、制御リード命令がI
R4に設定されると実行シーケンサ6は信号29により
バスコントローラ12に制御リード動作の起動をかける
。バスコントローラ12は内部アドレス信号の一部40
よりアクセスされるレジスタを判別して、それに対して
リード指示信号を出す、リードされた値は内部データ信
号20上にのる。
上記のようにマイクロプロセサ1で制御ライト。
リード命令を実行することによりソフトウェアにより、
パリティチエツクの有無やパリティモードを柔軟に設定
することができる。
パ旦ヱff男− 第3図にパリティ回路11の回路図を示す。
PG312,313,314,315はバイト単位のパ
リティ生成器である。それぞれ内部データ線20の第0
−7ビツト、第8−15ビツト、第16−23ビツト、
第24−31ビツトに対応したパリティビットをMD1
4の出力値23に従って生成する(Oのときは奇パリテ
ィチエツク、1のときは偶パリティチエツク)。第4図
にPGの回路図を示す。8ビツトの入力450−457
をE OR(Exclusive OR)ゲート400
−406により排他的論理和をとることによりEOR4
06より偶パリティが出力される。インバータINV4
08の8力は奇パリティとなっている。INV409と
AND(And  ゲート)407.410と0R(O
rゲート)411は偶パリティか奇パリティを選択する
セレクタを構成する。
第3図のトライステートゲート308−311はバスサ
イクルがライト(信号36がOのとき)動作のときにパ
リティ信号25にPG312−315が生成したパリテ
ィビットを流す、リード(信号36が1のとき)動作の
ときにはトライステートゲート308−311はカット
オフされづこの時、パリティ信号25からは外部からリ
ーされたパリティビットが入力され、PO212−31
5により生成されたパリティビットとEOI304−3
07で比較され、不一致がおこると○R302の出力が
アサートされる。パリティミニツクを行う条件はAND
303で決定される。
すなわち、信号26 (PVビット)と信号22(VL
レジスタ)がともに1であり、かつ信号36が1(リー
ド)であるときにAND303%アサートされ、AND
301の出力がパリティコラ−結果出力24となる。こ
の信号のアサート番;よりPE15がセットされる。ま
た、パリティコラ−結果とBERR38は0R300で
論理和iとられアクセスエラー信号34になる。
之スヱA豊底 第5図はマイクロプロセサ1を用いたシステtの構成例
である。500.501.502はマイクロプロセサ1
の外部メモリであり、それぞれRAM (Randum
Access Memory)、  l10(Inpu
t/ 0utput) レジスタ、ROM (Read
 0nlyNet+ory )で構成されている。この
外部メモリのうちRAM500だけがパリティの付加を
サポートしている。このため、RAM500だけパリテ
ィ信号553につながれている。B5C503は外部バ
スコントローラであり、マイクロプロセサ1のアドレス
信号555の上位2ビツトを1It21!Iスル。
その値が’11’の時にマイクロプロセサlが外部メモ
リ未実装領域をアクセスしたと判断してバスエラー信号
552をアサートする。
第6図は第5図のシステムの外部メモリの領域割当てを
示す、アドレスが、’00000000’’3FFFF
FFF’はRAM領域、’40000000’ −’7
FFFFFFF’はI10レジスタ領域、’80000
000’ −’BFFFFFFF’はROM領域、’c
ooooooo’−’FFFFFFFF’は未実装領域
である。第2図のメモリ領域管理テーブル10の各エン
トリは各領域のアクセス時間およびパリティ有無にあわ
せて以下のように設定される。エントリ200は、TM
= ’10’ 、PV= ’1’ にセットされる。エ
ントリ201は、TM= ’11’ 、PV=′0′に
セットされる。エントリ202は、TM= ’10’ 
、PV= 0′にセットされる。エン)−IJ 203
 It、TM= ’10’ 、PV= ’O’ にセッ
トされる。
以上発明の第1番目の実施例を述べたが、上記実施例の
メモリ領域管理テーブルの各エントリに使用されるパリ
ティのモード(例えば、偶/奇)ビットを入れることも
容易に考えられる。このようにすれば領域単位にモード
を切り替えられる。
また、上記メモリ領域管理テーブルのエントリ数を増や
すことも容易である。
また、上記マイクロプロセサが仮想アドレスと物理アド
レス間のアドレス変換バッファ(TLB)を内蔵する場
合を考えるとこ上記メモリ領域管理テーブルの代わりに
アドレス変換テーブルを用い、その各エントリにパリテ
ィ有効ビットやパリティモードビットをいれるが可能で
ある。この場合には、アドレス変換のページ単位にパリ
ティの制御が可能になる。
また、上記実施例では、エラーチエツクのコードをパリ
ティとしたが、このコードを例えば、E CC(Err
or Check and Correct)コードに
拡張した場合も容易に考えられる。この場合には、パリ
ティ回路11は単にパリティをチエツクするのではなく
、エンコードされたエラーチエツクコードをチエツクし
てエラーを検出し、あるケースではエラーの修正も行う
また、上記実施例では、BERR信号によってエラー発
生が報告された場合と内部のパリティチエツクによって
エラーが発生した場合とで同じアクセス例外として同じ
例外用ベクタ番号が割当てられているが、これらの例外
用ベクタ番号をそれぞれ別々に、例えば、前者にバスエ
ラー用例外ベクタ番号を後者にパリティエラー例外用ベ
クタ番号を割当てることも容易に考えられる。
次に本発明の第2番目の実施例について説明する。第1
A図から第6A図が第2番目の実施例の説明図である。
マイクロプロセサの内部構成 第1A図は本発明の実施例であるマイクロプロセサの内
部構成髪示す。マイクロプロセサ1は一つの半導体チッ
プからなり、その内部は命令実行部2とバス制御部3か
らなる。
命令実行部2はマイクロプロセサの命令を実行する部分
である。命令実行部2の内部は次の要素からなる。IR
4は実行する命令を保持するための命令レジスタである
。実行シーケンサ6は、IR4に保持された命令を解読
してその命令の実行するためのシーケンスを制御したり
、例外処理シーケンスを制御する制御部である。例外処
理回路5は、マイクロプロセサの外部割込み、アクセス
例外等の例外要求を受付で、実行シーケンサ6に例外処
理要求35を出したり、例外ベクタを生成する部分であ
る。演算器7は、命令実行時の演算をする部分である。
レジスタファイル8は、命令実行時に使用されるオペラ
ンド、命令アドレス、オペランドアドレス等を格納する
レジスタ群である。AR9は、マイクロプロセサ1の外
部のメモリに格納されている命令やオペランドをアクセ
スするためのアドレスを保持するためのアドレスレジス
タである。このアドレス計算は、演算器7で行われる。
バス制御部3はマイクロプロセサ1が外部のメモリをア
クセスする時のバス制御を行う。バス制御部3の内部は
次の要素からなる。バスコントローラ12はマイクロプ
ロセサJの外部メモリに対するバスサイクルを制御した
り、バス制御部3内のレジスタに対するアクセスを制御
する。パリティ回路11は外部メモリからリードしたデ
ータに対するパリティチエツクを行ったり、外部メモリ
にライトするデータに対してパリティを生成する部分で
ある。VL13は1ビツトの制御レジスタであり、パリ
ティ回路11にパリティチエツクを行うか否かを指示す
る。(v L = Oのときパリティチエツクを行わな
い、VL=1のときパリティチエツクを行う。)MD1
4は1ビツトの制御レジスタであり、使用するパリティ
が偶パリティが奇パリティを指示する。(MD=Oのと
き奇パリティ、MD=]のとき偶パリティ。)PE15
は1ビツトのステータスレジスタであり、パリティ回路
11によるパリティチエツクの結果、パリティエラーが
発生したか否かを記憶する。BE16は1ビツトのステ
ータスレジスタであり、マイクロプロセサ1が外部メモ
リをアクセスしたときに、バスエラーが発生したか否か
を記憶する。
本マイクロプロセサ1の内部データ[20のデータ幅は
32ビツトでありデータ信号DO−31を介して外部に
つながる。データ信号Do−31は8ビット単位にパリ
ティビットD P O−3(00−7対してはDPo、
D8−15対してはDPI、D16−23対してはDP
2、D24−31対してはDP3)を持つ。内部アドレ
ス線21の幅は32ビツトでありアドレス信号AO−3
1を介して外部につながる。BSはマイクロプロセサ1
が外部メモリにたいしてバスサイクルを起動したことを
示すバススタート信号である。R/Wはマイクロプロセ
サ1のバスサイクルがリードがライトかを識別する信号
である(R/W=Oのときライト、R/W=1のときリ
ード’)、DC27は外部メモリがバスサイクルの終了
を知らせるためのデータ転送完了信号である。PEN2
6はパリティビットDPO−3上のパリティが有効が無
効かを示すパリティエネーブル信号である。BERR3
8はバスサイクルがバスエラーとなったことを示すバス
エラー信号である。
マイクロプロ1i叫更務 マイクロプロセサ1の通常の命令実行動作を次に述べる
。実行される命令は外部メモリよりデータ信号Do−3
1を介して読み込まれIR4に保持される。IR4に保
持された命令は実行シーケンサ6によってそのビットパ
ターンが解読され、実行される。例えば、その命令がメ
モリとレジスタ間の演算命令である場合には、実行シー
ケンサ6はまず最初に外部メモリからオペランドをリー
ドする。このために、実行シーケンサ6は信号線37よ
りバススタート信号BSをアサートしてバスサイクルの
開始をしらせ、同時に信号線36をアサートすることに
よりR/W=1にする。このとき外部メモリアドレスと
して、演算器7で計乍されAR9に保持されている値が
アドレス信号AO−31より送出される。この外部メモ
リに交するリード動作と並行して、実行シーケンサ6兄
らのバススタートはバスコントローラ12に報信される
。バスコントローラ12は、信号線37σアサートを契
機にデータ転送完了信号DC27カアサートされるのを
待ち、これがアサートされシと実行シーケンサ6にデー
タレディ信号28を棲し、外部メモリからデータがリー
ドされたこと杏知らせる。実行シーケンサ6はリードさ
れたデータを内部データバス20を介して演算器7のm
=の入力とし、他方の入力はレジスタ8からリードした
データとして演算を行う。その演算結果は1部データパ
ス20およびデータ線Do−31をめして、外部メモリ
にライトされる。このときの、実行シーケンサ6および
バスコントローラ12C動作はリードの場合と同様であ
る。(ただし、信号線36はネゲートされ、R/W=O
となっている。) 上記のようにマイクロプロセサ]で命令が実行されるが
、その動作のなかでデータを外部メモリからリードする
とき(命令リード、およびオペランドリードのとき)、
パリティ回路1]−によってパリティチエツクが行われ
る。更に詳述すると。
パリティ回路11はVL=1及びPEN26からの入力
信号が′ 1′ (パリティエネーブル)のときにリー
ドデータDO−31とリードパリティDPO−3間のパ
リティチエツクを行う(MD=Oのときは奇パリティチ
エツク、MD=1のときは偶パリティチエツク)。この
パリティチエツクの結果、パリティエラーであると判明
すると。
PE15に1がセットされ、それと同時にアクセスエラ
ー信号34がアサートされ例外処理回路5にそれが報告
される。データリードの結果として外部メモリのアクセ
スに何らかの障害が外部で見つかった場合には、バスエ
ラー信号38(BERR)がアサートされ、この場合に
もアクセスエラー信号34がアサートされる。バスエラ
ーが発生した場合にはBE16に1がセットされる。例
外処理回路5はアクセスエラーが報告されると、直ちに
実行シーケンサ6にアクセス例外処理要求信号35を返
す9実行シーケンサ6は現在実行中の命令実行動作を中
断してアクセス例外処理に入る。アクセス例外処理は、
通常のマイクロプロセサの例外処理として良く知られて
いるように、マイクロプロセサ1の外部からアクセス例
外用ベクタをフェッチしてその例外ベクタでしめされる
例外処理ルーチンへ処理を移す。アクセス例外用ベクタ
番号は例外処理回路5で生成され、信号線31を介して
演算器7に入力され、アクセス例外用ベクタのアドレス
が計算される。例外処理ルーチンはPE15あるいはB
E16のどちらに1がセットされているかをみることで
、アクセス例外の原因を知ることができる。
マイクロプロセサ1の命令実行中にデータを外部メモリ
にライトする場合には、パリティ回路11はデータ信号
Do−31に付随したパリティ信号DPO−3を生成し
て外部に送出する(MD=Oのときは奇パリティチエツ
ク、MD=1のときは偶パリティチエツク)。データラ
イトサイクルの場合には、パリティエラーによるアクセ
ス例外は発生しないが、BERR38によるアクセス例
外は発生しすることがある。この場合のマイクロプロセ
サ1の内部動作は上記データリードの場合のそれと同じ
である。
第2A図はマイクロプロセサ1が発行するリードサイク
ルのタイミングチャートを示す。外部メモリからDC2
7がアサートされるとバスサイクルは終了する。DC2
7のアサートと同時にBERR38がアサートされると
マイクロプロセサ1はそのバスサイクルでバスエラーが
発生したと認識する。DPO−3上に有効なパリティが
のっている場合には、外部メモリはPEN26をDC2
7と同時にアサートする。
マイクロプロセサ1はバス制御部30制御レジスタVL
13、MD14、ステータスレジスタPE15、BE1
6に値を設定する制御ライト命令、および、PE15、
BE16の値を読む制御リード命令を持つ。制御ライト
命令がIR4に設定されると実行シーケンサ6は信号2
9によりバスコントローラ12に制御ライト動作の起動
をかける。バスコントローラ12は内部アドレス信号の
一部40よりアクセスされるテーブルあるいはレジスタ
を判別して、それに対してライト指示信号を出す。ライ
トされる値は内部データ信号2゜上の値である。一方、
制御リード命令がIR4に設定されると実行シーケンサ
6は信号29によりバスコントローラ12に制御リード
動作の起動をかける。バスコントローラ12は内部アド
レス信号の一部40よりアクセスされるレジスタを判別
して、それに対してリード指示信号を出す。リードされ
た値は内部データ信号2o上にのる。
上記のようにマイクロプロセサ1で制御ライト、リード
命令を実行することによりソフトウェアにより、パリテ
ィチエツクの有無やパリティモードを柔軟に設定するこ
とができる。
パリティ回路 第3A図にパリティ回路11の回路図を示す。
PG312,313,314,315はバイト単位のパ
リティ生成器である。それぞれ内部データ[20の第0
−、7ビツト、第8−15ビツト、第16−23ビツト
、第24−31ビツトに対応したパリティビットをMD
14の出力値23に従って生成する(Oのときは奇パリ
ティチエツク、1のときは偶パリティチエツク)。第4
A図にPGの回路図を示す。8ビツトの入力450−4
57をE OR(Exclusive OR)ゲート4
00−406により排他的論理和をとることによりEO
R406より偶パリティが出力される。インバータIN
V40gの出力は奇パリティとなっている。INV40
9とAND(And  ゲート)407.410と0R
(Orゲート)411は偶パリティか奇パリティを選択
するセレクタを構成する。
第3A図のトライステートゲート308−311はバス
サイクルがライト(信号36がOのとき)動作のときに
パリティ信号25にPG312−315が生成したパリ
ティビットを流す。リード(信号36が1のとき)動作
のときにはトライステートゲート308−311はカッ
トオフされる。
この時、パリティ信号25からは外部からリードされた
パリティビットが入力され、PG312−315により
生成されたパリティビットとEOR304−307で比
較され、不一致がおこると0R302の出力がアサート
される。パリティチエツクを行う条件はAND303で
決定される。すなわち、信号26(PEN26)と信号
22(vLレジスタ)がともに1であり、かつ信号36
が1(リード)であるときにAND303がアサートさ
れ、AND301の出力がパリティエラー結果出力24
となる。この信号のアサートによりPE15がセットさ
れる。また、パリティエラー結果とBERR38は0R
300で論理和がとられアクセスエラー信号34になる
システムU 第5A図はマイクロプロセサ1を用いたシステムの構成
例である。500,501,502はマイクロプロセサ
1の外部メモリであり、それぞれRAM (Randu
m Access Memory)、  l10(In
put/ 0utput)  レジスタ、ROM (R
ead OnlyMemory)で構成されている。こ
の外部メモリのうちRAM500だけがパリティの付加
をサポートしている。このため、RAM500だけパリ
ティ信号553につながれている。B5C503は外部
バスコントローラであり、マイクロプロセサ1のアドレ
ス信号555の上位2ビツトを観測する。その値が′1
1′の時にマイクロプロセサ1が外部メモリ未実装領域
をアクセスしたと判断してデータ転送完了信号556お
よびバスエラー信号552をアサートする。第6A図は
第5A図のシステムの外部メモリの領域割当てを示す。
アドレスが、’oooo。
000’ −’3FFFFFFF’はRAM領域、’4
0000000’ −’7FFFFFFF’ ハI10
レジスタ領域、’80000000’’BFFFFFF
F’はROM領域、’coo。
0000’ −’FFFFFFFF’は未実装領域であ
る。
マイクロプロセサ1がRAM領域をリードアクセスした
場合、パリティが有効であるので、パリティエネーブル
信号557がアサートされる。
方、マイクロプロセサ1がI10レジスタ領域かROM
領域をリードアクセスした場合、パリティが無効である
ので、パリティエネーブル信号557がネゲートされる
以上発明の第2番目の実施例を述へたが、上記実施例で
は、エラーチエツクのコードをパリティとしたが、この
コードを例えば、E CC(ErrorCheck a
nd Correct)コードに拡張した場合も容易に
考えられる。この場合には、パリティ回路]1は単にパ
リティをチエツクするのではなく、エンコードされたエ
ラーチエツクコードをチエツクしてエラーを検出し、あ
るケースではエラーの修正も行う。
また、上記実施例では、BERR信号によってエラー発
生が報告された場合と内部のパリティチエツクによって
エラーが発生した場合とで同じアクセス例外として同じ
例外用ベクタ番号が割当てられているが、これらの例外
用ベクタ番号をそれぞれ別々に、例えば、前者にバスエ
ラー用例外ベクタ番号を後者にパリティエラー例外用ベ
クタ番号を割当てることも容易に考えられる。
〔発明の効果〕
上記に示したように本発明のバスパリティ機構をもつマ
イクロプロセサでは、パリティチエツク回路を内蔵し、
パリティチエツクの結果エラーが発生した場合にそれを
、マイクロプロセサの命令実行制御部に報告する信号線
がマイクロプロセサの内部に存在するために、マイクロ
プロセサにそのパリティエラー状態を知らせるための外
部回路が不要となり、システム構築の際のハードウェア
が増加しない。
また、パリティチエツクの結果エラーが発生した場合に
それを外部回路を介在せず、同一チップ上の信号線によ
りマイクロプロセサの命令実行制御部にエラー報告する
ために、命令の実行が直ちに中断できる。このため、エ
ラー報告が遅れて、マイクロプロセサにおけるプログラ
ムの実行が暴走する恐れがなくなる。
また、上記マイクロプロセサにパリティ生成回路を持つ
外部メモリと、パリティ生成回路を持たない外部メモリ
とを付けてシステムを構築する場合に、マイクロプロセ
サの内部にそれぞれの外部メモリに応じてパリティの有
無を設定する回路を持ち、それをソフトウェアにより設
定できるので。
エラー状態信号出力を判断する外部回路が不要であり、
システム構築の際のハードウェアが増加しない。また、
パリティの有無をソフトウェアにより設定できるので、
システムの構築が柔軟にできる。
また、上記マイクロプロセサにパリティ生成回路を持つ
外部メモリと、パリティ生成回路を持たない外部メモリ
とを付けてシステムを構築する場合に、パリティエネー
ブル信号によりそれぞれの外部メモリに応じてパリティ
の有無を指定できるので、システムの構築が柔軟にでき
る。
また、上記マイクロプロセサには、使用するパリティモ
ードを設定する回路を持ち、それをソフトウェアにより
設定できるので、例えば、奇パリティを採用する外部メ
モリとを付ける場合にも、偶パリティを採用する外部メ
モリとを付ける場合にも柔軟に対応でき、偶数−奇数パ
リティ変換のだめの外部回路が不要であり、システム構
築の際のハードウェアが増加しない。
以上のように本発明のマイクロプロセサを用いれば、余
分な外部回路が不要になり、最小のハードウェアで、融
通性および信頼性の高いシステムの構築が可能となる。
【図面の簡単な説明】
第1図から第6図までは本発明の第1番目の実施例の説
明図であり、第1図はマイクロプロセサの内部構成図、
第2図はメモリ領域管理テーブルの構成図、第3図はパ
リティ回路の回路図、第4図はパリティ生成回路の回路
図、第5図は本発明のマイクロプロセサをもちいたシス
テム構成図、第6図は第5図のシステム構成における領
域割当て図であり、第1A図から第6A図までは本発明
の第2番目の実施例の説明図であり、第1A図は本発明
を適用したマイクロプロセサの内部構成図、第2A図は
リードバスサイクルのタイミングチャート、第3A図は
パリティ回路の回路図、第4A図はパリティ生成回路の
回路図、第5A図は本発明のマイクロプロセサをもちい
たシステム構成図、第6A図は第5A図のシステム構成
における領域第1図 第2図 DF″0 !7A刷 Y2A面 第3図 γ3A回 第5図 第6図

Claims (1)

  1. 【特許請求の範囲】 1、データをアクセスするためのバスインタフェース、
    および、該バスインタフェース上のデータのパリテイエ
    ラーを検出するためのバスパリテイインタフェースを有
    するマイクロプロセサであって、 (1)該マイクロプロセサにおけるプログラムの実行を
    中断させる例外処理回路と、 (2)該マイクロプロセサのアクセスする各メモリ領域
    が有効なパリテイ信号を生成するか否かを指定する制御
    情報を格納するメモリ領域管理テーブルと、 (3)該バスインタフェースおよび該バスパリテイイン
    タフェース上の信号からパリテイエラーを検出し、該メ
    モリ領域管理テーブルから読みだされた該制御情報に従
    い該パリテイエラー結果を該例外処理回路に伝達するか
    否かを決定するパリテイ回路と、 を具備し、該メモリ領域管理テーブルの制御情報を設定
    する命令を持つことを特徴とするマイクロプロセサ。 2、データをアクセスするためのバスインタフェース、
    および、該バスインタフェース上のデータのパリテイエ
    ラーを検出するためのバスパリティインタフェースを有
    するマイクロプロセサであって、 (1)該マイクロプロセサにおけるプログラムの実行を
    中断させる例外処理回路と、 (2)該マイクロプロセサのアクセスする該バスインタ
    フェースのデータが該バスパリティインタフェース上に
    有効なパリテイ信号を持つか否かを指定する制御レジス
    タと、 (3)該バスインタフェースおよび該バスパリティイン
    タフェース上の信号からパリテイエラーを検出し、該制
    御レジスタの値に従い、該パリテイエラー結果を該例外
    処理回路に伝達するか否かを決定するパリテイ回路と、 を具備し、該制御レジスタの値を設定する命令を持つこ
    とを特徴とするマイクロプロセサ。 3、上記1または2のマイクロプロセサはパリテイのモ
    ードを指定する制御レジスタを具備し、該制御レジスタ
    の指定するモードにしたがって、上記1のパリテイ回路
    はパリテイエラーを検出し、該制御レジスタの値を設定
    する命令を持つことを特徴とする特許請求範囲1または
    2記載のマイクロプロセサ。 4、データをアクセスするためのバスインタフェース、
    および、該バスインタフェース上のデータのパリテイエ
    ラーを検出するためのバスパリティインタフェースを有
    するマイクロプロセサであって、 (1)該マイクロプロセサにおけるプログラムの実行を
    中断させる例外処理回路と、 (2)該バスパリティインタフェース上のパリテイ信号
    が有効か無効かを示す制御インタフェースと、 (3)該バスインタフェースおよび該バスパリティイン
    タフェース上の信号からパリテイエラーを検出し、該制
    御インタフェースの指示に従い、該パリテイエラー結果
    を該例外処理回路に伝達するか否かを決定するパリテイ
    回路と、 を具備することを特徴とするマイクロプロセサ。 5、上記4のマイクロプロセサはパリテイのモードを指
    定する制御レジスタを具備し、該制御レジスタの指定す
    るモードにしたがって、上記4のパリテイ回路はパリテ
    イエラーを検出し、該制御レジスタの値を設定する命令
    を持つことを特徴とする特許請求範囲4記載のマイクロ
    プロセサ。
JP2247121A 1990-09-19 1990-09-19 バスパリティ制御機構をもつマイクロプロセサ Pending JPH04127250A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2247121A JPH04127250A (ja) 1990-09-19 1990-09-19 バスパリティ制御機構をもつマイクロプロセサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2247121A JPH04127250A (ja) 1990-09-19 1990-09-19 バスパリティ制御機構をもつマイクロプロセサ

Publications (1)

Publication Number Publication Date
JPH04127250A true JPH04127250A (ja) 1992-04-28

Family

ID=17158748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2247121A Pending JPH04127250A (ja) 1990-09-19 1990-09-19 バスパリティ制御機構をもつマイクロプロセサ

Country Status (1)

Country Link
JP (1) JPH04127250A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784814A (ja) * 1993-09-16 1995-03-31 Nec Corp 計算機の誤り検出装置
JP2006031434A (ja) * 2004-07-16 2006-02-02 Yamaha Corp 半導体集積回路
JP2007207062A (ja) * 2006-02-03 2007-08-16 Hitachi Ltd データ信頼性向上方法及びその方法を用いた情報処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784814A (ja) * 1993-09-16 1995-03-31 Nec Corp 計算機の誤り検出装置
JP2006031434A (ja) * 2004-07-16 2006-02-02 Yamaha Corp 半導体集積回路
JP2007207062A (ja) * 2006-02-03 2007-08-16 Hitachi Ltd データ信頼性向上方法及びその方法を用いた情報処理装置

Similar Documents

Publication Publication Date Title
US7334161B2 (en) Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus
US4887235A (en) Symbolic language data processing system
US4591972A (en) Data processing system with unique microcode control
EP0465248B1 (en) Pseudo-linear bank switching memory expansion
US5987585A (en) One-chip microprocessor with error detection on the chip
US5802359A (en) Mapping processor state into a millicode addressable processor state register array
JPH0215369A (ja) ベクター処理システムの命令を実行する方法及び装置
US5581774A (en) Data processor decoding and executing a train of instructions of variable length at increased speed
KR950010825B1 (ko) 분기 타겟 명령 버퍼를 내장한 마이크로컴퓨터
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JPH04127250A (ja) バスパリティ制御機構をもつマイクロプロセサ
JPS62222344A (ja) アドレス変換機構
JPH06161779A (ja) データ処理装置の割込み制御方式
US5404559A (en) Apparatus for asserting an end of cycle signal to a processor bus in a computer system if a special cycle is detected on the processor bus without taking action on the special cycle
EP0113460A2 (en) Symbolic language data processing system
JPH02123442A (ja) 高速化メモリ
US4594710A (en) Data processing system for preventing machine stoppage due to an error in a copy register
US5247625A (en) System for checking undefined addressing prescribed for each instruction of variable length using tag information to determine addressing field decoded in present or preceding cycle
US5860155A (en) Instruction decoding mechanism for reducing execution time by earlier detection and replacement of indirect addresses with direct addresses
JP2626675B2 (ja) データ誘起状態信号発生装置及び方法
US5787276A (en) Microprocessor including circuit for generating signal used for tracing executed instruction stream
JPS603049A (ja) バスインタ−フエ−ス装置
JPS6327746B2 (ja)