トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 レジスタ制御装置及びマルチCPUシステム
【発明者】 【氏名】我妻 秀治

【氏名】本多 隆芳

【要約】 【課題】複数のCPUが同一のレジスタに対してどのようなタイミングでリード・モディファイ・ライトサイクルを行った場合でも、そのレジスタのデータ値が期待値通りになるように制御できるレジスタ制御装置を提供する。

【解決手段】CPU11がビット操作命令を実行し、TIERレジスタ14の任意のビットのデータ値を“1”にセットする場合は、RMWサイクル前半のリードサイクルにおいてTIER1Wレジスタ16をアクセスしてデータを読み出し、変更対象ビットのデータ値を“1”にしてからTIER1Wレジスタ16のアドレスでライトサイクルを行うと、マルチプレクサ17は、TIERレジスタ14のマスタラッチ18に対して、データ値が“1”に変更されたビットについてはそのデータ値“1”を出力し、それ以外のビットについてはスレーブラッチ19の保持データを出力するように選択する。
【特許請求の範囲】
【請求項1】 複数のCPUによってアクセスされるレジスタのデータ値を制御するためのレジスタ制御装置において、何れかのCPUが前記レジスタの任意のビットのデータ値を“0”にセットする場合にアクセスされ、全ビットのデータ値“1”が読み出される“0”セット用レジスタと、何れかのCPUが前記レジスタの任意のビットのデータ値を“1”にセットする場合にアクセスされ、全ビットのデータ値“0”が読み出される“1”セット用レジスタと、CPUが出力するアドレスをデコードしてデコード信号を出力するアドレスデコーダと、前記レジスタの入力側に配置され、前記アドレスデコーダが出力するデコード信号及びCPUの出力データに基づいて、前記レジスタに対する各ビット毎の出力データを以下の条件に従って選択するマルチプレクサとを備え、 {(デコード信号が“0”セット用レジスタ)
且つ(CPUの出力データが“0”)}
又は{(デコード信号が“1”セット用レジスタ)
且つ(CPUの出力データが“1”)}
ならば、(出力データはCPUの出力データ), 上記以外の条件 ならば、(出力データはレジスタの保持データ)
前記レジスタには、前記CPUが“0”セット用レジスタまたは“1”セット用レジスタの何れかのアドレスを出力して書き込みを行った場合に、データが書き込まれるように構成されていることを特徴とするレジスタ制御装置。
【請求項2】 前記マルチプレクサが、前記レジスタに対し、CPUの出力データを選択して出力する条件に、又は(デコード信号がレジスタ)を加え、前記レジスタは、前記CPUが該レジスタのアドレスを出力して書き込みを行う場合も、データが書き込まれるように構成されていることを特徴とする請求項1記載のレジスタ制御装置。
【請求項3】 請求項1また2記載のレジスタ制御装置を備えて構成されることを特徴とするマルチCPUシステム。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、複数のCPUによってアクセスされるレジスタのデータ値を制御するためのレジスタ制御装置、及びそのレジスタ制御装置を備えてなるマルチCPUシステムに関する。
【0002】
【従来の技術】複数のCPUを備えて高度な機能を実現するように構成されるマルチCPUシステムにおいては、各CPUがリードサイクルやライトサイクルを実行しようとする場合、常に1つのCPUだけが排他的にバスを使用するように、アービタによってバスの使用権が調停されるようになっている。
【0003】また、このようなシステムでは、コントロールレジスタ等の周辺回路を共用したり、セマフォの値をチェックした後セットを行う場合などに、CPUは、あるレジスタから読み出した(リード)データにビット操作を行い(モディファイ)、そのビット操作を行った結果のデータ値を同じレジスタに書き戻す(ライト)というリード・モディファイ・ライトサイクルを実行することがある。
【0004】そして、CPUの種類によっては、リード・モディファイ・ライトサイクルを不可分な1つのサイクルとして、バスを占有し続けて実行するように各信号が出力されるものがある。しかし、そのような機能を有していないCPUを用いてマルチCPUシステムを構成することを想定すると、以下のような問題が生じることが考えられる。
【0005】
【発明が解決しようとする課題】図3は、上記マルチCPUシステムの一構成例である。CPU1,2は、アドレスバス3及びデータバス4に接続されており、何れもレジスタ5に対してアクセスが可能となっている。データバス4のサイズは例えば8ビットであるとする。レジスタ5は、例えば、8チャネルのタイマによるタイマ割り込みについて、各々の割り込みの可否を設定するためのコントロールレジスタ(TIER:Timer Interruput Enable Register) であり、ビット0〜3はCPU1が設定を行い、ビット4〜7はCPU2が設定を行うようになっている。
【0006】アドレスバス3に接続されているアドレスデコーダ6は、CPU1または2が出力するアドレスをデコードして、例えばTIERレジスタ5に対してアクセスが行われる場合のデコード信号TIERを、TIERレジスタ5に出力するようになっている。また、CPU1または2がバスサイクルを実施する場合には、上述のように、図示しないアービタによってバス3及び4の使用権が調停されるようになっている。
【0007】TIERレジスタ5は、図4に示すCKA,CKBの二相クロック信号によってラッチ動作を行うダブルラッチ構成であり、マスタラッチ5M及びスレーブラッチ5Sを備えて構成されている。データバス4はマスタラッチ5Mの入力側に接続されており、マスタラッチ5Mの出力側はスレーブラッチ5Sの入力側に接続されている。そして、スレーブラッチ5Sの出力側は、出力バッファ7を介してデータバス4に接続されている。
【0008】ANDゲート8は、デコード信号TIER,CPU1または2が出力するライト信号及びクロック信号CKBの論理積信号をマスタラッチ5Mにラッチ信号として出力するようになっている。スレーブラッチ5Sのラッチ信号には、クロック信号CKAが直接与えられている。そして、一方、ANDゲート9は、デコード信号TIER及びCPU1または2が出力するリード信号の論理積信号を出力バッファ7にイネーブル信号(レベル)として出力するようになっている。
【0009】以上のマルチCPUシステムにおいて、図5に示すタイミングチャートに従ってTIERレジスタ5にアクセスが行われた場合を説明する。尚、CPU1及び2は、クロック信号CKAに同期して動作するようになっている。TIERレジスタ5の初期値が“00h(HEX)”であるとする。先ず、CPU1が時刻T1においてリード・モディファイ・ライトサイクル(以下、RMWサイクルと称す)を開始し、TIERレジスタ5(スレーブラッチ5S)のデータ値を読み出してビット操作(第0ビットを“1”にセット)を行い、その操作結果のデータ値“01h”を時刻T3においてTIERレジスタ5書き込むとする。すると、マスタラッチ5Mには時刻T3後のクロック信号CKBのタイミングでデータが書き込まれる。
【0010】この時、もう1つのCPU2が時刻T2においてRMWサイクルを開始すると、CPU2は、時刻T2において、その時点ではCPU0によるビット操作結果が未だ反映されていないTIERレジスタ5のデータ値“00h”を読み出してビット操作(第4ビットを“1”にセット)を行い、その操作結果のデータ値“10h”を時刻T4においてTIERレジスタ5に書き込む。
【0011】つまり、CPU2が時刻T4においてRMWサイクルを開始すれば、CPU1は、CPU1によるビット操作結果が反映されたTIERレジスタ5のデータ値“01h”を読み出してビット操作を行うことになり、その結果、TIERレジスタ5に書き込まれるデータ値は“11h”となるはずである。しかしながら、上記のようにCPU1によるRMWサイクルの実行途中においてCPU2がサイクルを実行すると、TIERレジスタ5のデータは期待値通りにならず、以降の制御に支障を来す結果となってしまう。
【0012】本発明は上記事情に鑑みてなされたものであり、その目的は、複数のCPUが同一のレジスタに対してどのようなタイミングでリード・モディファイ・ライトサイクルを行った場合でも、そのレジスタのデータ値が期待値通りになるように制御できるレジスタ制御装置、及びそのレジスタ制御装置を備えてなるマルチCPUシステムを提供することにある。
【0013】
【課題を解決するための手段】請求項1記載のレジスタ制御装置によれば、例えば、何れかのCPUがビット操作命令を実行し、レジスタの任意のビットのデータ値を“0”にセットする場合は、先ず、リード・モディファイ・ライトサイクル(RMWサイクル)前半のリードサイクルにおいて、“0”セット用レジスタをアクセスして全ビット“1”のデータ値(以下、オール“1”データと称す)を読み出す。そして、読み出したオール“1”データの内、変更対象ビットのデータ値を“0”にしてから、“0”セット用レジスタのアドレスでライトサイクルを行う。すると、マルチプレクサは、レジスタに対して、CPUによりデータ値が“0”に変更されたビットについてはそのデータ値“0”を出力し、それ以外のビットについては当該レジスタの保持データを出力するように選択する。
【0014】また、何れかのCPUがレジスタの任意のビットのデータ値を“1”にセットする場合は、RMWサイクル前半のリードサイクルにおいて、“1”セット用レジスタをアクセスして全ビット“0”のデータ値(以下、オール“0”データと称す)を読み出す。そして、読み出したオール“0”データの内、変更対象ビットのデータ値を“1”にしてから、“1”セット用レジスタのアドレスでライトサイクルを行う。すると、マルチプレクサは、レジスタに対して、CPUによりデータ値が“1”に変更されたビットについてはそのデータ値“1”を出力し、それ以外のビットについては当該レジスタの保持データを出力するように選択する。
【0015】即ち、他のCPU(A)が行ったRMWサイクルが完了する前に前記CPU(B)がRMWサイクルを開始したとしても、CPU(B)による後半のライトサイクルが行われる時点ではCPU(A)によるRMWサイクルは完了しており、その変更後のデータがレジスタに保持されている。故に、CPU(B)によるライトサイクルでレジスタに書き込まれるデータは、CPU(B)が変更しなかったビットについてはCPU(A)によって変更されたデータとなる。従って、予めマルチCPUシステムに適用することを想定した設計が行われていない複数のCPUがレジスタをアクセスする場合でも、そのレジスタのデータ値が常に期待値通りとなるように制御することができる。
【0016】請求項2記載のレジスタ制御装置によれば、マルチプレクサが、レジスタに対して出力するデータにCPUの出力データを選択する条件に、又は(デコード信号がレジスタ)
を加える。従って、CPUは、レジスタに対してビット操作により設定を行うだけでなく、レジスタに割り当てられているアドレスを出力して通常の書き込み(即ち、全ビットの同時書き込み)を行うこともできる。
【0017】請求項3記載のマルチCPUシステムによれば、請求項1また2記載のレジスタ制御装置を備えることで、予めマルチCPUシステムに適用することを想定した設計が行われていないCPUを用いて、レジスタ等の周辺回路を共用するシステムを構成することが可能となる。
【0018】
【発明の実施の形態】以下、本発明の一実施例について図1及び図2を参照して説明する。尚、図3と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。本実施例では、2つのCPU1,2がCPU11,12に置き換わっている。また、アドレスバス3にはアドレスデコーダ6に代わるアドレスデコーダ13が接続されており、データバス4には、TIERレジスタ5に代わるTIERレジスタ14と、2つの読み出し専用レジスタであるTIER0Wレジスタ(“0”セット用レジスタ)15及びTIER1Wレジスタ(“1”セット用レジスタ)16が接続されている。
【0019】これらのレジスタ15,16は、夫々TIERレジスタ14とは異なるアドレスが割り付けられている。そして、TIER0Wレジスタ15は、CPU11または12がTIERレジスタ14に対してビット操作命令を実行することでRMWサイクルを行い、8ビットの内何れかのビットに“0”をセットする場合にアクセスするように設定されており、その場合に、データバス4上にデータ値オール“1”を出力するように構成されている。
【0020】また、TIER1Wレジスタ16は、CPU11または12がTIERレジスタ14に対して同様にRMWサイクルを行い、8ビットの内何れかのビットに“1”をセットする場合にアクセスするように設定されており、その場合に、データバス4上にデータ値オール“0”を出力するように構成されている。
【0021】即ち、TIER0Wレジスタ15は、オール“1”のデータを出力するデータ出力部15a,そのデータをデータバス4上に出力するための出力バッファ15b,出力バッファ15bに対してイネーブル信号を出力するためのANDゲート15cを備えて構成されている。ANDゲート15cは、アドレスデコーダ13が出力するデコード信号TIER0Wと、CPU11または12がリードサイクルの実行時にアクティブ(ハイ)にするリード信号との論理積をとって、出力バッファ15bのイネーブル信号を出力するようになっている。
【0022】また、TIER1Wレジスタ16も、TIER0Wレジスタ15と同様に、オール“0”のデータを出力するデータ出力部16a,そのデータをデータバス4上に出力するための出力バッファ16b,出力バッファ16bに対してイネーブル信号を出力するためのANDゲート16cを備えて構成されている。ANDゲート16cは、アドレスデコーダ13が出力するデコード信号TIER1Wと、CPU11または12のリード信号との論理積をとって、出力バッファ16bのイネーブル信号を出力するようになっている。
【0023】図1において、TIERレジスタ14は、1ビット分(第iビット,i=0〜7)に対応する構成のビットセル14B(i)を1つだけ図示しており、実際には8個のビットセル14B(0)〜14B(7)によって構成されている。各ビットセル14Bは、データバス4側から、マルチプレクサ17のデータ選択部17a,マスタラッチ18,スレーブラッチ19及び出力バッファ20を直列に接続したものを中心として構成されている。出力バッファ20の出力端子はデータバス4のラインD(i)に接続されており、また、スレーブラッチ19の出力端子はデータ選択部17aの他の入力端子に接続されている。データ選択部17aは、選択信号生成回路17bより出力される選択信号に基づいて、2つの入力端子の内から1つを選択してマスタラッチ18に出力するように構成されている。
【0024】選択信号生成回路17bには、アドレスデコーダ13が出力する3つのデコード信号TIER,TIER0W,TIER1Wとデータバス4の第iビットデータD(i)が与えられており、これらの入力信号に基づき、データ選択部17aが以下のように入力データを選択してマスタラッチ18に出力するように内部論理が構成されている。
(デコード信号TIER)
又は{(デコード信号TIER0W)且つ(データD(i)が“0”)}
又は{(デコード信号TIER1W)且つ(データD(i)が“1”)}
ならば、(出力データ:データD(i))
上記以外の条件 ならば、(出力データ:スレーブラッチ19の保持データ)
選択信号生成回路17bは、データ選択部17aに例えば上記2つの条件に対応する選択信号(例えば、前者が成立している場合はハイレベル,後者が成立している場合はロウレベル)を出力し、データ選択部17aはその選択信号に応じて2つの入力端子の内の一方を選択するようになっている。
【0025】マスタラッチ18のラッチ信号は、3入力のANDゲート21によって与えられるようになっている。ANDゲート21の入力端子には、CPU11または12がライトサイクルの実行時にアクティブ(ハイ)にするライト信号と、二相クロック信号のB相信号CKBと、ORゲート22の出力信号とが与えられている。3入力のORゲート22には、アドレスデコーダ13が出力する3つのデコード信号TIER,TIER0W,TIER1Wが夫々与えられている。
【0026】また、スレーブラッチ19のラッチ信号には、二相クロック信号のA相信号CKAが直接与えられており、出力バッファ20には、ANDゲート23の出力信号がイネーブル信号として与えられている。ANDゲート23の入力端子には、アドレスデコーダ13が出力するデコード信号TIERと、CPU11または12のリード信号とが与えられている。
【0027】尚、TIERレジスタ14は、レジスタ部(レジスタ)14aとレジスタ制御部14bとに分類される。レジスタ部14aは、マスタラッチ18,スレーブラッチ19,出力バッファ20,及びANDゲート21及び23からなる部分であり、レジスタ制御部14bは、マルチプレクサ17,ANDゲート21及びORゲート22からなる部分である。
【0028】そして、レジスタ制御部14bに、アドレスデコーダ13,TIER0Wレジスタ15及びTIER1Wレジスタ16を加えたものが、レジスタ制御装置24を構成している。更に、レジスタ部14aとレジスタ制御装置24にCPU11及び12を加えたものが、マルチCPUシステム25を構成している。
【0029】次に、本実施例の作用について図2をも参照して説明する。
■<ビット操作命令によってTIERレジスタ14に“1”をセットする場合>例えば、CPU11が、TIERレジスタ14の第0ビットを“1”にセットするためのビット操作を実行するためRMWサイクルを行う場合には、TIERレジスタ14に対してではなく、TIER1Wレジスタ16に対してRMWサイクルを行うようにする。すると、時刻T1においてTIER1Wレジスタ16よりデータ00hが読み出される。CPU11は、読み出したデータの第0ビットのみを“1”にセットするように内部レジスタの操作を行うと、時刻T3において同じTIER1Wレジスタ16のアドレスを出力してデータ01hのライトサイクルを行う。
【0030】この場合、読出し専用レジスタであるTIER1Wレジスタ16への書き込みは行われず、それに代えて、デコード信号TIER1Wが出力されてORゲート22の出力端子がハイレベルになることから、クロック信号CKBの立上がりタイミングでANDゲート21の出力端子もハイレベルとなって、TIERレジスタ14のマスタラッチ18にデータが書き込まれる。
【0031】また、各ビットセル14B(0)〜14B(7)においては、デコード信号TIER1Wが出力されているので、データバス4上にデータ値“1”が出力されているビットセル14B(0)のデータ選択部17aは、選択信号生成回路17bが出力する選択信号(ハイレベル)に応じてマスタラッチ18にデータバス4(D(0))のデータ値“1”を選択して出力する。
【0032】それ以外のビットセル14B(1)〜14B(7)においては、選択信号生成回路17bが選択信号をロウレベルにするので、データ選択部17aはマスタラッチ18にスレーブラッチ19の保持データを選択して出力する。この時点におけるスレーブラッチ19の保持データは、時刻T3におけるライトサイクルによって書き換えられる前のデータ00hである。
【0033】即ち、CPU11のビット操作命令によって“1”がセットされるビット以外のビットデータは、CPU11がデータバス4上に出力しているデータにかかわらずスレーブラッチ19の保持データが選択されて書き込まれることになる。結果として、マスタラッチ18には、データ00hの第0ビットだけが“1”にセットされたデータ01hが書き込まれる。そして、スレーブラッチ19のデータは、時刻T3後のクロック信号CKAの立上がりタイミングで、マスタラッチ18に書きまれているデータと同じデータ01hに更新される。
【0034】従って、図5に示した従来例と同様に、もう1つのCPU12が時刻T2においてRMWサイクルを開始したとすると、CPU12は、時刻T2においてTIER1Wレジスタ16のデータ値“00h”を読み出してビット操作(第4ビットを“1”にセット)を行い、その操作結果のデータ値“10h”を時刻T4においてTIER1Wレジスタ16のアドレスに書き込む。
【0035】すると、上記と同様のプロセスによって、データバス4上にデータ値“1”が出力されているビットセル14B(4)のデータ選択部17aは、マスタラッチ18にデータ値“1”を選択して出力し、それ以外のビットセル14B(0)〜14B(3),14B(5)〜14B(7)のデータ選択部17aは、マスタラッチ18にスレーブラッチ19の保持データを選択して出力する。
【0036】即ち、CPU12が時刻T4においてRMWサイクル後半のライトサイクルを行う時点では、CPU11によるRMWサイクルが完了している。従って、スレーブラッチ19の保持データは01hに更新されているので、TIERレジスタ14のマスタラッチ18(8ビット分)には、01hデータの第4ビットを“1”に変更したデータ11hが書き込まれることになる。
【0037】■<ビット操作命令によってTIERレジスタ14に“0”をセットする場合>また、例えば、TIERレジスタ14の初期値が77hである場合に、CPU11が、TIERレジスタ14の第0ビットを“0”にセットするためのビット操作を実行するためRMWサイクルを行う場合には、TIER0Wレジスタ15に対してRMWサイクルを行うようにする。すると、時刻T1においてTIER0Wレジスタ15よりデータFFhが読み出される。CPU11は、時刻T2でその第0ビットのみを“0”にセットすると、時刻T3において同じTIER1Wレジスタ16のアドレスを出力してデータFEhのライトサイクルを行う。
【0038】この場合、デコード信号TIER0Wが出力されてORゲート22の出力端子がハイレベルになることから、クロック信号CKBの立上がりタイミングでANDゲート21の出力端子もハイレベルとなって、TIERレジスタ14のマスタラッチ18にデータが書き込まれる。
【0039】また、各ビットセル14B(0)〜14B(7)においては、デコード信号TIER0Wが出力されているので、データバス4上にデータ値“0”が出力されているビットセル14B(0)のデータ選択部17aは、マスタラッチ18にデータバス4(D(0))のデータ値“0”を選択して出力し、それ以外のビットセル14B(1)〜14B(7)のデータ選択部17aは、マスタラッチ18にスレーブラッチ19の保持データを選択して出力する。
【0040】従って、この場合も、CPU11のビット操作命令によって“0”がセットされるビット以外のビットデータは、CPU11がデータバス4上に出力しているデータにかかわらずスレーブラッチ19の保持データが選択されて書き込まれることになる。スレーブラッチ19の保持データは77hであるから、その第0ビットが“0”にセットされることによってTIERレジスタ14のマスタラッチ18に書き込まれるデータは76hとなる。尚、上記のプロセスを、CPU11と12とのアクセス順序を入れ替えて行ったとしても、全く同様の結果になることは言うまでもない。
【0041】■<リードサイクルによってTIERレジスタ14からデータを読み出す場合>例えば、CPU11が、TIERレジスタ14のデータを単に読出す場合には、通常通りTIERレジスタ14に対してリードサイクルを行うようにする。すると、アドレスデコーダ13がデコード信号TIERを出力するのでANDゲート23の出力端子がハイレベルとなる。そして、出力バッファ20がイネーブルとなるので、スレーブラッチ19に保持されているデータがデータバス4上に出力される。
【0042】■<ライトサイクルによってTIERレジスタ14に任意のデータを書込む場合>例えば、CPU11が、TIERレジスタ14にデータ00hを書き込む場合には、通常通りTIERレジスタ14に対してライトサイクルを行うようにする。この場合も、アドレスデコーダ13がデコード信号TIERを出力するので、全てのビットセル14Bの選択信号生成回路17bがハイレベルの選択信号を出力する。従って、データ選択部17aは、CPU11が出力したデータバス4上のデータを選択してマスタラッチ18に出力する。
【0043】そして、ORゲート22の出力端子がハイレベルになり、クロック信号CKBの立上がりタイミングでANDゲート21の出力端子もハイレベルとなるので、TIERレジスタ14のマスタラッチ18にデータ00hが書き込まれる。
【0044】以上のように本実施例によれば、CPU11がビット操作命令を実行し、TIERレジスタ14の任意のビットのデータ値を“1”にセットする場合は、RMWサイクル前半のリードサイクルにおいてTIER1Wレジスタ16をアクセスしてデータを読み出し、変更対象ビットのデータ値を“1”にしてからTIER1Wレジスタ16のアドレスでライトサイクルを行うと、マルチプレクサ17は、TIERレジスタ14のマスタラッチ18に対して、データ値が“1”に変更されたビットについてはそのデータ値“1”を出力し、それ以外のビットについてはスレーブラッチ19の保持データを出力するように選択する。
【0045】また、CPU11がTIERレジスタ14の任意のビットのデータ値を“0”にセットする場合は、RMWサイクル前半のリードサイクルにおいて、TIER0Wレジスタ15をアクセスしてデータを読み出し、変更対象ビットのデータ値を“0”にしてからTIER0Wレジスタ15のアドレスでライトサイクルを行うと、マルチプレクサ17は、マスタラッチ18に対してデータ値が“0”に変更されたビットについてはそのデータ値“0”を出力し、それ以外のビットについてはスレーブラッチ19の保持データを出力するように選択するようにした。
【0046】即ち、CPU11が行ったRMWサイクルが完了する前に他のCPU12がRMWサイクルを開始したとしても、CPU12による後半のライトサイクルが行われる時点ではCPU11によるRMWサイクルは完了しているので、その変更後のデータがスレーブラッチ19に保持されている。従って、CPU12によるライトサイクルでマスタラッチ19に書き込まれるデータは、CPU12が変更しなかったビットについてはCPU11によって変更されたデータとなるので、複数のCPUによってアクセスされるTIERレジスタ14のデータ値が、常に期待値通りとなるように制御することができる。
【0047】また、本実施例によれば、選択信号生成回路17bにおいて、データ選択部17aが出力データにデータD(i)を選択する条件に、“又は(デコード信号がレジスタ)”をも加えたので、CPU11または12は、TIERレジスタ14に対してビット操作により設定を行うだけでなく、TIERレジスタ14に割り当てられているアドレスを出力して通常の任意データの書き込み(全ビットの同時書き込み)を行うこともできる。
【0048】そして、レジスタ制御装置24を備えたことで、予めマルチCPUシステムに適用することを想定した設計が行われていないCPU11,12を用いても、TIERレジスタ14等の周辺回路を共用するマルチCPUシステム25を構成することが可能となる。
【0049】本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、次のような変形または拡張が可能である。単一ビットのビット操作に限ることなく、複数ビットのビット操作(所謂ビットフィールド操作)を行う場合でも、同様に適用することができる。データバスサイズは8ビットに限ることなく,4ビット,16ビットや32ビットでも良い。レジスタはコントロールレジスタに限らず、データレジスタでも良い。また、ダブルラッチ構成のTIERレジスタ14に限ることなく、CPUの動作クロックに同期して動作するDフリップフロップなどを用いてレジスタを構成しても良い。リード信号とライト信号とを、例えばハイレベルの場合にリードサイクル,ロウレベルの場合にライトサイクルであることを示す1つの信号(リード/ライト信号)にしても良い。この場合、ANDゲート21の対応する入力端子には、インバータゲートを介してリード/ライト信号を与えたり、或いは、当該入力端子は負論理とすれば良い。
【0050】CPUが3つ以上存在するシステムに適用しても良い。例えば、TIERレジスタ14がビット操作のみによって設定を行うように規定されているレジスタである場合には、選択信号生成回路17bにおいて、出力データにデータD(i)を選択する条件より“又は(デコード信号TIER)”を削除しても良い。マルチCPUシステム全体を、半導体基板上の集積回路装置として構成しても良いし、各個別のディスクリート素子をプリント基板に搭載した回路装置として構成しても良い。
【出願人】 【識別番号】000004260
【氏名又は名称】株式会社デンソー
【出願日】 平成12年10月20日(2000.10.20)
【代理人】 【識別番号】100071135
【弁理士】
【氏名又は名称】佐藤 強
【公開番号】 特開2002−132744(P2002−132744A)
【公開日】 平成14年5月10日(2002.5.10)
【出願番号】 特願2000−321070(P2000−321070)