KR102299008B1 - 어플리케이션 프로세서와 이를 포함하는 반도체 시스템 - Google Patents

어플리케이션 프로세서와 이를 포함하는 반도체 시스템 Download PDF

Info

Publication number
KR102299008B1
KR102299008B1 KR1020140139937A KR20140139937A KR102299008B1 KR 102299008 B1 KR102299008 B1 KR 102299008B1 KR 1020140139937 A KR1020140139937 A KR 1020140139937A KR 20140139937 A KR20140139937 A KR 20140139937A KR 102299008 B1 KR102299008 B1 KR 102299008B1
Authority
KR
South Korea
Prior art keywords
register value
memory
semiconductor device
sub
register
Prior art date
Application number
KR1020140139937A
Other languages
English (en)
Other versions
KR20160044890A (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 삼성전자주식회사
Priority to KR1020140139937A priority Critical patent/KR102299008B1/ko
Priority to US14/800,701 priority patent/US10268621B2/en
Publication of KR20160044890A publication Critical patent/KR20160044890A/ko
Application granted granted Critical
Publication of KR102299008B1 publication Critical patent/KR102299008B1/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
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Human Computer Interaction (AREA)

Abstract

어플리케이션 프로세서와 이를 포함하는 반도체 시스템이 제공된다. 상기 어플리케이션 프로세서는, 제1 레지스터 값 및 제2 레지스터 값을 포함하는 프로세서, 상기 제1 레지스터 값의 복사본인 제3 레지스터 값과, 상기 제2 레지스터 값의 복사본인 제4 레지스터 값을 저장하고, 저장된 상기 제3 또는 제4 레지스터 값이 변경되는 경우, 변경된 상기 제3 레지스터 값을 상기 프로세서의 상기 제1 레지스터 값에 맵핑(mapping)시키거나, 변경된 상기 제4 레지스터 값을 상기 프로세서의 상기 제2 레지스터 값에 맵핑시키는 메모리, 및 상기 프로세서에 의해 동작이 제어되는 반도체 장치를 포함하되, 상기 프로세서는 상기 제3 레지스터 값에 의해 동작이 제어되고, 상기 반도체 장치는 상기 제4 레지스터 값에 의해 동작이 제어된다.

Description

어플리케이션 프로세서와 이를 포함하는 반도체 시스템{Application processor and semiconductor system comprising the same}
본 발명은 어플리케이션 프로세서와 이를 포함하는 반도체 시스템에 관한 것이다.
모바일 기기의 어플리케이션 프로세서(Application Processor; AP)는 모바일 디램(Mobile DRAM), 스토리지(예를 들어, eMMC/UFS), PMIC(Power Management IC), 통신 장치 등, 다종의 반도체 장치와의 커뮤니케이션을 통해 동작을 진행한다. 어플리케이션 프로세서의 내부에 포함된 메모리(예를 들어, ROM, RAM)는 다종의 반도체 장치들을 제어를 위해 각종 레지스터 값(Register value)을 저장하고 있다. 운영체제(예를 들어, 윈도우, 안드로이드)는 특정 경로를 통하여 어플리케이션 프로세서에 포함된 메모리의 레지스터 값을 변경함으로써 AP의 입출력 특성을 제어할 수 있다. 그러나, 어플리케이션 프로세서의 주변에 배치되는 PMIC(Power Management)의 입출력, Storage(eMMC/UFS)의 출력은 운영체제 상에서 동시 제어가 불가능하고, 다종의 반도체 장치들을 제어하기 위해서는 또 다른 API(Application Programming Interface)를 필요로 한다.
본 발명이 해결하고자 하는 기술적 과제는 다종의 반도체 장치들의 입출력 동작을 제어할 수 있는 반도체 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 다종의 반도체 장치들의 입출력 동작을 제어할 수 있는 어플리케이션 프로세서를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 반도체 시스템은, 제1 레지스터 값 및 제2 레지스터 값을 포함하는 프로세서, 상기 제1 레지스터 값의 복사본인 제3 레지스터 값과, 상기 제2 레지스터 값의 복사본인 제4 레지스터 값을 저장하고, 저장된 상기 제3 또는 제4 레지스터 값이 변경되는 경우, 변경된 상기 제3 레지스터 값을 상기 프로세서의 상기 제1 레지스터 값에 맵핑(mapping)시키거나, 변경된 상기 제4 레지스터 값을 상기 프로세서의 상기 제2 레지스터 값에 맵핑시키는 메모리, 및 상기 프로세서에 의해 동작이 제어되는 반도체 장치를 포함하되, 상기 프로세서는 상기 제3 레지스터 값에 의해 동작이 제어되고, 상기 반도체 장치는 상기 제4 레지스터 값에 의해 동작이 제어된다.
본 발명의 몇몇 실시예에서, 상기 메모리에 저장된 상기 제3 레지스터 값 또는 상기 제4 레지스터 값을 변경하는 운영체제(Operating System)를 더 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 운영체제는 상기 제3 레지스터 값 또는 상기 제4 레지스터 값을 변경하여, 상기 프로세서 또는 상기 반도체 장치의 입력 또는 출력을 최적화(Optimize)할 수 있다.
본 발명의 몇몇 실시예에서, 상기 메모리는 휘발성 메모리(volatile memory) 또는 비휘발성 메모리(non-volatile memory)를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 메모리는 상기 반도체 시스템에 탈착 가능한 포터블 메모리(portable memory)를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 포터블 메모리는 비휘발성 메모리를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 반도체 시스템은 상기 포터블 메모리의 전원 스위치를 제어하여, 상기 포터블 메모리의 전원 수명 테스트를 실시할 수 있다.
본 발명의 몇몇 실시예에서, 상기 반도체 장치는, 전력 제어 회로, 메모리 카드, 또는 통신 장치를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 반도체 장치는 PMIC(Power Management IC), UFS(Universial Flash Strage), eMMC(embedded Multi Media Card)를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 제2 레지스터 값은 상기 반도체 장치의 입력 신호 또는 출력 신호를 제어하는 데이터 어드레스(data address)를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 제2 레지스터 값은, 상기 반도체 장치의 출력 파워, 출력 주파수, 구동 강도, 전류 세기, 또는 클럭 위상값을 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 반도체 장치는, 제1 서브 반도체 장치와 제2 서브 반도체 장치를 더 포함하고, 상기 프로세서는 상기 제1 서브 반도체 장치의 동작을 제어하는 제1 서브 레지스터 값과, 상기 제2 서브 반도체 장치의 동작을 제어하는 제2 서브 레지스터 값을 포함하고, 상기 제1 및 제2 서브 레지스터 값은 상기 메모리에 복사되고, 복사된 데이터는 상기 프로세서의 상기 제1 및 제2 서브 레지스터 값에 맵핑될 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 반도체 시스템은, 제1 레지스터 값을 포함하고, 상기 제1 레지스터 값에 의해 동작이 제어되는 프로세서, 제2 레지스터 값을 포함하고, 상기 제2 레지스터 값에 의해 동작이 제어되는 반도체 장치, 및 상기 제1 레지스터 값의 복사본인 제3 레지스터 값과, 상기 제2 레지스터 값의 복사본인 제4 레지스터 값을 저장하고, 저장된 상기 제3 또는 제4 레지스터 값이 변경되는 경우, 변경된 상기 제3 레지스터 값을 상기 프로세서의 상기 제1 레지스터 값에 맵핑(mapping)시키거나, 변경된 상기 제4 레지스터 값을 상기 반도체 장치의 상기 제2 레지스터 값에 맵핑시키는 메모리를 포함한다.
본 발명의 몇몇 실시예에서, 상기 메모리에 저장된 상기 제3 레지스터 값 또는 상기 제4 레지스터 값을 변경하는 운영체제(Operating System)를 더 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 운영체제는 상기 제3 레지스터 값 또는 상기 제4 레지스터 값을 변경하여, 상기 프로세서 또는 상기 반도체 장치의 입력 또는 출력을 최적화(Optimize)할 수 있다.
본 발명의 몇몇 실시예에서, 상기 반도체 장치는, 제1 서브 반도체 장치와 제2 서브 반도체 장치를 더 포함하고, 상기 프로세서는 상기 제1 서브 반도체 장치의 동작을 제어하는 제1 서브 레지스터 값과, 상기 제2 서브 반도체 장치의 동작을 제어하는 제2 서브 레지스터 값을 포함하고, 상기 제1 및 제2 서브 레지스터 값은 상기 메모리에 복사되고, 복사된 데이터는 상기 프로세서의 상기 제1 및 제2 서브 레지스터 값에 맵핑될 수 있다.
본 발명의 몇몇 실시예에서, 반 상기 메모리는 휘발성 메모리(volatile memory) 또는 비휘발성 메모리(non-volatile memory)를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 메모리는 상기 반도체 시스템에 탈착 가능한 포터블 메모리(portable memory)를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 메모리가 비휘발성 메모리인 경우, 상기 메모리는 상기 반도체 시스템의 마진 테스트(Margin Test) 완료 후 제거 가능할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 어플리케이션 프로세서는, 연산을 수행하는 연산부, 상기 연산부의 동작을 제어하는 제1 레지스터 값을 저장하는 제1 저장부, 외부 반도체 장치의 동작을 제어하는 제2 레지스터 값을 저장하는 제2 저장부, 상기 제1 및 제2 레지스터 값을 외부 메모리에 송신하고, 상기 외부 메모리로부터 제3 레지스터 값 또는 제4 레지스터 값을 수신하는 인터페이스부, 상기 제3 레지스터 값을 상기 제1 레지스터 값에 일대일 맵핑시키거나, 상기 제4 레지스터 값을 상기 제2 레지스터 값에 일대일 맵핑시키는 맵핑부, 및 맵핑된 상기 제3 레지스터 값을 이용하여 상기 연산부를 제어하고, 맵핑된 상기 제4 레지스터 값을 이용하여 상기 외부 반도체 장치를 제어하는 제어부를 포함한다.
본 발명의 몇몇 실시예에서, 상기 제4 레지스터 값은 상기 외부 반도체 장치의 입력 신호 또는 출력 신호를 제어하는 데이터의 어드레스를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 제4 레지스터 값은, 상기 외부 반도체 장치의 출력 파워, 출력 주파수, 구동 강도, 전류 세기, 또는 클럭 위상값을 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 제3 및 제4 레지스터 값은 운영체제에 의해 변경되고, 변경된 상기 제3 및 제4 레지스터 값은 실시간으로 상기 인터페이스부를 통해 수신될 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 제1 실시예에 따른 반도체 시스템을 설명하기 위한 블럭도이다.
도 2 및 도 3은 본 발명의 제1 실시예에 따른 반도체 시스템의 동작을 설명하기 위한 블럭도이다.
도 4는 본 발명의 제2 실시예에 따른 반도체 시스템을 설명하기 위한 블럭도이다.
도 5는 본 발명의 제2 실시예에 따른 반도체 시스템의 동작을 설명하기 위한 블럭도이다.
도 6은 본 발명의 제3 실시예에 따른 반도체 시스템을 설명하기 위한 블럭도이다.
도 7 및 도 8은 본 발명의 제3 실시예에 따른 반도체 시스템의 동작을 설명하기 위한 블럭도이다.
도 9는 본 발명의 제4 실시예에 따른 반도체 시스템을 설명하기 위한 블럭도이다.
도 10은 본 발명의 제4 실시예에 따른 반도체 시스템의 동작을 설명하기 위한 블럭도이다.
도 11은 본 발명의 몇몇 실시예에 따른 반도체 시스템의 동작을 설명하기 위한 블럭도이다.
도 12는 본 발명의 실시예들에 따른 반도체 시스템을 포함하는 무선 통신 디바이스를 도시한 블록도이다.
도 13은 본 발명의 실시예들에 따른 반도체 시스템을 포함하는 SoC 시스템의 블록도이다.
도 14는 본 발명의 실시예들에 따른 반도체 시스템을 포함하는 전자 시스템의 블록도이다.
도 15 내지 도 17은 본 발명의 몇몇 실시예들에 따른 반도체 시스템을 적용할 수 있는 예시적인 반도체 시스템들이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면에서 표시된 구성요소의 크기 및 상대적인 크기는 설명의 명료성을 위해 과장된 것일 수 있다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭하며, "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
소자(elements) 또는 층이 다른 소자 또는 층의 "위(on)" 또는 "상(on)"으로 지칭되는 것은 다른 소자 또는 층의 바로 위뿐만 아니라 중간에 다른 층 또는 다른 소자를 개재한 경우를 모두 포함한다. 반면, 소자가 "직접 위(directly on)" 또는 "바로 위"로 지칭되는 것은 중간에 다른 소자 또는 층을 개재하지 않은 것을 나타낸다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 소자 또는 구성 요소들과 다른 소자 또는 구성 요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 소자의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들면, 도면에 도시되어 있는 소자를 뒤집을 경우, 다른 소자의 "아래(below)" 또는 "아래(beneath)"로 기술된 소자는 다른 소자의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 소자는 다른 방향으로도 배향될 수 있고, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
비록 제1, 제2 등이 다양한 소자나 구성요소들을 서술하기 위해서 사용되나, 이들 소자나 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자나 구성요소를 다른 소자나 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자나 구성요소는 본 발명의 기술적 사상 내에서 제2 소자나 구성요소 일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하에서, 도 1 내지 도 17을 참조하여, 본 발명의 몇몇 실시예에 따른 어플리케이션 프로세서와 이를 포함하는 반도체 시스템에 대해 설명하도록 한다.
도 1은 본 발명의 제1 실시예에 따른 반도체 시스템을 설명하기 위한 블럭도이다. 도 2 및 도 3은 본 발명의 제1 실시예에 따른 반도체 시스템의 동작을 설명하기 위한 블럭도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 반도체 시스템(1)은, 어플리케이션 프로세서(100)(Application Processor; AP), 메모리(200), 반도체 장치(300), 버스(600)를 포함한다.
어플리케이션 프로세서(100)는 반도체 시스템(1)의 제반 동작을 제어하고, 논리 연산을 수행할 수 있다. 예를 들어, 어플리케이션 프로세서(100)는 시스템-온-칩(SoC, System-on-Chip)으로 구성될 수 있다. 도면에 명확하게 도시하지는 않았으나, 어플리케이션 프로세서(100)는 연산부, 캐시 메모리, 메모리, 인터페이스 채널 등을 포함할 수 있다. 이에 대한 자세한 설명은 후술하도록 한다.
어플리케이션 프로세서(100)는 레지스터 값을 포함할 수 있다. 레지스터 값은 특정 하드웨어의 동작을 제어하는 데이터 어드레스(data address)와 설정값(setting value)을 포함한다. 특정 하드웨어에 대한 레지스터 값이 변함에 따라, 상기 하드웨어의 동작 특성, 예를 들어, 출력 파워, 출력 주파수, 구동 강도, 전류 세기, 또는 클럭 위상값, 출력 신호, 입력 신호 등이 조정될 수 있다. 레지스터 값을 변경함으로써, 시스템 내에서 하드웨어의 최적화된 동작 특성을 이끌어낼 수 있다.
어플리케이션 프로세서(100)는 제1 레지스터 값(102) 및 제2 레지스터 값(104)을 포함할 수 있다. 제1 레지스터 값(102)은 어플리케이션 프로세서(100) 자신의 동작을 제어할 수 있는 데이터 어드레스 및 설정값을 포함할 수 있다. 제2 레지스터 값(104)은 어플리케이션 프로세서(100) 외에 다른 반도체 장치(300)의 동작을 제어할 수 있는 데이터 어드레스 및 설정값을 포함할 수 있다. 도면에 명확하게 도시하지는 않았으나, 제1 레지스터 값(102) 및 제2 레지스터 값(104)은 어플리케이션 프로세서(100)에 포함된 메모리(미도시)에 저장될 수 있다. 상기 메모리(미도시)는 비휘발성 메모리인 ROM에 해당될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
도 2를 참조하면, 어플리케이션 프로세서(100)의 제1 레지스터 값(102)은 메모리(200)에 복사된 제3 레지스터 값(202)에 맵핑될 수 있고, 제1 레지스터 값(102)이 변경되는 경우, 어플리케이션 프로세서(100)의 입력 신호 또는 출력 신호가 변경될 수 있다. 어플리케이션 프로세서(100)는 제3 레지스터 값(202)을 이용하여 반도체 장치(300)의 입력 신호 또는 출력 신호를 제어할 수 있다. 상기 제2 레지스터 값(104)은 메모리(200)에 복사된 제4 레지스터 값(204)에 맵핑될 수 있고, 제4 레지스터 값(204)이 변경되는 경우, 반도체 장치(300)의 입력 신호 또는 출력 신호가 변경될 수 있다.
즉, 맵핑된 제3 레지스터 값(202) 또는 제4 레지스터 값(204)을 변경하는 경우, 어플리케이션 프로세서(100) 또는 반도체 장치(300)의 입력 신호 또는 출력 신호를 변경할 수 있다. 이후 자세히 설명하겠으나, 운영체제(400)는 상기 맵핑된 제3 레지스터 값(202) 또는 제4 레지스터 값(204)을 조절하여 어플리케이션 프로세서(100) 또는 반도체 장치(300)의 입력 신호 또는 출력 신호를 제어할 수 있다.
다시 도 1을 참조하면, 메모리(200)는 어플리케이션 프로세서(100)에 의해 처리되는 데이터를 저장할 수 있다. 메모리(200)는 어플리케이션 프로세서(100)의 동작 메모리(200)로서 역할을 수행할 수 있다. 메모리(200)는 상기 어플리케이션 프로세서(100)에 저장된 제1 레지스터 값(102)과 제2 레지스터 값(104)을 복사하여 저장할 수 있다. 구체적으로, 메모리(200)는 상기 제1 레지스터 값(102)의 복사본인 제3 레지스터 값(202)과, 상기 제2 레지스터 값(104)의 복사본인 제4 레지스터 값(204)을 저장하고, 저장된 상기 제3 또는 제4 레지스터 값(202, 204)이 변경되는 경우, 변경된 상기 제3 레지스터 값(202)을 상기 프로세서의 상기 제1 레지스터 값(102)에 맵핑(mapping)시키거나, 변경된 상기 제4 레지스터 값(204)을 상기 프로세서의 상기 제2 레지스터 값(104)에 맵핑시킬 수 있다. 메모리(200)의 동작에 대한 자세한 설명은 후술하도록 한다.
메모리(200)는 DDR SDRAM(Double Data Rate Static DRAM), SDR SDRAM(Single Data Rate SDRAM)과 같은 하나 이상의 휘발성 메모리 장치 및/또는 EEPROM(Electrical Erasable Programmable ROM), 플래시 메모리(flash memory)과 같은 하나 이상의 비휘발성 메모리 장치를 포함할 수 있다. 또한, 메모리(200)는 상기 반도체 시스템(1)에 탈착 가능한 포터블 메모리(portable memory)를 포함할 수 있다. 상기 포터블 메모리는 앞에서 언급한 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다.
예를 들어, 메모리(200)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성할 수 있다.
반도체 장치(300)는 특정 입력에 대한 출력을 제공하는 장치이다. 반도체 장치(300)는 전력 제어 회로, 메모리 카드, 또는 통신 장치 등을 포함할 수 있다. 예를 들어, 반도체 장치(300)는 PMIC(Power Management IC), UFS(Universial Flash Strage), eMMC(embedded Multi Media Card), 모뎀(modem)를 포함할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
반도체 장치(300)는 어플리케이션 프로세서(100)에 저장된 제2 레지스터 값(104)에 의해 동작이 제어될 수 있다. 제2 레지스터 값(104)은 상기 반도체 장치(300)의 동작을 제어할 수 있는 데이터 어드레스 및 설정값을 포함할 수 있다. 제2 레지스터 값(104)은 상기 반도체 장치(300)의 내부에 포함된 메모리(미도시)에도 저장될 수 있다. 반도체 장치(300)는 제2 레지스터 값(104)이 변경됨에 따라, 출력 신호가 변경될 수 있다. 예를 들어, 제2 레지스터 값(104)이 변경됨에 따라, 반도체 장치(300)의 출력 파워, 출력 주파수, 구동 강도, 전류 세기, 또는 클럭 위상값이 조정될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다. 반도체 장치(300)의 동작에 대한 자세한 설명은 후술하도록 한다.
어플리케이션 프로세서(100), 메모리(200), 반도체 장치(300)는 버스(600)를 통하여 서로 결합될 수 있다. 버스(600)는 데이터들이 이동되는 통로(path)에 해당한다. 또한, 버스(600)는 어플리케이션 프로세서(100), 메모리(200), 및 반도체 장치(300) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함할 수 있다. 예시적으로, 제어부(410)는 USB(Universal Serial Bus) 프로토콜, MMC(multimedia card) 프로토콜, PCI(peripheral component interconnection) 프로토콜, PCI-E(PCI-express) 프로토콜, ATA(Advanced Technology Attachment) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI (small computer small interface) 프로토콜, ESDI(enhanced small disk interface) 프로토콜, 그리고 IDE(Integrated Drive Electronics) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 호스트(HOST)와 통신하도록 구성될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
도 2 및 도 3을 참조하면, 상기 반도체 시스템(1)의 어플리케이션 프로세서(100)는 어플리케이션 프로세서(100)에 저장된 제1 레지스터 값(102) 및 제2 레지스터 값(104)을 메모리(200)에 덤프(dump), 즉 복사할 수 있다. 이에 따라, 메모리(200)에는 상기 제1 레지스터 값(102)의 복사본인 제3 레지스터 값(202)과, 상기 제2 레지스터 값(104)의 복사본인 제4 레지스터 값(204)이 저장될 수 있다.
복사된 제3 레지스터 값(202)은 어플리케이션 프로세서(100)에 저장된 제1 레지스터 값(102)에 맵핑될 수 있다. 이에 따라, 제3 레지스터 값(202)이 수정되는 경우, 제1 레지스터 값(102)도 함께 수정될 수 있다. 또한, 어플리케이션 프로세서(100)는 메모리(200)에 저장된 제3 레지스터 값(202)의 설정값에 따라 동작이 제어될 수 있다. 따라서, 운영체제(400)는 제3 레지스터 값(202)을 조정하여 어플리케이션 프로세서(100)의 동작을 제어하고, 최적화된 입력 또는 출력을 설정할 수 있다.
마찬가지로, 복사된 제4 레지스터 값(204)은 어플리케이션 프로세서(100)에 저장된 제2 레지스터 값(104)에 맵핑될 수 있다. 이에 따라, 제4 레지스터 값(204)이 수정되는 경우, 제3 레지스터 값(202)도 함께 수정될 수 있다. 또한, 반도체 장치(300)는 메모리(200)에 저장된 제4 레지스터 값(204)의 설정값에 따라 동작이 제어될 수 있다. 따라서, 운영체제(400) 또는 어플리케이션 프로세서(100)는 제4 레지스터 값(204)을 조정하여 상기 반도체 장치(300)의 동작을 제어하고, 최적화된 입력 또는 출력을 설정할 수 있다.
결과적으로, 본 발명의 반도체 시스템(1)은 어플리케이션 프로세서(100)에 저장된 어플리케이션 프로세서(100)의 제1 레지스터 값(102)과 반도체 장치(300)의 제2 레지스터 값(104)을 이용하여, 어플리케이션 프로세서(100) 또는 반도체 장치(300)가 사용자가 원하는 최적화된 동작을 수행하도록 제어할 수 있다. 이를 통해, 운영체제(400)가 직접 반도체 장치(300)의 액세스(Access)가 불가능했던 기존의 방식을 개선하고, 반도체 시스템(1) 내에서 다중 액세스(Multi-Access)의 동작을 가능하게 할 수 있다. 또한, 동일 운영체제(400) 내에서 모든 부품의 입출력 특성을 동시에 손쉽게 제어할 수 있게 되므로, 추가로 레지스터 값을 저장하는 부품을 상기 반도체 시스템(1) 내에 구비하지 않고도 상기 반도체 시스템(1)을 최적화 할 수 있다.
제1 레지스터 값(102) 및 제2 레지스터 값(104)이 덤프되는 메모리(200)는 휘발성 메모리뿐만 아니라, 비휘발성 메모리를 사용할 수 있다. 또한, 반도체 시스템(1)의 부팅시 입출력 제어 가능한 모든 부품의 레지스터 값을 탈착 가능한 포터블 메모리에 모두 덤프하여 동일 운영체제(400) 내에서 제어 및 변경할 수 있다. 상기 포터블 메모리는 마진 테스트(Margin Test)에 이용될 수 있다. 포터블 메모리는 마진 테스트 완료 후에 제거할 수 있다. 또한, 상기 반도체 시스템(1)은 상기 포터블 메모리의 전원 스위치를 제어하여, 상기 포터블 메모리의 전원 수명 테스트를 실시할 수 있다. 상기 포터블 메모리는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다.
도 4은 본 발명의 제2 실시예에 따른 반도체 시스템을 설명하기 위한 블럭도이다. 도 5는 본 발명의 제2 실시예에 따른 반도체 시스템의 동작을 설명하기 위한 블럭도이다. 설명의 편의를 위하여, 이하에서는 앞서 설명한 실시예와 동일한 사항에 대해서는 중복된 설명을 생략하고 차이점을 중심으로 설명하도록 한다.
도 4를 참조하면, 본 발명의 제2 실시예에 따른 반도체 시스템(2)은 도 1 내지 도 3을 참조하여 설명한 본 발명의 제1 실시예에 따른 반도체 시스템(1)과 실질적으로 동일하게 동작할 수 있다.
상기 반도체 시스템(2)은, 어플리케이션 프로세서(100), 메모리(200), 제1 서브 반도체 장치(300a), 제2 서브 반도체 장치(300b), 버스(600)를 포함한다.
어플리케이션 프로세서(100)는 레지스터 값을 포함할 수 있다. 구체적으로 어플리케이션 프로세서(100)는 자신의 동작을 제어할 수 있는 데이터 어드레스를 포함하는 제1 레지스터 값(102)과, 제1 서브 반도체 장치(300a)의 동작을 제어할 수 있는 데이터 어드레스를 포함하는 제1 서브 레지스터 값(104a)과, 제2 서브 반도체 장치(300b)의 동작을 제어할 수 있는 데이터 어드레스를 포함하는 제2 서브 레지스터 값(104b)을 포함할 수 있다. 상기 제1 레지스터 값(102), 제1 서브 레지스터 값(104a) 및 제2 서브 레지스터 값(104b)은 어플리케이션 프로세서(100)에 포함된 메모리(미도시)에 저장될 수 있다.
메모리(200)는 어플리케이션 프로세서(100)에 의해 처리되는 데이터를 저장할 수 있다. 메모리(200)는 어플리케이션 프로세서(100)의 동작 메모리(200)로서 역할을 수행할 수 있다. 구체적으로, 메모리(200)는 상기 어플리케이션 프로세서(100)에 저장된 제1 레지스터 값(102), 제1 서브 레지스터 값(104a) 및 제2 서브 레지스터 값(104b)을 복사하여 저장할 수 있다.
제1 서브 반도체 장치(300a) 또는 제2 서브 반도체 장치(300b)는 특정 입력에 대한 출력을 제공하는 장치이다. 제1 서브 반도체 장치(300a) 또는 제2 서브 반도체 장치(300b)는 전력 제어 회로, 메모리 카드, 또는 통신 장치 등을 포함할 수 있다. 예를 들어, 제1 서브 반도체 장치(300a) 또는 제2 서브 반도체 장치(300b)는 PMIC(Power Management IC), UFS(Universial Flash Strage), eMMC(embedded Multi Media Card), 모뎀(modem)를 포함할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
제1 서브 반도체 장치(300a)는 어플리케이션 프로세서(100)에 저장된 제1 서브 레지스터 값(104a)에 의해 동작이 제어될 수 있다. 제1 서브 레지스터 값(104a)은 상기 제1 서브 반도체 장치(300a)의 동작을 제어할 수 있는 데이터 어드레스 및 설정값을 포함할 수 있다. 제1 서브 레지스터 값(104a)은 상기 제1 서브 반도체 장치(300a)의 내부에 포함된 메모리에도 저장될 수 있다. 제1 서브 반도체 장치(300a)는 제1 서브 레지스터 값(104a)이 변경됨에 따라, 입출력이 변경될 수 있다. 구체적으로, 제1 서브 레지스터 값(104a)에 포함된 데이터 어드레스에 위치한 설정값이 변경되는 경우, 제1 서브 반도체 장치(300a)의 입출력이 변경될 수 있다. 예를 들어, 상기 설정값이 변경됨에 따라, 제1 서브 반도체 장치(300a)의 출력 파워, 출력 주파수, 구동 강도, 전류 세기, 또는 클럭 위상값이 조정될 수 있다.
마찬가지로, 제2 서브 반도체 장치(300b)는 어플리케이션 프로세서(100)에 저장된 제2 서브 레지스터 값(104b)에 의해 동작이 제어될 수 있다. 제2 서브 레지스터 값(104b)은 상기 제2 서브 반도체 장치(300b)의 동작을 제어할 수 있는 데이터 어드레스 및 설정값을 포함할 수 있다. 제2 서브 레지스터 값(104b)은 상기 제2 서브 반도체 장치(300b)의 내부에 포함된 메모리(200)에도 저장될 수 있다. 제2 서브 반도체 장치(300b)는 제2 서브 레지스터 값(104b)이 변경됨에 따라, 입출력이 변경될 수 있다. 구체적으로, 제2 서브 레지스터 값(104b)에 포함된 데이터 어드레스에 위치한 설정값이 변경되는 경우, 제2 서브 반도체 장치(300b)의 입출력이 변경될 수 있다. 예를 들어, 상기 설정값이 변경됨에 따라, 제2 서브 반도체 장치(300b)의 출력 파워, 출력 주파수, 구동 강도, 전류 세기, 또는 클럭 위상값이 조정될 수 있다.
어플리케이션 프로세서(100), 메모리(200), 제1 서브 반도체 장치(300a), 제2 서브 반도체 장치(300b)는 버스(600)를 통하여 서로 결합될 수 있다. 버스(600)는 데이터들이 이동되는 통로(path)에 해당하고, 어플리케이션 프로세서(100), 메모리(200), 제1 서브 반도체 장치(300a), 제2 서브 반도체 장치(300b) 사이의 데이터 교환을 할 수 있다.
도 5를 참조하면, 반도체 시스템(2)의 어플리케이션 프로세서(100)는 어플리케이션 프로세서(100)에 저장된 제1 레지스터 값(102), 제1 서브 레지스터 값(104a) 및 제2 서브 레지스터 값(104b)을 메모리(200)에 덤프할 수 있다. 이에 따라, 메모리(200)에는 상기 제1 레지스터 값(102)의 복사본인 제3 레지스터 값(202)과, 상기 제1 서브 레지스터 값(104a)의 복사본인 제3 서브 레지스터 값(204a)과, 상기 제2 서브 레지스터 값(104b)의 복사본인 제4 서브 레지스터 값(204b)이 저장될 수 있다.
복사된 제3 레지스터 값(202)은 어플리케이션 프로세서(100)에 저장된 제1 레지스터 값(102)에 맵핑될 수 있다. 이에 따라, 제3 레지스터 값(202)이 수정되는 경우, 제1 레지스터 값(102)도 함께 수정될 수 있다. 또한, 어플리케이션 프로세서(100)는 메모리(200)에 저장된 제3 레지스터 값(202)의 설정값에 따라 동작이 제어될 수 있다. 따라서, 운영체제(400)는 제3 레지스터 값(202)을 조정하여 어플리케이션 프로세서(100)의 동작을 제어하고, 최적화된 입력 또는 출력을 설정할 수 있다.
마찬가지로, 복사된 제3 서브 레지스터 값(204a)은 어플리케이션 프로세서(100)에 저장된 제1 서브 레지스터 값(104a)에 맵핑될 수 있다. 이에 따라, 제3 서브 레지스터 값(204a)이 수정되는 경우, 제1 서브 레지스터 값(104a)도 함께 수정될 수 있다. 또한, 제1 서브 반도체 장치(300a)는 메모리(200)에 저장된 제3 서브 레지스터 값(204a)의 설정값에 따라 동작이 제어될 수 있다. 따라서, 운영체제(400) 또는 어플리케이션 프로세서(100)는 제3 서브 레지스터 값(204a)을 조정하여 상기 제1 서브 반도체 장치(300a)의 동작을 제어하고, 최적화된 입력 또는 출력을 설정할 수 있다.
또한, 복사된 제4 서브 레지스터 값(204b)은 어플리케이션 프로세서(100)에 저장된 제2 서브 레지스터 값(104b)에 맵핑될 수 있다. 이에 따라, 제4 서브 레지스터 값(204b)이 수정되는 경우, 제2 서브 레지스터 값(104b)도 함께 수정될 수 있다. 또한, 제2 서브 반도체 장치(300b)는 메모리(200)에 저장된 제4 서브 레지스터 값(204b)의 설정값에 따라 동작이 제어될 수 있다. 따라서, 운영체제(400) 또는 어플리케이션 프로세서(100)는 제4 서브 레지스터 값(204b)을 조정하여 상기 제2 서브 반도체 장치(300b)의 동작을 제어하고, 최적화된 입력 또는 출력을 설정할 수 있다.
즉, 운영체제(400)는 메모리(200)에 저장된 제3 서브 레지스터 값(204a)과 제4 서브 레지스터 값(204b)을 수정할 수 있고, 수정된 레지스터 값들은 어플리케이션 프로세서(100)의 제1 서브 레지스터 값(104a)과 제2 서브 레지스터 값(104b)에 각각 맵핑된다. 어플리케이션 프로세서(100)는 맵핑된 레지스터 값들을 이용하여 제1 서브 반도체 장치(300a) 또는 제2 서브 반도체 장치(300b)의 입출력을 제어할 수 있게 된다.
이를 통해, 운영체제(400)는 반도체 시스템(2)에 대하여 어플리케이션 프로세서(100), 제1 서브 반도체 장치(300a) 및 제2 서브 반도체 장치(300b)에 대한 다중 액세스(Multi-Access)의 동작을 수행할 수 있다. 또한, 동일 운영체제(400) 내에서 모든 부품의 입출력 특성을 동시에 손쉽게 제어할 수 있게 되므로, 추가로 레지스터 값을 저장하는 부품을 반도체 시스템(2) 내에 구비하지 않고도 상기 반도체 시스템(2)을 최적화 할 수 있다.
도 6은 본 발명의 제3 실시예에 따른 반도체 시스템을 설명하기 위한 블럭도이다. 도 7 및 도 8은 본 발명의 제3 실시예에 따른 반도체 시스템의 동작을 설명하기 위한 블럭도이다. 설명의 편의를 위하여, 이하에서는 앞서 설명한 실시예와 동일한 사항에 대해서는 중복된 설명을 생략하고 차이점을 중심으로 설명하도록 한다.
도 6을 참조하면, 본 발명의 제3 실시예에 따른 반도체 시스템(3)은 어플리케이션 프로세서(100), 메모리(200), 반도체 장치(300), 버스(600)를 포함한다.
어플리케이션 프로세서(100)는 어플리케이션 프로세서(100) 자신의 동작을 제어할 수 있는 제1 레지스터 값(102)만을 포함할 수 있다. 제1 레지스터 값(102)은 어플리케이션 프로세서(100)의 동작을 제어할 수 있는 어드레스 및 설정값을 포함할 수 있다. 도면에 명확하게 도시하지는 않았으나, 제1 레지스터 값(102)은 어플리케이션 프로세서(100)에 포함된 메모리(200)에 저장될 수 있다. 상기 메모리(200)는 비휘발성 메모리인 ROM에 해당될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
어플리케이션 프로세서(100)의 제1 레지스터 값(102)은 메모리(200)에 복사된 제3 레지스터 값(202)에 맵핑될 수 있고, 제1 레지스터 값(102)이 변경되는 경우, 어플리케이션 프로세서(100)의 입력 신호 또는 출력 신호가 변경될 수 있다.
반도체 장치(300)는 특정 입력에 대한 출력을 제공하는 장치이다. 반도체 장치(300)는 반도체 장치(300) 자신의 동작을 제어할 수 있는 제2 레지스터 값(302)을 포함할 수 있다. 제2 레지스터 값(302)은 반도체 장치(300)의 동작을 제어할 수 있는 어드레스 및 설정값을 포함할 수 있다. 반도체 장치(300)는 제2 레지스터 값(302)이 변경됨에 따라, 출력 신호가 변경될 수 있다. 예를 들어, 제2 레지스터 값(302)이 변경됨에 따라, 반도체 장치(300)의 출력 파워, 출력 주파수, 구동 강도, 전류 세기, 또는 클럭 위상값이 조정될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
도면에 명확하게 도시하지는 않았으나, 제2 레지스터 값(302)은 반도체 장치(300)에 포함된 메모리(미도시)에 저장될 수 있다. 상기 메모리(미도시)는 비휘발성 메모리인 ROM에 해당될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
반도체 장치(300)는 전력 제어 회로, 메모리 카드, 또는 통신 장치 등을 포함할 수 있다. 예를 들어, 반도체 장치(300)는 PMIC(Power Management IC), UFS(Universial Flash Strage), eMMC(embedded Multi Media Card), 모뎀(modem)를 포함할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
메모리(200)는 어플리케이션 프로세서(100) 또는 반도체 장치(300)에 의해 처리되는 데이터를 저장할 수 있다. 메모리(200)는 어플리케이션 프로세서(100) 또는 반도체 장치(300)의 동작 메모리로서 역할을 수행할 수 있다.
어플리케이션 프로세서(100), 메모리(200), 반도체 장치(300)는 버스(600)를 통하여 서로 결합될 수 있다. 버스(600)는 데이터들이 이동되는 통로(path)에 해당한다. 또한, 버스(600)는 어플리케이션 프로세서(100), 메모리(200), 및 반도체 장치(300) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함할 수 있다.
도 7 및 도 8을 참조하면, 메모리(200)는 상기 어플리케이션 프로세서(100)에 저장된 제1 레지스터 값(102)과 반도체 장치(300)에 저장된 제2 레지스터 값(302)을 복사하여 저장할 수 있다. 구체적으로, 메모리(200)는 상기 제1 레지스터 값(102)의 복사본인 제3 레지스터 값(202)과, 상기 제2 레지스터 값(302)의 복사본인 제4 레지스터 값(204)을 저장하고, 저장된 상기 제3 또는 제4 레지스터 값(204)이 변경되는 경우, 변경된 상기 제3 레지스터 값(202)을 상기 프로세서의 상기 제1 레지스터 값(102)에 맵핑시키거나, 변경된 상기 제4 레지스터 값(204)을 상기 반도체 장치(300)의 상기 제2 레지스터 값(302)에 맵핑시킬 수 있다.
어플리케이션 프로세서(100)는 상기 제1 레지스터 값(102)에 의해 동작이 제어되고, 반도체 장치(300)는 상기 제2 레지스터 값(302)에 의해 동작이 제어될 수 있다. 따라서, 복사된 제3 레지스터 값(202) 또는 제4 레지스터 값(204)이 변경되는 경우, 변경된 상기 제3 레지스터 값(202)을 어플리케이션 프로세서(100)의 제1 레지스터 값(102)에 맵핑시키거나, 변경된 제4 레지스터 값(204)을 상기 반도체 장치(300)의 제2 레지스터 값(302)에 맵핑시켜, 제1 레지스터 값(102)과 제2 레지스터 값(302)을 변경할 수 있다. 변경된 제1 레지스터 값(102)과 제2 레지스터 값(302)에 맞추어, 어플리케이션 프로세서(100)와 반도체 장치(300)의 입출력은 함께 변경될 수 있다. 운영체제(400)는 메모리(200)에 저장된 상기 제3 레지스터 값(202) 또는 상기 제4 레지스터 값(204)을 변경하여 어플리케이션 프로세서(100)와 반도체 장치(300)의 입출력을 제어할 수 있다.
결과적으로, 본 발명의 반도체 시스템(3)은 메모리(200)에 복사된 어플리케이션 프로세서(100)의 제1 레지스터 값(102)과 반도체 장치(300)의 제2 레지스터 값(302)을 이용하여, 어플리케이션 프로세서(100) 또는 반도체 장치(300)를 사용자가 원하는 최적화된 동작을 수행하도록 제어할 수 있다. 이를 통해, 운영체제(400)가 직접 반도체 장치(300)의 액세스(Access)가 불가능했던 기존의 방식을 개선하고, 반도체 시스템(3) 내에서 다중 액세스(Multi-Access)의 동작을 가능하게 할 수 있다. 또한, 동일 운영체제(400) 내에서 모든 부품의 입출력 특성을 동시에 손쉽게 제어하여 상기 반도체 시스템(3)을 최적화 할 수 있다.
또한, 제1 레지스터 값(102) 및 제2 레지스터 값(302)이 덤프되는 메모리(200)는 휘발성 메모리뿐만 아니라, 비휘발성 메모리를 사용할 수 있다. 또한, 반도체 시스템(3)의 부팅시 입출력 제어 가능한 모든 부품의 레지스터 값을 탈착 가능한 포터블 메모리에 모두 덤프하여 동일 운영체제(400) 내에서 제어 및 변경할 수 있다. 상기 포터블 메모리는 마진 테스트에 이용될 수 있다. 포터블 메모리는 마진 테스트 완료 후에 제거할 수 있으며, 상기 반도체 시스템(3)은 상기 포터블 메모리의 전원 스위치를 제어하여, 상기 포터블 메모리의 전원 수명 테스트를 실시할 수 있다. 상기 포터블 메모리는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다.
도 9는 본 발명의 제4 실시예에 따른 반도체 시스템을 설명하기 위한 블럭도이다. 도 10은 본 발명의 제4 실시예에 따른 반도체 시스템의 동작을 설명하기 위한 블럭도이다. 설명의 편의를 위하여, 이하에서는 앞서 설명한 실시예와 동일한 사항에 대해서는 중복된 설명을 생략하고 차이점을 중심으로 설명하도록 한다.
도 9를 참조하면, 본 발명의 제4 실시예에 따른 반도체 시스템(4)은 도 6 내지 도 8을 참조하여 설명한 본 발명의 제3 실시예에 따른 반도체 시스템(3)과 실질적으로 동일하게 동작할 수 있다.
상기 반도체 시스템(4)은, 어플리케이션 프로세서(100), 메모리(200), 제1 서브 반도체 장치(300a), 제2 서브 반도체 장치(300b), 버스(600)를 포함한다.
어플리케이션 프로세서(100)는 레지스터 값을 포함할 수 있다. 구체적으로 어플리케이션 프로세서(100)는 자신의 동작을 제어할 수 있는 데이터 어드레스 및 설정값을 포함하는 제1 레지스터 값(102)만을 포함할 수 있다. 도면에 명확하게 도시하지는 않았으나, 상기 제1 레지스터 값(102)은 어플리케이션 프로세서(100)에 포함된 메모리(200)(미도시)에 저장될 수 있다.
제1 서브 반도체 장치(300a)는 제1 서브 반도체 장치(300a) 자신의 동작을 제어할 수 있는 데이터 어드레스 및 설정값을 포함하는 제1 서브 레지스터 값(302a)을 포함할 수 있다. 마찬가지로, 제2 서브 반도체 장치(300b)는 제2 서브 반도체 장치(300b) 자신의 동작을 제어할 수 있는 데이터 어드레스 및 설정값을 포함하는 제2 서브 레지스터 값(302b)을 포함할 수 있다. 제1 서브 레지스터 값(302a)과 제2 서브 레지스터 값(302b)은 각각 제1 서브 반도체 장치(300a)의 메모리(미도시)와 제2 서브 반도체 장치(300b)의 메모리(미도시)에 저장될 수 있다.
메모리(200)는 상기 어플리케이션 프로세서(100)에 저장된 제1 레지스터 값(102)과, 상기 제1 서브 반도체 장치(300a)에 저장된 제1 서브 레지스터 값(302a)과, 제2 서브 반도체 장치(300b)에 저장된 제2 서브 레지스터 값(302b)을 복사하여 저장할 수 있다. 구체적으로, 메모리(200)는 상기 제1 레지스터 값(102)의 복사본인 제3 레지스터 값(202)과, 상기 제1 서브 레지스터 값(302a)의 복사본인 제3 서브 레지스터 값(204a)과, 상기 제2 서브 레지스터 값(302b)의 복사본인 제4 서브 레지스터 값(204b)을 저장할 수 있다. 저장된 상기 제3 레지스터 값(202), 제3 서브 레지스터 값(204a) 또는 제4 서브 레지스터 값(204b)이 변경되는 경우, 변경된 상기 제3 레지스터 값(202)을 상기 프로세서의 상기 제1 레지스터 값(102)에 맵핑시키거나, 변경된 상기 제3 서브 레지스터 값(204a)을 상기 제1 반도체 장치(300)의 상기 제1 서브 레지스터 값(302a)에 맵핑시키거나, 변경된 상기 제4 서브 레지스터 값(204b)을 상기 제2 반도체 장치(300)의 상기 제2 서브 레지스터 값(302b)에 맵핑시킬 수 있다.
어플리케이션 프로세서(100)는 상기 제1 레지스터 값(102)에 의해 동작이 제어될 수 있다. 제1 서브 반도체 장치(300a)는 상기 제1 서브 레지스터 값(302a)에 의해 동작이 제어될 수 있으며, 제2 서브 반도체 장치(300b)는 상기 제2 서브 레지스터 값(302b)에 의해 동작이 제어될 수 있다.
복사된 제3 서브 레지스터 값(204a) 또는 제4 서브 레지스터 값(204b)이 변경되는 경우, 변경된 제3 서브 레지스터 값(204a)을 제1 서브 반도체 장치(300a)의 제1 서브 레지스터 값(302a)에 맵핑시키거나, 변경된 제4 서브 레지스터 값(204b)을 제2 서브 반도체 장치(300b)의 제2 서브 레지스터 값(302b)에 맵핑시켜, 제1 서브 레지스터 값(302a)과 제2 서브 레지스터 값(302b)을 변경할 수 있다. 변경된 제1 서브 레지스터 값(302a)과 제2 서브 레지스터 값(302b)에 맞추어, 제1 서브 반도체 장치(300a)와 제2 서브 반도체 장치(300b)의 입출력은 함께 변경될 수 있다.
운영체제(400)는 메모리(200)에 저장된 상기 제3 서브 레지스터 값(204a) 또는 상기 제4 서브 레지스터 값(204b)을 변경하여 제1 서브 반도체 장치(300a)와 제2 서브 반도체 장치(300b)의 입출력을 제어할 수 있다.
도 11은 본 발명의 몇몇 실시예에 따른 반도체 시스템의 동작을 설명하기 위한 블럭도이다. 설명의 편의를 위하여, 이하에서는 앞서 설명한 실시예와 동일한 사항에 대해서는 중복된 설명을 생략하고 차이점을 중심으로 설명하도록 한다.
도 11을 참조하면, 본 발명의 몇몇 실시예에 따른 반도체 시스템(5)은 어플리케이션 프로세서(100), 외부 메모리(210), 외부 반도체 장치(310), 운영체제(400)를 포함한다.
외부 메모리(210)와, 외부 반도체 장치(310)는 앞에서 설명한 메모리(200) 및 반도체 장치(300)와 실질적으로 동일하다.
어플리케이션 프로세서(100)는 연산부(110), 제1 저장부(120), 제2 저장부(130), 인터페이스부(140), 맵핑부(150), 제어부(160), 버스(160)를 포함할 수 있다.
연산부(110)는 어플리케이션 프로세서(100)의 구동에 필요한 연산을 수행할 수 있다. 본 발명의 몇몇 실시예에서 연산부(110)는 복수의 코어를 포함하는 멀티 코어 환경으로 구성될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
제1 저장부(120)는 상기 연산부(110)의 동작을 제어하는 제1 레지스터 값(102)을 저장할 수 있다. 제1 레지스터 값(102)은 어플리케이션 프로세서(100) 자신의 동작을 제어할 수 있는 데이터 어드레스 및 설정값을 포함할 수 있다.
제2 저장부(130)는 외부 반도체 장치(310)의 동작을 제어하는 제2 레지스터 값(104)을 저장할 수 있다. 제2 레지스터 값(104)은 외부 반도체 장치(310)의 동작을 제어할 수 있는 데이터 어드레스 및 설정값을 포함할 수 있다. 상기 제2 레지스터 값(104)은, 상기 외부 반도체 장치(310)의 출력 파워, 출력 주파수, 구동 강도, 전류 세기, 또는 클럭 위상값 등을 포함할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
인터페이스부(140)는 제1 레지스터 값(102) 및 제2 레지스터 값(104)을 외부 메모리(210)에 송신하고, 외부 메모리(210)로부터 제3 레지스터 값(202) 또는 제4 레지스터 값(204)을 수신할 수 있다. 제3 레지스터 값(202) 또는 제4 레지스터 값(204)은 메모리(210)에 저장된 뒤, 운영체제(400)에 의해 변경되고, 변경된 상기 제3 및 제4 레지스터 값(202, 204)은 실시간으로 상기 인터페이스부(140)를 통해 수신될 수 있다.
맵핑부(150)는 상기 제3 레지스터 값(202)을 상기 제1 레지스터 값(102)에 일대일 맵핑시키거나, 상기 제4 레지스터 값(204)을 상기 제2 레지스터 값(104)에 일대일 맵핑시킬 수 있다. 제3 레지스터 값(202) 또는 제4 레지스터 값(204)은 외부 메모리(210)에 저장되고, 제3 레지스터 값(202) 또는 제4 레지스터 값(204)이 변하는 경우, 변동된 값을 제1 레지스터 값(102) 또는 제2 레지스터 값(104)에 반영할 수 있다.
제어부(160)는 맵핑된 상기 제3 레지스터 값(202)을 이용하여 상기 연산부(110)를 제어하고, 맵핑된 상기 제4 레지스터 값(204)을 이용하여 상기 외부 반도체 장치(310)를 제어할 수 있다. 본 발명의 반도체 시스템(1)은 어플리케이션 프로세서(100)에 저장된 어플리케이션 프로세서(100)에 저장된 제1 레지스터 값(102)과 외부 반도체 장치(310)의 제2 레지스터 값(104)을 이용하여, 어플리케이션 프로세서(100) 또는 외부 반도체 장치(310)가 사용자가 원하는 최적화된 동작을 수행하도록 제어할 수 있다.
도 12는 본 발명의 실시예들에 따른 반도체 시스템을 포함하는 무선 통신 디바이스를 도시한 블록도이다.
도 12를 참조하면, 디바이스(900)는, 셀룰러 전화기, 스마트폰 단말기, 핸드셋, 개인 휴대 정보 단말기(PDA), 랩탑 컴퓨터, 비디오 게임 유닛 또는 기타 다른 디바이스일 수도 있다. 디바이스(900)는, 코드 분할 다중 액세스(CDMA), 이동 통신을 위한 글로벌시스템(GSM) 과 같은 시분할 다중 액세스(TDMA), 또는 기타 다른 무선 통신 표준을 사용할 수도 있다.
디바이스(900)는 수신 경로 및 송신 경로를 통해 양-방향 통신을 제공할 수 있다. 수신 경로 상에서 하나 이상의 기지국들에 의해 송신된 신호들은 안테나(911)에 의해 수신될 수도 있고 수신기(RCVR, 913)에 제공될 수도 있다. 수신기(913)는 수신 신호를 컨디셔닝 및 디지털화하고, 추가적인 프로세싱을 위해 디지털 섹션(920)에 샘플들을 제공할 수 있다. 송신 경로 상에서, 송신기(TMTR, 915)는 디지털 섹션(920)으로부터 송신된 데이터를 수신하고, 그 데이터를 프로세싱 및 컨디셔닝하고, 변조된 신호를 생성하며, 그 변조된 신호는 안테나(911)를 통해 하나 이상의 기지국들로 송신될 수 있다.
디지털 섹션(920)은 하나 이상의 디지털 신호 프로세서(DSP), 마이크로-프로세서, 감소된 명령 세트 컴퓨터(RISC) 등으로 구현될 수 있다. 또한, 디지털 섹션(920)은 하나 이상의 주문형 집적 회로 (ASIC) 또는 기타 다른 타입의 집적 회로(IC) 상에서 제조될 수도 있다.
디지털 섹션(920)은, 예를 들어, 모뎀 프로세서(934), 비디오 프로세서 (922), 애플리케이션 프로세서(924), 디스플레이 프로세서(928), 제어기/멀티코어 프로세서(926), 센트럴 프로세싱 유닛(930), 및 외부 버스 인터페이스(EBI, 932)와 같은 다양한 프로세싱 및 인터페이스 유닛들을 포함할 수 있다.
비디오 프로세서(922)는 그래픽 애플리케이션들에 대한 프로세싱을 수행할 수 있다. 일반적으로, 비디오 프로세서(922)는 임의의 세트의 그래픽 동작들에 대한 임의의 수의 프로세싱 유닛들 또는 모듈들을 포함할 수 있다. 비디오 프로세서(922)의 특정 부분은 펌웨어 및/또는 소프트웨어로 구현될 수도 있다. 예를 들어, 제어 유닛은 앞서 설명한 기능들을 수행하는 펌웨어 및/또는 소프트웨어 모듈들(예를 들어, 절차, 함수 등)로 구현될 수 있다. 펌웨어 및/또는 소프트웨어 코드들은 메모리에 저장될 수도 있고, 프로세서(예를 들어, 멀티-코어 프로세서(926))에 의해 실행될 수도 있다. 메모리는 프로세서 내에 구현될 수 있거나 프로세서 외부에 구현될 수도 있다.
비디오 프로세서(922)는 오픈 그래픽 라이브러리(OpenGL), Direct3D 등과 같은 소프트웨어 인터페이스를 구현할 수 있다. 센트럴 프로세싱 유닛(930)은 비디오 프로세서(922)와 함께 일련의 그래픽 처리 동작들을 수행할 수 있다. 제어기/멀티코어 프로세서(926)는 적어도 두 개의 코어를 포함하여 제어기/멀티코어 프로세서(926)가 처리해야하는 워크로드에 따라서 두 개의 코어에 워크로드를 배당하여 동시에 해당하는 워크로드를 처리할 수 있다.
비록 도면에서는 애플리케이션 프로세서(924)를 디지털 섹션(920)에 포함된 하나의 구성요소로 도시하였으나, 본 발명이 이에 제한되는 것은 아니다. 본 발명의 몇몇 실시예에서, 디지털 섹션(920)은 하나의 애플리케이션 프로세서(924) 또는 애플리캐이션 칩으로 통합되어 구현될 수도 있다.
모뎀 프로세서(934)는 수신기(913) 및 송신기(915)와 디지털 섹션(920) 사이의 데이터 전달 과정에서 필요한 연산을 수행할 수 있다. 디스플레이 프로세서(928)는 디스플레이(910)를 구동시키는데 필요한 연산을 수행할 수 있다.
앞서 설명한 본 발명의 실시예들에 따른 반도체 시스템(1~5)은 도시된 프로세서들(922, 924, 926, 928, 930, 934)에 적용될 수 있다.
다음 도 13을 참조하여, 본 발명의 실시예들에 따른 반도체 시스템을 포함하는 컴퓨팅 시스템에 대해 설명하도록 한다.
도 13은 본 발명의 실시예들에 따른 반도체 시스템을 포함하는 컴퓨팅 시스템을 도시한 블록도이다.
도 13을 참조하면, 본 발명의 일 실시예에 따른 컴퓨팅 시스템(1000)은 센트럴 프로세싱 유닛(CPU, 1002), 시스템 메모리(system memory, 1004), 그래픽 시스템(1010), 디스플레이 장치(1006)를 포함한다.
센트럴 프로세싱 유닛(1002)은 컴퓨팅 시스템(1000)의 구동에 필요한 연산을 수행할 수 있다. 시스템 메모리(1004)는 데이터를 저장하도록 구성될 수 있다. 시스템 메모리(1004)는 센트럴 프로세싱 유닛(1002)에 의해 처리되는 데이터를 저장할 수 있다. 시스템 메모리(1004)는 센트럴 프로세싱 유닛(1002)의 동작 메모리로서 역할을 수행할 수 있다. 시스템 메모리(1004)는 DDR SDRAM(Double Data Rate Static DRAM), SDR SDRAM(Single Data Rate SDRAM)과 같은 하나 이상의 휘발성 메모리 장치 및/또는 EEPROM(Electrical Erasable Programmable ROM), 플래시 메모리(flash memory)과 같은 하나 이상의 비휘발성 메모리 장치를 포함할 수 있다. 앞서 설명한 본 발명의 실시예들에 따른 반도체 시스템(1~5) 중 어느 하나의 메모리(200, 210)는 이러한 시스템 메모리(1004)의 구성 요소로 채용될 수 있다.
그래픽 시스템(1010)은 그래픽 프로세싱 유닛(1011; GPU), 그래픽 메모리(1012; graphic memory), 디스플레이 컨트롤러(1013; display controller), 그래픽 인터페이스(1014; graphic interface), 그래픽 메모리 컨트롤러(1015; graphic memory controller)를 포함할 수 있다.
그래픽 프로세싱 유닛(1011)은 컴퓨팅 시스템(1000)에 필요한 그래픽 연산 처리를 수행할 수 있다. 구체적으로, 그래픽 프로세싱 유닛(1011)은 적어도 하나의 버텍스들로 구성되는 프리미티브를 조립하고, 조립된 프리미티브들을 이용하여 렌더링을 수행할 수 있다.
그래픽 메모리(1012)는 그래픽 프로세싱 유닛(1011)에 의해 처리되는 그래픽 데이터를 저장하거나, 그래픽 프로세싱 유닛(1011)에 제공되는 그래픽 데이터를 저장할 수 있다. 또는, 그래픽 메모리(1012)는 그래픽 프로세싱 유닛(1011)의 동작 메모리로서 역할을 수행할 수 있다.
디스플레이 컨트롤러(1013)는 렌더링된 이미지 프레임이 디스플레이될 수 있도록, 디스플레이 장치(1006)를 제어할 수 있다.
그래픽 인터페이스(1014)는 센트럴 프로세싱 유닛(1002)과 그래픽 프로세싱 유닛(1011) 사이를 인터페이싱하고, 그래픽 메모리 컨트롤러(1015)는 시스템 메모리(1004)와 그래픽 프로세싱 유닛(1011) 사이에서 메모리 액세스를 제공할 수 있다.
도 13에는 명확하게 도시하지 않았으나, 컴퓨팅 시스템(1000)은 버튼, 터치 스크린, 마이크와 같은 하나 이상의 입력 장치, 및/또는 스피커와 같은 하나 이상의 출력 장치를 더 포함할 수 있다. 또한, 컴퓨팅 시스템(1000)은 유선 또는 무선으로 외부 장치와 데이터를 교환하기 위한 인터페이스 장치를 더 포함할 수 있다. 인터페이스 장치는 예를 들어, 안테나 또는 유무선 트랜시버 등을 포함할 수 있다.
실시예에 따라, 컴퓨팅 시스템(1000)은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal Digital Assistant; PDA), 데스크톱(Desktop), 노트북(Notebook), 태블릿(Tablet) 등과 같은 임의의 컴퓨팅 시스템일 수 있다.
앞서 설명한 본 발명의 실시예들에 따른 반도체 시스템(1~5) 중 어느 하나는 이러한 컴퓨팅 시스템(1000)의 구성 요소로 채용될 수 있다.
다음 도 14를 참조하여, 본 발명의 실시예들에 따른 반도체 시스템를 포함하는 전자 시스템에 대해 설명하도록 한다.
도 14은 본 발명의 실시예들에 따른 반도체 시스템을 포함하는 전자 시스템의 블록도이다.
도 14을 참조하면, 본 발명의 실시예에 따른 전자 시스템(1100)은 컨트롤러(1110), 입출력 장치(1120, I/O), 기억 장치(1130, memory device), 인터페이스(1140) 및 버스(1150, bus)를 포함할 수 있다. 컨트롤러(1110), 입출력 장치(1120), 기억 장치(1130) 및/또는 인터페이스(1140)는 버스(1150)를 통하여 서로 결합될 수 있다. 버스(1150)는 데이터들이 이동되는 통로(path)에 해당한다.
컨트롤러(1110)는 마이크로프로세서, 디지털 신호 프로세스, 마이크로컨트롤러, 및 이들과 유사한 기능을 수행할 수 있는 논리 소자들 중에서 적어도 하나를 포함할 수 있다. 입출력 장치(1120)는 키패드(keypad), 키보드 및 디스플레이 장치등을 포함할 수 있다. 기억 장치(1130)는 데이터 및/또는 명령어등을 저장할 수 있다. 인터페이스(1140)는 통신 네트워크로 데이터를 전송하거나 통신 네트워크로부터 데이터를 수신하는 기능을 수행할 수 있다. 인터페이스(1140)는 유선 또는 무선 형태일 수 있다. 예컨대, 인터페이스(1140)는 안테나 또는 유무선 트랜시버등을 포함할 수 있다.
도시하지 않았지만, 전자 시스템(1100)은 컨트롤러(1110)의 동작을 향상시키기 위한 동작 메모리로서, 고속의 디램 및/또는 에스램 등을 더 포함할 수도 있다. 이 때 이러한 동작 메모리로서, 앞서 설명한 본 발명의 실시예들에 따른 반도체 시스템(1~5) 중 어느 하나가 채용될 수 있다. 또한, 앞서 설명한 본 발명의 실시예들에 따른 반도체 장치(10~15, 20~25) 중 어느 하나는, 기억 장치(1130) 내에 제공되거나, 컨트롤러(1110), 입출력 장치(1120, I/O) 등의 일부로 제공될 수 있다.
전자 시스템(1100)은 개인 휴대용 정보 단말기(PDA, personal digital assistant) 포터블 컴퓨터(portable computer), 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 디지털 뮤직 플레이어(digital music player), 메모리 카드(memory card), 또는 정보를 무선환경에서 송신 및/또는 수신할 수 있는 모든 전자 제품에 적용될 수 있다.
도 15 내지 도 17은 본 발명의 몇몇 실시예들에 따른 반도체 시스템을 적용할 수 있는 예시적인 반도체 시스템들이다.
도 15는 태블릿 PC(1200)을 도시한 도면이고, 도 16은 노트북(1300)을 도시한 도면이며, 도 17은 스마트폰(1400)을 도시한 것이다. 본 발명의 실시예들에 따른 반도체 시스템(1~5) 중 적어도 하나는 이러한 태블릿 PC(1200), 노트북(1300), 스마트폰(1400) 등에 사용될 수 있다.
또한, 본 발명의 몇몇 실시예들에 따른 반도체 장치는 예시하지 않는 다른 집적 회로 장치에도 적용될 수 있음은 당업자에게 자명하다. 즉, 이상에서는 본 실시예에 따른 반도체 시스템의 예로, 태블릿 PC(1200), 노트북(1300), 및 스마트폰(1400)만을 들었으나, 본 실시예에 따른 반도체 시스템의 예가 이에 제한되는 것은 아니다. 본 발명의 몇몇 실시예에서, 반도체 시스템은, 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 무선 전화기(wireless phone), 모바일 폰(mobile phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player) 등으로 구현될 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 어플리케이션 프로세서 200: 메모리
300: 반도체 장치 600: 버스

Claims (10)

  1. 제1 레지스터 값 및 제2 레지스터 값을 포함하는 프로세서;
    상기 제1 레지스터 값의 복사본인 제3 레지스터 값과, 상기 제2 레지스터 값의 복사본인 제4 레지스터 값을 저장하고, 저장된 상기 제3 또는 제4 레지스터 값이 변경되는 경우, 변경된 상기 제3 레지스터 값을 상기 프로세서의 상기 제1 레지스터 값에 맵핑(mapping)시키거나, 변경된 상기 제4 레지스터 값을 상기 프로세서의 상기 제2 레지스터 값에 맵핑시키는 메모리; 및
    상기 프로세서에 의해 동작이 제어되는 반도체 장치를 포함하되,
    상기 프로세서는 상기 제3 레지스터 값에 의해 동작이 제어되고,
    상기 반도체 장치는 상기 제4 레지스터 값에 의해 동작이 제어되는 반도체 시스템.
  2. 제 1항에 있어서,
    상기 메모리에 저장된 상기 제3 레지스터 값 또는 상기 제4 레지스터 값을 변경하는 운영체제(Operating System)를 더 포함하는 반도체 시스템.
  3. 제 2항에 있어서,
    상기 운영체제는 상기 제3 레지스터 값 또는 상기 제4 레지스터 값을 변경하여, 상기 프로세서 또는 상기 반도체 장치의 입력 또는 출력을 최적화(Optimize)하는 반도체 시스템.
  4. 제 1항에 있어서,
    상기 반도체 장치는, 전력 제어 회로, 메모리 카드, 또는 통신 장치를 포함하는 반도체 시스템.
  5. 제 1항에 있어서,
    상기 제2 레지스터 값은 상기 반도체 장치의 입력 신호 또는 출력 신호를 제어하는 데이터 어드레스(data address)를 포함하는 반도체 시스템.
  6. 제1 레지스터 값을 포함하고, 상기 제1 레지스터 값에 의해 동작이 제어되는 프로세서;
    제2 레지스터 값을 포함하고, 상기 제2 레지스터 값에 의해 동작이 제어되는 반도체 장치; 및
    상기 제1 레지스터 값의 복사본인 제3 레지스터 값과, 상기 제2 레지스터 값의 복사본인 제4 레지스터 값을 저장하고, 저장된 상기 제3 또는 제4 레지스터 값이 변경되는 경우, 변경된 상기 제3 레지스터 값을 상기 프로세서의 상기 제1 레지스터 값에 맵핑(mapping)시키거나, 변경된 상기 제4 레지스터 값을 상기 반도체 장치의 상기 제2 레지스터 값에 맵핑시키는 메모리를 포함하는 반도체 시스템.
  7. 제 6항에 있어서,
    상기 반도체 장치는, 제1 서브 반도체 장치와 제2 서브 반도체 장치를 더 포함하고,
    상기 프로세서는 상기 제1 서브 반도체 장치의 동작을 제어하는 제1 서브 레지스터 값과, 상기 제2 서브 반도체 장치의 동작을 제어하는 제2 서브 레지스터 값을 포함하고,
    상기 제1 및 제2 서브 레지스터 값은 상기 메모리에 복사되고, 복사된 데이터는 상기 프로세서의 상기 제1 및 제2 서브 레지스터 값에 맵핑되는 반도체 시스템.
  8. 제 6항에 있어서,
    상기 메모리는 상기 반도체 시스템에 탈착 가능한 포터블 메모리(portable memory)를 포함하는 반도체 시스템.
  9. 제 8항에 있어서,
    상기 메모리가 비휘발성 메모리인 경우, 상기 메모리는 상기 반도체 시스템의 마진 테스트(Margin Test) 완료 후 제거 가능한 반도체 시스템.
  10. 연산을 수행하는 연산부;
    상기 연산부의 동작을 제어하는 제1 레지스터 값을 저장하는 제1 저장부;
    외부 반도체 장치의 동작을 제어하는 제2 레지스터 값을 저장하는 제2 저장부;
    상기 제1 및 제2 레지스터 값을 외부 메모리에 송신하고, 상기 외부 메모리로부터 제3 레지스터 값 또는 제4 레지스터 값을 수신하는 인터페이스부;
    상기 제3 레지스터 값을 상기 제1 레지스터 값에 일대일 맵핑시키거나, 상기 제4 레지스터 값을 상기 제2 레지스터 값에 일대일 맵핑시키는 맵핑부; 및
    맵핑된 상기 제3 레지스터 값을 이용하여 상기 연산부를 제어하고, 맵핑된 상기 제4 레지스터 값을 이용하여 상기 외부 반도체 장치를 제어하는 제어부를 포함하는 어플리케이션 프로세서.
KR1020140139937A 2014-10-16 2014-10-16 어플리케이션 프로세서와 이를 포함하는 반도체 시스템 KR102299008B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140139937A KR102299008B1 (ko) 2014-10-16 2014-10-16 어플리케이션 프로세서와 이를 포함하는 반도체 시스템
US14/800,701 US10268621B2 (en) 2014-10-16 2015-07-16 Application processor and semiconductor system including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140139937A KR102299008B1 (ko) 2014-10-16 2014-10-16 어플리케이션 프로세서와 이를 포함하는 반도체 시스템

Publications (2)

Publication Number Publication Date
KR20160044890A KR20160044890A (ko) 2016-04-26
KR102299008B1 true KR102299008B1 (ko) 2021-09-06

Family

ID=55749118

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140139937A KR102299008B1 (ko) 2014-10-16 2014-10-16 어플리케이션 프로세서와 이를 포함하는 반도체 시스템

Country Status (2)

Country Link
US (1) US10268621B2 (ko)
KR (1) KR102299008B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228737A1 (en) * 2008-03-10 2009-09-10 Mobileye Technologies Ltd. Elut: enhanced look-up table signal processing
US20100312991A1 (en) * 2008-05-08 2010-12-09 Mips Technologies, Inc. Microprocessor with Compact Instruction Set Architecture

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581051A (ja) 1991-09-20 1993-04-02 Nec Corp リソース破壊監視方式
US7165137B2 (en) 2001-08-06 2007-01-16 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
JP2003323651A (ja) 2002-04-26 2003-11-14 Matsushita Electric Ind Co Ltd 情報機器、情報機器の制御方法及びプログラム
JP2005275629A (ja) 2004-03-23 2005-10-06 Nec Corp マルチプロセッサシステム、及び、メモリアクセス方法
DE602004023378D1 (de) * 2004-07-01 2009-11-12 Texas Instruments Inc Vorrichtung und Verfahren zum sicheren Modus für Prozessoren und Speicher auf mehreren Halbleiterbauelementen in einem einzelnen Halbleitergehäuse
TWI283367B (en) * 2005-03-15 2007-07-01 Uli Electronics Inc Method for transmitting a power-saving command between computer system and system chips
US7380040B2 (en) * 2005-04-14 2008-05-27 Texas Instruments Incorporated Software programmable dynamic arbitration scheme
KR100855701B1 (ko) 2007-01-26 2008-09-04 엠텍비젼 주식회사 복수의 프로세서 코어가 통합된 칩 및 데이터 처리 방법
KR20080081479A (ko) 2007-03-05 2008-09-10 삼성전자주식회사 반도체 집적 회로 장치의 동작 모드 판별 방법
KR20090103070A (ko) * 2008-03-27 2009-10-01 삼성전자주식회사 멀티 링크 아키텍쳐에서 저장 상태정보의 다이렉트전송기능을 갖는 멀티 프로세서 시스템
KR20100041309A (ko) 2008-10-14 2010-04-22 삼성전자주식회사 각 프로세서들의 어플리케이션 기능을 모두 활용 가능한 멀티 프로세서 시스템
KR20100121215A (ko) 2009-05-08 2010-11-17 삼성전자주식회사 반도체 장치, 및 상기 반도체 장치의 os 이미지 라이트 방법
US20120060039A1 (en) * 2010-03-05 2012-03-08 Maxlinear, Inc. Code Download and Firewall for Embedded Secure Application
JP2012181737A (ja) 2011-03-02 2012-09-20 Mitsubishi Electric Corp 計算機システム
JP2013069054A (ja) 2011-09-21 2013-04-18 Fuji Xerox Co Ltd 情報処理装置、プログラムおよび画像形成装置
US20130282951A1 (en) * 2012-04-19 2013-10-24 Qualcomm Incorporated System and method for secure booting and debugging of soc devices
US9009400B2 (en) * 2012-10-16 2015-04-14 Rambus Inc. Semiconductor memory systems with on-die data buffering
US9747104B2 (en) * 2014-05-12 2017-08-29 Qualcomm Incorporated Utilizing pipeline registers as intermediate storage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228737A1 (en) * 2008-03-10 2009-09-10 Mobileye Technologies Ltd. Elut: enhanced look-up table signal processing
US20100312991A1 (en) * 2008-05-08 2010-12-09 Mips Technologies, Inc. Microprocessor with Compact Instruction Set Architecture

Also Published As

Publication number Publication date
KR20160044890A (ko) 2016-04-26
US10268621B2 (en) 2019-04-23
US20160110131A1 (en) 2016-04-21

Similar Documents

Publication Publication Date Title
US10237682B2 (en) Multi-signal geometric location sensing for access control
US9799092B2 (en) Graphic processing unit and method of processing graphic data by using the same
CN107925749B (zh) 用于调整电子设备的分辨率的方法和设备
US9881680B2 (en) Multi-host power controller (MHPC) of a flash-memory-based storage device
KR20190065789A (ko) 랭크 단위로 메모리 장치를 트레이닝하는 전자 장치 및 그것의 메모리 트레이닝 방법
KR101861471B1 (ko) 플래시 메모리 기반의 저장 디바이스의 입/출력 가상화 (iov) 호스트 제어기 (hc) (iov-hc) 에서의 커맨드 트랩
CN108304334B (zh) 应用处理器和包括中断控制器的集成电路
KR20150134906A (ko) 화면 공유 방법 및 그 전자 장치
US9632953B2 (en) Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers
US9164804B2 (en) Virtual memory module
KR102155479B1 (ko) 반도체 장치
JP2018535462A (ja) タッチヒートマップ
CN105144060A (zh) 操纵重载的手势
EP4109281B1 (en) Peer-to-peer link sharing for upstream communications from xpus to a host processor
US10740252B2 (en) Serial peripheral interface filter for processor security
KR102299008B1 (ko) 어플리케이션 프로세서와 이를 포함하는 반도체 시스템
CN108369726B (zh) 根据场景改变图形处理分辨率的方法和便携电子设备
EP2972714A1 (en) Providing hybrid touchpad in computing device
CN102033713A (zh) 电子系统、控制器及数据传输方法
WO2022183667A1 (zh) 刷机包修改方法、装置、终端设备以及存储介质
KR20150116720A (ko) 메모리 시스템 및 이를 포함하는 전자 장치
KR20150069155A (ko) 전자 장치의 터치 인디케이터 디스플레이 방법 및 그 전자 장치
US9880748B2 (en) Bifurcated memory management for memory elements
KR102287400B1 (ko) 이미지 합성 장치와 이를 포함하는 디스플레이 시스템
US9766875B2 (en) Multimedia data processing method in general purpose programmable computing device and data processing system according to the multimedia data processing method

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