JP2007072532A - 複数チップの起動方法 - Google Patents

複数チップの起動方法 Download PDF

Info

Publication number
JP2007072532A
JP2007072532A JP2005255692A JP2005255692A JP2007072532A JP 2007072532 A JP2007072532 A JP 2007072532A JP 2005255692 A JP2005255692 A JP 2005255692A JP 2005255692 A JP2005255692 A JP 2005255692A JP 2007072532 A JP2007072532 A JP 2007072532A
Authority
JP
Japan
Prior art keywords
chip
firmware
setting information
cpu
chips
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.)
Granted
Application number
JP2005255692A
Other languages
English (en)
Other versions
JP4644569B2 (ja
Inventor
Satoru Takahashi
哲 高橋
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005255692A priority Critical patent/JP4644569B2/ja
Priority to EP06250458.4A priority patent/EP1760585B1/en
Priority to US11/344,096 priority patent/US7822957B2/en
Priority to KR1020060016667A priority patent/KR100796473B1/ko
Publication of JP2007072532A publication Critical patent/JP2007072532A/ja
Application granted granted Critical
Publication of JP4644569B2 publication Critical patent/JP4644569B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4432Powering on the client, e.g. bootstrap loading using setup parameters being stored locally or received from the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/818OS software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】 複数のチップを備えた装置において、短い時間での起動を可能にする。
【解決手段】 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行うチップにて、ファームウェアを受信し、設定情報を参照し、前記設定情報に応じて前記ファームウェアを他のチップに転送する。
【選択図】 図5

Description

本発明は、複数のチップ(処理部)にファームウェアをダウンロードして起動させる技術に関する。
近年、DVDレコーダや、PCのTVキャプチャシステムでは、複数チャンネルの番組を同時に録画する装置の需要が増大している。一般的には、録画時にはMPEG方式への圧縮を行い、記録媒体に記録するが、複数チャンネルを同時に記録したい場合には、この圧縮用のチップ(LSI)を複数使用するか、一つのLSIに複数チャンネルを圧縮する機能を持たせる必要がある。一方、市場要求としては、単一チャンネルの番組の録画機能のみの装置の需要も大きい。
また、本願発明に関連する先行技術として、例えば、下記の特許文献1,2に開示される技術がある。
特開平4−318650号公報 特開2005−135176号公報
しかし、一つのチップに複数のチャンネルを圧縮する機能を持たせた場合、依然として市場要求の大きい単一チャンネルのみを圧縮する装置に適用する際には冗長である。
このため、一つのチャンネルを圧縮するチップを必要なチャンネル数に合わせて複数使用する方が汎用的である。しかしながら、複数のチップを備えた場合、各チップを起動させる際(電源投入時や機能を動作させる際)、各チップ用のファームウェアを複数ダウンロードすることになり、起動に時間がかかるという問題点があった。
そこで本発明は、複数のチップを備えた装置において、短い時間での起動を可能にする。
上記課題を解決するため、本発明は、以下の構成を採用した。
即ち、本発明のチップは、少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行うチップであって、ファームウェアを受信する受信手段と、設定情報を参照する参照手段と、前記設定情報に応じて前記ファームウェアを他のチップに転送する転送手段と、を備えた。
また、本発明の装置は、少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行う複数のチップを備え、
前記各チップが、
ファームウェアを受信する受信手段と、
設定情報を参照する参照手段と、
前記設定情報に応じて前記ファームウェアを他のチップに転送する転送手段と、
を備えた。
前記チップは、前記ファームウェアが前記設定情報を有する場合、該設定情報を所定処
理により、転送先のチップ用の設定情報に変更する変更手段を備えても良い。
前記設定情報が従属するチップの有無を示す場合、前記転送手段は、従属するチップが有る場合にはファームウェアを転送し、従属するチップが無い場合にはファームウェアの転送を行わなくても良い。
前記設定情報が従属するチップの数を示す場合、前記変更手段は、前記チップの数を減算しても良い。
前記受信手段によるファームウェアの受信と並行して前記転送手段によるファームウェアの転送を行っても良い。
前記参照手段は、前記設定情報を示すピンの状態を参照しても良い。
また、本発明のチップの起動方法は、少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行うチップにて、ファームウェアを受信し、設定情報を参照し、前記設定情報に応じて前記ファームウェアを他のチップに転送する。
また、本発明の複数チップの起動方法は、少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行う複数のチップが行う方法であって、各チップがファームウェアを受信し、設定情報を参照し、前記設定情報に応じて前記ファームウェアを他のチップに転送する。
前記チップの起動方法は、ファームウェアが前記設定情報を有する場合、該設定情報を所定処理により、転送先のチップ用の設定情報に変更しても良い。
前記チップの起動方法は、前記設定情報が従属するチップの有無を示す場合、前記ファームウェアを転送する際、従属するチップが有る場合にはファームウェアを転送し、従属するチップが無い場合にはファームウェアの転送を行わなくても良い。
前記チップの起動方法は、前記設定情報が従属するチップの数を示す場合、前記設定情報を変更する際、前記チップの数を減算しても良い。
前記チップの起動方法は、前記ファームウェアの受信と並行して前記ファームウェアの転送を行っても良い。
前記チップの起動方法は、前記設定情報を参照する際、前記設定情報を示すピンの状態を参照しても良い。
また、本発明は、上記チップの起動方法を各チップに実行させるプログラム(ファームウェアやブートローダ)であっても良い。更に、本発明は、このプログラムをコンピュータが読み取り可能な記録媒体に記録したものであっても良い。コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータが読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体の内コンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、8mmテープ、メモリカード等がある。
また、コンピュータに固定された記録媒体としてハードディスクやROM(リードオン
リーメモリ)等がある。
本発明によれば、複数のチップを備えた装置において、短い時間での起動を可能にする技術を提供できる。
〈本発明の原理〉
一般的なパーソナルコンピュータのアーキテクチャでは、単一チャンネルでも複数チャンネルでも、生成されたストリームはPCIバス(もしくはUSB等)へ出力し、メインメモリやチップセットを介して記録媒体へ記録される。
複数チップで複数チャンネルを圧縮するシステムの場合、それぞれのチップに持っているPCIインタフェースからストリームを流す構成にすると、ボードが複数に分かれてしまうのでコストアップとなり、さらにスロットも複数占有してしまうのであまり好ましくない。その解決方法の一つとしては、例えば図1のようなシステムが考えられる。
図1のシステム30は、複数チャンネルのストリームを出力する拡張ボード1をコンピュータ(ホスト)2のPCIスロットの1つに装着している。該拡張ボード1は、複数チャンネル分(図1では2つ)のチューナT1,T2とチップC1,C2を備え、各チュー
ナT1,T2からの映像信号及び音声信号を各チップC1,C2でそれぞれ圧縮して所定
形式のストリームを生成する。そして、チップC1はこのストリームをPCIインタフェースから直接ホスト側のPCIバス24へ出力する。一方、チップC2は、自己のPCIインタフェースを使用せず、チップC1へストリームを送り、チップC1のPCIインタフェースからホスト側のPCIバス24へ出力する。
このシステム30において、チップC1とチップC2とはストリームをPCIインタフェースから出力するか他のチップに転送するかといった動作モードが異なるため、なんらかの手段でモードの指定が必要になる。このため、基本的な部分は同じで前記動作モードを異ならせたファームウェアをチップC1とチップC2にそれぞれダウンロードする。
しかし、各チップにそれぞれ前記ファームウェアを記憶したROMを接続して、該ROMからそれぞれファームウェアをダウンロードする構成にすると、2個のROMが必要になってしまう。
また、ホスト2からPCIバス24を介して2つのチップ用のファームウェアをダウンロードする構成では、ダウンロードに時間がかかり、起動までの時間が長くなってしまう。図11は、この2つのチップ用のファームウェアをホスト2からPCIバス24を介してダウンロードする場合の説明図である。ここで1つのチップ用のファームウェアのダウンロードにかかる時間を便宜上1秒とした場合、ホスト2からチップC1へ2つのチップ用のファームウェアをダウンロードするのに2秒かかり(S1,S2)、チップC1のCPUがチップC2用のファームウェアをチップC2へダウンロードするのに1秒かかるので(S3)、合計3秒ダウンロードにかかることになる。
そこで、本発明では、図13に示すようにチップC1用のファームウェアをホスト2からチップC1へダウンロードし(S4)、チップC1が該ファームウェアをチップC2用の動作モードに変更してチップC2へダウンロードする(S5)。これにより、ダウンロードにかかる時間は、S4とS5の2秒で済むことになり、起動時間の短縮化が図れる。なお、上記のダウンロード時間は例示であり、現実にはファームウェアのサイズやローカルバス(PCIバス)の通信速度、チャンネル数(チップの数)等によって、その短縮の
効果は異なるが、同一の条件であれば、図11に示した方式よりも図13に示した本発明の方がダウンロード時間は短くなる。
〈実施形態1〉
以下、図面を参照して本発明を実施するための最良の形態について具体的に説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
本実施形態のシステム構成は、前述の図1と同じであり、ホスト2のPCIスロットに拡張ボード(チューナカード)1を装着している。
ホスト2のマザーボード21には、CPU20やメインメモリ(RAM)、LSI22,23、PCIバス24等が備えられている。LSI22,23は、CPU20やRAM、拡張ボードなどの間でのデータの受け渡しを管理する所謂チップセットである。該LSI22は、CPU20とローカルバスとを接続する機能や、映像信号をモニタ端子に出力するグラフィック機能を有している。また、LSI23は、ローカルバスの制御等を行う所謂PCIコントローラ、USBコントローラ、IDEコントローラ、LANコントローラ等の機能を有している。
図2は、拡張ボード1に備えたチップ等のブロック図である。該チップC1は、チューナT1からの映像信号及びオーディオ信号をディジタル信号に変換するディジタル変換部11,12や、該ディジタル信号を所定の圧縮形式(本例ではMPEG)にエンコードするエンコーダ13,14、この所定形式とした映像信号及び音声信号を多重化してストリームを生成するMUX部15、該MUX部からのストリーム及び他のチップからのストリームを調停し、PCIインタフェース17を介してホスト2へ出力するストリーム処理部16を備えている。
また、チップC1は、CPU10や、シリアルインタフェース18、メモリインタフェース19を備えている。該メモリインタフェース19にはSDRAM(記憶手段)31が接続され、CPU10からSDRAM31へのアクセス及びホスト2からSDRAM31へのアクセスを可能にしている。また、シリアルインタフェース18は、各ボード1のCPU10の制御により、ファームウェア等の情報を他のチップ1へ転送する。該シリアルがデータを受信すると、1バイト受信するたびに内蔵CPU10へシリアル割込みが入る。
なお、上記ディジタル信号を処理する各部は、ハードウェアで構成しても良いが、CPU10がソフトウェアで実現する構成としても良い。本例では、CPU10がファームウェアに基づいて処理を行うことにより、上記エンコーダ13,14、MUX部15、ストリーム処理部16(点線で示した範囲)の機能を実現している。
また、CPU10は、内蔵のブートローダやファームウェアに基づいて処理を実行することにより、受信手段や、参照手段、転送手段、変更手段の機能を実現している。
この受信手段としては、ホスト2からPCIインタフェース17を介して或は設定情報に基づいてマスタチップからシリアルインタフェース18を介して転送された他のチップと共通のファームウェアを受信(ダウンロード)し、SDRAM31へ記憶させる。
参照手段としては、ファームウェアのヘッダ領域に含まれた設定情報を参照する。
転送手段としては、前記設定情報に応じて前記ファームウェアを他のチップに転送する。
変更手段としては、該設定情報を所定処理により、転送先のチップ用の設定情報に変更
する。
なお、本実施形態では、これらの手段の機能をCPUがソフトウェアに基づいて実現したが、各手段をハードウェアで構成して各機能を達成しても良い。
チップC2は、上記チップC1と同一の構成であるが、動作モードを異ならせることにより、ストリームをPCIインタフェース17から出力せずにチップC1に出力(転送)している。なお、図2では、チップC2のMUX15からチップC1のストリーム処理部16へストリームを転送するように各部の機能を示したが、本例のチップC1,C2では、これらMUX15,ストリーム処理部16の機能をCPU10がソフトウェアに従って実現しているので、実際にはチップC2のCPU10がシリアルインタフェース18を介してチップC1のCPU10にストリームを転送している。
また、チップC1とチップC2は、ホスト2から受信したファームウェアを他のチップに送信するのか、他のチップから受信するのかを動作モードに応じて判断している。本例では、このファームウェアを送信する側のチップC1をマスターチップ、受け取る側のチップC2をスレーブチップとも称する。
図3は、ファームウェアのフォーマットを示す図である。該ファームウェアは、ヘッダ領域とデータ領域(ファームウェア本体)とからなり、このヘッダ領域には設定情報やファームウェアサイズ等を含んでいる。該設定情報は、動作モードを設定するための情報であり、ファームウェアのアドレス00hが00hであればマスターチップ、該アドレス00hが01hであればスレーブチップを示し、ファームウェアのアドレス01hが00hであればスレーブチップ無し、スレーブチップ有りを示す。
次に、これらのシステム30にて実行する起動方法について、図4〜図5を用いて説明する。図4はシステム全体における起動処理のフローチャート、図5は各チップにおける起動処理のフローチャートである。
ホスト2は、電源の投入(起動)、再起動、スタンバイ状態からの復帰などにより、リセット状態が解除されると、拡張ボード1(チップC1、チップC2)の起動を開始させる(ステップ11、以下S11のように略記する)。
また、ホスト2はPCIバス24を介して拡張ボード1にアクセスし、チップC1のSDRAM31にBAR1領域を割り当て、このBAR1領域の例えば80000h番地にファームウェアを書き込む(S12)。
そしてホスト2は、PCIの所定のレジスタにフラグを立てる、例えばPCIインタフェース17内のメモリに1を書くことにより、PCI割込みを行い、ファームウェアの展開を開始させる(S13)。
一方、チップC1は、図5に示すように、ホスト2のリセット解除(電源の投入等)に応じてブートローダによる起動処理を開始する(S21)。本例では、CPU10が、内蔵のROMからブートローダ(起動用のソフトウェア)を読み出し、このソフトウェアに従って起動処理を開始する。
先ずチップC1のCPU10は、シリアル割込みが入ったか否かをチェックし(S22)、シリアル割込みが無ければPCI割込みが入ったか否かをチェックする(S23)。即ち、CPU10は、PCIインタフェース17のメモリにPCI割り込みのためのフラグが立っているか否かを参照する。ここで、CPU10は、PCI割込みが無ければステ
ップ22に戻り、PCI割込みが入れば、これを契機にSDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行する(S25)。
このファームウェアに基づきCPU10は、設定情報を参照して動作モードを認識する(S26,S27)。例えば、SDRAM31のアドレス00hを読み出し、この値が01hであればスレーブチップであることを認識して起動処理を中断し、この値が00hであればマ
スターチップであると認識し、スレーブチップの有無をチェックする。ここでアドレス01hの値が、00hであればスレーブチップ無し、01hであればスレーブチップ有りであること
を示している。
本例のチップC1は、マスターチップであり、スレーブチップ(チップC2)が接続されているので、ホスト2からの設定情報は、アドレス00hの値が00h、アドレス01hの値が01hとなっている。従ってCPU10は、ステップ27でスレーブチップ有りと判断し、該スレーブチップ用にSDRAM上の設定情報を変更する(S28)。即ちCPU10は、アドレス00hの値を01hに書き換える。
そして、チップC1のCPU10は、書き換え後のファームウェアをSDRAM31からシリアルインタフェース18を介してチップC2へ送信する(S29)。
また、チップC1は、ステップ26でマスターチップであることを認識した場合、生成したストリームや他のチップC2から受信したストリームをPCIインタフェース17からホスト2へ出力するように動作モードを設定する。
一方、チップC2は、ホスト2のリセット解除(電源の投入等)に応じて、前述のチップC1と同じくブートローダによる起動処理を開始し(S21)、シリアル割込み及びPCI割込みを順次チェックする(S22,S23)。なお、この起動処理に際し、チップC2は、設定情報以外チップC1と同一のプログラム(ブートローダ及びファームウェア)を使用しているが、動作モードの違いにより、発現するステップが異なっている。例えば、本例のチップC2は、スレーブチップであり、PCIインタフェース17を使用しないので、PCI割込みが入ることが無く、シリアル割込みが入るまで待機状態となる。
ここで、チップC1が前述の如くファームウェアをチップC2へ転送すると、チップ2のCPU10にシリアル割込みが入る。このシリアル割込みを契機にCPU10は、ヘッダを受信して解析し、ファームウェアのサイズを認識する(S30)。そしてCPU10はこのサイズ分のファームウェアを受信し、SDRAM31に記憶させる(S31)。
該ファームウェアの受信を完了するとCPU10は、SDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行する(S25)
このファームウェアに基づきCPU10は、SDRAM31上の設定情報を参照して動作モードを認識する(S26)。本例のチップC2は、スレーブチップであり、設定情報は、アドレス00hの値が01hとなっている。従ってCPU10は、ステップ26でスレーブチップと判断し、起動処理を完了する。
以上のように、本実施形態によれば、2チャンネルのストリームを生成する2つのチッ
プを備えた拡張ボードにおいて、2つのチップに対してホスト2から2つ分のファームウェアをダウンロードするのではなく、1つのファームウェアを転送させることにより、ダウンロード時間を短くし、拡張ボードの起動時間を短縮している。
また、起動処理を動作モードに応じて切替えるので、マスターチップであってもスレーブチップであっても同一構成のチップを用いることができるので、汎用性を維持しつつ上記起動時間の短縮化を達成できる。
〈実施形態2〉
図6は、実施形態2に係る拡張ボードのブロック図、図7は、実施形態2に係る起動処理のフローチャートである。本実施形態は、前述の実施形態1と比べ、チップを2つではなく、3つ以上のチップを備えた点が異なっている。なお、本実施形態において、前述の実施形態1と同一の要素には同符号を付すなどして、再度の説明を一部省略する。
本実施形態の拡張ボード1aは、図6に示すように同一構成のチップC1,C2,C3を数珠繋ぎに備えている。該チップC2は、チップC1に対してはスレーブチップだが、チップ3に対してはマスターチップとなる。各チップC1,C2,C3は、実施形態1(図2)のチップと略同一であるが、本実施形態のチップは、上流側のチップ(マスターチップ)と接続するシリアルインタフェース18aと下流側のチップ(スレーブチップ)と接続するシリアルインタフェース18bの複数系統のインタフェースを備えている。
ホスト2は、リセット状態が解除されると、拡張ボード1a(チップC1,C2,C3)の起動を開始させ(S11)、PCIバス24を介してチップC1のSDRAM31にファームウェアを書き込む(S12)。
そして、ホスト2は、PCIの所定のレジスタにフラグを立ててPCI割込みを行い、ファームウェアの展開を開始させる(S13)。
一方、チップC1は、図7に示すように、ホスト2のリセット解除(電源の投入等)に応じてブートローダによる起動処理を開始する(S21)。
先ずチップC1のCPU10は、シリアル割込みが入ったか否かをチェックし(S22)、シリアル割込みが無ければPCI割込みが入ったか否かをチェックする(S23)。即ち、CPU10は、PCIインタフェース17のメモリにPCI割り込みのためのフラグが立っているか否かを参照する。ここで、CPU10は、PCI割込みが無ければステップ22に戻り、PCI割込みが入れば、これを契機にSDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行する(S25)。
このファームウェアに基づきCPU10は、設定情報を参照して動作モードを認識する(S26,S27)。例えば、SDRAM31のアドレス00hを読み出し、この値が01hであればマスターチップでない(ファームウェアを転送する必要がない)ことを認識して起動処理を中断し、この値が00hであればマスターチップであると認識し、スレーブチップ
の有無をチェックする。ここでSDRAM31のアドレス01hの値は、スレーブチップの
数を示している。
本例のチップC1は、マスターチップであり、スレーブチップ(チップC2)が接続されているので、ホスト2からの設定情報は、アドレス00hの値が00h、アドレス01hの値が0
2hとなっている。従ってCPU10は、ステップ27でスレーブチップが2つ有ると判断し、該スレーブチップ用にSDRAM上の設定情報を変更する。具体的には、アドレス01hの値を減算し(S32)、これによりアドレス01hの値が00hとなったか否かを判定する
(S33)。チップC1の場合、ステップ33において、アドレス01hの値は、02hから1を引いても01hとなるので、アドレス00hを変更せずにステップ34へ移行し、SDRAM上のファームウェアをシリアルインタフェース18からスレーブチップC2へダウンロードして起動処理を完了する。
また、チップC1は、ステップ23でPCI割込みが入ったことを認識した場合、生成したストリームや他のチップC2から受信したストリームをPCIインタフェース17からホスト2へ出力するように動作モードを設定する。
また、チップC2は、ホスト2のリセット解除(電源の投入等)に応じて、前述のチップC1と同じくブートローダによる起動処理を開始し(S21)、シリアル割込み及びPCI割込みを順次チェックする(S22,S23)。
ここで、チップC1が前述の如くファームウェアをチップC2へ転送すると、チップ2のCPU10にシリアル割込みが入る。このシリアル割込みを契機にチップC2のCPU10は、ヘッダを受信して解析し、ファームウェアのサイズを認識する(S30)。そしてCPU10はこのサイズ分のファームウェアを受信し、SDRAM31に記憶させる(S31)。
該ファームウェアの受信を完了するとCPU10は、SDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行する(S25)
このファームウェアに基づきCPU10は、SDRAM31上の設定情報を参照して動作モードを認識する(S26)。本例のチップC2は、チップC3に対してはマスターチップであり、スレーブチップ(チップC2)が接続されているので、チップC1からの設定情報は、アドレス00hの値が00h、アドレス01hの値が02hとなっている。従ってCPU10は、ステップ27でスレーブチップが1つ有ると判断し、該スレーブチップ用にSDRAM上の設定情報を変更する。具体的には、アドレス01hの値を減算して上書きする(S
32)。また、これによりアドレス01hの値が00hとなったか否かを判定する(S33)。
チップC2の場合、ステップ33において、アドレス01hの値は、01hから1を引いても00hとなるので、ステップ35へ移行し、アドレス00hを01hに変更する。そして、CPU
10は、SDRAM上のファームウェアをシリアルインタフェース18からスレーブチップC2へダウンロードして(S34)起動処理を完了する。
また、チップC3は、ホスト2のリセット解除(電源の投入等)に応じて、前述のチップC2と同じくブートローダによる起動処理を開始し(S21)、シリアル割込み及びPCI割込みを順次チェックする(S22,S23)。
ここで、チップC2が前述の如くファームウェアをチップC3へ転送すると、チップ3のCPU10にシリアル割込みが入る。このシリアル割込みを契機にチップC3のCPU10は、ヘッダを受信して解析し、ファームウェアのサイズを認識する(S30)。そしてCPU10はこのサイズ分のファームウェアを受信し、SDRAM31に記憶させる(S31)。
該ファームウェアの受信を完了するとCPU10は、SDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行する(S25)
このファームウェアに基づきCPU10は、SDRAM31上の設定情報を参照して動作モードを認識する(S26)。本例のチップC3は、スレーブチップであるので、チップC2からの設定情報は、アドレス00hの値が00hとなっている。従ってCPU10は、ステップ27でスレーブチップが無いと判断し、起動処理を完了する。
以上のように本実施形態によれば、アドレス01hの値を順次減算してファームウェアを
スレーブチップに転送していくことで、3つ以上のチップを搭載した拡張ボードであっても起動時間の短縮化が図れる。
また、各チップは、チップC1〜C3若しくはそれ以上のどれなのかをSDRAM31のアドレス00hで判断できる。
〈実施形態3〉
図8は、実施形態3に係る起動処理のフローチャートである。本実施形態は、前述の実施形態2と比べ、ファームウェアを完全にダウンロードする前にスレーブチップへの転送を開始する点が異なっており、その他の構成は同じである。なお、本実施形態において、前述の実施形態2と同一の要素には同符号を付すなどして、再度の説明を一部省略する。
本実施形態の拡張ボード1aは、図6に示したようにチップC1〜C3を備えている。
本実施形態における各チップC1〜C3のCPUは、他のチップ(スレーブチップ)へファームウェアの主要部(データ部分)を転送する前、或はファームウェアの転送が完了する前に、前記設定情報を含むヘッダ領域を他のチップへ通知する設定情報通知手段としても機能している。
ホスト2は、リセット状態が解除されると、拡張ボード1a(チップC1,C2,C3)の起動を開始させ(S11)、PCIバス24を介してチップC1のSDRAM31にファームウェアを書き込む(S12)。
そして、ホスト2は、ファームウェアを256バイト書き込む度にPCIの所定のレジスタにフラグを立ててPCI割込みを行う。なお、最後は256バイトに満たなくてもPCI割込みを行う(S13)。
一方、チップC1は、図8に示すように、ホスト2のリセット解除(電源の投入等)に応じてブートローダによる起動処理を開始する(S21)。
先ずチップC1のCPU10は、PCI割込みが入ったか否かをチェックする(S23)。即ち、CPU10は、PCIインタフェース17のメモリにPCI割り込みのためのフラグが立っているか否かを参照する。ここで、CPU10は、PCI割込みが無ければPCI割込みが入るまで待機し、PCI割込みが入ったらSDRAM31にアクセスしてファームウェアのヘッダを解析する(S41)。これによりCPU10は、ファームウェアのサイズを取得し、このサイズをSIZE変数に代入する。
そしてCPU10は、設定情報を参照して動作モードを認識する(S26,S27)。本例のチップC1は、マスターチップであり、スレーブチップ(チップC2)が接続されているので、ホスト2からの設定情報は、アドレス00hの値が00h、アドレス01hの値が02hとなっている。従ってCPU10は、ステップ27でスレーブチップが2つ有ると判断し
、該スレーブチップ用にSDRAM上の設定情報を変更する。具体的には、アドレス01h
の値を減算し(S32)、これによりアドレス01hの値が00hとなったか否かを判定する(S33)。チップC1の場合、ステップ33において、アドレス01hの値は、02hから1を引いても01hとなるので、アドレス00hを変更せずにステップ34へ移行し、SDRAM上のファームウェアのヘッダ領域をシリアルインタフェース18からスレーブチップC2へダウンロードする(S42)。
ここでCPU10は、次のPCI割込みが入るまで待機し(S43)、PCI割込みを契機に新たに受信した分のファームウェアをスレーブチップC3へ転送する。即ち、ステップ44でSIZE変数が256バイトを超えていれば256バイトのファームウェアをチップC3へ転送し、チップC2の所定のレジスタにフラグをたててPCI割り込みし(S45)、SIZE変数の値を256バイト減じてステップ43に戻る(S46)。また、ステップ43でSIZE変数が256バイトを超えていなければSIZE変数分のファームウェアを転送し(S47)、SIZE変数の値を0にし、チップC2の所定のレジスタにフラグをたててPCI割り込みし、ファームウェアの転送を完了する(S48)。
このファームウェアの転送が完了した場合にCPU10は、SDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行して起動処理を完了する(S25)。
また、チップC2は、ホスト2のリセット解除(電源の投入等)に応じてブートローダによる起動処理を開始する(S21)。
先ずチップC2のCPU10は、PCI割込みが入ったか否かをチェックする(S23)。即ち、CPU10は、PCIインタフェース17のメモリにPCI割り込みのためのフラグが立っているか否かを参照する。ここで、CPU10は、PCI割込みが無ければPCI割込みが入るまで待機し、PCI割込みが入ったらSDRAM31にアクセスしてファームウェアのヘッダを解析する(S41)。これによりCPU10は、ファームウェアのサイズを取得し、このサイズをSIZE変数に代入する。
そしてCPU10は、設定情報を参照して動作モードを認識する(S26,S27)。本例のチップC2は、チップC3に対してマスターチップであり、スレーブチップ(チップC3)が接続されているので、チップC1からの設定情報は、アドレス00hの値が00h、アドレス01hの値が01hとなっている。従ってCPU10は、ステップ27でスレーブチップが1つ有ると判断し、該スレーブチップ用にSDRAM上の設定情報を変更する。具体的には、アドレス01hの値を減算し(S32)、これによりアドレス01hの値が00hとなる
ので、アドレス00hの値を01hに変更し(S35)、SDRAM上のファームウェアのヘッダ領域をシリアルインタフェース18からスレーブチップC3へダウンロードする(S42)。
ここでCPU10は、次のPCI割込みが入るまで待機し(S43)、PCI割込みを契機に新たに受信した分のファームウェアをスレーブチップC3へ転送する。即ち、ステップ44でSIZE変数が256バイトを超えていれば256バイトのファームウェアをチップC3へ転送し、チップC3の所定のレジスタにフラグをたててPCI割り込みし(S45)、SIZE変数の値を256バイト減じてステップ43に戻る(S46)。また、ステップ43でSIZE変数が256バイトを超えていなければSIZE変数分のファームウェアを転送し(S47)、SIZE変数の値を0にし、チップC3の所定のレジスタにフラグをたててPCI割り込みし、ファームウェアの転送を完了する(S48)。
このファームウェアの転送が完了した場合にCPU10は、SDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行して起動処理を完了する(S25)。
また、チップC3は、ホスト2のリセット解除(電源の投入等)に応じてブートローダによる起動処理を開始する(S21)。
先ずチップC3のCPU10は、PCI割込みが入ったか否かをチェックする(S23)。即ち、CPU10は、PCIインタフェース17のメモリにPCI割り込みのためのフラグが立っているか否かを参照する。ここで、CPU10は、PCI割込みが無ければPCI割込みが入るまで待機し、PCI割込みが入ったらSDRAM31にアクセスしてファームウェアのヘッダを解析する(S41)。これによりCPU10は、ファームウェアのサイズを取得し、このサイズをSIZE変数に代入する。
そしてCPU10は、設定情報を参照して動作モードを認識する(S26,S27)。本例のチップC3は、スレーブチップであるので、チップC2からの設定情報は、アドレス00hの値が01h、アドレス01hの値が00hとなっている。
従ってCPU10は、ステップ27でスレーブチップが無いと判断し、ファームウェアの転送をせずにダウンロードのみを行う(S49〜S52)。即ちCPU10は、このPCI割込みが入った際、SIZE変数が256バイトを超えているか否かを判断し(S50)、超えていればSIZE変数を256バイト減じてステップ49に戻る(S51)。また、ステップ50でSIZE変数を超えていなければSIZE変数を0とし、ダウンロードを完了する(S52)
このファームウェアのダウンロードが完了した場合にCPU10は、SDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行して起動処理を完了する(S25)。
以上のように本実施形態によれば、ファームウェアを完全にダウンロードする前に、スレーブチップへの転送を開始することができ、スレーブチップの起動を早くすることができる。
〈実施形態4〉
図9は、実施形態4に係る拡張ボードのブロック図、図10は、実施形態4に係る起動処理のフローチャートである。本実施形態は、前述の実施形態2と比べ、動作モードをヘッダ領域でなく各チップに設けたピンで設定する点が異なっており、その他の構成は同じである。なお、本実施形態において、前述の実施形態2と同一の要素には同符号を付すなどして、再度の説明を一部省略する。
本実施形態の拡張ボード1bは、図9に示すように同一構成のチップC1,C2,C3を数珠繋ぎに備えている。該チップC2は、チップC1に対してはスレーブチップだが、チップ3に対してはマスターチップとなる。チップC1,C2,C3には、それぞれマスターチップか否かを示すピン32を接続している。該ピン32は、0や1の状態にセットでき、0の状態であればマスターチップであることを示し、1の状態であればスレーブチップであることを示す。
ホスト2は、リセット状態が解除されると、拡張ボード1b(チップC1,C2,C3)の起動を開始させ(S11)、PCIバス24を介してチップC1のSDRAM31にファームウェアを書き込む(S12)。
そして、ホスト2は、PCIの所定のレジスタにフラグを立ててPCI割込みを行い、ファームウェアの展開を開始させる(S13)。
一方、チップC1は、図10に示すように、ホスト2のリセット解除(電源の投入等)に応じてブートローダによる起動処理を開始する(S21)。
先ずチップC1のCPU10は、シリアル割込みが入ったか否かをチェックし(S22)、シリアル割込みが無ければPCI割込みが入ったか否かをチェックする(S23)。即ち、CPU10は、PCIインタフェース17のメモリにPCI割り込みのためのフラグが立っているか否かを参照する。ここで、CPU10は、PCI割込みが無ければステップ22に戻り、PCI割込みが入れば、これを契機にSDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行する(S25)。
このファームウェアに基づきCPU10は、ピン設定情報を参照して動作モードを認識する(S51)。即ち、ピン32の状態を参照し、ピン32が1にセットされていればマスターチップでない(ファームウェアを転送する必要がない)ことを認識して起動処理を中断し、ピン32が0にセットされていればマスターチップであると認識し、ファームウェアの転送を行う(S52)。本例のチップC1は、マスターチップであり、スレーブチップ(チップC2)が接続されているので、ピン32は0にセットされており、スレーブチップが有ると判断し、SDRAM上のファームウェアをシリアルインタフェース18からスレーブチップC2へ転送して起動処理を完了する。
また、チップC1は、ステップ23でPCI割込みが入ったことを認識した場合、生成したストリームや他のチップC2,C3から受信したストリームをPCIインタフェース17からホスト2へ出力するように動作モードを設定する。
また、チップC2は、ホスト2のリセット解除(電源の投入等)に応じて、前述のチップC1と同じくブートローダによる起動処理を開始し(S21)、シリアル割込み及びPCI割込みを順次チェックする(S22,S23)。
ここで、チップC1が前述の如くファームウェアをチップC2へ転送すると、チップ2のCPU10にシリアル割込みが入る。このシリアル割込みを契機にチップC2のCPU10は、ヘッダを受信して解析し、ファームウェアのサイズを認識する(S30)。そしてCPU10はこのサイズ分のファームウェアを受信し、SDRAM31に記憶させる(S31)。
該ファームウェアの受信を完了するとCPU10は、SDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行する(S25)
このファームウェアに基づきCPU10は、ピン設定情報を参照して動作モードを認識
する(S51)。本例のチップC2は、チップC3に対してマスターチップであるので、ピン32は0にセットされており、スレーブチップが有ると判断し、SDRAM上のファームウェアをシリアルインタフェース18からスレーブチップC3へ転送して起動処理を完了する(S52)。
また、チップC3は、ホスト2のリセット解除(電源の投入等)に応じて、前述のチップC2と同じくブートローダによる起動処理を開始し(S21)、シリアル割込み及びPCI割込みを順次チェックする(S22,S23)。
ここで、チップC2が前述の如くファームウェアをチップC3へ転送すると、チップ3のCPU10にシリアル割込みが入る。このシリアル割込みを契機にチップC3のCPU10は、ヘッダを受信して解析し、ファームウェアのサイズを認識する(S30)。そしてCPU10はこのサイズ分のファームウェアを受信し、SDRAM31に記憶させる(S31)。
該ファームウェアの受信を完了するとCPU10は、SDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行する(S25)
このファームウェアに基づきCPU10は、ピン設定情報を参照して動作モードを認識する(S51)。本例のチップC3は、スレーブチップであるので、ピン32は1にセットされており、ファームウェアの転送をせずに起動処理を完了する。
以上のように本実施形態によれば、ヘッダ領域の書換えをせずに、起動時間の短縮化が図れる。
〈実施形態5〉
図11は、実施形態5に係る起動処理のフローチャートである。本実施形態は、前述の実施形態4と比べ、各チップに設けたピンの設定に基づきスレーブチップがマスターチップに設定情報を伝える点が異なっており、その他の構成は同じである。本実施形態において、前述の実施形態4と同一の要素には同符号を付すなどして、再度の説明を一部省略する。本実施形態のハードウェア構成は、実施形態4の図9で示した構成と同じである。なお、本実施形態における各チップC1〜C3のCPUは、他のチップ(マスターチップ)に設定情報(スレーブチップが接続されている旨の情報)を通知する手段としても機能している。
本実施形態において、拡張ボード1bの各チップC1,C2,C3に設けたピン32は、0や1の状態にセットでき、1の状態であればスレーブチップであることを示し、0の状態であればスレーブチップでないことを示す。
ホスト2は、リセット状態が解除されると、拡張ボード1b(チップC1,C2,C3)の起動を開始させ(S11)、PCIバス24を介してチップC1のSDRAM31にファームウェアを書き込む(S12)。
そして、ホスト2は、PCIの所定のレジスタにフラグを立ててPCI割込みを行い、ファームウェアの展開を開始させる(S13)。
一方、各チップC1,C2,C3は、図11に示すように、ホスト2のリセット解除に応じてブートローダによる起動処理を開始する(S21)。
各チップC1,C2,C3は、まず、ピン32の状態を参照する(S61)。本実施形態においてチップC3のピン32は1にセットされているので、該チップC3のCPU10は、スレーブチップであると認識して動作モードを設定すると共に、設定情報をマスターチップC2へ送信する(S62)。そして、チップC3は、設定情報を受信しないので、ステップ63をパスし、シリアル割込みがあるまで待機する(S22,S23)。
また、チップC2のCPU10は、ピン32の状態を参照し(S61)、該状態が1であるので動作モードをスレーブチップとして設定すると共に、設定情報をマスターチップC1に送信する(S62)。そして、チップC2のCPU10は、設定情報の受信が有ったか否かを判定し(S63)、チップC3から受信しているので、動作モードをマスターチップとしても設定する(S64)。その後、チップC2のCPU10は、シリアル割込みがあるまで待機する(S22,S23)。
一方、チップC1のCPU10は、ピン32の状態を参照し(S61)、該状態が0であるので、ステップ62をパスする。そしてチップC1のCPU10は、設定情報の受信が有ったか否かを判定し(S63)、チップC2から受信しているので、動作モードをマスターチップとして設定する(S64)。
次にチップC1のCPU10は、シリアル割込みが入ったか否かをチェックし(S22)、シリアル割込みが無ければPCI割込みが入ったか否かをチェックする(S23)。即ち、CPU10は、PCIインタフェース17のメモリにPCI割り込みのためのフラグが立っているか否かを参照する。ここで、CPU10は、PCI割込みが無ければステップ22に戻り、PCI割込みが入れば、これを契機にSDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行する(S25)。
このファームウェアの制御によりCPU10は、動作モードを参照し(S65)、マスターチップでなければ起動処理を完了し、マスターチップであればファームウェアの転送を行う(S66)。本例のチップC1は、マスターチップであり、スレーブチップ(チップC2)が接続されているので、ファームウェアをシリアルインタフェース18からスレーブチップC2へ転送して起動処理を完了する。
なお、チップC1は、ステップ61でスレーブチップでないことを認識した場合、自身のMUX15で生成したストリームや他のチップC2,C3から受信したストリームをPCIインタフェース17からホスト2へ出力するように動作モードを設定する。
また、チップC2は、チップC1によりファームウェアが転送されて、シリアル割込みが入ると、このシリアル割込みを契機にCPU10が、ヘッダを受信して解析し、ファームウェアのサイズを認識する(S30)。そしてCPU10はこのサイズ分のファームウェアを受信し、SDRAM31に記憶させる(S31)。
該ファームウェアの受信を完了するとCPU10は、SDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行する(S25)
このファームウェアの制御によりCPU10は、動作モードを参照する(S65)。本
例のチップC2は、チップC3に対してマスターチップであるので、SDRAM上のファームウェアをシリアルインタフェース18からスレーブチップC3へ転送して起動処理を完了する(S66)。
また、チップC3は、チップC2によりファームウェアが転送されて、シリアル割込みが入ると、このシリアル割込みを契機にCPU10が、ヘッダを受信して解析し、ファームウェアのサイズを認識する(S30)。そしてCPU10はこのサイズ分のファームウェアを受信し、SDRAM31に記憶させる(S31)。
該ファームウェアの受信を完了するとCPU10は、SDRAM31からファームウェアを読み出してCPU10内のローカルメモリに展開する(S24)。
該展開後、CPU10は、このローカルメモリ上のファームウェアを実行し、ブートローダからファームウェアへ制御を移行する(S25)
このファームウェアの制御によりCPU10は、動作モードを参照する(S65)。本例のチップC3は、マスターチップではないので、ファームウェアの転送をせずに起動処理を完了する。
以上のように本実施形態によれば、ヘッダ領域の書換えをせずに、起動時間の短縮化が図れる。
〈その他〉
本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば、以下に付記した構成であっても上述の実施形態と同様の効果が得られる。また、これらの構成要素は可能な限り組み合わせることができる。
(付記1) 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行うチップであって、
ファームウェアを受信する受信手段と、
設定情報を参照する参照手段と、
前記設定情報に応じて前記ファームウェアを他のチップに転送する転送手段と
を備えたチップ。
(付記2) 前記ファームウェアが前記設定情報を有し、
該設定情報を所定処理により、転送先のチップ用の設定情報に変更する変更手段を備えた付記1に記載のチップ。
(付記3) 前記設定情報が従属するチップの有無を示し、
前記転送手段は、従属するチップが有る場合にはファームウェアを転送し、従属するチップが無い場合にはファームウェアの転送を行わない付記1に記載のチップ。
(付記4) 前記設定情報が従属するチップの数を示し、
前記変更手段が前記チップの数を減算する付記2に記載のチップ。
(付記5) 前記受信手段によるファームウェアの受信と並行して前記転送手段によるファームウェアの転送を行う付記1に記載のチップ。
(付記6) 前記参照手段が、前記設定情報を示すピンの状態を参照する付記1に記載
のチップ。
(付記7) 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行うチップであって、
前記共通のファームウェアである他のチップから設定情報に基づき転送されたファームウェアを受信する受信手段
を備えたチップ。
(付記8) 前記他のチップへファームウェアを転送する転送手段と、前記他のチップへファームウェアを転送する前に、前記設定情報を他のチップへ通知する設定情報通知手段を備えた請求項7に記載のチップ。
(付記9) 前記設定情報を前記他のチップに通知する手段を備えた付記7に記載のチップ
(付記10) 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行うチップが行う方法であって、
ファームウェアを受信するステップと、
設定情報を参照するステップと、
前記設定情報に応じて前記ファームウェアを他のチップに転送するステップと、
を行うチップの起動方法。
(付記11) 前記ファームウェアが前記設定情報を有し、
該設定情報を所定処理により、転送先のチップ用の設定情報に変更するステップを備えた付記10に記載のチップの起動方法。
(付記12) 前記設定情報が従属するチップの有無を示し、
前記ファームウェアを転送するステップにて、従属するチップが有る場合にはファームウェアを転送し、従属するチップが無い場合にはファームウェアの転送を行わない付記10に記載のチップの起動方法。
(付記13) 前記設定情報が従属するチップの数を示し、
前記設定情報を変更するステップにて、前記チップの数を減算する付記11に記載のチップの起動方法。
(付記14) 前記ファームウェアの受信と並行して前記ファームウェアの転送を行う付記10に記載のチップの起動方法。
(付記15) 前記設定情報を参照するステップにて、前記設定情報を示すピンの状態を参照する付記10に記載のチップの起動方法。
(付記16) 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行うチップに実行されるプログラムであって、
ファームウェアを受信するステップと、
設定情報を参照するステップと、
前記設定情報に応じて前記ファームウェアを他のチップに転送するステップと、
を行うチップのプログラム。
(付記17) 前記ファームウェアが前記設定情報を有し、
該設定情報を所定処理により、転送先のチップ用の設定情報に変更するステップを備えた付記16に記載のチップのプログラム。
(付記18) 前記設定情報が従属するチップの有無を示し、
前記ファームウェアを転送するステップにて、従属するチップが有る場合にはファームウェアを転送し、従属するチップが無い場合にはファームウェアの転送を行わない付記16に記載のチップのプログラム。
(付記19) 前記設定情報が従属するチップの数を示し、
前記設定情報を変更するステップにて、前記チップの数を減算する付記17に記載のチップのプログラム。
(付記20) 前記ファームウェアの受信と並行して前記ファームウェアの転送を行う付記16に記載のチップのプログラム。
(付記21) 前記設定情報を参照するステップにて、前記設定情報を示すピンの状態を参照する付記16に記載のチップのプログラム。
(付記22) 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行う複数のチップを備え、
前記各チップが、
ファームウェアを受信する受信手段と、
設定情報を参照する参照手段と、
前記設定情報に応じて前記ファームウェアを他のチップに転送する転送手段と、
を備えた装置。
(付記23) 前記ファームウェアが前記設定情報を有し、
該設定情報を所定処理により、転送先のチップ用の設定情報に変更する変更手段を備えた付記22に記載の装置。
(付記24) 前記設定情報が従属するチップの有無を示し、
前記転送手段は、従属するチップが有る場合にはファームウェアを転送し、従属するチップが無い場合にはファームウェアの転送を行わない付記22に記載の装置。
(付記25) 前記設定情報が従属するチップの数を示し、
前記変更手段が前記チップの数を減算する付記23に記載の装置。
(付記26) 前記受信手段によるファームウェアの受信と並行して前記転送手段によるファームウェアの転送を行う付記22に記載の装置。
(付記27) 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行う複数のチップが行う方法であって、
ファームウェアを受信するステップと、
設定情報を参照するステップと、
前記設定情報に応じて前記ファームウェアを他のチップに転送するステップと、
を行う複数チップの起動方法。
(付記28) 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行うチップが実行する起動方法であって、
起動時に前記他のチップから設定情報に基づいて転送されたファームウェアを受信するチップの起動方法。
(付記29) 前記設定情報を他のチップへ通知してから、前記他のチップへファーム
ウェアを転送する付記28に記載のチップの起動方法。
(付記30)
前記他のチップに設定情報を通知する付記28に記載のチップの起動方法。
本発明に係る装置を備えたシステムの概略図 拡張ボードに備えたチップ等のブロック図 ファームウェアのフォーマットを示す図 システム全体における起動処理のフローチャート 各チップにおける起動処理のフローチャート 実施形態2に係る拡張ボードのブロック図 実施形態2に係る起動処理のフローチャート 実施形態3に係る起動処理のフローチャート 実施形態4に係る拡張ボードのブロック図 実施形態4に係る起動処理のフローチャート 実施形態5に係る起動処理のフローチャート ダウンロード時間の比較例を示す図 本発明の原理説明図
符号の説明
1 装置(拡張ボード、チューナカード)
を装着している。
11,12 ディジタル変換部
13,14 エンコーダ
15 MUX部
16 ストリーム処理部
17 PCIインタフェース
10 CPU
18 シリアルインタフェース
19 メモリインタフェース
21 マザーボード
20 CPU
22,23 LSI
24 PCIバス
31 SDRAM(記憶手段)

Claims (10)

  1. 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行うチップであって、
    ファームウェアを受信する受信手段と、
    設定情報を参照する参照手段と、
    前記設定情報に応じて前記ファームウェアを他のチップに転送する転送手段と、
    を備えたチップ。
  2. 前記ファームウェアが前記設定情報を有し、
    該設定情報を所定処理により、転送先のチップ用の設定情報に変更する変更手段を備えた請求項1に記載のチップ。
  3. 前記設定情報が従属するチップの有無を示し、
    前記転送手段は、従属するチップが有る場合にはファームウェアを転送し、従属するチップが無い場合にはファームウェアの転送を行わない請求項1に記載のチップ。
  4. 前記受信手段によるファームウェアの受信と並行して前記転送手段によるファームウェアの転送を行う請求項1に記載のチップ。
  5. 前記参照手段が、前記設定情報を示すピンの状態を参照する請求項1に記載のチップ。
  6. 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行うチップであって、
    前記共通のファームウェアである他のチップから設定情報に基づき転送されたファームウェアを受信する受信手段
    を備えたチップ。
  7. 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行うチップが行う方法であって、
    ファームウェアを受信するステップと、
    設定情報を参照するステップと、
    前記設定情報に応じて前記ファームウェアを他のチップに転送するステップと、
    を行うチップの起動方法。
  8. 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行うチップに実行されるプログラムであって、
    ファームウェアを受信するステップと、
    設定情報を参照するステップと、
    前記設定情報に応じて前記ファームウェアを他のチップに転送するステップと、
    を行うチップのプログラム。
  9. 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行う複数のチップを備え、
    前記各チップが、
    ファームウェアを受信する受信手段と、
    設定情報を参照する参照手段と、
    前記設定情報に応じて前記ファームウェアを他のチップに転送する転送手段と、
    を備えた装置。
  10. 少なくとも一部が他のチップと共通のファームウェアに基づいて情報処理を行う複数のチップが行う方法であって、
    ファームウェアを受信するステップと、
    設定情報を参照するステップと、
    前記設定情報に応じて前記ファームウェアを他のチップに転送するステップと、
    を行う複数チップの起動方法。
JP2005255692A 2005-09-02 2005-09-02 複数チップの起動方法 Expired - Fee Related JP4644569B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005255692A JP4644569B2 (ja) 2005-09-02 2005-09-02 複数チップの起動方法
EP06250458.4A EP1760585B1 (en) 2005-09-02 2006-01-27 Starting method for a plurality of chips
US11/344,096 US7822957B2 (en) 2005-09-02 2006-02-01 Method for carrying out an information processing in accordance with firmware in a plurality of chips
KR1020060016667A KR100796473B1 (ko) 2005-09-02 2006-02-21 복수 칩의 기동 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005255692A JP4644569B2 (ja) 2005-09-02 2005-09-02 複数チップの起動方法

Publications (2)

Publication Number Publication Date
JP2007072532A true JP2007072532A (ja) 2007-03-22
JP4644569B2 JP4644569B2 (ja) 2011-03-02

Family

ID=37490260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005255692A Expired - Fee Related JP4644569B2 (ja) 2005-09-02 2005-09-02 複数チップの起動方法

Country Status (4)

Country Link
US (1) US7822957B2 (ja)
EP (1) EP1760585B1 (ja)
JP (1) JP4644569B2 (ja)
KR (1) KR100796473B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169805A (ja) * 2008-01-18 2009-07-30 Fujitsu Microelectronics Ltd 情報処理システム及びファームウェア実行方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080018653A1 (en) * 2006-07-24 2008-01-24 Elitegroup Computer Systems Co.,Ltd Graphic card
CN104090790B (zh) * 2014-06-30 2017-05-17 飞天诚信科技股份有限公司 一种安全终端的双芯片方案的固件更新方法
US20220261335A1 (en) * 2019-07-10 2022-08-18 Micro Focus Llc Device debugging connection control and maintenance
CN116594953B (zh) * 2023-07-18 2023-09-22 北京芯驰半导体科技有限公司 一种基于pcie互联的多核异构芯片、启动方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08194584A (ja) * 1995-01-20 1996-07-30 Nec Corp 磁気ディスクシステム
JPH11338703A (ja) * 1998-05-25 1999-12-10 Fujitsu Ltd ファームウェアダウンロード方式
JP2000010784A (ja) * 1998-06-18 2000-01-14 Nec Corp ファ−ムウェアのダウンロ−ド装置
JP2000259419A (ja) * 1999-03-05 2000-09-22 Mitsubishi Electric Corp ソフトウェア自動配布システム
JP2003029994A (ja) * 2001-07-19 2003-01-31 Nec Corp マルチcpuシステム及びその立ち上がり方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0267613B1 (en) * 1986-11-12 1995-03-01 Nec Corporation Micro processor capable of being connected with coprocessor
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
JPH04318650A (ja) 1991-04-17 1992-11-10 Nec Eng Ltd 入出力処理装置
JPH07191727A (ja) * 1993-12-24 1995-07-28 Olympus Optical Co Ltd 分散制御システムの同期方式
JP2806843B2 (ja) * 1995-11-27 1998-09-30 埼玉日本電気株式会社 マルチcpuシステム及びそのソフトウェア更新方法
US6715068B1 (en) * 1999-03-31 2004-03-30 Fuji Photo Optical Co., Ltd. Multi-microcomputer system
US6785272B1 (en) * 1999-06-24 2004-08-31 Allied Telesyn, Inc. Intelligent stacked switching system
WO2001027753A2 (en) 1999-10-12 2001-04-19 Scientific-Atlanta, Inc. Method and apparatus for loading software into a plurality of processors
JP2001117760A (ja) 1999-10-20 2001-04-27 Matsushita Electric Ind Co Ltd ソフトウェアのバージョンアップ管理システム
KR100378066B1 (ko) * 2000-09-25 2003-03-29 주식회사 하이닉스반도체 이동통신 시스템내 기지국 채널 카드의 원격 다운로드장치 및 방법
US20020138156A1 (en) * 2001-01-25 2002-09-26 Wong Isaac H. System of connecting multiple processors in cascade
US7237041B2 (en) * 2002-12-02 2007-06-26 Adc Telecommunications, Inc. Systems and methods for automatic assignment of identification codes to devices
US8572597B2 (en) * 2003-06-20 2013-10-29 Samsung Electronics Co., Ltd. Apparatus and method for performing an over-the-air software update in a dual processor mobile station
JP4288137B2 (ja) 2003-10-30 2009-07-01 Idec株式会社 表示器システム
US7913242B2 (en) * 2003-11-04 2011-03-22 Gm Global Technology Operations, Inc. Low cost, open approach for vehicle software installation/updating and on-board diagnostics
JP2005309934A (ja) * 2004-04-23 2005-11-04 Fujitsu Ltd 周辺装置のファームウェアダウンロード方法及び周辺装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08194584A (ja) * 1995-01-20 1996-07-30 Nec Corp 磁気ディスクシステム
JPH11338703A (ja) * 1998-05-25 1999-12-10 Fujitsu Ltd ファームウェアダウンロード方式
JP2000010784A (ja) * 1998-06-18 2000-01-14 Nec Corp ファ−ムウェアのダウンロ−ド装置
JP2000259419A (ja) * 1999-03-05 2000-09-22 Mitsubishi Electric Corp ソフトウェア自動配布システム
JP2003029994A (ja) * 2001-07-19 2003-01-31 Nec Corp マルチcpuシステム及びその立ち上がり方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169805A (ja) * 2008-01-18 2009-07-30 Fujitsu Microelectronics Ltd 情報処理システム及びファームウェア実行方法
US8769255B2 (en) 2008-01-18 2014-07-01 Fujitsu Semiconductor Limited Information processing system and method of executing firmware

Also Published As

Publication number Publication date
EP1760585A3 (en) 2011-04-13
KR100796473B1 (ko) 2008-01-21
EP1760585B1 (en) 2014-10-29
EP1760585A2 (en) 2007-03-07
US7822957B2 (en) 2010-10-26
US20070055858A1 (en) 2007-03-08
KR20070025923A (ko) 2007-03-08
JP4644569B2 (ja) 2011-03-02

Similar Documents

Publication Publication Date Title
US7900035B2 (en) Electronic appliance and startup method
JP3926873B2 (ja) コンピュータシステム
KR100781926B1 (ko) 컴퓨터 시스템 및 그 제어 방법
US6810444B2 (en) Memory system allowing fast operation of processor while using flash memory incapable of random access
JP2007334383A (ja) 情報処理装置とその起動方法およびプログラム
JP4644569B2 (ja) 複数チップの起動方法
JP2004070571A (ja) データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JP2011133473A (ja) 試験装置、試験方法およびプログラム
WO2008138258A1 (fr) Procédé d'exploitation de dispositif périphérique, dispositif périphérique et hôte
TW201229908A (en) Method and apparatus for integrating driver(s) of a portable device into the portable device
JP5272414B2 (ja) 情報処理システム及びファームウェア実行方法
JP2003248797A (ja) メディア媒体用インタフェースカード
JP2002073522A (ja) メモリカードブリッジ
JPH10116187A (ja) マイクロコンピュータ
US20060179180A1 (en) Signal processing apparatus, signal processing system and signal processing method
JP3714420B2 (ja) データ転送制御装置、電子機器、プログラム及び電子機器の製造方法
TW200414043A (en) Version-programmable circuit module
US7409467B2 (en) Data transfer control system, electronic instrument, and data transfer control method
US20080188968A1 (en) Sound data processing apparatus
JP2001297006A (ja) 半導体集積回路装置および情報処理システム
JP5321438B2 (ja) 電子装置、起動制御方法、起動制御プログラム及び記録媒体
WO2022181066A1 (ja) メモリコントローラおよびメモリアクセス方法
JP2006048369A (ja) カード型メモリのインターフェイス回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置
JP5211537B2 (ja) インターフェース回路
JP2002202947A (ja) 画像処理装置、その制御方法およびプログラムを記憶した記憶媒体

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101021

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101206

R150 Certificate of patent or registration of utility model

Ref document number: 4644569

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees