JPS641815B2 - - Google Patents

Info

Publication number
JPS641815B2
JPS641815B2 JP55110446A JP11044680A JPS641815B2 JP S641815 B2 JPS641815 B2 JP S641815B2 JP 55110446 A JP55110446 A JP 55110446A JP 11044680 A JP11044680 A JP 11044680A JP S641815 B2 JPS641815 B2 JP S641815B2
Authority
JP
Japan
Prior art keywords
memory
program
read
address
test
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
Application number
JP55110446A
Other languages
English (en)
Other versions
JPS5668850A (en
Inventor
Edowaado Robinsu Uein
Richaado Supiui Hooru
Torabisu Teransu
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS5668850A publication Critical patent/JPS5668850A/ja
Publication of JPS641815B2 publication Critical patent/JPS641815B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0684Configuration or reconfiguration with feedback, e.g. presence or absence of unit detected by addressing, overflow detection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • G11C29/28Dependent multiple arrays, e.g. multi-bit arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/40Response verification devices using compression techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】 本発明は、記憶システム、さらに特定して言え
ば既存のベース・プログラムに新しいコードを加
える記憶システムに関するものである。 記憶機構、特に読取り専用メモリ中に記憶され
ているプログラム・システムを拡張することがし
ばしば望まれるが、プログラムが固定されている
ために起こるいくつかの問題がある。そのうちの
あるものは、新しいプログラムへブランチするた
めの絶対アドレスを要すること、加えられたプロ
グラムを活動化し使用を許可すること、新しいコ
ードを妥当化(有効扱い)すること、および新し
いコードの実行のために準備することによつて生
じるものである。 新しいプログラムへブランチするには特定のア
ドレスが必要なので、アドレスを記憶させること
もできるが、それには、制約がありまた高価な、
恒久記憶スペースを用いることが必要になる。ま
た人間の誤まりによつて該アドレスが入力される
可能性もある。 新しいコードが必ずしも必要とされない、ある
いは許可されないことがあるので、加えられたプ
ログラムの活動化および許可(使用の正当性)が
必要である。記憶モジユールを定期的に加えたり
取除くことは望ましくない。さらに記憶の欠陥に
よつてプログラムが全く出現し得ないことがあり
得る。 また新しいコードを妥当化して、その実行前に
それが適正な場所にある適正コードであることを
保証できるようにすることが望ましい。 新しいコードの実行は、余分のブランチ(分
岐)および連係呼出しによりベース・プログラム
のサイズが不必要に増大し、かつリターンに要す
るフラグおよび入口点の数も増大し得るため、分
岐および連係時間を決定する際に問題をもたら
す。他方、分岐および連係呼出しが余りに少なす
ぎると実行されることが余りに少ないために、新
しいコードが無効になり新しいプログラムを加え
ることによつて得ることの望まれるフレキシビリ
テイーが減少する。 本発明は、前記の問題を回避しつつ、ベース・
プログラムを大規模に変更する必要なしにメモリ
を加えるためのシステムを記述するものである。 制御信号を導くための制御母線ならびに、デー
タ信号およびアドレス信号を導くためのデータ母
線およびアドレス母線を有する、書込み可能記憶
手段により、拡張可能記憶システムに記憶モジユ
ールを加えるための方法は、加えられる記憶モジ
ユールの各境界アドレスに対して一定の値を確定
すること、および各被加(付加)記憶モジユール
を各母線に結合することを含んでいる。各記憶モ
ジユールは、所与の位置に記憶されている基準値
を持ち、書込み可能記憶装置は、システム中の各
記憶モジユールに対応する妥当性信号を記憶して
いる。先ず、妥当性信号をチエツクして、被加
(付加)モジユールが活動状態にあるかどうかを
決定し、次に被加記憶モジユールの所与の記憶位
置から記憶基準値を読取つて、それを所与の基準
値と比較することにより、被加記憶モジユール中
でプログラムが実行される。記憶基準値が所与の
基準値と等しい場合には、プログラム制御が被加
記憶モジユールに転送される。完了したとき被加
記憶モジユール中のプログラムによつてプログラ
ム制御が呼出しプログラムに戻される。 発明の詳細な説明に入る。 第1図に、本発明を実施するためのシステムを
示す。プロセツサ10は、メモリ・アドレス・レ
ジスタ11およびメモリ・データ・レジスタ12
を備えている。メモリ・アドレス・レジスタは、
16ビツト(その各ビツトを2′0〜2′15となずける)
をアドレス母線14に与える(付録書類の指数化
の項を参照のこと)。第1図のシステムで、上位
4ビツト2′12〜2′15がデコーダ17に結合され
る。デコーダの出力側は、回線を含む選択母線1
8である。先行技術で周知の、デコーダ17の作
用により、ある所定の時間には、選択母線上の回
線のうちの一つだけが活動状態となり得る。残り
12個のアドレス・ビツトは、並列に個別メモリ列
に結合される。 データ母線19は、電型的な場合、8ビツトの
バイトからなるが、プロセツサのメモリ・デー
タ・レジスタ12に結合されている。データ母線
19は、データを読取るためあるいは書込むべき
データを書込み可能メモリに与えるため、並列に
各メモリ列に結合されている。制御母線13も設
けられているが、これは各メモリ列に、読取り/
書込み信号、調時信号などの信号を伝送する。制
御母線も、各メモリ列に並列に結合されている。 アドレス母線の下位12ビツトは、4096のメモリ
位置中から1つを選択することができる。(以後
1000の代りに1024を表わすものとしてKの文字を
使用する。従つて4096は4Kと書き表わされる。) ベース読取り専用記憶装置101は、8Kの位
置を持つものとして示してある。つまり二本の選
択回線15および16が、メモリ使用可能信号を
与えるORゲート102に結合されている。各メ
モリ列は、2つのメモリ使用可能入力端末をもつ
ものとして示してある。今説明しているシステム
では、メモリ使用可能端末1(ME1)および2
(ME2)は、メモリを使用可能にするために高
次信号を受取らなければならない。(市販されて
いる多くのメモリ列は、メモリ列を使用可能にす
るのに1つの使用可能入力が高次であり、もう1
つの使用可能入力が低次でなければならないよう
な構成になつている。)メモリ列101の第2の
メモリ使用可能端末ME2は、メモリの選択には
不必要なため、高電圧に結合されている。選択母
線18の各回線は、16ビツトのアドレスの上位4
ビツトに応じて特定の4Kアドレス・グループを
選択する。従つて、8Kメモリを使用可能にする
には2本の4K選択回線が必要となる。 第1図のメモリ列103は、2K個の位置を含
む読取り/書込みメモリとして示してある。2K
のメモリ位置のうち特定の1つを選択するには、
11本の回線しか必要でないので、2′0〜2′10だけ
をメモリ列103のアドレス入力部に結合すれば
よい。メモリ列103を選択するには、そのME
2端末を、2′11(11)アドレス逆数母線に結合
する。(アドレス母線から真の信号も逆数の信号
も共に利用できるものと仮定する。) 第2の2Kメモリ列104は、(電力損失の場合
にはバツテリー105によつて給電される)
CMOS持久メモリとして示してあるが、これは
選択母線18からのメモリ列103と同じ回線に
結合されている。ただし、メモリ列104の端末
ME2は、2′11(A11)アドレスの逆回線ではなく
正回線に結合されている。その結果、メモリ列1
03およびメモリ列104の両者によつて表わさ
れる4Kは、選択母線18からの特定の選択回線
によつて選択されるが、個別(メモリ)列は、ア
ドレスの2′11(A11)ビツトの状態によつて選択
される。 2K個の容量の記憶位置をもつアツド・オン・
メモリ列106は、その第2のメモリ使用可能端
末が2′11ビツトに逆に結合された状態で選択母線
18からの第4の回線に結合されたものとして示
してある。4K個の位置をもつ第2のアツド・オ
ン・メモリ107が、その第2使用可能端末が使
用可能正電圧に結合された状態で、選択母線18
からの別の回線に結合されている。その容量が
4Kであるため、メモリ列107を選択するには
選択母線18からの出力回線のみが必要である。
第2の2K容量のメモリ列を加える場合には、メ
モリ列106の第1使用可能端末に結合された母
線18からの同じ選択回線を新しいメモリ列に
ME1端末に対する入力として使用することがで
き、その場合、ME2端末は2′11の正常ビツトに
結合される。 アドレス母線、制御母線およびデータ母線にそ
れぞれ新しいメモリ列を結合するための、プラグ
108,109および110として示した追加メ
モリ列を結合するための用意が備わつている。選
択母線18からの選択回線も設けられている。さ
らに次のアツド・オン・メモリ列のための追加的
用意も備わつていると仮定されている。 すなわち、第1図は、どのようにして本発明で
使用するための拡張可能メモリ・システムを構成
することができるかを示すものである。 第1図のCMOSメモリ104では、通常はメ
モリ・スペースが制約されており、そのため新し
いメモリ・モジユールを加えるのに使用されるメ
モリはできるだけ小さくなければならない。また
新しいモジユールを加えるのに、必要な主プログ
ラムの中での特殊プログラミングができるだけ少
ないことが望まれる。 第2図は、メモリ・テーブル22を含む
CMOS書込み可能メモリ104の部分マツプを
示したものである。このテーブルは、システムで
使用できる各メモリ・アツド・オン・モジユール
に対応するビツトを記憶させるのに使用される。
以下の説明では、各2K記憶モジユールに対して
1ビツトが記憶されるものと仮定する。ただし、
別のやり方としてこのテーブルが、各アツド・オ
ン記憶モジユールの開始アドレスを含むようにす
ることもできるが、それには1つ以上の追加的記
憶スペースが必要である。例えば、16ビツトから
なるアドレスでは、各アツド・オン記憶モジユー
ルにつき2つのバイトが必要となるが、一方各モ
ジユール当り1ビツトを使用すれば、8モジユー
ルにつき、僅か1バイトで済む。 このテーブル中で、被加(付加)モジユールが
活動状態にあり、あるいは許可されていれば、そ
れに対応するビツトがセツトされ、対応するアツ
ド・オン・モジユール中のプログラムが許可され
ていずあるいは活動状態になければビツトがリセ
ツトされる。アドレスが記憶されている場合、非
ゼロのアドレスは許可されたアツド・オン記憶モ
ジユールを示すことになる。アツド・オン・プロ
グラムの一例は、プロセツサ制御式複写機中の複
写機付属機構を制御するためのプログラムであ
る。顧客がその付属機構を選ばず、つまりそれに
対して支払わないことを決定した場合、付属機構
は許可されない。 CMOS書込み可能メモリ104中のスペース
を節約するため、アツド・オン・プログラムに伝
送する必要のあるアドレスは、以下に詳しく説明
するようにして計算する。 第3図は、第1位置がモジユール自体の第1ア
ドレスを記憶することを示す、アツド・オン・モ
ジユールのメモリ・マツプである。プログラム・
モジユールがテーブルを含む場合には、ユーザ
ー・プログラムによつてテーブルへのアクセスが
可能となるように、テーブル・アドレスを第1ア
ドレスから所定の分だけ桁ずらしまたは変位させ
た位置に記憶することができる。これについて、
次により詳しく説明する。 記憶モジユールのもう1つの確認手段を与える
ため、検査文字も記憶されている。検査文字は、
循環冗長検査、モジユーロ−N剰余カウンタ、あ
るいはブロツク・パリテイー文字とすることがで
きる。これらの種類の検査文字は、先行技術で周
知のものである。剰余カウンタについては、検査
プログラムが各記憶位置中の値を、記憶位置中の
ビツト数に等しい、通常は8ビツトのビツト数の
みを保存して、二進数であるかのようにしてみな
して加算する。カウント終了時に、8ビツトの値
は記憶位置の全合計を256で割つた後の剰余を表
わす。従つて、検査文字以外の全ての記憶位置を
加算すると検査文字が得られ、これを被加プログ
ラム中のコードの妥当性を検査するために、上記
剰余と比較することができる。同様にして、モジ
ユーロ−2カウンタは、各記憶位置のバイト中の
各ビツトに対して使用することができ各バイトが
モジユーロ−2カウンタに加えられて、検査文字
が到達したとき、パリテイー・ビツトが検査文字
と等しくなる。これは、検査文字を含めて各バイ
トを次々に累算器中へ排他的論理和することによ
つて行なえる。ゼロ結果によつてコードが検査さ
れる。先に指摘したように、これらのシステムは
先行技術で周知のものであり、これ以上詳しく説
明する必要はない。 第3図には、メモリ終了時の文字またはバイト
数を不確定なものとして示したが、CRCまたは
その他の検査文字をモジユール内の任意の位置に
置くことができる。唯一の制約は、文字検査なら
びにその他の基準文字が固定位置に、あるいは固
定ポインターによつて定義される位置になければ
ならないことである。1つの具体形では、アツ
ド・オン・モジユールの最初の7バイトがXX
CCCC PPPP QQQQとして編成されている。こ
こでXXはアドレスの高次16進デジツト(低次は
常にゼロ)、CCCCはCRC検査文字を含む4つの
16進デジツト(2バイト)、PPPPおよびQQQQ
はテーブル用などの2つの2バイト・ポインター
である。 第4図には、本発明を実施するためのプログラ
ム用流れ線図が、端末ノードとして呼出しとリタ
ーンではなく開始と終了(ノード)ともつインラ
イン・プロセスとして示してある。CMOS書込
み可能メモリ中のテーブルは、ブール列を構成し
ており、その位置はここで説明しようとするプロ
セスに対して大域(共通。ローカルの反対。)と
みなされる。開始ステツプ41で、ポインターiが
1の値にセツトされる。次に、ステツプ42でi番
目の列の値がチエツクされる。先に指摘したよう
にこれは1ビツトまたは16ビツトであり得る。ス
テツプ42で行なわれるチエツクによつて、i番目
の列の入力がゼロであるか否かが決定される。ゼ
ロでない場合には、対応するモジユールは、活動
状態であるとみなされ、i番目のモジユールの第
1位置を読取るステツプ43が実施される。読取ら
れたデータが基準値と比較される。ここで説明し
ている具体形では、データおよび基準は、特定の
記憶モジユールの第1アドレス位置である。ステ
ツプ44でこれらの値が等しい場合には、i番目
のプログラムに対する呼出し(分岐および連係)
が実施されステツプ45に示されるようにi番目の
プログラムが実行される。アツド・オン・プログ
ラムにはリターンが備わつており、プログラム制
御が呼出し命令の次の命令に再記憶されるように
なつている。 i番目のアツド・オン・プログラムが終了する
と、ステツプ46に戻つて、列テーブル中の最終入
力がチエツク済みであるか否かが決定される。チ
エツク済みの場合には、終端末47によつて示さ
れるようにプログラムは終了する。そうでない場
合には、ポインターiの値に1が加えられ、サー
ビス・プログラムがステツプ42で再開する。ステ
ツプ42で被加プログラムが活動状態でないこと
を列中の入力が示す場合あるいはステツプ44で読
取られたデータが基準データと一致しない場合に
は最終チエツク・ステツプ46が実施され、i番目
のモジユール・プログラムの実行が飛越される。 以下に、妥当性検査を実施するためのアルゴル
語による2つの検査サブルーチンが示してある。
最初のものはVERSであり、適当なモジユールの
第1位置をチエツクして、そこに記憶されている
アドレスがモジユールのアドレスと等しいかどう
かを決定する。等しい場合には、検査ビツトVが
セツトされる。そうでない場合にはVがリセツト
され、サブルーチンが呼出しプログラムに戻る。 もう1つはVERであるが、これは正しい基準
値に対する第1位置をチエツクするだけでなく、
ここでは剰余チエツクとして示した検査チエツク
をも実施する。すなわち、メモリ位置中にある値
が256を法として加算されて、合計(剰余)がモ
ジユールの最終(検査)文字に対してチエツクさ
れる。それらが等しい場合には検査ビツトVがセ
ツトされる。そうでない場合には、それがリセツ
トされる。 これらの検査ルーチンは、以下に説明するプロ
グラム中で使用される。proc .VERS(j、V)integer j;Boolean
V; V:if#(j*2′11+3*2′12)= (j*2′11+3*2′12) then true else false end VERSproc .VER(j、V)integer j、k、
MODSUM、p;Boolean V; k:=j*2′11+3*2′12; if#(k)≠k then(begin V:=falsereturn end) MODSUM:=0; for p:=k stepuntil k+2′12−
do MODSUM:=rem((MODSUM+
#(p))、2′8); V:=if#(p+1)=MODSUM then
true else false end VER 以下に、第4図に示したプログラム・ステツプ
を実施するためのアルゴル・プログラムを示す。
添付の付属書類には、本発明の説明に使用した標
準アルゴル60からの字訳をリストしてある。プロ
グラム中で、プール列A(CMOSテーブル)は、
列が整数nの値であり、プロシージヤに対して大
域であることを示すために、プロシージヤの外側
に示してある。forステートメントは、1からn
までのiの値に対して実施される。このforステ
ートメントは、第4図のステツプ41、46および48
を実施する。go to値は、列Aのi番目の要素が
真である(i番目のビツトがセツトされている)
場合にプログラムが実例式によつて計算される
#で示されるような絶対アドレスに飛越すことを
示す、条件ステートメントである。 この実例式は、第1図のシステムについて行な
うべき計算を例示したものである。第1図からわ
かるように、メモリは12Kの位置について責任を
もつ固定モジユールを備えている。従つて、アツ
ド・オン・メモリ位置は12K(12288)の後から始
まる2Kステツプである。2′11値(2K)にiの値
がかけられ、それにi番目のモジユールの第1ア
ドレスに対するgo toステートメントを示す2′12
が3度加えられる。2′11値は2K境界増分を与え、
3*2′12は最初の12K固定位置によつて生じる12K
のオフセツトをもたらす。Boolean array A[1:n] …proc .CHKRUN(A、n)integer i;
Boolean V; for i=1 stepuntildo if A[i]then begin vers(i、V); go to if−V then return else #(i*2′11+3*2′12) end end CHKRUN 第5図の流れ線図は、より大規模なプログラム
の一部の流れ線図で本発明を実施する別のやり方
を示したものである。星印51は、本発明には関
係しない別のプログラミングを示している。この
プログラムは、アツド・オン・プログラムの使用
できる複写機のような機械は操作させるラン・プ
ログラムの一部として示してある。他のコーデイ
ング51に続いて、ステツプ52でポインターi
が1にセツトされる。ステツプ53は、i番目のモ
ジユールが妥当か否かをチエツクする。これは数
個のテストを含むことができる。この例では、そ
の第1記憶位置がそのアドレスに等しく更に上記
手段の何れか、例えば循環冗長検査、ブロツク・
パリテイー検査、剰余カウンターなどによるコー
ドの検査(結果)に合格した場合に、i番目のモ
ジユールは妥当とみなされる。テストにより、i
番目のモジユールが妥当であり検査済みであるこ
とがわかつた場合、ステツプ54に示すようにi番
目のアツド・オン・プログラムが呼出される。 呼出しプログラムによつて呼出されたi番目の
アツド・オン・プログラムは、CMOSメモリ中
の許可ビツトを検査するためのルーチンをそのコ
ーデイングの最初の部分に含んでいる。その許可
ビツトがセツトされていないことをプログラムが
見出すと、プログラムがランされて呼出しプログ
ラムへのリターンを制御し、そこでステツプ55で
これが最後のアツド・オン・プログラムであるか
否かがチエツクされて決定される。そうでない
と、ステツプ56でポインターiが増分され、上記
の順序が繰返えされる。 ステツプ53では、i番目のモジユールが不当で
あることがわかると、その許可ビツトがステツプ
57でチエツクされる。許可ビツトがセツトされて
いなければ、ステツプ55および56でプログラムが
次のアツド・オン・モジユールを見る。i番目の
モジユールが許可されていると、ステツプ58に示
すように、ログ・エラー(LOGERR)ルーチン
が呼出される。このルーチンは、妥当なコードの
あるべき所に不当なコードのあることの表示を記
憶している。 ステツプ55で、全てのプログラムがテストない
しラン済みであることが決定された後、プログラ
ムは、他のコーデイング59を続行する。次のア
ルゴル・プログラムは、第5図に示す各ステツプ
を実行するためのプログラムの詳細を示したもの
である。 先のプログラムの場合と同様に、ブール列Aは
プログラムに対して大域である。この場合もfor
ステートメントは、ステツプ52、55および56に示
すようなポインターの操作を実施する。プール変
数Vの値をセツトするため、前に説明したような
検査ルーチンが呼出される。Boolean array A[1:n]… …proc .VRUN(A、n)integer i;Boolean
V; for i:=1 stepuntildo begin ver(i、V); go to if V then#(i*2′11+3*2′12) else if A[i]then logerr(i) end end VRUN 呼出されたプログラムは、以下では
ADDONPROGiと示すが、その第1ステートメ
ントの1つとしてセツトされていない場合には、
呼出しプログラムへのリターンを起こさせる、そ
の許可ビツトのテストを含んでいる。Boolean array A[1:n] …proc ADDONPROGi… if−A[i]then return … LOGERR(i)サブルーチンは詳しく示してない。
これは本発明にとつては補助的なものにすぎず、
事実上、i番目のプログラム・モジユールが誤ま
つていることを記憶するために、値iを特定の位
置に記憶するだけである。 第6図には、本発明を実施するための別のプロ
グラムが示してあるが、そこでは、マシンが最初
にオンに切換えられたときに実施される。パワ
ー・オン・リセツト・プログラムなどの予備ルー
チンが各モジユールをテストし、妥当であれば読
取り/書込みメモリのような書込み可能メモリ中
のテーブル中の使用可能ビツトをセツトして、
CMOSメモリ中のスペースを保存する。ステツ
プ51、52、53、57、58、55および56は第5図に示
したものと同様である。ただし、ステツプ64は、
i番目のプログラムを呼出す代りに、使用可能列
E中の使用可能ビツトをセツトする。その後、プ
ログラム中の適当な所で、j番目の使用可能ビツ
トがテストされて、j番目のモジユール中でプロ
グラムを実施すべきか否かが決定される。使用可
能ビツトがセツトされている場合には、ステツプ
66に示すようにj番目のモジユールが呼出され
る。 k番目のプログラムが求められていないことを
マシン条件が示す場合には、プログラムの一部
が、ステツプ67に示すように使用可能ビツトをリ
セツトすることもできる。例えば、k番目のプロ
グラムによつて操作不能であることが後からわか
つた付属機構を制御することができる。PORに
よつてプログラムが使用可能となつているが、こ
れは第6図に示すように後続の事象に照らして使
用禁止にすることができる。 このことについて、以下に適当なアルゴル・プ
ログラム中でより詳しく示す。使用可能列Eもプ
ログラムに対して大域であるとみなされる。ステ
ツプ65および66は、これも主プログラム中のある
任意位置でアツド・オン・プログラムを実行する
ために示してある。ステツプ67は、これもk番目
のプログラムの使用可能ビツトをリセツトするも
のとして示してある。ここで指摘しておきたいの
は、k番目のプログラムが使用可能でない場合に
はこのステツプは効果されてないか、使用可能と
なつている場合には、このステツプがそのプログ
ラムを使用禁止にすることである。もちろん、プ
ログラムを使用可能にするために後続のステツプ
を使用すべきではない。使用可能ビツトがセツト
されるのは、プログラムが検査済みの場合だけで
ある。先のプログラムの場合と同様に、呼出され
たプログラムがその許可ビツトをチエツクする。
別のやり方として、使用可能ビツトをセツトする
前に許可ビツトをチエツクすることもできる。こ
のような修正は、通常の技術の専門家にとつて、
本発明の教示を与えられておれば自明のことであ
る。Boolean array A[1:n]、E[1;n]、… …proc .SPROG(A、E)integer i;Boolean
V; for i:=1 stepuntildo begin ver(i、V);E[i]:=V end end SPROG … go to if E[j]then#((j−1)*2′11 +3*2′12) … E[k]:=if(cond)then false … 付 記 これまで本発明の最良の実施方式を示すために
アルゴル60を使用してきた。コンバイラーは、マ
シン毎に異なり、従つて言語の記号セツトの中で
字訳が可能である。また、あるコンバイラーに対
する原始コードを用いて、別のコンバイラーに対
する原始コードを生成させる翻訳プログラムもあ
る。例えば、アルゴル−フオトラン翻訳プログラ
ムは、次のアルゴルforステートメントを取る。 for v1:=e1 step v2 until e2 do S ここで v1、v2=変数 e1、e2=式 S=ステートメント(複合ステートメントを含
む)であり次のようにしてDOループを生成す
る。 DO 100v1=e1 TO e2 BY v2 S 100 CONTINUE ここに含まれるアルゴル・プログラムは、予約
語として下位ケース下線語を使用している。使用
される字訳には次のものが含まれる。 【表】 特殊なコンパイラー命令#は、絶対アドレスが
命令#の後の式に等しくコンパイルされることを
示している。例えば#(i*2′11+3*2′12)はi=
3のとき、18432に等しい絶対アドレスを生成す
る。もちろん、コンパイラーは、この値を目的マ
シンによつて呼出されたものとして生成する。目
的マシンが16進アドレス指定を使用する場合に
は、上記の値はアドレス4800としてコンパイルさ
れる。 各コンパイラーには、それ自体に標準機能であ
るsqrt(平方根)、sin(サイン)、arctan(アークタ
ンジエント)などの機能プラス特殊機能のライブ
ラリーが備わつている。以下の特殊ライブラリー
機能が、コンバイスによつて実現されるものとし
て仮定してある。 rem(x、Y):整数ルーチン:xをyで割つた剰
余を与える。 gcd(x、y):整数ルーチン:xとyの最大公約
数を与える。
【図面の簡単な説明】
第1図は本発明を利用することのできるメモ
リ・システムの構成図、第2図は書込み可能メモ
リの妥当性テーブル構成図、第3図は被加記憶モ
ジユールのメモリ配置図、第4図は本発明の方法
を実施するためのプログラムの流れ線図、第5図
は本発明を実施するための他の流れ線図、第6図
は本発明を実施するための第3の方法の流れ線図
の一部である。 10……プロセツサ、11……メモリ・アドレ
ス・レジスタ、12……メモリ・データ・レジス
タ、14……アドレス母線、17……デコーダ。

Claims (1)

  1. 【特許請求の範囲】 1 データ処理装置と、該データ処理装置のプロ
    グラムを収容しているメモリと、該メモリに接続
    されていてアドレスや他の情報を伝える複数の母
    線と、任意のメモリを指定するためのアドレスを
    該母線のうちの1つに生じるアドレス装置とを含
    むシステムにおける追加のプログラムを収容して
    いる読取り専用付加メモリを付加した際の読取り
    専用付加メモリの検査方式であつて、 それぞれ固有のアドレスが付けられた1つ以上
    の読取り専用付加メモリを他のメモリと並列的に
    上記母線に接続し、 上記1つ以上の読取り専用付加メモリの各読取
    り専用付加メモリの固有のアドレスと、該読取り
    専用付加メモリの記憶内容に予定の検査技法を適
    用して生成した検査文字とを、該読取り専用付加
    メモリの第1及び第2の所定記憶位置に記憶して
    おき、 上記データ処理装置のプログラムから上記1つ
    以上の読取り専用付加メモリのうちの1つの読取
    り専用付加メモリ内のプログラムへ制御を移す要
    求が生じる際には、該読取り専用付加メモリの上
    記第1の所定記憶位置から読取られる情報が該読
    取り専用付加メモリの固有のアドレスに一致する
    か否かを調べる第1の検査と、該読取り専用付加
    メモリの記憶内容に上記予定の検査技法を適用し
    て生成される検査文字が上記第2の所定記憶位置
    から読取られる検査文字に一致するか否かを調べ
    る第2の検査とを行い、該第1及び第2の検査の
    両方において一致が認められるときだけ、上記要
    求を受け入れる ことを特徴とする読取り専用付加メモリの検査方
    式。
JP11044680A 1979-10-31 1980-08-13 Memoryyadding system including test and control of codes Granted JPS5668850A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/089,799 US4321667A (en) 1979-10-31 1979-10-31 Add-on programs with code verification and control

Publications (2)

Publication Number Publication Date
JPS5668850A JPS5668850A (en) 1981-06-09
JPS641815B2 true JPS641815B2 (ja) 1989-01-12

Family

ID=22219636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11044680A Granted JPS5668850A (en) 1979-10-31 1980-08-13 Memoryyadding system including test and control of codes

Country Status (6)

Country Link
US (1) US4321667A (ja)
EP (1) EP0028312B1 (ja)
JP (1) JPS5668850A (ja)
BR (1) BR8006832A (ja)
CA (1) CA1143859A (ja)
DE (1) DE3069876D1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4377845A (en) * 1980-09-29 1983-03-22 International Business Machines Corporation Optional machine inhibition for feature malfunction
US4387442A (en) * 1980-10-01 1983-06-07 International Business Machines Corporation Controlled machine inhibition when control module is absent
GB2101370A (en) * 1981-06-26 1983-01-12 Philips Electronic Associated Digital data apparatus with memory interrogation
GB2103397A (en) * 1981-07-31 1983-02-16 Philips Electronic Associated Digital data aparatus with memory selection
US4787060A (en) * 1983-03-31 1988-11-22 Honeywell Bull, Inc. Technique for determining maximum physical memory present in a system and for detecting attempts to access nonexistent memory
ZA861011B (en) * 1985-02-28 1986-09-24 Westinghouse Electric Corp Solid state memory cartridge
GB2174517B (en) * 1985-03-23 1990-01-10 Burr Brown Ltd Apparatus and method for utilizing an auxiliary data memory unit in a data processing system having separate program and data memory units
US4755995A (en) * 1985-12-20 1988-07-05 American Telephone And Telegraph Company, At&T Bell Laboratories Program update in duplicated switching systems
US4682283A (en) * 1986-02-06 1987-07-21 Rockwell International Corporation Address range comparison system using multiplexer for detection of range identifier bits stored in dedicated RAM's
US4718506A (en) * 1987-03-31 1988-01-12 Pitney Bowes Inc. Prom card arrangement for postal/shipping scale
US5101374A (en) * 1988-05-19 1992-03-31 The United States Of America As Represented By The Director Of The National Security Agency Secure, fast storage and retrieval without interactive checking
JPH0223440A (ja) * 1988-07-13 1990-01-25 Toshiba Corp パーソナルコンピュータ
US5237690A (en) * 1990-07-06 1993-08-17 International Business Machines Corporation System for testing adaptor card upon power up and having disablement, enablement, and reconfiguration options
FR2687489A1 (fr) * 1992-02-13 1993-08-20 Hewlett Packard Co Bus de connexion de cartes d'extension a un systeme informatique et procede de test.
DE4332499A1 (de) * 1993-09-24 1995-03-30 Bosch Gmbh Robert Verfahren zur vollständigen Neuprogrammierung eines löschbaren, nichtflüchtigen Speichers
US6374352B1 (en) 1998-08-26 2002-04-16 Intel Corporation Temporary configuration with fall-back
FR2818426A1 (fr) * 2000-12-18 2002-06-21 Schlumberger Systems & Service Dispositif et procede de securisation de zones de donnees dans une carte a puce
US8171205B2 (en) * 2008-05-05 2012-05-01 Intel Corporation Wrap-around sequence numbers for recovering from power-fall in non-volatile memory

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3546680A (en) * 1968-05-01 1970-12-08 Massachusetts Inst Technology Parallel storage control system
US3579199A (en) * 1969-02-03 1971-05-18 Gen Motors Corp Method and apparatus for fault testing a digital computer memory
US3838264A (en) * 1970-11-25 1974-09-24 P Maker Apparatus for, and method of, checking the contents of a computer store
US3713108A (en) * 1971-03-25 1973-01-23 Ibm Branch control for a digital machine
US3815103A (en) * 1973-01-02 1974-06-04 Honeywell Inf Systems Memory presence checking apparatus
US3821715A (en) * 1973-01-22 1974-06-28 Intel Corp Memory system for a multi chip digital computer
FR2217769B1 (ja) * 1973-02-09 1984-03-09 Cii Honeywell Bull
US4025903A (en) * 1973-09-10 1977-05-24 Computer Automation, Inc. Automatic modular memory address allocation system
DE2364408C3 (de) * 1973-12-22 1979-06-07 Olympia Werke Ag, 2940 Wilhelmshaven Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers
US3958222A (en) * 1974-06-27 1976-05-18 Ibm Corporation Reconfigurable decoding scheme for memory address signals that uses an associative memory table
CA1051121A (en) * 1974-09-25 1979-03-20 Data General Corporation Overlapping access to memory modules
US4086626A (en) * 1974-10-07 1978-04-25 Fairchild Camera And Instrument Corporation Microprocessor system
DE2460497A1 (de) * 1974-12-20 1976-06-24 Kienzle Apparate Gmbh Datenverarbeitungsanlage
FR2319953A1 (fr) * 1975-07-28 1977-02-25 Labo Cent Telecommunicat Dispositif de reconfiguration de memoire
US4055802A (en) * 1976-08-12 1977-10-25 Bell Telephone Laboratories, Incorporated Electrical identification of multiply configurable circuit array
US4159520A (en) * 1977-01-03 1979-06-26 Motorola, Inc. Memory address control device with extender bus
US4158235A (en) * 1977-04-18 1979-06-12 Burroughs Corporation Multi port time-shared associative buffer storage pool
US4161277A (en) * 1977-08-30 1979-07-17 Xerox Corporation Improper copy run program entry check for electrostatic type reproduction or copying machines
US4122996A (en) * 1977-08-30 1978-10-31 Xerox Corporation Copy reproduction machine with controller self check system
US4209846A (en) * 1977-12-02 1980-06-24 Sperry Corporation Memory error logger which sorts transient errors from solid errors

Also Published As

Publication number Publication date
CA1143859A (en) 1983-03-29
JPS5668850A (en) 1981-06-09
US4321667A (en) 1982-03-23
DE3069876D1 (en) 1985-02-07
EP0028312B1 (en) 1984-12-27
EP0028312A1 (en) 1981-05-13
BR8006832A (pt) 1981-05-05

Similar Documents

Publication Publication Date Title
JPS641815B2 (ja)
US5224101A (en) Micro-coded built-in self-test apparatus for a memory array
CA1240065A (en) Error detection and correction system
US5212693A (en) Small programmable array to the on-chip control store for microcode correction
EP0048825B1 (en) Microprocessor controlled machine
JPH0317133B2 (ja)
JPS6259822B2 (ja)
JPS58151648A (ja) プログラムパツチ手段を有するデ−タ処理装置
EP0986783A4 (en) PURPOSE OF TIME-CORRECTED ERROR CODES (ECC) TO CORRECTE MEMORY ERRORS
JP3795744B2 (ja) マイクロコントローラ
EP0458559A2 (en) Mask-programmable microprocessors
KR0184346B1 (ko) 롬 프로그램 변경기능을 가진 마이크로컴퓨터
US4204634A (en) Storing partial words in memory
AU603964B2 (en) Cache memory having self-error checking and sequential verification circuits
JPH0237600A (ja) 読取り専用記憶装置の試験方法とその方法を実行するデバイス
US4785414A (en) Computer system with automatic range checking and conversion of data words
US5359719A (en) Address range setting method and apparatus for a computer expansion card
US5291603A (en) Microprocessor system with multiple interrupts masked for use in electronic control or monitoring of various solid-state products
CN111158660A (zh) 一种多模式星载软件eeprom在轨编程方法
EP0497443B1 (en) Static ram based microcontroller
RU2250488C1 (ru) Способ обработки данных
CN120656524B (zh) 用于存储器指定地址注错的自检电路及自检方法
US7822953B2 (en) Protection of a program against a trap
SU1649551A1 (ru) Устройство дл контрол хода программ
CN121579037A (zh) 基于Cortex-M0内核的固件升级方法及相关装置