DE112013001305T5 - Ein Verfahren, eine Vorrichtung und ein System zur verteilten Vorverarbeitung von Berührungsdaten und Anzeigebereichsteuerung - Google Patents

Ein Verfahren, eine Vorrichtung und ein System zur verteilten Vorverarbeitung von Berührungsdaten und Anzeigebereichsteuerung Download PDF

Info

Publication number
DE112013001305T5
DE112013001305T5 DE201311001305 DE112013001305T DE112013001305T5 DE 112013001305 T5 DE112013001305 T5 DE 112013001305T5 DE 201311001305 DE201311001305 DE 201311001305 DE 112013001305 T DE112013001305 T DE 112013001305T DE 112013001305 T5 DE112013001305 T5 DE 112013001305T5
Authority
DE
Germany
Prior art keywords
touch
display
region
user
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE201311001305
Other languages
English (en)
Inventor
Jeremy Burr
Gokul Subramaniam
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112013001305T5 publication Critical patent/DE112013001305T5/de
Granted legal-status Critical Current

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Position Input By Displaying (AREA)

Abstract

In einer Ausführungsform umfasst ein System einen peripheren Controller, um eine Schnittstelle mit einem Berührungscontroller zu bilden und um Zuweisungsinformationen für die Identifizierung der primären und sekundären Regionen eines Displays zu übermitteln. Der Berührungscontroller umfasst eine Logik zum Filtern der Berührungsdaten, wenn sie für die Berührung innerhalb der sekundären Region dient, und zur Übermittlung der Berührungsdaten an den peripheren Controller, wenn sie für die Berührung des Anwenders innerhalb der primären Region dient. In einer Ausführungsform kann die Display-Logik durch eine Kombination aus Kriterien festlegen, wann und wie ein Displayeinfassungsbereich für die Darstellung des Inhalts verwendet werden soll. Entscheidungsvektoren (wie Sensoren, Gerätekonfiguration, Inhaltstyp, primäre Display-Aktivität) können die Display-Bereiche für die Darstellung aktivieren/deaktivieren, über ein unabhängiges Bedienelement auf jeder Seite der Einfassung. Der Inhalt kann basierend auf dem Inhalt des primären Displays, der Umgebung, anderen Geräten und den Benutzereinstellungen dargestellt werden. Weitere Ausführungsformen sind beschrieben und werden beansprucht.

Description

  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung Nr. 61/749,386, die am 6. Januar 2013 eingereicht wurde.
  • Technisches Gebiet
  • Diese Offenbarung bezieht sich auf Rechensysteme und insbesondere auf Steuerung eines Anzeigeinhalts und Energieverbrauchs der Rechenvorrichtung.
  • Hintergrund
  • Mit dem Fortschritt der Technologie gewöhnen sich die Benutzer an größere Anzahl von Funktionen und Funktionalitäten in kleinen Verpackungen. In der Unterhaltungselektronik ist diese Entwicklung vorherrschend, wo Benutzer das Neueste in kleinen, leichten Formfaktoren für EDV und Kommunikation begehren, da viele Geräte zu einem einzelnen System konvergieren, das EDV- und Kommunikationsfunktionalitäten aufweist. Nichtsdestotrotz weisen gegenwärtige Systeme in Bezug auf ihre Möglichkeiten, Formfaktoren oder beides Nachteile oder Kompromisse auf.
  • Viele gegenwärtige Systeme sind derart ausgelegt, dass sie eine Benutzereingabe mittels eines Berührungsmechanismus empfangen. Manche von diesen Mechanismen sind verhältnismäßig primitiv und erhalten im Grunde keine genauen Berührungsinformationen, was erhebliche Verarbeitung erfordert. Normalerweise wird eine Verarbeitung einer Benutzerberührung in einem Prozessor eines Systems, wie z. B. einem Hauptprozessor (CPU), ausgeführt. Eine derartige Verarbeitung verbraucht somit Ressourcen, die sonst anderen Aufgaben gewidmet werden könnten.
  • Ein anderes Problem in Bezug auf eine Vielzahl von Formfaktor-Geräten besteht darin, dass eine Anzeigekonfiguration normalerweise fest ist, oder, wenn sie einstellbar ist, die Konfiguration von einem Benutzer benutzergesteuert ist. Eine derartige Steuerung verhindert Anpassungsfähigkeit, wenn ein bestimmtes Gerät in einer Vielzahl von verschiedenen Formfaktor-Modi und/oder Kontexten verwendet wird. Wenn einem Benutzer abverlangt wird, dass er einen Anzeigemodus für eine Vielzahl von verschiedenen Kontexten neu konfiguriert, erhöht dies außerdem die Komplexität und den Frust der Benutzer. Außerdem wird ein Rahmenbereich in gegenwärtigen Klappgehäuse-(Clamshell)- und Tablet-Client-Formfaktoren nicht für Anzeigewiedergabe verwendet.
  • Kurze Beschreibung der Zeichnungen
  • 1A veranschaulicht eine Ausführungsform eines Rechensystems.
  • 1B veranschaulicht eine andere Ausführungsform eines Rechensystems.
  • 1C veranschaulicht eine andere Ausführungsform eines Rechensystems.
  • 1D veranschaulicht eine andere Ausführungsform eines Rechensystems.
  • 1E veranschaulicht eine andere Ausführungsform eines Rechensystems.
  • 1F veranschaulicht eine andere Ausführungsform eines Rechensystems.
  • 1G veranschaulicht eine andere Ausführungsform eines Rechensystems.
  • 1H veranschaulicht eine andere Ausführungsform eines Rechensystems.
  • 2 veranschaulicht eine Ausführungsform einer Draufsicht auf eine Anordnung von einigen Komponentenbeispielen innerhalb eines Basisabschnitts eines Gehäuses.
  • 3 veranschaulicht eine Ausführungsform einer Querschnittsansicht einer Ausführungsform eines Rechensystems.
  • 4 veranschaulicht eine Ausführungsform eines Blockdiagramms von Komponenten, die in einem Rechensystem vorhanden sind.
  • 5 veranschaulicht eine andere Ausführungsform eines Blockdiagramms von Komponenten, die in einem Rechensystem vorhanden sind.
  • 6 veranschaulicht eine andere Ausführungsform eines Blockdiagramms von Komponenten, die in einem Rechensystem vorhanden sind.
  • 7 veranschaulicht eine andere Ausführungsform eines Blockdiagramms von Komponenten, die in einem Rechensystem vorhanden sind.
  • 8 veranschaulicht eine andere Ausführungsform eines Blockdiagramms von Komponenten, die in einem Rechensystem vorhanden sind.
  • 9 veranschaulicht eine andere Ausführungsform eines Blockdiagramms von Komponenten, die in einem Rechensystem vorhanden sind.
  • 10 veranschaulicht eine andere Ausführungsform eines Blockdiagramms von Komponenten, die in einem Rechensystem vorhanden sind.
  • 11 veranschaulicht eine andere Ausführungsform von Komponenten, die in einem Rechensystem vorhanden sind.
  • 12A veranschaulicht eine Ausführungsform eines Blockdiagramms eines Prozessors.
  • 12B veranschaulicht eine Ausführungsform eines Kerns eines Prozessors.
  • 13 veranschaulicht eine andere Ausführungsform eines Blockdiagramms für einen Prozessor.
  • 14 veranschaulicht eine andere Ausführungsform eines Blockdiagramms für einen Prozessor.
  • 15A ist ein Blockdiagramm eines Abschnitts eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung, das eine unwirksame Bedienung eines Berührungsbereichs veranschaulicht.
  • 15B ist ein Blockdiagramm eines Abschnitts eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung, das eine wirksame Bedienung eines Berührungsbereichs veranschaulicht.
  • 15C ist ein Blockdiagramm einer haptischen Rückmeldungssteuerung gemäß einer anderen Ausführungsform der vorliegenden Erfindung.
  • 16 ist ein Ablaufdiagramm eines Verfahrens zum Vorverarbeiten von Berührungsdaten gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 17 ist eine Darstellung einer Anzeige gemäß einer Ausführungsform der vorliegenden Erfindung, die einen aktiven Anzeigebereich und einen virtuellen Rahmenbereich umfasst, der eine Vielzahl von Softknöpfen umfasst.
  • 18A bis 18D sind grafische Darstellungen einer dynamischen Steuerung der Inhaltswiedergabe in verschiedenen Bereichen einer Anzeige gemäß verschiedenen Ausführungsformen.
  • 19 ist eine graphische Darstellung nahtloser Interaktion zwischen einem sekundären Anzeigebereich und einem primären Anzeigebereich gemäß einer Ausführungsform.
  • Ausführliche Beschreibung
  • In der nachstehenden Beschreibung sind zahlreiche konkrete Angaben dargelegt, wie Beispiele von bestimmten Typen von Prozessoren und Systemkonfigurationen, bestimmten Hardware-Anordnungen, bestimmten Details über Architektur und Mikroarchitektur, konkreten Registerkonfigurationen, konkreten UltrabookTM-Charakteristiken, konkreten Befehlstypen, konkreten Systemkomponenten, konkreten Abmessungen/Höhen, konkreten Prozessor-Pipeline-Stufen und Operationen usw., um ein gründliches Verständnis der vorliegenden Erfindung zu gewährleisten. Für einen Fachmann ist es jedoch offensichtlich, dass diese spezifischen Details nicht eingesetzt werden müssen, um die vorliegende Erfindung zu betreiben. In anderen Fällen wurden allgemein bekannte Komponenten oder Verfahren, wie z. B. konkrete und alternative Prozessorarchitekturen, konkrete Logikschaltungen/Code für beschriebene Algorithmen, konkreter Firmware-Code, konkrete Interconnect-Operationen, konkrete Logikkonfigurationen, konkrete Herstellungstechniken und Materialien, konkrete Compiler-Implementierungen, konkrete Umsetzung von Algorithmen in Code, konkrete Abschaltvorgangs- und Gating-Techniken/Logik und andere konkrete Betriebseinzelheiten eines Computersystems, nicht ausführlich beschrieben, um unnötige Verschleierung der vorliegenden Erfindung zu vermeiden.
  • Obwohl die folgenden Ausführungsformen in Bezug auf Energieeinsparung und Energieeffizienz in konkreten integrierten Schaltungen, wie z. B. in Rechenplattformen oder Mikroprozessoren, beschrieben sein können, sind andere Ausführungsformen auf andere Arten von integrierten Schaltungen und Logikgeräten anwendbar. Ähnliche Techniken und Lehren der hier beschriebenen Ausführungsformen können auf andere Typen von Schaltungen oder Halbleiterbauelementen angewendet werden, die auch von einer besseren Energieeffizienz und Energieeinsparung profitieren können. Zum Beispiel sind die offenbarten Ausführungsformen nicht auf Schreibtischcomputersysteme oder UltrabookTM beschränkt und können auch in anderen Vorrichtungen, wie z. B. Handheld-Geräten, Tablets oder dünnen Notebooks, SoC-Geräten (Ein-Chip-System, System-on-Chip) und eingebetteten Anwendungen verwendet werden. Einige Beispiele von Handheld-Geräten sind u. a. Mobiltelefone, Internet-Protokollgeräte, Digitalkameras, Personal Digital Assistants (PDAs) und Handheld-PCs. Eingebettete Anwendungen umfassen normalerweise einen Mikrocontroller, einen digitalen Signalprozessor (DSP), ein Ein-Chip-System, Netzwerkcomputer (NetPC), Settop-Boxen, Netzwerkhubs, Wide Area Network(WAN)-Switches oder ein beliebiges anderes System, das die hier gelehrten Funktionen und Operationen ausführen kann. Des Weiteren sind die hier beschriebenen Vorrichtungen, Verfahren und Systeme nicht auf physische Rechenvorrichtungen beschränkt, sondern können sich auch auf Software-Optimierungen zur Energieeinsparung und -Effizienz beziehen. Wie in der nachstehenden Beschreibung offensichtlich sein wird, sind die Ausführungsformen von Verfahren, Vorrichtungen und Systemen, die hier beschrieben sind (ob in Bezug auf Hardware, Firmware, Software oder eine Kombination davon), für eine Zukunft grüner Technologie', die mit Leistungsüberlegungen im Gleichgewicht steht, notwendig.
  • Obwohl die nachstehenden Ausführungsformen manchmal unter Bezugnahme auf einen Prozessor beschrieben sind, sind außerdem andere Ausführungsformen auf andere Typen von integrierten Schaltungen und Logikgeräten anwendbar. Ähnliche Techniken und Lehren der Ausführungsformen der vorliegenden Erfindung können auf andere Typen von Schaltungen oder Halbleiterbauelementen angewendet werden, die von einem höheren Pipeline-Datendurchsatz und einer verbesserten Leistung profitieren. Die Lehren der Ausführungsformen der vorliegenden Erfindung sind auf einen beliebigen Prozessor oder eine beliebige Maschine anwendbar, die Datenmanipulationen ausführt. Die vorliegende Erfindung ist jedoch nicht auf Prozessoren oder Maschinen beschränkt, die 512-Bit-, 256-Bit-, 128-Bit-, 64-Bit-, 32-Bit- oder 16-Bit-Datenoperationen ausführen, und kann auf einen beliebigen Prozessor oder eine beliebige Maschine angewendet werden, in denen Datenmanipulationen oder Datenverwaltung durchgeführt werden. Darüber hinaus stellt die nachstehende Beschreibung Beispiele bereit und die beigefügten Zeichnungen zeigen verschiedene Beispiele zu Veranschaulichungszwecken. Diese Beispiele sollen jedoch nicht auf eine einschränkende Weise verstanden werden, da sie ausschließlich als Beispiele für Ausführungsformen der vorliegenden Erfindung, und nicht als eine erschöpfende Auflistung aller möglichen Implementierungen von Ausführungsformen der vorliegenden Erfindung gedacht sind.
  • Und auch wenn manche der nachstehenden Beispiele Befehlsabwicklung und -verteilung im Zusammenhang mit Ausführungseinheiten und Logikschaltungen beschreiben, können andere Ausführungsformen der vorliegenden Erfindung durch in einem maschinenlesbaren, materiellen Medium gespeicherte Daten oder Befehle realisiert werden, die bei ihrer Ausführung durch eine Maschine die Maschine dazu veranlassen, Funktionen auszuführen, die mit mindestens einer Ausführungsform der Erfindung übereinstimmen. In einer Ausführungsform sind Funktionen, die mit Ausführungsformen der vorliegenden Erfindung assoziiert sind, in maschinenausführbaren Befehlen enthalten. Die Befehle können verwendet werden, um einen mit den Befehlen programmierten Universalprozessor oder Spezialprozessor dazu zu veranlassen, Verfahren der vorliegenden Erfindung auszuführen. Ausführungsformen der vorliegenden Erfindung können als ein Computerprogrammprodukt oder Software bereitgestellt sein, die ein maschinen- oder computerlesbares Medium mit darauf gespeicherten Befehlen umfassen können, die zum Programmieren eines Computers (oder anderer elektronischen Vorrichtungen) verwendet werden können, damit er (sie) eine oder mehrere Operationen gemäß Ausführungsformen der vorliegenden Erfindung ausführt.
  • Alternativ können Ausführungsformen von Verfahren der vorliegenden Erfindung durch konkrete Hardwarekomponenten, die Fixed-Function-Logik zum Durchführen der Schritte enthalten, oder durch eine beliebige Kombination von programmierten Computerkomponenten und Fixed-Function-Hardwarekomponenten ausgeführt werden.
  • Das Verfahren und die Vorrichtung, die hier beschrieben sind, sind in erster Linie nachstehend unter Bezugnahme auf einen ultradünnen und/oder ultraportablen Notebook/Laptop, wie z. B. ein UltrabookTM, beschrieben. Wie jedoch vorstehend erwähnt, sind die hier beschriebenen Vorrichtungen und Verfahren nicht derart beschränkt, da sie in Verbindung mit einem beliebigen IC-Gerät (Integrated Circuit, Integrierte Schaltung), einem elektronischen Gerät oder einem Rechensystem implementiert sein können.
  • Unter Bezugnahme auf 1A ist eine Darstellung einer Ausführungsform einer Rechenvorrichtung/Systems gezeigt. Verschiedene kommerzielle Implementierungen von System 10 können bereitgestellt sein. Als ein Beispiel entspricht System 10 einem UltrabookTM, einem Apple® MacBook Air, einem Acer® Aspire, einem LG® Xnote, einem Dell® Inspiron, einem Dell® XPS, einem NEC® LaVie, einem MSI® S20, einem Asus® Transformer, einem Sony® VAIO, einem HP® EliteBook, HP Folio, einem Toshiba® Protege, einem Asus® Zenbook, einem Asus® TaiChi, einem Lenovo® Ideapad, einem Lenovo® YogaTM, einer anderen ultraleichten und ultradünnen Rechenvorrichtung oder einer beliebigen bekannten und/oder erhältlichen ultraleichten, ultradünnen und/oder ultraportablen Rechenplattform. Als ein erstes Beispiel umfasst eine ultraportable Rechenvorrichtung eine dünne und/oder leichte Vorrichtung, die in der Lage ist, Rechenaufgaben (z. B. Benutzereingabe/-ausgabe, Ausführung von Befehlen/Code oder Netzwerkverbindungen usw.) auszuführen, wie z. B. einen dünnen und/oder leichten Notebook, Laptop, ein eReader, ein Tablet und eine Hybridform davon (z. B. einen Notebook, der zu einem Tablet, einem eReader usw. umwandelbar (konvertierbar) ist). Jedoch ist die ultraportable Rechenvorrichtung oder -System nicht auf die vorstehend bereitgestellten Beispiele beschränkt. Was gegenwärtig als dünn, leicht und portabel betrachtet wird, kann später in der Tat als groß und schwer erachtet werden, da die EDV-Welt immer kompakter und effizienter wird. Daher wird in einer Ausführungsform dünn und leicht aus der Perspektive des gegenwärtigen Markts oder des bekannten zukünftigen Markts für kleine Rechenvorrichtungen gesehen. Alternativ kann dünn und leicht zu der Zeit betrachtet werden, zu der eine Interpretation dieser Offenbarung unternommen wird.
  • Zum Beispiel umfasst in einer Ausführungsform ein UltrabookTM eine oder mehrere der nachstehenden Charakteristiken: (1) dünner als 18 mm für Anzeigen kleiner als 14 Zoll (35,56 cm), dünner als 21 mm für 14-Zoll-(35,56 cm) und größere Anzeigen, und dünner als 23 mm für hybride Versionen oder Convertibles; (2) aufwachen aus dem Ruhezustand (Hibernation) in einer kürzeren als eine vorgegebene Zeit, z. B. in einem Bereich von 1 bis 7 Sekunden, wie in einem Energiezustand S4–S8 der ACPI-Spezifikation (Advanced Configuration and Power Interface, siehe Advanced Configuration and Power Interface Spezifikation, Korrektur 3.0b vom 10. Oktober 2006); Bildschirmanzeige soll innerhalb 3 Sekunden nach Aktivierung des Einschaltknopfes eingeschaltet sein; mindestens 7 Tage Standby-Akkulebensdauer mit Always Fresh Data (immer frische Daten); ein Minimum von einem beliebigen Bereich innerhalb von 5–24 Stunden Akkulebensdauer, wie mit einem üblichen Branchenwerkzeug gemessen; eine oder mehrere Berührungsbildschirm-Anzeigen; umfasst spezifische Hardware, Software und/oder Firmware (z. B. Intel® Management Engine, Intel® Anti-Theft Technology, Intel® Identify Protection Technology, Intel® Smart Connect Technology usw.); umfasst eine spezifische Art von Speicher oder Festplatte (z. B. Solid-State-Drive und/oder Laufwerk mit einer Mindestübertragungsrate von einem beliebigen Betrag innerhalb des Bereichs von 80–1000 MB/s und einer Mindestgröße innerhalb des Bereichs von 16 GB bis 10 TB).
  • In einer Ausführungsform sind eine oder mehrere der dargestellten Charakteristiken ein Teil einer UltrabookTM-Definition. Es ist zu beachten, dass diese Charakteristiken lediglich veranschaulichend auf der Grundlage der aktuellen Marktsicht sind. Und die Ausführungsformen von UltrabooksTM können sich, wie vorstehend erwähnt, gleichermaßen an zukünftige Marktbedingungen anpassen, die die Definition eines UltrabookTM möglicherweise neu definieren (d. h. die Charakteristiken und Bereiche können daher auf der Grundlage des sich ändernden Computer-Ökosystems reduziert (oder je nach Metrik vergrößert werden)).
  • Unter Bezugnahme auf 1A umfasst das System 10 in einer Ausführungsform einen Basisabschnitt 20, der mittels eines leichten Gehäuses ausgelegt sein kann. Als ein Beispiel umfasst der Basisabschnitt im Wesentlichen alle von den elektronischen Schaltungen des Systems; jedoch ist dies nicht erforderlich, da andere Komponenten in verschiedenen Abschnitten des Systems 10 angeordnet sein können (z. B. in der Anzeige 40, dem Deckelabschnitt 30 oder einem anderen bekannten Abschnitt einer ultradünnen, ultraleichten Rechenvorrichtung). Für Benutzerschnittstellen sind im Basisabschnitt 20 eine Tastatur 25 und ein Touchpad 28 bereitgestellt. Doch kann eine beliebige bekannte Vorrichtung zum Bereitstellen von Eingabe an ein Computersystem oder eine Rechenvorrichtung verwendet werden. Zum Beispiel können die hier beschriebenen Sensoren in Verbindung mit (oder anstelle von) einer Tastatur, einer Maus usw. verwendet werden, um eine Eingabe von einem Benutzer zu empfangen und Rechenaufgaben auszuführen. Verschiedene Ports zum Aufnehmen von Peripheriegeräten, wie USB-Ports (einschließlich eines USB 3.0-Ports), ein ThunderboltTM-Port, Video-Ports (unter anderen z. B. Mikro-HDMI (High Definition Media Interface) oder Mini-VGA (Video Graphics Adapter), Speicherkartenports, wie ein SD-Kartenport, eine Audiobuchse) können außerdem vorhanden sein, im Allgemeinen bei Position 22 auf einer Seite des Gehäuses angezeigt (in anderen Ausführungsformen können für einen Benutzer zugängliche Ports auf der gegenüberliegenden Gehäuseseite oder auf einer anderen Oberfläche des Systems 10 vorhanden sein). Außerdem kann ein Netzanschluss bereitgestellt sein, um Gleichspannung (DC) über einen AC-Adapter (nicht in 1A dargestellt) zu empfangen. Es ist zu beachten, dass diese Ports lediglich als Veranschaulichung dienen. Da die Größe von ultraportablen Rechenvorrichtungen kleiner wird, können weniger externe Ports bereitgestellt werden. Stattdessen kann Kommunikation mittels drahtlosen Kommunikationsverfahren, ähnlich wie Bluetooth Near Field Communication, Wi-Fi, Sensoren usw., durchgeführt werden. Des Weiteren kann Strom über alternative Verbindungen (oder in manchen Ausführungsformen sogar drahtlos) empfangen werden.
  • Wie ferner zu sehen ist, kann ein Deckelabschnitt 30 mit einem Basisabschnitt 20 gekoppelt sein und kann eine oder mehrere Anzeige(n) 40 umfassen, die in verschiedenen Ausführungsformen eine Flüssigkristallanzeige (liquid crystal display, LCD) oder eine organische Leuchtdiode (organic light emitting diode, OLED) sein kann/können. Jedoch kann eine beliebige Anzeigetechnik, wie z. B. Bildschirm aus elektronischem Papier, als Anzeige 40 verwendet werden. Außerdem ist in dem Bereich der Anzeige 40 eine Berührungsfunktionalität in einer Ausführungsform derart bereitgestellt, dass ein Benutzer in der Lage ist, Benutzereingabe mittels eines gemeinsam mit der Anzeige 40 angeordneten Touchpanels bereitzustellen. In einer anderen Ausführungsform, die nicht dargestellt ist, können mehrere Anzeigen bereitgestellt sein (z. B. eine traditionelle Anzeige und ein Bildschirm aus elektronischem Papier, verschiedene Anzeigetypen oder mehrere Anzeigen desselben Typs). Der Deckelabschnitt 30 kann ferner verschiedene Erfassungsvorrichtungen umfassen, einschließlich einer Kameravorrichtung 50, die in der Lage ist, Video- und/oder Standinformationen zu erfassen. Außerdem können ein oder mehrere Mikrofone, wie z. B. Dualmikrofone 55a und 55b, vorhanden sein, um Benutzereingabe mithilfe der Stimme des Benutzers zu empfangen. Obwohl es an dieser Position in 1A dargestellt ist, kann das Mikrofon, das ein Mikrofon oder mehrere Allrichtungsmikrofone sein kann, in anderen Ausführungsformen an anderen Positionen vorhanden sein.
  • Wie nachstehend beschrieben, ist das System 10 in einer Ausführungsform mit besonderen Komponenten und Schaltungen konfiguriert, um eine hohe Endbenutzererfahrung mittels einer Kombination von Hardware und Software der Plattform zu ermöglichen. Unter Verwendung verfügbarer Hardware und Software kann zum Beispiel wahrnehmbares Computing (perceptual computing) einen Benutzer in die Lage versetzen, mit dem System mithilfe von Stimme, Gesten, Berührung oder auf andere Weisen zu interagieren. Hierbei sind möglicherweise verschiedene Sensoren aufgenommen, um Wahrnehmungsinformationen (z. B. visuelle, auditive, olfaktorische, kinästhetische, gustatorische, 3D-Wahrnehmung, Temperatur, Druck, Sensor für chemischen/molekularen Gas-/Flüssig-/Fest-Aufbau, Feuchtigkeit oder jede andere bekannte Wahrnehmung) zu erfassen, zu verwenden oder bereitzustellen. Sensoren und die Handhabung derartiger Informationen sind nachstehend ausführlicher beschrieben.
  • Außerdem kann diese Benutzererfahrung in einem sehr leichten und dünnen Formfaktorsystem bereitgestellt sein, das Hochleistungs- und Energiesparfunktionalitäten bereitstellt, während es gleichzeitig erweiterte Funktionen, wie Instant-On und Instant-Connect (auch als Always On Always Connected bekannt) ermöglicht, so dass das System in der Lage ist, in einen Energiesparzustand (z. B. Schlafmodus, Standby oder einen anderen bekannten Energiesparmodus) versetzt zu werden und direkt aufgewacht und sofort für den Benutzer zugänglich zu sein (z. B. innerhalb von weniger als eine, zwei, fünf oder sieben Sekunden nach Verlassen des Schlafmodus). Nach derartigem Aufwachen ist außerdem das System in einer Ausführungsform mit Netzwerken, wie einem lokalen Netzwerk, einem Wi-Fi-Netzwerk, dem Internet usw., verbunden, was eine ähnliche Leistung zur Verfügung stellt, die bei Smartphones und Tablet-Computern verfügbar ist, die der Verarbeitung und Benutzererfahrung eines vollständig funktionalen Systems, wie des von 1A, entbehren. Obwohl auf dieser hohen Ebene in der Darstellung von 1A gezeigt, ist es selbstverständlich verständlich, dass zusätzliche Komponenten innerhalb des Systems vorhanden sein können, wie z. B. Lautsprecher, zusätzliche Anzeigen, Erfassungsvorrichtungen, Umgebungssensoren und so weiter, deren Einzelheiten nachstehend besprochen werden.
  • Unter Bezugnahme auf 1B sind Darstellungen eines repräsentativen Rechensystems gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 1B dargestellt, entspricht System 10 einem UltrabookTM, einem Apple® MacBook Air, einem Acer® Aspire, einem LG® Xnote, einem Dell® Inspiron, einem Dell® XPS, einem NEC® LaVie, einem MSI® S20, einem Asus® Transformer, einem Sony® VAIO, einem HP® EliteBook, HP® Folio, einem Toshiba® Protege, einem Asus® Zenbook, einem Asus® TaiChi, einem Lenovo® Ideapad, einem Lenovo® Yoga, einer anderen ultraleichten und ultradünnen Rechenvorrichtung oder einer beliebigen bekannten und/oder verfügbaren ultraleichten, ultradünnen und/oder ultraportablen Rechenplattform. Dieses System kann eine verhältnismäßig kleine Größe und kleines Gewicht aufweisen. Zum Beispiel ist das System in einer Ausführungsform aus einer ultradünnen und ultraleichten einteiligen Aluminium-Konstruktion (oder Kohlenstoff-Konstruktion) ausgebildet und kann weniger als 1,36 kg (3 lb) wiegen, mit Abmessungen einer Breite von ungefähr 32,5 cm (12,8 Zoll), einer Tiefe von 22,6 Cr (8,9 Zoll) und einer Z-Höhe von weniger als ungefähr 1,8 cm (0,7 Zoll), und mit einem sich verjüngenden Design, so dass die Höhe an einem Vorderrand um ungefähr 0,3 cm (0,1 Zoll) kleiner sein kann. In einer Ausführungsform umfasst das System 10 einen Intel®-basierten Prozessor und kann 2/4/8/12/16/32/64 GB an Systemspeicher zusammen mit einem integrierten Grafikprozessor umfassen.
  • Wie in 1B zu sehen ist, kann die Anzeige im Wesentlichen die Gesamtheit der Größe eines Deckelabschnitts 102 einnehmen. Wie ersichtlich, umfasst ein Rahmen dieses Deckelabschnitts 102 eine integrierte Kamera 108. Als ein Beispiel umfasst die Kamera 108 eine FaceTime-Kamera. Wie weiter in 1B bei der Darstellung 100A ersichtlich, kann ein Basisabschnitt 104 eine Tastatur 105 (im Allgemeinen) und ein Touchpad 106 umfassen. In einigen Implementierungen ist die Tastatur 105 von hinten beleuchtet und nutzt einen Umgebungssensor, wie z. B. einen Umgebungslichtsensor, um Änderungen der Lichtbedingungen zu erfassen und die Anzeige- und Tastatur-Helligkeit dementsprechend einzustellen.
  • Wie in einer Seitenansicht 100B von 1B zu sehen, weist der Basisabschnitt ein sich verjüngendes Profil von einem verhältnismäßig dünnen führenden Vorderrand zu einem breiteren hinteren Rand auf. Wie ersichtlich, können externe Ports innerhalb dieses dargestellten Seitenabschnitts eingerichtet sein. In der dargestellten Ausführungsform umfassen Ports 112 (im Allgemeinen) einen ThunderboltTM-Port, einen USB 2.0-Port und einen Kartenleserport (der z. B. zur Aufnahme von SD-Karten verwendet werden kann). In einer Ausführungsform sind einer oder mehrere der Ports ein IC-Port, der 10 Gigabit pro Sekunde (Gbps) Vollduplex-Bandbreite pro Kanal bereitstellt. Dieser Port kann gleichzeitig über ein einzelnes Kabel Daten (z. B. mittels PCIeTM) und Anzeigeverbindungen (z. B. eine Displayfort-Verbindung) unterstützen. Peripherieprodukte sind normalerweise mit diesem Port unter Verwendung von elektrischen oder optischen Kabeln verbunden. Bei Verwendung eines derartigen Ports werden mehrere Hochleistungs-PCIeTM- und DisplayPort-Vorrichtungen über einen einzelnen physischen Anschluss mit einer Plattform verknüpft. Bei Verwendung eines derartigen Interconnect fügt ein Benutzer einer Plattform möglicherweise Hochleistungsfunktionen über ein Kabel hinzu, indem mehrere Vorrichtungen, einschließlich einer oder mehrerer Anzeigen, Speichervorrichtungen, Videoerfassungsvorrichtungen und so weiter, verkettet werden. Auf dem Abschnitt der anderen Seite können außerdem zusätzliche Ports, einschließlich eines weiteren USB-Ports, eines Kopfhöreranschlusses, eines Mikrofons und eines Stromadapters, bereitgestellt sein.
  • Ansicht 100C veranschaulicht eine offene Sicht der Plattform. Obwohl sie auf dieser hohen Ebene in der Ausführungsform von 1B dargestellt ist, versteht es sich, dass zusätzliche Funktionen in anderen Ausführungsformen vorhanden sein können. In einigen Ausführungsformen umfasst Touchpad 106 einen Multi-Touch-Trackpad, um eine Vielzahl von Benutzereingaben (z. B. verschiedene Anzahl von Fingern, Arten der Bewegung, Gesten und so weiter), die zu verschiedenen Benutzerbefehlen umgesetzt werden, zu empfangen. In einer Ausführungsform ist das Trackpad als ein zumindest halbtransparentes Fenster implementiert. Jedoch kann das Touchpad 106 (und sogar die Tastatur 105) ersetzt oder ausgelassen werden, wenn sich sensorische Benutzereingabe weiterentwickelt.
  • Unter jetziger Bezugnahme auf 10 werden andere Darstellungen einer anderen ultradünnen Formfaktor-Vorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Wie in den verschiedenen Ansichten des Systems 120 gezeigt, entspricht es in einer Darstellung einem UltrabookTM, einem Apple® MacBook Air, einem Acer® Aspire, einem LG® Xnote, einem Dell® Inspiron, einem Dell® XPS, einem NEC® LaVie, einem MSI® S20, einem Asus® Transformer, einem Sony® VAIO, einem HP® EliteBook, HP® Folio, einem Toshiba® Protege, einem Asus® Zenbook, einem Asus® TaiChi, einem Lenovo® Ideapad, einem Lenovo® Yoga, einer anderen ultraleichten und ultradünnen Rechenvorrichtung oder einer beliebigen bekannten und/oder verfügbaren ultraleichten, ultradünnen und/oder ultraportablen Rechenplattform. Wie ersichtlich, kann das System 120 einen Deckelabschnitt und einen Basisabschnitt umfassen, wobei der Deckelabschnitt eine Anzeige umfasst und der Basisabschnitt eine Tastatur und ein Touchpad umfasst. Es ist zu beachten, dass das System 120 im Vergleich zu 1A1B, die ein sich verjüngendes Basisdesign aufweisen, eine gleichmäßigere Basishöhe aufweist.
  • In einer Ausführungsform umfasst das System 120 eines oder mehrere der folgenden Merkmale: eine diagonale Anzeigegröße von zwischen 10 und 14 Zoll (25,4–35,56 cm), eine von hinten beleuchtete Kaugummitastatur (Chiclet Keyboard), eine Höhe zwischen 10,16 cm (4 Zoll) und 2,54 cm (1 Zoll), eine Länge von zwischen 25,4 cm (10 Zoll) und 35,56 cm (14 Zoll), eine Breite zwischen 12,7 cm (5 Zoll) und 25,4 cm (10 Zoll), einen USB-Port, eine Kopfhörer-/Mikrofonbuchse, einen HDMI-Port, einen AC-Netzanschluss, einen Erweiterungssteckplatz, eine Akkunennlebensdauer von über 7 Stunden, eine Solid-State-Festplatte von zwischen 64 GB bis 512 GB, einen integrierten Grafikchip, einen SO-DIMM-Speichersteckplatz und ein Gewicht von zwischen 0,45 kg (1 lb) bis 1,82 kg (4 lb).
  • Unter Bezugnahme auf 1D sind Darstellungen eines Beispiels für ein ultradünnes Convertible-Formfaktor-System gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in den verschiedenen Ansichten des Systems 130 gezeigt, entspricht es in einer Darstellung einem UltrabookTM, einem Apple® MacBook Air, einem Acer® Aspire, einem LG® Xnote, einem Dell® Inspiron, einem Dell® XPS, einem NEC® LaVie, einem MSI® S20, einem Asus® Transformer, einem Sony® VAIO, einem HP® EliteBook, HP® Folio, einem Toshiba® Protege, einem Asus® Zenbook, einem Asus® TaiChi, einem Lenovo® Ideapad, einem Lenovo® Yoga, einer anderen ultraleichten und ultradünnen Rechenvorrichtung oder einer beliebigen bekannten und/oder verfügbaren ultraleichten, ultradünnen und/oder ultraportablen Rechenplattform. Lenovo® IdeaPad Yoga, Samsung® Series 5 und andere neuere Reihen, Dell® Duo, Dell® XPS 12, Asus® Transformer sind ein paar konkrete veranschaulichende Beispiele von Systemen, die als Convertible-Formfaktoren funktionieren, um sowohl eine Laptop- als auch eine Tablet-Rechenumgebung bereitzustellen. Manche von ihnen umfassen aufklappbare Designs, während andere Kipp-, Falt-, Schieb- oder Abtrenndesigns umfassen, um die Umwandlung von einem ultradünnen Notebook zu einem Tablet zu schaffen. Als ein Beispiel weist das System eine verhältnismäßig ultradünne Größe und Gewicht, z. B. indem es eine Dicke von deutlich weniger als 2,54 cm (1 Zoll), z. B. ungefähr 1,7 cm (0,67 Zoll), und ein Gewicht von ungefähr 1,36 kg (3 lb) aufweist. Die Bildschirmgröße kann größenmäßig zwischen 10 bis 14 Zoll (24,5 bis 35,56 cm) betragen und kann sich im Allgemeinen über die volle Breite und Länge des Systems erstrecken.
  • Um die verwandelbare (convertible) Eigenschaft weiter zu veranschaulichen, ist ein aufklappbares Design bei den Übergängen von 130A bis 130C dargestellt. Wie bei der ersten Ansicht 130A ersichtlich, umfasst das System einen Deckelabschnitt 132 und einen Basisabschnitt 134, wobei der Deckelabschnitt eine Anzeige umfasst und der Basisabschnitt eine Tastatur und ein Touchpad umfasst. Zusätzlich zu dieser herkömmlichen Ansicht und Betriebsmodus ist das System auch in einem bei Ansicht 130B dargestellten Standmodus mittels Schwenken einer Gelenkanordnung betriebsfähig. Alternativ (nicht dargestellt) kann die Oberfläche 134, die das Trackpad und die Tastatur aufweist, nach unten zeigen, während die Anzeige 132 zu einem Benutzer hin aufgeklappt ist, um einen anderen Standmodus bereitzustellen. Wie dargestellt, ist Kamera 138 auf dem Rückabschnitt des Deckelabschnitts 132 vorhanden. Jedoch kann eine Kamera auf Oberfläche 132 vorgesehen sein, um video- und kameraähnliche Funktionen bereitzustellen, wenn sich System 130B im Standmodus befindet. Wie auch bei Ansicht 130C ersichtlich, können verschiedene Anzeige-LEDs 139 auf der Vorderseite des Basisabschnitts 134 vorhanden sein. Verschiedene Knöpfe, Schalter und Ports (wie jene, die vorstehend beschrieben wurden) können an den Breitenseiten des Basisabschnitts 134 bereitgestellt sein.
  • In einer Ausführungsform umfasst das System 130A130C eines oder mehrere der folgenden Merkmale: eine 12–14-Zoll-Anzeige (30,48–35,56 cm), eine kapazitive Multi-Touch-Anzeige, eine Auflösung von mindestens 1600 × 900, eine Dicke von weniger als 17 mm, ein Gewicht von weniger als 1,82 kg (4 lb), ein Klappgelenk, einen Systemspeicher im Bereich von 4 bis 16 GB, eine Solid-State-Festplatte von 128 bis 512 GB, eine HD-Webkamera (High Definition), einen USB-Port, ein Modul für drahtlose LAN-Verbindung, ein Bluetooth-Verbindungsmodul und mindestens 6 Stunden von Akkunennlebensdauer.
  • 1E zeigt Darstellungen eines anderen ultradünnen Systems gemäß einer Ausführungsform der vorliegenden Erfindung. Wie in 1E dargestellt, entspricht System 140 in einer Repräsentation einem UltrabookTM, einem Apple® MacBook Air, einem Acer® Aspire, einem LG® Xnote, einem Dell® Inspiron, einem Dell® XPS, einem NEC® LaVie, einem MSI® S20, einem Asus® Transformer, einem Sony® VAIO, einem HP® EliteBook, HP® Folio, einem Toshiba® Protege, einem Asus® Zenbook, einem Asus® TaiChi, einem Lenovo® Ideapad, einem Lenovo® Yoga, einer anderen ultraleichten und ultradünnen Rechenvorrichtung oder einer beliebigen bekannten und/oder verfügbaren ultraleichten, ultradünnen und/oder ultraportablen Rechenplattform. Wie in den verschiedenen Darstellungen ersichtlich, kann das System 140 ein sehr dünnes Profil aufweisen und kann eine Z-Höhe von 3 mm an einer Vorderseite des Basisabschnitts 144 aufweisen, die sich zu einer Z-Höhe von 9 mm an einem hinteren Abschnitt des Basisabschnitts 144 ausdehnt. Auf diese Weise ist ein geschmeidiges Design bereitgestellt.
  • In einer Ausführungsform umfasst das System 140 eines oder mehrere der folgenden Merkmale: eine Höhe von weniger als 10 mm, einen Systemspeicher von 4, 6, 8 oder 12 GB, eine Bildschirmgröße von zwischen 10–12 Zoll (25,4–30,48 cm), eine Wiederaufnahme (resume) von weniger als 2 Sekunden, einen Mini-VGA-Port, einen USB-Port, einen Mikro-HDMI-Port, eine 128-, 256- oder 512-GB-Solid-State-Festplatte, einen Akku mit einer Nennlebensdauer im Betrieb von über 5 Stunden, ein digitales Mikrofon, eine beleuchtete Tastatur und eine HD-Kamera.
  • Unter Bezugnahme auf 1F ist eine Darstellung eines Schreibtischcomputers 150 gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Die Ansicht von 1F ist eine Rückansicht, die verschiedene Ports und andere Merkmale des Systems darstellt. Wie ersichtlich, ist in einem Netzabschnitt 152 ein Netzkabel-Adapter zusammen mit einem Netzschalter und einer Lüfterplatte bereitgestellt. In einem Verbindungsabschnitt 154 sind außerdem mittels eines oder mehrerer paralleler Ports, serieller Ports, USB-Ports, Ethernet/RJ45-Ports und so weiter verschiedene Adapter bereitgestellt, um externe Verbindungen mit verschiedener Peripherie, einschließlich von Anzeigen, Druckern, Netzwerken, Peripheriegeräten, einschließlich von Audio, Video und so weiter, bereitzustellen. Außerdem können auch mehrere Steckplätze für Erweiterungskarten bereitgestellt sein.
  • Unter Bezugnahme auf 1G sind Darstellungen eines Tablet-Computers gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. In einer Ausführungsform kann Tablet-Computer 160 ein Apple® iPadTM, wie das ursprüngliche iPadTM, ein iPad2TM das neue iPadTM, ein Samsung® GalaxyTM Tablet, Asus® Eee Pad, und Acer® Aspire, ein Acer® Iconia, ein Amazon® Kindle, ein Barnes and Noble® Nook, ein Asus® Tablet, ein Dell® Streak, ein Google® Nexus, ein Microsoft® Surface, ein Sony® Tablet und ein auf AndroidTM basierendes Tablet, ein auf Windows® basierendes Tablet oder ein anderes bekanntes Tablet-Gerät sein. Wie in der Vorderdarstellung 162 ersichtlich, können ein oder mehrere Eingabe-/Schnittstelle-Knöpfe vorhanden sein. Außerdem können ein Lautsprecher 165 und eine Kamera 169, die in einer Ausführungsform eine iSightTM-Kamera (z. B. eine 5-Megapixel-Kamera), eine HD-Kamera oder eine andere bekannte Kamera sein kann, vorhanden sein. Es ist zu beachten, dass die Anzeige, wie sie in der Vorderansicht 162 zu sehen ist, ein Retina-Display sein kann, um eine hohe Auflösung bereitzustellen, oder sie kann eine beliebige andere bekannte Tablet-Anzeige sein. 1G zeigt ebenfalls eine Rückansicht 164 und eine Seitenansicht 166. Es ist zu beachten, dass Rückfläche 164 ebenfalls eine Kamera aufweist. Hierbei können die Kameras 169 und 167 zur Bild-, Filmaufnahme oder für Live-Videoeinspeisung bereitgestellt sein.
  • Unter Bezugnahme auf 1H sind Darstellungen eines Smartphones 170 gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. In den Darstellungen von 1H kann das Smartphone 170 ein Apple® iPhoneTM (z. B. ein iPhone 3GS, ein iPhone 4, ein iPhone 4S, ein iPhone 5), ein BlackberryTM, ein Samsung® Smartphone (z. B. ein Samsung® GalaxyTM S3), ein Motorola® DroidTM, und HTC OneTM, ein Intel® OrangeTM, ein auf AndroidTM basierendes Smartphone, ein auf Windows® basierendes Smartphone oder ein anderes bekanntes Smartphone sein. Wie in der Vorderansichtsdarstellung 172 ersichtlich, umfasst das Smartphone 170 einen Lautsprecher 173, ein vorderes Kameramodul 174 und einen oder mehrere Eingabeknöpfe 171. Gleichermaßen kann eine hintere Kamera 176 bereitgestellt sein, wie in der Rückansicht 175 gezeigt. Verschiedene Bedienungsknöpfe und so weiter können vorhanden sein, auch wenn derartige Bedienungsknöpfe (z. B. Ein-/Ausschalter, Lautstärke, Tondämpfer) nicht in der Seitenansicht 178 gezeigt sind.
  • Unter Bezugnahme auf 2 ist eine Draufsicht auf ein Beispiel für eine Anordnung von bestimmten Komponenten innerhalb eines Basisabschnitts eines Gehäuses gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 2 dargestellt, umfasst ein Basisabschnitt 20 in einer Ausführungsform einen Großteil der Elektronik in dem System, bis auf jene, die mit dem Anzeigefeld und allen Berührungsbildschirmen assoziiert ist. Selbstverständlich ist die in 2 dargestellte Ansicht lediglich ein veranschaulichendes Beispiel; von daher versteht es sich, dass in anderen Ausführungsformen andere Anordnungen von Komponenten, einschließlich anderer Komponenten, anderer Größen und Positionen von Komponenten und anderer Anordnungsaspekten, auftreten können.
  • Im Allgemeinen stellt die Ansicht in 2 die Komponenten innerhalb eines Gehäuses dar, bis auf die Tastatur und ein Touchpad, die im Allgemeinen oberhalb der in 2 dargestellten Komponenten eingerichtet oder angeordnet wären (wobei sich die Tastatur über einem oberen Abschnitt der Ansicht in 2 befinden würde, und das Keypad sich im Allgemeinen in einem unteren und mittleren Abschnitt der Ansicht in 2 befinden würde).
  • Die Hauptplatine 60 umfasst verschiedene integrierte Schaltungen (ICs) und/oder Schaltungsanordnungen. Hierbei koppelt die Hauptplatine 60 elektronisch, drahtlos und/oder kommunikativ einen Prozessor, wie z. B. einen Hauptprozessor (CPU), einen Systemspeicher und andere ICs. Zusätzliche ICs und andere Schaltungsanordnungen sind in einer Ausführungsform auf einer Tochterkarte 70 implementiert, die gleichermaßen elektrisch oder kommunikativ mit der Hauptplatine 60 gekoppelt sein kann. Die Tochterkarte 70 umfasst in einem Fall Schnittstellen mit verschiedenen Ports und anderen Peripherieanschlüssen, einschließlich von Ports 81, 82 und 83, die möglicherweise den folgenden Beispielen für Ports entsprechen: USB, Ethernet, Firewire, Thunderbolt oder einer beliebigen anderen Art Anschluss, auf den ein Benutzer zugreifen kann. Außerdem ist eine Erweiterungskarte 68 dargestellt, die mit der Tochterkarte 70 (z. B. mittels eines NGFF-Anschlusssteckers (next generation form factor)) gekoppelt ist. Ein derartiger Anschlussstecker gemäß einem NGFF-Design kann eine Einzelanschlussart bereitstellen, die für Erweiterungskarten verschiedener Größen mit möglicherweise verschiedenen Keys verwendet wird, um sicherzustellen, dass nur geeignete Erweiterungskarten in derartige Anschlüsse eingesetzt werden. In der dargestellten Ausführungsform umfasst diese Erweiterungskarte 68 eine Wireless-Konnektivität-Schaltung, z. B. für 3G/4G/LTE-Schaltungen.
  • Gleichermaßen stellt in einigen Ausführungsformen die Hauptplatine 60 Verbindung mit bestimmten anderen Ports bereit, auf die ein Benutzer zugreifen kann, nämlich den Ports 84 und 85 in der Darstellung. Außerdem können auch einige Erweiterungskarten 65 und 66 mit der Hauptplatine 60 gekoppelt sein. In der dargestellten Ausführungsform umfasst die Erweiterungskarte 65 eine SSD-Festplatte (Solid-State-Drive), die mit der Hauptplatine 60 über einen Anschlussstecker, wie z. B. einen NGFF-Anschluss 59, gekoppelt ist. Die Erweiterungskarte 66 umfasst eine beliebige bekannte erweiternde Rechenkomponente, wie beispielsweise ein drahtloses lokales Netzwerk (WLAN), ein Audiogerät, ein Videogerät, eine Netzwerksteuerung usw.
  • Zu beachten ist, dass 2, wie vorstehend beschrieben, eine Konfiguration mit Hauptplatine 60 darstellt, die mehrere ICs, Schaltungen und/oder Geräte miteinander koppelt. Mit der erhöhten Halbleiterherstellung steigt jedoch auch die Fähigkeit, mehr Transistoren auf einem einzelnen ungehäusten Chip und/oder Gehäuse (Package) anzuordnen. Folglich können in einigen Ausführungsformen etliche dieser Geräte (und möglicherweise sogar alle von ihnen) in einer einzelnen IC, einem einzelnen ungehäusten Chip, einem Chip, einem Gehäuse (Package) usw. integriert sein. Zum Beispiel waren früher Speichercontroller-Hubs getrennte IC-Controller, die über einen auf der Hauptplatine 60 angeordneten Frontside-Bus mit einem zentralen Prozessor gekoppelt waren. Mit dem Fortschritt der Herstellung fingen nun jedoch die Speichercontroller-Hubs an, in ein CPU-Gehäuse und/oder einen ungehäusten CPU-Chip integriert zu werden. Des Weiteren sind andere Systeme sogar noch integrierter geworden, wodurch ein Großteil der vorstehend beschriebenen Schaltungen des Systems' in einer einzelnen integrierten Schaltung bereitgestellt wird, um ein Ein-Chip-System (SoC) zu bilden. Folglich können die hier beschriebenen Ausführungsformen gleichermaßen auf eine ultraportable Rechenvorrichtung angewendet werden, die ein SoC umfasst.
  • Zurückkehrend zur Beschreibung der in 2 dargestellten Ausführungsform können einige Implementierungen einen oder mehrere Lüfter umfassen, um Kühlung bereitzustellen. In der dargestellten Ausführungsform sind zwei derartige Lüfter 47 bereitgestellt. Hierbei leiten die Lüfter 47 die Wärme von der CPU und anderen elektronischen Elementen über Wärmeflossen 88a und 88b ab. Als ein Beispiel wird die Wärme an Abzugsöffnungen innerhalb des Gehäuses oder direkt an das Gehäuse übertragen. Jedoch können andere Ausführungsformen ein System ohne Lüfter bereitstellen, in dem Kühlung durch eine Reduzierung des Energieverbrauchs der CPU und anderer Komponenten, durch andere bekannte Wärmeableitungselemente, andere bekannte Lüftungselemente oder jeden anderen bekannten oder verfügbaren Mechanismus zum Übertragen von Wärme von einem Raum/Element auf ein anderes/einen anderen erzielt wird.
  • Um erweiterte Audiofunktionen bereitzustellen, sind in einer Ausführungsform mehrere Lautsprecher 78a und 78b bereitgestellt. In einem Fall strahlen die Lautsprecher 78a, 78b von einem oberen Abschnitt des Gehäuses über ein Gitter oder ein anderes gelüftetes Muster aus, um ein verbessertes Klangerlebnis bereitzustellen. Um eine Verbindung zwischen dem Basisabschnitt 20 und dem Deckelabschnitt (zur Erleichterung der Darstellung nicht in 2 dargestellt) zu ermöglichen, ist ein Paar Gelenke 95a und 95b bereitgestellt. Zusätzlich zur Bereitstellung von Gelenkfunktionen umfassen diese Gelenke in einer Ausführungsform Pfade, um Verbindungen zwischen Schaltungen innerhalb des Deckelabschnitts und des Basisabschnitts 20 bereitzustellen. Zum Beispiel können drahtlose Antennen, Berührungsbildschirm-Schaltungen, Anzeigefeld-Schaltungen und so weiter alle über Anschlüsse kommunizieren, die durch diese Gelenke eingerichtet sind. Außerdem sind Gelenke in einer Hybrid-Umgebung in der Lage, Umwandlung zwischen Formfaktoren zu erleichtern oder zu unterstützen. Als ein Beispiel ermöglichen es die Gelenke, dass das System von einer Laptop-/Notebook- in eine Tablet-Form konvertiert wird. Wie ziemlich offensichtlich, sind Gelenke nicht der einzige Mechanismus zum Koppeln einer Anzeige mit einem Gehäuse. Folglich kann eine beliebige bekannte physische Kopplung verwendet werden, um eine Anzeige mit einem Gehäuse oder der Elektronik eines Rechensystems 10 zu verbinden, ob nun das Rechensystem 10 zwischen Formfaktoren konvertierbar ist oder nicht.
  • Wie ferner dargestellt, ist ein Akku 45 vorhanden. In einer Ausführungsform umfasst der Akku 45 einen Lithium-Ionen- oder einen anderen bekannten/verfügbaren Akku hoher Kapazität. Obwohl diese besondere Implementierung von Komponenten und Anordnung von Schaltungen in 2 gezeigt ist, ist der Umfang der vorliegenden Erfindung in dieser Hinsicht nicht eingeschränkt. Das heißt, bei einem bestimmten Systemdesign können Kompromisse vorliegen, um den verfügbaren X-Y-Z-Raum im Gehäuse effizienter zu nutzen.
  • Unter Bezugnahme auf 3 ist eine Querschnittsansicht eines Computersystems gemäß einer Ausführungsform der vorliegenden Erfindung dargestellt. Wie in 3 dargestellt, entspricht System 10 einem ultradünnen auf Klappgehäuse basierenden Laptop-Computer, der ein niedriges Profil und leichtes Design aufweist. Die Ansicht von 3 ist eine Querschnittsansicht durch einen im Wesentlichen Mittelpunkt des Systems und soll eine Ansicht auf hoher Ebene der vertikalen Aufstapelung oder Anordnung von Komponenten innerhalb des Gehäuses zeigen.
  • Im Allgemeinen ist das Gehäuse in einen Deckelabschnitt 30 und einen Basisabschnitt 20 unterteilt. Hierbei umfasst der Deckelabschnitt 30 die Anzeige, zugehörige Schaltungen und Komponenten, während der Basisabschnitt 20 die Hauptverarbeitungselemente zusammen mit dem Akku und der Tastatur umfasst. Es ist jedoch zu beachten, dass in anderen Implementierungen eines Klappgehäuse-Designs praktisch alle der Komponenten bis auf die Tastatur innerhalb des Deckelabschnitts eingerichtet sind, um einen abtrennbaren, entfernbaren oder konvertierbaren Deckelabschnitt zu ermöglichen, der sich als ein auf Tablet basierender Formfaktor-Computer verdoppelt.
  • Der Deckelabschnitt 30 umfasst in einer Ausführungsform ein Anzeigefeld 40. In einer Ausführungsform umfasst das Anzeigefeld 40 eine LCD- oder eine andere Art von Anzeige, wie z. B. eine OLED. Als ein Beispiel ist das Anzeigefeld 40 mit einer Anzeige-Leiterplatte 33 gekoppelt. Außerdem ist in einer Ausführungsform ein Berührungsbildschirm 34 oberhalb, unterhalb oder mit dem Anzeigefeld 40 integriert eingerichtet (oder angeordnet). In einer Ausführungsform ist der Berührungsbildschirm 34 mittels eines kapazitiven abtastbaren Berührungsfeldes implementiert, das entlang eines Substrats konfiguriert ist. Als veranschaulichende Beispiele umfasst das Substrat Glas, Kunststoff oder ein anderes bekanntes oder sonst verfügbares transparentes Substrat. Der Berührungsbildschirm 34 ist wiederum funktionsfähig mit einer Touchpanel-Leiterplatte 35 gekoppelt. Es ist zu beachten, dass eine beliebige bekannte Berührungsanzeigetechnik als oder in Verbindung mit einer Anzeige verwendet werden kann.
  • Wie ferner dargestellt, umfasst der Deckelabschnitt 30 ein Kameramodul 50. In einer Ausführungsform umfasst das Kameramodul 50 eine hochauflösende Kamera (HD-Kamera), die in der Lage ist, Bilddaten sowohl vom stillen Typ als auch bewegliche Videobilder zu erfassen. Kameramodul 50 ist in einigen Implementierungen mit einer Leiterplatte 38 gekoppelt. Es ist zu beachten, dass alle diese Komponenten des Deckelabschnitts 30 in anderen Ausführungsformen innerhalb eines Gehäuses, das eine Abdeckungsanordnung umfasst, konfiguriert, angeordnet sein können oder sich darin befinden können. Die Abdeckungsanordnung kann unter Verwendung eines beliebigen bekannten oder verfügbaren Materials hergestellt sein, das zum Bereitstellen einer Gehäusefunktionalität geeignet ist, wie z. B. ein Kunststoff- oder ein Metallmaterial. Als ein konkretes veranschaulichendes Beispiel ist eine derartige Abdeckungsanordnung aus einer Magnesium-Aluminium-(Al-Mg)-Zusammensetzung hergestellt oder sie umfasst diese.
  • Weiter bezugnehmend auf 3 ist der Großteil der Verarbeitungsschaltungen des Systems 10 derart dargestellt, dass er innerhalb des Basisabschnitts 20 vorhanden ist. Jedoch können diese Komponenten stattdessen in dem Deckelabschnitt implementiert sein, wie vorstehend in einer Ausführungsform, die einen abtrennbaren Deckelabschnitt bereitstellt, besprochen.
  • Von der Oberseite des Basisabschnitts 20 nach unten betrachtet, ist eine Tastatur 25 aufgenommen, die verschiedene Arten aufweisen kann, um eine Vorrichtung mit einem dünnen Profil zu ermöglichen, und Kaugummitasten oder andere Tasten eines dünnen Formfaktors umfassen kann. Außerdem ist ein Touchpad 28 als eine andere Benutzerschnittstelle bereitgestellt.
  • Der Großteil der Komponenten ist auf einer Leiterplatte 60 konfiguriert, die eine Hauptplatine, wie z. B. eine Typ-IV-Hauptplatine, sein kann, die verschiedene integrierte Schaltungen umfasst, die auf vielerlei Weise mit der Leiterplatte gekoppelt/eingerichtet sind, einschließlich von Löten, Oberflächenbefestigung und so weiter. Unter konkreter Bezugnahme auf 3 kann eine CPU 55, wie z. B. ein Ultraniederspannungs-Multikernprozessor, an der Leiterplatte 60 z. B. mittels eines Sockels oder einer anderen Art Verbindung, eingerichtet sein. Um eine thermische Lösung bereitzustellen, ist in einem Beispiel, wie ersichtlich, eine Wärmesenke 56 in der Nähe der CPU 55 und eines Wärmerohrs 57 angeordnet, die die Wärme vom Prozessor und/oder anderen Komponenten z. B. an verschiedene Kühlungsstellen, wie Abzugsöffnungen, Lüfter und so weiter, leitet. Wie dargestellt, ist eine Induktivität 58 und ein NGFF-Randstecker 59 an der Leiterplatte 60 konfiguriert. Obwohl zur Erleichterung der Darstellung nicht dargestellt, versteht es sich, dass eine Erweiterungskarte in einigen Ausführungsformen mit dem Anschlussstecker 59 gekoppelt ist, um zusätzliche Komponenten bereitzustellen. Als Beispiele können diese Komponenten drahtlose Lösungen und eine SSD-Festplatte (Solid-State-Drive) zusammen mit anderen Arten von Peripheriegeräten umfassen.
  • Wie weiter in 3 dargestellt, ist eine Batterie 45 in oder in Verbindung mit dem Basisabschnitt 20 enthalten. Hier ist die Batterie 45 in enger Verbindung zu einem Teil des Kühllösung, wie Lüfter 47 angeordnet. Obwohl mit dieser speziellen Implementierung in dem Beispiel der 3 gezeigt, ist die Anordnung und Aufnahme solcher Komponenten nicht beschränkt, da in anderen Ausführungsformen zusätzliche und andere Komponenten enthalten sein können. Zum Beispiel kann anstelle des Massenspeichers über eine SSD ein Festplattenlaufwerk in den Basisabschnitt 40 eingeführt werden. Zu diesem Zweck wird ein Mini-Serial Advanced Technology Attach(SATA)-Anschluss weiter an die Leiterplatte 60 gekoppelt, um die Verbindung von dieser Festplatte zum Prozessor und anderen auf der Leiterplatte 60 angebrachten Komponenten zu ermöglichen. Ferner können die Komponenten an unterschiedlichen Standorten angebracht werden, um den Z-Bereich effizienter zu nutzen.
  • In einer Ausführungsform bezieht sich ein UltrabookTM auf maximale Höhen anhand der Größe des Bildschirms 40 (d. h. die Bilddiagonale des Bildschirms 40). Beispielsweise enthält ein UltrabookTM eine maximale Höhe für Basisabschnitt 20 mit Deckelabschnitt 30 von 18 mm für die Anzeige 40, das sind 13,3 Zoll und weniger. Als ein zweites Beispiel enthält ein UltrabookTM eine maximale Höhe für Basisabschnitt 20 mit Deckelabschnitt 30 von 21 mm für Display 40, das sind 14 Zoll und mehr. Darüber hinaus enthält als ein weiteres Beispiel ein UltrabookTM eine maximale Höhe für Basisabschnitt 20 mit Deckelabschnitt 30 von 23 mm für konvertible oder Hybrid-Displays (d. h. zwischen Notebook/Laptop und einem Tablett konvertieren). Mit abnehmender Größe aller Marktsegmente (Desktops, Notebooks, UltrabookTM, Tablets und Telefone werden alle kleiner) kann also auch das Höhenspektrum eines UltrabooksTM in der Größe reduziert werden. Daher ist eine maximale Höhe für ein UltrabookTM in einer Ausführungsform basierend auf den Marktbedingungen variabel zwischen einem Tablet und Notebook.
  • Bezugnehmend auf 4, ein Blockdiagramm von Komponenten in einem Computersystem in Übereinstimmung mit einer Ausführungsform dieser Erfindung. Wie in 4 gezeigt, kann System 400 eine beliebige Kombination der Komponenten enthalten. Diese Komponenten können als ICs, Teile davon, diskrete elektronische Geräte oder andere Module, Logik, Hardware, Software, Firmware oder eine Kombination davon in einem Computersystem oder als Komponenten anders in ein Gehäuse des Computersystems integriert werden. Beachten Sie auch, dass das Blockdiagramm von 4 eine von oben betrachteten Ansicht vieler Komponenten des Computersystems zeigen soll. Allerdings können auch einige der gezeigten Komponenten weggelassen werden können, weitere Komponenten enthalten sein, und verschiedene Anordnungen der gezeigten Komponenten können bei anderen Implementierungen auftreten.
  • Wie in 4 dargestellt enthält in einem Ausführungsbeispiel ein Prozessor 410 einen Mikroprozessor, Mehrkernprozessor, Multithread-Prozessor, ein Niederspannungsprozessor, einen eingebetteten Prozessor oder andere bekannte Verarbeitungselemente. In der dargestellten Implementierung wirkt der Prozessor 410 als eine Hauptverarbeitungseinheit und zentrales Hub zur Verbindung mit vielen der verschiedenen Komponenten des Systems 400. Als ein Beispiel ist der Prozessor 400 als ein System auf einem Chip (SoC) implementiert. Als ein spezifisches illustratives Beispiel kann der Prozessor 410 ein auf einem eine Intel® Architecture CoreTM basierender Prozessor wie einem i3, i5, i7 oder ähnlichem Prozessor von Intel Corporation, Santa Clara, CA, USA sein. Aber auch andere Niedrigleistungs-Prozessoren wie von Advanced Micro Devices, Inc. (AMD), Sunnyvale, CA, einem ARM-Design von ARM Holdings, Ltd oder Kunden dieser oder MIPS-Design von MIPS Technologies, Inc. Sunnyvale, CA, oder ihre Lizenznehmern oder Anwender können stattdessen in anderen Ausführungsformen, wie einem Apple A5-Prozessor, einem Qualcomm Snapdragon-Prozessor, oder TI OMAP-Prozessor vorhanden sein. Bestimmte Details zur Architektur und dem Betrieb des Prozessors 410 in einer Implementierung werden unten weiter ausgeführt.
  • Prozessor 410 kommuniziert in einer Ausführungsform mit einem Systemspeicher 415. Als illustratives Beispiel wird der Systemspeicher 415 über mehrere Speichervorrichtungen oder Module implementiert, um eine bestimmte Menge an Systemspeicher bereitzustellen. In einer Ausführungsform wird der Speicher gemäß einem auf Joint Electron Devices Engineering Council (JEDEC) Low-Power Double-Data-Rate(LPDDR)-Design betrieben, wie z. B. der aktuelle LPDDR2-Standard nach JEDEC JESD 209-2E (veröffentlicht im April 2009) oder ein LPDDR-Standard der nächsten Generation, der als LPDDR3 oder LPDDR4 bezeichnet wird, der Erweiterungen zu LPDDR2 bieten, um die Bandbreite zu steigern. Als Beispiele können 2/4/8/12/16 Gigabyte (GB) Systemspeicher vorhanden sein und an den Prozessor 410 über eine oder mehrere Speicherverbindungen verbunden werden. In verschiedenen Implementierungen können die einzelnen Speichergeräte von verschiedenen Gehäusetypen wie Single-Die-Package (SDP), Dual-Die-Package (DDP) oder Quad-Die-Package (QDP) sein. Diese Vorrichtungen sind in einigen Ausführungsformen direkt auf einer Hauptplatine gelötet, um eine niedrigere Profillösung anzubieten, während in anderen Ausführungsformen die Vorrichtungen als ein oder mehrere Speichermodule konfiguriert sind, die wiederum mit einem bestimmten Anschluss mit der Hauptplatine verbunden sind. Andere Speicherimplementierungen sind möglich, wie z. B. andere Arten von Speichermodulen, beispielsweise Dual-Inline-Speichermodule (DIMMs) unterschiedlicher Arten, unter anderem MicroDIMMs, MiniDIMMs. In einem besonderen Ausführungsbeispiel ist der Speicher zwischen 2 GB und 16 GB bemessen und kann als DDR3LM-Gehäuse oder ein LPDDR2- oder LPDDR3-Speicher, der über eine Kugelgitteranordnung (BGA) auf einer Hauptplatine verlötet ist, konfigurierbar sein.
  • Um die dauerhafte Speicherung von Informationen, wie Daten oder Anwendungen, ein oder mehrere Betriebssysteme und so weiter sicherzustellen, kann auch ein Massenspeicher 420 an den Prozessor 410 gekoppelt werden. In verschiedenen Ausführungsformen, kann diese Massenspeicher über eine SSD umgesetzt werden, um ein dünneres und leichteres Systemdesign zu ermöglichen und die Systemreaktion zu verbessern. Jedoch in anderen Ausführungsformen kann der Massenspeicher in erster Linie mithilfe eines Festplattenlaufwerks (HDD) mit einer geringeren Menge an SSD-Speicher als SSD-Cache implementiert werden, um die nichtflüchtige Speicherung von Kontextzustand und anderen Informationen bei Stromausfall zu ermöglichen, so dass ein schneller Start bei Wiederaufnahme der Systemaktivitäten erfolgen kann. Wie in 4 gezeigt, kann eine Flash-Vorrichtung 422 mit dem Prozessor 410 verbunden werden, beispielsweise über eine serielle periphere Schnittstelle (SPI). Diese Flash-Vorrichtung kann die nichtflüchtige Speicherung von Systemsoftware, einschließlich einer Basis-Eingabe/Ausgabe-Software (BIOS) sowie anderer Firmware des Systems sicherstellen.
  • In verschiedenen Ausführungsformen wird der Massenspeicher des Systems durch eine SSD allein oder als eine Disk, ein optisches oder sonstiges Laufwerk mit SSD-Cache implementiert. In einigen Ausführungsformen wird der Massenspeicher als SSD oder als Festplatte zusammen mit einem Wiederherstellung-(RST)-Cache-Modul implementiert. In verschiedenen Implementierungen sorgt die Festplatte für die Speicherung zwischen 320 GB–4 Terabyte (TB) und mehr, während der RST-Cache ist mit einer SSD mit einer Kapazität von 24 GB–256 GB implementiert wird. Beachten Sie, dass ein solcher SSD-Cache als Single-Cache (SLC) oder Multi-Level-Cache(MLC)-Option konfiguriert werden kann, um ein angemessenes Maß an Reaktionsfähigkeit bieten. In einer SSD-only-Option kann das Modul an verschiedenen Orten, wie in einem mSATA NGFF Schlitz untergebracht werden. So hat zum Beispiel eine SSD eine Kapazität zwischen 120 GB–1 TB.
  • Verschiedene Eingabe-/Ausgabe-(10)Vorrichtungen können in dem System 400 enthalten sein. Speziell in der Ausführungsform von 4 gezeigt ist eine Darstellung 424, was ein hochauflösendes LCD- oder LED-Panel sein kann, das in einem Deckelteil des Gehäuses konfiguriert ist. Dieses Displaypanel kann auch ein Berührungsbildschirm 425 sein, der beispielsweise außen über das Display angepasst ist, so dass durch die Interaktion eines Benutzers mit dem Berührungsbildschirm Benutzereingaben in das System vorgenommen werden können, um die gewünschten Operationen, beispielsweise in Bezug auf die Anzeige von Informationen, dem Zugriff auf Informationen und so weiter, zu ermöglichen. In einer Ausführungsform kann die Anzeige 424 an den Prozessor 410 über eine Anzeigeverbindung gekoppelt werden, die als Hochleistungsgrafikverbindung umgesetzt werden kann. Berührungsbildschirm 425 kann mit dem Prozessor 410 über eine weitere Schaltung gekoppelt werden, die in einer Ausführungsform ein I2C-Verbindung sein kann. Wie weiter in 4 gezeigt, kann die Benutzereingabe durch Berühren zusätzlich zu Berührungsbildschirm 425 auch durch ein Touchpad 430 erfolgen, dass im Gehäuse konfiguriert werden kann und mit der gleichen I2C-Schaltung wie Touchscreen 425 verkoppelt werden kann.
  • Das Displaypanel kann in mehreren Betriebsarten arbeiten. In einem ersten Modus kann das Displaypanel transparent angeordnet sein, wobei das es bei sichtbarem Licht transparent ist. In verschiedenen Ausführungsformen kann die Mehrzahl der Displaypanels ein Display mit Ausnahme einer Frontblende um die Peripherie herum sein. Wenn das System in einem Notebook-Modus und das Displaypanel in einem transparenten Zustand betrieben wird, kann ein Benutzer Informationen, die auf dem Displaypanel dargestellt sind, ansehen während er auch in der Lage ist, Objekte hinter dem Display zu sehen. Außerdem können Informationen, die auf dem Displaypanel angezeigt werden, von einem Benutzer gesehen werden, der hinter dem Display steht. Oder der Betriebszustand des Displaypanels kann ein opaker Zustand sein, in dem sichtbares Licht nicht durch das Displaypanel übertragen wird.
  • In einem Tablett-Modus wird das System zugeklappt, so dass der rückseitige Anzeigefläche des Displaypanels in einer Position ruht, so dass sie nach außen weist in Richtung eines Benutzers, wenn die Bodenfläche der Grundplatte an einer Oberfläche ruhte oder vom Benutzer gehalten wird. In der Tablet-Betriebsart übernimmt die rückseitige Displayfläche die Aufgabe eines Displays und der Bedienoberfläche, da diese Oberfläche Touchscreen-Funktionalität aufweisen kann und andere bekannte Funktionen eines herkömmlichen Touchscreen-Geräts, wie z. B. ein Tablet-Gerät ausüben kann. Zu diesem Zweck kann das Displaypanel eine Transparenz-Anpassungsschicht enthalten, die zwischen einer Touchscreen-Schicht und einer Frontdisplayoberfläche angeordnet ist. In einigen Ausführungsformen kann die Transparenz-Anpassungsschicht eine elektrochrome Schicht (EC), eine LCD-Schicht, oder eine Kombination von EC- und LCD-Schichten sein.
  • In verschiedenen Ausführungsformen kann das Display unterschiedlicher Größe sein, z. B. ein 11,6'' oder 13,3''-Bildschirm und kann ein Seitenverhältnis von 16:9 und wenigstens 300 Nit Helligkeit haben. Das Display kann auch eine Full High Definition(HD)-Auflösung (mindestens 1920 × 1080 p) haben, mit einem eingebetteten Display-Port (EDP) kompatibel und ein Low-Power-Panel mit Selbstauffrischung sein.
  • Hinsichtlich der Bildschirm-Funktionen, kann das System ein Multi-Touch-Display-Panel, das multi-touch-kapazitiv und für mindestens 5 Finger ist. Und in einigen Ausführungsformen kann das Display für 10 Finger geeignet sein. In einer Ausführungsform ist der Touchscreen in einem bruch- und kratzfestem Glas und Beschichtung (z. B. Gorilla-GlasTM oder Gorilla Glass 2TM) für geringe Reibung zur Minderung des ”Fingerverbrennens” der Vermeidung des ”Fingerüberspringens” untergebracht. Um ein besseres Touch-Erlebnis und erhöhte Reaktionsfähigkeit zu schaffen, hat das Touch-Panel in einigen Implementierungen Multi-Touch-Funktionalität, wie zum Beispiel weniger als 2 Bildern (30 Hz) pro statischer Sicht während des Auf- und Zu-Zoomens sowie eine Single-Touch-Funktionalität von weniger als 1 cm pro Bild (30 Hz) mit 200 ms (Finger auf den Zeiger). Das Display unterstützt in einigen Implementierungen Edge-to-Edge-Glas mit einem minimalen Bildschirmrand, der mit der Plattenoberfläche bündig ist begrenzte IO-Störungen bei der Verwendung von Multi-Touch.
  • Für Wahrnehmungsinformatik und andere Zwecke können verschiedene Sensoren in dem System vorhanden sein und mit dem Prozessor 410 auf verschiedene Weisen verbunden werden. Bestimmte Trägheits- und Umgebungssensoren können mit dem Prozessor 410 durch ein Sensorhub 440 verkoppelt sein,, beispielsweise über eine I2C-Schaltung. In der in 4 gezeigten Ausführungsform können diese Sensoren einen Beschleunigungsmesser 441, einen Umgebungslichtsensor (ALS) 442, einen Kompass 443 und ein Gyroskop 444 umfassen. Andere Umgebungssensoren können einen oder mehrere Wärmesensoren 446 enthalten, die in einigen Ausführungsformen über einen System-Management-Bus (SMBus) an den Prozessor 410 gekoppelt sind.
  • Durch die Verwendung der verschiedenen Trägheits- und Umgebungssensoren in einer Plattform können viele verschiedene Anwendungsfälle durchgeführt werden. Diese Anwendungsfälle ermöglichen erweiterte Rechenoperationen einschließlich Wahrnehmungsinformatik und auch Verbesserungen im Hinblick auf Stromüberwachung/Akkulaufzeit, Sicherheit und Reaktionsfähigkeit des Systems.
  • Zum Beispiel im Hinblick auf die Probleme der Stromüberwachung/Akkulaufzeit, die zumindest teilweise auf den Informationen eines Umgebungslichtsensors beruhen, werden die Umgebungslichtbedingungen an einem Ort der Plattform festgelegt und die Intensität der Anzeige entsprechend gesteuert. So wird der beim Betrieb des Displays verbrauchte Strom unter bestimmten Lichtverhältnissen reduziert.
  • Hinsichtlich der Sicherheitsoperationen kann aufgrund der Kontextinformationen von den Sensoren, wie etwa Positionsinformationen bestimmt werden, ob ein Benutzer berechtigt ist, auf bestimmte geschützte Dokumente zuzugreifen. Zum Beispiel kann es einem Benutzer erlaubt sein, an einem Arbeitsplatz oder zu Hause auf diese Dokumente zuzugreifen. Jedoch wird dem Benutzer der Zugriff auf diese Dokumente verweigert, wenn sich die Plattform an einem öffentlichen Ort befindet. Diese Bestimmung beruht in einer Ausführungsform, auf Positionsinformationen, beispielsweise über einen GPS-Sensor oder die Erkennung von Orientierungspunkten durch die Kamera. Andere Sicherheitsmaßnahmen können für die Paarung von Geräten sorgen, die nahe zueinander liegen, z. B. eine tragbare Plattform, wie sie hier beschrieben und oder Desktop-Computer eines Benutzers, Mobiltelefon und so weiter. Bestimmtes Teilen erfolgt in einigen Implementierungen über Nahfeldkommunikation, wenn diese Geräte so gepaart sind. Allerdings kann das Teilen ausgeschaltet werden, wenn die Geräte einen bestimmten Bereich übersteigen Weiterhin kann bei der Paarung einer Plattform, wie hierin beschrieben mit einem Smartphone ein Alarm konfiguriert werden, der ausgelöst werden wenn sich die Geräte an einem öffentlichen Ort weiter als eine vorgegebenen Distanz voneinander entfernen. Im Gegensatz dazu können die Geräte diese vorgegebene Entfernung überschreiten ohne den Alarm auszulösen, wenn sie sich an einen sicheren Standort, z. B. einem Arbeitsplatz oder zu Hause befinden.
  • Auch die Reaktionsfähigkeit kann mithilfe der Sensorinformationen verbessert werden. Zum Beispiel können die Sensoren auch bei niedriger Leistung der Plattform weiterhin aktiviert sein, um bei einer relativ niedrigen Frequenz betrieben zu werden. Dementsprechend werden Änderungen in der Position der Plattform, beispielsweise wie von Trägheitssensoren, GPS-Sensor usw. vorgegeben, bestimmt. Wenn keine Veränderungen registriert wurden, erfolgt eine schnellere Verbindung zu einem früheren Wireless-Hub, wie z. B. Wi-FiTM-Zugriffspunkt oder Drahtloskomponente, da es in diesem Fall nicht erforderlich ist, nach verfügbaren Drahtlosnetzwerkressourcen zu scannen. So wird ein höheres Maß an Reaktionsfähigkeit beim Aufwachen von einem niedrigen Energiezustand erreicht.
  • Daraus geht hervor, dass viele andere Anwendungsfälle unter Verwendung von Sensorinformationen aktiviert werden, die von den in eine Plattform eingebauten Sensoren stammen, wie hierin beschrieben und die obigen Beispiele dienen nur der Veranschaulichung. Bei der Verwendung eines hier beschriebenen Systems kann ein Wahrnehmungs-Computersystem das Hinzufügen alternativer Eingabemodalitäten, einschließlich der Gestenerkennung ermöglichen und das System in die Lage versetzen, Benutzeroperationen und die Absicht zu erfassen.
  • In einigen Ausführungsformen können ein oder mehrere Infrarot- oder anderen Wärmeerfassungselemente oder jedes andere Element zum Erfassen der Gegenwart oder Bewegung eines Benutzers vorhanden sein. Solche Sensorelemente können mehrere verschiedene Elemente enthalten, die zusammenarbeiten, abwechselnd arbeiten oder beides. Beispielsweise enthalten Sensorelemente Elemente, die die Anfangserfassung bereitzustellen, wie beispielsweise Licht- oder Schallprojektion, gefolgt vom Abtasten zur Gestenerkennung zum Beispiel durch eine Ultraschall-Flugzeit-Kamera oder eine strukturierte Lichtkamera.
  • In einigen Ausführungsformen umfasst das System auch einen Lichtgenerator zur Erzeugung einer beleuchteten Linie. In einigen Ausführungsformen stellt diese Linie einen visuellen Hinweis in Bezug auf eine virtuelle Grenze, nämlich eine imaginären oder virtuellen Ort im Raum, wo eine Maßnahme des Benutzers, durch eine virtuelle Grenze oder Ebene zu gehen oder sie zu durchbrechen als Absicht ausgelegt wird, in das Computersystem einzugreifen. In einigen Ausführungsformen kann die beleuchtete Linien die Farben ändern, während das Computersystem in verschiedenen Zustände in Bezug auf den Benutzer übergeht. Der Leuchtlinie kann verwendet werden, um einen dem Benutzer einen visuellen Hinweis auf eine virtuelle Grenz im Raum zugeben und kann vom System dazu verwendet werden, Zustandsübergänge des Computers in Bezug auf den Benutzer festzustellen, einschließlich der Bestimmung, wann der Benutzer in den Computer eingreifen möchte.
  • In einigen Ausführungsformen ertastet der Computer die Benutzerposition und arbeitet, um die Bewegung der Hand des Benutzers durch die virtuelle Grenze als Geste auszulegen, die auf die Absicht des Benutzers hinweist, in den Computer einzugreifen. In einigen Ausführungsformen kann das Licht vom Lichtgenerator erzeugte wechseln, wenn der Benutzer die virtuelle Linie oder Ebene durchdringt, wodurch der Benutzer ein visuelles Feedback erhält, dass der Benutzer einen Bereich für die Bereitstellung von Gesten als Eingaben an den Computer betreten hat.
  • Bildschirme können visuelle Hinweise auf Übergänge der Zustände eines Computersystems in Bezug auf einen Benutzer geben. In einige Ausführungsformen ist ein erster Bildschirm im ersten Zustand bereitgestellt, in dem die Anwesenheit eines Benutzers durch das System ertastet wird, wie durch den Einsatz eines oder mehrerer der Tastelemente.
  • In einigen Implementierungen erkennt das System die Benutzeridentität, z. B. durch Gesichtserkennung. Hier kann ein Übergang auf einen zweiten Bildschirm in einem zweiten Zustand gewährt werden, in dem das Computersystem, die Identität des Benutzers erkannt hat, wobei der Bildschirm in diesem zweiten Zustand visuelles Feedback an den Benutzer zurückgibt, dass der Benutzer in einen neuen Zustand übergegangen ist. Der Übergang zu einem dritten Bildschirm kann in einem dritten Zustand auftreten, in dem der Benutzer die Erkennung des Benutzers bestätigt hat.
  • In einigen Ausführungsformen kann das Computersystem einen Übergang-Mechanismus verwenden, um einen Ort einer virtuellen Grenze für einen Benutzer zu bestimmen, wobei der Ort der virtuellen Grenze je nach Benutzer und Kontext variieren kann. Das Computersystem kann ein Licht wie z. B. eine Leuchtlinie erzeugen, um die virtuelle Grenze für den Dialog mit dem System zu generieren. In einigen Ausführungsformen kann sich das Computersystem in einem Wartezustand befinden und das Licht kann in einer ersten Farbe erzeugt werden. Das Computersystem kann eventuell erkennen, ob der Benutzer über die virtuelle Grenze hinausgegangen ist, z. B. durch Abtasten der Anwesenheit und Bewegung des Benutzers mit Sensorelementen.
  • In einigen Ausführungsformen kann das Computersystem in einen Zustand zum Erhalt von Gestikeingaben seitens des Benutzers übergehen, wenn erkannt wurde, dass der Benutzer die virtuelle Grenze überschritten hat (z. B. wenn die Hände des Benutzers näher am Computersystem als an der virtuellen Grenzlinie sind), wobei ein Mechanismus zur Anzeige des Übergangs das Licht zur Anzeige der virtuellen Grenze beinhalten kann, die zu einer zweiten Farbe wechselt.
  • In einigen Ausführungsformen kann das Computersystem dann entscheiden, ob Gestenbewegungen erkannt wurden. Wenn Gestenbewegungen erkannt werden, kann das Computersystem mit einem Gestenerkennungsprozess fortfahren, der die Verwendung von Daten aus einer Gesten-Datenbibliothek enthalten kann, die sich im Speicher des Computers befinden kann oder auf die der Computer anders zugreifen kann.
  • Wenn eine Geste des Benutzers erkannt wird, kann das Computersystem als Reaktion auf die Eingabe eine Funktion durchführen und zurückkehren, um zusätzliche Gesten zu erhalten, wenn der Benutzer sich innerhalb der virtuellen Begrenzung befindet. In einigen Ausführungsformen kann das Computersystem zu einem Fehlerzustand übergeben, falls die Geste nicht erkannt wurde, wobei ein Mechanismus zur Anzeige des Fehlerzustands das Licht beinhalten kann, das die virtuelle Grenze anzeigt, die in eine dritte Farbe wechselt und das System kehrt dann zurück, um zusätzliche Gesten zu erhalten, wenn der Benutzer sich innerhalb der virtuellen Begrenzung für die Kommunikation mit dem Computersystem befindet.
  • Wie bereits erwähnt, kann das System in anderen Ausführungsformen als konvertibles Tablet-System konfiguriert werden, dass in mindestens zwei verschiedenen Modi, nämlich dem Tablet-Modus und dem Notebook-Modus verwendet werden. Das konvertible System hat möglicherweise zwei Bereiche, nämlich ein Displaypanel und ein Basispanel, so dass die beiden Platten im Tablet-Modus übereinander gestapelt angeordnet sind. Im Tablet-Modus zeigt das Displaypanel nach außen und kann die Touchscreen-Funktionalität wie in herkömmlichen Tablets anbieten. Im Notebook-Modus können die zwei Platten in einer offenen Klappkonfiguration angeordnet werden.
  • In verschiedenen Ausführungsformen ist der Beschleunigungsmesser möglicherweise ein 3-Achsen-Beschleunigungsmesser mit Übertragungsraten von mindestens 50 Hz. Auch ein Gyroskop kann eingefügt werden, das ein 3-Achsen-Gyroskop sein kann. Darüber hinaus kann ein e-Kompass/Magnetometer vorhanden sein. Auch ein oder mehrere Näherungssensoren können bereitgestellt werden (z. B. für Deckel offen zum erkennen, wann eine Person in der Nähe (oder nicht) des Systems ist und Anpassung der Energie/Leistung zur Verlängerung der Akkulaufzeit). Für einige BS kann die Sensorfusionsfähigkeit einschließlich Beschleunigungssensor, Gyroskop und Kompass erweiterte Funktionen bieten. Darüber hinaus kann ein Nachlauf des Sensorenmechanismus über einen Sensorhub mit einer Echtzeituhr (RTC) erfolgen, um die Sensoreingabe zu empfangen, wenn sich ein Rest des Systems in einem niedrigen Leistungszustand befindet.
  • In einigen Ausführungsformen ist ein interner Öffnungsschalter oder Sensor für Deckel/Anzeige vorhanden, um anzuzeigen, wenn der Deckel geöffnet/geschlossen ist und kann verwendet werden, um das System in den Connected Standbymodus zu versetzen oder es automatisch aus diesem Zustand zu befreien. Zu anderen Systemsensoren zählen ACPI-Sensoren für die Überwachung von interne Prozessoren, Speicher und Hauttemperatur, um Änderungen an Prozessor- und System-Betriebszuständen anhand Tastparametern zu aktivieren.
  • In einer Ausführungsform kann das BS ein Microsoft® Windows® 8 BS sein, dass Connected Standby (hier auch Win8 CS genannt) enthält. Windows 8-Connected Standby oder ein anderes BS mit einem ähnlichen Zustand können über eine Plattform wie hier beschrieben, sehr niedrige Ultra-Leerlauf-Power bieten, damit die Anwendungen angeschlossen bleiben, z. B. an einem Cloud-basierten Ort bei sehr niedrigem Stromverbrauch. Die Plattform kann 3 Stromstatus unterstützen, nämlich Bildschirm auf (normal); Connected Standby (als Standard ”off”-Zustand); und Herunterfahren (null Watt Stromverbrauch). Somit ist die Plattform im Connected Standby-Zustand logischerweise eingeschaltet (mit minimaler Leistung), obwohl der Bildschirm ausgeschaltet ist. In einer solchen Plattform kann die Stromüberwachung für Anwendungen transparent gestaltet werden und ständig verbunden sein, teilweise durch Offload-Technologie, damit auch das Element mit der geringsten Stromversorgung eine Operation durchführen kann.
  • Wie auch in 4 gezeigt, können diverse Peripherie-Geräte ein Low Pin Count (LPC) an den Prozessor 410 gekoppelt sein. In der gezeigten Ausführungsform können verschiedene Komponenten durch einen eingebetteten Regler 435 gekoppelt sein. Diese Komponenten können z. B. eine Tastatur 436 (z. B. über eine PS2-Schnittstelle gekoppelt), eine Lüftung 437 und ein thermischer Sensor 439 sein. In einigen Ausführungsformen kann das Touch-Pad 430 auch an EG-435 über eine PS2-Schnittstelle gekoppelt sein. Darüber hinaus kann ein Sicherheitsprozessor wie ein gesichertes Plattformmodul (TPM) 438 in Übereinstimmung mit der Trusted Computing Group(TCG)TPM-Spezifikationsversion 1.2, vom 2. Oktober 2003 über diese LPC-Schaltung an den Prozessor 410 gekoppelt sein. Allerdings ist der Anwendungsbereich für die vorliegende Erfindung nicht in dieser Hinsicht begrenzt und die sichere Verarbeitung und Speicherung von sicheren Informationen kann in einem anderen geschützten Speicherort erfolgen, wie ein Static Random Access-Speicher (SRAM) in einem Sicherheits-Koprozessor oder als verschlüsselte Daten-Blobs, die nur entschlüsselt werden, wenn sie durch einen sicheren Enklave(SE)-Prozessor-Modus geschützt sind.
  • In einer bestimmten Implementierung können Peripherie-Anschlüsse eine hochauflösende Medienschnittstelle (HDMI) enthalten (die verschiedenen Formfaktoren wie volle Größe, Mini oder Mikro haben kann); ein oder mehrere USB-Anschlüsse, wie Full-Size externe Anschlüsse gemäß der Universal Serial Bus Revision 3.0-Spezifikation (November 2008), mit mindestens einem angetrieben zum Aufladen von USB-Geräten (z. B. Smartphones), wenn sich das System im Connected Standby-Zustand befindet und an eine Netzsteckdose angeschlossen ist. Darüber hinaus können ein oder mehrere ThunderboltTM-Anschlüsse bereitgestellt werden. Andere Anschlüsse können u. a. ein extern zugänglicher Kartenleser wie ein Full Size SD-XC-Card-Reader und/oder ein SIM-Kartenleser für WWAN (z. B. ein 8-poliger-Kartenleser) sein. Für Audio kann eine 3,5 mm-Buchse mit Stereo Sound und Mikrofon-Funktion (z. B. Kombinationsfunktionalität) mit Unterstützung für die Buchsenerkennung (z. B. nur Kopfhörer-Unterstützung mit Mikrofon im Deckel oder Kopfhörer mit Mikrofon im Kabel) vertreten sein. In einigen Ausführungsformen kann diese Buchse neu zwischen Stereo-Kopfhörer und Stereo-Mikrofon-Eingang geschaltet werden. Auch eine Netzbuchse für die Verkopplung mit einem AC-Trafo bereitgestellt werden.
  • Das System 400 kann auf viele Arten und auch drahtlos mit externen Geräten kommunizieren. In der in 4 gezeigten Ausführungsform befinden sich verschiedene Drahtlosmodule, von denen jedes einem Funkgerät entsprechen kann, das für ein bestimmtes Drahtlos-Kommunikationsprotokoll konfiguriert ist. Eine Art der drahtlosen Kommunikation in einem Nahbereich wie z. B. ein Nahfeld kann über eine Nahfeldkommunikationseinheit (NFC) 445 erfolgen, die in einer Ausführungsform mit Prozessor 410 über einen SMBus kommuniziert. Beachten Sie, dass über diese NFC-Einheit 445, Geräte in der Nähe miteinander kommunizieren können. So kann z. B. ein Benutzer das System 400 für die Kommunikation mit einem anderen (z. B.) tragbaren Gerät aktivieren, wie ein Smartphone des Benutzers über Angleichung der beiden Geräte in engem Zusammenhang und Aktivieren der Übertragung von Informationen wie Informationen zur Identifizierung, Zahlungsinformationen, Daten wie z. B. Bilddaten usw. Auch die drahtlose Energieübertragung kann mit einem NFC-System durchgeführt werden.
  • Mithilfe der hier beschriebenen NFC-Einheit können Benutzer Geräte verschieben oder Geräte für Nahfeld-Kopplungsfunktionen nebeneinander stellen (wie z. B. Nahfeldkommunikation und drahtloser Energietransfer (WPT)) indem sie die Kopplung zwischen Spulen eines oder mehrere dieser Geräte wirksam einsetzen. Genauer gesagt, bieten die Ausführungsformen Geräte mit strategisch geformten und platzierten Ferrit-Materialien um eine bessere Kopplung der Spulen zu erwirken. Jeder Spule ist eine Induktivität zugeordnet, die in Verbindung mit den resistiven, kapazitiven und andere Merkmalen des Systems ausgewählt werden können, um eine gemeinsame Resonanzfrequenz des Systems zu ermöglichen.
  • Wie weiter in 4 gezeigt, können zusätzliche drahtlose Einheiten andere drahtlose Nahbereichsmaschinen beinhalten, einschließlich eine WLAN-Einheit 450 und eine Bluetooth-Einheit 452. Mit der WLAN-Einheit 450 können Wi-FiTM Kommunikationen gemäß einer bestimmten Norm 802.11 des Institute of Electrical und Electronics Engineers (IEEE) hergestellt werden, während über Bluetooth-Einheit 452, Nachbereichskommunikationen über das Bluetooth-Protokoll erfolgen kann. Diese Einheiten können mit Prozessor 410 z. B. über eine USB-Verbindung oder einen Universal Asynchronous Receiver Transmitter(UART)-Link kommunizieren. Oder diese Einheiten können über eine Schaltung Peripheral gemäß eines Component Interconnect ExpressTM(PCIeTM)-Protokolls, z. B. gemäß der PCI ExpressTM Spezifikation Basisspezifikation Version 3.0 (erschienen am 17. Januar 2007), oder ein anderes Protokoll wie ein serieller Daten Eingabe/Ausgabe(SDIO)-Standard an den Prozessor 410 gekoppelt werden. Natürlich kann die tatsächliche physikalische Verbindung zwischen diesen Peripherie-Geräten, die auf einer oder mehreren Karten konfiguriert werden kann, durch die NGFF-Stecker an eine Festplatte angepasst werden.
  • Darüber hinaus können drahtlose Wide Area-Kommunikationen, z. B. mit einem Mobiltelefon- oder sonstigem drahtlosen WAN-Protokoll, über eine WWAN-Einheit 456 erfolgen, die dann an ein Subscriber Identity Module (SIM) 457 gekoppelt werden kann. Darüber hinaus kann auch ein GPS-Modul 455 vorhanden sein, um den Erhalt und die Nutzung von Standortinformationen zu ermöglichen. Achten Sie darauf, dass in der in 4 gezeigten Ausführungsform die WWAN-Einheit 456 und eine integrierte Erfassungsvorrichtung wie z. B. ein Kameramodul 454 über ein bestimmtes USB-Protokoll wie z. B. ein USB-2.0 oder 3.0 Link oder ein UART oder I2C-Protokoll kommunizieren können. Wieder kann die tatsächliche physische Verbindung dieser Einheiten über die Anpassung einer NGFF-Karte mit einem NGFF-Anschluss erfolgen, der auf der Hauptplatine konfiguriert wird.
  • In eine bestimmte Ausführungsform kann die Drahtlos-Funktionalität modular bereitgestellt werden, z. B. mit einer Wi-FiTM 802.11ac-Lösung (z. B. Karte, die abwärts mit IEEE 802.11abgn kompatibel ist) mit Unterstützung für Windows 8 CS. Diese Karte kann in einem internen Steckplatz (z. B. über einen NGFF-Adapter) konfiguriert werden. Ein zusätzliches Modul kann für Bluetooth-Fähigkeit sorgen (z. B. Bluetooth 4.0 mit Rückwärtskompatibilität) sowie Intel® Wireless Display-Funktionalität. Zusätzlich kann die NFC-Unterstützung über ein separates Gerät oder ein Multifunktionsgerät bereitgestellt werden, und kann beispielsweise in einem vorderen rechten Teil des Gehäuses für den einfachen Zugriff positioniert werden. Ein weiteres Zusatzmodul kann eine WWAN-Vorrichtung sein, die 3G/4G/LTE und GPS unterstützen kann. Dieses Modul kann in einem internen Steckplatz implementiert werden (z. B. NGFF). Integrierte Antennenunterstützung kann für Wi-FiTM Bluetooth, WWAN, NFC und GPS bereitgestellt werden, wodurch ein nahtloser Übergang von Wi-FiTM auf WWAN-Radios, drahtlose Gigabit (WiGig) gemäß der Wireless Gigabit-Spezifikation (Juli 2010), und umgekehrt möglich ist.
  • Wie oben beschrieben, kann eine integrierte Kamera in den Deckel eingebaut werden. In einem Beispiel kann diese Kamera eine hochauflösende Kamera sein, z. B. mit einer Auflösung von mindestens 2.0 Megapixeln (MP) und bis zu 6.0 MP und mehr.
  • Um Audioein- und ausgänge zu ermöglichen, kann ein Audioprozessor über einen digitalen Signalprozessor (DSP) 460 implementiert werden, der an über einen hochauflösenden Audio-Link (HDA) an einen Prozessor 410 gekoppelt werden kann. Ebenso kann DSP 460 mit einem integriertem Coder/Decoder (CODEC) und Verstärker 462 kommunizieren, die wiederum an Ausgangslautsprecher 463 gekoppelt werden kann, der in das Gehäuses implementiert werden kann. Ebenso können Verstärker und CODEC 462 gekoppelt werden, um Audio-Eingaben von einem Mikrofon 465 zu empfangen, das in einer Ausführungsform über Dual-Array-Mikrofone implementiert werden kann (wie z. B. ein digitales Mikrofon-Array), um hochwertige Audioeingänge für die sprachaktivierte Kontrolle verschiedener Operationen innerhalb des Systems zu ermöglichen. Beachten Sie auch, dass Audio-Ausgänge von einem Verstärker/CODEC 462 zu einem Kopfhöreranschluss 464 bereitgestellt werden können. Obwohl mit dieser bestimmten Komponenten in der Ausführungsform der 4 gezeigt, ist klar, dass der Anwendungsbereich dieser Erfindung in dieser Hinsicht nicht begrenzt ist.
  • In einer besonderen Ausführungsform sind der Digital-Audio-Codec und der Verstärker in der Lage, den Stereo-Kopfhöreranschluss, Stereo-Mikrofonanschluss, ein internes Mikrofon-Array und die Stereo-Lautsprecher zu betreiben. In verschiedenen Implementierungen kann der Codec in ein Audio-DSP integriert oder über einen HD-Audio-Pfad mit einem Peripherie-Reglerhub (PCH) gekoppelt werden. In einigen Implementierungen ein oder mehrere Basslautsprecher neben den integrierten Stereo-Lautsprechern bereitgestellt werden, und die Lautsprecherlösung unterstützt DTS-Audio.
  • In einigen Ausführungsformen kann der Prozessor 410 von einem externen Spannungsregler (VR) und mehreren internen Spannungsreglern angetrieben werden, die in den Prozessorchip eingebaut sind und die als voll integrierte Spannungsregler (FIVRs) bezeichnet werden. Die Verwendung mehrerer FIVRs im Prozessor ermöglicht die Gruppierung von Komponenten in getrennte Stromebenen, so dass der Strom kontrolliert und vom FIVR nur an die Komponenten in der Gruppe geliefert wird. Während der Energiesteuerung kann eine gegebene Energie-Ebene eines FIVR stromsparend oder ausgeschaltet werden, wenn der Prozessor in einen bestimmten stromsparenden Zustand versetzt wird, während eine andere Stromebene eines anderen FIVR aktiv oder vollständig angetrieben bleibt.
  • In einer Ausführungsform kann eine fortgesetzte Stromebene während einiger Tiefschlafzustände verwendet werden, um die I/O-Pins für mehrere I/O-Signale einzuschalten, z. B. die Schnittstelle zwischen dem Prozessor und einem PCH, die Schnittstelle zu der externen VR und die Schnittstelle mit EG-435. Diese fortgesetzte Stromebene betreibt auch einen Spannungsregler auf einem Chip, der den SRAM auf der Festplatte oder einen anderen Cache-Speicher unterstützt, in dem der Prozessorkontext während des Ruhezustands gespeichert ist. Die fortgesetzte Stromebene dient auch zum Einschalten der Wakeup-Logik des Prozessors, die die verschiedenen Wakeup-Quellsignale überwacht und verarbeitet.
  • Bei der Stromüberwachung bleibt die fortgesetzte Stromebene eingeschaltet, um die oben genannten Komponenten zu unterstützen, während andere Stromebenen stromsparend oder ausgeschaltet werden, wenn der Prozessor in bestimmte Ruhezustände versetzt wird. Jedoch kann dies zu unnötigem Energieverbrauch oder Dissipation führen, wenn diese Komponenten nicht benötigt werden. Zu diesem Zweck können Ausführungsformen einen Connected Standby-Ruhezustand vorgeben, um den Prozessorkontext mit mithilfe einer eigenen Stromebene zu erhalten. In einer Ausführungsform, erleichtert der Connected Standby Ruhezustand das Wakeup des Prozessors mit Ressourcen eines PCH, der selbst in einem Gehäuse mit dem Prozessor vorhanden sein kann. In einer Ausführungsform der erleichtert der Connected Standby Ruhezustand den Erhalt von strukturellen Prozessor-Funktionen im PCH bis zum Prozessor Wakeup, wobei diese Aktivierung alle unnötigen Prozessorkomponenten ausschaltet, die zuvor während der Ruhezustände eingeschaltet blieben, wobei auch alle Uhren ausgeschalten werden. In einer Ausführungsform enthält der PCH einen Time Stamp Counter (TSC) und eine Connected Standby-Logik zur Steuerung des Systems während des Connected Standby-Zustands. Der integrierte Spannungsregler für die fortgesetzte Stromebene kann sich auch auf der PCH befinden.
  • In einer Ausführungsform kann ein integrierter Spannungsregler während des Connected Standby-Zustands als eigene Stromebene agieren, die eingeschaltet bleibt, um den entsprechenden Cache-Speicher, in dem der Prozessorkontext, wie z. B. kritische Zustandsvariablen wenn der Prozessor in die Ruhezustände und Connected Standby-Zustände versetzt wird, gespeichert ist, zu unterstützen. Dieser kritische Zustand kann Zustandsvariablen verbunden mit dem strukturellen, mikro-strukturellen, Debug-Zustand und/oder ähnliche mit dem Prozessor verbundenen Zustandsvariablen enthalten.
  • Die Wakeup-Quellsignale von EG-435 können während des Connected Standby-Zustands an den PCH anstatt den Prozessor gesendet werden, so dass der PCH die Wakeup-Verarbeitung anstelle des Prozessors verwalten kann. Darüber hinaus wird der TSC im PCH gehalten, um die fortgesetzten strukturellen Prozessorfunktionen zu erleichtern. Obwohl mit diesen bestimmten Komponenten in der Ausführungsform der 4 gezeigt, ist der Anwendungsbereich dieser Erfindung in dieser Hinsicht nicht begrenzt.
  • Die Stromüberwachung des Prozessors kann zu verstärkten Energieeinsparungen führen. Beispielsweise kann die Energie dynamisch zwischen den Kernen zugewiesen werden, einzelne Kerne können die Frequenz/Spannung ändern und mehrere Energiesparzustände können angegeben werden, um den sehr geringen Energieverbrauch zu ermöglichen. Darüber hinaus kann die dynamische Kontrolle der Kerne oder unabhängiger Kernteile für geringeren Stromverbrauch durch Ausschalten von Komponenten sorgen, wenn sie nicht verwendet werden.
  • Einige Implementierungen können eine spezifische Stromüberwachungs-IC (PMIC) bereitstellen, um die Plattformleistung zu steuern. Mit dieser Lösung hat ein System in einem bestimmten Standby-Zustand einen sehr geringen Batterieverbrauch (z. B. weniger als 5%) über eine lange Zeit (z. B. 16 Stunden), wie z. B. in einem Win8 Connected Standby-Zustand.
  • In einem Win8 Leerlauf-Zustand kann eine Batterielaufzeit von über 9 Stunden (z. B. bei 150 Nits) erzielt werden. Für Video-Wiedergabe kann eine lange Batterielaufzeit erreicht werden, z. B. Full-HD-Video-Wiedergabe für mindestens 6 Stunden. Eine Plattform in einer Implementierung kann eine Energiekapazität von z. B. 35 Watt-Stunden (Wh) für ein Win8 CS mit einer SSD und (z. B.) 40–44 Whr für Win8 CS mit einer HDD mit einer RST-Cache-Konfiguration erzielt werden.
  • Eine bestimmte Implementierung kann 15 W nominale CPU-Thermal Design Power (TDP), mit eine konfigurierbaren CPU TOP von bis zu ca. 25 W TOP Auslegungspunkt unterstützen. Die Plattform kann minimale Abzüge aufgrund der vorstehend beschriebenen thermischen Merkmale enthalten. Darüber hinaus ist die Plattform kissenfreundlich (da keine heiße Luft auf Benutzer bläst). Verschiedene Höchsttemperaturpunkte können je nach Material des Gehäuses erzielt werden. In eine Implementierung eines Kunststoffgehäuses (wobei zumindest der Deckel oder der unteren Teil aus Kunststoff besteht) kann die maximale Betriebstemperatur 52 Grad Celsius (C) betragen. Und für eine Implementierung eines Metallgehäuses beträgt die maximale Betriebstemperatur 46°C.
  • In verschiedenen Implementierungen kann ein Sicherheitsmodul wie ein TPM in einen Prozessor integriert werden oder es kann ein diskretes Bauelement wie ein TPM-2.0-Gerät sein. Mit einem integrierten Sicherheitsmodul, auch als Platform Trust Technologie (PTT) bezeichnet, kann BIOS/Firmware aktiviert werden, um bestimmte Hardwarefunktionen für bestimmte Sicherheitsmerkmale, einschließlich sicherer Anleitungen, sicherem Boot, Intel® Anti-Theft Technologie, Intel® Identity Protection-Technologie, Intel® Trusted Execution Technology (TXT) und Intel® Management Engine-Technologie zusammen mit sicheren Benutzeroberflächen wie einer sichere Tastatur und Display zu exponieren.
  • Während die vorliegende Erfindung in Bezug auf eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, werden fachkundige Anwender zahlreiche Modifikationen und Variationen dieser zu schätzen wissen. Es ist vorgesehen, dass die angefügten Ansprüche all diese Modifikationen und Variationen, die im Sinne und Umfang der vorliegenden Erfindung sind, abdecken.
  • Mit Verweis auf 5 wird ein Blockdiagramm von Komponenten gezeigt, die in einem zweiten Computersystem in Übereinstimmung mit einer Ausführungsform dieser Erfindung vorhanden sind. Wie in 5 gezeigt, kann System 500 eine beliebige Kombination der Komponenten enthalten. Diese Komponenten können als ICs, Teile davon, diskrete elektronische Geräte oder andere Module, Logik, Hardware, Software, Firmware oder eine Kombination davon in einem Computersystem oder als Komponenten anders in ein Gehäuse des Computersystems integriert werden. Beachten Sie auch, dass das Blockdiagramm von 5 eine von oben betrachteten Ansicht vieler Komponenten des Computersystems zeigen soll. Allerdings können auch einige der gezeigten Komponenten weggelassen werden können, weitere Komponenten enthalten sein, und verschiedene Anordnungen der gezeigten Komponenten können bei anderen Implementierungen auftreten.
  • Wie in 5 dargestellt enthält in einem Ausführungsbeispiel ein Prozessor 510 einen Mikroprozessor, Mehrkernprozessor, Multithread-Prozessor, ein Niederspannungsprozessor, einen eingebetteten Prozessor oder andere bekannte Verarbeitungselemente. In der Illustrierten Implementierung fungiert Prozessor 510 als eine Hauptverarbeitungseinheit des Systems 500. Als ein konkretes illustratives Beispiel kann Prozessor 510 einer der oben beschriebenen Prozessoren von Intel Corporation, AMD, ein ARM-Design, ein MIPS-Design, Qualcomm, TI oder sonstigen Hersteller stammen. Bestimmte Details zur Architektur und dem Betrieb des Prozessors 510 in einer Implementierung werden unten weiter ausgeführt.
  • Prozessor 510, in einer Ausführungsform, kommuniziert mit einem Systemspeicher 551 und 552. In einem erläuternden Beispiel können über die Speicheranschlüsse 550a und 550b mehrere Pfade für die Kommunikation mit den Speichern bereitgestellt werden. Als Beispiel dafür kann jedes der Speichergeräte (und der Anschlüsse) mit anderer Geschwindigkeit arbeiten und ausgehend von einem bestimmten Stromverbrauchsziel gemäß LPDDR2 oder einem LPDDR-Standard der nächsten Generation geregelt mit Strom versorgt werden. Als Beispiele können über diese Speichergeräte mit dem Formfaktor SDP, DDP oder QDP 2/4/8 Gigabyte (GB) Systemspeicher bereitgestellt und in einer bestimmten Weise an ein Motherboard angeschlossen werden.
  • Wie ersichtlich in 5, kann der Prozessor 510 sich über mehrere Schnittstellen, darunter eine Direct Media Interface-Schnittstelle (DMI) 512 und eine Flexible Display Interface-Schnittstelle (FDI) 511 mit dem Chipset 515 koppeln. Obwohl in der Ausführungsform von 5 mit diesen bestimmten Anschlüssen zum Chipsatz 515 dargestellt, kann die Verbindung mit einem Chipsatz in anderen Ausführungsformen auch auf andere Weise erfolgen. In einigen Ausführungsformen kann Chipsatz 515 auch als Periphera Controller Hub (PCH, Peripherie-Controller-Hub) bezeichnet werden, da er eine Schnittstelle zu den verschiedenen Peripheriegeräten des Systems bereitstellt.
  • Für die persistente Speicherung von Informationen wie Daten, Anwendungen, einem oder mehreren Betriebssystemen und so weiter, kann sich eine SSD 531 über einen Serial Advanced Technology Attach-Anschluss (SATA) 530 mit dem Chipsatz 515 koppeln.
  • Obwohl in der Implementierung mit SSD gezeigt, kann der Massenspeicher in andere Ausführungsformen primär über ein HDD mit einem kleineren SSD-Speicher implementiert werden, wobei der SSD-Speicher als SSD-Cache fungiert, um bei Stromabschaltungen die permanente Speicherung des Kontextzustands und anderer Informationen zu ermöglichen, damit bei erneuter Einleitung von Systemaktivitäten ein schnelles Hochfahren erfolgen kann.
  • Wie auch in 5 kann ein Flashspeicher 541 – z. B. über eine Serial Peripheral Interface-Schnittstelle (SPI) 555 – mit dem Prozessor 510 gekoppelt werden. Auch dieser Flashspeicher ermöglicht die permanente Speicherung der Systemsoftware, einschließlich eines BIOS, sowie anderer Firmware des Systems.
  • Im System 500 können verschiedene Ein-/Ausgabegeräte vorhanden sein. Speziell wie bei der Ausführungsform von 5 gezeigt, wird eine Anzeige 521, bei der es sich um eine hochauflösende LCD-Anzeige handeln kann, in einem Deckelteil des Gehäuses untergebracht. Diese Anzeige kann über einen Low Voltage Differential Signaling-Anschluss (LVDS) 520 mit dem Chipset 515 gekoppelt werden. Zwar werden diese spezielle Art der Verbindung und eine LCD-Anzeige dargestellt, aber es ist klar, dass andere Arten von Anzeigen also z. B. LED-Anzeigen oder eine andere Art von Anzeigen sowie eine andere Ausführung des Anschlusses zur Verfügung gestellt werden können.
  • Wie weiterhin zu sehen ist kann eine zusätzliche Grafikschnittstelle über einen Display Port-Anschluss 525 geboten werden, die mit einem Anzeigeadapter 526 gekoppelt wird, der in einer Ausführungsform als Mini-Display-Port-Adapter (MiniDP) 526 vorliegen kann. Dieser Adapter kann wiederum die Verbindung mit einem externen Videoausgabegerät, z. B. einen HDMI-Gerät 527, herstellen, das in einer Ausführungsform ein TV-Flachbildschirm unterschiedlichen Typs, also z. B. ein Plasma-Gerät, LED-Gerät, LCD-Gerät oder dergleichen sein kann.
  • Weiter bezugnehmend auf 5, kann ein Touchscreen 574 extern über die Anzeige adaptiert werden, so dass Benutzereingaben in das System über die Interaktion des Benutzers mit diesem Touchscreen erfolgen, um gewünschte Vorgänge hinsichtlich der Anzeige von Informationen, des Zugriffs auf Informationen und so weiter zu ermöglichen. Der Touchscreen 574 kann über einen USB2-Anschluss 570C an den Prozessor 510 gekoppelt werden.
  • Wie ersichtlich in 5 können diverse Peripheriegeräte über einen Low Pin Count-Anschluss (LPC) 545 mit dem Chipsatz 515 gekoppelt werden. In der dargestellten Ausführungsform können verschiedene Komponenten über einen Embedded Controller 551 gekoppelt werden. Bei diesen Komponenten kann es sich um eine Tastatur 552 handeln (z. B. gekoppelt über eine PS2-Schnittstelle). In manchen Ausführungsformen kann ein Touchpad 553 über einen USB2-Anschluss 550 mit dem Chipsatz 515 und über eine PS2-Schnittstelle mit EC 551 gekoppelt werden. Darüber hinaus kann über diesen LPC-Anschluss 545 ein Sicherheitsprozessor wie TPM 546 mit Chipsatz 515 (und Embedded Controller 551) gekoppelt werden.
  • Wie weiter in 5, kann ein serielles Ein-/Ausgabe-Modul (SIO) 547 mit dem LPC-Anschluss 545 gekoppelt werden, um serielle Datenkommunikation zu ermöglichen. Als weitere Anschlüsse, die in einer bestimmten Implementierung mit Chipsatz 515 gekoppelt werden können, sind eines oder mehrere Universal-Ein-/Ausgabegeräte über einen GPIO-Anschluss und eines oder mehrere Systemmanagementgeräte zu nennen, die über einen Systemmanagementbus (SM) angeschlossen werden können.
  • System 500 kann auf vielerlei Weise mit externen Geräten kommunizieren, auch drahtlos. Bei der Ausführungsform, die in 5 dargestellt ist, sind im Drahtlosmodul 561 eine oder mehrere Funkvorrichtungen enthalten, die jeweils für ein bestimmtes drahtloses Kommunikationsprotokoll konfiguriert sind. In der dargestellten Ausführungsform können die Funkvorrichtungen von Modul 561 Drahtlos-Engines kurzer Reichweite mit einer WLAN-Einheit und einer Bluetooth-Einheit 552 enthalten. Mit der WLAN-Einheit kann Wi-FiTM-Kommunikation gemäß einer bestimmten IEEE 802.11-Norm realisiert werden, während über das Bluetooth-Gerät Nahbereichskommunikation über ein Bluetooth-Protokoll möglich ist. Diese Einheiten können über das PCIeTM-Protokoll mit dem Chipsatz 515 oder über ein USB2-Protokoll via Anschluss 560 kommunizieren. Selbstverständlich kann die tatsächliche physische Verbindung zwischen diesen Peripheriegeräten, die auf einer oder mehreren Add-in-Karten konfiguriert sein können, über die an das jeweilige Motherboard angepassten NGFF-Stecker erfolgen.
  • Um Audio-Ein- und Ausgänge zu ermöglichen, kann ein CODEC 536 über einen HD-Audioanschluss 535 mit Chipsatz 515 gekoppelt werden. Wie gezeigt, kann der CODEC 536 für die Codierung und Decodierung der Audioinformationen in Ein- und Ausgaberichtung sorgen. Für die Zwecke der Ausgabe der Audiodaten, die in CODEC 536 decodiert werden, können sie als Ausgabe über die Lautsprecher 537 bereitgestellt werden. Umgekehrt können eingehende Audioinformationen mittels eines Mikrofon-Arrays 538 empfangen werden, das seinerseits auch mit CODEC 536 gekoppelt ist.
  • Um die Eingabe von Videodaten zu ermöglichen, bei denen es sich – wie oben beschrieben – um Standbilder oder Videobilder handeln kann, kann ein Stereokameramodul 581 über einen LVDS-Anschluss 580 mit einer Stereokarte 566 gekoppelt werden, die ihrerseits über einen PCIe-TM-Anschluss 565 mit dem Chipsatz 515 gekoppelt ist. Natürlich kann es in verschiedenen Ausführungsformen auch unterschiedliche Methoden zum Anschließen eines Kameramoduls geben. Um einen Stereoeffekt zu ermöglichen, kann das Kameramodul 581 mehrere Erfassungsgeräte enthalten und im Deckelbereich eines Systems mit einer oder mehreren Kameras ausgeführt werden, bei denen es sich in einigen Ausführungsformen um 2,0 bis 8,0 MP-Kameras handeln kann.
  • Um erweiterte Gesten- und Authentifizierungsvorgänge zu ermöglichen, kann ein Blickverfolgungsmodul 571 bereitgestellt werden. Wie dargestellt, kann dieses Modul über einen Anschluss 570a mit Chipsatz 515 gekoppelt werden, wobei es sich in einer Ausführungsform um einen USB2-Anschluss handeln kann. Das Blickverfolgungsmodul 571 kann dazu verwendet werden, die Augenbewegungen eines Benutzers zu verfolgen und als Gesteneingabe zu verwenden, um dem Benutzer auf diese Weise eine dynamische Anzeige zu bieten. Die Informationen aus diesem Modul können auch für die Zwecke der Energieverwaltung verwendet werden, um den Stromverbrauch zu reduzieren, wenn ein Benutzer nicht mit dem System arbeitet.
  • Weitere Gesteninformationen können über einen Handsensor 573 empfangen werden, der an einen Mikrocontroller 572 gekoppelt ist, der seinerseits über Anschluss 570b mit dem Chipsatz 515 gekoppelt ist, wobei es sich in einer Ausführungsform um einen USB2-Anschluss handeln kann. In der gezeigten Ausführungsform kann es sich beim Mikrocontroller 572 um einen 8051-basierten Mikrocontroller handeln, der die über den Handsensor 573 empfangenen Handinformationen entgegen nimmt. Diese Gesteninformationen können vom System in ähnlicher Weise verwendet werden, um in Reaktion auf die Gesten eines Benutzers verschiedene Vorgänge durchzuführen.
  • Wie weiterhin gezeigt können über einen oder mehrere GPIO-Anschlüsse 590 eines oder mehrere Anzeige-LEDs 591 mit Mikrocontroller 572 gekoppelt werden.
  • Um die Verbindung mit diversen Peripheriegeräten zu ermöglichen, können mehrere externe USB-Anschlüsse 576 bereitgestellt werden, die es einem Benutzer ermöglichen, eine Vielzahl externer Geräte wie Speichergeräte, Mediengeräte, Wiedergabegeräte, Aufnahmegeräte und dergleichen über den Anschluss 575 mit Chipsatz 515 physikalisch zu koppeln, wobei es sich in einer Ausführungsform um einen USB3-Anschluss handeln kann. Obwohl er auf diesem hohen Niveau in der Ausführungsform von 5 ein System auf diesem hohen Niveau dargestellt ist, kann es in anderen Ausführungsformen viele andere Alternativen und Optionen enthalten.
  • 6 ist ein Blockdiagramm eines beispielhaften Computersystems, das mit einem Prozessor gebildet ist, der Ausführungseinheiten zum Ausführen eines Befehls gemäß einer Ausführungsform der vorliegenden Erfindung beinhaltet. Das System 600 beinhaltet eine Komponente, wie z. B. einen Prozessor 602, zum Einsetzen von Ausführungseinheiten, die gemäß der vorliegenden Erfindung Logik zum Ausführen von Algorithmen für Prozessdaten beinhalten, wie z. B. in der hierin beschriebenen Ausführungsform. System 600 vertritt ein auf den Mikroprozessoren Pentium®III, Pentium® 4, Intel® Xeon®, Itanium® und/oder Intel XScale®, die bei der Intel Corporation aus Santa Clara, Kalifornien erhältlich sind, basierendes Verarbeitungssystem, obwohl auch andere Systeme (darunter PCs mit anderen Mikroprozessoren, Engineering-Workstations, Set-Top-Boxen und dergleichen) verwendet werden können. In einer Ausführungsform führt Beispielsystem 600 eine Version des WINDOWS®-Betriebssystems aus, das bei der Microsoft® Corporation aus Redmond, Washington erhältlich ist, obwohl andere Betriebssysteme (zum Beispiel UNIX und Linux), eingebettete Software und/oder grafische Benutzeroberflächen ebenfalls verwendet werden können. Somit sind die Ausführungsformen der vorliegenden Erfindung nicht auf eine bestimmte Kombination von Hardwareschaltung und Software beschränkt.
  • Ausführungsformen sind nicht auf Computersysteme beschränkt. Alternative Ausführungsformen der vorliegenden Erfindung können in anderen Vorrichtungen, wie Handgeräte und eingebettete Anwendungen, verwendet werden. Einige Beispiele von Handgeräten umfassen Mobiltelefone, Internetprotokoll-Geräte, Digitalkameras, persönliche digitale Assistenten (PDAs) und Handheld-PCs. Eingebettete Anwendungen können einen Mikrocontroller, einen digitalen Signalprozessor (DSP), System-on-a-Chip, Netzwerkcomputer (NetPCs), Set-Top-Boxen, Netzwerk-Hubs, Weitverkehrsnetz-Switches (WAN-Switches) oder ein beliebiges anderes System umfassen, das einen oder mehrere Befehle gemäß mindestens einer Ausführungsform ausführen kann.
  • 6 ist ein Blockdiagramm eines Computersystems 600, das mit einem Prozessor 602 gebildet ist, der eine oder mehrere Ausführungseinheiten 608 zum Ausführen eines Algorithmus beinhaltet, um mindestens einen Befehl gemäß einer Ausführungsform der vorliegenden Erfindung auszuführen. Eine Ausführungsform kann im Zusammenhang mit einem Einprozessor-Desktop- oder -Serversystem beschrieben werden, alternative Ausführungsformen können jedoch in ein Mehrprozessorsystem eingebunden werden. System 600 ist ein Beispiel einer Hub-Architektur des Systems. Das Computersystem 600 weist einen Prozessor 602 zur Verarbeitung von Datensignalen auf. Der Prozessor 602 kann ein Mikroprozessor mit komplexem Befehlssatz (Complex Instruction Set Computer, CISC), ein Mikroprozessor mit reduziertem Befehlssatz (Reduced Instruction Set Computing, RISC), ein Mikroprozessor mit sehr langem Befehlswort (Very Long Instruction Word, VLIW), ein Prozessor, der eine Kombination von Befehlssätzen implementiert, oder eine beliebige andere Prozessorvorrichtung, wie beispielsweise ein Digitalsignalprozessor, sein. Der Prozessor 602 ist mit einem Prozessorbus 610 gekoppelt, der Datensignale zwischen dem Prozessor 602 und anderen Komponenten im System 600 übertragen kann. Die Elemente des Systems 600 führen ihre herkömmlichen Funktionen aus, die dem Fachmann wohlbekannt sind.
  • In einer Ausführungsform beinhaltet der Prozessor 602 einen internen Level-1-(L1)-Cache-Speicher 604. Abhängig von der Architektur kann der Prozessor 602 einen einzelnen internen Cache oder mehrere Ebenen von internem Cache aufweisen. Alternativ kann sich in einer anderen Ausführungsform der Cache-Speicher außerhalb von Prozessor 602 befinden. Andere Ausführungsformen können in Abhängigkeit von der jeweiligen Implementierung und Bedarf auch eine Kombination von internen und externen Cache-Speichern beinhalten. Die Registerdatei 606 kann verschiedene Typen von Daten in verschiedenen Registern einschließlich Ganzzahlregistern, Gleitkommaregistern (Floating Point (FP)), Statusregistern und Befehlszeigerregister speichern.
  • Ausführungseinheit 608, die eine Logik zum Ausführen von Ganzzahl- und Gleitkommaoperationen umfasst, befindet sich ebenfalls im Prozessor 602. Der Prozessor 602 beinhaltet auch einen Mikrocode-ROM (μcode-ROM), der Mikrocode für bestimmte Makrobefehle speichert. Bei einer Ausführungsform umfasst Ausführungseinheit 608 eine Logik zur Bearbeitung eines komprimierten Befehlssatzes 609. Indem der komprimierte Befehlssatz 609 in dem Befehlssatz eines Universalprozessors 602 zusammen mit assoziierten Schaltungen zur Ausführung der Befehle aufgenommen wird, können die Operationen, die von vielen Multimedia-Anwendungen verwendet werden, unter Verwendung von komprimierten Daten in einem Universalprozessor 602 ausgeführt werden. Daher können viele Multimedia-Anwendungen beschleunigt und effizienter ausgeführt werden, indem die volle Breite des Datenbusses eines Prozessors zum Ausführen von Operationen an gepackten Daten benutzt wird. Dies kann die Notwendigkeit der Übertragung kleinerer Dateneinheiten über den Datenbus des Prozessors zur Ausführung einer oder mehrerer Operationen an einem Datenelement nach dem anderen beseitigen.
  • Alternative Ausführungsformen einer Ausführungseinheit 608 können auch in Mikrocontrollern, eingebetteten Prozessoren, Grafikvorrichtungen, DSP und anderen Typen von Logikschaltungen benutzt werden. System 600 umfasst einen Speicher 620. Der Speicher 620 kann ein dynamischer Direktzugriffsspeicher (Dynamic Random Access Memory, DRAM), ein statischer Direktzugriffsspeicher (Static Random Access Memory, SRAM), ein Flash-Speichergerät oder ein anderes Speichergerät sein. Der Speicher 620 kann Befehle und/oder Daten speichern, die durch Datensignale repräsentiert werden, die vom Prozessor 602 ausgeführt werden können.
  • Ein Systemlogik-Chip 616 ist an den Prozessorbus 610 und den Speicher 620 gekoppelt. Der Systemlogik-Chip 616 in der dargestellten Ausführungsform ist ein Memory-Controller-Hub (MCH). Der Prozessor 602 kann über einen Prozessorbus 610 mit dem MCH 616 kommunizieren. Der MCH 616 stellt einen Speicherpfad 618 mit hoher Bandbreite für den Speicher 620 zur Befehls- und Datenspeicherung und zur Speicherung von Grafikbefehlen, Daten und Texturen bereit. Mit dem MCH 616 werden Datensignale zwischen dem Prozessor 602, dem Speicher 620 und anderen Komponenten im System 600 verteilt und zwischen dem Prozessorbus 610, Speicher 620 und der System-Ein-/Ausgabe gebrückt. In einigen Ausführungsformen kann der Systemlogik-Chip 616 als Grafikport zur Kopplung mit einem Grafikchip 612 fungieren. Der MCH 616 ist über eine Speicherschnittstelle 618 an den Speicher 620 gekoppelt. Die Grafikkarte 612 ist über einen Accelerated Graphics Port-Anschluss (AGP) 614 mit dem MCH 616 gekoppelt.
  • System 600 verwendet einen proprietären Hub Interface Bus 622, um den MCH 616 an den I/O Controller Hub (ICH) 630 zu koppeln. Der ICH 630 bietet über einen lokalen I/O-Bus direkte Verbindungen mit einigen Ein- und Ausgabegeräten. Der lokale I/O-Bus ist ein Hochgeschwindigkeits-I/O-Bus zur Verbindung von Peripherigeräten mit dem Speicher 620, dem Chipsatz und dem Prozessor 602. Einige Beispiele sind der Audiocontroller 636, der Firmware-Hub (Flash-BIOS) 628, der drahtlose Transceiver 626, der Datenspeicher 624, der Legacy-I/O-Controller 610, der die Benutzereingabe- und Tastaturschnittstellen 642 enthält, ein serieller Erweiterungsanschluss 638, wie z. B. Universal Serial Bus (USB), und ein Netzwerkcontroller 634. Das Datenspeichergerät 624 kann ein Festplattenlaufwerk, ein Diskettenlaufwerk, ein CD-ROM-Gerät, ein Flash-Speicher-Gerät oder ein anderes Massenspeichergerät umfassen.
  • In einer weiteren Ausführungsform eines Systems kann eine Anweisung gemäß einem Ausführungsbeispiel mit einem System auf einem Chip verwendet werden. Eine Ausführungsform eines System-on-a-Chip umfasst einen Prozessor und einen Speicher. Der Speicher für ein solches System ist ein Flash-Speicher. Der Flash-Speicher kann sich auf demselben Die wie der Prozessor und andere Systemkomponenten befinden. Außerdem können sich auch andere logische Blöcke, wie z. B. ein Speichercontroller oder Grafikcontroller auf einem System-on-a-Chip befinden.
  • 7 ist ein Blockdiagramm eines Einzelkernprozessors und eines Mehrkernprozessors 700 mit integriertem Speicher-Controller und Grafik gemäß Ausführungsformen der Erfindung. Die Kästchen mit durchgezogenen Linien in 7 veranschaulichen einen Prozessor 700 mit einem einzelnen Kern 702A, einem Systemagenten 710, einem Satz mit einem oder mehreren Bus-Controller-Einheiten 716, während die optional hinzugefügten Kästchen mit gestrichelten Linien einen alternativen Prozessor 700 mit mehreren Kernen 702A–N, einen Satz mit einem oder mehreren integrierten Speicher-Controller-Einheit(en) 714 in der Systemagent-Einheit 710 und eine integrierte Grafiklogik 708 veranschaulicht.
  • Die Speicherhierarchie beinhaltet eine oder mehrere Ebenen von Cache-Einheiten 704A704N innerhalb der Kerne, einen Satz mit einem oder mehreren gemeinsam genutzten Cache-Einheiten 706 und externen Speicher (nicht abgebildet), der mit dem Satz von integrierten Speicher-Controller-Einheiten 714 gekoppelt ist. Der Satz von gemeinsam genutzten Cache-Einheiten 706 kann einen oder mehrere Caches mittlerer Ebene, wie z. B. der Ebene 2 (L2), Ebene 3 (L3), Ebene 4 (L4) oder Caches anderer Ebenen, einen Cache letzter Ebene (Last Level Cache, LLC) und/oder Kombinationen davon umfassen. Obwohl in einer Ausführungsform ein Ringanschluss 712 die integrierte Grafiklogik 708, den Satz von gemeinsam genutzten Cache-Einheiten 706 und die Systemagent-Einheit 710 miteinander verbindet, können alternative Ausführungsformen eine beliebige Anzahl wohlbekannter Techniken zum Verbinden solcher Einheiten miteinander benutzen.
  • In einigen Ausführungsformen sind einer oder mehrere Kerne 702A–N zum Multithreading in der Lage.
  • Der Systemagent 710 beinhaltet die Komponenten, die die Kerne 702A–N koordinieren und betreiben. Die Systemagenten-Einheit 710 kann zum Beispiel eine Power Control Unit (PCU) und eine Anzeigeeinheit enthalten. Die PCU kann Logik und Komponenten darstellen oder beinhalten, die zum Regulieren des Energiezustandes der Kerne 702A–N und der integrierten Grafiklogik 708 benötigt werden. Die Anzeigeeinheit treibt ein oder mehrere extern angeschlossene Displays an.
  • Die Kerne 702A–N können in Bezug auf Architektur und/oder Befehlssatz homogen oder heterogen sein. Beispielsweise können einige der Kerne 702A–N In-Order-Kerne sein, während andere Out-of-Order-Kerne sind. Als weiteres Beispiel können zwei oder mehr der Kerne 702A–N in der Lage sein, denselben Befehlssatz auszuführen, während andere in der Lage sein können, nur einen Teilsatz dieses Befehlssatzes oder einen anderen Befehlssatz auszuführen.
  • Beim Prozessor kann es sich um einen Universalprozessor, wie etwa den Intel® CoreTM i3, Intel® CoreTM i5, Intel® CoreTM i7, Intel® CoreTM2 Duo oder Intel® CoreTM2 Quad, Intel® Xeon®, Itanium® oder Intel XScale®, der Intel Corporation, aus Santa Clara, Kalifornien handeln. Alternativ kann der Prozessor von einer anderen Firma sein, wie z. B. ARM Holdings, Ltd, MIPS usw. Der Prozessor kann ein Spezialprozessor sein, wie beispielsweise ein Netzwerk- oder Kommunikationsprozessor, eine Komprimierungs-Engine, ein Grafikprozessor, Coprozessor, eingebetteter Prozessor oder dergleichen. Der Prozessor kann auf einem oder mehreren Chips implementiert sein. Der Prozessor 700 kann ein Teil eines oder mehrerer Substrate sein oder auf diesem(-n) unter Benutzen beliebiger von einer Anzahl von Prozesstechnologien, wie beispielsweise BiCMOS, CMOS oder NMOS, implementiert sein.
  • Unter Bezugnahme auf 8 wird ein Blockdiagramm eines zweiten Systems 800 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Wie in 8 gezeigt, ist das Mehrprozessorsystem 800 ein System mit einer Punkt-zu-Punkt-Verbindung und umfasst einen ersten Prozessor 870 und einen zweiten Prozessor 880, die über eine Punkt-zu-Punkt-Verbindung 850 gekoppelt sind. Jeder der Prozessoren 870 und 880 kann eine Version des Prozessors 700 sein.
  • Obwohl nur zwei Prozessoren 870, 880 gezeigt sind, versteht es sich, dass der Umfang der vorliegenden Erfindung nicht derart beschränkt ist. In anderen Ausführungsformen kann ein oder mehrere zusätzliche Prozessoren in einem gegeben Prozessor vorhanden sein.
  • Prozessoren 870 und 880 sind jeweils mit integrierten Speichercontroller-Einheiten 872 und 882 gezeigt. Prozessor 870 umfasst außerdem als Teil seiner Bus-Controller-Einheiten Punkt-zu-Punkt-Schnittstellen (P2P) 876 und 878; dementsprechend enthält der zweite Prozessor 880 P2P-Schnittstellen 886 und 888. Prozessoren 870, 880 können über eine P2P-Schnittstelle 850 unter Verwendung der P2P-Schnittstellenschaltungen 878, 888 Daten austauschen. Wie in 8 koppeln die IMC 872 und 882 die Prozessoren mit den jeweiligen Speichern, namentlich mit einem Speicher 832 und einem Speicher 834, die Teil eines Hauptspeichers sein können, der lokal an die jeweiligen Prozessoren angeschlossen ist.
  • Prozessoren 870, 880 können jeweils mit einem Chipsatz 890 über individuelle P2P-Schnittstellen 852, 854 unter Verwendung von Punk-zu-Punkt-Schnittstellenschaltungen 876, 894, 886, 898 Informationen austauschen. Über eine Schnittstellenschaltung 892 kann der Chipsatz 890 über einen Hochleistungsgrafikanschluss 839 Informationen mit einer Hochleistungsgrafikschaltung 838 austauschen.
  • In jedem Prozessor oder außerhalb beider Prozessoren kann ein gemeinsam genutzter Cache (nicht abgebildet) enthalten sein, der jedoch mit den Prozessoren über die P2P-Verbindung derart verbunden ist, dass die lokalen Cache-Informationen eines oder beider Prozessoren im gemeinsam benutzten Cache gespeichert werden können, wenn ein Prozessor in einen Energiesparzustand versetzt wird.
  • Chipsatz 890 kann über eine Schnittstelle 896 an einen ersten Bus 816 gekoppelt sein. In einer Ausführungsform kann erster Bus 816 ein PCI-Bus (Peripheral Component Interconnect) sein, oder ein Bus, wie z. B. ein PCI Express-Bus oder ein anderer 3GIO-Interconnect-Bus. Allerdings wird der Umfang der vorliegenden Erfindung hierdurch nicht beschränkt.
  • Wie in 8 dargestellt können verschiedene I/O-Geräte 814 zusammen mit einer Busbrücke 818, die den ersten Bus 816 an einen zweiten Bus 820 koppelt, an den ersten Bus 816 gekoppelt werden. In einer Ausführungsform kann der zweite Bus 820 ein LPC-Bus (Low Pin Count) sein. Verschiedene Geräte, darunter zum Beispiel eine Tastatur und/oder Maus 822, Kommunikationsgeräte 827 und eine Speichereinheit 828, wie z. B. ein Plattenlaufwerk- oder anderes Massenspeichergerät, das Befehle/Code und Daten 830 enthalten kann, können in einer Ausführungsform an den zweiten Bus 820 gekoppelt sein. Des Weiteren kann ein Audio-I/O 824 an den zweiten Bus 820 gekoppelt werden. Es ist zu beachten, dass andere Architekturen möglich sind. Zum Beispiel kann ein System statt der Punk-zu-Punkt-Architektur von 8 einen Multi-Drop-Bus oder eine entsprechende andere Architektur implementieren.
  • Unter Bezugnahme auf 9 wird ein Blockdiagramm eines SoC (System-on-a-Chip) 900 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Auch sind gestrichelt gezeichnete Kästchen optionale Merkmale auf fortschrittlicheren SoC. In 9 wird/werden Verbindungseinheit(en) 902 gekoppelt mit: einem Anwendungsprozessor 910, der einen Satz aus einem oder mehreren Kernen 902A–N und gemeinsam genutzten Cache-Einheit(en) 906 enthält; einer Systemagent-Einheit 910; Bussteuereinheit(en) 916; integrierten Speichersteuereinheit(en) 914; einem Satz aus einem oder mehreren Medienprozessoren 920, die integrierte Grafiklogik 908 enthalten können, einem Bildprozessor 924 für die Bereitstellung von Stand- und/oder Videokamerafunktionalität, einem Audioprozessor 926 für die Bereitstellung von Hardware-Audiobeschleunigung, einem Videoprozessor 928 für die Bereitstellung von Video-Codier-/Decodierbeschleunigung; einer Static Random Access Memory-Einheit (SRAM) 930; einer Direct Memory Access-Einheit (DMA) 932; und einer Anzeigeeinheit 940 für die Kopplung an eines oder mehrere externe Displays.
  • Ein oder mehrere Aspekte mindestens einer Ausführungsform können durch repräsentative Daten ausgeführt werden, die auf einem maschinenlesbaren Medium gespeichert sind, das verschiedene Logiken innerhalb des Prozessors repräsentiert, die beim Lesen durch eine Maschine die Maschine veranlassen, die Logik zum Durchführen der hierin beschriebenen Techniken zu erzeugen. Solche Repräsentationen, auch als „IP-Kerne” bekannt, können auf einem konkreten maschinenlesbaren Medium („Band”) gespeichert und an verschiedene Kunden oder Fertigungsanlagen geliefert werden, wo sie in die Fertigungsmaschinen geladen werden, welche die Logik oder den Prozessor herstellen. Beispielsweise können IP-Kerne, wie z. B. die von ARM Holdings Ltd. entwickelte CortexTM-Prozessorfamilie und die vom Institute of Computing Technology (ICT) der Chinese Academy of Sciences entwickelten Loongson-IP-Kerne, an verschiedene Kunden oder Lizenznehmer, wie z. B. Texas Instruments®, Qualcomm®, Apple® oder Samsung® lizenziert oder verkauft und in Prozessoren implementiert werden, die diese Kunden oder Lizenznehmer herstellen.
  • 68 zeigen exemplarische Systeme, die für die Aufnahme des Prozessors 700 geeignet sind, während 9 ein exemplarisches System auf einem Chip (SOC) zeigt, das einen oder mehrere der Kerne 702 beinhalten kann. Weitere im Fachgebiet bekannte System-Designs und Konfigurationen für Laptops, Desktops, Hand-PCs, persönliche digitale Assistenten (PDAs), Engineering-Workstations, Server, Netzwerkgeräte, Netzwerk-Hubs, Schalter, eingebettete Prozessoren, Digitalsignal-Prozessoren (DSPs), Grafikgeräte, Videospielgeräte, Set-Top-Boxen, Mikrocontroller, Mobiltelefone, tragbare Media-Player, Handgeräte und verschiedene andere elektronische Geräte sind ebenfalls geeignet. Im Allgemeinen ist eine riesige Vielfalt von Systemen oder elektronischen Vorrichtungen, in die ein Prozessor und/oder eine Ausführungslogik, wie sie hierin offenbart sind, eingebunden werden können, generell geeignet.
  • 10 veranschaulicht einen Prozessor, der eine zentrale Verarbeitungseinheit (Central Processing Unit, CPU) und eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU) enthält, die mindestens einen Befehl gemäß einer Ausführungsform ausführen können. In einer Ausführungsform könnte ein Befehl zum Durchführen von Operationen gemäß mindestens einer Ausführungsform von der CPU ausgeführt werden. In einer anderen Ausführungsform könnte der Befehl von der GPU ausgeführt werden. In einer noch anderen Ausführungsform kann der Befehl durch eine Kombination von Operationen ausgeführt werden, die von der GPU und der CPU durchgeführt werden. Beispielsweise kann in einer Ausführungsform ein Befehl gemäß einer Ausführungsform empfangen und zur Ausführung in der GPU decodiert werden. Jedoch können eine oder mehrere Operationen innerhalb des decodierten Befehls durch eine CPU durchgeführt werden und das Ergebnis zur letzten Rückordnung des Befehls an die GPU zurückgegeben werden. Umgekehrt kann in einigen Ausführungsformen die CPU als der primäre Prozessor wirken und die GPU als der Coprozessor.
  • In einigen Ausführungsformen können Befehle, die aus Prozessoren mit hochparallelem Durchsatz Nutzen ziehen, von der GPU ausgeführt werden, während Befehle, die aus der Leistungsfähigkeit von Prozessoren Nutzen ziehen, die aus starken Pipeline-Architekturen Nutzen ziehen, von der CPU ausgeführt werden. Beispielsweise können Grafik-, Wissenschaftsanwendungen, Finanzanwendungen und andere parallele Arbeitslasten aus der Leistungsfähigkeit der GPU Nutzen ziehen und dementsprechend ausgeführt werden, wohingegen stärker sequenzielle Anwendungen, wie z. B. Betriebssystemkernel- oder Anwendungscode besser für die CPU geeignet sein können.
  • In 10 enthält Prozessor 1000 eine CPU 1005, eine GPU 1010, einen Bildprozessor 1015, einen Videoprozessor 1020, einen USB-Controller 1025, einen UART-Controller 1030, einen SPI/SDIO-Controller 1035, ein Anzeigegerät 1040, einen Speicherschnittstellen-Controller 1045, einen MIPI-Controller 1050, einen Flash-Speicher-Controller 1055, einen Dual-Data-Rate-Controller (DDR) 1060, eine Security-Engine 1065 und einen I2S/I2C-Controller 1070. Weitere Logik- und andere Schaltungen können in den Prozessor von 10 aufgenommen werden, so unter anderem mehr CPUs oder GPUs und andere Schnittstellen zu Peripheriegeräten.
  • Ein oder mehrere Aspekte mindestens einer Ausführungsform können durch repräsentative Daten ausgeführt werden, die auf einem maschinenlesbaren Medium gespeichert sind, das verschiedene Logiken innerhalb des Prozessors repräsentiert, die beim Lesen durch eine Maschine die Maschine veranlassen, die Logik zum Durchführen der hierin beschriebenen Techniken zu erzeugen. Solche Repräsentationen, auch als „IP-Kerne” bekannt, können auf einem konkreten maschinenlesbaren Medium („Band”) gespeichert und an verschiedene Kunden oder Fertigungsanlagen geliefert werden, wo sie in die Fertigungsmaschinen geladen werden, welche die Logik oder den Prozessor herstellen. Beispielsweise können IP-Kerne, wie z. B. die von ARM Holdings Ltd. entwickelte CortexTM-Prozessorfamilie und die vom Institute of Computing Technology (ICT) der Chinese Academy of Sciences entwickelten Loongson-IP-Kerne, an verschiedene Kunden oder Lizenznehmer, wie z. B. Texas Instruments®, Qualcomm®, Apple® oder Samsung® lizenziert oder verkauft und in Prozessoren implementiert werden, die diese Kunden oder Lizenznehmer herstellen.
  • Bezugnehmend auf 11 ist eine Ausführungsform eines Prozessors mit mehreren Kernen veranschaulicht. Prozessor 1100 beinhaltet einen Prozessor bzw. eine Verarbeitungseinheit, wie z. B. einen Mikroprozessor, einen eingebetteten Prozessor, einen digitalen Signalprozessor (Digital Signal Processor, DSP), einen Netzwerkprozessor, einen Handheld-Prozessor, einen Anwendungsprozessor, einen Co-Prozessor, ein System auf einem Chip (SoC) oder ein anderes Gerät, das Code ausführt. Prozessor 1100 enthält in einer Ausführungsform mindestens zwei Kerne – Kern 1101 und 1102, die asymmetrische Kerne oder symmetrische Kerne (die illustrierte Verkörperung) enthalten können. Jedoch kann Prozessor 1100 eine beliebige Anzahl von Verarbeitungselementen enthalten, die symmetrisch oder asymmetrisch sein können.
  • In einer Ausführungsform bezieht sich ein Verarbeitungselement auf Hardware oder Logik zur Unterstützung eines Software-Threads. Beispiele für Hardware-Verarbeitungselemente sind: eine Thread-Einheit, ein Thread-Fenster, ein Thread, eine Prozess-Einheit, ein Kontext, eine Kontext-Einheit, ein logischer Prozessor, ein Hardware-Thread, ein Kern und/oder jedes andere Element, das für einen Prozessor einen Zustand, wie z. B. einen Ausführungszustand oder Architekturzustand halten kann. Mit anderen Worten bezieht sich ein Verarbeitungselement bei einer Ausführungsform auf jede Hardware, die unabhängig mit Code verbunden sein kann, wie z. B. ein Software-Thread, Betriebssystem, eine Anwendung oder ein anderer Code. Als physikalischer Prozessor wird typischerweise eine integrierte Schaltung bezeichnet, die potentiell jegliche Anzahl anderer Verarbeitungselemente beinhaltet, wie z. B. Kerne oder Hardware-Threads.
  • Ein Kern bezieht sich oft auf Logik in einer integrierten Schaltung, die fähig ist, einen unabhängigen Architekturzustand aufrechtzuerhalten, wobei jeder unabhängig aufrechterhaltene Architekturzustand mit mindestens einigen dedizierten Ausführungsressourcen verbunden ist. Im Gegensatz zu Kernen bezeichnet ein Hardware-Thread typischerweise jegliche Logik, die sich auf einer integrierten Schaltung befindet, die einen unabhängigen Architekturzustand aufrecht erhalten kann, wobei die unabhängig aufrecht erhaltenen Architekturzustände den Zugriff auf Ausführungsressourcen gemeinsam benutzen. Es ist ersichtlich, dass die Linie zwischen der Nomenklatur eines Hardware-Threads und Kerns überlappt, wenn bestimmte Ressourcen gemeinsam benutzt werden und andere einem Architekturzustand fest zugeordnet sind. Dennoch werden ein Kern und ein Hardware-Thread oftmals von einem Betriebssystem als individuelle logische Prozessoren angesehen, wobei das Betriebssystem Operationen auf jedem logischen Prozessor individuell planen kann.
  • Der physische Prozessor 1100, wie in dargestellt in 11, enthält zwei Kerne, Kern 1101 und 1102. Hier werden Kern 1101 und 1102 als symmetrische Kerne angesehen, d. h. als Kerne mit gleicher Konfiguration, gleichen Funktionseinheiten und/oder gleicher Logik. In einer weiteren Ausführungsform beinhaltet Kern 1101 einen Out-of-Order-Prozessorkern, während Kern 1102 einen In-Order-Prozessorkern enthält. Jedoch können die Kerne 1101 und 1102 von jeder Art von Kern einzeln ausgewählt werden: z. B. von einem nativen Kern, einem mit Software verwalteten Kern, einem Kern, der zur Ausführung einer nativen Instruction Set Architecture (ISA) angepasst ist, einem Kern, der zur Ausführung einer übersetzten Instruction Set Architecture (ISA) angepasst ist, einem codesigned Kern oder einem anderen bekannten Kern. Um die Erörterung jedoch zu vertiefen, werden die im Kern 1101 illustrierten funktionalen Einheiten weiter unten ausführlich beschrieben, da die Einheiten im Kern 1102 in ähnlicher Weise arbeiten.
  • Wie dargestellt, enthält der Kern 1101 zwei Hardware-Threads 1101a und 1101b, die auch als die Hardware-Thread-Fenster 1101a und 1101b bezeichnet werden können. Daher sehen Software-Entitäten, wie z. B. ein Betriebssystem, den Prozessor 1100 in einer Ausführungsform möglicherweise als vier getrennte Prozessoren an, d. h. vier logische Prozessoren oder Verarbeitungselemente, die vier Software-Threads gleichzeitig ausführen können. Wie oben angedeutet, wird hier ein erster Thread mit Architekturzustandsregistern 1101a, ein zweiter Thread mit Architekturzustandsregistern 101b, ein dritter Thread mit Architekturzustandsregistern 1102a und ein vierter Thread mit Architekturzustandsregistern 102b verbunden. Hier kann jedes der Architekturzustandsregister (1101a, 1101b, 1102a und 1102) wie oben beschrieben als Verarbeitungselement, Thread-Fenster oder Thread-Einheit bezeichnet werden. Wie veranschaulicht, werden Architekturzustandsregister 1101a in Architekturzustandsregistern 101b repliziert, sodass individuelle Architekturzustände/kontexte für logischen Prozessor 1101a und logischen Prozessor 101b gespeichert werden können. Weitere kleinere Ressourcen, wie z. B. die Befehlszeiger und die Umbenennungslogik in Umbenennungszuordnerlogik 1130, können ebenfalls für Threads 1101a und 101b repliziert werden. Manche Ressourcen, wie z. B. die Neuordnungspuffer in Neuordnungs-/Rückordnungseinheit 1135, ILTB 1120, Lade-/Speicherpuffer und Warteschlangen können durch Partitionierung gemeinsam benutzt werden. Weitere Ressourcen, wie z. B. interne Universalregister, Seitentabellen-Basisregister, untergeordneter Daten-Cache und Daten-TLB 1115, Ausführungseinheiten) 1140 und Teile der Out-of-Order-Einheit 1135 werden potentiell vollständig gemeinsam benutzt.
  • Prozessor 1100 beinhaltet oftmals weitere Ressourcen, die vollständig gemeinsam benutzt werden können, durch Partitionierung gemeinsam benutzt werden können oder von Verarbeitungselementen/an Verarbeitungselemente fest zugeordnet sein können. In 11 ist eine Ausführungsform eines rein beispielhaften Prozessors mit veranschaulichenden logischen Einheiten/Ressourcen eines Prozessor veranschaulicht. Es ist zu beachten, dass ein Prozessor jegliche dieser funktionalen Einheiten beinhalten oder weglassen kann, sowie jegliche andere bekannte funktionale Einheiten, Logik oder Firmware, die nicht dargestellt sind, beinhalten kann. Wie dargestellt, enthält der Kern 1101 einen vereinfachten, repräsentativen Out-of-Order-Prozessorkern (OOO). In verschiedenen Ausführungsformen kann aber auch ein In-Order-Prozessor eingesetzt werden. Der OOO-Prozessor beinhaltet einen Zweigzielpuffer 1120, um Verzweigungen vorherzusagen, die ausgeführt/genommen werden sollen, und einen Befehlsübersetzungspuffer (Instruction-Translation Buffer, I-TLB) 1120, um Adressübersetzungseinträge für Befehle zu speichern.
  • Kern 1101 beinhaltet weiter ein Decodierungsmodul 1125, das mit Abrufeinheit 1120 verbunden ist, um abgerufene Elemente zu decodieren. Die Fetch-Logik beinhaltet in einer Ausführungsform einzelne Sequenzer, die den Thread-Fenstern 1101a bzw. 1101b zugeordnet sind. In der Regel ist der Kern 1101 einer ersten ISA zugeordnet, die die Befehle definiert/festlegt, die auf Prozessor 1100 ausgeführt werden können. Oft beinhalten Maschinencodebefehle, die Teil der ISA sind, einen Teil des Befehls, der als ein Befehlscode bezeichnet wird, der einen durchzuführenden Befehl oder eine Operation referenziert/spezifiziert. Die Decodierungs-Logik 1125 umfasst Schaltungen, die diese Befehle anhand ihrer Opcodes erkennen und die decodierten Befehle zur Verarbeitung gemäß der ersten ISA an die Pipeline weiterleiten. Wie weiter unten detaillierter ausgeführt, beinhaltet der Decoder 1125 in einer Ausführungsform zum Beispiel eine Logik, die so ausgelegt oder angepasst ist, dass sie bestimmte Befehle, z. B. Transaktionsbefehle, erkennt. Infolge der Erkennung durch Decoder 1125 ergreift die Architektur oder der Kern 1101 bestimmte, vordefinierte Maßnahmen, um Aufgaben im Zusammenhang mit der entsprechenden Anweisung auszuführen. Es ist wichtig zu beachten, dass die hier beschriebenen Aufgaben, Blöcke, Operationen und Methoden in Reaktion auf einen einzelnen oder mehrere Befehle durchgeführt werden können, bei denen es sich möglicherweise um neue oder alte Befehle handeln kann.
  • In einem Beispiel beinhaltet Zuordner- und Umbenennerblock 1130 einen Zuordner, um Ressourcen zu reservieren, wie z. B. Registerdateien, um Befehlsverarbeitungsergebnisse zu speichern. Threads 1101a und 1101b sind jedoch potentiell zu einer Out-of-Order-Ausführung in der Lage, wobei Zuordner- und Umbenennerblock 1130 ebenfalls weitere Ressourcen, wie z. B. Neuordnungspuffer, reserviert, um Befehlsergebnisse nachzuverfolgen. Einheit 1130 kann ebenfalls einen Registerumbenenner beinhalten, um Programm-/Befehlsreferenzregister auf andere Register innerhalb von Prozessor 1100 umzubenennen. Neuordnungs-/Rückordnungseinheit 1135 beinhaltet Komponenten, wie z. B. die vorstehend genannten Neuordnungspuffer, Load-Puffer und Speicher-Puffer, um Out-of-Order-Ausführung und spätere In-Order-Rückordnung Out-of-Order ausgeführter Befehle zu unterstützen.
  • Scheduler- und Ausführungseinheit(en)block 1140 beinhaltet bei einer Ausführungsform eine Scheduler-Einheit, um Befehle/Operationen auf Ausführungseinheiten zu planen. Beispielsweise wird ein Gleitkommabefehl auf einem Port einer Ausführungseinheit gescheduled, die eine verfügbare Gleitkomma-Ausführungseinheit aufweist. Mit den Ausführungseinheiten verbundene Registerdateien sind ebenfalls beinhaltet, um Verarbeitungsergebnisse von Informationsbefehlen zu speichern. Beispielhafte Ausführungseinheiten beinhalten eine Gleitkomma-Ausführungseinheit, eine Ganzzahl-Ausführungseinheit, eine Sprung-Ausführungseinheit, eine Load-Ausführungseinheit, eine Speicher-Ausführungseinheit und andere bekannte Ausführungseinheiten.
  • Untergeordneter Daten-Cache und Datenübersetzungspuffer (Data Translation Buffer, D-TLB) 1150 sind mit Ausführungseinheiten) 1140 gekoppelt. Der Daten-Cache soll kürzlich verwendete/betriebene Elemente, wie z. B. Daten-Operanden, speichern, die potentiell in Speicher-Kohärenzzuständen enthalten sind. Der D-TLB soll kürzlich virtuell/linear zu physikalischen Adressübersetzungen speichern. Als spezifisches Beispiel kann ein Prozessor eine Seitentabellenstruktur enthalten, um physikalischen Speicher in eine Vielzahl virtueller Seiten aufzubrechen.
  • Hier benutzen die Kerne 1101 und 1102 gemeinsamen Zugriff auf übergeordneten oder weiter entfernten Cache 1110, in dem kürzlich abgerufene Elemente zwischengespeichert werden. Es ist zu beachten, dass übergeordnet oder weiter entfernt sich auf Cache-Level bezieht, die zunehmen oder sich weiter von der/den Ausführungseinheit(en) entfernen. In einer Ausführungsform ist der übergeordneter Cache 1110 ein Daten-Cache der letzten Ebene – letzter Cache in der Speicherhierarchie auf Prozessor 1100 – also z. B. ein Daten-Cache zweiter oder dritter Ebene. Jedoch ist ein übergeordneter Cache 1110 nicht so eingeschränkt, da er mit einem Befehls-Cache verbunden sein oder ihn enthalten kann. Ein Trace-Cache – ein Art von Befehls-Cache – kann stattdessen hinter Decoder 1125 angeschlossen sein, um kürzlich decodierte Traces zu speichern.
  • In der abgebildeten Konfiguration beinhaltet der Prozessor 1100 auch ein Busschnittstellenmodul 1105. In der Vergangenheit wurde der im folgenden genauer beschriebene Controller 1170 in ein Berechnungssystem außerhalb von Prozessor 1100 aufgenommen. In diesem Szenario führt die Busschnittstelle 1105 die Kommunikation mit Geräten außerhalb von Prozessor 1100 durch, z. B. mit dem Systemspeicher 1175, einem Chipsatz (oft auch mit einem Memory Controller Hub zum Herstellen einer Verbindung mit Speicher 1175 und einem I/O Controller Hub zur Verbindung mit Peripheriegeräten), einem Memory Controller Hub, einer Northbridge oder einer anderen integrierten Schaltung. Und in diesem Szenario kann der Bus 1105 einen beliebigen bekannten Anschluss enthalten, z. B. einen Multi Drop Bus, einen Punkt-zu-Punkt-Anschluss, einen seriellen Anschluss, einen parallelen Bus, einen kohärenten Bus (z. B. Cache-Kohärenz), eine geschichtete Protokollarchitektur, einen differenziellen Bus und einen GTL-Bus.
  • Speicher 1175 kann Prozessor 1100 fest zugeordnet sein oder auch von anderen Geräten in einem System genutzt werden. Herkömmliche Beispiele für den Typ von Speicher 1175 sind DRAM, SRAM, Permanentspeicher (NV-Speicher) und andere bekannte Speichergeräte. Es ist zu beachten, dass das Gerät 1180 einen Grafik-Beschleuniger, einen Prozessor oder eine Karte enthalten kann, die mit einem Speicher-Controller-Hub, einem an einen Ein-/Ausgabe-Controller-Hub gekoppelten Datenspeicher, einem Drahtlos-Transceiver, einem Flashlaufwerk, einem Audio-Controller, einem Netzwerk-Controller oder einem anderen bekannten Gerät gekoppelt ist.
  • Es ist jedoch zu beachten, dass der Controller 1170 in der dargestellten Ausführungsform als Teil des Prozessors 1100 dargestellt ist. Da seit Kurzem immer mehr Logik und Geräte auf einem einzelnen Chip, wie einem SOC integriert werden, kann jedes dieser Geräte auf Prozessor 1100 integriert werden. In einer Ausführungsform zum Beispiel befindet sich der Speicher Controller Hub 1170 im gleichen Paket und/oder Chip wie der Prozessor 1100. Hier enthält ein Teil des Kerns (ein On Core-Teil) einen oder mehrere Controller 1170, die als Schnittstellen zu anderen Geräten wie z. B. Speicher 1175 oder Grafikgerät 1180 dienen. Die Konfiguration einschließlich einem Anschluss und Controllern als Schnittstelle zu solchen Geräten wird oft als On Core (oder Un Core-Konfiguration) bezeichnet. Beispielsweise enthält die Busschnittstelle 1105 einen Ringanschluss mit einem Speichercontroller als Schnittstelle zum Speicher 1175 und einen Grafikcontroller als Schnittstelle zum Grafikprozessor 1180 NF. Jedoch können in der SOC-Umgebung sogar noch mehr Geräte, wie z. B. die Netzwerkschnittstelle, Co-Prozessoren, Speicher 1175, Grafikprozessor 1180 und beliebige andere bekannte Geräte/Schnittstellen auf einem einzigen Chip oder einer integrierten Schaltung untergebracht werden, um für einen kleinem Formfaktor mit hoher Funktionalität und niedrigem Stromverbrauch zu sorgen.
  • In einer Ausführungsform kann der Prozessor 1100 Code für einen Compiler, eine Optimierung und/oder einen Übersetzer 1177 ausführen, um den Anwendungscode 1176 zur Unterstützung der hierin beschriebenen Apparate und Methoden oder als deren Schnittstelle zu kompilieren, zu übersetzen und/oder zu optimieren. Ein Compiler enthält oft ein Programm oder eine Sammlung von Programmen, mit denen Quelltext/-code in den Zieltext/-code übersetzt wird. In der Regel erfolgt das Compilieren des Programm-/Anwendungscodes mit einem Compiler in mehreren Phasen und Durchläufen, in denen hochsprachlicher Programmiercode in maschinennahen Code oder in Assembler umgesetzt werden. Für einfache Compilationen können jedoch auch Single Pass-Compiler genutzt werden. Ein Compiler kann beliebige bekannte Compilations-Techniken verwenden und beliebige bekannte Compiler-Operationen durchführen; dazu gehören lexikalische Analyse, Vorverarbeitung, Analyse, semantische Analyse, Code-Generierung, Code-Transformation und Code-Optimierung.
  • Größere Compiler arbeiten oft in mehreren Durchläufen, aber meistens sind diese Phasen Bestandteil von zwei allgemeinen Phasen: (1) ein Front-End, wo in der Regel die syntaktische Verarbeitung, die semantische Verarbeitung und manche Transformationen/Optimierungen stattfinden, und (2) ein Back-End, wo in der Regel die Analyse, die Transformationen, Optimierungen und die Code-Generierung stattfinden. Bei manche Compilern wird auch eine „Mitte” erwähnt, womit das Verwischen der Abgrenzung zwischen Front-End und Back-End des Compilers veranschaulicht wird. Infolgedessen können das Einfügen, Verknüpfen, Generieren und andere Operation eines Compilers in jeder/m der oben genannten Phasen oder Durchgänge sowie in alle anderen bekannten Phasen oder Durchläufen eines Compilers stattfinden. Als illustratives Beispiel fügt ein Compiler möglicherweise Operationen, Aufrufe, Funktionen usw. in eine oder mehrere Phasen der Kompilierung ein (z. B. beim Einfügen von Aufrufen/Operationen in einer Front End-Phase der Kompilierung) und führt dann in einer Transformationsphase die Transformation der Aufrufe/Operationen in maschinennahen Code durch. Es ist zu beachten, dass der Compiler-Code oder der dynamische Optimierungs-Code solche Operationen/Aufrufe bei dynamischer Compilierung einfügen und den Code für die Ausführung während der Laufzeit optimieren kann. Als konkretes illustratives Beispiel kann Binärcode (bereits kompilierter Code) zur Laufzeit dynamisch optimiert werden. Hier kann der Programmcode den dynamischen Optimierungs-Code, den Binär-Code oder eine Kombination von beiden enthalten.
  • Ähnlich wie ein Compiler übersetzt ein Übersetzer, z. B. ein Binär-Übersetzer, den Code entweder statisch oder dynamisch, um ihn zu optimieren bzw. zu übersetzen. Daher kann sich ein Verweis auf die Ausführung von Code, Anwendungscode, Programmcode oder einer anderen Software-Umgebung auf folgendes beziehen: (1) Dynamische oder statische Ausführung eines Compiler-Programms, Optimierung eines Code-Optimierers oder Übersetzers, um Programm-Code zu kompilieren, Softwarestrukturen beizubehalten, andere Operationen durchzuführen, Code zu optimieren oder Code zu übersetzen; (2) Ausführung des Haupt-Programmcodes einschließlich Operationen/Aufrufen, wie z. B. Anwendungscode, der optimiert/compiliert wurde; (3) Ausführung von anderem Programmcode, wie z. B. Bibliotheken, die mit dem Haupt-Programmcode verbunden sind, um Softwarestrukturen beizubehalten, um andere mit der Software verbundene Operationen auszuführen oder um Code zu optimieren; oder (4) eine Mischung von allem.
  • Unter Bezugnahme auf 12A ist ein Blockdiagramm einer Ausführungsform eines Mehrkernprozessors. Wie bei der Ausführungsform von 12A gezeigt, umfasst Prozessor 1200 mehrere Domänen. Speziell kann eine Kerndomäne 1230 eine Vielzahl von Kernen 1230A1230N umfassen, eine Grafikdomäne 1260 kann eine oder mehrere Grafik-Engines einschließlich einer Medien-Engine 1265 umfassen und weiterhin kann eine Systemagent-Domäne 1210 vorhanden sein.
  • In verschiedenen Ausführungsformen kann die Systemagent-Domäne 1210 Ereignisse der Energiesteuerung und der Energieverwaltung so verarbeiten, dass einzelne Einheiten der Domänen 1230 und 1260, wie die Kerne und/oder Grafik-Engines, in einer Weise gesteuert werden können, dass sie im Hinblick auf die Aktivität (oder Inaktivität) in der angegebenen Einheit dynamisch und unabhängig in einem geeigneten Energie-Modus (einschließlich einem Energiesparzustand oder einem aktiven und möglicherweise Turbomodus) arbeiten. Jede der Domänen 1230 und 1260 kann bei anderer Spannung und/oder Stromstärke arbeiten und außerdem können die einzelnen Einheiten innerhalb der Domänen jeweils mit einer unabhängigen Frequenz und Spannung laufen. Zu beachten ist, dass, obwohl er nur mit drei Domänen gezeigt wird, der Umfang der vorliegenden Erfindung in dieser Hinsicht nicht begrenzt wird und zusätzliche Domänen bei anderen Ausführungsformen vorhanden sein können.
  • Generell kann jeder Kern 1230 weiter zusätzlich zu verschiedenen Ausführungseinheiten und zusätzlichen Verarbeitungselementen Low-Level-Caches umfassen. Die verschiedenen Kerne können wiederum miteinander und mit einem gemeinsam benutzten Cache-Speicher gekoppelt sein, der aus einer Vielzahl von Einheiten oder Scheiben eines Cache letzter Ebene (LLC) 1240A1240N gebildet ist. Bei verschiedenen Ausführungsformen kann LLC 1240 unter den Kernen und der Grafikengine, sowie den verschiedenen Medien-Verarbeitungs-Schaltkreisen aufgeteilt sein.
  • Wie zu erkennen ist koppelt ein Ringanschluss 1250 die Kerne und stellt die Verbindung zwischen der Kerndomäne 1230, der Grafikdomäne 1260 und der Systemagent-Schaltung 1210 über eine Vielzahl von Ringstopps 1252A1252N jeweils an einer Kopplung zwischen Kern und LLC-Segment her. Wie ersichtlich in 12a, kann der Anschluss 1250 verwendet werden, um verschiedene Arten von Informationen wie Adressinformationen, Dateninformationen, Bestätigungsinformationen sowie Snoop- und ungültige Informationen zu transportieren.
  • Wie weiter dargestellt kann die Systemagent-Domäne 1210 die Anzeige-Engine 1212 umfassen, die die Steuerung einer zugehörigen Anzeige durchführt und die Schnittstelle dazu bilden kann. Die Systemagent-Domäne 1210 kann weiterhin einen integrierten Speichercontroller 1220 enthalten, der als Schnittstelle zu einem Systemspeicher wie z. B. einem DRAM (z. B. mit mehreren DIMMs implementiert) dient und mit einer Kohärenz-Logik 1222 gekoppelt ist, um Speicherkohärenzoperationen durchzuführen. Es können mehrere Schnittstellen vorhanden sein, um die Verbindung zwischen dem Prozessor und anderen Schaltkreisen zu ermöglichen. Bei einer Ausführungsform können beispielsweise mindestens eine Direct Media Interface-Schnittstelle (DMI) 1216 sowie eine oder mehrere PCIeTM-Schnittstellen 1214 bereitgestellt werden. Wie dargestellt, können die Anzeige-Engine und diese Schnittstellen über eine PCIeTM-Brücke 1218 mit dem Speicher gekoppelt werden. Weiterhin können ebenfalls eine oder mehrere andere Schnittstellen wie z. B. gemäß einem Intel® Quick Path Interconnect-Protokoll (QPI) bereitgestellt werden, um die Kommunikation zwischen anderen Agenten, wie beispielsweise zusätzlichen Prozessoren oder anderen Schaltkreisen, bereitzustellen.
  • Unter Bezugnahme auf 12B wird ein Blockdiagramm eines repräsentativen Kerns dargestellt, wie z. B. einem der Kerne 1230 aus 12A. Im Allgemeinen kann es sich bei der Struktur von 12B um einen Out-of-Order-Prozessor mit einem Front-End-Gerät 1270 handeln, das in der Regel verwendet wird, um eingehende Anweisungen zu übernehmen, verschiedene Verarbeitungen wie unter anderem die Decodierung durchzuführen und sie an eine Out-of-Order-Engine 1280 weiterzuleiten, die dann weitere Verarbeitungen dieser decodierten Anweisungen durchführt und unter anderem Daten zur Verarbeitung abruft, diese Daten verarbeitet und die verarbeiteten Daten dann neu anordnet.
  • Speziell in der Ausführungsform von 12B kann die Out-of-Order-Engine 1280 eine Allokator-Einheit 1282 enthalten, die decodierte Anweisungen von der Front End-Einheit 1270 empfängt, die möglicherweise in der Form einer oder mehrerer Mikrobefehle oder Mikrooperationen vorliegen, und diese den geeigneten Ressourcen wie Registern und so weiter zuordnet. Als nächstes können die Befehle einer Reservierungsstation 1284 zur Verfügung gestellt werden, die sie für die Ausführung auf einer von einer Vielzahl von Ausführungseinheiten 1286A1286N verteilt. Es kann verschiedene Arten von Ausführungseinheiten geben, darunter zum Beispiel arithmetische Logikeinheiten (ALU), Vektorverarbeitungseinheiten (VPU), Gleitkomma-Ausführungseinheiten. Die Ergebnisse aus diesen unterschiedlichen Ausführungseinheiten können einem Neuordnungspuffer (ROB) 1288 zur Verfügung gestellt werden, der diese ungeordneten Ergebnisse übernimmt und sie wieder in die richtige Programmreihenfolge bringt.
  • Weiter bezugnehmend auf 12B ist zu beachten, dass sowohl die Front End-Einheit 1270 als auch die Out-of-Order-Engine 1280 mit verschiedenen Ebenen einer Speicherhierarchie gekoppelt sein können. Speziell gezeigt wird ein Befehlsebenen-Cache 1272, der sich mit einem Mid Level-Cache 1276 koppeln kann, der sich wiederum mit einem Last Level-Cache 1295 koppeln kann, der in einer Ausführungsform in einer Un Core-Einheit 1290 implementiert sein kann, die in der Regel der Systemagent-Schaltung entspricht, wie beispielsweise der Systemagent-Domäne 1210 aus 12B. Der Last Level-Cache 1295 kann mit höheren Ebenen einer Speicherhierarchie kommunizieren, einschließlich einem Systemspeicher 1299, der in einer Ausführungsform durch ein ED RAM implementiert sein kann. Zu beachten ist auch, dass die verschiedenen Ausführungseinheiten 1286 in der Out-of-Order-Engine 1280 mit einem First Level-Cache 1274 kommunizieren können, der seinerseits mit dem Mid Level-Cache 1276 kommuniziert. Weiterhin ist zu beachten, dass sich die zusätzliche Kerne 1230N-2 bis 1230N mit LLC-1295 koppeln können. Obwohl er auf diesem hohen Niveau in der Ausführungsform von 12B auf dieser hohen Ebene dargestellt, ist klar, dass verschiedene Veränderungen und zusätzliche Komponenten vorhanden sein können.
  • 13 ist ein Blockschaltbild der Mikroarchitektur für einen Prozessor 1300, der Logikschaltungen zum Ausführen von Anweisungen gemäß einem Ausführungsbeispiel der vorliegenden Erfindung umfasst. In manchen Ausführungsformen kann ein Befehl gemäß einer Ausführungsform implementiert werden, um Datenelemente der Größen Byte, Wort, Doppelwort, Quadwort usw., sowie Datentypen, wie z. B. Integer-Datentypen (mit einfacher und doppelter Genauigkeit) und Gleitkommazahl-Datentypen (mit einfacher und doppelter Genauigkeit), zu bearbeiten. In einer Ausführungsform ist das In-Order-Front-End 1301 der Teil des Prozessors 1300, das die auszuführenden Befehle holt und sie auf weitere Verwendung in der Prozessor-Pipeline vorbereitet. Das Front-End 1301 kann mehrere Einheiten umfassen. In einer Ausführungsform holt ein Befehls-Prefetcher 1326 Befehle aus dem Speicher und gibt sie an den Befehlsdecoder 1328 weiter, der sie seinerseits decodiert und interpretiert. Zum Beispiel dekodiert der Decoder in einer Ausführungsform einen erhaltenen Befehl zu einer oder mehreren Operationen, die „Mikrobefehle” oder „Mikrooperationen” heißen (sie werden auch als Mikro-ops oder μ-op bezeichnet), die die Maschine ausführen kann. In anderen Ausführungsformen parst der Decoder den Befehl zu einem Opcode und entsprechenden Daten- und Steuerfeldern, die von der Mikroarchitektur verwendet werden, um Operationen gemäß einer Ausführungsform auszuführen. In einer Ausführungsform holt der Trace-Cache 1330 die decodierten Mikrooperationen und assembliert sie für die Ausführung zu geordneten Programmsequenzen oder Traces in der Mikrobefehls-Warteschlange 1334. Wenn der Trace-Cache 1330 einen komplexen Befehl antrifft, stellt der Mikrocode-ROM 1332 die zum Abschluss der Operation nötigen Mikrooperationen bereit.
  • Manche Befehle werden in einfache Mikrooperationen umgewandelt, während andere mehrere Mikrooperationen benötigen, um die vollständige Operation abzuschließen. In einer Ausführungsform, wenn mehr als vier MikroOp zum vollständigen Durchführen eines Befehls benötigt werden, greift der Decodierer 1328 auf den Mikrocode-ROM 1332 zu, um dem Befehl nachzukommen. Bei einer Ausführungsform kann ein Befehl für eine Abwicklung zu einer kleinen Anzahl von Mikrooperationen an dem Befehlsdecoder 1328 decodiert werden. In einer weiteren Ausführungsform kann ein Befehl in dem Mikrocode-ROM 1332 gespeichert werden, falls eine Anzahl von Mikrooperationen zum Bewältigen der Operation nötig ist. Der Trace-Cache 1330 bezieht sich auf die Einsprungpunkt-PLA (programmierbare logische Anordnung), um einen richtigen Mikrobefehl-Zeiger aus dem Mikrocode-ROM 1332 zum Lesen der Mikrocode-Sequenzen zu bestimmen, um einen oder mehrere Befehle gemäß einer Ausführungsform abzuschließen. Nachdem der Mikrocode-ROM 1332 das Einreihen von Mikrooperationen für einen Befehl beendet hat, nimmt das Front-End 1301 der Maschine den Abruf von Mikrooperationen aus dem Trace-Cache 1330 wieder auf.
  • Befehle werden in dem Out-Of-Order-Ausführungsmodul 1303 (in der OOO-Execution Engine) für die Ausführung vorbereitet. Die OOO-Ausführungslogik weist eine Anzahl von Puffern auf, um den Fluss der Befehle für eine Optimierung der Leistung zu glätten und umzuordnen, während sie durch die Pipeline gehen und für die Ausführung eingeplant werden. Ein Allokator/Register-Renamer 1305 enthält eine Allokator-Logik und eine Logik zum Umbenennen von Registern. Die Allokator-Logik allokiert die Puffer und Ressourcen der Maschine, die jede Mikrooperation benötigt, um ausgeführt zu werden. Die Registerumbenennung-Logik umbenennt logische Register auf Einträge in einem Registerspeicher. Der Allokator weist außerdem jedem Mikrobefehl (UOP) einen Eintrag in einer der beiden Mikrobefehls-Warteschlangen zu (eine Speicher-Mikrobefehls-Warteschlange 1307a für Speicherbefehle und eine Integer/Gleitkomma-Mikrobefehls-Warteschlange 1307b für Nicht-Speicherbefehle) vor den Befehls-Schedulern: Speicher-Scheduler 1309, schneller Scheduler 1302, langsamer/allgemeiner Gleitkomma-Scheduler 1304 und einfacher Gleitkomma-Scheduler 1306. Die Mikrobefehls-Scheduler 1302, 1304, 1306, 1309 bestimmen die Ausführungsbereitschaft einer Mikrobefehls anhand der Bereitschaft ihrer abhängigen Eingaberegister-Operandquellen und der Verfügbarkeit der Ausführungsressourcen, die die Mikrobefehle zum Durchführen ihrer Operationen benötigen. Der schnelle Scheduler 1302 einer Ausführungsform kann bei jeder Hälfte des Haupttaktzyklus planen, während andere Scheduler nur ein Mal pro Hauptprozessortaktzyklus planen können. Die Scheduler vermitteln zwischen den Dispatch-Ports, um Mikrooperationen für die Ausführung einzuplanen.
  • Registerdateien 1308, 1310 befinden sich im Ausführungsblock 1311 zwischen den Schedulern 1302, 1304, 1306, 1309 und den Ausführungseinheiten 1312, 1314, 1316, 1318, 1320, 1322, 1324. Es gibt eine separate Registerdatei 1308, 1310 für Ganzzahl- bzw. Gleitkommaoperationen. Jeder Registerspeicher 1308, 1310 einer Ausführungsform umfasst außerdem ein Bypass-Netzwerk, dass fertige Ergebnisse, die noch nicht in den Registerspeicher geschrieben wurden, an neue abhängige Mikrooperationen umleitet oder weitergibt. Der Integer-Registerspeicher 1308 und der Gleitkommaregisterspeicher 1310 sind auch in der Lange, Daten aneinander zu übermitteln. Bei einer Ausführungsform ist der Integer-Registerspeicher 1308 in zwei getrennte Registerdateien aufgeteilt, eine Registerdatei für die unteren 32 Datenbits und eine zweite Registerdatei für die oberen 32 Datenbits. Der Gleitkommaregisterspeicher 1310 einer Ausführungsform weist 128 Bit breite Einträge auf, da Gleitkommaoperationen normalerweise Operanden von 64- bis 128-Bit-Breite umfassen.
  • Der Ausführungsblock 1311 weist die qAusführungseinheiten 1312, 1314, 1316, 1318, 1320, 1322, 1324 auf, in denen die Befehle tatsächlich ausgeführt werden. Dieser Abschnitt weist die Registerspeicher 1308, 1310 auf, die die Werte von Integer- und Gleitkommazahl-Datenoperanden speichern, die von den Mikrobefehlen ausgeführt werden müssen. Der Prozessor 1300 einer Ausführungsform weist eine Anzahl von Ausführungseinheiten auf: Address Generation Unit (AGU) 1312, AGU 1314, schnelle ALU 1316, schnelle ALU 1318, langsame ALU 1320, Gleitkommazahl-ALU 1322, Gleitkommazahl-Verschiebungseinheit 1324. Bei einer Ausführungsform führen die Gleitkommazahl-Ausführungsblöcke 1322, 1324 Gleitkommazahl-, MMX-, SIMD- und SSE- oder andere Operationen aus. Die Gleitkommazahl-ALU 1322 einer Ausführungsform weist einen 64-Bit/64-Bit-Gleitkommazahl-Divider auf, um Division, Quadratwurzel, und Rest an Mikrooperationen auszuführen. Bei Ausführungsformen der vorliegenden Erfindung können Befehle, die einen Gleitkommazahl-Wert einschließen, mit der Gleitkommazahl-Hardware bearbeitet werden. In einer Ausführungsform gehen die ALU-Operationen an die Ausführungseinheiten 1316, 1318 der Hochgeschwindigkeits-ALU. Die schnellen ALUs 1316, 1318 einer Ausführungsform können schelle Operationen mit einer effektiven Latenz eines halben Taktzyklus ausführen. Bei einer Ausführungsform wandern die komplexesten Integer-Operationen an die langsame ALU 1320, da die langsame ALU 1320 Integer-Ausführungshardware für Operationen mit einer langen Latenz, wie z. B. Multiplikator, Versetzungen, Flag-Logik, Sprung-Ausführung, umfasst. Load/Store-Speicheroperationen werden durch die AGUs 1312, 1314 ausgeführt. In einer Ausführungsform sind die Ganzzahl-ALUs 1316, 1318, 1320 im Zusammenhang mit der Durchführung von Ganzzahloperationen bei 64-Bit-Datenoperanden beschrieben. Bei alternativen Ausführungsformen können die ALUs 1316, 1318, 1320 implementiert werden, um eine Vielzahl von Datenbits zu unterstützen, z. B. 16, 32, 128, 256 usw. In ähnlicher Weise können die Gleitkommaeinheiten 1322, 1324 implementiert werden, um eine Reihe von Operanden mit Bits verschiedener Breite zu unterstützen. In einer Ausführungsform können die Gleitkommaeinheiten 1322, 1324 bei 128 Bit breiten gepackten Datenoperanden in Verbindung mit SIMD- und Multimedia-Befehlen arbeiten.
  • In einer Ausführungsform senden die Mikrobefehls-Scheduler 1302, 1304, 1306, 1309 unabhängige Operationen, bevor die übergeordnete Last abgeschlossen wurde. Da Mikrooperationen in Prozessor 1300 spekulativ eingeplant und ausgeführt werden, umfasst der Prozessor 1300 eine Logik, um die Speicher-Misses zu behandeln. Bei einem Fehlversuch der Datenlast im Daten-Cache können sich abhängige Operationen im Fluss der Pipeline befinden, die den Scheduler mit temporär falschen Daten verlassen haben. Ein Wiederholungsmechanismus verfolgt und führt erneut Befehle aus, die inkorrekte Daten verwenden. Es müssen nur die abhängigen Operationen wiederholt werden, und die unabhängigen Operationen können fertig gestellt werden. Die Scheduler und der Wiederholungsmechanismus einer Ausführungsform eines Prozessors sind außerdem entworfen, um Befehlssequenzen für Text-String-Vergleichsoperationen abzufangen.
  • Der Begriff ”Register” kann sich auf die Speicherstellen des On-Board-Prozessors beziehen, die als Teile der Befehle zur Identifizierung von Operanden verwendet werden. Mit anderen Worten können es Register sein, die von außerhalb des Prozessor verwendbar sind (aus der Perspektive eines Programmierers). Jedoch sollen die Register einer Ausführungsform nicht in ihrer Bedeutung auf eine bestimmte Art Schaltung beschränkt sein. Vielmehr ist ein Register einer Ausführungsform in der Lage, Daten zu speichern und bereitzustellen, sowie die hier beschriebenen Funktionen auszuführen. Die hier beschriebenen Register können durch eine Schaltungsanordnung innerhalb eines Prozessors unter Verwendung einer beliebigen Anzahl von verschiedenen Techniken implementiert sein, wie z. B. dedizierte physikalische Register, dynamisch zugewiesene physikalische Register, die Registerumbenennung verwenden, Kombinationen von dedizierten und dynamisch zugewiesenen physikalischen Registern usw. In einer Ausführungsform speichern Integer-Register 32-Bit-Integer-Daten. Ein Registerspeicher einer Ausführungsform umfasst außerdem acht Multimedia-SIMD-Register für komprimierte Daten. Bei den folgenden Erörterungen sind Register als Datenregister zu verstehen, die zum Speichern von gepackten Daten ausgelegt sind, z. B. 64 Bit breite MMXTM-Register (in manchen Fällen auch als „mm”-Register bezeichnet) in Mikroprozessoren, die für MMXTM-Technologie der Intel Corporation aus Santa Clara, Kalifornien aktiviert sind. Diese MMX-Register, die sowohl in Integer- als auch Gleitkommazahl-Formen erhältlich sind, können mit komprimierten Datenelementen, die SIMD- und SSE-Befehle begleiten, arbeiten. Gleichermaßen können auch 128 Bit breite XMM-Register im Zusammenhang mit der SSE2-, SSE3-, SSE4-Technologie oder höher (allgemein als „SSEx” bezeichnet) verwendet werden, um solche komprimierten Datenoperanden zu fassen. In einer Ausführungsform brauchen die Register beim Speichern von komprimierten Daten und Integer-Daten nicht zwischen den zwei Datentypen zu unterscheiden. In einer Ausführungsform sind Integer und Gleitkommazahlen entweder in demselben Registerspeicher oder in verschiedenen Registerspeichern enthalten. Außerdem können in einer Ausführungsform Gleitkommazahl- und Integer-Daten in verschiedenen Registern oder denselben Registern gespeichert sein.
  • 14 ist ein Blockdiagramm, das eine In-Order-Pipeline und eine Registerumbenennungsstufe, Out-of-Order-Ausgabe-/Ausführungs-Pipeline gemäß mindestens einer Ausführungsform der Erfindung veranschaulicht. 14 ist ein Blockdiagramm, das einen In-Order-Architekturkern und eine Registerumbenennungslogik, Out-of-Order-Ausgabe-/Ausführungslogik veranschaulicht, die in mindestens einer Ausführungsform der Erfindung in einem Prozessor enthalten ist. Die Kästchen mit durchgezogenen Linien in 14 veranschaulichen die In-Order-Pipeline, während die Kästchen mit gestrichelten Linien die Registerumbenennungs-, Out-of-Order-Ausgabe-/Ausführungs-Pipeline veranschaulichen. Die Kästchen mit durchgezogenen Linien in 14 veranschaulichen auf ähnliche Weise die In-Order-Architekturlogik, während die Kästchen mit gestrichelten Linien die Registerumbenennungslogik und Out-of-Order-Ausgabe-/Ausführungs-Logik veranschaulichen.
  • In 14 umfasst eine Prozessor-Pipeline 1400 eine Fetch-Stufe 1402, eine Längen-Decodierstufe 1404, eine Decodierstufe 1406, eine Zuweisungsstufe 1408, eine Umbenennungsstufe 1410, eine Scheduling-Stufe 1412 (auch als Dispatch oder Issue bekannt), eine Registerlese-/Speicherlesestufe 1414, eine Ausführungsstufe 1416, eine Rückschreib-/Speicherschreibstufe 1418, eine Ausnahmenbearbeitungsstufe 1422 und eine Commit-Stufe 1424.
  • In 14 kennzeichnen die Pfeile eine Verbindung zwischen zwei oder mehreren Einheiten und die Richtung des Pfeils gibt eine Richtung des Datenflusses zwischen diesen Einheiten an. 14 zeigt Prozessorkern 1490 einschließlich einer Front-End-Einheit 1430, die mit einer Ausführungs-Engine-Einheit 1450, und die beide mit einer Speichereinheit 1470 verbunden sind.
  • Der Kern 1490 kann ein RISC-Kern (Reduced Instruction Set Computer), ein CISC-Kern (Complex Instruction Set Computer), ein VLIW-Kern (Very Long Instruction Word) oder ein Hybrid- oder alternativer Kerntyp sein. Als noch eine weitere Möglichkeit kann der Kern 1490 ein Zweckkern sein, wie zum Beispiel ein Netzwerk- oder Kommunikationskern, Compression Engine, Grafikkern oder dergleichen.
  • Die Front-End-Einheit 1430 umfasst eine Sprungvorhersage-Einheit (Branch Prediction Unit) 1432, die an eine Befehls-Cache-Einheit 1434 gekoppelt ist, die an einen Befehls-Übersetzungspuffer (TLB) 1436 gekoppelt ist, der an eine Befehlsholeeinheit 1438 gekoppelt ist, die an eine Decodiereinheit 1440 gekoppelt ist. Die Dekodiereinheit oder der Decoder kann Befehle dekodieren und generiert als Ausgabe eine oder mehrere Mikrooperationen, Mikrocode-Einsprungpunkte, Mikrobefehle, andere Befehle oder andere Steuersignale, die eine dekodierte Form der ursprünglichen Befehle darstellen oder diese anderweit widerspiegeln oder davon abgeleitet sind. Der Decoder kann mit verschiedenen Mechanismen implementiert werden. Beispiele für geeignete Mechanismen umfassen (sind aber nicht beschränkt auf): Nachschlagetabellen, Hardware-Implementierungen, programmierbare logische Anordnungen (PLAs), Mikrocode-Festwertspeicher (ROMs) usw. Die Befehls-Cache-Einheit 1434 ist des Weiteren an eine (L2) Cache-Einheit der Ebene 2 1476 in der Speichereinheit 1470 gekoppelt. Die Decodiereinheit 1440 ist an eine Umbenennungs-/Allozierungseinheit 1452 in der Execution Engine-Einheit 1450 gekoppelt.
  • Die Ausführungs-Engine-Einheit 1450 beinhaltet die Umbennennungs-/Zuordnungseinheit 1452, die mit einer Rückordnungseinheit 1454 und einem Satz aus einer oder mehreren Scheduler-Einheiten 1456 gekoppelt ist. Die Scheduler-Einheiten) 1456 repräsentieren eine beliebige Anzahl von verschiedenen Schedulern, darunter Reservation Stations und Hauptbefehlsfenster usw. Die Scheduler-Einheiten) 1456 sind an die physikalische Registerspeicher-Einheit(en) 1458 gekoppelt. Jede der physischen Registerdatei(en)-Einheiten 1458 repräsentiert eine oder mehrere physische Registerdateien, von denen verschiedene einen oder mehrere unterschiedliche Datentypen, wie z. B. skalare Ganzzahl, skalares Gleitkomma, gepackte Ganzzahl, gepacktes Gleitkomma, Vektorganzzahl, Vektorgleitkomma usw., Status (z. B. einen Befehlszeiger, d. h. die Adresse des nächsten auszuführenden Befehls) usw. speichern. Die physikalische Registerspeichereinheit(en) 1458 überlappt mit der Rückordnungsreinheit 1454, um die verschiedenen Weisen darzustellen, auf die Register-Unbenennung und Out-Of-Order-Ausführung implementiert werden können (z. B. unter Verwendung eines Re-Order Buffers und eines Rückordnungsregisterspeichers, unter Verwendung eines Future-Files, eines Verlaufspuffers und eines Rückordnungsregistersepichers, unter Verwendung einer Registerkarte und eines Registerpools, usw.). Im Allgemeinen sind die Architektur-Register von der Außenseite des Prozessors oder aus der Perspektive eines Programmierers sichtbar. Die Register sind auf keinen bekannten, konkreten Schaltungstyp beschränkt. Verschiedene Registertypen sind geeignet, solange sie in der Lage sind, Daten zu speichern und bereitzustellen, wie hierin beschrieben. Zu Beispielen für geeignete Register zählen unter anderem dedizierte physische Register, dynamisch mit Registerumbenennung zugewiesene physische Register, Kombinationen aus dedizierten und dynamisch zugewiesenen physischen Registern usw. Die Rückordnungseinheit 1454 und die physische(n) Registerdateieinheit(en) 1458 sind mit Ausführungscluster(n) 1460 gekoppelt. Ausführungscluster 1460 beinhaltet/beinhalten einen Satz mit einer oder mehreren Ausführungseinheiten 1462 und einen Satz mit einer oder mehreren Speicherzugriffseinheiten 1464. Die Ausführungseinheiten 1462 können verschiedene Operationen durchführen (z. B. Verschiebungen, Addition, Subtraktion, Multiplikation) und bei verschiedenen Arten von Daten (z. B. skalares Gleitkomma, gepackte Ganzzahl, gepacktes Gleitkomma, Vektor-Ganzzahl, Vektor-Gleitkomma). Obwohl einige Ausführungsformen eine Reihe von Ausführungseinheiten beinhalten können, die speziellen Funktionen oder Sätzen von Funktionen zugewiesen sind, können andere Ausführungsformen nur eine Ausführungseinheit oder mehrere Ausführungseinheiten beinhalten, die alle Funktionen durchführen. Scheduler-Einheiten) 1456, physischen Registerdateieinheit(en) 1458 und Ausführungscluster 1460 sind als möglicher Plural dargestellt, da bestimmte Ausführungsformen separate Pipelines für bestimmte Arten von Daten/Operationen erstellen (z. B. eine Pipeline für skalare Ganzzahlen, eine Pipeline für skalare Gleitkommas/gepackte Ganzzahlen/gepackte Gleitkommas/Vektor-GanzzahlenNektor-Gleitkommas und/oder eine Speicherzugriff-Pipeline, die jeweils ihre eigene Scheduler-Einheit, physische Registerdateieinheit und/oder ihr eigenes Ausführungscluster haben – und im Fall einer separaten Speicherzugriff-Pipeline sind bestimmte Ausführungsformen implementiert, bei denen nur das Ausführungscluster dieser Pipeline Speicherzugriffseinheiten 1464 hat). Es versteht sich außerdem, dass bei Verwendung von separaten Pipelines eine oder mehrere von diesen Pipelines Out-Of-Order-Issue/Ausführung und der Rest In-Order sein können.
  • Der Satz der Speicherzugriffseinheiten 1464 ist mit der Speichereinheit 1470 gekoppelt, die eine Daten-TLB-Einheit 1472 beinhaltet, die mit einer Daten-Cache-Einheit 1474 gekoppelt ist, die mit einer Stufe 2 (L2) Cache-Einheit 1476 gekoppelt ist. Bei einer beispielhaften Ausführungsform können die Speicherzugriffseinheiten 1464 eine Lasteinheit, eine Speicheradresseinheit und eine Speicherdateneinheit beinhalten, die jeweils mit der Daten-TLB-Einheit 1472 in der Speichereinheit 470 gekoppelt sind. Die L2-Cache-Einheit 1476 ist an eine oder mehrere andere Cache-Level und möglicherweise an einen Hauptspeicher gekoppelt.
  • Als Beispiel kann die beispielhafte Registerumbenennung, Out-of-Order-Issul/Ousführungskern-Architektur die Pipeline 400 wie folgt implementieren: 1) Der Befehlsabruf 1438 führt die Abruf- und Längendecodierstufen 1402 und 1404 durch; 2) die Decodiereinheit 1440 führt die Decodierstufe 1406 durch; 3) die Umbennungs/Zuordner-Einheit 1452 führt die Zuordnungsstufe 1408 und die Umbennungsstufe 1410 durch; 4) Die Scheduler-Einheit(en) 1456 führt(-en) die Scheduling-Stufe 1412 durch; 5) die physische Registerdatei(en)-Einheit(en) 1458 und die Speichereinheit 1470 führen die Registerlese/Speicherlesestufe 1414 durch; das Ausführungs-Cluster 1460 führt die Ausführungsstufe 1416 durch; 6) die Speichereinheit 1470 und die physische Registerdatei(en)-Einheit(en) 1458 führen die Zurückschreib/Speicherschreib-Stufe 1418 durch; 7) verschiedene Einheiten können auf der Ausnahmebehandlungsstufe 1422 beteiligt sein; und 8) die Rückordnungseinheit 1454 und die physische Registerdatei(en)-Einheit(en) 1458 führen die Übergabestufe 1424 durch.
  • Der Kern 1490 kann einen oder mehrere Befehlssätze (z. B. den x86-Befehlssatz (mit einigen Erweiterungen, die neuen Versionen hinzugefügt wurden); den MIPS-Befehlssatz von MIPS Technologies aus Sunnyvale, CA; den ARM-Befehlssatz (mit optionalen zusätzlichen Erweiterungen wie z. B. NEON) von ARM Holdings aus Sunnyvale, CA) unterstützen.
  • Es ist selbstverständlich, dass der Kern Multithreading (die Ausführung von zwei oder mehr parallelen Sätzen von Operationen oder Threads) unterstützen kann und dies auf eine Vielzahl von Arten tun kann, zum Beispiel zeitlich gesplittetes Multithreading, gleichzeitiges Multithreading (wobei ein einziger physischer Kern einen logischen Kern für jeden der Threads liefert, für den der physische Kern ein gleichzeitiges Multithreading durchführt) oder eine Kombination davon (z. B. zeitlich gesplittetes Holen und Dekodieren oder gleichzeitiges Multithreading danach, z. B. bei der Intel® Hyperthreading-Technologie).
  • Obwohl Registerumbenennung im Zusammenhang mit der ungeordneten Ausführung beschrieben ist, ist selbstverständlich, dass Registerumbenennung in einer geordneten Architektur verwendet werden kann. Während das dargestellte Ausführungsbeispiel des Prozessors auch eine separate Anweisung und Daten-Cache-Einheiten 1434/1474 und eine gemeinsam genutzte L2-Cache-Einheit 1476 umfasst, können andere Ausführungsformen einen einzelnen internen Cache für Anweisungen und Daten, wie zum Beispiel einen internen Level 1(L1)-Cache oder mehrere Ebenen an internem Cache-Speicher, aufweisen. In manchen Ausführungsformen kann das System eine Kombination von einem internen Cache und einem externen Cache, der extern in Bezug auf den Kern und/oder den Prozessor ist, umfassen. Alternativ können alle Caches extern in Bezug auf den Kern und/oder den Prozessor sein.
  • In einer Ausführungsform enthält ein Display einen Touchscreen oder ein anderes berührungsempfindliches Display. Das berührungsempfindliche Display (oder der Touchscreen) kann einen aktiven und einen inaktiven Bereich enthalten. Bei der aktiven Fläche kann es sich um einen Bereich handeln, der durch Berührung Eingaben empfängt, und eine Komponente der Plattform reagiert auf die Berührungseingabe (z. B. über das Display). Bei der inaktiven Fläche kann es sich um einen Bereich des berührungsempfindlichen Displays (oder des Touchscreens) handeln, der auf Berührungseingaben nicht reagiert. Mit anderen Worten verändert die Plattform die Anzeige nicht und führt keine andere Aktion aus, obwohl im inaktiven Bereich eine Berührungseingabe durchgeführt wird. Die Plattform wirkt so, als ob die Berührungseingabe (im inaktiven Bereich) von der Plattform nicht erkannt wird.
  • Es kann auch Ausführungsformen für einen Computer geben, der zwischen dem Tablet-Modus und dem Modus als Laptop mit aufklappbarem Bildschirm wechselt. Bei dem aufklappbaren Gerät kann der Deckel bzw. das Display als Tablet oder als Tablet-Display (das ein berührungsempfindliches Display enthält) bezeichnet werden. Jedoch kann das Tablet-Display (oder der Deckel) beim aufklappbaren Computer nicht von der Basis gelöst werden.
  • Es kann Ausführungsformen geben, bei denen die Steuerung eines aktiven Bereichs (oder der aktive Anzeigebereich) des berührungsempfindlichen Displays (oder des Touchscreen) ausgehend vom Betriebsmodus des Tablet oder einer Benutzereingabe erfolgt. So kann das berührungsempfindliche Display (oder der Touchscreen) im Klappmodus zum Beispiel eine im Vergleich zum Tablet-Modus, in dem das berührungsempfindliche Display (oder der Touchscreen) eine kleine aktive Fläche (oder einen kleinen Anzeigebereich) haben kann, möglicherweise große aktive Fläche (oder einen großen Anzeigebereich) aufweisen. Die Größe des inaktiven Bereichs (oder der virtuellen Blende) des berührungsempfindlichen Displays (oder des Touchscreens) kann sich in Abhängigkeit von der geänderten Größe des aktiven Bereichs ebenfalls ändern. Dadurch kann ein Benutzer den Tablet-Computer einfacher halten, aber auch versehentlich den aktiven Bereich berühren. Der inaktive Bereich kann als virtuelle Blende bezeichnet werden, bei der der Blendenbereich verkleinert oder vergrößert wird, indem die Größe des aktiven Anzeigebereich des Displays verändert wird.
  • Benutzer können einen Tablet-Computer in der Hand halten. Deshalb kann ein großer Blendenbereich bei der Verwendung eines berührungsempfindlichen Tablet-Computers wünschenswert sein, damit der Benutzer beim Festhalten des Tablet-Computers nicht den Anzeigebereich (oder den aktiven Anzeigebereich) blockiert oder versehentlich Berührungsereignisse verursacht. Jedoch wird die Blende im Klappmodus möglicherweise nicht mehr benötigt, und es kann wünschenswert sein, dass die Blende so klein wie möglich wird, um den aktiven Anzeigebereich zu maximieren. Bei einem elektronischen Gerät, das in einem Tablet-Modus und in einem Klappmodus (z. B. als abnehmbarer Tablet-Computer oder als Laptop) betrieben wird, kann eine virtuelle Blende einen in Abhängigkeit vom Einsatzmodus des elektronischen Geräts optimalen Anzeigebereich bieten.
  • Die virtuelle Blende kann als einstellbare farbige Blende um den äußeren Rand des Displays ausgeführt werden. Durch das Vergrößern oder Verkleinern der Blende um das Display scheint die Anzeige ihre Größe zu verändern. Die Veränderung der Pixelgröße kann durch die Hardware des Displays und/oder den Betriebssystemtreiber vorgenommen werden, so dass das Betriebssystem von der physikalischen Veränderungen der Größe des Anzeigebereichs nicht betroffen sein muss.
  • Verschiedene Ausführungsformen ermöglichen bei Displays mit Touchscreen-Funktion eine effektive Nutzung der Blende durch die Anzeige von Inhalten über dynamische Echtzeit-Entscheidungen für die Wiedergabe von Inhalten im Blendenbereich. Der Blendenbereich, in dem Inhalte dynamisch wiedergegeben werden können, werden als virtuelle Blende bezeichnet und Systeme, in denen der Blendenbereich für die Anzeige von Inhalten dynamisch ein- oder ausgeschaltet wird, werden als Systeme mit virtueller Blende bezeichnet. Virtuelle Blenden ermöglichen die Anzeige von Informationen im Bereich der Blende zusätzlich zur primären Anzeige.
  • In verschiedenen Ausführungsformen werden intelligente Entscheidungen getroffen, um zu bestimmen, wann und wie der Blendenbereich zur Anzeige von Inhalten verwendet wird, wobei diese intelligente Aktivierung des Blendenbereichs zur Anzeige von Informationen anhand einer Kombination verschiedener Kriterien erfolgen kann. Entscheidungsvektoren (z. B. Sensoren, Gerätekonfiguration, Inhaltstyp, Aktivität des Hauptmonitors) werden auf intelligente Weise zur Aktivierung/Deaktivierung der Anzeigeflächen für Informationen verwendet. Jede Seite der Blende (links, rechts, oben, unten) kann unabhängig von den anderen aktiviert/deaktiviert und im Hinblick darauf eingestellt werden, welche Arten von Inhalten darin angezeigt werden sollen. Inhalte können ausgehend vom Inhalt auf der Anzeige (Inhalt der primären Anzeige), neben der Anzeige (Umgebung, andere Geräte) und den Benutzereinstellungen angezeigt werden. Nahtlose Bewegung der Inhalte und Interaktion zwischen der primären Anzeige und dem Inhalt der Blendenanzeige können realisiert werden.
  • Es gibt Ausführungsformen, bei denen ein Computer eine Logik für das berührungsempfindliche Display und die Anzeige enthält, die zumindest teilweise in der Hardware ausgeführt ist. Diese Anzeigelogik kann die Größe eines aktiven Bereichs des berührungsempfindlichen Displays und die Größe eines inaktiven Bereichs des berührungsempfindlichen Displays ausgehend von einer Konfiguration des Gerätes, dem angezeigten Inhalt usw. steuern. Wie hierin beschrieben, kann die Anzeigelogik in verschiedenen Ausführungsformen weitere Operationen durchführen.
  • In verschiedenen Ausführungsformen kann eine Plattform die verteilte Vorverarbeitung der Human Interface Device-Daten (HID) in einer Weise ermöglichen, dass ein Prozessor der Plattform wie z. B. ein System auf einem Chip (SoC) oder ein anderer Prozessor in einen Zustand mit verringertem Energieverbrauch wechselt und bleibt. Genauer gesagt führen Ausführungsformen verteilte Filterung von HID-Informationen durch, die von einem Benutzer kommend empfangen werden, wenn diese Informationen in einem inaktiven Teil eines HID vorhanden sind. Zwar stehen die hierin beschriebenen Ausführungsformen in Bezug zu verteilter Vorverarbeitung im Kontext eines Touchscreen-HID, es sei jedoch darauf hingewiesen, dass der Anwendungsbereich der vorliegenden Erfindung in dieser Hinsicht nicht begrenzt ist und dass andere Implementierungen in Verbindung mit anderen HID wie unter anderem Touchpads und anderen berührungsempfindlichen Eingabegeräten, Mäusen, sonstigen Gesten-Eingabegeräten und so weiter verwendet werden können.
  • Ein mit dem HID verbundener Controller, wie zum Beispiel ein Touchscreen-Controller, kann eine Logik zum Ausführen dieser verteilten Vorverarbeitung enthalten, um Berührungseingaben herauszufiltern, die innerhalb einer nicht aktiven Zone empfangen werden. Wie in hierin angeführten Beispiele beschrieben, können diese nicht aktiven Zonen Teilen eines Touchscreens (wie z. B. der virtuellen Blende) entsprechen, die nicht aktive Teile einer Anzeige überlagern. Als weitere Beispiele für nicht aktive Zonen sind Bereiche außerhalb von aktiven Softwaretasten und anderen aktivierten Funktionsbereichen für Benutzereingaben zu nennen.
  • In einigen Implementierungen können anstelle sekundärer Anzeigebereiche, die an der Peripherie eines Displays um einen primären Anzeigebereich herum konfiguriert werden, mehrere beliebig geformte Fenster für den Empfang von Benutzereingaben zur Verfügung gestellt werden. So kann zum Beispiel ein Film oder ein anderer Videoinhalt in einem primären Anzeigebereich angezeigt werden, während beliebige aktive Anzeigebereiche, z. B. am unteren Rand der Anzeige, als Steuertasten für z. B. die nächste Szene, die vorherige Szene, Pause, Stopp, Wiedergabe, Lauter/Leiser, Ansichten usw. zur Verfügung gestellt werden. In diesem Beispiel bei Betrieb mit einer virtuellen Blende und Anzeige des Films in einem minimalen Anzeigebereich (z. B. eine 720 Pixel-Version) kann jede Berührung des angezeigten Filmbildes oder der vorgegebenen Teilregionen bzw. Pixel, die den Softtasten entsprechen, dem Hostprozessor kommuniziert werden. Andere Berührungsereignisse, wie z. B. Daumen auf der virtuellen Blende, können im Touchscreen-Controller gefiltert und nicht kommuniziert werden.
  • Viele Displays bemühen sich mit Hilfe verschiedener Funktionen um Energiesparfunktionen. Beispielsweise können LED-Anzeigen mit Leuchtdioden (LED) einzelne Pixel innerhalb der Anzeige selektiv aktivieren, während andere Pixel nicht leuchten (dies kann verwendet werden, um den Großteil der primären Anzeige auszuschalten und nur ein kleines Statusbild sichtbar zu lassen). In ähnlicher Weise verbrauchen Displays mit elektronischer Tinte (E-Ink) oder bistabile Anzeigen keinerlei Energie, solange dem Benutzer ein statisches Bild angezeigt wird. Displays mit einer Technologie zur Anzeigeaktualisierung verbrauchen hingegen bei der Anzeige eines statischen Bildes Energie, ermöglichen es aber der restlichen Plattform, in einen Zustand mit geringerem Energieverbrauch zu wechseln. Diese Energiesparzustände sind besonders effektiv, wenn sie nur ein statisches Bild anzeigen, z. B. beim Lesen eines E-Books oder eines Portable Document Format-Dokuments (PDF).
  • Bei Verwendung einer Ausführungsform kann eine Berührung in einem unzulässigen Bereich eines Touchscreens, z. B. um den äußeren Teil einer Anzeige herum, durch den Touchscreen-Controller gefiltert werden. Diese Filterung vermeidet auf diese Weise das Entstehen von Interrupts, durch die ein Hostprozessor gezwungen wäre, weiterhin zu arbeiten, um die ungültigen Berührungsdaten zu analysieren und zu verwerfen, sodass verhindert würde, dass der Prozessor/die Plattform in einen Energiesparzustand wechselt (oder das Beenden des Energiesparzustands erzwungen wird).
  • Im Allgemeinen ist der Touchscreen-Controller für die Analyse analoger Touchscreen-Eingaben konfiguriert, bildet diese auf eine digitale Darstellung der menschlichen Interaktion mit dem Touchscreen ab und übergibt diese Informationen an den Prozessor. In anderen Implementierungen kann die Funktion des Berührungs-Controllers in den Touchscreen selbst integriert sein, oder der Touchscreen wie auch der Touchscreen-Controller sind in die Anzeige integriert.
  • Die verteilte Vorverarbeitung der Touchscreen-Daten, bei der die Vorverarbeitungskomponenten (rohe) Touchscreen-Daten oder eine Teilmenge der Touchscreen-Daten analysieren, um die Relevanz innerhalb dieses Touchscreen-Daten zu bestimmen, kann den Stromverbrauch der Plattform reduzieren. In anderen Ausführungsformen können diese Vorverarbeitungskomponenten in der Hardware, z. B. auf Register Transfer Level (RTL) oder als Microcode verkörpert werden. Die Vorverarbeitungskomponenten können in der Nähe des Touchscreens oder darin angeordnet werden. Dieser Touchscreen kann sich in der Nähe der primären Anzeige (oder Nebenanzeige usw.) oder eines (oder mehrerer) externen/r Displays einer Plattform befinden. So kann beispielsweise die verteilte Verarbeitung an einer beliebigen Stelle innerhalb des Datenpfads zwischen dem Touchscreen und dem Prozessor implementiert werden.
  • Unter Bezugnahme auf 15A wird ein Blockdiagramm eines Teils eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 15A gezeigt, kann System 1500 jede Art von Plattform sein, die eine Funktion für Benutzereingaben durch Berührungsdaten anbietet. Zum Beispiel kann Plattform 1500 ein mobiles Gerät mit geringem Energieverbrauch wie ein Smartphone, ein Tablet-Computer, ein UltrabookTM-Computer oder ein anderes Laptop oder Notebook-Gerät sein. Wie ersichtlich in 15A, beinhaltet Plattform 1500 einen Prozessor 1510, der in einer Ausführungsform einer Zentraleinheit (CPU) ist. Der Prozessor 1510 kann ein Mehrkern-Prozessor sein, und er ist über den Anschluss 1515 an einen Peripheral Controller Hub (PCH) 1520 gekoppelt. In manchen Ausführungsformen können Prozessor 1510 und PCH 1520 in einen einzigen integrierten Schaltkreis (IC) wie zum Beispiel einem SoC integriert werden, die in einige Ausführungsformen wiederum auf einem einzigen Halbleiter-Chip implementiert sein können. In anderen Implementierungen können Prozessor 1510 und PCH 1520 separate integrierte Schaltkreise sein.
  • Plattform 1500 enthält weiterhin ein Display 1530, das in einer Ausführungsform eine bestimmte Art von Display wie ein Flüssigkristall-Display (LCD), ein LED-Display, ein OLED-Display (OLED, organisches LED) usw. sein kann. Wie ersichtlich stellt Prozessor 1510 dem Display 1530 über eine Video-Schnittstelle 1535 Anzeigeinformationen zur Verfügung. In der gezeigten Ausführungsform ist das Display 1530 in einem primären Anzeigebereich 1534 aktiv und von einem inaktiven oder virtuellen Blendenbereich 1532 umgeben. Zu beachten ist, dass die Begriffe „virtuelle Blende” und „sekundärer Anzeigebereich” hierin als Synonym verwendet werden und einen Bereich der Anzeige außerhalb des primären Anzeigebereichs bezeichnen.
  • Display 1530 wird von einem Touchscreen 1540 überlagert, der Eingabeschaltungen wie beispielsweise ein Gitter enthält, das Berührungseingaben von einem Benutzer erfasst. In einige Ausführungsformen bilden der Controller der Touchscreen-Anzeige und der Touchscreen ein integriertes Modul. Als Beispiel kann ein Display aus einem einzigen Stück Glas geformt sein, auf dessen eine Seite die Anzeige aufgedruckt ist und auf dessen andere Seite der Touchscreen laminiert ist und das weiterhin einen integrierten Touchscreen-Controller enthält. Der Touchscreen 1540 ist wiederum mit einem Touchscreen-Controller 1550 gekoppelt, der eine Logik 1555 für die hierin beschriebene verteilte Vorverarbeitung enthält. In einer Ausführungsform kann der Touch-Controller 1550 als ein Mikrocontroller mit Mikrocode und/oder einer Konfiguration zur Ausführung von Touch-Firmware implementiert sein. Um eingehende Berührungsdaten für die Verarbeitung im Prozessor 1510 bereitzustellen, wird der Touch-Controller 1550 über den Anschluss 1545 an PCH 1520 gekoppelt, der als USB-Schnittstelle (USB, Universal Serial Bus), eine I2C-Schnittstelle (I2C, inter-integrierte Schaltung) oder mit einem Universal Asynchronous Receiver Transmitter (UART) als Übertragungsweg konfiguriert sein kann. Obwohl in 15A als Kommunikationsverbindung ein Kabelanschluss dargestellt, ist es klar, dass die Kommunikation durch drahtlose oder durch kabelgebundene Kommunikation, z. B. über WiFiTM oder über eine Ethernet-Verbindung zu einer entfernten/externen All-In-One-Anzeige (AIO) mit Touchscreen (für Digital Signage-Anwendungen) erfolgen kann.
  • Damit Prozessor 1510 gültige Berührungsdaten verarbeiten kann, befinden sich Prozessor und PCH in aktivem Zustand. Wenn Sie in aktivem Zustand sind, können solche Komponenten nicht in einem Energiesparzustand laufen, oder zumindest wird verhindert, dass die Komponenten in einen tieferen Energiesparzustand gebracht wird. Um mit einer Ausführungsform der vorliegende Erfindung einen geringeren Stromverbrauch zu ermöglichen, kann der Touchscreen-Controller 1550 verteilte Vorverarbeitung durchführen, um durch Sperren oder Filtern zu verhindern, dass ungültige Berührungsdaten an Prozessor 1510 weitergeleitet werden, sodass der Prozessor, in einen Energiesparzustand (und/oder in weitere, effizientere Energiesparzustände) wechseln und bleiben kann. Es ist zu beachten, dass, wie hierin beschrieben, solche Berührungsdaten des Benutzers ungültig sind, die aus einem Bereich des Touchscreens empfangen werden, aus den keine Eingaben des Benutzers erwartet werden. Wenn ein Benutzer zum Beispiel im Zusammenhang mit der oben beschriebenen virtuellen Blende einen Tablet-Computer oder einen anderen Computer an der Blende anfasst, so dass die Finger diese virtuelle Blende berühren, auf der keine aktive Anzeige vorhanden ist und/oder die keine aktiven Softtasten enthält, so sind solche Berührungsdaten ungültig. Wenn dieser oder andere Bereiche eines Displays Softtasten für die Benutzerauswahl enthalten, entsprechen die Berührungen des Benutzers außerhalb dieser aktiven Softtasten in entsprechender Weise ungültigen Berührungsdaten. Bei den Ausführungsformen der vorliegenden Erfindung können alle diese Berührungsdaten aus solchen inaktiven Bereichen gefiltert und somit daran gehindert werden, dem Prozessor/PCH kommuniziert zu werden, sodass Eingabe und Pflege im Energiesparzustand und in tieferen Energiesparzuständen ermöglicht werden.
  • Es ist zu beachten, dass in 15A zwar nur ein einziger aktiver Anzeigebereich 1534 und ein einziger inaktiver Anzeigebereich 1532 gezeigt werden, es liegt jedoch auf der Hand, verstehen, dass in anderen Implementierungen mehrere dieser beiden Bereiche möglich sind. Beispielsweise kann ein Energiespar-Display einen ersten aktiven Anzeigebereich beinhalten, in dem Inhalte wie Video-Inhalte oder Seiten eines E-Books angezeigt werden, während ein zweiter aktiver Bereich eine Steuerung anzeigen kann, die so konfiguriert ist, dass Benutzereingaben zur Ausführung verschiedener Funktionen zur Steuerung der angezeigten Informationen oder anderer vom System durchgeführter Operationen angezeigt werden. In solchen Fällen kann der Touchscreen-Controller 1550 so konfiguriert werden, dass ungültige Touch-Interrupts von außerhalb dieses Steuerbereichs nicht an den Prozessor 1510 kommuniziert werden.
  • In weiteren anderen Beispielen kann mindestens ein aktiver Anzeigebereich aktiviert werden, während andere Teile der Anzeige ausgeschaltet sind. Auf diese Weise werden nur gültige Touch-Interrupts aus diesen aktiven Anzeigebereichen vom Touchscreen-Controller 1550 zum Prozessor 1510 kommuniziert, während der Rest des Displays nicht mit Energie versorgt wird. Als ein Beispiel dafür kann nur ein Steuerbereich als aktiver Anzeigebereich angezeigt werden, während der Rest der Anzeige ausgeschaltet ist. Auch kann die Plattform in einem Gehäuse wie z. B. einer Schutzhülle konfiguriert werden, die eine körperliche Öffnung mit einem Fenster enthält, das Zugriff auf den Steuerbereich gewährt, um auf diese Weise Eingaben zu ermöglichen, während der Rest der Anzeige (und das System) in einem Energiesparzustand laufen.
  • Somit zeigt die Darstellung in 15a eine Situation, in der vom Touchscreen 1540 kommende Berührungsdaten sich in einem inaktiven Bereich befinden und über die Logik 1555, die auf dem Touchscreen-Controller 1550 ausgeführt wird, gefiltert werden sollen. Im Gegensatz dazu zeigt 15B weitere Operationen, wenn gültige Berührungsdaten für einen Benutzer Fingereingabe Region eine aktive Note empfangen werden. Hier werden die Berührungsdaten nach der Vorverarbeitung in Logik 1555 über Anschluss 1545 und durch PCH 1520 an den Prozessor 1510 kommuniziert, um dort entsprechend durch z. B. Weitergabe der Benutzereingaben an ein geeignetes Betriebssystem oder eine geeignete Firmware oder Anwendung verarbeitet zu werden, die auf Prozessor 1510 ausgeführt wird. Obwohl auf diesem hohen Niveau in 15A und 15B gezeigt, ist der Umfang der vorliegenden Erfindung jedoch in dieser Hinsicht in keiner Weise eingeschränkt.
  • Unter Bezugnahme auf 16 wird ein Ablaufdiagramm einer Methode für die Vorverarbeitung von Touch-Daten gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 16 veranschaulicht, kann die Methode 1600 mit einer Filter-Logik eines Touch-Controllers durchgeführt werden, wie z. B. der Logik 1555 von 15A.
  • Wie dargestellt beginnt die Methode 1600 an der Raute 1610, wo bestimmt wird, ob neue von einem Host stammende Bereichskoordinaten empfangen werden. Obwohl der Geltungsbereich der vorliegenden Erfindung in dieser Hinsicht nicht auf eine Ausführungsform beschränkt ist, können diese Bereichskoordinaten einen Hinweis auf die aktiven und inaktiven Eingabebereiche eines Touchscreens liefern und von einer Touchscreen-Firmware empfangen werden, die auf einem Prozessor der Plattform ausgeführt wird. Wenn festgestellt wird, dass solche Eingaben empfangen werden, wird die Steuerung an Block 1620 übergeben, wo gültige Bereichskoordinaten aktualisiert werden können. Genauer gesagt, können diese Informationen, die den Zuordnungsinformationen entsprechen, dazu verwendet werden, die in einem geeigneten und für die Logik erreichbaren Speicher gespeicherten Koordinaten zu aktualisieren; dies kann z. B. ein interner Speicher des Mikrocontrollers oder ein damit gekoppelter Speicher sein. In verschiedenen Ausführungsformen können diese Koordinateninformationen als X-Y-Achsensystem ausgedrückt werden, um auf diese Weise gültige und ungültige Bereiche für Berührungseingaben zu identifizieren. Es ist zu beachten, dass eine Touchscreen-Firmware mehrere Bereiche innerhalb des Touchscreens definieren kann, in denen gültige Touchscreen-Daten generiert werden können, und dass diese Bereiche unterschiedliche Größen und Formen haben können.
  • Die Relevanz der Touchscreen-Eingabe kann anhand des jeweiligen Bereichs innerhalb des Touchscreens bestimmt werden. In einigen Ausführungsformen kann es mehrere Bereiche innerhalb des Touchscreens, die von Größe und Form her ähnlich oder unterschiedlich sind. Diese Bereiche können die Größe eines einzelnen Touchscreen-Pixels besitzen oder so groß wie das gesamte Pixel-Array des Touchscreens sein. Darüber hinaus kann die Relevanz der Touchscreen-Eingabe auch von der Touchscreen-Firmware oder übergeordneter Firmware- oder Software bestimmt werden. Diese Relevanz kann von der gleichen Steuerlogik dynamisch geändert werden. Auch kann die Relevanz der Touchscreen-Eingaben, die von der Touchscreen-Firmware an die Vorverarbeitungskomponenten übergeben werden, Sicherheits-/Datenschutzrichtlinien beinhalten.
  • Weiter bezugnehmend auf 16 wird die Steuerung an Raute 1630 übergeben, wo festgestellt wird, ob eine Berührungseingabe erkannt wird. Wenn ja, geht die Steuerung an Block 1640 über, wo kann die Berührungseingabe analysiert werden kann, um festzustellen, ob die Berührungseingabe innerhalb eines gültigen oder eines ungültigen Berührungsbereichs liegt. Die Vorverarbeitung kann eine Analyse von Gruppen oder Kombinationen von menschlichen Interaktionen umfassen, z. B. das gleichzeitige Drücken von Tastenkombinationen. Wenn für Raute 1650 festgelegt ist, dass die Berührungseingabe aus einem gültigen Berührungsbereich stammt, geht die Steuerung an Block 1660 über, wo die Berührungseingabe an den Host gemeldet werden kann. Insbesondere in der Ausführungsform von 15A, diese Berührungsdaten können über PCH 1520 an den Prozessor 1510 übermittelt werden, auf dem eine Touch-Firmware ausgeführt wird, um diese Berührungsdaten zu verarbeiten und einem geeigneten Agenten, z. B. einer Systemsoftware oder einer Anwendung, Informationen über den Ort und die Art der Berührung durch den Benutzer zu liefern.
  • In einer weiteren Ausführungsform können vorverarbeitende Komponenten von einer Touchscreen-Firmware abgefragt werden, z. B. durch das Lesen von Registern. Der Touchscreen-Controller kann die Touchscreen-Informationen als Gerät der HID-Klasse melden, z. B. als Touchscreen-Gerät oder als erweitertes Gerät der HID-Klasse. Ebenso kann die Touchscreen Firmware oder eine übergeordnete Firmware- oder Softwarefunktion dynamisch (eine oder mehrere) Instanziierungen von Geräten der HID-Klasse oder erweiterten Geräten der HID-Klasse laden und entladen, um Touchscreen-Informationen von einem Einzel-Touchscreen zu melden, z. B., wenn ein Benutzer zeitweise durch eine Menühierarchie navigiert, die in jedem angezeigten Menü verschiedene Anforderungen an menschliche Interaktionen aufweist. Hier können sich Touchscreen-Bereiche überlappen (wie Venn-Diagramme), sodass eine einzelne Touchscreen-Interaktion als Touchscreen-Informationen interpretiert werden können, die an mehrere HID-Geräte gleichzeitig gemeldet werden.
  • Es ist zu beachten, dass diese Kommunikation an Block 1660 dann auftritt, wenn Prozessor (und PCH) sich in einem aktiven Zustand befinden. Andernfalls führt diese Kommunikation dazu, dass diese Komponenten aus einem Energiesparzustand aufwachen und in einen aktiven Zustand übergehen. Im Gegensatz dazu findet keine Kommunikation mit diesen vorgeschalteten Komponenten statt, wenn bei der Vorverarbeitung im Touchscreen-Controller festgestellt wird, dass die Berührungseingabe in einem ungültigen Berührungsbereich stattgefunden hat (wie in 1640 festgelegt und beschrieben, sodass eine solche Eingabe ignoriert, also bei Block 1670 verworfen wird). Dementsprechend können diese Komponenten in einem Energiesparzustand bleiben oder in einen solchen Energiesparzustand versetzt werden. Das heißt, dass diese Komponenten dafür konfiguriert werden können, in einen Energiesparzustand zu wechseln, wenn nicht innerhalb eines bestimmten Zeitrahmens ein Interrupt (z. B. ein Berührungsdaten-Interrupt) eingeht. Obwohl er auf diesem hohen Niveau in der Ausführungsform von 16 gezeigt wird, ist der Umfang der vorliegenden Erfindung jedoch in dieser Hinsicht in keiner Weise eingeschränkt.
  • Durch die Kombination von bereichsbasierten Meldungen über Touchscreen-Eingaben, wie hierin beschrieben, mit Energiespar-Displaytechnologien wird die gewohnte visuelle Benutzererfahrung bei niedrigerem Energieverbrauch (längere Akkulaufzeiten) erreicht. Im allgemeinen werden anzuzeigende grafische Bilder von übergeordneter dynamisch an einen Grafiktreiber (GFX) übermittelt, ebenso die jeweiligen Fenster- oder Pixelbereiche. Der GFX-Treiber sendet Videopixeldaten und -signale an das Display, damit das gewünschte Bild angezeigt wird. Auch übermittelt diese übergeordnete Software dynamisch Informationen zu gültigen Touchscreen-Fenstern, die ihren jeweiligen grafischen Fenstern zugeordnet werden, an die Touchscreen-Firmware, die diese Informationen über gültige Touchscreen-Bereiche wiederum an den Touchscreen-Controller übermittelt.
  • Im besten Fall kann das Display-/Touchscreen-Modul bei gültigen Berührungseingaben aktiviert werden, um das gewünschte Bild anzuzeigen und zu warten, während die Energieversorgung der Plattform für das restliche System (einschließlich CPU, PCH) deaktiviert oder das restliche System in einen sehr effektiven Energiesparzustand versetzt werden kann.
  • Der Touch-Controller verhindert somit ungültige Berührungs-Interrupts, beispielsweise aus Berührungsbereichen außerhalb eines E-Books, und gibt gültige Berührungs-Interrupts aus gültigen Berührungsbereichen an die Host-Firmware weiter. Als solcher gibt der Touch-Controller nur gültige Berührungs-Interrupts von innerhalb der Berührungsbereiche des Steuerbereichs an die Host-Firmware weiter, während der Rest des Displays deaktiviert ist.
  • Daher können Zuordnungen der auf dem Display angezeigten Pixelbereiche zu gültigen Berührungseingabebereichen auf dem Touchscreen gesteuert werden, indem diese Informationen an den GFX-Treiber bzw. die Touchscreen-Firmware übermittelt werden, die diese Informationen wiederum zusammen mit allen Steuersignalen zur Verwaltung dieser Geräte an ihre jeweiligen Display- und Touchscreen-Controller-Subsysteme weitergeben.
  • Viele Plattformen beinhalten eine Funktion für haptische Rückmeldungen, wodurch der Benutzer innerhalb bestimmter Bereiche des Touchscreens lokal angepasste Rückmeldungen spüren kann. Die Kombination von bereichsbasierten Meldungen der virtuellen Blende über Touchscreen-Eingaben mit haptischen Rückmeldungen ermöglicht eine bessere Benutzererfahrung. Das bedeutet, dass der Benutzer nur dann haptische Rückmeldungen erhält, wenn er das Display-/Touchscreen-Modul innerhalb des gültigen Display-/Touchscreen-Bereichs berührt.
  • In einigen Ausführungsformen kann ein kombiniertes System mit Mikrocontroller/anwendungsspezifischer integrierter Schaltung (ASIC) implementiert werden, das sowohl eine Vorverarbeitung der Touchscreen-Eingabe (mit virtueller Blende und Maskierung ungültiger Bereiche) als auch haptische Rückmeldungen durchführt. Auf diese Weise wird für eine wesentlich geringere Leistungsaufnahme gesorgt als bei Ausführung dieser Funktionen über Host-Firmware und CPU. In einer Ausführungsform kann der Haptikgenerator ein Exzenter sein, dessen Bewegung je nach Benutzereingaben gesteuert wird. Diese Bewegung verursacht eine Vibration, die dem Benutzer eine Rückmeldung gibt. Alternativ kann der Haptikgenerator in Form eines um das Display verlaufenden elektrischen Rings implementiert werden, der haptische Rückmeldungen in Form von elektrostatischer Aufladung im Bereich des Rings ausgibt. In weiteren Ausführungsformen kann ein Haptikgenerator in einen Touchscreen integriert und über den Touchscreen-Controller gesteuert werden.
  • Haptische Rückmeldungen können als solche an den Benutzer ausgegeben werden, wenn die Touchscreen-Daten des Benutzers aus einem gültigen Touchscreen-Bereich stammen (andernfalls wird keine haptische Rückmeldung ausgegeben). In manchen Ausführungsformen sind haptische Rückmeldungen auf bestimmte Bereiche beschränkt. Wenn zum Beispiel ein Multitouch-Touchscreen nach und nach mit mehreren Fingern berührt wird, wird eine haptische Rückmeldung über die Platzierung eines weiteren Fingers auf dem Touchscreen nur an den Finger ausgegeben, der für die neue Berührung verantwortlich ist (und nicht für alle anderen bereits platzierten Finger). Es ist zu beachten, dass sich bei einer Veränderung der Relevanz einer Touchscreen-Eingabe auch die Bereiche verändern, durch die festgelegt wird, ob eine haptische Rückmeldung an den Benutzer ausgegeben wird.
  • Unter Bezugnahme auf 15C wird ein Blockdiagramm eines Teils eines Systems gemäß einer weiteren Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 15C gezeigt, ist System 1500' im Wesentlichen genauso konfiguriert wie System 1500 in 15A. Allerdings muss hier das Vorhandensein eines Haptikgenerators 1560 beachtet werden. Bei der Ausführungsform, die in 15C gezeigt wird, ist der Haptikgenerator 1560 in Form eines elektronischen Feldgenerators bzw. eines kapazitiven Haptikgenerators implementiert, der haptische Rückmeldungen an den Benutzer ausgibt. Es ist weiter zu beachten, dass in dieser Implementierung der Touchscreen-Controller 1550 zusätzlich eine Haptik-Steuerlogik 1565 enthält, die dafür konfiguriert ist, gültige Berührungsdaten zu empfangen, die in Logik 1555 verarbeitet werden, und auf diese Berührungsdaten zu reagieren, um Steuersignale für Haptikgenerator 1560 zu erzeugen und lokal angepasste haptische Rückmeldungen zu veranlassen, wie z. B. die Anregung eines begrenzten Bereichs auf Display 1530 in der speziell begrenzten Fläche des Berührungsereignisses durch den Benutzer, z. B. bei Platzierung eines zusätzlichen Fingers auf dem Display.
  • In manchen Ausführungsformen kann ein optisch scannendes Display verwendet werden, dessen Pixel alle einen integrierten optischen Scanner enthalten, was den Bildschirm in die Lage versetzt, Benutzereingaben wie Berührungen mit dem Finger, Visitenkarten und andere visuelle Informationen auf der Vorderseite zu scannen. Hierin beschriebene Touchscreen-Softtasten können, zusammen mit der verteilten Vorverarbeitung von Touchscreen-Daten, ob innerhalb des primären Anzeigebereichs oder außerhalb des primären Anzeigebereichs, dazu verwendet werden, dass das Display die Aktivierung der optischen Scanner veranlasst (etwa in ausgewählten Pixeln) und ein Bild erfasst. Auf diese Weise wird die Leistungsaufnahme des Scanners reduziert, da die Einschaltdauer so kurz ist. In verschiedenen Beispielen kann ein solcher Scanner zu Sicherheitszwecken (z. B. um Fingerabdrücke zu scannen) und zu Verbraucherzwecken (z. B. um Strichcodes, zweidimensionale Strichcodes (QR-Codes) zu scannen usw.) eingesetzt werden. Außerdem kann das Display statt einer vollständigen Beleuchtung der gesamten Fläche auch nur eine oder mehrere ausgewählte, begrenzte Touchscreen-Bereiche beleuchten, wodurch die Leistungsaufnahme noch weiter gesenkt wird. Dementsprechend wird die Benutzereingabe (z. B. der Fingerabdruck) als Sicherheitsmechanismus verwendet. Wenn der Finger des Benutzers sich also über dem angegebenen Bereich befindet, wird ein lokaler Fingerabdruckscan durchgeführt, der auch die Beleuchtung durch einen Blitz im jeweiligen Bereich beinhalten kann.
  • Zudem wird bei lokaler Beleuchtung ausgewählter Bereiche eine Störung des Benutzers vermieden, die durch Aufblitzen oder Beleuchten des gesamten Displays auftreten würde, da nur der Bereich beleuchtet wird, in dem der Finger oder QR-Code platziert wird. Dies wäre insbesondere dann der Fall, wenn die Beleuchtung das Betrachten von Bildinformationen auf anderen Teilen des Displays stören würde. Ein weiteres Beispiel für einen Anwendungsfall ist die Verwendung eines tragbaren Geräts (z. B. ein Smartphone oder ein Tablet-Computer), um Kredit-, Debit- oder andere Finanztransaktionen mittels eines Fingerabdrucks zu autorisieren, der bei lokal begrenzter Beleuchtung eines ausgewählten Eingabebereichs des Displays gescannt wird.
  • Weiter kann ein durch eine Benutzereingabe, Touch-Vorverarbeitung und eine optische Scankontrolle verursachter Interrupt lokal innerhalb der Display-/Touchscreen-/Scanner-Modulbaugruppe bearbeitet werden, wodurch ein systemweiter, vom Hostprozessor ausgeführter Interrupt-Dienst vermieden werden kann. Und darüber hinaus erfolgt diese verteilte Vorverarbeitung in der Nähe der Display-Modulbaugruppe bei geringeren Leistungsaufnahmestufen als bei Aktivierung der Plattform zur Bearbeitung des Interrupts über Host-Firmware und CPU.
  • In einem solchen Beispiel registriert ein Touch-Controller eine Berührungseingabe innerhalb eines gültigen Tastenbereichs (entsprechend einer bestimmten Navigationstaste) und löst im Rahmen einer Fingerabdruckerkennung und Sicherheitsüberprüfung einen lokal begrenzten optischen Scan des Fingerabdrucks des Benutzers aus. Da dieser optische Scan ein lokales Ereignis ist, das einer Mehrfachzuordnung des Touchscreen-Bereichs der Taste entspricht, entsteht in einem Bild innerhalb des primären Anzeigebereichs keine visuelle Beeinträchtigung des Benutzers (z. B. durch Helligkeit, Blooming oder einen Blitz). Eine Berührungseingabe an anderer Stelle innerhalb der ungültigen Bereiche kann maskiert und vom Touchscreen-Controller ignoriert werden.
  • Unter Bezugnahme auf 17 wird eine Darstellung eines Displays 1700 gezeigt, das einen aktiven Anzeigebereich 1710 enthält sowie einen virtuellen Blendenbereich 1720, die eine Vielzahl von Softtasten 1715 enthält, die jeweils für die Erfassung einer Benutzereingabe konfiguriert sind. Wie weiter in 17 gezeigt, wird ein Benutzer über den aktiven Anzeigebereich 1710 aufgefordert, eine Fingerabdruck-Autorisierung über eine erste Softtaste 1715a vorzunehmen. Nach Aktivierung durch Reaktion auf die Platzierung eines Fingers des Benutzers auf der entsprechenden Schaltfläche wird ein Scan durchgeführt, bei dem nur dieser lokal begrenzte Bereich beleuchtet wird, und ein integrierter Scanner von Display 1700 führt einen lokal begrenzten Scan des Benutzerfingerabdrucks durch, wodurch Sicherheits- bzw. Datenschutzrichtlinien umgesetzt werden können, z. B. bevor dem Benutzer gestattet wird, eine verschlüsselte Finanztransaktion oder Ähnliches durchzuführen.
  • Somit kann die Aktivierung eines optischen Scanners in oder in Verbindung mit einem Display so gesteuert werden, dass der Scanvorgang, abhängig von einer gültigen Touchscreen-Eingabe über einen mehrfach zugeordneten Touchscreen-Bereich, innerhalb eines lokal begrenzten Bereichs des Displays durchgeführt wird, sodass die Leistungsaufnahme der Plattform reduziert wird. Weiter kann eine Bildwandler des optischen Scanners das aufgenommene Bild aus dem mehrfach zugeordneten Bereich an den Hostprozessor melden. Dieses aufgenommene Bild kann mit Sicherheits- bzw. Datenschutzrichtlinien verbunden sein, die bestimmte Aktionen mit aufgenommenen Bildern beschränken können, wie z. B. das Speichern, Übertragen, Analysieren oder öffentliche Verbreiten. In manchen Ausführungsformen kann der der optische Scanner einen Scanvorgang auf Grundlage einer Analyse von Gruppen oder Kombinationen von menschlichen Interaktionen durchführen, z. B. das gleichzeitige Drücken von Tastenkombinationen.
  • Weitere Ausführungsformen können eine intelligente Entscheidung darüber treffen, wann eine Darstellung von Inhalten in einem sekundären Anzeigebereich, z. B. einem Blendenbereich, angezeigt ist. Obwohl das Ziel der vorliegenden Erfindung in dieser Hinsicht nicht eingeschränkt ist, können dynamische Echtzeit-Entscheidungen zur Darstellung von Inhalten in solchen Bereichen auf der Grundlage eines oder mehrerer der folgenden Kriterien erfolgen: Gerätekonfiguration (z. B. Klappmodus versus Tablet-Modus); Sensordaten wie Berührung, Druck, Umgebungslicht und/oder Näherung oder Kombinationen davon, um die Anwesenheit eines Benutzers zu erkennen und einen oder mehrere Teile eines sekundären Anzeigebereichs zu bestimmen, in dem Inhalte dargestellt werden können; Inhaltstyp wie z B. ein Videomodus oder ein Spielemodus, wobei bei einer Vollbildanzeige der sekundäre Anzeigebereiche verwendet wird; und Status eines primären Anzeigebereichs (z. B. aktiv, inaktiv oder eine anderer Energiesparzustand).
  • In einigen Ausführungsformen kann ein sekundärer Anzeigebereich in mehrere unabhängige Bereiche (z. B. links, rechts, oben und unten) unterteilt sein, die in Bezug auf die Aktivierung bzw. Deaktivierung der Anzeige von Inhalten in diesen Bereichen sowie des darin angezeigten Inhaltstyps jeweils unabhängig voneinander angesteuert werden können.
  • Solche Ausführungsformen ermöglichen die Ausgabe von Inhalten in einem oder mehreren Teilen eines sekundären Anzeigebereichs auf der Grundlage eines oder mehrerer der oben dargestellten Kriterien. In anderen Ausführungsformen können außerdem zusätzliche Kriterien berücksichtigt werden.
  • Die Logik für die intelligente Entscheidung darüber, ob die Anzeige in einem Bereich der Blende oder einem anderen sekundären Anzeigebereich aktiviert werden soll (und wenn ja, zu entscheiden, welche Inhalte ausgegeben werden sollen) kann sich an verschiedenen Stellen innerhalb eines Systems befinden. Ein Beispiel dafür ist eine Anzeigelogik, die auf einem oder mehreren Kernen eines Prozessors liegt bzw. darauf ausgeführt wird und solche Entscheidungen anhand einer Vielzahl unterschiedlicher Eingaben treffen kann. Diese Eingaben können aus verschiedenen Sensoren, Eingabegeräten und Informationen von anderen Stellen des Systems stammen und auch aus dem Inhalt entnommen werden, der im primären Anzeigebereich dargestellt wird.
  • In einigen Ausführungsformen kann die Anzeigelogik eine Registrierungseinheit beinhalten, damit die Logik die an diesen Sensoren auftretenden Ereignisse und anderen Informationen, wie unter anderem Gerätekonfiguration, Inhaltstyp und Aktivitätsmodus im primären Anzeigebereich registrieren kann. Nach besagter Registrierung kann diese Registrierungseinheit der Anzeigelogik Informationen über Ereignisse aus diesen Quellen beziehen. Als Reaktion auf eine Ereignismeldung kann ein Entscheidungsvektor generiert und von der Entscheidungslogik, die Teil der Anzeigelogik ist oder sich in einem anderen Teil des Prozessors befindet, verwendet werden, um Entscheidungen darüber zu treffen, ob die Darstellung auf der Anzeige für einen Blendenbereich oder für einen anderen sekundären Anzeigebereich aktiviert werden soll und wenn ja, welcher Inhalt an diesen Stellen angezeigt werden soll.
  • In einigen Ausführungsformen kann diese Anzeigelogik zumindest teilweise als dynamisches Blenden-Framework in einem Betriebssystemkontext implementiert werden, der in Verbindung mit einem Displaymanager arbeitet, der die Verwaltung der Inhaltsausgabe für den primäre Anzeigebereich steuert. In anderen Ausführungsformen kann ein Software Development Kit (SDK) bereitgestellt werden, damit Anwendungen sich für dieses dynamische Blenden-Framework registrieren können. Beispielsweise können verschiedene Anwendungen sich für dieses Framework registrieren, um anzugeben, dass sie Anfragen zur Darstellung von Inhalten im sekundären Anzeigebereich ausgeben werden. Dies bedeutet, dass verschiedene Anwendungen, wie unter anderem solche auf Benutzerebene, sich (z. B. über ein SDK oder einen anderen Mechanismus) für das dynamische Blenden-Framework registrieren können, damit die entsprechenden Inhalte im Zusammenhang mit einer bestimmten Anwendung in einen oder mehrere sekundäre Anzeigebereiche verschoben werden, während die Anwendung selbst ausgeführt wird und die Hauptinhalte dieser Anwendung in einem primären Anzeigebereich dargestellt werden.
  • Unter Bezugnahme auf 18A werden grafische Darstellungen der dynamischen Steuerung der Darstellung von Inhalten in verschiedenen Bereichen eines Displays gemäß den verschiedenen Ausführungsformen gezeigt. Wie in Beispiel 1810 gezeigt, bildet ein primärer Anzeigebereich 1815 Inhalte ab, während ein sekundärer Anzeigebereich 1817 keine Inhalte ausgibt und stattdessen als Blende fungiert, wenn ein Klappgerät in einem Klappmodus verwendet wird.
  • In einem anderen Modus, wenn z. B. ein Vollbild-Video wiedergegeben wird, kann diese Anzeige ohne Blendenbereich konfiguriert werden, sodass ein primärer und ein sekundärer Anzeigebereich als eine einzige Benutzeroberfläche für die Anzeige des Vollbild-Videos fungieren (siehe Anzeigebereich 1825 in Beispiel 1820 von 18B.
  • In noch einem weiteren Beispiel, das illustriert ist in 18C, kann ein sekundärer Anzeigebereich 1837 keine Inhalte anzeigen und stattdessen als Blende wirken, während der primäre Anzeigebereich 1835 die erstellten Inhalte anzeigt. Dieses Beispiel kann vorkommen, wenn ein Gerät im Tablet-Modus mit einer seitlichen Blende als Berührungssensor (zur Erkennung von Berührungen des Benutzers) oder in einer Situation verwendet wird, in der die Blende aktiviert ist, weil das Gerät in einem Tablet-Modus verwendet wird. In andere Ausführungsformen kann die Filterung bewirken, dass Berührungssensoren im inaktiven Bereich des Touchscreen ausgeschaltet bzw. deaktiviert werden. In solchen Fällen erfolgt die Filterung weiterhin außerhalb der Peripherie-Controller, z. B. über den Touch-Controller.
  • In noch einem weiteren Beispiel 1840, das illustriert ist in 18D, kann ein Tablet-Modus ohne Blende vorkommen, wenn es sich beim erzeugten Inhalt um ein Vollbild-Video handelt. Dabei werden ein primärer Anzeigebereich wie auch ein sekundärer Anzeigebereich kombiniert, um eine einzige Benutzeroberfläche 1845 zu bilden. Dies kann selbst dann der Fall sein, wenn in den Randbereichen des Tablet-Computers Berührungseingaben erkannt werden.
  • In noch einem weiteren Beispiel 1850, das illustriert ist in 18E, können nur sekundäre Anzeigebereiche aktiviert werden, während ein primärer Anzeigebereich 1855 so eingestellt wird, dass er in einem Energiesparmodus vorliegt. Somit können in der Abbildung zu Beispiel 1850 unabhängige sekundäre Anzeigebereiche 18561859 unabhängig voneinander gesteuert werden, damit Inhalte wie z. B. vom Benutzer wählbare Softtasten angezeigt werden, um verschiedene Benutzereingaben zu ermöglichen.
  • Um die Steuerung des sekundären Anzeigebereichs anhand einer Kombination von Kriterien zu ermöglichen, können für die verschiedenen Anzeigebereiche eindeutige Framebuffer zur Verfügung gestellt werden. In einigen Ausführungsformen kann sich eine dynamische Rahmenschicht für die Blende, wie sie in einem Display-Controller implementiert sein kann, für die verschiedenen Entscheidungsvektoren (z. B. Gerätekonfiguration, Sensor, Inhaltstyp und Display-Zustand) registrieren und entsprechende Maßnahmen ergreifen, um die Ausgabe von Anzeigeinhalten durch den sekundären Anzeigebereich zu aktivieren/deaktivieren. Darüber hinaus können in manchen Beispielen mehr als zwei unabhängige Anzeigenflächen über ein einzelnes Display zur Verfügung gestellt werden. Beispielsweise können ein primärer Anzeigebereich und vier unabhängige sekundäre Anzeigebereiche, die jeweils einer Seite der Blende entsprechen, dafür sorgen, dass Inhalte unabhängig voneinander in die verschiedenen Bereiche gelenkt werden. Zugleich können diese fünf unabhängigen Anzeigeflächen mit einem anderen Steuerelement nahtlos zu einem primären Anzeigebereich integriert werden, um Vollbild-Videos oder andere einheitliche Inhaltsanzeige zu ermöglichen.
  • Andere Ausführungsformen können weiterhin die Möglichkeit zum Zugriff auf Inhalte in einem oder mehreren der sekundären Anzeigebereiche ermöglichen, damit es möglich ist, die entsprechenden relevanten Inhalte im primären Anzeigebereiche in größerer Form darzustellen. Beispielsweise können Anwendungsverknüpfungen in einem Anzeigebereich der Blende nach Auswahl durch Berührung durch den Benutzer die entsprechende Anwendung starten und die Benutzeroberfläche im primären Anzeigebereich darstellen. Und es ist möglich, als Reaktion auf besagte Auswahl durch den Benutzer mehrere unabhängige Benutzeroberflächen im primären Anzeigebereich darzustellen.
  • Unter Bezugnahme auf 19 wird eine grafische Darstellung der nahtlosen Interaktion zwischen einem sekundären Anzeigebereich und einem primären Anzeigebereich in Übereinstimmung mit einer Ausführungsform gezeigt. Wie in 19 dargestellt, enthält ein Display 1900 einen primären Anzeigebereich 1910 und einen sekundären Anzeigebereich 1920, der in der gezeigten Ausführungsform einem Bereich der Blendenfläche entspricht. In diesem sekundären Anzeigebereich 1920 werden das erste und zweite Anzeigeelement 1922 und 1924 für Anwendungsverknüpfungen (z. B. Symbole oder anderen Anwendungskennzeichen) dargestellt. Bei Auswahl durch einen Benutzer, z. B. durch Berührung, kann die entsprechende Anwendung gestartet und eine Benutzeroberfläche für die entsprechende Anwendung in zumindest einem Teil des primären Anzeigebereichs 1920 angezeigt werden. Wie in gezeigt, wird demnach eine erste Benutzeroberfläche 1912 für eine erste Anwendung in der primären Anzeige 1920 neben einer zweiten Benutzeroberfläche 1914 für eine zweite Anwendung angezeigt. Natürlich ist es möglich, dass im primären Anzeigebereich nur die Benutzeroberfläche einer einzigen Anwendung, z. B. unter Programm- oder anderer Steuerung, angezeigt wird. Somit kann durch die Anzeige aktivierter Anwendungsverknüpfungen im Blendenbereich Anwendung im primären Anzeigebereich gestartet werden.
  • Darüber kann der Inhalt, der in einem sekundären Anzeigebereich angezeigt werden soll, auf der Wahrnehmung des im primären Anzeigebereich dargestellten Inhalts und/oder der Wahrnehmung des Gerätekontextes basieren. Wenn z. B. im primären Anzeigebereich eine Browser-Anwendung ausgeführt wird, kann der sekundäre Anzeigebereich beispielsweise Inhalte anzeigen, die von den Inhalten im Browser abhängig sind. Wenn im primären Anzeigebereich eine E-Mail/Kalender-Anwendung ausgeführt wird, kann der sekundäre Anzeigebereich beispielsweise persönliche E-Mail-Hinweise anzeigen. In einem weiteren Beispiel kann im sekundären Anzeigebereich eine Wörterbuchanwendung angezeigt werden, während im primären Anzeigebereich eine E-Reader-Anwendung ausgeführt wird. Oder der sekundäre Anzeigebereich kann verwendet werden, um Zeiten und Termine, Unterhaltungsinformationen und so weiter anzuzeigen, während innerhalb des primären Anzeigebereichs Multimedia-Inhalte laufen. Darüber hinaus können die im sekundären Anzeigebereich angezeigten Inhalte durch persönliche Einstellungen verändert werden. In einigen Ausführungsformen können verschiedene Benutzer diese Anzeigesteuerung durch eine steuerbare Benutzeranmeldung vornehmen.
  • Andere Ausführungsformen können die Anzeige positionsabhängiger Inhalte in einem sekundären Bereich ermöglichen. Wenn das System beispielsweise an einem Bürostandort verwendet wird, könnte im sekundären Anzeigebereich ein Newsticker des Büros angezeigt werden. Wenn das System jedoch zu Hause eingesetzt wird, könnten im sekundären Anzeigebereich Aktualisierungen von FacebookTM, Fernsehsendungen, Termine usw. angezeigt werden. In einer anderen Umgebung, wie z. B. beim Shopping in einem Einkaufscenter, könnten im sekundären Anzeigebereich Sonderangebote und/oder Informationen der Geschäfte angezeigt werden.
  • Weitere Ausführungsformen könnten die Anzeige von Inhalten im sekundären Anzeigebereich bewirken, die von der Erkennung eines Näherungssensors abhängig sind. Wenn sich ein System beispielsweise in unmittelbarer Nähe eines Mobilgeräts wie einem Smartphone befindet, können im sekundären Anzeigebereich Informationen über eingehende Anrufe bei diesem Gerät dargestellt werden (z. B. bei Sitzungen oder zu anderen vom Benutzer festgelegten Zeiten). In ähnlicher Weise können auch Informationen zu eingehenden SMS, verpassten Anrufen usw. angezeigt werden.
  • Andere Ausführungsformen können die Anzeige benutzerabhängiger Inhalte in einem sekundären Bereich ermöglichen. Beispielsweise können im sekundären Anzeigebereich von den persönlichen Einstellungen abhängige Inhalte angezeigt werden. Z. B. kann ein Vater, der das System verwendet, das System so einstellen, dass im sekundären Anzeigebereich Nachrichten, Aktienticker, Sportinformationen, Verknüpfungen zu Office-Anwendungen usw. erscheinen. Wenn hingegen eine Mutter das System verwendet, kann das System so eingestellt werden, dass im sekundären Anzeigebereich Modemeldungen, Rezepte, Buchbesprechungen u. a. angezeigt werden. Und wenn ein Kind das System verwendet kann der sekundäre Anzeigebereich für die Darstellung von Animationszeichen und Links zu Spielen usw. verwendet werden.
  • Weitere Ausführungsformen können zur Darstellung von Inhalten in Abhängigkeit vom Energiemodus des Gerätes genutzt werden. Wenn beispielsweise die primäre Anzeige in einem Energiesparmodus läuft und inaktiv ist, kann der sekundäre Anzeigebereich für die Anzeige von Benachrichtigungen (z. B. über E-Mails), Verknüpfungen (z. B. Anwendungsverknüpfungen) verwendet werden oder als Hintergrundbeleuchtung dienen.
  • Die Ausführungsformen stellen daher einen Rahmen bereit, innerhalb dessen verschiedenen Kontexte (z. B. Standort, Benutzer, Inhalt der primären Anzeige, Gerätekontext usw.) verwendet werden, um den geeigneten Kontext dafür zu bestimmen, welche Inhalte im sekundären Anzeigebereich auf welche Weise angezeigt werden sollen. Diese Kontextdaten können verwendet werden, um in einer Inhaltsentscheidungslogik eine Inhaltsentscheidung zu treffen, anhand derer die entsprechenden Inhalte bestimmt werden, die dann wiederum an eine Inhalts-Engine übermittelt werden, um den entsprechenden Inhalt für die Anzeige zu generieren. Mit Hilfe der Ausführungsformen kann ein Gerät für bestimmten Benutzer personalisiert werden. Darüber hinaus kann sich die Akkulauflaufzeit verlängern, da große Teile eines Displays ausgeschaltet werden können, während Echtzeitinhalte auf einem zweiten Bildschirmbereich weiterhin angezeigt werden können.
  • Ausführungsformen können in vielen verschiedenen Arten von Systemen verwendet werden. Zum Beispiel kann ein Kommunikationsgerät in einer Ausführungsform so arrangiert werden, dass es die verschiedenen hierin beschriebenen Methoden und Techniken durchführen kann. Natürlich ist der Anwendungsbereich der vorliegende Erfindung nicht auf ein Kommunikationsgerät beschränkt und stattdessen können andere Ausführungsformen auf andere Arten von Apparaten zur Verarbeitung von Befehlen oder eines oder mehrere maschinenlesbare Medien gelenkt werden und Befehle enthalten, die, als Reaktion auf die Ausführung auf einem Computer, das Gerät veranlassen, eine oder mehrere der hierin beschriebenen Methoden und Techniken durchzuführen.
  • Die folgenden Beispiele gehören zu weiteren Ausführungsformen.
  • In einem Beispiel umfasst ein System einen Peripherie-Controller, der mit einem Touch-Controller gekoppelt ist und Zuordnungsinformationen an den Touch-Controller übermittelt, wobei die Zuordnungsinformationen die Kennung für einen primären und einen sekundären Bereich eines Displays des Systems, den mit dem Peripherie-Controller gekoppelten Touch-Controller und eine erste Logik enthalten, um Berührungsdaten von einem berührungsempfindlichen Gerät zu filtern, wenn die Berührungsdaten einer Berührung durch einen Benutzer innerhalb des sekundären Bereichs entsprechen, und um die Berührungsdaten an den Peripherie-Controller zu übermitteln, wenn die Berührungsdaten einer Berührung durch den Benutzer im ersten Bereich entsprechen, das mit dem Touch-Controller gekoppelte berührungsempfindliche Gerät, das die Berührung durch den Benutzer empfängt und die Berührungsdaten an den Touch-Controller übermittelt; eine mit dem Display gekoppelte Anzeigelogik, die das Display ansteuert, sodass es auf Grundlage einer oder mehrere Konfigurationen des Systems Inhalte, Daten von einem oder mehreren Umgebungssensoren, einen darzustellenden Inhaltstyp und einen Modus des primären Bereichs im sekundären Bereich darstellt; sowie das mit der Anzeigelogik gekoppelte Display, wobei der Displayinhalt des primären Bereichs vom Displayinhalt des sekundären Bereichs unabhängig ist.
  • In einem Beispiel befindet sich der Peripherie-Controller in einem Energiesparzustand, wenn der Touch-Controller die Berührungsdaten filtert. Der Peripherie-Controller kann sich in einem Energiesparzustand befinden, wenn die Berührung durch den Benutzer innerhalb des sekundären Bereichs erfolgt.
  • In einem Beispiel enthält ein Prozessor mindestens einen Kern und den Peripherie-Controller. Der Prozessor befindet sich in einem Energiesparzustand, wenn der Touch-Controller die Berührungsdaten filtert. Der Peripherie-Controller empfängt die Zuordnungsinformationen von der Systemsoftware, welche mindestens auf einem Kern ausgeführt wird.
  • Es ist zu beachten, dass der oben genannte Prozessor verschiedenartig implementiert werden kann.
  • In einem Beispiel umfasst der Prozessor ein System auf einem Chip (SoC), das in ein vom Benutzer bereitgestelltes berührungsempfindliches Gerät eingebunden ist.
  • In einem anderen Beispiel umfasst das System ein Display sowie einen Speicher und es wird ein Prozessor gemäß einem oder mehreren der oben genannten Beispiele eingebunden.
  • In einem Beispiel umfasst das Display einen Touchscreen mit dem berührungsempfindlichen Gerät, das mit dem Touch-Controller gekoppelt ist. Der Peripherie-Controller übermittelt die Zuordnungsinformationen drahtlos an den Touch-Controller, wobei der Touch-Controller in einem externen Display enthalten ist.
  • In einem Beispiel werden die Zuordnungsinformationen in einem mit dem Touch-Controller gekoppelten Speicher abgelegt, wobei der Touch-Controller auf die Zuordnungsinformationen im Speicher zugreift, um zu bestimmen, ob die Berührungsdaten gefiltert werden sollen.
  • In einem Beispiel übermittelt der Peripherie-Controller die Kennung eines Bedienfeldbereichs des Displays an den Touch-Controller, und der Touch-Controller übermittelt die Berührungsdaten an den Peripherie-Controller, wenn die Berührungsdaten innerhalb des Bedienfeldbereichs liegen. Andernfalls werden die Berührungsdaten gefiltert. Das System kann aus einem Energiesparzustand aufwachen und ist bei Übermittlung von Berührungsdaten sofort reaktionsbereit.
  • In einem Beispiel umfasst der sekundäre Bereich mindestens eine Softtaste, und der Touch-Controller erzeugt eine haptische Rückmeldung für den Benutzer, wenn von mindestens einer solchen Softtaste Berührungsdaten empfangen werden. Der Peripherie-Controller befindet sich dabei in einem Energiesparzustand. Der Touch-Controller soll einen optischen Scanner innerhalb eines ersten Scanbereichs auf dem berührungsempfindlichen Gerät aktivieren, welcher auf Berührungsdaten innerhalb dieses ersten Scanbereichs reagiert. Anschließend soll er die Beleuchtung dieses ersten Scanbereichs aktivieren, und auf Berührungsdaten innerhalb dieses ersten Scanbereichs reagieren. Der Touch-Controller kann zudem den optischen Scanner innerhalb des ersten Scanbereichs sowie die Beleuchtung des ersten Scanbereichs aktivieren, während der Rest des berührungsempfindlichen Geräts sich in einem Energiesparzustand befindet.
  • In einer Ausführungsform erfasst mindestens ein Sensor die Anwesenheit des Benutzers, die Anzeigelogik empfängt die Ausgabedaten mindestens eines solchen Sensors und steuert zumindest zum Teil auf Grundlage der Ausgabe eine erste Größe des primären Bereichs sowie eine zweite Größe des sekundären Bereichs. Die Anzeigelogik kann die erste und die zweite Größe zumindest zum Teil auf Grundlage der auf dem Display angezeigten Inhalte steuern. Die Anzeigelogik kann dafür sorgen, dass das Display im sekundären Bereich vom Benutzer ausgewählte Inhalte für einen ersten Benutzer anzeigt, wenn mindestens ein Sensor die Anwesenheit eines ersten Benutzers erkennt. Die Anzeigelogik steuert den sekundären Bereich, auf dem mindestens eine Anwendungsverknüpfung angezeigt wird, und reagiert auf Auswahl mindestens einer solchen Anwendungsverknüpfung durch den Benutzer, um mindestens einen Teil des primären Bereichs anzusteuern, sodass die Benutzeroberfläche einer vom Benutzer ausgewählten Anwendung angezeigt wird. Die Anzeigelogik kann dafür sorgen, dass das Display zumindest zum Teil auf Grundlage der im primären Bereich angezeigten ersten Inhalte weitere Inhalte im sekundären Bereich anzeigt. Die Anzeigelogik kann dafür sorgen, dass das Display auf Grundlage einer Interaktion mit einem zweiten System in der Nähe des Systems Inhalte anzeigt. Die Anzeigelogik kann dafür sorgen, dass das Display im sekundären Bereich Anrufinformationen anzeigt, wenn auf dem zweiten System ein Anruf eingeht, sofern das zweite System ein Smartphone umfasst. Die Anzeigelogik kann dafür sorgen, dass der im primären Bereich und im sekundären Bereich eine einheitliche Benutzeroberfläche angezeigt wird, wenn das System sich ein einem Vollbild-Videomodus befindet. Die Anzeigelogik kann den sekundären Bereich aktivieren, wenn sich der primäre Bereich in einem Energiesparzustand befindet. Die Anzeigelogik kann im sekundären Bereich Benachrichtigungsinhalte anzeigen, wenn sich der primäre Bereich in einem Energiesparzustand befindet.
  • In einem Beispiel ist ein Positionssensor mit der Anzeigelogik gekoppelt, und die Anzeigelogik soll dafür sorgen, dass das Display erste Inhalte im sekundären Bereich anzeigt, wenn sich das System an einer ersten Position befindet und dass das Display weitere Inhalte im sekundären Bereich anzeigt, wenn sich das System an einer zweiten Position befindet, wobei die erste und zweite Position jeweils vom Positionssensor ermittelt werden.
  • In einem anderen Beispiel umfasst einen Apparat einen Controller, der an ein berührungsempfindliches Eingabegerät gekoppelt ist, wobei der Controller eine Filterlogik enthält, die zumindest eine entweder gültige oder ungültige Bereichsinformation vom berührungsempfindlichen Eingabegerät empfängt; die Filterlogik legt mindestens eine solche entweder gültige oder ungültige Bereichsinformation in einem Speicher ab, empfängt Berührungsdaten von dem berührungsempfindlichen Eingabegerät und filtert diese Berührungsdaten, sodass sie nicht an einen mit dem Controller gekoppelten Hostprozessor übermittelt werden, wenn die Berührungsdaten innerhalb eines ungültigen Bereichs des berührungsempfindlichen Eingabegerätes liegen.
  • In einem Beispiel meldet die Filterlogik die Berührungsdaten dem Hostprozessor, sofern diese Berührungsdaten innerhalb eines gültigen Bereichs des berührungsempfindlichen Eingabegeräts liegen. Die Filterlogik kann auf ungültige Bereichsinformationen im Speicher zugreifen, um festzustellen, ob das berührungsempfindliche Eingabegerät innerhalb des ungültigen Bereichs bedient wird. Der gültige Bereich umfasst mindestens eine Softtaste auf einem Display.
  • In einem anderen Beispiel umfasst das System ein System auf einem Chip (SoC) mit mindestens einem Kern, einem Peripherie-Controller, der mit mindestens einem Kern gekoppelt ist und die Kommunikation mit mindestens einem an das SoC gekoppelten Peripheriegerät steuert, einer Energiesteuerung, die dem SoC das Eintreten in einen und das Aufwachen aus einem Energiesparzustand ermöglicht, einem HID-Controller, der mit dem HID gekoppelt ist, Daten im Zusammenhang mit einer Benutzereingabe empfängt und eine erste Logik enthält, die Daten filtert, wenn die Benutzereingabe innerhalb eines ungültigen Bereichs des HID erfolgt, und die die Daten an das SoC übermittelt, wenn die Benutzereingabe innerhalb eines gültigen Bereichs des HID erfolgt, wobei das SoC in einem Energiesparzustand bleibt, wenn die Benutzereingabe innerhalb des ungültigen Bereichs erfolgt.
  • In einem Beispiel liefert ein Haptikgenerator eine haptische Rückmeldung an den Benutzer, wobei der HID-Controller dafür sorgt, dass der Haptikgenerator nur dann eine haptische Rückmeldung ausgibt, wenn die Benutzereingabe innerhalb des gültigen Bereichs des HID erfolgt ist. Ein optischer Scanner kann eine zweite Benutzereingabe des Benutzers scannen, wobei der HID-Controller den optischen Scanner aktivieren muss, sodass dieser auf die Benutzereingabe innerhalb des gültigen Bereichs des HID reagiert. Der HID-Controller kann die Beleuchtung des gültigen Bereichs aktivieren, der auf Benutzereingaben innerhalb des gültigen Bereichs des HID reagiert.
  • In einem anderen Beispiel umfasst ein System einen Touchscreen, der eine Benutzeroberfläche mit einem gültigen Bereich anzeigt, in welchem die Berührungsdaten des Benutzers verarbeitet werden, und mit einem ungültigen Bereich, in welchem die Berührungsdaten des Benutzers verworfen werden, einen Touchscreen-Controller, der mit dem Touchscreen gekoppelt ist und die Berührungsdaten des Benutzers empfängt und eine Logik enthält, die die vom Touchscreen empfangenen Berührungsdaten des Benutzers verwirft, wenn die Berührungsdaten des Benutzers innerhalb des ungültigen Bereichs liegen, und die die vom Touchscreen empfangenen Berührungsdaten des Benutzers übermittelt, wenn die Berührungsdaten des Benutzers innerhalb des gültigen Bereichs liegen.
  • Das System kann weiter einen mit dem Touchscreen-Controller gekoppelten Peripherie-Controller enthalten, der die vom Touchscreen-Controller übermittelten Berührungsdaten des Benutzers empfängt sowie einen mit dem Peripherie-Controller gekoppelten Prozessor, der die vom Peripherie-Controller übermittelten Berührungsdaten des Benutzers empfängt und die übermittelten Berührungsdaten des Benutzers verarbeitet, um eine vom Benutzer gewünschte Aktion zu erkennen, wobei der Prozessor in einem Energiesparzustand bleibt, wenn die Berührungsdaten des Benutzers von dem Touchscreen-Controller verworfen werden.
  • In einem anderen Beispiel umfasst ein System einen Touchscreen, der eine erste Benutzeroberfläche in einem primären Bereich anzeigt und eine zweite Benutzeroberfläche oder keine Benutzeroberfläche in einem sekundären Bereich anzeigt sowie einen mit dem Touchscreen gekoppelten Touchscreen-Controller, der eine erste Logik enthält, die vom Touchscreen übermittelte Berührungsdaten filtert, wenn die Berührungsdaten einer Berührung durch den Benutzer innerhalb des sekundären Bereichs entsprechen, und die Berührungsdaten an einen mit dem Touchscreen gekoppelten Peripherie-Controller übermittelt, wenn die Berührungsdaten einer Berührung durch den Benutzer innerhalb des primären Bereichs entsprechen.
  • Das System kann weiter eine Vielzahl von Sensoren enthalten, die jeweils einen bestimmten Umgebungsparameter erfassen und Umgebungsdaten zu der Umgebung erzeugen, in der das System betrieben wird, einen mit dieser Vielzahl von Sensoren gekoppelten Sensor-Controller, der die Umgebungsdaten empfängt, wobei der Peripherie-Controller mit dem Sensor-Controller und dem Touchscreen-Controller gekoppelt ist und die Berührungsdaten des Touchscreen-Controllers empfängt, wenn die Berührungsdaten einer Berührung durch den Benutzer innerhalb des primären Bereichs entsprechen, sowie einen mit dem Peripherie-Controller gekoppelten Prozessor, der die Berührungsdaten des Peripherie-Controllers empfängt und die Berührungsdaten verarbeitet, um eine vom Benutzer gewünschte Aktion zu erkennen, wobei der Prozessor in einem Energiesparzustand bleibt, wenn die Berührungsdaten von der ersten Logik gefiltert werden.
  • In einem weiteren Beispiel umfasst ein System einen Touchscreen, der eine erste Benutzeroberfläche in einem primären Bereich anzeigt, in dem eine Berührung durch den Benutzer verarbeitet wird, und der keine Benutzeroberfläche in einem sekundären Bereich anzeigt, in dem die Berührung durch den Benutzer ignoriert wird, einen mit dem Touchscreen gekoppelten Touchscreen-Controller, der eine erste Logik enthält, um Zuordnungsinformationen zu empfangen und zu speichern, unter anderem die Kennung des primären Bereichs und des sekundären Bereichs, um vom Touchscreen übermittelte Berührungsdaten zu filtern, wenn die Berührungsdaten zumindest zum Teil auf Grundlage der Zuordnungsinformationen einer Berührung durch den Benutzer innerhalb des sekundären Bereichs entsprechen, und um die Berührungsdaten an den Peripherie-Controller eines mit dem Touchscreen-Controller gekoppelten Systems auf einem Chip (SoC) zu übermitteln, wenn die Berührungsdaten auf Grundlage der Zuordnungsinformationen zumindest zum Teil einer Berührung durch den Benutzer innerhalb des primären Bereichs entsprechen.
  • Das System kann weiter einen Umgebungslichtsensor enthalten, der in einer Umgebung, in der das System betrieben wird, die Helligkeitsstufe des Umgebungslichts erkennt, einen mit dem Umgebungslichtsensor gekoppelten Sensor-Controller, der die erkannte Helligkeitsstufe empfängt, wenn das System auf einem Chip (SoC) mit dem Sensor-Controller und dem Touchscreen-Controller gekoppelt ist.
  • In einem Beispiel umfasst das System auf einem Chip (SoC) eine Vielzahl von Kernen, den mit der Vielzahl von Kernen gekoppelten Peripherie-Controller, welcher die Kommunikation mit einer Vielzahl von Peripherie-Geräten, unter anderem mit dem Sensor-Controller und dem Touchscreen-Controller, die mit dem SoC gekoppelt sind, steuert, wobei der Peripherie-Controller die vom Sensor-Controller übermittelte erkannte Helligkeitsstufe des Umgebungslichts empfängt und die erkannte Helligkeitsstufe des Umgebungslichts an den Touchscreen-Controller übermittelt, um den Touchscreen-Controller in die Lage zu versetzen, einen Betriebsparameter des hier erläuterten Touchscreens zu steuern, und darüber hinaus übermittelt der Peripherie-Controller die Zuordnungsinformationen an den Touchscreen-Controller und erfasst die Berührungsdaten des Touchscreen-Controllers, wenn die Berührungsdaten einer Berührung durch den Benutzer innerhalb des primären Bereichs entsprechen.
  • Das System auf einem Chip (SoC) kann zudem eine Energiesteuerung enthalten, die dem SoC das Eintreten in einen und das Aufwachen aus einem Energiesparzustand ermöglicht, wobei die Energiesteuerung dem SoC das Aufrechterhalten eines Energiesparzustands ermöglicht, wenn Berührungsdaten, die einer Berührung durch den Benutzer innerhalb des sekundären Bereichs entsprechen, in der ersten Logik des Touchscreen-Controllers gefiltert werden, und dafür sorgt, dass das SoC den Energiesparzustand verlässt, wenn Berührungsdaten übermittelt werden, die einer Berührung durch den Benutzer innerhalb des primären Bereichs entsprechen.
  • Das System kann weiter einen mit dem SoC gekoppelten integrierten Energiesteuerungsschaltkreis (PMIC) enthalten, der den Energieverbrauch des Systems steuert.
  • In einem anderen Beispiel enthält mindestens ein Speichermedium Befehle, die bei Ausführung dafür sorgen, dass das System in einer Anzeigelogik eine Registrierungsmeldung von einer ersten Anwendung erhält, in der angegeben wird, ob die erste Anwendung in der Lage ist, während der Ausführung der ersten Anwendung eine dynamische Darstellung von Inhalten in einem sekundären Anzeigebereich des Systems umzusetzen, wobei der sekundäre Anzeigebereich von einem primären Anzeigebereich getrennt ist, in dem eine Benutzeroberfläche der ersten Anwendung dargestellt wird; die eine Liste sekundärer Anzeigebereiche mit Informationen über die erste Anwendung enthalten; die bei Ausführung der ersten Anwendung eine Anfrage zum Anzeigen von Inhalten im sekundären Anzeigebereich empfangen, während die Benutzeroberfläche im ersten Anzeigebereich dargestellt wird, wobei die Inhalte unabhängig von der Benutzeroberfläche sind, wenn die Inhalte im sekundären Anzeigebereich mittels Informationen einer ersten Anwendung in der Liste der sekundären Anzeigebereiche ausgewählt wurde.
  • In einem weiteren Beispiel enthält ein System ein berührungsempfindliches Gerät, dass eine Benutzereingabe durch Berührung erfasst, auf Grundlage der Benutzereingabe durch Berührung Berührungsdaten erzeugt; einen mit dem berührungsempfindlichen Gerät gekoppelten Touch-Controller, wobei der Touch-Controller Zuordnungsinformationen zur Erkennung des primären und des sekundären Bereichs eines Displays empfängt, und wobei der Touch-Controller eine erste Logik enthält, die die Berührungsdaten an einen Peripherie-Controller übermittelt, wenn die Berührungsdaten einer Berührungseingabe innerhalb des primären Bereichs entsprechen und die die von dem berührungsempfindlichen Gerät empfangenen Berührungsdaten filtert, wenn die Berührungsdaten einer Berührungseingabe innerhalb des sekundären Bereichs entsprechen.
  • In einem Beispiel führt der Touch-Controller mindestens eine der folgenden Aktionen aus: Empfangen der Zuordnungsinformationen vom Peripherie-Controller und Filtern der Berührungsdaten, wenn der Peripherie-Controller sich in einem Energiesparzustand befindet.
  • In einem Beispiel werden die Zuordnungsinformationen von Systemsoftware, die mindestens auf einem Kern ausgeführt wird, an den Peripherie-Controller übermittelt.
  • In einem Beispiel kann ein Display einen Steuerbereich enthalten, wobei der Touch-Controller die Berührungsdaten an den Peripherie-Controller übermittelt, wenn die Berührungsdaten einer Berührung durch den Benutzer innerhalb des Steuerbereichs entspricht, ganz gleich, ob der Steuerbereich sich innerhalb des primären oder des sekundären Bereichs befindet. Der Touch-Controller kann eine Kennung des Steuerbereichs vom Peripherie-Controller empfangen. Das System kann einen Energiesparzustand verlassen, wenn der Touch-Controller die Berührungsdaten an den Peripherie-Controller sendet, und das System kann in einem Energiesparzustand verbleiben, wenn der Touch-Controller die Berührungsdaten filtert.
  • In einem Beispiel ist in einem ersten Scanbereich des berührungsempfindlichen Geräts ein optischer Scanner enthalten, wobei der Touch-Controller den optischen Scanner aktiviert, wenn ein Benutzer den ersten Scanbereich berührt und der Touch-Controller die Beleuchtung des ersten Scanbereichs aktiviert, wenn der Benutzer den ersten Scanbereich berührt. Der Touch-Controller kann den optischen Scanner aktivieren und veranlassen, dass der erste Scanbereich beleuchtet wird, obwohl sich eine oder mehrere der folgenden Einheiten in einem Energiesparzustand befinden: der Peripherie-Controller, ein Prozessor oder eine Speicher des berührungsempfindlichen Geräts.
  • In einem anderen Beispiel besteht ein System aus einem HID, das eine Eingabe von einem Benutzer erfasst und aus einem mit dem HID gekoppelten HID-Controller, der Daten in Verbindung mit der Benutzereingabe empfängt und eine erste Logik enthält, um die Daten zu filtern, wenn die Benutzereingabe innerhalb eines ungültigen Bereichs des HID erfolgt, und um die Daten an ein System auf einem Chip (SoC) zu übermitteln, wenn die Benutzereingabe innerhalb eines gültigen Bereichs des HID erfolgt.
  • In einem anderen Beispiel umfasst eine Methode das Empfangen gültiger Bereichsdaten für ein berührungsempfindliches Eingabegerät des Systems in einem Touch-Controller eines Systems, um einen gültigen Bereich zu bestimmen, in dem eine Berührung durch einen Benutzer verarbeitet wird, und um ungültige Bereichsdaten zu bestimmen, innerhalb derer das berührungsempfindliche Eingabegerät einen ungültigen Bereich angibt, innerhalb dessen die Berührung durch den Benutzer ignoriert wird, wobei die gültigen Bereichsdaten und die ungültigen Bereichsdaten in einem mit dem Touch-Controller gekoppelten Speicher abgelegt werden, das Empfangen erster Berührungsdaten von dem berührungsempfindlichen Eingabegerät im Touch-Controller, wenn die ersten Berührungsdaten einer Berührung durch den Benutzer innerhalb eines ungültigen Bereichs entsprechen und festgestellt wird, dass die Berührung durch den Benutzer zumindest zum Teil auf Grundlage der ungültigen Bereichsdaten in einem ungültigen Bereich erfolgt ist, und das Filtern der ersten Berührungsdaten, sodass diese nicht an einen mit dem Touch-Controller gekoppelten Hostprozessor übermittelt werden, und das Empfangen weiterer Berührungsdaten von einem berührungsempfindlichen Eingabegerät im Touch-Controller, wenn die weiteren Berührungsdaten einer Berührung durch einen Benutzer innerhalb des gültigen Bereichs entsprechen und festgestellt wird, dass die Berührung durch den Benutzer zumindest zum Teil auf Grundlage der gültigen Bereichsdaten im gültigen Bereich erfolgt ist, und das Übermitteln der weiteren Berührungsdaten an den Hostprozessor.
  • In einem anderen Beispiel umfasst eine Methode das Empfangen einer Anforderung zum Anzeigen einer ersten Benutzeroberfläche auf einem Touchscreen eines Systems, wobei der Touchscreen den Befehl erhält, die erste Benutzeroberfläche anzuzeigen, das Übermitteln gültiger Bereichsdaten eines berührungsempfindlichen Eingabegeräts des Systems an einen Touch-Controller des Systems, um einen gültigen Bereich anzugeben, in dem eine Berührung durch einen Benutzer verarbeitet wird, sowie ungültiger Bereichsdaten des berührungsempfindliche Eingabegeräts, um einen ungültigen Bereich zu bestimmen, in dem die Berührung durch den Benutzer ignoriert wird, nach Erhalt der ersten, einer Eingabe im ungültigen Bereich entsprechenden Berührungsdaten von dem berührungsempfindlichen Eingabegerät die Feststellung, ob eine Eingabe durch einen Benutzer zumindest zum Teil auf Grundlage der ungültigen Bereichsdaten im ungültigen Bereich erfolgt ist, und das Filtern der ersten Berührungsdaten, sodass diese nicht ein einen mit dem Touch-Controller gekoppelten Hostprozessor übermittelt werden, damit der Hostprozessor einen Energiesparzustand aufrechterhalten kann.
  • In einem anderen Beispiel wendet ein computerlesbares Medium, das Befehle enthält, die Methoden eines beliebigen oben genannten Beispiels an.
  • In einem anderen Beispiel besitzt ein Apparat die Möglichkeit, die Methoden eines beliebigen oben genannten Beispiels anzuwenden.
  • Beachten Sie, dass verschiedene Kombinationen der oben genannten Beispiele möglich sind.
  • Ein Design kann verschiedene Stufen durchlaufen, von der Erstellung zur Simulation zur Fertigung. Daten, die ein Design repräsentieren, können das Design auf mehrere Weise repräsentieren. Zuerst einmal, wie es bei Simulationen nützlich ist, kann die Hardware unter Benutzen einer Hardware-Beschreibungssprache oder einer anderen Funktionsbeschreibungssprache dargestellt werden. Außerdem kann ein Modell auf Schaltungsebene mit Logik- und/oder Transistor-Gattern auf einigen Stufen des Design-Verfahrens hergestellt werden. Zudem erreichen die meisten Designs irgendwann eine Datenebene, die die physische Anordnung verschiedener Geräte in dem Hardware-Modell darstellt. Wenn herkömmliche Halbleiter-Fertigungstechniken benutzt werden, können die Daten, die das Hardware-Modell darstellen, diejenigen Daten sein, die die Anwesenheit oder Abwesenheit verschiedener Merkmale auf unterschiedlichen Maskenschichten für Masken spezifizieren, die zum Herstellen des integrierten Schaltkreises benutzt werden. Bei einer Darstellung des Designs können die Daten in Form eines maschinenlesbaren Mediums gespeichert sein. Ein Speicher oder ein magnetisches oder optisches Speichermedium, wie beispielsweise eine Disk, kann das maschinenlesbare Medium sein, um Informationen zu speichern, die mittels einer optischen oder elektrischen Welle übertragen werden, die moduliert oder auf andere Weise erzeugt wird, um solche Informationen zu übertragen. Wenn eine elektrische Trägerwelle, die den Code oder das Design anzeigt oder trägt, zu einem Ausmaß übertragen wird, dass das Kopieren, Puffern oder die Weiterübertragung des elektrischen Signals durchgeführt wird, wird eine neue Kopie erstellt. So kann ein Komm unikationsdienstanbieter oder ein Netzwerkdienstanbieter auf einem konkreten maschinenlesbaren Medium zumindest zeitweise einen Artikel speichern, wie z. B. Informationen, die in eine Trägerwelle codiert sind, die Techniken von Ausführungsformen der vorliegenden Erfindung verkörpern.
  • In modernen Prozessoren wird eine Anzahl unterschiedlicher Ausführungseinheiten benutzt, um eine Vielfalt an Code und Befehlen zu verarbeiten und auszuführen. Nicht alle Befehle werden gleichartig erzeugt, da einige schneller vollständig ausgeführt werden können, während andere zur vollständigen Ausführung eine Anzahl von Taktzyklen benötigen können. Je schneller der Durchsatz von Befehlen ist, desto besser ist die Gesamtleistungsfähigkeit des Prozessors. Daher wäre es vorteilhaft, wenn so viele Befehle wie möglich so schnell wie möglich ausgeführt werden. Es gibt jedoch bestimmte Befehle, die eine größere Komplexität aufweisen und hinsichtlich der Ausführungsdauer und Prozessorressourcen mehr benötigen. Beispielsweise gibt es Gleitkommabefehle, Lade/Speicher-Operationen, Datenbewegungen usw.
  • Mit dem vermehrten Einsatz von Computersystemen in Internet-, Text- und Multimedia-Anwendungen wurde im Laufe der Zeit auch zusätzliche Prozessorunterstützung eingeführt. In einer Ausführungsform kann ein Befehlssatz mit einer oder mehreren Computerarchitekturen einschließlich Datentypen, Befehlen, Registerarchitektur, Adressiermodi, Speicherarchitektur, Bearbeitung von Unterbrechung und Ausnahme und externer Eingabe und Ausgabe (I/O) verbunden sein.
  • In einer Ausführungsform kann die Befehlssatzarchitektur (instruction set architecture, ISA) durch eine oder mehrere Mikroarchitekturen implementiert sein, die Prozessorlogik und Schaltungen beinhaltet, die benutzt werden, um einen oder mehrere Befehlssätze zu implementieren. Dementsprechend können Prozessoren mit unterschiedlichen Mikroarchitekturen mindestens einen Teil eines gemeinsamen Befehlssatzes gemeinsam nutzen. Beispielsweise implementieren Intel®-Pentium-4-Prozessoren, Intel®-CoreTM-Prozessoren und Prozessoren von Advanced Micro Devices, Inc. aus Sunnyvale, CA nahezu identische Versionen des x86-Befehlssatzes (mit einigen Erweiterungen, die neueren Versionen hinzugefügt wurden), weisen jedoch unterschiedliche interne Designs auf. Ebenso können sich Prozessoren, die von anderen Prozessorentwicklungsfirmen entworfen wurden, wie z. B. ARM Holdings, Ltd., MIPS oder deren Lizenznehmer oder Anwender, mindestens einen Teil eines gemeinsamen Befehlssatzes gemeinsam nutzen, jedoch unterschiedliche Prozessordesigns beinhalten. Beispielsweise kann dieselbe Registerarchitektur der ISA auf unterschiedliche Weise in unterschiedlichen Mikroarchitekturen unter Benutzen neuer oder wohlbekannter Techniken einschließlich dedizierter physischer Register, eines oder mehrerer dynamisch unter Benutzen eines Registerumbenennungsmechanismus zugewiesener physischer Register (z. B. die Benutzung einer Register-Umbennungstabelle (Register Alias Table, RAT), eines Neuordnungspuffers (Reorder Buffer, ROB) und einer Rückordnungsregister-Datei) implementiert werden. In einer Ausführungsform können Register ein oder mehrere Register, Registerarchitekturen, Registerdateien oder andere Befehlssätze beinhalten, die von einem Software-Programmierer adressierbar oder nicht adressierbar sein können.
  • In einer Ausführungsform kann ein Befehl ein oder mehrere Befehlsformate beinhalten. In einer Ausführungsform kann ein Befehlsformat verschiedene Felder (Anzahl von Bits, Ort von Bits usw.) anzeigen, um u. a. die durchzuführende Operation und den (die) Operanden zu spezifizieren, an dem (denen) die Operation durchzuführen ist. Einige Befehlsformate können, durch Befehlsvorlagen (oder Unterformate) definiert, weiter unterteilt werden. Beispielsweise können die Befehlsvorlagen eines gegebenen Befehlsformates so definiert sein, dass sie unterschiedliche Teilsätze der Felder des Befehlsformates aufweisen und/oder definiert sein, dass ein gegebenes Feld unterschiedlich interpretiert wird. In einer Ausführungsform ist ein Befehl unter Benutzen eines Befehlsformates ausgedrückt (und, falls definiert, in einer gegebenen der Befehlsvorlage dieses Befehlsformates) und spezifiziert oder zeigt die Operation und die Operanden an, an denen die Operation erfolgen wird.
  • Wissenschaftliche, finanzielle, autovektorisierte Allzweck-, RMS-(Erkennung, Mining und Synthese) und visuelle und Multimediaanwendungen (z. B. 2D/3D-Grafik, Bildverarbeitung, Video-Kompression/Dekompression, Spracherkennungsalgorithmen und Audio-Bearbeitung) können erfordern, dass dieselbe Operation an einer großen Zahl von Datenwörtern durchgeführt wird. In ein er Ausführungsform bezieht sich SIMD (Single Instruction Multiple Data) auf einen Typ von Befehl, der bewirkt, dass ein Prozessor eine Operation an mehreren Datenelementen durchführt. Die SIMD-Technologie kann in Prozessoren benutzt werden, welche die Bits in einem Register logisch in eine Anzahl von Datenelementen mit fester Größe oder variabler Größe unterteilen können, von denen jedes einen separaten Wert darstellt. Beispielsweise können in einer Ausführungsform die Bits in einem 64-Bit-Register als ein Quelloperand organisiert sein, der vier separate 16-Bit-Datenelemente enthält, von denen jedes einen separaten 16-Bit-Wert darstellt. Dieser Typ von Daten kann als 'gepackter' Datentyp oder 'Vektor' datentyp bezeichnet werden, und Operanden dieses Datentyps werden als gepackte Datenoperanden oder Vektoroperanden bezeichnet. In einer Ausführungsform kann ein gepacktes Datenwort oder Vektor eine Sequenz von gepackten Datenelementen sein, die in einem einzelnen Register gespeichert sind, und ein gepackter Datenoperand oder ein Vektoroperand kann ein Quell- oder Zieloperand eines SIMD-Befehls (oder 'gepackten Datenbefehls' oder eines 'Vektorbefehls') sein. In einer Ausführungsform spezifiziert ein SIMD-Befehl eine einzelne Vektoroperation zum Durchführen an zwei Quellvektoroperanden, um einen Zielvektoroperanden (auch als ein Ergebnisvektoroperand bezeichnet) von der gleichen oder von unterschiedlicher Größe mit der gleichen oder einer unterschiedlichen Anzahl von Datenelementen und in der gleichen oder einer unterschiedlichen Datenelement-Reihenfolge zu erzeugen.
  • Die SIMD-Technologie, wie z. B. diejenige, die eingesetzt wird bei den Intel®-CoreTM-Prozessoren, die einen Befehlssatz aufweisen, der x86-, MMXTM-Technologie, Streaming-SIMD-Extensions-(SSE), SSE2-, SSE3-, SSE4.1- und SSE4.2-Befehle beinhaltet, ARM-Prozessoren, wie z. B. der ARM-Cortex®-Familie von Prozessoren, die einen Befehlssatz aufweisen, der die Vector-Floating-Point-(VFP) und/oder NEON-Befehle beinhaltet, und MIPS-Prozessoren, wie z. B. die Loongson-Familie von Prozessoren, die vom Institute of Computing Technology (ICT) der Chinese Academy of Sciences entwickelt wurden, hat eine wesentliche Verbesserung der Anwendungsleistung ermöglicht (CoreTM und MMXTM sind eingetragene Handelsmarken oder Handelsmarken der Intel Corporation aus Santa Clara, Kalif.).
  • In einer Ausführungsform sind die Ziel- und Quellregister/daten generische Ausdrücke, um die Quelle und das Ziel der entsprechenden Daten oder Operation darzustellen. In einigen Ausführungsformen können sie durch Register, Speicher oder andere Speicherbereiche, die andere Namen oder Funktionen als die abgebildeten aufweisen, implementiert sein. Beispielsweise kann in einer Ausführungsform ”DEST1” ein temporäres Speicherregister oder ein anderer Speicherbereich sein, wohingegen ”SRC1” und SRC2” ein erstes und ein zweites Quellspeicherregister oder anderer Speicherbereich sein können usw. In anderen Ausführungsformen können zwei oder mehr der SRC- und DEST-Speicherbereiche verschiedenen Datenspeicherelementen innerhalb des gleichen Speicherbereiches (z. B. ein SIMD-Register) entsprechen. In einer Ausführungsform kann eines der Quellregister auch als ein Zielregister wirken, indem beispielsweise das Ergebnis einer Operation, die an den ersten und zweiten Quelldaten durchgeführt wurde, in eines der beiden Quellregister zurückgeschrieben wird, die als Zielregister dienen.
  • Der Begriff „Modul”, wie er hierin verwendet wird, bezieht sich auf jede Kombination von Hardware, Software und/oder Firmware. Ein Modul kann zum Beispiel Hardware wie einen Mikrocontroller enthalten, verbunden mit einem nicht-transitorischen Medium zum Speichern von Code, der für die Ausführung durch den Mikro-Controller angepasst ist. Aus diesem Grund bezieht sich ein Verweis auf ein Modul, in einer Ausführungsform, auf die Hardware, die speziell dafür konfiguriert ist, den Code auf einem nicht-transitorischen Medium zu erkennen und/oder auszuführen. Darüber hinaus bezieht sich die Verwendung eines Moduls, in einer anderen Ausführungsform, auf das nicht-transitorische Medium, welches den Code enthält, der speziell darauf angepasst ist, vom Mikrocontroller ausgeführt zu werden, um vorgegebene Operationen durchzuführen. Und wie abgeleitet werden kann, kann sich der Begriff „Modul”, in einer weiteren Ausführungsform (in diesem Beispiel) auf die Kombination von Mikrocontroller und dem nicht-transitorischen Medium beziehen. Modulgrenzen, die als getrennt veranschaulicht sind, variieren herkömmlicherweise oftmals und können potentiell überlappen. Beispielsweise können ein erstes und ein zweites Modul Hardware, Software, Firmware oder eine Kombination davon gemeinsam benutzen, während einige unabhängige Hardware, Software oder Firmware potentiell zurückgehalten wird. Bei einer Ausführungsform beinhaltet eine Verwendung des Begriffes Logik Hardware, wie z. B. Transistoren, Register oder andere Hardware, wie z. B. programmierbare Logikbaugruppen.
  • Die Verwendung des Ausdrucks „konfiguriert für”, in einer Ausführungsform, bezieht sich auf das Anordnen, Zusammenstellen, Produzieren, Anbieten zum Verkauf, Importieren und/oder Entwerfen von Apparaten, Hardware, Logik oder Elementen, die eine bestimmte oder festgelegte Aufgabe ausführen. In diesem Beispiel ist ein Apparat oder ein Element davon, das nicht in Betrieb ist, dennoch „konfiguriert für” die Ausführung einer bestimmten Aufgabe, wenn es dafür ausgelegt ist, gekoppelt und/oder angeschlossen wird, um die benannte bestimmte Aufgabe auszuführen. Als rein illustratives Beispiel kann ein Logikgatter während des Betriebs eine 0 oder 1 ausgeben. Ein Logikgatter aber, dass „konfiguriert ist für” das Aktivieren eines Signals für einen Taktgeber, schließt nicht alle potenziellen Logikgatter ein, die eine 1 oder 0 ausgeben können. Das Logikgatter ist vielmehr eines, das in einer Weise gekoppelt ist, dass während des Betriebs die Ausgabe einer 1 oder 0 den Taktgeber aktiviert. Es ist zu beachten, dass die Verwendung des Begriffs „konfiguriert für” nicht notwendigerweise den Betrieb umfasst, sondern sich vielmehr auf den latenten Zustand von Apparaten, Hardware und/oder Elementen bezieht, wobei Apparate, Hardware, oder Elemente darauf ausgelegt sind, durch diesen latenten Zustand eine bestimmte Aufgabe ausführen, wenn die Apparate, Hardware und/oder Elemente in Betrieb sind.
  • Darüber hinaus bezieht sich die Verwendung der Ausdrücke „fähig” und/oder „in der Lage”, in einer Ausführungsform, auf Apparate, Logik, Hardware, und/oder Elemente, die darauf ausgelegt sind, die Verwendung der Apparate, Logik, Hardware und/oder Elemente zu ermöglichen, ohne dass eine Änderung an den Apparaten, der Logik, der Hardware bzw. den Elementen vorgenommen werden muss. Es ist zu beachten, dass sich die Verwendung von „fähig” oder „in der Lage”, in einer Ausführungsform, auf den latenten Zustand eines Apparats, einer Logik, einer Hardware und/oder eines Element bezieht, in dem der Apparat, die Logik, die Hardware und/oder das Element nicht in Betrieb ist, aber darauf ausgelegt ist, ohne Modifikation die Verwendung einer Funktion zu ermöglichen.
  • Bei Verwendung in diesem Dokument beinhaltet ein Wert jede bekannte Darstellung einer Anzahl, eines Zustands, eines logischen Zustands oder eines binären logischen Zustands. Die Verwendung von Logik-Leveln, Logikwerten oder logischen Werten wird oftmals ebenfalls als 1-en und 0-en bezeichnet, was einfach binäre logische Zustände darstellt. Beispielweise bezieht sich eine 1 auf einen hohen Logik-Level und 0 bezieht sich auf einen niedrigen Logik-Level. Bei einer Ausführungsform kann eine Speicherzelle, wie z. B. ein Transistor oder eine Flash-Zelle, einen einzelnen logischen Wert oder mehrere logische Werte enthalten. Es wurden jedoch andere Darstellungen von Werten bei Computersystemen verwendet. Die Dezimalzahl Zehn beispielsweise kann ebenfalls als ein binärer Wert 1010 und ein hexadezimaler Buchstabe A dargestellt werden. Deshalb beinhaltet ein Wert jede Darstellung von Informationen, die in einem Computersystem enthalten sein können.
  • Außerdem können Zustände durch Werte oder Teile von Werten dargestellt sein. Als Beispiel kann ein erster Wert, wie z. B. eine logische Eins, einen Standard- oder Anfangszustand darstellen, während ein zweiter Wert, wie z. B. eine logische Null, einen nicht standardmäßigen Zustand darstellen kann. Zusätzlich beziehen sich bei einer Ausführungsform die Begriffe Zurücksetzen und Setzen auf einen Standard- und einen aktualisierten Wert bzw. Zustand. Ein Standardwert beinhaltet beispielsweise potentiell einen hohen logischen Wert, d. h. Zurücksetzen, während ein aktualisierter Wert potentiell einen niedrigen logischen Wert beinhaltet, d. h. Setzen. Es ist zu beachten, dass eine beliebige Kombination von Werten eingesetzt werden kann, um eine beliebige Anzahl von Zuständen darzustellen.
  • Die Ausführungsformen der vorstehend angeführten Verfahren, Hardware, Software, Firmware oder Code können durch Befehle oder Code implementiert sein, die/der auf einem maschinenzugänglichen, maschinenlesbaren, computerzugänglichen oder computerlesbaren Medium gespeichert sind und durch ein Verarbeitungselement ausgeführt werden können. Ein nicht-transitorisches maschinenzugängliches/-lesbares Medium beinhaltet jeglichen Mechanismus, der Informationen in einer von einer Maschine lesbaren Form, wie z. B. einem Computer oder Elektroniksystem, bereitstellt (d. h. speichert und/oder überträgt). Ein nicht-transitorisches maschinenzugängliches Medium beispielsweise beinhaltet Direktzugriffsspeicher (RAM), wie z. B. statisches RAM (RAM, SRAM) oder dynamisches RAM (DRAM); ROM, magnetisches oder optisches Speichermedium; Flash-Memory-Geräte; elektrische Speichergeräte, optische Speichergeräte, akustische Speichergeräte oder eine andere Form von Speichergeräten, die aus transitorischen (propagierten) Signalen (z. B. Trägersignale, Infrarotsignale, Digitalsignale) usw., die sich von nicht-transitorischen Medien zu unterscheiden sind, die daher Informationen empfangen können.
  • Befehle, die zum Programmieren einer Logik verwendet werden, damit sie Ausführungsformen der Erfindung ausführt, können in einem Speicher in dem System (wie zum Beispiel DRAM, Cache, Flash-Speicher oder anderen Speichern) gespeichert werden. Außerdem können die Befehle über ein Netzwerk oder mithilfe von anderen computerlesbaren Medien verbreitet werden. Somit kann ein maschinenlesbares Medium einen beliebigen Mechanismus zum Speichern oder Übermitteln von Informationen in einer (z. B. einem Computer) maschinenlesbaren Form umfassen, ist aber nicht beschränkt auf Disketten, optische Laufwerke, CDs, Nur-Lese-Speicher (CD-ROMs), magnetooptische Disketten, Festwertspeicher (ROM), Direktzugriffsspeicher (RAM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), magnetische oder optische Karten, Flash-Speicher, oder einen nichtflüchtigen, maschinenlesbaren Speicher, der bei der Übertragung von Informationen über das Internet mithilfe von elektrischen, optischen, akustischen oder anderen Formen von sich ausbreitenden Signalen (z. B. Trägerwellen, Infrarotsignalen, digitalen Signalen usw.) verwendet wird. Dementsprechend umfasst das computerlesbare Medium eine beliebige Art von nichtflüchtigem, maschinenlesbaren Medium, das zum Speichern oder Übermitteln elektronischer Befehle oder Informationen in einer von einer Maschine (z. B. einem Computer) lesbaren Form geeignet ist.
  • Verweise in dieser Beschreibung auf „eine Ausführungsform” bedeuten, dass ein bestimmtes Merkmal, eine Struktur oder ein Charakteristikum, das/die in Verbindung mit der Ausführungsform beschrieben wird, zumindest in einer Ausführungsform der vorliegenden Erfindung enthalten ist. Somit beziehen sich die Verwendungen des Ausdrucks „in einer Ausführungsform” an verschiedenen Stellen in dieser gesamten Beschreibung nicht notwendigerweise alle auf dieselbe Ausführungsform. Des Weiteren können die bestimmten Merkmale, Strukturen oder Charakteristika auf jegliche geeignete Weise in einer oder mehreren Ausführungsformen kombiniert werden.
  • Obwohl die vorliegende Erfindung im Hinblick auf eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, sind sich Fachleute bewusst, dass viele weitere Modifikationen und Varianten davon möglich sind. Die beigefügten Ansprüche sollen alle solchen Modifikationen und Varianten abdecken, die dem Sinn und Schutzbereich der vorliegenden Erfindung entsprechen.

Claims (27)

  1. System umfassend: einen peripheren Controller, der eine Schnittstelle mit einem Berührungscontroller eingeht, und der Zuweisungsinformationen an den Berührungscontroller übermittelt, wobei die Zuweisungsinformationen die Identifizierung einer primären Region eines Displays des Systems und einer sekundären Region des Displays umfassen; den Berührungscontroller, der mit dem peripheren Controller verbunden ist, umfassend eine erste Logik zum Filtern von Berührungsdaten, die von einem Berührungsgerät stammen, wenn die Berührungsdaten einer Berührung durch einen Anwender in der zweiten Region entsprechen, sowie zum Übermitteln der Berührungsdaten an den peripheren Controller, wenn die Berührungsdaten der Anwenderberührung in der primären Region entsprechen; das Berührungsgerät, das mit dem Berührungscontroller verbunden ist, um vom Anwender berührt zu werden und um die Berührungsdaten an den Berührungscontroller zu übermitteln; eine Display-Logik, die mit dem Display verbunden ist, um das Display so zu steuern, dass der Inhalt in der sekundären Region basierend auf einer oder mehreren Konfiguration(en) des Systems basiert, Informationen von einem oder mehreren Umgebungssensor(en), einer Art von darzustellendem Inhalt, und einem Modus der primären Region dargestellt wird; sowie das Display, welches mit der Display-Logik verbunden ist, worin der Display-Inhalt in der primären Region unabhängig vom Display-Inhalt in der sekundären Region ist.
  2. System nach Anspruch 1, worin sich der periphere Controller in einem Niedrigenergiestatus befinden muss, wenn der Berührungscontroller die Berührungsdaten filtert.
  3. System nach Anspruch 1, worin sich der periphere Controller in einem Niedrigenergiestatus befinden muss, wenn die Berührung des Anwenders innerhalb der sekundären Region erfolgt.
  4. System nach Anspruch 1, des Weiteren umfassend einen Prozessor, der wenigstens einen Kern und den peripheren Controller enthält.
  5. System nach Anspruch 4, worin sich der Prozessor in einem Niedrigenergiestatus befinden muss, wenn der Berührungscontroller die Berührungsdaten filtert.
  6. System nach Anspruch 4, worin der periphere Controller die Zuweisungsinformationen von der Systemsoftware, die auf wenigstens einem Kern ausgeführt wird, zu empfangen hat.
  7. System nach Anspruch 1, des Weiteren umfassend einen Speicher zum Speichern der Zuweisungsinformationen, der mit dem Berührungscontroller verbunden ist, worin der Berührungscontroller auf die Zuweisungsinformationen im Speicher Zugriff haben muss, um festzustellen, ob die Berührungsdaten zu filtern sind.
  8. System nach Anspruch 1, worin der periphere Controller eine Identifizierung einer Bedienfeldregion des Displays an den Berührungscontroller übermittelt, und worin der Berührungscontroller die Berührungsdaten an den peripheren Controller zu übermitteln hat, wenn sich die Berührungsdaten innerhalb der Bedienfeldregion befinden, und der ansonsten die Berührungsdaten filtern muss, und worin das System als Reaktion auf den Empfang der Berührungsdatenübermittlung aus einem Niedrigenergiestatus reaktiviert werden muss.
  9. System nach Anspruch 1, worin die sekundäre Region wenigstens einen Softbutton umfasst, und worin der Berührungscontroller eine haptische Rückmeldung an den Anwender generieren muss, wenn die Berührungsdaten innerhalb des wenigstens einen Softbuttons empfangen werden, während sich der periphere Controller in einem Niedrigenergiestatus befindet.
  10. System nach Anspruch 1, worin der Berührungscontroller einen optischen Scanner innerhalb der ersten Abtastregion des Berührungsgerätes in Reaktion auf den Empfang der Berührungsdaten innerhalb der ersten Abtastregion aktivieren muss, um die Beleuchtung der ersten Abtastregion in Reaktion auf den Empfang der Berührungsdaten innerhalb der ersten Abtastregion zu bewirken, und um den optischen Scanner innerhalb der ersten Abtastregion und die Beleuchtung der ersten Abtastregion zu aktivieren, während sich der Rest des Berührungsgerätes in einem Niedrigenergiestatus befindet.
  11. System nach Anspruch 1, weiter umfassend: wenigstens einen Sensor zur Erfassung der Anwesenheit des Anwenders; und die Display-Logik für den Erhalt einer Ausgabe von dem wenigstens einen Sensor und zur Steuerung einer ersten Größe der primären Region und einer zweiten Größe der sekundären Region, partiell basierend auf der Ausgabe.
  12. System nach Anspruch 11, worin die Display-Logik bewirkt, dass das Display den vom Anwender ausgewählten Inhalt einem ersten Anwender in der sekundären Region anzeigt, wenn wenigstens ein Sensor die Anwesenheit des ersten Anwenders erfasst.
  13. System nach Anspruch 1, worin die Display-Logik die sekundäre Region steuern muss, um wenigstens eine Anwendungsverknüpfung anzuzeigen, und um in Reaktion auf die Auswahl des Anwenders der wenigstens einen Anwendungsverknüpfung wenigstens einen Teil der primären Region zu steuern, um so eine Anwenderbedienoberfläche der vom Anwender ausgewählten Anwendung anzuzeigen.
  14. System nach Anspruch 1, worin die Display-Logik das Display dazu bringt, Inhalt basierend auf einer Interaktion mit einem sekundären System in der Nähe des Systems darzustellen.
  15. System nach Anspruch 14, worin die Display-Logik das Display dazu bringen muss, die Anrufinformationen in der Sekundären Region darzustellen, wenn das sekundäre System einen Anruf erhält, wobei das sekundäre System ein Smartphone umfasst.
  16. System nach Anspruch 1, worin die Display-Logik die sekundäre Region aktivieren muss, wenn sich die primäre Region in einem Niedrigenergiestatus befindet, und worin der Benachrichtigungsinhalt in der sekundären Region dargestellt wird, wenn sich die primäre Region im Niedrigenergiestatus befindet.
  17. System nach Anspruch 1, des Weiteren umfassend einen Standortsensor, der mit der Display-Logik verbunden ist, worin die Display-Logik das Display dazu bringen muss, den ersten Inhalt in der sekundären Region darzustellen, wenn sich das System an einem ersten Standort befindet, und worin sie das Display dazu bringen muss, den zweiten Inhalt in der sekundären Region darzustellen, wenn sich das System an einem zweiten Standort befindet, wobei der erste und der zweite Standort vom Standortsensor erfasst werden.
  18. Vorrichtung, umfassend: einen Controller, der mit einem Berührungseingabegerät verbunden ist, wobei der Controller für Folgendes eine Filterlogik umfasst: das Empfangen wenigstens einer der Informationen zur gültigen Region oder zur ungültigen Region für das Berührungseingabegerät; das Speichern wenigstens einer der Informationen zur gültigen oder zur ungültigen Region in einem Speicher; und das Empfangen von Berührungsdaten vom Berührungseingabegerät und das Filtern der Berührungsdaten, sodass diese nicht an einen Hostprozessor, der mit dem Controller verbunden ist, übermittelt werden, wenn sich die Berührungsdaten in einer ungültigen Region des Berührungseingabegerätes befinden.
  19. Vorrichtung nach Anspruch 18, worin die Filterlogik die Berührungsdaten dem Hostprozessor zu melden hat, wenn sich die Berührungsdaten innerhalb einer gültigen Region des Berührungseingabegerätes befinden.
  20. System umfassend: ein SoC (System an a Chip), umfassend wenigstens einen Kern, einen peripheren Controller, der mit wenigstens einem Kern verbunden ist, um die Kommunikation mit wenigstens einem peripheren Gerät, welches mit dem SoC verbunden ist, zu steuern, und einen Leistungscontroller, um das SoC in die Lage zu versetzen, in einen und aus einem Niedrigenergiestatus zu wechseln; ein HID (Human Interface Device) für den Empfang der Eingabe seitens des Anwenders; und ein HID-Controller, der mit dem HID verbunden ist, um Daten zu empfangen, die mit der Anwendereingabe assoziiert sind, und umfassend eine erste Logik zum filtern der Daten, wenn sich die Eingabe des Anwenders in einer ungültigen Region des HID befindet, und zur Übermittlung der Daten an den SoC, wenn sich die Eingabe des Anwenders in einer gültigen Region des HID befindet, worin das SoC im Niederigenergiestatus bleiben muss, wenn die Eingabe des Anwenders in der ungültigen Region erfolgt.
  21. System nach Anspruch 20, des Weiteren umfassend einen haptischen Generator zur Bereitstellung einer haptischen Rückmeldung an den Anwender, worin der HID-Controller den haptischen Generator dazu bringt, die haptische Rückmeldung bereitzustellen, wenn die Eingabe des Anwenders in der gültigen Region des HID erfolgt.
  22. System nach Anspruch 21, des Weiteren umfassend einen optischen Scanner zum Abtasten einer zweiten Eingabe durch den Anwender, worin der HID-Controller den optischen Scanner in Reaktion auf den Empfang der Anwendereingabe innerhalb der gültigen Region des HID aktivieren muss, und worin er die Beleuchtung der gültigen Region in Reaktion auf den Empfang der Anwendereingabe innerhalb der gültigen Region des HID veranlassen muss.
  23. System umfassend: einen Touchscreen zur Anzeige der Benutzeroberfläche, einschließlich einer gültigen Region, in welcher die Informationen der Anwenderberührung zu verarbeiten sind, sowie einer ungültigen Region, in welcher die Informationen der Anwenderberührung zu verwerfen sind; einen Touchscreen-Controller, der mit dem Touchscreen verbunden ist, um die Informationen der Anwenderberührung zu empfangen, umfassend eine Logik zum Verwerfen der Informationen der Anwenderberührung, die vom Touchscreen empfangen wurden, wenn sich die Informationen der Anwenderberührung innerhalb der ungültigen Region befinden, sowie zur Übermittlung der Informationen der Anwenderberührung, die vom Touchscreen empfangen wurden, wenn sich die Informationen der Anwenderberührung innerhalb der gültigen Region befinden; einen peripheren Controller, der mit dem Touchscreen-Controller verbunden ist, um die übermittelten Informationen der Anwenderberührung vom Touchscreen-Controller zu empfangen; und einen Prozessor, der mit dem peripheren Controller verbunden ist, um die übermittelten Informationen der Anwenderberührung vom peripheren Controller zu empfangen und um die übermittelten Informationen der Anwenderberührung zu verarbeiten, um eine vom Anwender angeforderte Aktion zu ermitteln, worin der Prozessor in einem Niedrigenergiestatus verbleiben muss, wenn die Informationen der Anwenderberührung vom Touchscreen-Controller verworfen werden.
  24. Wenigstens ein Speichermedium, umfassend Anweisungen, durch deren Ausführung ein System: in einem Berührungscontroller des Systems Informationen zur gültigen Region empfängt, damit ein Berührungseingabegerät des Systems um eine gültige Region anzeigen kann, in der eine Anwenderberührung zu verarbeiten ist, und Informationen zur ungültigen Region empfängt, damit ein Berührungseingabegerät des Systems eine ungültige Region anzeigen kann, in der die Anwenderberührung zu ignorieren ist; die Informationen zur gültigen Region und zur ungültigen Region in einem Speicher ablegt, der mit dem Berührungscontroller verbunden ist; im Berührungscontroller erste Berührungsdaten des Berührungseingabegeräts empfängt, wobei die ersten Berührungsdaten einer Anwenderberührung in der ungültigen Region entsprechen, und wobei das System ermittelt, dass die Anwenderberührung in der ungültigen Region erfolgt, wenigstens partiell basierend auf den Informationen zur ungültigen Region, und wobei es die ersten Berührungsdaten filtert, sodass diese nicht an einen Hostprozessor, der mit dem Berührungscontroller verbunden ist, übermittelt werden; und im Berührungscontroller zweite Berührungsdaten vom Berührungseingabegerät empfängt, wobei die zweiten Berührungsdaten einer Anwenderberührung in der gültigen Region entsprechen, und wobei das System ermittelt, dass diese Anwenderberührung in der gültigen Region erfolgt, wenigstens partiell basierend auf den Informationen zur gültigen Region, und wobei es die zweiten Berührungsdaten an den Hostprozessor übermittelt.
  25. System umfassend: einen Touchscreen zur Anzeige einer ersten Benutzeroberfläche in einer primären Region sowie zur Anzeige einer zweiten Benutzeroberfläche oder keiner Benutzeroberfläche in einer sekundären Region; einen Berührungscontroller, der mit dem Touchscreen verbunden ist, umfassend eine erste Logik zum Filtern von Berührungsdaten, die vom Touchscreen stammen, wenn die Berührungsdaten einer Berührung durch einen Anwender in der sekundären Region entsprechen, sowie zum Übermitteln der Berührungsdaten an den Touchscreen-Controller, wenn die Berührungsdaten der Anwenderberührung in der primären Region entsprechen; eine Vielzahl von Sensoren, jeder zur Erfassung eines Umgebungsparameters und zur Generierung von Umweltdaten in Bezug auf eine Umwelt, in welcher das System arbeitet; einen Sensor-Controller, der mit der Vielzahl von Sensoren verbunden ist, um die Umgebungsdaten zu empfangen; den peripheren Controller, der mit dem Sensor-Controller und dem Touchscreen-Controller verbunden ist, wobei der periphere Controller die Berührungsdaten vom Touchscreen-Controller zu empfangen hat, wenn die Berührungsdaten der Anwenderberührung innerhalb der primären Region entsprechen; und einen Prozessor, der mit dem peripheren Controller verbunden ist, um die Berührungsdaten vom peripheren Controller zu empfangen und um die Berührungsdaten zu verarbeiten, um eine vom Benutzer angeforderte Aktion zu ermitteln, worin der Prozessor in einem Niedrigenergiestatus verbleiben muss, wenn die Berührungsdaten von der ersten Logik gefiltert werden.
  26. Verfahren, umfassend: das Empfangen einer Anforderung zur Darstellung einer ersten Benutzeroberfläche auf einem Touchscreen des Systems; das Anweisen des Touchscreens, die erste Benutzeroberfläche anzuzeigen; und das Übermitteln von Informationen zur gültigen Region für ein Berührungseingabegerät des Systems an einen Berührungscontroller des Systems, um eine gültige Region anzuzeigen, in welcher eine Anwenderberührung zu verarbeiten sind, und um Informationen zur ungültigen Region für das Berührungseingabegerät anzuzeigen, bei denen die Anwenderberührung zu ignorieren ist, worin der Berührungscontroller in Reaktion auf den Empfang der ersten Berührungsdaten vom Berührungseingabegerät und in Übereinstimmung mit einer Anwenderberührung in der ungültigen Region ermitteln muss, dass die Anwenderberührung in der ungültigen Region erfolgt, und dies muss zumindest partiell basierend auf den Informationen zur ungültigen Region erfolgen, und die ersten Berührungsdaten müssen gefiltert werden, sodass sie nicht mehr an einen Hostprozessor, der mit dem Berührungscontroller verbunden ist, übermittelt werden, um so dem Hostprozessor zu ermöglichen, in einem Niedrigenergiestatus zu verbleiben.
  27. Wenigstens ein Speichermedium, umfassend Anweisungen, durch deren Ausführung ein System: in einer Display-Logik eine Registrierungsmeldung von einer ersten Anwendung empfängt, um die Anwendbarkeit der ersten Anwendung auf die dynamische Inhaltsdarstellung in einer sekundären Display-Region eines Displays des Systems während der Ausführung der ersten Anwendung anzugeben, wobei die sekundäre Display-Region getrennt ist von einer primären Display-Region, auf der eine Benutzeroberfläche für die erste Anwendung darzustellen ist; Informationen zur ersten Anwendung in einer Liste zur sekundären Anzeigeregion beinhaltet; während der Ausführung der ersten Anwendung eine Anforderung zur Darstellung eines Inhalts in der sekundären Display-Region empfängt; und das Display dazu bringt, den Inhalt in der sekundären Display-Region darzustellen, während die Benutzeroberfläche in der ersten Display-Region dargestellt wird, wobei der Inhalt unabhängig von der Benutzeroberfläche ist, worin der Inhalt in der sekundären Display-Region unter Anwendung der Informationen der ersten Anwendung in der Liste der sekundären Display-Region ausgewählt ist.
DE201311001305 2013-01-06 2013-09-19 Ein Verfahren, eine Vorrichtung und ein System zur verteilten Vorverarbeitung von Berührungsdaten und Anzeigebereichsteuerung Granted DE112013001305T5 (de)

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

Publications (1)

Publication Number Publication Date
DE112013001305T5 true DE112013001305T5 (de) 2014-12-31

Family

ID=51062408

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201311001305 Granted DE112013001305T5 (de) 2013-01-06 2013-09-19 Ein Verfahren, eine Vorrichtung und ein System zur verteilten Vorverarbeitung von Berührungsdaten und Anzeigebereichsteuerung

Country Status (9)

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

Families Citing this family (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542016B2 (en) 2012-09-13 2017-01-10 Apple Inc. Optical sensing mechanisms for input devices
US10373149B1 (en) 2012-11-12 2019-08-06 Square, Inc. Secure data entry using a card reader with minimal display and input capabilities having a display
KR101919796B1 (ko) * 2013-01-11 2018-11-19 엘지전자 주식회사 휴대 단말기 및 그 제어 방법
JP5987732B2 (ja) * 2013-03-04 2016-09-07 株式会社デンソー 車両用電子機器
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
CN109766020B (zh) 2013-08-09 2022-04-29 苹果公司 用于电子设备的触觉开关
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 (ja) * 2014-04-23 2018-03-07 京セラドキュメントソリューションズ株式会社 画像形成システム
US10282063B1 (en) * 2014-05-20 2019-05-07 Google Llc Permanent multi-task affordance for tablets
RU2608881C2 (ru) * 2014-05-28 2017-01-25 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для управления турборежимом
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 (ko) * 2014-08-18 2021-01-29 삼성디스플레이 주식회사 표시 장치
US9797753B1 (en) 2014-08-27 2017-10-24 Apple Inc. Spatial phase estimation for optical encoders
US10066970B2 (en) 2014-08-27 2018-09-04 Apple Inc. Dynamic range control for optical encoders
KR102239316B1 (ko) 2014-09-02 2021-04-13 애플 인크. 웨어러블 전자 디바이스
US10416750B2 (en) * 2014-09-26 2019-09-17 Qualcomm Incorporated Algorithm engine for ultra low-power processing of sensor data
KR20160045233A (ko) * 2014-10-16 2016-04-27 삼성디스플레이 주식회사 표시 장치 및 표시 장치 제어 방법
US20150049251A1 (en) * 2014-10-28 2015-02-19 YENOUKOUME Serge BOKO DAGOUN Portable computing device
KR102251542B1 (ko) * 2014-11-25 2021-05-14 엘지전자 주식회사 이동 단말기 및 그것의 제어 방법
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
US10282337B2 (en) 2015-02-27 2019-05-07 Google Llc Multi-function ports on a computing device
US10152442B2 (en) 2015-02-27 2018-12-11 Google Llc Multi-function ports on a computing device
DE112016000928T5 (de) * 2015-02-27 2017-11-30 Google Inc. Multifunktionsanschlüsse an einem computergerät
US20160259544A1 (en) * 2015-03-04 2016-09-08 Artem Polikarpov Systems And Methods For Virtual Periphery Interaction
JP6515185B2 (ja) 2015-03-05 2019-05-15 アップル インコーポレイテッドApple Inc. 方向依存光学特性を有する光学エンコーダを有する時計、手首装着型電子デバイス及びウェラブル電子デバイス
JP6479997B2 (ja) 2015-03-08 2019-03-06 アップル インコーポレイテッドApple Inc. 回転可能かつ並進可能な入力機構のための圧縮可能な封止
CN110825304B (zh) 2015-03-19 2023-04-21 华为技术有限公司 触摸事件处理方法、装置及终端设备
US10416520B2 (en) * 2015-03-20 2019-09-17 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 (ko) 2015-04-24 2022-04-13 삼성디스플레이 주식회사 플렉서블 표시장치 및 이의 구동방법
US10018966B2 (en) 2015-04-24 2018-07-10 Apple Inc. Cover member for an input mechanism of an electronic device
CN104866406B (zh) * 2015-05-07 2018-05-01 广东欧珀移动通信有限公司 一种基于指纹识别的提示方法及终端
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 (zh) * 2015-11-24 2016-04-13 致象尔微电子科技(上海)有限公司 一种基于触摸屏的数据处理装置
KR102476017B1 (ko) * 2016-01-05 2022-12-09 삼성전자주식회사 생체 정보를 이용한 인증 방법 및 장치
KR102480086B1 (ko) * 2016-01-11 2022-12-23 삼성디스플레이 주식회사 디스플레이 장치 및 그 제조방법
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 (ru) * 2016-04-19 2017-04-17 Айдар Хайдарович Сабитов Устройство usb-зарядки гаджетов в салонах пассажирских транспортных средств
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
TWI721319B (zh) * 2016-06-10 2021-03-11 美商利魁得股份有限公司 資料儲存系統中的多埠中介件架構
KR102523482B1 (ko) * 2016-06-15 2023-04-19 에스케이플래닛 주식회사 디지털사이니지장치 및 그 동작 방법
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
US10845878B1 (en) 2016-07-25 2020-11-24 Apple Inc. Input device with tactile feedback
US10019097B2 (en) 2016-07-25 2018-07-10 Apple Inc. Force-detecting input structure
KR20180014644A (ko) 2016-08-01 2018-02-09 삼성전자주식회사 터치 인식 방법 및 이를 수행하는 전자 장치
WO2018026155A1 (en) * 2016-08-01 2018-02-08 Samsung Electronics Co., Ltd. Method and electronic device for recognizing touch
KR102545602B1 (ko) 2016-08-01 2023-06-20 삼성전자주식회사 전자 장치 및 그의 동작 방법
US10372214B1 (en) * 2016-09-07 2019-08-06 Apple Inc. Adaptable user-selectable input area in an electronic device
CN116109467A (zh) * 2016-11-16 2023-05-12 奇跃公司 具有降低功率渲染的混合现实系统
WO2018093371A1 (en) * 2016-11-17 2018-05-24 Intel Corporation Multi-use fog device
KR102649009B1 (ko) * 2016-12-20 2024-03-20 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
US10175839B2 (en) 2016-12-30 2019-01-08 Qualcomm Incorporated Highly configurable front end for touch controllers
US10331282B2 (en) 2016-12-30 2019-06-25 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
KR102673224B1 (ko) * 2017-02-23 2024-06-10 삼성전자주식회사 전자 장치 및 전자 장치 제어 방법
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 (ko) * 2017-03-09 2018-09-19 삼성전자주식회사 터치 스크린 컨트롤러, 터치 스크린 장치 및 터치 스크린 컨트롤러의 동작 방법
CN113282346A (zh) * 2017-03-29 2021-08-20 上海耕岩智能科技有限公司 一种基于指纹识别控制应用程序的方法、装置和存储介质
CN106990908B (zh) * 2017-04-06 2020-06-16 广州视源电子科技股份有限公司 一种局部触摸屏蔽方法、装置、系统、设备及存储介质
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 (zh) * 2017-07-14 2022-07-29 曾仲林 一种cisc设备及cisc设备的通信方法
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 (ja) * 2017-09-25 2022-11-17 株式会社村田製作所 錯触力覚デバイス
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 (ru) * 2017-11-07 2018-06-22 Акционерное общество "Т-Платформы" (АО "Т-Платформы") Электронно-вычислительная машина
CN108008963B (zh) * 2017-12-22 2020-07-24 联想(北京)有限公司 一种适配eink设备的应用处理方法及系统
RU181880U1 (ru) * 2017-12-29 2018-07-26 Федеральное государственное бюджетное образовательное учреждение высшего образования "Рязанский государственный радиотехнический университет" Устройство для оценки параметров распределения времени запаздывания возникновения разряда
CN108345559B (zh) * 2018-02-09 2020-02-28 京东方科技集团股份有限公司 虚拟现实数据输入装置和虚拟现实设备
KR102413936B1 (ko) * 2018-02-21 2022-06-28 삼성전자주식회사 스위치를 갖는 디스플레이를 포함하는 전자장치
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
CN209560398U (zh) 2018-08-24 2019-10-29 苹果公司 电子表
US11181863B2 (en) 2018-08-24 2021-11-23 Apple Inc. Conductive cap for watch crown
CN209625187U (zh) 2018-08-30 2019-11-12 苹果公司 电子手表和电子设备
US10936071B2 (en) 2018-08-30 2021-03-02 Apple Inc. Wearable electronic device with haptic rotatable input
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
CN113168257B (zh) * 2018-11-22 2024-04-12 华为技术有限公司 锁定触控操作的方法及电子设备
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
EP3928187A1 (de) 2019-02-18 2021-12-29 Arkh Litho Holdings, LLC Interaktion mit einer intelligenten vorrichtung unter verwendung einer zeigesteuerung
CN111837171B (zh) * 2019-02-20 2022-07-01 京东方科技集团股份有限公司 显示装置及其制备方法
JP2020177074A (ja) * 2019-04-16 2020-10-29 株式会社デンソー 車両用装置、車両用装置の制御方法
CN110187813A (zh) * 2019-05-09 2019-08-30 深圳报业集团控股公司 一种触摸感应交互系统及交互方法
DE102019118965A1 (de) * 2019-07-12 2021-01-14 Workaround Gmbh Nebengerät für ein Sensor- und/oder Informationssystem sowie Sensor- und/oder Informationssystem
US20220148489A1 (en) * 2019-07-29 2022-05-12 Hewlett-Packard Development Company, L.P. A display device
CN110968247B (zh) * 2019-09-18 2022-05-10 华为技术有限公司 一种电子设备操控方法及电子设备
KR20220100862A (ko) 2019-09-24 2022-07-18 에이알케이에이치, 인크. 스마트 링
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
US20230030973A1 (en) * 2020-01-10 2023-02-02 Hewlett-Packard Development Company, L.P. Change of firmware settings
TWI731562B (zh) * 2020-01-21 2021-06-21 英業達股份有限公司 主機板擴充插槽的配置設置方法、系統、裝置及電腦可讀取媒體
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 (ko) 2020-06-04 2021-12-13 에스케이하이닉스 주식회사 위임된 작업을 처리하는 메모리 시스템 및 동작 방법
US11983035B2 (en) 2020-06-11 2024-05-14 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 (zh) * 2020-10-28 2022-06-21 瑞芯微电子股份有限公司 一种显示变频方法和系统
CN114428638A (zh) 2020-10-29 2022-05-03 平头哥(上海)半导体技术有限公司 指令发射单元、指令执行单元、相关装置和方法
US11455015B2 (en) * 2020-11-08 2022-09-27 Lenovo (Singapore) Pte. Ltd. Computing system
CN113407249B (zh) * 2020-12-29 2022-03-22 重庆邮电大学 一种面向位置隐私保护的任务卸载方法
CN112764618A (zh) * 2021-01-22 2021-05-07 维沃移动通信有限公司 界面操作方法、装置、设备及存储介质
US20220350366A1 (en) * 2021-05-03 2022-11-03 Asustek Computer Inc. All-in-one computer
CN113420245B (zh) * 2021-05-11 2023-10-27 上海幻电信息科技有限公司 页面显示方法及系统
US11809640B2 (en) * 2021-12-09 2023-11-07 Htc Corporation Method for detecting movement of ring controller, ring controller, and computer readable medium
TWI804163B (zh) * 2022-01-18 2023-06-01 新唐科技股份有限公司 麥克風陣列
CN115145645B (zh) * 2022-09-01 2022-11-25 南京芯驰半导体科技有限公司 一种支持多操作系统的触摸屏控制方法、系统及芯片
TWI831473B (zh) * 2022-11-15 2024-02-01 瑞昱半導體股份有限公司 半導體裝置及其布局方法

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11275405B2 (en) * 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
EP1460499A1 (de) 2003-03-17 2004-09-22 Trumpf Werkzeugmaschinen GmbH + Co. KG Bedienungsoberfläche einer Werkzeugmaschine
US20070152977A1 (en) * 2005-12-30 2007-07-05 Apple Computer, Inc. Illuminated touchpad
WO2005029460A1 (en) * 2003-08-21 2005-03-31 Microsoft Corporation Focus management using in-air points
WO2005067604A2 (en) * 2004-01-05 2005-07-28 Oqo Incorporated Docking station for mobile computing device
JP2005295399A (ja) 2004-04-02 2005-10-20 Smk Corp タッチパネル入力装置
US7511682B2 (en) * 2004-05-03 2009-03-31 Microsoft Corporation Context-aware auxiliary display platform and applications
JP2006053678A (ja) * 2004-08-10 2006-02-23 Toshiba Corp ユニバーサルヒューマンインタフェースを有する電子機器
CN101133385B (zh) * 2005-03-04 2014-05-07 苹果公司 手持电子设备、手持设备及其操作方法
WO2006094308A2 (en) 2005-03-04 2006-09-08 Apple Computer, Inc. Multi-functional hand-held device
KR100696284B1 (ko) * 2005-05-30 2007-03-19 이종찬 전자기기에 대해 보조표시장치 및 보조입력장치의 기능을수행하는 보조장치
CN101814005B (zh) * 2005-07-22 2013-02-27 运行移动系统公司 最适宜拇指的触摸屏用户界面的系统和方法
JP2007065050A (ja) * 2005-08-29 2007-03-15 Kyocera Mita Corp 表示装置及びこれを備えた画像形成装置
JP2006094565A (ja) * 2005-12-08 2006-04-06 Sharp Corp 電話機能内蔵携帯情報端末
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
CN101395562A (zh) 2005-12-30 2009-03-25 苹果公司 照明触摸板
KR20080023832A (ko) * 2006-09-12 2008-03-17 삼성전자주식회사 휴대 단말기용 터치 스크린 및 그의 절전 방법
KR100829111B1 (ko) * 2006-11-27 2008-05-16 삼성전자주식회사 휴대단말기 및 그 제어방법
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 (zh) * 2008-03-25 2011-01-26 杭州赛利科技有限公司 多媒体播放器中播放菜单的组织管理方法和系统
US20100177053A2 (en) * 2008-05-09 2010-07-15 Taizo Yasutake Method and apparatus for control of multiple degrees of freedom of a display
KR100974409B1 (ko) 2008-07-03 2010-08-05 배정관 금속기와 마감부재 제조장치
KR101479240B1 (ko) 2008-07-14 2015-01-06 삼성전자 주식회사 공기조화기 및 그 제어방법
KR101546774B1 (ko) 2008-07-29 2015-08-24 엘지전자 주식회사 휴대 단말기 및 그 동작제어 방법
CN101650628B (zh) * 2008-08-14 2011-07-27 鸿富锦精密工业(深圳)有限公司 具有触摸显示屏的电子装置及其控制方法
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 (ko) * 2008-10-15 2015-09-18 엘지전자 주식회사 이동 단말기 및 그의 출력 제어 방법
TWI393046B (zh) * 2008-10-23 2013-04-11 Chun Wei Chu 雙顯示螢幕可攜式電子閱讀器與作業系統
JP5174616B2 (ja) * 2008-10-27 2013-04-03 シャープ株式会社 携帯電話
US8199507B2 (en) 2008-12-19 2012-06-12 Openpeak Inc. Telephony and digital media services device
US8650290B2 (en) * 2008-12-19 2014-02-11 Openpeak Inc. Portable computing device and method of operation of same
KR101626818B1 (ko) * 2008-12-24 2016-06-02 엘지전자 주식회사 이동단말기의 터치영역 제어장치 및 방법
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 (ko) 2009-04-28 2010-11-05 삼성전자주식회사 휴대 단말기의 터치스크린 운용 방법 및 이를 지원하는 휴대 단말기
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 (ko) * 2009-07-07 2015-09-23 삼성전자주식회사 이동단말기의 다중 화면 서비스를 위한 시스템 및 방법
KR101710545B1 (ko) 2009-11-05 2017-02-27 엘지전자 주식회사 이동 단말기 및 이를 이용한 정보 제공 방법
KR20110061285A (ko) * 2009-12-01 2011-06-09 삼성전자주식회사 휴대용 디바이스 및 이의 터치 패널 운용 방법
TWI390440B (zh) 2010-03-18 2013-03-21 Acer Inc 視窗切換方法及系統
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 (ko) 2010-07-06 2012-01-12 김민한 착용형 인지력 향상 시스템
KR20120005803A (ko) 2010-07-09 2012-01-17 양선아 재활용품 분리수거대
US8388146B2 (en) * 2010-08-01 2013-03-05 T-Mobile Usa, Inc. Anamorphic projection device
US20120038571A1 (en) * 2010-08-11 2012-02-16 Marco Susani System and Method for Dynamically Resizing an Active Screen of a Handheld Device
JP5653184B2 (ja) 2010-11-11 2015-01-14 三菱電機株式会社 画像処理装置及び方法
KR20120058037A (ko) * 2010-11-29 2012-06-07 삼성전자주식회사 터치스크린 단말기에서 입력 방법 및 장치
KR101351421B1 (ko) * 2010-12-16 2014-01-14 엘지디스플레이 주식회사 광학식 터치 입력 장치 및 이의 구동 방법
JP5813991B2 (ja) 2011-05-02 2015-11-17 埼玉日本電気株式会社 携帯端末、入力制御方法及びプログラム
US9134807B2 (en) * 2012-03-02 2015-09-15 Microsoft Technology Licensing, Llc Pressure sensitive key normalization
KR20120042799A (ko) * 2012-03-19 2012-05-03 김태상 소프트웨어적으로 활성화되는 베젤을 가진 테블릿피씨
US9268433B2 (en) * 2012-06-08 2016-02-23 Apple Inc. Devices and methods for reducing power usage of a touch-sensitive display
TW201351227A (zh) 2012-06-15 2013-12-16 Acer Inc 觸控面板的操作方法與電子裝置
US9128712B2 (en) * 2012-08-10 2015-09-08 Blackberry Limited Electronic device including touch-sensitive display and method of detecting touches
EP2936383A4 (de) * 2012-12-20 2016-08-24 Intel Corp Filter mit beschleunigter objekterkennung und einem videobewegungsmessmodul
KR102072582B1 (ko) * 2012-12-31 2020-02-03 엘지전자 주식회사 듀얼 디스플레이 방법 및 장치

Also Published As

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

Similar Documents

Publication Publication Date Title
DE112013001305T5 (de) Ein Verfahren, eine Vorrichtung und ein System zur verteilten Vorverarbeitung von Berührungsdaten und Anzeigebereichsteuerung
DE102019009207B3 (de) Vorrichtungen, verfahren und nichttransitorisches computerlesbares speichermedien für dvsec für eine effiziente peripheriegeräteverwaltung
US9292076B2 (en) Fast recalibration circuitry for input/output (IO) compensation finite state machine power-down-exit
KR101717410B1 (ko) 코드 영역들의 연속적 자동 튜닝을 위한 방법, 장치, 시스템
US9268948B2 (en) Secure access enforcement proxy
DE112016004300T5 (de) Verfahren, gerät und system zum zuweisen von cache unter verwendung einer verkehrsklasse
DE112016002913T5 (de) Dynamische Konfiguration von Verbindungsmodi an einem System basierend auf Hostgerätefähigkeiten
DE112016004332T5 (de) Verfahren, vorrichtungen und systeme zum taktversatzausgleich von datenverbindungaufteilungen
DE102018007025A1 (de) System, Verfahren und Einrichtung zur SRIS-Modus-Auswahl für PCIe
DE112016002895T5 (de) Authentifizierung einer Mehrprotokollverbindung
DE112014006183T5 (de) Vorrichtung, Verfahren und System für einen Schnellkonfigurationsmechanismus
DE112016004133T5 (de) Anzeigegerät mit mehreren Ausrichtungen
DE102019109858A1 (de) Breiten- und Frequenzumsetzung mit PHY-Schicht-Vorrichtungen
DE112015003035T5 (de) Gemeinsame nutzung eines usb-stromzufuhr-controllers
DE102019132213A1 (de) Adressenübersetzung für skalierbare verlinkte Vorrichtungen
CN113272889A (zh) 基于用户活动调整显示刷新率
DE112020001586T5 (de) System, gerät und verfahren zur leistungslizenzsteuerung eines prozessors
US20140181479A1 (en) Method, apparatus, system creating, executing and terminating mini-threads
DE112017004897T5 (de) Schreib-Semantik für persistenten Speicher auf PCIe mit vorhandener TLP-Definition
CN109074341A (zh) 减少引脚计数接口
DE102020134491A1 (de) System, Vorrichtung und Verfahren zum dynamischen Justieren von Plattformenergie und -leistung basierend auf Aufgabeneigenschaften
DE102018125241A1 (de) Mechanismus einer asymmetrischen Vollduplex-USB-SS-Verbindungsstrecke
CN115048326A (zh) 用于管理总线通信协议的选择
DE102019120357A1 (de) Dynamische asymmetrische kommunikationspfadzuteilung
DE112017004891T5 (de) Multidimensionale Optimierung von elektrischen Parametern zum Trainieren eines Speichers

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division