(57)【要約】【課題】  本発明のシリアルブート方式はＰＬＬ同期が必要な高速クロックを使用するが、その際ＰＬＬがロックするまでウエイトを挿入することないデータ転送を提供する。【解決手段】  プロセッサ１とシリアルＲＯＭ２間でインタフェース用クロックやデータの他にクロック切替え信号を設け、プロセッサ１内ではインタフェース用クロックとそれを分周回路２５で作成した低速クロックを切替え出来るようにし、同様にシリアルＲＯＭ２内でもＰＬＬ２６から作成した高速クロックと分周回路２５から作成した低速クロックの２種類のクロックを切替え出来るようにし、シリアルＲＯＭ２のＰＬＬ２６がロックしたかどうかでシリアルＲＯＭ２の同期回路２２、２３とプロセッサ１の同期回路１２，１３に入るクロックを同時に切替えることで、ウエイトの挿入されないデータ転送をすることができる。【選択図】  図１
2006041999.tif 000002
【特許請求の範囲】
【請求項１】
シリアルインタフェースで接続されるプロセッサとメモリ間でインタフェース用クロックにＰＬＬ同期が必要な高速クロックを使用した時、
プロセッサ、メモリ共に内部でインタフェースクロックからの高速クロックとＰＬＬを用いなくとも通信出来る低速クロックの２種類のクロックを用意し、
内部高速クロックを作成するＰＬＬがロックしたかどうか示す信号をプロセッサとメモリ間で接続し、
この信号でプロセッサとメモリ２つの内部クロックを低速から高速へ同時に切替えてデータ送出及び受信を行なうことでウエイトの挿入されないデータ転送することを特徴としたシリアルインタフェース方式。
【請求項２】
請求項１のプロセッサとメモリ間で接続するＰＬＬがロックしたかどうか示す信号の代りにプロセッサとメモリ間でやり取りするデータにクロック切替情報を付加することで、
プロセッサ、メモリの内部クロックを低速から高速と切替えてデータ送出及び受信を行ない、ウエイトの挿入されないデータ転送することを特徴としたシリアルインタフェース方式。
【請求項３】
データ送信ノードと、データ受信ノードとがディジタルインターフェースを介してデータを送受信するデータ送受信方法であって、
前記データ送信ノードで外部からのクロックから生成する第１の高速クロックを前記クロックに同期を開始する行程と、
前記クロックから前記クロックよりも周波数の低い第１の低速クロックを生成する行程と、
前記第１の高速クロックが同期をしているか否かを判断する行程と、
前記第１の高速クロックが同期をしているか否かを前記受信ノードに通知する行程と、
前記第１の高速クロックが同期をしていない場合、前記第１の低速クロックを選択し、前記第１の高速クロックが同期をしている場合、前記第１の高速クロックを選択する行程と、
選択した前記第１の低速クロック若しくは前記第１の高速クロックのいずれか一方のクロックに同期してデータを送信する行程と、
前記データ受信ノードで前記クロックを前記クロックよりも周波数の低い第２の低速クロックを生成する行程と、
前記送信ノードからの通知により前記第１の高速クロックが同期をしていない場合、前記第２の低速クロックを選択し、前記第１の高速クロックが同期をしている場合、前記クロックを選択する行程と、
前記送信ノードから送信されるデータを、選択した前記第２の低速クロック若しくは前記クロックのいずれか一方のクロックに同期する行程と、
を有することを特徴とするデータ送受信方法。
【請求項４】
データ送信ノードと、データ受信ノードとがディジタルインターフェースを介してデータを送受信するデータ送受信方法であって、
前記データ送信ノードにおいて、
前記クロックから生成する第１の高速クロックを前記クロックに同期を開始する行程と、
外部からのクロックを前記クロックよりも周波数の低い第１の低速クロックを生成する行程と、
前記第１の高速クロックが同期をしているか否かを判断する行程と、
前記第１の高速クロックが同期をしていない場合、前記第１の低速クロックを選択し、前記第１の高速クロックが同期をしている場合、前記第１の高速クロックを選択する行程と、
前記第１の高速クロックが同期しているか否かの情報をデータに付加する行程と
前記データを、選択したクロックに同期させて送信する行程と、を有し、
前記データ受信ノードにおいて、
外部からのクロックを前記クロックよりも周波数の低い第２の低速クロックを生成する行程と、
前記データを受信し、前記第１の高速クロックが同期しているか否かの前記情報を検出する行程と、
前記情報により、前記第１の高速クロックが同期をしていない場合、前記第２の低速クロックを選択し、前記第１の高速クロックが同期をしている場合、前記クロックを選択する行程と、
前記送信ノードから送信されるデータを選択したクロックに同期する行程と、
を有することを特徴とするデータ送受信方法。
【請求項５】
データ送信ノードと、データ受信ノードとがディジタルインターフェースを介してデータを送受信するデータ送受信システムであって、
前記データ送信ノードは、
外部からのクロックから前記クロックよりも周波数の低い第１の低速クロックを生成する第１のクロック分周回路と、
前記クロックに同期して高速クロックを生成する位相同期ループと、
前記第１の低速クロック及び前記高速クロックを入力し、いずれか一方を選択する第１のクロック切替回路と、
前記第１のクロック切替回路の選択するクロックに同期してデータを送信するデータ送信手段と、を有し、
前記データ受信ノードは、
外部からの前記クロックから前記クロックよりも周波数の低い第２の低速クロックを生成する第２のクロック分周回路と、
前記クロック、及び前記第２の低速クロックのうち、いずれか一方を選択する第２のクロック切替回路と、
前記データ送信手段から送信されるデータを受信し、前記第２のクロック切替回路の選択するクロックに同期する，データ受信手段と、
を有することを特徴とするデータ送受信システム。
【請求項６】
前記位相同期ループは、
前記第１の高速クロックが前記クロックに同期しているか否かを示す第１のクロック切替信号を前記第１のクロック切替回路及び前期第２のクロック切替回路に送信することを特徴とする請求項５に記載のデータ送受信システム。
【請求項７】
前記位相同期ループは、
前記第１の高速クロックが前記クロックに同期しているか否かを示す第１のクロック切替信号を前記第１のクロック切替回路に送信し、
前記第１のノードは、
前記第１のクロック切替信号を受信し、クロック切替情報を前記データに付加して前記データ送信手段に入力するデータ切替信号付加回路を有し、
前記第２のノードは、
前記データを受信し、第２のクロック切替信号を生成して前記第１のクロック切替回路に入力するクロック切替信号分離回路と、を有する事を特徴とする請求項５に記載のデータ送受信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノード間におけるデータの通信方法、詳しくはシリアルインタフェースを用いてプロセッサがプログラム等をロードする方式に関する。
【背景技術】
【０００２】
プロセッサがプログラムやデータをメモリからロードする場合、インタフェースとしてクロックとデータからなるシリアルインタフェースを用いる方式があり、これによって信号線数を減らすことが出来るため、信号線数の多いプロセッサ等で多く使用されている。
【０００３】
従来のシリアルインタフェースを用いてプロセッサがプログラムやデータをやりとりする方式ではクロック周波数が遅く、転送スピードが遅いものが一般的である（例えば、特許文献１参照。）。
【０００４】
但し、最近のプロセッサではこの転送速度を改善させるために高速なクロックを使用しており（例えば、非特許文献１参照。）、この場合ＰＬＬを内蔵したインタフェース回路を付与して汎用メモリを接続するか、ＰＬＬを内蔵したインタフェースを持ったメモリを使用する必要がある。これはデータの読出がクロックとデータの転送方向が逆であり、プロセッサが出力するクロックをそのまま使うとプロセッサ側でサンプリング出来なくなってしまうことがあるためである。つまりクロックが高速の場合はクロックの揺らぎやデータを送出する際のクロックに対する遅延の影響を無視出来なくなるため、ＰＬＬを使用する必要が出てくる（例えば、特許文献２参照。）。
【０００５】
以下、従来の方式について説明する。
【０００６】
図６は、従来の遅いクロックを用いたシリアルインタフェースでプログラム等をメモリからロードする一般的な方式である。ここで９１はプログラムやデータを読み出すプロセッサで、９２がプログラムやデータを格納しているシリアルＲＯＭである。９３、９４はそれぞれプロセッサ、シリアルＲＯＭ間のインタフェース信号であるクロック、データを示す。又、９２〜９７はシリアルＲＯＭ側の各端子を示す。尚、ここではシリアルインタフェースのクロックが充分遅いため、ＰＬＬを用いてクロックの同期を取る必要は無く図中にもＰＬＬは記述していない。
【０００７】
図７は図６での信号の具体的なタイミングの一例を示している。クロック波形、データ入力波形、データ出力波形はそれぞれ図６の９５、９６、９７の各端子の波形を示す。
【０００８】
以後図６と図７を併せて動作を説明する。自らの内部クロックが安定するとプロセッサ９１はクロック９３を出力すると次に、このクロックの立ち下がりに同期してアドレス送出開始を示すスタートビットとその後に読み込むメモリ・アドレスを順次データ線９４に出力する。これをシリアルＲＯＭ９２は入力端子９６で受信し、９１から供給されたクロック９３の立上がりを用いて内部でサンプリングする。これが図７の９６の波形である。
【０００９】
シリアルＲＯＭ９２はアドレスを受信するとアドレスを受信したことを示すＡＣＫ、そしてアドレスに対応したデータ、最後にデータ送信完を示すストップビットを順次供給されたクロック９３の立下がりに同期させて９６の端子に出力する。プロセッサ９１はこれをクロック９３の立上がりを用いてサンプリングし、データを読み込む。これが図７の９７の波形である。
【００１０】
次に従来の高速クロックを用いたシリアルインタフェースでのプロセッサからメモリからロードする方式について説明する。
【００１１】
図８で１００はプログラムやデータを読み出すプロセッサでシリアルインタフェースを持っている。１２０はプログラムやデータを格納している汎用ＲＯＭでシリアルインタフェースを具備していないため、プロセッサ１００との間に入りインタフェース変換をしているのがインタフェース回路１１０である。又、プロセッサ１００にクロックを供給しているのがクロック発振器１３０であり、このクロックをプロセッサ１００内ＰＬＬ１０４を用いて更に高速なクロックにして内部及びシリアルインタフェースに供給している。プロセッサ１００内には、この他にアドレスやデータを同期化するアドレス同期回路１０２、データ同期回路１０３、そしてプロセッサコア１０１がある。インタフェース回路１１０の内部にはインタフェースクロックを受信し、それから送信用のタイミングクロックを作るＰＬＬ１１３、送信するデータをインタフェースクロックに同期化する同期回路１１２、受信したアドレスをサンプリングし汎用ＲＯＭ１２０に送出するためのアドレス同期回路１１１、そしてウエイトを挿入するＮＡＣＫ応答やデータ返送を示すＡＣＫ応答を返すＡＣＫ送出回路１１４がある。
【００１２】
図９の１４０は図８のプロセッサ１００とインタフェース回路１１０間のシリアルインタフェースのクロックの波形を示し、１５０は同様にアドレス／データ信号の波形を示す。又１６０は図８のインタフェース回路１１０内のＰＬＬ１１３からＡＣＫ送出回路１１４へ接続されているＰＬＬロック有無信号を示す。
【００１３】
以後図８と図９を併せて動作を説明する。プロセッサ１００は内部ＰＬＬ１０４が安定するとプログラムやデータのロードを開始する。まずプロセッサ１００はクロックを出力する。図９の波形で「ブート開始」と示してクロック１４０を出力し始めている点である。
【００１４】
次にプロセッサ１００はプロセッサコア１０１が出したアドレスをその前にスタートビットを付加させ、アドレス同期回路１０２でクロック（波形１４０）の立ち下がりに同期させてアドレス／データ信号線に出力する。図９の波形１５０で「プロセッサがスタートビット＋アドレス送出」と説明している箇所がこれにあたり、波形１５０上でＳＴはスタートビット、Ａ７、Ａ６、Ａ０はそれぞれアドレスの７ビット目、６ビット目、０ビット目を示す。このスタートビットとアドレスをインタフェース回路１１０内アドレス同期回路１１１はシリアルインタフェースクロック（波形１４０）の立上がりでサンプリングし、その結果を汎用ＲＯＭ１２０へ出力する。
【００１５】
この時インタフェース回路１１０のＰＬＬ１１３は未だロックしていないため、プロセッサ１００側で充分サンプリング出来るタイミングでデータを送出出来ない。そこでインタフェース回路１１０はＰＬＬ１１３がロックするまでプロセッサ１００にウエイトをかけるため、ＡＣＫ送出回路１１４が作成したＮＡＣＫ応答をアドレス／データ信号に送出し続ける。図９の波形１５０で「ＮＡＣＫ」と記述している部分がこれにあたる。
【００１６】
インタフェース回路１１０内のＰＬＬ１１３がクロックを充分受信してロック完了すると、データ同期回路１１２はＡＣＫ送出回路１１４が作成したＡＣＫ応答、そしてデータを順次クロック（波形１４０）の立ち下がりに同期させてアドレス／データ信号線に出力する。このデータを全て送ると最後にストップビットを付与して、プロセッサ１００に対して転送が終了したことを示す。これらは図９の波形１５０で「シリアルＲＯＭがＡＣＫ＋データ＋ストップビット送出」と説明している箇所がこれにあたり、波形１５０上でＡＣＫはＡＣＫ応答、Ｄ７、Ｄ６はそれぞれデータの７ビット目、６ビット目を示している。このＡＣＫとデータ、ストップビットをプロセッサ１０内データ同期回路１０３はシリアルインタフェースクロック（波形１４０）の立上がりでサンプリングし、その結果データを抽出してプロセッサコア１０１へ出力する。
【００１７】
このように高速クロックを用いて最初に必ずＰＬＬのロックが必要な場合、例えば電源投入直後のブート時には、クロック送出からある程度の時間ウエイトの挿入が必要になってしまい、高速なクロックを使用したにもかかわらずトータルの時間短縮が思ったほど効果を上げられないと言う結果をもたらす。
【特許文献１】特開平１１−３２８９８０号公報
【特許文献２】特開平７−１１８７０５号公報
【非特許文献１】「IBM PowerNP NP4GS3 Network Processor Hardware Reference Manual」, IBM Corp.,ｐ．４３８
【発明の開示】
【発明が解決しようとする課題】
【００１８】
以上に述べたように、高速なクロックを使用したシリアルデータ転送ではＰＬＬを使用することがほぼ必須である。しかしながらＰＬＬはクロックを受信してフィードバックする構造のため、ある程度クロックを受信してからでないとＰＬＬ出力クロックのロックが出来ない。つまり使用しているＰＬＬが一端ロックしてしまえばそのクロックを使用してプロセッサへ高速なデータ転送が出来るが、電源投入直後のブートに代表されるクロック出力を開始しプログラムをロードするような場合にはクロックがロックされるまではメモリからプロセッサへ転送が出来ないことになる。
【００１９】
これは電源投入直後のブートシーケンスにおいては速やかなプログラム立ち上げが要求されるため、高速なシリアルクロックを使用し時間短縮をしようとしているにもかかわらずＰＬＬがロックするまでウエイトが入り、ブートシーケンスのトータルの時間短縮が思ったほど効果を上げられないと言う結果をもたらす。
【００２０】
本発明は従来の構成が有していたこのような問題を解決しようとするものであり、ＰＬＬがロックしない時点でもデータの転送をし、ブート等初期シーケンスでのプログラム、データ格納時間のトータルでの短縮を目的とするものである。
【課題を解決するための手段】
【００２１】
本発明は上記目的を達成するために、高速クロックを使ったシリアルインタフェースを有するプロセッサとメモリの構成で、メモリはＰＬＬを用いなくともプロセッサで充分受信可能なタイミングでデータを送出できる低速クロックとシリアルインタフェース用クロックからＰＬＬを通して作成した高速クロックの２種類のクロックを内部に持ち、プロセッサも内部でシリアルインタフェース用高速クロックとそれから作成したメモリ側と同様の低速クロックを持ち、メモリ側ＰＬＬがロックしたかどうか示す信号でメモリ、プロセッサの内部クロックを低速から高速へ同時に切替えることで従来はＰＬＬがロックするまでウエイトをかけて待たせておいた転送が、ウエイトが挿入されず効率的なデータ転送を行なうことが出来る。
【００２２】
また、シリアルインタフェースで接続されるプロセッサとメモリ間でインタフェース用クロックにＰＬＬ同期が必要な高速クロックを使用した時、プロセッサ、メモリ共に内部でインタフェースクロックからの高速クロックとＰＬＬを用いなくとも通信出来る低速クロックの２種類のクロックを用意し、内部高速クロックを作成するＰＬＬがロックしたかどうか示す信号をプロセッサとメモリ間で接続し、この信号でプロセッサとメモリ２つの内部クロックを低速から高速へ同時に切替えてデータ送出及び受信を行なうことでウエイトの挿入されないデータ転送をする。
【００２３】
また、プロセッサとメモリ間で接続するＰＬＬがロックしたかどうか示す信号の代りにプロセッサとメモリ間でやり取りするデータにクロック切替情報を付加することで、プロセッサ、メモリの内部クロックを低速から高速と切替えてデータ送出及び受信を行ない、ウエイトの挿入されないデータ転送をする。
【００２４】
また、データ送信ノードと、データ受信ノードとがディジタルインターフェースを介してデータを送受信するデータ送受信方法であって、データ送信ノードで外部からのクロックから生成する第１の高速クロックを外部クロックに同期を開始する行程と、外部クロックから高速クロックよりも周波数の低い第１の低速クロックを生成する行程と、第１の高速クロックが同期をしているか否かを判断する行程と、第１の高速クロックが同期をしているか否かを受信ノードに通知する行程と、第１の高速クロックが同期をしていない場合、第１の低速クロックを選択し、第１の高速クロックが同期をしている場合、第１の高速クロックを選択する行程と、選択した第１の低速クロック若しくは第１の高速クロックのいずれか一方のクロックに同期してデータを送信する行程と、データ受信ノードで高速クロックよりも周波数の低い第２の低速クロックを生成する行程と、送信ノードからの通知により第１の高速クロックが同期をしていない場合、第２の低速クロックを選択し、第１の高速クロックが同期をしている場合、高速クロックを選択する行程と、送信ノードから送信されるデータを、選択した第２の低速クロック若しくは高速クロックのいずれか一方のクロックに同期する行程と、を有する。
【００２５】
また、データ送信ノードと、データ受信ノードとがディジタルインターフェースを介してデータを送受信するデータ送受信方法であって、データ送信ノードにおいて、外部クロックから生成する第１の高速クロックを外部クロックに同期を開始する行程と、外部からのクロックを高速クロックよりも周波数の低い第１の低速クロックを生成する行程と、第１の高速クロックが同期をしているか否かを判断する行程と、第１の高速クロックが同期をしていない場合、第１の低速クロックを選択し、第１の高速クロックが同期をしている場合、第１の高速クロックを選択する行程と、第１の高速クロックが同期しているか否かの情報をデータに付加する行程と、データを選択したクロックに同期させて送信する行程とを有し、データ受信ノードにおいて、外部からのクロックを高速クロックよりも周波数の低い第２の低速クロックを生成する行程と、データを受信し、第１の高速クロックが同期しているか否かの情報を検出する行程と、情報により、第１の高速クロックが同期をしていない場合、第２の低速クロックを選択し、第１の高速クロックが同期をしている場合、クロックを選択する行程と、送信ノードから送信されるデータを選択したクロックに同期する行程と、を有する。
【００２６】
また、データ送信ノードと、データ受信ノードとがディジタルインターフェースを介してデータを送受信するデータ送受信システムであって、データ送信ノードは、外部からのクロックから高速クロックよりも周波数の低い第１の低速クロックを生成する第１のクロック分周回路と、外部クロックに同期して高速クロックを生成する位相同期ループと、第１の低速クロック及び高速クロックを入力し、いずれか一方を選択する第１のクロック切替回路と、第１のクロック切替回路の選択するクロックに同期してデータを送信するデータ送信手段と、を有し、データ受信ノードは、外部からのクロックから高速クロックよりも周波数の低い第２の低速クロックを生成する第２のクロック分周回路と、高速クロック及び第２の低速クロックのうち、いずれか一方を選択する第２のクロック切替回路と、データ送信手段から送信されるデータを受信し、第２のクロック切替回路の選択するクロックに同期する，データ受信手段と、を有する。
【００２７】
また、位相同期ループは、第１の高速クロックが外部からのクロックに同期しているか否かを示す第１のクロック切替信号を第１のクロック切替回路及び前期第２のクロック切替回路に送信する。
【００２８】
また、位相同期ループは、第１の高速クロックが外部クロックに同期しているか否かを示す第１のクロック切替信号を第１のクロック切替回路に送信し、第１のノードは、第１のクロック切替信号を受信し、クロック切替情報をデータに付加してデータ送信手段に入力するデータ切替信号付加回路を有し、第２のノードは、データを受信し、第２のクロック切替信号を生成して第１のクロック切替回路に入力するクロック切替信号分離回路と、を有する。
【発明の効果】
【００２９】
本発明によれば、PLLがロックするまでの間も低速クロックで動作させる事が可能になる。それにより、PLLのロック前もメモリからプロセッサへデータの転送が可能になり、より迅速にプログラムをロードする事が出来る。
【発明を実施するための最良の形態】
【００３０】
【実施例１】
【００３１】
図１は本発明における実施例１におけるブロック図を示す。又図３は動作手順の概要を示すフローチャート、図５は各インタフェース信号の波形を示す波形図である。
【００３２】
図１の１はプロセッサで、プログラムやデータを読み出すシリアルインタフェースを持っている。２はプログラムやデータを格納しているシリアルＲＯＭであり、１と２はクロック、アドレス／データのシリアルインタフェース信号、そしてクロック切替信号の３つの信号線で接続されている。又、プロセッサ１にクロックを供給しているのがクロック発振器３であり、プロセッサ１は内部ＰＬＬ１６を用いてこのクロックを更に高速なクロックにして内部及びシリアルインタフェースに供給している。
【００３３】
プロセッサ１内には、この他にＰＬＬからのクロックを分周した低速なクロック（以後低速クロックと称する）を作成するクロック分周回路１５、その低速クロックとＰＬＬ１６の出力のままの高速クロックを切替えるクロック切替回路１４、この１６の出力クロックでアドレスやデータを同期化するアドレス同期回路１２、データ同期回路１３、そしてプロセッサコア１１がある。
【００３４】
シリアルＲＯＭ２内にはインタフェースクロックを受信し、それから送受信のタイミングクロックを作るＰＬＬ２６、このＰＬＬを通さずにインタフェースクロックを分周してプロセッサ１と同じように低速クロックを作成するクロック分周回路２５、この低速クロックとＰＬＬ２６の出力のクロックを切替えるクロック切替回路２４、この２４の出力クロックでアドレスやデータを同期化するアドレス同期回路２２、データ同期回路２３、そしてメモリコア２１がある。
【００３５】
図５の８０は図１のプロセッサ１とシリアルＲＯＭ２間のシリアルインタフェースのクロックの波形を示し、８１はプロセッサ１とシリアルＲＯＭ２内部の各同期回路１２、１３、２２、２３に供給するクロックの波形を、８２はプロセッサ１とシリアルＲＯＭ２間のアドレス／データ信号の波形を、８３はシリアルＲＯＭ２内ＰＬＬ２６が各クロック切替回路１４、２４に対して出力するクロック切替信号を示す。
【００３６】
以後図３に沿い図１と図５を併せて、この実施例１における動作を説明する。クロック発振器３からのクロックを受信して内部クロックを作成するＰＬＬ１６がロックするとプロセッサ１はプログラムやデータのロード（ブート）を開始し、プロセッサ１からシリアルＲＯＭ２に対してクロックを出力する。これは図５で「ブート開始」と示してクロック８０を出力し始めている波形になる。この時、シリアルＲＯＭ２内のＰＬＬ２６は未だロックしていないためクロック切替信号（図５波形８３）は低速クロックを選択する状態となっており、プロセッサ１とシリアルＲＯＭ２内部のクロックはそれぞれの内部クロック分周回路で生成された同じ周波数の低速クロックが選択されている。（図５波形８１）
次にプロセッサ１はプロセッサコア１１が出したアドレスにスタートビットを付加させ、アドレス同期回路１２で低速クロック（図５波形８１）の立ち下がりに同期させてアドレス／データ信号線に出力する。図５の波形８１で「プロセッサがスタートビット＋アドレス送出」と説明している箇所がこれにあたり、波形８１上でＳＴはスタートビット、Ａ７、Ａ０はそれぞれアドレスの７ビット目、０ビット目を示している。
【００３７】
このスタートビットとアドレスを受信したシリアルＲＯＭ２は内部のアドレス同期回路２２で低速クロック（図５波形８１）の立上がりでサンプリングし、アドレスを抽出してメモリコア２１へ出力する。
【００３８】
メモリコア２１が受信したアドレスに対応したデータを出力すると、データ同期回路２３はデータの前後にＡＣＫ応答、ストップビットを付加し、順次クロック（図５波形８１）の立ち下がりに同期させてアドレス／データ信号線に出力する。ここでＡＣＫ応答はデータの送信開始を、ストップビットはデータ送信の終了を示しているビットで、これらは図５の波形８２でシリアルＲＯＭが「ＡＣＫ＋データ＋ストップビット送出」と説明している箇所があたり、波形８２上でＡＣＫはＡＣＫ応答、Ｄ７はそれぞれデータの７ビット目、ＳＰはストップビットを示している。
【００３９】
このＡＣＫとデータ、ストップビットをプロセッサ１内データ同期回路１３は低速クロック（図５波形８１）の立上がりでサンプリングし、データを抽出してプロセッサコア１１へ出力する。
【００４０】
こうして一回のシリアルＲＯＭ読出し動作が終了するが、この低速クロックを使った転送を続けて行くうちにシリアルＲＯＭ２内のＰＬＬ２６がシリアルインタフェースのクロックを充分数受信してロックが完了する。これをシリアルＲＯＭ２内のＰＬＬ２６は自内部のクロック切替回路に通知すると同時に、クロック切替信号を通してプロセッサ１内のクロック切替回路１４に通知する。これは図５の波形８３で「シリアルＲＯＭがＰＬＬロック信号送出」と説明している箇所があたる。このロック完了を受け、プロセッサ１とシリアルＲＯＭ２は一連の低速クロックを使った転送が終了した時点で、同時に内部クロックを低速クロックからシリアルインタフェースのクロックと同一周波数の高速クロックに切替える。図５の波形８３では、これを「高速クロックに内部クロックを切替え」と説明している。
【００４１】
以後、プロセッサ１とシリアルＲＯＭ２は上記の低速クロックを使用した転送と同様の手順で高速クロックを使用してシリアルＲＯＭ読出し動作を行なっていき、プログラムやデータのロード（ブート）動作を行なう。こうしてＰＬＬがロックしない時点でも転送を行うことで、ブート等での時間短縮を計ることが出来る。
【実施例２】
【００４２】
図２は本発明における実施例２におけるブロック図を示す。又、図４はその時の動作手順を示すフローチャートを示す。
【００４３】
図２の４はプロセッサで、プログラムやデータを読み出すシリアルインタフェースを持っている。６はプログラムやデータを格納している汎用ＲＯＭであり、シリアルインタフェースを持っていないため、プロセッサ４との途中に入ってプロセッサ４とインタフェースしているのがシリアルインタフェース回路５である。プロセッサ４とシリアルインタフェース回路５はクロック、アドレス／データのシリアルインタフェース信号で接続され、シリアルインタフェース回路５と汎用ＲＯＭ６はアドレス、データの一般的なパラレルインタフェースで接続されている。プロセッサ４にクロックを供給しているのがクロック発振器７であり、プロセッサ４は内部ＰＬＬ４７を用いてこのクロックを更に高速なクロックにして内部及びシリアルインタフェースに供給している。
【００４４】
プロセッサ４内には、この他にＰＬＬからのクロックを分周した低速なクロック（以後低速クロックと称する）を作成するクロック分周回路４６、その低速クロックとＰＬＬ４７の出力のままの高速クロックを切替えるクロック切替回路４５、この４５の出力クロックでアドレスやデータを同期化するアドレス同期回路４２、データ同期回路４３、抽出したデータの中からクロック切替パターンを検出するクロック切替検出回路、そしてプロセッサコア４１がある。
【００４５】
シリアルインタフェース回路５内部にはインタフェースクロックを受信し、それから送受信のタイミングクロックを作るＰＬＬ５７、インタフェースクロックを分周してプロセッサ４と同じような低速クロックを作成するクロック分周回路５６、この低速クロックとＰＬＬ５７の出力クロックを切替えるクロック切替回路５４、この５４の出力クロックでアドレスやデータを同期化するアドレス同期回路５１、データ同期回路５２、クロック切替パターンを生成する切替パターン生成回路、そして汎用ＲＯＭからのデータとクロック切替パターンを切替えて送信するためのデータ切替回路５３がある。
【００４６】
以後図４に沿い図２でこの実施例２における動作を説明する。初期状態ではプロセッサ４、シリアルインタフェース回路５共にクロックを分周して生成する低速クロックを使用する設定になっている。ここでクロック発振器７からクロックを受信しインタフェースクロックや内部クロックを作成するＰＬＬ４７がロックするとプロセッサ４はブートを開始する。
【００４７】
まずプロセッサ４からシリアルインタフェース回路５に対してクロックを出力し、次にプロセッサコア４１が出したアドレスにスタートビットを付加させ、アドレス同期回路４２で低速クロックの立ち下がりに同期させてアドレス／データ信号線に出力する。このスタートビットとアドレスを受信したシリアルインタフェース回路５は内部のアドレス同期回路５１で低速クロック立上がりを使ってサンプリングし、アドレスを抽出して汎用ＲＯＭ６へ出力する。
【００４８】
汎用ＲＯＭ６が受信したアドレスに対応したデータを出力すると、インタフェース回路５内のデータ同期回路５２はデータの前後にＡＣＫ応答、ストップビットを付加し、順次低速クロックの立ち下がりに同期させてアドレス／データ信号線に出力する。ここでＡＣＫ応答はデータの送信開始を、ストップビットはデータ送信の終了を示している。プロセッサ４内のデータ同期回路４３はこのＡＣＫとデータ、ストップビットを低速クロックの立上がりでサンプリングし、データを抽出してクロック切替検出回路４４へ出力する。このクロック切替検出回路４４でクロック切替を示す特定パターンが検出されないので、受信したデータをそのままプロセッサコア４１へ出力する。
【００４９】
こうして低速クロックを使った一回のシリアルＲＯＭ読出し動作が終了するが、この低速クロックを使った転送を続けて行くうちにシリアルインタフェース回路５内のＰＬＬ５７がシリアルインタフェースのクロックを充分数受信してロックが完了する。ＰＬＬ５７はこれをクロック切替回路５４に通知すると同時にクロック切替パターンを作成する切替パターン作成回路５５に通知する。この通知を受けデータ切替回路５３は現在行なっている転送サイクルにおいてデータの代りに切替パターンを送出し、データ同期回路５２で低速クロックに同期してプロセッサ４へ送出する。
【００５０】
プロセッサ４はこの切替パターンをクロック切替検出回路４４で検出すると、一定時間後に内部クロックを低速クロックから高速クロックに切替える。同じタイミングでシリアルインタフェース回路５でも内部クロックを低速クロックからシリアルインタフェースのクロックと同一周波数の高速クロックに切替える。
【００５１】
これでプロセッサ４とシリアルインタフェース回路５は高速クロックを使用してＲＯＭの読出しを行なえるようになったので、プロセッサ４内のアドレス同期回路４２は先ほど切替パターンを返送されたアドレスを再度スタートビットを付加し高速クロックに同期してシリアルインタフェース回路５に対して送出する。このスタートビットとアドレスを受信したシリアルインタフェース回路５は内部のアドレス同期回路５１で高速クロックの立上がりを使ってサンプリングし、アドレスを抽出して汎用ＲＯＭ６へ出力する。
【００５２】
汎用ＲＯＭ６が受信したアドレスに対応したデータを出力すると、インタフェース回路５内のデータ同期回路５２はデータの前後にＡＣＫ応答、ストップビットを付加し、順次高速速クロックの立ち下がりに同期させてアドレス／データ信号線に出力する。
【００５３】
プロセッサ４内のデータ同期回路４３はこのＡＣＫとデータ、ストップビットを高速クロックの立上がりでサンプリングし、データを抽出してプロセッサコア４１へ出力する。
【００５４】
以後、プロセッサ４とシリアルインタフェース回路５は低速クロックを使用した転送と同様の手順で高速クロックを使用してＲＯＭの読出し動作を行なう。
【００５５】
こうして、この実施例では新たに信号線を追加することなくＰＬＬがロックしない時でも転送を行うことで、ブート等での時間短縮を計ることが出来る。
【図面の簡単な説明】
【００５６】
【図１】本発明が適用されたプロセッサとシリアルＲＯＭによる一実施例を示すブロック図である。
【図２】本発明が適用されたプロセッサとシリアルインタフェース回路、そしてＲＯＭによる一実施例を示すブロック図である。
【図３】図１に示す実施例におけるシリアルインタフェースの動作手順を示すフローチャートである。
【図４】図２に示す実施例におけるシリアルインタフェースの動作手順を示すフローチャートである。
【図５】図１に示す実施例におけるシリアルインタフェースの波形を示す波形図である。
【図６】従来のプロセッサとシリアルＲＯＭによる構成例を示すブロック図である。
【図７】図６に示す従来の構成におけるシリアルインタフェースの波形の一例を示す波形図である。
【図８】従来のプロセッサとシリアルＲＯＭによる構成で高速なインタフェースクロックを使用した場合の一例を示すブロック図である。
【図９】図８に示す構成でのシリアルインタフェースの波形の一例を示す波形図である。
【符号の説明】
【００５７】
１      プロセッサ
１１    プロセッサコア
１２    アドレス同期回路
１３    データ同期回路
１４    クロック切替回路
１５    クロック分周回路
１６    ＰＬＬ
２      シリアルＲＯＭ
２１    メモリコア
２２    アドレス同期回路
２３    データ同期回路
２４    クロック切替回路
２５    クロック分周回路
２６    ＰＬＬ
３      クロック発振器
４      プロセッサ
４１    プロセッサコア
４２    アドレス同期回路
４３    データ同期回路
４４    クロック切替信号分離回路
４５    クロック切替回路
４６    クロック分周回路
４７    ＰＬＬ
５      シリアルインタフェース回路
５１    アドレス同期回路
５２    データ同期回路
５３    クロック切替信号回路
５４    クロック切替回路
５５    クロック分周回路
５６    ＰＬＬ
６      汎用ＲＯＭ
７      クロック発振器
８０    クロック信号波形
８１    アドレス／データ同期クロック波形
８２    アドレス／データ信号波形
８３    クロック切替信号波形
９１    プロセッサ
９２    シリアルＲＯＭ
９３    クロック信号
９４    データ信号
９５    シリアルＲＯＭクロック入力端子
９６    シリアルＲＯＭデータ入力端子
９７    シリアルＲＯＭデータ出力端子
１００  プロセッサ
１０１  プロセッサコア
１０２  アドレス同期回路
１０３  データ同期回路
１０４  ＰＬＬ
１１０  シリアルインタフェース回路
１１１  アドレス同期回路
１１２  データ同期回路
１１３  ＰＬＬ
１１４  ＡＣＫ送出回路
１２０  汎用ＲＯＭ
１３０  クロック発振器
【図１】
2006041999.tif 000003
【図２】
2006041999.tif 000004
【図３】
2006041999.tif 000005
【図４】
2006041999.tif 000006
【図５】
2006041999.tif 000007
【図６】
2006041999.tif 000008
【図７】
2006041999.tif 000009
【図８】
2006041999.tif 000010
【図９】
2006041999.tif 000011