KR100796473B1 - 복수 칩의 기동 방법 - Google Patents

복수 칩의 기동 방법 Download PDF

Info

Publication number
KR100796473B1
KR100796473B1 KR1020060016667A KR20060016667A KR100796473B1 KR 100796473 B1 KR100796473 B1 KR 100796473B1 KR 1020060016667 A KR1020060016667 A KR 1020060016667A KR 20060016667 A KR20060016667 A KR 20060016667A KR 100796473 B1 KR100796473 B1 KR 100796473B1
Authority
KR
South Korea
Prior art keywords
chip
firmware
setting information
cpu
chips
Prior art date
Application number
KR1020060016667A
Other languages
English (en)
Other versions
KR20070025923A (ko
Inventor
테츠 다카하시
Original Assignee
후지쯔 가부시끼가이샤
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 후지쯔 가부시끼가이샤 filed Critical 후지쯔 가부시끼가이샤
Publication of KR20070025923A publication Critical patent/KR20070025923A/ko
Application granted granted Critical
Publication of KR100796473B1 publication Critical patent/KR100796473B1/ko

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

본 발명은 복수의 칩을 구비한 장치에 있어서, 짧은 시간에 기동을 가능하게 하는 것을 목적으로 한다.
적어도 일부가 다른 칩과 공통 펌웨어에 기초하여 정보 처리를 행하는 칩으로써, 펌웨어를 수신하고, 설정 정보를 참조하여 상기 설정 정보에 따라 상기 펌웨어를 다른 칩에 전송한다.

Description

복수 칩의 기동 방법{STARTING METHOD FOR A PLURALITY OF CHIPS}
도 1은 본 발명에 따른 장치를 구비한 시스템의 개략도.
도 2는 확장 보드에 구비한 칩 등의 블록도.
도 3은 펌웨어의 펌웨어를 도시한 도면.
도 4는 시스템 전체에 있어서의 기동 처리의 흐름도.
도 5는 각 칩에서의 기동 처리의 흐름도.
도 6은 실시형태 2에 따른 확장 보드의 블록도.
도 7은 실시형태 2에 따른 기동 처리의 흐름도.
도 8은 실시형태 3에 따른 기동 처리의 흐름도.
도 9는 실시형태 4에 따른 확장 보드의 블록도.
도 10은 실시형태 4에 따른 기동 처리의 흐름도.
도 11은 실시형태 5에 따른 기동 처리의 흐름도.
도 12는 다운 로드 시간의 비교예를 도시한 도면.
도 13은 본 발명의 원리 설명도.
<도면의 주요 부분에 대한 부호의 설명>
1 : 장치(확장 보드, 튜너 카드)를 장착하고 있다.
11, 12 : 디지털 변환부
13, 14 : 인코더
15 : MUX부
16 : 스트림 처리부
17 : PCI 인터페이스
10 : CPU
18 : 직렬 인터페이스
19 : 메모리 인터페이스
21 : 마더 보드
20 : CPU
22, 23 : LSI
24 : PCI 버스
31 : SDRAM(기억 수단)
본 발명은, 복수의 칩(처리부)에 펌웨어를 다운 로드하여 기동시키는 기술에 관한 것이다.
최근, DVD 레코더나 PC의 TV 캡쳐 시스템에서는, 복수 채널의 프로그램을 동시에 녹화하는 장치의 수요가 증대하고 있다. 일반적으로는, 녹화시에는 MPEG 방식에의 압축을 행하여 기록 매체에 기록하지만, 복수 채널을 동시에 기록하고자 하는 경우에는, 이 압축용 칩(LSI)을 복수 사용하거나 1개의 LSI에 복수 채널을 압축하는 기능을 갖게 해야 한다. 한편, 시장 요구로서는, 단일 채널 프로그램의 녹화 기능만의 장치 수요도 크다.
또한, 본원 발명에 관련하는 선행 기술로서, 예컨대, 하기의 특허 문헌 1, 2에 개시되는 기술이 있다.
[특허 문헌 1] 일본 특허 공개 평성 제4-318650호 공보
[특허 문헌 2] 일본 특허 공개 제2005-135176호 공보
그러나, 하나의 칩에 복수의 채널을 압축하는 기능을 갖게 한 경우, 여전히 시장 요구가 큰 단일 채널만을 압축하는 장치에 적용할 때는 용장이다.
이 때문에, 하나의 채널을 압축하는 칩을 필요한 채널 수에 맞추어 복수 사용하는 쪽이 범용적이다. 그러나, 복수의 칩을 구비한 경우, 각 칩을 기동시킬 때(전원 투입시나 기능을 동작시킬 때), 각 칩용의 펌웨어를 복수 다운 로드하게 되며 기동에 시간이 걸린다는 문제점이 있었다.
그래서 본 발명은, 복수의 칩을 구비한 장치에 있어서, 짧은 시간에서의 기동을 가능하게 한다.
상기 과제를 해결하기 위해, 본 발명은 이하의 구성을 채용하였다.
즉, 본 발명의 칩은 적어도 일부가 다른 칩과 공통의 펌웨어에 기초하여 정보 처리를 행하는 칩으로서, 펌웨어를 수신하는 수신 수단과, 설정 정보를 참조하 는 참조 수단과, 상기 설정 정보에 따라 상기 펌웨어를 다른 칩에 전송하는 전송 수단을 구비하였다.
또한, 본 발명의 장치는, 적어도 일부가 다른 칩과 공통의 펌웨어에 기초하여 정보 처리를 행하는 복수의 칩을 구비하고,
상기 각 칩이,
펌웨어를 수신하는 수신 수단과,
설정 정보를 참조하는 참조 수단과,
상기 설정 정보에 따라 상기 펌웨어를 다른 칩에 전송하는 전송 수단을
구비하였다.
상기 칩은 상기 펌웨어가 상기 설정 정보를 갖는 경우, 이 설정 정보를 소정처리에 의해 전송지의 칩용 설정 정보로 변경하는 변경 수단을 구비하여도 좋다.
상기 설정 정보가 종속하는 칩의 유무를 나타내는 경우, 상기 전송 수단은 종속하는 칩이 있는 경우에는 펌웨어를 전송하고, 종속하는 칩이 없는 경우에는 펌웨어의 전송을 행하지 않아도 좋다.
상기 설정 정보가 종속하는 칩의 수를 나타내는 경우, 상기 변경 수단은 상기 칩의 수를 감산하여도 좋다.
상기 수신 수단에 의한 펌웨어의 수신과 병행하여 상기 전송 수단에 의한 펌웨어의 전송을 행하여도 좋다.
상기 참조 수단은, 상기 설정 정보를 나타내는 핀의 상태를 참조하여도 좋다.
또한, 본 발명의 칩의 기동 방법은, 적어도 일부가 다른 칩과 공통의 펌웨어에 기초하여 정보 처리를 행하는 칩으로써, 펌웨어를 수신하고, 설정 정보를 참조하여 상기 설정 정보에 따라 상기 펌웨어를 다른 칩에 전송한다.
또한, 본 발명의 복수 칩의 기동 방법은, 적어도 일부가 다른 칩과 공통의 펌웨어에 기초하여 정보 처리를 행하는 복수의 칩이 행하는 방법으로서, 각 칩이 펌웨어를 수신하고, 설정 정보를 참조하여 상기 설정 정보에 따라 상기 펌웨어를 다른 칩에 전송한다.
상기 칩의 기동 방법은 펌웨어가 상기 설정 정보를 갖는 경우, 이 설정 정보를 소정 처리에 의해 전송지의 칩용 설정 정보로 변경하여도 좋다.
상기 칩의 기동 방법은, 상기 설정 정보가 종속하는 칩의 유무를 나타내는 경우, 상기 펌웨어를 전송할 때, 종속하는 칩이 있는 경우에는 펌웨어를 전송하고, 종속하는 칩가 없는 경우에는 펌웨어의 전송을 하지 않아도 좋다.
상기 칩의 기동 방법은, 상기 설정 정보가 종속하는 칩의 수를 나타내는 경우, 상기 설정 정보를 변경할 때, 상기 칩의 수를 감산하여도 좋다.
상기 칩의 기동 방법은, 상기 펌웨어의 수신과 병행하여 상기 펌웨어의 전송을 행하여도 좋다.
상기 칩의 기동 방법은, 상기 설정 정보를 참조할 때, 상기 설정 정보를 나타내는 핀의 상태를 참조하여도 좋다.
또한, 본 발명은 상기 칩의 기동 방법을 각 칩에 실행시키는 프로그램(펌웨어나 부트 로더)이라도 좋다. 또한, 본 발명은, 이 프로그램을 컴퓨터가 판독 가능 한 기록 매체에 기록한 것이라도 좋다. 컴퓨터에 이 기록 매체의 프로그램을 독입하여 실행시킴으로써, 그 기능을 제공시킬 수 있다.
여기서, 컴퓨터가 판독 가능한 기록 매체란, 데이터나 프로그램 등의 정보를 전기적, 자기적, 광학적, 기계적, 또는 화학적 작용에 의해 축적하고, 컴퓨터로부터 판독할 수 있는 기록 매체를 말한다. 이러한 기록 매체 내 컴퓨터로부터 착탈 가능한 것으로서는, 예컨대 플렉시블 디스크, 광자기 디스크, CD-ROM, CD-R/W, DVD, DAT, 8 mm 테이프, 메모리 카드 등이 있다.
또한, 컴퓨터에 고정된 기록 매체로서 하드디스크나 ROM(리드 온리 메모리)등이 있다.
<본 발명의 원리>
일반적인 퍼스널 컴퓨터의 아키텍쳐에서는, 단일 채널에서도 복수 채널에서도, 생성된 스트림은 PCI 버스(혹은 USB 등)에 출력하여, 메인 메모리나 칩 세트를 통해 기록 매체에 기록된다.
복수 칩으로 복수 채널을 압축하는 시스템의 경우, 각각의 칩이 갖고 있는 PCI 인터페이스로부터 스트림을 흐르게 하는 구성으로 하면, 보드가 복수로 분리되어 버리기 때문에 비용이 상승하고, 또한 슬롯도 복수 점유되어 버리기 때문에 매우 바람직하지 못하다. 그 해결 방법의 하나로서는, 예컨대 도 1과 같은 시스템을 생각할 수 있다.
도 1의 시스템(30)은 복수 채널의 스트림을 출력하는 확장 보드(1)를 컴퓨터(호스트)(2)의 PCI 슬롯 중 하나에 장착하고 있다. 이 확장 보드(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개의 칩용 펌웨어를 다운 로드하는 구성에서는 다운 로드에 시간이 걸려, 기동까지의 시간이 길어지게 된다. 도 12는 2개의 칩용 펌웨어를 호스트(2)로부터 PCI 버스(24)를 통해 다운 로드하는 경우의 설명도이다. 여기서 하나의 칩용 펌웨어의 다운 로드에 걸리는 시간을 편의상 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)에는, CPU(20)나 메인 메모리(RAM), LSI(22, 23), PCI 버스(24) 등이 구비되어 있다. LSI(22, 23)는 CPU(20)나 RAM, 확장 보드 등의 사이에서의 데이터 교환을 관리하는 소위 칩 세트이다. 이 LSI(22)는 CPU(20)와 로컬 버스를 접속하는 기능이나 영상 신호를 모니터 단자에 출력하는 그래픽 기능을 갖고 있다. 또한, LSI(23)는 로컬 버스의 제어 등을 행하는 소위 PCI 컨트롤러, USB 컨트롤러, IDE 컨트롤러, LAN 컨트롤러 등의 기능을 갖고 있다.
도 2는 확장 보드(1)에 구비한 칩 등의 블록도이다. 이 칩(C1)은 튜너(T1)로 부터의 영상 신호 및 오디오 신호를 디지털 신호로 변환하는 디지털 변환부(11, 12)나 이 디지털 신호를 소정의 압축 형식(본 예에서는 MPEG)에 인코드하는 인코더(13, 14), 이 소정 형식으로 한 영상 신호 및 음성 신호를 다중화하여 스트림을 생성하는 MUX부(15), 이 MUX부로부터의 스트림 및 다른 칩으로부터의 스트림을 조정하고, PCI 인터페이스(17)를 통해 호스트(2)에 출력하는 스트림 처리부(16)를 구비하고 있다.
또한, 칩(C1)은 CPU(10)나 직렬 인터페이스(18), 메모리 인터페이스(19)를 구비하고 있다. 이 메모리 인터페이스(19)에는 SDRAM(기억 수단)(31)이 접속되고, CPU(10)로부터 SDRAM(31)에의 액세스 및 호스트(2)로부터 SDRAM(31)에의 액세스를 가능하게 하고 있다. 또한, 직렬 인터페이스(18)는 각 보드(1)의 CPU(10)의 제어에 의해, 펌웨어 등의 정보를 다른 칩(1)에 전송한다. 이 직렬이 데이터를 수신하면, 1 바이트 수신할 때마다 내장 CPU(10)에 시리얼 인터럽트가 들어간다.
또한, 상기 디지털 신호를 처리하는 각부는, 하드웨어로 구성하여도 좋지만, CPU(10)가 소프트웨어에 의해 실현되는 구성으로 하여도 좋다. 본 예에서는 CPU(10)가 펌웨어에 기초하여 처리를 행함으로써, 상기 인코더(13, 14), MUX부(15), 스트림 처리부(16)(점선으로 나타낸 범위)의 기능을 실현하고 있다.
또한, CPU(10)는 내장의 부트 로더나 펌웨어에 기초하여 처리를 실행함으로써, 수신 수단이나 참조 수단, 전송 수단, 변경 수단의 기능을 실현하고 있다.
이 수신 수단으로서는, 호스트(2)로부터 PCI 인터페이스(17)를 통해 혹은 설정 정보에 기초하여 마스터 칩으로부터 직렬 인터페이스(18)를 통해 전송된 다른 칩과 공통의 펌웨어를 수신(다운 로드)하고, SDRAM(31)에 기억시킨다.
참조 수단으로서는, 펌웨어의 헤더 영역에 포함된 설정 정보를 참조한다.
전송 수단으로서는, 상기 설정 정보에 따라 상기 펌웨어를 다른 칩에 전송한다. 변경 수단으로서는, 이 설정 정보를 소정 처리에 의해, 전송지의 칩용 설정 정보로 변경한다.
또한, 본 실시형태에서는 이들 수단의 기능을 CPU가 소프트웨어에 기초하여 실현하였지만, 각 수단을 하드웨어로 구성하여 각 기능을 달성하여도 좋다.
칩(C2)은 상기 칩(C1)과 동일한 구성이지만, 동작 모드를 다르게 함으로써, 스트림을 PCI 인터페이스(17)로부터 출력하지 않고, 칩(C1)에 출력(전송)하고 있다. 또한, 도 2에서는 칩(C2)의 MUX(15)로부터 칩(C1)의 스트림 처리부(16)에 스트림을 전송하도록 각부의 기능을 나타내었지만, 본 예의 칩(C1, C2)에서는 이들 MUX(15), 스트림 처리부(16)의 기능을 CPU(10)가 소프트웨어에 따라 실현하고 있기 때문에, 실제로는 칩(C2)의 CPU(10)가 직렬 인터페이스(18)를 통해 칩(C1)의 CPU(10)에 스트림을 전송하고 있다.
또한, 칩(C1)과 칩(C2)은 호스트(2)로부터 수신한 펌웨어를 다른 칩에 송신할지, 다른 칩으로부터 수신할지를 동작 모드에 따라 판단하고 있다. 본 예에서는 이 펌웨어를 송신하는 측의 칩(C1)을 마스터칩, 수취하는 측의 칩(C2)을 슬레이브칩이라고도 칭한다.
도 3은 펌웨어의 포맷을 도시하는 도면이다. 이 펌웨어는 헤더 영역과 데이터영역(펌웨어 본체)으로 이루어지며, 이 헤더 영역에는 설정 정보나 펌웨어 사이 즈 등을 포함하고 있다. 이 설정 정보는 동작 모드를 설정하기 위한 정보이며, 펌웨어의 어드레스 00h가 00h이면 마스터칩, 이 어드레스 00h가 01h이면 슬레이브칩을 나타내고, 펌웨어의 어드레스 01h가 00h이면 슬레이브칩이 없고, 펌웨어의 어드레스 01h가 01h이면 슬레이브칩이 있음을 나타낸다.
다음에, 이들 시스템(30)으로써 실행하는 기동 방법에 대해서, 도 4 내지 도 5를 이용하여 설명한다. 도 4는 시스템 전체에 있어서의 기동 처리의 흐름도, 도 5는 각 칩에 있어서의 기동 처리의 흐름도이다.
호스트(2)는 전원의 투입(기동), 재기동, 스탠바이 상태로부터의 복귀 등에 의해, 리셋 상태가 해제되면, 확장 보드(1)[칩(C1), 칩(C2)]의 기동을 시작하게 한다(단계 11, 이하 S11과 같이 약기함).
또한, 호스트(2)는 PCI 버스(24)를 통해 확장 보드(1)에 액세스하고, 칩(C1)의 SDRAM(31)에 BAR(1) 영역을 할당하여 이 BAR(1) 영역의 예컨대 80000 h 번지에 펌웨어를 기록한다(S12).
그리고 호스트(2)는 PCI의 소정의 레지스터에 플래그를 세우는, 예컨대 PCI 인터페이스(17) 내의 메모리에 1을 기록함으로써, PCI 인터럽트를 행하고, 펌웨어의 전개를 시작하게 한다(S13).
한편, 칩(C1)은 도 5에 도시하는 바와 같이, 호스트(2)의 리셋 해제(전원 투입 등)에 따라 부트 로더에 의한 기동 처리를 시작한다(S21). 본 예에서는 CPU(10)가 내장의 ROM으로부터 부트 로더(기동용 소프트웨어)를 독출하고, 이 소프트웨어에 따라 기동 처리를 시작한다.
우선 칩(C1)의 CPU(10)는 직렬 인터럽트가 들어갔는지 여부를 체크하고(S22), 직렬 인터럽트가 없으면 PCI 인터럽트가 들어갔는지 여부를 체크한다(S23). 즉 CPU(10)는 PCI 인터페이스(17)의 메모리에 PCI 인터럽트를 위한 플래그가 세워져 있는지 여부를 참조한다. 여기서, CPU(10)는 PCI 인터럽트가 없으면 단계 22로 되돌아가고, PCI 인터럽트가 들어가면 이것을 계기로 SDRAM(31)으로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
이 전개 후, CPU(10)는 이 로컬 메모리 상의 펌웨어를 실행하고, 부트 로더로부터 펌웨어 제어를 이행한다(S25).
이 펌웨어에 기초하여 CPU(10)는 설정 정보를 참조하여 동작 모드를 인식한다(S26, S27). 예컨대, SDRAM(31)의 어드레스 00h를 독출하고, 이 값이 01h이면 슬레이브칩인 것을 인식하여 기동 처리를 중단하고, 이 값이 00h이면 마스터칩이라고 인식하여 슬레이브칩의 유무를 체크한다. 여기서 어드레스 01h의 값이, 00h이면 슬레이브칩이 없고, 01h이면 슬레이브칩이 있음을 나타내고 있다.
본 예의 칩(C1)은 마스터칩이며, 슬레이브 칩[칩(C2)]이 접속되어 있기 때문에, 호스트(2)로부터의 설정 정보는 어드레스 00h의 값이 00h, 어드레스 01h의 값이 01h로 되어 있다. 따라서 CPU(10)는 단계 27에서 슬레이브칩이 있다고 판단하고, 이 슬레이브칩용으로 SDRAM 상의 설정 정보를 변경한다(S28). 즉 CPU(10)는 어드레스 00h의 값을 01h에 재기록한다.
그리고, 칩(C1)의 CPU(10)는 재기록 후의 펌웨어를 SDRAM(31)으로부터 직렬 인터페이스(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)의 CPU(10)에 직렬 인터럽트가 들어간다. 이 직렬 인터럽트를 계기로 CPU(10)는, 헤더를 수신하여 해석하고, 펌웨어의 사이즈를 인식한다(S30). 그리고 CPU(10)는 이 사이즈 만큼의 펌웨어를 수신하여 SDRAM(31)에 기억시킨다(S31).
이 펌웨어의 수신을 완료하면 CPU(10)는 SDRAM(31)으로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
이 전개 후, CPU(10)는 상기 로컬 메모리 상의 펌웨어를 실행하고, 부트 로더로부터 펌웨어 제어를 이행한다(S25).
이 펌웨어에 기초하여 CPU(10)는 SDRAM(31) 상의 설정 정보를 참조하여 동작모드를 인식한다(S26). 본 예의 칩(C2)은 슬레이브칩이며, 설정 정보는 어드레스 0 0h의 값이 01h로 되어 있다. 따라서 CPU(10)는 단계 26에서 슬레이브칩으로 판단하여 기동 처리를 완료한다.
이상과 같이, 본 실시형태에 의하면, 2 채널의 스트림을 생성하는 2개의 칩을 구비한 확장 보드에 있어서, 2개의 칩에 대하여 호스트(2)로부터 2개 만큼의 펌웨어를 다운 로드하지 않고, 하나의 펌웨어를 전송시킴으로써, 다운 로드 시간을 짧게 하여 확장 보드의 기동 시간을 단축하고 있다.
또한, 기동 처리를 동작 모드에 따라 전환하기 때문에, 마스터칩이거나 슬레이브칩이라도 동일 구성의 칩을 이용할 수 있기 때문에, 범용성을 유지하면서 상기기동 시간의 단축화를 달성할 수 있다.
(실시 형태 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)의 SDRAM(31)에 펌웨어를 기록한다(S12).
그리고, 호스트(2)는 PCI의 소정의 레지스터에 플래그를 세워 PCI 인터럽트를 행하고, 펌웨어의 전개를 시작하게 한다(S13).
한편, 칩(C1)은 도 7에 도시하는 바와 같이 호스트(2)의 리셋 해제(전원 투입 등)에 따라 부트 로더에 의한 기동 처리를 시작한다(S21).
우선 칩(C1)의 CPU(10)는 직렬 인터럽트가 들어갔는지 여부를 체크하고(S22), 직렬 인터럽트가 없으면 PCI 인터럽트가 들어갔는지 여부를 체크한다(S23). 즉 CPU(10)는 PCI 인터페이스(17)의 메모리에 PCI 인터럽트를 위한 플래그가 세워져 있는지 여부를 참조한다. 여기서, CPU(10)는 PCI 인터럽트가 없으면 단계 22로 되돌아가며, PCI 인터럽트가 들어가면 이것을 계기로 SDRAM(31)으로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
이 전개 후, CPU(10)는 이 로컬 메모리 상의 펌웨어를 실행하여 부트 로더로부터 펌웨어 제어를 이행한다(S25).
이 펌웨어에 기초하여 CPU(10)는 설정 정보를 참조하여 동작 모드를 인식한다(S26, S27). 예컨대, SDRAM(31)의 어드레스 00h를 독출하고, 이 값이 01h이면 마스터칩이 아닌(펌웨어를 전송하지 않아도 됨)것을 인식하여 기동 처리를 중단하고, 이 값이 00h이면 마스터칩이라고 인식하여 슬레이브칩의 유무를 체크한다. 여기서 SDRAM(31)의 어드레스 01h의 값은 슬레이브칩의 수를 나타내고 있다.
본 예의 칩(C1)은 마스터칩이며, 슬레이브 칩[칩(C2)]이 접속되어 있기 때문에, 호스트(2)로부터의 설정 정보는 어드레스 00h의 값이 00h, 어드레스 01h의 값이 02h로 되어 있다. 따라서 CPU(10)는 단계 27에서 슬레이브칩이 2개 있다고 판단하고, 이 슬레이브칩용으로 SDRAM 상의 설정 정보를 변경한다. 구체적으로는, 어드레스 01h의 값을 감산하고(S32), 이것에 의해 어드레스 01h의 값이 00h가 되었는지 여부를 판정한다(S33). 칩(C1)의 경우, 단계 33에 있어서, 어드레스 01h의 값은 02 h에서 1을 빼도 01h가 되기 때문에, 어드레스 00h를 변경하지 않고, 단계 34로 이행하여, SDRAM 상의 펌웨어를 직렬 인터페이스(18)로부터 슬레이브칩(C2)에 다운 로드하여 기동 처리를 완료한다.
또한, 칩(C1)은 단계 23에서 PCI 인터럽트가 들어간 것을 인식한 경우, 생성된 스트림이나 다른 칩(C2)으로부터 수신한 스트림을 PCI 인터페이스(17)로부터 호스트(2)에 출력하도록 동작 모드를 설정한다.
또한, 칩(C2)은 호스트(2)의 리셋 해제(전원의 투입 등)에 따라, 전술한 칩(C1)과 같이 부트 로더에 의한 기동 처리를 시작하고(S21), 직렬 인터럽트 및 PCI 인터럽트를 순차 체크한다(S22, S23).
여기서, 칩(C1)이 전술한 바와 같이 펌웨어를 칩(C2)으로 전송하면, 칩(2)의 CPU(10)에 직렬 인터럽트가 들어간다. 이 직렬 인터럽트를 계기로 칩(C2)의 CPU(10)는 헤더를 수신하여 해석하고, 펌웨어의 사이즈를 인식한다(S30). 그리고 CPU(10)는 이 사이즈 만큼의 펌웨어를 수신하여 SDRAM(31)에 기억시킨다(S31).
이 펌웨어의 수신을 종료하면, CPU(10)는 SDRAM(31)으로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
상기 전개 후, CPU(10)는 이 로컬 메모리 상의 펌웨어를 실행하고, 부트 로더로부터 펌웨어 제어를 이행한다(S25).
이 펌웨어에 기초하여 CPU(10)는, SDRAM(31) 상의 설정 정보를 참조하여 동작 모드를 인식한다(S26). 본 예의 칩(C2)은 칩(C3)에 대해서는 마스터칩이며, 슬레이브칩[칩(C2)]이 접속되어 있기 때문에, 칩(C1)으로부터의 설정 정보는, 어드레스 00h의 값이 00h, 어드레스 01h의 값이 01h로 되어 있다. 따라서 CPU(10)는 단계(27)에서 슬레이브칩이 하나 있다고 판단하고, 이 슬레이브칩용으로 SDRAM 상의 설정정보를 변경한다. 구체적으로는, 어드레스 01h의 값을 감산하여 덮어쓰기한다(S32). 또한, 이것에 의해 어드레스 01h의 값이 00h가 되었는지 여부를 판정한다(S33).
칩(2)의 경우, 단계 33에 있어서, 어드레스 01h의 값은 01h에서 1을 빼면 00h가 되기 때문에, 단계 35에 이행하여 어드레스 00h를 01h로 변경한다. 그리고, CPU(10)는 SDRAM 상의 펌웨어를 직렬 인터페이스(18)로부터 슬레이브칩(C2)에 다운로드하여(S34) 기동 처리를 완료한다.
또한, 칩(C3)은 호스트(2)의 리셋 해제(전원의 투입 등)에 따라서, 전술한 칩(C2)과 같이 부트 로더에 의한 기동 처리를 시작하고(S21), 직렬 인터럽트 및 PCI 인터럽트를 순차 체크한다(S22, S23).
여기서, 칩(C2)이 전술한 바와 같이 펌웨어를 칩(C3)에 전송하면, 칩(3)의 CPU(10)에 직렬 인터럽트가 들어간다. 이 직렬 인터럽트를 계기로 칩(C3)의 CPU(10)는 헤더를 수신하여 해석하고, 펌웨어의 사이즈를 인식한다(S30). 그리고 CPU(10)는 이 사이즈 만큼의 펌웨어를 수신하여 SDRAM(31)에 기억시킨다(S31).
상기 펌웨어의 수신을 완료하면 CPU(10)는 SDRAM(31)으로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
상기 전개 후, CPU(10)는 이 로컬 메모리 상의 펌웨어를 실행하여 부트 로더로부터 펌웨어에 제어를 이행한다(S25).
이 펌웨어에 기초하여 CPU(10)는, SDRAM(31) 상의 설정 정보를 참조하여 동작 모드를 인식한다(S26). 본 예의 칩(C3)은 슬레이브칩이기 때문에, 칩(C2)으로부터의 설정 정보는 어드레스 00h의 값이 00h로 되어 있다. 따라서 CPU(10)는 단계 27에서 슬레이브칩이 없다고 판단하여 기동 처리를 완료한다.
이상과 같이 본 실시형태에 의하면, 어드레스 01h의 값을 순차 감산하여 펌웨어를 슬레이브칩에 전송해 나감으로써, 3개 이상의 칩을 탑재한 확장 보드라도 기동 시간의 단축화가 도모된다.
또한, 각 칩은 칩(C1∼C3) 혹은 이것 이상의 어느 것인지를 SDRAM(31)의 어드레스 00h에 의해 판단할 수 있다.
<실시형태 3>
도 8은 실시형태 3에 따른 기동 처리의 흐름도이다. 본 실시형태는, 전술한 실시형태 2에 비하여, 펌웨어를 완전히 다운 로드하기 전에 슬레이브칩에의 전송을 시작하는 점이 다르며, 그 밖의 구성은 동일하다. 또한, 본 실시형태에 있어서, 전 술한 실시형태 2와 동일한 요소에는 같은 부호를 붙이거나 하여, 재차 설명을 일부 생략한다.
본 실시형태의 확장 보드(1a)는, 도 6에 도시한 바와 같이 칩(C1∼C3)을 구비하고 있다. 본 실시형태에 있어서의 각 칩(C1∼C3)의 CPU는, 다른 칩(슬레이칩칩)에 펌웨어의 주요부(데이터 부분)를 전송하기 전 혹은 펌웨어의 전송이 완료되기 전에, 상기 설정 정보를 포함하는 헤더 영역을 다른 칩에 통지하는 설정 정보 통지 수단으로서도 기능하고 있다.
호스트(2)는 리셋 상태가 해제되면, 확장 보드(1a)(칩 C1, C2, C3)의 기동을 시작시키고(S11), PCI 버스(24)를 통해 칩(C1)의 SDRAM(31)에 펌웨어를 기록한다 (S12).
그리고, 호스트(2)는 펌웨어를 256 바이트 기록할 때마다 PCI의 소정의 레지스터에 플래그를 세워 PCI 인터럽트를 행한다. 또한, 최후는 256 바이트를 만족하지 않아도 PCl 인터럽트를 행한다(S13).
한편, 칩(C1)은 도 8에 도시하는 바와 같이, 호스트(2)의 리셋 해제(전원의 투입 등)에 따라 부트 로더에 의한 기동 처리를 시작한다(S21).
우선, 칩(C1)의 CPU(10)는 PCI 인터럽트가 들어갔는지 여부를 체크한다(S23). 즉 CPU(10)는 PCI 인터페이스(17)의 메모리에 PCI 인터럽트를 위한 플래그가 세워져 있는지 여부를 참조한다. 여기서, CPU(10)는 PCI 인터럽트가 없으면 PCI 인터럽트가 들어갈 때까지 대기하고, PCI 인터럽트가 들어가면 SDRAM(31)에 액세스하여 펌웨어의 헤더를 해석한다(S41). 이것에 의해 CPU(10)는, 펌웨어의 사이즈를 취득하고, 이 사이즈를 SIZE 변수에 대입한다.
그리고 CPU(10)는 설정 정보를 참조하여 동작 모드를 인식한다(S26, S27). 본 예의 칩(C1)은 마스터칩이며, 슬레이브칩[칩(C2)]이 접속되어 있기 때문에, 호스트(2)로부터의 설정 정보는 어드레스 00h의 값이 00h, 어드레스 01h의 값이 02h로 되어 있다. 따라서 CPU(10)는 단계 27에서 슬레이브칩이 2개 있다고 판단하여, 상기 슬레이브칩용으로 SDRAM 상의 설정 정보를 변경한다. 구체적으로는, 어드레스 0 1h의 값을 감산하고(S32), 이것에 의해 어드레스 01h의 값이 00h가 되었는지 여부를 판정한다(S33). 칩(C1)의 경우, 단계 33에 있어서, 어드레스 01h의 값은, 02h에서 1을 빼도 01h가 되기 때문에, 어드레스 00h를 변경하지 않고, 단계 34로 이행하여 SDRAM 상의 펌웨어의 헤더 영역을 직렬 인터페이스(18)로부터 슬레이브칩(C2)으로 다운 로드한다(S42).
여기서 CPU(10)는 다음 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).
이 펌웨어의 전송이 완료된 경우에 CPU(10)는, SDRAM(31)으로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
상기 전개 후, CPU(10)는 이 로컬 메모리 상의 펌웨어를 실행하고, 부트 로더로부터 펌웨어 제어를 이행하여 기동 처리를 완료한다(S25).
또한, 칩(C2)은 호스트(2)의 리셋 해제(전원의 투입 등)에 따라 부트 로더에 의한 기동 처리를 시작한다(S21).
우선 칩(C2)의 CPU(10)는 PCI 인터럽트가 들어갔는지 여부를 체크한다(S23). 즉 CPU(10)는 PCI 인터페이스(17)의 메모리에 PCI 인터럽트를 위한 플래그가 세워져 있는지 여부를 참조한다. 여기서, CPU(10)는 PCI 인터럽트가 없으면 PCI 인터럽트가 들어갈 때까지 대기하고, PCI 인터럽트가 들어가면 SDRAM(31)에 액세스하여 펌웨어의 헤더를 해석한다(S41). 이것에 의해 CPU(10)는 펌웨어의 사이즈를 취득하고, 이 사이즈를 SIZE 변수에 대입한다.
그리고 CPU(10)는 설정 정보를 참조하여 동작 모드를 인식한다(S26, S27). 본 예의 칩(C2)은 칩(C3)에 대하여 마스터칩이며, 슬레이브칩[칩(C3)]이 접속되어 있기 때문에, 칩(C1)으로부터의 설정 정보는 어드레스 00h의 값이 00h, 어드레스 0 1h의 값이 01h로 되어 있다. 따라서 CPU(10)는 단계 27에서 슬레이브칩이 1개 있다고 판단하고, 이 슬레이브칩용으로 SDRAM 상의 설정 정보를 변경한다. 구체적으로는, 어드레스 01h의 값을 감산하고(S32), 이것에 의해 어드레스 01h의 값이 00h가 되기 때문에, 어드레스 00h의 값을 01h로 변경하여(S35), SDRAM 상의 펌웨어의 헤더 영역을 직렬 인터페이스(18)로부터 슬레이브칩(C3)에 다운 로드한다(S42).
여기서 CPU(10)는 다음 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).
이 펌웨어의 전송이 완료된 경우에 CPU(10)는 SDRAM(31)으로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
상기 전개 후, CPU(10)는 이 로컬 메모리 상의 펌웨어를 실행하여, 부트 로더로부터 펌웨어 제어를 이행하여 기동 처리를 완료한다(S25).
또한, 칩(C3)은 호스트(2)의 리셋 해제(전원의 투입 등)에 따라 부트 로더에 의한 기동 처리를 시작한다(S21).
우선 칩(C3)의 CPU(10)는 PCI 인터럽트가 들어갔는지 여부를 체크한다(S23). 즉 CPU(10)는 PCI 인터페이스(17)의 메모리에 PCI 인터럽트를 위한 플래그가 세워져 있는지 여부를 참조한다. 여기서, CPU(10)는 PCI 인터럽트가 없으면 PCI 인터럽트가 들어갈 때까지 대기하고, PCI 인터럽트가 들어가면 SDRAM(31)에 액세스하여 펌웨어의 헤더를 해석한다(S41). 이것에 의해 CPU(10)는 펌웨어의 사이즈를 취득하여, 이 사이즈를 SIZE 변수에 대입한다.
그리고 CPU(10)는, 설정 정보를 참조하여 동작 모드를 인식한다(S26, S27). 본 예의 칩(C3)은 슬레이브칩이기 때문에, 칩(C2)으로부터의 설정 정보는 어드레스 00h의 값이 01h, 어드레스 01h의 값이 00h로 되어 있다.
따라서 CPU(10)는 단계 27에서 슬레이브칩이 없다고 판단하여 펌웨어를 전송하지 않고, 다운 로드만을 행한다(S49∼S52). 즉 CPU(10)는 이 PCI 인터럽트가 들어갔을 때, SIZE 변수가 256 바이트를 넘었는지 여부를 판단하여(S50) 넘으면 SIZE 변수를 256 바이트 감하여 단계 49로 되돌린다(S51). 또한, 단계 50에서 SIZE 변수를 넘지 않으면 SIZE 변수를 0으로 하고, 다운 로드를 완료한다(S52).
이 펌웨어의 다운 로드가 완료된 경우에 CPU(10)는 SDRAM(31)으로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
상기 전개 후, CPU(10)는 이 로컬 메모리 상의 펌웨어를 실행하고, 부트 로더로부터 펌웨어 제어를 이행하여 기동 처리를 완료한다(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)의 SDRAM(31)에 펌웨어를 기록한다(S12).
그리고, 호스트(2)는 PCI의 소정의 레지스터에 플래그를 세워 PCI 인터럽트를 행하고, 펌웨어의 전개를 시작하게 한다(S13).
한편, 칩(C1)은 도 10에 도시하는 바와 같이, 호스트(2)의 리셋 해제(전원의 투입 등)에 따라 부트 로더에 의한 기동 처리를 시작한다(S21).
우선 칩(C1)의 CPU(10)는 직렬 인터럽트가 들어갔는지 여부를 체크하고(S22), 직렬 인터럽트가 없으면 PCI 인터럽트가 들어갔는지 여부를 체크한다(S23). 즉 CPU(10)는 PCI 인터페이스(17)의 메모리에 PCI 인터럽트를 위한 플래그가 세워져 있는지 여부를 참조한다. 여기서, CPU(10)는 PCI 인터럽트가 없으면 단계 22로 되돌아가며, PCI 인터럽트가 들어가면, 이것을 계기로 SDRAM(31)로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
상기 전개 후, CPU(10)는 이 로컬 메모리 상의 펌웨어를 실행하여, 부트 로더로부터 펌웨어 제어를 이행한다(S25).
이 펌웨어에 기초하여 CPU(10)는, 핀 설정 정보를 참조하여 동작 모드를 인식한다(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)의 CPU(10)에 직렬 인터럽트가 들어간다. 이 직렬 인터럽트를 계기로 칩(C2)의 CPU(10)는 헤더를 수신하여 해석하고, 펌웨어의 사이즈를 인식한다(S30). 그리고 CPU(10)는 이 사이즈 만큼의 펌웨어를 수신하여 SDRAM(31)에 기억시킨다(S31).
상기 펌웨어의 수신을 완료하면 CPU(10)는, SDRAM(31)으로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
상기 전개 후, CPU(10)는 이 로컬 메모리 상의 펌웨어를 실행하여, 부트 로더로부터 펌웨어 제어를 이행한다(S25).
이 펌웨어에 기초하여 CPU(10)는 핀 설정 정보를 참조하여 동작 모드를 인식한다(S51). 본 예의 칩(C2)은 칩(C3)에 대하여 마스터칩이기 때문에, 핀(32)은 0에 세트되어 있으며, 슬레이브칩이 있다고 판단하고, SDRAM 상의 펌웨어를 직렬 인터페이스(18)로부터 슬레이브칩(C3)으로 전송하여 기동 처리를 완료한다(S52).
또한, 칩(C3)은 호스트(2)의 리셋 해제(전원의 투입 등)에 따라 전술한 칩(C2)과 같이 부트 로더에 의한 기동 처리를 시작하고(S21), 직렬 인터럽트 및 PCI 인터럽트를 순차 체크한다(S22, S23).
여기서, 칩(C2)이 전술한 바와 같이 펌웨어를 칩(C3)에 전송하면, 칩(3)의 CPU(10)에 직렬 인터럽트가 들어간다. 이 직렬 인터럽트를 계기로 칩(C3)의 CPU(10)는 헤더를 수신하여 해석하고, 펌웨어의 사이즈를 인식한다(S30). 그리고 CPU(10)는 이 사이즈 만큼의 펌웨어를 수신하여 SDRAM(31)에 기억시킨다(S31).
상기 펌웨어의 수신을 완료하면 CPU(10)는 SDRAM(31)으로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
상기 전개 후, CPU(10)는 이 로컬 메모리 상의 펌웨어를 실행하고, 부트 로더로부터 펌웨어 제어를 이행한다(S25).
이 펌웨어에 기초하여 CPU(10)는 핀 설정 정보를 참조하여 동작 모드를 인식한다(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)의 SDRAM(31)에 펌웨어를 기록한다(S12).
그리고, 호스트(2)는 PCI의 소정의 레지스터에 플래그를 세워 PCI 인터럽트를 행하고, 펌웨어의 전개를 시작하게 한다(S13).
한편, 각 칩(C1, C2, C3)은 도 11에 도시하는 바와 같이, 호스트(2)의 리셋 해제에 따라 부트 로더에 의한 기동 처리를 시작한다(S21).
각 칩(C1, C2, C3)은 우선, 핀(32)의 상태를 참조한다(S61). 본 실시형태에 있어서 칩(C3)의 핀(32)은 1에 세트되어 있기 때문에, 상기 칩(C3)의 CPU(10)는 슬레이브칩이라고 인식하여 동작 모드를 설정하는 동시에, 설정 정보를 마스터칩(C2)에 송신한다(S62). 그리고, 칩(C3)은 설정 정보를 수신하지 않기 때문에, 단계63을 패스하고, 직렬 인터럽트가 있을 때까지 대기한다(S22, S23).
또한, 칩(C2)의 CPU(10)는 핀(32)의 상태를 참조하여(S61), 상기 상태가 1이기 때문에 동작 모드를 슬레이브칩으로서 설정하는 동시에, 설정 정보를 마스터칩(C1)에 송신한다(S62). 그리고, 칩(C2)의 CPU(10)는 설정 정보의 수신이 있었는지 여부를 판정하고(S63), 칩(C3)으로부터 수신하고 있기 때문에, 동작 모드를 마스터칩으로서도 설정한다(S64). 그 후, 칩(C2)의 CPU10은 직렬 인터럽트가 있을 때까지 대기한다(S22, S23).
한편, 칩(C1)의 CPU(10)는 핀(32)의 상태를 참조하여(S61), 상기 상태가 0이기 때문에, 단계 62를 패스한다. 그리고 칩(C1)의 CPU(10)는 설정 정보의 수신이 있었는지 여부를 판정하고(S63), 칩(C2)으로부터 수신하고 있기 때문에, 동작 모드를 마스터칩으로서 설정한다(S64).
다음에 칩(C1)의 CPU(10)는 직렬 인터럽트가 들어갔는지 여부를 체크하고(S22), 직렬 인터럽트가 없으면 PCI 인터럽트가 들어갔는지 여부를 체크한다(S23). 즉 CPU(10)는 PCI 인터페이스(17)의 메모리에 PCI 인터럽트를 위한 플래그가 세워져 있는지 여부를 참조한다. 여기서, CPU(10)는 PCI 인터럽트가 없으면 단계 22로 되돌아가고, PCI 인터럽트가 들어가면 이것을 계기로 SDRAM(31)로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
상기 전개 후, CPU(10)는 이 로컬 메모리 상의 펌웨어를 실행하여 부트 로더로부터 펌웨어 제어를 이행한다(S25).
이 펌웨어의 제어에 의해 CPU(10)는 동작 모드를 참조하여(S65) 마스터칩이아니면 기동 처리를 완료하고, 마스터칩이면 펌웨어의 전송을 행한다(S66). 본 예의 칩(C1)은 마스터 칩이며, 슬레이브칩[칩(C2)]이 접속되어 있기 때문에, 펌웨어를 직렬 인터페이스(18)로부터 슬레이브칩(C2)에 전송하여 기동 처리를 완료한다.
또한, 칩(C1)은 단계 61에서 슬레이브칩이 아닌 것을 인식한 경우, 자신의 MUX(15)로 생성한 스트림이나 다른 칩(C2, C3)으로부터 수신한 스트림을 PCI 인터페이스(17)로부터 호스트(2)에 출력하도록 동작 모드를 설정한다.
또한, 칩(C2)은 칩(C1)에 의해 펌웨어가 전송되어 직렬 인터럽트가 들어가면, 이 직렬 인터럽트를 계기로 CPU(10)가 헤더를 수신하여 해석하고, 펌웨어의 사이즈를 인식한다(S30). 그리고 CPU(10)는 이 사이즈 만큼의 펌웨어를 수신하여 SDRAM(31)에 기억시킨다(S31).
상기 펌웨어의 수신을 완료하면 CPU(10)는, SDRAM(31)으로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
이 전개 후, CPU(10)는 이 로컬 메모리 상의 펌웨어를 실행하여, 부트 로더로부터 펌웨어 제어를 이행한다(S25).
이 펌웨어의 제어에 의해 CPU(10)는 동작 모드를 참조한다(S65). 본 예의 칩 (C2)은 칩(C3)에 대하여 마스터칩이기 때문에, SDRAM 상의 펌웨어를 직렬 인터페이스(18)로부터 슬레이브 칩(C3)에 전송하여 기동 처리를 완료한다(S66).
또한, 칩(C3)은 칩(C2)에 의해 펌웨어가 전송되어, 직렬 인터럽트가 들어가면, 이 직렬 인터럽트를 계기로 CPU(10)가 헤더를 수신하여 해석하고, 펌웨어의 사이즈를 인식한다(S30). 그리고 CPU(10)는 이 사이즈 만큼의 펌웨어를 수신하여 SDRAM(31)에 기억시킨다(S31).
이 펌웨어의 수신을 완료하면 CPU(10)는, SDRAM(31)으로부터 펌웨어를 독출하여 CPU(10) 내의 로컬 메모리에 전개한다(S24).
상기 전개 후, CPU(10)는 이 로컬 메모리 상의 펌웨어를 실행하여 부트 로더로부터 펌웨어 제어를 이행한다(S25).
이 펌웨어의 제어에 의해 CPU(10)는 동작 모드를 참조한다(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에 기재한 칩의 기동 방법.
본 발명에 의하면, 복수의 칩을 구비한 장치에 있어서, 짧은 시간에서의 기동을 가능하게 하는 기술을 제공할 수 있다.

Claims (10)

  1. 다른 칩에서도 적어도 일부가 공통으로 사용될 수 있는 펌웨어에 기초하여 정보 처리를 행하는 칩으로서,
    펌웨어를 수신하는 수신 수단과,
    수신한 상기 펌웨어를 해당 칩의 정보 처리에 사용하는 펌웨어로서 기억하는 기억 수단과,
    설정 정보를 참조하는 참조 수단과,
    상기 설정 정보에 따라 상기 수신 수단에서 수신한 펌웨어를 다른 칩에 전송하는 전송 수단을
    포함하는 정보 처리를 행하는 칩.
  2. 제1항에 있어서, 상기 펌웨어가 상기 설정 정보를 갖고,
    이 설정 정보를 전송지의 칩용 설정 정보로 변경하는 처리를 행하는 변경수단을 포함하는 것인 정보 처리를 행하는 칩.
  3. 제1항에 있어서, 상기 설정 정보가 종속하는 칩의 유무를 나타내고,
    상기 전송 수단은, 종속하는 칩이 있는 경우에는 펌웨어를 전송하고, 종속하는 칩이 없는 경우에는 펌웨어의 전송을 행하지 않는 것인 정보 처리를 행하는 칩.
  4. 제1항에 있어서, 상기 수신 수단에 의한 펌웨어의 수신과 병행하여 상기 전송 수단에 의한 펌웨어의 전송을 행하는 것인 정보 처리를 행하는 칩.
  5. 제1항에 있어서, 상기 참조 수단이 상기 설정 정보를 나타내는 핀의 상태를 참조하는 것인 정보 처리를 행하는 칩.
  6. 다른 칩에서도 적어도 일부가 공통으로 사용될 수 있는 펌웨어에 기초하여 정보 처리를 행하는 칩으로서,
    상기 공통의 펌웨어를 수신하는 수신 수단과,
    상기 다른 칩으로부터 설정 정보를 수신하는 수단과,
    상기 설정정보에 따라 상기 수신 수단에서 수신한 펌웨어를 다른 칩에 전송하는 전송 수단을
    포함하는 정보 처리를 행하는 칩.
  7. 다른 칩에서도 적어도 일부가 공통으로 사용될 수 있는 펌웨어에 기초하여 정보 처리를 행하는 칩의 기동 방법으로서,
    펌웨어를 수신하는 단계와,
    수신한 상기 펌웨어를 해당 칩의 정보 처리에 사용하는 펌웨어로서 기억 수단에 기억하는 단계와,
    설정 정보를 참조하는 단계와,
    상기 설정 정보에 따라 상기 수신한 펌웨어를 다른 칩에 전송하는 단계를
    행하는 칩의 기동 방법.
  8. 다른 칩에서도 적어도 일부가 공통으로 사용될 수 있는 펌웨어에 기초하여 정보 처리를 행하는 칩에서 실행되는 프로그램이 기록되어 있는 컴퓨터로 판독 가능한 기록매체로서,
    펌웨어를 수신하는 단계와,
    수신한 상기 펌웨어를 해당 칩의 정보 처리에 사용하는 펌웨어로서 기억 수단에 기억하는 단계와,
    설정 정보를 참조하는 단계와,
    상기 설정 정보에 따라 상기 수신한 펌웨어를 다른 칩에 전송하는 단계를
    행하는 칩의 프로그램이 기록되어 있는 컴퓨터로 판독 가능한 기록 매체.
  9. 다른 칩에서도 적어도 일부가 공통으로 사용될 수 있는 펌웨어에 기초하여 정보 처리를 행하는 복수의 칩을 구비하고,
    상기 각 칩이
    펌웨어를 수신하는 수신 수단과,
    수신한 상기 펌웨어를 해당 칩의 정보 처리에 사용하는 펌웨어로서 기억하는 기억수단과,
    설정 정보를 참조하는 참조 수단과,
    상기 설정 정보에 따라 상기 수신 수단에서 수신한 펌웨어를 다른 칩에 전송하는 전송 수단
    을 포함하는 장치.
  10. 다른 칩에서도 적어도 일부가 공통으로 사용될 수 있는 펌웨어에 기초하여 정보 처리를 행하는 복수의 칩의 기동 방법으로서,
    펌웨어를 수신하는 단계와,
    수신한 상기 펌웨어를 해당 칩의 정보 처리에 사용하는 펌웨어로서 기억수단에 기억하는 단계와,
    설정 정보를 참조하는 단계와,
    상기 설정 정보에 따라 상기 수신한 펌웨어를 다른 칩에 전송하는 단계를
    행하는 복수 칩의 기동 방법.
KR1020060016667A 2005-09-02 2006-02-21 복수 칩의 기동 방법 KR100796473B1 (ko)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
KR20070025923A KR20070025923A (ko) 2007-03-08
KR100796473B1 true KR100796473B1 (ko) 2008-01-21

Family

ID=37490260

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060016667A KR100796473B1 (ko) 2005-09-02 2006-02-21 복수 칩의 기동 방법

Country Status (4)

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

Families Citing this family (6)

* 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
JP5272414B2 (ja) * 2008-01-18 2013-08-28 富士通セミコンダクター株式会社 情報処理システム及びファームウェア実行方法
CN104090790B (zh) * 2014-06-30 2017-05-17 飞天诚信科技股份有限公司 一种安全终端的双芯片方案的固件更新方法
US10395038B2 (en) * 2018-02-01 2019-08-27 Quanta Computer Inc. System and method for automatic recovery of firmware image
WO2021003694A1 (en) * 2019-07-10 2021-01-14 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
JPH07191727A (ja) * 1993-12-24 1995-07-28 Olympus Optical Co Ltd 分散制御システムの同期方式
JPH09146902A (ja) * 1995-11-27 1997-06-06 Saitama Nippon Denki Kk マルチcpuシステム及びそのソフトウェア更新 方法
JPH11338703A (ja) 1998-05-25 1999-12-10 Fujitsu Ltd ファームウェアダウンロード方式
JP2001117760A (ja) * 1999-10-20 2001-04-27 Matsushita Electric Ind Co Ltd ソフトウェアのバージョンアップ管理システム
KR20020024433A (ko) * 2000-09-25 2002-03-30 박종섭 이동통신 시스템내 기지국 채널 카드의 원격 다운로드장치 및 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3751108T2 (de) * 1986-11-12 1995-10-26 Nec Corp Mikroprozessor mit der Fähigkeit, an einen Koprozessor geschaltet zu werden.
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 入出力処理装置
JP3058041B2 (ja) * 1995-01-20 2000-07-04 日本電気株式会社 磁気ディスクシステム
JP2000010784A (ja) * 1998-06-18 2000-01-14 Nec Corp ファ−ムウェアのダウンロ−ド装置
JP4390307B2 (ja) * 1999-03-05 2009-12-24 三菱電機株式会社 ソフトウェア自動配布システム
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
US20020138156A1 (en) * 2001-01-25 2002-09-26 Wong Isaac H. System of connecting multiple processors in cascade
JP2003029994A (ja) * 2001-07-19 2003-01-31 Nec Corp マルチcpuシステム及びその立ち上がり方法
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
JPH07191727A (ja) * 1993-12-24 1995-07-28 Olympus Optical Co Ltd 分散制御システムの同期方式
JPH09146902A (ja) * 1995-11-27 1997-06-06 Saitama Nippon Denki Kk マルチcpuシステム及びそのソフトウェア更新 方法
JPH11338703A (ja) 1998-05-25 1999-12-10 Fujitsu Ltd ファームウェアダウンロード方式
JP2001117760A (ja) * 1999-10-20 2001-04-27 Matsushita Electric Ind Co Ltd ソフトウェアのバージョンアップ管理システム
KR20020024433A (ko) * 2000-09-25 2002-03-30 박종섭 이동통신 시스템내 기지국 채널 카드의 원격 다운로드장치 및 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100796473B1 (ko) 복수 칩의 기동 방법
US8135871B2 (en) Computer system and control method of the same
JP4669088B1 (ja) 試験装置、試験方法およびプログラム
US7076530B2 (en) Multiple function modem including external memory adapter
CN104796586A (zh) 记录装置以及记录装置的控制方法
JP4343973B2 (ja) 情報処理装置および情報処理方法
JP2002073522A (ja) メモリカードブリッジ
JP2003248797A (ja) メディア媒体用インタフェースカード
US6587911B1 (en) Electronic device and data communication method
KR100787220B1 (ko) 읽기 동작 및 쓰기 동작이 동시에 가능한 디바이스를구비한 전자장치 및 그 방법
US20060179180A1 (en) Signal processing apparatus, signal processing system and signal processing method
JP6151976B2 (ja) 記録再生装置及び制御方法
JP4253206B2 (ja) デジタルカメラ
CN101226424A (zh) 多媒体电子式切换器
JP2004056376A (ja) 半導体装置及びデータ転送制御方法
US20220337808A1 (en) Information processing apparatus for calibration processing of communication with detachable device and method of controlling the same
JP2942738B2 (ja) データ復号ic
JP2006048369A (ja) カード型メモリのインターフェイス回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置
JP2002064511A (ja) データ通信システム、電子機器及びそれらの制御方法
JP2001320703A (ja) 画像符号化装置および画像復号化装置、画像符号化方法および画像復号化方法
JP2002202947A (ja) 画像処理装置、その制御方法およびプログラムを記憶した記憶媒体
JP2006031235A (ja) 情報処理装置、外部装置、ホスト装置、及び通信方法
KR0176097B1 (ko) 호스트 시스템과 비디오 codec 칩간 블럭데이타 흐름을 제어하는 통신 입출력 제어 장치 및 그 방법
JPH11194902A (ja) 画像処理装置およびその方法
KR20080028545A (ko) 버스를 이용한 데이터 전송 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131218

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 11