(57)【要約】【課題】  ＲＡＭ内の動作プログラムの書き換えによるＣＰＵの誤動作を防ぐと共に、ＲＡＭを制御するコマンドの入力を抑制しない制御機器を提供する。【解決手段】  比較回路５１で、アドレス信号、制御信号からＳＤＲＡＭ４０に対する書込保護を行うか否かを判断する。比較回路５１により書込保護を行うと判断された場合には、その結果をＷＰＡＣＣ信号４１４としてゲート回路５２に出力する。ＷＰＡＣＣ信号４１４がアクティブであれば、ゲート回路５２はＤＱＭＢ信号４１２を強制的にアクティブとする。これにより、ＳＤＲＡＭ４０へのデータ書き込みを防ぐことができると同時に、ＳＤＲＡＭ４０を制御するコマンドの入力は可能となる。【選択図】      図４
2006209371.tif 000002
【特許請求の範囲】
【請求項１】
データの書き換えが可能なＲＡＭと、
前記ＲＡＭのアドレスを指定するアドレス信号、及び前記ＲＡＭに出力する所定長のデータのうち前記ＲＡＭへの書き込みを有効とする領域を指定する有効領域指定信号に基づいて前記ＲＡＭの任意の領域に前記所定長のデータを書き込むデータ書込手段と、
前記データ書込手段による前記ＲＡＭへの前記所定長のデータの書き込みを抑制するか否かを判断する判断手段と、
前記判断手段により書き込みを抑制すると判断された場合に、前記有効領域指定信号を前記所定長のデータ全体に対して書き込みを無効とするものに変換する書換抑制手段と
を備えることを特徴とする制御機器。
【請求項２】
前記判断手段は、前記アドレスが前記ＲＡＭの書換禁止領域のものである場合に、前記データ書込手段による前記ＲＡＭへの前記所定長のデータの書き込みを抑制すると判断すること
を特徴とする請求項１記載の制御機器。
【請求項３】
前記書換禁止領域には、前記データ書込手段が実行するプログラムが格納されることを特徴とする請求項２記載の制御機器。
【請求項４】
請求項１乃至請求項３記載の制御機器において、
前記判断手段は、前記ＲＡＭへの前記所定長のデータの書き込みを抑制すると判断した場合に、前記所定長のデータの書き込みを抑制することを通知する通知信号を前記データ書込手段に出力すること
を特徴とする制御機器。
【請求項５】
請求項１乃至請求項３記載の制御機器において、
前記判断手段による判断を行うか否かを切り換える書込保護設定手段をさらに備えることを特徴とする制御機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を有する制御機器に関する。
【背景技術】
【０００２】
ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）は一般に、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と比較して高速にアクセス可能であると同時にビット当たりの単価が安価であるため、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が実行する動作プログラムを圧縮してＲＯＭに格納しておき、これを伸張してＤＲＡＭに転送した上で、ＤＲＡＭ内の動作プログラムを実行する手法が広まっている。しかし、ＤＲＡＭは書換可能なメモリであるため、動作プログラムが格納された領域を誤って書き換えてしまい、ＣＰＵを暴走させる可能性がある。
【０００３】
そこで、ＣＰＵがＤＲＡＭに書き込みを行うアドレスからプログラム領域か否かを判断し、プログラム領域である場合には、データ書き込みを行うか否かを定めるライト信号を非アクティブとすることにより、プログラム領域へのデータ書き込みを抑制する手法が提案されている（例えば、特許文献１参照）。
【０００４】
【特許文献１】特開平１１−０９６０７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、例えばＳＤＲＡＭ（Ｓｙｎｃｋｒｏｎｏｕｓ  ＤＲＡＭ）等は、ライト信号を他の信号（ＲＡＳ信号、ＣＡＳ信号等）と組み合わせて入力されるコマンドによって制御される。つまり、ライト信号がアクティブであっても、当該ＳＤＲＡＭにデータが書き込まれる場合と、データの書き込みを伴わない他のコマンド（例えば、定期的にＳＤＲＡＭの記憶素子に対して再充電を行うリフレッシュ等）がＳＤＲＡＭに入力される場合とがある。特許文献１記載の手法のようにライト信号を強制的に非アクティブとすると、データの書き込みを抑制することはできるが、いくつかのコマンドはＳＤＲＡＭに入力することができなくなる。
【０００６】
そこで本発明は、ＲＡＭ内の動作プログラムの書き換えによるＣＰＵの誤動作を防ぐと共に、ＲＡＭを制御するコマンドの入力を抑制しない制御機器を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の制御機器は、データの書き換えが可能なＲＡＭと、前記ＲＡＭのアドレスを指定するアドレス信号、及び前記ＲＡＭに出力する所定長のデータのうち前記ＲＡＭへの書き込みを有効とする領域を指定する有効領域指定信号に基づいて前記ＲＡＭの任意の領域に前記所定長のデータを書き込むデータ書込手段と、前記データ書込手段による前記ＲＡＭへの前記所定長のデータの書き込みを抑制するか否かを判断する判断手段と、前記判断手段により書き込みを抑制すると判断された場合に、前記有効領域指定信号を前記所定長のデータ全体に対して書き込みを無効とするものに変換する書換抑制手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ＲＡＭ内の動作プログラムの書き換えによるＣＰＵの誤動作を防ぐと共に、ＲＡＭを制御するコマンドの入力を抑制しない制御機器を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の制御機器について、図面を参照しながら説明する。
【実施例１】
【００１０】
図１は、本発明の情報処理装置の実施例である電話交換機の構成を示す図である。電話交換機１０は、トランクユニット１１と、ラインカード１２と、タイムスイッチ部（ＴＳＷ）１３と、制御部１４と、ＤＴＭＦ（Ｄｉａｌ  Ｔｏｎｅ  Ｍｕｌｔｉ  Ｆｒｅｑｕｅｎｃｙ）信号受信部１５とを備え、これらは音声バス及び制御バスを介して相互に接続されている。
【００１１】
トランクユニット１１は、外部通信ネットワーク１６に接続され、外部通信ネットワーク１６との間のインタフェース機能を有する。ラインカード１２は複数の内線端末１７ａ乃至１７ｎを接続しており、これら内線端末１７ａ乃至１７ｎとの間のインタフェース機能を有する。なお、内線端末１７ａ乃至１７ｎとして使用されるものには、例えば標準電話機、ボタン電話機等がある。
【００１２】
ＴＳＷ１３は、制御部１４の指示に従い、トランクユニット１１とラインカード１２とを交換接続する。同様に、トランクユニット１１及びラインカード１２とＤＴＭＦ信号受信部１５とを交換接続する。
【００１３】
制御部１４は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やメモリ等から構成され、電話交換機１０全体の動作を統括制御する。この制御部１４に内包されるＣＰＵやメモリ等は、１つの基板上に実装される。この詳細については後述する。
【００１４】
ＤＴＭＦ信号受信部１５は、デジタル信号をＤＦＴ（Ｄｉｓｃｒｅｔｅ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）変換等のデジタルフィルタ処理により、ＤＴＭＦ信号を検出して識別する。尚、ＤＴＭＦ信号とは、内線端末１７ａ乃至１７ｎから出力される、ダイヤルキーに応じた信号である。
【００１５】
図２は、電話交換機１０の制御部１４の概略構成を示す図である。尚この図では、後述する比較回路やプロテクションレジスタ等の記載は省略している。制御部１４は、ＣＰＵ２０（データ書込手段）と、圧縮された動作プログラムが格納されるフラッシュメモリ３０と、汎用のメモリであるＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３１と、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）用のインタフェースであるＰＨＹ３２と、音声バス及び制御バスに対するインタフェースの役割を果たす交換処理部３３と、フラッシュメモリ３０に格納された動作プログラムを伸張して記憶し、またデータを書き込むことのできるＳＤＲＡＭ４０（ＲＡＭ）とから構成される。
【００１６】
ＣＰＵ２０は、ＳＤＲＡＭ４０に格納される動作プログラムを実行し、電話交換機１０全体の動作を統括制御する。尚ＣＰＵ２０は、３２ビット（データ幅）でデータを処理する。ＣＰＵ２０は、ＳＤＲＡＭ４０からフェッチした命令に基づく処理を実行するＣＰＵコア２１と、フラッシュメモリ３０、ＳＲＡＭ３１、交換処理部３３に対するインタフェースである外部バスインタフェース２２、ＳＤＲＡＭ４０を制御するＤＲＡＭコントローラ２３、フラッシュメモリ３０を制御するＲＯＭコントローラ２４、ＰＨＹ３２に対するインタフェースであるＬＡＮ  ＭＡＣ（ＬＡＮ  Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｅｒ）２５とを備える。ＣＰＵコア２１、外部バスインタフェース２２、ＤＲＡＭコントローラ２３、ＲＯＭコントローラ２４、ＬＡＮ  ＭＡＣ２５は、それぞれ内部バス２６に接続されている。
【００１７】
外部バスインタフェース２２は、フラッシュメモリ３０、ＳＲＡＭ３１、交換処理部３３に対するインタフェースである。外部バスインタフェース２２は、アドレスバス及びデータバスに接続されている。アドレスバスからアドレスを指定し、アクセスするデータの位置を指定する。また、データバスにより、フラッシュメモリ３０、ＳＲＡＭ３１、交換処理部３３とのデータのやりとりを行う。また、ＳＲＡＭ３１、交換処理部３３に対する制御信号も、外部バスインタフェース２２から出力される。ここで制御信号とは、データを読み込むためのリード信号、データを書き込むためのライト信号、チップを選択するチップセレクト等の信号を指す。
【００１８】
ＤＲＡＭコントローラ２３は、制御信号を出力することで、ＳＤＲＡＭ４０を制御する。またこれと共に、ＳＤＲＡＭ４０にアクセスするためのアドレス信号もＳＤＲＡＭに対して出力し、データバスを通じてＳＤＲＡＭ４０とのデータの入出力を行うインタフェースの役割も果たす。
【００１９】
ＲＯＭコントローラ２４は、フラッシュメモリ３０に対して制御信号を出力することで、フラッシュメモリ３０を制御する。
ＬＡＮ  ＭＡＣ２５は、通信に係る波形の生成や衝突検出等を行うＬＡＮ通信用のインタフェースであるＰＨＹ３２に対するインタフェースの役割を果たす。ＬＡＮ  ＭＡＣ２５では、ＬＡＮ通信にかかる送受信方法の決定や誤り検出等を行う。
【００２０】
フラッシュメモリ３０には、ＣＰＵコア２１でフェッチする動作プログラムが圧縮されて記憶されている。ＣＰＵ２０が圧縮された動作プログラムを読み込む際には、ＣＰＵ２０の起動と同時に、ＣＰＵ２０の外部バスインタフェース２２からアドレスバスを通じてプログラムの格納されたアドレスの指定を受け、同じく外部バスインタフェース２２に接続されるデータバスを通じてプログラムの出力を行う。またこの動作にかかる制御を行うための制御信号は、ＲＯＭコントローラ２４から受けつける。
【００２１】
交換処理部３３は、制御部１４から音声バス及び制御バスに対するインタフェースの役割を果たす。トランクユニット１１、ラインカード１２、ＴＳＷ１３、ＤＴＭＦ信号受信部１５は、音声バス及び制御バスを介して交換処理部３３に接続される。さらに、交換処理部は、アドレスバス及びデータバスを介してＣＰＵ２０の外部バスインタフェース２２に接続される。また、交換処理部３３は、外部バスインタフェース２２から制御信号も受け付ける。
【００２２】
ＳＤＲＡＭ４０は、プログラムを格納することができると共に、一般のデータを書き込むことができる。図３は、ＳＤＲＡＭ４０の構成を示す図である。図３に示すように、ＳＤＲＡＭ４０はプログラムエリア４１（書換禁止領域）とデータエリア４２とを持つ。プログラムエリア４１には、フラッシュメモリ３０に格納された、圧縮された動作プログラムがＣＰＵ２０により伸張されて格納される。データエリア４２は、ＣＰＵ２０が動作プログラムを実行する際のワークメモリとして使用される領域である。このプログラムエリア４１及びデータエリア４２のアドレスは、後に説明する比較回路（判断手段）が予め記憶している。
【００２３】
図４は、図２の制御部１４中のＳＤＲＡＭ４０に係る具体的な回路例を示す図である。この回路は、ＣＰＵ２０と、ＳＤＲＡＭ４０と、ＳＤＲＡＭ４０のプログラムエリア４１への書込み保護を行うか否かを制御するプロテクションレジスタ５０（書込保護設定手段）と、ＳＤＲＡＭ４０へ書き込むアドレス等の比較を行う比較回路５１（判断手段）と、比較回路による結果に応じて書き込みを抑制するゲート回路５２（書換抑制手段）とから構成されている。尚、図４において、制御部１４中で図２のＣＰＵ２０内のＲＯＭコントローラ２４及びＬＡＮ  ＭＡＣ２５、フラッシュメモリ３０、ＳＲＡＭ３１、ＰＨＹ３２、交換処理部３３については、記載を省略している。
【００２４】
ＣＰＵ２０内のＤＲＡＭコントローラ２３は、ＳＤＲＡＭアクセス用ステートマシン２３ａ及びリフレッシュカウンタ２３ｂから構成される。ＳＤＲＡＭアクセス用ステートマシン２３ａは、ＳＤＲＡＭ４０に対して制御を行い、データの入出力を行うインタフェースである。リフレッシュカウンタ２３ｂは、ＳＤＲＡＭ４０のバンクを指定し、特定時間（例えば１６μｓ）毎にリフレッシュを行うためのカウンタである。
【００２５】
ＣＰＵコア２１とＳＤＲＡＭアクセス用ステートマシン２３ａは、内部バス２６を介して接続されている。この内部バス２６には、ＳＤＲＡＭ４０にアクセスするアドレスを指定するためのアドレスバス、及びＳＤＲＡＭ４０に入出力されるデータをやり取りするデータバスが含まれる。またこの他に、ＣＰＵコア２１は、ＳＤＲＡＭ４０に対する制御信号もＳＤＲＡＭアクセス用ステートマシン２３ａに対して出力する。以下に、制御信号の詳細について説明する。
【００２６】
図４の例において、制御信号はＣＳ信号４０１、ＲＤ信号４０２、ＷＥ信号４０３、及びＢＥ信号４０４からなる。ＣＳ信号４０１は、ＳＤＲＡＭ４０を選択しているか否かを決定する信号であり、ＣＰＵ２０からＳＤＲＡＭ４０にアクセスする際には、ＣＳ信号４０１がアクティブとなる。ＲＤ信号４０２は、ＳＤＲＡＭ４０からデータを読み込む際にアクティブとなり、ＷＥ信号４０３はＳＤＲＡＭ４０にデータを書き込む際にアクティブとなる。
【００２７】
ＢＥ信号４０４は、処理単位である３２ビットの内、どのバイトを有効とするかを選択するための信号である。ＢＥ信号４０４は３２ビットバスをバイト（８ビット）毎に区切った信号であるので、即ち３２÷８＝４ビットの情報量を持つ。例えば上位１バイトのみを有効とする場合には、上位1バイトに対応する1ビットのＢＥ信号４０４がアクティブ、残り３バイトに対応する３ビットのＢＥ信号４０４が非アクティブとなる。
【００２８】
ＳＤＲＡＭアクセス用ステートマシン２３ａは、ＣＰＵコア２１からの信号を受けて、ＳＤＲＡＭ４０に対して信号を出力する。ＳＤＲＡＭ４０及びＳＤＲＡＭアクセスステートマシン２３ａは、アクセスするアドレスを指定するアドレス信号をやり取りするためのアドレスバス、及びデータのやり取りを行うためのデータバスで接続されている。また、これと共に、ＳＤＲＡＭアクセスステートマシン２３ａは、ＳＤＲＡＭ４０を制御するための制御信号も出力する。図４の例においてこの制御信号は、ＣＡＳ信号４０５、ＲＡＳ信号４０６、ＷＥ信号４０７、ＭＣＳ信号４０８、ＢＡ信号４０９、ＣＬＫ信号４１０、ＣＫＥ信号４１１、及びＤＱＭＢ信号４１２（有効領域指定信号）から構成される。
【００２９】
ＣＬＫ信号４１０は、ＳＤＲＡＭ４０を動作させるためのクロックである。ＳＤＲＡＭ４０の全ての入力信号及びデータの入出力信号は、ＣＬＫ信号４１０の立ち上がりエッジに同期する。ＣＫＥ信号４１１は、ＣＬＫ信号４１０が有効か否かを決定する信号である。あるＣＬＫ信号４１０の立ち上がりエッジで、ＣＫＥ信号４１１がハイレベルのとき、次のＣＬＫ信号４１０の立ち上がりエッジが有効となる。
【００３０】
ＢＡ信号４０９は、アクセスするＳＤＲＡＭ４０のバンクを指定するための信号である。例えば、ＳＤＲＡＭ４０がバンクを４つ持つ場合には、ＢＡ信号４０９は２ビットの情報量を持つ。
【００３１】
ＭＣＳ信号４０８は、ＳＤＲＡＭ４０を選択しているか否かを決定する信号である。ＭＣＳ信号４０８がアクティブのときに、ＳＤＲＡＭ４０に対してコマンドを入力することができる。
【００３２】
ＤＱＭＢ信号４１２は、例えば３２ビットのデータを出力する際に、有効とする領域を指定することができる。ＤＱＭＢ信号４１２が２ビットの情報量を持つ場合には、扱う３２ビットのうち、上位１６ビット、下位１６ビットをそれぞれ有効とするか否かをＤＱＭＢ信号４１２により定めることができる。たとえば上位１６ビットに対応するＤＱＭＢ信号４１２がアクティブであれば、上位１６ビットは無効となる。尚、このＤＱＭＢ信号４１２は、ＣＰＵコア２１からＳＤＲＡＭアクセス用ステートマシン２３ａに対して入力されるＢＥ信号４０４を受けた信号となる。ＤＱＭＢ信号４１２が例えば４ビットの情報量を持てば、ＢＥ信号４０４と同じ情報量となるので、ＢＥ信号４０４をそのままＤＱＭＢ信号４１２とすることも可能である。以下、ＤＱＭＢ信号４１２は２ビットであるものとして説明を行う。
【００３３】
ＣＡＳ信号４０５、ＲＡＳ信号４０６、ＷＥ信号４０７は、コマンドを入力するために使用される。図５は、ＣＡＳ信号４０５、ＲＡＳ信号４０６、及びＷＥ信号４０７を使用してＳＤＲＡＭ４０に入力されるコマンドの例である。尚、この例において、ＣＫＥ信号４１１はロウレベル（アクティブ）、ＭＣＳ信号４０８はロウレベル（アクティブ）とする。
【００３４】
ＣＢＲリフレッシュコマンドは、リフレッシュカウンタ２３ｂのタイミングに従って、一定時間毎に記憶素子の再充電を行うためのコマンドである。ＣＢＲリフレッシュコマンド入力後は、一定時間が経過するまで、全てのコマンドは受付不能となる。ＣＢＲリフレッシュコマンドは、ＲＡＳ信号４０６及びＣＡＳ信号４０５をロウレベル、ＷＥ信号４０７をハイレベルとしてＳＤＲＡＭ４０に入力される。
【００３５】
プリチャージコマンドは、ＳＤＲＡＭ４０の選択したバンクのプリチャージ動作を開始するコマンドである。尚プリチャージとは、データ読み出しの際に、記憶素子に対して電荷の補充を行う動作である。プリチャージコマンドは、ＲＡＳ信号４０６及びＷＥ信号４０７をロウレベル、ＣＡＳ信号４０５をハイレベルとすることでＳＤＲＡＭ４０に入力される。
【００３６】
アクティブコマンドは、ＢＡ信号で選択したバンクの行アドレスをラッチするためのコマンドである。アクティブコマンドが入力されている際のアドレス信号により、行アドレスが選択される。アクティブコマンドは、ＲＡＳ信号４０６をロウレベル、ＣＡＳ信号４０５及びＷＥ信号４０７をハイレベルとすることでＳＤＲＡＭ４０に入力される。
【００３７】
リードコマンドは、リード動作の開始と、列アドレスのラッチを行うコマンドである。列アドレスは、リードコマンドが入力されている際のアドレス信号により選択される。つまり、アクティブコマンド入力後にリードコマンドをＳＤＲＡＭ４０に入力することにより、ＳＤＲＡＭアクセス用ステートマシン２３ａは、選択したアドレスのデータをデータバスを通じて読み込むことができる。リードコマンドは、ＲＡＳ信号４０６及びＷＥ信号４０７をハイレベル、ＣＡＳ信号４０５をロウレベルとすることでＳＤＲＡＭ４０に入力される。
【００３８】
ライトコマンドは、ライト動作の開始と、列アドレスのラッチを行うコマンドである。列アドレスは、ライトコマンドが入力されている際のアドレス信号により選択される。つまり、アクティブコマンド入力後にライトコマンドをＳＤＲＡＭ４０に入力することにより、ＳＤＲＡＭアクセス用ステートマシン２３ａは、選択したアドレスのデータをデータバスを通じて書き込むことができる。ライトコマンドは、ＲＡＳ信号４０６をハイレベル、ＣＡＳ信号４０５及びＷＥ信号４０７をロウレベルとすることでＳＤＲＡＭ４０に入力される。
【００３９】
以上のような制御信号をＳＤＲＡＭ４０に出力することで、ＳＤＲＡＭアクセス用ステートマシン２３ａは、ＳＤＲＡＭ４０に対する制御を行う。
再び図４の説明に戻ると、プロテクションレジスタ５０は、ＳＤＲＡＭ４０に対する書込保護を行うか否かを設定するレジスタである。例えば、フラッシュメモリ３０に格納された圧縮された動作プログラムを、ＣＰＵ２０が伸張したものをＳＤＲＡＭ４０に対して書き込む際には、書込保護を行う必要は無い。しかしながら、プログラムをＳＤＲＡＭ４０に書き込んだ後は、これを上書きしてプログラムが暴走してしまう可能性があるため、書込保護を行う必要がある。プロテクションレジスタ５０は、この動作の切り替えを書込保護信号４１３（ＷＰ信号）の比較回路５１への出力により行う。
【００４０】
比較回路５１は、プロテクションレジスタ５０の制御により書込保護を行うと判断されたとき、即ちＷＰ信号４１３がアクティブなときに、アドレス信号、ＣＡＳ信号４０５、ＲＡＳ信号４０６、ＷＥ信号４０７、ＭＣＳ信号４０８、及びＢＡ信号４０９を参照し、データのＳＤＲＡＭ４０への書き込みを行うか否かを判断し、この結果をＷＰＡＣＣ信号４１４としてゲート回路に出力する。また、書き込みを行うか否かの判断結果は、ＮＭＩ信号４１５（通知信号）として、ＣＰＵ２０の外部バスインタフェース２２にも出力される。このＮＭＩ信号４１５は、プログラムエリア４１への書込み、即ちプログラムの欠陥をデバッグするための履歴情報を保持したり、ソフトウェア異常のリカバリ等を目的として利用され、書き込み保護をかけない、ＳＤＲＡＭ４０へのプログラム転送時等の書込みにはＮＭＩ信号４１５を発生させないようにプロテクションレジスタ５０と連動させる。ゲート回路５２は、比較回路で判断された書込保護を行うか否かに基づいて、ＤＱＭＢ信号４１２を制御する。比較回路５１及びゲート回路５２の動作については、後に詳述する。
【００４１】
次に、ＳＤＲＡＭアクセス用ステートマシン２３ａによる、ＳＤＲＡＭ４０への通常の書込動作について説明を行う。以下の説明において、書込保護は行わないものとする。図６は、ライトサイクルの動作のタイミングチャートである。時刻Ｔ１において、ＭＣＳ信号４０８がロウレベル（アクティブ）であり、また、ＲＡＳ信号４０６がロウレベル、ＣＡＳ信号４０５及びＷＥ信号４０７がハイレベルであることから、図５の表に示したように、アクティブコマンドが入力されている。これにより、アドレス信号から、行アドレスがＢＡ信号４０９からバンクが定められる。
【００４２】
次にＴ１に続く時刻Ｔ２において、ＭＣＳ信号４０８がロウレベル（アクティブ）であり、ＲＡＳ信号４０６がハイレベル、ＣＡＳ信号４０５及びＷＥ信号４０７がロウレベルであることから、図５の表に示したように、ライトコマンドが入力されている。これにより、アドレス信号から列アドレスが、ＢＡ信号４０９からバンクが取得される。
【００４３】
このＴ１及びＴ２で得られたバンク、行アドレス、列アドレスにより、書き込むべきアドレスが定められ、データバスを通じてＳＤＲＡＭアクセス用ステートマシン２３ａから入力されるデータを書き込むことになる。図６の例では、データのバースト長は４であり、それぞれ３２ビットの情報量を持つ。この３２ビット中、例えば上位１６ビットを無効とする場合には、ＳＤＲＡＭアクセス用ステートマシン２３ａは、上位１６ビットに対応するＤＱＭＢ信号４１２をロウレベル（アクティブ）とすれば良い。
【００４４】
続いて、比較回路５１の動作について図７を参照しながら説明を行う。図７は、比較回路５１の処理の流れを示すフローチャートである。まず比較回路５１は、プロテクションレジスタ５０から入力されるＷＰ信号４１３がロウレベル（アクティブ）か否かを判断する（ステップ７１）。ＷＰ信号４１３がハイレベル（非アクティブ）であれば、書き込みを保護する必要が無いと判断し、ゲート回路に出力するＷＰＡＣＣ信号４１４をハイレベル（非アクティブ）とする（ステップ７２）。これと共に、ＣＰＵ２０の外部バスインタフェース２２へ出力するＮＭＩ信号４１５もハイレベル（非アクティブ）とする。
【００４５】
次に、アクティブコマンドがＳＤＲＡＭ４０に入力されるか否かを判断する（ステップ７３、図６における時刻Ｔ１）。この判断は、ＭＣＳ信号４０８がロウレベル、ＲＡＳ信号４０６がロウレベル、ＣＡＳ信号４０５がハイレベル、ＷＥ信号４０７がハイレベルであれば、アクティブコマンドがＳＤＲＡＭ４０に入力されると判断することが可能である。これが、アクティブコマンドでなければ（ステップ７３のＮｏ）、特に書込保護を行う必要が無いので、ＷＰＡＣＣ信号４１４をハイレベル（非アクティブ）としてゲート回路に、ＮＭＩ信号４１５をハイレベル（非アクティブ）として外部バスインタフェース２２に出力する（ステップ７２）。ステップ７３においてアクティブコマンドであれば（ステップ７３のＹｅｓ）、ＢＡ信号４０９、アドレス信号から、バンク及び行アドレスを取得する（ステップ７４）。
【００４６】
さらに、アクティブコマンドの次に入力されるコマンドがライトコマンドであるか否かを判断する（ステップ７５）。この判断は、図６の例であれば、時刻Ｔ２直前のＣＬＫ信号４１０の立下り時刻（Ｔ２’）から時刻Ｔ２までの間に行う。ライトコマンドでなければ（ステップ７５のＮｏ）、即ち、ＭＣＳ信号４０８がロウレベル、ＲＡＳ信号４０６がハイレベル、ＣＡＳ信号４０５及びＷＥ信号４０７がロウレベルでなければ、書き込みを保護する必要が無いと判断し、ＷＰＡＣＣ信号４１４をハイレベル（非アクティブ）としてゲート回路５２に、ＮＭＩ信号４１５をハイレベル（非アクティブ）として外部バスインタフェース２２に出力する。
【００４７】
ライトコマンドであれば（ステップ７５のＹｅｓ）、ＢＡ信号４０９、アドレス信号からバンク及び列アドレスを取得する（ステップ７６）。この結果、ステップ７４及びステップ７６で取得したアドレスが、書き込みを保護すべきエリア、即ち図３に示すプログラムエリア４１にあるか否かを判断し（ステップ７７）、プログラムエリア４１内のアドレスであれば（ステップ７７のＹｅｓ）、書き込みを保護する必要があるものと判断してゲート回路５２に出力するＷＰＡＣＣ信号４１４、及び外部バスインタフェース２２に出力するＮＭＩ信号４１５をそれぞれロウレベル（アクティブ）とする。プログラムエリア４１内のアドレスでなければ、即ちデータエリア４２内のアドレスであれば（ステップ７７のＮｏ）保護する必要が無いものと判断し、ゲート回路５２に出力するＷＰＡＣＣ信号４１４、及び外部バスインタフェース２２に出力するＮＭＩ信号４１５をそれぞれハイレベル（非アクティブ）とする。
【００４８】
続いて、ゲート回路５２の処理について図８を参照して説明する。ゲート回路５２は、ＤＱＭＢ信号４１２をＳＤＲＡＭアクセス用ステートマシン２３ａから、ＷＰＡＣＣ信号４１４を比較回路から入力し、ＳＤＲＡＭ４０にＤＱＭＢ信号４１２を出力する。以下の説明において、ゲート回路５２にＳＤＲＡＭアクセス用ステートマシン２３ａから入力されるＤＱＭＢ信号４１２をＤＱＭＢｉｎ信号、ゲート回路５２からＳＤＲＡＭ４０に出力するＤＱＭＢ信号４１２をＤＱＭＢｏｕｔ信号と呼ぶ。尚、このＤＱＭＢｉｎ信号及びＤＱＭＢｏｕｔ信号は、上位１６ビットに対するものでも、下位１６ビットに対するものでも同一の動作をする。
【００４９】
図８は、ゲート回路５２に入力されるＤＱＭＢｉｎ信号及びＷＰＡＣＣ信号４１４と、ゲート回路５２から出力するＤＱＭＢｏｕｔ信号との関係を示す図である。
ＤＱＭＢｉｎ信号がロウレベル（アクティブ）である場合には、書き込みを保護する必要があるため、ＤＱＭＢｏｕｔ信号を強制的にロウレベル（アクティブ）とする。ＤＱＭＢｉｎ信号がハイレベル（非アクティブ）である場合には、書き込みを保護する必要が無いため、ＳＤＲＡＭアクセス用ステートマシン２３ａからの制御に従い、ＤＱＭＢｉｎ信号がロウレベル（アクティブ）の場合にはＤＱＭＢｏｕｔ信号もロウレベル（アクティブ）に、ＤＱＭＢｉｎ信号がハイレベル（非アクティブ）の場合にはＤＱＭＢｏｕｔ信号もハイレベル（非アクティブ）とする。
【００５０】
図９は、ゲート回路５２により書込みが保護される場合に、ライトサイクルにおいてＳＤＲＡＭ４０に入力される信号のタイミングチャートの例である。尚この図では、ライトコマンドが入力される時刻Ｔ２の直前のＣＬＫ信号４１０の立下り時刻Ｔ２’において比較回路にて書込保護を行うか否かを判断し、ゲート回路はこれを受けてＤＱＭＢ信号４１２を制御している。
【００５１】
この図に示すように、時刻Ｔ２のライトコマンド入力時に、ゲート回路５２によってＤＱＭＢ信号４１２がロウレベル（アクティブ）となっているため、入力されるデータは、ＳＤＲＡＭ４０に書き込まれることは無い。
【００５２】
以上説明したように、本実施例によれば、書き込みを行うアドレスがプログラムエリア４１のものか否かを比較回路５１で判断し、書き込みを抑制すべきだと判断されれば、ゲート回路５２のＤＱＭＢ信号４１２をアクティブとすることで、プログラムエリア４１への書き込みを抑制することができる。これにより、ＣＰＵ２０を制御する動作プログラムが上書きされることを抑制することができる。
【００５３】
さらに、ＷＥ信号４０７ではなく、ＤＱＭＢ信号４１２によりＳＤＲＡＭ４０への書き込みを抑制しているので、ＷＥ信号４０７、ＣＡＳ信号４０５、及びＲＡＳ信号４０６を用いるＳＤＲＡＭ４０へのコマンドの入力を妨げることも無い。
【００５４】
また、プログラムエリア４１への書込みが行われようとする際には、ＮＭＩ信号４１５によりこれをＣＰＵへ通知するので、プログラム異常のデバッグ等を行うことが可能となる。
【００５５】
本実施例によれば、プロテクションレジスタ５０により、比較回路５１及びゲート回路５２による書込保護を行うか否かを制御するので、動作プログラムをプログラムエリア４１に書き込む際には正常に処理した上で、後のプログラムエリア４１へのデータの書き込みを禁止するといった制御を行うことができる。
【００５６】
尚、本実施例では、電話交換機１０を例に説明を行っているがこの実施形態に限定されるものではなく、例えばＣＰＵ及びＲＡＭを搭載する一般のコンピュータなどであっても良く、あるいは制御部１４を実装した制御基板等であってもよい。
【００５７】
また、本実施例では、ＤＲＡＭコントローラ２３はＣＰＵ２０の内部に設けられていたが、制御部１４はこれを外部に備えても良い。ＤＲＡＭコントローラ２３を外部に設けた場合も、本実施例のように、ＳＤＲＡＭアクセスコントローラ２３ｂとＳＤＲＡＭ４０の間で同様に制御を行っても良いが、ＣＰＵ２０とＳＤＲＡＭアクセス用ステートマシンとの間で処理を行うことも可能である。図１０は、ＳＤＲＡＭアクセス用ステートマシン２３ａ及びリフレッシュカウンタ２３ｂをＣＰＵ２０の外部に設けた場合であって、ＣＰＵ２０とＳＤＲＡＭアクセス用ステートマシン２３間で書込保護を行う場合の、ＳＤＲＡＭ４０に係る具体的な回路例を示した図である。
【００５８】
図１０の例では、ＣＰＵ２０から出力されるアドレス信号、ＣＳ信号４０１、ＷＥ信号４０３が比較回路５１に入力されるようになっている。この場合は、ＣＳ信号４０１及びＷＥ信号４０３がアクティブであり、かつ、アドレス信号がＳＤＲＡＭ４０のプログラムエリア４１のアドレスを指していれば、ＷＰＡＣＣ信号４１４をアクティブとする。ゲート回路５２はＢＥ信号４０４に挟まれており、ＷＰＡＣＣ信号４１４がアクティブであれば、出力するＢＥ信号４０４を全て（ＣＰＵ２０が３２ビットでデータを処理する場合には４ビット全て）アクティブとする。ＷＰＡＣＣ信号が非アクティブである場合には、ＣＰＵ２０から出力されるＢＥ信号４０４をそのままＳＤＲＡＭアクセス用ステートマシン２３ａに出力する。これにより、本実施例と同様の効果を得ることが可能である。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施例１に係る電話交換機の構成を示すブロック図。
【図２】本発明の実施例１に係る制御部の構成を示すブロック図。
【図３】本発明の実施例１に係るＳＤＲＡＭの構成を示すブロック図。
【図４】本発明の実施例１に係る制御部中のＳＤＲＡＭに係る具体的な回路例を示す図。
【図５】本発明の実施例１に係る制御部のＳＤＲＡＭに入力されるコマンドの例を示す図。
【図６】本発明の実施例１に係る制御部のライトサイクルの動作にかかる信号のタイミングチャートの例を示す図。
【図７】本発明の実施例１に係る制御部の比較回路の処理の流れを示すフローチャート。
【図８】本発明の実施例１に係る制御部のゲート回路に係る信号の関係を示す図。
【図９】本発明の実施例１に係る制御部のゲート回路により書込みが保護される場合に、ライトサイクルにおいてＳＤＲＡＭに入力される信号のタイミングチャートの例を示す図。
【図１０】本発明の他の実施例に係る制御部のＳＤＲＡＭに係る具体的な回路例を示す図。
【符号の説明】
【００６０】
１０・・・電話交換機
１１・・・トランクユニット
１２・・・ラインカード
１３・・・タイムスイッチ部
１４・・・制御部
１５・・・ＤＴＭＦ信号受信部
１６・・・外部ネットワーク
１７ａ、１７ｎ・・・内線端末
２０・・・ＣＰＵ
２１・・・ＣＰＵコア
２２・・・外部バスインタフェース
２３・・・ＤＲＡＭコントローラ
２４・・・ＲＯＭコントローラ
２５・・・ＬＡＮ  ＭＡＣ
２６・・・内部バス
３０・・・フラッシュメモリ
３１・・・ＳＲＡＭ
３２・・・ＰＨＹ
３３・・・交換処理部
４０・・・ＳＤＲＡＭ
４１・・・プログラムエリア
４２・・・データエリア
５０・・・プロテクションレジスタ
５１・・・比較回路
５２・・・ゲート回路
４０１・・・ＣＳ信号
４０２・・・ＲＤ信号
４０３・・・ＷＥ信号
４０４・・・ＢＥ信号
４０５・・・ＣＡＳ信号
４０６・・・ＲＡＳ信号
４０７・・・ＷＥ信号
４０８・・・ＭＣＳ信号
４０９・・・ＢＡ信号
４１０・・・ＣＬＫ信号
４１１・・・ＣＫＥ信号
４１２・・・ＤＱＭＢ信号
４１３・・・ＷＰ信号
４１４・・・ＷＰＡＣＣ信号
４１５・・・ＮＭＩ信号
【図１】
2006209371.tif 000003
【図２】
2006209371.tif 000004
【図３】
2006209371.tif 000005
【図４】
2006209371.tif 000006
【図５】
2006209371.tif 000007
【図６】
2006209371.tif 000008
【図７】
2006209371.tif 000009
【図８】
2006209371.tif 000010
【図９】
2006209371.tif 000011
【図１０】
2006209371.tif 000012