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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3265—Power saving in display device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0412—Digitisers structurally integrated in a display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/04166—Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/0418—Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/0418—Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
- G06F3/04186—Touch location disambiguation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/006—Details of the interface to the display terminal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/08—Arrangements 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.
Description
본 출원은 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
예를 들어, 한 실시예에서 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
추가로 알 수 있는 바와 같이, 뚜껑 부분(30)은 베이스 부분(20)에 결합될 수 있고, 상이한 실시예에서는 액정 디스플레이(LCD) 또는 유기 발광 다이오드(OLED)일 수 있는 하나 이상의 디스플레이(들)(40)을 포함할 수 있다. 그러나, e-잉크 스크린 등의, 임의의 디스플레이 기술이 디스플레이(40)로서 이용될 수 있다. 또한, 디스플레이(40)의 영역에서, 터칭 기능이 한 실시예에서 제공되어, 사용자가 디스플레이(40)와 함께 위치한 터치 패널을 통해 사용자 입력을 제공할 수 있다. 예시되지 않은 또 다른 실시예에서, 복수의 디스플레이가 제공될 수 있다(예를 들어, 전통적인 디스플레이와 e-잉크 스크린, 상이한 디스플레이 타입들, 또는 동일한 타입의 복수의 디스플레이). 뚜껑 부분(30)은, 비디오 및/또는 정지 정보를 포착할 수 있는 카메라 장치(50)를 포함한 다양한 포착 장치를 더 포함할 수 있다. 또한, 듀얼 마이크로폰(55a 및 55b) 등의 하나 이상의 마이크로폰이 존재하여 사용자 입력을 통해 사용자 입력을 수신할 수 있다. 도 1a에는 이 위치에 도시되어 있지만, 하나 이상의 전방향 마이크로폰일 수 있는 마이크로폰은 다른 실시예에서는 다른 위치에 있을 수도 있다.As further appreciated,
이하에서 더 설명되는 바와 같이, 시스템(10)은, 한 실시예에서, 플랫폼의 하드웨어 및 소프트웨어의 조합을 통해 하이엔드 사용자 경험을 가능케하는 특정한 컴포넌트 및 회로로 구성된다. 예를 들어, 이용가능한 하드웨어 및 소프트웨어를 이용하여, 지각 컴퓨팅은 음성, 제스처, 터치 및 기타의 방식으로 사용자가 시스템과 상호작용할 수 있게 할 수 있다. 여기서, 상이한 센서가 잠재적으로 포함되어, 감지 정보(예를 들어, 시각, 청각, 후각, 운동 감각, 미각, 3D 지각, 온도, 압력, 기체/액체/고체 화학 물질/분자 메이크업 센서, 습도, 또는 임의의 다른 공지된 센서)를 검출, 이용 또는 제공한다. 센서들과 이러한 정보의 처리가 이하에서 더 상세히 논의된다.As described further below, the
또한, 이 사용자 경험은 높은 성능과 낮은 전력 능력을 제공하면서도 (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
도 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
도 1b의 측면도(100B)에서 볼 수 있는 바와 같이, 기저 부분은 비교적 얇은 선두 전면 엣지로부터 더 넓은 배면 엣지로 테이퍼링된 프로파일을 가진다. 보다시피, 이 도시된 측면부 내에 외부 포트가 적응될 수 있다. 도시된 실시예에서, 포트(112)는 (일반적으로) Thunderbolt™ 포트, USB 2.0 포트 및 (예를 들어, SD 카드를 수용하는데 이용될 수 있는) 카드 리더 포트를 포함한다. 실시예에서, 포트들 중 하나 이상은 채널당 풀-듀플렉스 대역폭의 초당 10 기가비트(Gbps)를 제공하는 I/O 포트이다. 이 포트는 단일 케이블을 통해 동시에 (예를 들어, PCIe™를 통해) 데이터를 지원하고 (예를 들어, 디스플레이 포트를 통해) 접속을 디스플레이할 수 있다. 주변 제품은 통상적으로 전기 또는 광 케이블을 이용하여 이 포트에 접속된다. 이러한 포트를 이용하여, 복수의 고성능 PCIe™ 및 디스플레이 포트 장치들이 단일의 물리적 커넥터를 통해 플랫폼에 부착된다. 이러한 인터커넥트를 이용하여, 사용자는 고성능 피쳐를 케이블을 통해 플랫폼에 추가하고, 하나 이상의 디스플레이, 스토리지 장치, 비디오 촬영 장치 등을 포함한 복수의 장치들을 데이지 체인화(daisy chaining)한다. 다른 측면 부분 상에, 또 다른 USB 포트, 헤드폰 포트, 마이크로폰, 및 전력 어댑터를 포함한 추가의 포트들이 역시 제공될 수 있다.As can be seen in the
뷰(100C)는 플랫폼의 개방된 뷰를 도시한다. 도 1b에서는 이러한 고수준의 예시가 도시되어 있지만, 다른 실시예에서는 추가의 피쳐들이 존재할 수도 있다는 것을 이해해야 한다. 일부 실시예에서, 터치 패드(106)는, 상이한 사용자 명령들로 변환되는 다양한 사용자 입력(예를 들어, 상이한 수의 손가락, 상이한 타입의 움직임, 제스쳐 등)을 수신하기 위해 멀티-터치 트랙패드를 포함한다. 한 실시예에서, 트랙패드는 적어도 반투명 윈도우로서 구현된다. 그러나, 터치패드(106)(및 심지어 키보드(105))는, 감각성 사용자 입력이 진보됨에 따라 대체되거나 생략될 수 있다.
다음으로 도 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
한 실시예에서, 시스템(120)은 다음과 같은 특징들 중 하나 이상을 포함한다: 10 내지 14인치의 대각 디스플레이 크기, 백라이트형 치클릿 키보드, 0.4 내지 1인치의 높이, 10 내지 14인치의 길이, 5 내지 10인치의 폭, USB 포트, 헤드폰/마이크로폰 잭, HDMI 포트, AC 전원 포트, 확장 슬롯, 7시간 이상의 정격 배터리 수명, 64GB 내지 512 GB의 고체 상태 드라이브, 통합된 그래픽 칩, SODIMM 메모리 슬롯, 및 1-4 파운드의 중량.In one embodiment, the
이제 도 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
한 실시예에서, 시스템(130A-130C)은 다음과 같은 특징들 중 하나 이상을 포함한다: 12-14인치 디스플레이, 용량식 멀티-터치 디스플레이, 적어도 1600x900의 해상도, 17mm 미만의 두께, 4파운드 미만의 중량, 플립 힌지, 4-16GB 범위의 시스템 메모리, 128-512GB의 고체 상태 드라이브, 고선명(HD) 웹캠, USB 포트, 무선 LAN 접속 모듈, Bluetooth 접속 모듈, 및 적어도 6시간의 정격 배터리 수명.In one embodiment, the
도 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
한 실시예에서, 시스템(140)은 다음과 같은 특징들 중 하나 이상을 포함한다: 10mm 미만의 높이, 4,6,8, 또는 12GB의 시스템 메모리, 10-12 인치 사이의 스크린 크기, 2초 미만의 재개, 미니 VGA 포트, USB 포트, 마이크로 HDMI 포트, 128, 256, 또는 512 GB 고체 상태 드라이브, 5시간 이상의 동작을 위한 정격 배터리, 디지털 마이크로폰, 피조명형 키보드, 및 HD 카메라.In one embodiment,
이제 도 1f를 참조하면, 본 발명의 실시예에 따른 데스크탑 컴퓨터(150)의 예시가 도시되어 있다. 도 1f의 뷰는 시스템의 다양한 포트들과 기타의 피쳐들을 보여주고 있는 뒷면 뷰이다. 보다시피, 전원 부분(152)에서, 전원 스위치 및 팬 플레이트와 함께, 전원 코드 어댑터가 제공된다. 접속 부분(154)에서, 디스플레이, 프린터, 네트워크, 오디오, 비디오 등을 포함한 주변 장치들을 포함한 다양한 주변기기들로의 외부 접속을 제공하는 다양한 어댑터들도 역시 하나 이상의 병렬 포트, 직렬 포트, USB 포트, Ethernet/RJ45 포트 등을 통해 제공된다. 또한, 확장 카드를 위한 복수의 슬롯들도 제공될 수 있다.Referring now to FIG. 1F, an illustration of a
이제 도 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
이제 도 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
이제 도 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
일반적으로, 도 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
마찬가지로, 마더보드(60)는, 일부 실시예에서, 소정의 다른 사용자 액세스가능한 포트; 즉, 예시에서는 포트(84 및 85)로의 인터커넥트를 제공한다. 또한, 수 개의 애드-인 카드(65 및 66)도 역시 마더보드(60)에 결합될 수 있다. 도시된 실시예에서, 애드-인 카드(65)는, NGFF 커넥터(59)와 같은 커넥터를 통해 마더보드(60)에 결합되는 고체 상태 드라이브(SSD)를 포함한다. 애드-인 카드(66)는, 무선 LAN(WLAN), 오디오 장치, 비디오 장치, 네트워크 제어기 등의 임의의 공지된 컴퓨팅 애드-인 컴포넌트를 포함한다.Similarly, the
도 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
도 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
진보된 오디오 특성을 제공하기 위해, 한 실시예에서, 복수의 스피커(78a 및 78b)가 제공된다. 한 시나리오에서, 스피커(78a 및 78b)는 샤시의 꼭대기 부분으로부터 그물이나 기타의 통풍형 패턴을 통해 발산되어 향상된 음향 경험을 제공한다. 베이스 부분(20)과 (도 2에서는 예시의 간편성을 위해 도시되지 않은) 뚜껑 부분 사이의 인터커넥트를 가능케하기 위해, 한 쌍의 힌지(95a 및 95b)가 제공된다. 힌지 기능을 제공하는 것에 추가하여, 이들 힌지들은, 한 실시예에서, 뚜껑 부분 내부의 회로 베이스 부분(20) 사이의 접속을 제공하는 경로를 더 포함할 수 있다. 예를 들어, 무선 안테나, 터치 스크린 회로, 디스플레이 패널 회로 등 모두는 이들 힌지를 통해 적응된 커넥터를 통해 통신할 수 있다. 또한, 힌지는, 하이브리드 환경에서, 폼팩터들 사이의 전환을 보조 또는 지원할 수 있다. 한 예로서, 힌지는 시스템이 랩탑/노트북으로부터 태블릿 형태로 전환할 수 있게 한다. 용이하게 명백한 바와 같이, 힌지는 디스플레이를 샤시에 결합하기 위한 유일한 메커니즘은 아니다. 그 결과, 컴퓨팅 시스템(10)이 폼팩터들 사이에서 전환가능한 것이든 아니든 간에, 컴퓨팅 시스템(10)의 샤시 또는 전자회로에 디스플레이를 접속하기 위해 임의의 공지된 물리적 결합이 이용될 수 있다.To provide advanced audio characteristics, in one embodiment, a plurality of
추가로 보다시피, 배터리(45)가 존재한다. 한 실시예에서, 배터리(45)는 리튬-이온 또는 기타의 공지된/이용가능한 고용량 배터리를 포함한다. 도 2에서는 이러한 컴포넌트들의 특정한 구현 및 회로 배치와 함께 도시되어 있지만, 본 발명의 범위는 이 점에서 제한되지 않는다. 즉, 소정 시스템 설계에 있어서, 샤시 내의 가용 X-Y-Z 공간을 더욱 효율적으로 소비하기 위해 트레이드-오프(trade-off)가 있을 수 있다.As will be further appreciated, a
이제 도 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
일반적으로, 샤시는 뚜껑 부분(30)과 베이스 부분(20)으로 분할된다. 여기서, 뚜껑 부분(30)은, 디스플레이, 관련 회로, 및 컴포넌트들을 포함하는 반면, 베이스 부분(20)은 배터리 및 키보드와 함께 주요 처리 요소들을 포함한다. 그러나, 클램쉘 설계의 다른 구현에서, 키보드 이외의 컴포넌트들의 사실상 모두는 뚜껑부 내에 적응되어, 분리가능한, 제거가능한, 또는 전환가능한 뚜껑 부분이 태블릿-기반의 폼팩터 컴퓨터로서도 쓰이는 것을 가능케한다는 점에 유의한다.Generally, the chassis is divided into a
뚜껑 부분(30)은 한 실시예에서 디스플레이 패널(40)을 포함한다. 한 실시예에서, 디스플레이 패널(40)은 LCD, 또는 OLED 등의 다른 타입의 얇은 디스플레이를 포함한다. 예로서, 디스플레이 패널(40)은 디스플레이 회로 보드(33)에 결합된다. 또한, 터치 스크린(34)은, 한 실시예에서, 디스플레이 패널(40) 위에, 아래에, 또는 디스플레이 패널(40)과 통합되어, 적합화(또는 배치)된다. 실시예에서, 터치 스크린(34)은 기판을 따라 구성된 용량식 감지 터치 어레이를 통해 구현된다. 예시로서, 기판은, 유리, 플라스틱 및 기타의 공지되거나 다른 방식으로 이용가능한 투명 기판을 포함한다. 차례로, 터치 스크린(34)은 터치 패널 회로 기판(35)에 연동된다. 임의의 공지된 터치 디스플레이 기술이 이용되거나 디스플레이와 연계하여 이용될 수도 있다는 점에 유의한다.The
추가로 도시된 바와 같이, 뚜껑 부분(30)은 또한 카메라 모듈(50)을 포함한다. 한 실시예에서, 카메라 모듈(50)은 영상 데이터; 정지영상 및 동영상 양쪽 모두의 타입을 촬영할 수 있는 고선명 카메라를 포함한다. 카메라 모듈(50)은, 일부 구현에서, 회로 기판(38)에 결합된다. 뚜껑 부분(30)의 이들 컴포넌트들 모두는, 다른 실시예에서, 커버 어셈블리를 포함하는 샤시 내에서 구성, 배치, 또는 존재할 수 있다는 점에 유의한다. 커버 어셈블리는, 플라스틱이나 금속 재료 등의, 샤시를 제공하는데 적합한 임의의 공지되거나 이용가능한 재료를 이용하여 제작될 수 있다. 특정한 예시로서, 이러한 커버 어셈블리는 마그네슘 알루미늄(Mg-Al) 합성물로 제작되거나 이것을 포함한다.As further shown, the
여전히 도 3을 참조하면, 시스템(10)의 처리 회로의 다수는 베이스 부분(20) 내에 존재하는 것으로 도시되어 있다. 그러나, 상기 분리가능한 뚜껑 부분을 제공하는 실시예에서 논의된 바와 같이, 이들 컴포넌트들은 대신에 뚜껑 부분에 구현될 수도 있다.Still referring to FIG. 3, many of the processing circuits of
베이스 부분(20)의 상부가 아래로 되어 있는 도면으로부터, 얇은 프로파일 장치를 가능케하는 다양한 타입일 수 있고 치클릿 타입 키 또는 기타의 얇은 폼 팩터 키를 포함할 수 있는 키보드(25)가 포함된다. 또한, 터치 패드(28)는 또 다른 사용자 인터페이스로서 제공된다.From the view with the top portion of the
다수의 컴포넌트들은, 땜납식, 표면 장착식 등을 포함한 다양한 방식으로 회로 기판에 결합/적합화된 다양한 집적 회로들을 포함하는 Type IV 마더보드 등의 마더보드일 수 있는 회로 기판(60) 상에서 구성된다. 특히 도 3을 참조하면, 초 저전력 멀티-코어 프로세서 등의 CPU(55)는, 예를 들어, 소켓 또는 다른 타입의 접속을 통해 회로 기판(60)에 적합화될 수 있다. 보다시피, 열 솔루션을 제공하기 위해, 히트 싱크(56)는, 한 실시예에서, CPU(55)에, 차례로, 프로세서 및/또는 기타의 컴포넌트로부터의 열을, 예를 들어, 환기구, 팬 등의 다양한 냉각 위치에 전달하는 히트 파이프(57)에 매우 근접한 관계로 배치된다. 회로 보드(60)에는 또한, 인덕터(58) 및 NGFF 엣지 커넥터(59)가 구성된 것으로 도시되어 있다. 예시의 용이화를 위해 도시되어 있지는 않지만, 애드-인 카드는, 일부 실시예에서, 커넥터(59)에 결합되어 추가의 컴포넌트들을 제공한다는 점을 이해해야 한다. 예로서, 이들 컴포넌트들은, 주변 장치들 중에서 특히, 무선 솔루션과 고체 상태 디바이스(SSD)를 포함할 수 있다.The multiple components are configured on a
도 3에서 추가로 볼 수 있는 바와 같이, 배터리(45)는 베이스 부분(20)에 포함되거나 이와 연관된다. 여기서, 배터리(45)는, 팬(47) 등의 냉각 솔루션의 일부와 매우 근접한 관계에 있다. 도 3의 예에서는 이 특정한 구현으로 도시되어 있지만, 이러한 컴포넌트의 배치와 포함은 제한되지 않는데, 이것은 다른 실시예에서는 추가의 및 상이한 컴포넌트들이 존재할 수 있기 때문이다. 예를 들어, SSD에 의해 대용량 스토리지를 제공하는 것 대신에, 베이스 부분(40) 내에 하드 드라이브가 구현될 수도 있다. 이 목적을 위해, 미니 SATA(serial advanced technology attach) 커넥터가 회로 기판(60)에 추가로 결합되어 회로 기판(60) 상에 적합화된 프로세서 및 기타의 컴포넌트들로의 이 하드 드라이브의 접속을 가능케 한다. 또한, 컴포넌트들은 Z-공간을 더욱 효율적으로 이용(또는 감축)하기 위해 상이한 위치들에 배치될 수도 있다.As further seen in FIG. 3, the
한 실시예에서, 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
이제 도 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
도 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,
프로세서(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
데이터, 애플리케이션, 하나 이상의 운영 체제 등의 정보의 영구 저장을 제공하기 위해, 대용량 스토리지(420)도 역시 프로세서(410)에 결합될 수 있다. 다양한 실시예에서, 시스템 응답성을 향상시킬 뿐만 아니라 더 얇고 더 경량의 시스템 설계를 가능케하기 위해, 이 대용량 스토리지는 SSD를 통해 구현될 수 있다. 그러나, 다른 실시예에서, 대용량 스토리지는 주로, 전원 차단 이벤트 동안에 컨텍스트 상태와 다른 이러한 정보의 비휘발성 저장을 가능케하여 시스템 활동의 재시작시에 빠른 기동이 발생할 수 있도록 SSD 캐쉬로서 역할하는 더 작은 용량의 SSD 스토리지를 갖춘 하드 디스크 드라이브(HDD)를 이용하여 구현될 수 있다. 도 4에 역시 도시된 바와 같이, 플래시 장치(422)는, 예를 들어, 직렬 주변기기 인터페이스(SPI; serial peripheral interface)를 통해 프로세서(410)에 결합될 수 있다. 이 플래시 장치는, BIOS(basic input/output software)를 포함한 시스템 소프트웨어 뿐만 아니라 시스템의 다른 펌웨어의 비휘발성 저장을 제공할 수 있다.
다양한 실시예에서, 시스템의 대용량 스토리지는 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
디스플레이 패널은 복수의 모드에서 동작할 수 있다. 제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
플랫폼에 존재하는 다양한 관성 및 환경 센서를 이용하여, 많은 상이한 이용 사례가 실현될 수 있다. 이들 이용 사례들은 지각 컴퓨팅을 포함한 진보된 컴퓨팅 동작을 가능케하고 또한 전력 관리/배터리 수명, 보안, 및 시스템 응답성에 관한 향상을 허용한다.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
도 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
특정한 구현에서, 주변 포트들은 (풀 사이즈, 미니 또는 마이크로 등의 상이한 폼팩터일 수 있는) 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
여기서 설명된 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
또한, 예를 들어, 셀룰러 또는 기타의 무선 광역 프로토콜에 따른 무선 광역 통신은 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
특정한 실시예에서, 예를 들어, 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
전술된 바와 같이, 통합된 카메라가 뚜껑에 포함될 수 있다. 한 예로서, 이 카메라는, 예를 들어, 적어도 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
특정 실시예에서, 디지털 오디오 코덱 및 증폭기는, 스테레오 헤드폰 잭, 내부 마이크로폰 어레이 및 스테레오 스피커를 구동할 수 있다. 상이한 구현에서, 코덱은 오디오 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
한 실시예에서, 일부 깊은 슬립 상태(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
전력 관리 동안에, 프로세서가 소정의 깊은 슬립 상태에 들어갈 때 다른 전력 플레인들이 전원차단 또는 전원오프되는 동안, 유지 전력 플레인은 상기 언급한 컴포넌트들을 지원하기 위해 전원공급된채 유지된다. 그러나, 이것은 이들 컴포넌트들이 필요하지 않을 때에는 불필요한 전력 소비 또는 소산을 야기할 수 있다. 이 목적을 위해, 실시예들은 전용 전력 플레인을 이용하여 프로세서 컨텍스트를 유지하는 접속된 스탠바이 슬립 상태를 제공할 수 있다. 한 실시예에서, 접속된 스탠바이 슬립 상태는, 프로세서와 함께 팩키지로 존재할 수 있는 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
프로세서 내의 전력 제어는 향상된 전력 절감으로 이어질 수 있다. 예를 들어, 전력은 코어들 사이에서 동적으로 할당될 수 있고, 개개의 코어는 주파수/전압을 변경할 수 있고, 복수의 깊은 저전력 상태들이 제공되어 매우 낮은 전력 소비를 가능케할 수 있다. 또한, 코어들 또는 독립된 코어 부분들의 동적 제어는 컴포넌트들이 이용되고 있지 않을 때 컴포넌트들을 전원차단함으로써 감소된 전력 소비를 제공할 수 있다.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
특정한 구현은, 약 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
도 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
데이터, 애플리케이션, 하나 이상의 운영 체제 등의 정보의 영구 저장을 제공하기 위해, SATA(serial advanced technology attach) 인터커넥트(530)를 통해 SSD(531)가 칩셋(515)에 결합될 수 있다. SSD를 통해 구현된 것으로 도시되어 있지만, 다른 실시예에서는, 대용량 스토리지는 주로, 전원 차단 이벤트 동안에 컨텍스트 상태와 다른 이러한 정보의 비휘발성 저장을 가능케하여 시스템 활동의 재시작시에 빠른 기동이 발생할 수 있도록 SSD 캐쉬로서 역할하는 더 작은 용량의 SSD 스토리지를 갖춘 HDD를 이용하여 구현될 수 있다.The
도 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
추가로 볼 수 있는 바와 같이, 추가적인 비디오 인터페이스는, 한 실시예에서는 미니 디스플레이 포트 어댑터(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
여전히 도 5를 참조하면, 터치 스크린(574)은 또한, 예를 들어, 디스플레이 패널 위에 외부적으로 적합화되어, 이 터치 스크린과의 사용자 상호작용을 통해, 사용자 입력이 시스템에 제공되어 정보의 디스플레이, 정보의 액세스 등에 관해 원하는 동작을 가능케할 수 있다. 터치 스크린(574)은 USB2 인터커넥트(570C)를 통해 프로세서(510)에 결합될 수 있다.Still referring to FIG. 5, the
도 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
도 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
시스템(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
오디오 입력 및 출력을 제공하기 위해, 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
전술된 바와 같이 정지영상 또는 동영상일 수 있는 비디오 데이터의 입력을 제공하기 위해, 스테레오 카메라 모듈(581)은, PCIe™ 인터커넥트(565)를 통해 칩셋(515)에 결합될 수 있는 스테레오 카드(566)에 LVDS 인터커넥트(580)를 통해 결합될 수 있다. 물론, 상이한 구현에서는 카메라 모듈을 인터커넥팅하는 상이한 방식들이 발생할 수 있다. 카메라 모듈(581)은 스테레오 효과를 제공하기 위해 복수의 포착 장치를 포함할 수 있고, 시스템의 뚜껑 부분 내에서 구성되고 일부 실시예에서는 2.0 - 8.0 MP 카메라일 수 있는 하나 이상의 카메라에 의해 구현될 수 있다.The stereo camera module 581 includes a
향상된 제스쳐 및 인증 동작을 제공하기 위해, 눈 시선 추적 모듈(571)이 제공될 수도 있다. 보다시피, 이 모듈은, 한 실시예에서는 인터커넥트하기 위한 USB2일 수 있는 인터커넥트(570a)를 통해 칩셋(515)에 결합될 수 있다. 눈 시선 추적 모듈(571)은 제스쳐 입력 목적을 위해 이용될 수 있는 사용자의 눈 움직임을 추적하여 동적 디스플레이를 사용자에게 제공하는데 이용될 수 있다. 이 모듈로부터의 정보는 또한 전력 관리 목적에 이용되어 사용자가 시스템에 참여하고 있지 않을 때 전력 소비를 줄일 수 있다.In order to provide an improved gesture and authentication operation, an eye-
한 실시예에서는 USB2 인터커넥트일 수 있는 인터커넥트(570b)를 통해 칩셋(515)에 결합되는 마이크로제어기(572)에 결합될 수 있는 핸드 센서(573)를 통해 추가의 제스쳐 정보가 수신될 수 있다. 도시된 실시예에서, 마이크로제어기(572)는 핸드 센서(573)을 통해 수신된 손 정보를 수신하는 8051-기반의 마이크로제어기일 수 있다. 이 제스쳐 정보는 마찬가지로 사용자의 제스쳐에 응답하여 다양한 동작을 수행하기 위해 시스템에 의해 이용될 수 있다.In one embodiment, additional gesture information may be received via the
추가로 볼 수 있는 바와 같이, 하나 이상의 통보 LED(591)가 하나 이상의 GPIO 인터커넥트(590)를 통해 마이크로제어기(572)에 결합될 수 있다.As can be further seen, one or
다양한 주변 장치들에 대한 인터커넥트를 제공하기 위해, 복수의 외부 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
도 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.
실시예들은 컴퓨터 시스템으로 제한되지 않는다. 본 발명의 대안적 실시예들은 핸드헬드 장치 및 임베디드 응용 등의 다른 장치들에서 이용될 수 있다. 핸드헬드 장치의 일부 예로서는, 셀룰러 전화, 인터넷 프로토콜 장치, 디지털 카메라, 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
한 실시예에서, 프로세서(602)는 레벨 1(L1) 내부 캐쉬 메모리(604)를 포함한다. 아키텍쳐에 따라, 프로세서(602)는 단일의 내부 캐쉬 또는 복수 레벨의 내부 캐쉬를 가질 수 있다. 대안으로서, 또 다른 실시예에서, 캐쉬 메모리는 프로세서(602) 외부에 존재할 수 있다. 다른 실시예들도 역시, 특정한 구현 및 필요성에 따라 내부 및 외부 캐쉬 모두의 조합을 포함할 수 있다. 레지스터 파일(606)은, 정수 레지스터, 부동 소수점 레지스터, 상태 레지스터, 및 명령어 포인터 레지스터를 포함한 다양한 레지스터들 내에 상이한 타입의 데이터를 저장할 수 있다.In one embodiment, the
정수 및 부동 소수점 연산을 수행하는 로직을 포함하는 실행 유닛(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
실행 유닛(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
시스템 로직 칩(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)에 결합된다.
시스템(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
시스템의 또 다른 실시예의 경우, 한 실시예에 따른 명령어는 시스템 온 칩에 이용될 수 있다. 시스템 온 칩의 한 실시예는 프로세서와 메모리로 구성된다. 하나의 이러한 시스템을 위한 메모리가 플래시 메모리이다. 플래시 메모리는 프로세스 및 기타의 시스템 컴포넌트와 동일한 다이 상에 위치할 수 있다. 추가적으로, 메모리 제어기 또는 그래픽 제어기와 같은 기타의 로직 블록들도 역시 시스템 온 칩 상에 위치할 수 있다.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
메모리 계층구조는, 코어 내의 하나 이상의 레벨의 캐쉬 유닛(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
일부 실시예에서, 코어들(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)의 전력 상태를 조절하는데 필요한 로직 및 컴포넌트들이거나 이들을 포함할 수 있다. 디스플레이 유닛은 하나 이상의 외부적으로 접속된 디스플레이를 구동하기 위한 것이다.
코어들(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
이제 도 8을 참조하면, 본 발명의 실시예에 따른 제2 시스템(800)의 블록도가 도시되어 있다. 도 8에 도시된 바와 같이, 멀티프로세서 시스템(800)은 포인트-대-포인트 인터커넥트 시스템이고, 포인트-대-포인트 인터커넥트(850)를 통해 결합된 제1 프로세서(870)와 제2 프로세서(880)를 포함한다. 각 프로세서(870 및 880)는 소정 버전의 프로세서(700)일 수도 있다.Referring now to FIG. 8, a block diagram of a
단 2개의 프로세서(870, 880)만이 도시되어 있지만, 본 발명의 범위는 이것으로 제한되지 않는다는 것을 이해할 것이다. 다른 실시예들에서, 소정 프로세서에는 하나 이상의 추가적인 프로세서들이 존재할 수도 있다.Although only two
프로세서들(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)에 결합시킨다.
프로세서(870, 880) 각각은, 포인트 대 포인트 인터페이스 회로(876, 894, 886, 898)를 이용하여 개개의 P-P 인터페이스(852, 854)를 통해 칩셋(890)과 정보를 교환할 수도 있다. 칩셋(890)은 또한 고성능 그래픽 인터커텍트(839)를 따라 인터페이스 회로(892)를 통해 고성능 그래픽 회로(838)와 정보를 교환할 수 있다.Each of the
공유된 캐쉬(미도시)는 어느 한 프로세서에 포함되거나, 양쪽 프로세서의 외부이지만 여전히 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
도 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 /
이제 도 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
적어도 한 실시예의 하나 이상의 양태들은, 프로세서 내의 다양한 로직을 나타내는 머신-판독가능한 매체에 저장되고 머신에 의해 판독될 때 머신으로 하여금 여기서 설명된 기술을 수행하기 위한 로직을 제작하게 하는 상징적 데이터에 의해 구현될 수도 있다. "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
적어도 한 실시예의 하나 이상의 양태들은, 프로세서 내의 다양한 로직을 나타내는 머신-판독가능한 매체에 저장되고 머신에 의해 판독될 때 머신으로 하여금 여기서 설명된 기술을 수행하기 위한 로직을 제작하게 하는 상징적 데이터에 의해 구현될 수도 있다. "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
한 실시예에서, 처리 요소란 소프트웨어 쓰레드를 지원하는 하드웨어 또는 로직을 말한다. 하드웨어 처리 요소들의 예로서는: 쓰레드 유닛, 쓰레드 슬롯, 쓰레드, 프로세스 유닛, 컨텍스트, 컨텍스트 유닛, 논리적 프로세서, 하드웨어 쓰레드, 코어, 및/또는, 실행 상태나 구조적 상태 등의 프로세서에 대한 상태를 보유할 수 있는 기타 임의의 요소가 포함된다. 즉, 처리 요소란, 한 실시예에서, 소프트웨어 쓰레드, 운영 체제, 애플리케이션, 또는 기타의 코드 등과 독립적으로 연관될 수 있는 임의의 하드웨어를 말한다. 물리적 프로세서란 통상적으로, 코어 또는 하드웨어 쓰레드 등의 임의의 개수의 다른 처리 요소들을 잠재적으로 포함하는 집적 회로를 말한다.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
도시된 바와 같이, 코어(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
프로세서(1100)는 종종, 완전히 공유되거나, 파티셔닝을 통해 공유되거나, 처리 요소에 의해/처리 요소에 전용될 수 있는 다른 자원들을 포함한다. 도 11에서, 프로세서의 예시적 논리 유닛/자원과 함께 순전히 예로서의 프로세서의 실시예가 도시되어 있다. 프로세서는, 이들 기능 유닛들 중 임의의 것 뿐만 아니라, 도시되지 않은 기타 임의의 공지된 기능 유닛, 로직, 또는 펌웨어를 포함하거나, 생략할 수 있다는 점에 유의한다. 예시된 바와 같이, 코어(1101)는, 단순화된, 대표적인 비순차(OOO; out-of-order) 프로세서 코어를 포함한다. 그러나, 상이한 실시예에서는 순차 프로세서가 이용될 수도 있다. OOO 코어는, 실행될/취해질 분기를 예측하는 분기 타겟 버퍼(branch target buffer; 1120)와 명령어들에 대한 주소 변환 엔트리들을 저장하는 명령어-변환 버퍼(I-TLB)(1120)를 포함한다.
코어(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
한 예에서, 할당기 또는 개명기 블록(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,
스케쥴러 및 실행 유닛(들) 블록(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
도시된 구성에서, 프로세서(1100)는 또한 버스 인터페이스 모듈(1105)을 포함한다. 역사적으로, 이하에서 더 상세히 설명되는 제어기(1170)는 프로세서(1100) 외부의 컴퓨팅 시스템에 포함되어 왔다. 이 시나리오에서, 버스 인터페이스(1105)는, 시스템 메모리(1175), (종종, 메모리(1175)에 접속하는 메모리 제어기 허브와 주변 기기를 접속하는 I/O 제어기 허브를 포함하는) 칩셋, 메모리 제어기 허브, 노스브릿지, 또는 기타의 집적 회로 등의, 프로세서(1100) 외부의 장치들과 통신하기 위한 것이다. 그리고, 이 시나리오에서, 버스(1105)는, 멀티-드롭 버스, 포인트-투-포인트 인터커넥트, 직렬 인터커넥트, 병렬 버스, 코히어런트(예를 들어, 캐쉬 코히어런트) 버스, 계층화된 프로토콜 아키텍쳐, 차등 버스, GTL 버스 등의, 임의의 공지된 인터커넥트를 포함할 수 있다.In the illustrated configuration, the
메모리(1175)는 프로세서(1100)에 전용되거나 시스템 내의 다른 장치들과 공유될 수 있다. 메모리(1175) 타입들의 흔한 예로서는, DRAM, SRAM, 비휘발성 메모리(NV 메모리), 및 기타의 공지된 스토리지 장치가 포함된다. 장치(1180)는, 그래픽 가속기, 메모리 제어기 허브에 결합된 프로세서 또는 카드, I/O 제어기 허브에 결합된 데이터 스토리지, 무선 트랜시버, 플래시 장치, 오디오 제어기, 네트워크 제어기, 또는 기타의 공지된 장치를 포함할 수 있다는 점에 유의한다.Memory 1175 can be dedicated to
그러나, 도시된 실시예에서, 제어기(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
한 실시예에서, 프로세서(1100)는, 컴파일러, 최적화, 및/또는 변환기 코드(1177)를 실행하여 애플리케이션 코드(1176)를 컴파일, 변환, 및/또는 최적화해 여기서 설명된 장치 및 방법을 지원하거나 이와 인터페이싱할 수 있다. 컴파일러는 종종 소스 텍스트/코드를 타겟 텍스트/코드로 변환하는 프로그램 또는 프로그램 세트를 포함한다. 대개, 컴파일러를 이용한 프로그램/애플리케이션 코드의 컴파일은 복수의 페이즈(phase)와 패스(pass)로 이루어져 고수준 프로그래밍 언어 코드를 저수준 머신 또는 어셈블리 언어 코드로 변환한다. 그러나, 간단한 컴파일의 경우 단일 패스(pass) 컴파일러가 여전히 이용될 수 있다. 컴파일러는 임의의 공지된 컴파일 기술을 이용하고, 어휘 분석, 전처리, 파싱, 의미론적 분석, 코드 생성, 코드 변환, 및 코드 최적화 등의 임의의 공지된 컴파일러 동작을 수행할 수 있다.In one embodiment, the
더 큰 컴파일러는 종종 복수의 페이즈를 포함하지만, 대부분 이들 페이즈들은 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
다양한 실시예에서, 시스템 에이전트 영역(1210)은 전력 제어 이벤트 및 전력 관리를 처리하되, 코어 및/또는 그래픽 엔진 등의 영역들(1230 및 1260)의 개개 유닛들이 소정 유닛에서 발생하는 활동(또는 비활동)에 비추어 (저전력 상태 또는 활성, 및 아마도 터보 모드 상태를 포함한) 적절한 전력 모드에서 독립적으로 및 동적으로 동작하게끔 제어될 수 있도록 처리한다. 영역들(1230 및 1260) 각각은 상이한 전압 및/또는 전력에서 동작할 수 있고, 나아가, 영역들 내의 개개 유닛들 각각은 독립된 주파수와 전압에서 동작할 수 있다. 3개 영역만이 도시되어 있지만, 본 발명의 범위는 이 점에서 제한되지 않고 다른 실시예에서는 추가의 영역이 존재할 수 있다는 점에 유의한다.In various embodiments, the
일반적으로, 각각의 코어(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
추가로 볼 수 있는 바와 같이, 시스템 에이전트 영역(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
이제 도 12b를 참조하면, 도 12a의 코어들(1230) 중 하나 등의 대표적 코어의 블록도가 도시되어 있다. 일반적으로, 도 12b에 도시된 구조는, 일반적으로, 인입 명령어들을 인출하고, 디코딩을 포함한 다양한 처리를 수행하며, 이들을, 이들 디코딩된 명령어들에 관한, 처리될 데이터 취득, 데이터 처리, 그 다음, 처리된 데이터의 재정렬을 포함한 추가 처리를 수행할 수 있는 비순차 엔진(1280)에 전달하는데 이용되는 프론트 엔드 유닛(1270)을 포함하는 비순차 프로세서일 수 있다.Referring now to FIG. 12B, a block diagram of an exemplary core, such as one of the
도 12b의 실시예에서는 특정적으로, 비순차 엔진(1280)은, 하나 이상의 마이크로명령어 또는 uop의 형태일 수 있는 디코딩된 명령어를 프론트 엔드 유닛(1270)으로부터 수신하고 이들을 레지스터 등의 적절한 자원에 할당하는 할당 유닛(1282)을 포함할 수 있다. 그다음, 명령어는, 복수의 실행 유닛(1286A-1286N) 중 하나 상에서의 실행을 위해 명령어를 예약할 수 있는 예약 스테이션(1284)에 제공될 수 있다. 예를 들어, 특히, 산술 로직 유닛(ALU), 벡터 처리 유닛(VPU), 부동 소숫점 실행 유닛 등을 포함한, 다양한 타입의 실행 유닛들이 존재할 수 있다. 이들 상이한 실행 유닛들로부터의 결과는, 이들 정렬되지 않은 결과를 취하여 올바른 프로그램 순서로 복귀시킬 수 있는 재정렬 버퍼(ROB)(1288)에 제공될 수 있다.Specifically in the embodiment of Figure 12B, the
여전히 도 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-
도 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
일부 명령어들은 단일의 마이크로 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
레지스터 파일들(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
실행 블록(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 비트 폭 팩킹된 데이터 피연산자에 관해 연산할 수 있다.
한 실시예에서, uop 스케쥴러들(1302, 1304, 1306, 1309)은 부모 로드가 실행을 종료하기 전에 종속된 연산들을 발송한다. uop들은 프로세서(1300)에서 추측성으로(speculatively) 스케쥴링 및 실행되므로, 프로세서(1300)는 또한 메모리 부적중(memory miss)을 취급하는 로직을 포함한다. 데이터 캐쉬에서 데이터 로드가 부적중이면, 임시 부정확 데이터와 함께 스케쥴러를 떠난 파이프라인 내에 체류 중인 종속적 연산들이 존재할 수 있다. 리플레이 메커니즘은 부정확한 데이터를 이용하는 명령어를 추적하고 재실행한다. 종속적 연산들만이 리플레이될 필요가 있고 독립적 연산들은 완료되는 것이 허용된다. 프로세서의 한 실시예의 스케쥴러 및 리플레이 메커니즘은 또한, 텍스트 스트링 비교 연산을 위한 명령어 시퀀스들을 포착하도록 설계된다.In one embodiment, the
용어 "레지스터들"이란, 피연산자를 식별하는 명령어의 일부로서 이용되는 온보드 프로세서 스토리지 위치를 말할 수 있다. 즉, 레지스터들은 (프로그래머의 관점에서) 프로세서 외부로부터 이용가능한 것들이다. 그러나, 실시예의 레지스터는 그 의미가 특정한 타입의 회로로 제한되어서는 안 된다. 오히려, 실시예의 레지스터는 데이터를 저장 및 제공할 수 있고, 여기서 설명된 기능들을 수행할 수 있다. 여기서 설명된 레지스터들은, 전용 물리적 레지스터, 레지스터 개명을 이용하여 동적으로 할당되는 물리적 레지스터, 전용 및 동적으로 할당되는 물리적 레지스터들의 조합 등과 같은, 임의 개수의 상이한 기술들을 이용하여 프로세서 내에서 회로에 의해 구현될 수 있다. 한 실시예에서, 정수 레지스터는 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
도 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
코어(1490)는 RISC(reduced instruction set computing) 코어, CISC(complex instruction set computing) 코어, VLIW(very long instruction word) 코어, 또는 하이브리드 또는 대안적 코어 타입일 수 있다. 역시 또 다른 옵션으로서, 코어(1490)는, 예를 들어, 네트워크 또는 통신 코어, 압축 엔진, 그래픽 코어 등과 같은, 특별 목적 코어일 수도 있다.
프론트 엔드 유닛(1430)은, 디코드 유닛(1440)에 결합된 명령어 인출 유닛(1438)에 결합된 명령어 TLB(translation lookaside buffer)(1436)에 결합된 명령어 캐쉬 유닛(1434)에 결합된 분기 예측 유닛(1432)을 포함한다. 디코드 유닛 또는 디코더는 명령어를 디코드하고, 출력으로서 하나 이상의 마이크로연산, 마이크로코드 진입점, 마이크로명령어, 기타의 명령어, 또는 기타의 제어 신호를 생성하며, 이들은 원래의 명령어로부터 디코드되거나, 기타의 방식으로 원래의 명령어를 반영하거나, 원래의 명령으로부터 유도된다. 디코더는 다양한 상이한 메커니즘들을 이용하여 구현될 수 있다. 적절한 메커니즘의 예로서는, 룩업 테이블, 하드웨어 구현, 프로그래머블 로직 어레이(PLA), 마이크로코드 판독 전용 메모리(ROM) 등이 포함되지만, 이것으로 제한되는 것은 아니다. 명령어 캐쉬 유닛(1434)은 또한, 메모리 유닛(1470) 내의 레벨 2 (L2) 캐쉬 유닛(1476)에 결합된다. 디코드 유닛(1440)은 실행 엔진 유닛(1450) 내의 개명/할당기 유닛(1452)에 결합된다.
실행 엔진 유닛(1450)은, 폐기 유닛(1454) 및 한 세트의 하나 이상의 스케쥴러 유닛(들)(1456)에 결합된 개명/할당기 유닛(1452)을 포함한다. 스케쥴러 유닛(들)(1456)은, 예약소, 중앙 명령어 윈도우 등을 포함한, 임의 개수의 상이한 스케쥴러들을 나타낼 수 있다. 스케쥴러 유닛(들)(1456)은 물리적 레지스터 파일(들) 유닛(들)(1458)에 결합된다. 물리적 레지스터 파일(들) 유닛(1458) 각각은 하나 이상의 물리적 레지스터 파일들을 나타내며, 이들 레지스터들 중 서로 다른 레지스터들은, 스칼라 정수, 스칼라 부동 소수점, 팩킹된 정수, 팩킹된 부동 소수점, 벡터 정수, 벡터 부동 소수점 등, 상태(예를 들어, 수행될 다음 명령어의 어드레스가 되는 명령어 포인터) 등과 같은, 하나 이상의 서로 상이한 데이터 타입을 저장한다. 물리적 레지스터 파일(들) 유닛(들)(1458)은 폐기 유닛(1454)에 의해 오버랩되어, (예를 들어, 재정렬 버퍼(들) 및 폐기 레지스터 파일(들)을 이용하여, 미래 파일(들), 이력 버퍼(들), 및 폐기 레지스터 파일(들)을 이용하여; 레지스터 맵 및 레지스터 푸울을 이용하여; 등) 레지스터 개명과 비순차 실행이 구현될 수 있는 다양한 방식들을 나타낸다. 일반적으로, 아키텍쳐 레지스터들은 프로세서의 외부로부터 또는 프로그래머의 관점으로부터 볼 수 있다. 이 레지스터들은 임의의 공지된 특정한 타입의 회로로 제한되지 않는다. 여기서 설명된 바와 같이 데이터를 저장하고 제공할 수 있는 한, 다양한 상이한 타입들의 레지스터가 적절하다. 적절한 레지스터의 예로서는, 전용 물리적 레지스터, 레지스터 개명을 이용하여 동적으로 할당되는 물리적 레지스터, 전용 및 동적으로 할당되는 물리적 레지스터의 조합 등이 포함되지만, 이것으로 제한되는 것은 아니다. 폐기 유닛(1454) 및 물리적 레지스터 파일(들) 유닛(들)(1458)은 실행 클러스터(들)(1460)에 결합된다. 실행 클러스터(들)(1460)은 한 세트의 하나 이상의 실행 유닛(1462)과 한 세트의 하나 이상의 메모리 액세스 유닛(1464)을 포함한다. 실행 유닛(1462)은 다양한 연산(예를 들어, 시프트, 가산, 감산, 승산)을 수행하고, 다양한 타입의 데이터(예를 들어, 스칼라 부동 소수점, 팩킹된 정수, 팩킹된 부동 소수점, 벡터 정수, 벡터 부동 소수점)에 관해 연산할 수 있다. 일부 실시예는 특정한 기능이나 기능 세트에 전용된 다수의 실행 유닛을 포함할 수 있지만, 다른 실시예는 단 하나의 실행 유닛, 또는 모두가 모든 기능을 수행하는 복수의 실행 유닛을 포함할 수도 있다. 스케쥴러 유닛(들)(1456), 물리적 레지스터 파일(들) 유닛(들)(1458), 및 실행 클러스터(들)(1460)은 아마도 복수개인 것으로 도시되어 있는데, 이것은 소정 실시예는 소정 타입의 데이터/연산에 대해 별개의 파이프라인들(예를 들어, 스칼러 정수 파이프라인, 스칼라 부동 소수점/팩킹된 정수/팩킹된 부동 소수점/벡터 정수/벡터 부동 소수점 파이프라인, 및/또는 각각이 자신의 스케쥴러 유닛, 물리적 레지스터 파일(들), 및/또는 실행 클러스터를 갖는 메모리 액세스 파이프라인, 별개의 메모리 액세스 파이프라인의 경우, 이 파이프라인의 실행 클러스터만이 메모리 액세스 유닛(들)(1464)을 갖는 소정 실시예가 구현될 수 있다)을 생성할 수 있기 때문이다. 별개의 파이프라인들이 이용되는 경우, 이들 파이프라인들 중 하나 이상은 비순차 발행/실행이고 나머지는 순차형일 수 있다는 점도 이해하여야 한다.
한 세트의 메모리 액세스 유닛(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
예로서, 예시적인 레지스터 개명, 비순차 발행/실행 코어 아키텍쳐는 다음과 같이 파이프라인(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
코어(1490)는 하나 이상의 명령어 세트(예를 들어, (더 새로운 버전에 추가된 소정의 확장판을 갖는) x86 명령어 세트); CA, Sunnyvale의 MIPS Technologies의 MIPS 명령어 세트; CA, Sunnyvale의 ARM Holdings의 (NEON 등의 선택사항적인 추가 확장판을 갖는) ARM 명령어 세트를 지원할 수 있다.
코어는 멀티쓰레딩(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,
플랫폼(1500)은, 소정 실시예에서는, 액정 디스플레이(LCD), LED 디스플레이, 유기 LED(OLED) 디스플레이 등의 소정 타입의 디스플레이일 수 있는 디스플레이(1530)를 더 포함한다. 보다시피, 프로세서(1510)는 비디오 인터페이스(1535)를 통해 디스플레이(1530)에 디스플레이 정보를 제공한다. 도시된 실시예에서, 디스플레이(1530)는, 비활성 또는 가상 베젤 영역(1532)에 의해 둘러싸인 1차 디스플레이 영역(1534)에서 활성이다. 용어 "가상 베젤" 및 "2차 디스플레이 영역"은 메인 디스플레이 영역 외부의 디스플레이 패널의 영역을 지칭하기 위해 여기서는 상호교환가능하게 사용된다는 점에 유의한다.The
디스플레이(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
프로세서(1510)가 유효한 터치 데이터를 처리할 수 있게 하기 위해, 프로세서와 PCH는 활성 상태에 있다. 활성 상태에 있을 때, 이러한 컴포넌트들은 저전력 상태에 있을 수 없고, 또는 적어도 이러한 컴포넌트들은 더 깊은 저전력 상태로 들어가는 것이 방지된다. 본 발명의 실시예를 이용하여 감소된 전력 소비를 가능케하기 위해, 터치스크린 제어기(1550)는 분산된 전처리를 수행해 무효한 터치 데이터가 프로세서(1510)에 전달되는 것을 방지하거나 필터링 아웃하여, 프로세서가 저전력 상태(및/또는 더 깊은 저전력 상태)에 진입하여 유지될 수 있게 한다. 여기서 설명된 바와 같이, 무효한 터치 데이터는 어떠한 사용자 입력도 예상되지 않는 영역에서 수신되는 사용자 터치 데이터에 대응한다는 점에 유의한다. 예를 들어, 전술된 가상 베젤의 정황에서, 사용자가 태블릿 컴퓨터 또는 기타의 컴퓨팅 장치를 그 엣지 주변에서 잡고 있되 손가락이 활성 디스플레이를 포함하지 않거나 및/또는 활성 소프트 버턴을 포함하지 않는 이러한 가상 베젤을 터치하며 잡고 있을 때, 이러한 터치 데이터는 무효하다. 마찬가지로, 디스플레이의 바로 그 부분 또는 다른 부분들이 사용자 선택을 가능케하는 소프트 버턴을 포함할 때, 이들 활성 소프트 버턴 외부의 사용자 터치는 마찬가지로 무효한 터치 데이터에 대응할 수 있다. 본 발명의 실시예를 이용하여, 이러한 비활성 영역으로부터 수신된 모든 이러한 터치 데이터는 필터링되어 프로세서/PCH로 전달되는 것이 방지되므로, 저전력 및/또는 더 깊은 저전력 상태로의 진입 및 유지를 가능케 한다.To allow the
도 15a에서는, 단일 활성 디스플레이 영역(1534)와 단일 비활성 디스플레이 영역(1532)만이 도시되어 있지만, 다른 구현에서는 이들 상이한 영역들 양쪽 모두의 복수개가 가능하다는 점을 이해하여야 한다는 점에도 유의한다. 예를 들어, 저전력 디스플레이는, 비디오 콘텐츠 또는 E-book의 페이지 등의 콘텐츠를 디스플레이하는 제1 활성 디스플레이 영역을 포함할 수 있는 반면, 제2 활성 영역은 다양한 가능을 수행하는 사용자 입력을 수신해 제어 정보가 디스플레이되거나 기타의 동작들이 시스템에 의해 수행되도록 구성된 제어 패널을 디스플레이할 수 있다. 이러한 경우에, 터치스크린 제어기(1550)는 이 제어 패널 영역 외부로부터의 무효한 터치 인터럽트가 프로세서(1510)에 전달되는 것을 방지하도록 구성될 수 있다.Note that in FIG. 15A only a single
역시 다른 예에서, 하나 이상의 활성 디스플레이 영역이 인에이블되는 반면 디스플레이의 다른 부분들은 전원차단될 수 있다. 이런 방식으로, 이들 활성 디스플레이 영역 내의 유효한 터치 인터럽트만이 터치스크린 제어기(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
따라서, 도 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
이제 도 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,
보다시피, 방법(1600)은 다이아몬드(1610)에서 시작하고 그 곳에서 새로운 영역 좌표가 호스트로부터 수신되는지가 결정된다. 본 발명의 범위는 이 점에서 제한되지 않지만, 소정 실시예에서, 이러한 영역 좌표는 터치스크린에 대한 활성 및 비활성 터치 입력 영역의 표시를 제공할 수 있고 플랫폼의 프로세서 상에서 실행되는 터치스크린 펌웨어로부터 수신될 수 있다. 이러한 입력이 수신된다고 결정되면, 제어는 블록(1620)으로 가고, 그 곳에서 유효한 영역 좌표가 업데이트될 수 있다. 더 구체적으로는, 맵핑 정보에 대응하는 이 정보는, 마이크로제어기의 내부 메모리 또는 마이크로제어기 결합된 메모리 등의 로직에 의해 액세스가능한 적절한 메모리에 저장된 좌표를 업데이트하는데 이용될 수 있다. 상이한 실시예에서, 이 좌표 정보는 X-Y 축 시스템의 관점이어서 유효 터치 입력 영역과 무효 터치 입력 영역을 식별할 수 있다. 터치스크린 펌웨어는 유효한 터치스크린 데이터를 생성할 수 있는 터치스크린 내의 복수의 영역을 정의할 수 있고, 이들 영역들은 상이한 크기와 형상을 가질 수도 있다는 점에 유의한다.As will be seen, the
터치스크린 입력에 대한 적절성은 터치스크린 내의 특정 영역으로서 정의될 수 있다. 일부 실시예에서, 유사한 또는 상이한 크기와 형상을 가질 수 있는 터치스크린 내의 복수의 특정한 영역들일 수 있다. 이들 영역들은 단일 터치스크린 화소 만큼 작거나 전체 터치스크린 화소 어레이만큼 클 수도 있다. 또한, 터치스크린 입력에 대한 적절성은 터치스크린 펌웨어에 의해 또는 상위 레벨 펌웨어 또는 소프트웨어 동작에 의해 결정될 수 있다. 이 적절성은 동일한 제어 로직에 의해 동적으로 변경될 수 있다. 또한, 터치스크린 펌웨어에 의해 전처리 컴포넌트에 전달된 터치스크린 입력에 대한 적절성은 보안/프라이버시 정책을 포함할 수 있다.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
또 다른 실시예에서, 전처리 컴포넌트들이 터치스크린 펌웨어에 의해, 레지스터들을 판독하는 등에 의해, 질의될 수 있다. 터치스크린 제어기는 터치스크린 정보를 터치스크린 장치 또는 확장된 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
일부 실시예에서, 각각의 화소에 광학 스캐너가 통합되어, 스크린이 그 표면 상에 놓인 손가락 터치, 비지니스 카드 및 기타의 시각적 정보 등의 사용자 입력을 스캔할 수 있게 하는 광학적 스캐닝 디스플레이가 제공될 수도 있다. 여기서 설명된 소프트 터치스크린 버턴은, 터치스크린 데이터의 분산된 전처리와 함께, 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
따라서, 디스플레이의 또는 디스플레이와 연관된 광학 스캐너의 활성화가 제어되어 공동-맵핑된 터치스크린 영역으로부터 수신된 유효 터치스크린 입력에 의존하여 디스플레이의 국지적 영역 내에서 스캔하여 플랫폼 전력을 줄일 수 있다. 이어서, 광학 스캐닝 촬상기는 공동-맵핑된 영역으로부터의 포착된 이미지를 호스트 프로세서에 보고할 수 있다. 이 포착된 이미지는, 포착된 이미지의 저장, 전송, 분석, 공공 보급 등의, 포착된 이미지에 관해 수행되는 소정의 동작을 제한할 수 있는 연관된 보안/프라이버시 정책을 가질 수 있다. 일부 실시예에서, 광학 스캐너는, 버턴들의 조합을 동시에 누르는 것 등의, 인간 상호작용의 그룹이나 조합의 분석에 기초하여 스캔을 수행할 수 있다.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
예를 들어, 렌더링 중인 풀 스크린 비디오가 있는 또 다른 모드에서, 바로 이 디스플레이는 베젤 영역 없이 구성되되, 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
도 18c에 나타낸 역시 추가의 예(1830)에서, 2차 디스플레이 영역(1837)은, 1차 디스플레이 영역(1835)이 렌더링된 콘텐츠를 디스플레이하는 동안 콘텐츠를 렌더링하지 않고 대신에 베젤로서 역할할 수 있다. 이 예는, 장치가, 측면들 상에 (사용자-기반의 터치를 인식하는) 터치 센서로서의 베젤을 갖는 태블릿 모드에서 이용되거나, 장치가 태블릿 모드에 있는지에 기초하여 이 베젤이 인에이블되는 상황에서 이용될 때 발생할 수 있다. 다른 실시예에서, 필터링은 터치스크린의 비활성 영역 내의 터치 센서들을 오프 또는 디스에이블하는 것을 포함할 수 있다. 이러한 경우에, 필터링은, 예를 들어, 터치 제어기를 통해 주변기기 제어기의 외부에서 여전히 수행될 수 있다.In a further example 1830 shown in Figure 18C, the
도 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
도 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
기준의 조합에 기초하여 제어가능한 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
또한, 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
게다가, 상태는 값들 또는 값들의 일부에 의해 표현될 수 있다. 예로서, 논리 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차 영역의 제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 >
사용자 터치 정보가 처리되는 유효 영역 및 상기 사용자 터치 정보가 무시되는 무효 영역을 포함하는 사용자 인터페이스를 디스플레이하도록 구성되는 터치스크린;
상기 터치스크린에 결합되고, 상기 터치스크린으로부터 상기 사용자 터치 정보를 수신하도록 구성되는 터치스크린 제어기 - 상기 터치스크린 제어기는 상기 사용자 터치 정보가 상기 무효 영역 내에 있을 때 상기 터치스크린으로부터 수신된 상기 사용자 터치 정보를 무시하고, 상기 사용자 터치 정보가 상기 유효 영역 내에 있을 때 상기 터치스크린으로부터 수신된 상기 사용자 터치 정보를 전달하는 로직을 포함하며, 상기 로직은 상기 사용자 터치 정보가 상기 터치스크린의 제어 패널 영역 내에 있을 때 상기 사용자 터치 정보를 전달하고 그 외의 경우에는 상기 사용자 터치 정보를 필터링하도록 더 구성됨 -;
상기 터치스크린 제어기에 결합되고, 상기 전달되는 사용자 터치 정보를 상기 터치스크린 제어기로부터 수신하도록 구성되는 주변기기 제어기; 및
상기 주변기기 제어기에 결합되고, 상기 주변기기 제어기로부터 상기 전달된 사용자 터치 정보를 수신하고 상기 전달된 사용자 터치 정보를 처리하여 사용자에 의해 요청된 동작을 결정하도록 구성되는 프로세서 - 상기 프로세서는 상기 사용자 터치 정보가 상기 터치스크린 제어기에 의해 무시될 때 상기 프로세서가 비활성인 저전력 상태에 유지되고, 상기 프로세서는 상기 주변기기 제어기 및 적어도 하나의 코어를 포함함 -
를 포함하는, 시스템.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,
.
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)
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)
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)
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 |
-
2013
- 2013-09-19 WO PCT/US2013/060506 patent/WO2014107197A1/en active Application Filing
- 2013-09-19 CN CN201380018727.6A patent/CN104364750B/en active Active
- 2013-09-19 KR KR1020147027105A patent/KR20140138224A/en active Application Filing
- 2013-09-19 DE DE201311001305 patent/DE112013001305T5/en active Pending
- 2013-09-19 GB GB1417057.5A patent/GB2514971B/en active Active
- 2013-09-19 KR KR1020167034143A patent/KR101951729B1/en active IP Right Grant
- 2013-09-19 US US14/126,906 patent/US9927902B2/en active Active
- 2013-09-19 RU RU2014139598/08A patent/RU2595760C2/en not_active IP Right Cessation
- 2013-09-19 JP JP2015503692A patent/JP5981023B2/en active Active
-
2014
- 2014-01-03 TW TW103100187A patent/TWI540473B/en not_active IP Right Cessation
Patent Citations (2)
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 |