KR101951729B1 - A method, apparatus, and system for distributed pre-processing of touch data and display region control - Google Patents

A method, apparatus, and system for distributed pre-processing of touch data and display region control Download PDF

Info

Publication number
KR101951729B1
KR101951729B1 KR1020167034143A KR20167034143A KR101951729B1 KR 101951729 B1 KR101951729 B1 KR 101951729B1 KR 1020167034143 A KR1020167034143 A KR 1020167034143A KR 20167034143 A KR20167034143 A KR 20167034143A KR 101951729 B1 KR101951729 B1 KR 101951729B1
Authority
KR
South Korea
Prior art keywords
touch
display
user
controller
processor
Prior art date
Application number
KR1020167034143A
Other languages
Korean (ko)
Other versions
KR20160143891A (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 인텔 코포레이션
Publication of KR20160143891A publication Critical patent/KR20160143891A/en
Application granted granted Critical
Publication of KR101951729B1 publication Critical patent/KR101951729B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3265Power saving in display device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04166Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/08Arrangements within a display terminal for setting, manually or automatically, display parameters of the display terminal

Abstract

일 실시예에서, 시스템은, 터치 제어기와 인터페이싱하고 디스플레이의 1차 및 2차 영역을 식별하는 맵핑 정보를 전달하는 주변기기 제어기를 포함한다. 터치 제어기는 터치 데이터가 2차 영역 내의 터치에 대한 것일 때 터치 데이터를 필터링하고 터치 데이터가 1차 영역 내의 사용자 터치에 대한 것일 때 터치 데이터를 주변기기 제어기에 전달하는 로직을 포함한다. 일 실시예에서, 디스플레이 로직은 기준의 조합을 통해 콘텐츠를 디스플레이하기 위한 디스플레이 베젤 영역을 언제 어떻게 이용할지를 결정할 수 있다. 결정 벡터(센서, 장치 구성, 콘텐츠 타입, 1차 디스플레이 활동 등)는, 베젤의 각 측의 독립된 제어로, 렌더링을 위한 디스플레이 영역을 인에이블/디스에이블할 수 있다. 콘텐츠는, 1차 디스플레이 콘텐츠, 환경, 기타의 장치 및 사용자 선호사항에 기초하여 렌더링될 수 있다. 다른 실시예들도 설명되고 청구된다.In one embodiment, the system includes a peripheral controller that interfaces with a touch controller and communicates mapping information that identifies the primary and secondary regions of the display. The touch controller includes logic for filtering the touch data when the touch data is for a touch in the secondary area and for communicating the touch data to the peripheral controller when the touch data is for a user touch in the primary area. In one embodiment, the display logic may determine when and how to use the display bezel region for displaying content via a combination of criteria. The decision vector (sensor, device configuration, content type, primary display activity, etc.) can enable / disable the display area for rendering with independent control of each side of the bezel. The content may be rendered based on the primary display content, environment, other devices and user preferences. Other embodiments are also described and claimed.

Figure 112016119415305-pat00026
Figure 112016119415305-pat00026

Description

터치 데이터의 분산된 전처리와 디스플레이 영역 제어를 위한 방법, 장치, 및 시스템{A METHOD, APPARATUS, AND SYSTEM FOR DISTRIBUTED PRE-PROCESSING OF TOUCH DATA AND DISPLAY REGION CONTROL}Field of the Invention [0001] The present invention relates to a method, an apparatus, and a system for dispersed pre-processing of touch data and control of a display area,

본 출원은 2013년 1월 6일 출원된 미국 가출원번호 61/749,386호의 우선권 혜택을 주장한다.This application claims the benefit of US Provisional Application No. 61 / 749,386, filed January 6, 2013.

본 개시는 컴퓨팅 시스템에 관한 것으로, 특히 컴퓨팅 장치의 디스플레이 콘텐츠와 전력 소비를 제어하는 것에 관한 것이다.This disclosure relates generally to computing systems and, more particularly, to controlling display content and power consumption of a computing device.

기술이 진보함에 따라, 사용자들은 더 작은 팩키지에 더 많은 양의 특징들과 기능성을 갖는 것에 익숙해진다. 이러한 동향은 가전 제품을 지배하고 있고, 사용자들은 컴퓨팅과 통신을 위해 작고 경량의 폼팩터로 된 최신품을 추구하며, 이와 함께, 많은 장치들은 계산 및 통신 능력을 갖춘 단일 시스템으로 수렴하고 있다. 그럼에도 불구하고, 현재의 시스템들은 그들은 능력, 폼팩터 또는 양쪽 모두에 관해 결점 또는 트레이드-오프를 갖고 있다.As technology advances, users become accustomed to having greater amounts of features and functionality in smaller packages. These trends dominate consumer electronics, and users are seeking the latest in a compact, lightweight form factor for computing and communications, while many devices converge into a single system with computing and communication capabilities. Nonetheless, current systems have drawbacks or trade-offs about capabilities, form factors, or both.

많은 현재의 시스템들은 터치 메커니즘에 의해 사용자 입력을 수신하도록 구성된다. 이들 메커니즘들 중 일부는 비교적 원시적이며 정확한 터치 정보를 효과적으로 수신하지 않아, 상당한 처리를 요구하고 있다. 통상적으로, 사용자 터치 처리는 중앙 처리 장치(CPU) 등의 시스템의 프로세서에서 수행된다. 따라서 이러한 처리는 다른 상황에서라면 다른 작업들에 충당될 수 있었을 자원을 소비한다.Many current systems are configured to receive user input by a touch mechanism. Some of these mechanisms are relatively primitive and do not receive accurate touch information effectively, requiring significant processing. Typically, the user touch processing is performed in a processor of a system such as a central processing unit (CPU). Thus, this process consumes resources that could otherwise be covered in other situations.

다양한 폼팩터 장치들에 관한 또 다른 문제는 디스플레이 구성은 통상적으로 고정적이거나, 조절가능하다면, 그 구성은 사용자에 의한 사용자 제어형이라는 것이다. 이러한 제어는, 소정 장치가 다양한 상이한 폼팩터 모드 및/또는 상황에서 이용될 때 융통성을 방해한다. 또한, 사용자가 다양한 상이한 상황에 대해 디스플레이 모드를 재구성할 것을 요구하는 것은 복잡성을 증가시키고 사용자를 좌절시킬 수 있다. 또한, 현재의 클램쉘(clamshell) 및 태블릿 클라이언트 폼팩터에서의 베젤 영역(bezel area)은 디스플레이 렌더링에 이용되지 않는다.Another problem with various form factor devices is that if the display configuration is typically fixed or adjustable, then the configuration is user controlled by the user. This control interferes with flexibility when a given device is used in a variety of different form factor modes and / or situations. In addition, requiring a user to reconfigure the display mode for a variety of different situations can increase complexity and frustrate users. Also, bezel areas in the current clamshell and tablet client form factors are not used for display rendering.

도 1a는 컴퓨팅 시스템의 한 실시예를 나타낸다.
도 1b는 컴퓨팅 시스템의 또 다른 실시예를 나타낸다.
도 1c는 컴퓨팅 시스템의 또 다른 실시예를 나타낸다.
도 1d는 컴퓨팅 시스템의 또 다른 실시예를 나타낸다.
도 1e는 컴퓨팅 시스템의 또 다른 실시예를 나타낸다.
도 1f는 컴퓨팅 시스템의 또 다른 실시예를 나타낸다.
도 1g는 컴퓨팅 시스템의 또 다른 실시예를 나타낸다.
도 1h는 컴퓨팅 시스템의 또 다른 실시예를 나타낸다.
도 2는 샤시의 베이스 부분 내의 일부 예시적 컴포넌트의 배치의 상부도의 한 실시예를 나타낸다.
도 3은 컴퓨팅 시스템의 실시예의 단면도의 한 실시예를 나타낸다.
도 4는 컴퓨팅 시스템에 존재하는 컴포넌트들의 블록도의 한 실시예를 나타낸다.
도 5는 컴퓨팅 시스템에 존재하는 컴포넌트들의 블록도의 또 다른 실시예를 나타낸다.
도 6은 컴퓨팅 시스템에 존재하는 컴포넌트들의 블록도의 또 다른 실시예를 나타낸다.
도 7은 컴퓨팅 시스템에 존재하는 컴포넌트들의 블록도의 또 다른 실시예를 나타낸다.
도 8은 컴퓨팅 시스템에 존재하는 컴포넌트들의 블록도의 또 다른 실시예를 나타낸다.
도 9는 컴퓨팅 시스템에 존재하는 컴포넌트들의 블록도의 또 다른 실시예를 나타낸다.
도 10은 컴퓨팅 시스템에 존재하는 컴포넌트들의 블록도의 또 다른 실시예를 나타낸다.
도 11은 컴퓨팅 시스템에 존재하는 컴포넌트들의 또 다른 실시예를 나타낸다.
도 12a는 프로세서의 블록도의 실시예를 나타낸다.
도 12b는 프로세서의 코어의 실시예를 나타낸다.
도 13은 프로세서에 대한 블록도의 또 다른 실시예를 나타낸다.
도 14는 프로세서에 대한 블록도의 또 다른 실시예를 나타낸다.
도 15a는 본 발명의 실시예에 따른 무효 터치 영역 처리를 나타내는 시스템의 일부의 블록도이다.
도 15b는 본 발명의 실시예에 따른 유효 터치 영역 처리를 나타내는 시스템의 일부의 블록도이다.
도 15c는 본 발명의 또 다른 실시예에 따른 햅틱 피드백 제어의 블록도이다.
도 16은 본 발명의 실시예에 따른 터치 데이터를 전처리하기 위한 방법의 흐름도이다.
도 17은 본 발명의 실시예에 따른 활성 디스플레이 영역과 복수의 소프트 버턴을 포함하는 가상 베젤 영역을 포함하는 디스플레이의 예시이다.
도 18a 내지 도 18d는 다양한 실시예에 따른 디스플레이의 상이한 영역들에서의 콘텐츠 렌더링의 동적 제어의 그래픽 예시이다.
도 19는 실시예에 따른 2차 디스플레이 영역과 1차 디스플레이 영역 사이의 매끈한 상호작용의 그래픽 예시이다.
Figure 1A illustrates one embodiment of a computing system.
Figure IB illustrates another embodiment of a computing system.
1C depicts yet another embodiment of a computing system.
Figure ID shows another embodiment of a computing system.
Figure IE shows another embodiment of a computing system.
1F illustrates another embodiment of a computing system.
Figure 1G illustrates another embodiment of a computing system.
Figure 1 h illustrates another embodiment of a computing system.
Figure 2 illustrates one embodiment of a top view of the placement of some exemplary components within the base portion of the chassis.
Figure 3 illustrates one embodiment of a cross-sectional view of an embodiment of a computing system.
4 shows an embodiment of a block diagram of components present in a computing system.
Figure 5 illustrates another embodiment of a block diagram of components present in a computing system.
Figure 6 illustrates another embodiment of a block diagram of components present in a computing system.
Figure 7 illustrates another embodiment of a block diagram of components present in a computing system.
Figure 8 illustrates another embodiment of a block diagram of components present in a computing system.
Figure 9 illustrates another embodiment of a block diagram of components present in a computing system.
Figure 10 illustrates another embodiment of a block diagram of components present in a computing system.
Figure 11 shows another embodiment of components present in a computing system.
12A shows an embodiment of a block diagram of a processor.
12B shows an embodiment of a core of a processor.
Figure 13 shows another embodiment of a block diagram for a processor.
Figure 14 shows another embodiment of a block diagram for a processor.
FIG. 15A is a block diagram of a portion of a system that illustrates invalid touch region processing according to an embodiment of the present invention. FIG.
FIG. 15B is a block diagram of a part of a system showing effective touch area processing according to an embodiment of the present invention. FIG.
15C is a block diagram of a haptic feedback control in accordance with another embodiment of the present invention.
16 is a flowchart of a method for pre-processing touch data according to an embodiment of the present invention.
17 is an illustration of a display including an active display region and a virtual bezel region including a plurality of softbuttons according to an embodiment of the present invention.
Figures 18A-D are graphical illustrations of dynamic control of content rendering in different regions of a display according to various embodiments.
19 is a graphical illustration of the smooth interaction between a secondary display region and a primary display region according to an embodiment.

이하의 설명에서, 본 발명의 철저한 이해를 제공하기 위하여, 특정한 타입의 프로세서 및 시스템 구성, 특정한 하드웨어 구조, 특정한 아키텍쳐 및 마이크로 아키텍쳐 세부사항, 특정한 레지스터 구성, 특정한 Ultrabook™ 특성, 특정한 명령어 타입, 특정한 시스템 컴포넌트, 특정한 측정치/높이, 특정한 프로세서 파이프라인 스테이지 및 동작 등의 수많은 구체적인 세부사항들이 개시된다. 그러나, 본 발명을 실시하기 위해 이들 특정한 세부사항들이 채용될 필요는 없다는 것이 당업자에게는 명백할 것이다. 다른 예에서, 특정한 및 대안적인 프로세스 아키텍쳐, 설명된 알고리즘을 위한 특정한 로직 회로/코드, 특정한 펌웨어 코드, 특정한 인터커넥트 동작, 특정한 로직 구성, 특정한 제조 기술 및 재료, 특정한 컴파일러 구현, 코드로 된 알고리즘의 특정한 표현, 특정한 전력 차단 및 게이팅 기술/로직 및 컴퓨터 시스템의 기타의 특정한 동작 세부사항 등의 공지된 컴포넌트나 방법들은 본 발명을 불필요하게 흐리지 않기 위해서 상세히 설명되지 않았다.In the following description, in order to provide a thorough understanding of the present invention, it is appreciated that certain types of processors and system configurations, specific hardware architectures, specific architectures and microarchitecture details, specific register configurations, specific UltrabookTM characteristics, Numerous specific details such as components, specific measurements / heights, specific processor pipeline stages and operations, and the like are disclosed. However, it will be apparent to those skilled in the art that these specific details need not be employed to practice the present invention. In other examples, specific and alternative process architectures, specific logic circuits / codes for the described algorithms, specific firmware code, specific interconnect operations, specific logic configurations, specific fabrication techniques and materials, specific compiler implementations, Known components and methods of operation, such as, for example, representation, specific power interruption and gating techniques / logic, and other specific operational details of a computer system, have not been described in detail in order not to unnecessarily obscure the present invention.

이하의 실시예들은 컴퓨팅 플랫폼이나 마이크로프로세서에서와 같은 특정한 집적 회로에서의 에너지 절감 및 에너지 효율을 참조하여 설명될 수 있지만, 다른 실시예들은 다른 타입의 집적 회로 및 로직 장치들에 적용될 수 있다. 여기서 설명된 실시예들의 유사한 기술들 및 교시들은, 더 나은 에너지 효율 및 에너지 절감으로부터 역시 혜택을 입을 수 있는 다른 타입의 회로 또는 반도체 장치에 적용될 수 있다. 예를 들어, 개시된 실시예들은 데스크탑 컴퓨터 시스템 또는 Ultrabook™으로 제한되지 않고, 핸드헬드 장치, 태블릿, 다른 얇은 노트북, SOC(system on chip) 장치, 및 임베디드 응용 등의 다른 장치들에서도 이용될 수 있다. 핸드헬드 장치의 일부 예로서는, 셀룰러 전화, 인터넷 프로토콜 장치, 디지털 카메라, PDA(personal digital assistant), 및 핸드헬드 PC가 포함된다. 임베디드 응용은 통상적으로, 마이크로 제어기, 디지털 신호 프로세서(DSP), 시스템 온 칩, 네트워크 컴퓨터(NetPC), 셋탑박스, 네트워크 허브, 광역 네트워크(WAN) 스위치, 또는 여기서 교시되는 기능이나 동작을 수행할 수 있는 기타 임의의 시스템을 포함한다. 또한, 여기서 설명되는 장치, 방법, 및 시스템은 물리적 컴퓨팅 장치로 제한되지 않고, 에너지 보존 및 효율을 위한 소프트웨어 최적화에도 관련될 수 있다. (하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합을 참조한) 이하의 설명에서 용이하게 명백한 바와 같이, 여기서 설명되는 방법, 장치 및 시스템의 실시예들은 성능 고려사항과 균형을 이룬 '녹색 기술' 미래에 필수적이다.While the following embodiments may be described with reference to energy savings and energy efficiency in a particular integrated circuit, such as in a computing platform or microprocessor, other embodiments may be applied to other types of integrated circuit and logic devices. Similar techniques and teachings of the embodiments described herein may be applied to other types of circuits or semiconductor devices that may also benefit from better energy efficiency and energy savings. For example, the disclosed embodiments are not limited to desktop computer systems or UltrabookTMs, but may also be used in other devices such as handheld devices, tablets, other thin notebooks, system on chip (SOC) devices, and embedded applications . Some examples of handheld devices include cellular telephones, Internet protocol devices, digital cameras, personal digital assistants (PDAs), and handheld PCs. Embedded applications typically include a microcontroller, a digital signal processor (DSP), a system on chip, a network computer (NetPC), a set top box, a network hub, a wide area network (WAN) switch, ≪ / RTI > In addition, the apparatuses, methods, and systems described herein are not limited to physical computing devices, but may also be related to software optimization for energy conservation and efficiency. As is readily apparent in the following description (with reference to hardware, firmware, software or a combination thereof), embodiments of the methods, apparatus and systems described herein are essential to the 'green technology' future balanced with performance considerations .

또한, 이하의 실시예들이 때때로 프로세서를 참조하여 설명되지만, 다른 실시예들은 다른 타입의 집적 회로 및 로직 장치에 적용가능하다. 본 발명의 실시예들의 유사한 기술들 및 교시들은, 더 높은 파이프라인 처리량 및 개선된 성능으로부터 혜택을 받는 다른 타입의 회로나 반도체 장치에 적용될 수 있다. 본 발명의 실시예들의 교시는 데이터 조작(data manipulation)을 수행하는 임의의 프로세서나 머신에 적용가능하다. 그러나, 본 발명은 512 비트, 256 비트, 128 비트, 64 비트, 32 비트, 또는 16 비트 데이터 연산을 수행하는 프로세서나 머신으로 제한되지 않고, 데이터의 조작 또는 관리가 수행되는 임의의 프로세서 및 머신에 적용될 수 있다. 또한, 이하의 설명은 예들을 제공하며, 첨부된 도면은 예시의 목적을 위해 다양한 예들을 보여준다. 그러나, 이들 예들은, 본 발명의 실시예들의 모든 가능한 구현의 빠짐없는 목록을 제공하기 보다는 본 발명의 실시예들의 예를 제공하기 위함일 뿐이므로 제한적 의미로 해석되어서는 안 된다.In addition, while the following embodiments are sometimes described with reference to a processor, other embodiments are applicable to other types of integrated circuits and logic devices. Similar techniques and teachings of embodiments of the present invention can be applied to other types of circuits or semiconductor devices that benefit from higher pipeline throughput and improved performance. The teachings of embodiments of the present invention are applicable to any processor or machine that performs data manipulation. However, the present invention is not limited to a processor or machine that performs 512-bit, 256-bit, 128-bit, 64-bit, 32-bit or 16-bit data operations and may be implemented on any processor and machine Can be applied. In addition, the following description provides examples, and the accompanying drawings show various examples for the purpose of illustration. These examples, however, should not be construed in a limiting sense because they are merely examples of embodiments of the invention rather than providing an exhaustive list of all possible implementations of the embodiments of the present invention.

이하의 예들 중 일부는 실행 유닛 및 로직 회로의 정황에서 명령어 취급 및 배포를 설명하고 있지만, 본 발명의 다른 실시예들은, 머신에 의해 수행될 때, 머신으로 하여금 본 발명의 적어도 한 실시예와 일치하는 기능을 수행하게 하는 머신-판독가능한, 유형의 매체에 저장된 데이터 또는 명령어에 의해 달성될 수 있다. 한 실시예에서, 본 발명의 실시예와 연관된 기능들은 머신-실행가능한 명령어들로 구현된다. 명령어들은, 이 명령어들로 프로그램된 범용 또는 특별 목적 프로세서로 하여금 본 발명의 방법을 수행하게 하는데 이용될 수 있다. 본 발명의 실시예들은, 본 발명의 실시예들에 따른 하나 이상의 연산을 수행하도록 컴퓨터(또는 기타의 전자 장치)를 프로그램하는데 이용될 수 있는 명령어를 저장하고 있는 머신 또는 머신-판독가능한 매체를 포함할 수 있는 컴퓨터 프로그램 제품 또는 소프트웨어로서 제공될 수 있다. 대안으로서, 본 발명의 방법의 실시예들은, 단계들을 수행하기 위한 고정된-기능 로직을 포함하는 특정의 하드웨어 컴포넌트들에 의해 수행되거나, 프로그램된 컴퓨터 컴포넌트들과 고정된-기능 하드웨어 컴포넌트들의 임의 조합에 의해 수행될 수도 있다.While some of the following examples illustrate instruction handling and distribution in the context of execution units and logic circuits, other embodiments of the present invention provide that when executed by a machine, it is possible for a machine to comply with at least one embodiment of the present invention Readable, < / RTI > type of medium that causes the computer to perform the functions of < / RTI > In one embodiment, the functions associated with embodiments of the present invention are implemented with machine-executable instructions. The instructions may be used to cause a general purpose or special purpose processor programmed with these instructions to perform the method of the present invention. Embodiments of the present invention include a machine or machine-readable medium having stored thereon instructions that can be used to program a computer (or other electronic device) to perform one or more operations in accordance with embodiments of the present invention May be provided as a computer program product or software that may be used to perform the functions described herein. Alternatively, embodiments of the method of the present invention may be implemented by specific hardware components including fixed-function logic for performing the steps, or by any combination of programmed computer components and fixed-function hardware components . ≪ / RTI >

여기서 설명된 방법 및 장치는, 주로 Ultrabook™ 등의 초박형 및/또는 초휴대성 노트북/랩탑을 참조하여 이하에서 설명된다. 그러나, 여기서 설명된 장치 및 방법은, 임의의 집적 회로 장치, 전자 장치, 또는 컴퓨팅 장치와 연계하여 구현될 수 있으므로, 그와 같이 제한되지 않는다.The methods and apparatus described herein are described below with reference to ultra-thin and / or ultra-thin notebook / laptop primarily Ultrabook ™. However, the apparatus and methods described herein may be implemented in connection with any integrated circuit device, electronic device, or computing device, and thus are not so limited.

이제 도 1a를 참조하면, 컴퓨팅 장치/시스템의 실시예의 예시가 도시되어 있다. 시스템(10)의 다양한 상용 구현이 제공될 수 있다. 한 예로서, 시스템(10)은, Ultrabook™, Apple® MacBook Air, Acer® Aspire, LG® Xnote, Dell® Inspiron, Dell® XPS, NEC® LaVie, MSI® S20, Asus® Transformer, Sony® VAIO, HP® EliteBook, HP® Folio, Toshiba® Protege, Asus® Zenbook, Asus® TaiChi, Lenovo® Ideapad, Lenovo® Yoga™ 또 다른 초경량 및 초박형 컴퓨팅 장치, 또는 임의의 공지된 및/또는 이용가능한 초경량, 초박형, 및/또는 초휴대성 컴퓨팅 플랫폼에 대응한다. 제1 예로서, 초휴대성 컴퓨팅 장치는, 얇은 및/또는 경량의 노트북, 랩탑, e-리더, 태블릿, 및 그 하이브리드(예를 들어, 태블릿, e-리더 등으로 전환가능한 노트북) 등의, 컴퓨팅 태스크(예를 들어, 사용자 입력/출력, 명령어/코드의 실행, 또는 네트워크 접속 등)를 수행할 수 있는 임의의 얇은 및/또는 경량의 장치를 포함한다. 그러나, 초휴대성 컴퓨팅 장치 또는 시스템은 상기 제공된 예들로 제한되지 않는다. 사실상, 컴퓨팅계가 더욱 컴팩트하고 효율적으로 됨에 따라, 현재는 얇고, 경량이고, 휴대성있는 것도 나중에는 크고 무거운 것으로 해석될 수 있다. 따라서, 한 실시예에서, 얇고 경량이라는 것은, 소형 컴퓨팅 장치에 대한 현재의 시장 또는 알려진 미래의 시장의 관점에서 본 것이다. 대안으로서, 얇고 경량이라는 것은, 본 개시의 해석이 이루어지는 시점에서 본 것일 수도 있다.Referring now to FIG. 1A, an illustration of an embodiment of a computing device / system is shown. Various commercial implementations of the system 10 may be provided. As an example, the system 10 may be an Ultrabook ™, Apple® MacBook Air, Acer® Aspire, LG® Xnote, Dell® Inspiron, Dell® XPS, NEC® LaVie, MSI® S20, Asus® Transformer, Sony® VAIO, Other ultra-light and ultra-thin computing devices, or any known and / or available ultra-lightweight, ultra-thin, ultra-thin computing device, such as HP® EliteBook, HP® Folio, Toshiba® Protege, Asus® Zenbook, Asus® TaiChi, Lenovo® Ideapad, Lenovo® Yoga ™ And / or < / RTI > As a first example, the ultra-idle computing device may be a computing device, such as a thin and / or light notebook, a laptop, an e-reader, a tablet and a hybrid thereof (e.g., And / or light devices capable of performing tasks (e.g., user input / output, execution of instructions / code, or network access, etc.). However, the hypervisor computing device or system is not limited to the examples provided above. In fact, as computing systems become more compact and more efficient, now thin, lightweight, and portable can later be interpreted as large and heavy. Thus, in one embodiment, being thin and light is seen in terms of the current market for a small computing device or a known future market. Alternatively, the thin and light weight may be viewed at the time the interpretation of the present disclosure is made.

예를 들어, 한 실시예에서 Ultrabook™은 다음과 같은 특성들 중 하나 이상을 포함한다: (1) 14인치 미만의 디스플레이의 경우 18 mm보다 얇고, 14인치 이상의 디스플레이의 경우 21 mm보다 얇고, 하이브리드 또는 전환가능한 버전의 경우 23mm보다 얇음; (2) 예를 들어, ACPI 명세(Advanced Configuration and Power Interface Specification, revision 3.0b, Oct. 10, 2006 참조) 전력 상태 S4-S8 등의 하이버네이션으로부터 1-7초의 임의의 범위의, 지정된 시간 미만에서의 웨이크업(wake); 전원투입 버턴 작동 3초 이내에 스위칭 온되는 스크린 디스플레이; Always Fresh Data를 수반한 적어도 7일의 스탠바이 배터리 수명; 공통 산업용 툴에 의해 측정될 때 5-24 시간 내의 임의의 범위의 배터리 수명의 최소값; 하나 이상의 터치 스크린 디스플레이; 특정한 하드웨어, 소프트웨어 및/또는 펌웨어(예를 들어, Intel® Management Engine, Intel® Anti-Theft Technology, Intel® Identify Protection Technology, Intel® Smart Connect Technology 등)를 포함함; 특정한 타입의 스토리지 또는 하드 드라이브(80-1000MB/S 범위 내의 임의의 양의 최소 전송률과 16GB 내지 10TB 범위 내의 임의의 최소 크기를 갖는 고체 상태 드라이브 및/또는 드라이브)를 포함함.For example, in one embodiment, the Ultrabook ™ includes one or more of the following characteristics: (1) thinner than 18 mm for displays of less than 14 inches, thinner than 21 mm for displays of 14 inches or more, Or less than 23 mm for switchable versions; (2) For example, in an ACPI specification (see Advanced Configuration and Power Interface Specification, revision 3.0b, Oct. 10, 2006), a random range of 1-7 seconds from a hibernation such as power state S4-S8, Wake-up; Power on button operation A screen display that is switched on within 3 seconds; At least 7 days of standby battery life with Always Fresh Data; The minimum value of any range of battery life within 5-24 hours as measured by a common industrial tool; One or more touch screen displays; Specific hardware, software and / or firmware (e.g., Intel® Management Engine, Intel® Anti-Theft Technology, Intel® Identify Protection Technology, Intel® Smart Connect Technology, etc.); Certain types of storage or hard drives (including solid-state drives and / or drives having a minimum transfer rate of any amount in the range of 80-1000MB / S and any minimum size within the range of 16GB to 10TB).

한 실시예에서, 예시된 특성들 중 하나 이상은 Ultrabook™ 정의의 일부이다. 이들 특성들은 현재의 시장 뷰에 기초한 순전히 예시라는 점에 유의한다. 앞서 언급된 바와 같이 Ultrabook™의 실시예들은, Ultrabook™의 정의를 잠재적으로 재정의하는 미래의 시장 상태에 맞게 유사하게 조정될 수 있다(따라서, 그 특성과 범위는 변화하는 컴퓨팅 생태계에 기초하여 감소(또는 메트릭에 따라 증가)될 수 있다).In one embodiment, one or more of the illustrated properties are part of the Ultrabook ™ definition. Note that these properties are purely examples based on the current market view. As previously mentioned, embodiments of the Ultrabook ™ can be similarly tuned to accommodate future market conditions that potentially redefine the definition of the Ultrabook ™ (thus, its characteristics and range may be reduced (or decreased) based on a changing computing ecosystem Depending on the metric).

도 1a를 참조하면, 시스템(10)은, 한 실시예에서, 경량의 샤시를 통해 구성될 수 있는 베이스 부분(20)을 포함한다. 한 예로서, 베이스 부분은 시스템의 전자 회로의 실질적 전부를 포함하지만; 이것은, 시스템(10)의 상이한 구획(예를 들어, 디스플레이(40), 뚜껑 부분(30), 또는 초박형, 초경량 컴퓨팅 장치의 다른 알려진 구획)에는 다른 컴포넌트들이 배치될 수 있기 때문에, 요구되는 것은 아니다. 사용자 인터페이스의 경우, 키보드(25) 및 터치패드(28)가 베이스 부분(20)에 제공된다. 그러나, 컴퓨팅 시스템 또는 컴퓨팅 장치에 입력을 제공하기 위한 임의의 공지된 장치가 이용될 수도 있다. 예를 들어, 여기서 설명된 센서는, 사용자로부터의 입력을 수신하고 컴퓨팅 태스크를 수행하기 위해 키보드, 마우스 등과 조합하여(또는 이들을 대체하여) 이용될 수 있다. 또한, (USB 3.0포트를 포함한) USB(universal serial bus) 포트, Thunderbolt™ 포트, 비디오 포트(예를 들어, 무엇보다도, HDMI(micro high definition media interface) 또는 미니 비디오 그래픽 어댑터(VGA)), SD 카드 포트 등의 메모리 카드 포트, 및 오디오 잭) 등의 주변 장치를 수용하기 위한 다양한 포트들이, 일반적으로 샤시의 측면 상의 위치(22)에 존재할 수 있다(다른 실시예에서, 사용자-액세스가능한 포트들은 대향하는 샤시 측면 상 또는 시스템(10)의 다른 표면 상에 존재할 수 있다). 또한, (도 1a에는 도시되지 않은) AC 어댑터를 통해 DC 전력을 수신하기 위해 파워 포트가 제공될 수도 있다. 이들 포트들은 순전히 예시라는 점에 유의한다. 초휴대성 컴퓨팅 장치의 크기가 더 작아짐에 따라, 더 적은 수의 외부 포트들이 제공될 수 있다. 대신에, Bluetooth, 근접장 통신(Near Field Communication), Wi-Fi 센서 등과 유사한 무선 통신 기술을 통해 통신이 수행될 수 있다. 게다가, 대안적 접속을 통해(또는 일부 실시예에서는 심지어 무선으로) 전력이 수신될 수도 있다.Referring to FIG. 1A, the system 10 includes, in one embodiment, a base portion 20 that can be constructed through a lightweight chassis. By way of example, the base portion includes substantially all of the electronic circuitry of the system; This is not required because different components may be located in different compartments of system 10 (e.g., display 40, lid portion 30, or other known compartments of ultra-thin, lightweight computing devices) . In the case of a user interface, a keyboard 25 and a touch pad 28 are provided in the base portion 20. However, any known device for providing input to a computing system or computing device may be used. For example, the sensors described herein may be used in combination with (or in place of) a keyboard, a mouse, etc. to receive input from a user and perform computing tasks. It also includes a universal serial bus (USB) port, a Thunderbolt ™ port, a video port (for example, a micro high definition media interface (HDMI) or mini video graphics adapter (VGA) Various ports for receiving peripheral devices, such as a memory card port, such as a card port, and an audio jack, may generally be present at a location 22 on the side of the chassis (in other embodiments, user- May be on opposite chassis side surfaces or other surfaces of system 10). Also, a power port may be provided to receive DC power through an AC adapter (not shown in FIG. 1A). Note that these ports are purely examples. As the size of the ultra busy computing device becomes smaller, fewer external ports can be provided. Instead, communications can be performed via wireless communication technologies similar to Bluetooth, Near Field Communication, Wi-Fi sensors, and the like. In addition, power may be received via alternative connections (or even wireless in some embodiments).

추가로 알 수 있는 바와 같이, 뚜껑 부분(30)은 베이스 부분(20)에 결합될 수 있고, 상이한 실시예에서는 액정 디스플레이(LCD) 또는 유기 발광 다이오드(OLED)일 수 있는 하나 이상의 디스플레이(들)(40)을 포함할 수 있다. 그러나, e-잉크 스크린 등의, 임의의 디스플레이 기술이 디스플레이(40)로서 이용될 수 있다. 또한, 디스플레이(40)의 영역에서, 터칭 기능이 한 실시예에서 제공되어, 사용자가 디스플레이(40)와 함께 위치한 터치 패널을 통해 사용자 입력을 제공할 수 있다. 예시되지 않은 또 다른 실시예에서, 복수의 디스플레이가 제공될 수 있다(예를 들어, 전통적인 디스플레이와 e-잉크 스크린, 상이한 디스플레이 타입들, 또는 동일한 타입의 복수의 디스플레이). 뚜껑 부분(30)은, 비디오 및/또는 정지 정보를 포착할 수 있는 카메라 장치(50)를 포함한 다양한 포착 장치를 더 포함할 수 있다. 또한, 듀얼 마이크로폰(55a 및 55b) 등의 하나 이상의 마이크로폰이 존재하여 사용자 입력을 통해 사용자 입력을 수신할 수 있다. 도 1a에는 이 위치에 도시되어 있지만, 하나 이상의 전방향 마이크로폰일 수 있는 마이크로폰은 다른 실시예에서는 다른 위치에 있을 수도 있다.As further appreciated, lid portion 30 may be coupled to base portion 20 and may include one or more display (s), which in different embodiments may be a liquid crystal display (LCD) or an organic light emitting diode (OLED) (40). However, any display technology, such as an e-ink screen, may be used as the display 40. In addition, in the area of the display 40, a touching function may be provided in one embodiment to allow the user to provide user input via a touch panel located with the display 40. In another embodiment not illustrated, a plurality of displays may be provided (e.g., traditional and e-ink screens, different display types, or multiple displays of the same type). The lid portion 30 may further include various capture devices including a camera device 50 capable of capturing video and / or still information. In addition, there may be one or more microphones, such as dual microphones 55a and 55b, to receive user input via user input. Although shown in this position in FIG. 1A, the microphone, which may be one or more omni-directional microphones, may be in a different position in other embodiments.

이하에서 더 설명되는 바와 같이, 시스템(10)은, 한 실시예에서, 플랫폼의 하드웨어 및 소프트웨어의 조합을 통해 하이엔드 사용자 경험을 가능케하는 특정한 컴포넌트 및 회로로 구성된다. 예를 들어, 이용가능한 하드웨어 및 소프트웨어를 이용하여, 지각 컴퓨팅은 음성, 제스처, 터치 및 기타의 방식으로 사용자가 시스템과 상호작용할 수 있게 할 수 있다. 여기서, 상이한 센서가 잠재적으로 포함되어, 감지 정보(예를 들어, 시각, 청각, 후각, 운동 감각, 미각, 3D 지각, 온도, 압력, 기체/액체/고체 화학 물질/분자 메이크업 센서, 습도, 또는 임의의 다른 공지된 센서)를 검출, 이용 또는 제공한다. 센서들과 이러한 정보의 처리가 이하에서 더 상세히 논의된다.As described further below, the system 10, in one embodiment, is comprised of specific components and circuits that enable a high-end user experience through a combination of hardware and software of the platform. For example, using available hardware and software, perceptual computing can enable a user to interact with the system in a voice, gesture, touch, and other ways. Here, different sensors are potentially included and can be used to detect information (e.g., visual, auditory, olfactory, kinesthetic, taste, 3D perception, temperature, pressure, gas / liquid / solid chemical / Or any other known sensors). The processing of sensors and this information is discussed in more detail below.

또한, 이 사용자 경험은 높은 성능과 낮은 전력 능력을 제공하면서도 (Alway On Always Connected라고도 알려진) 즉각적 온 및 즉각적 접속 등의 진보된 특징을 가능케하여, 시스템이 저전력 상태(예를 들어, 슬립 모드, 스탠바이, 또는 기타의 공지된 저전력 모드)에 있을 수 있고 직접 웨이크업되여 사용자가 즉각적으로(예를 들어, 1, 2, 5, 또는 7초보다 적은 시간 내에 슬립 모드에서 벗어남) 이용가능할 수 있는 매우 가볍고 얇은 폼 팩터 시스템에서 전달될 수 있다. 또한, 한 실시예에서 이러한 웨이크업 시스템이 이러한 로컬 네트워크, Wi-Fi 네트워크, 인터넷 등의 네트워크에 접속되어; 도 1a의 것과 같은 풀 피쳐 시스템의 사용자 경험과 처리가 결핍된, 스마트폰 및 태블릿 컴퓨터에서 이용가능한 성능과 유사한 성능을 제공한다. 물론, 도 1a의 예시에서는 이러한 하이 레벨에서 도시되어 있지만, 상세사항이 아래에서 더 논의되는 확성기, 추가 디스플레이, 포착 장치, 환경 센서 등의 추가의 컴포넌트들이 시스템 내에 존재할 수 있다는 것을 이해해야 한다.This user experience also enables advanced features such as instant on and instant access (also known as Alway On Always Connected) while providing high performance and low power capability, allowing the system to be in a low power state (e.g., , Or other known low power mode) and can be woken up directly to allow the user to be very lightweight (e.g., in a low, It can be delivered in a thin form factor system. Also, in one embodiment, such a wake-up system is connected to a network such as a local network, a Wi-Fi network, the Internet, etc.; Performance similar to that available on smartphone and tablet computers, lacking the user experience and processing of a full feature system such as that of FIG. 1A. Of course, it should be understood that additional components, such as a loudspeaker, additional display, capture device, environmental sensor, etc., may be present in the system, although these are illustrated at such a high level in the example of FIG.

이제 도 1b를 참조하면, 본 발명의 실시예에 따른 대표적 컴퓨팅 시스템의 예시가 도시되어 있다. 도 1b에 도시된 바와 같이, 시스템(10)은, Ultrabook™, Apple® MacBook Air, Acer® Aspire, LG® Xnote, Dell® Inspiron, Dell® XPS, NEC® LaVie, MSI® S20, Asus® Transformer, Sony® VAIO, HP® EliteBook, HP® Folio, Toshiba® Protege, Asus® Zenbook, Asus® TaiChi, Lenovo® Ideapad, Lenovo® Yoga 또 다른 초경량 및 초박형 컴퓨팅 장치, 또는 임의의 공지된 및/또는 이용가능한 초경량, 초박형, 및/또는 초휴대성 컴퓨팅 플랫폼에 대응한다. 이 시스템은 비교적 작고 가볍다. 예를 들어, 한 실시예에서, 이 시스템은 초박형 및 초경량 단일체 알루미늄(또는 탄소) 구성으로 형성되고 3 파운드 미만의 무게이며, 크기는 약 12.8 인치의 폭과, 8.9인치의 깊이와 약 0.7인치 미만의 Z-높이이며, 정면 엣지에서 높이가 약 0.1인치 미만이도록 테이퍼링된 설계를 가진다. 한 실시예에서, 시스템(10)은 Intel® 기반의 프로세서를 포함하고, 2/4/8/12/16/32/64 GB의 시스템 메모리와 함께 통합된 그래픽 프로세서를 포함한다.Referring now to FIG. 1B, an exemplary computing system in accordance with an embodiment of the present invention is illustrated. As shown in FIG. 1B, the system 10 can be used with any of the following systems: Ultrabook ™, Apple® MacBook Air, Acer® Aspire, LG® Xnote, Dell® Inspiron, Dell® XPS, NEC® LaVie, MSI® S20, Asus® Transformer, Other ultra-lightweight and ultra-thin computing devices, or any known and / or available ultra-lightweight devices, such as Sony® VAIO, HP® EliteBook, HP® Folio, Toshiba® Protege, Asus® Zenbook, Asus® TaiChi, Lenovo® Ideapad, Lenovo® Yoga Thin, and / or ultra-thin computing platforms. The system is relatively small and lightweight. For example, in one embodiment, the system is formed in an ultra-thin and lightweight monolithic aluminum (or carbon) configuration and weighs less than three pounds, has a width of about 12.8 inches, a depth of 8.9 inches, And a tapered design such that the height at the front edge is less than about 0.1 inches. In one embodiment, the system 10 includes an Intel®-based processor and includes an integrated graphics processor with 2/4/8/12/16/32/64 GB of system memory.

도 1b에서 볼 수 있는 바와 같이, 디스플레이는 뚜껑 부분(102)의 실질적인 전부를 점유할 수 있다. 보다시피, 이 뚜껑 부분(102)의 베젤은 통합된 카메라(108)를 포함한다. 예로서, 카메라(108)는 통합된 FaceTime 카메라를 포함한다. 도 1b에서 더 볼 수 있는 바와 같이, 뷰(100A)에서, 베이스 부분(104)은 키보드(105)(일반적) 및 터치패드(106)를 포함할 수 있다. 일부 구현에서, 키보드(105)는 백라이트형이고, 조명 조건 변화를 검출하고 디스플레이와 키보드 밝기를 그에 따라 조정하기 위해, 주변광 센서 등의 환경 센서를 레버리징한다.As can be seen in FIG. 1B, the display can occupy substantially all of the lid portion 102. As can be seen, the bezel of this lid portion 102 includes an integrated camera 108. By way of example, the camera 108 includes an integrated FaceTime camera. 1B, in the view 100A, the base portion 104 may include a keyboard 105 (typical) and a touchpad 106. As shown in FIG. In some implementations, the keyboard 105 is backlit and leverages environmental sensors, such as ambient light sensors, to detect changes in lighting conditions and adjust the display and keyboard brightness accordingly.

도 1b의 측면도(100B)에서 볼 수 있는 바와 같이, 기저 부분은 비교적 얇은 선두 전면 엣지로부터 더 넓은 배면 엣지로 테이퍼링된 프로파일을 가진다. 보다시피, 이 도시된 측면부 내에 외부 포트가 적응될 수 있다. 도시된 실시예에서, 포트(112)는 (일반적으로) Thunderbolt™ 포트, USB 2.0 포트 및 (예를 들어, SD 카드를 수용하는데 이용될 수 있는) 카드 리더 포트를 포함한다. 실시예에서, 포트들 중 하나 이상은 채널당 풀-듀플렉스 대역폭의 초당 10 기가비트(Gbps)를 제공하는 I/O 포트이다. 이 포트는 단일 케이블을 통해 동시에 (예를 들어, PCIe™를 통해) 데이터를 지원하고 (예를 들어, 디스플레이 포트를 통해) 접속을 디스플레이할 수 있다. 주변 제품은 통상적으로 전기 또는 광 케이블을 이용하여 이 포트에 접속된다. 이러한 포트를 이용하여, 복수의 고성능 PCIe™ 및 디스플레이 포트 장치들이 단일의 물리적 커넥터를 통해 플랫폼에 부착된다. 이러한 인터커넥트를 이용하여, 사용자는 고성능 피쳐를 케이블을 통해 플랫폼에 추가하고, 하나 이상의 디스플레이, 스토리지 장치, 비디오 촬영 장치 등을 포함한 복수의 장치들을 데이지 체인화(daisy chaining)한다. 다른 측면 부분 상에, 또 다른 USB 포트, 헤드폰 포트, 마이크로폰, 및 전력 어댑터를 포함한 추가의 포트들이 역시 제공될 수 있다.As can be seen in the side view 100B of FIG. 1B, the base portion has a profile that is tapered from a relatively thin leading front edge to a wider back edge. As can be seen, the external port can be adapted in this illustrated side face. In the illustrated embodiment, port 112 includes (typically) a Thunderbolt (TM) port, a USB 2.0 port, and a card reader port (which may be used to accommodate, for example, an SD card). In an embodiment, at least one of the ports is an I / O port that provides 10 gigabits per second (Gbps) of full-duplex bandwidth per channel. This port can support data at the same time (for example via PCIe ™) over a single cable and display the connection (for example, via the display port). The peripheral product is typically connected to this port using an electrical or optical cable. With these ports, multiple high performance PCIe (TM) (TM) and DisplayPort devices are attached to the platform via a single physical connector. With such an interconnect, a user adds a high performance feature to the platform over a cable and daisy-chains multiple devices, including one or more displays, storage devices, video capture devices, and the like. On the other side portion, additional ports may also be provided, including another USB port, a headphone port, a microphone, and a power adapter.

뷰(100C)는 플랫폼의 개방된 뷰를 도시한다. 도 1b에서는 이러한 고수준의 예시가 도시되어 있지만, 다른 실시예에서는 추가의 피쳐들이 존재할 수도 있다는 것을 이해해야 한다. 일부 실시예에서, 터치 패드(106)는, 상이한 사용자 명령들로 변환되는 다양한 사용자 입력(예를 들어, 상이한 수의 손가락, 상이한 타입의 움직임, 제스쳐 등)을 수신하기 위해 멀티-터치 트랙패드를 포함한다. 한 실시예에서, 트랙패드는 적어도 반투명 윈도우로서 구현된다. 그러나, 터치패드(106)(및 심지어 키보드(105))는, 감각성 사용자 입력이 진보됨에 따라 대체되거나 생략될 수 있다.View 100C shows an open view of the platform. Although such a high-level example is shown in FIG. 1B, it should be appreciated that additional features may be present in other embodiments. In some embodiments, the touchpad 106 may include a multi-touch trackpad to receive various user inputs (e.g., different numbers of fingers, different types of movements, gestures, etc.) that are converted to different user commands . In one embodiment, the trackpad is implemented as at least a translucent window. However, the touchpad 106 (and even the keyboard 105) may be replaced or omitted as the sensory user input is advanced.

다음으로 도 1c를 참조하면, 본 발명의 실시예에 따른 또 다른 초박형 폼팩터 장치의 다른 예시가 도시되어 있다. 다양한 도면에 도시된 바와 같이, 한 표현으로 된 시스템(120)은, Ultrabook™, Apple® MacBook Air, Acer® Aspire, LG® Xnote, Dell® Inspiron, Dell® XPS, NEC® LaVie, MSI® S20, Asus® Transformer, Sony® VAIO, HP® EliteBook, HP® Folio, Toshiba® Protege, Asus® Zenbook, Asus® TaiChi, Lenovo® Ideapad, Lenovo® Yoga 다른 초경량 및 초박형 컴퓨팅 장치, 또는 임의의 공지된 및/또는 이용가능한 초경량, 초박형, 및/또는 초휴대성 컴퓨팅 플랫폼에 대응한다. 보다시피, 시스템(120)은 뚜껑 부분과 베이스 부분을 포함하고, 뚜껑 부분은 디스플레이를 포함하고 베이스 부분은 키보드와 터치 패드를 포함한다. 테이퍼링된 베이스 설계를 갖는 도 1a 및 도 1b와의 비교에서, 시스템(120)은 더 균일한 베이스 높이를 가진다.Referring now to Figure 1C, another example of another ultra-thin form factor device according to an embodiment of the present invention is shown. As shown in the various figures, the system 120 in one representation may be an Ultrabook ™, Apple® MacBook Air, Acer® Aspire, LG® Xnote, Dell® Inspiron, Dell® XPS, NEC® LaVie, MSI® S20, Asus® Transformer, Sony® VAIO, HP® EliteBook, HP® Folio, Toshiba® Protege, Asus® Zenbook, Asus® TaiChi, Lenovo® Ideapad, Lenovo® Yoga Other lightweight and thin computing devices, or any known and / Ultra-thin, < / RTI > and / or ultra-fast computing platforms available. As can be seen, the system 120 includes a lid portion and a base portion, the lid portion includes a display, and the base portion includes a keyboard and a touch pad. In comparison with FIGS. 1A and 1B having a tapered base design, the system 120 has a more uniform base height.

한 실시예에서, 시스템(120)은 다음과 같은 특징들 중 하나 이상을 포함한다: 10 내지 14인치의 대각 디스플레이 크기, 백라이트형 치클릿 키보드, 0.4 내지 1인치의 높이, 10 내지 14인치의 길이, 5 내지 10인치의 폭, USB 포트, 헤드폰/마이크로폰 잭, HDMI 포트, AC 전원 포트, 확장 슬롯, 7시간 이상의 정격 배터리 수명, 64GB 내지 512 GB의 고체 상태 드라이브, 통합된 그래픽 칩, SODIMM 메모리 슬롯, 및 1-4 파운드의 중량.In one embodiment, the system 120 includes one or more of the following features: a diagonal display size of 10 to 14 inches, a backlit chiclet keyboard, a height of 0.4 to 1 inch, a length of 10 to 14 inches , 5 to 10 inches wide, USB port, headphone / microphone jack, HDMI port, AC power port, expansion slot, rated battery life of over 7 hours, 64GB to 512GB solid state drive, integrated graphics chip, SODIMM memory slot , And a weight of 1-4 pounds.

이제 도 1d를 참조하면, 본 발명의 실시예에 따른 예시적인 전환가능한 폼팩터 초박형 시스템의 예시가 도시되어 있다. 다양한 도면에 도시된 바와 같이, 한 표현으로 된 시스템(130)은, Ultrabook™, Apple® MacBook Air, Acer® Aspire, LG® Xnote, Dell® Inspiron, Dell® XPS, NEC® LaVie, MSI® S20, Asus® Transformer, Sony® VAIO, HP® EliteBook, HP® Folio, Toshiba® Protege, Asus® Zenbook, Asus® TaiChi, Lenovo® Ideapad, Lenovo® Yoga 또 다른 초경량 및 초박형 컴퓨팅 장치, 또는 임의의 공지된 및/또는 이용가능한 초경량, 초박형, 및/또는 초휴대성 컴퓨팅 플랫폼에 대응한다. Lenovo® IdeaPad Yoga, Samsung® Series 5 및 기타의 더 최근의 시리즈, Dell® Duo, Dell® XPS 12, Asus® Transformer는, 랩탑 및 태블릿 컴퓨팅 환경 모두를 제공하는 전환가능한 폼 팩터로서 동작하는 시스템의 몇 가지 구체적인 예시이다. 이들 중 일부는 폴더형 설계를 포함하는 반면, 다른 것들은 플립, 폴드, 슬라이드, 또는 착탈식 설계를 포함하여 초박형 노트북과 태블릿 사이의 전환을 달성한다. 예로서, 시스템은 비교적 초박형 크기와 중량, 예를 들어, 1인치보다 훨씬 작은 두께, 예를 들어, 약 0.67인치 두께와, 약 3 파운드의 중량을 가진다. 스크린 크기는 10-14 인치 크기일 수 있고 일반적으로 시스템의 전체 폭과 길이까지 연장될 수 있다.Referring now to FIG. 1d, an example of an exemplary switchable form factor ultra-thin system according to an embodiment of the present invention is shown. As shown in the various figures, the system 130 in one representation may be an Ultrabook ™, Apple® MacBook Air, Acer® Aspire, LG® Xnote, Dell® Inspiron, Dell® XPS, NEC® LaVie, MSI® S20, Asus® Transformer, Sony® VAIO, HP® EliteBook, HP® Folio, Toshiba® Protege, Asus® Zenbook, Asus® TaiChi, Lenovo® Ideapad, Lenovo® Yoga, or any other ultra- Or ultra-light, ultra-thin, and / or ultra-fast computing platforms available. Lenovo® IdeaPad Yoga, Samsung® Series 5 and more recent series, Dell® Duo, Dell® XPS 12, and Asus® Transformer are just some of the systems that work as switchable form factors that provide both a laptop and tablet computing environment This is a concrete example. Some of them include a foldable design, while others achieve a transition between ultra-thin notebooks and tablets, including flip, fold, slide, or removable designs. By way of example, the system has a relatively slim size and weight, for example, a thickness much less than one inch, e.g., about 0.67 inch thick, and a weight of about three pounds. The screen size can be 10-14 inches in size and can generally be extended to the full width and length of the system.

전환가능한 성질을 추가로 예시하기 위해, 폴딩 설계가 130A 내지 130C간의 천이로 도시되어 있다. 제1 뷰(130A)에서 보다시피, 시스템은 뚜껑 부분(132)과 베이스 부분(134)을 포함하고, 뚜껑 부분은 디스플레이를 포함하고 베이스 부분은 키보드와 터치 패드를 포함한다. 이 종래의 뷰와 동작 모드 외에도, 시스템은 또한, 디스플레이를 더 편하게 하기 위해 힌지 어셈블리의 회전을 통한 뷰(130B)에 도시된 스탠드 모드에서도 동작가능한다. (도시되지 않은) 대안으로서, 트랙패드와 키보드를 갖는 표면(134)은 아래로 향하는 반면, 디스플레이(132)는 접혀서 사용자 쪽으로 향해 또 다른 스탠드 모드를 제공할 수도 있다. 예시된 바와 같이, 카메라(138)는 뚜껑 부분(132)의 뒷쪽 부분에 존재한다. 그러나, 카메라는 표면(132) 상에 제공되어 시스템(130B)이 스탠드 모드에 있을 때 비디오 및 카메라와 같은 특징을 제공할 수 있다. 뷰(130C)에서 보다시피, 베이스 부분(134)의 정면부 상에는 다양한 표시자 LED(139)가 존재할 수 있다. (전술된 것들과 같은) 다양한 버턴, 스위치 및 포트가 베이스 부분(134)의 너비 측면들 상에 존재할 수 있다.To further illustrate the switchable nature, the folding design is shown as a transition between 130A and 130C. As seen in first view 130A, the system includes a lid portion 132 and a base portion 134, the lid portion including a display and the base portion including a keyboard and a touchpad. In addition to this conventional view and mode of operation, the system is also operable in the stand mode shown in view 130B through rotation of the hinge assembly to make the display more comfortable. As an alternative (not shown), the surface 134 with the trackpad and keyboard may face down while the display 132 may be folded to provide another stand mode towards the user. As illustrated, the camera 138 is present in the back portion of the lid portion 132. However, a camera may be provided on surface 132 to provide features such as video and camera when system 130B is in stand-by mode. As can be seen in view 130C, there may be various indicator LEDs 139 on the front portion of the base portion 134. [ A variety of buttons, switches, and ports (such as those described above) may be present on the width sides of the base portion 134.

한 실시예에서, 시스템(130A-130C)은 다음과 같은 특징들 중 하나 이상을 포함한다: 12-14인치 디스플레이, 용량식 멀티-터치 디스플레이, 적어도 1600x900의 해상도, 17mm 미만의 두께, 4파운드 미만의 중량, 플립 힌지, 4-16GB 범위의 시스템 메모리, 128-512GB의 고체 상태 드라이브, 고선명(HD) 웹캠, USB 포트, 무선 LAN 접속 모듈, Bluetooth 접속 모듈, 및 적어도 6시간의 정격 배터리 수명.In one embodiment, the system 130A-130C includes one or more of the following features: a 12-14 inch display, a capacitive multi-touch display, a resolution of at least 1600x900, a thickness of less than 17mm, 128 to 512 GB solid state drive, high definition (HD) webcam, USB port, wireless LAN access module, Bluetooth access module, and rated battery life of at least 6 hours.

도 1e는 본 발명의 실시예에 따른 또 다른 초박형 시스템의 예시를 도시한다. 도 1e에 도시된 바와 같이, 시스템(140)은, 한 표현에서, Ultrabook™, Apple® MacBook Air, Acer® Aspire, LG® Xnote, Dell® Inspiron, Dell® XPS, NEC® LaVie, MSI® S20, Asus® Transformer, Sony® VAIO, HP® EliteBook, HP® Folio, Toshiba® Protege, Asus® Zenbook, Asus® TaiChi, Lenovo® Ideapad, Lenovo® Yoga 또 다른 초경량 및 초박형 컴퓨팅 장치, 또는 임의의 공지된 및/또는 이용가능한 초경량, 초박형, 및/또는 초휴대성 컴퓨팅 플랫폼에 대응한다. 다양한 예시에서 보다시피, 시스템(140)은 매우 얇은 프로파일을 가질 수 있고, 베이스 부분(144)의 정면측에서 3 mm의 Z-높이를 가질 수 있고, 베이스 부분(144)의 뒷면 부분에서 9 mm의 Z-높이까지 연장된다. 이런 방식으로, 유선형 설계가 제공된다.Figure IE shows an example of another ultra-thin system according to an embodiment of the present invention. As shown in FIG. 1E, the system 140 includes, in one sense, an Ultrabook ™, Apple® MacBook Air, Acer® Aspire, LG® Xnote, Dell® Inspiron, Dell® XPS, NEC® LaVie, MSI® S20, Asus® Transformer, Sony® VAIO, HP® EliteBook, HP® Folio, Toshiba® Protege, Asus® Zenbook, Asus® TaiChi, Lenovo® Ideapad, Lenovo® Yoga, or any other ultra- Or ultra-light, ultra-thin, and / or ultra-fast computing platforms available. The system 140 may have a very thin profile and may have a Z-height of 3 mm at the front side of the base portion 144 and may have a Z-height of 9 mm at the back portion of the base portion 144, as can be seen in various examples. Lt; RTI ID = 0.0 > Z-height. In this way, a streamlined design is provided.

한 실시예에서, 시스템(140)은 다음과 같은 특징들 중 하나 이상을 포함한다: 10mm 미만의 높이, 4,6,8, 또는 12GB의 시스템 메모리, 10-12 인치 사이의 스크린 크기, 2초 미만의 재개, 미니 VGA 포트, USB 포트, 마이크로 HDMI 포트, 128, 256, 또는 512 GB 고체 상태 드라이브, 5시간 이상의 동작을 위한 정격 배터리, 디지털 마이크로폰, 피조명형 키보드, 및 HD 카메라.In one embodiment, system 140 includes one or more of the following features: a height of less than 10 mm, a system memory of 4, 6, 8, or 12 GB, a screen size of between 10-12 inches, Miniature VGA port, USB port, micro HDMI port, 128, 256, or 512 GB solid state drive, rated battery for over 5 hours of operation, digital microphone, dimmer keyboard, and HD camera.

이제 도 1f를 참조하면, 본 발명의 실시예에 따른 데스크탑 컴퓨터(150)의 예시가 도시되어 있다. 도 1f의 뷰는 시스템의 다양한 포트들과 기타의 피쳐들을 보여주고 있는 뒷면 뷰이다. 보다시피, 전원 부분(152)에서, 전원 스위치 및 팬 플레이트와 함께, 전원 코드 어댑터가 제공된다. 접속 부분(154)에서, 디스플레이, 프린터, 네트워크, 오디오, 비디오 등을 포함한 주변 장치들을 포함한 다양한 주변기기들로의 외부 접속을 제공하는 다양한 어댑터들도 역시 하나 이상의 병렬 포트, 직렬 포트, USB 포트, Ethernet/RJ45 포트 등을 통해 제공된다. 또한, 확장 카드를 위한 복수의 슬롯들도 제공될 수 있다.Referring now to FIG. 1F, an illustration of a desktop computer 150 in accordance with an embodiment of the present invention is shown. The view of Figure 1F is a back view showing various ports and other features of the system. As can be seen, in the power supply portion 152, a power cord adapter is provided, along with a power switch and a fan plate. In the connection portion 154, various adapters that provide external connections to various peripherals, including peripherals including displays, printers, networks, audio, video, etc., also include one or more parallel ports, a serial port, a USB port, / RJ45 port and so on. Also, a plurality of slots for an expansion card may be provided.

이제 도 1g를 참조하면, 본 발명의 실시예에 따른 태블릿 컴퓨터의 예시가 도시되어 있다. 한 실시예에서, 태블릿 컴퓨터(160)는 초기 iPad™, 새로운 iPad인 iPad2™ 등의 Apple®iPad™, Samsung® Galaxy™Tablet, Asus® Eee Pad, 및 Acer® Aspire, Acer® Iconia, Amazon® Kindle, Barnes 및 Noble® Nook, Asus® table, Dell® Streak, Google® Nexus, Microsoft® Surface, Sony® tablet, 및 Android™ 기반의 태블릿, Windows® 기반의 태블릿, 또는 기타의 공지된 태블릿 장치일 수 있다. 전면 예시(162)에서 보다시피, 하나 이상의 입력/인터페이스 버턴이 존재할 수 있다. 또한, 한 실시예에서 iSight™ 카메라(예를 들어, 5메가픽셀 카메라), HD 카메라, 또는 기타의 알려진 카메라일 수 있는 스피커(165) 및 카메라(169)가 존재할 수 있다. 정면 뷰(162)에서 보이는 디스플레이는 고해상도를 제공하는 레티나 디스플레이(retina display) 또는 기타 임의의 공지된 태블릿 디스플레이일 수 있다는 점에 유의한다. 도 1g는 또한 뒷면 뷰(164)와 측면 뷰(166)을 도시한다. 배면(164)도 역시 카메라를 가진다는 점에 유의한다. 여기서, 카메라(169 및 167)는 사진, 비디오, 또는 라이브 비디오 피딩을 촬영하기 위해 제공될 수 있다.Referring now to FIG. 1G, an illustration of a tablet computer according to an embodiment of the present invention is shown. In one embodiment, the tablet computer 160 may be an Apple iPad ™, an iPad ™, a new iPad, an Apple® iPad ™ such as the iPad2 ™, a Samsung® Galaxy ™ Tablet, an Asus® Eee Pad, and Acer® Aspire, Acer® Iconia, Amazon® Kindle , Barnes and Noble® Nook, Asus® table, Dell® Streak, Google® Nexus, Microsoft® Surface, Sony® tablet, and Android ™ -based tablet, Windows®-based tablet, or any other known tablet device . As can be seen in the front view 162, there may be more than one input / interface button. There may also be a speaker 165 and a camera 169, which in one embodiment may be an iSight (TM) camera (e.g., a 5 megapixel camera), an HD camera, or other known camera. Note that the display shown in front view 162 may be a retina display or any other known tablet display providing high resolution. FIG. 1G also shows a back view 164 and a side view 166. FIG. Note that rear surface 164 also has a camera. Here, the cameras 169 and 167 may be provided for taking pictures, video, or live video feeds.

이제 도 1h를 참조하면, 본 발명의 실시예에 따른 스마트폰(170)의 예시가 도시되어 있다. 도 1h의 예시에서, 스마트폰(170)은 Apple® iPhone™(예를 들어, iPhone 3GS, iPhone 4, iPhone 4S, iPhone 5, Blackberry™ Samsung® 스마트폰(예를 들어, Samsung® Galaxy™ S3), Motorola® Droid™ 및 HTC One™, Intel® Orange™, Android™ 기반, Windows®-기반, 또는 기타의 공지된 스마트폰일 수 있다. 정면 뷰 예시(172)에서 보다시피, 스마트폰(170)은, 스피커(173), 정면 카메라 모듈(174), 및 하나 이상의 입력 버턴(171)을 포함한다. 마찬가지로, 뒷면 뷰(175)에서 도시된 바와 같이 뒷면 카메라(176)가 제공될 수도 있다. 다양한 제어와 기타 등등이 존재할 수 있지만, 이러한 제어 버턴(예를 들어, 전원, 음량, 음소거)는 측면 뷰(178)에는 도시되어 있지 않다.Referring now to FIG. 1h, an illustration of a smartphone 170 in accordance with an embodiment of the present invention is shown. In the example of FIG. 1h, the smartphone 170 may be an iPhone® (eg, iPhone 3GS, iPhone 4, iPhone 4S, iPhone 5, Blackberry ™ Samsung® smartphone (eg, Samsung® Galaxy ™ S3) , Motorola® Droid ™ and HTC One ™, Intel® Orange ™, Android ™ -based, Windows®-based, or other well known smartphone. As seen in front view example 172, smartphone 170 A speaker 173, a front camera module 174 and one or more input buttons 171. Similarly, a back camera 176 may be provided as shown in the back view 175. Various controls (E.g., power, volume, mute) are not shown in the side view 178, although such control buttons may exist.

이제 도 2를 참조하면, 본 발명의 실시예에 따른 샤시의 베이스 부분 내에서의 정의 컴포넌트들의 예시적 배치의 상부도가 도시되어 있다. 도 2에 도시된 바와 같이, 베이스 부분(20)은, 한 실시예에서, 디스플레이 패널 및 임의의 터치 스크린과 연관된 것들이 아닌, 시스템 내의 다수의 전자회로들을 포함한다. 물론, 도 2에 도시된 뷰는 순전히 예시일 뿐이고; 따라서, 다른 실시예에서는, 상이한 컴포넌트, 컴포넌트들의 상이한 크기 및 위치를 포함한 상이한 배열의 컴포넌트들과 기타의 배치 사안들이 발생할 수 있다는 것을 이해하여야 한다.Referring now to FIG. 2, a top view of an exemplary arrangement of defining components within a base portion of a chassis in accordance with an embodiment of the present invention is shown. As shown in FIG. 2, the base portion 20 includes, in one embodiment, a plurality of electronic circuits in the system other than those associated with a display panel and any touch screen. Of course, the view shown in Figure 2 is purely exemplary; Thus, in other embodiments, it is to be understood that different arrangements of components and other arrangements may occur, including different components, different sizes and locations of components.

일반적으로, 도 2의 뷰는, 일반적으로 도 2에 도시된 컴포넌트 위에 적응되거나 배치되는 키보드 및 터치 패드 이외의 샤시 내부의 컴포넌트들이다(키보드는 도 2의 뷰의 상위 부분 위에 있고 키패드는 일반적으로 도 2의 뷰의 하위부 및 중앙 부분에 있다).In general, the view of Figure 2 is components within the chassis other than keyboards and touch pads, generally adapted and arranged over the components shown in Figure 2 (the keyboard is on the upper portion of the view of Figure 2, 2 < / RTI > of the view).

마더보드(60)는 다양한 집적 회로(IC) 및/또는 회로를 포함한다. 여기서, 마더보드(60)는, 중앙 처리 장치(CPU) 등의 프로세서, 시스템 메모리 및 기타의 IC들을, 전자적으로, 무선으로, 및/또는 통신가능하게 결합한다. 추가의 IC들과 기타의 회로가, 한 실시예에서, 마더보드(60)에 유사하게 전기적으로 또는 통신가능하게 결합될 수 있는 도터보드(70) 상에서 구현된다. 도터보드(70)는, 한 시나리오에서, 예시적 포트들: USB, Ethernet, Firewire, Thunderbolt, 또는 기타 임의 유형의 사용자-액세스가능한 접속에 잠재적으로 대응하는 포트(81, 82, 및 83)을 포함한, 다양한 포트들과 기타의 주변 커넥터들에 대한 인터페이스를 포함한다. (예를 들어, 차세대 폼팩터(NGFF; next generation form factor) 커넥터를 통해) 도터보드(70)에 결합된 애드-인 카드(68)도 역시 도시되어 있다. NGFF 설계에 따른 이러한 커넥터는, 적절한 애드-인 카드만이 이러한 커넥터 내로 삽입되는 것을 보장하는 잠재적으로 상이한 키잉 구조를 갖는 상이한 크기의 애드-인 카드들에 이용되는 단일 접속 타입을 제공할 수 있다. 도시된 실시예에서, 이 애드-인 카드(68)는, 예를 들어, 3G/4G/LTE 회로를 위한 무선 접속 회로를 포함한다.The motherboard 60 includes various integrated circuits (ICs) and / or circuits. Here, the mother board 60 electronically, wirelessly, and / or communicatively couples a processor, a system memory, and other ICs, such as a central processing unit (CPU). Additional ICs and other circuitry are implemented on the daughter board 70, which, in one embodiment, may be similarly electrically or communicatively coupled to the motherboard 60. The daughterboard 70 includes a port 81, 82, and 83 that potentially corresponds to exemplary ports: USB, Ethernet, Firewire, Thunderbolt, or any other type of user-accessible connection in one scenario. , Various ports and interfaces to other peripheral connectors. An add-in card 68 coupled to the daughter board 70 (also via a next generation form factor (NGFF) connector, for example) is also shown. Such a connector according to the NGFF design can provide a single type of connection used for different sized add-in cards with potentially different keying structures ensuring that only the proper add-in cards are inserted into these connectors. In the illustrated embodiment, the add-in card 68 includes, for example, a radio access circuit for a 3G / 4G / LTE circuit.

마찬가지로, 마더보드(60)는, 일부 실시예에서, 소정의 다른 사용자 액세스가능한 포트; 즉, 예시에서는 포트(84 및 85)로의 인터커넥트를 제공한다. 또한, 수 개의 애드-인 카드(65 및 66)도 역시 마더보드(60)에 결합될 수 있다. 도시된 실시예에서, 애드-인 카드(65)는, NGFF 커넥터(59)와 같은 커넥터를 통해 마더보드(60)에 결합되는 고체 상태 드라이브(SSD)를 포함한다. 애드-인 카드(66)는, 무선 LAN(WLAN), 오디오 장치, 비디오 장치, 네트워크 제어기 등의 임의의 공지된 컴퓨팅 애드-인 컴포넌트를 포함한다.Similarly, the motherboard 60 may, in some embodiments, include any other user accessible port; I. E., Provide interconnects to ports 84 and 85 in the example. In addition, several add-in cards 65 and 66 may also be coupled to the motherboard 60. In the illustrated embodiment, the add-in card 65 includes a solid state drive (SSD) coupled to the motherboard 60 via a connector, such as an NGFF connector 59. The add-in card 66 includes any known computing add-in component such as a wireless local area network (WLAN), an audio device, a video device, a network controller, and the like.

도 2는, 전술된 바와 같이, 복수의 IC, 회로, 및/또는 장치를 함께 결합하는 마더보드(60)를 갖는 구성을 도시한다는 점에 유의한다. 그러나, 반도체 제조가 향상됨에 따라, 더 많은 트랜지스터를 단일의 다이 및/또는 팩키지에 두는 능력도 역시 향상된다. 그 결과, 일부 실시예에서, 이들 장치들 중 일부(및 잠재적으로는 이들 모두)는 단일의 IC, 다이, 칩, 팩키지 등에 집적될 수 있다. 예를 들어, 메모리 제어기 허브는 이전에는 마더보드(60) 상에 존재하는 프론트-사이드-버스(front-side-bus)를 통해 중앙 프로세서에 결합된 별개의 집적 회로 제어기였다. 그러나, 제조기술이 발전함에 따라, 메모리 제어기 허브는 이제 CPU, 팩키지, 및/또는 다이 상에 통합되기 시작했다. 게다가, 다른 시스템들도 더욱 더 통합됨에 따라 전술된 '시스템' 회로의 많은 부분을 단일의 통합된 회로 상에 제공하여 SOC(System On a Chip)를 형성한다. 그 결과, 여기서 설명된 실시예들은 SOC를 포함하는 초휴대성 컴퓨팅 장치에도 마찬가지로 적용될 수 있다.It should be noted that FIG. 2 illustrates a configuration with a motherboard 60 that couples a plurality of ICs, circuits, and / or devices together, as described above. However, as semiconductor manufacturing is improved, the ability to place more transistors on a single die and / or package is also improved. As a result, in some embodiments, some (and potentially all of these) of these devices may be integrated into a single IC, die, chip, package, or the like. For example, the memory controller hub was a separate integrated circuit controller that was previously coupled to the central processor via a front-side-bus that resides on the motherboard 60. However, as manufacturing technology evolved, memory controller hubs have now begun to integrate onto CPUs, packages, and / or die. In addition, as other systems become more integrated, much of the aforementioned 'system' circuitry is provided on a single integrated circuit to form a system on a chip (SOC). As a result, the embodiments described herein are equally applicable to ultra-low latency computing devices including SOCs.

도 2에 도시된 실시예의 논의로 돌아가, 냉각을 제공하기 위해, 일부 구현은 하나 이상의 팬(fan)을 포함할 수 있다. 도시된 실시예에서, 이러한 2개의 팬(47)이 제공된다. 여기서, 팬(47)은 서멀 핀(thermal fin)(88a 및 88b)을 통해 CPU 및 다른 전자회로들로부터 멀리 열을 전도시킨다. 한 예로서, 열은 샤시 내의 환기구로 또는 직접 샤시로 전달된다. 그러나 다른 실시예들은, CPU 및 다른 컴포넌트들의 전력 소비 절감, 다른 공지된 열 발산 요소들, 다른 공지된 환기 요소들, 또는 한 공간/요소로부터 다른 것으로 열을 전달하기 위한 기타 임의의 공지된 또는 이용가능한 메커니즘에 의해 냉각이 달성되는 팬없는 시스템을 제공할 수도 있다.Returning to the discussion of the embodiment shown in FIG. 2, in order to provide cooling, some implementations may include one or more fans. In the illustrated embodiment, these two fans 47 are provided. Here, the fan 47 conducts heat away from the CPU and other electronic circuits via thermal fins 88a and 88b. As an example, heat is transferred to the vent in the chassis or directly to the chassis. However, other embodiments may also be used to reduce power consumption of the CPU and other components, other known heat dissipating elements, other known ventilation elements, or any other known or use for transferring heat from one space / It is also possible to provide a fanless system in which cooling is achieved by a possible mechanism.

진보된 오디오 특성을 제공하기 위해, 한 실시예에서, 복수의 스피커(78a 및 78b)가 제공된다. 한 시나리오에서, 스피커(78a 및 78b)는 샤시의 꼭대기 부분으로부터 그물이나 기타의 통풍형 패턴을 통해 발산되어 향상된 음향 경험을 제공한다. 베이스 부분(20)과 (도 2에서는 예시의 간편성을 위해 도시되지 않은) 뚜껑 부분 사이의 인터커넥트를 가능케하기 위해, 한 쌍의 힌지(95a 및 95b)가 제공된다. 힌지 기능을 제공하는 것에 추가하여, 이들 힌지들은, 한 실시예에서, 뚜껑 부분 내부의 회로 베이스 부분(20) 사이의 접속을 제공하는 경로를 더 포함할 수 있다. 예를 들어, 무선 안테나, 터치 스크린 회로, 디스플레이 패널 회로 등 모두는 이들 힌지를 통해 적응된 커넥터를 통해 통신할 수 있다. 또한, 힌지는, 하이브리드 환경에서, 폼팩터들 사이의 전환을 보조 또는 지원할 수 있다. 한 예로서, 힌지는 시스템이 랩탑/노트북으로부터 태블릿 형태로 전환할 수 있게 한다. 용이하게 명백한 바와 같이, 힌지는 디스플레이를 샤시에 결합하기 위한 유일한 메커니즘은 아니다. 그 결과, 컴퓨팅 시스템(10)이 폼팩터들 사이에서 전환가능한 것이든 아니든 간에, 컴퓨팅 시스템(10)의 샤시 또는 전자회로에 디스플레이를 접속하기 위해 임의의 공지된 물리적 결합이 이용될 수 있다.To provide advanced audio characteristics, in one embodiment, a plurality of speakers 78a and 78b are provided. In one scenario, the speakers 78a and 78b are diverted from the top of the chassis through a net or other vented pattern to provide an enhanced acoustic experience. A pair of hinges 95a and 95b are provided to enable interconnection between the base portion 20 and the lid portion (not shown in FIG. 2 for the sake of simplicity of illustration). In addition to providing a hinge function, these hinges may further include, in one embodiment, a path that provides a connection between the circuit base portions 20 within the lid portion. For example, a wireless antenna, a touch screen circuit, a display panel circuit, etc. all can communicate through the adapted connector through these hinges. In addition, the hinge can assist or support switching between form factors in a hybrid environment. As an example, the hinge allows the system to switch from laptop / notebook to tablet form. As is readily apparent, the hinge is not the only mechanism for coupling the display to the chassis. As a result, any known physical coupling can be used to connect the display to the chassis or electronic circuitry of the computing system 10, whether or not the computing system 10 is switchable between form factors.

추가로 보다시피, 배터리(45)가 존재한다. 한 실시예에서, 배터리(45)는 리튬-이온 또는 기타의 공지된/이용가능한 고용량 배터리를 포함한다. 도 2에서는 이러한 컴포넌트들의 특정한 구현 및 회로 배치와 함께 도시되어 있지만, 본 발명의 범위는 이 점에서 제한되지 않는다. 즉, 소정 시스템 설계에 있어서, 샤시 내의 가용 X-Y-Z 공간을 더욱 효율적으로 소비하기 위해 트레이드-오프(trade-off)가 있을 수 있다.As will be further appreciated, a battery 45 is present. In one embodiment, the battery 45 includes a lithium-ion or other known / available high capacity battery. Although shown in Fig. 2 with particular implementations and circuitry of these components, the scope of the invention is not limited in this respect. That is, for a given system design, there may be a trade-off to more efficiently consume the available X-Y-Z space in the chassis.

이제 도 3을 참조하면, 본 발명의 실시예에 따른 컴퓨터 시스템의 단면도가 도시되어 있다. 도 3에 도시된 바와 같이, 시스템(10)은 로우-프로파일(low-profile) 및 경량 설계를 갖는 클램쉘-기반의 초박형 랩탑 컴퓨터에 대응한다. 도 3의 뷰에는 시스템의 실질적 중간점을 관통하는 단면도이고 샤시 내부의 컴포넌트들의 수직 스택-업 또는 레이아웃의 고수준 뷰를 도시하기 위한 것이다.Referring now to FIG. 3, there is shown a cross-sectional view of a computer system in accordance with an embodiment of the present invention. As shown in Figure 3, the system 10 corresponds to a clamshell-based ultra-thin laptop computer with a low-profile and lightweight design. The view of Figure 3 is a cross-sectional view through the substantial midpoint of the system and is intended to illustrate a high level view of the vertical stack-up or layout of components within the chassis.

일반적으로, 샤시는 뚜껑 부분(30)과 베이스 부분(20)으로 분할된다. 여기서, 뚜껑 부분(30)은, 디스플레이, 관련 회로, 및 컴포넌트들을 포함하는 반면, 베이스 부분(20)은 배터리 및 키보드와 함께 주요 처리 요소들을 포함한다. 그러나, 클램쉘 설계의 다른 구현에서, 키보드 이외의 컴포넌트들의 사실상 모두는 뚜껑부 내에 적응되어, 분리가능한, 제거가능한, 또는 전환가능한 뚜껑 부분이 태블릿-기반의 폼팩터 컴퓨터로서도 쓰이는 것을 가능케한다는 점에 유의한다.Generally, the chassis is divided into a lid portion 30 and a base portion 20. Here, the lid portion 30 includes the display, associated circuitry, and components, while the base portion 20 includes the main processing elements with the battery and keyboard. However, in other implementations of the clamshell design, virtually all of the components other than the keyboard are adapted within the lid, so that a detachable, removable, or convertible lid portion can be used as a tablet-based form factor computer do.

뚜껑 부분(30)은 한 실시예에서 디스플레이 패널(40)을 포함한다. 한 실시예에서, 디스플레이 패널(40)은 LCD, 또는 OLED 등의 다른 타입의 얇은 디스플레이를 포함한다. 예로서, 디스플레이 패널(40)은 디스플레이 회로 보드(33)에 결합된다. 또한, 터치 스크린(34)은, 한 실시예에서, 디스플레이 패널(40) 위에, 아래에, 또는 디스플레이 패널(40)과 통합되어, 적합화(또는 배치)된다. 실시예에서, 터치 스크린(34)은 기판을 따라 구성된 용량식 감지 터치 어레이를 통해 구현된다. 예시로서, 기판은, 유리, 플라스틱 및 기타의 공지되거나 다른 방식으로 이용가능한 투명 기판을 포함한다. 차례로, 터치 스크린(34)은 터치 패널 회로 기판(35)에 연동된다. 임의의 공지된 터치 디스플레이 기술이 이용되거나 디스플레이와 연계하여 이용될 수도 있다는 점에 유의한다.The lid portion 30 includes the display panel 40 in one embodiment. In one embodiment, the display panel 40 includes an LCD, or other type of thin display, such as an OLED. As an example, the display panel 40 is coupled to the display circuit board 33. In addition, the touch screen 34 may be adapted (or disposed), in one embodiment, above, below, or integrated with the display panel 40. In an embodiment, the touch screen 34 is implemented through a capacitive sensing touch array constructed along the substrate. By way of example, the substrate includes glass, plastic, and other known or otherwise available transparent substrates. In turn, the touch screen 34 is interlocked with the touch panel circuit board 35. It should be noted that any known touch display technique may be used or used in conjunction with the display.

추가로 도시된 바와 같이, 뚜껑 부분(30)은 또한 카메라 모듈(50)을 포함한다. 한 실시예에서, 카메라 모듈(50)은 영상 데이터; 정지영상 및 동영상 양쪽 모두의 타입을 촬영할 수 있는 고선명 카메라를 포함한다. 카메라 모듈(50)은, 일부 구현에서, 회로 기판(38)에 결합된다. 뚜껑 부분(30)의 이들 컴포넌트들 모두는, 다른 실시예에서, 커버 어셈블리를 포함하는 샤시 내에서 구성, 배치, 또는 존재할 수 있다는 점에 유의한다. 커버 어셈블리는, 플라스틱이나 금속 재료 등의, 샤시를 제공하는데 적합한 임의의 공지되거나 이용가능한 재료를 이용하여 제작될 수 있다. 특정한 예시로서, 이러한 커버 어셈블리는 마그네슘 알루미늄(Mg-Al) 합성물로 제작되거나 이것을 포함한다.As further shown, the lid portion 30 also includes a camera module 50. In one embodiment, camera module 50 includes image data; And a high-definition camera capable of capturing both types of still images and moving images. The camera module 50 is, in some implementations, coupled to a circuit board 38. It is noted that all of these components of lid portion 30 may, in other embodiments, be constructed, disposed, or present within a chassis including a cover assembly. The cover assembly can be made using any known or available material suitable for providing a chassis, such as plastic or metal materials. As a specific example, such a cover assembly is made of or comprises a magnesium aluminum (Mg-Al) composition.

여전히 도 3을 참조하면, 시스템(10)의 처리 회로의 다수는 베이스 부분(20) 내에 존재하는 것으로 도시되어 있다. 그러나, 상기 분리가능한 뚜껑 부분을 제공하는 실시예에서 논의된 바와 같이, 이들 컴포넌트들은 대신에 뚜껑 부분에 구현될 수도 있다.Still referring to FIG. 3, many of the processing circuits of system 10 are shown as being in base portion 20. However, as discussed in the embodiments that provide the detachable lid portion, these components may instead be implemented in the lid portion.

베이스 부분(20)의 상부가 아래로 되어 있는 도면으로부터, 얇은 프로파일 장치를 가능케하는 다양한 타입일 수 있고 치클릿 타입 키 또는 기타의 얇은 폼 팩터 키를 포함할 수 있는 키보드(25)가 포함된다. 또한, 터치 패드(28)는 또 다른 사용자 인터페이스로서 제공된다.From the view with the top portion of the base portion 20 down, a keyboard 25, which may be of various types enabling a thin profile device and which may include a chisel-type key or other thin form factor key, is included. Further, the touch pad 28 is provided as another user interface.

다수의 컴포넌트들은, 땜납식, 표면 장착식 등을 포함한 다양한 방식으로 회로 기판에 결합/적합화된 다양한 집적 회로들을 포함하는 Type IV 마더보드 등의 마더보드일 수 있는 회로 기판(60) 상에서 구성된다. 특히 도 3을 참조하면, 초 저전력 멀티-코어 프로세서 등의 CPU(55)는, 예를 들어, 소켓 또는 다른 타입의 접속을 통해 회로 기판(60)에 적합화될 수 있다. 보다시피, 열 솔루션을 제공하기 위해, 히트 싱크(56)는, 한 실시예에서, CPU(55)에, 차례로, 프로세서 및/또는 기타의 컴포넌트로부터의 열을, 예를 들어, 환기구, 팬 등의 다양한 냉각 위치에 전달하는 히트 파이프(57)에 매우 근접한 관계로 배치된다. 회로 보드(60)에는 또한, 인덕터(58) 및 NGFF 엣지 커넥터(59)가 구성된 것으로 도시되어 있다. 예시의 용이화를 위해 도시되어 있지는 않지만, 애드-인 카드는, 일부 실시예에서, 커넥터(59)에 결합되어 추가의 컴포넌트들을 제공한다는 점을 이해해야 한다. 예로서, 이들 컴포넌트들은, 주변 장치들 중에서 특히, 무선 솔루션과 고체 상태 디바이스(SSD)를 포함할 수 있다.The multiple components are configured on a circuit board 60, which may be a motherboard, such as a Type IV motherboard, including various integrated circuits coupled / adapted to the circuit board in various ways, including solder, surface mount, . 3, a CPU 55, such as an ultra low power multi-core processor, may be adapted to the circuit board 60 via, for example, a socket or other type of connection. As will be appreciated, to provide a thermal solution, the heat sink 56 may, in one embodiment, heat the heat from the processor and / or other components to the CPU 55, such as, for example, In close proximity to the heat pipes 57 that deliver to the various cooling positions of the heat exchanger. The circuit board 60 is also shown with an inductor 58 and an NGFF edge connector 59 configured. Although not shown for ease of illustration, it should be appreciated that the add-in card, in some embodiments, is coupled to the connector 59 to provide additional components. By way of example, these components may include a wireless solution and a solid state device (SSD), among other peripheral devices.

도 3에서 추가로 볼 수 있는 바와 같이, 배터리(45)는 베이스 부분(20)에 포함되거나 이와 연관된다. 여기서, 배터리(45)는, 팬(47) 등의 냉각 솔루션의 일부와 매우 근접한 관계에 있다. 도 3의 예에서는 이 특정한 구현으로 도시되어 있지만, 이러한 컴포넌트의 배치와 포함은 제한되지 않는데, 이것은 다른 실시예에서는 추가의 및 상이한 컴포넌트들이 존재할 수 있기 때문이다. 예를 들어, SSD에 의해 대용량 스토리지를 제공하는 것 대신에, 베이스 부분(40) 내에 하드 드라이브가 구현될 수도 있다. 이 목적을 위해, 미니 SATA(serial advanced technology attach) 커넥터가 회로 기판(60)에 추가로 결합되어 회로 기판(60) 상에 적합화된 프로세서 및 기타의 컴포넌트들로의 이 하드 드라이브의 접속을 가능케 한다. 또한, 컴포넌트들은 Z-공간을 더욱 효율적으로 이용(또는 감축)하기 위해 상이한 위치들에 배치될 수도 있다.As further seen in FIG. 3, the battery 45 is included in or associated with the base portion 20. Here, the battery 45 is in a very close relationship with a part of the cooling solution such as the fan 47 and the like. Although shown in this particular implementation in the example of FIG. 3, the placement and inclusion of such components is not limited, as additional and different components may be present in other embodiments. For example, instead of providing mass storage by the SSD, a hard drive may be implemented within base portion 40. For this purpose, a mini serial SATA (serial advanced technology attach) connector is further coupled to circuit board 60 to enable connection of this hard drive to a processor and other components adapted on circuit board 60 do. In addition, the components may be placed at different locations to more efficiently utilize (or reduce) the Z-space.

한 실시예에서, Ultrabook™이란 스크린(40)의 크기(즉, 스크린(40)의 대각 크기)에 기초한 최대 높이를 말한다. 한 예로서, Ultrabook™은 13.3인치 이하의 디스플레이(40)에 대해 18mm의 결합된 베이스 부분(20) 및 뚜껑 부분(30)에 대한 최대 높이를 포함한다. 제2 예로서, Ultrabook™은 14인치 이상의 디스플레이(40)에 대해 21mm의 결합된 베이스 부분(20) 및 뚜껑 부분(30)에 대한 최대 높이를 포함한다. 또한, 역시 또 다른 예로서, Ultrabook™은 전환가능한 또는 하이브리드 디스플레이(즉, 노트북/랩탑과 태블릿 사이에서 전환가능)에 대해 23mm의 결합된 베이스 부분(20) 및 뚜껑 부분(30)에 대한 최대 높이를 포함한다. 그렇지만, 모든 시장 구획들(데스크탑, 노트북, Ultrabook™, 태블릿 및 전화)의 크기가 전체적으로 줄어듦에 따라, Ultrabook™에 대한 높이의 범위도 역시 그 크기가 줄어들 수 있다. 따라서, 한 실시예에서, Ultrabook™에 대한 최대 높이는 시장 상황에 기초하여 태블릿과 노트북 사이에서 변할 수 있다.In one embodiment, Ultrabook ™ refers to the maximum height based on the size of the screen 40 (ie, the diagonal size of the screen 40). As an example, the Ultrabook ™ includes a combined base portion 20 of 18 mm and a maximum height for the lid portion 30 for a display 40 of 13.3 inches or less. As a second example, the Ultrabook ™ includes a combined base portion 20 of 21 mm and a maximum height for the lid portion 30 for a display 14 of 14 inches or more. Also as yet another example, the Ultrabook ™ has a combined base portion 20 of 23 mm for the switchable or hybrid display (i.e. switchable between the notebook / laptop and tablet) and a maximum height for the lid portion 30 . However, as the overall size of all market segments (desktops, notebooks, Ultrabook ™, tablets and phones) decreases, the height range for Ultrabook ™ can also be reduced. Thus, in one embodiment, the maximum height for the Ultrabook ™ may vary between the tablet and the notebook based on market conditions.

이제 도 4를 참조하면, 본 발명의 실시예에 따른 컴퓨터 시스템에 존재하는 컴포넌트들의 블록도가 도시되어 있다. 도 4에 도시된 바와 같이, 시스템(400)은 컴포넌트들의 임의 조합을 포함할 수 있다. 이들 컴포넌트들은, IC들, 그 일부, 개별 전자 장치, 또는 기타의 모듈들, 로직, 하드웨어, 소프트웨어, 펌웨어, 또는 컴퓨터 시스템에 적합화된 이들의 조합으로서, 또는 컴퓨터 시스템의 샤시 내에 기타의 방식으로 포함된 컴포넌트들로서 구현될 수 있다. 도 4의 블록도는 컴퓨터 시스템의 많은 컴포넌트들의 고수준 뷰를 도시하기 위한 것임에도 역시 유의한다. 그러나, 다른 구현에서는, 도시된 컴포넌트들 중 일부가 생략될 수 있고, 추가의 컴포넌트들이 존재할 수 있으며, 도시된 컴포넌트들의 상이한 배열이 발생할 수 있다는 것을 이해해야 한다.Referring now to FIG. 4, a block diagram of components present in a computer system according to an embodiment of the invention is shown. As shown in FIG. 4, the system 400 may include any combination of components. These components may be implemented as ICs, portions thereof, discrete electronic devices, or other modules, logic, hardware, software, firmware, or combinations thereof adapted to a computer system, or in any other manner within the chassis of a computer system May be implemented as embedded components. It should also be noted that the block diagram of Figure 4 is intended to illustrate a high-level view of many components of a computer system. It should be understood, however, that in other implementations, some of the illustrated components may be omitted, additional components may be present, and that different arrangements of the illustrated components may occur.

도 4에 도시된 바와 같이, 프로세서(410)는, 한 실시예에서, 마이크로프로세서, 멀티-코어 프로세서, 멀티쓰레드 프로세서, 초저전압 프로세서, 임베디드 프로세서, 또는 기타의 공지된 처리 요소를 포함한다. 예시된 구현에서, 프로세서(410)는 시스템(400)의 많은 다양한 컴포넌트들과의 통신을 위한 메인 처리 유닛 및 중앙 허브로서 역할한다. 한 예로서, 프로세서(410)는 SoC(system on a chip)로서 구현된다. 특정한 예시로서, 프로세서(410)는, CA, Santa Clara, Intel Corporation의 i3, i5, i7이거나 또 다른 이러한 프로세서 등의 Intel® Architecture Core™-기반의 프로세서일 수 있다. 그러나, Apple A5 프로세서, Qualcomm Snapdragon 프로세서, TI OMAP 프로세서 등의 다른 실시예에서는, 그 대신에, CA, Sunnyvale의 Advanced Micro Devices(AMD), Inc.의 기타의 저전력 프로세서, ARM Holdings, Ltd. 또는 그 고객사의 ARM-기반의 설계 또는 CA, Sunnyvale의 MIPS Technologies, Inc. 또는 그 면허생산자 또는 차용자의 MIPS-기반의 설계가 존재할 수도 있다. 한 구현에서 프로세서(410)의 아키텍쳐 및 동작에 관한 소정의 상세사항이 이하에서 더 논의될 것이다.As shown in FIG. 4, processor 410, in one embodiment, includes a microprocessor, a multi-core processor, a multi-threaded processor, an ultra-low voltage processor, an embedded processor, or other known processing elements. In the illustrated implementation, the processor 410 serves as the main processing unit and central hub for communication with many different components of the system 400. As an example, the processor 410 is implemented as a system on a chip (SoC). As a specific example, processor 410 may be an Intel® Architecture Core ™ -based processor, such as CA, Santa Clara, i3, i5, i7 from Intel Corporation, or another such processor. However, other embodiments, such as the Apple A5 processor, the Qualcomm Snapdragon processor, and the TI OMAP processor, may instead use a low-power processor from Advanced Micro Devices (AMD), Inc. of Sunnyvale, CA, ARM Holdings, Or its ARM-based design or CA, MIPS Technologies, Inc. of Sunnyvale. Or there may be a MIPS-based design of the licensee or borrower. Certain details regarding the architecture and operation of processor 410 in one implementation will be discussed further below.

프로세서(410)는, 한 실시예에서, 시스템 메모리(415)와 통신한다. 예시로서, 시스템 메모리(415)는 복수의 메모리 장치 또는 모듈들을 통해 구현되어 소정량의 시스템 메모리를 제공한다. 한 실시예에서, 메모리는 JEDEC(Joint Electron Devices Engineering Council) JESD 209-2E(2009년 4월 공개)에 따른 현재의 LPDDR2 등의 JEDEC 저 전력 더블 데이터 레이트(LPDDR)-기반의 설계, 또는 LPDDR2에 대한 확장을 제공해 대역폭을 증가시키는 LPDDR3 또는 LPDDR4라고 지칭되는 차세대 LPDDR 표준에 따라 동작할 수 있다. 예로서, 2/4/8/12/16 기가바이트(GB)의 시스템 메모리가 존재하고 하나 이상의 메모리 인터커넥터를 통해 프로세서(410)에 결합될 수 있다. 다양한 구현에서, 개개의 메모리 장치는 SDP(single die package), DDP(dual die package), 또는 QDP(quad die package) 등의 상이한 팩키지 타입일 수 있다. 이들 장치들은, 일부 실시예에서, 마더보드에 직접 납땜되어 저전력 프로파일 솔루션을 제공하는 반면, 다른 실시예에서는 이들 장치들은 소정 커넥터에 의해 마더보드에 차례로 결합되는 하나 이상의 모듈로서 구성된다. 다른 타입의 메모리 모듈, 예를 들어, microDIMM, MiniDIMM을 포함하지만 이것으로 제한되지 않는 상이한 변종들의 듀얼 인라인 메모리 모듈(DIMM) 등의 다른 메모리 구현도 가능하다. 특정한 실시예에서, 메모리는 2GB 내지 16GB로 크기조정되고, 볼 그리드 어레이(BGA; ball grid array)를 통해 마더보드 상에 납땜되는 LPDDR2 또는 LPDDR3 메모리 또는 DDR3LM 팩키지로서 구성될 수 있다.The processor 410, in one embodiment, communicates with the system memory 415. By way of example, system memory 415 is implemented through a plurality of memory devices or modules to provide a predetermined amount of system memory. In one embodiment, the memory is a JEDEC low power double data rate (LPDDR) -based design such as the current LPDDR2 according to Joint Electron Devices Engineering Council (JEDEC) JESD 209-2E (published April 2009) Generation LPDDR standard, referred to as LPDDR3 or LPDDR4, which increases bandwidth by providing an extension to the < RTI ID = 0.0 > By way of example, there may be 2/4/8/12/16 gigabytes (GB) of system memory and may be coupled to the processor 410 via one or more memory interconnects. In various implementations, the individual memory devices may be of different package types, such as a single die package (SDP), a dual die package (DDP), or a quad die package (QDP). These devices, in some embodiments, are directly soldered to the motherboard to provide a low power profile solution, while in other embodiments these devices are configured as one or more modules that are in turn coupled to the motherboard by a given connector. Other memory implementations are possible, such as dual inline memory modules (DIMMs) of different variants, including, but not limited to, other types of memory modules, such as microDIMMs, MiniDIMMs. In a particular embodiment, the memory may be configured as an LPDDR2 or LPDDR3 memory or DDR3LM package sized from 2 GB to 16 GB and soldered onto the motherboard via a ball grid array (BGA).

데이터, 애플리케이션, 하나 이상의 운영 체제 등의 정보의 영구 저장을 제공하기 위해, 대용량 스토리지(420)도 역시 프로세서(410)에 결합될 수 있다. 다양한 실시예에서, 시스템 응답성을 향상시킬 뿐만 아니라 더 얇고 더 경량의 시스템 설계를 가능케하기 위해, 이 대용량 스토리지는 SSD를 통해 구현될 수 있다. 그러나, 다른 실시예에서, 대용량 스토리지는 주로, 전원 차단 이벤트 동안에 컨텍스트 상태와 다른 이러한 정보의 비휘발성 저장을 가능케하여 시스템 활동의 재시작시에 빠른 기동이 발생할 수 있도록 SSD 캐쉬로서 역할하는 더 작은 용량의 SSD 스토리지를 갖춘 하드 디스크 드라이브(HDD)를 이용하여 구현될 수 있다. 도 4에 역시 도시된 바와 같이, 플래시 장치(422)는, 예를 들어, 직렬 주변기기 인터페이스(SPI; serial peripheral interface)를 통해 프로세서(410)에 결합될 수 있다. 이 플래시 장치는, BIOS(basic input/output software)를 포함한 시스템 소프트웨어 뿐만 아니라 시스템의 다른 펌웨어의 비휘발성 저장을 제공할 수 있다.Mass storage 420 may also be coupled to processor 410 to provide persistent storage of information such as data, applications, one or more operating systems, and the like. In various embodiments, this mass storage can be implemented via an SSD, in addition to improving system responsiveness, to enable thinner and lighter system designs. However, in other embodiments, mass storage is primarily a non-volatile storage of non-volatile storage of this information other than the context state during a power down event, so that a smaller capacity And can be implemented using a hard disk drive (HDD) having SSD storage. As also shown in FIG. 4, the flash device 422 may be coupled to the processor 410 via, for example, a serial peripheral interface (SPI). The flash device may provide non-volatile storage of system firmware, including basic input / output software (BIOS), as well as other firmware in the system.

다양한 실시예에서, 시스템의 대용량 스토리지는 SSD 단독으로, 또는 SSD 캐쉬를 갖춘 디스크, 광학 또는 기타의 드라이브로서 구현될 수 있다. 일부 실시예에서, 대용량 스토리지는 SSD로서 또는, RST(restore) 캐쉬 모듈을 갖춘 HDD로서 구현된다. 다양한 구현에서, HDD는 320GB 내지 4 테라바이트(TB) 이상의 스토리지를 제공하는 반면 RST 캐쉬는 24GB 내지 256GB의 용량을 갖는 SSD로 구현된다. 이러한 SSD 캐쉬는 적절한 레벨의 응답성을 제공하기 위해 단일 레벨 캐쉬(SLC) 또는 멀티-레벨 캐쉬(MLC) 옵션으로서 구성될 수 있다는 점에 유의한다. SSD-단독 옵션에서, 모듈은 mSATA 또는 NGFF 슬롯 내 등의 다양한 위치에서 수용될 수 있다. 예로서, SSD는 120GB - 1TB 범위의 용량을 가진다.In various embodiments, the mass storage of the system may be implemented as an SSD alone, or as a disk, optical or other drive with an SSD cache. In some embodiments, the mass storage is implemented as an SSD or as an HDD with an RST (restore) cache module. In various implementations, the HDD provides more than 320 GB to 4 terabytes (TB) of storage while the RST cache is implemented as an SSD with capacities from 24 GB to 256 GB. Note that this SSD cache may be configured as a single level cache (SLC) or a multi-level cache (MLC) option to provide an appropriate level of responsiveness. In the SSD-only option, the module can be accommodated in various locations, such as within an mSATA or NGFF slot. As an example, an SSD has a capacity in the range of 120 GB - 1 TB.

다양한 입력/출력(IO) 장치들이 시스템(400) 내에 존재할 수 있다. 도 4의 실시예에서는, 특정적으로, 샤시의 뚜껑 부분 내에서 구성된 고선명 LCD 또는 LED 패널일 수 있는 디스플레이(424)가 도시되어 있다. 이 디스플레이 패널은 또한, 예를 들어, 디스플레이 패널 위에 외부적으로 적합화된 터치 스크린(425)을 제공하여, 이 터치 스크린과의 사용자 상호작용을 통해, 사용자 입력이 시스템에 제공되어, 예를 들어, 정보의 디스플레이, 정보의 액세스 등에 관해 원하는 동작을 가능케할 수 있다. 한 실시예에서, 디스플레이(424)는, 고성능 그래픽 인터커넥트로서 구현될 수 있는 디스플레이 인터커넥트를 통해 프로세서(410)에 결합될 수 있다. 터치 스크린(425)은, 한 실시예에서는 I2C 인터커넥트일 수 있는 또 다른 인터커넥트를 통해 프로세서(410)에 결합될 수 있다. 도 4에 더 도시된 바와 같이, 터치 스크린(425) 외에도, 터치에 의한 사용자 입력은 또한 터치 패드(430)를 통해 발생할 수 있고, 터치 패드(430)는 샤시 내에서 구성되고 또한 터치 스크린(425)와 동일한 I2C 인터커넥트에 결합될 수 있다.Various input / output (IO) devices may be present in the system 400. In the embodiment of FIG. 4, a display 424, which may be a high-definition LCD or LED panel configured in the lid portion of the chassis, is shown in particular. The display panel may also be provided with a touch screen 425 that is externally adapted, for example, over a display panel such that user interaction with the touch screen provides user input to the system, , Display of information, access to information, and the like. In one embodiment, the display 424 may be coupled to the processor 410 via a display interconnect that may be implemented as a high performance graphics interconnect. The touchscreen 425 may be coupled to the processor 410 via another interconnect, which in one embodiment may be an I2C interconnect. 4, in addition to the touch screen 425, user input by touch may also occur through the touch pad 430, and the touch pad 430 may be configured within the chassis and may also be coupled to the touch screen 425 RTI ID = 0.0 > I2C < / RTI >

디스플레이 패널은 복수의 모드에서 동작할 수 있다. 제1 모드에서, 디스플레이 패널은, 디스플레이 패널이 가시광에 대해 투명한 투명 상태로 배열될 수 있다. 다양한 실시예에서, 다수의 디스플레이 패널은 주변부 부근의 베젤을 제외한 디스플레이일 수 있다. 시스템이 노트북 모드에서 동작하고 디스플레이 패널이 투명 상태에서 동작할 때, 사용자는 디스플레이 뒤쪽의 물체를 볼 수 있으면서 디스플레이 패널 상태 프리젠팅되는 정보를 볼 수 있다. 또한, 디스플레이 패널 상에 디스플레이되는 정보는 디스플레이 뒤쪽에 위치한 사용자가 볼 수 있다. 또는 디스플레이 패널의 동작 상태는 가시광이 디스플레이 패널을 투과하지 못하는 불투명 상태일 수 있다.The display panel may operate in a plurality of modes. In the first mode, the display panel can be arranged in a transparent state in which the display panel is transparent to visible light. In various embodiments, the plurality of display panels may be a display other than a bezel in the vicinity of the periphery. When the system operates in the notebook mode and the display panel operates in a transparent state, the user can see the object behind the display while viewing the information presented in the display panel status. In addition, the information displayed on the display panel can be viewed by the user located behind the display. Or the operation state of the display panel may be an opaque state in which visible light can not pass through the display panel.

태블릿 모드에서 시스템은, 베이스 패널의 하부 표면이 한 표면 상에 놓이거나 사용자에 의해 유지될 때, 디스플레이 패널의 뒷쪽 디스플레이 표면이 사용자를 향해 바깥쪽으로 향하는 위치에 놓이게 되도록 접혀진다. 태블릿 동작 모드에서, 뒷쪽 디스플레이 표면은, 이 표면이 터치 스크린 기능을 갖고 태블릿 장치 등의 종래의 터치 스크린 장치의 다른 공지된 기능을 수행할 수 있기 때문에, 디스플레이와 사용자 인터페이스의 역할을 수행한다. 이 목적을 위해, 디스플레이 패널은 터치 스크린층과 정면 디스플레이 표면 사이에 위치한 투명도-조절층을 포함할 수 있다. 일부 실시예에서, 투명도-조절층은 전기변색층(EC; electrochromic), LCD 층, 또는 EC와 LCD 층의 조합일 수 있다.In tablet mode, the system is folded so that the rear display surface of the display panel is in an outward facing position towards the user when the bottom surface of the base panel is on one surface or is retained by the user. In the tablet mode of operation, the rear display surface acts as a display and user interface, since this surface has a touch screen function and can perform other known functions of a conventional touch screen device such as a tablet device. For this purpose, the display panel may include a transparency-adjusting layer positioned between the touch screen layer and the front display surface. In some embodiments, the transparency-adjusting layer may be a electrochromic (EC), LCD layer, or a combination of EC and LCD layers.

다양한 실시예에서, 디스플레이는 상이한 크기, 예를 들어, 11.6" 또는 13.3" 스크린일 수 있고, 16:9 종횡비를 가지며, 적어도 300 니트 휘도(nits brightness)를 가질 수 있다. 또한 디스플레이는 풀 HD(high definition) 해상도(적어도 1920 x 1080p)일 수 있고, 임베디드 디스플레이 포트(eDP)와 호환될 수 있으며, 패널 셀프 리프레쉬를 갖춘 저전력 패널일 수도 있다.In various embodiments, the display may be a different size, e.g., 11.6 "or 13.3" screen, with a 16: 9 aspect ratio, and at least 300 nits brightness. The display may also be a high definition resolution (at least 1920 x 1080p), compatible with an embedded display port (eDP), or may be a low power panel with panel self-refresh.

터치 스크린 능력에 관하자면, 시스템은 멀티-터치 용량식이고 적어도 5 손가락 가능형인 디스플레이 멀티-터치 패널을 제공할 수 있다. 일부 실시예에서, 디스플레이 10손가락 가능형일 수도 있다. 한 실시예에서, 터치 스크린은 낮은 마찰에 대한 손상 및 긁힘 방지 유리 및 코팅(예를 들어, Gorilla Glass™ 또는 Gorilla Glass 2™) 내에 수용되어 "손가락 버닝(finger burn)"을 감소시키고 "손가락 스킵핑(finger skipping)"을 회피한다. 향상 터치 경험과 응답성을 제공하기 위해, 터치 패널은, 일부 실시예에서, 꼬집기 줌(pinch zoom) 동안에 정적 뷰마다 2 프레임(30Hz) 미만 등의 멀티-터치 기능과, 200ms(손가락 대 포인터에 관한 지연)를 동반한 프레임당 1 cm 미만의 단일-터치 기능을 가진다. 디스플레이는, 일부 구현에서, 패널 표면과 수평을 이루는 최소 스크린 베젤을 갖고 멀티-터치의 이용시 제한된 IO 간섭을 갖는 엣지-대-엣지 유리를 지원한다.In terms of touch screen capabilities, the system can provide a display multi-touch panel that is multi-touch capacitive and at least five finger capable. In some embodiments, the display may be 10 finger-enabled. In one embodiment, the touch screen is accommodated in low-friction damage and scratch-resistant glass and coatings (e.g., Gorilla Glass (TM) or Gorilla Glass 2) to reduce " finger burn &Quot; finger skipping " To provide an enhanced touch experience and responsiveness, the touch panel may, in some embodiments, provide multi-touch functionality such as less than two frames (30 Hz) per static view during pinch zoom, and multi- To-touch function of less than 1 cm per frame with a delay of about < RTI ID = 0.0 > The display, in some implementations, has a minimal screen bezel that is parallel to the panel surface and supports edge-to-edge glass with limited IO interference in the use of multi-touch.

지각 컴퓨팅 및 기타의 목적을 위해, 다양한 센서들이 시스템에 내에 존재하고 상이한 방식으로 프로세서(410)에 결합될 수 있다. 소정의 관성 및 환경 센서들이, 예를 들어, I2C 인터커넥트를 통해 센서 허브(440)를 통해 프로세서(410)에 결합될 수 있다. 도 4에 도시된 실시예에서, 이들 센서들은, 가속도계(441), 주변광 센서(ALS; ambient light sensor)(442), 컴파스(443) 및 자이로스코프(444)를 포함할 수 있다. 기타의 환경 센서들은, 일부 실시예에서는, 시스템 관리 버스(SMBus) 버스를 통해 프로세서(410)에 결합되는 하나 이상의 열 센서(446)를 포함할 수 있다.For perceptual computing and other purposes, various sensors may reside within the system and be coupled to the processor 410 in a different manner. Certain inertial and environmental sensors may be coupled to the processor 410 via a sensor hub 440, for example, via an I < 2 > C interconnect. 4, these sensors may include an accelerometer 441, an ambient light sensor (ALS) 442, a compass 443, and a gyroscope 444. In the embodiment shown in FIG. Other environmental sensors may include, in some embodiments, one or more thermal sensors 446 coupled to the processor 410 via a system management bus (SMBus) bus.

플랫폼에 존재하는 다양한 관성 및 환경 센서를 이용하여, 많은 상이한 이용 사례가 실현될 수 있다. 이들 이용 사례들은 지각 컴퓨팅을 포함한 진보된 컴퓨팅 동작을 가능케하고 또한 전력 관리/배터리 수명, 보안, 및 시스템 응답성에 관한 향상을 허용한다.Using a variety of inertial and environmental sensors present in the platform, many different use cases can be realized. These use cases enable advanced computing operations including perceptual computing and also allow for improvements in power management / battery life, security, and system responsiveness.

전력 관리/배터리 수명 문제에 관한 예로서, 적어도 부분적으로 주변광 센서로부터의 정보에 기초하여, 플랫폼의 소정 위치의 주변광 상태가 결정되고 디스플레이의 강도가 그에 따라 제어된다. 따라서, 디스플레이를 동작하는데 소비되는 전력은 소정의 광 상태에서 감소된다.As an example of a power management / battery life problem, based on information from the ambient light sensor, at least in part, the ambient light conditions at a given location of the platform are determined and the intensity of the display is controlled accordingly. Thus, the power consumed to operate the display is reduced in the predetermined light state.

보안 동작에 관하자면, 위치 정보 등의 센서로부터 얻어진 정황 정보에 기초하여, 사용자가 소정의 보안 문서에 액세스하는 것이 허용되는지가 결정될 수 있다. 예를 들어, 사용자는 근무지나 가정에서 이러한 문서에 액세스하는 것이 허용될 수 있다. 그러나, 사용자는 플랫폼이 공공 장소에 있는 경우에는 이러한 문서에 액세스하는 것이 금지된다. 이러한 결정은, 한 실시예에서, 예를 들어, GPS 센서 또는 랜드마크의 카메라 인식을 통해 결정된 위치 정보에 기초한다. 다른 보안 동작은, 서로 근접한 범위 내의 장치들, 예를 들어, 여기서 설명된 휴대형 플랫폼과 사용자의 데스크탑 컴퓨터, 모바일 전화 등의 페어링을 제공하는 것을 포함할 수 있다. 소정의 공유는, 일부 실시예에서, 이들 장치들이 이와 같이 페어링될 때 근접장 통신을 통해 실현된다. 그러나, 장치들이 소정 범위를 넘어서면, 이러한 공유는 디스에이블될 수 있다. 또한, 여기서 설명된 플랫폼과 스마트폰을 페어링할 때, 장치들이 공공 장소에 있을 때 서로로부터 미리결정된 거리보다 멀리 이동하면 경고가 트리거되도록 구성될 수 있다. 대조적으로, 이들 페어링된 장치들이 안전한 위치, 예를 들어, 근무지나 가정에 있을 때, 장치들은 이러한 경고를 트리거하지 않고 이러한 미리결정된 한계를 초과할 수 있다.With respect to security operations, it may be determined, based on context information obtained from a sensor, such as location information, that the user is allowed to access a given secured document. For example, a user may be allowed to access such documents at work or at home. However, the user is prohibited from accessing such documents when the platform is in a public place. This determination is based, in one embodiment, on location information determined, for example, through the camera recognition of a GPS sensor or a landmark. Other security operations may include providing paired devices within close proximity to each other, e.g., the portable platform described herein, with a user's desktop computer, mobile phone, and the like. The predetermined sharing is realized, in some embodiments, via near field communication when these devices are thus paired. However, if the devices are beyond a certain range, such sharing may be disabled. Also, when pairing the smartphone with the platform described herein, an alert may be configured to trigger when the devices are in a public location and move away from each other a predetermined distance. In contrast, when these paired devices are in a secure location, e. G., Work or home, devices may exceed this predetermined limit without triggering this warning.

응답성은 또한 센서 정보를 이용하여 향상될 수 있다. 예를 들어, 플랫폼이 저전력 상태에 있을 때에도, 센서들은 여전히 비교적 낮은 빈도에서 실행되도록 인에이블될 수 있다. 따라서, 예를 들어, 관성 센서, GPS 센서 등에 의해 결정되는 플랫폼의 위치에서의 임의의 변화가 결정된다. 아무런 이러한 변화가 등록되지 않았다면, 이 경우에는 가용 무선 네트워크 자원을 스캔할 필요가 없기 때문에, Wi-Fi™ 액세스 포인트 또는 유사한 무선 인에이블러 등의 이전의 무선 허브로의 더 빠른 접속이 발생한다. 따라서, 낮은 전력 상태로부터의 웨이크업시의 더 큰 응답성 레벨이 달성된다.Responsiveness can also be improved using sensor information. For example, even when the platform is in a low power state, the sensors may still be enabled to run at a relatively low frequency. Thus, any change in the position of the platform determined by, for example, an inertial sensor, a GPS sensor, or the like is determined. If no such change is registered, then a faster connection to a previous wireless hub, such as a Wi-Fi ™ access point or a similar wireless enabler, occurs, since in this case there is no need to scan for available wireless network resources. Thus, a greater level of responsiveness during wake-up from a lower power state is achieved.

여기서 설명된 플랫폼 내의 통합된 센서를 통해 얻어진 센서 정보를 이용하여 많은 다른 이용 사례가 인에이블될 수 있고, 상기 예들은 오직 예시의 목적일 뿐이라는 점을 이해해야 한다. 여기서 설명된 시스템을 이용하여, 지각 컴퓨팅 시스템은, 제스쳐 인식을 포함한 대안적 입력 양식의 추가를 허용할 수 있고, 시스템이 사용자 동작과 의도를 감지하는 것을 가능케 한다.It should be appreciated that many other use cases can be enabled using sensor information obtained through an integrated sensor within the platform described herein, and that the above examples are for illustrative purposes only. Using the system described herein, the perceptual computing system may allow for the addition of alternative input forms, including gesture recognition, and enable the system to sense user actions and intentions.

일부 실시예에서 하나 이상의 적외선 또는 기타의 열 감지 요소들, 또는 사용자의 존재나 움직임을 감지하기 위한 기타 임의의 요소가 존재할 수 있다. 이러한 감지 요소들은, 함께 동작하거나, 순차적으로 동작하거나, 양쪽 모두에 해당하는 복수의 상이한 요소들을 포함할 수 있다. 예를 들어, 감지 요소들은, 광이나 소리 투사 등의 초기 감지를 제공한 다음, 후속해서 예를 들어, 초음파 비행 시간 카메라(ultrasonic time of flight camera) 또는 패터닝된 광 카메라(patterned light camera)에 의한 제스쳐의 검출을 위한 감지를 제공하는 요소들을 포함한다.In some embodiments, there may be one or more infrared or other thermal sensing elements, or any other element for sensing the presence or movement of a user. These sensing elements may comprise a plurality of different elements that operate together, operate sequentially, or both. For example, the sensing elements may provide initial sensing of light or sound projection, and the like, followed by an ultrasonic time of flight camera or a patterned light camera, for example. And includes elements that provide sensing for the detection of a gesture.

또한 일부 실시예에서, 시스템은 조명된 라인(illuminated line)을 생성하는 광 생성기를 포함한다. 일부 실시예에서, 이 라인은, 가상 경계에 관한 시각적 단서, 즉, 공간에서의 가공의 또는 가상적 위치를 제공하고, 이 가상적 경계 또는 평면을 통과하거나 깨뜨리는 사용자의 행동은 컴퓨팅 시스템에 참여하려는 의도로서 해석된다. 일부 실시예에서, 조명된 라인은, 컴퓨팅 시스템이 사용자에 관해 상이한 상태로 천이할 때 색상을 바꿀 수 있다. 조명된 라인은 공간에서 가상적 경계의 시각적 단서를 사용자에게 제공하는데 이용될 수 있고, 사용자가 컴퓨터에 참여하기를 원하는 때를 결정하는 것을 포함한 사용자에 관한 컴퓨터의 상태에서의 천이를 결정하기 위해 시스템에 의해 이용될 수 있다.Also in some embodiments, the system includes a light generator that produces an illuminated line. In some embodiments, the line provides a visual cue for the virtual boundary, i.e., a machining or virtual location in space, and the user's behavior of passing or breaking this virtual boundary or plane is intended to be part of the computing system Is interpreted. In some embodiments, the illuminated line may change color as the computing system transitions to a different state with respect to the user. The illuminated line can be used to provide the user with a visual clue of the virtual boundary in space and can be used to determine a transition in the state of the computer with respect to the user including determining when the user wishes to participate in the computer ≪ / RTI >

일부 실시예에서, 컴퓨터는 사용자 위치를 감지하고 가상 경계를 통과하는 사용자의 손의 움직임을 컴퓨터에 참여하려는 사용자의 의도를 나타내는 제스쳐로서 해석하도록 동작한다. 일부 실시예에서, 사용자가 가상 라인 또는 평면을 통과하면 광 생성기에 의해 생성된 광이 변함으로써, 사용자가 컴퓨터에게 입력을 제공하는 제스쳐 제공을 위한 영역에 진입했다는 시각적 피드백을 사용자에게 제공할 수 있다.In some embodiments, the computer is operative to sense the user location and interpret the movement of the user's hand passing through the virtual boundary as a gesture that indicates the intention of the user to participate in the computer. In some embodiments, the light generated by the light generator may change as the user passes through a virtual line or plane, thereby providing a visual feedback to the user that the user has entered an area for providing a gesture that provides input to the computer .

디스플레이 스크린은 사용자에 관해 컴퓨팅 시스템 상태의 천이의 시각적 표시를 제공할 수 있다. 일부 실시예에서, 제1 스크린은, 시스템에 의해 하나 이상의 감지 요소의 이용을 통해서 등에 의해 사용자의 존재가 감지된 제1 상태에서 제공된다.The display screen may provide a visual indication of a transition of the computing system state with respect to the user. In some embodiments, the first screen is provided in a first state in which the presence of the user is sensed by the system, such as through the use of one or more sensing elements.

일부 구현에서, 시스템은, 얼굴 인식에 의한 등에 의해, 사용자의 신원을 감지하도록 동작한다. 여기서, 제2 스크린으로의 천이는, 컴퓨팅 시스템이 사용자 신원을 인식한 제2 상태에서 제공될 수 있고, 이 제2 상태에서, 스크린은 사용자가 새로운 상태로 천이했다는 시각적 피드백을 사용자에게 제공한다. 제3 스크린으로의 천이는 사용자가 사용자의 인식을 확정한(confirm) 제3 상태에서 발생할 수 있다.In some implementations, the system operates to detect the user's identity, such as by facial recognition. Here, the transition to the second screen may be provided in a second state in which the computing system has recognized the user identity, and in this second state, the screen provides a visual feedback to the user that the user has transitioned to the new state. The transition to the third screen may occur in a third state where the user confirms the user's perception.

일부 실시예에서, 컴퓨팅 시스템은 천이 메커니즘을 이용하여 사용자에 대한 가상 경계의 위치를 결정할 수 있고, 여기서 가상 경계의 위치는 사용자와 정황에 따라 달라질 수 있다. 컴퓨팅 시스템은, 조명된 라인 등의 광을 생성하여 시스템에 대한 참여를 위한 가상 경계를 표시할 수 있다. 일부 실시예에서, 컴퓨팅 시스템은 대기 상태(waiting state)에 있을 수 있고, 광은 제1 색상으로 생성될 수 있다. 컴퓨팅 시스템은, 감지 요소를 이용해 사용자의 존재와 움직임을 감지하는 등에 의해, 사용자가 가상 경계를 지나 도달했는지를 검출할 수 있다.In some embodiments, the computing system may use a transition mechanism to determine the location of the virtual boundary for the user, wherein the location of the virtual boundary may vary depending on the user and context. The computing system may generate light, such as an illuminated line, to indicate a virtual boundary for participation in the system. In some embodiments, the computing system may be in a waiting state and light may be generated in a first color. The computing system may detect whether a user has reached a virtual boundary, such as by using a sensing element to detect the presence and movement of the user.

일부 실시예에서, (가상 경계보다 컴퓨팅 시스템에 더 가까운 사용자의 손과 같이) 사용자가 가상 경계를 건넌 것으로 검출되었다면, 컴퓨팅 시스템은 사용자로부터 제스쳐 입력을 수신하기 위한 상태로 천이할 수 있고, 천이를 표시하는 메커니즘은 제2 색상으로 변하는 가상 경계를 표시하는 광을 포함할 수 있다.In some embodiments, if a user is detected to cross a virtual boundary (such as a user's hand closer to the computing system than a virtual boundary), the computing system may transition to a state for receiving a gesture input from the user, The indicating mechanism may include light indicative of a virtual boundary changing to a second color.

일부 실시예에서, 컴퓨팅 시스템은 제스쳐 움직임이 검출되는지를 결정할 수 있다. 제스쳐 움직임이 검출되면, 컴퓨팅 시스템은 제스쳐 인식 프로세스로 진행하고, 제스쳐 인식 프로세스는, 컴퓨팅 장치 내의 메모리에 존재하거나 컴퓨팅 장치에 의해 기타의 방식으로 액세스가능한 데이터 라이브러리로부터의 데이터의 이용을 포함할 수 있다.In some embodiments, the computing system may determine whether a gesture motion is detected. When a gesture motion is detected, the computing system proceeds to a gesture recognition process, and the gesture recognition process may include the use of data from a data library that is present in memory within the computing device or otherwise accessible by the computing device .

사용자의 제스쳐가 인식되면, 컴퓨팅 시스템은 입력에 응답하여 기능을 수행할 수 있고, 가상 경계 내에 사용자가 있다면 추가의 제스쳐를 수신하기 위해 복귀할 수 있다. 일부 실시예에서, 제스쳐가 인식되지 않으면, 컴퓨팅 시스템은 에러 상태로 천이할 수 있고, 그 상태에서 에러 상태를 나타내는 메커니즘은 제3 색상으로 변하는 가상 경계를 표시하는 광을 포함할 수 있으며, 동시에 시스템은 사용자가 컴퓨팅 시스템에 참여하기 위한 가상 경계 내에 있다면 추가 제스쳐를 수신하기 위해 복귀한다.Once the user's gesture is recognized, the computing system can perform the function in response to the input and return to receive additional gestures if the user is within the virtual boundary. In some embodiments, if the gesture is not recognized, the computing system may transition to an error state, where the mechanism for indicating an error state may include light representing a virtual boundary that changes to a third color, Returns to receive the additional gesture if the user is within the virtual boundary for participating in the computing system.

앞서 언급한 바와 같이, 다른 실시예에서, 시스템은, 적어도 2개의 상이한 모드, 즉, 태블릿 모드와 노트북 모드에서 이용될 수 있는 전환가능한 태블릿 시스템으로서 구성될 수 있다. 전환가능한 시스템은 2개의 패널, 즉, 디스플레이 패널과 베이스 패널을 가지되, 태블릿 모드에서는 2개의 패널들이 서로 상부에 적층되어 배치되는 방식이다. 태블릿 모드에서, 디스플레이 패널은 바깥쪽으로 향하고 종래의 태블릿에서 볼 수 있는 터치 스크린 기능을 제공할 수 있다. 노트북 모드에서, 2개의 패널은 개방된 클램쉘 구성으로 배열될 수 있다.As mentioned above, in another embodiment, the system may be configured as a switchable tablet system that may be used in at least two different modes, i.e., tablet mode and notebook mode. The switchable system has two panels, a display panel and a base panel, and in tablet mode, two panels are stacked on top of each other. In tablet mode, the display panel can provide a touch screen function facing outward and visible on conventional tablets. In notebook mode, the two panels can be arranged in an open clamshell configuration.

다양한 실시예에서, 가속도계는 적어도 50 Hz의 데이터 레이트를 갖는 3-축 가속도계일 수 있다. 자이로스코프도 역시 포함될 수 있고, 3-축 자이로스코프일 수 있다. 또한, e-컴파스/자력계가 존재할 수도 있다. 또한, 하나 이상의 근접 센서가 제공될 수도 있다(예를 들어, 사람이 시스템에 근접해 있는(있지 않은) 때를 개방된 뚜껑이 감지하도록). 일부 OS의 경우, 가속도계, 자이로스코프, 및 컴파스를 포함하는 센서 융합 능력이 향상된 특징을 제공할 수도 있다. 또한, 실시간 클록(RTC)을 갖는 센서 허브를 통해, 센서 메커니즘으로부터의 웨이크업이 실현되어 시스템의 나머지 부분이 저전력 상태에 있을 때 센서 입력을 수신할 수 있다.In various embodiments, the accelerometer may be a three-axis accelerometer having a data rate of at least 50 Hz. A gyroscope may also be included and may be a 3-axis gyroscope. There may also be an e-compass / magnetometer. In addition, one or more proximity sensors may be provided (e.g., such that an open lid detects when a person is proximate (not present) to the system). For some operating systems, sensor fusion capabilities, including accelerometers, gyroscopes, and compasses, may provide improved features. Also, through a sensor hub with a real-time clock (RTC), wake-up from the sensor mechanism can be realized to receive the sensor input when the remainder of the system is in a low power state.

일부 실시예에서, 뚜껑이 폐쇄/개방되어 있는 때를 나타내는 내부 뚜껑/디스플레이 개방 스위치 또는 센서가 시스템을 접속된 스탠바이(Connected Standby)로 두거나 접속된 스탠바이 상태로부터 자동으로 웨이크업하는데 이용될 수 있다. 다른 시스템 센서들은, 내부 프로세서, 메모리, 및 스킨 온도 모니터링을 위한 ACPI 센서를 포함하여, 감지된 파라미터에 기초해 프로세서 및 시스템 동작 상태에 대한 변경을 가능케할 수 있다.In some embodiments, an internal lid / display open switch or sensor indicating when the lid is closed / open may be used to place the system in a connected standby or automatically wake up from a connected standby state. Other system sensors may include an internal processor, memory, and an ACPI sensor for skin temperature monitoring to enable changes to the processor and system operating conditions based on the sensed parameters.

실시예에서, OS는 (여기서는 Win8 CS라고도 하는) 접속된 스탠바이를 구현하는 Microsoft® Windows® 8 OS일 수 있다. Windows 8 Connected Standby 또는 유사한 상태를 갖는 또 다른 OS는 여기서 설명된 플랫폼을 통해 매우 낮은 초 유휴 전력을 제공하여 애플리케이션이, 예를 들어, 매우 낮은 전력 소비로 클라우드-기반의 위치에 접속된 상태를 유지하도록 할 수 있다. 플랫폼은 3개의 전력 상태, 즉, 스크린 온(노멀); (디폴트 "오프" 상태로서의) 접속된 스탠바이; 및 셧다운(전력 소비 제로 와트)를 지원할 수 있다. 따라서, 접속된 스탠바이 상태에서, 플랫폼은 스크린이 오프이더라도 논리적으로 (최소의 전력 레벨에서) 온이다. 이러한 플랫 폼에서, 전력 관리는 애플리케이션이 알지 못하게 이루어질 수 있고, 부분적으로는 최저 전원공급받는 컴포넌트가 동작을 수행할 수 있게 하는 오프로드 기술로 인해, 지속적인 접속을 유지한다.In an embodiment, the OS may be a Microsoft? Windows? 8 OS that implements an attached standby (also referred to herein as Win8 CS). Another OS with Windows 8 Connected Standby or similar status provides very low super idle power through the platform described here to keep the application connected to the cloud-based location with very low power consumption, for example. . The platform has three power states: a screen-on (normal); A connected standby (as the default " off "state); And shutdown (power consumption zero watt). Thus, in the connected standby state, the platform is logically turned on (at the minimum power level) even if the screen is off. In such a platform, power management can be made unknowingly by the application and, in part, maintains a constant connection due to offload technology that allows the lowest powered components to perform operations.

도 4에서 역시 볼 수 있는 바와 같이, 다양한 주변 장치들이 LPC(low pin count) 인터커넥트를 통해 프로세서(410)에 결합될 수 있다. 도시된 실시예에서, 다양한 컴포넌트들이 임베디드 제어기(435)를 통해 결합될 수 있다. 이러한 컴포넌트들은, 키보드(436)(예를 들어, PS2 인터페이스를 통해 결합), 팬(437), 및 열 센서(439)를 포함할 수 있다. 일부 실시예에서, 터치 패드(430)는 PS2 인터페이스를 통해 EC(435)에도 결합될 수 있다. 또한, 2003년 10월 2일자 TCG(Trusted Computing Group) TPM(trusted platform module) 명세 버전 1.2에 따른 TPM(438) 등의 보안 프로세서도 역시 이 LPC 인터커넥트를 통해 프로세서(410)에 결합될 수 있다. 그러나, 본 발명의 범위는 이 점에서 제한되지 않고 보안 정보의 보안 처리 및 저장은 보안 코프로세서 내의 SRAM(static random access memory) 등의 또 다른 보호된 위치에 있거나, SE(secure enclave) 프로세서 모드에 의해 보호될 때만 암호해독되는 암호화된 데이터 블롭(data blob)으로서 존재할 수도 있다.As can also be seen in FIG. 4, various peripheral devices may be coupled to the processor 410 via a low pin count (LPC) interconnect. In the illustrated embodiment, various components may be combined via the embedded controller 435. [ These components may include a keyboard 436 (e.g., coupled via a PS2 interface), a fan 437, and a thermal sensor 439. In some embodiments, the touchpad 430 may also be coupled to the EC 435 via the PS2 interface. A secure processor, such as the TPM 438, according to Trusted Computing Group (TCG) Trusted Platform Module (TPM) Specification Version 1.2, dated October 2, 2003, may also be coupled to the processor 410 via this LPC interconnect. However, the scope of the present invention is not limited in this respect, and the security processing and storage of security information may be in another protected location, such as a static random access memory (SRAM) in the secure coprocessor, or in secure enclave processor mode Lt; / RTI > may be present as an encrypted data blob that is decrypted only when it is protected by the < RTI ID = 0.0 >

특정한 구현에서, 주변 포트들은 (풀 사이즈, 미니 또는 마이크로 등의 상이한 폼팩터일 수 있는) HDMI 커넥터(high definition media interface); USB 리비전 3.0 명세(2008년 11월)에 따른 풀-사이즈 외부 포트 등의 하나 이상의 USB 포트를 포함할 수 있고, 적어도 하나는 시스템이 접속된 스탠바이 상태에 있고 AC 벽 전원에 플러깅되어 있을 때 (스마트폰 등의) USB 장치의 충전을 위해 전원공급된다. 또한, 하나 이상의 Thunderbolt™ 포트가 제공될 수 있다. 다른 포트들은, WWAN용의 풀 사이즈 SD-XC 카드 리더 및/또는 SIM 카드 리더(예를 들어, 8핀 카드 리더) 등의 외부적으로 액세스가능한 카드 리더를 포함할 수 있다. 오디오를 위해, 스테레오 음향과 마이크로폰 기능(예를 들어, 조합 기능)을 갖는 3.5 mm 잭이 존재할 수 있고, 잭 검출을 위한 지원(예를 들어, 뚜껑 내의 마이크로폰의 이용만을 지원하는 헤드폰 또는 케이블로 된 마이크로폰을 갖춘 헤드폰)이 수반된다. 일부 실시예에서, 이 잭은 스테레오 헤드폰과 스테레오 마이크로폰 입력 사이에서 재작업부여가능하다. 또한, AC 브릭(brick)에 결합하기 위해 전원 잭이 제공될 수 있다.In certain implementations, the peripheral ports may be a high definition media interface (which may be a full-size, a different form factor such as mini or micro); Size external port according to the USB Revision 3.0 specification (November 2008), and at least one of the USB ports may be in a standby state in which the system is connected and plugged into an AC wall power source Phone, etc.) for charging the USB device. In addition, one or more Thunderbolt ™ ports may be provided. Other ports may include an externally accessible card reader such as a full-size SD-XC card reader and / or a SIM card reader (e.g., an 8-pin card reader) for WWAN. For audio, there may be a 3.5 mm jack with stereo sound and microphone functionality (e.g., combinatorial function) and support for jack detection (e.g., headphone or cable with support for use of the microphone in the lid Headphones with a microphone). In some embodiments, the jack is reworkable between a stereo headphone and a stereo microphone input. Also, a power jack may be provided for coupling to an AC brick.

시스템(400)은, 무선을 포함한, 다양한 방식으로 외부 장치와 통신할 수 있다. 도 4에 도시된 실시예에서, 다양한 무선 모듈들이 존재하고, 이들 각각은 특정한 무선 통신 프로토콜에 대해 구성된 무선장치에 대응할 수 있다. 근접장 등의 단거리에서의 무선 통신을 위한 한 방식은, 한 실시예에서는 SMBus를 통한 프로세서(410)와 통신할 수 있는 근접장 통신 유닛(NFC; 445)을 이용한 것일 수도 있다. 이 NFC 유닛(445)을 통해 서로 매우 근접한 장치들이 통신할 수 있다는 점에 유의한다. 예를 들어, 사용자는, 시스템(400)이, 서로 근접 관계에 있는 2개의 장치를 적응시키고 식별 정보, 지불 정보 등의 정보, 이미지 데이터 등의 데이터의 전송을 가능케함으로써, 사용자의 스마트폰 등의 또 다른 (예를 들어) 휴대 장치와 통신가능하게 할 수 있다. NFC 시스템을 이용하여 무선 전력 전송도 역시 수행될 수 있다.The system 400 can communicate with external devices in a variety of ways, including wireless. In the embodiment shown in FIG. 4, there are various wireless modules, each of which may correspond to a wireless device configured for a particular wireless communication protocol. One way for short range wireless communication, such as in a near field, may be in one embodiment using a near field communication unit (NFC) 445 capable of communicating with the processor 410 via the SMBus. It is noted that devices that are very close to each other can communicate through this NFC unit 445. For example, the user can allow the system 400 to adapt two devices in close proximity to one another and enable transmission of data such as identification information, payment information, image data, etc., It is possible to enable communication with another (for example) portable apparatus. Wireless power transmission using an NFC system can also be performed.

여기서 설명된 NFC 유닛을 이용하여, 사용자들은 하나 이상의 장치들의 코일들간의 결합을 레버리징함에 의한 (근접장 통신 및 무선 전력 전송(WPT) 등의) 근접장 결합 기능을 위해 장치들을 나란히 맞부딪히게 하거나 나란히 배치할 수 있다. 더 구체적으로는, 실시예들은 코일들의 더 양호한 결합을 제공하기 위해 장치들에게 전략적으로 성형되고 배치된 페라이트 재료를 제공한다. 각각의 코일은 그와 연관된 인덕턴스를 가지며, 이 인덕턴스는, 시스템에 대한 공통의 공진 주파수를 가능케하기 위해 시스템의 저항적, 용량적, 및 기타의 특징들과 연계하여 선택될 수 있다.With the NFC unit described herein, users can place devices side by side for leveraging near-field coupling capabilities (such as near field communication and wireless power transmission (WPT)) by leveraging the coupling between the coils of one or more devices can do. More specifically, embodiments provide strategically shaped and arranged ferrite material to the devices to provide a better combination of coils. Each coil has an associated inductance that can be selected in conjunction with the resistive, capacitive, and other characteristics of the system to enable a common resonant frequency for the system.

도 4에서 추가로 볼 수 있는 바와 같이, 추가의 무선 유닛들은 WLAN 유닛(450) 및 Bluetooth 유닛(452)을 포함한 다른 단거리 무선 엔진을 포함할 수 있다. WLAN 유닛(450)을 이용하여, 소정 IEEE(Institute of Electrical and Electronics Engineers) 802.11 표준에 따른 Wi-Fi™ 통신이 실현될 수 있는 반면, Bluetooth 유닛(452)을 이용하여, Bluetooth 프로토콜을 통한 단거리 통신이 발생할 수 있다. 이들 유닛들은, 예를 들어, USB 링크 또는 UART(universal asynchronous receiver transmitter) 링크를 통해 프로세서(410)와 통신할 수도 있다. 또는 이들 유닛들은 PCIe™(Peripheral Component Interconnect Express™) 프로토콜에 따른, 예를 들어, PCI Express™ Specification Base Specification 버전 3.0(2007년 1월 17일 공개), 또는 SDIO(serial data input/output) 표준과 같은 또 다른 프로토콜에 따른 인터커넥트를 통해 프로세서(410)에 결합될 수 있다. 물론, 하나 이상의 애드-인 카드 상에서 구성될 수 있는 이들 주변 장치들 사이의 실제의 물리적 접속은 마더보드에 적합화된 NGFF 커넥터에 의한 것일 수 있다.As further seen in FIG. 4, additional wireless units may include other short range wireless engines, including WLAN unit 450 and Bluetooth unit 452. Wi-Fi communication in accordance with certain IEEE (Institute of Electrical and Electronics Engineers) 802.11 standards can be realized using the WLAN unit 450 while using the Bluetooth unit 452 to perform short- Can occur. These units may communicate with the processor 410 via, for example, a USB link or a universal asynchronous receiver transmitter (UART) link. Or these units may be connected to the PCI Express ™ Specification Base Specification Version 3.0 (published January 17, 2007), or the serial data input / output (SDIO) standard, in accordance with the Peripheral Component Interconnect Express Lt; / RTI > may be coupled to the processor 410 via an interconnect according to another such protocol. Of course, the actual physical connection between these peripherals, which may be configured on one or more add-in cards, may be due to a motherboard-adapted NGFF connector.

또한, 예를 들어, 셀룰러 또는 기타의 무선 광역 프로토콜에 따른 무선 광역 통신은 SIM(subscriber identity module; 457)에 결합될 수 있는 WWAN 유닛(456)을 통해 발생할 수 있다. 또한, 위치 정보의 수신과 이용을 가능케하기 위해, GPS 모듈(455)도 역시 존재할 수 있다. 도 4에 도시된 실시예에서, WWAN 유닛(456) 및 카메라 모듈(454) 등의 통합된 포착 장치는 USB 2.0 또는 3.0 링크 또는 UART 또는 I2C 프로토콜 등의 소정 USB 프로토콜을 통해 통신할 수 있다는 점에 유의한다. 다시 한번 이들 유닛들의 실제의 물리적 접속은 마더보드 상에서 구성된 NGFF 커넥터에 대한 NGFF 애드-인 카드의 적합화를 통해서일 수 있다.Also, for example, wireless wide area communication in accordance with cellular or other wireless wide area protocols may occur through a WWAN unit 456 that may be coupled to a subscriber identity module (SIM) 457. Also, a GPS module 455 may also be present to enable reception and use of location information. 4, an integrated capture device such as a WWAN unit 456 and a camera module 454 can communicate via a USB 2.0 or 3.0 link or via a predetermined USB protocol such as a UART or I2C protocol Please note. Once again, the actual physical connection of these units can be through adaptation of the NGFF add-in card to the NGFF connector configured on the motherboard.

특정한 실시예에서, 예를 들어, Windows 8 CS에 대한 지원을 갖춘 WiFi™ 802.11ac 솔루션(예를 들어, IEEE 802.11abgn과 하위호환되는 애드-인 카드)에 의해 무선 기능이 모듈식으로 제공될 수 있다. 이 카드는 내부 슬롯에서 (예를 들어, NGFF 어댑터를 통해) 구성될 수 있다. 추가 모듈은 Bluetooth 능력(예를 들어, 하위호환성을 갖춘 Bluetooth 4.0) 뿐만 아니라 Intel® Wireless Display 기능을 제공할 수 있다. 또한 별개의 장치 또는 다기능 장치를 통해 NFC 지원이 제공될 수 있고, 용이한 접근성을 위해 예를 들어 샤시의 정면 우측부에 위치할 수 있다. 또 다른 추가적 모듈은 3G/4G/LTE 및 GPS에 대한 지원을 제공할 수 있는 WWAN 장치일 수 있다. 이 모듈은 내부 (예를 들어, NGFF) 슬롯에서 구현될 수 있다. WiFi™, Bluetooth, WWAN, NFC 및 GPS를 위해 통합된 안테나 지원이 제공되어, WiFi™로부터 WWAN 무선, Wireless Gigabit Specification(2010년 7월)에 따른 무선 기가비트(WiGig)로의 매끈한(seamless) 천이 및 그 반대를 가능케할 수 있다.In certain embodiments, wireless functionality may be provided modularly, for example, by a WiFi ™ 802.11ac solution (eg, an add-in card that is backward compatible with IEEE 802.11abgn) with support for Windows 8 CS have. This card may be configured in an internal slot (e.g., via an NGFF adapter). Additional modules can provide Intel® Wireless Display functionality as well as Bluetooth capabilities (for example, backward compatible Bluetooth 4.0). NFC support may also be provided through a separate device or multifunction device and may be located, for example, in the front right portion of the chassis for easy accessibility. Another additional module may be a WWAN device capable of providing support for 3G / 4G / LTE and GPS. This module may be implemented in an internal (e.g., NGFF) slot. Integrated antenna support for WiFi ™, Bluetooth, WWAN, NFC and GPS provides seamless transitions from WiFi ™ to wireless gigabit (WiGig) according to the WWAN Wireless, Wireless Gigabit Specification (July 2010) It is possible to do the opposite.

전술된 바와 같이, 통합된 카메라가 뚜껑에 포함될 수 있다. 한 예로서, 이 카메라는, 예를 들어, 적어도 2.0 메가픽셀(MP)의 해상도를 갖고 6.0 MP 이상으로 확장되는 고해상도 카메라일 수 있다.As described above, an integrated camera may be included in the lid. As an example, the camera may be a high resolution camera, for example, having a resolution of at least 2.0 megapixels (MP) and extending beyond 6.0 MP.

오디오 입력 및 출력을 제공하기 위해, HDA 링크를 통해 프로세서(410)에 결합될 수 있는 DSP(digital signal processor; 460)를 통해 오디오 프로세서가 구현될 수 있다. 유사하게, DSP(460)는, 샤시 내부에 구현될 수 있는 출력 스피커(463)에 결합될 수 있는 통합된 CODEC 및 증폭기(462)와 통신할 수도 있다. 마찬가지로, 증폭기 및 CODEC(462)이 결합되어, 한 실시예에서는 시스템 내의 다양한 동작의 음성-작동형 제어를 가능케하기 위해 고품질 오디오 입력을 제공하는 (디지털 마이크로폰 어레이 등의) 듀얼 어레이 마이크로폰을 통해 구현될 수 있는 마이크로폰(465)으로부터 오디오 입력을 수신할 수 있다. 오디오 출력은 증폭기/CODEC(462)으로부터 헤드폰 잭(464)으로 제공될 수 있다는 점에 유의한다. 도 4의 실시예에서는 이들 특정한 컴포넌트들과 함께 도시되어 있지만, 본 발명의 범위는 이 점에서 제한되지 않는다는 것을 이해해야 한다.An audio processor may be implemented via a digital signal processor (DSP) 460 that may be coupled to the processor 410 via an HDA link to provide audio input and output. Similarly, the DSP 460 may communicate with an integrated CODEC and amplifier 462 that may be coupled to an output speaker 463, which may be implemented within the chassis. Likewise, the amplifier and CODEC 462 may be combined to provide a high-quality audio input (e. G., A digital microphone array) to enable implementation of voice-activated control of various operations within the system Lt; RTI ID = 0.0 > 465. < / RTI > Note that the audio output may be provided from the amplifier / CODEC 462 to the headphone jack 464. Although shown in conjunction with these specific components in the embodiment of FIG. 4, it should be understood that the scope of the present invention is not limited in this respect.

특정 실시예에서, 디지털 오디오 코덱 및 증폭기는, 스테레오 헤드폰 잭, 내부 마이크로폰 어레이 및 스테레오 스피커를 구동할 수 있다. 상이한 구현에서, 코덱은 오디오 DSP 내에 통합되거나 HD 오디오 경로를 통해 주변기기 제어기 허브(PCH)에 결합될 수 있다. 일부 구현에서, 통합된 스테레오 스피커 외에도, 하나 이상의 베이스 스피커(bass speaker)가 제공될 수 있고, 스피커 솔루션은 DTS 오디오를 지원할 수 있다.In certain embodiments, the digital audio codec and amplifier may drive a stereo headphone jack, an internal microphone array, and a stereo speaker. In a different implementation, the codec may be integrated into an audio DSP or coupled to a peripheral controller hub (PCH) via an HD audio path. In some implementations, in addition to an integrated stereo speaker, one or more bass speakers may be provided, and a speaker solution may support DTS audio.

일부 구현에서, 프로세서(410)는, 완전 통합형 전압 조정기(FIVR; fully integrated voltage regulator)라 불리는 프로세서 다이 내부에 통합되는 외부 전압 조정기(VR) 및 복수의 내부 전압 조정기에 의해 전원공급될 수 있다. 프로세서에서 복수의 FIVR의 이용은 별개의 전력 플레인(power plane)들로의 컴포넌트들의 그룹화를 가능케하여, FIVR에 의해 전력이 조정되고 그룹 내의 이들 컴포넌트들에만 공급되게 한다. 전력 관리 동안에, 하나의 FIVR의 소정의 전력 플레인은 프로세서가 소정의 저전력 상태에 놓일 때 전원차단 또는 전원 오프될 수 있는 한편, 또 다른 FIVR의 또다른 전력 플레인은 활성으로, 또는 완전 전원공급된 채 유지될 수 있다.In some implementations, the processor 410 may be powered by an external voltage regulator (VR) integrated within a processor die, called a fully integrated voltage regulator (FIVR), and a plurality of internal voltage regulators. The use of a plurality of FIVRs in a processor allows grouping of components into separate power planes so that power is regulated by the FIVR and fed only to those components in the group. During power management, a given power plane of one FIVR may be powered off or powered off when the processor is placed in a predetermined low power state, while another power plane of another FIVR may be active or fully powered Can be maintained.

한 실시예에서, 일부 깊은 슬립 상태(deep sleep state) 동안에, 프로세서와 PCH 사이의 인터페이스, 외부 VR과의 인터페이스, 및 EC(435)와의 인터페이스 등의, 수 개의 I/O 신호를 위한 I/O 핀들에 전원을 공급하기 위해 지속 전력 플레인(sustain power plane)이 이용될 수 있다. 이 지속 전력 플레인은 또한, 슬립 상태에서 프로세서 컨텍스트가 저장되는 온보드 SRAM 또는 기타의 캐쉬 메모리를 지원하는 온-다이 전압 조정기에 전원을 공급한다. 유지 전력 플레인은 또한, 다양한 웨이크업 소스 신호를 모니터링하고 처리하는 프로세서의 웨이크업 로직에 전원공급을 하는데에도 이용된다.In some embodiments, during some deep sleep states, I / O for several I / O signals, such as an interface between the processor and the PCH, an interface with an external VR, and an interface with the EC 435, A sustain power plane may be used to supply power to the pins. This persistent power plane also powers on-die voltage regulators that support onboard SRAM or other cache memory where the processor context is stored in the sleep state. The holding power plane is also used to power the wake up logic of the processor to monitor and process the various wake up source signals.

전력 관리 동안에, 프로세서가 소정의 깊은 슬립 상태에 들어갈 때 다른 전력 플레인들이 전원차단 또는 전원오프되는 동안, 유지 전력 플레인은 상기 언급한 컴포넌트들을 지원하기 위해 전원공급된채 유지된다. 그러나, 이것은 이들 컴포넌트들이 필요하지 않을 때에는 불필요한 전력 소비 또는 소산을 야기할 수 있다. 이 목적을 위해, 실시예들은 전용 전력 플레인을 이용하여 프로세서 컨텍스트를 유지하는 접속된 스탠바이 슬립 상태를 제공할 수 있다. 한 실시예에서, 접속된 스탠바이 슬립 상태는, 프로세서와 함께 팩키지로 존재할 수 있는 PCH의 자원을 이용하여 프로세서 웨이크업을 용이하게 할 수 있다. 한 실시예에서, 접속된 스탠바이 슬립 상태는 프로세서 웨이크업 때까지 PCH 내의 프로세서 구조적 기능들을 유지하는 것을 용이하게 하므로, 이것은 깊은 슬립 상태 동안에, 모든 클록들을 오프하는 것을 포함한, 이전에 전원공급되었던 불필요한 프로세서 컴포넌트들 모두를 오프하는 것을 가능케한다. 한 실시예에서, PCH는 접속된 스탠바이 상태 동안에 시스템을 제어하기 위한 타임 스탬프 카운터(TSC; time stamp counter) 및 접속된 스탠바이 로직을 포함한다. 유지 전력 플레인을 위한 통합된 전압 조정기도 역시 PCH 상에 존재할 수 있다.During power management, the power planes remain powered to support the aforementioned components while the other power planes are powered off or powered off when the processor enters a predetermined deep sleep state. However, this may cause unnecessary power consumption or dissipation when these components are not needed. For this purpose, embodiments may provide a connected standby sleep state that maintains the processor context using a dedicated power plane. In one embodiment, the connected standby sleep state may facilitate processor wakeup using the resources of the PCH, which may exist in packages with the processor. In one embodiment, the connected standby sleep state facilitates maintaining processor structural functions within the PCH until the processor wake-up, so that during a deep sleep state, the previously powered up unwanted processor, including turning off all clocks, Allows you to turn off all of the components. In one embodiment, the PCH includes a time stamp counter (TSC) and connected standby logic for controlling the system during the connected standby state. An integrated voltage regulator for the holding power plane may also be present on the PCH.

실시예에서, 접속된 스탠바이 상태 동안에, 통합된 전압 조정기는, 프로세서가 깊은 슬립 상태 및 접속된 스탠바이 상태에 진입할 때 중요한 상태 변수들과 같은 프로세서 컨텍스트가 저장되는 전용 캐쉬 메모리를 지원하기 위해 전원공급된 채 유지되는 전용 전력 플레인으로서 기능할 수 있다. 이 중요한 상태는, 구조적, 마이크로-구조적, 디버그 상태와 연관된 상태 변수, 및/또는 프로세서와 연관된 유사한 상태 변수들을 포함할 수 있다.In an embodiment, during the connected standby state, the integrated voltage regulator may be powered by a power supply to support a dedicated cache memory in which the processor context, such as critical state variables, is stored when the processor enters deep sleep and connected standby states. And can function as a dedicated power plane that is maintained as it is. This critical state may include structural, micro-structured, state variables associated with the debug state, and / or similar state variables associated with the processor.

EC(435)로부터의 웨이크업 소스 신호는 접속된 스탠바이 상태 동안에 프로세서 대신에 PCH에 전송되어, PCH가 프로세서 대신에 웨이크업 처리를 관리할 수 있다. 또한, TSC는 프로세서 구조적 기능들을 유지하는 것을 용이하게 하기 위해 PCH 내에 유지된다. 도 4의 실시예에서는 이들 특정한 컴포넌트들과 함께 도시되어 있지만, 본 발명의 범위는 이 점에서 제한되지 않는다.The wake up source signal from EC 435 may be sent to the PCH instead of the processor during the connected standby state so that the PCH can manage the wake up process on behalf of the processor. In addition, the TSC is maintained within the PCH to facilitate maintaining processor architectural functions. Although shown in conjunction with these specific components in the embodiment of FIG. 4, the scope of the present invention is not limited in this respect.

프로세서 내의 전력 제어는 향상된 전력 절감으로 이어질 수 있다. 예를 들어, 전력은 코어들 사이에서 동적으로 할당될 수 있고, 개개의 코어는 주파수/전압을 변경할 수 있고, 복수의 깊은 저전력 상태들이 제공되어 매우 낮은 전력 소비를 가능케할 수 있다. 또한, 코어들 또는 독립된 코어 부분들의 동적 제어는 컴포넌트들이 이용되고 있지 않을 때 컴포넌트들을 전원차단함으로써 감소된 전력 소비를 제공할 수 있다.Power control within the processor can lead to improved power savings. For example, power can be dynamically allocated between cores, individual cores can change frequency / voltage, and multiple deep low power states can be provided to enable very low power consumption. In addition, dynamic control of cores or independent core portions can provide reduced power consumption by powering off components when components are not being used.

일부 구현은 플랫폼 전력을 제어하기 위해 특정한 전력 관리 IC((PMIC)를 제공할 수 있다. 이 솔루션을 이용하여, 시스템은, Win8 접속된 스탠바이 상태 등의 소정의 스탠바이 상태에 있을 때 연장된 기간 동안(예를 들어, 16시간 동안) 매우 낮은 (예를 들어, 5% 미만의) 배터리 저하를 볼 수 있을 것이다. Win8 유휴 상태에서, 예를 들어, (예를 들어, 150 니트(nit)에서) 9시간을 초과하는 배터리 수명이 실현될 수 있다. 비디오 재생에 관하자면, 긴 배터리 수명이 실현될 수 있는데, 예를 들어, 최소 6시간 동안 풀 HD 비디오 재생이 발생할 수 있다. 한 구현에서의 플랫폼은, 예를 들어, SSD를 이용한 Win8 CS의 경우 예를 들어 35 와트 시간(WHr), 및 (예를 들어) RST 캐쉬 구성을 갖춘 HDD를 이용한 Win8의 경우 40-44 WHr의 에너지 용량을 가질 수 있다.Some implementations may provide a specific power management IC (PMIC) to control the platform power. With this solution, the system may be in a standby state, such as a Win8 connected standby state, (For example, at 150 nit) for a very low (e.g., less than 5%) battery degradation in the Win 8 idle state (e.g., for 16 hours) Long battery life can be realized, for example, for a minimum of 6 hours, full HD video playback can occur. In one implementation, the platform < RTI ID = 0.0 > Can have an energy capacity of, for example, 35 Watts (WHr) in the case of Win8 CS with SSD, for example, and 40-44 WHr in case of Win8 using HDD with (for example) RST cache configuration have.

특정한 구현은, 약 25W TDP(thermal design power) 설계 포인트까지의 구성가능한 CPU TDP와 함께, 15W의 공칭 CPU 열 설계 전력(TDP)에 대한 지원을 제공할 수 있다. 플랫폼은 전술된 열 특징 덕택에 최소의 환기구를 포함할 수 있다. 또한, 플랫폼은 (뜨거운 공기가 사용자에게 불지 않는다는 점에서) 베개-친화형(pillow-friendly)이다. 샤시 재료에 따라 상이한 최대 온도점들이 실현될 수 있다. (적어도 플라스틱으로 된 뚜껑 또는 베이스 부분을 갖는) 플라스틱 샤시의 한 구현에서, 최대 동작 온도는 52도씨(C)일 수 있다. 금속 샤시 구현의 경우, 최대 동작 온도는 46℃일 수 있다.Certain implementations can provide support for the nominal CPU thermal design power (TDP) of 15W, with a configurable CPU TDP up to a design point of about 25W thermal design power (TDP). The platform may include a minimum vent due to the thermal characteristics described above. In addition, the platform is pillow-friendly (in that hot air is not infused to the user). Different maximum temperature points can be realized depending on the chassis material. In one embodiment of a plastic chassis (with at least a plastic lid or base portion), the maximum operating temperature may be 52 degrees C (C). For metal chassis implementations, the maximum operating temperature may be 46 ° C.

상이한 구현에서, TPM 등의 보안 모듈은, 프로세서 내에 통합되거나 TPM 2.0 장치 등의 개별 장치일 수 있다. PTT(Platform Trust Technology)라고 불리는 통합된 보안 모듈에 의해, BIOS/펌웨어는, 보안 키보드 및 디스플레이 등의 보안 사용자 인터페이스와 함께, 보안 명령어, 보안 부트, Intel® Anti-Theft Technology, Intel® Identity Protection Technology, Intel® Trusted Execution Technology (TXT), 및 Intel® Manageability Engine Technology를 포함한 소정의 보안 피쳐들을 위해 소정의 하드웨어 피쳐들을 노출시키도록 인에이블될 수 있다.In a different implementation, a security module, such as a TPM, may be integrated within the processor or it may be a separate device such as a TPM 2.0 device. By means of an integrated security module called Platform Trust Technology (PTT), the BIOS / firmware can be used with security commands such as security keyboard and display, security commands, security boot, Intel® Anti-Theft Technology, Intel® Identity Protection Technology , Intel® Trusted Execution Technology (TXT), and Intel® Manageability Engine Technology.

본 발명의 제한된 개수의 실시예에 관하여 설명되었지만, 당업자라면 이로부터의 수 많은 수정과 변형을 이해할 것이다. 첨부된 청구항들은 본 발명의 진정한 사상과 범위 내에 드는 이러한 모든 수정 및 변형을 포괄하고자 한다.Although a few embodiments of the present invention have been described, many modifications and variations will be apparent to those skilled in the art. The appended claims are intended to cover all such modifications and variations as fall within the true spirit and scope of the invention.

이제 도 5를 참조하면, 본 발명의 실시예에 따른 제2 컴퓨터 시스템에 존재하는 컴포넌트들의 블록도가 도시되어 있다. 도 5에 도시된 바와 같이, 시스템(500)은 컴포넌트들의 임의 조합을 포함할 수 있다. 이들 컴포넌트들은, IC들, 그 일부, 개별 전자 장치, 또는 기타의 모듈들, 로직, 하드웨어, 소프트웨어, 펌웨어, 또는 컴퓨터 시스템에 적합화된 이들의 조합으로서, 또는 컴퓨터 시스템의 샤시 내에 기타의 방식으로 포함된 컴포넌트들로서 구현될 수 있다. 도 5의 블록도는 컴퓨터 시스템의 많은 컴포넌트들의 고수준 뷰를 도시하기 위한 것임에도 역시 유의한다. 그러나, 다른 구현에서는, 도시된 컴포넌트들 중 일부가 생략될 수 있고, 추가의 컴포넌트들이 존재할 수 있으며, 도시된 컴포넌트들의 상이한 배열이 발생할 수 있다는 것을 이해해야 한다.Referring now to FIG. 5, a block diagram of components present in a second computer system according to an embodiment of the present invention is shown. As shown in FIG. 5, the system 500 may include any combination of components. These components may be implemented as ICs, portions thereof, discrete electronic devices, or other modules, logic, hardware, software, firmware, or combinations thereof adapted to a computer system, or in any other manner within the chassis of a computer system May be implemented as embedded components. It should also be noted that the block diagram of Figure 5 is intended to illustrate a high-level view of many components of a computer system. It should be understood, however, that in other implementations, some of the illustrated components may be omitted, additional components may be present, and that different arrangements of the illustrated components may occur.

도 5에 도시된 바와 같이, 프로세서(510)는, 한 실시예에서, 마이크로프로세서, 멀티-코어 프로세서, 멀티쓰레드 프로세서, 초저전압 프로세서, 임베디드 프로세서, 또는 기타의 공지된 처리 요소를 포함한다. 예시된 구현에서, 프로세서(510)는 시스템(500)의 메인 처리 유닛으로서 역할한다. 특정한 예시로서, 프로세서(510)는, Intel Corporation, AMD, ARM-기반의 설계, MIPS-기반의 설계, Qualcomm, Tl 또는 기타의 이러한 제조사로부터 이용가능한 전술된 프로세서들 중 임의의 것일 수 있다. 한 구현에서 프로세서(510)의 아키텍쳐 및 동작에 관한 소정의 상세사항이 이하에서 더 논의될 것이다.As shown in FIG. 5, processor 510, in one embodiment, includes a microprocessor, a multi-core processor, a multi-threaded processor, an ultra-low voltage processor, an embedded processor, or other known processing elements. In the illustrated implementation, processor 510 serves as the main processing unit of system 500. As a specific example, processor 510 may be any of the aforementioned processors available from Intel Corporation, AMD, ARM-based design, MIPS-based design, Qualcomm, Tl, or other such manufacturers. Certain details regarding the architecture and operation of processor 510 in one implementation will be discussed further below.

프로세서(510)는, 한 실시예에서, 시스템 메모리(551 및 552)와 통신한다. 예시로서, 메모리 인터커넥트(550a 및 550b)를 통해 복수의 메모리 통신 경로가 제공될 수 있다. 하나의 이러한 예로서, 메모리 장치들(및 인터커넥트들) 각각은 상이한 속도일 수 있고, LPDDR2 또는 차세대 LPDDR 표준의 소정 전력 소비 목표에 기초하여 제어가능하게 전원공급될 수 있다. 예로서, SDP, DDP 또는 QDP 폼팩터일 수 있는 이들 메모리 장치를 통해 2/4/8 기가바이트(GB)의 시스템 메모리가 제공될 수 있고, 소정 방식으로 마더보드에 접속될 수 있다.Processor 510, in one embodiment, communicates with system memory 551 and 552. [ By way of example, a plurality of memory communication paths may be provided through memory interconnects 550a and 550b. As one such example, each of the memory devices (and interconnects) can be at different speeds and can be controllably powered based on the LPDDR2 or the predetermined power consumption goals of the next generation LPDDR standard. By way of example, these memory devices, which may be the SDP, DDP or QDP form factor, may be provided with 2/4/8 gigabytes (GB) of system memory and may be connected to the motherboard in some way.

도 5에서 볼 수 있는 바와 같이, 프로세서(510)는, DMI(direct media interface)(512) 및 FDI(flexible display interface)(511)를 포함한 복수의 인터페이스를 통해 칩셋(515)에 결합될 수 있다. 도 5의 실시예에서는 칩셋(515)에 대한 이들 특정한 인터커넥트와 함께 도시되어 있지만, 칩셋에 대한 접속은 상이한 실시예에서 다른 방식으로 이루어질 수 있다. 일부 실시예에서, 칩셋(515)은, 시스템의 다양한 주변기기들에 대한 인터페이스를 제공하므로 주변기기 제어기 허브(PCH)라고도 한다.5, the processor 510 may be coupled to the chipset 515 via a plurality of interfaces including a direct media interface (DMI) 512 and a flexible display interface (FDI) . Although shown with these particular interconnects to the chipset 515 in the embodiment of FIG. 5, the connection to the chipset may be done in different ways in different embodiments. In some embodiments, the chipset 515 is also referred to as a peripheral controller hub (PCH) because it provides an interface to various peripherals of the system.

데이터, 애플리케이션, 하나 이상의 운영 체제 등의 정보의 영구 저장을 제공하기 위해, SATA(serial advanced technology attach) 인터커넥트(530)를 통해 SSD(531)가 칩셋(515)에 결합될 수 있다. SSD를 통해 구현된 것으로 도시되어 있지만, 다른 실시예에서는, 대용량 스토리지는 주로, 전원 차단 이벤트 동안에 컨텍스트 상태와 다른 이러한 정보의 비휘발성 저장을 가능케하여 시스템 활동의 재시작시에 빠른 기동이 발생할 수 있도록 SSD 캐쉬로서 역할하는 더 작은 용량의 SSD 스토리지를 갖춘 HDD를 이용하여 구현될 수 있다.The SSD 531 may be coupled to the chipset 515 via a serial advanced technology attach (SATA) interconnect 530 to provide permanent storage of information such as data, applications, and one or more operating systems. Although shown as being implemented via SSD, in other embodiments, the mass storage is primarily configured to enable nonvolatile storage of this information, which is different from the context state during a power down event, so that the SSD And can be implemented using an HDD having a smaller capacity SSD storage serving as a cache.

도 5에 역시 도시된 바와 같이, 플래시 장치(541)는, 예를 들어, 직렬 주변기기 인터페이스(SPI; serial peripheral interface)(555)를 통해 프로세서(510)에 결합될 수 있다. 이 플래시 장치는, BIOS를 포함한 시스템 소프트웨어 뿐만 아니라 시스템의 다른 펌웨어의 비휘발성 저장을 제공할 수 있다.As also shown in FIG. 5, the flash device 541 may be coupled to the processor 510 via, for example, a serial peripheral interface (SPI) 555. The flash device can provide nonvolatile storage of system firmware, including BIOS, as well as other firmware in the system.

다양한 IO 장치들이 시스템(500) 내에 존재할 수 있다. 도 5의 실시예에서는, 특정적으로, 샤시의 뚜껑 부분 내에서 구성된 고선명 LCD일 수 있는 디스플레이(521)가 도시되어 있다. 이 디스플레이 패널은 LVDS(low voltage differential signaling) 인터커넥트(520)를 통해 칩셋(515)에 결합될 수 있다. 이러한 특정한 타입의 인터커넥트 및 LCD 타입 디스플레이와 함께 도시되어 있지만, LED 또는 다른 타입의 디스플레이 등의 디스플레이들의 다른 타입들 및 상이한 인터커넥트 배열이 제공될 수도 있다.Various IO devices may be present in the system 500. In the embodiment of FIG. 5, a display 521, which may be a high-definition LCD configured in the lid portion of the chassis, is shown in particular. The display panel may be coupled to the chipset 515 via a low voltage differential signaling (LVDS) interconnect 520. Although shown with this particular type of interconnect and LCD type display, other types of displays and different interconnect arrangements may be provided, such as LEDs or other types of displays.

추가로 볼 수 있는 바와 같이, 추가적인 비디오 인터페이스는, 한 실시예에서는 미니 디스플레이 포트 어댑터(miniDP)(526)일 수 있는 디스플레이 어댑터(526)에 결합된 디스플레이 포트 인터커넥트(525)를 통한 것일 수 있다. 다음으로, 이 어댑터는, 이 실시예에서는 플라즈마 장치, LED 장치, LCD 장치 등의 다양한 타입의 평판 텔레비전 디스플레이일 수 있는, 예를 들어, HDMI 장치(527)를 통해 외부 비디오 출력 장치에 대한 인터커넥트를 제공할 수 있다.As further seen, the additional video interface may be through a display port interconnect 525 coupled to a display adapter 526, which in one embodiment may be a Mini DisplayPort adapter (miniDP) Next, the adapter is connected to an external video output device via an HDMI device 527, which may be various types of flat panel television displays, such as plasma devices, LED devices, LCD devices, .

여전히 도 5를 참조하면, 터치 스크린(574)은 또한, 예를 들어, 디스플레이 패널 위에 외부적으로 적합화되어, 이 터치 스크린과의 사용자 상호작용을 통해, 사용자 입력이 시스템에 제공되어 정보의 디스플레이, 정보의 액세스 등에 관해 원하는 동작을 가능케할 수 있다. 터치 스크린(574)은 USB2 인터커넥트(570C)를 통해 프로세서(510)에 결합될 수 있다.Still referring to FIG. 5, the touch screen 574 may also be externally adapted, e.g., over a display panel, to allow user input to be provided to the system through user interaction with the touch screen, , Access to information, and the like. Touch screen 574 may be coupled to processor 510 via USB2 interconnect 570C.

도 5에서 역시 볼 수 있는 바와 같이, 다양한 주변 장치들이 LPC(low pin count) 인터커넥트(545)를 통해 칩셋(515)에 결합될 수 있다. 도시된 실시예에서, 다양한 컴포넌트들이 임베디드 제어기(551)를 통해 결합될 수 있다. 이러한 컴포넌트들로는 (예를 들어, PS2 인터페이스를 통해 결합된) 키보드(552)가 포함될 수 있다. 일부 실시예에서, 터치 패드(553)는, USB2 인터커넥트(550)를 통해 칩셋(515)에 결합될 수 있고, 또한 PS2 인터페이스를 통해 EC(551)에도 결합될 수 있다. 또한, TPM(546) 등의 보안 프로세서도, 이 LPC 인터커넥트(545)를 통해 칩셋(515)(및 임베디드 제어기(551))에 결합될 수 있다.As can also be seen in FIG. 5, various peripheral devices may be coupled to the chipset 515 via a low pin count (LPC) interconnect 545. In the illustrated embodiment, various components may be combined through the embedded controller 551. [ These components may include a keyboard 552 (e.g., coupled via a PS2 interface). In some embodiments, the touchpad 553 may be coupled to the chipset 515 via the USB2 interconnect 550 and also to the EC 551 via the PS2 interface. A secure processor, such as TPM 546, may also be coupled to chipset 515 (and embedded controller 551) via this LPC interconnect 545.

도 5에서 추가로 볼 수 있는 바와 같이, SIO(serial input/output) 모듈(547)도 역시 LPC 인터커넥트(545)에 결합되어 직렬 데이터의 통신을 제공할 수 있다. 소정 구현에서 칩셋(515)에 결합될 수 있는 다른 인터커넥트들은, GPIO 인터커넥트를 통한 하나 이상의 범용 IO 장치와 시스템 관리(SM) 버스를 통해 결합될 수 있는 하나 이상의 시스템 관리 장치를 포함할 수 있다.As further seen in FIG. 5, a serial input / output (SIO) module 547 may also be coupled to the LPC interconnect 545 to provide for the communication of serial data. Other interconnects that may be coupled to the chipset 515 in certain implementations may include one or more system management devices that may be coupled via a system management (SM) bus with one or more general purpose IO devices via a GPIO interconnect.

시스템(500)은, 무선을 포함한, 다양한 방식으로 외부 장치와 통신할 수 있다. 도 5에 도시된 실시예에서, 무선 모듈(561)은 특정한 무선 통신 프로토콜을 위해 구성된 하나 이상의 라디오가 존재하는 것을 포함할 수 있다. 도시된 실시예에서, 모듈(561)의 이들 무선장치는, WLAN 유닛과 Bluetooth 유닛(552)을 포함한 단거리 무선 엔진을 포함할 수 있다. WLAN 유닛을 이용하여, 소정 IEEE 802.11 표준에 따른 Wi-Fi™ 통신이 실현될 수 있는 반면, Bluetooth 유닛을 이용하여, Bluetooth 프로토콜을 통한 단거리 통신이 발생할 수 있다. 이들 유닛들은 인터커넥트(560)를 따라 PCIe™ 프로토콜 또는 USB2 프로토콜을 통해 칩셋(515)과 통신할 수 있다. 물론, 하나 이상의 애드-인 카드 상에서 구성될 수 있는 이들 주변 장치들 사이의 실제의 물리적 접속은 마더보드에 적합화된 NGFF 커넥터에 의한 것일 수 있다.The system 500 can communicate with external devices in a variety of ways, including wireless. In the embodiment shown in FIG. 5, the wireless module 561 may include one or more radios configured for a particular wireless communication protocol. In the illustrated embodiment, these wireless devices of module 561 may include a short-range wireless engine including a WLAN unit and a Bluetooth unit 552. With the WLAN unit, Wi-Fi ™ communication according to the predetermined IEEE 802.11 standard can be realized, while using the Bluetooth unit, short-range communication via the Bluetooth protocol can occur. These units may communicate with the chipset 515 via the PCIe (TM) protocol or the USB2 protocol along the interconnect 560. Of course, the actual physical connection between these peripherals, which may be configured on one or more add-in cards, may be due to a motherboard-adapted NGFF connector.

오디오 입력 및 출력을 제공하기 위해, CODEC(536)은 HD 오디오 인터커넥트(535)를 통해 칩셋(515)에 결합될 수 있다. 보다시피, CODEC(536)은 입력 및 출력 방향 모두에서 오디오 정보의 코딩 및 디코딩을 제공할 수 있다. CODEC(536)에서 디코딩되는 출력 오디오 데이터는 스피커(537)를 통한 출력으로서 제공될 수 있다. 다음으로, 인입 오디오 정보는, CODEC(536)에도 결합되어 있는 마이크로폰 어레이(538)를 통해 수신될 수 있다.To provide audio input and output, CODEC 536 may be coupled to chipset 515 via HD audio interconnect 535. As can be seen, the CODEC 536 can provide coding and decoding of audio information in both the input and output directions. The output audio data decoded at the CODEC 536 may be provided as an output via the speaker 537. [ Next, the incoming audio information may be received via the microphone array 538, which is also coupled to the CODEC 536. [

전술된 바와 같이 정지영상 또는 동영상일 수 있는 비디오 데이터의 입력을 제공하기 위해, 스테레오 카메라 모듈(581)은, PCIe™ 인터커넥트(565)를 통해 칩셋(515)에 결합될 수 있는 스테레오 카드(566)에 LVDS 인터커넥트(580)를 통해 결합될 수 있다. 물론, 상이한 구현에서는 카메라 모듈을 인터커넥팅하는 상이한 방식들이 발생할 수 있다. 카메라 모듈(581)은 스테레오 효과를 제공하기 위해 복수의 포착 장치를 포함할 수 있고, 시스템의 뚜껑 부분 내에서 구성되고 일부 실시예에서는 2.0 - 8.0 MP 카메라일 수 있는 하나 이상의 카메라에 의해 구현될 수 있다.The stereo camera module 581 includes a stereo card 566 that may be coupled to the chipset 515 via a PCIe ™ interconnect 565 to provide input of video data, Lt; RTI ID = 0.0 > LVDS < / RTI > Of course, in different implementations, different ways of interconnecting the camera module may occur. Camera module 581 may include a plurality of capture devices to provide a stereo effect and may be implemented by one or more cameras configured within the lid portion of the system and in some embodiments may be a 2.0-8.0 MP camera have.

향상된 제스쳐 및 인증 동작을 제공하기 위해, 눈 시선 추적 모듈(571)이 제공될 수도 있다. 보다시피, 이 모듈은, 한 실시예에서는 인터커넥트하기 위한 USB2일 수 있는 인터커넥트(570a)를 통해 칩셋(515)에 결합될 수 있다. 눈 시선 추적 모듈(571)은 제스쳐 입력 목적을 위해 이용될 수 있는 사용자의 눈 움직임을 추적하여 동적 디스플레이를 사용자에게 제공하는데 이용될 수 있다. 이 모듈로부터의 정보는 또한 전력 관리 목적에 이용되어 사용자가 시스템에 참여하고 있지 않을 때 전력 소비를 줄일 수 있다.In order to provide an improved gesture and authentication operation, an eye-gaze tracking module 571 may be provided. As will be appreciated, this module may be coupled to the chipset 515 via an interconnect 570a, which in one embodiment may be USB2 for interconnect. Eye eye tracking module 571 may be used to track a user's eye movements that may be used for gesture input purposes and provide a dynamic display to a user. The information from this module can also be used for power management purposes to reduce power consumption when the user is not participating in the system.

한 실시예에서는 USB2 인터커넥트일 수 있는 인터커넥트(570b)를 통해 칩셋(515)에 결합되는 마이크로제어기(572)에 결합될 수 있는 핸드 센서(573)를 통해 추가의 제스쳐 정보가 수신될 수 있다. 도시된 실시예에서, 마이크로제어기(572)는 핸드 센서(573)을 통해 수신된 손 정보를 수신하는 8051-기반의 마이크로제어기일 수 있다. 이 제스쳐 정보는 마찬가지로 사용자의 제스쳐에 응답하여 다양한 동작을 수행하기 위해 시스템에 의해 이용될 수 있다.In one embodiment, additional gesture information may be received via the hand sensor 573, which may be coupled to a microcontroller 572 coupled to the chipset 515 via an interconnect 570b, which may be a USB2 interconnect. In the illustrated embodiment, microcontroller 572 may be an 8051-based microcontroller that receives hand information received via hand sensor 573. This gesture information may likewise be used by the system to perform various actions in response to the user's gesture.

추가로 볼 수 있는 바와 같이, 하나 이상의 통보 LED(591)가 하나 이상의 GPIO 인터커넥트(590)를 통해 마이크로제어기(572)에 결합될 수 있다.As can be further seen, one or more notification LEDs 591 may be coupled to the microcontroller 572 via one or more GPIO interconnects 590.

다양한 주변 장치들에 대한 인터커넥트를 제공하기 위해, 복수의 외부 USB 포트(576)가 제공될 수 있고, 이들 외부 USB 포트들은, 사용자가, 물리적 인터커넥트를 통해, 스토리지 장치, 미디어 장치, 재생 장치, 포착 장치 등의 다양한 외부 장치를 한 실시예에서는 USB3 인터커넥트일 수 있는 인터커넥트(575)를 통해 칩셋(515)에 결합시키게 할 수 있다. 도 5의 실시예에서는 이러한 고수준으로 도시되어 있지만, 다른 실시예에서 시스템은 많은 다른 대안 및 옵션을 포함할 수 있다는 것을 이해해야 한다.To provide an interconnect for various peripherals, a plurality of external USB ports 576 may be provided, which allow the user to capture, via the physical interconnect, storage devices, media devices, playback devices, May be coupled to the chipset 515 through an interconnect 575, which in one embodiment may be a USB3 interconnect. It should be appreciated that while this embodiment is illustrated at such a high level, in other embodiments the system may include many other alternatives and options.

도 6은 본 발명의 한 실시예에 따른 명령어를 실행하는 실행 유닛을 포함하는 프로세서로 형성된 예시적인 컴퓨터 시스템의 블록도이다. 시스템(600)은, 여기서 설명된 실시예서와 같은, 본 발명에 따른, 데이터를 처리하기 위한 알고리즘을 수행하는 로직을 포함하는 실행 유닛을 채용하는 프로세서(602)와 같은, 컴포넌트를 포함한다. 시스템(600)은, CA, Santa Clara의 Intel Corporation으로부터 입수할 수 있는 PENTIUM® III, PENTIUM® 4, Intel® Xeon®, Itanium®, 및/또는 Intel XScale® 마이크로프로세서들에 기초한 처리 시스템을 나타내지만, (다른 마이크로프로세서를 갖는 PC, 엔지니어링 워크스테이션, 셋탑박스 등을 포함한) 다른 시스템도 역시 이용될 수 있다. 한 실시예에서, 샘플 시스템(600)은 WA, Redmond의 Microsoft® Corporation으로부터 입수할 수 있는 WINDOWS® 운영 체제의 한 버전을 실행할 수 있지만, 다른 운영 체제(예를 들어, UNIX 및 Linux), 임베디드 소프트웨어, 및/또는 그래픽 사용자 인터페이스도 역시 이용될 수 있다. 따라서, 본 발명의 실시예는 하드웨어 회로와 소프트웨어의 임의의 특정한 조합으로 제한되지 않는다.6 is a block diagram of an exemplary computer system formed with a processor including an execution unit for executing an instruction in accordance with an embodiment of the present invention. System 600 includes components, such as processor 602, that employs an execution unit that includes logic to perform algorithms for processing data, such as the embodiments described herein, in accordance with the present invention. System 600 represents a processing system based on PENTIUM III, PENTIUM 4, Intel® Xeon®, Itanium®, and / or Intel XScale® microprocessors available from Intel Corporation of Santa Clara, Calif. , Other systems (including PCs with other microprocessors, engineering workstations, set-top boxes, etc.) may also be used. In one embodiment, the sample system 600 may run one version of the WINDOWS® operating system available from Microsoft® Corporation of Redmond, WA, but may include other operating systems (eg, UNIX and Linux), embedded software , And / or a graphical user interface may also be used. Thus, embodiments of the invention are not limited to any particular combination of hardware circuitry and software.

실시예들은 컴퓨터 시스템으로 제한되지 않는다. 본 발명의 대안적 실시예들은 핸드헬드 장치 및 임베디드 응용 등의 다른 장치들에서 이용될 수 있다. 핸드헬드 장치의 일부 예로서는, 셀룰러 전화, 인터넷 프로토콜 장치, 디지털 카메라, PDA(personal digital assistant), 및 핸드헬드 PC가 포함된다. 임베디드 응용으로서는, 마이크로 제어기, 디지털 신호 프로세서(DSP), 시스템 온 칩, 네트워크 컴퓨터(NetPC), 셋탑박스, 네트워크 허브, 광역 네트워크(WAN) 스위치, 또는 적어도 한 실시예에 따라 하나 이상의 명령어를 수행할 수 있는 기타 임의의 시스템을 포함될 수 있다.Embodiments are not limited to computer systems. Alternative embodiments of the present invention may be used in other devices such as handheld devices and embedded applications. Some examples of handheld devices include cellular telephones, Internet protocol devices, digital cameras, personal digital assistants (PDAs), and handheld PCs. An embedded application may include a microcontroller, a digital signal processor (DSP), a system-on-a-chip, a network computer (NetPC), a set top box, a network hub, a wide area network (WAN) switch, And the like.

도 6은 본 발명의 한 실시예에 따른 적어도 하나의 명령어를 수행하는 알고리즘을 수행하는 하나 이상의 실행 유닛(608)을 포함하는 프로세서(602)로 형성된 컴퓨터 시스템(600)의 블록도이다. 한 실시예는 단일 프로세서 데스크탑 또는 서버 시스템의 정황에서 설명될 수 있지만, 대안적 실시예는 멀티프로세서 시스템에 포함될 수 있다. 시스템(600)은 '허브' 시스템 아키텍쳐의 예이다. 컴퓨터 시스템(600)은 데이터 신호를 처리하는 프로세서(602)를 포함한다. 프로세서(602)는, 복합 명령어 세트 컴퓨터(CISC; complex instruction set computer) 마이크로프로세서, 단축 명령어 세트 컴퓨팅(RISC; reduced instruction set computing) 마이크로프로세서, 매우 긴 명령어 워드(VLIW; very long instruction word) 마이크로프로세서, 명령어 세트의 조합을 구현하는 프로세서, 또는 예를 들어 디지털 신호 프로세서 등의, 기타 임의의 프로세서 장치일 수 있다. 프로세서(602)는, 시스템(600) 내의 프로세서(602)와 다른 컴포넌트 사이에서 데이터 신호를 전송할 수 있는 프로세서 버스(610)에 결합된다. 시스템(600)의 요소들은 당업자에게 공지된 그들의 종래 기능을 수행한다.6 is a block diagram of a computer system 600 formed with a processor 602 that includes one or more execution units 608 that perform algorithms to perform at least one instruction in accordance with one embodiment of the present invention. While an embodiment may be described in the context of a single processor desktop or server system, alternative embodiments may be included in a multiprocessor system. System 600 is an example of a " hub " system architecture. Computer system 600 includes a processor 602 for processing data signals. The processor 602 may be a complex instruction set computer (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor , A processor implementing a combination of instruction sets, or any other processor device, such as, for example, a digital signal processor. The processor 602 is coupled to a processor bus 610 that is capable of transferring data signals between the processor 602 and other components within the system 600. [ The elements of system 600 perform their conventional functions known to those skilled in the art.

한 실시예에서, 프로세서(602)는 레벨 1(L1) 내부 캐쉬 메모리(604)를 포함한다. 아키텍쳐에 따라, 프로세서(602)는 단일의 내부 캐쉬 또는 복수 레벨의 내부 캐쉬를 가질 수 있다. 대안으로서, 또 다른 실시예에서, 캐쉬 메모리는 프로세서(602) 외부에 존재할 수 있다. 다른 실시예들도 역시, 특정한 구현 및 필요성에 따라 내부 및 외부 캐쉬 모두의 조합을 포함할 수 있다. 레지스터 파일(606)은, 정수 레지스터, 부동 소수점 레지스터, 상태 레지스터, 및 명령어 포인터 레지스터를 포함한 다양한 레지스터들 내에 상이한 타입의 데이터를 저장할 수 있다.In one embodiment, the processor 602 includes a level one (L1) internal cache memory 604. Depending on the architecture, the processor 602 may have a single internal cache or multiple levels of internal cache. Alternatively, in another embodiment, the cache memory may be external to the processor 602. [ Other embodiments may also include combinations of both internal and external caches, depending on the particular implementation and needs. The register file 606 may store different types of data in various registers, including integer registers, floating point registers, status registers, and instruction pointer registers.

정수 및 부동 소수점 연산을 수행하는 로직을 포함하는 실행 유닛(608)도 역시 프로세서(602)에 존재한다. 프로세서(602)는 또한, 소정 마이크로명령에 대한 마이크로코드를 저장하는 마이크로코드(ucode) ROM을 포함한다. 한 실시예의 경우, 실행 유닛(608)은 팩킹된 명령어 세트(609)를 취급하는 로직을 포함한다. 팩킹된 명령어 세트(609)를 범용 프로세서(602)의 명령어 세트에 포함함으로써, 명령어를 실행하는 연관된 회로와 함께, 많은 멀티미디어 애플리케이션에 의해 사용되는 연산들이 범용 프로세서(602)에서 팩킹된 데이터를 이용하여 수행될 수 있다. 따라서, 많은 멀티미디어 애플리케이션들이, 팩킹된 데이터에 관한 연산을 수행하기 위해 프로세서의 데이터 버스의 전체 폭을 이용함으로써, 가속되고 보다 효율적으로 실행될 수 있다. 이것은 한 번에 하나의 데이터 요소에 하나 이상의 연산을 수행하기 위해 프로세서의 데이터 버스를 통해 데이터의 더 작은 유닛들을 전송할 필요성을 제거할 수 있다.Execution unit 608, which also includes logic for performing integer and floating-point operations, is also present in processor 602. The processor 602 also includes a microcode (ucode) ROM that stores microcode for a given microcommand. For one embodiment, the execution unit 608 includes logic to handle the packed instruction set 609. By including the packed instruction set 609 in the instruction set of the general purpose processor 602, operations associated with many multimedia applications, along with associated circuitry for executing the instructions, can be performed using the packed data in the general purpose processor 602 . Thus, many multimedia applications can be accelerated and executed more efficiently by using the full width of the data bus of the processor to perform operations on the packed data. This can eliminate the need to transfer smaller units of data over the processor ' s data bus to perform one or more operations on one data element at a time.

실행 유닛(608)의 대안적 실시예는 또한, 마이크로 제어기, 임베디드 프로세서, 그래픽 장치, DSP, 및 기타 타입의 로직 회로에서 이용될 수 있다. 시스템(600)은 메모리(620)를 포함한다. 메모리(620)는 동적 랜덤 액세스 메모리(DRAM) 장치, 정적 랜덤 액세스 메모리(SRAM), 플래시 메모리 장치, 또는 기타의 메모리 장치일 수 있다. 메모리(620)는 프로세서(602)에 의해 실행될 수 있는 데이터 신호로 표현된 데이터 및/또는 명령어를 저장할 수 있다.Alternate embodiments of the execution unit 608 may also be used in microcontroller, embedded processor, graphics device, DSP, and other types of logic circuitry. The system 600 includes a memory 620. The memory 620 can be a dynamic random access memory (DRAM) device, a static random access memory (SRAM), a flash memory device, or other memory device. The memory 620 may store data and / or instructions represented by data signals that may be executed by the processor 602. [

시스템 로직 칩(616)은 프로세서 버스(610)와 메모리(620)에 결합된다. 도시된 실시예에서 시스템 로직 칩(616)은 메모리 제어기 허브(MCH; memory controller hub)이다. 프로세서(602)는 프로세서 버스(610)를 통해 MCH(616)와 통신할 수 있다. MCH(616)는, 명령어 및 데이터 저장과 그래픽 커맨드, 데이터 및 텍스쳐의 저장을 위해, 고대역폭 메모리 경로(618)를 메모리(620)에 제공한다. MCH(616)는, 프로세서(602), 메모리(620), 및 시스템(600) 내의 기타의 컴포넌트들 사이에서 데이터 신호를 안내하고, 프로세스 버스(610), 메모리(620), 및 시스템 I/O 사이에서 데이터 신호를 브릿징한다. 일부 실시예에서, 시스템 로직 칩(616)은 그래픽 제어기(612)로의 결합을 위한 그래픽 포트를 제공할 수 있다. MCH(616)는 메모리 인터페이스(618)를 통해 메모리(620)에 결합된다. 그래픽 카드(612)는 AGP(Accelerated Graphics Port) 인터커넥트(614)를 통해 MCH(616)에 결합된다.System logic chip 616 is coupled to processor bus 610 and memory 620. In the illustrated embodiment, system logic chip 616 is a memory controller hub (MCH). The processor 602 may communicate with the MCH 616 via the processor bus 610. The MCH 616 provides a high bandwidth memory path 618 to the memory 620 for storage of instructions and data and graphics commands, data and textures. The MCH 616 directs data signals between the processor 602, the memory 620 and other components within the system 600 and is coupled to the process bus 610, the memory 620, and the system I / And bridges the data signal. In some embodiments, system logic chip 616 may provide a graphics port for coupling to graphics controller 612. The MCH 616 is coupled to the memory 620 via the memory interface 618. The graphics card 612 is coupled to the MCH 616 via an Accelerated Graphics Port (AGP)

시스템(600)은 MCH(616)를 I/O 제어기 허브(ICH)(630)에 결합하기 위해 전용 허브 인터페이스 버스(622)를 이용한다. ICH(630)는 로컬 I/O 버스를 이용하여 일부 I/O 장치들로의 직접적인 접속을 제공한다. 로컬 I/O 버스는 주변기기들을 메모리(620), 칩셋, 및 프로세서(602)에 접속하기 위한 고속 I/O 버스이다. 일부 예로서는, 오디오 제어기(636), 펌웨어 허브(플래시 BIOS)(628), 무선 트랜시버(626), 데이터 스토리지(624), 사용자 입력 및 키보드 인터페이스(642)를 포함한 레거시 I/O 제어기(610), USB(Universal Serial Bus) 등의 시리얼 확장 포트(638), 및 네트워크 제어기(634)가 있다. 데이터 스토리지 장치(624)는, 하드 디스크 드라이브, 플로피 디스크 드라이브, CD-ROM 장치, 플래시 메모리 장치, 또는 기타의 대용량 스토리지 장치를 포함할 수 있다.The system 600 utilizes a dedicated hub interface bus 622 to couple the MCH 616 to the I / O controller hub (ICH) 630. ICH 630 provides direct access to some I / O devices using the local I / O bus. The local I / O bus is a high speed I / O bus for connecting peripherals to memory 620, chipset, and processor 602. Some examples include a legacy I / O controller 610, including an audio controller 636, a firmware hub (flash BIOS) 628, a wireless transceiver 626, a data storage 624, a user input and keyboard interface 642, A serial expansion port 638 such as a USB (Universal Serial Bus), and a network controller 634. The data storage device 624 may include a hard disk drive, a floppy disk drive, a CD-ROM device, a flash memory device, or other mass storage device.

시스템의 또 다른 실시예의 경우, 한 실시예에 따른 명령어는 시스템 온 칩에 이용될 수 있다. 시스템 온 칩의 한 실시예는 프로세서와 메모리로 구성된다. 하나의 이러한 시스템을 위한 메모리가 플래시 메모리이다. 플래시 메모리는 프로세스 및 기타의 시스템 컴포넌트와 동일한 다이 상에 위치할 수 있다. 추가적으로, 메모리 제어기 또는 그래픽 제어기와 같은 기타의 로직 블록들도 역시 시스템 온 칩 상에 위치할 수 있다.For another embodiment of the system, an instruction according to one embodiment may be used in a system on chip. One embodiment of a system-on-chip consists of a processor and a memory. One such memory for the system is flash memory. The flash memory may be located on the same die as the process and other system components. Additionally, other logic blocks, such as a memory controller or a graphics controller, may also be located on the system on chip.

도 7은 본 발명의 실시예에 따른 통합된 메모리 제어기와 그래픽(graphics)을 갖춘 싱글코어 프로세서 및 멀티코어 프로세서(700)의 블록도이다. 도 7의 실선 박스는, 싱글 코어(702A), 시스템 에이전트(710), 한 세트의 하나 이상의 버스 제어기 유닛(716)을 갖춘 프로세서(700)를 나타내는 반면, 선택사항적인 점선 라인 박스의 추가는, 다중 코어(702A-N), 시스템 에이전트 유닛(710) 내의 한 세트의 하나 이상의 통합된 메모리 제어기 유닛(들)(714), 및 통합된 그래픽 로직(708)을 갖춘 대안적 프로세서(700)를 나타낸다.7 is a block diagram of a single core processor and a multicore processor 700 with integrated memory controller and graphics according to an embodiment of the present invention. The solid line box in Figure 7 represents a processor 700 with a single core 702A, a system agent 710, a set of one or more bus controller units 716, while the addition of an optional dashed line box, A plurality of cores 702A-N, a set of one or more integrated memory controller unit (s) 714 within system agent unit 710, and an alternative processor 700 with integrated graphics logic 708 .

메모리 계층구조는, 코어 내의 하나 이상의 레벨의 캐쉬 유닛(704A-704N), 한 세트 또는 하나 이상의 공유된 캐쉬 유닛(706), 및 한 세트의 통합된 메모리 제어기 유닛(714)에 결합된 외부 메모리(미도시)를 포함한다. 한 세트의 공유된 캐쉬 유닛(706)은, 레벨 2(L2), 레벨 3(L3), 레벨 4(L4), 또는 기타 레벨의 캐쉬, 마지막 레벨의 캐쉬(LLC), 및/또는 이들의 조합과 같은, 하나 이상의 중간-레벨 캐쉬를 포함할 수 있다. 한 실시예에서 링 기반의 인터커넥트 유닛(712)은, 통합된 그래픽 로직(708), 한 세트의 공유된 캐쉬 유닛(706), 및 시스템 에이전트 유닛(710)을 인터커넥트하지만, 대안적 실시예는 이러한 유닛들을 인터커넥트하기 위한 임의 개수의 공지된 기술을 이용할 수도 있다.The memory hierarchy may include one or more levels of cache units 704A-704N in the core, one set or one or more shared cache units 706, and an external memory (e.g., (Not shown). A set of shared cache units 706 may be implemented as a level 2 (L2), level 3 (L3), level 4 (L4), or other level cache, a last level cache (LLC), and / Level cache, such as < RTI ID = 0.0 > a < / RTI > In one embodiment, the ring-based interconnect unit 712 interconnects the integrated graphics logic 708, a set of shared cache units 706, and the system agent unit 710, Any number of known techniques for interconnecting units may be used.

일부 실시예에서, 코어들(702A-N) 중 하나 이상은 멀티-쓰레딩이 가능하다.In some embodiments, one or more of the cores 702A-N are multi-threadable.

시스템 에이전트(710)는 코어들(702A-N)을 조율하고 작동하는 컴포넌트들을 포함한다. 시스템 에이전트 유닛(710)은 예를 들어 전력 제어 유닛(PCU; power control unit) 및 디스플레이 유닛을 포함할 수 있다. PCU는 코어들(702A-N) 및 통합된 그래픽 로직(708)의 전력 상태를 조절하는데 필요한 로직 및 컴포넌트들이거나 이들을 포함할 수 있다. 디스플레이 유닛은 하나 이상의 외부적으로 접속된 디스플레이를 구동하기 위한 것이다.System agent 710 includes components that coordinate and operate cores 702A-N. The system agent unit 710 may include, for example, a power control unit (PCU) and a display unit. The PCU may include or may include logic and components necessary to adjust the power states of cores 702A-N and integrated graphics logic 708. [ The display unit is for driving one or more externally connected displays.

코어들(702A-N)은 아키텍쳐 및/또는 명령어 세트의 관점에서 동종 또는 이종일 수 있다. 예를 들어, 코어들(702A-N)의 일부는 순차형일 수 있지만, 다른 것들은 비순차형일 수 있다. 또 다른 예로서, 코어들(702A-N) 중 2개 이상은 동일한 명령어 세트를 실행할 수 있는 반면, 다른 것들은 그 명령어 세트의 서브셋만을 실행할 수 있거나 상이한 명령어 세트를 실행할 수도 있다.The cores 702A-N may be homogeneous or heterogeneous in terms of architecture and / or instruction set. For example, some of the cores 702A-N may be sequential, while others may be unordered. As another example, two or more of the cores 702A-N may execute the same instruction set, while others may only execute a subset of the instruction set or may execute a different instruction set.

프로세서는, CA, Santa Clara의 Intel Corporation으로부터 입수할 수 있는 Intel® Core™i3, Intel® Core™ i5, Intel® Core™ i7, Intel® Core™ 2 Duo 및 Intel® Core™ 2 Quad, Intel® Xeon®, Itanium®, 또는 Intel XScale® 프로세서와 같은 범용 프로세서일 수도 있다. 대안으로서, 프로세서는 ARM Holdings, Ltd, MIPS 등의 또 다른 회사로부터 입수된 것일 수도 있다. 프로세서는, 예를 들어, 네트워크 또는 통신 프로세서, 압축 엔진, 그래픽 프로세서, 코-프로세서, 임베디드 프로세서 등의 특별-목적 프로세서일 수도 있다. 프로세서는 하나 이상의 칩 상에 구현될 수도 있다. 프로세서(700)는 예를 들어 BiCMOS, CMOS, 또는 NMOS 등의 다수의 프로세스 기술들 중 임의의 것을 이용하여 하나 이상의 기판들 상에 구현되고 및/또는 그 일부일 수도 있다.The processor may be an Intel® Core ™ i3, an Intel® Core ™ i5, an Intel® Core ™ i7, an Intel® Core ™ 2 Duo and an Intel® Core ™ 2 Quad, Intel® Xeon Itanium®, or Intel XScale® processor. Alternatively, the processor may be from another company, such as ARM Holdings, Ltd, MIPS. A processor may be, for example, a special purpose processor, such as a network or communications processor, a compression engine, a graphics processor, a co-processor, an embedded processor, The processor may be implemented on one or more chips. Processor 700 may be implemented on and / or part of one or more substrates using any of a number of process technologies, such as BiCMOS, CMOS, or NMOS, for example.

이제 도 8을 참조하면, 본 발명의 실시예에 따른 제2 시스템(800)의 블록도가 도시되어 있다. 도 8에 도시된 바와 같이, 멀티프로세서 시스템(800)은 포인트-대-포인트 인터커넥트 시스템이고, 포인트-대-포인트 인터커넥트(850)를 통해 결합된 제1 프로세서(870)와 제2 프로세서(880)를 포함한다. 각 프로세서(870 및 880)는 소정 버전의 프로세서(700)일 수도 있다.Referring now to FIG. 8, a block diagram of a second system 800 in accordance with an embodiment of the present invention is shown. 8, a multiprocessor system 800 is a point-to-point interconnect system and includes a first processor 870 and a second processor 880 coupled via a point-to-point interconnect 850, . Each processor 870 and 880 may be a processor 700 of a predetermined version.

단 2개의 프로세서(870, 880)만이 도시되어 있지만, 본 발명의 범위는 이것으로 제한되지 않는다는 것을 이해할 것이다. 다른 실시예들에서, 소정 프로세서에는 하나 이상의 추가적인 프로세서들이 존재할 수도 있다.Although only two processors 870 and 880 are shown, it will be appreciated that the scope of the invention is not limited to this. In other embodiments, a given processor may have one or more additional processors.

프로세서들(870 및 880)은 통합된 메모리 제어기 유닛(872 및 882)을 각각 포함하는 것으로 도시되어 있다. 프로세서(870)는 또한 그 버스 제어기 유닛의 일부로서 포인트-대-포인트 인터페이스(876 및 878)를 포함하고; 마찬가지로, 제2 프로세서(880)는 P-P 인터페이스(886 및 888)를 포함한다. 프로세서(870, 880)는 P-P 인터페이스 회로(878, 888)를 이용하여 포인트-대-포인트(P-P) 인터페이스(850)를 통해 정보를 교환할 수도 있다. 도 8에 도시된 바와 같이, IMC(872 및 882)는 프로세서들을, 각각의 프로세서에 국지적으로 부착된 메인 메모리의 일부일 수도 있는, 각각의 메모리, 즉, 메모리(832) 및 메모리(834)에 결합시킨다.Processors 870 and 880 are shown as including integrated memory controller units 872 and 882, respectively. The processor 870 also includes point-to-point interfaces 876 and 878 as part of its bus controller unit; Likewise, the second processor 880 includes P-P interfaces 886 and 888. Processors 870 and 880 may exchange information via a point-to-point (P-P) interface 850 using P-P interface circuits 878 and 888. 8, IMCs 872 and 882 couple processors to respective memories, that is, memory 832 and memory 834, which may be part of the main memory locally attached to each processor. .

프로세서(870, 880) 각각은, 포인트 대 포인트 인터페이스 회로(876, 894, 886, 898)를 이용하여 개개의 P-P 인터페이스(852, 854)를 통해 칩셋(890)과 정보를 교환할 수도 있다. 칩셋(890)은 또한 고성능 그래픽 인터커텍트(839)를 따라 인터페이스 회로(892)를 통해 고성능 그래픽 회로(838)와 정보를 교환할 수 있다.Each of the processors 870 and 880 may exchange information with the chipset 890 via the respective P-P interfaces 852 and 854 using point-to-point interface circuits 876, 894, 886 and 898. The chipset 890 may also exchange information with the high performance graphics circuit 838 via the interface circuit 892 along with the high performance graphics interconnect 839.

공유된 캐쉬(미도시)는 어느 한 프로세서에 포함되거나, 양쪽 프로세서의 외부이지만 여전히 P-P 인터커넥트를 통해 프로세서들과 접속될 수 있어서, 프로세서가 저전력 모드에 놓이는 경우 어느 한쪽 또는 양쪽 모두의 프로세서의 국지적 캐쉬 정보가 공유된 캐쉬에 저장될 수 있다.A shared cache (not shown) may be included in either processor or external to both processors, but still be connected to the processors via the PP interconnect, so that if the processor is placed in a low power mode, Information can be stored in the shared cache.

칩셋(890)은 인터페이스(896)를 통해 제1 버스(816)에 결합될 수도 있다. 한 실시예에서, 제1 버스(816)는 PCI(Peripheral Component Interconnect) 버스이거나, PCI Express 버스 또는 또 다른 제3 세대 I/O 인터커넥트 버스 등의 버스일 수도 있지만, 본 발명의 범위는 이것으로 제한되지 않는다.The chipset 890 may be coupled to the first bus 816 via interface 896. In one embodiment, the first bus 816 may be a Peripheral Component Interconnect (PCI) bus or a bus such as a PCI Express bus or another third generation I / O interconnect bus, It does not.

도 8에 도시된 바와 같이, 제1 버스(816)를 제2 버스(820)에 결합시키는 버스 브릿지(818)와 함께, 다양한 I/O 장치(814)가 제1 버스(816)에 결합될 수 있다. 한 실시예에서, 제2 버스(820)는 LPC(low pin count) 버스일 수도 있다. 예를 들어, 키보드 및/또는 마우스(822), 통신 장치(827), 및 한 실시예에서는 명령어/코드 및 데이터(830)를 포함할 수 있는 디스크 드라이브나 기타의 대용량 스토리지 장치 등의 스토리지 유닛(828)을 포함한 다양한 장치들이 제2 버스(820)에 결합될 수 있다. 또한, 오디오 I/O(824)가 제2 버스(820)에 결합될 수도 있다. 다른 아키텍쳐들도 가능하다는 점에 유의한다. 예를 들어, 도 8의 포인트-대-포인트 아키텍쳐 대신에, 시스템은 멀티-드롭 버스(multi-drop bus)나 기타의 이러한 아키텍쳐를 구현할 수도 있다.8, various I / O devices 814 may be coupled to the first bus 816, along with a bus bridge 818 that couples the first bus 816 to the second bus 820, . In one embodiment, the second bus 820 may be a low pin count (LPC) bus. A storage unit such as a disk drive or other mass storage device that may include, for example, a keyboard and / or mouse 822, a communication device 827, and in one embodiment instructions / code and data 830 828 may be coupled to the second bus 820. Audio I / O 824 may also be coupled to second bus 820. Note that other architectures are possible. For example, instead of the point-to-point architecture of FIG. 8, the system may implement a multi-drop bus or other such architecture.

이제 도 9를 참조하면, 본 발명의 실시예에 따른 SoC(900)의 블록도가 도시되어 있다. 또한, 점선 박스는 더욱 진보된 SoC들에 관한 선택사항적 특징들이다. 도 9에서, 인터커넥트 유닛(들)(902)은: 한 세트의 하나 이상의 코어(902A-N)와 공유된 캐쉬 유닛(들)(906)을 포함하는 애플리케이션 프로세서(910); 시스템 에이전트 유닛(910); 버스 제어기 유닛(들)(916); 통합된 메모리 제어기 유닛(들)(914); 통합된 그래픽 로직(908), 정지영상 및/또는 비디오 카메라 기능을 제공하기 위한 이미지 프로세서(924), 하드웨어 오디오 가속을 제공하기 위한 오디오 프로세서(926), 및 비디오 인코드/디코드 가속을 제공하기 위한 비디오 프로세서(928)를 포함할 수 있는 한 세트의 하나 이상의 미디어 프로세서(920); 정적 랜덤 액세스 메모리(SRAM) 유닛(930); 직접 메모리 액세스(DMA; direct memory access) 유닛(932); 및 하나 이상의 외부 디스플레이에 결합하기 위한 디스플레이 유닛(940)에 결합된다.Referring now to FIG. 9, a block diagram of an SoC 900 in accordance with an embodiment of the present invention is shown. The dotted box is also an optional feature for more advanced SoCs. 9, interconnect unit (s) 902 includes: an application processor 910 including a set of one or more cores 902A-N and a shared cache unit (s) 906; A system agent unit 910; Bus controller unit (s) 916; Integrated memory controller unit (s) 914; An integrated graphics logic 908, an image processor 924 for providing still and / or video camera functionality, an audio processor 926 for providing hardware audio acceleration, and a video encoder / A set of one or more media processors 920 that may include a video processor 928; A static random access memory (SRAM) unit 930; A direct memory access (DMA) unit 932; And a display unit 940 for coupling to one or more external displays.

적어도 한 실시예의 하나 이상의 양태들은, 프로세서 내의 다양한 로직을 나타내는 머신-판독가능한 매체에 저장되고 머신에 의해 판독될 때 머신으로 하여금 여기서 설명된 기술을 수행하기 위한 로직을 제작하게 하는 상징적 데이터에 의해 구현될 수도 있다. "IP 코어"라고 알려진 이러한 표현들은, 유형의 머신 판독가능한 매체("테이프")에 저장될 수 있으며, 로직이나 프로세서를 실제로 만드는 제작 머신 내에 로딩하기 위해 다양한 고객이나 제조 설비에 공급될 수도 있다. 예를 들어, ARM Holdings, Ltd.에 의해 개발된 Cortex™ 프로세서군 등의 IP 코어들, 중국 과학 아카데미의 컴퓨팅 기술 연구소(ICT; Institute of Computing Technology)에 의해 개발된 Loongson IP 코어들은, Texas Instruments®, Qualcomm®, Apple®, 또는 Samsung®과 같은 다양한 고객이나 면허생산자들에게 라이센싱 또는 판매될 수 있고, 이들 고객이나 면허생산자들에 의해 생산된 프로세서들에서 구현될 수 있다.At least one aspect of at least one embodiment may be embodied by symbolic data stored in a machine-readable medium representing various logic within the processor and causing the machine to produce logic to perform the techniques described herein when read by the machine . These representations, known as " IP cores ", may be stored in a type of machine-readable medium (" tape ") and may be supplied to various customers or manufacturing facilities for loading into a production machine that actually creates the logic or processor. For example, IP cores such as the Cortex (TM) processor family developed by ARM Holdings, Ltd., and Loongson IP cores developed by the Institute of Computing Technology (ICT) of the Chinese Academy of Sciences, , Qualcomm®, Apple®, or Samsung®, and can be implemented in processors manufactured by these customers or license producers.

도 6 내지 도 8은 프로세서(700)를 포함하기에 적합한 예시적 시스템인 반면, 도 9는 코어들(702) 중 하나 이상을 포함할 수 있는 예시적인 시스템 온 칩(SoC; system on a chip)이다. 랩탑, 데스크탑, 핸드헬드 PC, PDA(personal digital assistants), 엔지니어링 워크스테이션, 서버, 네트워크 장치, 네트워크 허브, 스위치, 임베디드 프로세서, DSP(digital signal processor), 그래픽 장치, 비디오 게임 장치, 셋탑 박스, 마이크로 제어기, 셀 전화, 휴대 미디어 재생기, 핸드헬드 장치, 및 다양한 다른 전자 장치에 대한 분야에서 공지된 기타의 시스템 설계 및 구성도 역시 적합하다. 일반적으로, 여기서 개시된 프로세서 및/또는 기타의 실행 로직을 병합할 수 있는 매우 다양한 시스템 또는 전자 장치들이 대체로 적합하다.Figures 6-8 are exemplary systems suitable for including processor 700 while Figure 9 illustrates an exemplary system on a chip (SoC), which may include one or more of cores 702. [ to be. A digital signal processor (DSP), a graphics device, a video game device, a set-top box, a microprocessor, a microprocessor, a microprocessor, Other system designs and configurations known in the art for controllers, cell phones, portable media players, handheld devices, and various other electronic devices are also suitable. In general, a wide variety of systems or electronic devices capable of merging the processor and / or other execution logic described herein are generally suitable.

도 10은, 하나의 실시예에 따라 적어도 하나의 명령어를 수행할 수 있는, 중앙 처리 유닛(CPU)과 그래픽 처리 유닛(GPU)을 포함하는 프로세서를 나타낸다. 한 실시예에서, 적어도 한 실시예에 따른 연산을 수행하는 명령어는 CPU에 의해 수행될 수 있다. 또 다른 실시예에서, 명령어는 GPU에 의해 수행될 수 있다. 역시 또 다른 실시예에서, 명령어는 GPU 또는 CPU에 의해 수행되는 연산의 조합을 통해 수행될 수 있다. 예를 들어, 한 실시예에서, 한 실시예에 따른 명령어가 수신되어 GPU에서의 실행을 위해 디코드될 수 있다. 그러나, 디코드된 명령어 내의 하나 이상의 연산은 CPU에 의해 수행될 수 있고 그 결과는 명령의 최종 폐기를 위해 GPU로 반환될 수 있다. 역으로, 일부 실시예에서, CPU는 1차 프로세서로서 역할하고 GPU는 코프로세서로서 역할할 수 있다.10 illustrates a processor including a central processing unit (CPU) and a graphics processing unit (GPU), which can perform at least one instruction in accordance with one embodiment. In one embodiment, an instruction to perform an operation according to at least one embodiment may be performed by the CPU. In another embodiment, the instructions may be performed by a GPU. In yet another embodiment, the instructions may be performed through a combination of operations performed by the GPU or the CPU. For example, in one embodiment, an instruction according to one embodiment may be received and decoded for execution in the GPU. However, one or more operations in the decoded instruction may be performed by the CPU and the result may be returned to the GPU for final discard of the instruction. Conversely, in some embodiments, the CPU serves as a primary processor and the GPU may serve as a coprocessor.

일부 실시예에서, 고도의 병렬 처리 프로세서로부터 혜택을 입는 명령어들은 GPU에 의해 수행될 수 있는 반면, 깊게 파이프라인화된 아키텍쳐로부터 혜택을 입는 프로세서들의 성능으로부터 이득을 보는 명령어는 CPU에 의해 수행될 수 있다. 예를 들어, 그래픽, 과학 응용, 재무 응용 및 기타의 병렬 작업량은 GPU의 성능으로부터 혜택을 입을 수 있고 그에 따라 실행될 수 있는 반면, 운영 체제 커널 또는 애플리케이션 코드와 같은 더 순차적인 응용들은 CPU에 더 적합할 수 있다.In some embodiments, instructions benefiting from a highly parallel processing processor may be performed by a GPU, while instructions that benefit from the performance of processors benefiting from a deeply piped architecture may be performed by the CPU have. For example, graphics, scientific applications, financial applications, and other parallel workloads can benefit from the performance of the GPU and be executed accordingly, while more sequential applications such as the operating system kernel or application code are more suitable for CPUs can do.

도 10에서, 프로세서(1000)는, CPU(1005), GPU(1010), 이미지 프로세서(1015), 비디오 프로세서(1020), USB 제어기(1025), UART 제어기(1030), SPI/SDIO 제어기(1035), 디스플레이 장치(1040), 메모리 인터페이스 제어기(1045), MIPI 제어기(1050), 플래시 메모리 제어기(1055), 듀얼 데이터 속도(DDR) 제어기(1060), 보안 엔진(1065), 및 I2S/I2C 제어기(1070)를 포함한다. 더 많은 CPU 또는 GPU와 기타의 주변장치 인터페이스 제어기들을 포함한, 기타의 로직 및 회로들이 도 10의 프로세서에 포함될 수 있다.10, the processor 1000 includes a CPU 1005, a GPU 1010, an image processor 1015, a video processor 1020, a USB controller 1025, a UART controller 1030, an SPI / SDIO controller 1035 A display device 1040, a memory interface controller 1045, a MIPI controller 1050, a flash memory controller 1055, a dual data rate (DDR) controller 1060, a security engine 1065, and an I2S / (1070). Other logic and circuits, including more CPUs or GPUs and other peripheral interface controllers, may be included in the processor of FIG.

적어도 한 실시예의 하나 이상의 양태들은, 프로세서 내의 다양한 로직을 나타내는 머신-판독가능한 매체에 저장되고 머신에 의해 판독될 때 머신으로 하여금 여기서 설명된 기술을 수행하기 위한 로직을 제작하게 하는 상징적 데이터에 의해 구현될 수도 있다. "IP 코어"라고 알려진 이러한 표현들은, 유형의 머신 판독가능한 매체("테이프")에 저장될 수 있으며, 로직이나 프로세서를 실제로 만드는 제작 머신 내에 로딩하기 위해 다양한 고객이나 제조 설비에 공급될 수도 있다. 예를 들어, ARM Holdings, Ltd.에 의해 개발된 Cortex™ 프로세서군 등의 IP 코어들, 중국 과학 아카데미의 컴퓨팅 기술 연구소(ICT; Institute of Computing Technology)에 의해 개발된 Loongson IP 코어들은, Texas Instruments®, Qualcomm®, Apple®, 또는 Samsung®과 같은 다양한 고객이나 면허생산자들에게 라이센싱 또는 판매될 수 있고, 이들 고객이나 면허생산자들에 의해 생산된 프로세서들에서 구현될 수 있다.At least one aspect of at least one embodiment may be embodied by symbolic data stored in a machine-readable medium representing various logic within the processor and causing the machine to produce logic to perform the techniques described herein when read by the machine . These representations, known as " IP cores ", may be stored in a type of machine-readable medium (" tape ") and may be supplied to various customers or manufacturing facilities for loading into a production machine that actually creates the logic or processor. For example, IP cores such as the Cortex (TM) processor family developed by ARM Holdings, Ltd., and Loongson IP cores developed by the Institute of Computing Technology (ICT) of the Chinese Academy of Sciences, , Qualcomm®, Apple®, or Samsung®, and can be implemented in processors manufactured by these customers or license producers.

도 11을 참조하면, 복수의 코어를 포함한 프로세서의 실시예가 도시되어 있다. 프로세서(1100)는, 마이크로프로세서, 임베디드 프로세서, 디지털 신호 처리기(DSP), 네트워크 프로세서, 핸드헬드 프로세서, 애플리케이션 프로세서, 코-프로세서, 시스템 온 칩(SOC), 또는 코드를 실행하는 기타의 장치 등의 임의의 프로세서 또는 처리 장치를 포함한다. 프로세서(1100)는, 한 실시예에서, 적어도 2개의 코어 ― 코어(1101 및 1102)를 포함하고, 이 코어들은 비대칭 코어 또는 대칭 코어(도시된 실시예)를 포함할 수 있다. 그러나, 프로세서(1100)는 대칭 또는 비대칭일 수 있는 임의 개수의 처리 요소들을 포함할 수 있다.Referring to FIG. 11, an embodiment of a processor including a plurality of cores is shown. The processor 1100 may be a microprocessor, an embedded processor, a digital signal processor (DSP), a network processor, a handheld processor, an application processor, a co-processor, a system on chip (SOC) And includes any processor or processing device. The processor 1100, in one embodiment, includes at least two core-cores 1101 and 1102, which may include an asymmetric core or a symmetric core (illustrated embodiment). However, the processor 1100 may include any number of processing elements that may be symmetric or asymmetric.

한 실시예에서, 처리 요소란 소프트웨어 쓰레드를 지원하는 하드웨어 또는 로직을 말한다. 하드웨어 처리 요소들의 예로서는: 쓰레드 유닛, 쓰레드 슬롯, 쓰레드, 프로세스 유닛, 컨텍스트, 컨텍스트 유닛, 논리적 프로세서, 하드웨어 쓰레드, 코어, 및/또는, 실행 상태나 구조적 상태 등의 프로세서에 대한 상태를 보유할 수 있는 기타 임의의 요소가 포함된다. 즉, 처리 요소란, 한 실시예에서, 소프트웨어 쓰레드, 운영 체제, 애플리케이션, 또는 기타의 코드 등과 독립적으로 연관될 수 있는 임의의 하드웨어를 말한다. 물리적 프로세서란 통상적으로, 코어 또는 하드웨어 쓰레드 등의 임의의 개수의 다른 처리 요소들을 잠재적으로 포함하는 집적 회로를 말한다.In one embodiment, a processing element refers to hardware or logic that supports a software thread. Examples of hardware processing elements include, but are not limited to: a thread unit, a thread slot, a thread, a process unit, a context, a context unit, a logical processor, a hardware thread, a core, and / Other optional elements are included. That is, a processing element is, in one embodiment, any hardware that can be independently associated with a software thread, operating system, application, or other code. A physical processor is typically an integrated circuit potentially containing any number of other processing elements, such as a core or a hardware thread.

코어란 종종, 독립된 구조적 상태를 유지할 수 있는 집적 회로 상에 위치한 로직을 말하며, 여기서, 각각의 독립적으로 유지되는 구조적 상태는 적어도 일부의 전용 실행 자원과 연관된다. 코어와는 대조적으로, 하드웨어 쓰레드란 통상적으로, 독립적인 구조적 상태를 유지할 수 있는 집적 회로 상에 위치한 임의의 로직을 말하며, 여기서, 독립적으로 유지된 구조적 상태는 실행 자원으로의 액세스를 공유한다. 볼 수 있는 바와 같이, 소정의 자원은 공유되고 다른 자원들은 소정의 구조적 상태에 전용될 때, 하드웨어 쓰레드와 코어라는 용어간의 경계는 중첩된다. 그러나 종종, 코어와 하드웨어 쓰레드는 운영 체제에 의해 개개의 논리적 프로세서로서 인식되고, 여기서, 운영 체제는 각각의 논리적 프로세서 상에서 동작을 개별적으로 스케쥴링할 수 있다.A core is often logic located on an integrated circuit that can maintain its independent architectural state, where each independently maintained structural state is associated with at least some dedicated execution resources. In contrast to a core, a hardware thread is typically any logic located on an integrated circuit that can maintain its independent structural state, where the independently maintained structural state shares access to execution resources. As can be seen, when a given resource is shared and other resources are dedicated to a given architectural state, the boundaries between the terms hardware thread and core are superimposed. Often, however, the core and hardware threads are recognized by the operating system as individual logical processors, where the operating system can schedule operations separately on each logical processor.

도 11에 도시된 바와 같이, 물리적 프로세서(1100)는 2개의 코어, 코어(1101 및 1102)를 포함한다. 여기서, 코어(1101 및 1102)는 대칭 코어, 즉, 동일한 구성, 기능 유닛, 및/또는 로직을 갖는 코어라고 간주된다. 또 다른 실시예에서, 코어(1101)는 비순차 프로세서 코어를 포함하는 반면, 코어(1102)는 순차 프로세서 코어를 포함한다. 그러나, 코어(1101 및 1102)는, 네이티브 코어(native core), 소프트웨어 관리형 코어, 네이티브 ISA( Instruction Set Architecture)를 실행하도록 적합화된 코어, 변환된 ISA를 실행하도록 적합화된 코어, 통합설계된(codesigned) 코어, 또는 기타의 공지된 코어 등의, 임의 타입의 코어로부터 개별적으로 선택될 수 있다. 그러나, 논의를 더 심화하기 위해, 코어(1102) 내의 유닛들은 비슷한 방식으로 동작하기 때문에, 코어(1101)에 도시된 기능 유닛들이 이하에서 더 상세히 설명된다.As shown in FIG. 11, the physical processor 1100 includes two cores, cores 1101 and 1102. Here, cores 1101 and 1102 are considered to be symmetric cores, i.e. cores having the same configuration, functional unit, and / or logic. In another embodiment, core 1101 includes an out-of-order processor core, while core 1102 includes a sequential processor core. However, the cores 1101 and 1102 may be implemented as a native core, a software managed core, a core adapted to execute a native ISA (Instruction Set Architecture), a core adapted to execute a translated ISA, for example, a core, a cores, a cores, a cores, a cores, a cores, a cores, a cores, a cores or a cores. However, for further discussion, the functional units shown in the core 1101 are described in more detail below, since the units in the core 1102 operate in a similar manner.

도시된 바와 같이, 코어(1101)는 2개의 하드웨어 쓰레드(1101a 및 1101b)를 포함하고, 이들은 하드웨어 쓰레드 슬롯(1101a 및 1101b)이라고도 한다. 따라서, 운영 체제 등의 소프트웨어 엔티티들은, 한 실시예에서, 잠재적으로 프로세서(1100)를 4개의 별개의 프로세서, 즉, 4개의 소프트웨어 쓰레드를 동시에 실행할 수 있는 4개의 논리적 프로세서 또는 처리 요소로서 간주한다. 상기에서 언급된 바와 같이, 제1 쓰레드는 아키텍쳐 상태 레지스터(1101a)와 연관되고, 제2 쓰레드는 아키텍쳐 상태 레지스터(1101b)와 연관되고, 제3 쓰레드는 아키텍쳐 상태 레지스터(1102a)와 연관되고, 제4 쓰레드는 아키텍쳐 상태 레지스터(1102b)와 연관된다. 여기서, 아키텍쳐 상태 레지스터(1101a, 1101b, 1102a, 및 1102b) 각각은 전술된 바와 같이 처리 요소, 쓰레드 슬롯, 또는 쓰레드 유닛이라 부를 수 있다. 예시된 바와 같이, 아키텍쳐 상태 레지스터(1101a)는 아키텍쳐 상태 레지스터(1101b)에서 복제되므로, 개개의 아키텍쳐 상태/컨텍스트가 논리적 프로세서(1101a)와 논리적 프로세서(1101b)를 위해 저장될 수 있다. 코어(1101)에서, 할당기 및 개명기(renamer) 블록(1130) 내의 명령어 포인터와 개명 로직 등의 다른 더 작은 자원들도 역시 쓰레드(1101a 및 1101b)를 위해 복제될 수 있다. 재정렬/폐기 유닛(1135) 내의 재정렬 버퍼, ILTB(1120), 로드/저장 버퍼, 및 큐 등의 일부 자원들은, 파티셔닝을 통해 공유될 수 있다. 범용 내부 레지스터, 페이지-테이블 베이스 레지스터(들), 로우-레벨 데이터-캐쉬 및 데이터-TLB(1115), 실행 유닛(들)(1140), 및 비순차 유닛(1135)의 부분들과 같은 다른 자원들은 잠재적으로 완전히 공유된다.As shown, the core 1101 includes two hardware threads 1101a and 1101b, which are also referred to as hardware thread slots 1101a and 1101b. Thus, software entities, such as operating systems, in one embodiment potentially regard processor 1100 as four separate processors, i.e., four logical processors or processing elements capable of executing four software threads simultaneously. As noted above, the first thread is associated with the architecture status register 1101a, the second thread is associated with the architecture status register 1101b, the third thread is associated with the architecture status register 1102a, Four threads are associated with the architecture status register 1102b. Here, each of the architecture status registers 1101a, 1101b, 1102a, and 1102b may be referred to as a processing element, a thread slot, or a thread unit, as described above. As illustrated, the architecture state register 1101a is replicated in the architecture state register 1101b, so that individual architectural states / contexts can be stored for the logical processor 1101a and the logical processor 1101b. At core 1101, other smaller resources, such as the instruction pointer and renaming logic in allocator and renamer block 1130, may also be replicated for threads 1101a and 1101b. Some resources, such as the reorder buffer, ILTB 1120, load / store buffer, and queue in reorder / destroy unit 1135, may be shared through partitioning. Such as portions of the general purpose internal register, page-table base register (s), low-level data-cache and data-TLB 1115, execution unit (s) 1140, Are potentially fully shared.

프로세서(1100)는 종종, 완전히 공유되거나, 파티셔닝을 통해 공유되거나, 처리 요소에 의해/처리 요소에 전용될 수 있는 다른 자원들을 포함한다. 도 11에서, 프로세서의 예시적 논리 유닛/자원과 함께 순전히 예로서의 프로세서의 실시예가 도시되어 있다. 프로세서는, 이들 기능 유닛들 중 임의의 것 뿐만 아니라, 도시되지 않은 기타 임의의 공지된 기능 유닛, 로직, 또는 펌웨어를 포함하거나, 생략할 수 있다는 점에 유의한다. 예시된 바와 같이, 코어(1101)는, 단순화된, 대표적인 비순차(OOO; out-of-order) 프로세서 코어를 포함한다. 그러나, 상이한 실시예에서는 순차 프로세서가 이용될 수도 있다. OOO 코어는, 실행될/취해질 분기를 예측하는 분기 타겟 버퍼(branch target buffer; 1120)와 명령어들에 대한 주소 변환 엔트리들을 저장하는 명령어-변환 버퍼(I-TLB)(1120)를 포함한다.Processor 1100 often includes other resources that may be fully shared, shared through partitioning, or may be dedicated to / processing elements by processing elements. In Fig. 11, an example of a purely example processor with an example logical unit / resource of a processor is shown. It is noted that the processor may include or omit any of these functional units, as well as any other known functional units, logic, or firmware not shown. As illustrated, the core 1101 includes a simplified, exemplary, out-of-order processor core. However, sequential processors may be used in different embodiments. The OOO core includes a branch target buffer 1120 for predicting branches to be executed / taken and an instruction-to-translate buffer (I-TLB) 1120 for storing address translation entries for the instructions.

코어(1101)는 인출 유닛(fetch unit, 1120)에 결합된 디코드 모듈(1125)을 더 포함하여 인출된 요소를 디코드한다. 인출 로직은, 한 실시예에서, 각각 쓰레드 슬롯(1101a, 1101b)과 연관된 개개의 시퀀서(sequencer)를 포함한다. 대개 코어(1101)는, 프로세서(1100) 상에서 실행가능한 명령어를 정의/명시하는 제1 ISA와 연관된다. 종종 제1 ISA의 일부인 머신 코드 명령어는, 수행될 명령어 또는 연산을 참조/명시하는 (연산코드(opcode)라고 하는) 명령어의 일부를 포함한다. 디코드 로직(1125)은, 이들 명령어들을 그들의 연산코드로부터 인식하고 제1 ISA에 의해 정의된 처리를 위해 파이프라인에서 디코딩된 명령어를 전달하는 회로를 포함한다. 예를 들어, 이하에서 더 상세히 논의되는 바와 같이, 디코더(1125)는, 한 실시예에서, 트랜잭션 명령어(transactional instruction) 등의 특정한 명령어를 인식하도록 설계되거나 적합화된 로직을 포함한다. 디코더(1125)에 의한 인식의 결과, 아키텍쳐 또는 코어(1101)는, 적절한 명령어와 연관된 태스크를 수행하기 위해 특정한, 미리정의된 동작을 취한다. 여기서 설명된 태스크, 블록, 동작, 및 방법들 중 임의의 것은 단일의 또는 복수의 명령어에 응답하여 수행될 수 있고; 이들 중 일부는 신(new) 또는 구(old) 명령어일 수 있다는 점에 주목하는 것은 중요하다.The core 1101 further includes a decode module 1125 coupled to a fetch unit 1120 to decode the fetched element. The fetch logic, in one embodiment, includes an individual sequencer associated with each thread slot 1101a, 1101b. Core 1101 is typically associated with a first ISA that defines / specifies instructions that are executable on processor 1100. Machine code instructions, which are often part of the first ISA, include a portion of an instruction (referred to as opcode) that references / specifies the instruction or operation to be performed. Decode logic 1125 includes circuitry that recognizes these instructions from their opcode and passes decoded instructions in the pipeline for processing defined by the first ISA. For example, as discussed in greater detail below, the decoder 1125 includes, in one embodiment, logic designed or adapted to recognize a particular instruction, such as a transactional instruction. As a result of recognition by the decoder 1125, the architecture or core 1101 takes a specific, predefined action to perform the task associated with the appropriate instruction. Any of the tasks, blocks, acts, and methods described herein may be performed in response to a single instruction or a plurality of instructions; It is important to note that some of these may be new or old instructions.

한 예에서, 할당기 또는 개명기 블록(1130)은, 명령어 처리 결과를 저장하는 레지스터 파일 등의 자원을 예약하는 할당기를 포함한다. 그러나, 쓰레드(1101a 및 1101b)는 주기적으로 비순차 실행이 가능하고, 여기서, 할당기 및 개명기 블록(1130)은 또한, 명령어 결과를 추적하는 재정렬 버퍼 등의 다른 자원들을 예약한다. 유닛(1130)은 또한, 프로그램/명령어 참조 레지스터를 프로세서(1100) 내부의 다른 레지스터로 개명하는 레지스터 개명기를 포함할 수 있다. 재정렬/폐기 유닛(1135)은, 전술된 재정렬 버퍼, 로드 버퍼, 및 저장 버퍼 등의 컴포넌트들을 포함하여, 비순차 실행과 이후의 비순차 실행된 명령어들의 순차 폐기를 지원한다.In one example, the allocator or identifier block 1130 includes an allocator that reserves resources, such as register files, that store the instruction processing results. However, threads 1101a and 1101b may be periodically non-sequential running, where the allocator and identifier block 1130 also reserves other resources such as a reordering buffer that tracks the result of the instruction. The unit 1130 may also include a register rename to rename the program / instruction reference register to another register within the processor 1100. The reordering / discarding unit 1135 includes components such as the reordering buffer, load buffer, and storage buffer described above to support sequential discard of non-sequential execution and subsequent nonsequential instructions.

스케쥴러 및 실행 유닛(들) 블록(1140)은, 한 실시예에서, 실행 유닛 상에서 명령어/동작을 스케쥴링하는 스케쥴러 유닛을 포함한다. 예를 들어, 부동 소수점 명령어는 가용 부동 소수점 실행 유닛을 갖는 실행 유닛의 포트 상에서 스케쥴링된다. 실행 유닛과 연관된 레지스터 파일도 역시 포함되어 정보 명령어 처리 결과를 저장한다. 예시적 실행 유닛은, 부동 소수점 실행 유닛, 정수 실행 유닛, 점프 실행 유닛, 로드 실행 유닛, 저장 실행 유닛, 및 기타의 공지된 실행 유닛을 포함한다.The scheduler and execution unit (s) block 1140, in one embodiment, includes a scheduler unit for scheduling instructions / operations on the execution unit. For example, a floating-point instruction is scheduled on a port of an execution unit having an available floating-point execution unit. A register file associated with the execution unit is also included to store the information instruction processing result. An exemplary execution unit includes a floating-point execution unit, an integer execution unit, a jump execution unit, a load execution unit, a storage execution unit, and other known execution units.

하위 레벨 데이터 캐쉬 및 데이터 변환 버퍼(D-TLB)(1150)는 실행 유닛(들)(1140)에 결합된다. 데이터 캐쉬는, 메모리 일관성 상태에 잠재적으로 유지되는, 데이터 피연산자 등의, 최근에 이용된/연산처리된 요소들을 저장하기 위한 것이다. D-TLB는 최근의 가상/선형 대 물리적 주소 변환을 저장하기 위한 것이다. 특정한 예로서, 프로세서는 물리적 메모리를 복수의 가상 페이지로 분할하는 페이지 테이블 구조를 포함할 수 있다.The low-level data cache and data conversion buffer (D-TLB) 1150 are coupled to the execution unit (s) The data cache is for storing recently used / computed elements, such as data operands, that are potentially maintained in a memory coherency state. The D-TLB is intended to store the recent virtual / linear-to-physical address translation. As a specific example, a processor may include a page table structure that divides physical memory into a plurality of virtual pages.

여기서, 코어(1101 및 1102)는, 최근에 인출된 요소를 캐쉬하는, 상위 레벨 또는 전위(further-out) 캐쉬(1110)로의 액세스를 공유한다. 상위 레벨 또는 전위란 실행 유닛(들)로부터의 증가하거나 멀어지는 캐쉬 레벨을 말한다는 점에 유의한다. 한 실시예에서, 상위 레벨 캐쉬(1110)는, 제2 또는 제3 레벨 데이터 캐쉬 등의 마지막 레벨 데이터 캐쉬 ―프로세서(1100) 상의 메모리 계층 구조에서의 마지막 캐쉬― 이다. 그러나, 상위 레벨 캐쉬(1110)는, 명령어 캐쉬와 연관되거나 명령어 캐쉬를 포함할 수도 있으므로, 이것으로 제한되지 않는다. 대신에 트레이스 캐쉬(trace cache) ―일종의 명령어 캐쉬― 가 디코더(1125) 이후에 결합되어 최근에 디코드된 흔적을 저장할 수 있다.Here, cores 1101 and 1102 share access to a higher-level or further-out cache 1110 that caches recently fetched elements. It should be noted that the upper level or the potential refers to an increasing or decreasing cache level from the execution unit (s). In one embodiment, the higher level cache 1110 is the last cache in the memory hierarchy on the last level data cache-processor 1100, such as a second or third level data cache. However, the upper level cache 1110 is not limited to this, as it may be associated with or may include a command cache. Instead, a trace cache - a sort of instruction cache - can be combined after the decoder 1125 to store recently decoded traces.

도시된 구성에서, 프로세서(1100)는 또한 버스 인터페이스 모듈(1105)을 포함한다. 역사적으로, 이하에서 더 상세히 설명되는 제어기(1170)는 프로세서(1100) 외부의 컴퓨팅 시스템에 포함되어 왔다. 이 시나리오에서, 버스 인터페이스(1105)는, 시스템 메모리(1175), (종종, 메모리(1175)에 접속하는 메모리 제어기 허브와 주변 기기를 접속하는 I/O 제어기 허브를 포함하는) 칩셋, 메모리 제어기 허브, 노스브릿지, 또는 기타의 집적 회로 등의, 프로세서(1100) 외부의 장치들과 통신하기 위한 것이다. 그리고, 이 시나리오에서, 버스(1105)는, 멀티-드롭 버스, 포인트-투-포인트 인터커넥트, 직렬 인터커넥트, 병렬 버스, 코히어런트(예를 들어, 캐쉬 코히어런트) 버스, 계층화된 프로토콜 아키텍쳐, 차등 버스, GTL 버스 등의, 임의의 공지된 인터커넥트를 포함할 수 있다.In the illustrated configuration, the processor 1100 also includes a bus interface module 1105. [ Historically, a controller 1170, described in more detail below, has been included in a computing system external to the processor 1100. In this scenario, bus interface 1105 includes a system memory 1175, a chipset (which often includes an I / O controller hub that connects peripheral devices with a memory controller hub that connects to memory 1175), a memory controller hub For example, an integrated circuit, a microprocessor, a microprocessor, a microprocessor, a microprocessor, a microprocessor, a microprocessor, a microprocessor, a microprocessor, In this scenario, the bus 1105 may be implemented using any of a variety of bus architectures, including a multi-drop bus, a point-to-point interconnect, a serial interconnect, a parallel bus, a coherent (e.g., cache coherent) bus, Differential bus, GTL bus, and the like.

메모리(1175)는 프로세서(1100)에 전용되거나 시스템 내의 다른 장치들과 공유될 수 있다. 메모리(1175) 타입들의 흔한 예로서는, DRAM, SRAM, 비휘발성 메모리(NV 메모리), 및 기타의 공지된 스토리지 장치가 포함된다. 장치(1180)는, 그래픽 가속기, 메모리 제어기 허브에 결합된 프로세서 또는 카드, I/O 제어기 허브에 결합된 데이터 스토리지, 무선 트랜시버, 플래시 장치, 오디오 제어기, 네트워크 제어기, 또는 기타의 공지된 장치를 포함할 수 있다는 점에 유의한다.Memory 1175 can be dedicated to processor 1100 or shared with other devices in the system. Common examples of types of memory 1175 include DRAM, SRAM, nonvolatile memory (NV memory), and other known storage devices. The device 1180 includes a graphics accelerator, a processor or card coupled to a memory controller hub, a data storage coupled to an I / O controller hub, a wireless transceiver, a flash device, an audio controller, a network controller, It should be noted that

그러나, 도시된 실시예에서, 제어기(1170)는 프로세서(1100)의 일부로서 예시되어 있다는 점에 유의한다. 최근에, SOC 등의 단일 다이 상에 더 많은 로직 및 장치가 집적됨에 따라, 이들 장치들 각각은 프로세서(1100) 상에 포함될 수 있다. 예를 들어, 한 실시예에서, 메모리 제어기 허브(1170)는 프로세서(1100)와 동일한 팩키지 및/또는 다이 상에 있다. 여기서, 코어의 일부(온-코어 부분)는, 메모리(1175) 또는 그래픽 장치(1180) 등의 다른 장치들과 인터페이싱하기 위한 하나 이상의 제어기(들)(1170)을 포함한다. 이러한 장치들과 인터페이싱하기 위한 제어기들 및 인터커넥트를 포함하는 구성은 종종 온-코어(또는 언-코어(un-core) 구성)라고 불린다. 예로서, 버스 인터페이스(1105)는, 메모리(1175)와 인터페이싱하기 위한 메모리 제어기 및 그래픽 프로세서(1180)와 인터페이싱하기 위한 그래픽 제어기를 갖춘 링 인터커넥트를 포함한다. 그러나, SOC 환경에서, 네트워크 인터페이스, 코프로세서, 메모리(1175), 그래픽 프로세서(1180), 및 기타 임의의 공지된 컴퓨터 장치/인터페이스 등의 훨씬 더 많은 장치들이 단일 다이 또는 집적 회로 상에 통합되어 높은 기능과 낮은 전력 소비를 갖는 소형 폼팩터를 제공할 수 있다.It should be noted, however, that in the illustrated embodiment, the controller 1170 is illustrated as part of the processor 1100. Recently, as more logic and devices are integrated on a single die such as SOC, each of these devices can be included on the processor 1100. For example, in one embodiment, the memory controller hub 1170 is on the same package and / or die as the processor 1100. Here, a portion (on-core portion) of the core includes one or more controller (s) 1170 for interfacing with other devices, such as memory 1175 or graphics device 1180. Configurations involving controllers and interconnects for interfacing with such devices are often referred to as on-core (or un-core configurations). By way of example, bus interface 1105 includes a ring interconnect with a memory controller for interfacing with memory 1175 and a graphics controller for interfacing with graphics processor 1180. However, in an SOC environment, much more devices, such as a network interface, coprocessor, memory 1175, graphics processor 1180, and any other known computer device / interface may be integrated on a single die or integrated circuit, Functionality and low power consumption.

한 실시예에서, 프로세서(1100)는, 컴파일러, 최적화, 및/또는 변환기 코드(1177)를 실행하여 애플리케이션 코드(1176)를 컴파일, 변환, 및/또는 최적화해 여기서 설명된 장치 및 방법을 지원하거나 이와 인터페이싱할 수 있다. 컴파일러는 종종 소스 텍스트/코드를 타겟 텍스트/코드로 변환하는 프로그램 또는 프로그램 세트를 포함한다. 대개, 컴파일러를 이용한 프로그램/애플리케이션 코드의 컴파일은 복수의 페이즈(phase)와 패스(pass)로 이루어져 고수준 프로그래밍 언어 코드를 저수준 머신 또는 어셈블리 언어 코드로 변환한다. 그러나, 간단한 컴파일의 경우 단일 패스(pass) 컴파일러가 여전히 이용될 수 있다. 컴파일러는 임의의 공지된 컴파일 기술을 이용하고, 어휘 분석, 전처리, 파싱, 의미론적 분석, 코드 생성, 코드 변환, 및 코드 최적화 등의 임의의 공지된 컴파일러 동작을 수행할 수 있다.In one embodiment, the processor 1100 may be configured to compile, transform, and / or optimize application code 1176 by executing compiler, optimizer, and / or converter code 1177 to support the devices and methods described herein You can interface with it. Compilers often include programs or sets of programs that convert source text / code to target text / code. Typically, compilation of program / application code using a compiler consists of a plurality of phases and passes to translate high level programming language code into low level machine or assembly language code. However, for simple compilation, a single pass compiler can still be used. The compiler may use any known compilation technique and perform any known compiler operations such as lexical analysis, preprocessing, parsing, semantic analysis, code generation, code conversion, and code optimization.

더 큰 컴파일러는 종종 복수의 페이즈를 포함하지만, 대부분 이들 페이즈들은 2개의 일반적 페이즈 내에 포함된다: (1) 프론트-엔드(front-end), 즉, 일반적으로 구문 처리, 의미론적 처리, 및 소정 변환/최적화가 이루어질 수 있는 곳, (2) 백-엔드(back-end), 즉, 분석, 변환, 최적화, 및 코드 일반화가 이루어지는 곳. 일부 컴파일러들은, 컴파일러의 프론트-엔드와 백-엔드 사이의 경계의 혼탁화를 보여주는 중간을 나타낸다. 그 결과, 삽입, 연관, 생성, 또는 컴파일러의 기타의 동작에 대한 언급은, 앞서 언급된 페이즈 또는 패스들 중 임의의 것 뿐만 아니라 컴파일러의 기타 임의의 공지된 페이즈 또는 패스에서 발생할 수 있다. 예시로서, 컴파일러는 잠재적으로, 컴파일의 프론트-엔드 페이즈의 호출/연산의 삽입과 그 다음 변환 페이즈 동안의 호출/연산의 하위 레벨 코드로의 변환 등의, 하나 이상의 페이즈에서의 연산, 호출, 함수 등을 삽입한다. 동적 컴파일 동안에, 컴파일러 코드 또는 동적 최적화 코드는 이러한 연산/호출을 삽입할 뿐만 아니라 런타임 동안의 실행을 위해 코드를 최적화한다는 점에 유의한다. 특정한 예시로서, 2진 코드(이미 컴파일된 코드)는 런타임 동안에 동적으로 최적화될 수 있다. 여기서, 프로그램 코드는, 동적 최적화 코드, 2진 코드, 또는 이들의 조합을 포함할 수 있다.Larger compilers often include multiple phases, but most of these phases are included in two general phases: (1) front-end, i.e., generally syntactic, semantic, Where optimizations can be made, (2) where back-end, ie analysis, transformation, optimization, and code generalization occurs. Some compilers represent the middle of showing the opacity of the boundary between the front-end and the back-end of the compiler. As a result, references to insertion, association, generation, or other operations of the compiler may occur in any of the above-mentioned phases or passes, as well as any other known phases or passes of the compiler. By way of illustration, the compiler potentially includes operations, calls, functions in one or more phases, such as insertion of calls / operations in the front-end phase of compilation and conversion of calls / operations into lower- And so on. Note that during dynamic compilation, compiler code or dynamic optimization code not only inserts these operations / calls, but also optimizes the code for execution during runtime. As a specific example, the binary code (already compiled code) can be dynamically optimized during runtime. Here, the program code may include a dynamic optimization code, a binary code, or a combination thereof.

컴파일러와 유사하게, 2진 변환기 등의 변환기는 코드를 정적으로 또는 동적으로 변환하여 코드를 최적화 및/또는 변환한다. 따라서, 코드, 애플리케이션 코드, 프로그램 코드 또는 기타의 소프트웨어 환경의 실행에 대한 언급은: (1) 프로그램 코드를 컴파일하거나, 소프트웨어 구조를 유지하거나, 기타의 연산들을 수행하거나, 코드를 최적화하거나, 코드를 변환하기 위한 컴파일러 프로그램(들), 최적화 코드 최적화기, 또는 변환기의 동적 또는 정적 실행; (2) 최적화된/컴파일된 애플리케이션 코드 등의, 연산/호출을 포함한 메인 프로그램 코드의 실행; (3) 소프트웨어 구조를 유지하거나, 기타의 소프트웨어 관련된 연산을 수행하거나, 코드를 최적화하기 위한, 메인 프로그램 코드와 연관된 라이브러리 등의 기타의 프로그램 코드의 실행; 또는 (4) 이들의 조합을 말하는 것일 수 있다.Similar to a compiler, a converter such as a binary converter optimizes and / or converts code by statically or dynamically converting the code. Accordingly, references to the execution of code, application code, program code, or other software environment may include: (1) compiling the program code, maintaining the software structure, performing other operations, optimizing the code, Dynamic or static execution of the compiler program (s), optimizing code optimizer, or converter for conversion; (2) execution of main program code including operations / calls, such as optimized / compiled application code; (3) execution of other program code, such as a library associated with the main program code, to maintain the software structure, perform other software-related operations, or optimize the code; Or (4) a combination thereof.

이제 도 12a를 참조하면, 멀티코어 프로세서의 실시예의 블록도가 도시되어 있다. 도 12a의 실시예에 도시된 바와 같이, 프로세서(1200)는 복수의 영역들(domains)을 포함한다. 구체적으로는, 코어 영역(1230)은, 복수의 코어(1230A-1230N)를 포함할 수 있고, 그래픽 영역(1260)은 미디어 엔진(1265)을 포함한 하나 이상의 그래픽 엔진을 포함할 수 있고, 시스템 에이전트 영역(1210)이 추가로 존재할 수도 있다.Referring now to FIG. 12A, a block diagram of an embodiment of a multicore processor is shown. As shown in the embodiment of FIG. 12A, the processor 1200 includes a plurality of domains. In particular, the core region 1230 may include a plurality of cores 1230A-1230N, the graphics region 1260 may include one or more graphics engines including a media engine 1265, Region 1210 may further be present.

다양한 실시예에서, 시스템 에이전트 영역(1210)은 전력 제어 이벤트 및 전력 관리를 처리하되, 코어 및/또는 그래픽 엔진 등의 영역들(1230 및 1260)의 개개 유닛들이 소정 유닛에서 발생하는 활동(또는 비활동)에 비추어 (저전력 상태 또는 활성, 및 아마도 터보 모드 상태를 포함한) 적절한 전력 모드에서 독립적으로 및 동적으로 동작하게끔 제어될 수 있도록 처리한다. 영역들(1230 및 1260) 각각은 상이한 전압 및/또는 전력에서 동작할 수 있고, 나아가, 영역들 내의 개개 유닛들 각각은 독립된 주파수와 전압에서 동작할 수 있다. 3개 영역만이 도시되어 있지만, 본 발명의 범위는 이 점에서 제한되지 않고 다른 실시예에서는 추가의 영역이 존재할 수 있다는 점에 유의한다.In various embodiments, the system agent region 1210 processes power control events and power management, in which individual units of regions 1230 and 1260, such as the core and / or graphics engine, In a suitable power mode (including low power state or activity, and possibly a turbo mode state) in light of the current state of the system (e.g., activity). Each of the regions 1230 and 1260 can operate at different voltages and / or powers, and further, each of the individual units within the regions can operate at independent frequencies and voltages. Although only three regions are shown, it should be noted that the scope of the invention is not limited in this respect, and that additional regions may exist in other embodiments.

일반적으로, 각각의 코어(1230)는, 다양한 실행 유닛과 추가적인 처리 요소들 외에도 하위 레벨 캐쉬를 더 포함할 수 있다. 다음으로, 다양한 코어들은 서로 결합될 수 있고, 스토리지 및 캐쉬 제어기 기능을 포함할 수 있는 마지막 레벨 캐쉬(LLC)(1240A-1240N)의 복수의 유닛이나 슬라이스들로 형성된 공유된 캐쉬 메모리에 결합될 수 있다. 다양한 실시예에서, LLC(1240)는 코어들과 그래픽 엔진들 뿐만 아니라 다양한 미디어 처리 회로 사이에서 공유될 수 있다.In general, each core 1230 may further include a lower level cache in addition to the various execution units and additional processing elements. Next, the various cores may be coupled together and coupled to a shared cache memory formed of a plurality of units or slices of a last level cache (LLC) 1240A-1240N that may include storage and cache controller functionality have. In various embodiments, the LLC 1240 may be shared between various media processing circuits as well as cores and graphics engines.

보다시피, 링 인터커넥트(1250)는 코어들을 함께 결합하고, 각각이 코어와 LLC 슬라이스 사이의 결합부에 있는 복수의 링 스톱(ring stop)(1252A-1252N)을 통해, 코어 영역(1230), 그래픽 영역(1260), 및 시스템 에이전트 회로(1210) 사이의 인터커넥트를 제공한다. 도 12a에서 볼 수 있는 바와 같이, 인터커넥트(1250)는, 주소 정보, 데이터 정보, 접수확인 정보, 및 스누프/무효 정보를 포함한, 다양한 정보를 운반하는데 이용될 수 있다.As can be seen, the ring interconnect 1250 couples the cores together, and through the plurality of ring stops 1252A-1252N at the junction between the core and the LLC slice, the core region 1230, Region 1260, and system agent circuitry 1210, as shown in FIG. As can be seen in FIG. 12A, the interconnect 1250 can be used to carry various information, including address information, data information, acknowledgment information, and snoop / invalid information.

추가로 볼 수 있는 바와 같이, 시스템 에이전트 영역(1210)은, 연관된 디스플레이의 제어와 그에 대한 인터페이스를 제공할 수 있는 디스플레이 엔진(1212)을 포함할 수 있다. 시스템 에이전트 영역(1210)은, (예를 들어, 복수의 DIMM으로 구성된) DRAM 등의 시스템 메모리에 대한 인터페이스를 제공하고, 일관성 로직(1222)에 결합되어 메모리 일관성 동작을 수행할 수 있는 통합된 메모리 제어기(1220)를 더 포함할 수 있다. 복수의 인터페이스가 존재하여 프로세서와 기타의 회로 사이의 인터커넥트를 가능케 할 수 있다. 예를 들어, 한 실시예에서, 적어도 하나의 직접 미디어 인터페이스(DMI; direct media interface)(1216) 인터페이스 뿐만 아니라 하나 이상의 PCIe™ 인터페이스(1214)가 제공될 수 있다. 보다시피, 디스플레이 엔진과 이들 인터페이스들은 PCIe™ 브릿지(1218)를 통해 메모리에 결합될 수 있다. 역시 추가로, 추가의 프로세서나 기타의 회로 등의 다른 에이전트들 사이의 통신을 제공하기 위해, Intel® Quick Path Interconnect (QPI) 프로토콜에 따른 것 등의 하나 이상의 다른 인터페이스들도 역시 제공될 수 있다.As further seen, the system agent area 1210 can include a display engine 1212 that can provide control and associated interfaces to associated displays. The system agent area 1210 includes an integrated memory 1220 that provides an interface to system memory, such as a DRAM (e.g., comprising a plurality of DIMMs), and is coupled to the consistency logic 1222 to perform memory coherency operations And may further include a controller 1220. A plurality of interfaces may be present to enable an interconnect between the processor and other circuitry. For example, in one embodiment, at least one PCIe ™ interface 1214 may be provided as well as at least one direct media interface (DMI) 1216 interface. As can be seen, the display engine and these interfaces can be coupled to the memory via the PCIe (TM) bridge 1218. Still further, one or more other interfaces may also be provided, such as in accordance with the Intel® Quick Path Interconnect (QPI) protocol, to provide communication between other agents, such as additional processors or other circuitry.

이제 도 12b를 참조하면, 도 12a의 코어들(1230) 중 하나 등의 대표적 코어의 블록도가 도시되어 있다. 일반적으로, 도 12b에 도시된 구조는, 일반적으로, 인입 명령어들을 인출하고, 디코딩을 포함한 다양한 처리를 수행하며, 이들을, 이들 디코딩된 명령어들에 관한, 처리될 데이터 취득, 데이터 처리, 그 다음, 처리된 데이터의 재정렬을 포함한 추가 처리를 수행할 수 있는 비순차 엔진(1280)에 전달하는데 이용되는 프론트 엔드 유닛(1270)을 포함하는 비순차 프로세서일 수 있다.Referring now to FIG. 12B, a block diagram of an exemplary core, such as one of the cores 1230 of FIG. 12A, is shown. In general, the structure shown in FIG. 12B generally includes instructions for fetching fetch instructions, performing various processes including decoding, and performing them on fetch data to be processed, data processing for these decoded instructions, Sequential processor that includes a front-end unit 1270 that is used to communicate to an unordered engine 1280 that may perform additional processing, including reordering the processed data.

도 12b의 실시예에서는 특정적으로, 비순차 엔진(1280)은, 하나 이상의 마이크로명령어 또는 uop의 형태일 수 있는 디코딩된 명령어를 프론트 엔드 유닛(1270)으로부터 수신하고 이들을 레지스터 등의 적절한 자원에 할당하는 할당 유닛(1282)을 포함할 수 있다. 그다음, 명령어는, 복수의 실행 유닛(1286A-1286N) 중 하나 상에서의 실행을 위해 명령어를 예약할 수 있는 예약 스테이션(1284)에 제공될 수 있다. 예를 들어, 특히, 산술 로직 유닛(ALU), 벡터 처리 유닛(VPU), 부동 소숫점 실행 유닛 등을 포함한, 다양한 타입의 실행 유닛들이 존재할 수 있다. 이들 상이한 실행 유닛들로부터의 결과는, 이들 정렬되지 않은 결과를 취하여 올바른 프로그램 순서로 복귀시킬 수 있는 재정렬 버퍼(ROB)(1288)에 제공될 수 있다.Specifically in the embodiment of Figure 12B, the non-sequential engine 1280 receives decoded instructions, which may be in the form of one or more microinstructions or uops, from the front-end unit 1270 and assigns them to the appropriate resources, such as registers And the like. The instruction may then be provided to a reservation station 1284 that can reserve an instruction for execution on one of the plurality of execution units 1286A-1286N. For example, various types of execution units may exist, in particular, including arithmetic logic units (ALU), vector processing units (VPUs), floating point execution units, and the like. The results from these different execution units may be provided to a reordering buffer (ROB) 1288 that can take these unaligned results and return them to the correct program order.

여전히 도 12b를 참조하면, 프론트 엔드 유닛(1270) 및 비순차 엔진(1280)은 메모리 계층구조의 상이한 레벨들에 결합될 수 있다는 점에 유의한다. 구체적으로는, 명령어 레벨 캐쉬(1272)가 도시되어 있고, 이 명령어 캐쉬 레벨(1272)은 다음으로 중간 레벨 캐쉬(1276)에 결합될 수 있고, 이 중간 레벨 캐쉬(1276)는 다음으로 마지막 레벨 캐쉬(1295)에 결합될 수 있고, 이 마지막 캐쉬 레벨(1295)은, 한 실시예에서, 일반적으로 도 12b의 시스템 에이전트 영역(1210) 등의 시스템 에이전트 회로에 대응하는, 언코더 유닛(uncore unit)(1290)에서 구현될 수 있다. 다음으로, 마지막 레벨 캐쉬(1295)는, 한 실시예에서 ED RAM을 통해 구현될 수 있는 시스템 메모리(1299)를 포함한, 메모리 계층구조의 상위 레벨들과 통신할 수 있다. 비순차 엔진(1280) 내의 다양한 실행 유닛(1286)은 중간 레벨 캐쉬(1276)와도 통신하는 제1 레벨 캐쉬(1274)와 통신할 수 있다는 점에도 유의한다. 추가 코어들(1230N-2 ~ 1230N)은 LLC(1295)에 결합될 수 있다는 점에도 유의한다. 도 12b의 실시예에서는 이러한 고수준으로 도시되어 있지만, 다양한 변경 및 추가적인 컴포넌트들이 존재할 수 있다는 점을 이해하여야 한다.Still referring to FIG. 12B, it is noted that the front-end unit 1270 and the non-sequential engine 1280 may be coupled to different levels of memory hierarchy. Specifically, an instruction level cache 1272 is shown, which may be then coupled to an intermediate level cache 1276, which in turn is coupled to a last level cache < RTI ID = 0.0 > Which may be coupled to an uncore unit 1295, which, in one embodiment, generally corresponds to a system agent circuit, such as the system agent region 1210 of Figure 12B, Lt; RTI ID = 0.0 > 1290 < / RTI > Next, the last level cache 1295 may communicate with higher levels of the memory hierarchy, including system memory 1299, which may be implemented via ED RAM in one embodiment. Note also that the various execution units 1286 in the non-sequential engine 1280 can communicate with the first level cache 1274, which also communicates with the intermediate level cache 1276. [ Note that additional cores 1230N-2 through 1230N may be coupled to LLC 1295. [ It should be appreciated that although this high level is shown in the embodiment of FIG. 12B, various changes and additional components may be present.

도 13은 본 발명의 한 실시예에 따라 명령어를 수행하는 로직 회로를 포함하는 프로세서(1300)에 대한 마이크로-아키텍쳐의 블록도이다. 일부 실시예에서, 한 실시예에 따른 명령어는, 바이트, 워드, 더블워드, 쿼드워드 등의 크기뿐만 아니라 단정도 및 배정도 정수와 부동 소수점 데이터타입과 같은 데이터타입을 갖는 데이터 요소들에 관해 연산하도록 구현될 수 있다. 한 실시예에서, 순차 프론트 엔드(1301)는 실행될 명령어를 인출(fetch)하고 나중에 프로세서 파이프라인에서 이용하도록 준비하는 프로세서(1300)의 부분이다. 프론트 엔드(1301)는 수 개의 유닛들을 포함할 수 있다. 한 실시예에서, 명령어 프리페처(1326)는 메모리로부터 명령어를 인출하고 이들을 명령어 디코더(1328)에 공급하며, 이어서, 명령어 디코더는 이들을 디코드 또는 해석한다. 예를 들어, 한 실시예에서, 디코더는, 수신된 명령어를, 머신이 실행할 수 있는 "마이크로-명령어" 또는 "마이크로-연산"(마이크로 op 또는 uop라고도 함)이라 불리는 하나 이상의 연산으로 디코드한다. 다른 실시예에서, 디코더는 명령어를, 마이크로-아키텍쳐에 의해 한 실시예에 따른 연산을 수행하는데 이용되는 연산코드 및 대응하는 데이터와 제어 필드들로 파싱한다. 한 실시예에서, 트레이스 캐쉬(1330)는 디코딩된 uop들을 취하여 이들을 실행을 위해 uop 큐(1334) 내의 프로그램 정렬된 시퀀스 또는 트레이스로 어셈블한다. 트레이스 캐쉬(1330)가 복합 명령어를 만나면, 마이크로코드 ROM(1332)은 연산을 완료하는데 필요한 uop들을 제공한다.13 is a block diagram of a micro-architecture for a processor 1300 that includes logic circuitry to perform instructions in accordance with one embodiment of the present invention. In some embodiments, an instruction according to one embodiment may be computed for data elements having a data type such as a byte, word, double word, quad word, etc., as well as a single degree and double precision integer and a floating point data type Can be implemented. In one embodiment, sequential frontend 1301 is part of processor 1300 that fetches the instruction to be executed and prepares it for later use in the processor pipeline. The front end 1301 may include several units. In one embodiment, instruction prefetcher 1326 fetches instructions from memory and provides them to instruction decoder 1328, which in turn decodes or interprets them. For example, in one embodiment, the decoder decodes the received instruction into one or more operations called "micro-operations" or "micro-operations" (also referred to as micro-ops or uops) that the machine can execute. In another embodiment, the decoder parses the instructions into op-codes and corresponding data and control fields that are used by the micro-architecture to perform operations according to one embodiment. In one embodiment, the trace cache 1330 takes the decoded uops and assembles them into a program ordered sequence or trace in a uop queue 1334 for execution. When the trace cache 1330 encounters a complex instruction, the microcode ROM 1332 provides the uops necessary to complete the operation.

일부 명령어들은 단일의 마이크로 op로 전환되는 반면, 다른 명령어들은 전체 연산을 완료하기 위해 수 개의 마이크로 op를 필요로 한다. 한 실시예에서, 명령어를 완료하는데 4개보다 많은 마이크로 op들이 필요하다면, 디코더(1328)는 그 명령어를 행하기 위해 마이크로코드 ROM(1332)에 액세스한다. 한 실시예의 경우, 명령어는 명령어 디코더(1328)에서의 처리를 위해 소수의 마이크로 op들로 디코딩될 수 있다. 또 다른 실시예에서, 연산을 달성하는데 다수의 마이크로 op들이 필요하다면, 명령어는 마이크로코드 ROM(1332) 내에 저장될 수 있다. 트레이스 캐쉬(1330)는 마이크로코드 ROM(1332)으로부터의 한 실시예에 따른 하나 이상의 명령어를 완료하기 위해 마이크로코드 시퀀스를 판독하기 위한 올바른 마이크로명령어 포인터를 결정하도록 진입점 프로그래머블 로직 어레이(PLA)를 참조한다. 마이크로코드 ROM(1332)이 명령어의 마이크로 op들의 시퀀싱을 종료한 후에, 머신의 프론트 엔드(1301)는 트레이스 캐쉬(1330)로부터 마이크로 op들의 인출을 재개한다.Some instructions are converted to a single micro op, while other instructions require several micro ops to complete the entire operation. In one embodiment, if more than four micro-ops are needed to complete an instruction, the decoder 1328 accesses the microcode ROM 1332 to execute the instruction. In one embodiment, the instruction may be decoded into a small number of micro ops for processing in instruction decoder 1328. [ In yet another embodiment, instructions may be stored in the microcode ROM 1332 if a plurality of micro ops are required to accomplish the operation. The trace cache 1330 references an entry point programmable logic array (PLA) to determine a correct microinstruction pointer for reading a microcode sequence to complete one or more instructions in accordance with one embodiment from microcode ROM 1332 do. After the microcode ROM 1332 terminates sequencing of the microops of the instruction, the machine front end 1301 resumes retrieving the microop from the trace cache 1330.

비순차 실행 엔진(1303)은 명령어들이 실행을 위해 준비되는 곳이다. 비순차 실행 로직은, 명령어들이 파이프라인 아래로 진행하고 실행을 위해 스케쥴링될 때, 성능을 최적화하도록 명령어의 흐름을 평활화하고 재정렬하기 위해 다수의 버퍼를 가진다. 할당기/레지스터 개명기(1305)는 할당기 로직과 레지스터 개명 로직을 포함한다. 할당기 로직은, 각 uop가 실행을 위해 순서대로 요구하는 머신 버퍼와 자원을 할당한다. 레지스터 개명 로직은 로직 레지스터들을 레지스터 파일 내의 엔트리들로 개명한다. 할당기는 또한, 명령어 스케쥴러들: 메모리 스케쥴러(1309), 고속 스케쥴러(1302), 저속/일반 부동 소수점 스케쥴러(1304), 및 단순 부동 소수점 스케쥴러(1306)의 앞의, 2개의 uop 큐들, 즉, 메모리 연산을 위한 메모리 uop 큐(1307a)와 비-메모리 연산을 위한 정수/부동 소숫점 uop 큐(1307b) 중 하나의 각 uop에 대한 엔트리를 할당한다. uop 스케쥴러들(1302, 1304, 1306, 1309)은, 그들의 종속된 입력 레지스터 피연산자 소스들의 준비 및 uop들이 그들의 연산을 완료하는데 필요로 하는 실행 자원들의 가용성에 기초하여 uop가 실행할 준비가 되는 때를 결정한다. 한 실시예의 고속 스케쥴러(1302)는 메인 클록 사이클의 각각의 절반에서 스케쥴링할 수 있는 반면 다른 스케쥴러들은 메인 프로세서 클록 사이클마다 한 번만 스케쥴링할 수 있다. 스케쥴러들은 실행을 위해 uop들을 스케쥴링하기 위해 발송 포트(dispatch port)들을 중재한다.The non-sequential execution engine 1303 is where the instructions are prepared for execution. The non-sequential execution logic has a number of buffers for smoothing and reordering the instructions to optimize performance as the instructions go down the pipeline and are scheduled for execution. The allocator / register identifier 1305 includes allocator logic and register rename logic. The allocator logic allocates machine buffers and resources that each uop requires in order for execution. The register renaming logic renders the logic registers into entries in the register file. The allocator also includes two uop queues preceding the instruction schedulers: memory scheduler 1309, fast scheduler 1302, low / normal floating point scheduler 1304, and simple floating point scheduler 1306, And allocates an entry for each uop of one of the memory uop queue 1307a for operation and the integer / floating point uop queue 1307b for non-memory operation. The uop schedulers 1302, 1304, 1306, and 1309 determine when the uop is ready to execute based on the availability of their dependent input register operand sources and the availability of the execution resources that uops need to complete their operation do. The fast scheduler 1302 in one embodiment can schedule in each half of the main clock cycle while the other schedulers can schedule only once in each main processor clock cycle. Schedulers arbitrate dispatch ports to schedule uops for execution.

레지스터 파일들(1308, 1310)은 스케쥴러들(1302, 1304, 1306, 1309)과 실행 블록(1311) 내의 실행 유닛들(1312, 1314, 1316, 1318, 1320, 1322, 1324) 사이에 놓인다. 각각 정수 및 부동 소수점 연산을 위한 별개의 레지스터 파일(1308, 1310)이 존재한다. 한 실시예의 각각의 레지스터 파일(1308, 1310)은 또한, 레지스터 파일 내에 아직 기입되지 않은 완료된 결과를 새로운 종속된 uop들에 단지 포워딩하거나 바이패스할 수 있는 바이패스 네트워크를 포함한다. 정수 레지스터 파일(1308) 및 부동 소수점 레지스터 파일(1310)은 또한 데이터를 서로 전달할 수 있다. 한 실시예의 경우, 정수 레지스터 파일(1308)은 2개의 별개의 레지스터 파일, 즉, 데이터의 하위 32비트를 위한 하나의 레지스터 파일과, 데이터의 상위 32비트를 위한 제2의 레지스터 파일로 분할된다. 한 실시예의 부동 소수점 레지스터 파일(1310)은, 부동 소수점 명령어들은 통상적으로 64 내지 128 비트폭의 피연산자를 갖기 때문에, 128비트 폭 엔트리를 가진다.Register files 1308 and 1310 are placed between the schedulers 1302,1304,1306 and 1309 and the execution units 1312,1314,1316,1318,1320,1322 and 1324 in the execution block 1311. [ There are separate register files 1308 and 1310 for integer and floating point operations, respectively. Each register file 1308, 1310 of an embodiment also includes a bypass network that can only forward or bypass completed results that have not yet been written in the register file to the new dependent uops. The integer register file 1308 and the floating-point register file 1310 can also transfer data to each other. In one embodiment, the integer register file 1308 is divided into two separate register files, one register file for the lower 32 bits of data and a second register file for the upper 32 bits of data. The floating point register file 1310 in one embodiment has a 128 bit wide entry because floating point instructions typically have an operand of 64 to 128 bits wide.

실행 블록(1311)은 실행 유닛들(1312, 1314, 1316, 1318, 1320, 1322, 1324)을 포함하고, 그 곳에서 명령어들이 실제로 실행된다. 이 구획은, 마이크로명령어가 실행되는데 필요한 정수 및 부동 소수점 데이터 피연산자 값을 저장하는 레지스터 파일들(1308, 1310)을 포함한다. 한 실시예의 프로세서(1300)는 다수의 실행 유닛들: 주소 생성 유닛(AGU)(1312), AGU(1314), 고속 ALU(1316), 고속 ALU(1318), 저속 ALU(1320), 부동 소수점 ALU(1322), 부동 소수점 이동 유닛(1324)으로 구성된다. 한 실시예의 경우, 부동 소수점 실행 블록(1322, 1324)은 부동 소수점, MMX, SIMD, 및 SSE, 또는 기타의 연산을 실행한다. 한 실시예의 부동 소수점 ALU(1322)는, 마이크로op들의 나누기, 제곱근, 및 나머지를 실행하는 64비트 바이 64비트(64 bit by 64 bit) 부동 소수점 나눗셈기(divider)를 포함한다. 본 발명의 실시예의 경우, 부동 소수점 값을 수반하는 명령어는 부동 소수점 하드웨어에 의해 취급될 수 있다. 한 실시예에서, ALU 연산은 고속 ALU 실행 유닛(1316, 1318)으로 간다. 한 실시예의 고속 ALU들(1316, 1318)은 클록 사이클의 절반의 유효 레이턴시와 함께 고속 연산을 실행할 수 있다. 한 실시예의 경우, 저속 ALU(1320)는 곱셈기, 시프트, 플래그 로직, 및 분기 처리와 같은 긴 레이턴시 타입의 연산을 위한 정수 실행 하드웨어를 포함하므로 대부분의 복합 정수 연산은 저속 ALU(1320)로 간다. 메모리 로드/저장 연산은 AGU(1312, 1314)에 의해 실행된다. 한 실시예의 경우, 정수 ALU(1316, 1318, 1320)는 64 비트 데이터 피연산자에 관해 정수 연산을 수행하는 정황에서 설명된다. 대안적 실시예에서, ALU들(1316, 1318, 1320)은 16, 32, 128, 256 등을 포함한 다양한 데이터 비트를 지원하도록 구현될 수 있다. 마찬가지로, 부동 소수점 유닛들(1322, 1324)은 다양한 폭의 비트들을 갖는 다양한 피연산자들을 지원하도록 구현될 수 있다. 한 실시예의 경우, 부동 소수점 유닛들(1322, 1324)은 SIMD 및 멀티미디어 명령어와 연계하여 128 비트 폭 팩킹된 데이터 피연산자에 관해 연산할 수 있다.Execution block 1311 includes execution units 1312, 1314, 1316, 1318, 1320, 1322, 1324, where the instructions are actually executed. This partition includes register files 1308 and 1310 that store the integer and floating point data operand values needed for the microinstruction to be executed. The processor 1300 of one embodiment includes a plurality of execution units: an address generation unit (AGU) 1312, an AGU 1314, a high speed ALU 1316, a high speed ALU 1318, a low speed ALU 1320, a floating point ALU A floating point unit 1322, and a floating point mobile unit 1324. For one embodiment, the floating-point execution blocks 1322 and 1324 perform floating point, MMX, SIMD, and SSE, or other operations. The floating-point ALU 1322 of one embodiment includes a 64-bit by 64-bit floating-point divider that performs the division, the square root, and the remainder of the micro ops. In the case of embodiments of the present invention, instructions involving floating-point values may be handled by the floating-point hardware. In one embodiment, the ALU operation goes to a fast ALU execution unit 1316, 1318. The high speed ALUs 1316 and 1318 of one embodiment can perform high speed operations with an effective latency of half of the clock cycle. In one embodiment, the slow ALU 1320 includes integer execution hardware for long latency type operations such as multiplier, shift, flag logic, and branch processing, so most complex integer operations go to the slow ALU 1320. The memory load / store operations are performed by the AGUs 1312 and 1314. For one embodiment, integer ALUs 1316, 1318, 1320 are described in the context of performing integer operations on 64-bit data operands. In an alternative embodiment, ALUs 1316, 1318, 1320 may be implemented to support various data bits, including 16, 32, 128, 256, and so on. Similarly, floating point units 1322 and 1324 may be implemented to support various operands having varying widths of bits. In one embodiment, the floating-point units 1322 and 1324 can operate on 128-bit wide packed data operands in conjunction with SIMD and multimedia instructions.

한 실시예에서, uop 스케쥴러들(1302, 1304, 1306, 1309)은 부모 로드가 실행을 종료하기 전에 종속된 연산들을 발송한다. uop들은 프로세서(1300)에서 추측성으로(speculatively) 스케쥴링 및 실행되므로, 프로세서(1300)는 또한 메모리 부적중(memory miss)을 취급하는 로직을 포함한다. 데이터 캐쉬에서 데이터 로드가 부적중이면, 임시 부정확 데이터와 함께 스케쥴러를 떠난 파이프라인 내에 체류 중인 종속적 연산들이 존재할 수 있다. 리플레이 메커니즘은 부정확한 데이터를 이용하는 명령어를 추적하고 재실행한다. 종속적 연산들만이 리플레이될 필요가 있고 독립적 연산들은 완료되는 것이 허용된다. 프로세서의 한 실시예의 스케쥴러 및 리플레이 메커니즘은 또한, 텍스트 스트링 비교 연산을 위한 명령어 시퀀스들을 포착하도록 설계된다.In one embodiment, the uop schedulers 1302, 1304, 1306, and 1309 dispatch dependent operations before the parent load ends execution. Since the uops are speculatively scheduled and executed in the processor 1300, the processor 1300 also includes logic to handle memory misses. If the data load in the data cache is inadequate, there may be dependent operations that are staying in the pipeline leaving the scheduler with temporary inaccurate data. The replay mechanism tracks and reruns commands that use inaccurate data. Only dependent operations need to be replayed and independent operations are allowed to complete. The scheduler and replay mechanism of one embodiment of the processor is also designed to capture instruction sequences for text string comparison operations.

용어 "레지스터들"이란, 피연산자를 식별하는 명령어의 일부로서 이용되는 온보드 프로세서 스토리지 위치를 말할 수 있다. 즉, 레지스터들은 (프로그래머의 관점에서) 프로세서 외부로부터 이용가능한 것들이다. 그러나, 실시예의 레지스터는 그 의미가 특정한 타입의 회로로 제한되어서는 안 된다. 오히려, 실시예의 레지스터는 데이터를 저장 및 제공할 수 있고, 여기서 설명된 기능들을 수행할 수 있다. 여기서 설명된 레지스터들은, 전용 물리적 레지스터, 레지스터 개명을 이용하여 동적으로 할당되는 물리적 레지스터, 전용 및 동적으로 할당되는 물리적 레지스터들의 조합 등과 같은, 임의 개수의 상이한 기술들을 이용하여 프로세서 내에서 회로에 의해 구현될 수 있다. 한 실시예에서, 정수 레지스터는 32 비트 정수 데이터를 저장한다. 한 실시예의 레지스터 파일은 또한, 팩킹된 데이터를 위한 8개의 SIMD 레지스터를 포함한다. 이하의 논의를 위해, 레지스터는, CA, Santa Clara의 Intel Corporation으로부터의 MMX™ 기술로 인에이블된 마이크로프로세서 내의 64비트폭 MMX™ 레지스터(일부 경우에 'mm' 레지스터라고도 함)와 같은, 팩킹된 데이터를 보유하도록 설계된 데이터 레지스터인 것으로 이해된다. 정수 및 부동 소수점 형태 모두에서 이용가능한 이들 MMX 레지스터는 SIMD 및 SSE 명령어를 동반하는 팩킹된 데이터 요소와 함께 동작할 수 있다. 마찬가지로, SSE2, SSE3, SSE4 또는 그 이상(총칭적으로 "SSEx"라 함)의 기술에 관련된 128 비트 폭 XMM 레지스터가 또한 이러한 팩킹된 데이터 피연산자를 보유하는데 이용될 수 있다. 한 실시예에서, 팩킹된 데이터 및 정수 데이터를 저장하는데 있어서, 레지스터는 2개의 데이터 타입들간을 구분할 필요가 없다. 한 실시예에서, 정수 및 부동 소수점은 동일한 레지스터 파일이나 상이한 레지스터 파일에 포함된다. 또한, 한 실시예에서, 부동 소수점 및 정수 데이터는 상이한 레지스터 또는 동일한 레지스터에 저장될 수 있다.The term " registers " may refer to an onboard processor storage location used as part of an instruction identifying an operand. That is, the registers (from the programmer's point of view) are available from outside the processor. However, the registers of the embodiments should not be limited to circuits of a particular type in meaning. Rather, the registers of an embodiment may store and provide data and may perform the functions described herein. The registers described herein may be implemented by circuitry within the processor using any number of different techniques, such as a dedicated physical register, a physical register dynamically allocated using a register name, a combination of dedicated and dynamically allocated physical registers, . In one embodiment, the integer register stores 32-bit integer data. The register file of one embodiment also includes eight SIMD registers for packed data. For the following discussion, the registers may be stored in a packed, nonvolatile memory, such as a 64 bit wide MMX register (sometimes referred to as an 'mm' register) within a MMX ™ technology enabled microprocessor from Intel Corporation of Santa Clara It is understood to be a data register designed to hold data. These MMX registers, which are available in both integer and floating point types, can operate with packed data elements that accompany SIMD and SSE instructions. Similarly, a 128 bit wide XMM register associated with the description of SSE2, SSE3, SSE4 or more (generically referred to as " SSEx ") can also be used to hold these packed data operands. In one embodiment, in storing packed and integer data, the register need not distinguish between the two data types. In one embodiment, integer and floating point numbers are included in the same register file or in different register files. Further, in one embodiment, floating point and integer data may be stored in different registers or the same register.

도 14는 본 발명의 적어도 한 실시예에 따른 순차 파이프라인 및 레지스터 개명단, 비순차 발행/실행 파이프라인을 나타내는 블록도이다. 도 14는 본 발명의 적어도 한 실시예에 따른 프로세서에 포함되는 순차 아키텍쳐 코어 및 레지스터 개명 로직, 비순차 발행/실행 로직을 나타내는 블록도이다. 도 14에서 실선 박스는 순차 파이프라인을 나타내는 반면, 점선 박스는 레지스터 개명, 비순차 발행/실행 파이프라인을 나타낸다. 마찬가지로, 도 14에서 실선 박스는 순차 아키텍쳐 로직을 나타내는 반면, 점선 박스는 레지스터 개명 로직 및 비순차 발행/실행 로직을 나타낸다.Figure 14 is a block diagram illustrating a sequential pipeline and register list, a nonsequential issue / execution pipeline, in accordance with at least one embodiment of the present invention. Figure 14 is a block diagram illustrating sequential architecture cores and register renaming logic, unsequenced issue / execute logic included in a processor in accordance with at least one embodiment of the present invention. In Fig. 14, solid line boxes represent sequential pipelines, while dashed boxes represent register renames, nonsequential issue / execution pipelines. Likewise, solid line boxes in FIG. 14 represent sequential architecture logic while dashed boxes represent register renaming logic and nonsequential issuing / execution logic.

도 14에서, 프로세서 파이프라인(1400)은, 인출단(1402), 길이 디코드단(1404), 디코드단(1406), 할당단(1408), 개명단(1410), (발송 또는 발행이라고도 알려진) 스케쥴링단(1412), 레지스터 판독/메모리 판독단(1414), 실행단(1416), 라이트 백(write back)/메모리 기입단(1418), 예외 처리단(1422), 및 커밋단(1424)을 포함한다.In Figure 14, the processor pipeline 1400 includes an output stage 1402, a length decode stage 1404, a decode stage 1406, an assignment stage 1408, a list stage 1410, (also known as dispatch or issue) The scheduling stage 1412, the register read / memory read stage 1414, the execute stage 1416, the write back / memory write stage 1418, the exception handling stage 1422, .

도 14에서, 화살표는 2개 이상의 유닛들간의 결합을 나타내고, 화살표의 방향은 이들 유닛들간의 데이터 흐름의 방향을 나타낸다. 도 14는, 실행 엔진 유닛(1450)에 결합된 프론트 엔드 유닛(1430)을 포함하는 프로세서 코어(1490)를 도시하며, 실행 엔진 유닛(1450)과 프론트 엔드 유닛(1430) 모두는 메모리 유닛(1470)에 결합되어 있다.In Fig. 14, the arrows indicate the combination of two or more units, and the direction of the arrows indicate the direction of the data flow between these units. 14 illustrates a processor core 1490 that includes a front end unit 1430 coupled to execution engine unit 1450 and both execution engine unit 1450 and front end unit 1430 are coupled to memory unit 1470 ).

코어(1490)는 RISC(reduced instruction set computing) 코어, CISC(complex instruction set computing) 코어, VLIW(very long instruction word) 코어, 또는 하이브리드 또는 대안적 코어 타입일 수 있다. 역시 또 다른 옵션으로서, 코어(1490)는, 예를 들어, 네트워크 또는 통신 코어, 압축 엔진, 그래픽 코어 등과 같은, 특별 목적 코어일 수도 있다.Core 1490 may be a reduced instruction set computing (RISC) core, a complex instruction set computing (CISC) core, a very long instruction word (VLIW) core, or a hybrid or alternative core type. Still another option, the core 1490 may be a special purpose core, such as, for example, a network or communications core, a compression engine, a graphics core, or the like.

프론트 엔드 유닛(1430)은, 디코드 유닛(1440)에 결합된 명령어 인출 유닛(1438)에 결합된 명령어 TLB(translation lookaside buffer)(1436)에 결합된 명령어 캐쉬 유닛(1434)에 결합된 분기 예측 유닛(1432)을 포함한다. 디코드 유닛 또는 디코더는 명령어를 디코드하고, 출력으로서 하나 이상의 마이크로연산, 마이크로코드 진입점, 마이크로명령어, 기타의 명령어, 또는 기타의 제어 신호를 생성하며, 이들은 원래의 명령어로부터 디코드되거나, 기타의 방식으로 원래의 명령어를 반영하거나, 원래의 명령으로부터 유도된다. 디코더는 다양한 상이한 메커니즘들을 이용하여 구현될 수 있다. 적절한 메커니즘의 예로서는, 룩업 테이블, 하드웨어 구현, 프로그래머블 로직 어레이(PLA), 마이크로코드 판독 전용 메모리(ROM) 등이 포함되지만, 이것으로 제한되는 것은 아니다. 명령어 캐쉬 유닛(1434)은 또한, 메모리 유닛(1470) 내의 레벨 2 (L2) 캐쉬 유닛(1476)에 결합된다. 디코드 유닛(1440)은 실행 엔진 유닛(1450) 내의 개명/할당기 유닛(1452)에 결합된다.Front end unit 1430 includes a branch prediction unit 1434 coupled to instruction cache unit 1434 coupled to instruction translation unit 1434 coupled to instruction fetch unit 1438 coupled to decode unit 1440, (1432). Decode units or decoders decode the instructions and generate as output one or more micro-operations, microcode entry points, microinstructions, other instructions, or other control signals that are decoded from the original instruction, It reflects the original command or is derived from the original command. Decoders may be implemented using a variety of different mechanisms. Examples of suitable mechanisms include, but are not limited to, lookup tables, hardware implementations, programmable logic arrays (PLAs), microcode read only memories (ROMs), and the like. Instruction cache unit 1434 is also coupled to a level two (L2) cache unit 1476 in memory unit 1470. Decode unit 1440 is coupled to rename / assignor unit 1452 in execution engine unit 1450.

실행 엔진 유닛(1450)은, 폐기 유닛(1454) 및 한 세트의 하나 이상의 스케쥴러 유닛(들)(1456)에 결합된 개명/할당기 유닛(1452)을 포함한다. 스케쥴러 유닛(들)(1456)은, 예약소, 중앙 명령어 윈도우 등을 포함한, 임의 개수의 상이한 스케쥴러들을 나타낼 수 있다. 스케쥴러 유닛(들)(1456)은 물리적 레지스터 파일(들) 유닛(들)(1458)에 결합된다. 물리적 레지스터 파일(들) 유닛(1458) 각각은 하나 이상의 물리적 레지스터 파일들을 나타내며, 이들 레지스터들 중 서로 다른 레지스터들은, 스칼라 정수, 스칼라 부동 소수점, 팩킹된 정수, 팩킹된 부동 소수점, 벡터 정수, 벡터 부동 소수점 등, 상태(예를 들어, 수행될 다음 명령어의 어드레스가 되는 명령어 포인터) 등과 같은, 하나 이상의 서로 상이한 데이터 타입을 저장한다. 물리적 레지스터 파일(들) 유닛(들)(1458)은 폐기 유닛(1454)에 의해 오버랩되어, (예를 들어, 재정렬 버퍼(들) 및 폐기 레지스터 파일(들)을 이용하여, 미래 파일(들), 이력 버퍼(들), 및 폐기 레지스터 파일(들)을 이용하여; 레지스터 맵 및 레지스터 푸울을 이용하여; 등) 레지스터 개명과 비순차 실행이 구현될 수 있는 다양한 방식들을 나타낸다. 일반적으로, 아키텍쳐 레지스터들은 프로세서의 외부로부터 또는 프로그래머의 관점으로부터 볼 수 있다. 이 레지스터들은 임의의 공지된 특정한 타입의 회로로 제한되지 않는다. 여기서 설명된 바와 같이 데이터를 저장하고 제공할 수 있는 한, 다양한 상이한 타입들의 레지스터가 적절하다. 적절한 레지스터의 예로서는, 전용 물리적 레지스터, 레지스터 개명을 이용하여 동적으로 할당되는 물리적 레지스터, 전용 및 동적으로 할당되는 물리적 레지스터의 조합 등이 포함되지만, 이것으로 제한되는 것은 아니다. 폐기 유닛(1454) 및 물리적 레지스터 파일(들) 유닛(들)(1458)은 실행 클러스터(들)(1460)에 결합된다. 실행 클러스터(들)(1460)은 한 세트의 하나 이상의 실행 유닛(1462)과 한 세트의 하나 이상의 메모리 액세스 유닛(1464)을 포함한다. 실행 유닛(1462)은 다양한 연산(예를 들어, 시프트, 가산, 감산, 승산)을 수행하고, 다양한 타입의 데이터(예를 들어, 스칼라 부동 소수점, 팩킹된 정수, 팩킹된 부동 소수점, 벡터 정수, 벡터 부동 소수점)에 관해 연산할 수 있다. 일부 실시예는 특정한 기능이나 기능 세트에 전용된 다수의 실행 유닛을 포함할 수 있지만, 다른 실시예는 단 하나의 실행 유닛, 또는 모두가 모든 기능을 수행하는 복수의 실행 유닛을 포함할 수도 있다. 스케쥴러 유닛(들)(1456), 물리적 레지스터 파일(들) 유닛(들)(1458), 및 실행 클러스터(들)(1460)은 아마도 복수개인 것으로 도시되어 있는데, 이것은 소정 실시예는 소정 타입의 데이터/연산에 대해 별개의 파이프라인들(예를 들어, 스칼러 정수 파이프라인, 스칼라 부동 소수점/팩킹된 정수/팩킹된 부동 소수점/벡터 정수/벡터 부동 소수점 파이프라인, 및/또는 각각이 자신의 스케쥴러 유닛, 물리적 레지스터 파일(들), 및/또는 실행 클러스터를 갖는 메모리 액세스 파이프라인, 별개의 메모리 액세스 파이프라인의 경우, 이 파이프라인의 실행 클러스터만이 메모리 액세스 유닛(들)(1464)을 갖는 소정 실시예가 구현될 수 있다)을 생성할 수 있기 때문이다. 별개의 파이프라인들이 이용되는 경우, 이들 파이프라인들 중 하나 이상은 비순차 발행/실행이고 나머지는 순차형일 수 있다는 점도 이해하여야 한다.Execution engine unit 1450 includes a renumber / allocator unit 1452 coupled to a discard unit 1454 and a set of one or more scheduler unit (s) 1456. The scheduler unit (s) 1456 may represent any number of different schedulers, including scheduler, central command window, and so on. Scheduler unit (s) 1456 are coupled to physical register file (s) unit (s) 1458. [ Each of the physical register file (s) units 1458 represents one or more physical register files, wherein the different registers are scalar, scalar floating, packed integer, packed floating point, vector integer, vector floating (E.g., a pointer to an instruction that is the address of the next instruction to be performed), and so on. The physical register file (s) unit (s) 1458 may be overlapped by the discarding unit 1454 such that the future file (s), such as the reorder buffer (s) , History buffer (s), and discard register file (s), using register maps and register pools, etc.) Register Renames and non-sequential executions can be implemented. In general, architectural registers can be viewed from outside the processor or from a programmer's perspective. These registers are not limited to any particular type of circuit known in the art. As long as data can be stored and provided as described herein, a variety of different types of registers are appropriate. Examples of suitable registers include, but are not limited to, dedicated physical registers, dynamically allocated physical registers using register names, and combinations of dedicated and dynamically allocated physical registers. Destroy unit 1454 and physical register file (s) unit (s) 1458 are coupled to execution cluster (s) 1460. The execution cluster (s) 1460 includes a set of one or more execution units 1462 and a set of one or more memory access units 1464. Execution unit 1462 may perform various operations (e.g., shift, add, subtract, multiply) and may include various types of data (e.g., scalar floating point, packed integer, packed floating point, vector integer, Vector floating point). Some embodiments may include a plurality of execution units dedicated to a particular function or set of functions, but other embodiments may include only one execution unit, or a plurality of execution units, all of which perform all functions. The scheduler unit (s) 1456, physical register file (s) unit (s) 1458, and execution cluster (s) 1460 are shown as possibly multiple, (E.g., scalar integer pipeline, scalar floating point / packed integer / packed floating point / vector integer / vector floating point pipeline, and / or each of its own scheduler In the case of a memory access pipeline, a separate memory access pipeline, with a unit, physical register file (s), and / or execution clusters, only the execution cluster of this pipeline has a predetermined The embodiment can be implemented). It should also be understood that when separate pipelines are used, one or more of these pipelines may be nonsequential issue / execution and the remainder may be sequential.

한 세트의 메모리 액세스 유닛(1464)은 메모리 유닛(1470)에 결합되고, 메모리 유닛(1470)은 레벨 2(L2) 캐쉬 유닛(1476)에 결합된 데이터 캐쉬 유닛(1474)에 결합된 데이터 TLB 유닛(1472)을 포함한다. 한 예시적 실시예에서, 메모리 액세스 유닛(1464)은 로드 유닛, 주소 저장 유닛, 및 데이터 저장 유닛을 포함할 수 있고, 이들 각각은 메모리 유닛(470) 내의 데이터 TLB 유닛(1472)에 결합된다. L2 캐쉬 유닛(1476)은 하나 이상의 다른 레벨의 캐쉬와 결국에는 메인 메모리에 결합된다.A set of memory access units 1464 is coupled to a memory unit 1470 and a memory unit 1470 is coupled to a data TLB unit 1470 coupled to a data cache unit 1474 coupled to a level two (1472). In one exemplary embodiment, memory access unit 1464 may include a load unit, an address storage unit, and a data storage unit, each of which is coupled to a data TLB unit 1472 in memory unit 470. L2 cache unit 1476 is coupled to one or more other levels of cache and eventually to main memory.

예로서, 예시적인 레지스터 개명, 비순차 발행/실행 코어 아키텍쳐는 다음과 같이 파이프라인(400)을 구현할 수 있다: 1) 명령어 인출(1438)은 인출 및 길이 디코딩단(1402 및 1404)을 수행한다; 2) 디코드 유닛(1440)은 디코드단(1406)을 수행한다; 3) 개명/할당기 유닛(1452)은 할당단(1408) 및 개명단(1410)을 수행한다; 4) 스케쥴러 유닛(들)(1456)은 스케쥴단(1412)을 수행한다; 5) 물리적 레지스터 파일(들) 유닛(들)(1458) 및 메모리 유닛(1470)은 레지스터 판독/메모리 판독단(1414)을 수행한다; 실행 클러스터(1460)는 실행단(1416)을 수행한다; 6) 메모리 유닛(1470) 및 물리적 레지스터 파일(들) 유닛(들)(1458)은 라이트 백(write back)/메모리 기입단(1418)을 수행한다; 7) 예외 처리단(1422)에는 다양한 유닛이 관여될 수 있다; 및 8) 폐기 유닛(1454) 및 물리적 레지스터 파일(들) 유닛(들)(1458)은 커밋단(commit stage)(1424)을 수행한다.By way of example, the exemplary register rename, nonsequential issue / execute core architecture may implement pipeline 400 as follows: 1) instruction fetch 1438 performs fetch and length decoding stages 1402 and 1404 ; 2) Decode unit 1440 performs decode stage 1406; 3) rename / allocator unit 1452 performs allocation stage 1408 and list stage 1410; 4) The scheduler unit (s) 1456 performs the scheduling stage 1412; 5) The physical register file (s) unit (s) 1458 and memory unit 1470 perform a register read / memory read stage 1414; Execution cluster 1460 performs execution stage 1416; 6) The memory unit 1470 and the physical register file (s) unit (s) 1458 perform a write back / memory write stage 1418; 7) Exception handling stage 1422 may involve various units; And 8) Destroy unit 1454 and physical register file (s) unit (s) 1458 perform a commit stage 1424.

코어(1490)는 하나 이상의 명령어 세트(예를 들어, (더 새로운 버전에 추가된 소정의 확장판을 갖는) x86 명령어 세트); CA, Sunnyvale의 MIPS Technologies의 MIPS 명령어 세트; CA, Sunnyvale의 ARM Holdings의 (NEON 등의 선택사항적인 추가 확장판을 갖는) ARM 명령어 세트를 지원할 수 있다.Core 1490 may include one or more instruction sets (e.g., an x86 instruction set (with some extensions added to the newer version)); MIPS Technologies' MIPS instruction set from Sunnyvale, CA; CA, ARM Holdings of Sunnyvale (with optional additional extensions such as NEON).

코어는 멀티쓰레딩(2개의 이상을 병렬 세트의 연산이나 쓰레드를 실행하는 것)을 지원할 수 있고, 시분할 멀티쓰레딩, (단일의 물리적 코어가, 물리적 코어가 동시 멀티쓰레딩할 수 있는 쓰레드들 각각에 대해 논리적 코어를 제공하는) 동시 멀티쓰레딩, 또는 이들의 조합(예를 들어, Intel® Hyperthreading 기술 등의 시분할 인출 및 디코딩과 그 이후의 동시 멀티쓰레딩)을 포함한 다양한 방식으로 멀티쓰레딩을 행할 수 있다는 것을 이해하여야 한다.The core can support multithreading (running more than one parallel set of operations or threads), time-divisional multithreading (for a single physical core, for each thread that the physical core can simultaneously multithread (E.g., providing logical cores), or combinations thereof (e.g., time-division fetching and decoding such as Intel® Hyperthreading technology, and concurrent multithreading thereafter). shall.

레지스터 개명이 비순차 실행의 정황에서 설명되었지만, 레지스터 개명은 순차 아키텍쳐에서 이용될 수도 있다는 점을 이해하여야 한다. 프로세서의 예시적 실시예는 또한 별개의 명령어 및 데이터 캐쉬 유닛들(1434/1474)과 공유된 L2 캐쉬 유닛(1476)을 포함하고 있지만, 대안적 실시예는 명령어와 데이터 양쪽 모두에 대해 단일의 내부 캐쉬, 예를 들어, 레벨 1(L1) 내부 캐쉬를 가지거나, 복수 레벨의 내부 캐쉬를 가질 수도 있다. 일부 실시예에서, 시스템은 내부 캐쉬와, 코어 및/또는 프로세서에 외부적인 외부 캐쉬의 조합을 포함할 수 있다. 대안으로서, 캐쉬 모두가 코어 및/또는 프로세서에 대해 외부적일 수 있다.While register renames have been described in the context of nonsequential execution, it should be understood that register renames may be used in sequential architectures. Although the exemplary embodiment of the processor also includes a separate instruction and data cache units 1434/1474 and a shared L2 cache unit 1476, an alternative embodiment may include a single internal < RTI ID = 0.0 > Cache, for example, a level 1 (L1) internal cache, or may have multiple levels of internal cache. In some embodiments, the system may include a combination of an internal cache and an external cache external to the core and / or processor. Alternatively, both caches may be external to the core and / or processor.

실시예에서, 디스플레이는 터치스크린 또는 기타의 터치 감응 디스플레이를 포함한다. 터치감응 디스플레이(또는 터치스크린)은 활성 영역과 비활성 영역을 포함할 수 있다. 활성 영역은 터치 입력을 수신하는 영역이고 플랫폼의 한 컴포넌트는 (디스플레이를 통해서 등) 터치 입력에 응답한다. 비활성 영역은 터치 입력에 응답하지 않는 터치-감응 디스플레이(또는 터치스크린)의 영역일 수 있다. 즉, 터치 입력이 비활성 영역에 제공되더라도, 플랫폼은 디스플레이를 변경하지 않거나 어떠한 다른 동작도 수행하지 않을 수 있다. 플랫폼은 (비활성 영역에 대한) 터치 입력이 플랫폼에 의해 인식되지 않은 것처럼 보일 수 있다.In an embodiment, the display comprises a touch screen or other touch sensitive display. The touch sensitive display (or touch screen) may include an active area and an inactive area. The active area is the area that receives the touch input and one component of the platform responds to the touch input (such as through the display). The inactive area may be the area of the touch-sensitive display (or touch screen) that does not respond to the touch input. That is, even if the touch input is provided in the inactive area, the platform may not change the display or perform any other operation. The platform may appear to be unaware of the touch input (for the inactive area) by the platform.

실시예들은 또한, 클램쉘 모드와 태블릿 모드 사이에서 전환할 수 있는 전화가능한 컴퓨팅 장치에도 적용가능할 수 있다. 전환가능한 컴퓨팅 장치에서, 뚜껑 또는 디스플레이는 (터치-감응 디스플레이를 포함하는) 태블릿 또는 태블릿 디스플레이라 부를 수 있다. 그러나, 전환가능한 컴퓨팅 장치에서 태블릿 디스플레이(또는 뚜껑)는 베이스로부터 분리되지 않을 수 있다.Embodiments may also be applicable to phoneable computing devices that may switch between a clamshell mode and a tablet mode. In a switchable computing device, the lid or display may be referred to as a tablet or tablet display (including a touch-sensitive display). However, in a switchable computing device, the tablet display (or lid) may not be detached from the base.

실시예들은, 태블릿의 동작 모드에 기초하거나 사용자 입력에 기초하여 터치-감응 디스플레이(또는 터치스크린)의 활성 영역(또는 활성 디스플레이 영역)을 제어할 수 있다. 예를 들어, 클램쉘 모드에서, 터치-감응 디스플레이(또는 터치스크린)은, 터치-감응 디스플레이(또는 터치스크린)이 작은 활성 영역(또는 작은 디스플레이 영역)을 가질 수 있는 태블릿 모두에 있을 때에 비해 큰 활성 영역(또는 큰 디스플레이 영역)을 가질 수 있다. 터치-감응 디스플레이(또는 터치스크린)의 비활성 영역(또는 가상 베젤)의 크기도 역시 활성 영역의 변경된 크기에 기초하여 변할 수 있다. 이것은 활성 영역을 우연히 터치하면서 태블릿을 더 용이하게 잡고 있는 것을 허용할 수 있다. 비활성 영역은 가상 베젤이라 부를 수 있고, 이 가상 베젤은 디스플레이의 활성 디스플레이를 변경함으로써 크기가 감소하거나 증가하는 베젤 영역이다.Embodiments may control the active area (or active display area) of the touch-sensitive display (or touch screen) based on the operating mode of the tablet or based on user input. For example, in the clamshell mode, the touch-sensitive display (or touch screen) is larger than when the touch-sensitive display (or touch screen) is on both of the tablets that can have a small active area It may have an active area (or a large display area). The size of the inactive area (or virtual bezel) of the touch-sensitive display (or touch screen) may also vary based on the changed size of the active area. This may allow for easier holding of the tablet while accidentally touching the active area. The inactive area can be referred to as a virtual bezel, which is a bezel area that decreases or increases in size by changing the active display of the display.

사용자는 자신의 손으로 태블릿을 잡고 있을 수도 있다. 따라서, 터치 가능형 태블릿을 이용할 때, 큰 베젤 영역은, 사용자가 태블릿을 손으로 잡고 있을 때 디스플레이 영역(또는 활성 디스플레이 영역)을 차단하지 않거나 부주의한 터치 이벤트를 야기하지 않으므로 바람직하다. 그러나, 클램쉘 모드에 있을 때, 베젤은 더 이상 필요하지 않고 활성 디스플레이 영역을 최대화하기 위해 가능한한 작은 베젤을 갖는 것이 바람직할 수 있다. 태블릿 모드와 클램쉘 모드 모두에서 동작하는 전자 장치(예를 들어, 분리가능한 태블릿 또는 전환가능한 랩탑)에서, 가상 베젤은 전자 장치가 어떻게 이용되고 있는지에 따라 최적의 디스플레이 영역을 제공할 수 있다.The user may hold the tablet with his or her hand. Thus, when using a touch-enabled tablet, a large bezel area is desirable because it does not block the display area (or active display area) when the user is holding the tablet by hand or does not cause an inadvertent touch event. However, when in the clamshell mode, it may be desirable to have a bezel as small as possible to maximize the active display area, which is no longer needed. In electronic devices (e.g., detachable tablets or switchable laptops) that operate in both tablet mode and clamshell mode, the virtual bezel can provide an optimal display area depending on how the electronic device is being used.

가상 베젤은 디스플레이의 외측 엣지 주변에 조절가능한 컬러 경계를 가질 수 있다. 디스플레이 주변에서 그 경계를 증가시키거나 감소시킴으로써, 디스플레이는 크기를 변경하는 것처럼 보일 수 있다. 화소 크기의 변화가 디스플레이 하드웨어 및/또는 OS 구동기에 의해 수행될 수 있어서, OS는 디스플레이 영역 크기의 물리적 변환에 의해 영향받지 않을 수 있다.The virtual bezel may have an adjustable color boundary around the outer edge of the display. By increasing or decreasing the boundary around the display, the display may appear to change size. A change in pixel size may be performed by the display hardware and / or the OS driver so that the OS may not be affected by the physical translation of the display area size.

실시예는 터치스크린 능력을 갖춘 디스플레이에 대한 베젤 영역에 콘텐츠를 렌더링하기 위해 동적 실시간 결정을 통해 콘텐츠를 디스플레이함으로써 베젤의 효과적인 이용을 가능케 한다. 콘텐츠가 동적으로 렌더링될 수 있는 베젤 영역은 가상 베젤이라 부르고, 베젤 영역이 콘텐츠를 프리젠팅하기 위해 동적으로 온 또는 오프되는 시스템은 가상 베젤-기반의 시스템이라 부른다. 가상 베젤은 1차 디스플레이 외에도 베젤 영역에서의 디스플레이 렌더링을 가능케한다.Embodiments enable effective use of the bezel by displaying content through dynamic real-time determination to render the content in a bezel region for a display with touch screen capabilities. A bezel area where content can be dynamically rendered is called a virtual bezel, and a system in which a bezel area is dynamically turned on or off to present content is called a virtual bezel-based system. The virtual bezel enables display rendering in the bezel area in addition to the primary display.

실시예들은 콘텐츠를 디스플레이하기 위해 베젤 영역을 언제 어떻게 이용할 것인지를 결정하는 지능을 이용하고, 여기서, 디스플레이 렌더링을 위한 베젤의 이러한 지능적 인에이블은 기준의 조합을 통한 것일 수 있다. (센서, 장치 구성, 콘텐츠 타입, 1차 디스플레이 활동 등의) 결정 벡터가 지능적 방식으로 이용되어 렌더링에 대해 디스플레이 영역을 인에이블/디스에이블할 수 있다. 베젤의 각 측면(좌, 우, 상, 하)은 이들의 인에이블/디스에이블 뿐만 아니라 렌더링되는 콘텐츠의 타입에 관해 독립적으로 제어될 수 있다. 콘텐츠는 디스플레이에서 디스플레이 중에 있는 내용(1차 디스플레이 콘텐츠), 디스플레이 주변(환경, 기타의 장치), 및 사용자 선호사항에 기초하여 렌더링될 수 있다. 1차 디스플레이와 베젤 영역 사이의 매끈한 콘텐츠 이동과 상호작용이 실현될 수 있다.Embodiments use intelligence to determine when and how to use the bezel region to display content, where this intelligent enable of the bezel for display rendering may be through a combination of criteria. A decision vector (such as sensor, device configuration, content type, primary display activity, etc.) can be used in an intelligent manner to enable / disable the display area for rendering. Each side (left, right, top, bottom) of the bezel can be controlled independently of their enable / disable as well as the type of content being rendered. The content may be rendered on the display based on the content (primary display content) being displayed, the periphery of the display (environment, other devices), and user preferences. Smooth content movement and interaction between the primary display and the bezel region can be realized.

실시예들은 터치-감응 디스플레이 및 그 적어도 일부가 하드웨어인 디스플레이 로직을 포함하는 컴퓨팅 장치를 제공할 수 있다. 이 디스플레이 로직은 터치-감응 디스플레이의 활성 영역의 크기와 터치-감응 디스플레이의 비활성 영역의 크기를, 장치의 구성, 디스플레이될 콘텐츠 등에 기초하여 제어할 수 있다. 여기서 설명된 바와 같이, 디스플레이 로직은 상이한 실시예에서 추가의 동작을 수행할 수 있다.Embodiments can provide a computing device that includes a touch-sensitive display and display logic wherein at least a portion of the display is hardware. The display logic can control the size of the active area of the touch-sensitive display and the size of the inactive area of the touch-sensitive display based on the configuration of the device, the content to be displayed, and the like. As described herein, the display logic may perform additional operations in different embodiments.

다양한 실시예에서, 플랫폼은, 시스템 온 칩(SoC) 등의 플랫폼의 프로세서 또는 기타의 프로세서가 저전력 상태로 진입하여 유지되는 것을 가능케하는 방식으로 휴먼 인터페이스 장치(HID; human interface device) 데이터의 분산된 전처리를 가능케할 수 있다. 더 구체적으로는, 실시예는, 그 정보가 HID의 비활성 부분에 존재할 때 사용자로부터 수신되는 HID 정보의 분산된 필터링을 수행한다. 여기서 설명된 실시예들은 터치스크린 HID의 정황에서 분산된 전처리에 관한 것이지만, 본 발명의 범위는 이 점에서 제한되지 않고 터치패드 또는 기타의 터치 입력 장치, 마우스, 기타의 제스쳐 입력 장치 등을 포함하는 다른 HID와 연계하여 다른 구현들이 이용될 수도 있다는 점을 이해해야 한다.In various embodiments, the platform may be a distributed (or distributed) system of human interface device (HID) data in a manner that enables a processor or other processor of the platform, such as a system- Pre-processing can be enabled. More specifically, the embodiment performs distributed filtering of HID information received from the user when the information is present in the inactive portion of the HID. Although the embodiments described herein relate to preprocessing dispersed in the context of a touch screen HID, the scope of the invention is not limited in this respect, but rather includes a touchpad or other touch input device, a mouse, It should be appreciated that other implementations may be used in conjunction with other HIDs.

터치스크린 제어기 등의 HID와 연관된 제어기는 이 분산된 전처리를 수행하여 비활성 구역 내에서 수신된 임의의 터치 입력을 필터링 아웃하는 로직을 포함할 수 있다. 여기서 설명된 예로서, 이들 비활성 구역은, 가상 베젤 등의 디스플레이의 비활성 부분들과 중첩하는 터치스크린의 부분에 대응할 수 있다. 다른 예들은 활성 소프트 버턴 등에 의해 인에이블되는 사용자 입력 피쳐 외부의 영역에 대응하는 비활성 구역을 포함한다.A controller associated with the HID, such as a touch screen controller, may include logic to perform this dispersed preprocessing to filter out any touch inputs received within the inactive area. As an example described herein, these inactive zones may correspond to portions of the touch screen that overlap with inactive portions of the display, such as a virtual bezel. Other examples include an inactive area corresponding to an area outside the user input feature that is enabled by an active soft button or the like.

일부 구현에서, 디스플레이 주변부에서 및 1차 디스플레이 주변에서 구성되는 2차 디스플레이 영역을 제어하는 것 대신에, 복수의 임의 형상의 윈도우가 제공되어 사용자 입력의 수신을 가능케할 수 있다. 예를 들어, 영화 또는 기타의 비디오 콘텐츠는 1차 디스플레이 영역에서 디스플레이될 수 있고, 예를 들어, 디스플레이 하부의 한 세트의 활성의 임의 디스플레이 영역은 영화 및/또는 오디오 제어 버턴, 예를 들어, 다음 장면, 이전 장면, 잠시멈춤, 정지, 재생, 오디오 업/다운, 뷰 등으로서 제공될 수 있다. 이 예에서, 가상 베젤 모드에 있고 최소 디스플레이 영역(예를 들어, 720 화소 버전)에서 영화를 실행하고 있는 동안, 소프트 버턴에 대응하는 영화 이미지 또는 미리결정된 서브영역이나 화소들 내의 임의의 터치가 호스트 프로세서에 전달될 수도 있다. 가장 베젤 주변의 엄지손가락 등의 다른 터치 이벤트들은 터치스크린 제어기에서 필터링될 수 있고 전달되지 않는다.In some implementations, instead of controlling the secondary display area configured at the display periphery and around the primary display, a plurality of arbitrary shaped windows may be provided to enable reception of user input. For example, a movie or other video content may be displayed in the primary display area, for example, a set of active optional display areas under the display may include a movie and / or audio control button, e.g., A scene, a previous scene, a pause, a stop, a playback, an audio up / down, a view, and the like. In this example, while the movie is being played in the minimum display area (e.g., 720 pixel version) in the virtual bezel mode, the movie image corresponding to the soft button or any touch within the predetermined sub- May be delivered to the processor. Other touch events, such as the thumb around the bezel, can be filtered and not passed on the touch screen controller.

많은 디스플레이들은 다양한 특징을 이용하여 저전력 능력을 갈구하고 있다. 예를 들어, LED(light emitting diode) 디스플레이는 디스플레이 내의 화소들을 선택적으로 조명하면서 다른 화소들은 오프시켜 둘 수 있다(이것은 1차 디스플레이의 대부분을 오프시키지만 작은 상태 이미지만 볼 수 있게 해두는데 이용될 수 있다). 마찬가지로, 전자잉크(E-ink) 또는 쌍안정 디스플레이는 사용자에게 정적 이미지를 보여주면서 제로 전력을 소비한다. 그리고, 패널 자체 리프레시 기술을 갖춘 디스플레이는 사용자에게 정적 이미지를 디스플레이하면서 전력을 소비하지만, 플랫폼의 나머지가 저전력 상태에 진입하는 것을 허용한다. 이들 저전력 상태들은, E-북 또는 PDF(portable document format) 문서를 읽고 있을 때와 같이, 이들이 정적 이미지만을 디스플레이하고 있을 때에 특히 효과적이다.Many displays are craving low power capabilities using a variety of features. For example, an LED (light emitting diode) display can selectively illuminate pixels in the display while leaving other pixels off (this can be used to turn off most of the primary display but only to see small state images have). Likewise, electronic ink (E-ink) or bistable displays consume zero power while showing a static image to the user. And a display with panel self-refresh technology consumes power while displaying a static image to the user, but allows the rest of the platform to enter a low power state. These low power states are particularly effective when they are only displaying static images, such as when reading E-books or PDF (portable document format) documents.

실시예를 이용하여, 디스플레이의 외측 부분 주변 등의 터치스크린의 무효 부분 내의 터치 접촉은 터치스크린 제어기에 의해 필터링될 수 있다. 이 필터링은 이로써, 호스트 프로세서가 계속 무효한 터치 데이터를 분석하고 폐기하게 유지하여 프로세서/플랫폼이 저전력 상태로 천이하는 것(또는 저전력 상태를 종료하게 하는 것)을 방지하는 인터럽트의 생성을 회피한다.By way of example, the touch contact in the invalid portion of the touch screen, such as around the outer portion of the display, can be filtered by the touch screen controller. This filtering thereby avoids the generation of an interrupt that prevents the processor / platform from transitioning to a low power state (or causing it to terminate the low power state) by keeping analyzing and discarding invalid touch data over time.

일반적으로, 터치스크린 제어기는, 아날로그 터치스크린 입력들을 분석하고 이들을 터치스크린과의 인간 상호작용의 디지털 표현으로 맵핑하며 이 정보를 프로세서에 전달하도록 구성된다. 다른 구현에서, 터치 제어기 기능이 터치스크린 자체에 통합되거나, 터치스크린 및 터치스크린 제어기 양쪽 모두가 디스플레이 패널 자체에 통합될 수도 있다.Generally, a touch screen controller is configured to analyze analog touch screen inputs and map them to a digital representation of a human interaction with the touch screen and deliver this information to the processor. In other implementations, the touch controller functionality may be integrated into the touch screen itself, or both the touch screen and the touch screen controller may be integrated into the display panel itself.

터치스크린 데이터의 분산된 전처리는 플랫폼 전력을 감소시킬 수 있고, 여기서, 전처리 컴포넌트는 (원시) 터치스크린 데이터 또는 터치스크린 데이터의 서브셋을 분석해 이 터치스크린 데이터 내의 적절성을 결정한다. 상이한 실시예에서, 이들 전처리 컴포넌트들은, RTL(register transfer level) 또는 마이크로코드 등의 하드웨어에서 구현될 수 있다. 전처리 컴포넌트는 터치스크린에 근접하거나 그 내부에 있을 수 있다. 이 터치스크린은 플랫폼의 1차(또는 2차 등) 디스플레이 또는 외부 디스플레이(또는 디스플레이)에 근접할 수 있다. 예를 들어, 분산된 처리는 터치스크린과 프로세서 사이의 데이터 경로 내의 임의의 장소에서 구현될 수 있다.Distributed preprocessing of touch screen data can reduce platform power, where the preprocessing component analyzes the (raw) touch screen data or a subset of the touch screen data to determine its suitability within the touch screen data. In different embodiments, these preprocessing components may be implemented in hardware such as register transfer level (RTL) or microcode. The preprocessing component may be proximate to or within the touch screen. The touch screen may be proximate to a primary (or secondary) display or an external display (or display) of the platform. For example, the distributed processing may be implemented anywhere in the data path between the touch screen and the processor.

이제 도 15a를 참조하면, 본 발명의 실시예에 따른 시스템의 일부의 블록도가 도시되어 있다. 도 15a에 도시된 바와 같이, 시스템(1500)은 터치 데이터에 의한 사용자 입력을 위한 기능을 제공하는 임의 타입의 플랫폼일 수 있다. 예로서, 플랫폼(1500)은, 스마트폰, 태블릿 컴퓨터, Ultrabook™ 컴퓨터, 또는 기타의 랩탑 또는 노트북 장치 등의 모바일 저전력 장치일 수 있다. 도 15a에서 볼 수 있는 바와 같이, 플랫폼(1500)은, 소정 실시예에서 중앙 처리 유닛(CPU)인 프로세서(1510)를 포함한다. 프로세서(1510)는 멀티코어 프로세서일 수 있고 인터커넥트(1515)를 통해 주변기기 제어기 허브(PCH)(1520)에 결합된다. 일부 실시예에서, 프로세서(1510) 및 PCH(1520)는, 일부 실시예에서는 단일 반도체 다이 상에 구현될 수 있는 SoC 등의 단일 집적 회로(IC)에 통합될 수 있다. 다른 구현에서 프로세서(1510) 및 PCH(1520)는 별개의 집적 회로일 수 있다.Referring now to FIG. 15A, a block diagram of a portion of a system according to an embodiment of the present invention is shown. As shown in FIG. 15A, system 1500 may be any type of platform that provides functionality for user input by touch data. By way of example, platform 1500 may be a mobile low power device, such as a smartphone, tablet computer, Ultrabook ™ computer, or other laptop or notebook device. As can be seen in FIG. 15A, the platform 1500 includes a processor 1510, which in some embodiments is a central processing unit (CPU). The processor 1510 may be a multicore processor and is coupled to a peripheral controller hub (PCH) 1520 via an interconnect 1515. In some embodiments, processor 1510 and PCH 1520 may be integrated into a single integrated circuit (IC), such as SoC, which in some embodiments may be implemented on a single semiconductor die. In other implementations, processor 1510 and PCH 1520 may be separate integrated circuits.

플랫폼(1500)은, 소정 실시예에서는, 액정 디스플레이(LCD), LED 디스플레이, 유기 LED(OLED) 디스플레이 등의 소정 타입의 디스플레이일 수 있는 디스플레이(1530)를 더 포함한다. 보다시피, 프로세서(1510)는 비디오 인터페이스(1535)를 통해 디스플레이(1530)에 디스플레이 정보를 제공한다. 도시된 실시예에서, 디스플레이(1530)는, 비활성 또는 가상 베젤 영역(1532)에 의해 둘러싸인 1차 디스플레이 영역(1534)에서 활성이다. 용어 "가상 베젤" 및 "2차 디스플레이 영역"은 메인 디스플레이 영역 외부의 디스플레이 패널의 영역을 지칭하기 위해 여기서는 상호교환가능하게 사용된다는 점에 유의한다.The platform 1500 further includes a display 1530, which in certain embodiments may be any type of display, such as a liquid crystal display (LCD), an LED display, an organic LED (OLED) As can be seen, the processor 1510 provides display information to the display 1530 via the video interface 1535. In the illustrated embodiment, the display 1530 is active in the primary display area 1534 surrounded by the inactive or virtual bezel areas 1532. [ It should be noted that the terms " virtual bezel " and " secondary display area " are used interchangeably herein to refer to areas of the display panel outside the main display area.

디스플레이(1530) 위에는 사용자로부터의 터치 입력을 감지하는 그리드 등의 입력 회로를 포함하는 터치스크린(1540)이 놓인다. 일부 실시예에서, 터치스크린 제어기 디스플레이와 터치스크린은 통합된 모듈이다. 예로서, 디스플레이는 한 측에는 인쇄된 디스플레이를 갖는 1조각의 유리와 다른 측에는 라미네이트된 터치스크린으로 형성될 수 있고, 통합된 터치스크린 제어기를 더 포함할 수 있다. 다음으로, 터치스크린(1540)은 여기서 설명된 분산된 전처리를 수행하도록 구성된 로직(1555)을 포함하는 터치스크린 제어기(1550)에 결합된다. 소정 실시예에서, 터치 제어기(1550)는 마이크로코드를 포함하고 및/또는 터치 펌웨어를 실행하도록 구성된 마이크로제어기로서 구현될 수 있다. 프로세서(1510)에서의 처리를 위한 인입 터치 데이터를 제공하기 위해, 터치 제어기(1550)는 USB(universal serial bus) 인터페이스, I2C(inter-integrated circuit) 인터페이스 또는 UART(universal asynchronous receiver transmitter) 전송 경로로서 구성될 수 있는 인터커넥트(1545)를 통해 PCH(1520)에 결합된다. 도 15a에는 유선 인터커넥트에 의해 전달되는 것으로 도시되어 있지만, 전달은, (디지털 전자간판(digital signage) 응용을 위한) 터치스크린을 갖춘 원격/외부 올-인-원(AIO; All-In-One) 디스플레이로의 WiFi™ 또는 Ethernet 접속 등의 무선 또는 와이어라인 통신에 의할 수도 있다.Above the display 1530 is a touch screen 1540 that includes input circuitry such as a grid to sense touch input from a user. In some embodiments, the touch screen controller display and the touch screen are integrated modules. By way of example, the display may be formed of a piece of glass having a printed display on one side and a laminated touch screen on the other side, and may further comprise an integrated touchscreen controller. Next, the touch screen 1540 is coupled to a touch screen controller 1550 that includes logic 1555 configured to perform the distributed preprocessing described herein. In some embodiments, the touch controller 1550 may be implemented as a microcontroller that includes microcode and / or is configured to execute touch firmware. To provide incoming touch data for processing at the processor 1510, the touch controller 1550 may include a universal serial bus (USB) interface, an inter-integrated circuit (I 2 C) interface, or a universal asynchronous receiver transmitter Is coupled to the PCH 1520 via an interconnect 1545 that may be configured as a path. Although shown as being carried by the wired interconnect in FIG. 15a, the transmission is remote / external all-in-one (AIO) with a touch screen (for digital signage applications) Or wireless or wireline communications such as WiFi (TM) or Ethernet connections to the display.

프로세서(1510)가 유효한 터치 데이터를 처리할 수 있게 하기 위해, 프로세서와 PCH는 활성 상태에 있다. 활성 상태에 있을 때, 이러한 컴포넌트들은 저전력 상태에 있을 수 없고, 또는 적어도 이러한 컴포넌트들은 더 깊은 저전력 상태로 들어가는 것이 방지된다. 본 발명의 실시예를 이용하여 감소된 전력 소비를 가능케하기 위해, 터치스크린 제어기(1550)는 분산된 전처리를 수행해 무효한 터치 데이터가 프로세서(1510)에 전달되는 것을 방지하거나 필터링 아웃하여, 프로세서가 저전력 상태(및/또는 더 깊은 저전력 상태)에 진입하여 유지될 수 있게 한다. 여기서 설명된 바와 같이, 무효한 터치 데이터는 어떠한 사용자 입력도 예상되지 않는 영역에서 수신되는 사용자 터치 데이터에 대응한다는 점에 유의한다. 예를 들어, 전술된 가상 베젤의 정황에서, 사용자가 태블릿 컴퓨터 또는 기타의 컴퓨팅 장치를 그 엣지 주변에서 잡고 있되 손가락이 활성 디스플레이를 포함하지 않거나 및/또는 활성 소프트 버턴을 포함하지 않는 이러한 가상 베젤을 터치하며 잡고 있을 때, 이러한 터치 데이터는 무효하다. 마찬가지로, 디스플레이의 바로 그 부분 또는 다른 부분들이 사용자 선택을 가능케하는 소프트 버턴을 포함할 때, 이들 활성 소프트 버턴 외부의 사용자 터치는 마찬가지로 무효한 터치 데이터에 대응할 수 있다. 본 발명의 실시예를 이용하여, 이러한 비활성 영역으로부터 수신된 모든 이러한 터치 데이터는 필터링되어 프로세서/PCH로 전달되는 것이 방지되므로, 저전력 및/또는 더 깊은 저전력 상태로의 진입 및 유지를 가능케 한다.To allow the processor 1510 to process valid touch data, the processor and the PCH are in an active state. When in an active state, these components can not be in a low power state, or at least these components are prevented from entering a deeper low power state. In order to enable reduced power consumption using embodiments of the present invention, the touch screen controller 1550 performs distributed preprocessing to prevent or filter out invalid touch data from being passed to the processor 1510, (And / or deeper low power state). As described herein, it is noted that invalid touch data corresponds to user touch data received in an area where no user input is expected. For example, in the context of the virtual bezel described above, if the user is holding such a virtual bezel holding a tablet computer or other computing device around its edge but the finger does not include an active display and / or does not include an active soft button When touching and holding this touch data is invalid. Likewise, when the immediate or other portions of the display include soft buttons enabling user selection, user touches outside these active soft buttons may similarly correspond to invalid touch data. Utilizing embodiments of the present invention, all such touch data received from such inactive areas is prevented from being filtered and forwarded to the processor / PCH, thereby allowing entry into and maintenance of low power and / or deeper low power states.

도 15a에서는, 단일 활성 디스플레이 영역(1534)와 단일 비활성 디스플레이 영역(1532)만이 도시되어 있지만, 다른 구현에서는 이들 상이한 영역들 양쪽 모두의 복수개가 가능하다는 점을 이해하여야 한다는 점에도 유의한다. 예를 들어, 저전력 디스플레이는, 비디오 콘텐츠 또는 E-book의 페이지 등의 콘텐츠를 디스플레이하는 제1 활성 디스플레이 영역을 포함할 수 있는 반면, 제2 활성 영역은 다양한 가능을 수행하는 사용자 입력을 수신해 제어 정보가 디스플레이되거나 기타의 동작들이 시스템에 의해 수행되도록 구성된 제어 패널을 디스플레이할 수 있다. 이러한 경우에, 터치스크린 제어기(1550)는 이 제어 패널 영역 외부로부터의 무효한 터치 인터럽트가 프로세서(1510)에 전달되는 것을 방지하도록 구성될 수 있다.Note that in FIG. 15A only a single active display area 1534 and a single inactive display area 1532 are shown, but in other implementations it should be understood that a plurality of both of these different areas is possible. For example, a low power display may include a first active display area that displays content such as video content or pages of an E-book, while a second active area may receive user input Information may be displayed or other operations may be displayed by the system. In this case, the touch screen controller 1550 may be configured to prevent an invalid touch interrupt from being transmitted to the processor 1510 from outside the control panel area.

역시 다른 예에서, 하나 이상의 활성 디스플레이 영역이 인에이블되는 반면 디스플레이의 다른 부분들은 전원차단될 수 있다. 이런 방식으로, 이들 활성 디스플레이 영역 내의 유효한 터치 인터럽트만이 터치스크린 제어기(1550)로부터 프로세서(1510)로 전달되는 반면 디스플레이의 나머지는 전원공급되지 않는다. 하나의 이러한 예로서, 제어 패널만이 활성 디스플레이 영역으로서 디스플레이되고 디스플레이의 나머지는 전원차단된다. 또한, 플랫폼은, 디스플레이(및 시스템)의 나머지는 저전력 상태에 있는 동안 제어 패널로의 액세스를 허용해 입력을 가능케하는 윈도우를 갖춘 물리적 개구를 포함하는 보호 커버 등의 하우징 내에 구성될 수 있다.In yet another example, one or more active display areas may be enabled while other portions of the display may be powered down. In this manner, only valid touch interrupts in these active display areas are transferred from the touch screen controller 1550 to the processor 1510, while the rest of the display is not powered. As one such example, only the control panel is displayed as the active display area and the rest of the display is powered off. The platform may also be configured in a housing, such as a protective cover, that includes a physical opening with a window that allows input to allow access to the control panel while the rest of the display (and system) is in a low power state.

따라서, 도 15a의 예시는, 터치스크린(1540)을 통해 수신된 인입 터치 데이터가 비활성 영역에 있고 터치스크린 제어기(1550) 상에서 실행되는 로직(1555)을 통해 필터링되어야 하는 상황을 도시한다. 대조적으로, 도 15b는 활성 터치 영역에서의 사용자 터치 입력의 경우 유효한 터치 데이터가 수신될 때의 추가적 동작을 도시하고 있다. 여기서, 로직(1555)에서의 전처리 후에, 터치 데이터는 인터커넥트(1545)를 통해 및 PCH(1520)를 통해, 사용자 입력을 적절한 OS 펌웨어나 프로세서(1510) 상에서 실행되는 애플리케이션으로 전달 등의, 적절한 처리를 위해 프로세서(1510)에 전달된다. 도 15a 및 도 15b에서는 이러한 고수준에서 도시되어 있지만, 본 발명의 범위는 이 점에서 제한되지 않는다는 것을 이해해야 한다.15A illustrates a situation in which the incoming touch data received via the touch screen 1540 is in the inactive area and must be filtered through the logic 1555 running on the touch screen controller 1550. [ In contrast, FIG. 15B shows additional operation when valid touch data is received in the case of a user touch input in the active touch region. Here, after preprocessing in logic 1555, the touch data is passed through interconnect 1545 and through PCH 1520 to appropriate processing, such as transferring user input to the appropriate OS firmware or application running on processor 1510 Lt; RTI ID = 0.0 > 1510 < / RTI > It is to be understood that although the scope of the present invention is shown at such a high level in Figs. 15A and 15B, the scope of the present invention is not limited in this respect.

이제 도 16을 참조하면, 본 발명의 실시예에 따른 터치 데이터를 전처리하기 위한 방법의 흐름도가 도시되어 있다. 도 16에 도시된 바와 같이, 방법(1600)은 도 15a의 로직(1555) 등의 터치 제어기의 필터로직을 이용하여 수행될 수 있다.Referring now to FIG. 16, a flow diagram of a method for preprocessing touch data according to an embodiment of the present invention is shown. As shown in FIG. 16, method 1600 may be performed using filter logic of a touch controller, such as logic 1555 of FIG. 15A.

보다시피, 방법(1600)은 다이아몬드(1610)에서 시작하고 그 곳에서 새로운 영역 좌표가 호스트로부터 수신되는지가 결정된다. 본 발명의 범위는 이 점에서 제한되지 않지만, 소정 실시예에서, 이러한 영역 좌표는 터치스크린에 대한 활성 및 비활성 터치 입력 영역의 표시를 제공할 수 있고 플랫폼의 프로세서 상에서 실행되는 터치스크린 펌웨어로부터 수신될 수 있다. 이러한 입력이 수신된다고 결정되면, 제어는 블록(1620)으로 가고, 그 곳에서 유효한 영역 좌표가 업데이트될 수 있다. 더 구체적으로는, 맵핑 정보에 대응하는 이 정보는, 마이크로제어기의 내부 메모리 또는 마이크로제어기 결합된 메모리 등의 로직에 의해 액세스가능한 적절한 메모리에 저장된 좌표를 업데이트하는데 이용될 수 있다. 상이한 실시예에서, 이 좌표 정보는 X-Y 축 시스템의 관점이어서 유효 터치 입력 영역과 무효 터치 입력 영역을 식별할 수 있다. 터치스크린 펌웨어는 유효한 터치스크린 데이터를 생성할 수 있는 터치스크린 내의 복수의 영역을 정의할 수 있고, 이들 영역들은 상이한 크기와 형상을 가질 수도 있다는 점에 유의한다.As will be seen, the method 1600 begins at diamond 1610 where it is determined whether new area coordinates are received from the host. Although the scope of the invention is not limited in this respect, in some embodiments, such area coordinates may provide an indication of active and inactive touch input areas for the touch screen and may be received from the touch screen firmware running on the processor of the platform . If it is determined that such an input is received, control passes to block 1620, where valid area coordinates may be updated. More specifically, this information corresponding to the mapping information can be used to update coordinates stored in an appropriate memory accessible by the logic of the microcontroller's internal memory or microcontroller-coupled memory. In a different embodiment, this coordinate information is an aspect of the X-Y axis system, so that it can identify the valid touch input area and the invalid touch input area. Note that the touch screen firmware may define a plurality of areas within the touch screen that can generate valid touch screen data, and these areas may have different sizes and shapes.

터치스크린 입력에 대한 적절성은 터치스크린 내의 특정 영역으로서 정의될 수 있다. 일부 실시예에서, 유사한 또는 상이한 크기와 형상을 가질 수 있는 터치스크린 내의 복수의 특정한 영역들일 수 있다. 이들 영역들은 단일 터치스크린 화소 만큼 작거나 전체 터치스크린 화소 어레이만큼 클 수도 있다. 또한, 터치스크린 입력에 대한 적절성은 터치스크린 펌웨어에 의해 또는 상위 레벨 펌웨어 또는 소프트웨어 동작에 의해 결정될 수 있다. 이 적절성은 동일한 제어 로직에 의해 동적으로 변경될 수 있다. 또한, 터치스크린 펌웨어에 의해 전처리 컴포넌트에 전달된 터치스크린 입력에 대한 적절성은 보안/프라이버시 정책을 포함할 수 있다.Suitability for touch screen input can be defined as a specific area within the touch screen. In some embodiments, it may be a plurality of specific areas within the touch screen that may have similar or different sizes and shapes. These areas may be as small as a single touchscreen pixel or as large as the entire touchscreen pixel array. Also, the suitability for touch screen input may be determined by touch screen firmware or by high level firmware or software operation. This appropriateness can be changed dynamically by the same control logic. Also, the suitability for the touch screen input delivered to the preprocessing component by the touch screen firmware may include a security / privacy policy.

여전히 도 16을 참조하면, 제어는 다이아몬드(1630)로 전달되고, 그 곳에서 터치 입력이 검출되는지가 결정된다. 검출된다면, 제어는 블록(1640)으로 가서, 터치 입력이 분석되어 터치 입력이 유효 터치 영역 내에 있는지 무효 터치 영역 내에 있는지를 결정한다. 전처리는, 버턴의 조합을 동시에 누르는 것 등의, 인간 상호작용의 그룹이나 조합의 분석을 포함할 수 있다. 다이아몬드(1650)에서의 결정이, 터치 입력이 유효 터치 영역으로부터 나온 것이라면, 제어는 블록(1660)으로 가서 그 곳에서 터치 입력은 호스트에 보고될 수 있다. 더 구체적으로 도 15a의 실시예에서, 이 터치 데이터는 PCH(1520)를 통해 프로세서(1510)에 전달될 수 있고, 프로세서(1510) 상에서는 터치 펌웨어가 실행되어 이 터치 데이터를 처리해 사용자 터치의 위치와 타입의 표시를 시스템 소프트웨어 또는 애플리케이션 등의 적절한 에이전트에 제공한다.Still referring to FIG. 16, control is passed to diamond 1630, where it is determined whether a touch input is detected. If so, control passes to block 1640 where the touch input is analyzed to determine if the touch input is within the valid touch area or within the invalid touch area. The preprocessing may include an analysis of a group or combination of human interactions, such as pressing a combination of buttons at the same time. If the determination at diamond 1650 is that the touch input is from a valid touch region, then control passes to block 1660 where the touch input can be reported to the host. More specifically, in the embodiment of FIG. 15A, this touch data can be communicated to the processor 1510 via the PCH 1520, and on the processor 1510, the touch firmware is executed to process the touch data, Type to an appropriate agent, such as a system software or application.

또 다른 실시예에서, 전처리 컴포넌트들이 터치스크린 펌웨어에 의해, 레지스터들을 판독하는 등에 의해, 질의될 수 있다. 터치스크린 제어기는 터치스크린 정보를 터치스크린 장치 또는 확장된 HID-등급 장치로서 HID-등급 장치로서 보고할 수 있다. 마찬가지로, 터치스크린 펌웨어 또는 상위 레벨 펌웨어 또는 소프트웨어 동작은, 사용자가 각각의 메뉴 디스플레이에 대한 상이한 인간 상호작용 요건을 갖는 메뉴 계층구조를 일시적으로 탐색해 갈 때와 같이, HID-등급 장치 또는 확장된 HID-등급 장치의 (하나 이상의) 인스턴스화(instantiation)를 동적으로 로딩 또는 언로딩하여 단일 터치스크린으로부터 유도된 터치스크린 정보를 보고할 수 있다. 여기서, 터치스크린 영역들은 (벤 다이어그램처럼) 중첩하여, 단일 터치스크린 상호작용이 복수의 HID 장치들에 동시에 보고되는 터치스크린 정보로서 해석될 수도 있다.In yet another embodiment, the preprocessing components can be queried by touch screen firmware, by reading registers, and the like. The touch screen controller may report the touch screen information as a HID-rated device as a touch screen device or as an extended HID-class device. Likewise, touch screen firmware or higher level firmware or software operations may be performed by a HID-rated device or an extended HID device, such as when a user is temporarily searching for a menu hierarchy with different human interaction requirements for each menu display - Dynamically load or unload an instantiation of the rating device to report touch screen information derived from a single touch screen. Here, the touch screen areas overlap (as in a Venn diagram), so that a single touch screen interaction may be interpreted as touch screen information that is simultaneously reported to a plurality of HID devices.

블록(1660)에서의 이러한 전달은, 프로세서(및 PCH)가 활성 상태에 있을 때 발생한다는 점에 유의한다. 또는, 이 정보는 이들 컴포넌트들이 저전력 상태로부터 활성 상태로 진입하게 한다. 대조적으로, 터치스크린 제어기에서 수행되는 전처리에 의해, 터치 입력이 무효 터치 영역에 있다고 결정되면(1640에 기술된 바와 같이 결정되고, 그에 따라 이러한 입력은 무시, 예를 들어, 블록 1670에서 폐기), 이들 업스트림 컴포넌트들에서 어떠한 전달도 발생하지 않는다. 따라서, 이들 컴포넌트들은 저전력 상태에 유지되거나 이러한 저전력 상태로 진입하는 것이 허용될 수 있다. 즉, 이들 컴포넌트들은, 주어진 시간 프레임 내에서 (터치 데이터 인터럽트 등의) 인터럽트가 수신되지 않을 때 저전력 상태로 진입하도록 구성될 수 있다. 도 16의 실시예에서는 이러한 고수준에서 도시되어 있지만, 본 발명의 범위는 이 점에서 제한되지 않는다는 것을 이해해야 한다.Note that this transfer at block 1660 occurs when the processor (and PCH) is in an active state. Alternatively, this information allows these components to enter the active state from the low power state. In contrast, if a pre-processing performed on the touch screen controller determines that the touch input is in the invalid touch area (determined as described in 1640 and thus ignores such input, for example discarded at block 1670) No propagation occurs in these upstream components. Thus, these components can be kept in a low power state or allowed to enter this low power state. That is, these components may be configured to enter a low power state when an interrupt (such as a touch data interrupt) is not received within a given time frame. It is to be understood that although the embodiment of FIG. 16 is shown at such a high level, the scope of the present invention is not limited in this respect.

여기서 설명된 터치스크린 입력의 영역-기반의 보고를 저전력 디스플레이 기술과 결합함으로써, 사용자는 더 낮은 전력(더 긴 배터리 수명)에서 동일한 시각적 경험을 가질 것이다. 일반적으로, 상위 레벨 소프트웨어는, 디스플레이될 그래픽 이미지들을 그래픽(GFX) 구동기에 동적으로 전달하고, 그들 각각의 윈도우 또는 화소 영역을 전달한다. GFX 구동기는 비디오 화소 데이터 및 제어 신호를 디스플레이 패널에 전송하여 원하는 이미지를 디스플레이한다. 이 상위 레벨 소프트웨어는 또한, 각각의 그래픽 윈도우로 맵핑되는 유효 터치스크린 윈도우들을 터치스크린 펌웨어에 동적으로 전달하고, 이어서, 터치스크린 펌웨어는 유효 터치스크린 영역에 관한 이 정보를 터치스크린 제어기에 전달한다.By combining the area-based reporting of the touch screen input described herein with the low power display technology, the user will have the same visual experience at lower power (longer battery life). In general, the upper level software dynamically communicates graphic images to be displayed to a graphics (GFX) driver and delivers their respective windows or pixel regions. The GFX driver transmits video pixel data and control signals to the display panel to display a desired image. This higher level software also dynamically passes valid touch screen windows mapped to each graphics window to the touch screen firmware, which in turn passes this information about the valid touch screen area to the touch screen controller.

최상의 경우, 유효 터치 입력이 원하는 이미지를 디스플레이하도록 디스플레이/터치스크린 모듈에 전력이 공급될 수 있는 반면, (CPU, PCH를 포함한) 시스템의 나머지에 대한 플랫폼 전력은 셧다운될 수 있거나, 시스템의 나머지는 매우 낮은 전력 관리 상태에 놓일 수 있다.In the best case, the display / touch screen module may be powered to display the desired touch input image, while the platform power for the rest of the system (including CPU, PCH) may be shut down, And can be placed in a very low power management state.

따라서 터치 제어기는 E-book 예에서 터치 영역 외부로부터의 무효 터치 인터럽트를 방지하고, 터치 영역 내부로부터의 유효 터치 인터럽트를 호스트 펌웨어에 전달한다. 따라서, 터치 제어기는, 디스플레이의 나머지에 전원이 공급되지 않는 동안, 제어 패널 터치 영역 내부로부터의 유효한 터치 인터럽트만을 호스트 펌웨어에 전달한다.Therefore, the touch controller prevents the invalid touch interrupt from the outside of the touch area in the E-book example and transfers the valid touch interrupt from the inside of the touch area to the host firmware. Thus, the touch controller transfers only the effective touch interrupt from the inside of the control panel touch area to the host firmware while power is not supplied to the rest of the display.

따라서, 터치스크린 상의 유효 터치 입력 영역들과 디스플레이 패널 상의 화소들의 디스플레이된 영역의 맵핑은, 이 정보를 각각 GFX 구동기와 터치스크린 펌웨어에 보고함으로써 제어될 수 있고, 이어서, GFX 구동기와 터치스크린 펌웨어는 이 정보를 그들 각각의 디스플레이 및 터치스크린 제어기 서브시스템에, 이들 장치들의 전력 관리에 이용되는 임의의 제어 신호와 함께 전달한다.Thus, the mapping of valid touch input areas on the touch screen to the displayed areas of pixels on the display panel can be controlled by reporting this information to the GFX driver and touch screen firmware, respectively, and then the GFX driver and touch screen firmware And conveys this information to their respective displays and touchscreen controller subsystems, along with any control signals used for power management of these devices.

많은 플랫폼들은 사용자가 터치스크린 내의 특정한 영역에서 국지화된 피드백을 감지할 수 있게 하는 햅틱 피드백(haptic feedback)을 포함한다. 가상 베젤의 영역-기반의 터치스크린 입력의 보고를 햅틱 피드백과 결합함으로써, 사용자는 더 나은 경험을 할 수 있다. 즉, 사용자는 유효 디스플레이/터치스크린 영역 내의 디스플레이/터치스크린 모듈을 터치할 때만 햅틱 피드백을 수신할 것이다.Many platforms include haptic feedback that allows the user to sense localized feedback in a particular area of the touch screen. By combining the reporting of the area-based touchscreen input of the virtual bezel with the haptic feedback, the user can experience a better experience. That is, the user will only receive haptic feedback when touching the display / touch screen module within the effective display / touch screen area.

일부 실시예에서, (가상 베젤 무효 영역 마스킹을 수반한) 터치스크린 입력 전처리와 햅틱 피드백 양쪽 모두를 수행하는 결합된 마이크로제어기/ASIC(application specific integrated circuit)가 구현될 수 있다. 이런 방식으로, 이들 기능들을 CPU에서 실행중인 호스트 펌웨어에서 수행되는 것 대신에 상당히 더 낮은 전력이 소비될 수 있다. 실시예에서, 햅틱 생성기는 사용자 입력에 응답하여 움직임이 제어되는 편심캠(eccentric cam)일 수 있다. 이 움직임은 피드백으로서 사용자에게 진동을 야기한다. 또는, 햅틱 생성기는, 링 주변의 정전하를 제어함으로써 햅틱 피드백을 야기하는 디스플레이 주변의 전기링(electric ring)을 이용하여 구현될 수도 있다. 역시 다른 실시예에서, 햅틱 생성기는 터치스크린에 통합되어 터치스크린 제어기에 의해 제어될 수 있다.In some embodiments, a combined microcontroller / ASIC (application specific integrated circuit) that performs both touch screen input preprocessing (with virtual bezel void region masking) and haptic feedback can be implemented. In this way, considerably lower power may be consumed instead of being performed in the host firmware running these functions on the CPU. In an embodiment, the haptic generator may be an eccentric cam whose movement is controlled in response to user input. This motion causes vibration to the user as feedback. Alternatively, the haptic generator may be implemented using an electric ring around the display causing the haptic feedback by controlling the static charge around the ring. In yet another embodiment, the haptic generator may be integrated into the touch screen and controlled by the touch screen controller.

따라서, 햅틱 피드백은, 사용자의 터치스크린 데이터가 유효 터치스크린 영역으로 나올 때 사용자에게 제공될 수 있다(그렇지 않다면, 이러한 햅틱 피드백은 전달되지 않는다). 일부 실시예에서, 햅틱 피드백은 특정한 영역으로 국한된다. 예를 들어, 터치스크린에 접촉하는 1개 이상의 손가락을 이용한 멀티-터치 터치스크린을 이용할 때, 터치스크린 상에 또 다른 손가락을 두는 것으로부터의 햅틱 응답은 새로이 터칭하는 손가락에만 제공된다(이미 터칭중인 어떤 다른 손가락에 대해서는 제공되지 않음). 터치스크린 입력에 대한 적절성이 변함에 따라, 햅틱 피드백이 사용자에게 피드백될지를 정의하는 영역도 역시 변한다는 점에 유의한다.Thus, the haptic feedback can be provided to the user when the user's touch screen data comes out of the effective touch screen area (if not, this haptic feedback is not delivered). In some embodiments, the haptic feedback is localized to a specific area. For example, when using a multi-touch touch screen with one or more fingers touching the touch screen, the haptic response from placing another finger on the touch screen is provided only to the newly touching finger Not provided for any other finger). Note that as the relevance to the touch screen input changes, the area that defines whether the haptic feedback will be fed back to the user also changes.

이제 도 15c를 참조하면, 본 발명의 또 다른 실시예에 따른 시스템의 일부의 블록도가 도시되어 있다. 도 15c에 도시된 바와 같이, 시스템(1500)은 도 15a의 시스템(1500)과 실질적으로 동일하게 구성된다. 그러나, 여기서, 햅틱 생성기(1560)의 존재에 유의한다. 도 15c에 도시된 실시예에서, 햅틱 생성기(1560)는 사용자에게 햅틱 피드백을 제공하는 용량성 햅틱 생성기 등의 전자장 생성기로서 구현된다. 또한 이 구현에서, 터치스크린 제어기(1550)는 로직(1555)에서 처리된 유효 터치 데이터를 처리하고 이에 응답하여 제어 신호를 생성해 햅틱 제어기(1560)에 제공하여, 디스플레이 상에 추가로 손가락 터치를 하는 것 등의 사용자 터치 이벤트의 특정한 국지화된 영역에서 디스플레이(1530) 상의 국지화된 영역의 여기(excitation) 등의 국지화된 햅틱 피드백을 생성하도록 구성된 햅틱 제어 로직(1565)을 더 포함한다는 점에 유의한다.Referring now to FIG. 15C, a block diagram of a portion of a system according to another embodiment of the present invention is shown. As shown in FIG. 15C, the system 1500 is configured substantially the same as the system 1500 of FIG. 15A. Note, however, that the haptic generator 1560 is present here. In the embodiment shown in FIG. 15C, the haptic generator 1560 is implemented as a field generator such as a capacitive haptic generator that provides haptic feedback to the user. Also in this implementation, the touchscreen controller 1550 processes the valid touch data processed in logic 1555 and in response generates and provides a control signal to the haptic controller 1560 to cause an additional finger touch on the display Such as an excitation of a localized area on the display 1530, in a particular localized area of a user touch event, such as, for example, .

일부 실시예에서, 각각의 화소에 광학 스캐너가 통합되어, 스크린이 그 표면 상에 놓인 손가락 터치, 비지니스 카드 및 기타의 시각적 정보 등의 사용자 입력을 스캔할 수 있게 하는 광학적 스캐닝 디스플레이가 제공될 수도 있다. 여기서 설명된 소프트 터치스크린 버턴은, 터치스크린 데이터의 분산된 전처리와 함께, 1차 디스플레이 영역 내부이든 그 외부이든간에, (선택된 화소 내에 위치한) 광학 스캐너를 활성화하고 이미지를 포착하기 위해 디스플레이를 트리거하는데 이용될 수 있다. 이런 방식으로, 스캐너의 전력 소비는 그 듀티 사이클이 매우 낮아짐에 따라 감소된다. 상이한 예로서, 이러한 스캐너는 보안 목적을 위해, 예를 들어, 지문을 스캔하거나, 바코드를 스캔하는 등의 소비자 목적을 위해 2차원 바코드(QR 코드) 등을 스캔하는데 이용될 수 있다. 또한, 디스플레이는, 전체 디스플레이 대신에 하나 이상의 선택된 국지적 터치스크린 영역만을 조명하여, 전력을 훨씬 더 낮출 수도 있다. 따라서, 사용자 입력(예를 들어, 지문)은 보안 메커니즘으로서 이용된다. 따라서, 사용자의 손가락이 표시된 영역 위에 놓일 때, 그 국지적 영역에 대한 플래시를 조명하는 것을 포함할 수 있는 지문의 국지적 스캔이 발생한다.In some embodiments, an optical scanner may be integrated in each pixel to provide an optical scanning display that allows the screen to scan user inputs such as finger touch, business card, and other visual information placed on its surface . The soft touch screen button described herein activates an optical scanner (located within the selected pixel), either inside or outside the primary display area, with distributed preprocessing of touch screen data to trigger the display to capture the image Can be used. In this way, the power consumption of the scanner is reduced as its duty cycle becomes very low. As a different example, such a scanner can be used for security purposes, for example, to scan a two-dimensional bar code (QR code) or the like for consumer purposes, such as scanning a fingerprint or scanning a barcode. In addition, the display may illuminate only one or more selected local touch screen areas instead of the entire display, thereby further lowering the power. Thus, user input (e.g. fingerprints) is used as a security mechanism. Thus, when a user's finger is placed over a displayed area, a local scan of the fingerprint, which may include illuminating the flash for that local area, occurs.

또한, 선택된 영역을 국지적으로 조명함으로써, 손가락이나 QR 코드가 놓이는 국지적 영역만을 조명하는 것 대신에 전체 디스플레이를 플래싱/조명하는 사용자에 대한 방해가 회피된다. 이것은 특히, 조명이 디스플레이의 다른 부분들 상에서 진행되는 비디오 정보의 시청 경험을 방해한다면 해당되는 경우이다. 또 다른 예시적 사용례는, 스마트폰 또는 태블릿 컴퓨터 등의 휴대 컴퓨팅 장치를 이용해, 디스플레이의 선택된 입력 영역의 국지화된 조명 및 스캔을 통한 지문 인증을 이용하여 크레딧, 데빗, 또는 기타의 재무 트랜잭션을 인증하는 것이다.Further, locally illuminating the selected area avoids interference to the user flashing / illuminating the entire display instead of illuminating only the local area where the finger or QR code is placed. This is especially the case if the illumination interferes with the viewing experience of video information proceeding on other parts of the display. Another exemplary use is to use a portable computing device, such as a smartphone or tablet computer, to authenticate a credit, debit, or other financial transaction using fingerprint authentication through localized illumination and scan of a selected input area of the display will be.

또한, 사용자 입력으로부터 생기는 인터럽트, 터치 전처리, 및 광학적 스캐닝 제어는 디스플레이/터치스크린/스캐너 모듈 어셈블리 내에서 국지적으로 서비스되어, 호스트 프로세서에 의해 수행되는 시스템 레벨 인터럽트 서비스를 피할 수 있다. 또한, 디스플레이 모듈 어셈블리에 근접한 이러한 분산된 전처리는, CPU 상에서 실행 중인 호스트 펌웨어로 인터럽트를 서비스하기 위해 플랫폼을 웨이크업하는 것보다 더 낮은 전력 소비 레벨에서 이루어진다.Also, interrupt, touch preprocessing, and optical scanning control resulting from user input may be serviced locally within the display / touch screen / scanner module assembly to avoid system level interrupt service performed by the host processor. This distributed preprocessing close to the display module assembly also occurs at a lower power consumption level than waking up the platform to service the interrupts with host firmware running on the CPU.

하나의 이러한 예로서, 터치 제어기는 (특정한 네비게이션 버턴에 대응하는) 유효 버턴 영역 내의 터치 입력을 등록하고, 지문 인식이 보안 인가(security clearance)를 통과할 수 있게 하도록 사용자의 엄지 지문의 국지화된 광학적 스캔을 트리거한다. 이러한 광학적 스캔은 버턴의 터치스크린 영역에 공동-맵핑되는 국지적 이벤트이므로, 1차 디스플레이 영역 내의 비디오 상에는 사용자에게 지시하는 어떠한 시각적 임팩트(예를 들어, 휘도, 블루밍(blooming), 번쩍거림)도 없다. 무효 영역 내의 다른 곳에서의 터치 입력은 터치스크린 제어기에 의해 마스킹되고 무시될 수 있다.In one such example, the touch controller registers a touch input in the area of the valid button (corresponding to a particular navigation button), and provides a localized optical Trigger the scan. This optical scan is a local event that is co-mapped to the touch screen area of the button, so there is no visual impact (e.g., brightness, blooming, flashing) on the video in the primary display area that directs the user. Touch input elsewhere in the invalid area can be masked and ignored by the touch screen controller.

이제 도 17을 참조하면, 활성 디스플레이 영역(1710)과, 각각이 사용자 입력을 수신하도록 구성된 복수의 소프트 버턴(1715)을 포함하는 가상 베젤 영역(1720)을 포함하는 디스플레이(1700)의 예시가 도시되어 있다. 도 17에 추가로 도시된 바와 같이, 활성 디스플레이 영역(1710)은 사용자가 제1 소프트 버턴(1715a)을 통해 지문 인증을 입력하기 위한 지시를 제공한다. 적절한 버턴 상에 사용자가 손가락을 두는 것에 응답하여 활성화되면, 이 국지적 영역만이 조명되고 디스플레이(1700)의 통합된 스캐너가 사용자의 지문의 국지적 스캔을 수행하는 스캔이 수행되어, 예를 들어, 사용자가 보안된 금융 거래나 기타의 거래를 수행하도록 허용하기 전에 보안/프라이버시 정책이 구현될 수 있게 한다.17, an example of a display 1700 that includes an active display area 1710 and a virtual bezel area 1720 that includes a plurality of soft buttons 1715 each configured to receive user input is shown in FIG. . As further shown in Fig. 17, the active display area 1710 provides instructions for the user to enter fingerprint authentication via the first soft button 1715a. If a user is activated in response to placing a finger on the appropriate button, only a scan of this local area is illuminated and an integrated scanner of the display 1700 performs a local scan of the user ' s fingerprint is performed, Allowing security / privacy policies to be implemented before allowing them to perform secure financial transactions or other transactions.

따라서, 디스플레이의 또는 디스플레이와 연관된 광학 스캐너의 활성화가 제어되어 공동-맵핑된 터치스크린 영역으로부터 수신된 유효 터치스크린 입력에 의존하여 디스플레이의 국지적 영역 내에서 스캔하여 플랫폼 전력을 줄일 수 있다. 이어서, 광학 스캐닝 촬상기는 공동-맵핑된 영역으로부터의 포착된 이미지를 호스트 프로세서에 보고할 수 있다. 이 포착된 이미지는, 포착된 이미지의 저장, 전송, 분석, 공공 보급 등의, 포착된 이미지에 관해 수행되는 소정의 동작을 제한할 수 있는 연관된 보안/프라이버시 정책을 가질 수 있다. 일부 실시예에서, 광학 스캐너는, 버턴들의 조합을 동시에 누르는 것 등의, 인간 상호작용의 그룹이나 조합의 분석에 기초하여 스캔을 수행할 수 있다.Thus, activation of the optical scanner associated with the display or with the display can be controlled to reduce platform power by scanning within the local area of the display, depending on the valid touch screen input received from the co-mapped touch screen area. The optical scanning imaging device may then report the captured image from the co-mapped region to the host processor. This captured image may have an associated security / privacy policy that may limit certain actions to be performed on the captured image, such as storage, transmission, analysis, public dissemination, etc. of the captured image. In some embodiments, the optical scanner may perform a scan based on an analysis of a group or combination of human interactions, such as simultaneously pressing a combination of buttons.

실시예들은 또한, 베젤 영역 등의 2차 디스플레이 영역에 콘텐츠를 렌더링하기에 적절한 때를 지능적으로 결정할 수 있다. 본 발명의 범위는 이 점에서 제한되지 않지만, 이러한 영역에서 콘텐트를 렌더링하기 위한 동적 실시간 결정은 다음과 같은 기준들 중 하나에 기초할 수 있다: 장치 구성(예를 들어, 클램쉘 모드 대 태블릿 모드); 사용자의 존재를 인식해 렌더링을 인에이블할 2차 디스플레이 영역 중 하나 이상의 부분을 결정하기 위한, 터치, 압력, 주변광, 및/또는 근접 센서나 이들의 조합 등의 센서 정보; 풀 스크린 디스플레이가 2차 디스플레이 영역을 이용하는, 비디오 모드 또는 게이밍 모드 등의 콘텐츠 타입; 및 1차 디스플레이 영역의 상태(예를 들어, 활성, 비활성, 또는 소정의 다른 이러한 저전력 상태).Embodiments may also intelligently determine when it is appropriate to render the content in a secondary display area, such as a bezel area. The scope of the present invention is not limited in this respect, but dynamic real-time determination for rendering content in this area may be based on one of the following criteria: device configuration (e.g., clam shell mode versus tablet mode ); Sensor information such as touch, pressure, ambient light, and / or proximity sensors, or combinations thereof, for determining one or more portions of the secondary display area to recognize the presence of a user and enable rendering; A content type such as a video mode or a gaming mode in which the full screen display uses the secondary display area; And the state of the primary display region (e.g., active, inactive, or some other such low power state).

일부 실시예에서, 2차 디스플레이 영역은 복수의 독립된 영역(예를 들어, 좌, 우, 상, 하)을 포함할 수 있고, 이들 영역들 각각은, 이들 영역들에서의 콘텐츠 렌더링의 인에이블 및/또는 디스에이블 뿐만 아니라 그들 영역에서 렌더링되는 콘텐츠의 타입에 관하여 독립적으로 제어될 수 있다.In some embodiments, the secondary display area may include a plurality of independent areas (e.g., left, right, top, and bottom), each of which may enable rendering of content in these areas and / / RTI > and / or disabled as well as the type of content being rendered in their area.

따라서 실시예들은 상기와 같이 하나 이상의 기준에 기초하여 2차 디스플레이 영역의 하나 이상의 부분에서 콘텐츠가 렌더링될 수 있게 한다. 다른 실시예에서는 추가의 기준도 역시 고려될 수 있다는 것을 이해해야 한다.Embodiments thus allow content to be rendered in one or more portions of the secondary display region based on one or more criteria, as described above. It should be appreciated that additional criteria may also be considered in other embodiments.

베젤 또는 기타의 2차 디스플레이 영역에서의 디스플레이 렌더링을 인에이블할지를 지능적으로 결정(그리고, 결정한다면 렌더링할 적절한 콘텐츠를 결정)하는 로직은 시스템의 다양한 곳에 위치할 수 있다. 하나의 이러한 예로서, 프로세서의 하나 이상의 코어 내에 위치하거나 코어 상에서 실행되는 디스플레이 로직은 다양한 상이한 입력에 응답하여 이러한 결정을 내일 수 있다. 이들 입력들은, 다양한 센서, 입력 장치, 및 1차 디스플레이 영역에서 렌더링 중인 콘텐츠를 포함한 시스템의 다른 장소로부터의 정보로부터 수신될 수 있다.The logic to intelligently determine (and, if determined, determine the appropriate content to render) whether to enable display rendering in the secondary display region of the bezel or other, may be located at various locations in the system. As one such example, the display logic located within or executing on one or more cores of the processor may make such a determination in response to a variety of different inputs. These inputs may be received from various sensors, input devices, and information from other locations in the system, including content being rendered in the primary display area.

일부 실시예에서, 디스플레이 로직은, 장치구성, 콘텐츠 타입, 및 1차 디스플레이 영역 활동 모드를 포함하는 기타의 정보와 이들 센서들 상에서 발생하는 이벤트들을 로직이 등록할 수 있게 하는 등록 엔티티를 포함할 수 있다. 이러한 등록 후에, 디스플레이 로직의 이 등록 엔티티는 이들 소스들로부터 이벤트들의 표시를 수신할 수 있다. 이벤트 수신에 응답하여, 결정 벡터가 생성될 수 있고 결정 로직에 의해 이용될 수 있으며, 결정 로직은, 디스플레이 로직의 일부이거나 프로세서의 또 다른 부분에 위치하여 베젤 영역이나 기타의 2차 디스플레이 영역에 대해 디스플레이 렌더링이 인에이블될 것인지와, 인에이블된다면, 이러한 위치에서 디스플레이될 적절한 콘텐트에 관한 결정을 생성할 수 있다.In some embodiments, the display logic may include other information, including device configuration, content type, and primary display area activity mode, and a registration entity that allows the logic to register events that occur on these sensors have. After this registration, this registration entity of the display logic may receive an indication of events from these sources. In response to receiving the event, a decision vector may be generated and used by the decision logic, and the decision logic may be part of the display logic or may be located in another part of the processor to determine the bezel area or other secondary display area If display rendering is enabled and enabled, a determination can be made about the appropriate content to be displayed at this location.

일부 실시예에서, 이 디스플레이 로직은, 1차 디스플레이 영역에 대한 콘텐츠 렌더링의 관리를 제어하는 디스플레이 관리자와 연계하여 동작하는 동작 베젤 프레임워크로서 적어도 부분적으로 OS 컨텍스트 내에서 구현될 수 있다. 다른 실시예에서, 애플리케이션들이 이 동적 베젤 프레임워크에 등록할 수 있게 하기 위해 소프트웨어 개발 키트(SDK)가 제공될 수 있다. 예를 들어, 상이한 애플리케이션들이 이 프레임워크에 등록하여 콘텐츠가 2차 디스플레이 영역 내에 렌더링되게 하는 요청을 표시할 수 있다. 즉, 사용자-레벨 애플리케이션 등의 다양한 애플리케이션들은, 예를 들어, SDK나 또 다른 메커니즘을 통해, 동적 베젤 프레임워크에 등록하여 주어진 애플리케이션과 연관된 적절한 콘텐츠가, 애플리케이션의 실행 및 1차 디스플레이 영역 내에서의 이러한 애플리케이션의 1차 콘텐츠의 대응하는 디스플레이 동안에 적절하다면 하나 이상의 2차 디스플레이 영역 내에 푸시되게 할 수 있다.In some embodiments, the display logic is an operating bezel framework that operates in conjunction with a display manager that controls the management of content rendering for the primary display region, and may be implemented, at least in part, within the OS context. In another embodiment, a software development kit (SDK) may be provided to allow applications to register with this dynamic bezel framework. For example, different applications may register with this framework to indicate a request to render the content in the secondary display area. That is, various applications, such as user-level applications, may be registered with the dynamic bezel framework, e.g., via an SDK or another mechanism, so that the appropriate content associated with a given application is registered in the application's execution and primary display area And may be pushed into one or more secondary display areas as appropriate during the corresponding display of the primary content of such applications.

이제 도 18a를 참조하면, 다양한 실시예에 따른 디스플레이의 상이한 영역들에서의 콘텐츠 렌더링의 동적 제어의 그래픽 예시가 도시되어 있다. 예(1810)에 도시된 바와 같이, 클램쉘-기반의 장치가 클램쉘 모드에서 이용될 때, 1차 디스플레이 영역(1815)은, 2차 디스플레이 영역(1817)이 콘텐츠를 렌더링하지 않고 그 대신에 베젤로서 역할하는 동안에 콘텐츠를 렌더링한다.Referring now to Figure 18A, there is shown a graphical example of dynamic control of content rendering in different regions of a display according to various embodiments. When the clam shell-based device is used in the clam shell mode, as shown in example 1810, the primary display area 1815 is configured such that the secondary display area 1817 does not render the content, Render content while acting as a bezel.

예를 들어, 렌더링 중인 풀 스크린 비디오가 있는 또 다른 모드에서, 바로 이 디스플레이는 베젤 영역 없이 구성되되, 1차 디스플레이 영역과 2차 디스플레이 영역 양쪽 모두가 단일 사용자 인터페이스로서 역할하여 도 18b의 예(1820)의 디스플레이 영역(1825)에 도시된 바와 같이 풀 스크린 비디오를 디스플레이할 수 있도록 구성될 수 있다.For example, in another mode with full-screen video being rendered, this display is configured without a bezel area, where both the primary display area and the secondary display area serve as a single user interface, Screen video as shown in the display area 1825 of FIG.

도 18c에 나타낸 역시 추가의 예(1830)에서, 2차 디스플레이 영역(1837)은, 1차 디스플레이 영역(1835)이 렌더링된 콘텐츠를 디스플레이하는 동안 콘텐츠를 렌더링하지 않고 대신에 베젤로서 역할할 수 있다. 이 예는, 장치가, 측면들 상에 (사용자-기반의 터치를 인식하는) 터치 센서로서의 베젤을 갖는 태블릿 모드에서 이용되거나, 장치가 태블릿 모드에 있는지에 기초하여 이 베젤이 인에이블되는 상황에서 이용될 때 발생할 수 있다. 다른 실시예에서, 필터링은 터치스크린의 비활성 영역 내의 터치 센서들을 오프 또는 디스에이블하는 것을 포함할 수 있다. 이러한 경우에, 필터링은, 예를 들어, 터치 제어기를 통해 주변기기 제어기의 외부에서 여전히 수행될 수 있다.In a further example 1830 shown in Figure 18C, the secondary display region 1837 may instead serve as a bezel instead of rendering the content while the primary display region 1835 displays the rendered content . This example assumes that the device is used in a tablet mode with a bezel as a touch sensor (which recognizes a user-based touch) on the sides, or in a situation where the bezel is enabled based on whether the device is in tablet mode Can occur when used. In another embodiment, the filtering may include turning off or disabling the touch sensors in the inactive area of the touch screen. In this case, the filtering may still be performed outside the peripheral controller, for example, via a touch controller.

도 18d에 나타낸 역시 또 다른 예(1840)에서, 태블릿 모드는 렌더링된 콘텐츠가 풀 스크린 비디오일 때 베젤없이 발생할 수 있다. 따라서, 1차 디스플레이 영역 및 2차 디스플레이 영역은 결합되어 단일의 사용자 인터페이스(1845)를 제시한다. 이것은, 터치 입력이 태블릿의 주변 부분 상에서 인식되는 경우에도 해당된다.In yet another example 1840 shown in Figure 18d, the tablet mode may occur without the bezel when the rendered content is full screen video. Thus, the primary display area and the secondary display area are combined to present a single user interface 1845. This is true even when the touch input is recognized on the periphery of the tablet.

도 18e에 나타낸 역시 또 다른 예(1850)에서, 1차 디스플레이 영역(1855)이 저전력 모드에 있도록 제어되는 동안 2차 디스플레이 영역만이 인에이블될 수 있다. 따라서, 예(1850)의 도면에서, 독립된 2차 디스플레이 영역들(1856-1859)은 독립적으로 제어되어 콘텐츠, 예를 들어, 다양한 사용자 입력을 가능케하는 선택가능한 소프트 버턴을 렌더링할 수 있다.In yet another example 1850 shown in Figure 18e, only the secondary display region may be enabled while the primary display region 1855 is controlled to be in the low power mode. Thus, in the example of example 1850, the independent secondary display areas 1856-1859 can be independently controlled to render a selectable soft button that allows content, e.g., various user input.

기준의 조합에 기초하여 제어가능한 2차 디스플레이 영역 렌더링을 가능케하기 위해, 상이한 디스플레이 영역들에 대해 고유한 프레임 버퍼들이 제공될 수 있다. 일부 실시예에서, 디스플레이 제어기에서 이와 같이 구현될 수 있는 동적 베젤 프레임워크 층은 상이한 결정 벡터들(예를 들어, 장치 구성, 센서, 콘텐츠 타입 및 디스플레이 상태)에 대해 맞추어질 수 있고 디스플레이 렌더링에 대한 2차 디스플레이 영역을 인에이블/디스에이블하기 위해 적절한 동작을 취할 수 있다. 또한, 일부 예에서, 2개보다 많은 독립된 디스플레이 패널들이 단일 디스플레이를 통해 제공될 수 있다. 예를 들어, 1차 디스플레이 영역과, 각각이 베젤측에 대응하는 4개의 독립된 2차 디스플레이 영역들이 이들 상이한 영역들에 콘텐츠를 독립적으로 구동하기 위해 제공될 수 있다. 동시에, 상이한 제어에 의해, 이들 5개의 독립된 디스플레이 패널들은 단일의 1차 디스플레이 영역으로서 매끈하게 통합되어 풀 스크린 비디오 또는 기타의 통합된 렌더링을 가능케 할 수 있다.In order to enable controllable secondary display region rendering based on a combination of criteria, unique frame buffers may be provided for different display areas. In some embodiments, a dynamic bezel framework layer that may be implemented in the display controller may be tailored for different decision vectors (e.g., device configuration, sensor, content type, and display state) And may take appropriate actions to enable / disable the secondary display area. Also, in some instances, more than two independent display panels may be provided through a single display. For example, a primary display area and four independent secondary display areas, each corresponding to the bezel side, may be provided to independently drive content in these different areas. At the same time, with different controls, these five independent display panels can be smoothly integrated as a single primary display area to enable full-screen video or other integrated rendering.

실시예들은 2차 디스플레이 영역들 중 하나 이상에서 콘텐츠에 액세스하는 능력을 더 제공하여 적절한 관련 콘텐츠가 더 큰 시청을 위해 1차 디스플레이 영역에서 렌더링되는 것을 가능케 할 수 있다. 예를 들어, 베젤 디스플레이 영역 내의 애플리케이션 쇼트컷은, 사용자 터치에 의해 선택될 때, 대응하는 애플리케이션이 1차 디스플레이 영역 내의 사용자 인터페이스에서 론칭되는 것을 가능케 할 수 있다. 그리고, 이러한 사용자 선택에 응답하여 복수의 독립된 사용자 인터페이스들이 1차 디스플레이 영역 내에서 디스플레이될 수 있게 하는 것이 가능하다.Embodiments may further provide the ability to access content in one or more of the secondary display areas to enable appropriate related content to be rendered in the primary display area for larger viewing. For example, application shortcuts within the bezel display area may enable the corresponding application to be launched in the user interface in the primary display area when selected by the user touch. It is then possible to enable a plurality of independent user interfaces to be displayed in the primary display area in response to such user selection.

이제 도 19를 참조하면, 실시예에 따른 2차 디스플레이 영역과 1차 디스플레이 영역 사이의 매끈한 상호작용의 그래픽 예시가 도시되어 있다. 도 19에 도시된 바와 같이, 디스플레이(1900)는 1차 디스플레이 영역(1910)과 실시예에서는 베젤부 영역에 대응하는 것으로 도시된 2차 디스플레이 영역(1920)을 포함한다. 이 2차 디스플레이 영역(1920)에서, 아이콘 또는 기타의 애플리케이션 식별자와 같은 제1 및 제2 애플리케이션 쇼트컷 디스플레이 요소(1922 및 1924)가 제공된다. 예를 들어, 터치를 통해 사용자에 의해 선택될 때, 대응하는 애플리케이션이 론칭되고 대응하는 애플리케이션을 위한 사용자 인터페이스가 1차 디스플레이 영역(1920)의 적어도 일부에 디스플레이된다. 따라서, 도 19에 도시된 바와 같이, 제1 애플리케이션을 위한 제1 사용자 인터페이스(1912)가 제2 애플리케이션을 위한 제2 사용자 인터페이스(1914)와 함께 나란히 1차 디스플레이 영역(1920)에 디스플레이된다. 물론, 단일의 애플리케이션 사용자 인터페이스만이 1차 디스플레이 영역에, 예를 들어, 프로그램 또는 기타의 제어 아래에 디스플레이되는 것이 가능하다는 것을 이해해야 한다. 따라서 베젤부 디스플레이 영역에 인에이블된 애플리케이션 쇼트컷을 제공함으로써, 1차 디스플레이 영역 내의 애플리케이션 론치가 발생할 수 있다.Referring now to FIG. 19, a graphical example of smooth interaction between a secondary display region and a primary display region according to an embodiment is shown. 19, the display 1900 includes a primary display region 1910 and a secondary display region 1920 that is shown to correspond to a bezel subarea in the embodiment. In this secondary display area 1920, first and second application short cut display elements 1922 and 1924, such as icons or other application identifiers, are provided. For example, when selected by the user via the touch, the corresponding application is launched and a user interface for the corresponding application is displayed on at least a portion of the primary display area 1920. Thus, as shown in FIG. 19, a first user interface 1912 for a first application is displayed alongside a second user interface 1914 for a second application in the primary display area 1920. Of course, it should be understood that only a single application user interface can be displayed in the primary display area, for example under a program or other control. Thus, by providing an enabled application shortcut in the bezel secondary display area, an application launch in the primary display area can occur.

또한, 2차 디스플레이 영역에 렌더링되는 콘텐츠는 1차 디스플레이 영역에서 디스플레이되는 콘텐츠의 인식 및/또는 장치 컨텍스트의 인식에 기초할 수 있다. 예를 들어, 브라우즈 애플리케이션이 1차 디스플레이 영역에서 실행 중일 때, 2차 디스플레이 영역은 브라우즈 콘텐츠-기반의 데이터를 보여주는 콘텐츠를 디스플레이할 수 있다. 회사 전자메일/캘린더 애플리케이션이 1차 디스플레이 영역에서 실행 중일 때, 2차 디스플레이 영역은 개인 전자메일 통보를 디스플레이할 수도 있다. 또 다른 예로서, E-리더 애플리케이션이 1차 디스플레이 영역 내에서 실행될 때 사전 애플리케이션이 2차 디스플레이 영역에서 디스플레이될 수도 있다. 또는, 1차 디스플레이 영역 내에 멀티미디어 콘텐츠가 디스플레이되는 동안, 타이밍을 보여주고, 엔터테인먼트 정보를 제공하는 등을 위해 2차 디스플레이 영역이 이용될 수 있다. 또한, 2차 디스플레이 영역에 어떤 콘텐츠가 디스플레이될 것인지를 변경하기 위해 개인 설정이 이용될 수 있다. 일부 실시예에서, 상이한 사용자들은 제어가능한 사용자 로그인에 의해 이 디스플레이 제어를 제공할 수 있다.In addition, the content rendered in the secondary display area may be based on the recognition of the content displayed in the primary display area and / or the recognition of the device context. For example, when the browse application is running in the primary display area, the secondary display area may display content showing browse content-based data. When the company email / calendar application is running in the primary display area, the secondary display area may display personal email notification. As another example, the pre-application may be displayed in the secondary display area when the E- reader application is executed in the primary display area. Alternatively, a secondary display area may be used for displaying timing, providing entertainment information, etc. while the multimedia content is displayed in the primary display area. In addition, personal settings can be used to change what content is to be displayed in the secondary display area. In some embodiments, different users may provide this display control by a controllable user login.

실시예들은 또한, 2차 디스플레이 영역에서 위치 인식 콘텐츠의 디스플레이를 제공할 수 있다. 예를 들어, 시스템이 사무실 위치에서 이용 중에 있을 때, 사무실 뉴스 티커가 2차 디스플레이 영역에 디스플레이될 수도 있다. 그 대신에 시스템이 집에서 이용 중일 때, 2차 디스플레이 영역은 Facebook™ 업데이트, 텔레비전 쇼 타이밍 등을 보여줄 수도 있다. 쇼핑 환경, 예를 들어, 상점 등의 또 다른 환경에 있을 때, 2차 디스플레이 영역은 거래를 보여주거나 및/또는 정보를 저장할 수 있다.Embodiments can also provide a display of location aware content in a secondary display area. For example, when the system is in use at an office location, an office news ticker may be displayed in the secondary display area. Instead, when the system is at home, the secondary display area may show Facebook ™ updates, TV show timing, and so on. When in a shopping environment, e.g., another environment such as a store, the secondary display area may show transactions and / or store information.

실시예들은 또한, 근접 장치의 인식에 기초하여 2차 디스플레이 영역에 콘텐츠의 디스플레이를 제공할 수 있다. 예를 들어, 시스템이 스마트폰 등의 이동국에 매우 근접할 때, 그 이동국에 대한 착신 통화 정보가, 예를 들어, 회의 또는 사용자가 제어할 수 있는 다른 시간 동안에, 2차 디스플레이 영역에 디스플레이될 수 있다. 비슷한 방식으로, 착신 단문 서비스(SMS; short message service) 메시지, 부재중 통화 등에 관한 정보가 역시 디스플레이될 수도 있다.Embodiments can also provide a display of the content in the secondary display area based on the recognition of the proximity device. For example, when the system is very close to a mobile station, such as a smart phone, incoming call information for that mobile station may be displayed in the secondary display area, for example, during conferences or other times the user can control have. Similarly, information regarding a short message service (SMS) message, missed call, etc. may also be displayed.

실시예들은 또한, 2차 디스플레이 영역에서 사용자 인식 콘텐츠의 디스플레이를 제공할 수 있다. 예를 들어, 개인 설정-기반의 콘텐츠가 2차 디스플레이 영역 내에 디스플레이될 수 있다. 예를 들어, 시스템을 이용하는 아빠는 시스템이 2차 디스플레이 영역에 뉴스, 주식 티커, 스포츠 정보, 오피스 애플리케이션에 대한 쇼트컷 등을 디스플레이하도록 제거되게끔 할 수 있다. 대신, 시스템을 이용하는 엄마는, 특히 패션 뉴스, 레시피, 책 리뷰가 2차 디스플레이 영역에 디스플레이되게 할 수 있다. 시스템을 이용하는 아이의 경우, 2차 디스플레이 영역은 애니메이션 캐릭터, 게임에 대한 쇼트컷 등을 보여주게끔 야기될 수 있다.Embodiments can also provide a display of user-recognized content in a secondary display area. For example, personalization-based content may be displayed within the secondary display area. For example, a dad using the system may cause the system to be removed to display news, stock tickers, sports information, short cuts for office applications, etc. in the secondary display area. Instead, a mother using the system can cause fashion news, recipes, and book reviews to be displayed in the secondary display area. In the case of a child using the system, the secondary display area can be caused to show an animated character, a shot cut for the game, and the like.

실시예는 또한, 장치 전력 상태의 인식에 기초한 콘텐츠의 디스플레이를 제공한다. 예를 들어, 1차 디스플레이가 저전력 모드로 비활성일 때, 2차 디스플레이 영역이 이용되어, 전자메일 통보 등의 통보, 애플리케이션 쇼트컷 등의 쇼트컷을 디스플레이하거나 백라이트를 제공할 수 있다.Embodiments also provide for the display of content based on recognition of the device power state. For example, when the primary display is inactive in the low power mode, the secondary display area may be used to display shortcuts such as notifications of e-mail notifications, application shortcuts, etc., or provide a backlight.

따라서 실시예들은, 다양한 컨텍스트들(예를 들어, 위치, 사용자, 1차 디스플레이 콘텐츠, 장치 컨텍스트 등)이 2차 디스플레이 영역에서 어떤 콘텐츠를 어떻게 렌더링할 것인지에 대한 적절한 컨텍스트를 결정하는데 이용될 수 있게 하는 프레임워크를 제공한다. 이 컨텍스트 데이터는 콘텐츠 결정 로직에서 콘텐츠 결정을 생성하여 적절한 콘텐츠를 결정하는데 이용될 수 있고, 이 콘텐츠는 이어서 콘텐츠 엔진에 전달되어 렌더링을 위한 적절한 콘텐츠를 생성할 수 있다. 실시예들을 이용하여, 장치는 소정의 사용자들에 대해 개인맞춤화될 수 있다. 또한, 사용자는, 2차 디스플레이 영역을 통해 실시간 콘텐츠의 디스플레이를 가능케하면서 디스플레이의 대다수 부분들이 오프될 수 있기 때문에 더 큰 배터리 수명을 실현할 수 있다.Thus, embodiments allow for various contexts (e.g., location, user, primary display content, device context, etc.) to be used to determine the appropriate context for how to render certain content in the secondary display area Provide the framework. This context data may be used to generate content decisions in the content decision logic to determine the appropriate content, which may then be passed to the content engine to generate the appropriate content for rendering. Using the embodiments, the device may be personalized for certain users. In addition, the user can realize a greater battery life because the majority of the display can be turned off while enabling the display of real-time content through the secondary display area.

실시예들은 많은 상이한 타입의 시스템들에서 이용될 수 있다. 예를 들어, 한 실시예에서, 통신 장치는 여기서 설명된 다양한 방법 및 기술을 수행하도록 준비될 수 있다. 물론, 본 발명의 범위는 통신 장치로 제한되지 않으며, 대신에 다른 실시예들은 명령어를 처리하기 위한 다른 타입의 장치, 또는 컴퓨팅 장치에서의 실행에 응답하여 장치가 여기서 설명된 하나 이상의 방법 및 기술을 실행하게 하는 명령어들을 포함하는 하나 이상의 머신 판독가능한 매체에 관련될 수 있다.Embodiments can be used in many different types of systems. For example, in one embodiment, a communication device may be prepared to perform the various methods and techniques described herein. Of course, the scope of the invention is not limited to communication devices, but other embodiments may alternatively be implemented in other types of devices for processing instructions, or in one or more of the methods and techniques described herein, Readable medium including instructions for causing the computer to perform the steps of:

이하의 예들은 추가 실시예에 관한 것이다.The following examples relate to further embodiments.

한 예에서, 시스템은, 터치 제어기와 인터페이싱하고 상기 터치 제어기에 맵핑 정보 ―상기 맵핑 정보는 상기 시스템의 디스플레이의 1차 영역과 상기 디스플레이의 2차 영역의 식별자를 포함함― 를 전달하는 주변기기 제어기; 상기 주변기기 제어기에 결합되고 터치 데이터가 상기 2차 영역 내의 사용자 터치에 대응할 때에는 터치 장치로부터 수신된 터치 데이터를 필터링하고 상기 터치 데이터가 상기 1차 영역 내의 사용자 터치에 대응할 때에는 상기 터치 데이터를 상기 주변기기 제어기에 전달하는 제1 로직을 포함하는 상기 터치 제어기; 상기 터치 제어기에 결합되어 상기 사용자 터치를 수신하고 상기 터치 데이터를 상기 터치 제어기에 전달하는 상기 터치 장치; 상기 디스플레이에 결합되어, 상기 시스템의 구성, 하나 이상의 환경 센서로부터의 정보, 렌더링될 콘텐츠의 타입, 및 상기 1차 영역의 모드 중 하나 이상에 기초하여 상기 2차 영역에 콘텐츠를 렌더링하도록 상기 디스플레이를 제어하는 디스플레이 로직; 및 상기 디스플레이 로직에 결합된 상기 디스플레이로서, 상기 1차 영역의 디스플레이 콘텐츠는 상기 2차 영역의 디스플레이 콘텐츠와는 독립된, 상기 디스플레이를 포함한다.In one example, the system comprises a peripheral controller for communicating with a touch controller and communicating mapping information to the touch controller, the mapping information including a primary area of a display of the system and an identifier of a secondary area of the display; Wherein when the touch data corresponds to a user touch in the primary area, the touch data is connected to the peripheral controller, and when the touch data corresponds to a user touch in the secondary area, The touch controller comprising: The touch device coupled to the touch controller to receive the user touch and transmit the touch data to the touch controller; A display coupled to the display for displaying content on the secondary region based on at least one of a configuration of the system, information from one or more environmental sensors, a type of content to be rendered, Display logic to control; And the display coupled to the display logic, wherein the display content of the primary domain is independent of the display content of the secondary domain.

소정 예에서, 주변기기 제어기는, 터치 제어기가 터치 데이터 필터링을 수행할 때 저전력 상태에 있다. 주변기기 제어기는, 사용자 터치가 2차 영역 내에 있을 때 저전력 상태에 있을 수 있다.In some examples, the peripheral controller is in a low power state when the touch controller performs touch data filtering. The peripheral controller may be in a low power state when the user touch is in the secondary area.

소정 예에서, 프로세서는 적어도 하나의 코어와 주변기기 제어기를 포함한다. 상기 프로세서는, 터치 제어기가 터치 데이터 필터링을 수행할 때 저전력 상태에 있다. 주변기기 제어기는 적어도 하나의 코어 상에서 실행되는 시스템 소프트웨어로부터 맵핑 정보를 수신한다.In some examples, the processor includes at least one core and a peripheral controller. The processor is in a low power state when the touch controller performs touch data filtering. The peripheral controller receives mapping information from system software running on at least one core.

상기 프로세서는 다양한 수단을 이용하여 구현될 수 있다는 점에 유의한다.It is noted that the processor may be implemented using various means.

소정 예에서, 프로세서는 사용자 장비 터치-가능형 장치에 포함된 SoC를 포함한다.In some instances, the processor includes an SoC included in a user equipment touch-enabled device.

또 다른 예에서, 시스템은 디스플레이와 메모리를 포함하고, 상기 예들의 하나 이상의 프로세서를 포함한다.In yet another example, a system includes a display and a memory, and includes one or more processors of the above examples.

소정 예에서, 디스플레이는 터치 제어기에 결합된 터치 장치를 포함하는 터치스크린을 포함하고, 주변기기 제어기는 터치 제어기에 맵핑 정보를 무선으로 전달하며, 여기서, 터치 제어기는 외부 디스플레이에 포함된다.In certain examples, the display includes a touch screen including a touch device coupled to a touch controller, wherein the peripheral controller wirelessly transmits the mapping information to the touch controller, wherein the touch controller is included in the external display.

소정 예에서, 터치 제어기에 결합된 메모리는 맵핑 정보를 저장하고, 여기서, 터치 제어기는 터치 데이터를 필터링할지를 결정하기 위해 메모리 내의 맵핑 정보에 액세스한다.In some examples, a memory coupled to the touch controller stores mapping information, wherein the touch controller accesses mapping information in the memory to determine whether to filter the touch data.

소정 예에서, 주변기기 제어기는 디스플레이의 제어 패널 영역의 식별자를 터치 제어기에 전달하고, 터치 제어기는 터치 데이터가 제어 패널 영역 내에 있을 때 터치 데이터를 주변기기 제어기에 전달하고 그 외의 경우 터치 데이터를 필터링한다. 시스템은 터치 데이터 전달의 수신에 응답하여 저전력 상태로부터 웨이크업할 수 있다.In some examples, the peripheral controller communicates the identifier of the control panel area of the display to the touch controller, which forwards the touch data to the peripheral controller when the touch data is within the control panel area and otherwise filters the touch data. The system may wake up from a low power state in response to receiving the touch data transfer.

소정 예에서, 2차 영역은 적어도 하나의 소프트 버턴을 포함하고, 터치 제어기는, 주변기기 제어기가 저전력 상태에 있는 동안, 터치 데이터가 적어도 하나의 소프트 버턴 내에서 수신될 때 사용자에게 햅틱 피드백이 제공되게 한다. 터치 제어기는 터치 장치의 제1 스캔 영역 내의 광학 스캐너를 제1 스캔 영역 내에서의 터치 데이터의 수신에 응답하여 인에이블하고, 제1 스캔 영역 내에서의 터치 데이터의 수신에 응답하여 제1 스캔 영역의 조명을 야기한다. 터치 제어기는 또한, 터치 장치의 나머지가 저전력 상태에 있는 동안 제1 스캔 영역 내의 광학 스캐너와 제1 스캔 영역 조명을 인에이블할 수 있다.In some embodiments, the secondary region includes at least one soft button, and the touch controller is configured to provide the user with haptic feedback when the touch data is received within the at least one soft button while the peripheral controller is in the low power state do. The touch controller enables the optical scanner in the first scan area of the touch device in response to receipt of the touch data in the first scan area and in response to receipt of the touch data in the first scan area, Lt; / RTI > The touch controller may also enable the first scan area illumination with the optical scanner in the first scan area while the remainder of the touch device is in the low power state.

실시예에서, 적어도 하나의 센서는 사용자의 존재를 감지하고, 디스플레이 로직은 적어도 하나의 센서의 출력을 수신하고 적어도 부분적으로 이 출력에 기초하여 1차 영역의 제1 크기와 2차 영역의 제2 크기를 제어한다. 디스플레이 로직은, 적어도 부분적으로 디스플레이에 렌더링될 콘텐츠에 기초하여 제1 크기와 제2 크기를 제어할 수 있다. 디스플레이 로직은, 적어도 하나의 센서가 제1 사용자의 존재를 감지할 때 디스플레이로 하여금 제1 사용자에 대한 사용자 선택된 콘텐츠를 2차 영역에 디스플레이하게 한다. 디스플레이 로직은 2차 영역을 제어하여 적어도 하나의 애플리케이션 쇼트컷을 디스플레이하고, 적어도 하나의 애플리케이션 쇼트컷의 사용자 선택에 응답하여, 1차 영역의 적어도 일부를 제어하여 사용자 선택된 애플리케이션의 사용자 인터페이스를 디스플레이한다. 디스플레이 로직은 디스플레이로 하여금 적어도 부분적으로 1차 영역에서 렌더링된 제1 콘텐츠에 기초하여 제2 콘텐츠를 2차 영역에 렌더링하게 할 수 있다. 디스플레이 로직은 디스플레이로 하여금 시스템에 근접한 제2 시스템과의 상호작용에 기초하여 콘텐츠를 렌더링하게 할 수 있다. 디스플레이 로직은 디스플레이로 하여금 스마트폰을 포함하는 제2 시스템이 통화를 수신할 때 통화 정보를 2차 영역에 렌더링하게 할 수 있다. 디스플레이 로직은, 시스템이 풀 스크린 비디오 모드에 있을 때, 1차 영역과 2차 영역이 단일의 사용자 인터페이스를 디스플레이하게 할 수 있다. 디스플레이 로직은 1차 영역이 저전력 상태에 있을 때 2차 영역을 인에이블할 수 있다. 디스플레이 로직은 1차 영역이 저전력 상태에 있을 때 통보 콘텐츠를 2차 영역에서 렌더링할 수 있다.In an embodiment, the at least one sensor senses the presence of the user, the display logic receives the output of the at least one sensor and, based at least in part on the output, generates a first magnitude of the first region and a second magnitude of the second region Control the size. The display logic may control the first size and the second size based at least in part on the content to be rendered on the display. The display logic causes the display to display the user selected content for the first user in the secondary area when at least one sensor senses the presence of the first user. The display logic controls the secondary region to display at least one application shortcut, and in response to user selection of the at least one application shortcut, controls at least a portion of the primary region to display a user interface of the user selected application . The display logic may cause the display to render the second content in the secondary region based at least in part on the first content rendered in the primary region. The display logic may cause the display to render the content based on interaction with a second system in proximity to the system. The display logic may cause the display to render the call information in the secondary area when the second system, including the smart phone, receives the call. The display logic may cause the primary and secondary regions to display a single user interface when the system is in full screen video mode. The display logic may enable the secondary region when the primary region is in a low power state. The display logic may render the notification content in the secondary domain when the primary domain is in a low power state.

소정 예에서, 위치 센서가 디스플레이 로직에 결합되고, 디스플레이 로직은 시스템이 제1 위치에 있을 때 디스플레이로 하여금 제1 콘텐츠를 2차 영역에 렌더링하게 하고 시스템이 제2 위치에 있을 때 디스플레이로 하여금 제2 콘텐츠를 2차 영역에 렌더링하게 하며, 상기 제1 및 상기 제2 위치는 위치 센서에 의해 검출된다.In some embodiments, a position sensor is coupled to the display logic, and the display logic causes the display to render the first content in the secondary region when the system is in the first position, 2 content in a secondary area, wherein the first and second positions are detected by a position sensor.

또 다른 예에서, 기기(apparatus)는, 터치 입력 장치에 결합된 제어기를 포함하고, 이 제어기는, 터치 입력 장치에 대한 유효 영역 정보와 무효 영역 정보 중 적어도 하나를 수신하고; 유효 영역 정보와 무효 영역 정보 중 적어도 하나를 스토리지에 저장하며; 터치 입력 장치로부터 터치 데이터를 수신하고 터치 데이터가 터치 입력 장치의 무효 영역 내에 있을 때 제어기에 결합된 호스트 프로세서에 전달되는 것으로부터 터치 데이터를 필터링하는 필터 로직을 포함한다.In yet another example, an apparatus includes a controller coupled to a touch input device, the controller receiving at least one of valid area information and invalid area information for a touch input device; Storing at least one of valid area information and invalid area information in a storage; And filter logic for receiving touch data from the touch input device and for filtering touch data from being passed to the host processor coupled to the controller when the touch data is in the invalid region of the touch input device.

소정 예에서, 필터 로직은 터치 데이터가 터치 입력 장치의 유효 영역 내에 있을 때 터치 데이터를 호스트 프로세서에 보고한다. 필터 로직은 터치 입력 장치가 무효 영역 내에 있는지를 결정하기 위해 스토리지 내의 무효 영역 정보에 액세스할 수 있다. 유효 영역은 디스플레이 상에 존재하는 적어도 하나의 소프트 버턴을 포함한다.In some examples, the filter logic reports the touch data to the host processor when the touch data is within the effective area of the touch input device. The filter logic may access the invalid area information in the storage to determine if the touch input device is within the invalid area. The effective area includes at least one soft button present on the display.

또 다른 예에서, 시스템은, 시스템 온 칩(SoC; System on Chip)으로서, 적어도 하나의 코어, 상기 적어도 하나의 코어에 결합되어 상기 SoC에 결합된 적어도 하나의 주변 장치와의 통신을 제어하는 주변기기 제어기, 및 상기 SoC가 저전력 상태에 진입하고 저전력 상태로부터 벗어날 수 있게 하는 전력 제어기를 포함하는, 상기 시스템 온 칩(SoC); 사용자로부터 입력을 수신하는 인간 인터페이스 장치(HID; human interface device); 및 상기 HID에 결합되어 상기 사용자 입력과 연관된 데이터를 수신하며 상기 사용자 입력이 상기 HID의 무효 영역 내에 있을 때에는 상기 데이터를 필터링 ―상기 SoC는 상기 사용자 입력이 상기 무료 영역 내에 있을 때 저전력 상태에 유지됨― 하고, 상기 사용자 입력이 상기 HID의 유효 영역 내에 있을 때에는 상기 SoC에 상기 데이터를 전달하는 제1 로직을 포함하는 HID 제어기를 포함한다.In another example, a system is a System on Chip (SoC), comprising: at least one core; a peripheral device coupled to the at least one core for controlling communication with at least one peripheral device coupled to the SoC A controller, and a power controller that allows the SoC to enter a low power state and to escape a low power state; A human interface device (HID) for receiving input from a user; And a processor coupled to the HID to receive data associated with the user input and to filter the data when the user input is within the invalid area of the HID, the SoC being held in a low power state when the user input is within the free area, And a first logic to transfer the data to the SoC when the user input is within the valid area of the HID.

소정 예에서, 햅틱 제어기는 사용자에게 햅틱 피드백을 제공하고, 여기서, HID 제어기는 사용자 입력이 HID의 유효 영역 내에 있을 때 햅틱 생성기로 하여금 햅틱 피드백을 제공하게 한다. 광학 스캐너는 사용자의 제2 사용자 입력을 스캔할 수 있고, 여기서, HID 제어기는 HID의 유효 영역 내의 사용자 입력의 수신에 응답하여 광학 스캐너를 인에이블한다. HID 제어기는 HID의 유효 영역 내의 사용자 입력의 수신에 응답하여 유효 영역의 조명을 야기할 수 있다.In certain instances, the haptic controller provides haptic feedback to the user, wherein the HID controller causes the haptic generator to provide haptic feedback when the user input is within the effective area of the HID. The optical scanner may scan a user's second user input, wherein the HID controller enables the optical scanner in response to receiving user input within a valid region of the HID. The HID controller may cause illumination of the effective area in response to receiving user input within the valid area of the HID.

또 다른 예에서, 시스템은, 사용자 터치 정보가 처리되는 유효 영역과 사용자 터치 정보가 폐기되는 무효 영역을 포함하는 사용자 인터페이스를 디스플레이하는 터치스크린; 및 상기 터치스크린에 결합되어 사용자 터치 정보를 수신하며, 상기 사용자 터치 정보가 상기 무효 영역 내에 있을 때 상기 터치스크린으로부터 수신된 사용자 터치 정보를 폐기하고 상기 사용자 터치 정보가 상기 유효 영역 내에 있을 때 상기 터치스크린으로부터 수신된 사용자 터치 정보를 전달하는 로직을 포함하는 터치스크린 제어기를 포함한다.In yet another example, the system includes a touch screen that displays a user interface that includes a valid region in which user touch information is processed and an invalid region in which user touch information is discarded; And a control unit coupled to the touch screen for receiving user touch information, discarding user touch information received from the touch screen when the user touch information is within the invalid area, And a touch screen controller including logic to convey user touch information received from the screen.

시스템은, 상기 터치스크린 제어기에 결합되어 상기 터치스크린 제어기로부터 상기 전달된 사용자 터치 정보를 수신하는 주변기기 제어기; 및 상기 주변기기 제어기에 결합되어 상기 주변기기 제어기로부터 상기 전달된 사용자 터치 정보를 수신하고 상기 전달된 사용자 터치 정보를 처리하여 상기 사용자에 의해 요청된 동작을 결정하는 프로세서를 더 포함하고, 여기서, 상기 프로세서는, 상기 사용자 터치 정보가 상기 터치스크린 제어기에 의해 폐기될 때 저전력 상태에 유지된다.The system includes a peripheral controller coupled to the touch screen controller and receiving the transmitted user touch information from the touch screen controller; And a processor coupled to the peripheral controller to receive the delivered user touch information from the peripheral controller and to process the delivered user touch information to determine an operation requested by the user, , And remains in a low power state when the user touch information is discarded by the touch screen controller.

또 다른 예에서, 시스템은, 1차 영역에는 제1 사용자 인터페이스를 디스플레이하고 2차 영역에는 제2 사용자 인터페이스를 디스플레이하거나 아무런 사용자 인터페이스도 디스플레이하지 않는 터치스크린; 및 상기 터치스크린에 결합되고, 상기 터치 데이터가 상기 2차 영역 내의 사용자 터치에 대응할 때에는 상기 터치스크린으로부터 수신된 터치 데이터를 필터링하고 상기 터치 데이터가 상기 1차 영역 내의 사용자 터치에 대응할 때에는 상기 터치 데이터를 상기 터치스크린 제어기에 결합된 주변기기 제어기에 전달하는 제1 로직을 포함하는 터치스크린 제어기를 포함한다.In yet another example, the system includes a touch screen that displays a first user interface in the primary area and a second user interface in the secondary area, or does not display any user interface; And a control unit coupled to the touch screen and configured to filter the touch data received from the touch screen when the touch data corresponds to a user touch in the secondary area and, when the touch data corresponds to a user touch in the primary area, To the peripheral controller coupled to the touch screen controller.

이 시스템은, 각각이 환경 파라미터를 감지하고 상기 시스템이 동작 중인 환경에 관한 환경 정보를 생성하는 복수의 센서; 상기 복수의 센서에 결합되어 상기 환경 정보를 수신하는 센서 제어기로서, 상기 주변기기 제어기는 상기 센서 제어기와 상기 터치스크린 제어기에 결합되어, 상기 터치 데이터가 상기 1차 영역 내의 사용자 데이터에 대응할 때 상기 터치스크린 제어기로부터 상기 터치 데이터를 수신하는, 상기 센서 제어기; 및 상기 주변기기 제어기에 결합되어 상기 주변기기 제어기로부터 상기 터치 데이터를 수신하고 상기 터치 데이터를 처리하여 상기 사용자에 의해 요청된 동작을 결정하는 프로세서를 더 포함하고, 상기 프로세서는, 상기 터치 데이터가 상기 제1 로직에 의해 필터링될 때 저전력 상태에 유지된다.The system includes: a plurality of sensors, each sensing environmental parameters and generating environmental information regarding the environment in which the system is operating; A sensor controller coupled to the plurality of sensors for receiving the environment information, the peripheral controller being coupled to the sensor controller and the touchscreen controller, the touchscreen controller comprising: a touchscreen controller that, when the touch data corresponds to user data in the primary area, The sensor controller receiving the touch data from a controller; And a processor, coupled to the peripheral controller, for receiving the touch data from the peripheral controller and processing the touch data to determine an operation requested by the user, wherein the processor is further configured to: And remains in a low power state when filtered by the logic.

역시 추가의 예에서, 시스템은, 사용자 터치가 처리되는 1차 영역에 제1 사용자 인터페이스를 디스플레이하고 사용자 터치가 무시되는 2차 영역에는 아무런 사용자 인터페이스도 디스플레이하지 않는 터치스크린; 및 상기 터치스크린에 결합되어, 상기 1차 영역과 상기 2차 영역의 식별자를 포함하는 맵핑 정보를 수신하고 저장하며 적어도 부분적으로 상기 맵핑 정보에 기초하여 터치 데이터가 상기 2차 영역 내의 사용자 터치에 대응할 때에는 터치스크린으로부터 수신된 터치 데이터를 필터링하고, 적어도 부분적으로 상기 맵핑 정보에 기초하여 상기 터치 데이터가 상기 1차 영역 내의 사용자 터치에 대응할 때에는 상기 터치 데이터를 상기 터치스크린 제어기에 결합된 SoC의 주변기기 제어기에 전달하는 제1 로직을 포함하는 터치스크린 제어기를 포함한다.In yet a further example, the system further comprises: a touch screen that displays a first user interface in a primary area where a user touch is processed and no user interface in a secondary area in which a user touch is ignored; And receiving and storing mapping information including an identifier of the primary domain and the secondary domain, the filter being coupled to the touch screen and storing touch data corresponding to a user touch in the secondary domain based at least in part on the mapping information When the touch data corresponds to a user touch in the primary area, based on at least partly the mapping information, the touch data is transmitted to a peripheral controller of the SoC coupled to the touch screen controller And a first logic to transmit the first logic to the touch screen controller.

이 시스템은, 시스템이 동작중인 환경의 주변광의 레벨을 검출하는 주변광 센서, 상기 주변광 센서에 결합되어 주변광의 검출된 레벨을 수신하는 센서 제어기를 더 포함할 수 있고, 여기서, SoC는 상기 센서 제어기와 상기 터치스크린 제어기에 결합된다.The system may further comprise a ambient light sensor for detecting a level of ambient light in an environment in which the system is operating, and a sensor controller coupled to the ambient light sensor for receiving a detected level of ambient light, Controller and the touch screen controller.

소정 예에서, SoC는 복수의 코어를 포함하고, 상기 주변기기 제어기는 상기 복수의 코어에 결합되어 상기 센서 제어기와 상기 터치스크린 제어기를 포함하는 상기 SoC에 결합된 복수의 주변 장치들과의 통신을 제어하며, 상기 주변기기 제어기는 상기 센서 제어기로부터 주변광의 검출된 레벨을 수신하고 주변광의 검출된 레벨을 상기 터치스크린 제어기에 전달하여 이에 기초하여 상기 터치스크린 제어기가 상기 터치스크린의 동작 파라미터를 제어할 수 있게 하고, 상기 주변기기 제어기는 또한 맵핑 정보를 상기 터치스크린 제어기에 전송하고 상기 터치 데이터가 상기 1차 영역 내의 사용자 터치에 대응할 때 상기 터치스크린 제어기로부터 상기 터치 데이터를 수신한다.In some embodiments, the SoC includes a plurality of cores, and the peripheral controller is coupled to the plurality of cores to control communication with a plurality of peripherals coupled to the SoC including the sensor controller and the touch screen controller Wherein the peripheral controller receives the detected level of ambient light from the sensor controller and communicates the detected level of ambient light to the touchscreen controller so that the touchscreen controller can control the operating parameters of the touchscreen And the peripheral controller also transmits mapping information to the touch screen controller and receives the touch data from the touch screen controller when the touch data corresponds to a user touch within the primary area.

SoC는 또한, SoC가 저전력 상태에 진입하고 저전력 상태로부터 벗어나는 것을 가능케 하는 전력 제어기를 더 포함할 수 있고, 여기서, 상기 전력 제어기는, 2차 영역 내의 사용자 터치에 대응하는 터치 데이터가 터치스크린 제어기의 상기 제1 로직에 의해 필터링될 때는 상기 SoC가 저전력 상태에 유지될 수 있게 하고 1차 영역 내의 사용자 터치에 대응하는 터치 데이터가 전달될 때에는 상기 SoC가 저전력 상태로부터 벗어나게 할 수 있다.The SoC may further include a power controller that allows the SoC to enter a low power state and to deviate from a low power state, wherein the power controller is configured to cause the touch data corresponding to a user touch in the secondary region to be transmitted to the touch screen controller The SoC can be kept in a low power state when it is filtered by the first logic and the SoC can be released from a low power state when touch data corresponding to a user touch in the primary region is delivered.

시스템은 SoC에 결합되어 시스템의 전력 소비를 제어하는 PMIC를 더 포함할 수 있다.The system may further include a PMIC coupled to the SoC to control power consumption of the system.

또 다른 예에서, 적어도 하나의 저장 매체는 명령어들을 포함하고, 상기 명령어들은 실행될 때 시스템으로 하여금, 디스플레이 로직에서, 제1 애플리케이션의 실행 동안에 상기 시스템의 디스플레이의 2차 디스플레이 영역 ―상기 2차 디스플레이 영역은 상기 제1 애플리케이션의 사용자 인터페이스가 렌더링되는 1차 디스플레이 영역으로부터 분리되어 있음― 에서의 동적 콘텐츠 렌더링에 대한 상기 제1 애플리케이션의 적용가능성을 나타내는 등록 메시지를 상기 제1 애플리케이션으로부터 수신하고; 상기 제1 애플리케이션에 관한 정보를 2차 디스플레이 영역 목록에 포함하고; 상기 제1 애플리케이션의 실행 동안에, 상기 2차 디스플레이 영역에 콘텐츠를 디스플레이하는 요청을 수신하며; 상기 1차 디스플레이 영역에 사용자 인터페이스가 렌더링되어 있는 동안 상기 디스플레이로 하여금 상기 2차 디스플레이 영역에 콘텐츠를 렌더링하게 하고 ―상기 콘텐츠는 상기 사용자 인터페이스에 독립적임― , 상기 2차 디스플레이 영역 내의 콘텐츠는 상기 2차 디스플레이 영역 목록 내의 제1 애플리케이션 정보를 이용하여 선택된다.In another example, at least one storage medium includes instructions that, when executed, cause the system to, in the display logic, display a secondary display area of the display of the system during execution of the first application, Receiving from the first application a registration message indicating the applicability of the first application to dynamic content rendering at a user interface of the first application being separated from a primary display area where the user interface of the first application is rendered; The information about the first application is included in the secondary display area list; Receive a request to display content in the secondary display area during execution of the first application; The content being rendered independent of the user interface; and the content in the secondary display area is in the second display area, And is selected using the first application information in the secondary display area list.

역시 또 다른 예에서, 시스템은, 사용자 터치 입력을 수신해 사용자 터치 입력에 대응하는 터치 데이터를 생성하는 터치 장치; 및 상기 터치장치에 결합되고, 맵핑 정보를 수신해 디스플레이의 1차 영역과 디스플레이의 2차 영역을 식별하는 터치 제어기를 포함하고, 상기 터치 제어기는 터치 데이터가 1차 영역 내의 터치 입력에 대응할 때는 터치 데이터를 주변기기 제어기에 전달하고 터치 데이터가 2차 영역 내의 터치 입력에 대응할 때에는 터치 장치로부터 수신된 터치 데이터를 필터링하는 제1 로직을 포함한다.In yet another example, a system includes a touch device that receives a user touch input and generates touch data corresponding to a user touch input; And a touch controller, coupled to the touch device, for receiving the mapping information and identifying a primary area of the display and a secondary area of the display, wherein the touch controller is operable when the touch data corresponds to a touch input in the primary area, And first logic for delivering data to the peripheral controller and for filtering touch data received from the touch device when the touch data corresponds to a touch input in the secondary area.

소정 예에서, 터치 제어기는: 주변기기 제어기로부터 맵핑 정보를 수신하는 것과 주변기기 제어기가 저전력 상태에 있을 때 터치 데이터를 필터링하는 것 중 적어도 하나를 수행한다.In some embodiments, the touch controller: performs at least one of: receiving the mapping information from the peripheral controller and filtering the touch data when the peripheral controller is in a low power state.

소정 예에서, 적어도 하나의 코어 상에서 실행되는 시스템 소프트웨어는 주변기기 제어기에 맵핑 정보를 제공한다.In certain examples, system software running on at least one core provides mapping information to a peripheral controller.

소정 예에서, 디스플레이는 제어 패널 영역을 포함할 수 있고, 여기서, 터치 제어기는 터치 데이터가 제어 패널 영역 내의 사용자 터치에 대응할 때 주변기기 제어기에 터치 데이터를 전달하며, 이 경우, 제어 패널 영역이 1차 영역 내에 있든 2차 영역 내에 있든 상관없다. 터치 제어기는 주변기기 제어기로부터 제어 패널 영역의 식별자를 수신할 수 있다. 시스템은, 터치 제어기가 터치 데이터를 주변기기 제어기에 전송할 때 저전력 상태를 벗어날 수 있고, 시스템은 터치 제어기가 터치 데이터를 필터링할 때 저전력 상태에 유지될 수 있다.In some examples, the display may include a control panel area, wherein the touch controller delivers touch data to the peripheral controller when the touch data corresponds to a user touch within the control panel area, Whether it is within the region or within the secondary region. The touch controller may receive an identifier of the control panel area from the peripheral controller. The system may leave the low power state when the touch controller transmits touch data to the peripheral controller and the system may be kept in a low power state when the touch controller is filtering the touch data.

소정 예에서, 광학 스캐너가 터치 장치의 제1 스캔 영역 내에 포함되고, 여기서, 터치 제어기는 사용자가 제1 스캔 영역을 터치할 때 광학 스캐너를 인에이블하고, 터치 제어기는 사용자가 제1 스캔 영역을 터치할 때 제1 스캔 영역이 조명되게끔 한다. 터치 제어기는, 터치 장치의 주변기기 제어기, 프로세서, 또는 메모리 중 하나 이상이 저전력 상태에 있는 동안, 광학 스캐너를 인에이블하고 제1 스캔 영역이 조명되게 할 수 있다.In some embodiments, an optical scanner is included within a first scan area of the touch device, wherein the touch controller enables the optical scanner when the user touches the first scan area, So that the first scan area is illuminated when touched. The touch controller may enable the optical scanner and cause the first scan area to be illuminated while at least one of the peripheral controller, processor, or memory of the touch device is in the low power state.

또 따른 예에서, 시스템은, 사용자로부터 입력을 수신하는 HID와, 상기 HID에 결합되어 사용자 입력과 연관된 데이터를 수신하고 사용자 입력이 HID의 무효 영역 내에 있을 때 데이터를 필터링하고 사용자 입력이 HID의 유효 영역 내에 있을 때 SoC에 데이터를 전달하는 제1 로직을 포함하는 HID 제어기를 포함한다.In yet another example, the system further comprises: a HID coupled to the HID for receiving input from a user and for receiving data associated with the user input and for filtering data when the user input is within the invalid region of the HID, And an HID controller including first logic to transfer data to the SoC when in the region.

또 다른 예에서, 한 방법은, 시스템의 터치 제어기에서, 사용자 터치가 처리되는 유효 영역을 표시하는 상기 시스템의 터치 입력 장치에 대한 유효 영역 정보와 사용자 터치가 무시되는 무효 영역을 표시하는 상기 터치 입력 장치에 대한 무효 영역 정보를 수신하는 단계; 상기 유효 영역 정보와 상기 무효 영역 정보를 상기 터치 제어기에 결합된 스토리지에 저장하는 단계; 상기 터치 제어기에서, 상기 터치 입력 장치로부터 제1 터치 데이터 ―상기 제1 터치 데이터는 상기 무효 영역 내의 사용자 터치에 대응함― 를 수신하는 단계; 적어도 부분적으로 상기 무효 영역 정보에 기초하여 상기 사용자 터치가 상기 무효 영역에 있다고 결정하는 단계; 상기 터치 제어기에 결합된 호스트 프로세서에 전달되는 것으로부터 상기 제1 터치 데이터를 필터링하는 단계; 상기 터치 제어기에서, 상기 터치 입력 장치로부터 제2 터치 데이터 ―상기 제2 터치 데이터는 상기 유효 영역 내의 사용자 터치에 대응함― 를 수신하는 단계; 적어도 부분적으로 상기 유효 영역 정보에 기초하여 상기 사용자 터치가 상기 유효 영역에 있다고 결정하는 단계; 및 상기 제2 터치 데이터를 상기 호스트 프로세서에 전달하는 단계를 포함한다.In another example, a method is provided, in a touch controller of a system, for displaying valid area information on a touch input device of the system indicating a valid area in which a user touch is processed, Receiving invalid zone information for the device; Storing the valid area information and the invalid area information in a storage coupled to the touch controller; Receiving, in the touch controller, a first touch data from the touch input device, the first touch data corresponding to a user touch in the invalid area; Determining that the user touch is in the invalid area based at least in part on the invalid area information; Filtering the first touch data from being passed to a host processor coupled to the touch controller; Receiving, at the touch controller, a second touch data from the touch input device, the second touch data corresponding to a user touch within the valid area; Determining that the user touch is in the effective area based at least in part on the valid area information; And transmitting the second touch data to the host processor.

또 다른 예에서, 한 방법은 시스템의 터치스크린 상에 제1 사용자 인터페이스를 디스플레이하는 요청을 수신하는 단계; 터치스크린에게 제1 사용자 인터페이스를 디스플레이할 것을 지시하는 단계; 상기 시스템의 터치 제어기에게, 사용자 터치가 처리되는 유효 영역을 나타내는 상기 시스템의 터치 입력 장치에 대한 유효 영역 정보와 사용자 터치가 무시되는 무효 영역을 나타내는 상기 터치 입력 장치에 대한 무효 영역 정보를 전달하는 단계; 무효 영역 내의 사용자 터치에 대응하는 상기 터치 입력 장치로부터의 제1 터치 데이터의 수신에 응답하여, 적어도 부분적으로 상기 무효 영역 정보에 기초하여 상기 사용자 터치가 상기 무효 영역에 있다고 결정하는 단계; 및 상기 터치 제어기에 결합된 호스트 프로세서에 전달되는 것으로부터 상기 제1 터치 데이터를 필터링하여 상기 호스트 프로세서가 저전력 상태에 유지될 수 있게 하는 단계를 포함한다.In another example, one method includes receiving a request to display a first user interface on a touch screen of the system; Instructing the touch screen to display a first user interface; Transmitting effective area information on the touch input device of the system indicating the effective area where the user touch is processed and invalid area information on the touch input device indicating the invalid area where the user touch is ignored to the touch controller of the system ; In response to receiving the first touch data from the touch input device corresponding to a user touch in the invalid area, determining that the user touch is in the invalid area based at least in part on the invalid area information; And filtering the first touch data from being transmitted to a host processor coupled to the touch controller to allow the host processor to remain in a low power state.

또 다른 예에서, 명령어들을 포함하는 컴퓨터 판독가능한 매체는 상기 예들 중 임의의 것의 방법들을 수행하기 위한 것이다.In another example, a computer-readable medium containing instructions is for performing the methods of any of the above examples.

또 다른 예에서, 장치는 상기 예들 중 임의의 것의 방법들을 수행하기 위한 수단을 포함한다.In yet another example, the apparatus includes means for performing the methods of any of the above examples.

상기 예들의 다양한 조합들이 가능하다는 것을 이해해야 한다.It should be understood that various combinations of the above examples are possible.

설계는 생성에서부터 시뮬레이션에 이어 제작까지 다양한 단계들을 거칠 수 있다. 설계를 나타내는 데이터는 다수의 방식으로 설계를 표현할 수 있다. 우선, 시뮬레이션에서 유용하기 때문에, 하드웨어는 하드웨어 기술 언어(hardware description language)나 또 다른 기능적 기술 언어를 이용하여 표현될 수 있다. 추가적으로, 로직 및/또는 트랜지스터 게이트를 이용한 회로 레벨 모델은 설계 프로세스의 소정 단계들에서 생성될 수 있다. 또한, 대부분의 설계는, 소정 단계에서, 하드웨어 모델에서의 다양한 장치들의 물리적 배치를 나타내는 데이터의 레벨에 도달한다. 종래의 반도체 제조 기술이 이용되는 경우, 하드웨어 모델을 표현하는 데이터는 집적 회로를 생성하는데 이용되는 마스크에 대해 상이한 마스크 상의 다양한 특징들의 존재 또는 부재를 명시하는 데이터일 수 있다. 설계의 임의의 표현에서, 데이터는 임의 형태의 머신판독가능한 매체에 저장될 수 있다. 메모리 또는 디스크와 같은 자기 또는 광학 스토리지는, 이러한 정보를 전송하도록 변조되거나 기타의 방식으로 생성된 광학적 또는 전기적 파형을 통해 전송된 정보를 저장하는 머신판독가능한 매체일 수 있다. 코드나 설계를 나타내거나 운반하는 전기적 반송파가 전송될 때, 전기 신호의 복사, 버퍼링, 또는 재전송이 수행되면, 새로운 사본이 형성된다. 따라서, 통신 제공자 또는 네트워크 제공자는 유형의 머신-판독가능한 매체에 적어도 일시적으로, 본 발명의 실시예들의 기술을 구현하고 있는 반송파 내에 인코딩된 정보를 저장할 수 있다.A design can go through various stages, from creation to simulation to production. The data representing the design can represent the design in a number of ways. First, since it is useful in simulation, the hardware can be expressed using a hardware description language or another functional description language. Additionally, circuit level models using logic and / or transistor gates may be generated at certain stages of the design process. Further, most designs reach the level of data representing the physical placement of the various devices in the hardware model at a given stage. Where conventional semiconductor fabrication techniques are used, the data representing the hardware model may be data specifying the presence or absence of various features on the different masks for the masks used to create the integrated circuit. In any representation of the design, the data may be stored in any form of machine readable medium. A magnetic or optical storage, such as a memory or disk, may be a machine-readable medium that stores information transmitted via optical or electrical waveforms that are modulated or otherwise generated to transmit such information. When copying, buffering, or retransmitting an electrical signal is performed when an electrical carrier representing a code or design is transmitted, a new copy is formed. Thus, the communication provider or network provider may store encoded information in a carrier wave that implements the techniques of embodiments of the present invention, at least temporarily, in a type of machine-readable medium.

현대의 프로세서에서, 다수의 상이한 실행 유닛들이 다양한 코드와 명령어를 처리 및 실행하는데 이용된다. 일부 명령어는 더 빨리 완료되는 반면 다른 명령어는 완료를 위해 다수의 클록 사이클을 요구할 수 있기 때문에 모든 명령어들이 동등하게 생성되는 것은 아니다. 명령어의 처리가 빠를수록, 프로세서의 전체 성능은 더 좋다. 따라서, 많은 명령어를 가능하다면 빨리 실행하는 것이 유익할 것이다. 그러나, 복잡도가 높고 실행 시간과 프로세서 자원의 면에서 더 많은 것을 요구하는 소정 명령어들이 있다. 예를 들어, 부동 소수점 명령어, 로드/저장 연산, 데이터 이동 등이 있다.In modern processors, a number of different execution units are used to process and execute various codes and instructions. Not all instructions are created equally because some instructions may complete faster, while others may require multiple clock cycles to complete. The faster the instruction is processed, the better the overall performance of the processor. Therefore, it would be beneficial to run as many commands as possible as soon as possible. However, there are certain instructions that are more complex and require more in terms of execution time and processor resources. For example, floating-point instructions, load / store operations, and data movement.

더 많은 컴퓨터 시스템들이 인터넷, 텍스트, 및 멀티미디어 애플리케이션에 이용되기 때문에, 추가적인 프로세서 지원이 시간의 경과에 따라 도입되어 왔다. 한 실시예에서, 명령어 세트는, 데이터 타입, 명령어, 레지스터 아키텍쳐, 어드레싱 모드, 메모리 아키텍쳐, 인터럽트 및 예외 처리, 외부 입력 및 출력(I/O)을 포함한, 하나 이상의 컴퓨터 아키텍쳐와 연관될 수 있다.As more computer systems are used for Internet, text, and multimedia applications, additional processor support has been introduced over time. In one embodiment, the instruction set may be associated with one or more computer architectures, including data types, instructions, register architectures, addressing modes, memory architectures, interrupt and exception handling, external input and output (I / O)

한 실시예에서, 명령어 세트 아키텍쳐(ISA; instruction set architecture)는, 하나 이상의 명령어 세트를 구현하는데 이용되는 프로세서 로직을 포함하는 하나 이상의 마이크로-아키텍쳐에 의해 구현될 수 있다. 따라서, 상이한 마이크로아키텍쳐를 갖는 프로세서들은 공통의 명령어 세트의 적어도 일부를 공유할 수 있다. 예를 들어, Intel® Pentium 4 프로세서, Intel® Core™ 프로세서, 및 CA, Sunnyvale의 Advanced Micro Devices, Inc.의 프로세서들은 (새로운 버전에 따라 추가된 몇 가지 확장판과 더불어) 거의 동일한 버전의 x86 명령어 세트를 구현하지만, 상이한 내부 설계를 갖고 있다. 마찬가지로, ARM Holdings, Ltd., MIPS, 또는 그들의 면허생산자 또는 채택자들과 같은, 기타의 프로세서 개발사들에 의해 설계된 프로세서들은, 공통의 명령어 세트의 적어도 일부를 공유할 수 있지만, 상이한 프로세서 설계를 포함할 수 있다. 예를 들어, ISA의 동일한 레지스터 아키텍쳐는, 전용의 물리적 레지스터, 레지스터 개명 메커니즘을 이용하여(예를 들어, 레지스터 별칭 테이블(RAT; Register Alias Table)을 이용하여) 하나 이상의 동적으로 할당되는 물리적 레지스터, ROB(Reorder Buffer) 및 폐기 레지스터 파일(retirement register file)을 포함한, 새로운 또는 공지된 기술을 이용하여, 상이한 마이크로아키텍쳐에서 상이한 방식으로 구현될 수 있다. 한 실시예에서, 레지스터는, 소프트웨어 프로그래머에 의해 어드레싱가능하거나 가능하지 않은 하나 이상의 레지스터, 레지스터 아키텍쳐, 레지스터 파일, 또는 기타의 레지스터 세트를 포함할 수 있다.In one embodiment, an instruction set architecture (ISA) may be implemented by one or more micro-architectures including processor logic used to implement one or more sets of instructions. Thus, processors having different microarchitectures may share at least a portion of a common instruction set. For example, processors from the Intel® Pentium 4 processor, Intel® Core ™ processor, and Advanced Micro Devices, Inc. of CA, Sunnyvale (along with some extensions added with the new version) will have the same x86 instruction set But has a different internal design. Likewise, processors designed by other processor developers, such as ARM Holdings, Ltd., MIPS, or their license producers or adopters, may share at least a portion of a common instruction set, but may include different processor designs can do. For example, the same register architecture of the ISA can be implemented using dedicated physical registers, one or more dynamically allocated physical registers (e.g., using a register alias table (RAT)) using a register rename mechanism, May be implemented in different manners in different microarchitectures, using new or known techniques, including ROB (Reorder Buffer) and retirement register files. In one embodiment, the register may include one or more registers, a register architecture, a register file, or some other set of registers that are not addressable or capable of being addressed by the software programmer.

한 실시예에서, 명령어는 하나 이상의 명령어 포멧을 포함할 수 있다. 한 실시예에서, 명령어 포멧은, 무엇보다도, 수행될 연산 및 연산이 수행되는 피연산자(들)을 명시하는 다양한 필드들(비트수, 비트 위치 등)을 나타낼 수 있다. 일부 명령어 포멧은 명령어 템플릿(또는 서브포멧)으로 정의된 바와 같이 더 분할될 수 있다. 예를 들어, 주어진 명령어 포멧의 명령어 템플릿은, 상이한 서브셋들의 명령어 포멧의 필드들을 갖도록 정의되거나 및/또는 주어진 필드가 주어진 필드가 상이하게 해석되게 하도록 정의될 수 있다. 한 실시예에서, 명령어는 명령어 포멧을 이용하여(및 만일 정의되어 있다면, 그 명령어 포멧의 명령어 템플릿들 중 주어진 하나로) 표현되고, 연산과 연산이 작용하게 될 피연산자를 명시하거나 나타낸다.In one embodiment, the instructions may include one or more instruction formats. In one embodiment, the instruction format may, among other things, represent various fields (number of bits, bit positions, etc.) specifying the operation to be performed and the operand (s) on which the operation is performed. Some command formats can be further subdivided as defined by the command template (or subformat). For example, a command template of a given command format may be defined to have fields of command format of different subsets and / or a given field may be defined such that a given field is interpreted differently. In one embodiment, an instruction is represented using an instruction format (and, if defined, a given one of the instruction templates in the instruction format), and specifies or indicates the operand to which the operation and operation will operate.

과학, 금융, 자동-벡터화된 범용, RMS (인식, 마이닝 및 합성), 및 시각적 및 멀티미디어 애플리케이션(예를 들어, 2D/3D 그래픽, 이미지 처리, 비디오 압축/압축해제, 음성 인식 알고리즘과 오디오 조작)은, 많은 수의 데이터 항목에 대해 동일한 연산이 수행될 것을 요구할 수 있다. 한 실시예에서, SIMD(Single Instruction Multiple Data)란, 프로세서로 하여금 복수의 데이터 요소들에 연산을 수행하게 하는 명령어 타입을 말한다. SIMD 기술은 레지스터 내의 비트들을 다수의 고정-크기 또는 가변-크기 데이터 요소들(각 데이터 요소는 별개의 값을 나타냄)로 논리적으로 구분할 수 있는 프로세서들에서 이용될 수 있다. 예를 들어, 한 실시예에서, 64-비트 레지스터 내의 비트들은 4개의 별개의 16-비트 데이터 요소들을 포함하는 소스 피연산자로서 조직화될 수 있고, 각 데이터 요소는 별개의 16-비트 값을 나타낸다. 이러한 타입의 데이터는 '팩킹된" 데이터 타입 또는 '벡터' 데이터 타입이라 부를 수 있고, 이 데이터 타입의 피연산자들은 팩킹된 데이터 피연산자 또는 벡터 피연산자라고 부른다. 한 실시예에서, 팩킹된 데이터 항목 또는 벡터는 단일 레지스터 내에 저장된 팩킹된 데이터 요소들의 시퀀스일 수 있고, 팩킹된 데이터 피연산자 또는 벡터 피연산자는 SIMD 명령어(또는 '팩킹된 명령어' 또는 '벡터 명령어')의 소스 또는 목적지 피연산자일 수 있다. 한 실시예에서, SIMD 명령어는, 동일하거나 상이한 데이터 요소 순서로 동일하거나 상이한 크기의 데이터 요소를 갖는 동일하거나 상이한 크기의 목적지 벡터 피연산자(결과 벡터 피연산자라고도 함)를 생성하기 위해 2개의 소스 벡터 피연산자에 수행될 단일의 벡터 연산을 명시한다.(E.g., 2D / 3D graphics, image processing, video compression / decompression, speech recognition algorithms and audio manipulation), and visual and multimedia applications May require that the same operation be performed on a large number of data items. In one embodiment, SIMD (Single Instruction Multiple Data) refers to a type of instruction that causes a processor to perform operations on a plurality of data elements. SIMD techniques can be used in processors that can logically separate bits in a register into a number of fixed-size or variable-size data elements (each data element representing a distinct value). For example, in one embodiment, the bits in a 64-bit register may be organized as a source operand comprising four distinct 16-bit data elements, each data element representing a separate 16-bit value. This type of data may be referred to as a "packed" data type or a "vector" data type, and operands of this data type are referred to as packed data operands or vector operands. A packed data operand or a vector operand may be a source or destination operand of a SIMD instruction (or a 'packed instruction' or a 'vector instruction'). In one embodiment, , A SIMD instruction may be a single instruction to be performed on two source vector operands to produce the same or different sized destination vector operands (also called result vector operands) having the same or different sized data elements in the same or different data element order Specifies a vector operation.

x86, MMX™ 기술, Streaming SIMD Extensions (SSE), SSE2, SSE3, SSE4.1, 및 SSE4.2 명령어를 포함한 명령어 세트를 갖는 Intel® Core™ 프로세서들, Vector Floating Point(VFP) 및/또는 NEON 명령어를 포함한 명령어 세트를 갖는 ARM Cortex® 프로세서군과 같은 ARM 프로세서들, 및 중국 과학 아카데미의 컴퓨팅 기술 연구소(ICT; Institute of Computing Technology)에 의해 개발된 Loongson 프로세서군과 같은 MIPS 프로세서들은, 애플리케이션 성능에서 상당한 개선을 가능케 했다(Core™ 및 MMX™은 CA, Santa Clara의 Intel Corporation의 등록 상표 또는 상표이다).Intel® Core ™ processors, Vector Floating Point (VFP) and / or NEON instructions with instruction sets including x86, MMX ™ technology, Streaming SIMD Extensions (SSE), SSE2, SSE3, SSE4.1, and SSE4.2 instructions MIPS processors such as the ARM Cortex® processor family with a set of instructions, including the instruction set, and the Loongson processor family developed by the Institute of Computing Technology (ICT) of the Chinese Academy of Sciences, (Core ™ and MMX ™ are registered trademarks or trademarks of Intel Corporation of Santa Clara, Calif.).

한 실시예에서, 목적지 및 소스 레지스터/데이터는 대응하는 데이터 또는 연산의 소스와 목적지를 나타내는 일반 용어이다. 일부 실시예에서, 이들은, 레지스터, 메모리, 또는 기술된 것과는 상이한 명칭이나 기능을 갖는 기타의 스토리지 영역에 의해 구현될 수 있다. 예를 들어, 한 실시예에서, "DEST1"은 임시 스토리지 레지스터 또는 기타의 스토리지 영역인 반면, "SRC1" 및 "SRC2"는 제1 및 제2 소스 스토리지 레지스터 또는 기타의 스토리지 영역 등일 수 있다. 다른 실시예에서, SRC 및 DEST 스토리지 영역 중 2개 이상은 동일한 스토리지 영역(예를 들어, SIMD 레지스터) 내의 상이한 데이터 스토리지 요소들에 대응할 수 있다. 한 실시예에서, 소스 레지스터들 중 하나는, 예를 들어, 제1 및 제2 소스 데이터에 관해 수행된 연산의 결과를 목적지 레지스터로서 역할하는 2개의 소스 레지스터 중 하나에 다시 기입함으로써, 목적지 레지스터로서 행동할 수도 있다.In one embodiment, the destination and source register / data are generic terms that represent the source and destination of the corresponding data or operation. In some embodiments, these may be implemented by a register, memory, or other storage area having a name or function different from that described. For example, in one embodiment, "DEST1" may be a temporary storage register or other storage area, while "SRC1" and "SRC2" may be first and second source storage registers or other storage areas. In another embodiment, two or more of the SRC and DEST storage areas may correspond to different data storage elements in the same storage area (e.g., a SIMD register). In one embodiment, one of the source registers, for example, rewrites the result of an operation performed on the first and second source data to one of two source registers serving as a destination register, You can act.

여기서 사용될 때 모듈이란, 하드웨어, 소프트웨어, 및/또는 펌웨어의 임의의 조합을 말한다. 예로서, 모듈은, 마이크로제어기에 의해 실행되도록 적합화된 코드를 저장하는 비일시적 매체와 연관된 마이크로제어기 등의 하드웨어를 포함한다. 따라서, 모듈이라는 언급은, 한 실시예에서, 비일시적 매체 상에서 유지되는 코드를 인식 및/또는 실행하도록 특별히 구성된 하드웨어를 지칭한다. 또한, 또 다른 실시예에서, 모듈의 사용이란, 미리결정된 동작을 수행하기 위해 마이크로 제어기에 의해 실행되도록 특별히 적합화된 코드를 포함하는 비일시적 매체를 말한다. 또한 유추할 수 있는 바와 같이, (이 예에서) 용어 모듈이란 마이크로제어기와 비일시적 매체의 조합을 지칭할 수도 있다. 종종 별개의 것으로 예시된 모듈 경계는 통상적으로 변동하며 잠재적으로 중첩할 수 있다. 예를 들어, 제1 및 제2 모듈은, 잠재적으로는 일부 독립된 하드웨어, 소프트웨어, 또는 펌웨어를 유지하면서, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합을 공유할 수 있다. 한 실시예에서, 로직이라는 용어의 사용은, 트랜지스터, 레지스터, 또는 프로그래머블 로직 장치 등의 기타의 하드웨어와 같은 하드웨어를 포함한다.A module as used herein refers to any combination of hardware, software, and / or firmware. By way of example, a module includes hardware, such as a microcontroller, associated with a non-volatile medium that stores code adapted to be executed by the microcontroller. Thus, reference to a module refers, in one embodiment, to a hardware specifically configured to recognize and / or execute code maintained on a non-transient medium. Also, in yet another embodiment, the use of a module refers to a non-volatile medium comprising code specially adapted to be executed by a microcontroller to perform a predetermined operation. As can also be deduced, the term module (in this example) may refer to a combination of a microcontroller and a non-transitory medium. Module boundaries, often illustrated as distinct, typically vary and can potentially overlap. For example, the first and second modules may share hardware, software, firmware, or a combination thereof while potentially maintaining some independent hardware, software, or firmware. In one embodiment, the use of the term logic includes hardware, such as transistors, registers, or other hardware, such as programmable logic devices.

'~하도록 구성된'이라는 구문의 사용은, 한 실시예에서, 장치, 하드웨어, 로직 또는 요소가 지정된 또는 결정된 로직을 수행하도록 배열, 조립, 제조, 판매의 제공, 임포팅 및/또는 설계하는 것을 말한다. 이 예에서, 동작 중이지 않은 장치 또는 그 요소는, 상기 지정된 태스크를 수행하도록 설계, 결합, 및/또는 인터커넥트되어 있다면 여전히 지정된 태스크를 수행하도록 '구성되어' 있는 것이다. 순수히 예시로서, 로직 게이트는 동작 동안에 0 또는 1을 제공할 수 있다. 그러나, 클록에 인에이블 신호를 제공하도록 '구성된' 로직 게이트는 1이나 0을 제공할 수 있는 모든 잠재적인 로직 게이트를 포함하는 것은 아니다. 대신에, 로직 게이트는, 동작 동안에 1이나 0이 클록을 인에이블하는 소정 방식으로 결합된 것이다. 한번 더 '~하도록 구성된'이라는 용어의 사용은 동작을 요구하는 것이 아니라, 대신에 장치, 하드웨어, 및/또는 요소의 잠재적 상태에 중점을 두는 것이며, 잠재적 상태에서 장치, 하드웨어, 및/또는 요소는 그 장치, 하드웨어, 및/또는 요소가 동작할 때 특정한 태스크를 수행하도록 설계되어 있다는 점에 유의한다.The use of the phrase " configured to " refers to arranging, assembling, manufacturing, or providing, importing, and / or designing devices, hardware, logic or elements to perform specified or determined logic in one embodiment. In this example, a device or element that is not in operation is " configured " to still perform a designated task if it is designed, coupled, and / or interconnected to perform the specified task. As a pure example, a logic gate may provide a 0 or 1 during operation. However, a 'configured' logic gate to provide an enable signal to the clock does not include all potential logic gates that may provide a 1 or a 0. Instead, the logic gates are coupled in a manner such that 1 or 0 enables the clock during operation. The use of the term " configured to " once more does not require an action, but instead focuses on the potential state of the device, hardware, and / or element, and the device, hardware, and / It is noted that the device, hardware, and / or elements are designed to perform certain tasks when operating.

또한, '~할 수 있는' 또는 "~하도록 동작가능한'이라는 문구의 사용은, 한 실시예에서, 장치, 로직, 하드웨어, 및/또는 요소를 수정하지 않고 기능을 이용하기 위해 장치, 로직, 하드웨어, 및/또는 요소의 사용을 가능케하는 방식으로 설계된 일부 장치, 로직, 하드웨어, 및/또는 요소를 지칭한다. 상기에서 언급한 바와 같이, '~할 수 있는' 또는 "~하도록 동작가능한'이라는 문구의 사용은, 한 실시예에서, 장치, 로직, 하드웨어, 및/또는 요소의 잠재적 상태를 지칭하고, 여기서, 장치, 로직, 하드웨어, 및/또는 요소는 수정없이 기능의 이용을 가능케하는 방식으로 동작하는 것이 아니라 설계된 것이다.In addition, use of the phrase " operable to " or " operable to " means that the device, logic, hardware Refers to some device, logic, hardware, and / or element designed in a manner that allows for the use of, and / or the use of, elements. Refers to the potential state of a device, logic, hardware, and / or element in one embodiment, wherein the device, logic, hardware, and / or elements are operable in a manner that enables the use of the function without modification It is not designed but designed.

여기서 사용될 때, 값은, 숫자, 상태, 논리 상태, 또는 2진 논리 상태의 임의의 공지된 표현을 포함한다. 종종, 논리 레벨, 논리값, 또는 논리값들의 사용은 또한, 단순히 2진 논리 상태를 나타내는 1과 0을 말하는 것이다. 예를 들어, 1은 하이 논리 레벨을 지칭하고 0은 로우 논리 레벨을 지칭한다. 한 실시예에서, 트랜지스터 또는 플래시 셀 등의 스토리지 셀은 단일의 논리 값 또는 복수의 논리값을 보유할 수 있다. 그러나, 컴퓨터 시스템에서 값들의 다른 표현들이 이용되어 왔다. 예를 들어, 10진수 10은 2진값 1010으로서 표시되고 16진값 A로서 표현될 수 있다. 따라서, 값은 컴퓨터 시스템에서 보유될 수 있는 정보의 임의의 표현을 포함한다.When used herein, a value includes any known expression of a number, a state, a logic state, or a binary logic state. Often, the use of logic levels, logic values, or logic values also refers to ones and zeros representing binary logic states. For example, 1 refers to a high logic level and 0 refers to a low logic level. In one embodiment, a storage cell, such as a transistor or a flash cell, may hold a single logical value or a plurality of logical values. However, other representations of values have been used in computer systems. For example, a decimal number 10 may be represented as a binary value 1010 and represented as a hexadecimal value A. Thus, the value includes any representation of information that may be held in a computer system.

게다가, 상태는 값들 또는 값들의 일부에 의해 표현될 수 있다. 예로서, 논리 1 등의 제1 값은 디폴트 또는 초기 상태를 나타낼 수 있는 반면, 논리 0 등의 제2 값은 비-디폴트 상태를 나타낼 수 있다. 또한, 용어 리세트 및 세트는, 한 실시예에서, 각각 디폴트 및 업데이트된 값이나 상태를 말한다. 예를 들어, 디폴트 값은 잠재적으로 하이 논리 값, 즉, 리셋을 포함하는 반면, 업데이트 값은 잠재적으로 로우 논리 값, 즉, 세트를 포함한다. 값들의 임의 조합은 임의 개수의 상태를 나타내는데 이용될 수 있다는 점에 유의한다.In addition, the state can be represented by values or by some of the values. By way of example, a first value such as logical 1 may represent a default or initial state, while a second value such as logical 0 may represent a non-default state. In addition, the term resets and sets, in one embodiment, refer to default and updated values or states, respectively. For example, the default value potentially contains a high logic value, i. E. Reset, while the update value potentially contains a low logic value, i. It is noted that any combination of values may be used to indicate any number of states.

상기 개시된 방법, 하드웨어, 소프트웨어, 펌웨어 또는 코드 세트의 실시예들은, 처리 유닛에 의해 실행가능하고, 머신-액세스가능한, 머신 판독가능한, 컴퓨터 액세스가능한, 또는 컴퓨터판독가능한 매체 상에 저장된 명령어 또는 코드를 통해 구현될 수 있다. 비일시적 머신-액세스가능한/판독가능한 매체는, 컴퓨터 또는 전자 시스템 등의 머신에 의해 판독가능한 형태의 정보를 제공하는(즉, 저장 및/또는 전송하는) 임의의 메커니즘을 포함한다. 예를 들어, 비-일시적 머신-액세스가능한 매체는, SRAM(static RAM) 또는 DRAM(dynamic RAM) 등의 RAM(random-access memory); ROM; 자기적 또는 광학적 저장 매체; 플래시 메모리 장치; 전기적 저장 장치; 광학적 저장 장치; 음향적 저장 장치; 및 정보를 수신할 수 있는 비일시적 매체와는 구분되는 일시적(전파된) 신호(예를 들어, 캐리어파, 적외선 신호, 디지털 신호) 등으로부터 수신된 정보를 보유하기 위한 기타 형태의 저장 장치를 포함한다.Embodiments of the disclosed method, hardware, software, firmware, or code set may include instructions or code executable by a processing unit and stored on a machine-accessible, machine-readable, computer-accessible, or computer- Lt; / RTI > Non-transitory machine-accessible / readable media includes any mechanism that provides (i.e., stores and / or transmits) information in a form readable by a machine, such as a computer or electronic system. For example, a non-transient machine-accessible medium may include random-access memory (RAM), such as SRAM (static RAM) or DRAM (dynamic RAM); ROM; Magnetic or optical storage media; A flash memory device; Electrical storage; Optical storage; Acoustic storage; And other types of storage devices for retaining information received from transient (propagated) signals (e.g., carrier waves, infrared signals, digital signals) that are distinct from non-transitory media capable of receiving information do.

본 발명의 실시예를 수행하는 로직을 프로그램하는데 이용되는 명령어들은, DRAM, 캐쉬, 플래시 메모리, 또는 기타의 스토리지와 같은 시스템 내의 메모리에 저장될 수 있다. 또한, 명령어들은 네트워크를 통해 기타의 컴퓨터 판독가능한 매체에 의해 배포될 수 있다. 따라서, 머신-판독가능한 매체는, 플로피 디스켓, 광학 디스크, 콤팩트 디스크, 판독-전용 메모리(CD-ROM), 광자기 디스크, 판독-전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 소거 및 프로그램 가능한 판독-전용 메모리(EPROM), 전기적으로 소거 및 프로그램가능한 판독-전용 메모리(EEPROM), 자기 또는 광학 카드, 플래시 메모리, 또는 전기적, 광학적, 음향적 또는 기타의 전파되는 신호 형태(예를 들어, 반송파, 적외선 신호, 디지털 신호 등)을 이용하여 인터넷을 통한 정보의 전송에 이용되는 유형의 머신-판독가능한 스토리지를 포함하지만 이것으로 제한되지 않는, 머신(예를 들어, 컴퓨터)에 의해 판독가능한 형태로 정보를 저장 또는 전송하기 위한 임의의 메커니즘을 포함할 수 있다. 따라서, 컴퓨터-판독가능한 매체는, 머신(예를 들어, 컴퓨터)에 의해 판독가능한 형태로 전자적 명령어나 정보를 저장 또는 전송하기 위한 임의 타입의 유형의 머신-판독가능한 매체를 포함한다.The instructions used to program the logic to perform embodiments of the present invention may be stored in memory in a system such as DRAM, cache, flash memory, or other storage. In addition, the instructions may be distributed over a network by other computer readable media. Thus, the machine-readable medium may be a floppy diskette, an optical disk, a compact disk, a read-only memory (CD-ROM), a magneto-optical disk, a read-only memory (ROM), a random access memory (EEPROM), a magnetic or optical card, a flash memory, or an electrically, optically, acoustically, or other form of propagated signal (e. G. (E.g., a computer) that includes, but is not limited to, machine-readable storage of the type used for the transmission of information over the Internet using a carrier wave, an infrared signal, a digital signal, Lt; RTI ID = 0.0 > information. ≪ / RTI > Thus, the computer-readable medium includes any type of machine-readable medium for storing or transmitting electronic instructions or information in a form readable by a machine (e.g., a computer).

본 명세서 전체에 걸쳐 "하나의 실시예" 또는 "실시예"라는 말은, 그 실시예와 관련하여 기술되는 특정한 피쳐, 구조, 또는 특성이 본 발명의 적어도 한 실시예에 포함된다는 것을 의미한다. 따라서, 명세서의 다양한 곳에서 나타나는 문구 "한 실시예에서" 또는 "실시예에서"는, 반드시 모두가 동일한 실시예를 언급하는 것은 아니다. 또한, 특정한 피쳐, 구조 또는 특성은, 하나 이상의 실시예에서 임의의 적절한 방식으로 결합될 수도 있다.The word " one embodiment " or " an embodiment " throughout this specification means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. Accordingly, the appearances of the phrase " in one embodiment " or " in an embodiment " in various places in the specification are not necessarily all referring to the same embodiment. Furthermore, a particular feature, structure, or characteristic may be combined in any suitable manner in one or more embodiments.

본 발명이 제한된 개수의 실시예에 관하여 설명되었지만, 당업자라면 이로부터의 수 많은 수정과 변형을 이해할 것이다. 첨부된 청구항들은 본 발명의 진정한 사상과 범위 내에 드는 이러한 모든 수정 및 변형을 포괄하고자 한다.While the invention has been described with respect to a limited number of embodiments, those skilled in the art will recognize numerous modifications and variations therefrom. The appended claims are intended to cover all such modifications and variations as fall within the true spirit and scope of the invention.

Claims (15)

시스템으로서,
적어도 하나의 코어 및 주변기기 제어기(peripheral controller)를 포함하는 호스트 프로세서 - 상기 주변기기 제어기는 상기 호스트 프로세서와 결합되고, 상기 주변기기 제어기는 터치 제어기(touch controller)와 인터페이스하고 상기 호스트 프로세서로부터 맵핑 정보를 수신하며 상기 맵핑 정보를 상기 터치 제어기에 전달하도록 더 구성되고, 상기 맵핑 정보는 활성 터치 입력 영역을 포함하는 상기 시스템의 디스플레이의 1차 영역과 비활성 터치 입력 영역을 포함하는 상기 디스플레이의 2차 영역을 식별하기 위한 좌표 정보를 포함함 -;
상기 터치 제어기에 결합되고, 상기 맵핑 정보를 저장하도록 구성되는 메모리 - 상기 터치 제어기는 상기 주변기기 제어기에 결합되고, 상기 터치 제어기는 터치 데이터가 상기 2차 영역 내의 사용자 터치에 대응할 때 터치스크린으로부터 수신된 터치 데이터를 상기 주변기기 제어기에 전달하는 것으로부터 필터링하고 상기 터치 데이터가 상기 1차 영역 내의 상기 사용자 터치에 대응할 때 상기 터치 데이터를 상기 주변기기 제어기에 전달하기 위해 상기 메모리 내 상기 맵핑 정보를 사용하는 제1 로직을 포함하며, 상기 제1 로직은 상기 터치 데이터가 상기 디스플레이의 제어 패널 영역 내에 있을 때 상기 터치 데이터를 상기 주변기기 제어기에 전달하고 그 외의 경우에는 상기 터치 데이터를 필터링하도록 더 구성되고, 상기 터치 데이터는 상기 맵핑 정보와 별개이고, 상기 호스트 프로세서는 상기 터치 제어기가 터치 데이터 필터링을 수행할 때 저전력 상태에 있고, 상기 호스트 프로세서는 상기 저전력 상태에서 비활성이고, 상기 터치 제어기와 연결된 상기 터치스크린은 상기 사용자 터치를 수신하고 상기 터치 데이터를 상기 터치 제어기로 전달하도록 구성됨 -; 및
상기 프로세서와 결합된 디스플레이 로직과, 상기 시스템의 하나 이상의 구성, 하나 이상의 환경 센서들로부터의 정보, 디스플레이되는 컨텐츠의 유형 및 상기 1차 영역의 모드에 기초하여 상기 2차 영역에 컨텐츠를 디스플레이하기 위해 상기 디스플레이를 제어하도록 구성된 상기 디스플레이 - 상기 1차 영역 내 컨텐츠는 상기 2차 영역 내 컨텐츠와는 독립적임 -
를 포함하는 시스템.
As a system,
A host processor comprising at least one core and a peripheral controller, wherein the peripheral controller is coupled to the host processor, the peripheral controller interfaces with a touch controller, receives mapping information from the host processor, Wherein the mapping information is configured to identify the secondary region of the display including the primary region of the display of the system and the inactive touch input region including the active touch input region, - including coordinate information for the object;
A memory coupled to the touch controller and configured to store the mapping information, wherein the touch controller is coupled to the peripheral controller and the touch controller is configured to receive the touch data from the touch screen when the touch data corresponds to a user touch within the secondary area Using the mapping information in the memory to filter the touch data from transferring to the peripheral controller and to transfer the touch data to the peripheral controller when the touch data corresponds to the user touch in the primary area, Wherein the first logic further communicates the touch data to the peripheral controller when the touch data is within the control panel area of the display and otherwise filters the touch data, Lt; / RTI > Wherein the host processor is in a low power state when the touch controller performs touch data filtering and the host processor is inactive in the low power state and the touch screen connected to the touch controller receives the user touch And transmit the touch data to the touch controller; And
Display logic associated with the processor, to display content in the secondary area based on one or more configurations of the system, information from one or more environmental sensors, type of content being displayed, and mode of the primary area The display configured to control the display, the content in the primary area being independent of the content in the secondary area,
/ RTI >
제1항에 있어서, 상기 주변기기 제어기는 상기 터치 제어기가 상기 터치 데이터 필터링을 수행할 때 저전력 상태에 있고, 상기 주변기기 제어기는 상기 저전력 상태에서 비활성인, 시스템.2. The system of claim 1, wherein the peripheral controller is in a low power state when the touch controller performs the touch data filtering and the peripheral controller is inactive in the low power state. 제1항에 있어서, 상기 주변기기 제어기는 상기 사용자 터치가 상기 2차 영역 내에 있을 때 저전력 상태에 있고, 상기 주변기기 제어기는 상기 저전력 상태에서 비활성인, 시스템.2. The system of claim 1, wherein the peripheral controller is in a low power state when the user touch is in the secondary region and the peripheral controller is inactive in the low power state. 제1항에 있어서, 상기 주변기기 제어기는 상기 적어도 하나의 코어 상에서 실행되는 시스템 소프트웨어로부터 상기 맵핑 정보를 수신하도록 구성되는, 시스템.2. The system of claim 1, wherein the peripheral controller is configured to receive the mapping information from system software running on the at least one core. 제1항에 있어서, 상기 주변기기 제어기는 상기 디스플레이의 상기 제어 패널 영역의 식별자(identification)를 상기 터치 제어기에 전달하도록 구성되고, 상기 시스템은 터치 데이터 전달의 수신에 응답하여 상기 저전력 상태로부터 웨이크업하는, 시스템.The system of claim 1, wherein the peripheral controller is configured to communicate an identification of the control panel region of the display to the touch controller, the system being configured to wake up from the low power state in response to receipt of touch data transfer , system. 제1항에 있어서, 상기 2차 영역은 적어도 하나의 소프트 버턴을 포함하고, 상기 터치 제어기는, 상기 주변기기 제어기가 저전력 상태에 있는 동안, 상기 터치 데이터가 상기 적어도 하나의 소프트 버턴 내에서 수신될 때 사용자에게 햅틱 피드백이 제공되게 하는, 시스템.The touch screen of claim 1, wherein the secondary area includes at least one soft button, and wherein the touch controller is configured to allow the at least one soft button when the touch data is received in the at least one soft button while the peripheral controller is in a low- Thereby providing the user with haptic feedback. 제1항에 있어서, 상기 터치 제어기는 상기 터치스크린의 제1 스캔 영역 내의 광학 스캐너를, 상기 제1 스캔 영역 내에서의 상기 터치 데이터의 수신에 응답하여 인에이블하고, 상기 제1 스캔 영역 내에서의 상기 터치 데이터의 수신에 응답하여 상기 제1 스캔 영역의 조명을 야기하며, 상기 터치스크린의 나머지가 저전력 상태에 있는 동안 상기 제1 스캔 영역 내의 상기 광학 스캐너와 제1 스캔 영역 조명을 인에이블하는, 시스템.The touchscreen of claim 1, wherein the touch controller enables an optical scanner in a first scan region of the touch screen in response to receipt of the touch data in the first scan region, To enable illumination of the first scan area in response to receipt of the touch data and enable the optical scanner and the first scan area illumination in the first scan area while the remainder of the touch screen is in a low power state , system. 제1항에 있어서,
사용자의 존재를 감지하는 적어도 하나의 센서; 및
상기 적어도 하나의 센서의 출력을 수신하고, 상기 출력에 적어도 부분적으로 기초하여 상기 1차 영역의 제1 크기와 상기 2차 영역의 제2 크기를 제어하는 디스플레이 로직
을 더 포함하는 시스템.
The method according to claim 1,
At least one sensor for sensing the presence of a user; And
A display logic for receiving an output of the at least one sensor and for controlling a first size of the primary region and a second size of the secondary region based at least in part on the output,
≪ / RTI >
제8항에 있어서, 상기 디스플레이 로직은, 상기 적어도 하나의 센서가 제1 사용자의 존재를 감지할 때 상기 디스플레이로 하여금 상기 제1 사용자에 대한 사용자 선택 콘텐츠를 상기 2차 영역에 디스플레이하게 하는, 시스템.9. The system of claim 8, wherein the display logic causes the display to display user selected content for the first user in the secondary area when the at least one sensor senses the presence of the first user. . 제1항에 있어서, 상기 디스플레이 로직은 상기 2차 영역을 제어하여 적어도 하나의 애플리케이션 쇼트컷을 디스플레이하고, 상기 적어도 하나의 애플리케이션 쇼트컷의 사용자 선택에 응답하여, 상기 1차 영역의 적어도 일부를 제어하여 사용자 선택 애플리케이션의 사용자 인터페이스를 디스플레이하는, 시스템.2. The apparatus of claim 1, wherein the display logic controls the secondary region to display at least one application shortcut, and in response to user selection of the at least one application shortcut, at least a portion of the primary region is controlled To display a user interface of the user selected application. 제1항에 있어서, 상기 디스플레이 로직은 상기 디스플레이로 하여금 상기 시스템에 근접한 제2 시스템과의 상호작용에 기초하여 콘텐츠를 렌더링하게 하고, 상기 제2 시스템이 통화를 수신할 때 상기 디스플레이로 하여금 상기 2차 영역에 통화 정보를 렌더링하게 하는 것을 포함하며, 상기 제2 시스템은 스마트폰을 포함하는, 시스템.2. The system of claim 1, wherein the display logic causes the display to render content based on interaction with a second system proximate the system, and when the second system receives a call, And rendering the call information in a car area, wherein the second system comprises a smart phone. 제1항에 있어서, 상기 디스플레이 로직은, 상기 1차 영역이 저전력 상태에 있을 때 상기 2차 영역을 인에이블하고, 상기 1차 영역이 상기 저전력 상태에 있을 때 통보 콘텐츠를 상기 2차 영역에 렌더링하는, 시스템.The display logic of claim 1, wherein the display logic is configured to enable the secondary region when the primary region is in a low power state, render the notification content in the secondary region when the primary region is in the low power state, System. 제1항에 있어서, 상기 디스플레이 로직에 결합된 위치 센서를 더 포함하고, 상기 디스플레이 로직은 상기 시스템이 제1 위치에 있을 때 상기 디스플레이로 하여금 제1 콘텐츠를 상기 2차 영역에 렌더링하게 하고, 상기 시스템이 제2 위치에 있을 때 상기 디스플레이로 하여금 제2 콘텐츠를 상기 2차 영역에 렌더링하게 하며, 상기 제1 위치 및 상기 제2 위치는 상기 위치 센서에 의해 검출되는, 시스템.2. The apparatus of claim 1, further comprising a position sensor coupled to the display logic, wherein the display logic causes the display to render the first content in the secondary region when the system is in the first position, And cause the display to render the second content in the secondary area when the system is in the second position, wherein the first position and the second position are detected by the position sensor. 시스템으로서,
사용자 터치 정보가 처리되는 유효 영역 및 상기 사용자 터치 정보가 무시되는 무효 영역을 포함하는 사용자 인터페이스를 디스플레이하도록 구성되는 터치스크린;
상기 터치스크린에 결합되고, 상기 터치스크린으로부터 상기 사용자 터치 정보를 수신하도록 구성되는 터치스크린 제어기 - 상기 터치스크린 제어기는 상기 사용자 터치 정보가 상기 무효 영역 내에 있을 때 상기 터치스크린으로부터 수신된 상기 사용자 터치 정보를 무시하고, 상기 사용자 터치 정보가 상기 유효 영역 내에 있을 때 상기 터치스크린으로부터 수신된 상기 사용자 터치 정보를 전달하는 로직을 포함하며, 상기 로직은 상기 사용자 터치 정보가 상기 터치스크린의 제어 패널 영역 내에 있을 때 상기 사용자 터치 정보를 전달하고 그 외의 경우에는 상기 사용자 터치 정보를 필터링하도록 더 구성됨 -;
상기 터치스크린 제어기에 결합되고, 상기 전달되는 사용자 터치 정보를 상기 터치스크린 제어기로부터 수신하도록 구성되는 주변기기 제어기; 및
상기 주변기기 제어기에 결합되고, 상기 주변기기 제어기로부터 상기 전달된 사용자 터치 정보를 수신하고 상기 전달된 사용자 터치 정보를 처리하여 사용자에 의해 요청된 동작을 결정하도록 구성되는 프로세서 - 상기 프로세서는 상기 사용자 터치 정보가 상기 터치스크린 제어기에 의해 무시될 때 상기 프로세서가 비활성인 저전력 상태에 유지되고, 상기 프로세서는 상기 주변기기 제어기 및 적어도 하나의 코어를 포함함 -
를 포함하는, 시스템.
As a system,
A touch screen configured to display a user interface including a valid area in which user touch information is processed and an invalid area in which the user touch information is ignored;
A touch screen controller coupled to the touch screen and configured to receive the user touch information from the touch screen, wherein the touch screen controller is configured to receive the user touch information received from the touch screen when the user touch information is within the invalid area, And logic for communicating the user touch information received from the touch screen when the user touch information is within the valid area, wherein the logic is further operable when the user touch information is within the control panel area of the touch screen To transmit the user touch information when the user touch information is received and otherwise to filter the user touch information;
A peripheral controller coupled to the touch screen controller and configured to receive the transmitted user touch information from the touch screen controller; And
A processor coupled to the peripheral controller and configured to receive the delivered user touch information from the peripheral controller and to process the delivered user touch information to determine an action requested by the user, Wherein the processor is held in an inactive low power state when ignored by the touch screen controller, the processor comprising the peripheral controller and at least one core,
.
시스템으로서,
1차 영역에 제1 사용자 인터페이스를 디스플레이하고 2차 영역에 제2 사용자 인터페이스를 디스플레이하거나 아무런 사용자 인터페이스도 디스플레이하지 않는 터치스크린;
상기 터치스크린에 결합되는 터치스크린 제어기 - 상기 터치스크린 제어기는 터치 데이터가 상기 2차 영역 내의 사용자 터치에 대응할 때 상기 터치스크린으로부터 수신된 터치 데이터를 필터링하고, 상기 터치 데이터가 상기 1차 영역 내의 상기 사용자 터치에 대응할 때 상기 터치 데이터를 터치스크린 제어기에 결합된 주변기기 제어기에 전달하는 제1 로직을 포함하고, 상기 제1 로직은 상기 터치 데이터가 상기 터치스크린의 제어 패널 영역 내에 있을 때 상기 터치 데이터를 전달하고 그 외의 경우에는 상기 터치 데이터를 필터링하도록 더 구성되고, 상기 터치스크린 제어기는 프로세서로부터 맵핑 정보를 수신하고 저장하도록 더 구성되며, 상기 맵핑 정보는 상기 1차 영역 및 상기 2차 영역을 식별하기 위한 좌표 정보를 포함함 -;
환경 파라미터를 감지하고 상기 시스템이 동작 중인 환경 정보를 생성하도록 구성되는 복수의 센서;
상기 복수의 센서에 결합되고, 상기 환경 정보를 수신하도록 구성되는 센서 제어기 - 상기 주변기기 제어기는 상기 터치 데이터가 상기 1차 영역 내의 사용자 터치에 대응할 때 상기 터치스크린 제어기로부터 전달된 상기 터치 데이터를 수신하도록 구성되고, 상기 주변기기 제어기는 상기 필터링된 터치 데이터를 수신하지 않음 -; 및
상기 주변기기 제어기에 결합되고, 상기 주변기기 제어기로부터 상기 터치 데이터를 수신하고, 상기 터치 데이터를 처리하여 사용자에 의해 요청된 동작을 결정하도록 구성되는 프로세서 - 상기 프로세서는 상기 터치 데이터가 상기 제1 로직에 의해 필터링될 때 저전력 상태에 유지되고, 상기 프로세서는 상기 주변기기 제어기 및 적어도 하나의 코어를 포함함 -
를 포함하는, 시스템.
As a system,
A touch screen that displays a first user interface in the primary area and a second user interface in the secondary area or does not display any user interface;
A touch screen controller coupled to the touch screen, the touch screen controller filtering touch data received from the touch screen when the touch data corresponds to a user touch in the secondary area, And a first logic for transferring the touch data to a peripheral controller coupled to the touch screen controller when the touch data corresponds to a user touch, the first logic being configured to transmit the touch data when the touch data is within the control panel area of the touch screen Wherein the touch screen controller is further configured to receive and store mapping information from a processor, wherein the mapping information is configured to identify the primary area and the secondary area - including coordinate information for the object;
A plurality of sensors configured to sense environmental parameters and to generate environmental information while the system is operating;
A sensor controller coupled to the plurality of sensors and configured to receive the environment information, the peripheral controller being adapted to receive the touch data delivered from the touch screen controller when the touch data corresponds to a user touch within the primary area Wherein the peripheral controller does not receive the filtered touch data; And
A processor coupled to the peripheral controller and configured to receive the touch data from the peripheral controller and to process the touch data to determine an operation requested by the user, the processor being configured to cause the touch data to be received by the first logic Wherein the processor is maintained in a low power state when filtered, the processor comprising the peripheral controller and at least one core,
.
KR1020167034143A 2013-01-06 2013-09-19 A method, apparatus, and system for distributed pre-processing of touch data and display region control KR101951729B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361749386P 2013-01-06 2013-01-06
US61/749,386 2013-01-06
PCT/US2013/060506 WO2014107197A1 (en) 2013-01-06 2013-09-19 A method, apparatus, and system for distributed pre-processing of touch data and display region control

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147027105A Division KR20140138224A (en) 2013-01-06 2013-09-19 A method, apparatus, and system for distributed pre-processing of touch data and display region control

Publications (2)

Publication Number Publication Date
KR20160143891A KR20160143891A (en) 2016-12-14
KR101951729B1 true KR101951729B1 (en) 2019-02-26

Family

ID=51062408

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147027105A KR20140138224A (en) 2013-01-06 2013-09-19 A method, apparatus, and system for distributed pre-processing of touch data and display region control
KR1020167034143A KR101951729B1 (en) 2013-01-06 2013-09-19 A method, apparatus, and system for distributed pre-processing of touch data and display region control

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020147027105A KR20140138224A (en) 2013-01-06 2013-09-19 A method, apparatus, and system for distributed pre-processing of touch data and display region control

Country Status (9)

Country Link
US (1) US9927902B2 (en)
JP (1) JP5981023B2 (en)
KR (2) KR20140138224A (en)
CN (1) CN104364750B (en)
DE (1) DE112013001305T5 (en)
GB (1) GB2514971B (en)
RU (1) RU2595760C2 (en)
TW (1) TWI540473B (en)
WO (1) WO2014107197A1 (en)

Families Citing this family (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542016B2 (en) 2012-09-13 2017-01-10 Apple Inc. Optical sensing mechanisms for input devices
US10373149B1 (en) 2012-11-12 2019-08-06 Square, Inc. Secure data entry using a card reader with minimal display and input capabilities having a display
KR101919796B1 (en) * 2013-01-11 2018-11-19 엘지전자 주식회사 Mobile terminal and method for controlling the same
JP5987732B2 (en) * 2013-03-04 2016-09-07 株式会社デンソー Vehicle electronics
US9881058B1 (en) * 2013-03-14 2018-01-30 Google Inc. Methods, systems, and media for displaying information related to displayed content upon detection of user attention
US9753436B2 (en) 2013-06-11 2017-09-05 Apple Inc. Rotary input mechanism for an electronic device
CN109634447B (en) 2013-08-09 2022-04-19 苹果公司 Tactile switch for electronic devices
US9411364B2 (en) * 2013-10-28 2016-08-09 Htc Corporation Electronic assembly and electronic apparatus
US9613353B1 (en) 2013-12-26 2017-04-04 Square, Inc. Passcode entry through motion sensing
US20150212700A1 (en) * 2014-01-28 2015-07-30 Microsoft Technology Licensing, Llc Dashboard with panoramic display of ordered content
US10048802B2 (en) 2014-02-12 2018-08-14 Apple Inc. Rejection of false turns of rotary inputs for electronic devices
US20150261280A1 (en) * 2014-03-17 2015-09-17 Mediatek Inc. Apparatuses and methods for waking a display with an adjustable power level to detect touches thereon
US9594429B2 (en) 2014-03-27 2017-03-14 Apple Inc. Adjusting the level of acoustic and haptic output in haptic devices
US20150277506A1 (en) 2014-03-29 2015-10-01 Bok Eng Cheah Micro-hinge for an electronic device
JP6287536B2 (en) * 2014-04-23 2018-03-07 京セラドキュメントソリューションズ株式会社 Image forming system
US10282063B1 (en) * 2014-05-20 2019-05-07 Google Llc Permanent multi-task affordance for tablets
RU2608881C2 (en) * 2014-05-28 2017-01-25 Общество С Ограниченной Ответственностью "Яндекс" Method and system for controlling turbo mode
US9389703B1 (en) * 2014-06-23 2016-07-12 Amazon Technologies, Inc. Virtual screen bezel
US10190891B1 (en) 2014-07-16 2019-01-29 Apple Inc. Optical encoder for detecting rotational and axial movement
US9797752B1 (en) 2014-07-16 2017-10-24 Apple Inc. Optical encoder with axially aligned sensor
KR102209145B1 (en) * 2014-08-18 2021-01-29 삼성디스플레이 주식회사 Display device
US10066970B2 (en) 2014-08-27 2018-09-04 Apple Inc. Dynamic range control for optical encoders
US9797753B1 (en) 2014-08-27 2017-10-24 Apple Inc. Spatial phase estimation for optical encoders
KR20230097197A (en) 2014-09-02 2023-06-30 애플 인크. Wearable electronic device
US10416750B2 (en) * 2014-09-26 2019-09-17 Qualcomm Incorporated Algorithm engine for ultra low-power processing of sensor data
KR20160045233A (en) * 2014-10-16 2016-04-27 삼성디스플레이 주식회사 Display apparatus and display apparatus controlling method
US20150049251A1 (en) * 2014-10-28 2015-02-19 YENOUKOUME Serge BOKO DAGOUN Portable computing device
KR102251542B1 (en) * 2014-11-25 2021-05-14 엘지전자 주식회사 Mobile terminal and control method for the mobile terminal
US9547776B2 (en) * 2014-12-08 2017-01-17 Microsoft Technology Licensing, Llc Managing access permissions to class notebooks and their section groups in a notebook application
US10152442B2 (en) 2015-02-27 2018-12-11 Google Llc Multi-function ports on a computing device
GB2552906B (en) * 2015-02-27 2018-08-29 Google Llc Multi-function ports on a computing device
US10282337B2 (en) 2015-02-27 2019-05-07 Google Llc Multi-function ports on a computing device
US20160259544A1 (en) * 2015-03-04 2016-09-08 Artem Polikarpov Systems And Methods For Virtual Periphery Interaction
JP6515185B2 (en) 2015-03-05 2019-05-15 アップル インコーポレイテッドApple Inc. Watch, wrist-worn electronic device and wearable electronic device having an optical encoder having direction dependent optical characteristics
KR102163612B1 (en) 2015-03-08 2020-10-08 애플 인크. Compressible seal for rotatable and translatable input mechanisms
CN106462351B (en) * 2015-03-19 2019-11-12 华为技术有限公司 Touch event processing method, device and terminal device
WO2016153467A1 (en) * 2015-03-20 2016-09-29 Hewlett-Packard Development Company, L.P. Display with adjustable transparency
US9952682B2 (en) * 2015-04-15 2018-04-24 Apple Inc. Depressible keys with decoupled electrical and mechanical functionality
KR102385101B1 (en) 2015-04-24 2022-04-13 삼성디스플레이 주식회사 Flexible display device and method for driving the same
US10018966B2 (en) 2015-04-24 2018-07-10 Apple Inc. Cover member for an input mechanism of an electronic device
CN104866406B (en) * 2015-05-07 2018-05-01 广东欧珀移动通信有限公司 A kind of reminding method and terminal based on fingerprint recognition
US20170024010A1 (en) 2015-07-21 2017-01-26 Apple Inc. Guidance device for the sensory impaired
US10152905B2 (en) * 2015-07-31 2018-12-11 Chromera, Inc. Symbol verification for an intelligent label device
US11442618B2 (en) 2015-09-28 2022-09-13 Lenovo (Singapore) Pte. Ltd. Flexible mapping of a writing zone to a digital display
CN105487706A (en) * 2015-11-24 2016-04-13 致象尔微电子科技(上海)有限公司 Touch screen-based data processing device
KR102476017B1 (en) * 2016-01-05 2022-12-09 삼성전자주식회사 Method and apparatus for authentication using biometric information
KR102480086B1 (en) * 2016-01-11 2022-12-23 삼성디스플레이 주식회사 Display apparatus and method for manufacturing the same
US20170220307A1 (en) * 2016-02-02 2017-08-03 Samsung Electronics Co., Ltd. Multi-screen mobile device and operation
US9891651B2 (en) 2016-02-27 2018-02-13 Apple Inc. Rotatable input mechanism having adjustable output
US10025938B2 (en) * 2016-03-02 2018-07-17 Qualcomm Incorporated User-controllable screen privacy software
RU170151U1 (en) * 2016-04-19 2017-04-17 Айдар Хайдарович Сабитов USB CHARGING DEVICE FOR PASSENGER VEHICLES
US10945087B2 (en) * 2016-05-04 2021-03-09 Lenovo (Singapore) Pte. Ltd. Audio device arrays in convertible electronic devices
US10585480B1 (en) 2016-05-10 2020-03-10 Apple Inc. Electronic device with an input device having a haptic engine
US10551798B1 (en) 2016-05-17 2020-02-04 Apple Inc. Rotatable crown for an electronic device
CN109564558A (en) * 2016-06-10 2019-04-02 利奇得公司 Multiport inserter framework in data-storage system
KR102523482B1 (en) * 2016-06-15 2023-04-19 에스케이플래닛 주식회사 Digital signage apparatus for, and control method thereof
US10283087B2 (en) * 2016-06-15 2019-05-07 Sk Planet Co., Ltd. Digital signage device and method for operating the same
US10649529B1 (en) 2016-06-28 2020-05-12 Apple Inc. Modification of user-perceived feedback of an input device using acoustic or haptic output
US10061399B2 (en) 2016-07-15 2018-08-28 Apple Inc. Capacitive gap sensor ring for an input device
US10019097B2 (en) 2016-07-25 2018-07-10 Apple Inc. Force-detecting input structure
US10845878B1 (en) 2016-07-25 2020-11-24 Apple Inc. Input device with tactile feedback
KR102545602B1 (en) * 2016-08-01 2023-06-20 삼성전자주식회사 Electronic device and operating method thereof
KR20180014644A (en) 2016-08-01 2018-02-09 삼성전자주식회사 Method and electronic device for recognizing touch
WO2018026155A1 (en) * 2016-08-01 2018-02-08 Samsung Electronics Co., Ltd. Method and electronic device for recognizing touch
US10372214B1 (en) * 2016-09-07 2019-08-06 Apple Inc. Adaptable user-selectable input area in an electronic device
IL302483B1 (en) * 2016-11-16 2024-02-01 Magic Leap Inc Mixed reality system with reduced power rendering
WO2018093371A1 (en) * 2016-11-17 2018-05-24 Intel Corporation Multi-use fog device
KR102649009B1 (en) * 2016-12-20 2024-03-20 삼성전자주식회사 Display apparatus and the controlling method thereof
US10331282B2 (en) 2016-12-30 2019-06-25 Qualcomm Incorporated Highly configurable front end for touch controllers
US10175839B2 (en) 2016-12-30 2019-01-08 Qualcomm Incorporated Highly configurable front end for touch controllers
US10318070B2 (en) * 2017-02-15 2019-06-11 Honeywell International Inc. Touch detector with a code debugger
KR20180097384A (en) * 2017-02-23 2018-08-31 삼성전자주식회사 Electronic apparatus and controlling method thereof
US10437359B1 (en) 2017-02-28 2019-10-08 Apple Inc. Stylus with external magnetic influence
US10176147B2 (en) * 2017-03-07 2019-01-08 Qualcomm Incorporated Multi-processor core three-dimensional (3D) integrated circuits (ICs) (3DICs), and related methods
KR20180103400A (en) * 2017-03-09 2018-09-19 삼성전자주식회사 Touch screen controller, touch screen device and operating method of touch screen controller
CN108664279B (en) * 2017-03-29 2021-05-18 上海耕岩智能科技有限公司 Method and device for synchronously starting applications based on fingerprint identification
CN106990908B (en) * 2017-04-06 2020-06-16 广州视源电子科技股份有限公司 Local touch shielding method, device, system, equipment and storage medium
US10180924B2 (en) 2017-05-08 2019-01-15 Liqid Inc. Peer-to-peer communication for graphics processing units
US10664074B2 (en) 2017-06-19 2020-05-26 Apple Inc. Contact-sensitive crown for an electronic watch
CN107484145B (en) * 2017-07-14 2022-07-29 曾仲林 CISC (common information center) equipment and communication method thereof
US10962935B1 (en) 2017-07-18 2021-03-30 Apple Inc. Tri-axis force sensor
US10775889B1 (en) 2017-07-21 2020-09-15 Apple Inc. Enclosure with locally-flexible regions
US10768747B2 (en) 2017-08-31 2020-09-08 Apple Inc. Haptic realignment cues for touch-input displays
US11054932B2 (en) 2017-09-06 2021-07-06 Apple Inc. Electronic device having a touch sensor, force sensor, and haptic actuator in an integrated module
US10725722B1 (en) * 2017-09-08 2020-07-28 Apple Inc. Modular multiple display electronic devices
US10556252B2 (en) 2017-09-20 2020-02-11 Apple Inc. Electronic device having a tuned resonance haptic actuation system
JP7174337B2 (en) * 2017-09-25 2022-11-17 株式会社村田製作所 Illusory haptic device
US10768738B1 (en) 2017-09-27 2020-09-08 Apple Inc. Electronic device having a haptic actuator with magnetic augmentation
US10553974B2 (en) * 2017-09-29 2020-02-04 Intel Corporation Thermal solution on latch for sodimm connector
RU180783U1 (en) * 2017-11-07 2018-06-22 Акционерное общество "Т-Платформы" (АО "Т-Платформы") Electronic computer
CN108008963B (en) * 2017-12-22 2020-07-24 联想(北京)有限公司 Application processing method and system adaptive to EINK equipment
RU181880U1 (en) * 2017-12-29 2018-07-26 Федеральное государственное бюджетное образовательное учреждение высшего образования "Рязанский государственный радиотехнический университет" Device for evaluating the parameters of the distribution of the delay time of the occurrence of the discharge
CN108345559B (en) * 2018-02-09 2020-02-28 京东方科技集团股份有限公司 Virtual reality data input device and virtual reality equipment
KR102413936B1 (en) 2018-02-21 2022-06-28 삼성전자주식회사 Electronic device comprisng display with switch
US10922780B2 (en) 2018-04-10 2021-02-16 Graphisoft Se Method to distribute the drawing calculation of architectural data elements between multiple threads
WO2019229698A1 (en) 2018-05-31 2019-12-05 Purple Tambourine Limited Interacting with a virtual environment using a pointing controller
US11360440B2 (en) 2018-06-25 2022-06-14 Apple Inc. Crown for an electronic watch
US10942571B2 (en) 2018-06-29 2021-03-09 Apple Inc. Laptop computing device with discrete haptic regions
US10755666B2 (en) 2018-07-27 2020-08-25 Qualcomm Incorporated Content refresh on a display with hybrid refresh mode
US11561515B2 (en) 2018-08-02 2023-01-24 Apple Inc. Crown for an electronic watch
CN211293787U (en) 2018-08-24 2020-08-18 苹果公司 Electronic watch
US11181863B2 (en) 2018-08-24 2021-11-23 Apple Inc. Conductive cap for watch crown
US10936071B2 (en) 2018-08-30 2021-03-02 Apple Inc. Wearable electronic device with haptic rotatable input
CN209625187U (en) 2018-08-30 2019-11-12 苹果公司 Electronic watch and electronic equipment
US11194298B2 (en) 2018-08-30 2021-12-07 Apple Inc. Crown assembly for an electronic watch
US10613678B1 (en) 2018-09-17 2020-04-07 Apple Inc. Input device with haptic feedback
US10966007B1 (en) 2018-09-25 2021-03-30 Apple Inc. Haptic output system
EP3862853A4 (en) * 2018-11-22 2021-11-03 Huawei Technologies Co., Ltd. Touch operation locking method and electronic device
US10585827B1 (en) 2019-02-05 2020-03-10 Liqid Inc. PCIe fabric enabled peer-to-peer communications
US11194299B1 (en) 2019-02-12 2021-12-07 Apple Inc. Variable frictional feedback device for a digital crown of an electronic watch
WO2020168492A1 (en) * 2019-02-20 2020-08-27 京东方科技集团股份有限公司 Display device and preparation method therefor
JP2020177074A (en) * 2019-04-16 2020-10-29 株式会社デンソー Device for vehicle, and method for controlling device for vehicle
CN110187813A (en) * 2019-05-09 2019-08-30 深圳报业集团控股公司 A kind of touch sensible interactive system and exchange method
DE102019118965A1 (en) * 2019-07-12 2021-01-14 Workaround Gmbh Ancillary device for a sensor and / or information system and sensor and / or information system
WO2021021112A2 (en) * 2019-07-29 2021-02-04 Hewlett-Packard Development Company, L.P. A display device
CN110968247B (en) * 2019-09-18 2022-05-10 华为技术有限公司 Electronic equipment control method and electronic equipment
US20220350372A1 (en) * 2019-10-29 2022-11-03 Hewlett-Packard Development Company, L.P. Operating states based on lid positions and device movements
US11361644B2 (en) 2019-12-18 2022-06-14 Texas Instruments Incorporated Duty cycle tuning in self-resonant piezo buzzer
WO2021141606A1 (en) * 2020-01-10 2021-07-15 Hewlett-Packard Development Company, L.P. Change of firmware settings
TWI731562B (en) * 2020-01-21 2021-06-21 英業達股份有限公司 Setting method, system, device and computer readable medium of configuration of mainboard expansion slot
US11755111B2 (en) 2020-03-16 2023-09-12 Arkh, Inc. Spatially aware computing hub and environment
US11263883B2 (en) 2020-04-16 2022-03-01 Texas Instruments Incorporated System-on-chip for smoke alarm
US11373016B2 (en) * 2020-04-30 2022-06-28 Flytech Technology Co., Ltd. Interactive information system with modular structure
US11550268B2 (en) 2020-06-02 2023-01-10 Apple Inc. Switch module for electronic crown assembly
KR20210150779A (en) 2020-06-04 2021-12-13 에스케이하이닉스 주식회사 Memory system for processing an delegated task and operation method thereof
US11269376B2 (en) 2020-06-11 2022-03-08 Apple Inc. Electronic device
US11024135B1 (en) 2020-06-17 2021-06-01 Apple Inc. Portable electronic device having a haptic button assembly
US11789565B2 (en) * 2020-08-18 2023-10-17 Intel Corporation Lid controller hub architecture for improved touch experiences
WO2022046092A1 (en) * 2020-08-31 2022-03-03 Hewlett-Packard Development Company, L.P. Control of voltage regulator phase circuits using temperatures
USD1009861S1 (en) 2020-09-25 2024-01-02 Arkh, Inc. Smart ring
CN112181877B (en) * 2020-10-28 2022-06-21 瑞芯微电子股份有限公司 Display frequency conversion method and system
CN114428638A (en) 2020-10-29 2022-05-03 平头哥(上海)半导体技术有限公司 Instruction issue unit, instruction execution unit, related apparatus and method
US11455015B2 (en) * 2020-11-08 2022-09-27 Lenovo (Singapore) Pte. Ltd. Computing system
CN113407249B (en) * 2020-12-29 2022-03-22 重庆邮电大学 Task unloading method facing to position privacy protection
CN112764618A (en) * 2021-01-22 2021-05-07 维沃移动通信有限公司 Interface operation method, device, equipment and storage medium
US20220350366A1 (en) * 2021-05-03 2022-11-03 Asustek Computer Inc. All-in-one computer
CN113420245B (en) * 2021-05-11 2023-10-27 上海幻电信息科技有限公司 Page display method and system
US11809640B2 (en) * 2021-12-09 2023-11-07 Htc Corporation Method for detecting movement of ring controller, ring controller, and computer readable medium
TWI804163B (en) * 2022-01-18 2023-06-01 新唐科技股份有限公司 Microphone array
CN115145645B (en) * 2022-09-01 2022-11-25 南京芯驰半导体科技有限公司 Touch screen control method, system and chip supporting multiple operating systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005295399A (en) * 2004-04-02 2005-10-20 Smk Corp Touch panel input device
US20120038571A1 (en) * 2010-08-11 2012-02-16 Marco Susani System and Method for Dynamically Resizing an Active Screen of a Handheld Device

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11275405B2 (en) * 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
EP1460499A1 (en) 2003-03-17 2004-09-22 Trumpf Werkzeugmaschinen GmbH + Co. KG Control interface for a machine tool
US20070152977A1 (en) * 2005-12-30 2007-07-05 Apple Computer, Inc. Illuminated touchpad
BR0306578A (en) * 2003-08-21 2005-06-28 Microsoft Corp Focus management using the air point field of the invention
WO2005067604A2 (en) * 2004-01-05 2005-07-28 Oqo Incorporated Docking station for mobile computing device
US7511682B2 (en) * 2004-05-03 2009-03-31 Microsoft Corporation Context-aware auxiliary display platform and applications
JP2006053678A (en) * 2004-08-10 2006-02-23 Toshiba Corp Electronic equipment with universal human interface
CN101133385B (en) 2005-03-04 2014-05-07 苹果公司 Hand held electronic device, hand held device and operation method thereof
KR101604565B1 (en) 2005-03-04 2016-03-17 애플 인크. Multi-functional hand-held device
KR100696284B1 (en) * 2005-05-30 2007-03-19 이종찬 Auxiliary device serving both as an auxiliary display device and and an auxiliary input device with respect to an electronic device
US8542196B2 (en) * 2005-07-22 2013-09-24 Move Mobile Systems, Inc. System and method for a thumb-optimized touch-screen user interface
JP2007065050A (en) * 2005-08-29 2007-03-15 Kyocera Mita Corp Display device and image forming apparatus equipped with same
JP2006094565A (en) * 2005-12-08 2006-04-06 Sharp Corp Personal digital assistant with built-in telephone functions
CN101395565B (en) * 2005-12-30 2012-05-30 苹果公司 Hand held device operated in a different mode operation and its operation method
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
KR20080023832A (en) * 2006-09-12 2008-03-17 삼성전자주식회사 Touch screen for mobile terminal and power saving method thereof
KR100829111B1 (en) * 2006-11-27 2008-05-16 삼성전자주식회사 A mobile terminal and a controlling method thereof
US20110047459A1 (en) * 2007-10-08 2011-02-24 Willem Morkel Van Der Westhuizen User interface
US20090174679A1 (en) 2008-01-04 2009-07-09 Wayne Carl Westerman Selective Rejection of Touch Contacts in an Edge Region of a Touch Surface
US8645827B2 (en) * 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8205157B2 (en) * 2008-03-04 2012-06-19 Apple Inc. Methods and graphical user interfaces for conducting searches on a portable multifunction device
CN101303872B (en) * 2008-03-25 2011-01-26 杭州赛利科技有限公司 Method and system for organization management of play menu of multimedia player
US20100177053A2 (en) * 2008-05-09 2010-07-15 Taizo Yasutake Method and apparatus for control of multiple degrees of freedom of a display
KR100974409B1 (en) 2008-07-03 2010-08-05 배정관 metal tile manufacturing device
KR101479240B1 (en) 2008-07-14 2015-01-06 삼성전자 주식회사 Air conditioner and method of controlling the same
KR101546774B1 (en) * 2008-07-29 2015-08-24 엘지전자 주식회사 Mobile terminal and operation control method thereof
CN101650628B (en) * 2008-08-14 2011-07-27 鸿富锦精密工业(深圳)有限公司 Electric device with touch screen and control method thereof
US20100053151A1 (en) * 2008-09-02 2010-03-04 Samsung Electronics Co., Ltd In-line mediation for manipulating three-dimensional content on a display device
KR101554183B1 (en) * 2008-10-15 2015-09-18 엘지전자 주식회사 Mobile terminal and method for controlling output thereof
TWI393046B (en) * 2008-10-23 2013-04-11 Chun Wei Chu Portable dual display reader and operating system thereof
JP5174616B2 (en) * 2008-10-27 2013-04-03 シャープ株式会社 mobile phone
US8650290B2 (en) * 2008-12-19 2014-02-11 Openpeak Inc. Portable computing device and method of operation of same
US9753746B2 (en) 2008-12-19 2017-09-05 Paul Krzyzanowski Application store and intelligence system for networked telephony and digital media services devices
KR101626818B1 (en) * 2008-12-24 2016-06-02 엘지전자 주식회사 Apparatus and method for controlling touch-input of mobile terminal
US20100245286A1 (en) * 2009-03-25 2010-09-30 Parker Tabitha Touch screen finger tracking algorithm
US8370762B2 (en) * 2009-04-10 2013-02-05 Cellco Partnership Mobile functional icon use in operational area in touch panel devices
KR20100118366A (en) 2009-04-28 2010-11-05 삼성전자주식회사 Operating method of touch screen and portable device including the same
US20120191542A1 (en) * 2009-06-24 2012-07-26 Nokia Corporation Method, Apparatuses and Service for Searching
US8832574B2 (en) * 2009-06-30 2014-09-09 Nokia Corporation Apparatus and associated methods
KR101555063B1 (en) * 2009-07-07 2015-09-23 삼성전자주식회사 System and method for multi-screen mobile convergence service
KR101710545B1 (en) * 2009-11-05 2017-02-27 엘지전자 주식회사 Mobile Terminal And Method Of Providing Information Using The Same
KR20110061285A (en) * 2009-12-01 2011-06-09 삼성전자주식회사 Portable device and operating method for touch panel thereof
TWI390440B (en) 2010-03-18 2013-03-21 Acer Inc Method and system for switching windows
US8327296B2 (en) * 2010-04-16 2012-12-04 Google Inc. Extended keyboard user interface
US8966401B2 (en) 2010-05-03 2015-02-24 Lg Electronics Inc. Electronic device and methods of sending information with the electronic device, controlling the electronic device, and transmitting and receiving information in an information system
US8552999B2 (en) * 2010-06-14 2013-10-08 Apple Inc. Control selection approximation
KR20120004279A (en) 2010-07-06 2012-01-12 김민한 Learning systems
KR20120005803A (en) 2010-07-09 2012-01-17 양선아 Separate collection unit
US8388146B2 (en) * 2010-08-01 2013-03-05 T-Mobile Usa, Inc. Anamorphic projection device
JP5653184B2 (en) 2010-11-11 2015-01-14 三菱電機株式会社 Image processing apparatus and method
KR20120058037A (en) * 2010-11-29 2012-06-07 삼성전자주식회사 Method and apparatus for input in touch screen terminal
KR101351421B1 (en) * 2010-12-16 2014-01-14 엘지디스플레이 주식회사 Optical Touch Input Device and Driving Method for the same
JP5813991B2 (en) * 2011-05-02 2015-11-17 埼玉日本電気株式会社 Portable terminal, input control method and program
US9134807B2 (en) * 2012-03-02 2015-09-15 Microsoft Technology Licensing, Llc Pressure sensitive key normalization
KR20120042799A (en) * 2012-03-19 2012-05-03 김태상 The bezel of the tablet pc software that is activated
US9268433B2 (en) * 2012-06-08 2016-02-23 Apple Inc. Devices and methods for reducing power usage of a touch-sensitive display
TW201351227A (en) 2012-06-15 2013-12-16 Acer Inc Operation method for touch panel and electronic apparatus thereof
US9128712B2 (en) * 2012-08-10 2015-09-08 Blackberry Limited Electronic device including touch-sensitive display and method of detecting touches
JP6026007B2 (en) * 2012-12-20 2016-11-16 インテル・コーポレーション Acceleration target detection filter using video motion estimation module
KR102072582B1 (en) * 2012-12-31 2020-02-03 엘지전자 주식회사 a method and an apparatus for dual display

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005295399A (en) * 2004-04-02 2005-10-20 Smk Corp Touch panel input device
US20120038571A1 (en) * 2010-08-11 2012-02-16 Marco Susani System and Method for Dynamically Resizing an Active Screen of a Handheld Device

Also Published As

Publication number Publication date
GB2514971A (en) 2014-12-10
DE112013001305T5 (en) 2014-12-31
CN104364750A (en) 2015-02-18
TWI540473B (en) 2016-07-01
US20140327630A1 (en) 2014-11-06
RU2595760C2 (en) 2016-08-27
CN104364750B (en) 2019-07-16
GB201417057D0 (en) 2014-11-12
JP2015512545A (en) 2015-04-27
JP5981023B2 (en) 2016-08-31
KR20140138224A (en) 2014-12-03
RU2014139598A (en) 2016-04-20
GB2514971B (en) 2021-04-14
US9927902B2 (en) 2018-03-27
WO2014107197A1 (en) 2014-07-10
TW201439848A (en) 2014-10-16
KR20160143891A (en) 2016-12-14

Similar Documents

Publication Publication Date Title
KR101951729B1 (en) A method, apparatus, and system for distributed pre-processing of touch data and display region control
CN106462208B (en) USB power delivery controller sharing
US20170262395A1 (en) Method, apparatus, system for including interrupt functionality in sensor interconnects
KR101683014B1 (en) A method, apparatus, system for continuous automatic tuning of code regions
US9405688B2 (en) Method, apparatus, system for handling address conflicts in a distributed memory fabric architecture
JP6286551B2 (en) Apparatus for processing element configuration, apparatus and method for device configuration, apparatus for high-speed device configuration, program, and non-transitory computer-readable storage medium
CN108027785B (en) Method, apparatus and system for de-skewing link splits
US9268948B2 (en) Secure access enforcement proxy
US20160378704A1 (en) Dynamically configure connection modes on a system based on host device capabilities
CN109074341B (en) Interface for reducing pin count
CN115543905A (en) System, method and device for SRIS mode selection aiming at PCIE
US9323528B2 (en) Method, apparatus, system creating, executing and terminating mini-threads
US11232056B2 (en) System and method for vector communication
EP4109281A1 (en) Peer-to-peer link sharing for upstream communications from xpus to a host processor
US20220113967A1 (en) Accelerator fabric for discrete graphics
TW201725516A (en) Controller to transmit data for components of a physical layer device
US20170351430A1 (en) Method, apparatus, and system for cache coherency using a coarse directory

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant