-
Hintergrund
-
Die
vorliegende Erfindung betrifft allgemein Prozessoren mit integrierten
Schaltungen und insbesondere Mechanismen zur Steuerung des Zugriffs auf
bestimmte Prozessoreigenschaften.
-
Es
kann zweckmäßig sein,
die Fähigkeit
vorzusehen, daß der
Zugriff auf eine Eigenschaft eines Prozessors gesperrt oder auf
andere Weise verhindert werden kann. Ein Verfahren, das es einem
Nutzer zu ermöglicht,
eine Eigenschaft eines Prozessors zu sperren, ermöglicht es
einem Nutzer, eine Präferenz
einzustellen, ob die Eigenschaft bzw. das Merkmal des Prozessors
verfügbar
sein sollte, oder ob sie nicht verfügbar oder „sichtbar" sein sollte. Bei einer Implementierung
ist die Prozessoreigenschaft auf verfügbar bzw. „sichtbar" voreingestellt. Die Prozessoreigenschaft
ist lediglich dann gesperrt, wenn die Präferenzeinstellung des Nutzers
später
auf „nicht sichtbar" geändert wird.
In diesem Fall verhält
sich der Prozessor danach so, als ob die Eigenschaft des Prozessors
nicht existieren würde.
-
Einige
ansonsten nützliche
Prozessoreigenschaften können
in einer Weise mißbraucht
werden, daß dadurch
eine potentielle Besorgnis für
die Nutzer hervorgerufen werden kann. Diesen Besorgnissen kann in
adäquater
Weise nicht lediglich dadurch begegnet werden, daß für die Nutzer
die optionale Möglichkeit
eines Sperrens derartiger Prozessoreigenschaften bereitgestellt
wird, die standardmäßig freigegeben
sind. Daher besteht ein Bedarf an einer Fähigkeit zur Opt-in-Kontrolle
von Prozessormerkmalen.
-
Kurzbeschreibung
der Zeichnungen
-
Die
vorliegende Erfindung wird anhand eines Beispiels und ohne Beschränkung in
den Figuren der beigefügten
Zeichnungen veranschaulicht, in welchen gleiche Bezugszeichen gleiche
bzw. gleichartige Elemente bezeichnen.
-
1 ist
ein Blockdiagramm einer Vorrichtung zur Steuerung einer Prozessoreigenschaft
gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
2 ist
ein schematisches Diagramm einer detaillierten Implementierung einer
Vorrichtung zur Steuerung einer Prozessoreigenschaft gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
3 ist
ein Ablaufdiagramm, das die Handhabung von Opt-in-geeigneten Prozessoreigenschaften
gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt.
-
4 ist
ein Ablaufdiagramm, das eine Handhabung von Aktualisierungen von
Nutzereigenschafts-Steuerdaten gemäß einer Ausführungsform der
vorliegenden Erfindung zeigt.
-
5 zeigt
ein Blockdiagramm eines Computersystems gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
Detaillierte
Beschreibung
-
Ein
Verfahren, eine Vorrichtung und ein System für eine Opt-in-Steuerfähigkeit
einer Prozessoreigenschaft durch einen Nutzer werden beschrieben. In
der folgenden Beschreibung werden zur Erläuterung mehrere spezielle Einzelheiten
dargelegt, um ein vollständiges
Verständnis
der Erfindung sicherzustellen. Für
den Fachmann ist jedoch erkennbar, daß die Erfindung ohne diese
speziellen Einzelheiten ausgeführt
werden kann. Bei anderen Beispielen sind Strukturen und Vorrichtungen
in der Form eines Blockdiagramms gezeigt, um eine Verschleierung der
Erfindung zu verhindern.
-
Eine
Bezugnahme in der Beschreibung auf „eine einzige Ausführungsform" oder „eine Ausführungsform" bedeutet, daß ein bestimmtes
Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft,
die in Verbindung mit der Ausführungsform beschrieben
ist, zumindest von einer Ausführungsform
der Erfindung umfaßt
ist. Der an verschiedenen Stellen der Beschreibung vorkommende Ausdruck „in einer
einzigen Ausführungsform" bezieht sich notwendigerweise
nicht auf dieselbe Ausführungsform.
-
Prozessoren,
wie beispielsweise solche, die als die „Gehirne" von Computern, Mobiltelefonen und anderen
elektronischen Vorrichtungen verwendet werden, weisen viele Fähigkeiten
bzw. Eigenschaften auf. Die Befehlssätze derartiger Prozessoren
umfassen typischerweise Hunder te von verschiedenen Befehlen zur
Handhabung von Daten auf eine Vielzahl von Arten. Beispielweise
umfassen Computermikroprozessoren typischerweise logische Boolesche
Befehle, Fest- und Gleitkommaarithmetikbefehle, Einzelbefehl-Mehrfachdaten-
(SIMD)-Befehle, Move-Befehle, um Daten zwischen verschiedenen Orten
zu bewegen und Speicherbefehle, um Daten an verschiedenen Orten
zu speichern. Prozessoren können
eine Vielzahl anderer Eigenschaften oder Befehle umfassen, um beispielsweise
eine Leistungsverwendung zu steuern, weitere Informationen über den
Prozessor bereitzustellen und um zusätzliche Hardware-Sicherheitsfähigkeiten
bereitzustellen.
-
Der
Grad der Besorgnis, die Nutzer von Computern oder anderen elektronischen
Vorrichtungen bezüglich
der Verfügbarkeit
spezieller Prozessoreigenschaften haben können, kann zwischen „ohne Besorgnis" und „bedenkliche
Besorgnis" variieren. ADD-Befehle
eines Computerprozessors beispielsweise sind vermutlich für Nutzer
des Computers ohne Bedenken, während
durch den potentiellen Mißbrach einer
Sicherheitseigenschaft des Prozessors beträchtliche Bedenken eines Nutzers
hervorgerufen werden könnten.
Zusätzlich
können
bei einigen Nutzern beträchtliche
Bedenken bezüglich
des Zugriffs auf eine bestimmte Prozessoreigenschaft bestehen, während bei
anderen Nutzern keine Bedenken bezüglich derselben Eigenschaft
bestehen. Um derartigen Bedenken zu begegnen, können Prozessoren eine Fähigkeit
aufweisen, die Verfügbarkeit
bestimmter Prozessoreigenschaften durch den Nutzer zu steuern bzw.
zu kontrollieren, indem es den Nutzern ermöglicht wird, die Eigenschaften
zu aktivieren und zu sperren, oder die Verfügbarkeit bzw. Sichtbarkeit spezieller
Prozessoreigenschaften oder Befehle in anderer Weise zu kontrollieren.
-
Für eine Prozessoreigenschaft
oder einen Befehl, durch den potentiell bedenkliche Besorgnisse eines
Nutzers hervorgerufen werden, ist es von Bedeutung, Nutzern eine
Sicherungsfähigkeit
zur Verfügung
zu stellen, um die Verfügbarkeit
dieser Eigenschaft zu steuern. Gemäß einer Ausführungsform
der vorliegenden Erfindung kann dies durch Implementieren einer
Nutzereigenschaft-Steuerungsauswahl erreicht werden, die vom Prozessor
bewirkt wird, bevor die Eigenschaft freigegeben oder in anderer
Weise verfügbar
gemacht werden kann. Bei einer Ausführungsform kann diese Auswahl
gesperrt werden, so daß jede
Art von Änderung
daran verhindert wird, nachdem die Auswahl der Nutzereigenschaft
ausgeführt
ist (um entweder die Eigenschaft verfügbar zu machen oder nicht).
Bei einer Ausführungsform
kann die Möglichkeit
zur individuellen Steuerung mehrerer Prozessoreigenschaften durch
vom Nutzer wählbare Einstellungen,
durch von Software wählbare
Einstellungen oder eine Kombination dieser Einstellungen zur Verfügung gestellt
werden.
-
1 ist
ein Blockdiagramm einer Vorrichtung zur Steuerung einer Prozessoreigenschaft
gemäß einer
Ausführungsform
der vorliegenden Erfindung. Eine Prozessoreigenschaft-Steuerungseinheit 10 kann
eine Nutzereigenschaft-Steuereinheit 100 umfassen, die
eine Nutzereigenschaft-Steuereinstellung 112 bereitstellt.
Die Nutzereigenschaft-Steuereinstellung 112 kann in Reaktion
auf einen Reset 102-Zustand auf einen Ausgangswert initialisiert
werden. Danach kann die Nutzereigenschaft-Steuereinstellung 112 der
Nutzereigenschaft-Steuereinheit 100 in
Reaktion auf eine Bestätigung/Assertion
eines Nutzereigenschaft-Steuerschreib-Strobes 106 gemäß Nutzereigenschafts-Steuerwerten,
die auf einem Nutzereigenschafts-Steuereingang bzw. Nutzereigenschafts-Steuerungseingängen 104 bereitgestellt
werden, aktualisiert werden, sofern kein Sperrsignal 108 asserted
ist. Bei einer Ausführungsform können keine
Aktualisierungen oder Änderungen
an der Nutzereigenschaft-Steuereinstellung 112 vorgenommen
werden, wenn das Sperrsignal 108 aktiviert ist. Bei einer
Ausführungsform
kann die Nutzereigenschaft-Steuereinstellung 112 während des
Boot-Ups eines Computers mit Hilfe des BIOS (Basic Input Output
System) gemäß Nutzereigenschafts-Steuerauswahlen aktualisiert
werden. Bei einer Ausführungsform
kann der Reset 102 nur während des System-Power-Ups
auftreten, um Änderungen
an der Nutzereigenschaft-Steuereinstellung 112 zu
vermeiden, nachdem sie aktualisiert wurde.
-
Weiterhin
mit Bezugnahme auf 1 kann eine Eigenschaftssperreinheit 110 das
Sperrsignal 108 liefern. Bei einer Ausführungsform kann das Sperrsignal 108 in
Reaktion auf eine Bestätigung/Assertion
eines Reset-Signals 102 auf einen de-asserted oder inaktiven
Zustand initialisiert werden. Wenn das Sperrsignal 108 de-asserted
ist, kann es zulassen, daß die
Nutzereigenschaft-Steuereinstellung 112 der Nutzereigenschaft-Steuerungseinheit 100 in Reaktion
auf eine Assertion des Nutzereigenschaft-Steuerschreib-Strobes 106 aktualisiert
wird. Wenn der Nutzereigenschaft-Steuerschreib-Strobe 106 asserted
ist, kann die Eigenschaftssperreinheit 110 zulassen, daß das Sperrsignal 108 in
seinen asserted bzw. aktiven Zustand geschrieben oder eingestellt
wird oder daß der
Zustand des Sperrsignals 108 auf andere Weise in seinen
asserted oder aktiven Zustand geändert
wird und daß es
in diesem Zustand gesperrt bzw. verriegelt wird, um eine nachfolgende Änderung
an der Nutzereigenschaft-Steuereinstellung 112 oder am
Sperrsignal 108 zu verhindern. Auf diese Weise ist es möglich, nur
eine Aktualisie rung der Nutzereigenschaft-Steuereinstellung 112 zuzulassen,
bevor nachfolgende Änderungen
durch die Assertion des Sperrsignals 108 ausgeschlossen
werden.
-
Wie
weiterhin in 1 gezeigt ist, kann die Eigenschaftssperreinheit 110 auch
ein Eigenschaftsdeaktivierungssignal 114 liefern, das,
wenn es aktiviert ist, eine End-Eigenschaft-Steuereinheit 130 dazu veranlassen
kann, alle von der Prozessoreigenschaft-Steuereinheit 10 gesteuerten
Prozessoreigenschaften zu deaktivieren oder auf andere Weise nicht zugänglich oder „nicht
sichtbar" zu machen.
In Reaktion auf eine Assertion des Reset-Signals 102 kann das
Eigenschaftsdeaktivierungssignal 114 in seinen asserted
oder aktiven Zustand initialisiert werden, um Prozessoreigenschaften
zu deaktivieren bzw. zu unterdrücken,
wie zuvor beschrieben wurde. Darauffolgend kann, wenn die Nutzereigenschaft-Steuereinstellung 112 in
Reaktion auf den Nutzereigenschafts-Steuereingang 104 bzw.
Nutzereigenschafts-Steuereingänge 104 und
den Nutzereigenschaft-Steuerschreib-Strobe 106 aktualisiert
ist, das Eigenschaftsdeaktivierungssignal 114 in seinen de-asserted
oder inaktiven Zustand geändert
werden. Wenn das Eigenschaftsdeaktivierungssignal 114 de-asserted
ist, kann zugelassen werden, daß die
Nutzereigenschaft-Steuereinstellung 112 Einfluß darauf
hat, welche Prozessoreigenschaften von der End-Eigenschaft-Steuereinheit 130 aktiviert
oder deaktiviert werden. Bei einer Ausführungsform kann die End-Eigenschaft-Steuereinheit 130,
wenn das Eigenschaftsdeaktivierungssignal 114 de-asserted
ist, Prozessoreigenschaften lediglich in Übereinstimmung mit der Nutzereigenschaft-Steuereinstellung 112 aktivieren
oder deaktivieren. Bei einer Ausführungsform kann die End-Eigenschaft-Steuereinheit 130,
wenn das Eigenschaftsdeaktivierungssignal 114 de-asserted
ist, Prozessoreigenschaften basierend auf der entsprechenden Nutzereigenschaft-Steuereinstellung 112 und
einer entsprechenden Software-Eigenschaft-Auswahleinstellung 122 aktivieren oder
deaktivieren, wie im folgenden in weiteren Einzelheiten erläutert wird.
-
Zusätzlich zu
den Nutzereigenschafts-Steuerungen kann es vorteilhaft sein, eine
Befähigung von
Software (wie beispielsweise Betriebssystemsoftware oder Anwendungssoftware)
bereitzustellen, eine Auswahl von Prozessoreigenschaften zu treffen. Beispielsweise
kann die Betriebssystemsoftware des Computers entscheiden, Energie
dadurch zu sparen, indem angefordert wird, daß ein Prozessor seine Fließkommaeinheit
abstellt, da zur Zeit keine auf dem Computersystem laufende Software
Gebrauch von den Fließkommabefehlen
des Prozessors macht. Somit kann die Prozessoreigenschaft-Steuereinheit 10 aus 1 bei
bestimmten Ausführungsformen
auch eine Software-Eigenschaft-Auswahleinheit 120 umfassen,
um eine Be fähigung
von Software zur Beeinflussung der finalen Prozessoreigenschafts-Steuerungen
bereitzustellen. Eine Auswahl von Eigenschaften durch Software (z.B.
Betriebssystem- und Anwendungssoftware) kann auf dem Software-Eigenschaft-Auswahleingang
bzw. den Software-Eigenschaft-Auswahleingängen 116 zur Software-Eigenschaft-Auswahleinheit 120 zugeführt werden.
Die Software-Eigenschaft-Auswahleinstellung 122 der Software-Eigenschaft-Auswahleinheit 120 kann
entsprechend dem Software-Eigenschaft-Auswahleingang bzw. den Software-Eigenschaft-Auswahleingängen 116 in
Reaktion auf eine Assertion eines Software-Eigenschaft-Auswahlschreib-Strobes 118 aktualisiert
werden. Wie die Software-Eigenschaft-Auswahleinstellung 122 zur
Erzeugung der finalen Prozessoreigenschafts-Steuerungen verwendet
werden kann, wird im folgenden in Verbindung mit der in 1 gezeigten
End-Eigenschaft-Steuereinheit 130 erläutert.
-
Wie
weiterhin in 1 gezeigt ist, kann die End-Eigenschaft-Steuereinheit 130 eines
oder mehrere End-Eigenschaft-Steuersignale 132 liefern,
deren Zustände
auf dem Eigenschaftsdeaktivierungssignal 114, der Nutzereigenschaft-Steuereinstellung 112 und
der Software-Eigenschaft-Auswahleinstellung 122 basieren
können.
Die End-Eigenschaft-Steuersignale 132 können die endgültigen Aktivierungs-
oder Deaktivierungssteuerungen für
die von der Prozessoreigenschaft-Steuereinheit 10 gesteuerten
Prozessoreigenschaften liefern. Bei einer Ausführungsform kann die End-Eigenschaft-Steuereinheit 130 alle
von ihr gesteuerten Prozessoreigenschaften deaktivieren, wenn das
Eigenschaftsdeaktivierungssignal 114 asserted bzw. aktiv
ist (wodurch angegeben wird, daß die
Nutzereigenschaft-Steuereinstellung 112 nicht aktualisiert
oder eingestellt wurde). In einer Ausführungsform kann die End-Eigenschaft-Steuereinheit 130 Prozessoreigenschaften gemäß ihren
entsprechenden Einstellungen in der Nutzereigenschaft-Steuereinstellung 112 aktivieren oder
deaktivieren. Bei einer Ausführungsform
kann die End-Eigenschaft-Steuereinheit 130 Prozessoreigenschaften
gemäß ihren
entsprechenden Einstellungen in der Software-Eigenschaft-Auswahleinstellung 122 aktivieren
oder deaktivieren. Bei einer Ausführungsform kann die End-Eigenschaft-Steuereinheit 130,
falls das Eigenschaftsdeaktivierungssignal 114 de-asserted
oder inaktiv ist, Prozessoreigenschaften aktivieren, für die die
entsprechenden Einstellungen in der Nutzereigenschaft-Steuereinstellung 112 und
in der Software-Eigenschaft-Auswahleinstellung 122 beide
anzeigen, daß die
Eigenschaft aktiviert werden sollte, während ansonsten die entsprechende
Eigenschaft deaktiviert werden kann.
-
Weiterhin
mit Bezugnahme auf 1 kann die Prozessoreigenschaft-Steuereinheit 10 auch
für eine
Detektion und Handhabung von Fehlerzuständen sorgen. Eine Unzulässige-Eigenschaft-Auswahldetektionseinheit 140 kann
verschiedene unzulässige
Prozessoreigenschafts-Auswahlzustände von Prozessoreigenschaften
detektieren und anzeigen durch Assertion eines oder mehrerer unzulässiger Eigenschaft-Auswahl-Fehlersignale 142.
Bei einer Ausführungsform
kann die Unzulässige-Eigenschaft-Auswahldetektionseinheit 140 einen
Fehlerzustand anzeigen, wenn die Nutzereigenschaft-Steuereinheit 100 versucht,
eine Prozessoreigenschaft zu aktivieren, bevor die Nutzereigenschaft-Steuereinheit 112 und/oder
das Sperrsignal 108 aktualisiert oder gesetzt wurde(n).
Bei einer Ausführungsform kann
die Unzulässige-Eigenschaft-Auswahldetektionseinheit 140 einen
Fehlerzustand anzeigen, wenn die Software-Eigenschaft-Auswahleinheit 120 versucht,
eine Prozessoreigenschaft zu aktivieren, bevor die Nutzereigenschaft-Steuereinstellung 112 und/oder
das Sperrsignal 108 aktualisiert oder gesetzt wurde(n).
Bei einer Ausführungsform
kann die Unzulässige-Eigenschaft-Auswahldetektionseinheit 140 einen
Fehlerzustand anzeigen, wenn die Software-Eigenschaft-Auswahleinheit 120 versucht,
eine Prozessoreigenschaft zu aktivieren, die nicht von einem Nutzer
durch die Nutzereigenschaft-Steuereinstellung 112 der Nutzereigenschaft-Steuereinheit 100 aktiviert
wurde. Das Unzulässige-Eigenschaft-Auswahlfehlersignal 142 kann
derartige Fehlerzustände
kommunizieren, um das Ergreifen entsprechender Fehlerbehandlungsschritte
durch den Prozessor oder andere Vorrichtungen des Systems zu ermöglichen.
-
Wie
des weiteren in 1 gezeigt ist, kann eine Unzulässige-UFCU-Schreibdetektionseinheit 150 das
Unzulässiges-Schreiben-zur
UFCU-Signal 152 asserten, wenn sie einen Versuch, die Nutzereigenschaft-Steuereinstellung 112 zu ändern, erfaßt, nachdem
sie bereits aktualisiert oder eingesellt wurde. Ein derartiger unzulässiger Schreibvorgang
kann erfaßt
werden, wenn sowohl das Sperrsignal 108 als auch der Nutzereigenschafts-Steuerungsschreib-Strobe 106 aktiviert
sind. Das Unzulässiges-Schreiben-zur-UFCU-Signal 152 kann
einen unzulässigen
Versuch, die Nutzereigenschaft-Steuereinstellung 112 zu ändern, kommunizieren,
so daß der
Prozessor oder andere Vorrichtungen des Systems entsprechend reagieren
können.
Beispielsweise könnte
ein derartiger unzulässiger
Schreibzustand anzeigen, daß ein
Virus oder eine andere nicht autorisierte Vorrichtung des Systems
versucht, die Nutzereigenschaft-Steuereinstellung 112 zu
bösartigen Zwecken
zu überschreiben.
-
Die
Ausführungsform
aus 1 kann eine Kontrolle über eine einzelne Prozessoreigenschaft oder
eine Kontrolle über
mehrere individuelle Prozessoreigenschaften einer ganzen Zahl „n" gewährleisten.
Dies wird durch „n
= Anzahl der Eigenschaftssteuerparameter" und die verschiedenen Signalwege oder
Variablen der Breite „n", die in 1 gezeigt sind,
angegeben.
-
Im
folgenden wird auf 2 Bezug genommen. Dort ist ein
schematisches Diagramm einer detaillierten Implementierung einer
Prozessoreigenschaft-Steuervorrichtung gemäß einer Ausführungsform
der vorliegenden Erfindung gezeigt. In einem Nutzereigenschaft-Steuerregister 200 können eine Nutzeraktivierungsmaske 212 und
ein Sperrbit 208 gespeichert sein. Bei dieser Ausführungsform
können
alle Bits in der Nutzeraktivierungsmaske 212 und das Sperrbit 208 in
Reaktion auf eine logische Null im Power-Ok-Signal 202 während eines
Einschaltens der Prozessoreigenschaft-Steuereinheit 10 auf
logische Nullwerte initialisiert werden. Nach dem Einschalten (Power-Up)
kann das Nutzereigenschaft-Steuerregister 200 (einschließlich der
Nutzerfreigabemaske 212 und des Sperrbits 208)
in der folgenden Weise aktualisiert werden. Der Prozessor liefert
Nutzereigenschaft-Steuerauswahlen auf den Nutzereigenschafts-Steuereingängen 204 und
einen logischen Eins-Wert am Eingang zum Sperrbit 208 und
schreibt diese Werte in das Nutzereigenschafts-Steuerregister 200 durch
Assertion bzw. Aktivieren eines Nutzereigenschaft-Steuerschreib-Strobes 206.
Der logische Eins-Wert für
das Sperrbit 208 bewirkt, daß der Inverter 213 einen
logischen Nullwert am Eingang 217 des UND-Gatters 215 ansteuert,
was verhindert, daß der
Nutzereigenschaft-Steuerschreib-Strobe 206 weitere Änderungen
des Zustands des Nutzereigenschafts-Steuerregisters 200 bewirkt,
einschließlich
von Änderungen
am Sperrbit 208. Auf diese Weise sind das Nutzereigenschafts-Steuerregister 200 und
das Sperrbit 208 gesperrt, um ungeeignete Änderungen
an den Nutzereigenschaft-Steuereinstellungen der Nutzerfreigabemaske 212 zu
verhindern.
-
Wie
des weiteren in 2 gezeigt ist, kann von einem
Software-Eigenschaft-Auswahlregister 220 eine Softwareaktivierungsmaske 222 bereitgestellt
werden, die Softwareauswahlen bezüglich eines Aktivierens oder
Deaktivierens bestimmter Prozessoreigenschaften wiedergibt. Die
Softwareaktivierungsmaske 222 kann vom Prozessor in Reaktion
auf Software, die auf einem Computersystem abläuft, aktualisiert werden. Beispielsweise
könnten
bei einer Ausführungsform
Betriebssystemsoftware und Anwendungssoftware Prozessorbefehle ausführen, um die
Softwareaktivierungsmaske 222 zu aktualisieren, um bestimmte
Prozessoreigenschaften zu aktivieren oder zu deaktivieren. In der
Reaktion auf derartige Befehle kann der Prozessor die Softwareaktivierungsmaske 222 des
Software-Eigenschaft-Auswahlregisters 220 akti vieren durch
Bereitstellen der gewünschten
Aktivierungs- oder Deaktivierungswerte für eine Eigenschaft an den Software-Eigenschaft-Auswahleingängen 216 und
durch Aktivieren eines Software-Eigenschaft-Auswahlschreib-Strobes 218.
-
Weiterhin
mit Bezugnahme auf 2 kann bzw. können vom
UND-Gatter 230 ein End-Eigenschaft-Steuersignal
bzw. End-Eigenschaft-Steuersignale 232 in der folgenden
Weise erzeugt werden. Falls das Sperrbit 208 Null ist,
sind alle End-Eigenschaft-Steuersignale 232 Null, so daß alle von
der Prozessoreigenschaft-Steuereinheit 10 gesteuerten Prozessoreigenschaften
deaktiviert werden. Falls das Sperrbit 208 eins ist und
die entsprechenden Werte sowohl der Nutzeraktivierungsmaske 212 als auch
der Softwareaktivierungsmaske 222 eins sind, wird das entsprechende
End-Eigenschaft-Steuersignal 232 auf einen logischen Eins-Wert gesteuert, um die
entsprechende Prozessoreigenschaft zu aktivieren. Falls entweder
der entsprechende Nutzeraktivierungsmaske 212-Wert oder
der entsprechende Softwareaktivierungsmaske 222-Wert Null
ist, wird das End-Eigenschaft-Steuersignal 232 auf einen
logischen Nullwert gesteuert, um das entsprechende Prozessormerkmal
zu deaktivieren.
-
Bei
der Ausführungsform
aus 2 kann das Unzulässige-Eigenschaft-Auswahl-Fehlersignal 242 durch
die Kombination des ODER-Gatters 243, des UND-Gatters 241 und
der Inverter 245 und 213 in der folgenden Weise
erzeugt werden, um verschiedene unzulässige Eigenschaftsauswahlbedingungen anzuzeigen.
Falls Software versucht, eine Eigenschaft zu aktivieren, die nicht
nutzeraktiviert ist, wird ein Fehlersignal erzeugt, da der entsprechende
Wert der Nutzeraktivierungsmaske 212 Null ist (Nutzer-deaktiviert),
was bewirkt, daß der
Inverter 245 eine Eins an seinem Eingang zum UND-Gatter 241 steuert.
Da der entsprechende Wert der Softwareaktivierungsmaske 222 Eins
ist (Software aktiviert), steuert das UND-Gatter 241 eine
Eins an seinem Ausgang, was bewirkt, daß das ODER-Gatter 243 eine
Eins auf dem Unzulässige-Eigenschaft-Auswahl-Fehlersignal 242 steuert.
Eine weitere unzulässige
Bedingung kann erfaßt
werden, wenn Software versucht, ein Merkmal zu verwenden, bevor
die Nutzeraktivierungsmaske 212 festgelegt, aktualisiert oder
eingestellt wurde. Bei einer Ausführungsform kann ein Null-Wert
für das
Sperrbit 208 (mit der Bedeutung, daß die Nutzeraktivierungsmaske 212 nicht festgelegt,
aktualisiert oder eingestellt wurde) bewirken, daß der Inverter 213 einen
Eins-Wert am Eingang 217 zum ODER-Gatter 243 steuert,
wodurch das ODER-Gatter 243 dazu
veranlaßt
werden kann, einen Eins-Wert auf allen Unzulässige-Eigenschaft-Auswahl-Fehlersignalen 242 zu
steuern. Auf diese Weise kann Software eine Unzulässige-Eigenschaft-Auswahl-Fehlerangabe
erhalten, wenn sie versucht, eine beliebige Nutzer gesteuerte Eigenschaft
zu aktivieren, bevor die Nutzereigenschaft-Steuereinstellungen festgelegt,
aktiviert oder eingestellt wurden. Das Unzulässige-Eigenschaft-Auswahl-Fehlersignal
bzw. die Unzulässige-Eigenschaft-Auswahl-Fehlersignale 242 können derartige
Fehlerzustände übermitteln,
damit die Software, der Prozessor oder andere Vorrichtungen des Systems
geeignete Fehlerbehandlungsschritte vornehmen können.
-
Weiterhin
mit Bezugnahme auf 2 kann ein Unzulässiges-Schreiben-ins-UFCR-Fehlersignal 252 vom
UND-Gatter 250 erzeugt werden, wenn das Sperrbit Eins ist
und der Nutzereigenschaft-Steuerschreib-Strobe 206 auf
Eins asserted ist. Dies kann auftreten, wenn ein Versuch unternommen
wird, das Sperrbit 208 und/oder die Nutzeraktivierungsmaske 212 zu ändern, nachdem
das Nutzereigenschafts-Steuerregister 200 (einschließlich der
Nutzeraktivierungsmaske 212 und des Sperrbits 208) bereits
geschrieben und gesperrt wurde. Das Unzulässiges-Schreiben-ins-UFCR-Fehlersignal 252 kann einen
unzulässigen
Versuch, das gesamte oder einen Teil des Nutzereigenschaft-Steuerregisters 200 zu ändern (einschließlich der
Nutzeraktivierungsmaske 212 und des Sperrbits 208)
kommunizieren, so daß der
Prozessor oder andere Vorrichtungen im System entsprechend reagieren
können.
Beispielsweise könnte
ein derartiger unzulässiger
Schreibzustand einen Virus anzeigen, oder daß eine andere nicht autorisierte
Vorrichtung des Systems versucht, die Nutzereigenschaft-Steuereinstellung
und das Sperrbit für
bösartige
Zwecke zu überschreiben.
-
Die
Ausführungsform
aus 2 kann eine Steuerung einer einzelnen Prozessoreigenschaft oder
eine Steuerung mehrerer individueller Prozessoreigenschaften einer
ganzen Zahl „n" gewähren. Dies
wird durch „n
= Anzahl der Eigenschaftsteuerparameter" und die verschiedenen Signalwege oder
Variablen mit Breite „n", die in 2 gezeigt
sind, angegeben.
-
Mit
Bezugnahme auf 3 ist ein Ablaufdiagramm gezeigt,
das die Handhabung von Opt-In-qualifizierten
Prozessoreigenschaften gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt. Ein Prozessor empfängt eine
Anforderung für einen
Gebrauch einer Opt-In-qualifizierten
Prozessoreigenschaft, wobei es sich um eine Eigenschaft handelt,
die erfordert, daß Nutzer-wählbare Eigenschaftssteuerpräferenzen
festgelegt, aktualisiert oder eingestellt werden, bevor irgendeine Opt-In-qualifizierte
Eigenschaft aktiviert werden kann (Block 300). Die Eigenschaftsanfrage
könnte
von Software, einer Hardwarevorrichtung oder von anderen Vorrichtungen
stammen, die die angeforderte Prozessoreigenschaft verwenden oder
darauf zugreifen möchten.
Der Prozessor bestimmt, ob die Nutzereigenschaft-Steuerpräferenzen festgelegt,
aktualisiert oder eingestellt wurden (Raute 302). Dies
kann durch Prüfen
des Status eines Sperrsignals oder Sperrbits oder durch einen anderen
Mechanismus erfolgen. Falls die Nutzer-Eigenschaft-Steuerpräferenzen
nicht festgelegt, aktualisiert oder eingestellt wurden (Raute 302),
kann der Gebrauch der angeforderten Eigenschaft deaktiviert sein
(Block 310) und es kann ein Fehlerzustand signalisiert
werden (Block 312), so daß der Prozessor dem Anforderer
in geeigneter Weise antworten kann. Falls die Nutzer-Eigenschaft-Steuerpräferenzen
festgelegt, aktualisiert oder eingestellt wurden (Raute 302),
kann der Prozessor bestimmen, ob die angeforderte Eigenschaft von
der Nutzereigenschaft-Steuereinstellung entsprechend der angeforderten
Eigenschaft aktiviert ist (Raute 304). Falls dies nicht
der Fall ist, wird die Eigenschaftsdeaktivierung und Fehlerzustandssignalisierung
und -handhabung der Blöcke 310 und 312 durchgeführt. Falls
die angeforderte Eigenschaft nutzeraktiviert ist (Raute 304),
kann der Prozessor bestimmen, ob die angeforderte Eigenschaft entsprechend
der angeforderten Eigenschaft durch die Software-Eigenschaft-Auswahleinstellung
aktiviert ist (Raute 306). Falls dies nicht der Fall ist,
werden die Eigenschaftsdeaktivierung und Fehlerzustandssignalisierung
und -handhabung der Blöcke 310 und 312 ausgeführt. Falls
die angeforderte Eigenschaft softwareaktiviert ist (Raute 306),
kann der Prozessor einen Gebrauch der Opt-In-qualifizierten Prozessoreigenschaft
aktivieren (Block 308) und der Prozessor kann einen Gebrauch
der angeforderten Eigenschaft ausführen oder zulassen.
-
Mit
Bezug auf 4 ist ein Ablaufdiagramm gezeigt,
daß eine
Handhabung von Aktualisierungen der Nutzereigenschafts-Steuerdaten
gemäß einer Ausführungsform
der vorliegenden Erfindung zeigt. Wenn ein Versuch unternommen wird,
ein Nutzereigenschafts-Steuerregister oder -datum zu beschreiben,
zu ändern
oder in anderer Weise zu aktualisieren (Block 400), bestimmt
der Prozessor, ob das Nutzereigenschafts-Steuerregister oder -daten
gesperrt sind (Raute 402). Bei einer Ausführungsform
kann der Sperrzustand durch ein Sperrsignal oder Sperrbit angezeigt
werden. Bei einer Ausführungsform
kann der Sperrzustand durch den Wert einer Softwarevariable angezeigt
werden. Falls das Nutzereigenschafts-Steuerregister oder – daten
gesperrt sind (Raute 402), kann der Versuch, das Nutzereigenschafts-Steuerregister
oder -daten zu beschreiben, zu ändern
oder in anderer Weise zu aktualisieren, abgebrochen oder verhindert
werden (Block 406) und ein unzulässiger Schreibzustand kann
für eine
geeignete Handhabung durch den Prozessor oder eine andere Vorrichtung
des Systems angezeigt werden (Block 408). Falls das Nutzereigenschafts-Steuerregister
oder -daten nicht gesperrt sind (Raute 402) (was gemäß einer
Ausführungsform
anzeigt, daß die Nutzer-Eigenschaft- Steuerpräferenzen
noch nicht eingestellt wurden), kann das NutzereigenschaftsSteuerregister
oder die Einstellung aktualisiert oder entsprechend eingestellt
werden (Block 404).
-
Ausführungsformen
können
in Logikschaltungen, Statemachines, Mikrocode oder einer Kombination
daraus realisiert sein. Ausführungsformen können in
Code implementiert sein oder können
auf einem Speichermedium gespeichert sein, auf dem Befehle gespeichert
sind, die verwendet werden können,
um ein Computersystem zu programmieren, um die Befehle auszuführen. Das
Speichermedium kann jede Art einer Platte, einschließlich von
Floppy-Disks, optischen
Platten, Kompaktdisk-Lese-Nur-Speichern (CD-ROMs), wiederbeschreibbaren
Kompaktdisks (CD-RWs) und magnetooptischen Platten, Halbleitervorrichtungen,
wie beispielsweise Lese-Nur-Speichern (ROMs), Schreib-Lese-Speichern
(RAMs), dynamischen Schreib-Lese-Speichern (DRAMs), löschbaren
programmierbaren Lese-Nur-Speichern (EPROMs), Flash-Speichern, elektrisch
löschbaren programmierbare
Lese-Nur-Speichern (EEPROMs), magnetischen oder optischen Karten,
Netzspeichervorrichtungen oder jeder Art von zur Speicherung elektronischer
Befehle geeigneten Medien umfassen, ist jedoch darauf nicht beschränkt.
-
Beispielhafte
Ausführungsformen
können
als Software zur Ausführung
durch ein geeignetes Computersystem realisiert sein, das mit einer
geeigneten Kombination von Hardwarevorrichtungen aufgebaut ist. 5 ist
ein Blockdiagramm eines Computersystems 520, bei dem Ausführungsformen
der Erfindung verwendet werden können.
-
Es
wird auf 5 Bezug genommen. Dort ist ein
Blockdiagramm eines Computersystems gemäß einer Ausführungsform
der Erfindung gezeigt. Um die potentiellen Besorgnisse von Nutzern
bezüglich
Prozessoreigenschaften anzusprechen, umfaßt das Computersystem 520 einen
Prozessor 500 mit einer Prozessoreigenschaft-Steuereinheit 10,
um eine Opt-In-Steuerfähigkeit
einer Prozessoreigenschaft durch einen Nutzer für bestimmte Prozessoreigenschaften
bereitzustellen. Der Prozessor 500 führt im Systemspeicher 502 gespeicherte
Befehle aus, wovon einige den Gebrauch von Nutzer-Opt-In-qualifizierten
Eigenschaften oder -befehlen des Prozessors 500 umfassen
können.
Die Prozessoreigenschaft-Steuereinheit 10 kann den Gebrauch
derartiger qualifizierter Prozessoreigenschaften lediglich dann
aktivieren, wenn bestimmte Bedingungen erfüllt sind. Bei einer Ausführungsform
kann die Prozessoreigenschaft-Steuereinheit 10 alle Prozessoreigenschaften
deaktivieren, die von ihr gesteuert werden, wenn die Nutzer-Eigenschaft-Steuerpräferenz-Einstellungen
nicht festgelegt, aktuali siert oder eingestellt wurden. Bei einer
Ausführungsform
kann die Prozessoreigenschaft-Steuereinheit 10 Prozessoreigenschaften
gemäß ihren
entsprechenden Nutzer-Eigenschaft-Steuerpräferenz-Einstellungen aktivieren
oder deaktivieren, nachdem sie festgelegt, aktualisiert oder eingestellt
wurden. Bei einer Ausführungsform
kann die Prozessoreigenschaft-Steuereinheit 10 Prozessoreigenschaften
gemäß ihren
entsprechenden durch eine Eigenschaftsauswahl durch Software bestimmten
Einstellungen aktivieren oder deaktivieren. Bei einer Ausführungsform
kann die Prozessoreigenschaft-Steuereinheit 10 Prozessoreigenschaften
aktivieren, für
die sowohl die entsprechende Nutzer-Eigenschaft-Steuerpräferenz-Einstellung als auch
die Software-Eigenschaft-Auswahl-Einstellung anzeigt, daß das Merkmal
aktiviert werden sollte, während
ansonsten das entsprechende Merkmal deaktiviert sein kann.
-
Wie
weiterhin in 5 gezeigt ist, kann das Computersystem 520 eine
Tastatur 524 und eine Maus 526 umfassen, womit
ein Nutzer Nutzereigenschafts-Steuerauswahlen treffen kann. Dem
Fachmann sind viele Arten bekannt, wie einem Nutzer derartige Präferenzauswahlen
ermöglicht
werden können.
Bei einer Ausführungsform
kann der Nutzer Nutzer-Eigenschaft-Steuer-Auswahlen über das Basic Input-Output-System
(BIOS) 506 des Computers vornehmen und die Nutzerauswahlen
können
in einem nicht flüchtigen
Speicher 508 für
einen nachfolgenden Gebrauch durch die Prozessoreigenschaft-Steuereinheit 10 gespeichert
werden. Bei einer Ausführungsform
kann es sich bei dem nicht flüchtigen
Speicher 508 um jeden beliebigen Speicher handeln, in dem
Daten ohne eine elektrische Stromversorgung des Systems gespeichert
bleiben. Beispielsweise erfordern löschbare programmierbare Lese-Nur-Speicher
(EPROMs), Flashspeicher, elektrisch löschbare programmierbare Lese-Nur-Speicher
(EEPROMs), magnetische und optische Speicher keine elektrische Stromversorgung,
um Daten gespeichert zu halten. Zusätzlich könnte in dynamischen oder statischen Schreib-Lese-Speichern (DRAMs
oder SRAMs) eine Batterie verwendet werden, damit die Daten gespeichert
bleiben, wenn die Stromversorgung des Systems unterbrochen ist.
Bei einer Ausführungsform können die
Nutzer-Eigenschaft-Steuerpräferenz-Auswahlen,
die im nicht flüchtigen
Speicher 508 gespeichert sind, dazu verwendet werden, den
Zustand einer Nutzereigenschaft-Steuereinstellung in der Prozessoreigenschaft-Steuereinheit 10 während des
Boot-Ups bzw. Urladen des Computersystems 520 zu aktualisieren.
Bei einer Ausführungsform kann
die Nutzereigenschaft-Steuereinstellung in Verbindung mit einer
derartigen Aktualisierung von der Prozessoreigenschaft-Steuereinheit 10 gesperrt
werden, um ungeeignete Änderungen nach
einem Boot-Up der Betriebssystemsoftware oder von Anwendungssoftware
zu verhindern.
-
Es
wurde ein Verfahren, eine Vorrichtung und ein System für eine Fähigkeit
zu einer Opt-In-Steuerung
einer Prozessoreigenschaft durch einen Nutzer beschrieben. Während die
vorliegende Erfindung mit Bezug auf eine beschränkte Anzahl von Ausführungsformen
beschrieben wurde, sind für den
Vorteile aus der Offenbarung ziehenden Fachmann verschiedene Modifizierungen
und Abwandlungen daran erkennbar. Es wird beabsichtigt, daß die beigefügten Ansprüche alle
derartigen Modifizierungen und Abwandlungen als in die wahre Idee
und in den Umfang dieser vorliegenden Erfindung fallend abdecken.