JPH0616305B2 - シングルチツプマイクロコンピユ−タ - Google Patents

シングルチツプマイクロコンピユ−タ

Info

Publication number
JPH0616305B2
JPH0616305B2 JP60043059A JP4305985A JPH0616305B2 JP H0616305 B2 JPH0616305 B2 JP H0616305B2 JP 60043059 A JP60043059 A JP 60043059A JP 4305985 A JP4305985 A JP 4305985A JP H0616305 B2 JPH0616305 B2 JP H0616305B2
Authority
JP
Japan
Prior art keywords
data
bit
program
unit
storage unit
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
JP60043059A
Other languages
English (en)
Other versions
JPS61201363A (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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP60043059A priority Critical patent/JPH0616305B2/ja
Publication of JPS61201363A publication Critical patent/JPS61201363A/ja
Publication of JPH0616305B2 publication Critical patent/JPH0616305B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Microcomputers (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明はシングルチップマイクロコンピュータに関す
る。特に、プログラムを記憶するプラグラム記憶部と、
データを記憶するデータ記憶部と、データの入出力部
と、データの処理を行う中央処理装置(以下CPUと記
す)に加え、各種情報を保持・記憶する不揮発性メモリ
部を有するシングルチップマイクロコンピュータに係
る。
近年の急速なLSI技術の進歩により、不揮発性メモリ
を搭載したシングルチップマイクロコンピュータを実現
することが可能となってきている。不揮発性メモリは非
動作時にもデータを保持するという特性を持つものであ
り、中でもエレクトリカル・イラザブル・アンド・エレ
クトリカル・プログラマブル・リードオンリー・メモリ
(Electrical Elasable & Electrical Plogramable Read
Only Memory、EEPROM)は、メモリトランジスタのコント
ロールゲートに印加する電圧を制御することにより、デ
ータの書込みと消去が可能であるために、マイクロコン
ピュータを用いた自動車のエンジン制御や、テレビの電
子チャンネル制御,サーボモータの制御等多くの産業分
野に利用できる。
(従来の技術とその問題点) 上述の如く、多くの産業分野で実用化促進されている不
揮発性メモリーではあるが、EEPRMに代表される
各種不揮発性メモリーはその最大の特徴である不揮発性
を実現するべく、複雑なプロセスにより製造されている
為に、通常の揮発性半導体メモリーに比較して大変高価
である。従って、CPUに加え各種I/O機能やプログ
ラム記憶部、データ記憶部を集積したシングルチップマ
イクロコンピュータに不揮発性メモリーを経済的に搭載
することはきわめて困難な状況にある。
さらに、不揮発性メモリーのデータ保持特性が向上して
いる現状下においても、高エネルギーを印加しての度重
なるデータの消去や書込み、外来ノイズ、その他の原因
により、データに誤りが発生するという可能性は依然と
して残っている。
したがって、本発明の第1の目的は、エラー検出・訂正
機能により、経済性に不揮発性メモリー内蔵シングルチ
ップマイクロコンピュータを実現することであり、エラ
ー検出訂正機能はECC (Error Correcting Code)回
路のような特別なものを付加せずに、シングルチップマ
イクロコンピュータが元来有する資源の有効利用により
実現される。
また、本発明の第2の目的は不揮発性メモリー内蔵シン
グルチップマイクロコンピュータの応用システム上での
動作中における不揮発性メモリーのデータを誤りから保
護することである。
(問題点を解決するための手段) 本発明のマイクロコンピュータは、単一半導体基盤上に
データの入出力部と、プログラムを記憶するプログラム
記憶部と、データを記憶するデータ記憶部と、プログラ
ムに従い各種データの処理を実行する中央処理装置と、
非動作中もデータを記憶保持する不揮発性メモリー部と
を備えたシングルチップマイクロコンピュータにおい
て、 前記入出力部または前記データ記憶部より前記中央処理
装置が読取ったデータ、または前記中央処理装置のデー
タ処理の結果のデータから前記プログラム記憶部に記憶
されている符号化プログラムにより符号データを生成す
る符号化手段と、該符号データを前記不揮発性メモリー
部に記憶・保持させる手段と、前記不揮発性メモリー部
に記憶・保持された符号データから前記プログラム記憶
部に記憶されている復号化プログラムにより復号データ
を生成する復号化手段とを有することを特徴とする。
(実施例) 第1図は、不揮発性メモリーを内蔵しエラー検出・訂正
機能を備えた本発明の一実施例を示す。本実施例につい
ては、不揮発性メモリーとして EEPRMを用い、
取り扱うデータは8ビットで、エラー検出・訂正方法と
しては、2ビット誤り検出、1ビット誤り訂正用の4ビ
ットのチェックビットを伴うハミング符号及び1ビット
の偶数パリティービットを用いる。
シングルチップマイクロコンピュータ100は、外部入
力線101、外部出力線102、データの演算・処理を
行うCPU103、各種情報を記憶するRAM104、
プログラム及びシステム定数を記憶しているROM10
5、情報を保持・記憶するEEPROM106および内部バス
107から構成されている。CPU103は、8ビット
データを符号データに変換する符号化手段と、符号デー
タを8ビットデータに変換、すなわち、符号データを用
いてエラー検出・訂正を行う復号化手段とを有している
が、図面の繁雑化を回避するため図示は省略する。
以下、第1図を参照しながらエラー検出・訂正機能の動
作について述べる。
8ビットデータは、CPU103において符号化手段が
機能させられることにより、13ビットの符号データ
(8ビットデータ+4チュックビット+1パリティービ
ット)に変換され、EEPROM106の符号データ格納領域
106−1に書き込まれる。すなわち、EEPROM106は、
符号データの形でデータを記憶する。したがってEEPROM
106が記憶しているデータを処理に用いる場合は、そ
のデータの符号データを読み出し、復号化手段を用いて
チェックを行い、その結果として得られる8ビットデー
タを用いる。
しかし、アクセスの高速性を必要とするようなデータの
場合には、ROM105内の初期設定プログラムを実行
する。初期設定プログラムは、EEPROM106に保持・記憶
されている高速アクセスを必要とする全ての符号データ
に対し、順次に復号化手段を用いて、8ビットデータに
訂正・復元してRAM104に格納する。
マイクロコンピュータがデータ処理を行なった結果、新
たに生成された8ビットデータを所定のアドレスに書き
込む必要が生じた場合はまず、RAM104のデータエ
リアの8ビットデータを書きかえ、新しい8ビットデー
タに対し、符号化手段を実行して符号化データをEEPROM
106に書き込む。書きかえたデータが正しくEEPROM106に
格納されたかどうかを確かめるために、再びそのデータ
を読み出しその符号データに対し、復号化手段を実行す
る。その結果、訂正可能範囲を越えるエラーが発生して
いる場合には、そのことを知らせる信号を発信する。
次に、前記符号化手段及び復号化手段の具体例を第2
図,第3図,第4図,第5図および第6図を用いて詳細
に説明する。
第2図は、第1図のCPU103を詳細化し、入出力部
102,RAM104,ROM105およびEEPROM106
と共に示したブロック図である。第2図を参照すると、
CPU103は、インストラクションレジスタ(以下I
Rと記す)201と、制御回路部202と、アキュムレー
タ(以下Accと記す)203と、第1テンポラリレジス
タ(以下TR1と記す)204と、第2テンポラリレジ
スタ(以下TR2と記す)205と算術論理演算ユニッ
ト(以下ALUと記す)206と、キャリーフラグを含
むプログラムステータスワード(以下PSWと記す)2
07とアドレスポイントレジスタ208とループカウン
タ209と、シフター210を有している。
本実施例のエラー検出・訂正方法では、チェックビット
はデータの各ビットの一次結合で与えられる。すなわ
ち、モード(MODE)2の加法により、データの各ビットの
和が偶数だと0、奇数だと1を与える演算が適用され
る。
符号生成行列Bは(1)式で示されるような(4×8)行
列で与えられ、各行ベクトルB1〜B4の8ビットデータ
として、ROM105上に予め設定されている。
8ビットデータをA=(a7a6a5a4a3a2a1a0)とすると、
チェックビートCi=1,4)は、Ci=B1・A(m
od 2)(但し演算・はベクトルの内積を示す) となる。こうして、ハミング符号H=(a7a6a5a4a3a2a1
a0c4c3c2c1)を生成し、この12ビットデータの偶数パリ
ティーPを計算してハミング符号Hの最終要素としてつ
け加え、13ビットの符号データとする。
第3図は符号化の概要フローチャートを示し、第4図は
符号化処理中におけるAcc203、TR1204およびTR
2 205の保持内容を示す。以下、第2図,第3図お
よび第4図を参照しながら、符号化動作について詳細に
説明する。
先ず、Acc203に変換すべき8ビットデータを格納し(第
4図における状態(1))符号化命令がIR201にラッ
チされると制御回路部202は、符号化命令コードを解
読し、制御信号を所定のタイミングで発生して以下の動
作を行う。
Acc203のデータをTRI 204に転送し(第3図−(1),第
4図−(2))、次に第3図−(2)の処理を行う。すなわ
ち、先ず、TR2 205に、ROM105のテーブルに設定
されている行ベクトルB4のデータを読み出し(第4図
−(3))、TRI 204のデータとビット単位のアンド演算
をALU206で行い、その結果をTR2 205に入れる
(第4図−(4))。次に、Acc203をシフター210によ
って左へ1ビットシフトし、ループカウンタ209に
‘8’をセットする(第4図−(5))。
ループカウンタ209の内容を1デクリメントしなが
ら、その値が0になるまでTR2 205の内容をキャリーを
含めて右に1ビットシフトし、キャリーが‘1’であれ
ばAcc203のビット0を反転する(第4図−(6)−3)。
キャリーが“0”であればそのまま(第4図−(6)−
2)、という処理を繰り返す(第4図−(1)から第4図
−(6)まで)。このような処理の結果として、Acc203の
最下位ビットにはチェックビットC4が生成されること
になる(第4図−(6)−5)。
第3図−(3),第3図−(4),第3図−(5)の処理も前
述の第3図−(2)の処理と同様に実行し(第4図−(7)
〜(11))、Acc203のビット4〜ビット11には符号化す
べきデータ情報が、ビット0〜ビット3にはチェックビ
ットC1〜C4がそれぞれセットされることになる(第4
図−(12))。
第3図−(6)のパリティービットセットは、Acc203の内
容をTR2 205にセットし(第4図−(13))、Acc203の内
容を左に1ビットシフト、ループカウンタ209に‘1
2’をセットして(第4図−(14))、ループカウンタ2
09の内容を1デクリメントしながら、その値が0にな
るまで、TR2 205の内容をキャリーを含めて右に1ビッ
トシフトし、キャリーが‘1’であればAcc203のビット
0を反転‘0’であればそのままという処理を第4図−
(6)と同様にループ処理することによって生成される。
(第4図−(15))。このような一連の処理によって、8
ビットデータにハミング符号のチェックビット4ビット
と、パリティービットを付加した符号データが生成され
る。
次に復号化処理について説明する。先ず、パリティービ
ットを除いたハミング符号12ビットからチェック行列
Mを用いて、エラー情報(エラーフラグ)を得る。チェ
ック行列Mは(4×16)行列でその各行ベクトルは、
ワード(WORD)型の行データM1〜M6としてROM105
上に予め設定されている。
であり、パリティービットを除いた符号データをA=
(000 a7a6a5a4a3a2a1a0c4c3c2c1)とすると、エラー
ビットei(i=1,4)は ei=M1・A(mod 2) で与えられる。さらに符号データAをパリティービット
Pを用いてパリティーチェックを行い、結果としてep
出す。(00…0e4e3e2e1)をエラーフラグと呼ぶ。エ
ラーフラグ=0,ep =0の場合は、エラーが生じてい
ないため、復号化の処理を正常に終了する。
エラーフラグが0でなく、epが‘1’である場合は、1
2ビットのデータ中に1ビットの誤りが発生している。
この誤りは訂正可能で、エラーフラグの値は誤りの生じ
たビット情報となっており、訂正は、テーブルに設定し
てある誤りビット反転のためのパターンデータを用いて
行う。
上述以外の場合、すなわち、エラーフラグが0でep
‘1’、あるいはエラーフラグが0でなくepが‘0’の
場合は、本方法の誤り訂正可能範囲を越える誤り(2誤
り以上)が発生しているため、所定の制御信号を発生す
る。
以下に、第2図,符号化の概略フローチャートである第
5図および復号化処理中におけるAcc203とTR1 204とTR
2 205の各保持内容を示す第6図を用いて、符号化命令
の動作について具体的に説明する。
符号化命令がIR201にラッチされると、制御回路部
202はこの符号化命令コードを解読し、制御信号を所
定のタイミングで発生し、以下の動作を行う。まず、TR
1 204を“0”にクリアし、アドレスポイントレジスタ
208でアドレスされるEEPROM106に保持されている符
号データをAcc203へ読み出し(第5図(1),第6図−
(1))、続いて、Acc203の内容を右へ1ビット回転する
(第6図−(2))。
次に、第5図(2)の処理を行う。TR2 205に、ROM1
05のテーブルに設定してある符号化行列データM4
読み出し(第6図−(3))、その内容とAcc203とのアン
ド演算を行い結果をTR2205に入れ(第6図−(4))、TR
1 204を左へ1ビットシフトし、(この場合はTR1 204
がクリアされているため変化はない)ループカウンタ2
09に‘12’を設定する(第6図−(5))。ループカ
ウンタ209の内容を1デクリメントしながらその値が
0になるまで、TR2 205の内容をキャリーを含めて右に
1ビットシフトし(第6図−(6)−1)、キャリーが
‘1’であれば、TR1204のビット0を反転し(第6図−
(6)−2)、‘0’であればそのままという処理を繰り
返す。このようにして、TR1 204のビット0にはエラー
ビットe4がセットされる(第6図−(6)−4)。
第5図(3),第5図(4)および第5図(5)の処理も上述
第5図(2)の処理と同様に実行し、TR1204のビット0〜
ビット3にはエラービットe1〜e4がセットされる(第
6図−(12))。
次に、第5図−(2)のパリティーチェックを行う。Acc2
03の内容を左に1ビット回転し(第6図(13))、その内
容をTR2 205にセットする(第6図−(14))。TR2 205
の内容をキャリーを含めて右に1ビットシフトし(第6
図(15))、TR1 204の内容をキャリーを含めて左に1ビ
ットシフトしてTR1 204のビット0にパリティービット
をセットする(第6図−(16))。ループカウンタ209
に‘12’をセットし(第6図−(16))、ループカウン
タ209の内容を1デクリメントしながら、その値が0
になるまで、TR2 205の内容をキャリーを含めて右に1
ビットシフトし、キャリーが‘1’であれば、TR1 204
のビット0を反転し、‘0’でなければそのままという
処理を繰り返す(第6図−(18))。この結果TR1 204の
ビット0にはパリティーチェックビットepがセットされ
る(第6図−(20))。
TR1 204の内容が0であれば、エラーフラグ、epともに
‘0’なので、エラー無しの状態であり、符号化を終了
する。TR1≧2,ep=‘1’である場合は、1ビット誤り
が発生しているため第5図−(7)のエラー訂正処理を次
のように行う。TR1 204のエラーフラグの値をもとに、
ROM105に設定してあるテーブルから符号データの
誤りビットを反転させるためのパターンデータを読み出
し、TR2 205にセットし(第6図−(21)例として、a3
誤っていた場合)、TR2 205とAcc203との排他的論理和
をとり、結果をAcc203に格納する(第6図−(2
2))。
TR1 204の内容が上述以外の場合には、訂正可能範囲外
のエラーが発生しているため、第5図−(8)のように、
そのためのフラグをセットする、さらに割込み信号を発
生するなど、所定の信号を出力する。以上の動作でAcc2
03には正しい符号データが格納され、復号化処理を終了
する。
主プログラムにおいて、正しい8ビットデータとして使
用する場合はAcc203を右へ5ビットシフトし、a0〜a7
用いる。又、再書き込みを実行する場合は、Acc203の内
容をアドレスポインタ208でアドレスされるEEPROM10
6に書き込む。
本実施例は、8ビット1データに対しハミング符号とパ
リティーを用いた1誤り訂正・2誤り検出方法を用いた
が、1データに対する付加ビットの割合いを小さくする
ために、複数データを1ブロックデータとして扱うよう
な符号化・復号化手段により、誤り検出・訂正を実現す
ることも可能である。
(発明の効果) 以上述べてきたように、本発明ではマイクロコンピュー
タが本来有している資源を有効に利用して、不揮発性メ
モリーの保持データの信頼性を大きく向上させることが
できるばかりか、製品としての歩留り向上にも貢献し、
不揮発性メモリ搭載シングルチップマイクロコンピュー
タを経済的に実現することが可能となり、その実用性は
極めて高いものである。
【図面の簡単な説明】
第1図は本発明の一実施例を示すシングルチップマイク
ロコンピュータの簡単なブロック図であり、第2図は第
1図のさらに詳細なブロック図、第3図は符号化の概要
フローチャート、第4図は符号化手段実行時のレジスタ
内容、第5図は復号化の概要フローチャートおよび第6
図は復号化手段実行時のレジスタ内容をそれぞれ示して
いる。 100……シングルチップマイクロコンピュータ、10
1……外部入力線、102……入出力部、103……中
央処理装置(CPU)、104……RAM、105……
ROM、105−1……リセットプログラム、106…
…EEPROM、106−1……符号データ格納領域、107
……内部バス、201……インストラクションレジスタ
(IR)、202……制御回路部、203……アキュム
レータ(Acc)、204……第1テンポラリレジスタ
(TR1)、205……第2テンポラリレジスタ(TR
2)、206……演算ユニット(ALU)、207……
プログラムステータスワード(PSW)、208……ア
ドレスポイントレジスタ、209……ループカウンタ、
210……シフター。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】単一半導体基盤上にデータの入出力部と、
    プログラムを記憶するプログラム記憶部と、データを記
    憶するデータ記憶部と、プログラムに従い各種データの
    処理を実行する中央処理装置と、非動作中もデータを記
    憶保持する不揮発性メモリー部とを備えたシングルチッ
    プマイクロコンピュータにおいて、 入出力部または前記データ記憶部から前記中央処理装置
    が読み取ったデータ、または前記中央処理装置のデータ
    処理の結果のデータから、前記プログラム記憶部に記憶
    されている符号化プログラムにより符号データを生成す
    る符号化手段と、 該符号データを前記不揮発性メモリーに記憶保持させる
    手段と、 前記不揮発性メモリーに記憶保持された符号データか
    ら、前記プログラム記憶部に記憶されている復号化プロ
    グラムにより復号データを生成する復号化手段とを有す
    ることを特徴とするシングルチップマイクロコンピュー
    タ。
  2. 【請求項2】前記不揮発性メモリーに記憶保持された符
    号データを、前記復号化手段を連続して作動させる前記
    プログラム記憶部に記憶された初期化プログラムを実行
    することにより、復号化して前記データ記憶部に記憶す
    ることを特徴とする特許請求の範囲1.記載のシングル
    チップマイクロコンピュータ。
JP60043059A 1985-03-05 1985-03-05 シングルチツプマイクロコンピユ−タ Expired - Lifetime JPH0616305B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60043059A JPH0616305B2 (ja) 1985-03-05 1985-03-05 シングルチツプマイクロコンピユ−タ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60043059A JPH0616305B2 (ja) 1985-03-05 1985-03-05 シングルチツプマイクロコンピユ−タ

Publications (2)

Publication Number Publication Date
JPS61201363A JPS61201363A (ja) 1986-09-06
JPH0616305B2 true JPH0616305B2 (ja) 1994-03-02

Family

ID=12653298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60043059A Expired - Lifetime JPH0616305B2 (ja) 1985-03-05 1985-03-05 シングルチツプマイクロコンピユ−タ

Country Status (1)

Country Link
JP (1) JPH0616305B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4931997A (en) * 1987-03-16 1990-06-05 Hitachi Ltd. Semiconductor memory having storage buffer to save control data during bulk erase
JP5757251B2 (ja) * 2012-02-07 2015-07-29 株式会社Jvcケンウッド 積符号の復号装置、積符号の復号方法、及び、プログラム
JP5757253B2 (ja) * 2012-02-10 2015-07-29 株式会社Jvcケンウッド 積符号の復号装置、積符号の復号方法、及び、プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5998395A (ja) * 1982-11-29 1984-06-06 Dainippon Printing Co Ltd Icカ−ド
JPS59178693A (ja) * 1983-03-30 1984-10-09 Hitachi Ltd メモリ読み出し方式
JPS59229799A (ja) * 1983-06-10 1984-12-24 Fujitsu Ltd 記憶装置

Also Published As

Publication number Publication date
JPS61201363A (ja) 1986-09-06

Similar Documents

Publication Publication Date Title
TWI242128B (en) Data processing system and data processing method
JP3982639B2 (ja) マルチレベルセルを有するメモリからデータを読み取る方法
US5996108A (en) Memory system
US4450561A (en) Method and device for generating check bits protecting a data word
JPH10207726A (ja) 半導体ディスク装置
CN106469099B (zh) 在应用wom码的情况下的错误纠正
US20140040699A1 (en) Error check and correction circuit, method, and memory device
US6604214B1 (en) One-chip microcomputer capable of internally producing ECC data
JP4574994B2 (ja) メモリ外付けマイコン
JPH0616305B2 (ja) シングルチツプマイクロコンピユ−タ
KR100737912B1 (ko) 반도체 메모리 장치의 에러 검출 및 정정 회로
JP2007104708A (ja) データ処理方法
TWI799067B (zh) 半導體儲存裝置及錯誤檢測校正方法
US5499351A (en) Arrangement of detecting branch error in a digital data processing system
US20020138804A1 (en) Computation of checksums and other functions with the aid of software instructions
US11914887B2 (en) Storage device and data accessing method using multi-level cell
JPH04162300A (ja) 半導体メモリ
US8327223B2 (en) System and method for constructing multi-write error correcting code
EP1460542B1 (en) Integrated memory system comprising at least a non-volatile memory and an automatic error corrector
US8533566B2 (en) Method and apparatus for storing data
JP2005011386A (ja) 誤り訂正装置
US20230299794A1 (en) Memory system and control method of controlling nonvolatile memory
JPS60130927A (ja) 積符号の復号方法
JP2518333B2 (ja) 記憶装置
JPS6370355A (ja) デ−タ処理システム