KR101664322B1 - 컴퓨팅 디바이스 및 그 시동 방법 - Google Patents
컴퓨팅 디바이스 및 그 시동 방법 Download PDFInfo
- Publication number
- KR101664322B1 KR101664322B1 KR1020100021571A KR20100021571A KR101664322B1 KR 101664322 B1 KR101664322 B1 KR 101664322B1 KR 1020100021571 A KR1020100021571 A KR 1020100021571A KR 20100021571 A KR20100021571 A KR 20100021571A KR 101664322 B1 KR101664322 B1 KR 101664322B1
- Authority
- KR
- South Korea
- Prior art keywords
- computing device
- boot
- interface
- unit
- computing
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Microcomputers (AREA)
- Information Transfer Systems (AREA)
- Electric Clocks (AREA)
Abstract
본 발명은 컴퓨팅 디바이스에 관한 것으로서, 상기 컴퓨팅 디바이스는
작업 메모리(104)와 처리 유닛(102)을 포함하는 컴퓨팅 유닛(101)과,
상기 컴퓨팅 디바이스(100)를 동작시키기 위한 제어 명령어를 포함하는 부트 메모리(106)로서, 상기 제어 명령어는 상기 컴퓨팅 디바이스의 시동시에 상기 컴퓨팅 유닛(101)으로 전달되는 것인, 부트 메모리(106)를 포함하고,
상기 컴퓨팅 디바이스는, 적어도 제1 및 제2 인터페이스에 의해 상기 컴퓨팅 유닛(101)과 인터페이싱하고 제3 인터페이스에 의해 상기 부트 메모리(106)와 인터페이싱하는 부트 제어 유닛(108)을 더 포함하며,
상기 부트 제어 유닛(108)은 상기 제어 명령어의 제1 부분을 상기 부트 메모리(106)로부터 상기 제1 인터페이스를 거쳐 상기 컴퓨팅 유닛(101)으로 전달하고, 상기 제어 명령어의 제2 부분을 상기 부트 메모리(106)로부터 상기 제2 인터페이스를 거쳐 상기 컴퓨팅 유닛(101)으로 전달하도록 구성되는 것을 특징으로 한다.
작업 메모리(104)와 처리 유닛(102)을 포함하는 컴퓨팅 유닛(101)과,
상기 컴퓨팅 디바이스(100)를 동작시키기 위한 제어 명령어를 포함하는 부트 메모리(106)로서, 상기 제어 명령어는 상기 컴퓨팅 디바이스의 시동시에 상기 컴퓨팅 유닛(101)으로 전달되는 것인, 부트 메모리(106)를 포함하고,
상기 컴퓨팅 디바이스는, 적어도 제1 및 제2 인터페이스에 의해 상기 컴퓨팅 유닛(101)과 인터페이싱하고 제3 인터페이스에 의해 상기 부트 메모리(106)와 인터페이싱하는 부트 제어 유닛(108)을 더 포함하며,
상기 부트 제어 유닛(108)은 상기 제어 명령어의 제1 부분을 상기 부트 메모리(106)로부터 상기 제1 인터페이스를 거쳐 상기 컴퓨팅 유닛(101)으로 전달하고, 상기 제어 명령어의 제2 부분을 상기 부트 메모리(106)로부터 상기 제2 인터페이스를 거쳐 상기 컴퓨팅 유닛(101)으로 전달하도록 구성되는 것을 특징으로 한다.
Description
본 발명은 컴퓨팅 디바이스 및 컴퓨팅 디바이스를 동작시키는 방법에 관한 것이다. 특히, 본 발명은 시동 성능을 개선한 컴퓨팅 디바이스에 관한 것이다.
휴대용 컴퓨터, 모바일 인터넷 기기, 스마트폰 등을 포함하는 휴대용 전자 기기와 같은 전자 기기 분야에서 컴퓨터 플랫폼이 구현된다. 또한, 컴퓨팅 플랫폼은 차량에서도 구현되고 있는데, 상기 차량에서 소정 범위의 차량 기능을 제어한다. 이들 모든 애플리케이션에서, 컴퓨팅 플랫폼은 재빨리 시동되어, 사용자가 그 기기를 구동할 수 있기 전에 최소한의 지연에 직면하도록 하는 것이 바람직하다. 특히, 자동차 애플리케이션에서, 빠른 시동 시간이 요구되는데, 왜냐하면 컴퓨팅 디바이스에 의해 제어되는 차량 기능들은 차량이 시동되자마자 이용 가능하여야 하기 때문이다. 예컨대, 차량을 후진시키는 것에 대한 경고음은 차량을 시동시킨 후 즉시 이용 가능하여야 한다. 또한, 빠른 오디오 및 비디오와 관련하여 특별한 요구 조건이 있을 수 있다.
위에서 언급한 애플리케이션과 관련하여, Intel®Atom™ 프로세서를 이용하는 Intel®Centrino®Atom™과 같은 컴퓨팅 플랫폼(Menlow 또는 Menlow XL 플랫폼이라고도 한다)이 채용될 수 있다.
컴퓨팅 디바이스를 시동할 때, 일반적으로 리셋 신호가 중앙 처리 장치에 공급된다. Intel®Centrino® 플랫폼의 경우와 같이, 동기 리셋(synchronous reset)이 이용되는 경우, CPU에 의해 상기 리셋 신호를 인식하고 처리하기 위하여 클록 신호가 필요하다. 종래의 시스템에서, 클록 신호는 32 kHz 수정 진동자(quartz oscillator)를 포함하는 소위 실시간 클록(real-time clock; RTC)에 의해 생성된다. 이러한 수정 진동자는 통상 800 ms 이상의 진동 형성 시간(oscillation build-up time)을 갖고 있다. CPU는 상기 리셋 신호를 처리하기 전에 그 시간만큼 대기하여야 한다. 만약 유효한 RTC 클록 신호가 컴퓨팅 디바이스의 시스템 컨트롤러 허브에 이용 가능하기 전에 리셋 신호가 비활성화된다면, 정의되지 않은 거동이 일어날 것이다. 따라서, 상기 리셋 신호의 비활성화는 RTC 수정의 진동 형성이 마무리될 때까지 지연될 필요가 있다. 따라서, 컴퓨팅 디바이스의 시동 상태에 추가의 지연이 도입된다. 초기 프로그램 로드(IPL)에 의해 그리고 상대적으로 느린 로우 핀 카운트(low pin count; LPC) 버스를 통한 시동 적용에 의해 야기되는 지연과 함께, 종래의 컴퓨팅 디바이스의 시동시의 상기 지연은 더 이상 자동차 환경의 요구 조건을 충족시킬 수 없다.
이러한 플랫폼에 기반한 컴퓨팅 시스템은 일반적으로 시동을 위해 약 2초를 필요로 하는데, 약 2 메가바이트(MB)의 크기를 갖는 시스템 애플리케이션은 부팅 과정(IPL) 중에 로드된다. 컴퓨팅 디바이스가 동작 가능할 때까지 이러한 크기의 지속 시간은 자동차 애플리케이셔에 의해 부여되는 요구 조건과 관련하여 일반적으로 너무 길다.
따라서, 컴퓨티 디바이스의 시동 성능을 개선할 필요가 있다. 특히, 컴퓨팅 디바이스가 동작 가능할 때까지 필요한 시간을 단축하는 것이 바람직하다.
상기 필요성은 독립 청구항의 특징에 의해 충족된다. 종속항은 본 발명의 바람직한 실시예를 한정한다.
본 발명의 제1 양태에 따라서, 컴퓨팅 유닛과 부트 메모리를 포함하는 컴퓨팅 디바이스가 제공된다. 상기 컴퓨팅 유닛은 작업 메모리와 처리 유닛을 포함한다. 상기 부트 메모리는 상기 컴퓨팅 디바이스를 동작시키기 위한 제어 명령어를 포함하며, 이들 제어 명령어는 상기 컴퓨팅 디바이스의 시동시에 상기 컴퓨팅 유닛으로 전달된다. 상기 컴퓨팅 디바이스는, 적어도 제1 및 제2 인터페이스에 의해 상기 컴퓨팅 유닛과 인터페이싱하고 제3 인터페이스에 의해 상기 부트 메모리와 인터페이싱하는 부트 제어 유닛을 더 포함한다. 상기 부트 제어 유닛은 상기 제어 명령어의 제1 부분을 상기 부트 메모리로부터 상기 제1 인터페이스를 거쳐 상기 컴퓨팅 유닛으로 전달하고, 상기 제어 명령어의 제2 부분을 상기 부트 메모리로부터 상기 제2 인터페이스를 거쳐 상기 컴퓨팅 유닛으로 전달하도록 구성된다.
상기 제어 명령어를 상기 부트 메모리로부터 상기 컴퓨팅 유닛으로 전달하기 위해 두 개의 인터페이스를 이용함으로써, 명령어 전달은 더욱 빨리 수행될 수 있고, 상기 컴퓨팅 디바이스를 시동시키기 위해 요구되는 시간을 단축할 수 있다.
본 발명의 한 가지 실시예에 따르면, 상기 제어 명령어의 제2 부분은 제1 부분보다 더 크고, 상기 제2 인터페이스는 제1 인터페이스보다 더 빠른 속도로 데이터를 전송하도록 구성된다. 상기 제어 명령어는 예컨대, 상기 컴퓨팅 디바이스의 시동시에 전달되는 부트 애플리케이션의 일부이다. 더 큰 크기를 갖고 있는 부트 애플리케이션 데이터의 제2 부분이 두 인터페이스 중 더 빠른 인터페이스를 통해 전달됨에 따라, 초기의 프로그램 로드는 더 적은 시간을 필요로 하고, 따라서 시동 성능은 개선된다.
상기 부트 제어 유닛은 상기 제어 명령어의 제2 부분을 상기 제2 인터페이스를 거쳐 상기 컴퓨팅 유닛의 작업 메모리 내로 전달하기 위해 직접 메모리 액세스(DMA) 컨트롤러를 포함할 수 있다. 따라서, 상기 제어 명령어의 제2 부분을 전달할 때 상기 컴퓨팅 유닛의 처리 유닛이 개재될 필요가 없을 수도 있다. 따라서, 상기 제어 명령어의 제2 부분은 DMA 컨트롤러에 의해, 예컨대 Southbridge 또는 상기 컴퓨팅 유닛의 시스템 컨트롤러 허브를 거쳐 작업 메모리 내로 직접 전달될 수 있다. 따라서, 명령어 전달은 상기 처리 유닛을 개재시킬 필요 없이 빨리 그리고 효율적으로 수행될 수 있다.
상기 부트 제어 유닛은 FPGA(field-programmable gate array) 또는 ASIC(application-specific integrated circuit)을 포함할 수 있다. 부트 제어 유닛을 FPGA 또는 ASIC으로서 두 가지 형태로 구현함으로써, 제어 명령어를 부트 메모리로부터 상기 제1 및 제2 인터페이스를 거쳐 상기 컴퓨팅 유닛으로 빨리 전달할 수 있다. 상기 부트 제어 유닛은 버퍼를 사용하지 않고 또는 단지 작은 버퍼만을 사용하여, 상기 제어 명령어를 비트 단위로(bitwise) 전달할 수 있다.
상기 제1 인터페이스는 로우 핀 카운트(LPC) 버스일 수 있다. 상기 제2 인터페이스는 주변 구성 요소 인터커넥트 익스프레스(peripheral component interconnect express; PCIe) 버스일 수 있다. 상기 부트 메모리와 부트 제어 유닛 사이의 제3 인터페이스는 패러렐 버스, 예컨대 8비트 패러렐 버스(eight bit parallel bus)일 수 있다. 단지 제어 명령어 중 보다 작은 부분만이 상대적으로 느린 LPC 버스를 통해 전달됨에 따라, 그리고 제어 명령어 중 더 큰 부분은 빠른 PCIe 버스를 통해 전달됨에 따라, 초기 프로그램 로드의 성능이 현저히 개선될 수 있다.
상기 제어 명령어의 제1 부분은 상기 제2 인터페이스를 초기화하는 제어 명령어를 포함할 수 있다. 상기 부트 제어 유닛은 상기 제2 인터페이스를 초기화한 후에 상기 제어 명령어의 제2 부분을 전달하도록 구성될 수 있다. 예컨대, 상기 부트 제어 유닛은 상기 컴퓨팅 유닛이 상기 PCIe 버스를 초기화하는 것에 응답하여, 컴퓨팅 디바이스에 파워가 공급될 때 직접 이용 가능한 LPC 버스에 의해 컴퓨팅 디바이스의 제1 부분을 전달할 수 있다. 제어 명령어의 제1 부분의 전달 및 초기화 후에, 제어 명령어의 제2 부분이 상기 빠른 PCIe 버스에 의해 전달된다.
상기 컴퓨팅 유닛은, 상기 제1 및 제2 인터페이스를 제공하고 상기 작업 메모리와 인터페이싱하는 시스템 컨트롤러 허브(SHC)를 더 포함할 수 있다. 상기 SHC를 거쳐, 상기 부트 제어 유닛은 제어 명령어의 제2 부분을 작업 메모리로 직접 전달할 수 있다. 상기 SHC는 예컨대, Intel®가 제조한 Poulsbo 또는 Poulsbo XL 시스템 컨트롤러 허브일 수 있다.
상기 부트 메모리는 플래시 메모리를 포함할 수 있다. 상기 부트 메모리는 약 8 MB 또는 16 MB와 같은 비교적 작은 크기(예컨대, 4~32 MB)의 플래시 메모리일 수 있지만, 하드 드라이브 또는 메모리 카드와 같이 더 큰 메모리의 일부일 수도 있다. 상기 컴퓨팅 유닛은 상기 시스템 컨트롤러 허브가 제공되는 Intel® Menlow 또는 Menlow XL 플랫폼을 포함할 수 있다. 상기 처리 유닛은 X86 호환가능한 마이크로프로세서일 수 있다. 특히, Intel®Atom™ 마이크로프로세서가 사용될 수 있다.
본 발명의 다른 양태에 따라서, 컴퓨팅 디바이스를 동작시키는 방법이 제공되는데, 상기 컴퓨팅 디바이스는 작업 메모리와 처리 유닛이 구비된 컴퓨팅 유닛과, 상기 컴퓨팅 디바이스를 동작시키기 위한 제어 명령어로서, 상기 컴퓨팅 디바이스의 시동시에 상기 컴퓨팅 유닛으로 전달되는 제어 명령어를 포함하는 부트 메모리와, 적어도 제1 및 제2 인터페이스에 의해 상기 컴퓨팅 유닛과 인터페이싱하고 제3 인터페이스에 의해 상기 부트 메모리와 인터페이싱하는 부트 제어 유닛을 포함한다. 상기 방법은 상기 부트 제어 유닛에 의해 상기 부트 메모리로부터 상기 제어 명령어를 검색하는 단계와, 상기 제어 명령어의 제1 부분을 상기 제1 인터페이스를 거쳐 상기 컴퓨팅 유닛으로 전달하는 단계와, 상기 제어 명령어의 제2 부분을 상기 제2 인터페이스를 거쳐 상기 컴퓨팅 유닛으로 전달하는 단계를 포함한다.
상기 방법은 상기 컴퓨팅 디바이스의 시동시에, 예컨대 상기 컴퓨팅 디바이스에 파워를 공급한 직후에 수행될 수 있다. 한 가지 실시예에 따르면, 상기 제어 명령어는 상기 부트 메모리에 압축 포맷으로 저장되고, 상기 방법은 상기 압축된 제어 명령어가 상기 컴퓨팅 유닛에서 수신된 후에 상기 처리 유닛에 의해 상기 제어 명령어의 압축을 해제하는 단계를 더 포함한다.
상기 방법에 의해 구동되는 상기 컴퓨팅 디바이스는 전술한 것과 같이 구성될 수 있다.
상기 컴퓨팅 디바이스를 동작시키는 상기 방법에 의해, 상기 제어 명령어는 상기 부트 메모리로부터 상기 두 인터페이스를 거쳐 상기 컴퓨팅 유닛으로 더 빨리 전달될 수 있어, 상기 컴퓨팅 디바이스의 시동 성능이 향상된다.
본 발명의 제2 양태에 따르면, 시스템 컨트롤러, 작업 메모리 및 처리 유닛이 구비된 컴퓨팅 유닛을 포함하는 컴퓨팅 디바이스가 제공되는데, 상기 시스템 컨틀로러는 클록 신호를 수신하기 위한 클록 인터페이스를 포함한다. 상기 시스템 컨트롤러는 또한 수신된 클록 신호 및 리셋 신호를 상기 컴퓨팅 디바이스의 시동 시에 상기 처리 유닛으로 제공하도록 구성된다. 상기 처리 유닛은 상기 수신된 클록 신호를 이용하여 상기 리셋 신호를 처리하도록 구성된다. 상기 컴퓨팅 디바이스는 상기 시스템 컨트롤러의 클록 인터페이스와 인터페이싱하는 시스템 관리 컨트롤러(SMC)를 더 포함하는데, 상기 시스템 관리 컨트롤러는 클록 신호를 상기 클록 인터페이스를 거쳐 상기 시스템 컨트롤러로 공급하도록 되어 있다.
종래의 컴퓨팅 디바이스에서, 상기 클록 신호는 일반적으로 실시간 클록(RTC)에 의해 제공되는데, 이는 32 kHz에서 구동하고 진동 형성을 위해 상당 시간을 필요로 하는 수정 결정 진동자(quartz crystal oscillator)를 필요로 한다. 상기 시스템 관리 컨트롤러의 클록 신호를 상기 컴퓨팅 유닛에 공급함으로써, 리셋 신호를 인식하는 데에 필요한 시간 및 따라서 상기 컴퓨팅 디바이스를 시동시키는 데에 필요한 시간을 단축할 수 있다.
한 가지 실시예에 따르면, 상기 컴퓨팅 디바이스는 상기 클록 신호를 생성하기 위해 전자식 진동자(electronic oscillator)를 더 포함하는데, 상기 전자식 진동자는 상기 시스템 관리 컨트롤러에 연결된다. 상기 전자식 진동자는 예컨대, 종래의 RTC 진동자가 구동되는 32kHz보다 훨씬 더 큰 주파수에서 동작하는 수정 결정 진동자일 수 있다. 따라서, 상기 진동 형성은 훨씬 더 빨리 일어나며, 상기 클록 신호는 상기 컴퓨팅 디바이스를 켠 후에 짧은 시간, 예컨대 10~50 ms 내에 이용 가능하게 된다.
상기 전자식 진동자는 수정 결정 진동자를 포함할 수 있고, 1 MHz보다 큰 주파수의 클록 신호를 생성할 수 있는데, 상기 시스템 컨틀로러는 1 MHz 미만의 주파수를 갖는 클록 신호로 동작하도록 되어 있을 수 있다. 상기 전자식 진동자는 예컨대, 1 MHz~1 GHz의 범위에서 동작할 수 있는데, 상기 시스템 컨트롤러는 10~100 KHz의 범위, 예컨대 32.8 kHz의 클록 신호를 필요로 할 수 있다.
상기 시스템 관리 컨트롤러는, 상기 클록 신호의 주파수를 상기 시스템 컨트롤러가 필요로 하는 주파수에 맞추기 위하여, 상기 전자식 진동자에 의해 생성된 클록 신호의 주파수를 분할하도록 되어 있는 주파수 분할기(frequency divider)를 포함할 수 있다. 이런 식으로, 진동을 빨리 형성하는 고주파수 진동자가 사용될 수 있고, 시스템 컨트롤러에는 여전히 정확한 주파수의 클록 신호가 제공될 수 있다.
상기 시스템 컨트롤러는 Intel®가 제조한 Poulsbo 또는 Poulsbo XL 시스템 컨트롤러 허브와 같은, 시스템 컨트롤러 허브(SCH)일 수 있다. 상기한 바와 같이, 상기 컴퓨팅 유닛은 Intel® Menlow 또는 Menlow XL 플랫폼을 포함할 수 있고, 상기 처리 유닛은 X86 호환 가능한 마이크로프로세서일 수 있다. 상기 SMC는 작은 버전의 입출력(I/O) 컨트롤러일 수 있고, 또는 I/O 컨트롤러 기능, 파워 공급 기능 및 시스템 클록 기능을 포함하는 집적 결합된 칩(integrated combined chip)일 수 있다.
본 발명의 제2 양태에 따른 상기 컴퓨팅 디바이스는 또한 본 발명의 제1 양태와 관련하여 상기한 것과 같이 구성될 수 있다. 특히, 그 컴퓨팅 디바이스는 부트 제어 유닛을 포함할 수 있는데, 상기 부트 제어 유닛은 부트 메모리와 인터페이싱하고, 적어도 제1 및 제2 인터페이스를 통해 상기 컴퓨팅 유닛과 인터페이싱하여, 상기 부트 메모리에 저장된 제어 명령어를 부분적으로 상기 제1 및 제2 인터페이스를 통해 상기 컴퓨팅 유닛으로 전달한다.
본 발명의 다른 양태에 따르면, 시스템 컨트롤러, 작업 메모리 및 처리 유닛을 포함하는 컴퓨팅 유닛을 포함하는 컴퓨팅 디바이스를 동작시키는 방법이 제공된다. 상기 시스템 컨트롤러는 클록 신호를 수신하기 위한 클록 인터페이스를 포함하고, 상기 컴퓨팅 디바이스는 상기 시스템 컨트롤러의 클록 인터페이스와 인터페이싱하는 시스템 관리 컨트롤러(SMC)를 더 포함한다. 상기 방법은 상기 컴퓨팅 디바이스의 시동시에 클록 신호를 상기 시스템 관리 컨트롤러로부터 상기 클록 인터페이스를 거쳐 상기 시스템 컨트롤러에 공급하는 단계와, 상기 시스템 컨트롤러에 의해, 상기 수신된 클록 신호와 리셋 신호를 상기 처리 유닛에 제공하는 단계와, 상기 처리 유닛에서, 상기 제공된 클록 신호를 이용하여 상기 리셋 신호를 처리하는 단계를 포함한다.
본 발명의 제2 양태에 따른 상기 디바이스와 관련하여 상기 언급한 이점은 본 방법에 의해서도 달성될 수 있다. 특히, 상기 시스템 관리 컨트롤러로부터의 클록 신호가 상기 컴퓨팅 디바이스에 파워를 공급한 후 짧은 시간 내에 바로 이용 가능함에 따라, 상기 시스템 컨트롤러 및 처리 유닛에서의 상기 리셋 신호의 인식 및 상기 리셋 신호의 리셋팅은 더 빨리 수행될 수 있다.
한 가지 실시예에 따르면, 상기 방법은 상기 시스템 관리 컨트롤러에 연결된 수정 혹은 전자식 진동자에 의해 상기 클록 신호를 생성하는 단계와, 상기 시스템 관리 컨크롤러 내의 상기 전자식 진동자 혹은 수정에 의해 생성된 클록 신호의 주파수를 상기 시스템 컨트롤러가 필요로 하는 주파수에 맞추기 위하여, 상기 클록 신호의 주파수를 분할하는 단계를 더 포함한다.
상기 방법은 상기 리셋 신호를 상기 시스템 관리 컨트롤러로부터 상기 시스템 컨트롤러에 제공하고, 상기 리셋 신호가 상기 처리 유닛에 의해 처리된 후에 상기 리셋 신호를 비활성화하는 단계를 더 포함할 수 있다. 상기 리셋 신호의 비활성화가 상기 방법에 의해 더 빨리 수행될 수 있음에 따라, 상기 컴퓨팅 디바이스를 시동시키는 데에 필요한 시간을 단축할 수 있다.
또한, 상기 컴퓨팅 디바이스는 본 발명의 상기 제1 및/또는 제2 양태와 관련하여 상기한 것과 같이 구성될 수 있다. 특히, 상기 컴퓨팅 디바이스는 또한 본 발명의 제1 양태와 관련하여 상기한 것과 같이 구성될 수 있고, 상기 방법은 또한 본 발명의 제1 양태와 관련하여 상기한 방법 중 하나의 단계를 더 포함할 수 있다. 예컨대, 상기한 리셋 동작을 수행한 후에, 상기 방법은 제어 명령어를 부트 메모리로부터 제1 및 제2 인터페이스를 거쳐 부트 제어 유닛에 의해 상기 컴퓨팅 유닛에 전달하는 것을 더 포함할 수 있다. 이들 방법을 조합함으로써, 상기 컴퓨팅 디바이스를 시동하는 데에 필요한 시간을 더욱 단축할 수 있다. 시동 성능을 개선함으로써, 상기 컴퓨팅 디바이스가 자동차 애플리케이션의 시스템 시동 요구 조건을 충족시키도록 할 수 있다.
본 발명의 상기 양태 및 실시예의 특징은 달리 언급하지 않는다면 서로 조합될 수 있다.
본 발명의 상기한 것 및 다른 특징 및 이점은 첨부 도면과 함께 다음의 상세한 설명을 통해 더욱 명확해질 것이다. 도면에서, 동일한 참조 부호는 동일한 요소를 나타낸다.
도 1은 본 발명의 한 가지 실시예에 따른 컴퓨팅 디바이스를 보여주는 개략적인 블록도이다.
도 2는 본 발명의 한 가지 실시예에 따른 방법을 보여주는 흐름도이다.
도 3은 본 발명의 제2 양태에 따른 방법의 한 실시예를 보여주는 흐름도이다.
도 4는 본 발명의 제1 양태에 따른 방법의 한 실시예를 보여주는 흐름도이다.
도 1은 본 발명의 한 가지 실시예에 따른 컴퓨팅 디바이스를 보여주는 개략적인 블록도이다.
도 2는 본 발명의 한 가지 실시예에 따른 방법을 보여주는 흐름도이다.
도 3은 본 발명의 제2 양태에 따른 방법의 한 실시예를 보여주는 흐름도이다.
도 4는 본 발명의 제1 양태에 따른 방법의 한 실시예를 보여주는 흐름도이다.
이하의 실시예의 설명은 예시만의 목적으로 주어지고 한정의 의미로 취급되지 않음을 이해하여야 한다. 도면은 단지 개략적 표현인 것으로 간주되어야 하고 도면 내의 요소는 반드시 서로 비율에 맞을 필요는 없음에 유의하여야 한다. 오히려, 다양한 요소의 표현은 그 기능과 목적이 당업자에게 분명해지도록 선택된다. 도면에 도시된 기능 블록이나 유닛에서 실시예의 분할은 이들 유닛이 반드시 물리적으로 분리된 유닛으로서 실현되는 것을 지시하는 것으로 해석되어서는 안되고, 도시되거나 설명된 기능 블록이나 유닛은 별도의 유닛, 회로, 칩 또는 회로 요소로서 실현될 수 있고 하나 이상의 기능 블록 또는 유닛은 공통 회로, 칩, 회로 요소 또는 유닛에서 실현될 수 있다.
도 1의 개략적 블록도는 컴퓨팅 유닛(101)을 포함하는 컴퓨팅 디바이스(100)를 도시한다. 컴퓨팅 유닛(101)은 중앙 처리 유닛(CPU)(102), 시스템 컨트롤러 허브(103) 및 작업 메모리(104)를 포함한다. 도 1의 실시예에서, 컴퓨팅 디바이스(100)는 Intel® Centrino® AtomTM 플랫폼, 특히 Menlow 또는 Menlow XL 플랫폼을 기반으로 하고, 시스템 컨트롤러 허브(103)는 Poulsbo 또는 Poulsbo XL 컨트롤러 허브이다. CPU(102)는 Intel® AtomTM 프로세서이다. 다른 프로세서와 시스템 컨트롤러를 포함하는 다른 플랫폼도 분명히 본 발명에 사용될 수 있다. 메모리(104)는 복수의 DDR2(Double Data Rate 2) RAM(Random Access Memory) 모듈을 포함하지만, 다른 종류의 메모리를 포함할 수도 있다.
컴퓨팅 디바이스(100)는 시스템 관리 컨트롤러(SMC)(105)를 더 포함한다. SMC(105)는 파워 공급 및 팬 속도와 같은 기능을 제어할 수 있다. 본 실시예에서 SMC는 리셋 이벤트를 컴퓨팅 유닛(101)으로 신호 전달하는데 사용되기도 한다. SMC는 예컨대 SCH(103)와, 리셋 신호를 필요로 하는 플랫폼의 다른 구성요소와 신호 교환할 수 있다. SMC(105)는 클록(114)과 파워 서플라이(115)를 포함할 수 있고 하나의 조합된 칩 솔루션으로 구현될 수 있다.
컴퓨팅 디바이스(100)의 시동시, 제1 시동 상태는 통상 하드웨어에 의해 제어된다. 상기 상태는 리셋 신호의 인식을 포함하는데, 리셋 신호의 인식은 동기 리셋 인터페이스에 대한 유효 클록 신호의 가용성(availability)에 의해 제어된다. 리셋 신호는 클록 신호 없이는 컴퓨팅 유닛(101)에 의해 처리될 수 없다.
종래의 시스템에서는 예컨대 32.8kHz의 주파수의 클록 신호의 발생에 실시간 클록(RTC) 수정이 사용되지만 그러한 RTC 수정은 800ms 이상의 진동 형성 시간을 필요로 한다. 이러한 높은 진동 형성 시간은 특히 RTC 수정 구동에 전지가 사용되지 않는 자동차 환경에서 일어난다.
도 1의 해당 실시예는 RTC 수정으로부터의 클록 신호를 사용하지 않고 SMC(105)로부터의 클록 신호를 사용한다. SMC(105)는 자체가 수정 진동자로 이루어져 있거나, SMC(105) 외부의 진동자(도 1에는 도시되어 있지 않음)와 인터페이싱할 수 있다. SMC(105)에 연결된 수정 진동자는 예컨대 MHz 범위로 RTC 수정보다 고주파수로 동작한다. 결국, SMC(105)에 연결된 진동자의 진동 형성 시간은 RTC 수정보다 짧아지는데, 10~20ms로 짧아질 수 있다. 시스템 관리 컨트롤러(105)는 클록 신호의 주파수를 낮추는 하나 이상의 주파수 분할기를 포함한다. SCH(103)는 RTC의 수정 진동기에 의해 통상 발생되는 주파수인 32.768kHz의 주파수의 클록 신호를 여전히 필요로 한다. SMC(105)는 클록 신호의 주파수를 SCH(103)가 필요로 하는 상기 주파수로 적합화시킨다.
SMC(105)에 의해 SCH(103)로 제공되는 클록 신호는 종래의 RTC의 클록 신호보다 훨씬 더 일찍 유효화될 수 있으므로, SCH(103)는 리셋 신호를 훨씬 일찍 처리하는 것을 시작할 수 있으며, 리셋 신호의 비활성화까지의 시간이 크게 감소될 수 있다. SCH(103)는 시동시 리셋 신호와 클록 신호를 CPU(102)에 제공한다. 컴퓨팅 디바이스(100)의 동작 중, SMC(105)는 SCH(103)에 계속 클록 신호를 공급한다.
SMC(105)는 리셋 신호를 생성하므로 종래의 시스템의 RTC 클록 신호의 수신이 필요하다. 본 실시예에서 SMC(105)는 클록 신호 자체를 생성하므로 RTC 클록 신호의 SMC(105)로의 피드백은 본 실시예에서 불필요하다.
전술한 시동 상태 이후에, 당업계에 공지된 소정의 방법에 따라 컴퓨팅 디바이스(100)의 추가의 초기화가 수행될 수 있다. 추가의 초기화는 메모리(104)의 초기화 등을 포함할 수 있다.
컴퓨팅 디바이스(100)의 시동은 제어 명령을 컴퓨팅 유닛(101)에 로딩하는 것을 더 필요로 한다. 이들 제어 명령을 포함하는 이러한 부트 코드 또는 부트 애플리케이션은 본 실시예에서 플래시 메모리로 실현된 부트 메모리(106)에 저장된다. 컴퓨팅 디바이스(100)의 시동 중 부트 코드의 로딩은 "초기 프로그램 로드(initial program load: IPL)"로 지칭된다. 종래의 컴퓨팅 디바이스에서 부트 코드의 로딩 과정은 상대적으로 느린 로우 핀 코드(LPC) 버스(107)를 통해 수행되는데, 상기 LPC 버스는 대략 2MB/s의 속도를 달성하고 LPC 인터페이스로 플래시 메모리 유닛에 직접 연결된다. 따라서, 부트 애플리케이션의 로딩을 위해 필요한 시간은 종래의 시스템에서 LPC 인터페이스(107)의 대역폭에 의해 결정된다.
도 1의 실시예에서, 병렬 인터페이스(109)를 통해 부트 메모리(106)에 인터페이스 연결되는 부트 제어 유닛(108)이 제공된다. 이 부트 제어 유닛은 예컨대 8비트 인터페이스일 수 있다. 부트 제어 유닛(108)은 FPGA(field-programmable gate array) 또는 ASIC(application-specific integrated circuit)이다. 이들 양자의 유닛은 특정 기능을 빠르고 효율적으로 수행하도록 구성될 수 있다. 부트 제어 유닛(108)은 예컨대 직접 메모리 액세스(direct memory access: DMA) 컨트롤러(110)를 포함하도록 구성될 수 있다. 부트 제어 유닛(108)은 LPC 버스(107)와 PCIe 버스(111)를 통해 SCH(103)와 인터페이스 연결된다. PCIe 버스(111)는 LPC 버스(107)보다 훨씬 높은 데이터 전송률을 제공한다. 그러나, PCIe 버스(111)는 초기화가 필요하므로 통상 컴퓨팅 디바이스(100)의 시동시 사용될 수 없다.
따라서 부트 제어 유닛(108)은 부트 메모리(106)에 액세스하여 그 안에 저장된 제어 명령의 제1 부분을 LPC 버스(107)를 통해 SCH(103)로 전달한다. 이들 명령은 실행되어 PCIe 인터페이스(111)를 초기화한다. 이러한 초기 부트 과정 중 예컨대 100-300kB의 부트 코드가 SCH(103)로 전달될 수 있다. 초기 부트 이후, 부트 제어 유닛(108)은 PCIe 인터페이스(111)로 스위칭된다. 병렬 인터페이스(109)와 PCIe 인터페이스(111)를 통한 부트 메모리(106), 부트 제어 유닛(108) 및 SCH(103) 사이의 접속에 있어 훨씬 높은 대역폭에 기인하여 부트 코드의 나머지 부분은 표준 LPC 버스를 통해 얻을 수 있는 것보다 훨씬 높은 속도로 전송될 수 있다. 예를 들면, 2MB의 크기의 부트 코드 사용시, 데이터를 LPC 버스를 통해 부트 플래시로부터 직접 로딩하는 것에 비해 약 900ms 전송이 빠르다. 부트 데이터는 수백 밀리 초 정도의 호출 시간을 가질 수 있는 하드 드라이브, SD 카드나 기타 종류의 메모리 카드 등의 DMA 가능한 대용량 저장 장치로부터 로딩될 수도 있다. LPC 버스를 통해 보안 디지털(SD) 카드로부터 데이터를 로딩하는 것에 비해, 본 실시예의 컴퓨팅 디바이스는 300ms 빠른 부트 플래시(106)로부터의 부트 데이터의 로딩을 여전히 달성하고 있다.
전술한 바와 같이, 부트 제어 유닛(108)은 ASIC 또는 FPGA로서 실현될 수 있다. 자체가 초기화에 소정 시간을 필요로 하는 FPGA를 사용한 실현에 비해, ASIC 로딩 시간은 약 150-300ms 빠르다.
제어 명령어는 일부 또는 전부가 압축된 부트 이미지로서 부트 메모리(106)에 제공될 수 있다. PCIe(111)를 통한 부트 이미지의 DMA-전송 중, CPU(102)는 부트 이미지 데이터의 압축을 해제할 수 있다. 압축 해제는 상대적으로 빠르게 수행될 수 있으므로, 부트 이미지가 메모리(104)로 전송된 후 짧은 시간 내에 대응하는 데이터가 압축 해제된 포맷으로 사용될 수 있다.
시스템 관리 컨트롤러(105)에 의해 리셋에 필요한 RTC 클록 신호를 제공하고 LPC 버스(107)와 PCIe 버스(111) 모두를 통해 부트 애플리케이션을 전송하는 것에 의해, 본 실시예의 컴퓨팅 디바이스(100)는 약 500-1000ms 또는 그 이상의 시동 성능의 향상을 달성할 수 있다. 따라서 컴퓨팅 디바이스(100)의 시동에 필요한 시간은 반감될 수 있다. 결국, 컴퓨팅 디바이스(100)는 자동차에 적용시 컴퓨팅 디바이스에 제기되는 엄격한 필요 요건을 만족할 수 있다.
다른 실시예에 따르면 SCH(103)는 표준 RTC 클록으로부터 클록 신호를 수신할 수 있으며, 반면 컴퓨팅 디바이스(100)의 부트에 필요한 제어 명령은 전술한 바와 같이 전송되는 것이 분명하다. 다른 실시예에서 예컨대 LPC 버스만을 통해 부트 애플리케이션을 부트 메모리로부터 전송하는 한편, 클록 신호는 전술한 바와 같이 SMC(105)에 의해 제공되는 것에 의해 표준 부트 절차가 수행될 수 있다. 이러한 실시예는 종래의 컴퓨팅 디바이스에 비해 개선된 시동 성능을 제공할 것이지만, 도 1의 장치는 그보다 나은 성능을 달성할 것이다.
컴퓨팅 디바이스(100)는 종래의 컴퓨팅 디바이스에 공통적인 추가의 구성 요소를 포함할 수 있다. 이러한 구성요소는 당업자에게 공지된 것이므로 여기서는 상세히 설명하지 않는다. 예를 들면, SATA(serial advanced technology attachmment) 인터페이스(112)와 접속 하드 디스크 드라이브(HDD)(113), 추가의 클록 신호를 생성하는 클록(114) 및 컴퓨팅 디바이스(100)로 파워를 공급하는 파워 서플라이(115)가 존재한다. 클록(114)은 예를 들면 CPU(102)와 PCIe 성분으로 클록 신호를 제공하는데 사용될 수 있다. 클록(114)은 컴퓨팅 디바이스(100)의 시동시 리셋 신호를 처리하기 위해 필요한 클록 신호와 다른 클록 신호를 제공함에 유의하여야 한다. SMC(105)에 의해 공급되고 리셋 신호의 처리시 사용되는 클록 신호는 컴퓨팅 디바이스(100)의 작동 중 내내 제공될 수도 있다.
또한, 비디오 출력이 제공되고 변환기(116)에 의해 직렬 디지털 비디오 출력(serial digital video out: SDVO) 신호가 저압 차동 신호(low voltage differential signal: LVDS)로 변환된다. 상기 신호는 디스플레이로 제공될 수 있다. 유닛들(112-116)과 더불어 LDVS, USB, SDIO 및 SM 버스들과 같은 도 1에 도시된 성분 중 일부는 선택적인 성분임이 분명하다.
컴퓨팅 디바이스(100)는 예컨대 차량용 제어 유닛으로서 실현될 수 있다. 제어 유닛은 예를 들면 차량의 라이트, 음향 또는 엔진 관련 기능을 제어할 수 있다. 또한, 컴퓨팅 디바이스(100)는 휴대용 컴퓨터, 스마트 폰, 무선 인터넷 기기, PDA 등의 휴대용 컴퓨팅 디바이스와 같은 다른 장치로 실현될 수도 있다. 당업자들은 다른 실시 형태를 고려할 것이며 본 발명의 범위는 전술한 실시 형태에 한정되지 않는다.
도 2는 본 발명의 일 실시예에 따른 방법의 흐름도를 도시한다. 상기 방법은 도 1에 도시된 컴퓨팅 디바이스(100)에 대해 실시될 수 있다. 상기 방법은 컴퓨팅 디바이스(100) 시동 단계(200)와 리셋 동작 수행 단계(300)를 포함한다. 리셋 동작 수행 단계(300)는 도 3과 관련하여 보다 상세하게 설명될 것이다. 단계(400)에서, 초기 프로그램 로딩이 수행된다. 초기 프로그램 로딩은 도 4와 관련하여 보다 상세히 설명된다. 이들 시동 동작 후, 컴퓨팅 디바이스는 작동적이 되며 그 특정화된 기능성에 따라 단계 500에서 동작될 수 있다.
도 2에 도시된 시동 절차는 컴퓨팅 디바이스의 시동 절차에 공통적인 추가의 단계를 포함할 수 있다. 이러한 추가의 단계는 예컨대 northbridge와 southbridge를 포함하는 컴퓨팅 디바이스의 칩 세트를 초기화하고 메모리 초기화를 수행하는 등의 추가의 초기화 국면들을 포함할 수 있다. 이러한 절차는 당업자에게 알려진 것이므로 여기서는 추가로 더 이상 설명하지 않는다.
도 3은 본 발명의 제2 양태에 따른 실시예의 방법의 흐름도를 나타낸다. 301 단계에서, SMC(105)에 연결된 전자식 진동자가 시동되어 클록 신호를 생성한다. SMC(105)에서, 주파수 분할이 수행되어 클록 신호의 주파수가 SCH(103)가 필요로 하는 주파수로 적합화된다(302 단계). 303 단계에서, SMC(105)로부터 SCH(103)로 리셋 신호가 공급된다. 또한, SMC(105)에서의 주파수 분할에 의해 발생된 클록 신호는 304 단계에서 시스템 컨트롤러 허브(103)로 공급된다. SCH(103)는 리셋 신호(305 단계)와 클록 신호(306 단계)를 CPU(102)로 제공한다. 리셋 신호와 클록 신호를 SCH(103)와 CPU로 제공하는 순서는 예컨대 역순과 같이 다를 수 있음에 유의하여야 한다. 이들 신호는 비동기적으로 제공될 수 있다. 리셋의 인식은 통상적으로 소정 횟수의 클록 주기 수행 후 이루어진다. 따라서 리셋 신호의 인식은 동기적으로 이루어진다. SMC(105)로부터의 클록 신호는 컴퓨팅 디바이스(100)의 시동 후 짧은 시간 내에 유효하게 되므로 CPU(102)는 매우 짧은 지연을 두고 리셋 신호를 처리하기 시작할 수 있다(307 단계).
이후 308 단계에서 리셋 신호는 비활성 상태가 된다. 리셋 신호를 처리하기 위한 실시간 클록으로부터의 클록 신호를 사용하는 시스템에 비해, 리셋 신호는 수백 마이크로 초 일찍 비활성 상태가 될 수 있다. 리셋 신호가 비활성 상태가 된 후, 컴퓨팅 디바이스(100)의 시동 절차가 계속된다(309 단계).
도 4는 본 발명의 제1 양태의 실시예에 따른 방법의 흐름도이다. 401 단계에서 부트 제어 유닛(108)은 부트 메모리(106)에 저장된 제어 명령어의 제1 부분을 액세스한다. 부트 제어 유닛(108)은 LPC 버스(107)를 통해 제어 명령어의 제1 부분을 컴퓨팅 유닛(101)으로 전송한다. 도 1의 실시예에서, 비록 LPC 인터페이스의 제공을 위해 분명히 다른 컨트롤러 또는 유닛을 사용할 수 있을지라도, 제어 명령어는 SCH(103)로 전송된다. 상기 전송은 예컨대 부트 제어 유닛(108)에서 상기 제어 명령의 대부분을 버퍼링할 필요없이 비트 단위로 행해질 수 있다. 제어 명령어의 제1 부분은 예컨대 100-300kB의 데이터를 가질 수 있다. 403 단계에서, 제어 명령어의 제1 부분이 예컨대 SCH(103)와 CPU(102)에 의해 처리된다. 처리의 결과, 404 단계에서 PCIe 버스(111)가 초기화된다. PCIe 버스의 초기화 후, 부트 애플리케이션의 전송이 PCIe 버스로 스위칭된다. 따라서, 부트 제어 유닛은 부트 메모리(106)로부터 PCIe 버스(111)를 컴퓨팅 유닛(101)으로 제어 명령어의 제2 부분을 전송한다(405 단계). 제어 명령어의 제2 부분의 전송은 DMA 컨트롤러(110)에 의해 제어될 수 있고 컴퓨팅 유닛(101)의 메모리(104) 내로 직접(즉 SCH(103)을 통해) 전송될 수 있다. 제어 명령어가 부트 메모리(106)에 압축된 포맷으로 저장되면, CPU(102)는 DMA 전송 중에 데이터를 압축 해제할 수 있다(406 단계). 압축 해제는 데이터 전송과 병행하여 수행될 수 있으므로, 압축 해제는 무시할 수 있는 지연을 가져온다. 부트 애플리케이션이 메모리(104)에 로딩된 후, 컴퓨팅 디바이스(100)는 이들 제어 명령에 따라 동작될 수 있다(407 단계). 제어 명령어는 그 자체로 컴퓨팅 디바이스(100)의 기본 동작 시스템을 포함할 수 있다.
도 3 및 도 4와 관련하여 설명된 방법은 시스템 리셋 중에 또는 부트 애플리케이션의 로딩 중에 공통적으로 수행되는 추가의 단계를 포함할 수 있다. 상기 단계는 다른 순서로 또는 동시에 수행될 수도 있다. 예를 들면, 304 단계에 따른 클록 신호의 발생 및 SCH로의 공급과 305 단계에 따른 리셋 신호의 SCH로의 공급은 동시에 수행될 수 있다.
요약하면, 본 발명은 컴퓨팅 디바이스의 개선된 시동 성능을 제공한다. 본 발명으로 얻을 수 있는 개선점은 컴퓨팅 디바이스가 자동차 분야의 적용을 위해 채용될 수 있는 것으로, 이는 자동차 분야로의 적용에 설정된 요구 조건을 만족할 수 있기 때문이다.
본 발명의 특정 실시예들이 여기에 설명되었지만, 본 발명의 범위를 벗어나지 않고 다양한 변경 및 변형이 이루어질 수 있다. 본 발명의 실시예들은 모든 측면에서 예시적이고 한정적이지 않은 것으로 간주되어야 하며 첨부된 특허청구범위의 의미와 등가의 범위 내에 있는 모든 변경은 본 발명의 범위 내에 포괄되는 것으로 의도된 것이다.
Claims (21)
- 컴퓨팅 디바이스로서,
작업 메모리(104)와 처리 유닛(102)을 포함하는 컴퓨팅 유닛(101)과,
상기 컴퓨팅 디바이스(100)를 동작시키기 위한 제어 명령어를 포함하는 단일의 부트 메모리(106)로서, 상기 제어 명령어는 상기 컴퓨팅 디바이스의 시동시에 상기 컴퓨팅 유닛(101)으로 전달되는 것인, 단일의 부트 메모리(106)를 포함하고,
상기 컴퓨팅 디바이스는, 적어도 제1 및 제2 인터페이스에 의해 상기 컴퓨팅 유닛(101)과 인터페이싱하고 제3 인터페이스에 의해 상기 부트 메모리(106)와 인터페이싱하는 부트 제어 유닛(108)을 더 포함하며,
상기 부트 제어 유닛(108)은 상기 제어 명령어의 제1 부분을 상기 부트 메모리(106)로부터 상기 제1 인터페이스를 거쳐 상기 컴퓨팅 유닛(101)으로 전달하고, 상기 제어 명령어의 제2 부분을 상기 부트 메모리(106)로부터 상기 제2 인터페이스를 거쳐 상기 컴퓨팅 유닛(101)으로 전달하도록 구성되는 것을 특징으로 하는 컴퓨팅 디바이스. - 청구항 1에 있어서, 상기 제어 명령어의 제2 부분은 제1 부분보다 더 크고, 상기 제2 인터페이스는 제1 인터페이스보다 더 빠른 속도로 데이터를 전송하도록 구성되는 것인 컴퓨팅 디바이스.
- 청구항 1 또는 청구항 2에 있어서, 상기 부트 제어 유닛(108)은 상기 제어 명령어의 제2 부분을 상기 제2 인터페이스를 거쳐 상기 컴퓨팅 유닛(101)의 작업 메모리(104) 내로 전달하기 위해 직접 메모리 액세스 컨트롤러(110)를 포함하는 것인 컴퓨팅 디바이스.
- 청구항 1 또는 청구항 2에 있어서, 상기 부트 제어 유닛은 FPGA(field-programmable gate array) 또는 ASIC(application-specific integrated circuit)을 포함하는 것인 컴퓨팅 디바이스.
- 청구항 1 또는 청구항 2에 있어서, 상기 제1 인터페이스는 로우 핀 카운트(LPC) 버스(107)이고, 상기 제2 인터페이스는 주변 구성 요소 인터커넥트 익스프레스(peripheral component interconnect express; PCIe) 버스(111)인 것인 컴퓨팅 디바이스.
- 청구항 1 또는 청구항 2에 있어서, 상기 컴퓨팅 유닛(101)은, 상기 제1 및 제2 인터페이스를 제공하고 상기 작업 메모리(104)와 인터페이싱하는 시스템 컨트롤러 허브(103)를 포함하는 것인 컴퓨팅 디바이스.
- 청구항 6에 있어서, 상기 부트 메모리(106)는 플래시 메모리를 포함하고, 상기 컴퓨팅 유닛(101)은 상기 시스템 컨트롤러 허브가 구비된 Intel Menlow 플랫폼을 포함하며, 상기 처리 유닛(102)은 X86 호환가능한 마이크로프로세서인 것인 컴퓨팅 디바이스.
- 청구항 1 또는 청구항 2에 있어서, 상기 제어 명령어의 제1 부분은 상기 제2 인터페이스를 초기화하는 제어 명령어를 포함하고, 상기 부트 제어 유닛(108)은 상기 제2 인터페이스를 초기화한 후에 상기 제어 명령어의 제2 부분을 전달하도록 구성되는 것인 컴퓨팅 디바이스.
- 컴퓨팅 디바이스를 동작시키는 방법으로서, 상기 컴퓨팅 디바이스는 작업 메모리(104)와 처리 유닛(102)을 포함하는 컴퓨팅 유닛(101)과, 상기 컴퓨팅 디바이스(100)를 동작시키기 위한 제어 명령어로서, 상기 컴퓨팅 디바이스의 시동시에 상기 컴퓨팅 유닛(101)으로 전달되는 제어 명령어를 포함하는 단일의 부트 메모리와, 적어도 제1 및 제2 인터페이스에 의해 상기 컴퓨팅 유닛(101)과 인터페이싱하고 제3 인터페이스에 의해 상기 부트 메모리(106)와 인터페이싱하는 부트 제어 유닛을 포함하며, 상기 방법은
상기 부트 제어 유닛(108)에 의해 상기 부트 메모리(106)로부터 상기 제어 명령어를 검색하는 단계와,
상기 제어 명령어의 제1 부분을 상기 제1 인터페이스를 거쳐 상기 컴퓨팅 유닛(101)으로 전달하는 단계와,
상기 제어 명령어의 제2 부분을 상기 제2 인터페이스를 거쳐 상기 컴퓨팅 유닛(101)으로 전달하는 단계
를 포함하는 것인 방법. - 청구항 9에 있어서, 상기 제어 명령어는 상기 부트 메모리(106)에 압축 포맷으로 저장되고, 상기 방법은
상기 압축된 제어 명령어가 상기 컴퓨팅 유닛(101)에서 수신된 후에 상기 처리 유닛(102)에 의해 상기 제어 명령어의 압축을 해제하는 단계를 더 포함하는 것인 방법. - 청구항 9에 있어서, 상기 컴퓨팅 디바이스는 청구항 1에 따라 구성되는 것인 방법.
- 컴퓨팅 디바이스로서,
시스템 컨트롤러(103), 작업 메모리(104) 및 처리 유닛(102)을 포함하는 컴퓨팅 유닛(101)으로서, 상기 시스템 컨트롤러(103)는 클록 신호를 수신하기 위한 클록 인터페이스를 포함하고, 상기 시스템 컨트롤러(103)는 또한 수신된 클록 신호 및 리셋 신호를 상기 컴퓨팅 디바이스(100)의 시동 시에 상기 처리 유닛(102)으로 제공하도록 구성되며, 상기 처리 유닛(102)은 상기 수신된 클록 신호를 이용하여 상기 리셋 신호를 처리하도록 구성되는 것인, 상기 컴퓨팅 유닛(101)을 포함하고,
상기 컴퓨팅 디바이스는 상기 시스템 컨트롤러(103)의 클록 인터페이스와 인터페이싱하는 시스템 관리 컨트롤러(105)를 더 포함하며, 상기 시스템 관리 컨트롤러(105)는 클록 신호를 상기 클록 인터페이스를 거쳐 상기 시스템 컨트롤러(103)로 공급하도록 되어 있는 것을 특징으로 하는 컴퓨팅 디바이스. - 청구항 12에 있어서, 상기 클록 신호를 생성하기 위해 전자식 진동자를 더 포함하며, 상기 전자식 진동자는 상기 시스템 관리 컨트롤러에 연결되는 것인 컴퓨팅 디바이스.
- 청구항 13에 있어서, 상기 전자식 진동자는 수정 결정 진동자를 포함하고, 1 MHz보다 큰 주파수의 클록 신호를 생성하며, 상기 시스템 컨트롤러(103)는 1 MHz 미만의 주파수를 갖는 클록 신호로 동작하도록 되어 있는 것인 컴퓨팅 디바이스.
- 청구항 13 또는 청구항 14에 있어서, 상기 시스템 관리 컨트롤러(105)는, 상기 클록 신호의 주파수를 상기 시스템 컨트롤러(103)가 필요로 하는 주파수에 맞추기 위하여, 상기 전자식 진동자에 의해 생성된 클록 신호의 주파수를 분할하도록 되어 있는 주파수 분할기를 포함하는 것인 컴퓨팅 디바이스.
- 청구항 12 또는 청구항 13에 있어서, 상기 시스템 컨트롤러는 시스템 컨트롤러 허브(103)이고, 상기 컴퓨팅 유닛(101)은 Intel Menlow 플랫폼을 포함하며, 상기 처리 유닛(102)은 X86 호환가능한 마이크로프로세서인 것인 컴퓨팅 디바이스.
- 청구항 12에 있어서, 상기 컴퓨팅 디바이스는 추가로 청구항 1에 따라 구성되는 것인 컴퓨팅 디바이스.
- 시스템 컨트롤러(103), 작업 메모리(104) 및 처리 유닛(102)을 포함하는 컴퓨팅 유닛(101)을 포함하는 컴퓨팅 디바이스를 동작시키는 방법으로서, 상기 시스템 컨트롤러(103)는 클록 신호를 수신하기 위한 클록 인터페이스를 포함하고, 상기 컴퓨팅 디바이스(100)는 상기 시스템 컨트롤러(103)의 클록 인터페이스와 인터페이싱하는 시스템 관리 컨트롤러(105)를 더 포함하며, 상기 방법은
상기 컴퓨팅 디바이스(100)의 시동시에 클록 신호를 상기 시스템 관리 컨트롤러(105)로부터 상기 클록 인터페이스를 거쳐 상기 시스템 컨트롤러(103)에 공급하는 단계와,
상기 시스템 컨트롤러(103)에 의해, 상기 수신된 클록 신호와 리셋 신호를 상기 처리 유닛(102)에 제공하는 단계와,
상기 처리 유닛(102)에서, 상기 제공된 클록 신호를 이용하여 상기 리셋 신호를 처리하는 단계를 포함하는 것인 방법. - 청구항 18에 있어서,
상기 시스템 관리 컨트롤러(105)에 연결된 전자식 진동자 또는 수정에의해 상기 클록 신호를 생성하는 단계와,
상기 시스템 관리 컨크롤러(105) 내의 상기 전자식 진동자 혹은 수정에 의해 생성된 클록 신호의 주파수를 상기 시스템 컨트롤러(103)가 필요로 하는 주파수에 맞추기 위하여, 상기 클록 신호의 주파수를 분할하는 단계
를 더 포함하는 것인 방법. - 청구항 18 또는 청구항 19에 있어서,
상기 리셋 신호를 상기 시스템 관리 컨트롤러(105)로부터 상기 시스템 컨트롤러(103)에 제공하는 단계와,
상기 리셋 신호가 상기 처리 유닛(102)에 의해 처리된 후에 상기 리셋 신호를 비활성화하는 단계
를 더 포함하는 것인 방법. - 청구항 18에 있어서, 상기 컴퓨팅 디바이스는 청구항 12에 따라 구성되는 것인 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09003545A EP2228718A1 (en) | 2009-03-11 | 2009-03-11 | Computing device and start-up method therefor |
EP09003545.2 | 2009-03-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100102562A KR20100102562A (ko) | 2010-09-24 |
KR101664322B1 true KR101664322B1 (ko) | 2016-10-24 |
Family
ID=40823412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100021571A KR101664322B1 (ko) | 2009-03-11 | 2010-03-11 | 컴퓨팅 디바이스 및 그 시동 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8621193B2 (ko) |
EP (2) | EP2228718A1 (ko) |
JP (1) | JP5588200B2 (ko) |
KR (1) | KR101664322B1 (ko) |
CN (1) | CN101901155B (ko) |
CA (1) | CA2695883C (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112009004062T5 (de) * | 2009-02-03 | 2012-06-21 | Hewlett-Packard Development Co., L.P. | Elektronische vorrichtung mit überlappendenhochlade-aufgaben-abrufvorgängen und hochlade-aufgaben-ausführung |
KR101678571B1 (ko) * | 2010-10-05 | 2016-11-22 | 삼성전자주식회사 | 컴퓨팅 시스템의 부팅방법 |
US9904559B2 (en) * | 2012-10-25 | 2018-02-27 | Canon Kabushiki Kaisha | Information processing apparatus and activation method therefor for processing data of a hibernation image |
US9135472B2 (en) | 2013-10-31 | 2015-09-15 | Square, Inc. | Systems and methods for secure processing with embedded cryptographic unit |
US10095435B1 (en) | 2015-01-09 | 2018-10-09 | Altera Corporation | Methods for initializing memory devices |
US10585674B2 (en) * | 2016-08-22 | 2020-03-10 | Hewlett-Packard Development Company, L.P. | Connected devices information |
US10410202B1 (en) * | 2016-12-31 | 2019-09-10 | Square, Inc. | Expedited booting with brownout monitoring |
US10410189B2 (en) | 2017-09-30 | 2019-09-10 | Square, Inc. | Scanning system with direct access to memory |
CN108845880A (zh) * | 2018-05-25 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种服务器池化产品开关机***及方法 |
JP7206693B2 (ja) * | 2018-08-24 | 2023-01-18 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置 |
TWI715433B (zh) * | 2020-02-06 | 2021-01-01 | 瑞昱半導體股份有限公司 | 啟動電路、啟動方法以及啟動系統 |
WO2021200926A1 (ja) * | 2020-04-01 | 2021-10-07 | パナソニックIpマネジメント株式会社 | ストレージシステム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050005076A1 (en) * | 2003-07-03 | 2005-01-06 | M-Systems Flash Disk Pioneers, Ltd. | Mass storage device with boot code |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08166834A (ja) * | 1994-12-14 | 1996-06-25 | Mitsubishi Electric Corp | クロック発生回路及びマイクロコンピュータ |
GB2304209B (en) * | 1995-08-04 | 2000-03-01 | Motorola Ltd | Processor system and method of starting-up a processor system |
US6058474A (en) * | 1997-01-24 | 2000-05-02 | Texas Instruments Incorporated | Method and apparatus for DMA boot loading a microprocessor without an internal ROM |
JP3851064B2 (ja) * | 1999-06-30 | 2006-11-29 | インフィネオン テクノロジース アクチエンゲゼルシャフト | Pllシンセサイザ |
US6754759B1 (en) * | 2000-03-08 | 2004-06-22 | Intel Corporation | Transfer of information between devices on different buses |
TW530203B (en) * | 2000-04-19 | 2003-05-01 | Ali Corp | Data processing system |
US6560685B1 (en) * | 2000-09-27 | 2003-05-06 | Sony Corporation | System and method to improve speed and reduce memory allocation for set top box boot-up |
US6883037B2 (en) * | 2001-03-21 | 2005-04-19 | Microsoft Corporation | Fast data decoder that operates with reduced output buffer bounds checking |
KR100448905B1 (ko) * | 2002-07-29 | 2004-09-16 | 삼성전자주식회사 | 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치 |
US20040139297A1 (en) * | 2003-01-10 | 2004-07-15 | Huppenthal Jon M. | System and method for scalable interconnection of adaptive processor nodes for clustered computer systems |
US7100038B2 (en) * | 2003-03-13 | 2006-08-29 | Sun Microsystems, Inc. | System and method for device parameter persistence |
US7076646B2 (en) * | 2003-11-05 | 2006-07-11 | Mitac Technology Corp. | Selective quick booting a partial set of devices corresponding to an event code via the BIOS |
US20060085629A1 (en) * | 2003-12-24 | 2006-04-20 | Intel Corporation | Mapping a reset vector |
US20080279098A1 (en) * | 2004-04-02 | 2008-11-13 | Heonchul Park | Wireless Receiver Code Download and Boot Sequence |
US7340595B2 (en) * | 2005-01-07 | 2008-03-04 | International Business Machines Corporation | Multiplex execution-path system |
KR100693924B1 (ko) * | 2005-01-31 | 2007-03-12 | 삼성전자주식회사 | 고속 직렬 인터페이스를 이용하는 부팅 시스템 및 부팅 방법 |
JP2006285738A (ja) * | 2005-04-01 | 2006-10-19 | Canon Inc | 複合機のソフトウェア起動方式 |
KR100708128B1 (ko) * | 2005-04-30 | 2007-04-17 | 삼성전자주식회사 | 낸드 플래시 메모리 제어 장치 및 방법 |
US20060282602A1 (en) * | 2005-06-09 | 2006-12-14 | Tse-Hsine Liao | Data transmission device and method thereof |
JP2007122653A (ja) * | 2005-10-31 | 2007-05-17 | Toshiba Corp | 情報処理装置及び起動制御方法 |
US20070101168A1 (en) * | 2005-10-31 | 2007-05-03 | Lee Atkinson | Method and system of controlling data transfer speed and power consumption of a bus |
US8260968B2 (en) * | 2006-01-23 | 2012-09-04 | Lantiq Deutschland Gmbh | Method and system for booting a software package on a network processor |
US7490177B2 (en) * | 2006-01-23 | 2009-02-10 | Infineon Technologies Ag | System method for performing a direct memory access for automatically copying initialization boot code in a new memory architecture |
JP2007206885A (ja) * | 2006-01-31 | 2007-08-16 | Toshiba Corp | コンピュータシステム及びシステム起動方法 |
JP2007206933A (ja) * | 2006-02-01 | 2007-08-16 | Matsushita Electric Ind Co Ltd | 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法 |
CN101093446B (zh) * | 2006-06-21 | 2011-06-22 | 鸿富锦精密工业(深圳)有限公司 | 操作***引导装置、方法及其应用的电脑*** |
TW200825915A (en) * | 2006-12-07 | 2008-06-16 | Wistron Corp | Computer system and related method for preventing from failing to update BIOS program |
JP2008172491A (ja) * | 2007-01-11 | 2008-07-24 | Seiko Epson Corp | ファクシミリ |
JP2008269288A (ja) * | 2007-04-20 | 2008-11-06 | Hewlett-Packard Development Co Lp | 起動システム、起動プログラムおよびその方法。 |
TW200847022A (en) * | 2007-05-30 | 2008-12-01 | Micro Star Intl Co Ltd | Basic input/output system with memory simulation module |
US20090006708A1 (en) * | 2007-06-29 | 2009-01-01 | Henry Lee Teck Lim | Proportional control of pci express platforms |
EP2026240A1 (en) * | 2007-08-03 | 2009-02-18 | Axalto S.A. | Method for booting portable objects with multiple communication interface |
DK2822341T3 (en) * | 2008-03-25 | 2018-01-08 | ERICSSON TELEFON AB L M (publ) | Timing of component carriers in wireless multi-carrier networks |
US8984653B2 (en) * | 2008-04-03 | 2015-03-17 | Microsoft Technology Licensing, Llc | Client controlled lock for electronic devices |
US8356168B2 (en) * | 2008-06-19 | 2013-01-15 | Intel Corporation | Non-blocking UEFI I/O channel enhancements |
-
2009
- 2009-03-11 EP EP09003545A patent/EP2228718A1/en not_active Ceased
- 2009-03-11 EP EP10007859A patent/EP2244186A3/en not_active Ceased
-
2010
- 2010-03-08 CA CA2695883A patent/CA2695883C/en active Active
- 2010-03-10 JP JP2010053642A patent/JP5588200B2/ja active Active
- 2010-03-11 CN CN201010229183.6A patent/CN101901155B/zh active Active
- 2010-03-11 US US12/722,468 patent/US8621193B2/en active Active
- 2010-03-11 KR KR1020100021571A patent/KR101664322B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050005076A1 (en) * | 2003-07-03 | 2005-01-06 | M-Systems Flash Disk Pioneers, Ltd. | Mass storage device with boot code |
Also Published As
Publication number | Publication date |
---|---|
KR20100102562A (ko) | 2010-09-24 |
EP2244186A3 (en) | 2010-11-10 |
JP2010211799A (ja) | 2010-09-24 |
EP2228718A1 (en) | 2010-09-15 |
CN101901155B (zh) | 2014-08-27 |
JP5588200B2 (ja) | 2014-09-10 |
CA2695883C (en) | 2015-12-29 |
CN101901155A (zh) | 2010-12-01 |
US20100235618A1 (en) | 2010-09-16 |
CA2695883A1 (en) | 2010-09-11 |
US8621193B2 (en) | 2013-12-31 |
EP2244186A2 (en) | 2010-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101664322B1 (ko) | 컴퓨팅 디바이스 및 그 시동 방법 | |
KR101832953B1 (ko) | 모바일 디바이스의 어플리케이션 프로세서의 원격 시동 | |
US8892935B2 (en) | Dynamic bus clock rate adjusting method and device | |
US8938609B2 (en) | Methods and apparatus for priority initialization of a second processor | |
KR102384347B1 (ko) | 클록 관리 유닛을 포함하는 시스템 온 칩 및 그 동작방법 | |
US20070067506A1 (en) | Multimedia program download control system and method of apparatus equipped with multimedia processor | |
US11288010B2 (en) | Efficiently storing computer processor data structures in computer memory | |
US20130067250A1 (en) | Computer device and frequency adjusting method for central processing unit | |
EP0797137A1 (en) | A power switch | |
CN111512266A (zh) | 用于低功率状态转换的握手协议的***、装置和方法 | |
EP3751407B1 (en) | Electronic device and method of utilizing storage space thereof | |
US6016549A (en) | Peripheral unit having at least two sequencer circuits configured to control data transfers for power saving | |
CN116762076A (zh) | 功率管理集成电路中的辅助通信信道的***装置访问控制 | |
US20190129464A1 (en) | I3c clock generator | |
US7549009B2 (en) | High-speed PCI interface system and a reset method thereof | |
CN112559082B (zh) | 终端设备及nfc时钟控制方法、nfc模块、介质 | |
US20090177807A1 (en) | Reset method for application specific integrated circuits (asic) | |
EP2973139B1 (en) | Security co-processor boot performance | |
JP4482044B2 (ja) | 情報処理装置およびデバイスコントローラの駆動制御方法 | |
JP2003058495A (ja) | アービトレーション遅延を設定するプログラマブル・カウンタ | |
CN115729633A (zh) | 主从式多处理器***的控制方法、装置和计算机设备 | |
US9367332B2 (en) | Sensing data reading device and method | |
JP3129397B2 (ja) | マイクロコンピュータ用エミュレーション装置 | |
JP2005531084A (ja) | 情報を転送する方法および装置 | |
JP2001297006A (ja) | 半導体集積回路装置および情報処理システム |
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 | ||
FPAY | Annual fee payment |
Payment date: 20191001 Year of fee payment: 4 |