JP2002132744A - レジスタ制御装置及びマルチcpuシステム - Google Patents

レジスタ制御装置及びマルチcpuシステム

Info

Publication number
JP2002132744A
JP2002132744A JP2000321070A JP2000321070A JP2002132744A JP 2002132744 A JP2002132744 A JP 2002132744A JP 2000321070 A JP2000321070 A JP 2000321070A JP 2000321070 A JP2000321070 A JP 2000321070A JP 2002132744 A JP2002132744 A JP 2002132744A
Authority
JP
Japan
Prior art keywords
register
data
cpu
bit
output
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.)
Granted
Application number
JP2000321070A
Other languages
English (en)
Other versions
JP4008196B2 (ja
Inventor
Hideji Azuma
秀治 我妻
Takayoshi Honda
隆芳 本多
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2000321070A priority Critical patent/JP4008196B2/ja
Publication of JP2002132744A publication Critical patent/JP2002132744A/ja
Application granted granted Critical
Publication of JP4008196B2 publication Critical patent/JP4008196B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 複数のCPUが同一のレジスタに対してどの
ようなタイミングでリード・モディファイ・ライトサイ
クルを行った場合でも、そのレジスタのデータ値が期待
値通りになるように制御できるレジスタ制御装置を提供
する。 【解決手段】 CPU11がビット操作命令を実行し、
TIERレジスタ14の任意のビットのデータ値を“1”に
セットする場合は、RMWサイクル前半のリードサイク
ルにおいてTIER1Wレジスタ16をアクセスしてデータを
読み出し、変更対象ビットのデータ値を“1”にしてか
らTIER1Wレジスタ16のアドレスでライトサイクルを行
うと、マルチプレクサ17は、TIERレジスタ14のマス
タラッチ18に対して、データ値が“1”に変更された
ビットについてはそのデータ値“1”を出力し、それ以
外のビットについてはスレーブラッチ19の保持データ
を出力するように選択する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のCPUによ
ってアクセスされるレジスタのデータ値を制御するため
のレジスタ制御装置、及びそのレジスタ制御装置を備え
てなるマルチCPUシステムに関する。
【0002】
【従来の技術】複数のCPUを備えて高度な機能を実現
するように構成されるマルチCPUシステムにおいて
は、各CPUがリードサイクルやライトサイクルを実行
しようとする場合、常に1つのCPUだけが排他的にバ
スを使用するように、アービタによってバスの使用権が
調停されるようになっている。
【0003】また、このようなシステムでは、コントロ
ールレジスタ等の周辺回路を共用したり、セマフォの値
をチェックした後セットを行う場合などに、CPUは、
あるレジスタから読み出した(リード)データにビット
操作を行い(モディファイ)、そのビット操作を行った
結果のデータ値を同じレジスタに書き戻す(ライト)と
いうリード・モディファイ・ライトサイクルを実行する
ことがある。
【0004】そして、CPUの種類によっては、リード
・モディファイ・ライトサイクルを不可分な1つのサイ
クルとして、バスを占有し続けて実行するように各信号
が出力されるものがある。しかし、そのような機能を有
していないCPUを用いてマルチCPUシステムを構成
することを想定すると、以下のような問題が生じること
が考えられる。
【0005】
【発明が解決しようとする課題】図3は、上記マルチC
PUシステムの一構成例である。CPU1,2は、アド
レスバス3及びデータバス4に接続されており、何れも
レジスタ5に対してアクセスが可能となっている。デー
タバス4のサイズは例えば8ビットであるとする。レジ
スタ5は、例えば、8チャネルのタイマによるタイマ割
り込みについて、各々の割り込みの可否を設定するため
のコントロールレジスタ(TIER:Timer Interruput Enabl
e 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,C
KBの二相クロック信号によってラッチ動作を行うダブ
ルラッチ構成であり、マスタラッチ5M及びスレーブラ
ッチ5Sを備えて構成されている。データバス4はマス
タラッチ5Mの入力側に接続されており、マスタラッチ
5Mの出力側はスレーブラッチ5Sの入力側に接続され
ている。そして、スレーブラッチ5Sの出力側は、出力
バッファ7を介してデータバス4に接続されている。
【0008】ANDゲート8は、デコード信号TIER,C
PU1または2が出力するライト信号及びクロック信号
CKBの論理積信号をマスタラッチ5Mにラッチ信号と
して出力するようになっている。スレーブラッチ5Sの
ラッチ信号には、クロック信号CKAが直接与えられて
いる。そして、一方、ANDゲート9は、デコード信号
TIER及びCPU1または2が出力するリード信号の論理
積信号を出力バッファ7にイネーブル信号(レベル)と
して出力するようになっている。
【0009】以上のマルチCPUシステムにおいて、図
5に示すタイミングチャートに従ってTIERレジスタ5に
アクセスが行われた場合を説明する。尚、CPU1及び
2は、クロック信号CKAに同期して動作するようにな
っている。TIERレジスタ5の初期値が“00h(HE
X)”であるとする。先ず、CPU1が時刻T1におい
てリード・モディファイ・ライトサイクル(以下、RM
Wサイクルと称す)を開始し、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”にセット)を行い、その操作結果のデータ値“1
0h”を時刻T4においてTIERレジスタ5に書き込む。
【0011】つまり、CPU2が時刻T4においてRM
Wサイクルを開始すれば、CPU1は、CPU1による
ビット操作結果が反映されたTIERレジスタ5のデータ値
“01h”を読み出してビット操作を行うことになり、
その結果、TIERレジスタ5に書き込まれるデータ値は
“11h”となるはずである。しかしながら、上記のよ
うにCPU1によるRMWサイクルの実行途中において
CPU2がサイクルを実行すると、TIERレジスタ5のデ
ータは期待値通りにならず、以降の制御に支障を来す結
果となってしまう。
【0012】本発明は上記事情に鑑みてなされたもので
あり、その目的は、複数のCPUが同一のレジスタに対
してどのようなタイミングでリード・モディファイ・ラ
イトサイクルを行った場合でも、そのレジスタのデータ
値が期待値通りになるように制御できるレジスタ制御装
置、及びそのレジスタ制御装置を備えてなるマルチCP
Uシステムを提供することにある。
【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)によるRM
Wサイクルは完了しており、その変更後のデータがレジ
スタに保持されている。故に、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上に出力するための出力バッファ1
5b,出力バッファ15bに対してイネーブル信号を出
力するためのANDゲート15cを備えて構成されてい
る。ANDゲート15cは、アドレスデコーダ13が出
力するデコード信号TIER0Wと、CPU11または12が
リードサイクルの実行時にアクティブ(ハイ)にするリ
ード信号との論理積をとって、出力バッファ15bのイ
ネーブル信号を出力するようになっている。
【0022】また、TIER1Wレジスタ16も、TIER0Wレジ
スタ15と同様に、オール“0”のデータを出力するデ
ータ出力部16a,そのデータをデータバス4上に出力
するための出力バッファ16b,出力バッファ16bに
対してイネーブル信号を出力するためのANDゲート1
6cを備えて構成されている。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)に接続されており、また、スレーブラッチ1
9の出力端子はデータ選択部17aの他の入力端子に接
続されている。データ選択部17aは、選択信号生成回
路17bより出力される選択信号に基づいて、2つの入
力端子の内から1つを選択してマスタラッチ18に出力
するように構成されている。
【0024】選択信号生成回路17bには、アドレスデ
コーダ13が出力する3つのデコード信号TIER,TIER0
W,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相信号CK
Bと、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とレジスタ制御装置2
4にCPU11及び12を加えたものが、マルチCPU
システム25を構成している。
【0029】次に、本実施例の作用について図2をも参
照して説明する。 <ビット操作命令によってTIERレジスタ14に“1”
をセットする場合> 例えば、CPU11が、TIERレジスタ14の第0ビット
を“1”にセットするためのビット操作を実行するため
RMWサイクルを行う場合には、TIERレジスタ14に対
してではなく、TIER1Wレジスタ16に対してRMWサイ
クルを行うようにする。すると、時刻T1においてTIER
1Wレジスタ16よりデータ00hが読み出される。CP
U11は、読み出したデータの第0ビットのみを“1”
にセットするように内部レジスタの操作を行うと、時刻
T3において同じTIER1Wレジスタ16のアドレスを出力
してデータ01hのライトサイクルを行う。
【0030】この場合、読出し専用レジスタであるTIER
1Wレジスタ16への書き込みは行われず、それに代え
て、デコード信号TIER1Wが出力されてORゲート22の
出力端子がハイレベルになることから、クロック信号C
KBの立上がりタイミングで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)〜14
B(7)においては、選択信号生成回路17bが選択信
号をロウレベルにするので、データ選択部17aはマス
タラッチ18にスレーブラッチ19の保持データを選択
して出力する。この時点におけるスレーブラッチ19の
保持データは、時刻T3におけるライトサイクルによっ
て書き換えられる前のデータ00hである。
【0033】即ち、CPU11のビット操作命令によっ
て“1”がセットされるビット以外のビットデータは、
CPU11がデータバス4上に出力しているデータにか
かわらずスレーブラッチ19の保持データが選択されて
書き込まれることになる。結果として、マスタラッチ1
8には、データ00hの第0ビットだけが“1”にセッ
トされたデータ01hが書き込まれる。そして、スレー
ブラッチ19のデータは、時刻T3後のクロック信号C
KAの立上がりタイミングで、マスタラッチ18に書き
まれているデータと同じデータ01hに更新される。
【0034】従って、図5に示した従来例と同様に、も
う1つのCPU12が時刻T2においてRMWサイクル
を開始したとすると、CPU12は、時刻T2において
TIER1Wレジスタ16のデータ値“00h”を読み出して
ビット操作(第4ビットを“1”にセット)を行い、そ
の操作結果のデータ値“10h”を時刻T4においてTI
ER1Wレジスタ16のアドレスに書き込む。
【0035】すると、上記と同様のプロセスによって、
データバス4上にデータ値“1”が出力されているビッ
トセル14B(4)のデータ選択部17aは、マスタラ
ッチ18にデータ値“1”を選択して出力し、それ以外
のビットセル14B(0)〜14B(3),14B
(5)〜14B(7)のデータ選択部17aは、マスタ
ラッチ18にスレーブラッチ19の保持データを選択し
て出力する。
【0036】即ち、CPU12が時刻T4においてRM
Wサイクル後半のライトサイクルを行う時点では、CP
U11による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”を選択して出力し、それ以外のビットセル14
B(1)〜14B(7)のデータ選択部17aは、マス
タラッチ18にスレーブラッチ19の保持データを選択
して出力する。
【0040】従って、この場合も、CPU11のビット
操作命令によって“0”がセットされるビット以外のビ
ットデータは、CPU11がデータバス4上に出力して
いるデータにかかわらずスレーブラッチ19の保持デー
タが選択されて書き込まれることになる。スレーブラッ
チ19の保持データは77hであるから、その第0ビッ
トが“0”にセットされることによってTIERレジスタ1
4のマスタラッチ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にデータ00
hを書き込む場合には、通常通りTIERレジスタ14に対
してライトサイクルを行うようにする。この場合も、ア
ドレスデコーダ13がデコード信号TIERを出力するの
で、全てのビットセル14Bの選択信号生成回路17b
がハイレベルの選択信号を出力する。従って、データ選
択部17aは、CPU11が出力したデータバス4上の
データを選択してマスタラッチ18に出力する。
【0043】そして、ORゲート22の出力端子がハイ
レベルになり、クロック信号CKBの立上がりタイミン
グでANDゲート21の出力端子もハイレベルとなるの
で、TIERレジスタ14のマスタラッチ18にデータ00
hが書き込まれる。
【0044】以上のように本実施例によれば、CPU1
1がビット操作命令を実行し、TIERレジスタ14の任意
のビットのデータ値を“1”にセットする場合は、RM
Wサイクル前半のリードサイクルにおいてTIER1Wレジス
タ16をアクセスしてデータを読み出し、変更対象ビッ
トのデータ値を“1”にしてからTIER1Wレジスタ16の
アドレスでライトサイクルを行うと、マルチプレクサ1
7は、TIERレジスタ14のマスタラッチ18に対して、
データ値が“1”に変更されたビットについてはそのデ
ータ値“1”を出力し、それ以外のビットについてはス
レーブラッチ19の保持データを出力するように選択す
る。
【0045】また、CPU11がTIERレジスタ14の任
意のビットのデータ値を“0”にセットする場合は、R
MWサイクル前半のリードサイクルにおいて、TIER0Wレ
ジスタ15をアクセスしてデータを読み出し、変更対象
ビットのデータ値を“0”にしてからTIER0Wレジスタ1
5のアドレスでライトサイクルを行うと、マルチプレク
サ17は、マスタラッチ18に対してデータ値が“0”
に変更されたビットについてはそのデータ値“0”を出
力し、それ以外のビットについてはスレーブラッチ19
の保持データを出力するように選択するようにした。
【0046】即ち、CPU11が行ったRMWサイクル
が完了する前に他のCPU12がRMWサイクルを開始
したとしても、CPU12による後半のライトサイクル
が行われる時点ではCPU11によるRMWサイクルは
完了しているので、その変更後のデータがスレーブラッ
チ19に保持されている。従って、CPU12によるラ
イトサイクルでマスタラッチ19に書き込まれるデータ
は、CPU12が変更しなかったビットについてはCP
U11によって変更されたデータとなるので、複数のC
PUによってアクセスされるTIERレジスタ14のデータ
値が、常に期待値通りとなるように制御することができ
る。
【0047】また、本実施例によれば、選択信号生成回
路17bにおいて、データ選択部17aが出力データに
データD(i)を選択する条件に、“又は(デコード信
号がレジスタ)”をも加えたので、CPU11または1
2は、TIERレジスタ14に対してビット操作により設定
を行うだけでなく、TIERレジスタ14に割り当てられて
いるアドレスを出力して通常の任意データの書き込み
(全ビットの同時書き込み)を行うこともできる。
【0048】そして、レジスタ制御装置24を備えたこ
とで、予めマルチCPUシステムに適用することを想定
した設計が行われていないCPU11,12を用いて
も、TIERレジスタ14等の周辺回路を共用するマルチC
PUシステム25を構成することが可能となる。
【0049】本発明は上記し且つ図面に記載した実施例
にのみ限定されるものではなく、次のような変形または
拡張が可能である。単一ビットのビット操作に限ること
なく、複数ビットのビット操作(所謂ビットフィールド
操作)を行う場合でも、同様に適用することができる。
データバスサイズは8ビットに限ることなく,4ビッ
ト,16ビットや32ビットでも良い。レジスタはコン
トロールレジスタに限らず、データレジスタでも良い。
また、ダブルラッチ構成のTIERレジスタ14に限ること
なく、CPUの動作クロックに同期して動作するDフリ
ップフロップなどを用いてレジスタを構成しても良い。
リード信号とライト信号とを、例えばハイレベルの場合
にリードサイクル,ロウレベルの場合にライトサイクル
であることを示す1つの信号(リード/ライト信号)に
しても良い。この場合、ANDゲート21の対応する入
力端子には、インバータゲートを介してリード/ライト
信号を与えたり、或いは、当該入力端子は負論理とすれ
ば良い。
【0050】CPUが3つ以上存在するシステムに適用
しても良い。例えば、TIERレジスタ14がビット操作の
みによって設定を行うように規定されているレジスタで
ある場合には、選択信号生成回路17bにおいて、出力
データにデータD(i)を選択する条件より“又は(デ
コード信号TIER)”を削除しても良い。マルチCPUシ
ステム全体を、半導体基板上の集積回路装置として構成
しても良いし、各個別のディスクリート素子をプリント
基板に搭載した回路装置として構成しても良い。
【図面の簡単な説明】
【図1】本発明の一実施例であり、TIERレジスタを中心
とする電気的構成を示す図
【図2】2つのCPUがリード・モディファイ・ライト
サイクルを行う場合における、TIERレジスタのデータ値
の変化を示すタイミングチャート
【図3】従来技術を示す図1相当図
【図4】二相クロック信号の波形を示す図
【図5】図2相当図
【符号の説明】
11,12はCPU、13はアドレスデコーダ、14は
TIERレジスタ、14aはレジスタ部(レジスタ)、14
bはレジスタ制御部、15はTIER0Wレジスタ(“0”セ
ット用レジスタ)、16はTIER1Wレジスタ(“1”セッ
ト用レジスタ)、17はマルチプレクサ、18はマスタ
ラッチ、19はスレーブラッチ、24はレジスタ制御装
置、25はマルチCPUシステムを示す。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のCPUによってアクセスされるレ
    ジスタのデータ値を制御するためのレジスタ制御装置に
    おいて、 何れかのCPUが前記レジスタの任意のビットのデータ
    値を“0”にセットする場合にアクセスされ、全ビット
    のデータ値“1”が読み出される“0”セット用レジス
    タと、 何れかのCPUが前記レジスタの任意のビットのデータ
    値を“1”にセットする場合にアクセスされ、全ビット
    のデータ値“0”が読み出される“1”セット用レジス
    タと、 CPUが出力するアドレスをデコードしてデコード信号
    を出力するアドレスデコーダと、 前記レジスタの入力側に配置され、前記アドレスデコー
    ダが出力するデコード信号及びCPUの出力データに基
    づいて、前記レジスタに対する各ビット毎の出力データ
    を以下の条件に従って選択するマルチプレクサとを備
    え、 {(デコード信号が“0”セット用レジスタ) 且つ(CPUの出力データが“0”)} 又は{(デコード信号が“1”セット用レジスタ) 且つ(CPUの出力データが“1”)} ならば、(出力データはCPUの出力データ), 上記以外の条件 ならば、(出力データはレジスタの保持データ) 前記レジスタには、前記CPUが“0”セット用レジス
    タまたは“1”セット用レジスタの何れかのアドレスを
    出力して書き込みを行った場合に、データが書き込まれ
    るように構成されていることを特徴とするレジスタ制御
    装置。
  2. 【請求項2】 前記マルチプレクサが、前記レジスタに
    対し、CPUの出力データを選択して出力する条件に、 又は(デコード信号がレジスタ)を加え、 前記レジスタは、前記CPUが該レジスタのアドレスを
    出力して書き込みを行う場合も、データが書き込まれる
    ように構成されていることを特徴とする請求項1記載の
    レジスタ制御装置。
  3. 【請求項3】 請求項1また2記載のレジスタ制御装置
    を備えて構成されることを特徴とするマルチCPUシス
    テム。
JP2000321070A 2000-10-20 2000-10-20 レジスタ制御装置及びマルチcpuシステム Expired - Fee Related JP4008196B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000321070A JP4008196B2 (ja) 2000-10-20 2000-10-20 レジスタ制御装置及びマルチcpuシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000321070A JP4008196B2 (ja) 2000-10-20 2000-10-20 レジスタ制御装置及びマルチcpuシステム

Publications (2)

Publication Number Publication Date
JP2002132744A true JP2002132744A (ja) 2002-05-10
JP4008196B2 JP4008196B2 (ja) 2007-11-14

Family

ID=18799261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000321070A Expired - Fee Related JP4008196B2 (ja) 2000-10-20 2000-10-20 レジスタ制御装置及びマルチcpuシステム

Country Status (1)

Country Link
JP (1) JP4008196B2 (ja)

Also Published As

Publication number Publication date
JP4008196B2 (ja) 2007-11-14

Similar Documents

Publication Publication Date Title
JP3304577B2 (ja) 半導体記憶装置とその動作方法
JP2538067B2 (ja) 条件書き込み手段を有するランダム・アクセス・メモリ回路
JPS6312049A (ja) マイクロコンピユ−タ
JP2762138B2 (ja) メモリコントロールユニット
JP2002175692A (ja) 半導体記憶装置及びデータ処理システム
JP2003044303A (ja) コンピュータ装置
JP2001118387A (ja) 同期型半導体記憶装置
US5317750A (en) Microcontroller peripheral expansion bus for access to internal special function registers
JPH07152721A (ja) マイクロコンピュータ
US5155826A (en) Memory paging method and apparatus
JP4008196B2 (ja) レジスタ制御装置及びマルチcpuシステム
JP2002132579A (ja) レジスタ制御装置
KR100336152B1 (ko) 마이크로컴퓨터
JP2638484B2 (ja) データ処理装置
JP3821911B2 (ja) メモリ初期化制御方式
JP4549073B2 (ja) メモリ制御回路
JP2000029508A (ja) プログラマブルコントローラ
JP3222647B2 (ja) メモリバンク自動切替システム
JPS6014435B2 (ja) 記憶装置
JP3006487B2 (ja) エミュレーション装置
IE893882L (en) Microcontroller peripheral expansion bus
JP2003228546A (ja) ダイレクト・メモリ・アクセス制御装置
JPH0822449A (ja) マイクロコンピュータ
JPH04361331A (ja) 半導体集積回路
JPH05174164A (ja) マイクロ・コンピュータ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050223

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070726

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070829

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110907

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110907

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120907

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120907

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130907

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees