JPH0410033A - microprocessor with redundant registers - Google Patents
microprocessor with redundant registersInfo
- Publication number
- JPH0410033A JPH0410033A JP2110038A JP11003890A JPH0410033A JP H0410033 A JPH0410033 A JP H0410033A JP 2110038 A JP2110038 A JP 2110038A JP 11003890 A JP11003890 A JP 11003890A JP H0410033 A JPH0410033 A JP H0410033A
- Authority
- JP
- Japan
- Prior art keywords
- register
- circuit
- registers
- microprocessor
- failure
- 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
Links
Landscapes
- Hardware Redundancy (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
従来のレジスタセルとして、例えば、カーム・ミード、
リン・コンウェイ著:イントロダクションツーブイエル
エスアイ システムズ、第163頁(Carver M
ead and Lynn Contzay : I
ntroducti。
n to V L S I Systems、pp、1
63)に、2ボートレジスタのセルが示されている。イ
ンバータを用いて表わすと、第2図のように表される。
以下タイプlレジスタセルと呼ぶことにする。タイプl
レジスタセルではインバータ1.2およびトランジスタ
3が閉路を形成し、データの保持をおこなう。
φ2は2相のノンオーバラップクロックφ□、φ2の片
方である。信号LdA、LdB、RdA、RdBはクロ
ックφ□の期間にオンとなる信号である。
バスBAから、レジスタのデータを入力する場合、Ld
A信号がハイレベルとなり、トランジスタ4がオン、ト
ランジスタ3がオフとなり、BAのデータが、インバー
タ1.2へ伝えられる。
バスBBからレジスタへデータを入力する場合、LdB
信号がハイレベル、トランジスタ5がオン、トランジス
タ3がオフとなり、BBの値がインバータl、2へ伝え
られる。LdA信号とLdB信号を、同時にハイレベル
にすることは禁止される。
レジスタの値をBAに出力するためには、RdA信号を
ハイレベル、トランジスタ6をオンとすればよい。レジ
スタの値をBBに出力するためには、RdB信号をハイ
レベル、トランジスタ7をオンとすればよい。RdA信
号とRdB信号は、同時にハイレベルにしてもかまわな
い。
タイプlレジスタセルは、CM OS (Comple
mentary Metal 0xide Sem1c
onductor)回路で9トランジスタで構成される
。As a conventional register cell, for example, Calm Mead,
Written by Lynn Conway: Introduction to LVSI Systems, page 163 (Carver M
ead and Lynn Contzay: I
ntroducti. n to VLSI Systems, pp, 1
63) shows a cell of a two-vote register. When expressed using an inverter, it is expressed as shown in FIG. Hereinafter, this will be referred to as a type I register cell. type l
In the register cell, inverter 1.2 and transistor 3 form a closed circuit to hold data. φ2 is one of the two-phase non-overlapping clocks φ□ and φ2. Signals LdA, LdB, RdA, and RdB are signals that are turned on during the period of clock φ□. When inputting register data from bus BA, Ld
The A signal becomes high level, transistor 4 is turned on, transistor 3 is turned off, and the data of BA is transmitted to inverter 1.2. When inputting data from bus BB to register, LdB
The signal is at a high level, transistor 5 is turned on, transistor 3 is turned off, and the value of BB is transmitted to inverters 1 and 2. It is prohibited to make the LdA signal and the LdB signal high level at the same time. In order to output the value of the register to BA, it is sufficient to set the RdA signal to a high level and turn on the transistor 6. In order to output the value of the register to BB, it is sufficient to set the RdB signal to a high level and turn on the transistor 7. The RdA signal and the RdB signal may be set to high level at the same time. Type I register cells are CM OS (Complete
Mentary Metal Oxide Sem1c
(onductor) circuit consisting of nine transistors.
第2図で示されたレジスタセルを用いてレジスタファイ
ルを構成する場合、レジスタファイルに冗長性を持たせ
なければ、一箇所でも故障があると、レジスタファイル
として所期の動作をおこなわないという問題があった。
本発明の目的は、レジスタファイルの一部に故障が生じ
ても、この故障を回避できるような冗長レジスタを有す
るマイクロプロセッサを提供することである。When configuring a register file using the register cells shown in Figure 2, unless the register file has redundancy, there is a problem that if there is a failure in even one place, the register file will not operate as expected. was there. SUMMARY OF THE INVENTION An object of the present invention is to provide a microprocessor having redundant registers that can avoid a failure even if a failure occurs in a part of the register file.
上記目的を達成するために、マイクロプロセッサ内のn
個のレジスタに対して1個以上の予備レジスタを設け、
n個のレジスタに故障が存在するかどうかを記憶する手
段を有し、この記憶する手段に従って、前記n個のレジ
スタに対するアクセスが生じたときに予備レジスタをア
クセスするような切り換え機構を有する構成とする。In order to achieve the above purpose, n in the microprocessor
Provide one or more spare registers for each register,
A configuration including means for storing whether or not a failure exists in the n registers, and a switching mechanism for accessing a spare register when the n registers are accessed according to the storing means. do.
【作用)
n個のレジスタの一部に故障が発見された場合。
故障したレジスタに対するアクセスを予備のレジスタに
対するアクセスに切り替える。これによって、レジスタ
に生じた製造不良を回避できる。
[実施例]
以下、本発明の第1の実施例を、図面を用いて説明する
。
第1図は、本発明の一実施例を示す図である。
マイクロプロセッサ501は、入出力制御部502、命
令デコーダ503、制御回路504、レジスタ制御回路
505、アドレスレジスタ(ADH)506、データレ
ジスタ (DTR)507、プログラムカウンタ(PC
)508、算術論理ユニット(ALU)509、欠陥救
済情報記憶回路160〜163、レジスタファイル51
0から構成されている。レジスタファイル51.0は、
冗長性を有するレジスタである。例えば、レジスタRO
1R1、R2、R3に加え、予備レジスタRsを持つ。
ADR,DTR,PC,ALU、レジスタファイルはそ
れぞれバスBA511、バスBB512に接続されてい
る。
マイクロプロセッサ501は、以下のように、通常の命
令を実行する。PCの値がバスBAまたはBBを通して
、ADHへ転送される。入出力制御部の制御のもとで、
ADHの値はアドレスピン520を通してチップ外へ出
力される。このとき、当該アドレスの外部メモリー(図
示せず)からデータビン521を通して、DTRへ命令
が入力される。DTRへ入力された命令は、命令デコー
ダ503で解読され、制御回路504を通して、ALU
509等を制御する。制御回路504およびレジスタ制
御回路505を通して、レジスタファイル510を制御
する。命令実行に際して、拡張部が必要なときは、PC
508の値が更新され、更新されたアドレスがアドレス
ピンから出力され、更新されたアドレスの内容がDTR
へ読み込まれる。504はマイクロプログラムROMあ
るいはランダム回路で構成さる。
プロセッサの命令を用いてレジスタROのテストをおこ
なう例を示す。レジスタROのテストは、オールOを書
き込んで読み出されたデータがオール○であることを調
べ、さらにオール1を書き込んで読み出されたデータが
オール1であることを調べることによりおこなわれる。
例えば、(1) MOV オー/lzo、ROを実
行すると、レジスタROにオールOが書き込まれる。次
に、
(2) MOV RO,O番地
を実行した場合を考える。チップに故障がなければ、ア
ドレスピンがオールO、データピンがオールOとなる。
これ以外の場合、チップのどこかに故障が生したと判定
できる。特に、データビンの値がオールOでない場合、
DTR507、バスBA、BB、レジスタRO等に故障
があると判断される。同様に、
(3)MOV オール1.RO
(4) MOV Ro、0番地
を実行した場合、チップに故障がなければ、アドレスピ
ンがオールO、データビンがオール1となる。これ以外
の場合、チップのどこかに故障が生じたと判定できる。
特に、データビンの値がオール1でない場合、DTR5
07、バスBA、BB、レジスタRO等に故障があると
判断される。
さらに、レジスタR1に対して同様のプログラムを実行
させる。すなわち、
(1’) MOV オール○、R1(2’) M
OV R1,O番地
を実行し、アドレスピンがオール○、データビンがオー
ルOとなるかどうか調べる。さらに、(3’) MO
V オール1.R1(4’) MOV R1,○
番地
を実行し、アドレスピンがオールO、データビンがオー
ル1となるかどうか調べる。命令(1′)〜(2′)が
所期の期待値どおり実行され、。命令(1)〜(2)が
所期の期待値と異なる動作結果となったとき、レジスタ
ROに故障が生じていると判断できる。
以上の方法を用いれば、命令を実行させながらチップの
データビンを観測することにより、レジスタRO−R3
の故障の有無を判定できる。
テストの結果、レジスタR○だげに故障が生じた場合、
欠陥救済情報記憶回路160に書き込みがおこなわれ、
欠陥救済情報記憶回路160からはハイレベルが出力さ
れるようになる。同様に、テストの結果レジスタR1、
R2、R3だけに故障が発見された場合、それぞれ欠陥
救済情報記憶回路161.162.163に書き込みが
おこなわれ、それぞれハイレベルが出力されるようにな
る。レジスタRO〜R3のいずれか1個に故障が生した
場合、欠陥救済情報記憶回路160〜163に書き込み
をおこなえば故障が救済される。レジスタRO,R1、
R2、R3の2個以上に故障が存在する場合、第1図の
実施例では故障救済は不可能である。
欠陥救済情報記憶回路に書き込みをおこなう一つの方法
として、レーザによってチップ上のヒユーズを切断する
方法がある。第3図に、チップの製造後に書き込みが可
能な回路の一例を示す。第3図は、レーザ切断可能なヒ
ユーズ300、トランジスタ301、抵抗302、トラ
ンジスタ303によって構成されている。ヒユーズ30
0は、製造時には接続状態にある。このときトランジス
タ303のゲートはハイレベルになり、トランジスタ3
03がオン状態となる。これによって、ノード304の
電位がローレベルとなり、出力305は、ローレベルと
なる。一方、レーザによって、ヒユーズ300が切断さ
れた場合を考える。ノード304へは抵抗303を通し
て電荷が注入される。このときトランジスタ301がオ
ン状態となり、トランジスタ301のソースはローレベ
ルになる。この結果トランジスタ303がオフ状態とな
る。出力305はハイレベルとなる。
欠陥救済情報記憶回路に書き込みをおこなう別の方法と
して次のものがある。すなわち、第4図に示すように、
チップにテストモードピン522、高電圧ピン523、
外部ピン524.525.526を設ける。テストモー
ドピン522がハイレベルかつ高電圧ピン523に高電
圧(例えば10V)が加えられたとき、外部ピン524
〜527から、直接、欠陥救済情報記憶回路170〜1
73に、欠陥救済情報が書き込まれる。
外部ピンから電気的に書き込みをおこなう場合の欠陥救
済情報回路の例を第5図に示す。テストモードピン52
2をハイレベル、高電圧ピン523に高電圧(例えば1
0v)を印加し、外部ピン524〜527をそれぞれハ
イレベルにすると、トランジスタ306.307がオン
となり、ヒユーズ300に高電圧が印加され溶断してし
まう。
すなわち欠陥救済情報記憶回路170〜173に書き込
まれたことになる。テストモードの設定は。
テストモートピンに限定されるものではない。
欠陥救済情報記憶回路は、必ずしもフユーズでなくても
よく、例えば不揮発性素子を用いる方法もある。
上記で示したレジスタのテスト方法は、プロセッサのプ
ログラムを用いる方法である。この他、チップ内のメモ
リーにテストプログラムを内蔵することもできる。例え
ば、
(1”)MOV オールo、RO
(2”) CMP オールO,RO(3”) B
NZ ROFLT
(4”)MOV オール1.RO
(5”) CM P オール1.RO(6′つ
BNZ ROFLT
を実行し、レジスタROに故障が含まれる可能性がある
か否か判定する。命令(1”)では、オール0をレジス
タROに書き込む。命令(2”)では、レジスタROと
オール0を比較する。命令(3”)では、比較結果が非
零のとき、ROFLTでラベル付けされた命令へ分岐す
る。比較結果が零のとき、引き続く次の命令を実行する
。命令(4”)では、オール1をレジスタROに書き込
む。命令(5”)では、レジスタROとオール1を比較
する。命令(6”)では、比較結果が非零のとき、RO
FLTでラベル付けされた命令へ分岐する。比較結果が
零のとき、引き続く次の命令を実行する。
ROFLTでラベル付けされたプログラムとして、以下
のプログラムを考える。
(7”) ROFLT:MOV オールO,R1(
8”)CMP オールO,R1
(9”) BNZ FAULT
(10′つ MOV オール1.R1(11”)CM
P オール1.R1
(12”) BNZ FAULT
以上のようなプログラムをチップ上に集積化しておき、
パワーオンリセット時に実行する方法もある。この場合
、欠陥救済情報記憶回路は通常のフリップフロップでよ
くヒユーズは必要ない。
第6図に、バスBAに欠陥救済情報記憶回路180〜1
83を接続した例を示す。この場合、例えば、テストモ
ードのみで実行可能な転送命令によって設定可能である
。
第7図は、本発明によるレジスタファイルの一構成例で
ある。第7図では、レジスタ140,141.142,
143に加え、レジスタ144が備えられている。これ
らのレジスタを、それぞれ、レジスタRO1R1、R2
、R3、R5と呼ぶことにする。レジスタR3は予備の
レジスタである。
レジスタRO,R1,R2、R3のいずれか1個に故障
が生じた場合、故障したレジスタに替えて、レジスタR
8が使用される。それぞれのレジスタは第2図で示され
たレジスタと同一の構成である。
すなわち4個のタイプルレジスタセル50.51.52
.53から構成されている。第7図の回路は、タイプル
レジスタセル20個から構成されるので、9X20=1
80トランジスタで構成される。
第8図は、第7図のレジスタファイルを制御するデコー
ド回路である。4個の同一のデコード回路’10.11
1.112.113から構成される。これをタイプ1デ
コード回路と呼ぶことにする。
デコード回路110への入力は、LdA S E LO
11信号、LdA S T B信号、クロックφ□に加
え、欠陥救済情報記憶回路160.161.162.1
63の出力である。欠陥救済情報記憶回路160〜16
3は、集積回路の製造後に書き込みができる回路である
。第8図の実施例では、製造時にローレベルを出力する
。
レジスタROに故障が存在し、欠陥救済情報記憶回路1
60に書き込みがおこなわれた場合について説明する。
もしLdA S E L O11信号がともにローレベ
ルとなって、かつLdA S T B、クロックφ、が
ともにハイレベルとなったとき、LdAR8信号がハイ
レベルとなる。LdARO信号はローレベルのままであ
る。すなわち、レジスタROのかわりにレジスタR8へ
の書き込みがおこなわれる。
LdASELO11信号によってレジスタR1、R2、
R3が選択され、LdSTB信号とクロックφ2がハイ
レベルならば、それぞれLdARl、LdAR2、Ld
AR3信号がハイレベルになり、LdAR8信号はハイ
レベルにならない。
同様に、欠陥救済情報記憶回路161.162.163
に書き込みが生じた場合、それぞれ、レジスタR1、R
2、R3のかわりにレジスタR5がアクセスされる。
デコード回路110の真理値表を第15図に示す。
タイプ1デコード回路はCMOS回路で86トランジス
タで構成される。
デコード回路111.112.113の構成は、デコー
ド回路110と同一である。
デコード回路111は、欠陥救済情報記憶回路160.
161.162.163に書き込みが生じた場合、バス
BBからのレジスタRO,R1゜R2、R3への書き込
みをそれぞれ、レジスタR8に変更する。
デコード回路112は、欠陥救済情報記憶回路160.
161.162.163に書き込みが生じた場合、それ
ぞれレジスタRO,R1、R2、R3からのバスBAへ
の読み出しレジスタR3に変更する。
デコート回路113は、欠陥救済情報記憶回路160.
161.162.163に書き込みが生じた場合、それ
ぞれレジスタRO,R1、R2、R3からのバスBBへ
の読み出しを、レジスタR8に変更する。
以上のように、第7図および第8図で示されるレジスタ
ファイルは、レジスタR○、R1、R2、R3のうち1
個に故障が生じても、予備のレジスタR3に切り替えて
、動作させることが可能である。
第7図および第8図のレジスタファイルは、180+8
6X4=524 hランジスタで構成される。
比較のため、冗長性を持たないレジスタファイルの構成
例を図面を用いて説明する。すなわち第2図のタイプエ
レジスタセルを用い、4ビット×4個の構成をもつレジ
スタファイルの例を第9図に示す。
第9図において、1o、11.12.13はそれぞれデ
コート回路を表わし、40はレジスタRO141はレジ
スタR1,42はレジスタR2,43はレジスタR3を
表わす。
レジスタROはタイプルレジスタセル5o、51.52
.53から構成されている。タイプルレジスタセル50
.51.52.53はそれぞれバスBAの第0−3ビツ
ト(BAo−BA3)およびバスBの第0−3ビツト(
B Bo−B B、)に接続されている。
デコード回路11.12.13はデコード回路1oと同
一の回路である。以下、デコード回路10.11.12
.13をタイプ2デコード回路と呼ぶことにする。
タイプ2デコード回路はCMOS回路で44トランジス
タで構成される。
デコートコード回路10は、バスBA(BA。
−B A、)からレジスタRO,R1,R2、R3への
データ書き込みを制御する回路である。
デコード回路10へはLdA S E L O信号、L
dASELI信号、LdA S T B信号、およびク
ロックφ、が入力され、信号線20.21.22.23
が出力される。真理値表を第16図に示す。
LdA S E L O1111倍、4個のレジスタR
O,R1、R2、R3(7)うち1個を選択する。Ld
A S T B信号がハイレベルであれば、バスBAか
らデータを書き込むレジスタが存在することを示す。L
dA S T B信号がローレベルの場合、LdASE
LO11信号にかかわらず、信号線20.21.22.
23はすべてローレベルである。
デコード回路11は、バスBB (BBo−BB3)か
らレジスタRO,R1、R2、R3への書き込みを制御
する回路である。デコード回路10と同一の論理回路で
ある。
デコード回路12は、レジスタRO,R1、R2、R3
からバスBA (BAo−BA3)への読み出しを制御
する回路である。デコート回路10と同一の論理回路で
ある。
デコード回路13は、レジスタRO,R1、R2、R3
からバスBB (BBo−BB、)への読み出しを制御
する回路である。デコート回路10と同一の論理回路で
ある。
タイプ2レジスタセルは9トランジスタから構成されて
おり、レジスタRO,R1、R2,R3はそれぞれ4セ
ルから構成される。よって第9図のレジスタRO1R1
、R2、R3は合計9×16=144 トランジスタで
構成される。
またタイプ2デコーダ回路はそれぞれ44トランジスタ
で構成され、第9図では4個のタイプ1デコーダを用い
ている。よって第9図で示されるデコード回路10.1
1.12.13は4×44=176トランジスタで構成
される。
よって、第9図で示される回路は合計320トランジス
タで構成される。
第7図および第8図で示されたレジスタファイルは前述
のように、180+86X4=524 トランジスタで
構成される。第9図の回路に比べてトランジスタ数で5
24/320=1.64倍のオーバヘッドが生じる。
次に、本発明の別の実施例を説明する。第10図は、デ
ータ記憶のための閉路を2つ有するレジスタセル(以下
タイプ2レジスタセルと呼ぶ)の−例である。第2図で
示されたタイプ1のセルとの相違は、インバータ1′
2′、トランジスタ3’ 、6’ 、7’ が加えら
れたことである。第10図において、第1の閉路は第2
図と同様インバータ1.2およびトランジスタ3で形成
される。
バスBA、BBからの書き込みは、バスBA、BBへの
データ読み出し動作は、第2図のセルと同一である。
第2の閉路は、インバータ1’ 、2’ 、およびトラ
ンジスタ3′で形成される。バスBA、BBからの書き
込み、バスBB、BAへのデータ読み出し動作は、第1
の閉路と同様である。すなわち、LdA信号をハイレベ
ルにすることによりバスBAからの書き込みがおこなわ
れ、LdB信号をハイレベルとすることにより、バスB
Bからの書き込みがおこなわれる。RdAS信号をハイ
レベルにすることによりバスBAへのデータ読み出しが
おこなわれ、RdBS信号をハイレベルにすることによ
りバスBBへのデータ読み出しがおこなわれる。タイプ
2レジスタセルのトランジスタ数はCMO3回路で16
個である。
第11図に、タイプ2レジスタセルを用いたレジスタフ
ァイルの構成例を示す。240はレジスタRO1241
はレジスタR1,242はレジスタR2,243はレジ
スタR3を表わす。それぞれのレジスタの構成は同一で
ある。
レジスタROはタイプ2レジスタセル50’51’ 、
52’ 、53’から構成されている。タイプ2レジス
タセル50’ 、51’ 、52’ 、53′はそれぞ
れバスBAの第0−3ビツト(BA−B A、)および
バスBf7)第0−3ビツト(BB−BB3)に接続さ
れている。
第12図に、第11図で示されるレジスタファイルの制
御回路を示す。この制御回路は、タイプ2デコーダ21
0.211.タイプ3デコーダ212,213およびフ
ィールド書き込み可能回路164から成っている。タイ
プ2デコーダ210゜211の入力信号および出力信号
は、第9図で示されるタイプ2デコード回路10と同様
であり、その動作は第16図の真理値表に従う。
タイプ3デコード回路212の入力信号はRdASEL
O信号、RdA S E L 1信号、RdA S T
B倍信号クロックφ□、およびフィールド書き込み可能
回路164からの出力である。タイプ3デコード回路の
出力信号は、RclA RO信号、RdARO3信号、
RdAR1信号、RdARIS信号、RdAR2信号、
RdA R2S信号、RdAR3信号、RdA R3S
信号、RdBRO信号、RdBROS信号、RdBR1
信号、RdBRIS信号、RdBR2信号、RdB R
2S信号、RdBR3信号、RdB R3S信号である
。タイプ3デコード回路の真理値表を第17図に示す。
第17図の真理値表を実現するタイプ3のデコード回路
の一例を第13図に示す。第13図の回路はCMO5回
路で78トランジスタで構成される。
第10〜13図で示されるレジスタを有するマイクロプ
ロセッサの例を第14図に示す。第1.4.6図で示さ
れる実施例との違いは、(1)タイプ2レジスタセル(
第10図)を用いている、(2)1個の欠陥救済情報記
憶回路190を用いている、という点である。レジスタ
ファイル510′のテスト法は、第1の実施例と同様に
、マイクロプロセッサの命令を用いておこなうことがで
きる。あるいは、チップ内部にテストプログラムを内蔵
する方法も可能である。
テストの結果、レジスタRO1R1、R2,R3に故障
がなければ、欠陥救済情報記憶回路190には、書き込
みがおこなわれず、ローレベルを8力する。
テストの結果、レジスタRO,R1,R2、R3の1個
以上に故障が生じた場合、欠陥救済情報記憶回路190
に書き込みがおこなわれる。第14図で示される実施例
では、テストモードピン522にハイレベルを、高電圧
ピン523に高電圧(例えば10)を印加すると、欠陥
救済情報記憶回路190に書き込みがおこなわれる。こ
の結果、タイプ2レジスタセルの第2の閉路が使用され
る。
第14図のレジスタファイル510′とレジスタ制御回
路505′におけるトランジスタ数は、欠陥救済情報記
憶回路を除き、次の通りである。
すなわち、タイプ2レジスタセルが16個、タイプ2デ
コーダ回路が2個、タイプ3デコーダ回路が2個なので
16X16+2X44+2X78=500 トランジス
タである。
第9図のレジスタファイルに比ベトランジスタ数で50
0/320=1.56倍のオーバヘットである。
本発明の実施例では、4ビツトのレジスタが4個存在す
る場合の例を示した。しかし、レジスタのビット長およ
び、個数はこれに限定されるものではない。また、第1
の実施例では、冗長レジスタ数を1個としたが、2個以
上設けることも可能である。
【発明の効果】
以上のように、本発明によれば、集積回路の一部に故障
が生じた場合でも、その故障を回避することが可能とな
り、集積回路の歩留り向上に効果がある。[Operation] When a failure is discovered in some of the n registers. Switch access to the failed register to access to the spare register. This makes it possible to avoid manufacturing defects that occur in the register. [Example] Hereinafter, a first example of the present invention will be described using the drawings. FIG. 1 is a diagram showing an embodiment of the present invention. The microprocessor 501 includes an input/output control unit 502, an instruction decoder 503, a control circuit 504, a register control circuit 505, an address register (ADH) 506, a data register (DTR) 507, and a program counter (PC).
) 508, arithmetic logic unit (ALU) 509, defect relief information storage circuits 160 to 163, register file 51
Consists of 0. Register file 51.0 is
This is a register with redundancy. For example, register RO
In addition to 1R1, R2, and R3, it has a spare register Rs. ADR, DTR, PC, ALU, and register file are connected to bus BA511 and bus BB512, respectively. Microprocessor 501 executes normal instructions as follows. The value of PC is transferred to ADH via bus BA or BB. Under the control of the input/output control unit,
The value of ADH is output outside the chip through address pin 520. At this time, a command is input to the DTR from an external memory (not shown) at the address through the data bin 521. The command input to the DTR is decoded by the command decoder 503 and sent to the ALU through the control circuit 504.
509 etc. A register file 510 is controlled through a control circuit 504 and a register control circuit 505. When an extension is required to execute instructions, the PC
The value of 508 is updated, the updated address is output from the address pin, and the contents of the updated address are sent to DTR.
is loaded into. 504 is composed of a microprogram ROM or a random circuit. An example of testing register RO using processor instructions will be shown. The test of the register RO is performed by writing all O's and checking that the read data is all O's, and further writing all 1's and checking that the read data is all 1's. For example, when (1) MOV O/lzo, RO is executed, all O's are written to register RO. Next, consider the case where (2) MOV RO, address O is executed. If there is no failure in the chip, the address pins will be all O's and the data pins will be all O's. In other cases, it can be determined that a failure has occurred somewhere in the chip. In particular, if the databin values are not all O,
It is determined that there is a failure in the DTR 507, buses BA, BB, register RO, etc. Similarly, (3) MOV all 1. RO (4) When executing MOV Ro, address 0, if there is no failure in the chip, the address pins will be all O's and the data bins will be all 1's. In other cases, it can be determined that a failure has occurred somewhere in the chip. In particular, if the databin values are not all 1, DTR5
07, it is determined that there is a failure in buses BA, BB, register RO, etc. Furthermore, a similar program is executed for register R1. That is, (1') MOV all ○, R1 (2') M
Execute OV R1, O address and check whether the address pins are all O and the data bins are all O. Furthermore, (3') MO
V all 1. R1(4') MOV R1,○
Execute the address and check whether the address pins are all O's and the data bins are all 1's. Instructions (1') to (2') are executed as expected. When instructions (1) to (2) result in an operation that differs from the expected value, it can be determined that a failure has occurred in the register RO. Using the above method, by observing the data bin of the chip while executing instructions, register RO-R3
The presence or absence of a failure can be determined. As a result of the test, if a failure occurs only in register R○,
Writing is performed in the defect relief information storage circuit 160,
The defect relief information storage circuit 160 outputs a high level. Similarly, the test result register R1,
If a failure is found only in R2 and R3, writing is performed in the respective defect relief information storage circuits 161, 162, and 163, and a high level is output from each. If a failure occurs in any one of the registers RO to R3, the failure can be relieved by writing to the defect relief information storage circuits 160 to 163. Register RO, R1,
If there is a failure in two or more of R2 and R3, it is impossible to repair the failure in the embodiment shown in FIG. One method for writing into the defect relief information storage circuit is to cut the fuse on the chip using a laser. FIG. 3 shows an example of a circuit that can be written to after the chip is manufactured. FIG. 3 is composed of a laser-cuttable fuse 300, a transistor 301, a resistor 302, and a transistor 303. Hughes 30
0 is in a connected state at the time of manufacture. At this time, the gate of the transistor 303 becomes high level, and the gate of the transistor 303 becomes high level.
03 is turned on. As a result, the potential of the node 304 becomes low level, and the output 305 becomes low level. On the other hand, consider a case where the fuse 300 is cut by a laser. Charge is injected into node 304 through resistor 303 . At this time, the transistor 301 is turned on, and the source of the transistor 301 becomes low level. As a result, transistor 303 is turned off. Output 305 becomes high level. Another method for writing to the defect relief information storage circuit is as follows. That is, as shown in Figure 4,
The chip has a test mode pin 522, a high voltage pin 523,
External pins 524,525,526 are provided. When the test mode pin 522 is at a high level and a high voltage (for example, 10V) is applied to the high voltage pin 523, the external pin 524
~527 directly to the defect relief information storage circuits 170-1.
Defect relief information is written in 73. FIG. 5 shows an example of a defect relief information circuit when electrical writing is performed from an external pin. Test mode pin 52
2 to high level, high voltage to high voltage pin 523 (for example, 1
0v) is applied and each of the external pins 524 to 527 is set to a high level, transistors 306 and 307 are turned on, and a high voltage is applied to the fuse 300, causing it to blow. That is, it has been written into the defect relief information storage circuits 170-173. Test mode settings. It is not limited to test mote pins. The defect relief information storage circuit does not necessarily have to be a fuse; for example, a nonvolatile element may be used. The register testing method described above is a method using a processor program. In addition, test programs can also be stored in the chip's memory. For example, (1”) MOV All o, RO (2”) CMP All O, RO (3”) B
NZ ROFLT (4”) MOV All 1. RO (5”) CM P All 1. RO (6')
Execute BNZ ROFLT to determine whether register RO may contain a fault. Instruction (1'') writes all 0s to register RO. Instruction (2'') compares register RO and all 0s. In instruction (3"), if the comparison result is non-zero, branch to the instruction labeled with ROFLT. If the comparison result is zero, execute the next succeeding instruction. In instruction (4"), all 1s are executed. is written to register RO. In instruction (5"), register RO is compared with all 1s. In instruction (6"), when the comparison result is non-zero, RO is
Branch to the instruction labeled with FLT. When the comparison result is zero, execute the next succeeding instruction. Consider the following program as a program labeled with ROFLT. (7”) ROFLT:MOV All O, R1 (
8") CMP All O, R1 (9") BNZ FAULT (10' MOV All 1.R1 (11") CM
P All 1. R1 (12”) BNZ FAULT The above program is integrated on the chip,
There is also a method to execute it at power-on reset. In this case, the defect relief information storage circuit may be a normal flip-flop and no fuse is required. In FIG. 6, defect relief information storage circuits 180 to 1 are connected to bus BA.
An example in which 83 is connected is shown. In this case, it can be set, for example, by a transfer command that can be executed only in test mode. FIG. 7 is an example of the configuration of a register file according to the present invention. In FIG. 7, registers 140, 141, 142,
In addition to 143, a register 144 is provided. These registers are designated as registers RO1R1 and R2, respectively.
, R3, and R5. Register R3 is a spare register. If a failure occurs in any one of registers RO, R1, R2, or R3, register R is replaced with the failed register.
8 is used. Each register has the same configuration as the register shown in FIG. i.e. 4 type register cells 50.51.52
.. It consists of 53. The circuit in Figure 7 is composed of 20 type register cells, so 9X20=1
It consists of 80 transistors. FIG. 8 shows a decoding circuit that controls the register file of FIG. 7. 4 identical decoding circuits '10.11
1.112.113. This will be called a type 1 decoding circuit. The input to the decoding circuit 110 is LdA SE LO
11 signal, LdA ST B signal, clock φ□, defect relief information storage circuit 160.161.162.1
This is the output of 63. Defect relief information storage circuits 160 to 16
3 is a circuit that can be written to after the integrated circuit is manufactured. In the embodiment shown in FIG. 8, a low level is output during manufacturing. There is a failure in the register RO, and the defect relief information storage circuit 1
A case where writing is performed in 60 will be explained. If both the LdA S E L O11 signal becomes low level and both LdA ST B and clock φ become high level, the LdAR8 signal becomes high level. The LdARO signal remains at low level. That is, writing is performed to register R8 instead of register RO. Registers R1, R2,
If R3 is selected and the LdSTB signal and clock φ2 are at high level, LdARl, LdAR2, and Ld
The AR3 signal becomes high level, but the LdAR8 signal does not become high level. Similarly, defect relief information storage circuit 161.162.163
If writing occurs in registers R1 and R, respectively,
2. Register R5 is accessed instead of R3. A truth table of decoding circuit 110 is shown in FIG. The type 1 decoding circuit is a CMOS circuit composed of 86 transistors. The configurations of decode circuits 111, 112, and 113 are the same as that of decode circuit 110. The decoding circuit 111 includes the defect relief information storage circuit 160.
When a write occurs to 161.162.163, the write to registers RO, R1, R2, and R3 from bus BB is changed to register R8, respectively. The decoding circuit 112 includes the defect relief information storage circuit 160.
When a write occurs to 161, 162, and 163, the read from registers RO, R1, R2, and R3 to bus BA is changed to register R3. The decode circuit 113 includes the defect relief information storage circuit 160.
When a write occurs to 161.162.163, the read from registers RO, R1, R2, and R3 to bus BB is changed to register R8. As mentioned above, the register files shown in FIGS.
Even if one of the registers fails, it is possible to switch to the spare register R3 and operate it. The register files in Figures 7 and 8 are 180+8
Consists of 6×4=524 h transistors. For comparison, an example of the configuration of a register file without redundancy will be explained using drawings. That is, FIG. 9 shows an example of a register file using the type register cell shown in FIG. 2 and having a configuration of 4 bits×4. In FIG. 9, 1o, 11, 12, and 13 each represent a decoding circuit, 40 represents a register RO141, a register R1, 42 a register R2, and 43 a register R3. Register RO is type register cell 5o, 51.52
.. It consists of 53. type register cell 50
.. 51, 52, and 53 are the 0-3rd bits (BAo-BA3) of bus BA and the 0-3rd bits (BAo-BA3) of bus B, respectively.
B Bo-B B,). Decode circuits 11, 12, and 13 are the same circuits as decode circuit 1o. Below, decoding circuit 10.11.12
.. 13 will be called a type 2 decoding circuit. The type 2 decoding circuit is a CMOS circuit composed of 44 transistors. The decode code circuit 10 is a circuit that controls data writing from the bus BA (BA.-BA,) to the registers RO, R1, R2, and R3. The LdA S E L O signal, L
The dASELI signal, the LdA ST B signal, and the clock φ are input, and the signal line 20.21.22.23
is output. The truth table is shown in FIG. LdA S E L O1111 times, 4 registers R
Select one from O, R1, R2, R3 (7). Ld
If the AST B signal is at a high level, it indicates that there is a register into which data is written from bus BA. L
When the dA S T B signal is low level, LdASE
Regardless of the LO11 signal, signal lines 20.21.22.
23 are all at low level. The decode circuit 11 is a circuit that controls writing from the bus BB (BBo-BB3) to the registers RO, R1, R2, and R3. This is the same logic circuit as the decoding circuit 10. The decoding circuit 12 includes registers RO, R1, R2, and R3.
This circuit controls reading from the bus BA (BAo-BA3). This is the same logic circuit as the decode circuit 10. The decoding circuit 13 includes registers RO, R1, R2, and R3.
This circuit controls reading from the bus BB (BBo-BB,). This is the same logic circuit as the decode circuit 10. The type 2 register cell is composed of nine transistors, and the registers RO, R1, R2, and R3 are each composed of four cells. Therefore, register RO1R1 in FIG.
, R2, and R3 are composed of a total of 9×16=144 transistors. Further, each type 2 decoder circuit is composed of 44 transistors, and in FIG. 9, four type 1 decoders are used. Therefore, the decoding circuit 10.1 shown in FIG.
1.12.13 is composed of 4×44=176 transistors. Therefore, the circuit shown in FIG. 9 is composed of a total of 320 transistors. The register file shown in FIGS. 7 and 8 is comprised of 180+86X4=524 transistors, as described above. Compared to the circuit in Figure 9, the number of transistors is 5.
An overhead of 24/320=1.64 occurs. Next, another embodiment of the present invention will be described. FIG. 10 is an example of a register cell (hereinafter referred to as a type 2 register cell) having two closed circuits for data storage. The difference from the type 1 cell shown in FIG.
2', transistors 3', 6', and 7' were added. In Fig. 10, the first cycle is the second cycle.
It is formed by an inverter 1.2 and a transistor 3 as shown in the figure. Writing from the buses BA and BB and reading data to the buses BA and BB are the same as in the cell of FIG. 2. The second closed circuit is formed by inverters 1', 2' and transistor 3'. Write operations from buses BA and BB and data read operations to buses BB and BA are performed in the first
It is similar to the cycle of That is, by setting the LdA signal to high level, writing from bus BA is performed, and by setting the LdB signal to high level, writing is performed from bus B.
Writing is performed from B. By setting the RdAS signal to a high level, data is read to the bus BA, and by setting the RdBS signal to a high level, data is read to the bus BB. The number of transistors in a type 2 register cell is 16 in a CMO3 circuit.
It is individual. FIG. 11 shows an example of the configuration of a register file using type 2 register cells. 240 is register RO1241
represents register R1, 242 represents register R2, and 243 represents register R3. The configuration of each register is the same. Register RO is a type 2 register cell 50'51',
It consists of 52' and 53'. The type 2 register cells 50', 51', 52', and 53' are connected to the 0-3rd bits (BA-BA,) of the bus BA and the 0-3rd bits (BB-BB3) of the bus Bf7, respectively. There is. FIG. 12 shows a control circuit for the register file shown in FIG. 11. This control circuit is a type 2 decoder 21
0.211. It consists of type 3 decoders 212, 213 and a field writable circuit 164. The input and output signals of type 2 decoders 210 and 211 are similar to those of type 2 decoding circuit 10 shown in FIG. 9, and their operation follows the truth table shown in FIG. 16. The input signal of the type 3 decoding circuit 212 is RdASEL
O signal, RdA S E L 1 signal, RdA S T
These are the B-time signal clock φ□ and the output from the field write enable circuit 164. The output signals of the type 3 decoding circuit are the RclA RO signal, the RdARO3 signal,
RdAR1 signal, RdARIS signal, RdAR2 signal,
RdA R2S signal, RdAR3 signal, RdA R3S
signal, RdBRO signal, RdBROS signal, RdBR1
signal, RdBRIS signal, RdBR2 signal, RdB R
2S signal, RdBR3 signal, and RdB R3S signal. The truth table of the type 3 decoding circuit is shown in FIG. FIG. 13 shows an example of a type 3 decoding circuit that implements the truth table of FIG. 17. The circuit shown in FIG. 13 is a CMO5 circuit composed of 78 transistors. FIG. 14 shows an example of a microprocessor having the registers shown in FIGS. 10-13. The differences from the embodiment shown in Figure 1.4.6 are (1) type 2 register cell (
(2) one defect relief information storage circuit 190 is used. The register file 510' can be tested using microprocessor instructions, as in the first embodiment. Alternatively, it is also possible to incorporate a test program inside the chip. As a result of the test, if there is no failure in the registers RO1R1, R2, and R3, no writing is performed in the defect relief information storage circuit 190, and a low level is output. As a result of the test, if a failure occurs in one or more of the registers RO, R1, R2, R3, the defect relief information storage circuit 190
writing is performed. In the embodiment shown in FIG. 14, when a high level is applied to the test mode pin 522 and a high voltage (for example, 10) is applied to the high voltage pin 523, writing is performed in the defect relief information storage circuit 190. As a result, the second circuit of the type 2 register cell is used. The number of transistors in the register file 510' and register control circuit 505' in FIG. 14, excluding the defect relief information storage circuit, is as follows. That is, since there are 16 type 2 register cells, two type 2 decoder circuits, and two type 3 decoder circuits, there are 16×16+2×44+2×78=500 transistors. Compared to the register file in Figure 9, the number of transistors is 50.
0/320=1.56 times the overhead. In the embodiment of the present invention, an example is shown in which there are four 4-bit registers. However, the bit length and number of registers are not limited to these. Also, the first
In the embodiment described above, the number of redundant registers is one, but it is also possible to provide two or more redundant registers. As described above, according to the present invention, even if a failure occurs in a part of an integrated circuit, the failure can be avoided, which is effective in improving the yield of integrated circuits.
第1図、第4図、第6図、第14図は本発明の実施例に
よるマイクロプロセッサの回路ブロック図、第2図は従
来例のレジスタセル(タイプ1)の回路図、第3図、第
5図は欠陥救済情報記憶回路の実施例の回路図、第7図
、第11図は冗長レジスタを有するレジスタファイルの
実施例の回路ブロック図、第8図は第7図のレッジスタ
フアイルの制御回路の実施例を示す回路ブロック図、第
9図は冗長のないレジスタファイルとその制御回路の例
を示す回路ブロック図、第10図は本発明の実施例のレ
ジスタセルの(タイプ2)を示す回路図、第12図は第
11図のレッジスタフアイルの制御回路の実施例を示す
回路ブロック図、第13図は本発明の実施例のタイプ3
のデコード回路を示す回路図、
第15図、
第16図、
第17図は
デコード回路の真理値表を示す図である。1, 4, 6, and 14 are circuit block diagrams of a microprocessor according to an embodiment of the present invention, FIG. 2 is a circuit diagram of a conventional register cell (type 1), and FIG. FIG. 5 is a circuit diagram of an embodiment of a defect relief information storage circuit, FIGS. 7 and 11 are circuit block diagrams of an embodiment of a register file having redundant registers, and FIG. 8 is a circuit diagram of an embodiment of a register file having redundant registers. FIG. 9 is a circuit block diagram showing an example of a control circuit. FIG. 9 is a circuit block diagram showing an example of a non-redundant register file and its control circuit. FIG. 10 is a (type 2) register cell according to an embodiment of the present invention. 12 is a circuit block diagram showing an embodiment of the control circuit of the ledge staff file in FIG. 11, and FIG. 13 is a type 3 embodiment of the present invention.
15, 16, and 17 are diagrams showing truth tables of the decoding circuit.
Claims (1)
力する手段とデータの入出力をおこなう手段を有するマ
イクロプロセッサであって、データを記憶するn個のレ
ジスタと、1個以上の冗長レジスタと、どのレジスタに
故障が存在するかを記憶する手段と、前記故障レジスタ
を記憶する手段の値に従って前記n個のレジスタの選択
信号を前記冗長レジスタ選択信号に切り換える手段を有
するマイクロプロセッサ。 2、請求範囲第1項のマイクロプロセッサであって、マ
イクロプロセッサの命令を用いてレジスタの故障を検出
するマイクロプロセッサ。 3、請求範囲第1項のマイクロプロセッサであって、マ
イクロプロセッサの内部に記憶されたプログラムによっ
てレジスタの故障を検出し、故障レジスタを記憶する手
段に書き込みをおこなうマイクロプロセッサ。 4、少なくとも演算器と複数のバスとアドレス信号を出
力する手段とデータの入出力をおこなう手段を有するマ
イクロプロセッサであって、データを記憶するn個のレ
ジスタと、前記n個のレジスタのそれぞれに冗長レジス
タを設け、前記データを記憶するn個のレジスタに故障
が存在するかを記憶する手段を有し、前記記憶する手段
の値に従って前記n個のレジスタの選択信号を前記冗長
レジスタ選択信号に切り換える手段を有するマイクロプ
ロセッサ。 5、請求範囲第4項のマイクロプロセッサであって、マ
イクロプロセッサの命令を用いてレジスタの故障を検出
するマイクロプロセッサ。 6、請求範囲第4項のマイクロプロセッサであって、マ
イクロプロセッサの内部に記憶されたプログラムによっ
てレジスタの故障を検出し、故障レジスタを記憶する手
段に書き込みをおこなうマイクロプロセッサ。[Claims] 1. A microprocessor having at least an arithmetic unit, a plurality of buses, means for outputting address signals, and means for inputting and outputting data, comprising n registers for storing data, and one A microcontroller comprising the above redundant register, means for storing which register has a fault, and means for switching the selection signal of the n registers to the redundant register selection signal according to the value of the means for storing the fault register. processor. 2. The microprocessor according to claim 1, which detects register failure using microprocessor instructions. 3. The microprocessor according to claim 1, which detects a failure in a register by a program stored inside the microprocessor and writes the detected failure into a means for storing the failure register. 4. A microprocessor having at least an arithmetic unit, a plurality of buses, a means for outputting address signals, and a means for inputting and outputting data, including n registers for storing data, and a microprocessor for each of the n registers. A redundant register is provided, and means for storing whether a failure exists in the n registers that store the data is provided, and a selection signal for the n registers is set as the redundant register selection signal in accordance with a value of the storage means. A microprocessor having means for switching. 5. The microprocessor according to claim 4, which detects register failure using microprocessor instructions. 6. The microprocessor according to claim 4, which detects a failure in a register by a program stored inside the microprocessor and writes the detected failure into a means for storing the failure register.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2110038A JPH0410033A (en) | 1990-04-27 | 1990-04-27 | microprocessor with redundant registers |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2110038A JPH0410033A (en) | 1990-04-27 | 1990-04-27 | microprocessor with redundant registers |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0410033A true JPH0410033A (en) | 1992-01-14 |
Family
ID=14525538
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2110038A Pending JPH0410033A (en) | 1990-04-27 | 1990-04-27 | microprocessor with redundant registers |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0410033A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007099321A (en) * | 2005-09-30 | 2007-04-19 | Sekisui Plastics Co Ltd | Transport container |
-
1990
- 1990-04-27 JP JP2110038A patent/JPH0410033A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007099321A (en) * | 2005-09-30 | 2007-04-19 | Sekisui Plastics Co Ltd | Transport container |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US3659275A (en) | Memory correction redundancy system | |
| KR0177740B1 (en) | Redundancy Circuit and Method of Semiconductor Memory Device | |
| KR100265765B1 (en) | Redundancy circuit having built-in self test circuit and repair method using the same | |
| US6324105B1 (en) | Redundant row topology circuit, and memory device and test system using same | |
| US20020060934A1 (en) | Semiconductor memory device and method of identifying programmed defective address thereof | |
| JPH06150687A (en) | Method of bypassing flaw and its circuit | |
| US4045779A (en) | Self-correcting memory circuit | |
| JP2669303B2 (en) | Semiconductor memory with bit error correction function | |
| KR100230393B1 (en) | Semiconductor memory device | |
| KR102835997B1 (en) | Semiconductor apparatus and semiconductor system including the same | |
| JP3578175B2 (en) | Memory word management circuit | |
| US5696716A (en) | Programmable memory element | |
| JPS6221143B2 (en) | ||
| JPH03113899A (en) | Memory redundancy circuit | |
| JPH0410033A (en) | microprocessor with redundant registers | |
| EP0505652A1 (en) | Memory system with adaptable redundancy | |
| JPS6120300A (en) | Semiconductor memory with defect relief circuit | |
| JP3204384B2 (en) | Semiconductor memory circuit | |
| JPH02270200A (en) | Semiconductor memory | |
| KR100924579B1 (en) | Redundant memory cell access circuit, semiconductor memory device comprising same, and test method of semiconductor memory device | |
| US11127477B1 (en) | E-fuse circuit | |
| JPS6063800A (en) | Semiconductor memory | |
| US4128899A (en) | Associated read/write memory | |
| JPH03116497A (en) | Semiconductor memory device | |
| JPH05226599A (en) | One-time prom |