JPH08272603A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH08272603A
JPH08272603A JP7076691A JP7669195A JPH08272603A JP H08272603 A JPH08272603 A JP H08272603A JP 7076691 A JP7076691 A JP 7076691A JP 7669195 A JP7669195 A JP 7669195A JP H08272603 A JPH08272603 A JP H08272603A
Authority
JP
Japan
Prior art keywords
address
data
storage
rom
program
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
JP7076691A
Other languages
English (en)
Inventor
Takashi Kimura
隆 木村
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 JP7076691A priority Critical patent/JPH08272603A/ja
Publication of JPH08272603A publication Critical patent/JPH08272603A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【構成】プログラムメモリ及びデータメモリを内蔵した
マイクロコンピュータ。マイクロコンピュータ101
は、プログラム命令を記憶する内部ROM103と外部
ROM105の両方のプログラムメモリで動作する。内
部ROMに入力されるアドレスバスの入力信号の値が、
CPUに内蔵されたプログラムカウンタ107の値と一
致した時のみ、内部ROMのデータがデータバス113
に出力される。これにより外部ROMのプログラム実行
中、つまりプログラムカウンタが内部ROMのアドレス
空間以外を示している時は、内部ROMのチップセレク
ト信号(CS0)はハイレベルとならないため、内部R
OMのデータは読み出されない。 【効果】内蔵プログラムメモリのデータを外部へ読み出
せなくすることで、第三者にプログラムを読みとられた
り、マイクロコンピュータを使用したシステムのコピー
(真似)を防止することができ、機密性がを保たれる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラムメモリ(命
令情報記憶手段)およびデータメモリ(数値情報記憶手
段)を内蔵したマイクロコンピュータ(データ処理装
置)に関する。
【0002】
【従来の技術】図8は、従来の8ビットマイクロコンピ
ュータとメモリを組み合わせたシステム図である。80
1は8ビットマイクロコンピュータ、802はCPU、
803はプログラム命令およびデータを記憶する内部R
OM(ROM−I)、804はデータを記憶する内部R
AM(RAM−I)、805はプログラム命令およびデ
ータを記憶する外部ROM(ROM−O)、806はデ
ータを記憶する外部RAM(RAM−O)、807は次
に実行するプログラムメモリのアドレス(番地)を指定
するプログラムカウンタ(命令番地記憶手段)(P
C)、808はデータメモリのアドレスを指定するイン
デックスレジスタ(IX)、809はCPUに内蔵され
るデータレジスタ(A)、810はプログラム命令や命
令サイクルによりプログラムカウンタのデータ815ま
たはインデックスレジスタのデータ816のどちらか一
方をアドレスバス(記憶番地指定手段)812に出力す
るアドレスセレクタ、811は外部メモリのデータのリ
ードおよびライト時に、データバス(データ転送手段)
813と外部バス814のインターフェースをするバス
コントローラである。アドレスバス812はCPUから
出力され、プログラムメモリやデータメモリのアドレス
を指定する信号である。データバス813はメモリ(R
OM−I、RAM−I、ROM−O、RAM−O)とC
PUとのデータ転送に使用され、外部バス814は外部
メモリ(ROM−OとRAM−O)とCPUとのデータ
転送に使用される。ROM−I、RAM−I、ROM−
O、RAM−Oは共通のアドレスバス812に接続され
ているため、図6に示すように共通のアドレス空間に配
置される。そのため、どのアドレス空間にもプログラム
メモリを配置したり、データメモリを配置したりするこ
とができる。例えばROM−Iをプログラムメモリとし
て使用するだけでなく、読み出し専用のデータメモリと
しても使用することができる。本従来例ではROM−I
がアドレス0000H番地〜3FFFH番地(HはHE
Xデータを表す)、RAM−Iがアドレス4000H番
地〜5FFFH番地、ROM−Oがアドレス6000H
番地〜BFFFH番地、RAM−OがC000H番地〜
FFFFH番地に割り付けられている。
【0003】本従来例のようにシステムがマイクロコン
ピュータに内蔵するプログラムメモリ(ROM−I)と
マイクロコンピュータに内蔵しないプログラムメモリ
(ROM−O)の両方のプログラムで動作する場合、下
記に示すようなプログラムを内蔵したROMをROM−
Oと差し替えることにより、容易にROM−Iのデータ
を読み出すことができる。
【0004】 LD IX,0000H LD A,[IX] LD IX,C000H LD [IX],A LD IX,0001H LD A,[IX] LD IX,C001H LD [IX],A : : (略) : LD IX,3FFFH LD A,[IX] LD IX,FFFFH LD:転送命令 IX:インデックスレジスタ A:デ
ータレジスタ [IX]:インデックスレジスタで指定されたアドレス
のデータ 上記のプログラムの動作について説明する。図10はプ
ログラム実行時のタイミングチャートである。1001
はCPUの動作クロック、1002はプログラムカウン
タのデータ、1003はインデックスレジスタのデー
タ、1004はアドレスバスのデータ、1005はデー
タバスのデータ、1006は外部バスのデータ、100
7はCPUのリード信号(ハイレベルでリード)、10
08はCPUのライト信号(ハイレベルでライト)、1
009はROM−Iのチップセレクト信号(ハイレベル
でセレクト)、1010はRAM−Iのチップセレクト
信号(ハイレベルでセレクト)、1011はROM−O
のチップセレクト信号(ハイレベルでセレクト)、10
12はRAM−Oのチップセレクト信号(ハイレベルで
セレクト)である。最初の命令(LD IX,0000
H)で、インデックスレジスタに0000Hを書き込
む。次の命令(LD A,[IX])で、インデックス
レジスタで指定されたアドレス0000H番地(ROM
−Iの先頭番地)のデータが、データバスを通じデータ
レジスタに書き込まれる。次の命令(LDIX,C00
0H)でインデックスレジスタにC000Hを書き込
む。次の命令(LD [IX],A)でデータレジスタ
のデータ(ROM−Iの先頭番地のデータ)が、インデ
ックスレジスタで指定されたアドレスC000H番地
(RAM−Oの先頭番地)にデータバスおよび外部バス
を通じ書き込まれる。同様にして、アドレス0001H
番地〜3FFFH番地のROM−IのデータをRAM−
Oに書き込むことができる。以上のようにして、ROM
−Iのデータがマイクロコンピュータの外部へ外部バス
を通じて出力させることができる。これはほんの一例の
プログラムで、この他にも多々のプログラムにより読み
出すことが可能である。
【0005】
【発明が解決しようとする課題】ところが従来のマイク
ロコンピュータの場合、外部ROMを交換することによ
り容易に内部ROMのデータを読みとられ、マイクロコ
ンピュータを使用したシステムが第三者にコピー(真
似)されるという問題があった。
【0006】本発明の目的は、マイクロコンピュータに
内蔵するメモリデータを外部へ読み出せなくすることに
より、内蔵プログラム(ソフトウェア)の機密性を保持
することである。
【0007】
【課題を解決するための手段】上記目的は、命令情報を
記憶する命令情報記憶手段と、次に実行する命令の記憶
番地を記憶する命令番地記憶手段と、前記命令情報記憶
手段の記憶番地と数値情報を記憶する数値情報記憶手段
の記憶番地を指定する記憶番地指定手段を有するデータ
処理装置において、前記命令番地記憶手段の記憶番地の
値が前記命令情報記憶手段の記憶番地内にない場合、前
記記憶番地指定手段が前記命令情報記憶手段の記憶番地
を指定しても、前記命令情報記憶手段の命令情報がデー
タ転送手段へ出力されないことにより達成される。
【0008】また前記目的は、前記データ処理装置にお
いて、前記命令番地記憶手段の記憶番地の値が前記命令
情報記憶手段の記憶番地内にない場合、前記記憶番地指
定手段が前記命令情報記憶手段の記憶番地を指定して
も、前記命令情報記憶手段の命令情報が前記記憶番地指
定手段で指定された番地と異なる番地の記憶情報をデー
タ転送手段に出力することにより達成される。
【0009】前記目的は更に、前記データ処理装置にお
いて、前記命令番地記憶手段の記憶番地の値が前記命令
情報記憶手段の記憶番地内にない場合、前記記憶番地指
定手段が前記命令情報記憶手段の記憶番地を指定して
も、前記命令情報記憶手段の命令情報が前記記憶番地指
定手段で指定された番地の記憶情報と異なる記憶情報を
データ転送手段に出力することにより達成される。
【0010】
【実施例】以下、本発明の実施例を図1、図2、図3、
図4、図5、図6、図9を用いて説明する。図1は本発
明の8ビットマイクロコンピュータとメモリを組み合わ
せたシステム図である。101は8ビットマイクロコン
ピュータ、102はCPU、103はプログラム命令を
記憶する内部ROM(ROM−I)、104はデータを
記憶する内部RAM(RAM−I)、105はプログラ
ム命令およびデータを記憶する外部ROM(ROM−
O)、106はデータを記憶する外部RAM(RAM−
O)、107は次に実行するプログラムメモリのアドレ
スを指定するプログラムカウンタ(PC)、108はデ
ータメモリのアドレスを指定するインデックスレジスタ
(IX)、109はCPUに内蔵されるデータレジスタ
(A),110はプログラム命令や命令サイクルにより
プログラムカウンタのデータ115またはインデックス
レジスタのデータ116のどちらか一方をアドレスバス
112に出力するアドレスセレクタ、111は外部メモ
リのデータのリードおよびライト時に、データバス11
3と外部バス114のインターフェースをするバスコン
トローラである。バスコントローラの動作について、図
5を用いて簡単に説明する。501はアドレスバスが外
部メモリ空間(アドレス6000H番地〜FFFFH番
地)を示す時ハイレベルとなる信号、502はCPUが
外部メモリ空間にデータをライトする時ハイレベルとな
る信号、503はCPUが外部メモリ空間のデータをリ
ードする時ハイレベルとなる信号である。CPUが外部
メモリ空間にデータをライトする時は、クロックドバッ
ファ504を通じデータバスと外部バスが接続される。
CPUが外部メモリ空間のデータをリードする時は、ク
ロックドバッファ505を通じデータバスと外部バスが
接続される。よってアドレスバスが内部メモリ空間(ア
ドレス0000H番地〜5FFFH番地)を示している
時は、データバスと外部バスは接続されない。アドレス
バス112はCPUから出力され、プログラムメモリや
データメモリのアドレスを指定する信号である。データ
バス113はメモリ(ROM−I、RAM−I、ROM
−O、RAM−O)とCPUとのデータ転送に使用さ
れ、外部バス114は外部メモリ(ROM−OとRAM
−O)とCPUとのデータ転送に使用される。本実施例
のメモリのアドレス空間は図6に示すように、ROM−
Iがアドレス0000H番地〜3FFFH番地、RAM
−Iがアドレス4000H番地〜5FFFH番地、RO
M−Oがアドレス6000H番地〜BFFFH番地、R
AM−OがC000H番地〜FFFFH番地に割り付け
られている。ROM−Iの構造は図2に示すように、R
OM−Iのアドレス入力ピン(A00〜A11)にはC
PUから出力されるアドレスバスのA00〜A11が接
続され、ROM−Iのチップセレクト入力ピン(CS
0)には、アドレスバスが0000H〜3FFFHを示
す時ハイレベルとなるNORゲート201の出力と、プ
ログラムカウンタが0000H〜3FFFHを示す時ハ
イレベルとなるNORゲート202の出力の両方の信号
を入力とするANDゲード203の出力が接続される。
これによりROM−Oのプログラムの実行中、いわゆる
プログラムカウンタがROM−Iのアドレス空間以外
(アドレス4000H番地〜FFFFH番地)を示して
いる時は、ROM−Iのチップセレクト信号(CS0)
はハイレベルとならないため、ROM−Iのデータは読
み出されない。従来例では図9に示すように、ROM−
Iのチップセレクト入力ピン(CS0)には、アドレス
バスのみが接続されていたため、プログラムカウンタが
ROM−Oのアドレス空間を示していても、チップセレ
クト信号(CS0)がハイレベルとなり、ROM−Iの
データが読み出されていた。
【0011】本実施例の動作について、下記プログラム
を用いて説明する。図7は下記プロ LD IX,0000H LD A,[IX] LD IX,C000H LD [IX],A LD IX,0001H LD A,[IX] LD IX,C001H LD [IX],A : : (略) : LD IX,3FFFH LD A,[IX] LD IX,FFFFH LD:転送命令 IX:インデックスレジスタ A:デ
ータレジスタ [IX]:インデックスレジスタで指定されたアドレス
のデータ グラム実行中のタイミングチャートである。701はC
PUの動作クロック、702はプログラムカウンタのデ
ータ、703はインデックスレジスタのデータ、704
はアドレスバスのデータ、705はデータバスのデー
タ、706は外部バスのデータ、707はCPUのリー
ド信号(ハイレベルでリード)、708はCPUのライ
ト信号(ハイレベルでライト)、709はROM−Iの
チップセレクト信号(ハイレベルでセレクト)、710
はRAM−Iのチップセレクト信号(ハイレベルでセレ
クト)、711はROM−Oのチップセレクト信号(ハ
イレベルでセレクト)、712はRAM−Oのチップセ
レクト信号(ハイレベルでセレクト)である。最初の命
令(LD IX,0000H)で、インデックスレジス
タに0000Hを書き込む。次の命令(LD A,[I
X])で、インデックスレジスタで指定されたアドレス
0000H番地(ROM−Iの先頭番地)のデータを、
データバスを通じデータレジスタに書き込もうとする
が、プログラムカウンタの値(6001H)がROM−
Oのアドレス空間を示しているため、ROM−Iのチッ
プセレクト信号(CS0)がロウレベルのままで、アド
レス0000H番地のデータはデータバスに出力されな
い。そのため、データレジスタには不定のデータが書き
込まれてしまう。次の命令(LD IX,C000H)
でインデックスレジスタにC000Hを書き込む。次の
命令(LD [IX],A)でデータレジスタのデータ
(不定のデータ)が、インデックスレジスタで指定され
たアドレスC000H番地(RAM−Oの先頭番地)に
データバスおよび外部バスを通じて書き込まれる。よっ
て、ROM−Iのデータをマイクロコンピュータの外部
へ出力することはできない。この他にもどんなプログラ
ムを使用してもROM−Iのデータを外部に読み出すこ
とは不可能である。
【0012】本実施例では内部ROMのアドレス入力に
はアドレスバスを接続し、チップセレクト信号にアドレ
スバスとプログラムカウンタのデータを使用している
が、この他にも内部ROMのアドレス入力にプログラム
カウンタのデータを入力し、チップセレクト信号にアド
レスバスとプログラムカウンタのデータを入力したりす
ることもできる。その他に、リード信号にANDゲート
などを追加し、リード信号がハイレベルにならないよう
に制御することも考えられる。また、内部のROM空間
すべてを読み出せなくするのではなく、ある一部のRO
M空間だけ読み出せなくすることもできる。
【0013】次に内部ROMの構造を変えた実施例につ
いて二つの例を挙げ説明する。一つ目は図3に示すよう
に、アドレス入力信号にANDゲート304を追加し、
チップセレクト信号にアドレスバスを入力とするNOR
ゲート301の出力を接続した例である。この例では、
プログラムカウンタの値がROM−Iのアドレス空間を
示していない場合、ROM−Iのアドレス入力がアドレ
スバスの値と無関係に0000H番地となる。そのた
め、データバスにはアドレス0000H番地のデータの
みが出力される。図3では0000H番地が選択されて
いるが、この他にも多々のアドレス指定方法が考えられ
る。
【0014】二つ目は図4に示すように、データ出力に
ANDゲート404およびクロックドバッファ405を
追加し、チップセレクト信号にアドレスバスを入力とす
るNORゲート401の出力を接続した例である。この
例では、プログラムカウンタの値がROM−Iのアドレ
ス空間を示していない場合、ROM−Iのデータがデー
タバスに出力されず、00Hのデータがデータバスに出
力される。図4では00Hのデータが出力されている
が、この他にも多々のデータ出力方法が考えられる。
【0015】
【発明の効果】以上述べた様に、本発明のデータ処理装
置は内蔵のプログラムメモリのデータを外部へ出力させ
ることができないため、第三者にプログラムを読みとら
れたり、マイクロコンピュータを使用したシステムのコ
ピー(真似)を防止することができる。
【図面の簡単な説明】
【図1】本発明の実施例のマイクロコンピュータとメモ
リのシステム図である。
【図2】本発明の実施例の内蔵ROMの構成図1であ
る。
【図3】本発明の実施例の内蔵ROMの構成図2であ
る。
【図4】本発明の実施例の内蔵ROMの構成図3であ
る。
【図5】バスコントローラの構成図である。
【図6】メモリマップ図である。
【図7】本発明の実施例のタイミングチャートである。
【図8】従来例のマイクロコンピュータとメモリのシス
テム図である。
【図9】従来例の内蔵ROMの構成図である。
【図10】従来例のタイミングチャートである。
【符号の説明】
101,801 マイクロコンピュータ 102,802 CPU 103,803 内部ROM 104,804 内部RAM 105,805 外部ROM 106,806 外部RAM 107,807 プログラムカウンタ 108,808 インデックスレジスタ 109,809 データレジスタ 110,810 アドレスセレクタ 111,811 バスコントローラ 112,812 アドレスバス 113,813 データバス 114,814 外部バス 115,815 プログラムカウンタデータ 116,816 インデックスレジスタデータ 201,202,301,302,401,402,9
01 NORゲート 203,303,304,403,404,406 A
NDゲート 405,504,505 クロックドバッファ 501 外部メモリアドレス信号 502 外部メモリライト信号 503 外部メモリリード信号 701,1001 CPU動作クロック 702,1002 プログラムカウンタデータ 703,1003 インデックスレジスタデータ 704,1004 アドレスバスデータ 705,1005 データバスデータ 706,1006 外部バスデータ 707,1007 リード信号 708,1008 ライト信号 709,1009 内部ROMチップセレクト信号 710,1010 内部RAMチップセレクト信号 711,1011 外部ROMチップセレクト信号 712,1012 外部RAMチップセレクト信号

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】命令情報を記憶する命令情報記憶手段と、
    次に実行する命令の記憶番地を記憶する命令番地記憶手
    段と、前記命令情報記憶手段の記憶番地と数値情報を記
    憶する数値情報記憶手段の記憶番地を指定する記憶番地
    指定手段を有するデータ処理装置において、前記命令番
    地記憶手段の記憶番地の値が前記命令情報記憶手段の記
    憶番地内にない場合、前記記憶番地指定手段が前記命令
    情報記憶手段の記憶番地を指定しても、前記命令情報記
    憶手段の命令情報がデータ転送手段へ出力されないこと
    を特徴とするデータ処理装置。
  2. 【請求項2】請求項1記載のデータ処理装置において、
    前記命令番地記憶手段の記憶番地の値が前記命令情報記
    憶手段の記憶番地内にない場合、前記記憶番地指定手段
    が前記命令情報記憶手段の記憶番地を指定しても、前記
    命令情報記憶手段の命令情報が前記記憶番地指定手段で
    指定された番地と異なる番地の記憶情報をデータ転送手
    段に出力することを特徴とするデータ処理装置。
  3. 【請求項3】請求項1記載のデータ処理装置において、
    前記命令番地記憶手段の記憶番地の値が前記命令情報記
    憶手段の記憶番地内にない場合、前記記憶番地指定手段
    が前記命令情報記憶手段の記憶番地を指定しても、前記
    命令情報記憶手段の命令情報が前記記憶番地指定手段で
    指定された番地の記憶情報と異なる記憶情報をデータ転
    送手段に出力することを特徴とするデータ処理装置。
JP7076691A 1995-03-31 1995-03-31 データ処理装置 Pending JPH08272603A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7076691A JPH08272603A (ja) 1995-03-31 1995-03-31 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7076691A JPH08272603A (ja) 1995-03-31 1995-03-31 データ処理装置

Publications (1)

Publication Number Publication Date
JPH08272603A true JPH08272603A (ja) 1996-10-18

Family

ID=13612504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7076691A Pending JPH08272603A (ja) 1995-03-31 1995-03-31 データ処理装置

Country Status (1)

Country Link
JP (1) JPH08272603A (ja)

Similar Documents

Publication Publication Date Title
JP3519954B2 (ja) チップイネーブル信号生成回路及びメモリ装置
US6851036B1 (en) Method and apparatus for controlling external devices through address translation buffer
US5339402A (en) System for connecting an IC memory card to a central processing unit of a computer
US6738887B2 (en) Method and system for concurrent updating of a microcontroller's program memory
JPH0221616B2 (ja)
US5751998A (en) Memory accessing system with portions of memory being selectively write protectable and relocatable based on predefined register bits and memory selection RAM outputs
JPS60189561A (ja) メモリアクセス制御方式
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
JPH08272603A (ja) データ処理装置
JP2597409B2 (ja) マイクロコンピュータ
JP2540959B2 (ja) 情報処理装置
JP2002541582A (ja) エミュレータシステム内のユーザメモリを更新する方法およびシステム
JPH05257807A (ja) キャッシュメモリ制御装置
JP2000259404A (ja) メモリアクセスシステム
JPH0764856A (ja) メモリアクセス制御回路
JPH10312307A (ja) コンピュータシステムに適用するエミュレータ
JP2919357B2 (ja) Cpuインタフェース回路
JP2581057B2 (ja) 評価用マイクロコンピユ−タ
JP3147236B2 (ja) キヤツシユメモリ装置
JPH0259495B2 (ja)
JPH0566992A (ja) Eepromのデータアクセス方式
JPS6395548A (ja) メモリ制御方式
JPH07105079A (ja) メモリ管理方法
JP2002318779A (ja) デバイス装置とそのレジスタのアクセス方法
JP2001100991A (ja) ディジタル信号処理装置