KR20090113610A - 두 개의 프로세서들을 포함하는 디지털 처리 장치의 다중포트 메모리를 이용한 부팅 방법 - Google Patents

두 개의 프로세서들을 포함하는 디지털 처리 장치의 다중포트 메모리를 이용한 부팅 방법 Download PDF

Info

Publication number
KR20090113610A
KR20090113610A KR1020080039417A KR20080039417A KR20090113610A KR 20090113610 A KR20090113610 A KR 20090113610A KR 1020080039417 A KR1020080039417 A KR 1020080039417A KR 20080039417 A KR20080039417 A KR 20080039417A KR 20090113610 A KR20090113610 A KR 20090113610A
Authority
KR
South Korea
Prior art keywords
processor
memory
area
memory area
program code
Prior art date
Application number
KR1020080039417A
Other languages
English (en)
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 삼성전자주식회사
Priority to KR1020080039417A priority Critical patent/KR20090113610A/ko
Priority to US12/430,722 priority patent/US8209527B2/en
Publication of KR20090113610A publication Critical patent/KR20090113610A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06F13/14Handling requests for interconnection or transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)

Abstract

제1 및 제2 프로세서들을 포함하는 디지털 처리 장치의 부팅 방법은, 상기 제2 프로세서와 외부 사이의 인터페이스를 중지시키고, 제1 메모리로부터 제2 메모리로 상기 제2 프로세서를 위한 제2 프로그램 코드를 전송하며, 그리고 상기 제2 프로세서의 제어 하에 상기 제1 메모리로부터 상기 제2 메모리로 상기 제1 프로세서를 위한 제1 프로그램 코드를 전송하고, 상기 제1 프로세서와 외부 사이의 인터페이스를 재개한다. 이와 같은 본 제1 프로세서를 위한 제1 프로그램 코드를 제2 메모리에 짧은 시간 내에 다운로드함으로써 디지털 처리 장치의 부팅 시간이 감소한다.

Description

두 개의 프로세서들을 포함하는 디지털 처리 장치의 다중 포트 메모리를 이용한 부팅 방법{BOOTING METHOD OF DIGITAL PROCESSING DEVICE HAVING TWO PROCESSORS USING MULTI PORT MEMORY}
본 발명은 두 개의 프로세서를 포함하는 시스템의 부팅 방법에 관한 기술이다.
최근 디지털 분야의 기술 발달로 인하여 다양한 기능을 수행하는 디지털 처리 장치들이 개발되고 있다. 다양한 기능들을 신속하고 효율적으로 처리하기 위해서 최근의 디지털 처리 장치는 각각이 소정의 기능을 수행하는 복수의 프로세서들을 구비하고, 각 프로세서는 동작에 필요한 프로그램 코드 및 데이터를 저장하기 위한 메모리와 결합된다.
잘 알려진 바와 같이, 디지털 처리 장치의 파워 업(power-up)시 내장된 프로세서들 각각은 일련의 부트 업 과정을 수행한다. 부트 업시 필요한 부트 코드들은 프로세서 내부의 메모리(예를 들면, ROM)에 저장되고 오퍼레이팅 시스템, 프로토콜 스택(protocol stack) 및 프로그램 코드들은 플래시 메모리와 같은 불휘발성 메모리에 저장된다. 플래시 메모리에 저장된 프로그램 코드들은 부트 업시 각 프로세 서와 결합되어 있는 휘발성 메모리(예를 들면, DRAM, SRAM 등)에 로딩(loading)되어서 사용된다. 휘발성 메모리는 전원이 꺼지면 저장된 내용이 지워지나 액세스 속도가 빠르므로 디지털 처리 장치의 워킹 메모리로서 널리 사용된다.
그러나 디지털 처리 장치의 부트 업시, 불휘발성 메모리와 직접 연결되지 않은 프로세서와 결합된 휘발성 메모리로 불휘발성 메모리에 저장된 프로그램 코드들을 로딩하기 위해서는 불휘발성 메모리와 연결된 프로세서를 통해야만 한다. 프로세서들 사이의 인터페이스로 널리 사용되는 SPI(serial peripheral interface)는 통상 8Mbps이어서 불휘발성 메모리에 저장된 프로그램 코드들을 불휘발성 메모리와 직접 연결되지 않은 프로세서와 결합된 휘발성 메모리로 로딩하는데 많은 시간이 소요된다. 결국, 디지털 처리 장치의 부팅 시간이 길어진다.
따라서 본 발명의 목적은 디지털 처리 장치의 부팅 시간을 줄일 수 있는 부팅 방법을 제공하는데 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 의하면, 제1 및 제2 프로세서들을 포함하는 디지털 처리 장치의 부팅 방법은: 상기 제2 프로세서와 외부 사이의 인터페이스를 중지시키고, 제1 메모리로부터 제2 메모리로 상기 제2 프로세서를 위한 제2 프로그램 코드를 전송하고, 상기 제1 프로세서를 위한 SSL(second stage loader)을 상기 제1 메모리로부터 상기 제2 프로세서의 버퍼로 전송하고, 그리고 상기 제2 프로세서의 제어 하에 상기 제1 메모리로부터 상기 제2 메모리로 상기 제1 프로세서를 위한 제1 프로그램 코드를 전송하고, 상기 제1 프로세서와 외부 사이의 인터페이스를 재개한다.
이 실시예에 있어서, 상기 제2 메모리는 제1 내지 제3 메모리 영역들을 포함한다.
이 실시예에 있어서, 상기 제2 메모리는, 상기 제1 및 제2 프로세서들 각각에 의해서 액세스 가능한 듀얼 포트 메모리이다.
이 실시예에 있어서, 상기 제2 메모리는, 상기 제1 및 제2 프로세서들 각각에 의해서 액세스 가능한 듀얼 포트 메모리이다.
이 실시예에 있어서, 상기 제1 메모리 영역은 상기 제1 프로세서 전용이고, 상기 제2 메모리 영역은 상기 제2 프로세서 전용이며, 그리고 상기 제3 메모리 영역은 상기 제1 및 제2 프로세서들에 의해서 공유되도록 설정된다.
이 실시예에 있어서, 상기 SSL은 초기에 상기 제3 메모리 영역에 대한 액세스 권한이 상기 제1 프로세서에게 부여되도록 설정된다.
이 실시예에 있어서, 상기 인터페이스 재개시키는 것은, 상기 제2 프로세서의 제어에 의해서 상기 제2 프로세서와 외부 사이의 인터페이스를 재개시키고, 상기 제2 프로세서의 버퍼로부터 상기 제1 프로세서의 내부 메모리로 상기 SSL을 다운로드하고, 상기 제2 프로세서에 의해서 상기 제3 메모리 영역이 액세스되도록 요청하고, 상기 제1 프로세서에 의해서 상기 제2 프로세서의 상기 제3 메모리 영역에 대한 접근을 허용하고, 상기 제2 프로세서에 의해서 상기 제1 프로세서를 위한 상 기 제1 프로그램 코드들 상기 제3 메모리 영역으로 전송하고, 상기 제3 메모리에 대한 액세스 권한을 상기 제1 프로세서에게 부여하고, 그리고 상기 제1 프로세서에 의해서 상기 제3 메모리 영역에 저장된 상기 제1 프로그램 코드를 상기 제1 메모리 영역으로 복사하는 것을 포함한다.
이 실시예에 있어서, 상기 제2 메모리는 상기 제3 메모리 영역의 접근 권한을 설정하기 위한 메일 박스를 포함한다.
이 실시예에 있어서, 상기 SSL은 초기에 상기 제3 메모리 영역의 접근 권한이 상기 제2 프로세서에게 부여되도록 설정된다.
이 실시예에 있어서, 상기 인터페이스 재개시키는 것은 상기 제2 프로세서의 제어에 의해서 상기 제1 프로세서와 외부 사이의 인터페이스를 재개시키고, 상기 제2 프로세서의 버퍼로부터 상기 제1 프로세서의 내부 메모리로 상기 SSL을 다운로드하고, 상기 제2 프로세서에 의해서 상기 제1 프로세서를 위한 상기 제1 프로그램 코드들 상기 제3 메모리 영역으로 전송하고, 상기 제3 메모리 영역의 접근 권한을 상기 제1 프로세서에게 부여하고, 상기 제1 프로세서에 의해서 상기 제3 메모리 영역에 저장된 상기 제1 프로그램 코드를 상기 제1 메모리 영역으로 복사하는 것을 포함한다.
이 실시예에 있어서, 상기 제2 메모리는 상기 제3 메모리 영역의 접근 권한을 설정하기 위한 메일 박스를 포함한다.
이 실시예에 있어서, 초기에 상기 제2 메모리의 상기 제3 영역에 대한 액세스 권한은 상기 제2 프로세서에게 주어진다.
이 실시예에 있어서, 상기 인터페이스 재개시키는 것은 상기 제2 프로세서의 제어에 의해서 상기 제1 프로세서를 위한 상기 제1 프로그램 코드를 상기 제1 메모리로부터 상기 제2 메모리의 상기 제3 메모리 영역으로 전송하고, 상기 제3 메모리 영역의 접근 권한을 상기 제1 프로세서에게 부여하고, 상기 제2 프로세서의 제어에 의해서 상기 제1 프로세서와 외부 사이의 인터페이스를 재개시키고, 상기 제2 프로세서의 버퍼로부터 상기 제1 프로세서의 내부 메모리로 상기 SSL을 다운로드하고, 그리고 상기 제1 프로세서에 의해서 상기 제2 메모리의 상기 제3 영역에 저장된 상기 제1 프로세서를 위한 상기 제1 프로그램 코드를 상기 제1 영역으로 복사하는 것을 포함한다.
이 실시예에 있어서, 상기 제2 메모리는 상기 제2 메모리 영역의 접근 권한을 설정하기 위한 값을 저장하는 메일 박스를 포함한다.
이 실시예에 있어서, 상기 제1 메모리는 플래시 메모리이고, 상기 제2 메모리는 듀얼 포트 DRAM이다.
이와 같은 본 발명에 의하면 디지털 처리 장치의 부팅 시간이 감소된다.
이하 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 디지털 처리 장치를 보여주는 도면이다.
도 1을 참조하면, 디지털 처리 장치(100)는 제1 프로세서(110), 제2 프로세서(120), 제1 메모리인 플래시 메모리(130) 그리고 제2 메모리인 DRAM(dynamic random access memory, 140)을 포함한다. 일 실시예에서 디지털 처리 장치(100)가 휴대폰인 경우 제1 프로세서(110)는 모뎀이고 제2 프로세서(120)는 AP(access point)이다.
제1 및 제2 프로세서들(110, 120)은 직접 제어 신호들을 주고받을 수 있으며, UART(Universal Asynchronous Receiver/Transmitter) 및 SPI(Serial Peripheral Interface) 또는 그 밖의 다양한 인터페이스들을 통해 연결될 수 있다.
제1 프로세서(110)는 ROM(read only memory, 111)과 RAM(112)을 포함한다. ROM(111)은 부트 코드(boot code)를 저장한다. 파워 업시 제1 프로세서(110)는 ROM(111)에 저장된 부트 코드에 따라서 일련의 부팅 과정을 수행한다.
제2 프로세서(120)는 ROM(121)과 버퍼들(122, 123)을 포함한다. 파워 업시 제2 프로세서(120)는 ROM(121)에 저장된 부트 로더(boot loader)에 따라서 플래시 메모리(130)에 저장된 부트 코드를 읽어와서 실행한다.
플래시 메모리(130)는 제2 프로세서(120)와 연결된다. 플래시 메모리(130)는 제1 프로세서(110)를 위한 SSL(second stage loader, 133), 제2 프로세서(130)를 위한 부트 코드(131), 그리고 제1 프로세서(110)의 동작에 필요한 프로그램 코드들(134)을 저장한다.
DRAM(140)은 제1 및 제2 프로세서들(110, 120) 각각에 의해서 동시에 액세스 가능한 듀얼 포트 메모리(예를 들면, 삼성전자(주)에서 생산되는 OneDRAMTM)이다. 도 1에 도시된 DRAM(140)은 듀얼 포트 메모리이나, 본 발명은 두 개 이상의 포트에서 메모리 뱅크에 액세스하는 다중 포트 메모리를 이용하여 구현될 수도 있을 것이다.
이 실시예에서 DRAM(140)은 4 개의 뱅크들(141-144)을 포함한다. 뱅크(141)는 제1 프로세서(110)에 의해서만 액세스될 수 있는 제1 프로세서 전용 영역이고, 뱅크들(142, 144)은 제2 프로세서(120)에 의해서만 액세스될 수 있는 제2 프로세서 전용 영역이며, 그리고 뱅크(143)는 제1 및 제2 프로세서들(110, 120) 모두에 의해서 액세스 가능한 공유된 영역이다. 이하 설명에서 뱅크(143)는 공유 뱅크라 칭한다.
공유 뱅크(143)는 제1 및 제2 프로세서들(110, 120) 모두에 의해서 액세스될 수 있으나 특정 시점에는 제1 및 제2 프로세서들(110, 120) 중 어느 하나에 의해서만 액세스될 수 있다. 공유 뱅크(143)는 제1 및 제2 프로세서들(110, 120) 중 액세스가 허용된 프로세서의 정보를 저장하기 위한 메일 박스들(mailboxs, 151, 542)를 포함한다. 메일 박스들(151, 152)은 공유 뱅크(143)의 일부 영역에 할당될 수 있으며, 다른 예에서 레지스터나 버퍼 등과 같은 인터페이스 영역으로 DRAM(140) 내에 별도로 구비될 수도 있다.
메일 박스들(151, 152)에는 공유 뱅크(143)의 액세스 권한이 미리 설정된 전송 방향에 따라 상대 프로세서에게 이양(transfer)될 때 상대 프로세서에게 주는 메시지(권한요청, 데이터 전달, 명령어 전송)가 쓰여진다. 공유 뱅크(143)에 대한 액세스 권한을 제1 프로세서(110)에서 제2 프로세서(120)로 이양시키고자 할 때 제1 또는 제2 프로세서(110, 120)는 메일 박스(151)에 메시지를 기입한다. 공유 뱅크(143)에 대한 액세스 권한을 제2 프로세서(120)에서 제1 프로세서(110)로 이양시키고자 할 때 제1 또는 제2 프로세서(110, 120)는 메일 박스(152)에 메시지를 기입한다.
예를 들어, 제1 프로세서(110)가 공유 뱅크(143)에 대한 액세스 권한을 요청하는 경우, 제1 프로세서(110)가 메일 박스(152)에 소정 메시지를 기입한다. DRAM(140)은 메시지에 따라서 제2 프로세서(120)에 의해서 소정의 인터럽트 처리 서비스가 수행되도록 인터럽트 신호들을 생성하고, 이 출력 신호는 하드웨어적으로 제2 프로세서(120)에게 전달된다. 제2 프로세서(120)는 소정의 인터럽트 처리 서비스를 수행하고, 승인 신호를 메일 박스(152)에 기입한다. 이와 같은 일련의 동작에 의해서 공유 뱅크(143)에 대한 액세스 권한이 제2 프로세서(120)에서 제1 프로세서(110)로 이양될 수 있다.
도 1에는 디지털 처리 장치(100)의 부팅 동작과 관련있는 구성들만을 도시하고 있으나 디지털 처리 장치(100)는 도 1에 도시된 구성들 뿐만 아니라 다양한 구성들을 더 포함할 수 있다. 예를 들어, 도 1에는 디지털 처리 장치(100)가 휴대용 전화기인 경우 휴대용 전화기는 키패드, 디스플레이 유닛, 카메라 모듈, 안테나, 스피커 등과 같은 구성을 더 포함할 수 있다. 또한 본 발명은 휴대용 전화기 뿐만 아니라 양방향 라디오 통신 시스템, 단반향 페이저, 양방향, 페이저, 개인용 통신 시스템 또는 휴대용 컴퓨터 등과 같은 휴대용 컴퓨팅 디바이스 또는 휴대용 통신 디바이스가 될 수 있다.
본 발명의 디지털 처리 장치(100)의 부팅 방법이 이하 상세히 설명된다.
도 2는 본 발명의 바람직한 실시예에 따른 부팅 수순을 보여주는 플로우차트이다.
우선 디지털 처리 장치(100)로 전원이 공급되면(210), 제1 프로세서(110)는 ROM(111)에 저장된 부트 코드를 실행하고, 제2 프로세서(120)는 ROM(121)에 저장된 부트 로더를 실행시켜서 플래시 메모리(130)로부터 부트 코드(131)를 로딩한다(220). 제2 프로세서(120)는 제1 프로세서(110)의 리셋 단자(미 도시됨)가 비활성 상태를 유지하도록 제어한다(230). 즉, 제2 프로세서(120)는 제1 프로세서(110)가 외부와의 인터페이스를 개시하지 않도록 리셋 신호(RESETn)를 비활성화한다.
제2 프로세서(120)는 제2 프로세서(120)의 오퍼레이팅 시스템(132)을 플래시 메모리(130)로부터 독출해서 DRAM(140)의 제2 프로세서(120) 전용 영역인 뱅크(142) 그리고/또는 뱅크(144)에 저장한다(240).
제2 프로세서(120)는 제1 프로세서(110)의 SSL(133)을 플래시 메모리(130)로부터 독출해서 제2 프로세서(120)에 구비된 버퍼(122)에 저장한다(250). 버퍼(122)는 RAM(random access memory)으로 구성될 수도 있다.
제2 프로세서(120)는 제1 프로세서(110)의 리셋 단자를 활성 상태로 천이시키고, 제1 프로세서(110)를 위한 프로그램 코드(134)를 플래시 메모리(130)로부터 독출해서 DRAM(140)에 저장한다(260). 이 때, 제2 프로세서(120)의 버퍼(122)에 저장된 SSL은 제1 프로세서(110)의 RAM(112)으로 전송된다.
이와 같은 본 발명에 의하면 파워 업시, 플래시 메모리(130)에 저장된 제1 프로세서(110)를 위한 프로그램 코드(134)는, 제1 프로세서(110)의 제어없이, 제2 프로세서(120)에 의해서 DRAM(140)으로 로딩된다. 제2 프로세서(120)와 DRAM(140) 사이의 데이터 전송 속도는 고속(예를 들면, 100MHz)이므로 빠른 시간 내에 제1 프로세서(110)를 위한 프로그램 코드를 플래시 메모리(130)로부터 DRAM(140)으로 로딩할 수 있다. 그 결과, 디지털 처리 장치(100)의 부팅 속도가 향상된다.
도 3 내지 도 5는 도 2에 도시된, 제2 프로세서(120)에 의해서 제1 프로세서(110)의 리셋 단자를 활성 상태로 천이시키고, 제1 프로세서(110)를 위한 프로그램 코드(134)를 플래시 메모리(130)로부터 독출해서 DRAM(140)에 저장하는 과정의 구체적인 실시예를 보여주는 플로우차트들이다.
도 3에 도시된 플로우차트는 제1 프로세서(110)의 내부 RAM(112)에 저장되는 SSL이 초기에 공유 뱅크(143)에 대한 액세스 권한을 제1 프로세서(110)에게 부여했을 때 동작 방법을 보여주고 있고, 도 4 및 도 5에 도시된 플로우차트들은 초기에 공유 뱅크(143)에 대한 액세스 권한이 제2 프로세서(120)에게 부여되어 있을 때 동작 방법을 보여주고 있다.
먼저 도 3을 참조하면, 제1 프로세서(110)는 제2 프로세서(120)의 리셋 단자를 활성 상태로 천이시킨다(310). 제1 프로세서(110)는 제2 프로세서(120)의 버퍼(122)에 저장된 SSL을 내부 RAM(112)으로 다운로드한다(320).
이 실시예에서, 초기에 공유 영역인 공유 뱅크(143)에 대한 액세스 권한은 제1 프로세서(110)에게 주어진 것으로 가정한다. 공유 뱅크(143)의 액세스 권한은 제1 프로세서(110)의 RAM(112)에 기입되는 SSL에 의해서 정의된다.
제2 프로세서(120)는 공유 뱅크(143)에 대한 액세스 권한을 획득하기 위하여 DRAM(140)의 메일 박스(141)에 메시지를 기입한다(330). 제1 프로세서(110)는 제2 프로세서(120)에게 공유 뱅크(143)에 대한 액세스를 허용한다(340). 제2 프로세서(120)는 제1 프로세서(110)를 위한 프로그램 코드(134)를 플래시 메모리(130)로부터 독출해서 공유 뱅크(143)에 기입한다(350).
제2 프로세서(120)는 메일 박스(152)에 메시지를 기입하는 것에 의해서 공유 뱅크(143)에 대한 액세스 권한을 제1 프로세서(110)에게 넘겨준다(360). 제1 프로세서(110)는 공유 뱅크(143)에 저장된 제1 프로세서(100)를 위한 프로그램 코드를 읽어와서 DRAM(140)의 제1 프로세서 전용 영역 즉, 뱅크(141)에 저장한다.
이와 같은 방법으로 플래시 메모리(130)에 저장된 제1 프로세서(110)를 위한 프로그램 코드가 DRAM(140)의 제1 프로세서 전용 영역 즉, 뱅크(141)에 로딩된다. 특히, 플래시 메모리(130)로부터 독출된 프로그램 코드(134)는 제1 및 제2 프로세서들(110, 120) 사이의 인터페이스를 통하지 않고, 제2 프로세서(120)의 제어에 의해서 DRAM(140)의 공유 뱅크(143)에 저장된 후 제1 프로세서(110)에 의해서 제1 프로세서 전용 영역인 뱅크(141)로 이동된다. 제1 프로세서(110)와 DRAM(140) 사이 그리고 제2 프로세서(120)와 DRAM(140) 사이는 고속의 데이터 버스를 통해 연결되어 있으므로 데이터 전송 속도가 빠르다.
도 4는, 도 2에 도시된, 제2 프로세서(120)에 의해서 제1 프로세서(110)의 리셋 단자를 활성 상태로 천이시키고, 제1 프로세서(110)를 위한 프로그램 코드(134)를 플래시 메모리(130)로부터 독출해서 DRAM(140)에 저장하는 방법의 다른 실시예를 보여주는 플로우차트들이다.
도 4를 참조하면, 제2 프로세서(120)는 제1 프로세서(110)의 리셋 단자가 활성화되도록 제어한다. 즉, 제2 프로세서(120)는 활성화된 리셋 신호(RESETn)를 제1 프로세서(110)로 제공한다(410).
제1 프로세서(110)는 제2 프로세서(120)의 버퍼(122)에 저장된 SSL을 RAM(112)으로 다운로드한다(420). 제1 프로세서(110)는 내부 RAM(112)에 저장되는 SSL에 따라서 동작하되, 이 실시예에 있어서 SSL은 초기에 공유 뱅크(143)의 액세스 권한을 제2 프로세서(120)에게 부여한다.
제2 프로세서(120)는 제1 프로세서(110)를 위한 프로그램 코드(134)를 플래시 메모리(130)로부터 독출해서 공유 뱅크(143)에 저장한다(430).
제1 프로세서(110)를 위한 프로그램 코드 전체가 공유 뱅크(143)로 전송되고 나면, 제2 프로세서(120)는 공유 뱅크(143)에 대한 액세스 권한이 제2 프로세서(120)에서 제1 프로세서(110)로 이양되도록 메일 박스(152)에 메시지를 기입한다(440).
제1 프로세서(110)는 공유 뱅크(143)로부터 제1 프로세서(110)를 위한 프로그램 코드를 독출해서 제1 프로세서(110)의 전용 영역인 뱅크(141)에 저장한다(450).
도 5는, 도 2에 도시된, 제2 프로세서(120)에 의해서 제1 프로세서(110)의 리셋 단자를 활성 상태로 천이시키고, 제1 프로세서(110)를 위한 프로그램 코드를 플래시 메모리(130)로부터 독출해서 DRAM(140)에 저장하는 방법의 또다른 실시예를 보여주는 플로우차트들이다.
도 5에 도시된 예에서, 초기에 공유 뱅크(143)에 대한 접근 권한은 제2 프로세서(120)에게 주어진 것으로 가정한다.
도 5를 참조하면, 제2 프로세서(120)는 제1 프로세서(110)를 위한 프로그램 코드(134)를 플래시 메모리(130)로부터 독출해서 DRAM(140)의 공유 영역(143)에 기입한다(510).
제1 프로세서(110)를 위한 프로그램 코드(134) 전체가 플래시 메모리(130)로부터 DRAM(140)의 공유 영역(143)으로 전송되는 동작이 완료되면, 제2 프로세서(520)는 메일 박스(152)에 메시지를 기입하는 것에 의해서 공유 뱅크들(141, 143)에 대한 접근 권한을 제1 프로세서(510)에게 넘겨준다(520).
제2 프로세서(120)는 제1 프로세서(110)의 리셋 단자를 활성 상태로 만든다(530). 제1 프로세서(110)는 제2 프로세서(120)의 버퍼(122)에 저장된 SSL을 다운로드해서 RAM(112)에 저장한다(540). 제1 프로세서(110)는 RAM(112)에 저장된 SSL에 따라서 장치 드라이버들에 대한 설정을 수행한다. SSL은 메일 박스들(151, 152)을 체크하고, 공유 뱅크(143)에 대한 접근 권한이 제1 프로세서(110)로 이양되었음을 확인(confirm)하는 메시지를 메일 박스(152)에 기입한다.
제1 프로세서(110)는 공유 뱅크(143)에 저장된 제1 프로세서(110)를 위한 프로그램 코드를 읽어와서 제1 프로세서 전용 영역인 뱅크(141)에 저장한다(550).
예시적인 바람직한 실시예를 이용하여 본 발명을 설명하였지만, 본 발명의 범위는 개시된 실시예에 한정되지 않는다는 것이 잘 이해될 것이다. 오히려, 본 발명의 범위에는 다양한 변형 예들 및 그 유사한 구성들을 모두 포함될 수 있도록 하려는 것이다. 따라서, 청구범위는 그러한 변형 예들 및 그 유사한 구성들 모두를 포함하는 것으로 가능한 폭넓게 해석되어야 한다.
도 1은 본 발명의 바람직한 실시예에 따른 디지털 처리 장치를 보여주는 도면이다.
도 2는 본 발명의 바람직한 실시예에 따른 부팅 수순을 보여주는 플로우차트이다.
도 3 내지 도 5는 도 2에 도시된 부팅 수순 중 제1 프로세서를 위한 제1 프로그램 코드를 DRAM에 저장하는 방법의 다양한 실시예를 보여주는 플로우차트들이다.

Claims (14)

  1. 제1 및 제2 프로세서들을 포함하는 디지털 처리 장치의 부팅 방법에 있어서:
    상기 제2 프로세서와 외부 사이의 인터페이스를 중지시키는 단계와;
    제1 메모리로부터 제2 메모리로 상기 제2 프로세서를 위한 제2 프로그램 코드를 전송하는 단계와;
    상기 제1 프로세서를 위한 SSL(second stage loader)을 상기 제1 메모리로부터 상기 제2 프로세서의 버퍼로 전송하는 단계; 그리고
    상기 제2 프로세서의 제어 하에 상기 제1 메모리로부터 상기 제2 메모리로 상기 제1 프로세서를 위한 제1 프로그램 코드를 전송하고, 상기 제1 프로세서와 외부 사이의 인터페이스를 재개하는 단계를 포함하는 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
  2. 제 1 항에 있어서,
    상기 제2 메모리는 제1 내지 제3 메모리 영역들을 포함하는 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
  3. 제 2 항에 있어서,
    상기 제2 메모리는,
    상기 제1 및 제2 프로세서들 각각에 의해서 액세스 가능한 듀얼 포트 메모리 인 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
  4. 제 3 항에 있어서,
    상기 제1 메모리 영역은 상기 제1 프로세서 전용이고, 상기 제2 메모리 영역은 상기 제2 프로세서 전용이며, 그리고 상기 제3 메모리 영역은 상기 제1 및 제2 프로세서들에 의해서 공유되도록 설정된 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
  5. 제 4 항에 있어서,
    상기 SSL은 초기에 상기 제3 메모리 영역에 대한 액세스 권한이 상기 제1 프로세서에게 부여되도록 설정된 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
  6. 제 5 항에 있어서,
    상기 인터페이스 재개 단계는,
    상기 제2 프로세서의 제어에 의해서 상기 제2 프로세서와 외부 사이의 인터페이스를 재개시키는 단계와;
    상기 제2 프로세서의 버퍼로부터 상기 제1 프로세서의 내부 메모리로 상기 SSL을 다운로드하는 단계와;
    상기 제2 프로세서에 의해서 상기 제3 메모리 영역이 액세스되도록 요청하는 단계와;
    상기 제1 프로세서에 의해서 상기 제2 프로세서의 상기 제3 메모리 영역에 대한 접근을 허용하는 단계와;
    상기 제2 프로세서에 의해서 상기 제1 프로세서를 위한 상기 제1 프로그램 코드들 상기 제3 메모리 영역으로 전송하는 단계와;
    상기 제3 메모리에 대한 액세스 권한을 상기 제1 프로세서에게 부여하는 단계; 그리고
    상기 제1 프로세서에 의해서 상기 제3 메모리 영역에 저장된 상기 제1 프로그램 코드를 상기 제1 메모리 영역으로 복사하는 단계를 포함하는 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
  7. 제 6 항에 있어서,
    상기 제2 메모리는 상기 제3 메모리 영역의 접근 권한을 설정하기 위한 메일 박스를 포함하는 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
  8. 제 4 항에 있어서,
    상기 SSL은 초기에 상기 제3 메모리 영역의 접근 권한이 상기 제2 프로세서에게 부여되도록 설정된 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
  9. 제 8 항에 있어서,
    상기 인터페이스 재개 단계는,
    상기 제2 프로세서의 제어에 의해서 상기 제1 프로세서와 외부 사이의 인터페이스를 재개시키는 단계와;
    상기 제2 프로세서의 버퍼로부터 상기 제1 프로세서의 내부 메모리로 상기 SSL을 다운로드하는 단계와;
    상기 제2 프로세서에 의해서 상기 제1 프로세서를 위한 상기 제1 프로그램 코드들 상기 제3 메모리 영역으로 전송하는 단계와;
    상기 제3 메모리 영역의 접근 권한을 상기 제1 프로세서에게 부여하는 단계; 그리고
    상기 제1 프로세서에 의해서 상기 제3 메모리 영역에 저장된 상기 제1 프로그램 코드를 상기 제1 메모리 영역으로 복사하는 단계를 포함하는 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
  10. 제 9 항에 있어서,
    상기 제2 메모리는 상기 제3 메모리 영역의 접근 권한을 설정하기 위한 메일 박스를 포함하는 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
  11. 제 4 항에 있어서,
    초기에 상기 제2 메모리의 상기 제3 영역에 대한 액세스 권한은 상기 제2 프로세서에게 주어진 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
  12. 제 11 항에 있어서,
    상기 인터페이스 재개 단계는,
    상기 제2 프로세서의 제어에 의해서 상기 제1 프로세서를 위한 상기 제1 프로그램 코드를 상기 제1 메모리로부터 상기 제2 메모리의 상기 제3 메모리 영역으로 전송하는 단계와;
    상기 제3 메모리 영역의 접근 권한을 상기 제1 프로세서에게 부여하는 단계;
    상기 제2 프로세서의 제어에 의해서 상기 제1 프로세서와 외부 사이의 인터페이스를 재개시키는 단계와;
    상기 제2 프로세서의 버퍼로부터 상기 제1 프로세서의 내부 메모리로 상기 SSL을 다운로드하는 단계; 그리고
    상기 제1 프로세서에 의해서 상기 제2 메모리의 상기 제3 영역에 저장된 상기 제1 프로세서를 위한 상기 제1 프로그램 코드를 상기 제1 영역으로 복사하는 단계를 포함하는 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
  13. 제 12 항에 있어서,
    상기 제2 메모리는 상기 제2 메모리 영역의 접근 권한을 설정하기 위한 값을 저장하는 메일 박스를 포함하는 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
  14. 제 1 항에 있어서,
    상기 제1 메모리는 플래시 메모리이고, 상기 제2 메모리는 듀얼 포트 DRAM인 것을 특징으로 하는 디지털 처리 장치의 부팅 방법.
KR1020080039417A 2006-10-26 2008-04-28 두 개의 프로세서들을 포함하는 디지털 처리 장치의 다중포트 메모리를 이용한 부팅 방법 KR20090113610A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080039417A KR20090113610A (ko) 2008-04-28 2008-04-28 두 개의 프로세서들을 포함하는 디지털 처리 장치의 다중포트 메모리를 이용한 부팅 방법
US12/430,722 US8209527B2 (en) 2006-10-26 2009-04-27 Memory system and memory management method including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080039417A KR20090113610A (ko) 2008-04-28 2008-04-28 두 개의 프로세서들을 포함하는 디지털 처리 장치의 다중포트 메모리를 이용한 부팅 방법

Publications (1)

Publication Number Publication Date
KR20090113610A true KR20090113610A (ko) 2009-11-02

Family

ID=41554917

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080039417A KR20090113610A (ko) 2006-10-26 2008-04-28 두 개의 프로세서들을 포함하는 디지털 처리 장치의 다중포트 메모리를 이용한 부팅 방법

Country Status (1)

Country Link
KR (1) KR20090113610A (ko)

Similar Documents

Publication Publication Date Title
US10552604B2 (en) Hardware isolated secure processing system within a secure element
US7730236B2 (en) Cellular phone and portable storage device using the same
US9268959B2 (en) Trusted security zone access to peripheral devices
US9069488B2 (en) Electronic devices
US20030109218A1 (en) Portable wireless storage unit
KR20060113248A (ko) 낸드 플래시 메모리 제어 장치 및 방법
JPWO2008117520A1 (ja) メモリコントローラ、不揮発性メモリシステムおよびホスト装置
US7484047B2 (en) Apparatus and method for composing a cache memory of a wireless terminal having a coprocessor
KR100849296B1 (ko) 주제어부와 보조제어부를 구비하는 시스템에서의보조제어부의 초기화 장치 및 방법
JP2004118544A (ja) メモリシステム
KR20160100391A (ko) 업데이트가능한 집적 회로 무선장치
WO2011096045A1 (ja) ストレージ機能を持つ通信装置
CN117076346B (zh) 应用程序数据处理方法、装置及电子设备
KR20090034140A (ko) 복수의 포트를 갖는 메모리를 구비한 휴대 단말기 및 부팅제어 방법
WO2023240941A1 (zh) 下载数据的方法、装置和安全元件
KR20090113610A (ko) 두 개의 프로세서들을 포함하는 디지털 처리 장치의 다중포트 메모리를 이용한 부팅 방법
US9183209B2 (en) Communication device with fast start mode for transfering data to temporary areas beyond file system control
JP4793798B2 (ja) マイクロコンピュータ
US20040003145A1 (en) Method and apparatus to transfer information
JP2004192452A (ja) メモリカード
US12086660B2 (en) Radio device with inter-processor communication circuitry
TW200837629A (en) Network interface controller
KR100214302B1 (ko) 디. 에스.피용 디.엠.에이의 고속 데이타 처리방법
KR102159963B1 (ko) 컴퓨터 시스템의 부팅 가속을 위한 시스템 및 방법
KR20040037636A (ko) 스마트폰에서 부트 이미지를 복구하는 방법 및 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid