JP2004013506A - プロセッサのダウンロード装置及びその制御方法 - Google Patents

プロセッサのダウンロード装置及びその制御方法 Download PDF

Info

Publication number
JP2004013506A
JP2004013506A JP2002165796A JP2002165796A JP2004013506A JP 2004013506 A JP2004013506 A JP 2004013506A JP 2002165796 A JP2002165796 A JP 2002165796A JP 2002165796 A JP2002165796 A JP 2002165796A JP 2004013506 A JP2004013506 A JP 2004013506A
Authority
JP
Japan
Prior art keywords
program
download
storage means
address
execution
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
JP2002165796A
Other languages
English (en)
Inventor
Toshio Sugimura
杉村 敏夫
Tatsuo Itomitsu
糸満 辰夫
Kazutoshi Funahashi
舟橋 和年
Takenobu Tani
谷 丈暢
Yasuhiko Hamada
濱田 保彦
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002165796A priority Critical patent/JP2004013506A/ja
Publication of JP2004013506A publication Critical patent/JP2004013506A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

【課題】プログラムメモリを削減し、処理性能を低下させないプログラムダウンロード方式を実現し、プログラムの逐次ダウンロードを容易にする。
【解決手段】第1の記憶手段に格納されているプログラムが第2の記憶手段のどのアドレスに格納されるかを予め記録し、管理情報テーブルに記憶しておく。さらにプロセッサのプログラムを動的に入れ換えるために、第2の記憶手段を独立にアクセス可能な複数のメモリマクロに分割して構成する。また、プログラムの実行とダウンロードとが同一のメモリマクロに対してなされたときはこれを検出し、プログラムのダウンロードの中断を行う。これらにより、プログラムの逐次ダウンロードが可能になるため、第2の記憶手段の容量を削減することが出来、低コスト、低消費電力を図ることが出来る。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明はプログラムやデータを書換え可能なメモリで構成したプロセッサのダウンロード技術に関するもので、更に詳述すれば、プログラムやデータの変更容易性を高めるとともに、メモリ容量を削減するために、必要最低容量のメモリを搭載し、逐次必要となる容量のみプログラムやデータを入れ換えるためのものである。
【0002】
【従来の技術】
従来のプロセッサの構成について図面を参照しながら説明する。
【0003】
図1は従来のプロセッサの構成例を示した図である。但し、ここで管理情報メモリ105及び選択信号116については本説明では用いない。
【0004】
第1の記憶手段100はプロセッサが実行するプログラムを保持し、プログラムをダウンロードする場合には、第2の記憶手段101へとプログラムが出力される。第2の記憶手段101には第1の記憶手段100から出力されたプログラムが書き込まれ、プロセッサの命令実行時には命令実行手段103へとプログラムが出力される。通常、第1の記憶手段100はマスクROM、フラッシュメモリ等で構成され、第2の記憶手段101と比べると容量が大きい。又、第2の記憶手段101は書き換え可能なもの(SRAM、DRAM、フラッシュメモリ等)である必要がある。
【0005】
まず、プロセッサが第1の記憶手段100から第2の記憶手段101へプログラムをダウンロードする場合の動作について説明する。転送制御手段102は第1の記憶手段100から第2の記憶手段101へのプログラムのダウンロードを制御するものであり、プログラムの転送要求104が入力されると、第1の記憶手段100へ第1のリード信号112及び第1のリードアドレス110を出力する。さらに、転送制御手段102は第2の記憶手段101にライト信号113とライトアドレス111を出力する。第1のリード信号112を受け取った第1の記憶手段100は第1のリードアドレス110に該当する命令コード117を出力する。ライト信号113を受け取った第2の記憶手段101はライトアドレス111に該当するアドレスに、第1の記憶手段100から出力された命令コード117を書き込む。上記の動作をダウンロードすべきプログラムの終了まで繰り返すことにより、プログラムのダウンロードを行う。
【0006】
次に、プロセッサが通常の命令実行を行う場合について説明する。ここでプロセッサが実行すべきプログラムはすでに第2の記憶手段101に保持されているものとする。命令実行手段103は第2の記憶手段から出力されるプログラムの実行を行うものであり、命令実行時には第2の記憶手段101に第2のリード信号115及び第2のリードアドレス114を出力する。第2のリード信号115を受け取った第2の記憶手段101は第2のリードアドレス114に該当する命令コード118を命令実行手段103へと出力する。命令実行手段103はこの命令コード118をデコードし、実行する。
【0007】
以上のプログラムのダウンロード、命令実行を繰り返し行いながらプロセッサは動作する。
【0008】
【発明が解決しようとする課題】
近年の携帯電話システムでは、従来の音声を中心にした通信から、iモードに代表されるように着信メロディーや画像データ等のデータ通信が主流となりつつあり、携帯電話システムにおけるプロセッサのプログラムはパソコン並の複雑さやプログラムサイズとなっている。しかし、サイズやコスト等の制約から十分な容量の第2の記憶手段を搭載することができず、プログラムを1度にダウンロードして実行するのではなく、ダウンロードしながら実行する必要性が生じている。
【0009】
しかしながら、従来のようなプロセッサの構成では、プログラムのダウンロード中にプログラムの実行を行うことができず、プロセッサの実行を停止してダウンロードを行う必要があり、処理効率を低下させているといった第1の問題点がある。
【0010】
また、プログラムが大規模化した場合に、そもそも実行する1つのプログラム全体を第2の記憶手段に書き込むことが難しい場合もある。すなわち、命令実行を行う第2の記憶手段上のアドレス領域を確保しながら、大規模な命令プログラム全体を書き込む第2の記憶手段上のアドレス領域を確保できないといった第2の問題がある。
【0011】
さらに、複数のプログラムをダウンロードした場合に、第1の記憶手段と第2の記憶手段でのアドレスの対応が複雑化してしまうといった第3の問題がある。第3の問題点はプログラムの実行とダウンロードを並列に行った場合には、さらに対応が複雑化するものと考えられる。
【0012】
本発明は、上記の課題を鑑みて、限られたメモリ(記憶手段)資源を有効に活用しつつ、かつ簡単な方法でプログラムの各メモリ上のアドレスを管理して、プログラムのダウンロードと命令実行を同時に行うプロセッサのダウンロード装置及び制御方法を提供しようとするものである。
【0013】
【課題を解決するための手段】
上記課題を解決するために、本発明は、第1の記憶手段に記憶されているプログラムが、ダウンロードによって第2の記憶手段のどのアドレスに記憶されるかを予め記録した管理情報テーブルを用意し、転送制御手段はこの管理情報テーブルに基づいて、プログラムを第2の記憶手段のどのアドレスにダウンロードするかを決定する。管理情報テーブルは管理情報メモリに記憶しておいても良いし、管理情報メモリは設けずに第1の記憶手段の特定のアドレスに記憶しておくこともできる。
【0014】
この管理情報テーブルによって、第1の記憶手段と第2の記憶手段でのアドレスの対応が複雑化することはない。
【0015】
さらに本発明は、第2の記憶手段を、独立してアクセス可能な複数のメモリマクロに分けて構成している。
【0016】
これによってプログラムの実行とダウンロードを同時に行うことができる。従来においては、第2の記憶手段を複数のメモリマクロに分けて構成することによって、第1の記憶手段と第2の記憶手段のアドレスの対応がより複雑化する可能性があったが、本発明においては、管理情報テーブルを予め用意するためにアドレスの対応は複雑化しない。
【0017】
さらに本発明において、転送制御手段は、現在ダウンロードされているプログラムの終了アドレスを保持する転送終了レジスタを備えている。この転送終了レジスタの保持するアドレスと、ダウンロード中の命令コードやデータのアドレスとを比較することにより、ダウンロードの終了を判定する。
【0018】
さらに本発明においては、管理情報テーブルに基づいて、現在実行しているプログラムが終了するまでに、次に実行すべきプログラムのダウンロードが終了するような第2の記憶手段におけるアドレスを、しきい値アドレスとしてしきい値アドレスレジスタに保持する。このしきい値アドレスと現在実行しているプログラムの第2の記憶手段におけるアドレスとの比較を行い、一致した場合には次に実行すべきプログラムのダウンロードを開始する。
【0019】
これによって、プログラムのダウンロードによる待ち時間なく、従って命令実行能力を低下させることなく一連のプログラム全体の実行をすることができる。
【0020】
また、プログラムの実行とともに、所定値からカウントを始めるタイマーを設けて、タイマのカウントが終了するとプログラムのダウンロードを開始するようにしても良い。これによって、プログラムのダウンロードによる待ち時間なく、従って命令実行能力を低下させることなく一連のプログラム全体の実行をすることができる。
【0021】
さらに本発明においては、プログラムの実行とダウンロードが同一のメモリマクロに対してされているか否かの検出を行う。プログラムの実行とダウンロードが同一のメモリマクロに対してされているときには、プログラムのダウンロードに優先して命令実行を行う。
【0022】
これによって、プログラムの実行とダウンロードが同一のメモリマクロに対してされるような異常事態にも対応することができる。
【0023】
また、プログラムの実行とダウンロードが同一のメモリマクロに対してされているときには、プログラムの実行を強制終了しても良い。
【0024】
また、本発明の管理情報テーブルに、第1の記憶手段に格納されているプログラムが、第2の記憶手段において有効であるか否かを示す有効ビットを追加しても良い。ここで有効とは、プログラムがダウンロードあるいは命令実行されていることをいう。
【0025】
これによって、プログラムの実行とダウンロードが同一のメモリマクロにされているか否かを容易に検出することができる。また、現在第2の記憶手段に実装されているプログラムが何かを知ることができるので、プログラムのソースコードデバッグを容易に行うことができる。
【0026】
さらに、予めプログラムの実行シーケンスが決まっているような場合には、コンパイルやアセンブル等のプログラムの静的解析時に、管理情報テーブルに基づいて、n+1番目に実行されるプログラムのダウンロードを開始する命令を、n番目に実行されるプログラムに記述しておく。
【0027】
これによって、新たなレジスタやタイマーを設けずとも、適当な時点でプログラムのダウンロードを開始することができる。
【0028】
【発明の実施の形態】
本発明の実施の形態において、“プログラム”とは音声データや画像データ等を含み、第1の記憶手段に記憶されている全てを指す概念として定義する。
【0029】
(実施の形態1)
本発明におけるプロセッサのダウンロード装置及び制御方法の実施の形態1について図面を参照しながら説明をする。
【0030】
図2は本実施の形態におけるプロセッサのダウンロード装置のプログラムの管理情報テーブルを表わすものである。
【0031】
プログラムは図2のように、予めプログラム名に対応して番号付けされ、第1の記憶手段上でのアドレスがソースコード情報として記録されている。本実施の形態においては、開始アドレスと終了アドレスによってプログラムが格納されている第1の記憶手段上でのアドレスを特定している。また、プログラムをダウンロードしたときに第2の記憶手段のどこに格納されるかもデスティネーション情報として記録されている。デスティネーション情報についてもソースコード情報と同様に開始アドレスと終了アドレスによって、プログラムが第2の記憶手段のどのアドレスに格納されるかを特定している。すなわち、プログラムは第1の記憶手段上でのアドレスだけでなく、第2の記憶手段のどのアドレスに格納されるべきかも予め決定され、管理されている。これによって、複数のプログラムがダウンロードされた場合においても、第1、第2の記憶手段上でのアドレスの対応が複雑化してしまうおそれがない。
【0032】
次に、図1を用いて本実施の形態におけるプロセッサの構成について説明を加える。プロセッサは従来と同様に第1の記憶手段100、第2の記憶手段101、転送制御手段102、命令実行手段103を備えている。従来との大きな構成上の違いは上記のプログラムの管理情報テーブルを格納した管理情報メモリ105を備え、第2の記憶手段101が独立にアクセス可能な複数のメモリマクロに分かれていることである。本実施の形態では第2の記憶手段が2つのメモリマクロから構成されているものとして説明を行う。本実施の形態におけるプロセッサのダウンロード装置の動作について、以下にその詳細について説明する。
【0033】
従来と同様に転送要求104によってプログラムのダウンロードが開始されると、転送制御手段102は第1の記憶手段100に第1のリードアドレス110と第1のリード信号112を出力し、第2の記憶手段101にライト信号113、ライトアドレス111を出力する。本実施の形態においてはさらに、選択信号116を第2の記憶手段101へと出力する。選択信号116によってどちらのメモリマクロにプログラムがダウンロードされるかが決定される。本実施の形態においては管理情報メモリ105によって、第1の記憶手段100に格納されたプログラムが第2の記憶手段101のどのアドレスに格納されるかが予め決まっている。従って、ライトアドレス111及び選択信号116は管理情報メモリ105を参照することによって決定される。本実施の形態の説明においては、第2のメモリマクロにプログラムがダウンロードされる場合を例にとって説明する。
【0034】
図3は本実施の形態における第2の記憶手段101の構成を示した図である。第2の記憶手段は2つのメモリマクロに分かれて構成されている。第1の記憶手段100の動作としては、従来の動作と変わりはないものとする。転送制御手段102から出力されたライト信号113、ライトアドレス111、選択信号116、命令実行手段103から出力された第2のリード信号115、第2のリードアドレス114は第1の選択回路30、第2の選択回路31へと入力されている。ここで本実施の形態においては、ダウンロードされるプログラムが第2の記憶手段101のどのアドレスに格納されるかが予め決まっているので、ライトアドレス111はそのアドレスに対応した値となる。当然、どちらのメモリマクロが選択されるかも予め決定されており、プログラムの管理情報テーブルに記録されている。本実施の形態においては第2のメモリマクロ33へとプログラムはダウンロードされる。選択信号116によって、第2のメモリマクロが選択されると、第2の選択回路31は第2のメモリマクロ33へ入力される第2のリード信号115を無効にし(38)、ライト信号113を有効にする(39)。また、第2の選択回路31は第2のメモリマクロ33に出力するアドレスとして、ライトアドレス111を選択し、第2のメモリマクロ33へと出力する(37)。これによって、第1の記憶手段100で第1のリードアドレス110に該当するアドレスに格納されたデータ117が、第2のメモリマクロ33のライトアドレス111へと書き込まれる。
【0035】
次にプログラムのダウンロードと同時に、命令実行を行う場合について説明する。本実施の形態においては、第2の記憶手段101が独立にアクセス可能な2つのメモリマクロに分かれて構成されているので、第2のメモリマクロ33にプログラムのダウンロードをしている場合は、第1のメモリマクロ32に格納されているプログラムについて命令実行を行うことができる。第1のメモリマクロ32に格納されているプログラムを実行する場合、第1の選択回路30は第1のメモリマクロ32に入力される第2のリード信号115を有効にし(35)、ライト信号113を無効にする(36)。また、第1の選択回路30は第1のメモリマクロ32に出力するアドレスとして、第2のリードアドレス114を選択し、第1のメモリマクロ32へと出力する(34)。第1のメモリマクロ32は第2のリードアドレス114に該当する命令コード118を命令実行手段103へと出力する。
【0036】
通常の命令実行についてもダウンロードと同時に命令実行を行う場合と変わりはない。但し、この場合においてはどちらのメモリマクロに対しても命令実行を行うことができる。
【0037】
図4は本実施の形態における転送制御手段102の構成例を示した図である。転送制御手段102の転送終了アドレスレジスタ44には、予め第1の記憶手段100上でのダウンロードの終了アドレス401が保持されている。第1のアドレス比較器42はこのダウンロードの終了アドレス401と第1のリードアドレス110が一致しているか否かの比較を行い、第1の比較結果402を制御部43へと出力する。第1の比較結果402が一致を示すものでなかった場合、制御部43は次の命令コードを転送するために、第1のアドレスカウンタ40及び第2のアドレスカウンタ41に対してアドレス更新信号400を出力する。アドレス更新信号400を受けた第1のアドレスカウンタ40は、第1のリードアドレス110を出力する。アドレス更新信号400を受けた第2のアドレスカウンタ41はライトアドレス111を出力する。制御部43は同時に第1のリード信号112とライト信号113を出力する。第1の比較結果402が一致を示すものであった場合には、制御部43はアドレス更新信号400を出力せず、プログラムのダウンロードは終了する。
【0038】
なお、本実施の形態におけるプログラムの管理情報テーブルは、第1の記憶手段と第2の記憶手段におけるアドレスの対応関係に関する情報を予め記録しておくことが重要であり、その記録形式は問わない。例えば、プログラムの開始アドレスと終了アドレスではなく、開始アドレスとプログラムのサイズによって、第1の記憶手段100、第2の記憶手段101上の領域を特定するようにしても良い。
【0039】
また、本実施の形態においては、転送制御手段102が選択信号116を出力しなくて、第1の選択回路30、第2の選択回路31が、ダウンロードされてきたプログラムのアドレスから、どちらのメモリマクロに格納されるかを決定するようにしても良い。予め、選択回路に第2の記憶手段でのアドレスとメモリマクロとの対応関係を保持しておくことにより、これは実現される。
【0040】
さらに、本実施の形態におけるプログラムの管理情報メモリはなく、第1の記憶手段100の特定のアドレスにプログラムの管理情報テーブルを記憶するようにしても良い。こうすることにより新たに別のメモリを用意する必要はない。
【0041】
また、プログラムが第2の記憶手段101の1つのメモリマクロに格納できないほどに大きい場合には、いくつかのプログラムに分割して第1の記憶手段100に格納しておくことができる。図5はこのような場合におけるプログラムの管理情報テーブルを表わしたものであり、図2に示されたプログラムのうちの音楽2、画像3についてプログラムが分割されている。分割されたプログラムは分割単位ごとに、ダウンロードされ、実行される。
【0042】
本実施の形態においてはプログラムのダウンロードを行いながら、プログラムの実行をすることもできるので、分割されたプログラムのうちの1つを実行しながら、次に実行すべきプログラムのダウンロードを別のメモリマクロへと行うこともできる。分割されたプログラムではなくとも、予め実行される順序の決まった一連のプログラム群における1つのプログラムを実行しながら、次に実行すべきプログラムのダウンロードを行い、プログラム実行の準備をしておくこともできる。
【0043】
また、メモリマクロの分割は2つに限定されるものではなく、2以上のいくつに分割しても構わない。分割の数を増やすことにより、より多くの処理を並列に行うことができる。
【0044】
(実施の形態2)
本発明におけるプロセッサのダウンロード装置及び制御方法の実施の形態2について図面を参照しながら説明をする。本実施の形態では転送制御手段103の構成が実施の形態1と異なっている。転送制御手段103以外の構成は実施の形態1と同様である。
【0045】
図6は本発明の実施の形態2におけるプロセッサのダウンロード装置の転送制御手段102の構成の一例を示す図である。図4と同一の構成要素については同一の符号を付している。
【0046】
本実施の形態が実施の形態1と異なるのは、ダウンロード開始タイミング(転送要求104)を生成するために、しきい値アドレスレジスタ610を新たに設けたことである。プログラムを実行している間、しきい値アドレスレジスタ610は自らに書き込まれているしきい値アドレス611を第2のアドレス比較器65へと出力する。第2のアドレス比較器65はしきい値アドレス611と第2のリードアドレス114とが一致しているか否かの比較を行い、第2の比較結果603を制御部43へ出力する。第2の比較結果が、第2のリードアドレス114がしきい値アドレス611と一致したものであるとき、制御部43は新しいプログラムの転送を開始する。すなわち、本実施の形態においてはこの第2の比較結果603を転送要求104として用いている。
【0047】
本発明においては、プログラムの管理情報テーブルにそれぞれのプログラムの開始アドレス、終了アドレスが記録されている。この管理情報テーブルの情報、プログラムの転送速度、実行速度を参照することにより、現在実行しているプログラムの実行が終了するまでに新しいプログラムのダウンロードが終了するような値を、しきい値アドレス611として算出できる。しきい値アドレスレジスタ610は、このしきい値アドレス611を保持する。これにより、現在のプログラム実行が終了した時点では、すでに次に実行すべきプログラムのダウンロードが終了している。
【0048】
図7(a)は本実施の形態におけるタイムチャートを示した図である。本実施の形態においてはプログラムAの実行終了までにプログラムBのダウンロードを終了する。プログラムAが実行を開始すると(t0)、しきい値アドレスレジスタ610はプログラムAの実行が終了する(t3)までに、プログラムBのダウンロードが終了するアドレス(X‘3400’)をしきい値アドレス611として保持する。第1のリードアドレスがしきい値アドレス611に到達すると(t1)、プログラムBのダウンロードが開始される。プログラムBはプログラムAの実行が終了するまでに、ダウンロードが完了する(t2)。
【0049】
プログラムAの実行時間(t3−t0)がプログラムBのダウンロード時間(t2−t1)よりも長いような場合は、プログラムAの実行と同時にプログラムBのダウンロードを開始するようにしきい値アドレスレジスタ610の値を設定する。図7(b)はこの場合におけるタイムチャートを示した図である。プログラムAの実行とプログラムBのダウンロードは同時に行われている。
【0050】
本実施の形態により、例えばプログラムが分割されている場合等、プログラムの実行、ダウンロードのシーケンスが決まっているよう場合に、プログラムのダウンロードによる待ち時間なく、従って命令実行能力を低下させることなく一連のプログラム全体の実行をすることができる。
【0051】
また、プログラムAの実行時間が(t3−t0)がプログラムBのダウンロード時間よりも長いような場合において、第2の記憶手段101が3つ以上のメモリマクロに分かれて構成されているならば、プログラムAの直前に実行されているプログラムCのアドレスをしきい値アドレス611としても良い。2つ以上前に実行されるプログラムのアドレスをしきい値アドレスとして保持することにより、プログラムのダウンロード時間が直前のプログラムの実行時間よりも長いような場合においても、待ち時間なく一連のプログラムの実行をすることが出来る。
【0052】
(実施の形態3)
本発明におけるプロセッサのダウンロード装置及び制御方法の実施の形態3について図面を参照しながら説明をする。本実施の形態の特徴はダウンロード開始タイミング(転送要求104)を生成するために、新たにタイマーを設けたことであり、それ以外の構成要素は実施の形態1と同様である。
【0053】
図8は本発明の実施の形態3におけるプロセッサのダウンロード装置の構成図である。図1と同一の構成要素については同一の符号を付している。
【0054】
命令実行手段103はプログラム実行開始時にタイマー起動信号802をタイマー801に出力する。タイマー起動信号802を受け取ったタイマー801は、命令実行手段103と共通のクロック803の入力に従って、予め設定された初期値よりダウンカウントを始める。ダウンカウントをし終えると、タイマー801は新たなプログラムを転送するための転送要求104を転送制御手段102へ出力する。転送要求104を受けた転送制御手段102は新たなプログラムのダウンロードを開始する。
【0055】
実施の形態2と同様に、本発明においては、プログラムの管理情報テーブルにそれぞれのプログラムの開始アドレス、終了アドレスが記録されている。従って実施の形態2と同様に、これを参照することにより、現在実行しているプログラムの実行が終了するまでに新しいプログラムのダウンロードが終了するような値を、ダウンカウントの初期値として設定することができる。
【0056】
本実施の形態により、実施の形態2と同様の効果を得ることができる。
【0057】
(実施の形態4)
本発明におけるプロセッサのダウンロード装置及び制御方法の実施の形態4について図面を参照しながら説明をする。本実施の形態の特徴は、プログラムの実行とダウンロードが同一のメモリマクロにされた場合の異常を検出する手段を設けたことであり、それ以外の構成要素は実施の形態1と同様である。
【0058】
図9は本発明の実施の形態4における転送制御手段102の構成図である。図4と同一の構成要素には同一の符号を付している。本実施の形態においては、プログラムの実行とダウンロードが同一のメモリマクロとなっていないかを検出することで、プログラムの実行とダウンロードが正しくなされているか否かを確認する。プログラムの実行とダウンロードが同一のメモリマクロになされているときには、転送制御手段102はプログラムのダウンロードを中止、あるいは中断して命令実行を行う。本実施の形態の転送制御手段102は新たに第3のアドレス比較器95を有している。第3のアドレス比較器95はダウンロード中のプログラムのライトアドレス111と、命令実行中のプログラムの第2のリードアドレス114との比較を行い、この2つのアドレスの属するメモリマクロが不一致であれば第3の比較結果903を無効とし、一致していれば第3の比較結果903を有効とする。第3の比較結果903が有効である場合、制御部43はプログラムのダウンロード中に異常があったことを知り、プログラムのダウンロードを中止あるいは中断する。プログラムの実行が終了すると、転送制御手段102はプログラムのダウンロードを開始あるいは再開する。プログラムのダウンロードは開始あるいは再開しなくとも良い。
【0059】
(実施の形態5)
本発明におけるプロセッサのダウンロード装置及び制御方法の実施の形態5について図面を参照しながら説明をする。本実施の形態においては、プログラムのダウンロード中に異常を検出した場合、命令実行を強制終了し、ダウンロードを優先させる点で実施の形態4と異なっている。
【0060】
図10は本発明の実施の形態5におけるプロセッサのダウンロード装置の構成図である。図1と同一の構成要素については同一の符号を付している。
【0061】
本実施の形態においては、プログラムの実行とダウンロードが同一のメモリマクロとなっていた場合に、転送制御手段102はリセット信号1000を命令実行手段に出力する。
【0062】
図11は本実施の形態における転送制御手段102の構成図である。図9と同一の構成要素については同一の符号を付し、説明を省略する。第3の比較結果が有効である場合、すなわちライトアドレス111と第2のリードアドレス114の属するメモリマクロが一致している場合に、制御部43はリセット信号1000を命令実行手段103へと出力する。リセット信号を受け取った命令実行手段はその命令実行を強制終了し、プログラムのダウンロードを優先する。
【0063】
本実施の形態によれば、プログラムの実行とダウンロードが同一のメモリマクロに対してなされたとき、命令実行を強制終了し、対処を行う。
【0064】
本実施の形態は実施の形態4と組合せて用いることでさらに効果を発揮する。すなわち異常検出された場合には、実行中のプログラムの種類により、命令実行を強制終了するか、ダウンロードに優先して命令実行を行うかを判断するようにしても良い。
【0065】
(実施の形態6)
本発明におけるプロセッサのダウンロード装置及び制御方法の実施の形態6について図面を参照にしながら説明をする。
【0066】
図12は本実施の形態におけるプロセッサのダウンロード装置のプログラムの管理情報テーブルを表わすものである。
【0067】
図12のプログラムは図2のプログラムにさらに、どのプログラムが現在有効になっているかを示す有効ビットを設けている。ここでプログラムが有効になるとは、プログラムが第2の記憶手段にダウンロード中である、あるいは命令実行されていることをいう。有効ビットは書き換え可能であり、第2の記憶手段において、プログラムが有効となるたびに書き換わる。この有効ビットを設けることにより、現在第2の記憶手段上に実装されているプログラムが何であるかを検知することができ、実施の形態4、5のように特別なアドレス比較器を設けなくとも、プログラムの実行とダウンロードが同一のメモリマクロに対してされているといった異常を検出することができる。
【0068】
また、プログラムのソースコードデバッグを行うことができる。具体的には有効ビットとデスティネーション側のアドレスを参照することにより、第2の記憶手段に実装され、実行されているプログラムの種類とそのアドレスを特定することができるので、ブレーク処理を行ってデバッグすることが容易となる。
【0069】
(実施の形態7)
実施の形態7は本発明におけるプロセッサのダウンロード装置に記憶されるプログラムに、プログラムのダウンロードを開始する命令を付与することにより、実施の形態2、3のように新たにレジスタやタイマーと設けることなく、ダウンロード開始タイミングを生成するものである。
【0070】
以下に図面を参照しながら、本実施の形態の説明を行う。図13はダウンロードを開始する命令を付与する前のプログラムの一例であり、図14はダウンロードを開始する命令を付与した後のプログラムの一例である。プログラムの実行の順序は予め定まっているものとする。本実施の形態では、プログラムを解析する命令解析ステップ(コンパイル、アセンブル時等)において、本プログラムの実行が終了するまでの間に、次に実行すべきプログラムをダウンロードすることが可能な時間に相当する実行番地(アドレス)を予め算出し、その番地以前に、次に実行すべきプログラムのダウンロードを開始する命令の挿入を行う。本発明においては、プログラムの管理情報テーブルに各々のプログラムの開始アドレス及び終了アドレス等の情報が記憶されているので、これを参照することにより、例えばソフトウェア開発時に別のプログラムにかける等によって、適切な位置にプログラムのダウンロードを開始する命令を挿入していくことができる。
【0071】
図14では例として、START_SPEACHのプログラムの実行が終わるまでの間に、LOAD_AUDIOのプログラムのダウンロードが可能な実行番地を算出し、ダウンロードを開始する命令であるBRI LOAD_AUDIOを挿入している。
【0072】
以上のように、本実施の形態によれば、プログラム自体に、次に実行すべきプログラムの転送準備を行う開始命令を挿入することで、予めプログラムの実行手順が決まっている場合等に、実施の形態2、3のような新たなレジスタやタイマーを設けることなく、適切な位置でダウンロードを開始することができる。
【0073】
【発明の効果】
以上のように、本発明によれば、第1の記憶手段から第2の記憶手段へのプログラムのダウンロードと、それとは別のプログラムの実行とを並列に行うことができるので、プロセッサの処理効率を低下させることはない。
【0074】
さらに、管理情報テーブルを設けることにより、第1の記憶手段と第2の記憶手段でのアドレスの対応が複雑化することはなく、プログラムが大規模化した場合にも、プログラムを分割して効率良くダウンロードと実行を行うことが可能である。また、プログラムのソースコードデバッグを容易に行うことも可能である。
【0075】
また、管理情報テーブルを参照して、プログラムの静的解析時に、ダウンロード開始のタイミング等の命令をプログラムに直接付与することも可能である。
【図面の簡単な説明】
【図1】従来及び実施の形態1におけるプロセッサのダウンロード装置の構成図
【図2】実施の形態1におけるプログラムの管理情報テーブルを示した図
【図3】実施の形態1における第2の記憶手段の構成図
【図4】実施の形態1における転送制御手段の構成図
【図5】実施の形態1におけるプログラムの管理情報テーブルの別の形態を示した図
【図6】実施の形態2における転送制御手段の構成図
【図7】(a)実施の形態2におけるタイムチャート(実行時間>ダウンロード時間)(b)実施の形態2におけるタイムチャート(実行時間<ダウンロード時間)
【図8】実施の形態3におけるプロセッサのダウンロード装置の構成図
【図9】実施の形態4における転送制御手段の構成図
【図10】実施の形態5におけるプロセッサのダウンロード装置の構成図
【図11】実施の形態5における転送制御手段の構成図
【図12】実施の形態6におけるプログラムの管理情報テーブルを示した図
【図13】実施の形態7においてダウンロードの開始命令を付加する前のソースコードを示した図
【図14】実施の形態7においてダウンロードの開始命令を付加した後のソースコードを示した図
【符号の説明】
30 第1の選択回路
31 第2の選択回路
32 第1のメモリマクロ
33 第2のメモリマクロ
34 第1のメモリマクロに出力されるアドレス
35 第1のメモリマクロに出力される第2のリード信号
36 第1のメモリマクロに出力されるライト信号
37 第2のメモリマクロに出力されるアドレス
38 第2のメモリマクロに出力される第2のリード信号
39 第2のメモリマクロに出力されるライト信号
40 第1のアドレスカウンタ
41 第2のアドレスカウンタ
42 第1のアドレス比較器
43 制御部
44 転送終了アドレスレジスタ
65 第2のアドレス比較器
95 第3のアドレス比較器
100 第1の記憶手段
101 第2の記憶手段
102 転送制御手段
103 命令実行手段
104 転送要求
105 管理情報メモリ
110 第1のリードアドレス
111 ライトアドレス
112 第1のリード信号
113 ライト信号
114 第2のリードアドレス
115 第2のリード信号
116 選択信号
117 第1の記憶手段上で第1のリードアドレスに該当する命令コード
118 第2の記憶手段上で第2のリードアドレスに該当する命令コード
400 アドレス更新信号
401 ダウンロードの終了アドレス
402 第1の比較結果
603 第2の比較結果
610 しきい値アドレスレジスタ
611 しきい値アドレス
801 タイマー
802 タイマー起動信号
803 クロック
903 第3の比較結果
1000 リセット信号

Claims (18)

  1. 命令コードやデータから構成される複数のプログラムを記憶する第1の記憶手段と、
    前記第1の記憶手段からダウンロードされたプログラムを記憶する第2の記憶手段と、
    前記第2の記憶手段に記憶されたプログラムを読み出し、実行する命令実行手段と、
    前記第1の記憶手段に記憶されている各プログラムが、前記第2の記憶手段のどのアドレスに記憶されるかの情報が予め記録された管理情報メモリと、
    前記管理情報メモリに記録されているアドレス情報に基づいて、前記第1の記憶手段から前記第2の記憶手段への、プログラムのダウンロードを制御する転送制御手段と、
    を備えたプロセッサのダウンロード装置。
  2. 命令コードやデータから構成されるプログラムを記憶する第1の記憶手段と、
    前記第1の記憶手段からダウンロードされたプログラムを記憶する第2の記憶手段と、
    前記第2の記憶手段に記憶されたプログラムを読み出し、実行する命令実行手段と、
    前記第1の記憶手段から前記第2の記憶手段への、プログラムのダウンロードを制御する転送制御手段とを備え、
    前記第1の記憶手段はさらに、前記第1の記憶手段に記憶されている各プログラムが、前記第2の記憶手段のどのアドレスに記憶されるかの情報を予め記録しており、
    前記転送制御手段は、前記第1の記憶手段に記録されたアドレス情報に基づいて、
    プログラムのダウンロードを制御すること
    を特徴とするプロセッサのダウンロード装置。
  3. 前記第2の記憶手段は、独立してアクセス可能な複数のメモリマクロに分かれて構成されていること
    を特徴とする請求項1または2いずれかに記載のプロセッサのダウンロード装置。
  4. 前記転送制御手段は、
    ダウンロードされているプログラムの前記第1の記憶手段における終了アドレスと、前記第1の記憶手段からダウンロード出力されるプログラムの命令コードやデータの、前記第1の記憶手段におけるアドレスとを比較し、一致か否かの比較結果を出力する第1の比較器と、
    前記比較結果が、一致したことを示すものであるときにはプログラムのダウンロードを終了し、一致したことを示すものでないときにはダウンロードを続けるように制御を行う制御部と
    を備えていることを特徴とする請求項3記載のプロセッサのダウンロード装置。
  5. 前記転送制御手段は、
    第2の記憶手段における所定のしきい値アドレスと、前記命令実行手段で実行されているプログラムの命令コードやデータの、前記第2の記憶手段上でのアドレスとを比較し、一致か否かの比較結果を出力する第2のアドレス比較器とを備え、
    前記比較結果が、一致したことを示すものであるときには、次に実行すべきプログラムのダウンロードを開始する信号を出力する制御部とを備え、
    前記しきい値アドレスは、現在実行しているプログラムの実行が終了するまでに、前記次に実行すべきプログラムのダウンロードが終了するように決定されること
    を特徴とする請求項3記載のプロセッサのダウンロード装置。
  6. 前記命令実行手段によってプログラムが実行されると、所定値のカウントを始めるタイマをさらに備え、
    前記タイマのカウントが終わると、次に実行すべきプログラムのダウンロードが開始され、
    前記所定値は、現在実行しているプログラムの実行が終了するまでに、次に実行すべきプログラムのダウンロードが終了するように決定されること
    を特徴とする請求項3記載のプロセッサのダウンロード装置。
  7. 前記転送制御手段は、
    プログラムの実行とダウンロードが、前記複数のメモリマクロのうち同一のメモリマクロに対してされているか否かを検出すること
    を特徴とする請求項3記載のプロセッサのダウンロード装置。
  8. 前記転送制御手段は、
    プログラムの実行とダウンロードが、前記複数のメモリマクロのうち同一のメモリマクロに対してされているときには、プログラムのダウンロードに優先して、プログラムの実行を行うこと
    を特徴とする請求項7記載のプロセッサのダウンロード装置。
  9. 前記転送制御手段は、
    プログラムの実行とダウンロードが、前記複数のメモリマクロのうち同一のメモリマクロに対してされているときには、プログラムの実行を終了させること
    を特徴とする請求項7記載のプロセッサのダウンロード装置。
  10. 前記管理情報テーブルは、前記第1の記憶手段に格納されている各プログラムが、前記第2の記憶手段において、有効となっているか否かを示す有効ビットをさらに記録していること
    を特徴とする請求項3記載のプロセッサのダウンロード装置。
  11. 転送制御手段によって、第1の記憶手段から第2の記憶手段への、プログラムのダウンロードが制御されるプロセッサのダウンロード制御方法であって、
    前記第1の記憶手段に、第1のリードアドレスが出力されるステップと、
    前記第1のリードアドレスが示す前記第1の記憶手段における領域に格納された命令コードやデータが、前記第2の記憶手段へと出力されるステップと、
    予め管理情報テーブルに記録された、前記第1のリードアドレスとライトアドレスとの対応に関する情報に基づいて、前記第2の記憶手段に、ライトアドレスが出力されるステップと、
    前記ライトアドレスが示す前記第2の記憶手段における領域に、前記命令コードやデータが書き込まれるステップと、
    を備えるプロセッサのダウンロード装置の制御方法。
  12. 転送制御手段によって、第1の記憶手段から複数のメモリマクロに分かれて構成されている第2の記憶手段への、プログラムのダウンロードが制御され、
    前記第2の記憶手段に格納されたプログラムが、命令実行手段により実行されるプロセッサのダウンロード装置の制御方法であって、
    前記命令実行手段におけるプログラムの実行と、前記第1の記憶手段から前記第2の記憶手段へのプログラムのダウンロードが、前記複数のメモリマクロのうち同一のメモリマクロに対して行われているか否かを検出すること
    を特徴とするプロセッサのダウンロード装置の制御方法。
  13. 前記管理情報テーブルは、前記第1の記憶手段に格納されている各プログラムが、前記第2の記憶手段において、有効となっているか否かを示す有効ビットをさらに記憶していること
    を特徴とする請求項11または12いずれかに記載のプロセッサのダウンロード装置の制御方法。
  14. プログラムの実行とダウンロードが、前記複数のメモリマクロのうち同一のメモリマクロに対してされているときには、プログラムの実行を優先して行うこと
    を特徴とする請求項12記載のプロセッサのダウンロード装置の制御方法。
  15. プログラムの実行とダウンロードが、前記複数のメモリマクロのうち同一のメモリマクロに対してされているときには、プログラムの実行を強制終了すること
    を特徴とする請求項12記載のプロセッサのダウンロード装置の制御方法。
  16. 前記転送制御手段が、前記管理情報テーブルに基づいて、ダウンロードの開始タイミングを算出し、
    前記ダウンロードの開始タイミングは、現在実行しているプログラムの実行が終了するまでに、次に実行すべきプログラムのダウンロードが終了するように決定されること
    を特徴とする請求項13記載のプロセッサのダウンロード装置の制御方法。
  17. 予め複数のプログラムの実行シーケンスが定まっている場合に、前記管理情報テーブルに基づいて、プログラムの命令解析時に、n+1(nは自然数)番目に実行されるプログラムのダウンロードを開始する命令を、n番目に実行されるプログラムの所定の位置に書き込むことを特徴とする請求項12記載のプロセッサのダウンロード装置の制御方法。
  18. 前記所定の位置は、n番目に実行されるプログラムの実行が終了するまでに、n+1番目に実行されるプログラムのダウンロードが終了するように決定されること
    を特徴とする請求項17記載のプロセッサのダウンロード装置の制御方法。
JP2002165796A 2002-06-06 2002-06-06 プロセッサのダウンロード装置及びその制御方法 Pending JP2004013506A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002165796A JP2004013506A (ja) 2002-06-06 2002-06-06 プロセッサのダウンロード装置及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002165796A JP2004013506A (ja) 2002-06-06 2002-06-06 プロセッサのダウンロード装置及びその制御方法

Publications (1)

Publication Number Publication Date
JP2004013506A true JP2004013506A (ja) 2004-01-15

Family

ID=30433552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002165796A Pending JP2004013506A (ja) 2002-06-06 2002-06-06 プロセッサのダウンロード装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP2004013506A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007065922A (ja) * 2005-08-30 2007-03-15 Matsushita Electric Ind Co Ltd メモリアクセス制御回路、方法およびアプリケーション格納方法
US7350037B2 (en) 2003-05-21 2008-03-25 Oki Electric Industry Co., Ltd. Digital signal processor and digital signal processing method enabling concurrent program download and execution
US8692480B2 (en) 2008-09-05 2014-04-08 Nxp B.V. Power supply unit and method for controlling a power supply unit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7350037B2 (en) 2003-05-21 2008-03-25 Oki Electric Industry Co., Ltd. Digital signal processor and digital signal processing method enabling concurrent program download and execution
JP2007065922A (ja) * 2005-08-30 2007-03-15 Matsushita Electric Ind Co Ltd メモリアクセス制御回路、方法およびアプリケーション格納方法
US8692480B2 (en) 2008-09-05 2014-04-08 Nxp B.V. Power supply unit and method for controlling a power supply unit

Similar Documents

Publication Publication Date Title
JP4554900B2 (ja) Nandフラッシュメモリをシステム駆動用及びデータ貯蔵用として使用する装置
JP4960364B2 (ja) ハードウェア支援されたデバイス設定検出
US20100268862A1 (en) Reconfigurable processor and method of reconfiguring the same
JPS63301339A (ja) コンピュ−タ装置
US20080016415A1 (en) Evaluation system and method
JP2000020349A (ja) プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援用プログラムを記録した媒体
JPH06187143A (ja) 電子装置
JP2007206933A (ja) 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法
JP2007310565A (ja) システムlsi検証装置及びシステムlsi検証プログラム
US6925522B2 (en) Device and method capable of changing codes of micro-controller
JP2004013506A (ja) プロセッサのダウンロード装置及びその制御方法
US20050268157A1 (en) Method for writing data to a non-volatile memory embedded in an integrated circuit and corresponding circuit
JPH10214203A (ja) 情報処理装置
JP5309938B2 (ja) 要求処理装置、要求処理システムおよびアクセス試験方法
JP4471947B2 (ja) データ処理装置及びデータ処理方法
US20100217957A1 (en) Structured Virtual Registers for Embedded Controller Devices
JP2008140124A (ja) データ処理装置
JP2005537580A (ja) スタックタイプのスナップショットバッファがネスト化されたインタラプトを処理すること
US11681527B2 (en) Electronic device and multiplexing method of spatial
JP2005165825A (ja) トレース情報記録装置
JP2001005689A (ja) トレース採取回路
KR100542699B1 (ko) 마이크로컨트롤러의 롬 덤프 모드를 지원하기 위한 장치
CN113778640A (zh) 任务执行方法、装置、电子设备及存储介质
JP2007128336A (ja) 並列レジスタアクセス装置及びシステムlsi
JP2000267931A (ja) ソフトウェア実行システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050517

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080304