JP2018028819A - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP2018028819A
JP2018028819A JP2016160798A JP2016160798A JP2018028819A JP 2018028819 A JP2018028819 A JP 2018028819A JP 2016160798 A JP2016160798 A JP 2016160798A JP 2016160798 A JP2016160798 A JP 2016160798A JP 2018028819 A JP2018028819 A JP 2018028819A
Authority
JP
Japan
Prior art keywords
ram
mask rom
semiconductor integrated
integrated circuit
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
JP2016160798A
Other languages
English (en)
Inventor
友弘 小泉
Tomohiro Koizumi
友弘 小泉
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.)
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage 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 Toshiba Corp, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2016160798A priority Critical patent/JP2018028819A/ja
Publication of JP2018028819A publication Critical patent/JP2018028819A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ROMのプログラムを修正することが可能な半導体集積回路を提供する。【解決手段】半導体集積回路10は、マスクROM12と、マスクROMに格納された複数のプログラムを実行するプロセッサ11と、不揮発性メモリ14と、不揮発性メモリに格納されたデータが転送されるRAM13とを含む。マスクROMは、RAM上の第1アドレスに格納されたデータをロードするためのロード命令と、分岐命令とを格納する。プロセッサは、ロード命令を実行することにより、RAMの第1アドレスからフラグを読み出し、分岐命令を実行することにより、読み出されたフラグの内容に応じて、RAMに格納された第1プログラムとマスクROMに格納された第2プログラムとのいずれかを実行する。【選択図】図1

Description

実施形態は、半導体集積回路に関する。
従来から、CPUが実行するプログラムの常時格納場所としては、LSIに内蔵するメモリに格納しておく方法と、外付けメモリに格納しておく方法との2通りが存在する。このうち内蔵メモリに格納しておく方法は、外部メモリに格納しておく方法に比べて一般的にプログラムのローディング時間が短い、プログラムに対するセキュリティ性が高いなどの利点がある反面、LSIの電源を切ってもプログラムが消えないよう主にROMなどの不揮発性メモリを使用するため、一度LSIを製造した後はプログラムの書き換えが不可能になるという欠点がある。よって、不具合や機能的な向上のためにプログラムを更新したい場合は、LSIのマスクを再作成して製造し直す必要があるため、コスト的に問題がある。
特開2015−49906号公報 特開平5−94309号公報 特開2004−258946号公報
実施形態は、ROMのプログラムを修正することが可能な半導体集積回路を提供する。
実施形態に係る半導体集積回路は、マスクROMと、前記マスクROMに格納された複数のプログラムを実行するプロセッサと、不揮発性メモリと、前記不揮発性メモリに格納されたデータが転送されるRAMとを具備する。前記マスクROMは、前記RAM上の第1アドレスに格納されたデータをロードするためのロード命令と、分岐命令とを格納する。前記プロセッサは、前記ロード命令を実行することにより、前記RAMの前記第1アドレスからフラグを読み出し、前記分岐命令を実行することにより、前記読み出されたフラグの内容に応じて、前記RAMに格納された第1プログラムと前記マスクROMに格納された第2プログラムとのいずれかを実行する。
実施形態に係る半導体集積回路は、マスクROMと、前記マスクROMに格納された複数のプログラムを実行するプロセッサと、第1アドレスに格納されたフラグと、第1プログラムとを格納する不揮発性メモリと、前記不揮発性メモリに格納されたデータが転送されるRAMとを具備する。前記マスクROMは、前記RAM上の第1アドレスに格納されたデータをロードするためのロード命令と、分岐命令とを格納する。前記プロセッサは、前記ロード命令を実行することにより、前記RAMの前記第1アドレスから前記フラグを読み出し、前記分岐命令を実行することにより、前記読み出されたフラグの内容に応じて、前記RAMに格納された前記第1プログラムと前記マスクROMに格納された第2プログラムとのいずれかを実行する。
第1実施形態に係る半導体集積回路のブロック図。 書き込み回路の書き込み動作を示すフローチャート。 半導体集積回路の動作を示すフローチャート。 プロセッサの動作を説明する図。 実施例に係るプロセッサの動作を説明する図。 第2実施形態に係るプロセッサの動作を説明する図。
以下、実施形態について図面を参照して説明する。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置等によって、本発明の技術思想が特定されるものではない。各機能ブロックは、ハードウェア、ソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。各機能ブロックが以下の例のように区別されていることは必須ではない。例えば、一部の機能が例示の機能ブロックとは別の機能ブロックによって実行されてもよい。さらに、例示の機能ブロックがさらに細かい機能サブブロックに分割されていてもよい。なお、以下の説明において、同一の機能及び構成を有する要素については同一符号を付し、重複説明は必要な場合にのみ行う。
[1]第1実施形態
[1−1]半導体集積回路の構成
図1は、第1実施形態に係る半導体集積回路10のブロック図である。半導体集積回路10は、LSI(Large-Scale Integration)、又はシステムLSIともいう。半導体集積回路10は、プロセッサ(CPU:Central Processing Unit)11、マスクROM(Read Only Memory)12、RAM(Random Access Memory)13、不揮発性メモリ14、データ転送回路(ブートローダー)15、書き込み回路16、バス17、及び外部インターフェース(入出力インターフェース)18を備える。
プロセッサ11は、CPUとも呼ばれ、半導体集積回路10全体の動作を制御する。プロセッサ11は、命令(instruction)を解釈及び実行し、また、メモリに記憶されたプログラムを実行する。特に、プロセッサ11は、半導体集積回路10が起動(又はリセット)された場合に、起動プログラム(ブートストラッププログラム)を実行し、半導体集積回路10を所望の初期状態に設定する。また、プロセッサ11は、半導体集積回路10がさらに備える周辺回路(図示せず)の動作を制御する。半導体集積回路10が備える周辺回路は、半導体集積回路10の機能や仕様によって適宜選定され、この周辺回路には、GPIO(General Purpose Input/Output)などが含まれる。
マスクROM12は、不揮発性メモリであり、製造段階でデータが書き込まれる。マスクROM12は、物理構造の変化でデータを固定化しているので、製造後にデータを書き込んだり、記憶内容を書き換えたりすることはできない。一方で、マスクROM12は、量産に向いているため、製造コストを低減できるというメリットがある。マスクROM12は、半導体集積回路10用の起動プログラムなどを格納する。
RAM13は、揮発性メモリであり、DRAM(Dynamic Random Access Memory)などから構成される。RAM13は、プロセッサ11のワークエリアとして使用される。RAM13は、不揮発性メモリ14からロードされたデータ(プログラム)を一時的に格納し、また、プロセッサ11が計算したデータなどを一時的に格納する。
不揮発性メモリ14は、例えばOTP−ROM(one time programmable ROM)から構成される。OTP−ROM14は、半導体集積回路10に実装された後、1回のみデータの書き込みが可能である。OTP−ROM14は、例えば、電気的にプログラム可能なヒューズ素子であるe−fuse(electrical fuse)から構成される。OTP−ROM14は、半導体集積回路10に実装された後、起動プログラム用の修正プログラムなどを格納する。不揮発性メモリ14は、OTP−ROMに限定されず、フラッシュメモリ(例えば、NAND型フラッシュメモリ)、又はMRAM(Magnetoresistive Random Access Memory)などを用いてもよい。なお、不揮発性メモリ14としてOTP−ROMを用いた場合、コストの面で有利である。
データ転送回路15は、半導体集積回路10の起動(又はリセット)時、OTP−ROM14に格納されたデータをRAM13に転送(ロード)する。
書き込み回路16は、外部インターフェース18を介して外部装置とアクセス可能なように構成される。書き込み回路16は、外部インターフェース18からデータを受け、このデータをOTP−ROM14に書き込む。書き込み回路16の機能により、半導体集積回路10が製造された後、OTP−ROM14は、マスクROM12に格納されたプログラム(起動プログラムを含む)用の修正プログラムを格納することが可能となる。
バス17は、半導体集積回路10内の複数のモジュールを相互に接続する。外部インターフェース18は、所定のプロトコルに従って、外部装置との間でデータの受け渡しを行う。
[1−2]動作
次に、上記のように構成された半導体集積回路10の動作について説明する。
[1−2−1]OTP−ROM14へのデータ書き込み動作
まず、OTP−ROM14へのデータ書き込み動作について説明する。図2は、書き込み回路16の書き込み動作を示すフローチャートである。
書き込み回路16は、外部インターフェース18にデータが入力されたか否かを監視している(ステップS100)。外部インターフェース18にデータが入力された場合、書き込み回路16は、外部インターフェース18からデータを受ける(ステップS101)。
続いて、書き込み回路16は、OTP−ROM14にデータ書き込む(ステップS102)。例えばOTP−ROM14がe−fuseで構成されている場合、ヒューズ素子の切断前の初期状態は、データ“0”もしくはデータ“1”として扱われる。ヒューズ素子の初期状態をデータ“0”と扱うことにすると、書き込み回路16は、データ“1”を記憶させるヒューズ素子に所定の電流を供給することで、このヒューズ素子を電気的に切断する。このようにして、半導体集積回路10の製造後に、例えば起動プログラム用の修正プログラムを、OTP−ROM14に不揮発に記憶させることができる。
[1−2−2]起動時の全体動作
次に、半導体集積回路10の起動時の全体動作について説明する。図3は、半導体集積回路10の動作を示すフローチャートである。
まず、半導体集積回路10に対して、ユーザーによる電源投入、及びユーザーによるリセット操作を含むリセット事象が行われる(ステップS200)。このリセット事象に応答して、半導体集積回路10は、リセット処理を実行する(ステップS201)。このリセット処理において、半導体集積回路10内の各モジュールがリセット、すなわち初期状態(予め決められた状態)に設定される。例えば、プロセッサ11は、リセット事象に起因してリセット信号を受ける。例えば、半導体集積回路10がパワーオンリセット回路(図示せず)を備え、このパワーオンリセット回路が半導体集積回路10内の各モジュールにリセット信号を供給するようにしてもよい。また、半導体集積回路10の外部からリセット信号を受けるようにしてもよい。
続いて、リセット処理に応答して、データ転送回路15は、OTP−ROM14に格納されたデータを、バス17を介してRAM13に転送する(ステップS202)。
続いて、プロセッサ11は、マスクROM12に格納されたプログラム(起動プログラム)を実行する(ステップS203)。具体的には、プロセッサ11は、起動プログラムに含まれる複数の命令を所定の順序で実行する。一連の起動プログラムの実行が全て完了することで、半導体集積回路10は、所望の状態に設定され、以後、図示しない周辺回路を制御したり、外部装置からの命令に応じた処理を実行することが可能となる。
[1−2−3]起動プログラムの実行動作
次に、プロセッサ11が起動プログラムに含まれる複数の命令を実行する動作について説明する。図4は、プロセッサ11の動作を説明する図である。図4には、マスクROM12に格納されたプログラム(マスクROM空間と表記)と、RAM13に格納されたデータ、すなわちOTP−ROM14からRAM13に転送されたデータ(RAM空間と表示)とを模式的に示している。
マスクROM12は、複数のブロックBK_mに区分けされた複数のプログラムを格納している。図4には、4つのブロックBK_m1〜BK_m4を例示している。ブロックBK_m2の先頭領域には、ロード命令(Load1)、及び条件分岐命令(Branch1)が格納されている。さらに、ブロックBK_m2の先頭領域に続く領域には、起動プログラムの一部が格納されている。ブロックBK_m3、BK_m4についても、ブロックBK_m2と同様の構成である。なお、図4では、最初のブロックBK_m1に起動プログラムの一部のみが格納される例を示しているが、最初のブロックBK_m1にも、ロード命令及び条件分岐命令(conditional branch instruction)が格納されていてもよい。
ブロックBK_m1〜BK_m4のサイズは、個別に設定することが可能であり、例えば、1つの纏まったプログラムごとにブロックが割り当てられる。よって、ブロックBK_m1〜BK_m4のサイズが全て異なっていてもよいし、全て同じでもよいし、一部が異なっていてもよい。
RAM13は、複数のブロックBK_rに区分けされた複数のプログラムを格納している。図4には、3つのブロックBK_r1〜BK_r3を例示している。RAM空間上の複数のフラグ(Flag1、Flag2、Flag3)が配置される位置はマスクROM12のプログラムが確定した時点で決まっており、OTP−ROM14内の各ブロックの先頭アドレスを、予めマスクROM12に格納することができる。また、ブロックBK_r1〜BK_r3のサイズは全て異なっていてもよいし、全て同じでもよいし、一部が異なっていてもよい。
ブロックBK_r1の先頭領域には、フラグが格納され、先頭領域に続く領域には、修正プログラムが格納され、修正プログラムに続く領域には、ジャンプ命令(Jump1)が格納される。ブロックBK_r2、BK_r3についても、ブロックBK_r1と同様の構成である。図4の斜線部分は、データが格納されていない領域の一例を示しており、これの意味するところは、ブロックBK_r1〜BK_r3にそれぞれ格納される修正プログラムは互いにサイズが異なっていてもよい。なお、OTP−ROM14のデータがRAM13に転送されるので、図4に示したRAM13のデータ構造は、OTP−ROM14のデータ構造と言い換えることができる。
まず、プロセッサ11は、マスクROM12のブロックBK_m1に格納されたプログラムを実行する(ステップS300)。続いて、プロセッサ11は、ブロックBK_m2に格納されたロード命令(Load1)を実行する(ステップS301)。ロード命令は、RAM13上の所定のアドレスを含み、このアドレスが指定する領域のデータをロードするための命令である。ロード命令に含まれるアドレスは、マスクROM12が製造される時点で予め決められている。ロード命令によって指定される領域には、フラグ(Flag1)が格納されている。よって、プロセッサ11は、ロード命令(Load1)を実行することで、RAM13からフラグ(Flag1)を読み出す。
続いて、プロセッサ11は、ブロックBK_m2に格納された条件分岐命令(Branch1)を実行する(ステップS302)。条件分岐命令は、ロードしたフラグが真(例えばデータ“1”)であるか偽(例えばデータ“0”)であるかに応じて、実行すべきプログラムを選択するための命令である。フラグのデータサイズは任意に設定可能であり、1ビットであってもよいし、複数ビットであってもよい。フラグが複数ビットである場合は、同じデータで構成される。よって、プロセッサ11は、フラグのいずれか1ビットのみを判定すればよい。
プロセッサ11は、フラグが偽である場合、マスクROM12のブロックBK_m2に格納されたプログラムを実行する(ステップS303)。すなわち、ステップS303では、OTP−ROM14を利用した修正プログラムの置き換えは行われない。なお、フラグが偽である場合、該フラグを含むブロックBK_rには有効なデータが書き込まれていない(ブランク領域である)。
一方、プロセッサ11は、フラグが真である場合、RAM13のブロックBK_r1に格納されたプログラム(修正プログラム)を実行する(ステップS400)。すなわち、ステップS400では、OTP−ROM14を利用した修正プログラムの置き換えが行われる。続いて、プロセッサ11は、ブロックBK_r1に格納されたジャンプ命令(Jump1)を実行する(ステップS401)。ジャンプ命令は、マスクROM12の次のブロックBK_mの先頭アドレスを含み、このアドレスが指定する領域にジャンプするための命令である。
続いて、プロセッサ11は、ロード命令(Load2)及び条件分岐命令(Branch2)を実行する(ステップS304、S305)。続いて、プロセッサ11は、フラグ(Flag2)が偽である場合、マスクROM12のブロックBK_m3に格納されたプログラムを実行し(ステップS306)、一方、フラグ(Flag2)が真である場合、RAM13のブロックBK_r2に格納された修正プログラムを実行する(ステップS402、S403)。
同様に、プロセッサ11は、マスクROM12のブロックBK_m4に格納されたプログラム(ステップS307〜S309)と、RAM13のブロックBK_r3に格納されたプログラム(ステップS307、S308、S404、及びS405)とのいずれかを実行する。
以上のような処理により、マスクROM12に格納された起動プログラムを部分的に修正することが可能となる。すなわち、半導体集積回路10の製造後に、半導体集積回路10用の起動プログラムを修正することが可能となる。
[1−2−4]実施例
次に、より具体的な起動プログラムの実行動作について説明する。図5は、実施例に係るプロセッサ11の動作を説明する図である。
図5には、プロセッサ11のアドレス空間(CPUアドレス空間と表記)、マスクROM空間、及びRAM空間を示している。例えば、マスクROM12の記憶領域が16KB、RAM13の記憶領域が1MBである。1ワードは、例えば32ビット(4バイト)である。図5のペリフェラル空間は、図示しない周辺回路のレジスタ領域に対応するアドレス空間である。図5の各空間の左に付記された数値がアドレスを表しており、アドレスに含まれる“0x”は16進数を意味する。
プロセッサ11は、マスクROM12に格納されたロード命令を実行する。このロード命令は、RAM13上のアドレス0x00102000を含み、プロセッサ11は、RAM13上のアドレス0x00102000に格納されたフラグをロードする。
続いて、プロセッサ11は、マスクROM12のうちロード命令に続く領域に格納された条件分岐命令(図5の“If”)を実行する。続いて、プロセッサ11は、フラグが真(データ“1”)である場合、RAM13上のアドレス0x00102004にジャンプし、アドレス0x00102004から始まる修正プログラム(例えば1KB)を実行する。これにより、マスクROM12のアドレス0x00001000から始まるプログラム(例えば512B)が、RAM13の修正プログラム(例えば1KB)に置き換えられる。図5の例では、マスクROM空間上の置き換えられる領域(512B)とRAM空間上の修正プログラム(1KB)とのサイズが異なっている。このように、マスクROM空間上の置き換えられる領域とRAM空間上の修正プログラムとは同じサイズである必要はない。
続いて、プロセッサ11は、RAM13上のアドレス0x00102404に格納されたジャンプ命令を実行する。このジャンプ命令は、マスクROM12上のアドレス0x00001200に格納されたデータをロードするための命令である。その後、プロセッサ11は、マスクROM12上のアドレス0x00001200から始まるプログラムを実行する。
[1−3]第1実施形態の効果
以上詳述したように第1実施形態では、半導体集積回路10は、起動プログラム用の修正プログラムを格納するOTP−ROM14を備える。システムリセットの後、OTP−ROM14のデータは、RAM13にロードされる。プロセッサ11は、マスクROM12の複数のプログラムを順次実行する過程で、ロード命令と条件分岐命令とを実行する。ロード命令を実行することにより、プロセッサ11は、RAM13の予め決められたアドレスにアクセスしてフラグを読み出す。その後、条件分岐命令を実行することにより、プロセッサ11は、読み出されたフラグの内容に応じて、RAM13に格納された第1プログラムとマスクROM12に格納された第2プログラムとを選択的に実行するようにしている。
従って第1実施形態によれば、マスクROM12に格納された起動プログラムを部分的に修正することが可能となる。すなわち、半導体集積回路10の製造後に、半導体集積回路10用の起動プログラムを修正することが可能となる。これにより、より柔軟かつ迅速に、プログラムの修正、変更、及び追加に対応することができる。
また、マスクROM12に格納されたプログラムを有する半導体集積回路10においてプログラム更新のためにリファインするコストの削減が可能になる。本実施形態に類似した手法として、起動毎に代替コードを半導体集積回路の外部から内蔵メモリに転送して使用する方法も考えられるが、内蔵するOTP−ROMを用いることにより起動時に代替コードを外部から転送するシーケンスを省略でき、かつ半導体集積回路の外部の部品点数削減にもつながる。
また、内蔵するOTP−ROM14と、OTP−ROM14のデータが転送されるRAM13とを用いることにより、修正プログラムの置き換えとその処理とを高速に行うことができる。
また、マスクROM12に格納されるプログラムがシステムの起動に使用される起動プログラムである場合、半導体集積回路10の起動時間を短縮することができる。
なお、前述したように、不揮発性メモリ14は、OTP−ROMに限定されず、複数回の書き換えが可能な不揮発性メモリを用いてもよい。この場合、修正プログラムを複数回書き換えることが可能である。
[2]第2実施形態
第2実施形態は、マスクROM12の1つのブロックBK_mのうち一部の領域(一部のプログラム)を、RAM13のブロックBK_rに格納されたプログラムで置き換えるようにしている。図6は、第2実施形態に係るプロセッサ11の動作を説明する図である。
ステップS300〜S302の動作は、第1実施形態と同じである。プロセッサ11は、フラグが真である場合、RAM13のブロックBK_r1に格納されたプログラムを実行する(ステップS400)。続いて、プロセッサ11は、ジャンプ命令(Jump1)を実行する(ステップS401)。ジャンプ命令(Jump1)に含まれるアドレスは、マスクROM12のブロックBK_m2のうち、条件分岐命令(Branch2)を指定するアドレスとブロックBK_m2の最終アドレスとの間の位置を指定する。
続いて、プロセッサ11は、ジャンプ命令(Jump1)で指定されたアドレス、すなわちブロックBK_m2の途中から、プログラムを実行する(ステップS303)。
以上詳述したように第2実施形態によれば、第1実施形態に比べてより小さい単位でプログラムの置換動作を行うことができる。その他の効果は、第1実施形態と同じである。
なお、上記各実施形態では、マスクROM12が格納するプログラムとして、LSIシステムを起動させるために起動プログラムを例に挙げて説明しているが、これに限定されず、他の種類のプログラム(OS(operating system)を含む)に適用することも可能である。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…半導体集積回路、11…プロセッサ、12…マスクROM、13…RAM、14…不揮発性メモリ、15…データ転送回路、16…書き込み回路、17…バス、18…外部インターフェース。

Claims (8)

  1. マスクROMと、
    前記マスクROMに格納された複数のプログラムを実行するプロセッサと、
    不揮発性メモリと、
    前記不揮発性メモリに格納されたデータが転送されるRAMと
    を具備し、
    前記マスクROMは、前記RAM上の第1アドレスに格納されたデータをロードするためのロード命令と、分岐命令とを格納し、
    前記プロセッサは、
    前記ロード命令を実行することにより、前記RAMの前記第1アドレスからフラグを読み出し、
    前記分岐命令を実行することにより、前記読み出されたフラグの内容に応じて、前記RAMに格納された第1プログラムと前記マスクROMに格納された第2プログラムとのいずれかを実行する
    ことを特徴とする半導体集積回路。
  2. 前記プロセッサは、前記ロード命令及び前記分岐命令を実行した後に、前記RAMに転送されたジャンプ命令を実行することにより、前記マスクROMの第2アドレスに格納されたプログラムを実行することを特徴とする請求項1に記載の半導体集積回路。
  3. マスクROMと、
    前記マスクROMに格納された複数のプログラムを実行するプロセッサと、
    第1アドレスに格納されたフラグと、第1プログラムとを格納する不揮発性メモリと、
    前記不揮発性メモリに格納されたデータが転送されるRAMと
    を具備し、
    前記マスクROMは、前記RAM上の第1アドレスに格納されたデータをロードするためのロード命令と、分岐命令とを格納し、
    前記プロセッサは、
    前記ロード命令を実行することにより、前記RAMの前記第1アドレスから前記フラグを読み出し、
    前記分岐命令を実行することにより、前記読み出されたフラグの内容に応じて、前記RAMに格納された前記第1プログラムと前記マスクROMに格納された第2プログラムとのいずれかを実行することを特徴とする半導体集積回路。
  4. 前記不揮発性メモリは、前記マスクROM上の第2アドレスにジャンプするためのジャンプ命令をさらに格納し、
    前記プロセッサは、前記ロード命令及び前記分岐命令を実行した後に、前記RAMに転送された前記ジャンプ命令を実行することにより、前記マスクROMの前記第2アドレスに格納されたプログラムを実行することを特徴とする請求項3に記載の半導体集積回路。
  5. 前記プロセッサのリセットに応じて、前記不揮発性メモリに格納されたデータを前記RAMに転送する転送回路をさらに具備することを特徴とする請求項1乃至4のいずれかに記載の半導体集積回路。
  6. 外部から受けたデータを前記不揮発性メモリに書き込む書き込み回路をさらに具備することを特徴とする請求項1乃至5のいずれかに記載の半導体集積回路。
  7. 前記不揮発性メモリは、1回のみデータの書き込み可能なROMからなることを特徴とする請求項1乃至6のいずれかに記載の半導体集積回路。
  8. 前記マスクROMに格納されたプログラムは、起動プログラムであることを特徴とする請求項1乃至7のいずれかに記載の半導体集積回路。
JP2016160798A 2016-08-18 2016-08-18 半導体集積回路 Pending JP2018028819A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016160798A JP2018028819A (ja) 2016-08-18 2016-08-18 半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016160798A JP2018028819A (ja) 2016-08-18 2016-08-18 半導体集積回路

Publications (1)

Publication Number Publication Date
JP2018028819A true JP2018028819A (ja) 2018-02-22

Family

ID=61248414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016160798A Pending JP2018028819A (ja) 2016-08-18 2016-08-18 半導体集積回路

Country Status (1)

Country Link
JP (1) JP2018028819A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58195268A (ja) * 1982-05-07 1983-11-14 Sharp Corp 電子レジスタ
JPH0594309A (ja) * 1991-02-26 1993-04-16 Fujitsu Ltd プログラム・ローデイング方式
JPH1139153A (ja) * 1997-07-15 1999-02-12 Matsushita Electric Ind Co Ltd プログラムがromに記録されているマイコンシステムにおけるメンテナンス方法、そのマイコンシステムに用いられる中央処理装置、キャッシュシステム、及びマイコンシステムの応用装置
JP2004258946A (ja) * 2003-02-26 2004-09-16 Renesas Technology Corp メモリカード
JP2015049906A (ja) * 2013-08-30 2015-03-16 フリースケール セミコンダクター インコーポレイテッド 安全なブートromパッチのためのシステム及び方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58195268A (ja) * 1982-05-07 1983-11-14 Sharp Corp 電子レジスタ
JPH0594309A (ja) * 1991-02-26 1993-04-16 Fujitsu Ltd プログラム・ローデイング方式
JPH1139153A (ja) * 1997-07-15 1999-02-12 Matsushita Electric Ind Co Ltd プログラムがromに記録されているマイコンシステムにおけるメンテナンス方法、そのマイコンシステムに用いられる中央処理装置、キャッシュシステム、及びマイコンシステムの応用装置
JP2004258946A (ja) * 2003-02-26 2004-09-16 Renesas Technology Corp メモリカード
JP2015049906A (ja) * 2013-08-30 2015-03-16 フリースケール セミコンダクター インコーポレイテッド 安全なブートromパッチのためのシステム及び方法

Similar Documents

Publication Publication Date Title
JP6078693B2 (ja) コンフィギュレーションデータを供給するための装置及び方法
JP2015156227A (ja) オンチップのnand型フラッシュメモリおよびその不良ブロック管理方法
JP4373943B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US6546517B1 (en) Semiconductor memory
CN112074820B (zh) 用于多内核系统的存储器池分配
KR20170140225A (ko) 향상된 명령어 세트를 구비한 중앙 처리 유닛
JP5106147B2 (ja) マルチプロセッサ処理システム
US6530005B2 (en) Circuit arrangement and method for creating and retrieving patch data from memory
US6925522B2 (en) Device and method capable of changing codes of micro-controller
CN117524278A (zh) 动态随机存储器兼容方法、装置和设备
JP2012069565A (ja) 半導体集積回路及び制御方法
JP4887824B2 (ja) メモリシステム
US20130132659A1 (en) Microcontroller and method of controlling microcontroller
US20070106884A1 (en) Hybrid memory system for a microcontroller
JP7421480B2 (ja) 寿命平均化のためのブート時の物理コア割り当てに関する論理的な疑似ランダム
JP2018028819A (ja) 半導体集積回路
KR20080019115A (ko) 플래시 메모리 장치
TW201830260A (zh) 微控制器周邊裝置組態
US20100146332A1 (en) Data correction circuit and semiconductor integrated circuit
JP2005182538A (ja) データ転送装置
JP2002207640A (ja) 情報処理装置
US8812810B2 (en) Memory control apparatus
JP2019074797A (ja) 不揮発性メモリのデータ書換方法及び半導体装置
JP2006178909A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US20230335198A1 (en) Semiconductor device

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170911

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170912

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190709

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200204