JP2972805B2 - メモリーの書き込み保護回路 - Google Patents

メモリーの書き込み保護回路

Info

Publication number
JP2972805B2
JP2972805B2 JP63202253A JP20225388A JP2972805B2 JP 2972805 B2 JP2972805 B2 JP 2972805B2 JP 63202253 A JP63202253 A JP 63202253A JP 20225388 A JP20225388 A JP 20225388A JP 2972805 B2 JP2972805 B2 JP 2972805B2
Authority
JP
Japan
Prior art keywords
address
state
command
memory
memory access
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.)
Expired - Lifetime
Application number
JP63202253A
Other languages
English (en)
Other versions
JPH0250749A (ja
Inventor
幸二 竹田
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP63202253A priority Critical patent/JP2972805B2/ja
Publication of JPH0250749A publication Critical patent/JPH0250749A/ja
Application granted granted Critical
Publication of JP2972805B2 publication Critical patent/JP2972805B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はパーソナルコンピュータ等のIOアドレスおよ
びメモリアドレスのデコーダ部の構成に関するものであ
る。製品のバージョンアップの際に機能を拡張するため
にIOレジスタやメモリを追加することがあるが、その際
に追加されるIOレジスタやメモリのアドレスデコーダを
いかに構成するかについて述べている。
[従来の技術] パーソナルコンピュータをはじめとする情報処理装置
は通常、中央演算処理装置(以下CPUと記す)とメモリ
とIOコントローラとをその最低限の構成要素としてもっ
ている。又情報処理装置メーカーは定期的に製品のバー
ジョンアップを行っており、その際には従来の製品に対
して新製品ではメモリ及びIOコントローラについて機能
を一部追加することが多い。本発明はメモリ及びIOコン
トローラの機能を追加する場合に、追加される部分のメ
モリ及びIOコントローラのアドレスデコーダをいかに構
成すべきかについて述べるものであるが、メモリとIOコ
ントローラに関する本発明での議論はほとんど同じであ
るので、以下の説明はすべてIOコントローラにしぼって
進めることにする。IOコントローラの機能追加の例とし
て第3図の例を取り上げることにする。第3図(a)が
旧製品のIOコントローラのアドレスマッピングであり、
第3図(b)が新製品のIOコントローラのアドレスマッ
ピングである。IOアドレスは16進数で表示してある。又
この例ではIOアドレスは10ビットであるものとする。す
なわちIOアドレススペースは000〜3FFの1024バイトとす
る。旧製品にはプリンタインターフェース,フロッピー
ディスクインターフェース,RS232Cインターフェースの
3つのIOコントローラがあるが、新製品では、これらに
さらに拡張レジスタ(IOアドレス=1B0)を追加するも
のとする。
旧製品のIOコントローラのアドレスデコーダは第4図
のようになる。AENはDMAアドレスイネーブル信号であ
り、AEN=1のときDMAサイクル,AEN=0のときCPUサイ
クルであることを示している。XA9〜XA0はアドレスバス
である。101,102,103はANDゲートであり、それぞれプリ
ンタインターフェース,フロッピーディスクインターフ
ェース,RS232Cインターフェースのアドレスをデコード
している。第4図はごく普通に使われるアドレスデコー
ダである。又新製品で追加される拡張レジスタ及びその
アドレスデコーダは従来は第5図のように構成されてき
た。図中、−XIOWは負極性のIOライトパルスであり、XD
7〜XD0はデータバスである。1は拡張レジスタであり、
EX7〜EX0はその出力である。104はNANDゲートであり、I
Oアドレス1B0(16進)をデコードし、拡張レジスタ1の
書き込みパルスを作っている。
機能を追加する場合、第5図のような回路はごく普通
に使われてきたものであるが、これには以下に説明する
ような問題がある。
IOアドレス1B0H(以下16数表示は数字の最後にHをつ
けて表わすことにする)は旧製品においては使われてい
ないアドレスであり、追加する拡張レジスタにこの使わ
れていなかったアドレスを割当てたのだから本来問題は
ないはずである。しかし、最近の傾向として、パーソナ
ルコンピュータなどでは製品を提供するハードウェアメ
ーカーとその製品上で走らせるアプリケーションプログ
ラムを提供するソフトウェアメーカーとは別々であり、
ソフトウェアメーカーはとくかく実際の製品上でアプリ
ケーションプログラムが走りさえすればよいので、製品
の仕様書をチェックし、仕様に合わない使い方をしてい
るかいないかまでは確認しない場合がある。アプリケー
ションプログラムが製品上で正しく動作するということ
しか確認しないという場合が多い。したがって旧製品に
おける未定義IOアドレスの1B0Hを無用心に使ってしまう
ということがある。たとえばプログラムの途中において
時間調整のためのウェイトを入れるために、1B0Hへの10
ライトコマンドを実行しているというようなこともあり
えるわけである。そのような場合には旧製品用に作られ
たアプリケーションプログラムは新製品上では追加され
た拡張レジスタ(Iアドレス1B0H)をこわしてしまう
ため正しく走らなくなってしまう。旧製品から新製品に
バージョンアップする際に追加された機能というのは、
その追加された機能を使った新しいアプリケーションプ
ログラムが出てこないと、生かされないものである。し
かし、旧製品用に作られた数多くのアプリケーションプ
ログラムは新製品上でも、たとえ新製品の拡張機能は生
かされないまでも、旧製品と同様に正しく動作しなけれ
ばならない。第5図の回路では正しく動作しない危険性
がある。
第5図を改良した回路として第6図が考えられる。10
6はフリップフロップであり、拡張レジスタ1へのアク
セスの許可及び禁止をコントロールしている。106の出
力が1のとき拡張レジスタ1への書き込みは許可され、
0のとき禁止される。105はNANDゲートであり、アドレ
ス1BFHをデコードしており、ブリップフロップ106への
書き込みパルスを作っている。107はNANDゲートであ
り、拡張レジスタ1への書き込みパルスを作っている。
107は第5図104に比べ、フリップフロップ106の出力が
1のときIOアドレス1B0Hへのアクセスが可能という条件
がつけ加えられている。IOアドレス1BFHのビット7に1
を書き込むと拡張レジスタ1へのアクセスは許可され、
0を書き込むと禁止される。通常は0が書き込まれてお
り、拡張レジスタ1へのアクセスは禁止されている。拡
張レジスタ1へデータを書き込む場合にのみ、その前に
IOアドレス1BFHのビット7に1を書き込み、拡張レジス
タ1へのデータの書き込みが終わったあと、又Iアド
レス1BFHのビット7に0が書き込まれる。
第6図の回路は第5図に比べて不具合点が改善されて
はいるがまだ充分とはいえない。アプリケーションプロ
グラムが不用意にIOアドレス1BFHのビット7に1を書き
込むようなコマンドを実行してしまうとその後はフリッ
プフロップ106の出力はずっと1になってしまう。その
後で又、アプリケーションプログラムが不用意にIOアド
レス1B0Hをアクセスするようなことがあると拡張レジス
タ1の内容はこわれてしまう。第5図に比べ確率的には
かなり低くなっているがまだ完全とはいえない。
[発明が解決しようとする課題] 本発明の目的は以上説明してきた問題点、すなわち情
報処理装置のバージョンアップの際に追加されるIOレジ
スタが、アプリケーションプログラムの不用意なアクセ
スによりこわれてしまうことがあるという問題点、を解
決する装置を提供することにある。さらに、バージョン
アップの際に追加された拡張レジスタについて、これを
有する上位の情報処理装置とこれを有しない下位の情報
処理装置に対して、下位の装置でしか本来実行され得な
いソフトウェアであっても上位装置での互換性を確保す
るための簡単なハードウェアをもつ情報処理装置の実現
を目的とする。
[課題を解決するための手段] 本発明のメモリーの書き込み保護回路は、 指定されたアドレスに対応するメモリをアクセスする
メモリアクセスコマンドを実行する装置のメモリーの書
き込み保護回路において、 前記メモリアクセスコマンドのアドレスと第1の所定
のアドレスとの一致又は不一致を検出する第1のアドレ
ス検出手段と、 前記メモリアクセスコマンドのアドレスと第2の所定
のアドレスとの一致又は不一致を検出する第2のアドレ
ス検出手段と、 前記メモリアクセスコマンドのアドレスと前記指定さ
れたアドレスとの一致又は不一致を検出する第3のアド
レス検出手段と、 コマンドシーケンサとを具備し、 前記コマンドシーケンサは状態記憶手段と状態制御手
段とを含み、 該状態制御手段は、初期状態として該状態記憶手段に
第1の状態を記憶せしめ、 前記第1のアドレス検出手段がメモリアクセスコマン
ドのアドレスと前記第1の所定のアドレスとの一致を検
出し、かつ前記状態記憶手段が前記第1の状態であると
きには、前記状態記憶手段に第2の状態を記憶せしめ、 前記第2のアドレス検出手段がメモリアクセスコマン
ドのアドレスと前記第2の所定のアドレスとの一致を検
出し、かつ前記状態記憶手段が第2の状態であるときは
前記状態記憶手段に第3の状態を記憶せしめてなり、 前記第3のアドレス検出手段がメモリアクセスコマン
ドのアドレスと前記指定されたアドレスとの一致を検出
し,かつ前記状態記憶手段が第3の状態のときに前記指
定されたアドレスに対応した前記メモリをアクセスして
なることを特徴とする。
[実施例] 以下実施例にもとづいて本発明の説明をする。第1図
が本発明の実施例であり、新製品において追加された拡
張レジスタとそのアドレスデコーダの構成法を示してい
る。1は拡張レジスタでありこれが新製品において追加
されたレジスタである。2はNANDゲートであり、IOアド
レス1B0Hをデコードして、拡張レジスタ1への書き込み
パルスを作っている。3,4はANDゲートであり、それぞれ
IOアドレス37BH及び1BFHをデコードしている。5はNAND
ゲートであり、CPUがIOライトコマンドを実行したとき
パルスを発生し、これがコマンドシーケンサ8のクロッ
クとなっている。8はコマンドシーケンサであり、2つ
のフリップフロップ(以下FFと記す)6と7をもってお
り、特定のコマンドシーケンスが実行されるのを検出す
る。フリップフロップ7はコマンドシーケンスの実行の
状態を記憶し、コマンドシーケンサ8内のアンドゲート
は該状態の制御をする。FF6及び7のQ出力をそれぞれQ
0,Q1と記す。Q1はNANDゲート2の入力になっており、拡
張レジスタ1へのアクセスはQ1=1のときのみ可能とな
っている。
コマンドシーケンサ8の動作を第2図で説明する。ま
ずはじめはFF6及び7はRESET信号により初期リセットさ
れておりQ0=Q1=0となっている。この状態をS0と記
す。コマンドシーケンサ8のクロックはNANDゲート5に
よって作られており、信号AEN=0で信号−XIOW=0の
とき、すなわちCPUがIOライトコマンドを実行したとき
のみコマンドシーケンサ8は状態が遷移する。それ以外
の時は前の状態を保っている。S0においてCPUがIOアド
レス1BFHへのIOライトコマンドを実行するとANDゲート
4の出力が1となりQ0=1となる。このときQ1は0のま
まである。このQ0=1,Q1=0の状態をS1とする。S0にお
いて1BFH以外へのIOライトコマンドを実行してもコマン
ドシーケンサはS0のままである。次にS1の状態におい
て、37BHへのIOライトコマンドを実行するとANDゲート
3の出力が1となり、Q1=1となる。又このときQ0は0
にもどる。Q0=0,Q1=1の状態をS2とする。S1の状態に
おいて37BH以外へのIOライトコマンドを実行するとQ0
0,Q1=0となりS0に戻ってしまう。S2の状態においては
Q1=1であり、このときのみNANDゲート2が有効にな
る。すなわちS2の状態において、1B0HへのIOライトコマ
ンドを実行すると拡張レジスタ1へのアクセスができ
る。S2の状態においてIOライトコマンドを実行すると次
は必ずS0の状態にもどってしまう。
以上のように、第1図の回路においては拡張レジスタ
1へのアクセスはS2の状態においてのみ可能となる。S2
の状態というのはIOアドレス1BFHへのIOライトコマンド
にひき続いてIOアドレス37BHへのIOライトコマンドを実
行した場合にのみたどりつくことができ、さらにこのS2
の状態において、ひき続いてIOアドレス1B0HへのIOライ
トコマンドを実行したときのみ拡張レジスタ1へデータ
を書き込むことができる。すなわち第1図の回路におい
て拡張レジスタ1へデータを書き込むためには以上の3
つのIOライトコマンドを連続して実行しなければならな
い。この方法によれば拡張レジスタ1へのアクセスは多
少めんどうになるが、アプリケーションプログラムの不
用意なアクセスからは拡張レジスタ1を保護することが
できる。すなわち、アプリケーションプログラムが上記
3つのIOライトコマンドを偶然連続して実行した場合に
のみ拡張レジスタ1の内容がこわされるわけであるが、
そのような確率はほとんど0であるといえる。
[発明の効果] 製品のバージョンアップの際に追加されるIOレジスタ
へのアクセスが特定のコマンドシーケンス(第1図にお
いては2つのIOライトコマンド)の直後においてのみ可
能となるような回路(暗号回路と考えることができる)
をアドレスデコーダの中に組み込むことにより、従来か
らあるアプリケーションプログラム(バージョンアップ
の前の製品のために作られたもの)が新製品において追
加されたIOレジスタを不用意にこわしてしまうという問
題を解決することができた。本発明によれば製品のバー
ジョンアップの際に機能の拡張をしても、従来のアプリ
ケーションプログラムをバージョンアップされた新製品
の上でも問題なく動作させることができる。
また、該情報処理装置のバージョンアップをする際に
アドレスデコーダのわずかな改造だけで従来のアプリケ
ーションプログラムに対する互換性を確保することがで
きる。
さらに、アドレスデコーダ内のコマンドシーケンスは
他のアドレスに対するメモリアクセスコマンドを実行す
れば状態が初期状態に戻されるため、不用意なメモリア
クセス確率が著しく減少する。
【図面の簡単な説明】
第1図は本発明の実施例を示す図であり、第2図は第1
図中のコマンドシーケンサ8の動作説明を示す図であ
る。第3図は製品のバージョンアップの例を示した図で
あり、第4図は旧製品のアドレスデコーダの例を示す図
であり、第5図と第6図は新製品で追加された部分(従
来の技術)を示す図である。 1……拡張レジスタ 2,5,104,105,107……NANDゲート 3,4,101,102,103……ANDゲート 6,7,106……フリップフロップ 8……コマンドシーケンサ

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】指定されたアドレスに対応するメモリをア
    クセスするメモリアクセスコマンドを実行する装置のメ
    モリーの書き込み保護回路において、 前記メモリアクセスコマンドのアドレスと第1の所定の
    アドレスとの一致又は不一致を検出する第1のアドレス
    検出手段と、 前記メモリアクセスコマンドのアドレスと第2の所定の
    アドレスとの一致又は不一致を検出する第2のアドレス
    検出手段と、 前記メモリアクセスコマンドのアドレスと前記指定され
    たアドレスとの一致又は不一致を検出する第3のアドレ
    ス検出手段と、 コマンドシーケンサとを具備し、 前記コマンドシーケンサは状態記憶手段と状態制御手段
    とを含み、 該状態制御手段は、初期状態として該状態記憶手段に第
    1の状態を記憶せしめ、 前記第1のアドレス検出手段がメモリアクセスコマンド
    のアドレスと前記第1の所定のアドレスとの一致を検出
    し、かつ前記状態記憶手段が前記第1の状態であるとき
    には、前記状態記憶手段に第2の状態を記憶せしめ、 前記第2のアドレス検出手段がメモリアクセスコマンド
    のアドレスと前記第2の所定のアドレスとの一致を検出
    し,かつ前記状態記憶手段が第2の状態であるときは前
    記状態記憶手段に第3の状態を記憶せしめてなり、 前記第3のアドレス検出手段がメモリアクセスコマンド
    のアドレスと前記指定されたアドレスとの一致を検出
    し、かつ前記状態記憶手段が第3の状態のときに前記指
    定されたアドレスに対応した前記メモリをアクセスして
    なることを特徴とするメモリーの書き込み保護回路。
JP63202253A 1988-08-12 1988-08-12 メモリーの書き込み保護回路 Expired - Lifetime JP2972805B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63202253A JP2972805B2 (ja) 1988-08-12 1988-08-12 メモリーの書き込み保護回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63202253A JP2972805B2 (ja) 1988-08-12 1988-08-12 メモリーの書き込み保護回路

Publications (2)

Publication Number Publication Date
JPH0250749A JPH0250749A (ja) 1990-02-20
JP2972805B2 true JP2972805B2 (ja) 1999-11-08

Family

ID=16454486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63202253A Expired - Lifetime JP2972805B2 (ja) 1988-08-12 1988-08-12 メモリーの書き込み保護回路

Country Status (1)

Country Link
JP (1) JP2972805B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1981271A (zh) * 2004-07-08 2007-06-13 松下电器产业株式会社 主机、存储装置以及对存储装置的访问方法
JP5438531B2 (ja) 2010-01-20 2014-03-12 株式会社Shカッパープロダクツ Nb3Sn超電導線材の製造方法、及びNb3Sn超電導線材

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61175670A (ja) * 1985-01-30 1986-08-07 富士通株式会社 パスワ−ド判定回路
JPS6224342A (ja) * 1985-07-23 1987-02-02 Matsushita Electric Ind Co Ltd メモリ−デ−タ保護回路内蔵制御装置

Also Published As

Publication number Publication date
JPH0250749A (ja) 1990-02-20

Similar Documents

Publication Publication Date Title
US6073206A (en) Method for flashing ESCD and variables into a ROM
US6725178B2 (en) Use of hidden partitions in a storage device for storing BIOS extension files
US5751975A (en) Method and apparatus for interfacing a device compliant to a first bus protocol to an external bus having a second bus protocol and for providing virtual functions through a multi-function intelligent bridge
US5701417A (en) Method and apparatus for providing initial instructions through a communications interface in a multiple computer system
US10445088B2 (en) System boot code clone
EP2660752B1 (en) Memory protection circuit, processing unit, and memory protection method
US6119192A (en) Circuit and method for configuring a bus bridge using parameters from a supplemental parameter memory
EP3242214B1 (en) Method and device for protecting information of mcu chip
US20060136134A1 (en) Information processing apparatus and method for obtaining software processing log
US20060090053A1 (en) Program-controlled unit
US20060112246A1 (en) Program-controlled unit
CN114721493B (zh) 芯片启动方法、计算机设备及可读存储介质
JP3202700B2 (ja) 信号処理装置
JPH0724029B2 (ja) エミュレーション装置
EP0676687B1 (en) Power management units for computer systems
JP2972805B2 (ja) メモリーの書き込み保護回路
EP3022643B1 (en) Techniques for dynamically redirecting device driver operations to user space
US7533233B2 (en) Accommodating multiple operating systems and memory sizes on IA-32 platforms
US20210232384A1 (en) System and Method for Runtime Capsule Firmware Update with Low-Latency Software SMIs
US20010049794A1 (en) Write protection software for programmable chip
US20060080519A1 (en) Program-controlled unit
US6560698B1 (en) Register change summary resource
US20200174920A1 (en) Method for randomizing address space layout of embedded system based on hardware and apparatus for the same
JPH0934795A (ja) Cpuプログラムのコピープロテクト法
JPH10312307A (ja) コンピュータシステムに適用するエミュレータ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 9

EXPY Cancellation because of completion of term