DE69532596T2 - Verfahren zur Steuerung der Stromversorgung in einer Mehrprozessbetriebsumgebung - Google Patents

Verfahren zur Steuerung der Stromversorgung in einer Mehrprozessbetriebsumgebung Download PDF

Info

Publication number
DE69532596T2
DE69532596T2 DE69532596T DE69532596T DE69532596T2 DE 69532596 T2 DE69532596 T2 DE 69532596T2 DE 69532596 T DE69532596 T DE 69532596T DE 69532596 T DE69532596 T DE 69532596T DE 69532596 T2 DE69532596 T2 DE 69532596T2
Authority
DE
Germany
Prior art keywords
time
energy
processes
mode
priority
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.)
Expired - Lifetime
Application number
DE69532596T
Other languages
English (en)
Other versions
DE69532596D1 (de
Inventor
Shinichi Sunakawa
Kazutoshi Shimada
Eisaku Tatsumi
Shigeki Mori
Kazuhiro Matsubayashi
Takashi Harada
Katsuhiko Nagasaki
Ryoji Fukuda
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.)
Canon Inc
Original Assignee
Canon Inc
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
Priority claimed from JP09518694A external-priority patent/JP3224473B2/ja
Priority claimed from JP06136953A external-priority patent/JP3093928B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Publication of DE69532596D1 publication Critical patent/DE69532596D1/de
Application granted granted Critical
Publication of DE69532596T2 publication Critical patent/DE69532596T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • 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
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf ein Informationsverarbeitungsgerät, das zeitgeteilt eine Vielzahl von Anwendungen oder Prozessen schalten und ausführen kann und ein Verarbeitungsverfahren des Geräts.
  • Manche elektronischen Geräte, die Mikrocomputer oder dergleichen verkörpern, haben eine sogenannte Abschaltfunktion, die eine Stromversorgung abschaltet oder das Gerät in einem Strommodus mit geringem Verbrauch betreibt, wenn auf einen Speicher, eine Displayvorrichtung oder dergleichen für eine vorbestimmte Zeit kein Zugriff erfolgt.
  • Da die herkömmliche Abschaltfunktion in einen Abschaltmodus eintritt, unabhängig von einer gerade ausgeführten Anwendung, wenn für eine vorbestimmte Zeitdauer kein Zugriff erfolgt, tritt auch eine Vorrichtung, die für die gegenwärtig ausgeführte Anwendung nicht notwendig ist, nur nach dem Vergehen der vorbestimmten Zeitdauer in den Abschaltmodus ein. Deshalb wird der verbrauchte Strom und die vor dem Beginn des Abschaltmodus erforderliche Verzögerungszeit verschwendet.
  • Wie nachstehend unter Bezug auf 19 beschrieben, erfordern einige Vorrichtungen beim Übergang zu einem Niedrigenergiemodus oder beim Übergang von einem Niedrigernergiemodus zu einem Hochenergiemodus mehr Energie als in einem normalen Modus. Dabei ist, wenn eine gegebene Vorrichtung nach Vergehen einer vorbestimmten Zeitdauer nach dem letzen Zugriff in den Niedrigenergiemodus eintritt und unmittelbar nach dessen Beginn durch einen Zugriff den Hochenergiemodus erfordert, die Verbrauchsenergie, erforderlich, um die Vorrichtung während dieses Zeitabschnitts im Hochernergiemodus zu halten, geringer als die für das Schalten der Vorrichtung zwischen den beiden Energiemodi erforderliche.
  • Herkömmlicherweise sind Informationsverarbeitungsgeräte, die Mehrprozessverarbeitung ausführen können bekannt. Jedes dieser Informationsverarbeitungsgeräte kann sichtlich eine Vielzahl von parallelen Verarbeitungsvorgängen ausführen, durch Ausführen der Mehrprozessverarbeitung zum zeitgeteilten Ausführen einer Vielzahl von Verarbeitungsvorgängen. Mit dieser Verarbeitung kann ein einzelner Benutzer gleichzeitig eine Vielzahl von Anwendungen ausführen. Wird eine Vielzahl von Terminals zu einem solchen Informationsverarbeitungsgerät verbunden, kann eine Vielzahl von Benutzern gleichzeitig das Informationsverarbeitungsgerät nutzen.
  • Ein Betriebssystem (OS), das die vorstehende erwähnte Mehrprozessverarbeitung ausführt, beinhaltet eine Scheduler genannte Verarbeitungseinheit (Steuerprogramm). Der Scheduler bestimmt, dass ein Prozess ausgeführt werden soll, wenn eine Vielzahl von Prozessen ausführbar ist. Nicht zugeteilte Prozesse werden der Reihe nach eingeordnet und nicht vor der nächsten Zuteilungszeit verarbeitet. Ein solches Schedulingverfahren beinhaltet Reigenmodellscheduling, Prioritätsscheduling und dergleichen.
  • Beim Reigenmodellscheduling werden der Reihe nach eingeordnete Prozesse in Form einer First-In-First-Out (FIFO) Liste verwaltet und in der Reihenfolge der Liste ausgeführt. Bei diesem Verfahren wird ein Prozess, dessen Zuordnungszeit zu einer CPU vorbei ist, an das Ende der Liste gestellt.
  • Beim Prioritätsscheduling wird nachstehendes Verfahren verwirklicht.
  • Bei einem Verfahren zu Bestimmung der Priorität in Übereinstimmung mit den Ausführungsgraden der Prozesse wird, wenn ein Benutzergrad vorhanden ist, auf dem ein von einem Benut zer erstelltes Programm arbeitet und ein bevorrechtiger Grad, auf dem das OS arbeitet, einem Prozess mit dem bevorrechtigten Grad ein höherer Prioritätsgrad zugeordnet. Es gibt auch ein Verfahren des Zuordnens eines höheren Prioritätsgrades zu einem Prozess mit strikter Begrenzung seiner Ausführungszeit, wie einen Prozess dynamischer Bildwiedergabe, ein Verfahren zur Bestimmung der Priorität in Übereinstimmung mit der Qualifikation von Benutzer IDs, ein Verfahren zur Bestimmung der Priorität in Übereinstimmung mit dem Verhältnis der Besetztzeit in der Zuordnungszeit zu einer CPU und dergleichen.
  • Im allgemeinen werden Prozesse mit denselben Prioritätsgraden zu Rängen klassifiziert, so dass Prioritätsscheduling aufgenommen wird, um Prozesse in jedem Rang zu verwalten und Reigenmodellscheduling aufgenommen wird, um Prozesse in Rangeinheiten zu verwalten.
  • Andererseits müssen in diesen Informationsverarbeitungsgeräten Verarbeitungsschaltungen mit hohen Geschwindigkeiten arbeiten, um eine Vielzahl von Verarbeitungsvorgängen parallel zueinander auszuführen. Als Ergebnis davon steigt die Verbrauchsenergie an und die Temperaturen dieser Schaltungen werden während des Betriebs sehr hoch. Da ein solches Informationsverarbeitungsgerät viele I/O Vorrichtungen enthält, wird von diesen I/O Vorrichtungen eine grosse Wärmemenge erzeugt. Die Wärme verursacht Betriebsfehler des Geräts und verringert seine Verlässlichkeit. Deshalb ist es wichtig, die Verbrauchsenergie zu reduzieren, um Wärmeerzeugung zu unterdrücken.
  • Nachstehend wird ein Verfahren der Reduzierung von Verbrauchsenergie, realisiert in z. B. einem PC als Beispiel für ein Informationsverarbeitungsgerät beschrieben. Im allgemeinen werden nachstehende vier Verfahren aufgenommen.
    • (1) Die Anzahl der Schaltungen, denen Gleichstrom zugeführt wird, wird reduziert.
    • (2) Die Betriebsspannung jeder Schaltung wird verringert.
    • (3) Die Betriebsfrequenz jeder Schaltung wird verringert.
    • (4) Der Betrieb einer nicht verwendeten Schaltung wird gestoppt.
  • Das Verfahren (4) wird nachstehend beschrieben. Eine nach dem letzten Betreiben einer Schaltung vergangene Zeit wird gemessen. Wird für eine vorbestimmte Zeitdauer der nächste Vorgang der Schaltung nicht gestartet, wird entschieden, dass die Schaltung nicht benutzt wird und der Betrieb der Schaltung wird gestoppt oder eine Stromzufuhr der Schaltung wird heruntergefahren. Mit dem vorstehenden Vorgang, kann die Verbrauchsenergie reduziert werden.
  • Aber das vorstehende Verfahren kann den Betrieb beeinträchtigen, da der Betrieb des Geräts oft gestoppt wird, während ein Benutzer es verwendet. Wird der Schwellenwert der vorbestimmten Zeitdauer auf lang gesetzt, kann die Betriebsfähigkeit vor Beeinträchtigung bewahrt werden, aber die Wirkung der Reduzierung der Verbrauchsenergie wird ungenügend. Deshalb wird die Einstellzeit basierend auf einer Abwägung zwischen Betriebsfähigkeit und Verbrauchsenergie bestimmt.
  • Die vorstehend erwähnte frühere Technik beinhaltet nachfolgende Probleme.
  • Ist die Anzahl von Prozessen, die augenscheinlich gleichzeitig durch die zeitgeteilte Verarbeitung ausgeführt werden gross, wird die Wartezeit und die Ausführungszeit für jeden Prozess verlängert. Dann entspricht die Wartezeit einer Wartezeit, während der ein für den Prozess erforderliches I/O Hilfsmittel nicht genutzt wird. Da diese Wartezeit aus der Sicht auf einen einzelnen Prozess sehr kurz ist und einer Gesamtwartezeit in Einheiten von Prozessen entspricht, kann Energiesparsteuerung, wie für die frühere Technik beschrie ben, nicht durchgeführt werden. Deshalb wird in diesen Wartezeiten durch die I/O Hilfsmittel verschwenderisch Energie verbraucht. Das heisst, wenn die Anzahl der Prozesse gross ist, wird die Wartezeit der I/O Hilfsmittel verlängert, was zu verschwenderischem Energieverbrauch führt.
  • Bei der früheren Technik werden Prozesse nur durch die Scheduler gesteuert, unabhängig von den Verbrauchsenergien der I/O Hilfsmittel. Deshalb wird, wenn ein Prozess, für den ein I/O Hilfsmittel, das viel Energie braucht erforderlich ist, für eine lange Zeitdauer in eine Warteschlange eingeordnet ist, sehr viel Energie für eine lange Zeitdauer verschwendet.
  • Muss eine Vielzahl von Vorrichtungen gleichzeitig gestartet werden, fliesst sofort eine grosse Stromspitze. Deshalb muss ein Gerät mit Stromversorgung mit grosser Kapazität eingerichtet sein, was zu Vergrösserung und Verteuerung des Geräts führt.
  • Im "Technique For Power Management In Signal Processors" IBM Technical Disclosure Bulletin, Bd 35 Nr. 5, Seiten 425– 427, XP000313036, Oktober 1992, wird Energieverwaltung in einem digitalen Signalprozessor (DSP) offenbart zum Ausführen von Mehrprozess-Anwendungen, worin Subsystemelemente durch Ausschalten eines beigegebenen Taktes heruntergefahren werden können.
  • Die vorliegende Erfindung wurde in Anbetracht der vorstehend beschriebenen früheren Technik geamcht und hat es zum Ziel, ein Informationsverarbeitungsgerät, das mit minimaler Verbrauchsenergie arbeiten kann und ein Verarbeitungsverfahren des Geräts zur Verfügung zu stellen.
  • Ein weiteres Ziel der vorliegenden Erfindung ist es, ein Informationsverarbeitungsgerät, das die Verbrauchsenergie des Geräts als Ganzes einschränken kann, weil Scheduling von Prozessen durchgeführt wird, um die Wartezeit einer Vorrich tung mit grossem Energieverbrauch zu verkleinern und ein Verarbeitungsverfahren des Geräts zur Verfügung zu stellen.
  • Ein weiteres Ziel der vorliegenden Erfindung ist es, ein Informationsverarbeitungsgerät, das eine Zugriffsanfrage von einem Prozess zu einer gegebenen Vorrichtung im Wartezustand setzen kann, wenn die gesamte Verbrauchsenergie eine vertretbare Energie des Geräts beim Zugriff des Prozesses auf die Vorrichtung übersteigt und ein Verarbeitungsverfahren des Geräts zu Verfügung zu stellen.
  • Ein weiteres Ziel der vorliegenden Erfindung ist es, ein Informationsverarbeitungsgerät, das die Verbrauchsenergie des Gesamtgeräts durch Verteilung von Zeiten grosser Verbrauchsenergie verschiedener Vorrichtungen mitteln kann und ein Verarbeitungsverfahren des Geräts zu Verfügung zu stellen.
  • Ein weiteres Ziel der vorliegenden Erfindung ist es, ein Informationsverarbeitungsgerät, das Grössenreduzierung und Kostenreduzierung verwirklichen kann, da es Energiezufuhr mit geringer Kapazität verwenden kann und ein Verarbeitungsverfahren des Geräts zu Verfügung zu stellen.
  • Ein weiteres Ziel der vorliegenden Erfindung ist es, ein Informationsverarbeitungsgerät, das Hystereseinformation von Zugriffen auf Vorrichtungen in Einheiten von Anwendungen speichert und optimal eine Abschaltfunktion in Übereinstimmung mit den Anwendungen und Vorrichtungen ausführen kann und ein Verarbeitungsverfahren des Geräts zu Verfügung zu stellen.
  • Ein weiteres Ziel der vorliegenden Erfindung ist es, ein Informationsverarbeitungsgerät, das Verbrauchsenergie unterdrücken kann, wenn kein Zugriff erfolgt und ein Verarbeitungsverfahren des Geräts zu Verfügung zu stellen.
  • Ein weiteres Ziel der vorliegenden Erfindung ist es, ein Informationsverarbeitungsgerät, das Zugriffszeiten auf Vorrichtungen in Anwendungseinheiten vorhersagt, basierend auf den vorhergesagten Zeiten bestimmt, ob eine Abschaltfunktion ausgeführt werden soll und die Abschaltfunktion in Übereinstimmung mit dem Bestimmungsergebnis ausführt und ein Verarbeitungsverfahren des Geräts zu Verfügung zu stellen.
  • Diese Ziele werden erreicht durch ein Informationsverarbeitungsgerät nach Anspruch 1 und ein Verarbeitungsverfahren nach Anspruch 4. Vorteilhafte weitere Entwicklungen sind wie in den jeweils anhängigen Ansprüchen vorgebracht.
  • Weitere Eigenschaften und Vorteile der vorliegenden Erfindung werden ersichtlich aus der nachfolgenden Beschreibung, zusammen mit den Begleitzeichnungen, in denen in allen Zeichnungen gleiche Bezugszeichen gleiche oder ähnliche Teile bezeichnen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein schematisches Blockdiagramm, das die Anordnung eines Informationsverarbeitungsgeräts gemäss einem Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 2 ist ein Blockdiagramm, das die Anordnung von CPU peripheren Schaltungen im Informationsverarbeitungsgerät des in 1 gezeigten Ausführungsbeispiels zeigt;
  • 3 ist ein Blockdiagramm, das die Anordnung einer Energiezufuhreinheit zu jeweiligen I/O Einheiten im Informationsverarbeitungsgerät des in 1 gezeigten Ausführungsbeispiels zeigt;
  • 4A und 4B sind Flussdiagramme, die jeweils Vorrichtungs I/O Steuerung und Unterbrechersteuerung beim Ende von Zeitmessung durch einen Timer im Informationsverarbeitungsgerät des in 1 gezeigten Ausführungsbeispiels zeigen;
  • 5A und 5B sind Zeitdiagramme, zum Erklären eines Energiespar – Steuerzustands des Informationsverarbeitungsgeräts des in 1 gezeigten Ausführungsbeispiels;
  • 6 ist eine Ansicht zum Erklären der Prioritätssteuerung eines Prozessschedulers des Informationsverarbeitungsgeräts des in 1 gezeigten Ausführungsbeispiels;
  • 7 ist eine Ansicht, die das Format eines Prozesssteuerblocks im Informationsverarbeitungsgerät des in 1 gezeigten Ausführungsbeispiels zeigt;
  • 8A bis 8C sind Tabellen, die den Inhalt des Prozesssteuerblocks des Informationsverarbeitungsgeräts des in 1 gezeigten Ausführungsbeispiels zeigen;
  • 9 ist ein Flussdiagramm, das die Steuerung der I/O Vorrichtungs – Aneignungsverarbeitung von Prozessen in einem Informationsverarbeitungsgerät gemäss dem ersten Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 10 ist ein Flussdiagramm, das die Steuerung der I/O Vorrichtungs – Freigabeverarbeitung von Prozessen in einem Informationsverarbeitungsgerät gemäss dem ersten Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 11 ist eine Ansicht, die verschiedene Grundparameter für tabellarisches Zusammenstellen zeigt, das ein Prozessscheduler in einem Informationsverarbeitungsgerät gemäss dem zweiten Ausführungsbeispiel der vorliegenden Erfindung verwendet;
  • 12 ist eine Ansicht, die die Verwaltungsbereiche von Vorrichtungstreibern im Informationsverarbeitungsgerät gemäss dem zweiten Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 13 ist ein Flussdiagramm, das Startsteuerung von Vorrichtungen im Informationsverarbeitungsgerät gemäss dem zweiten Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 14 ist ein Flussdiagramm, das Steuerung am Ende des Messens durch einen Timer im Informationsverarbeitungsgerät gemäss dem zweiten Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 15 ist ein Flussdiagramm, das Neustartsteuerung einer wartenden Vorrichtung im Informationsverarbeitungsgerät gemäss dem zweiten Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 16 ist ein funktionelles Blockdiagramm, das ein elektronisches Gerät gemäss dem dritten Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 17 ist ein Blockdiagramm, das die Hardwareanordnung eines elektronischen Geräts gemäss einem Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 18 ist ein Zeitdiagramm, das die Modusübergangszeiten und Veränderungen bei Verbrauchsenergiezuständen im dritten Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 19 ist ein Zeitdiagramm zum Erklären von herkömmlichen Modusübergangszeiten;
  • 20 zeigt ein Beispiel einer Zugriffszeit – Intervalltabelle des dritten Ausführungsbeispiels;
  • 21 zeigt ein Beispiel einer Zugriffszeittabelle des dritten Ausführungsbeispiels;
  • 22 ist ein Flussdiagramm, das die Aktualisierungsverarbeitung der Zugriffszeit – Intervalltabelle beim Vorrichtungszugriff im dritten Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 23 ist ein Flussdiagramm, das die Verarbeitung zum Bestimmen zeigt, ob die Steuerung beim Ende eines Zugriffs auf eine Vorrichtung im dritten Ausführungsbeispiel der vorliegenden Erfindung in einen Modus L eintritt;
  • 24 zeigt ein Beispiel einer Tabelle zum Speichern der Hysterese von Zugriffszeiten einer Anwendung A auf ein HDD im vierten Ausführungsbeispiel der vorliegenden Erfindung;
  • 25 zeigt ein Beispiel einer HDD Zugriffszeit – Intervalltabelle im fünften Ausführungsbeispiel der vorliegenden Erfindung; und
  • 26 ist ein Zeitdiagramm, das Änderungen bei Verbrauchsenergiezuständen beim Übergang von Modi gemäss dem sechsten Ausführungsbeispiel der vorliegenden Erfindung zeigt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Die bevorzugten Ausführungsbeispiele der vorliegenden Erfindung werden nachstehend im Detail unter Bezug auf die Begleitzeichnungen beschrieben.
  • Die wichtigen Punkte eines Informationsverarbeitungsgeräts dieses Ausführungsbeispiels werden nachstehend zusammengefasst.
  • In einem Informationsverarbeitungsgerät, das zeitgeteilt eine Vielzahl von Verarbeitungsvorgängen ausführen kann, wird die gesamte Energie erfasst, die für jeden Prozess für die Hardwarequellen erforderlich ist und ein Betriebsattribut des Prozesses wird auf Grund der Gesamtenergie bestimmt. Genauer, werden die für jeden Prozess erforderlichen Hardwarequellen und die von diesen Hardwarequellen erforderte Gesamtenergie erfasst und wenn der Prozess eine grössere Energie der erforderten Hardwarequellen braucht, wird dem Prozess ein höherer Ausführungs – Prioritätsgrad zugeteilt. Ein Scheduler eines Betriebssystems wählt einen Prozess mit hohem Ausführungs – Prioritätsgrad und gibt dem Prozess das Recht zur Ausführung.
  • Ein Informationsverarbeitungsverfahren und Gerät, die die Ausführungszeit eines einer Anfangsanfrage einer neuen Vorrichtung entsprechenden Prozesses verschieben können, wenn eine Vielzahl von Hardwarequellen gleichzeitig gestartet werden müssen, stehen zur Verfügung.
  • Ein Informationsverarbeitungsverfahren und Gerät, die Hochgeschwindigkeits – Mehrprozessverarbeitung ausführen können, während die Verbrauchsernergie durch die vorstehend erwähnte Verarbeitung verringert wird, stehen zur Verfügung.
  • <Beschreibung des Aufbaus eines Informationsverarbeitungsgeräts>
  • Unter Bezug auf 1 wird nachstehend ein schematischer Aufbau eines Informationsverarbeitungsgeräts dieses Ausführungsbeispiels beschrieben. Als Beispiel für ein Informationsverarbeitungsgerät dieses Ausführungsbeispiels wird eine Workstation genommen, auf die durch eine Vielzahl von Terminals zugegriffen werden kann und die periphere Eingage/Ausgabevorrichtungen beinhaltet.
  • In 1 bezeichnet Bezugszeichen 1 eine CPU zum Steuern des gesamten Informationsverarbeitungsgeräts. Die CPU 1 führt Verarbeitungen wie arithmetische Vorgänge, I/O Steuerung und dergleichen in Übereinstimmung mit einem im Hauptspeicher 3 gespeicherten Programm durch. Eine CPU periphere Schaltung 2 beinhaltet einen Echtzeittaktgenerator 1001, einen Timer 1002, eine Unterbrechungssteuerschaltung 1003 und eine Verarbeitungsschaltung, erforderlich zum Steuern einer peripheren Vorrichtung, wie einer DMA Steuerschaltung 1005, wie in 2 gezeigt und steuert die jeweiligen Einheiten unter Kontrolle der CPU 1. 2 zeigt den Aufbau der CPU peripheren Schaltung 2. In 2 gibt diese, wenn der Timer 1002 den Ablauf einer vorbestimmten Zeitdauer erfasst, ein Unterbrechunganfragesignal 1006 an die Unterbrechungssteuerungsschaltung 1003 aus. Die Unterbrechungssteuerungsschaltung 1003 gibt ein Unterbrechungssignal 1004 auf der Grundlage des Signals 1006 an die CPU 1 aus.
  • In 1 beinhaltet der Hauptspeicher 3 Speicher wie ein DRAM, ein Cache RAM, ein ROM und dergleichen und empfängt Energie zum Beispiel von einer Batterie, wenn das Gerät dieses Ausführungsbeispiels nicht verwendet wird, so dass sein Speicherinhalt gehalten wird. Bezugszeichen 4 bezeichnet einen Energiezufuhrkontroller zum An/Abschalten einer Energiezufuhr in Übereinstimmung mit einem Befehl der CPU 1.
  • Wie nachstehend im Detail beschrieben, hat das Informationsverarbeitungsgerät dieses Ausführungsbeispiels eine unabhängige Energiezufuhrspannung für jede Einheit und die Energiezufuhr kann für jede Einheit an/abgeschaltet werden. Der Aufbau der Einheiten dieses Ausführungsbeispiel ist wie folgt. Bezugszeichen 31 bezeichnet eine Displayeinheit; 32 eine FDD Einheit; 33 eine HDD Einheit; 34 eine CD-ROM Einheit; 35 eine Druckereinheit; und 36 eine Kommunikationseinheit.
  • In der Displayeinheit 31 bezeichnet Bezugszeichen 5 einen Displaykontroller, der der Reihe nach Displaydaten aus einem internen (nicht gezeigten) VRAM liest und sie zu einem Display 6, wie einem CRT überträgt, während er Abstufungswandlung oder dergleichen der Daten durchführt. Der Displaykontroller 5 steuert Zugriffe der CPU 1 zum VRAM und Datenübertragung vom VRAM zum Display 6. Der Displaykontroller 5 führt Busfestlegung durch, um einen Zusammenstoss zwischen einem Zugriff der CPU 1 auf den VRAM und einem Datenübertragungszugriff vom VRAM zum Display 6 zu verhindern. Darüber hinaus kann der Displaykontroller 5 logische arithmetische Vorgänge wie AND, OR, EXOR und dergleichen zwischen dem Inhalt des VRAM und einem vorbestimmten Muster durchführen. Das Display 6 hat z. B. ein CRT, Flüssigkristallfeld LCD oder dergleichen.
  • In der FDD Einheit 32 bezeichnet Bezugszeichen 7 einen FDD Kontroller; und 8 ein Floppydisklaufwerk. In der HDD Einheit 33 bezeichnet Bezugszeichen 9 einen HDD Kontroller; und 10 einen Festplattenlaufwerk (HDD). In der CD-ROM Einheit 34 bezeichnet Bezugszeichen 11 einen CD-ROM Kontroller; und 12 einen CD-ROM Laufwerk. In der Druckereinheit 35 bezeichnet Bezugszeichen 13 einen Druckerkontroller; und 14 einen Drukker. Bezugszeichen 15 bezeichnet eine Kommunikationsschnittstelle I/F zum Durchführen von Kommunikationen in Hochgeschwindigkeits – Serienformat. Bezugszeichen 16 bis 18 bezeichnen Terminals, die mit der Kommunikations I/F 15 verbunden sind und von denen aus jeweilige Benutzer Ein/Ausgabevorgänge von Information durchführen.
  • Der Energiezufuhraufbau diese Ausführungsbeispiels wird nachstehend unter Bezug auf 3 beschrieben.
  • Eine Schaltnetzteil 27 wandelt eine AC Spannung einer kommerziellen Energiezufuhreingabe über einen AC Stecker 28 in Spannungen (z. B., +5 V für digitale Schaltungen, –24 V zum Antrieb des Displays und +20 V für Motorantriebe der jeweiligen Laufwerke), die im Hauptgehäuse Verwendung finden.
  • Im Informationsverarbeitungsgerät dieser Erfindung wird jeder Einheit unabhängig Arbeitsenergie zugeführt und die Energiezufuhr wird für jede Einheit an/abgeschaltet und so Energie gespart. In einigen Einheiten wird ein Energiesparmodus durch Anhalten interner Takte oder durch Verringerung der Taktfrequenz verwirklicht. Der Aufbau der Einheiten in diesem Ausführungsbeispiel beinhaltet auch eine CPU Speichereinheit 30, bestehend aus CPU 1, CPU Peripherschaltung 2 und Hauptspeicher 3 und der Kommunikationseinheit 36, bestehend aus Kommunikationsschnittstelle 15, zusätzlich zu den vorstehend erwähnten Einheiten. Zu beachten ist, dass die Energiezufuhr zur CPU Speichereinheit 30 nicht an/abgeschaltet werden kann und dass diese Einheit auf AN gehalten wird, wenn der Stromschalter angeschaltet ist. Die Displayeinheit 31 beinhaltet den Displaykontroller 5 und Display 6. Die FDD Einheit 32 beinhaltet den FDD Kontroller 7 und FDD 8. Die HDD Einheit 33 beinhaltet den HDD Kontroller 9 und HDD 10 und die CD-ROM Einheit 34 beinhaltet CD-ROM Kontroller 11 und CD-ROM Laufwerk 12. Die Druckereinheit 35 beinhaltet den Druckerkontroller 13 und Drucker 14.
  • Energie wird diesen funktionellen Einheiten über die Schalter 21 bis 26 zugeführt, die im Energiezufuhrkontroller 4 enthalten sind. Diese Schalter 21 bis 26 haben eine einszu-eins Entsprechenung mit den Einheiten. Wird ein entsprechender Schalter ausgeschaltet, so wird die Energiezufuhr gestoppt und die Verarbeitung in der Einheit kann ebenso angehalten werden. Die AN/AUS Steuerung dieser Schalter wird von der CPU 1 über die CPU periphere Schaltung 2 ausgeführt.
  • Zu beachten ist, dass diese Schalter mechanischelektrische Elemente wie elektromagnetische Relais, Hauptschalter oder dergleichen oder Halbleiterschalter wie MOS-FETs enthalten können.
  • Steuerung des Energiemodus der jeweiligen Vorrichtungseinheiten wird nachstehend unter Bezug auf die 4A und 4B beschrieben.
  • In diesem Ausführungsbeispiel wird eine Zeit seit dem letzten Zugriff auf jede Einheit gemessen. Erfolgt der nächste Zugriff auf die Einheit nicht innerhalb einer vorbestimmten Zeitdauer, wird festgestellt, dass die Einheit nicht benutzt wird und sie wird in den Energiesparmodus geschaltet. Zu diesem Zweck enthält eine Steuerschaltung jeder Einheit einen Timer zum Messen der vergangenen Zeit. Nach Ende der Messung eines in jedem Timer festgelegten Timerwertes, erzeugt der Timer ein Unterbrechungssignal zur CPU 1. Erfolgt im Energiesparmodus ein Zugriff auf die Einheit, erfasst die Steuerschaltung der Einheit diesen Zugriff und führt Verarbeitung zum Wiederaufnehmen einer Funktion in einem Teil durch, die bis dahin angehalten wurde.
  • In der vorstehenden Beschreibung enthält die Steuerschaltung jeder Einheit den Timer zum Messen der vergangenen Zeit. Als ein anderes Verfahren kann der Timer 1002 (s. 2) verwendet werden. Das heisst, das Betriebssystem betrachtet periodisch den gemessenen Wert des Timers 1002 in Echtzeit und speichert Ausführungszeiten, die den jeweiligen I/O Einheiten im Speicher 3 entsprechen, wodurch die Betriebszeit der jeweiligen Einheiten gemessen wird.
  • Ein Vorgangsablauf, ausgeführt, wenn einem bestimmten Prozess, der auf eine der I/O Einheiten zugreifen muss, vom Scheduler des Betriebssystems das Ausführungsrecht gegeben wird, und der dann auf eine bestimmte I/O Einheit zugreift, wird nachstehend im Einzelnen beschrieben.
  • Das Prozessschedulingverfahren und seine Wirkung im Informationsverarbeitungsgerät dieses Ausführungsbeispiels wird nachstehend unter Bezug auf 5A und 5B beschrieben.
  • Der Ablauf in diesem Ausführungsbeispiel wird unter Bezug auf das Zeitdiagramm der 5A und 5B erklärt.
  • 5A zeigt die Beziehung zwischen den Ausführungszuständen jeweiliger Prozesse und den Betriebsmodi (Normalmodus und Energiesparmodus) einer I/O Einheit, die nur von einem bestimmten Prozess verwendet wird, wenn das Prozessschedulingverfahren dieses Ausführungsbeispiels nicht verwendet wird.
  • In diesem Fall wird ein Betriebszustand mit drei Prozessen (d. h. Prozess A, B und C), die virtuell gleichzeitig ausgeführt werden unter Bezug auf 5A erklärt. 5A ist ein Beispiel für einen Fall, in dem ausschliesslich Prozess C eine bestimmte I/O Einheit (im Weiteren I/O Einheit C) belegt, bis die Verarbeitung beendet ist. Angenommen wird, dass ein Scheduler diesen Prozessen beim tabellarischen Zusammenstellen zum Ausführen dieser Prozesse gleichermassen das Recht zur Ausführung zuordnet. Ein Prozess mit zugeordnetem Ausführungsrecht belegt den CPU Maschinenzyklus und führt vorbestimmte Verarbeitung aus.
  • Eine Abszisse 900 in 5A stellt die Zeitbasis dar und Zeit vergeht in 5A von links nach rechts. Bezugszeichen 90, 91 und 92 bezeichnen die Ausführungszeiten der Prozesse A, B und C. In den Ausführungszeiten 90 und 92 wird jeder Prozess zur Zeit des hohen (H) Pegels ausgeführt und mit niedrigem (L) Pegel in die Warteschlange eingereiht. In diesem Diagramm wird eine erforderliche Überhangszeit für z. B. die Prozessschaltzeit des Schedulers nicht gezeigt. Bezugszeichen 93 bezeichnet eine Änderung des Energiemodus einer im Gerät enthaltenen I/O Einheit. Ist der Energiemodus 93 auf H Pegel, wird die I/O Einheit C in den normalen Betriebsmodus gesetzt, um einen normalen Vorgang durchzuführen und verbleibt im Betriebswartezustand, wenn kein Zugriff erfolgt. Ist der Energiemodus 93 auf L Pegel, wird die I/O Einheit C in einen sogenannten Energiesparmodus gesetzt, bei dem manche Schaltungen gestoppt werden. Die Steuerschaltung der I/O Einheit C beinhaltet einen Ruhetimer C. Der Ruhetimer C startet Zeitmessung, d. h. Messung einer Ruhezeit jedesmal, wenn ein Zugriff des Prozesses C fertig ist.
  • Hat die gemessene Ruhezeit t (Ruhezeit) als vorbestimmten Schwellenwert erreicht, steuert die Steuerschaltung die I/O Einheit C zum Schalten in den Energiesparmodus.
  • In 5A belegt Prozess C exclusiv die I/O Einheit C und führt seine Verarbeitung aus. Im Zeitdiagramm der 5A ist der Zugrff auf die I/O Einheit G nach Ausführung von fünf Verarbeitungsvorgängen beendet. In 5A gibt Prozess C, wenn die fünfte (letzte) Verarbeitung zur Zeit t1 endet, die I/O Einheit C frei und beendet seine Verarbeitung. So beginnt der Ruhetimer C der I/O Einheit C zur Zeit t1 zu zählen. Wird auf die I/O Einheit C von der Zeit t1 bis zum Vergehen von t (Ruhezeit) nicht zugegriffen, stoppt der Ruhetimer C das Zählen und schaltet die I/O Einheit C in den Energiesparmodus (Zeit t2). Erfolgt ein weiterer Prozesszugriff auf die I/O Einheit C während des Zählens des Ruhetimers C, wird der Ruhetimer C durch jeden Zugriff zurückgesetzt.
  • Betriebszeiten von Prozessen und Übergänge der Betriebsmodi der I/O Einheit C, ausschliesslich gesteuert durch Prozess C, wenn tabellarisches Zusammenfassen durchgeführt wird, basierend auf der Verbrauchsenergie jeder I/O Einheit, verwendet durch jeden Prozess dieses Ausführungsbeispiels werden nachstehend unter Bezug auf 5B erklärt.
  • In 5B sind Prozessanordnung und Darstellung des Diagramms die Gleichen wie in 5A.
  • In diesem Prozessschedulingverfahren wird Prozessscheduling so durchgeführt, dass die Gesamtverbrauchsenergie der durch Prozesse verwendeten I/O Einheiten berechnet wird, die Gesamtenergie der verwendeten I/O Einheiten in Prozesseinheiten verglichen wird und Vorrang der Ausführung eines Prozesses zugeordnet wird, der eine I/O Einheit mit grosser Verbrauchsenergie verwendet. In 5B ist der Gesamtverbrauchsenergiewert der I/O Einheit C, verwendet für Prozess C, grösser als der von anderen Aufgaben verwendete. Deshalb wird, weil der Prozessscheduler dem Prozess C höchste Priorität zuordnet, die Ausführungsfrequenz des Prozesses C höher als die der Prozesse A und B.
  • In 5B gibt bei Beendigung der fünften Ausführung des Prozesses C zur Zeit t3 der Prozess C die I/O Einheit C frei und beendet ihre Verarbeitung. Zur Zeit t3 beginnt der Ruhetimer C der I/O Einheit C eine Ruhezeit zu zählen. Nach Vergehen von t (Ruhezeit), in der seit der Zeit t3 nicht auf die I/O Einheit C zugegriffen wurde, stoppt der Ruhetimer C das Zählen und die I/O Einheit C wird in den Energiesparmodus (Zeit t4) geschaltet.
  • In 5A und 5B erfolgt beim Vergleich der Zeiten, die erforderlich sind, bis die I/O Einheit C in den Energiesparmodus geschaltet wird, die Steuerung zum Schalten der Einheit C in den Energiesparmodus zur Zeit t4 in 5B, während in 5R die Steuerung zum Schalten der Einheit C in den Energiesparmodus zur Zeit t2, also später als t4 erfolgt.
  • Mit der Steuerung dieses Ausführungsbeispiels kann, da die Verarbeitungszeit eines Prozesses, der eine I/O Einheit mit grosser Verbrauchsenergie verwendet, um eine Zeit (t2 – t4) verkürzt werden kann, der Energieverbrauch durch die I/O Einheit in diesem Zeitintervall gespart werden.
  • 4A ist ein Flussdiagramm, das den Ablauf von Verarbeitung zeigt, in der ein Prozess mit dem durch den Scheduler zugeteilten Recht zur Ausführung Daten über jede I/O Einheit ein/ausgibt (im Weiteren einfach als Vorrichtung bezeichnet).
  • Bei Schritt S120 wird Daten I/O Verarbeitung mit einer vorbestimmten Vorrichtung durchgeführt. Bei Schritt S121 wird ein der Vorrichtung entsprechender Ruhetimer initialisiert und beginnt zu zählen. Diese Verarbeitung endet und der Ablauf kehrt zurück zu einem externen Verarbeitungsprogramm, das diese Routine aufgerufen hat.
  • 4B ist ein Flussdiagramm, das den Ablauf der Verarbeitung der Unterbrechungsverarbeitungsroutine zeigt, die nach Ende des Zählens durch den Ruhetimer gestartet wird.
  • Bei Schritt S122 wird die dem Ruhetimer, der das Zählen beendet hat, entsprechende Vorrichtung in den Energiesparmodus geschaltet. Bei Schritt S123 wird die Zeitmessung durch den Ruhetimer gestoppt. Die Verarbeitung endet und der Ablauf kehrt von dieser Routine zur Hauptroutine zurück.
  • Mit der obigen Steuerung kann der Energiemodus jeder Vorrichtung geschaltet werden.
  • <Beschreibung des Aufbaues des Betriebssystems>
  • Der Aufbau des Betriebsystems des Informationsverarbeitungsgeräts dieses Ausführungsbeispiels wird nachstehend beschrieben.
  • Der Scheduler, der Mehrprozessscheduling verwirklicht, wird nachstehend unter Bezug auf 6 beschrieben. 6 ist eine Ansicht zum Erklären des Aufbaues des Schedulers dieses Ausführungsbeispiels.
  • Der Scheduler wird jedesmal gestartet, wenn eine vorbestimmte Zeitdauer (z. B. 100 μs) durch einen Timer gemessen wird und schaltet Prozesse zu ihrer Ausführung. Die Schedulesteuerung dieses Ausführungsbeispiels wird erzielt durch Prioritätsscheduling mit Klassifizierung der Prioritätsgrade von Prozessen in vier Ränge. Auf demselben Prioritätsgrad werden Prozesse, die ausgeführt werden sollen, so gesteuert, dass sie durch das bereits erwähnte Reigenmodellscheduling geschaltet werden.
  • Bezugszeichen 50 bis 53 bezeichnen Warteschlangenheader der jeweiligen Prioritätsgrade. Der Warteschlangenheader 50 mit Prioritätsgrad 4 entspricht der höchsten Priorität und der Warteschlangenheader 53 entspricht der niedrigsten Priorität (Prioritätsgrad 1). Eingereihte Prozesse sind mit jedem der Warteschlangenheader 50 bis 53 der jeweiligen Prioritätsgrade in einer Listenstruktur gekoppelt. Bezugszeichen 54 bis 57 bezeichnen mit den Enden der jeweiligen Prioritätsgrade verbundene eingereihte Prozesse.
  • Jeder Prozess hat eine Tabelle, die Prozesskontrollerblock (Task Controller Block, TCB) genannt wird, und der Betrieb jedes Prozesses dieses Ausführungsbeispiels wird in Übereinstimmung mit dem TCB gesteuert. Die TCBs der Prozesse sind über eine bidirektionale Liste verbunden. Einreihen eingereihter Prozesse, die beim Scheduling verwendet werden, wird auch durch die bidirektionale Liste der TCBs verwirklicht.
  • Der Inhalt des TCB wird nachstehend unter Bezug auf 7 beschrieben.
  • Bezugszeichen 70 bezeichnet eine Prozess ID, die vom Betriebssystem gesetzt wird, um einen Prozess zu identifizieren. Bezugszeichen 71 bezeichnet TCB Verbindungsdaten zum Verbinden der TCBs mit anderen Prozessen. Bezugszeichen 72 bezeichnet eine Ausführungswarteschlangenverbindung zum Verbinden eingereihter Prozesse. Bezugszeichen 73 bezeichnet Verbindungsdaten zum Steuern des Formsignals zwischen Prozessen. Bezugszeichen 74 bezeichnet Warteschlangen – Prioritätsdaten des Prozesses. Bezugszeichen 75 bezeichnet den Prozessstatus, der den gegenwärtigen Zustand des Prozesses darstellt. Der Prozessstatus 75 beinhaltet Markierungen wie Ein/Abschalten, Anhalten/in Ausführung für die Ausführung. Bezugszeichen 76 bezeichnet eine Vorrichtungsliste, die für den Prozess selbst und seine Unterprozesse erforderliche Vorrichtungen anzeigt. Bezugszeichen 77 bezeichnet eine Gesamtverbrauchsenergie der vom Prozess in Anspruch genommenen Vorrichtungen.
  • Die detaillierte Anordnung der TCBs wird nachstehend unter Bezug auf die 8A bis 8C beschrieben.
  • 8A zeigt die Anordnung der Vorrichtungsliste 76. Die Vorrichtungsliste 76 speichert von jedem Prozess verlangte Vorrichtungsinformation und wird bei Inanspruchnahme einer Vorrichtung aktualisiert. In 8A bezeichnet Bezugszeichen 80 eine Vorrichtungs ID, zum Identifizieren einer erforderlichen Vorrichtung. Bezugszeichen 81 bezeichnet die Verbrauchsenergie jeder Vorrichtung. Bezugszeichen 82 bezeichnet die erforderliche Zeit einer Vorrichtung. Bezugszeichen 83 bezeichnet die Prozess ID eines Prozesses, der eine Vorrichtung erfordert. Zu beachten ist, dass eine von einem Unterprozess erforderte Vorrichtung sowohl in der Vorrichtungsliste des Ursprungsprozesses, als auch in ihrer eigenen Vorrichtungsliste vermerkt wird.
  • 8B zeigt den Speicherzustand der Gesamtverbrauchsenergie von für jeden Prozess erforderlichen Vorrichtungen. Bezugszeichen 84 bezeichnet einen Speicherbereich der Gesamtverbrauchsenergie. Dieser Bereich speichert eine gesamte Vorrichtungsverbrauchsenergie 81 in der Vorrichtungsliste.
  • 8C zeigt den Speicherzustand von Variablen für den Prioritätsgrad. Der Anfangswert des Prioritätsgrades jedes Prozesses wird vom Betriebssystem gesetzt. Der gesetzte Prioritätsgrad wird in Übereinstimmung mit der Gesamtverbrauchsenergie von durch den Prozess benutzten Vorrichtungen korrigiert, womit ein neuer Prioritätsgrad bestimmt wird. Dieser Korrekturwert wird basierend auf der nachfolgenden Formel berechnet: Korrigierte Priorität = Setzwert + Energiekorrekturwert (1)
  • In 8C bezeichnet Bezugszeichen 85 einen vom Betriebssystem gesetzten Prioritätsgrad. Bezugszeichen 86 bezeichnet einen Energiekorrekturwert, basierend auf der gesamten, vom Prozess erforderten Verbrauchsenergie. Bezugs zeichen 87 bezeichnet einen auf der Basis von Formel (1) korrigierten Prioritätsgrad.
  • <Beschreibung des Verarbeitungsablaufs (9 und 10)>
  • Der Ablauf der Verarbeitung dieses Ausführungsbeispiels wird nachstehend unter Bezug auf die Flussdiagramme beschrieben.
  • In diesem Ausführungsbeispiel wird bei der Inanspruchnahme des Rechts zum Benutzen einer Vorrichtung, die Vorrichtungsliste in jedem TCB aktualisiert und die gesamte Verbrauchsenergie berechnet. Darüber hinaus wird in Übereinstimmung mit der gesamten Verbrauchsenergie der Prioritätsgrad geändert.
  • Die Verarbeitung durch einen Vorrichtungstreiber zur Inanspruchnahme jeder Vorrichtung wird nachstehend unter Bezug auf 9 erklärt.
  • Bei Schritt S100 wird Inanspruchnahme der Vorrichtung durchgeführt. Genauer, es werden verschiedene Arten von Information dahingehend überprüft, ob eine Vorrichtung, auf die durch einen Prozess zugegriffen werden soll, bereit ist. Bei Schritt S101 wird überprüft, ob eine erwünschte Vorrichtung in Anspruch genommen werden kann. Bei JA in Schritt S101 geht der Ablauf weiter zu Schritt S102; sonst endet die Verarbeitung. Bei Schritt S102 wird die neue bei Schritt S100 in Anspruch genommene Vorrichtung der Vorrichtungsliste 76 im TCB des Prozesses hinzugefügt, der die Anfrage zur Inanspruchnahme herausgegeben hat. Bei Schritt S103 wird die Verbrauchsenergie der in Anspruch genommenen Vorrichtung zur gesamten Verbrauchsenergie 84 addiert. Bei Schritt S104 wird der Korrekturwert des Prioritätsgrads in Übereinstimmung mit der neuen Gesamtverbrauchsenergie berechnet und das Berechnungeergebnis wird im korrigierten Prioritätsgrad 87 gespeichert. Die Verarbeitung endet und der Ablauf geht zurück zum Verarbeitungsschritt eines externen Verarbeitungsprogramms, das diese Routine aufgerufen hat.
  • Als ein Verfahren zur Berechnung des vorstehend erwähnten Prioritätskorrekturwertes wird zum Beispiel die nachfolgende Formel verwendet: Prioritätskorrekturwert = Gesamtenergie × k (2)(k: Konstante)
  • Dieses Berechnungsverfahren kann eine quadratische Funktion verwenden oder eine beliebige Funktionsformel.
  • Darüber hinaus können Verbrauchsenergiewerte in eine Vielzahl von Rängen klassifiziert werden und ein Korrekturwert kann durch Nachsehen in einer getrennten Tabelle erzielt werden. Da einem Prozess, der eine Vorrichtung mit grösserer Verbrauchsenergie verwendet, höhere Priorität zugeordnet wird, kann die Betriebszeit der Vorrichtung mit grösserer Verbrauchsenergie verkürzt und so Energie gespart werden.
  • Der Verarbeitungsablauf eines Vorrichtungstreibers mit dem ein Prozess einen Zugriff auf eine vorbestimmte Vorrichtung beendet und die exklusive Tätigkeit der Vorrichtung freigibt, wird nachstehend unter Bezug auf das Flussdiagramm in 10 beschrieben.
  • Bei Schritt S110 wird Freigabeverarbeitung der Vorrichtung durchgeführt. Bei Schritt S111 wird Information der freigegebenen Vorrichtung aus der Liste der in Anspruch genommenen Vorrichtungen 76 im TCB des Prozesses gelöscht. Der Ablauf geht weiter zu Schritt S112 und die Verbrauchsenergie der freigegebenen Vorrichtung wird von der gesamten Verbrauchsenergie 84 subtrahiert. Bei Schritt S113 wird der Prioritätskorrekturwert wie bei Schritt S104 berechnet und das Berechnungsergebnis gespeichert. Diese Verarbeitung endet und der Ablauf kehrt zum Verarbeitungsschritt eines externen Verarbeitungsprogramms zurück, das diese Routine aufgerufen hat.
  • Mit der obigen Verarbeitung kann der Ausführungsprioritätsgrad jedes Prozesses in Übereinstimmung mit der Verbrauchsenergie einer vom Prozess benutzen Vorrichtung geän dert werden und so bei der gesamten Verbrauchsenergie gespart werden.
  • Wie vorstehend beschrieben, kann nach diesem Ausführungsbeispiel, da der Ausführungsprioritätsgrad eines Prozesses in Übereinstimmung mit der Verbrauchsenergie einer vom Prozess verwendeten Vorrichtung geändert wird, wenn die Vorrichtung eine grössere Verbrauchsenergie erfordert, diese früher in die Energiesparsteuerung eintreten. Deshalb kann Gesamtverbrauchsenergie gespart werden, ohne die Betriebsfähigkeit zu verringern.
  • In diesem Ausführungsbeispiel wird Prioritätssteuerung basierend auf dem Reigenmodellscheduling korrigiert. Alternativ dazu, kann das Scheduling dieses Ausführungsbeispiels mit einer anderen Prioritätsverarbeitung kombiniert werden, z. B. einem Algorithmus zu dynamischem Verändern der Priorität.
  • (Zweites Ausführungsbeispiel)
  • Im vorstehend beschriebenen ersten Ausführungsbeispiel wird die Ausführuungspriorität jedes Prozesses in Übereinstimmung mit der Verbrauchsenergie einer vom Prozess benutzen Vorrichtung geändert, woduch die bis zum Beginn der Energiesparsteuerung erforderliche Zeit verkürzt wird. Im zweiten Ausführungsbeispiel wird ein Fall erklärt, in dem eine Vorrichtung aus dem Energiesparmodus zurückgerufen wird.
  • Wird eine Vorrichtung im Energiesparmodus gestartet, fliesst zeitweilig ein starker Einschaltstromstoss. In einer Mehrprozessumgebung werden Vorrichtungen, die grosse Energie erfordern, oft gleichzeitig neu gestartet und die Verbrauchsenergie wird zu diesem Zeitpunkt sehr hoch. Im zweiten Ausführungsbeispiel werden die Betriebszustände der I/O Vorrichtungen erfasst und wenn manche Vorrichtungen gleichzeitig neu gestartet werden sollen, wird ein Prozess, der das Neustarten einer neuen Vorrichtung erfordert, in einen Wartezustand gesetzt.
  • Da die Anordnung eines Informationsverarbeitungsgeräts des zweiten Ausführungsbeispiels dieselbe ist wie im vorstehend beschriebenen ersten Ausführungsbeispiel, unterbleibt eine detaillierte Beschreibung davon.
  • <Beschreibung des Verarbeitungsvorgangs>
  • Der Ablauf der Gesamtverarbeitung wird nachstehend beschrieben.
  • Im zweiten Ausführungsbeispiel wird, wenn ein gegebener Prozess auf eine Vorrichtung im Energiesparmodus zugreift, die gesamte Verbrauchsenergie des Geräts zu diesem Zeitpunkt erfasst und es wird geprüft, ob die Vorrichtung gestartet werden kann. Wird festgestellt, dass die Vorrichtung gestartet werden kann, wird sie gestartet und ein Timer beginnt mit Zeitmessung, um den Start der Verarbeitung um die Zeit zu verschieben, bis der Betrieb der Vorrichtung sich stabilisiert hat. Nach Beendigung der Zeitmessung durch den Timer wird ein Befehl des Prozesses ausgeführt.
  • Wird andererseits bestimmt, dass die Vorrichtung nicht gestartet werden kann, wird der Status des Prozesses, der auf die Vorrichtung zugreift in einen Wartezustand geändert, so dass der Prozess auf das Ende der Benutzung durch andere Vorrichtungen wartet. Nach Ende der Benutzung durch andere Vorrichtungen wird eine Neustartroutine der Vorrichtung im Wartezustand aufgerufen und der Neustartvorgang der Vorrichtung gestartet.
  • Um die vorstehende Verarbeitung durchzuführen, liegen in 11 gezeigte Bereiche im Hauptspeicher 3.
  • Ein Gesamtenergieregister 110 zum Aufzeichnen einer Gesamtverbrauchsenergie des Geräts liegt in einem gemeinsamen Speicherbereich 3. Die Verbrauchsenergie des gesamten Geräts wird in Echtzeit gespeichert, wenn Vorrichtungstreiber den Inhalt des Gesamtenergieregisters 110 in Übereinstimmung mit Änderungen im Status aktualisieren.
  • Darüber hinaus gibt es ein Register 111 für maximal zulässige Energie, um Energie anzuzeigen, die von der energiezufuhr des Geräts zugeführt werden kann. Zusätzlich gibt es eine Vorrichtungsstart – Warteliste 112, um die Vorrichtungen zu verwalten, die darauf warten, gestartet zu werden. Die Vorrichtungsstart – Warteliste 112 speichert eine ID 113 einer für den Start eingereihten Vorrichtung, eine Prozess ID 114 eines Prozesses, der eine Neustartanfrage ausgegeben hat, ein Eintreten 115 einer Neustartroutine und dergleichen.
  • In einem Speicherbereich für jeden Vorrichtungstreiber, wie in 12 gezeigt, liegen ein Befehlspuffer 120 zum zeitweisen Speichern eines im Energiesparmodus empfangenen Befehls und ein Verwaltungsbereich einschliesslich eines Bereichs 121 zum Speichern der Verbrauchsenergie beim normalen Betrieb einer Vorrichtung, ein Bereich 122 zum Speichern der Verbrauchsenergie beim Start einer Vorrichtung und dergleichen in Einheiten von Vorrichtungstreibern. Ferner gibt es im Verwaltungsbereich jedes Vorrichtungstreibers einen Timerbereich 123, gesetzt mit einem Timerwert zum Messen der erforderlichen Zeit, bis eine Vorrichtung nach dem Start stabilisiert ist.
  • Die Verarbeitung des zweiten Ausführungsbeispiels wird nachstehend unter Bezug auf die Flussdiagramme in 13 bis 15 beschrieben.
  • 13 ist ein Flussdiagramm, das den Ablauf von I/O Sprungverarbeitung zeigt, die gestartet wird, wenn ein Prozess auf eine Vorrichtung im Energiesparmodus zugreift.
  • Bei Schritt S200 wird der Inhalt einer Zugriffsanfrage auf eine gewünschte Vorrichtung im Befehlspuffer 120 gespeichert. Bei Schritt S201 wird der Wert des Gesamtenergieregisters 110, der die gesamte Verbrauchsenergie des Gesamtgeräts anzeigt, in die CPU 1 geladen. Bei Schritt S202, wird der Wert des Bereichs 122, der die Verbrauchsenergie beim Start der Vorrichtung anzeigt, zum Wert des Gesamtenergieregisters 110 addiert und es wird gepüft, ob die Summe den Wert des maximalen (zulässigen) Energieregisters 111 übersteigt. Bei JA in Schritt S202 geht der Ablauf weiter zu Schritt S206, sonst geht der Ablauf weiter zu Schritt S203.
  • Bei Schritt S203 wird festgestellt, dass die Vorrichtung gestartet werden kann und der Wert des Bereichs 122, der die Verbrauchsenergie beim Starten der Vorrichtung anzeigt, wird zum Wert des Gesamtenergieregisters 110 addiert. Dann geht der Ablauf weiter zu Schritt S204. Bei Schritt S204 wird dem Energiezufuhrkontroller 4 und einem Kontroller der Vorrichtung ein Befehl übermittelt und eine Energiezufuhrspannung wird der Vorrichtung zugeführt. Bei Schritt S205 wird ein Stabilisierungswartetimer der Vorrichtung zurückgesetzt, ein Zeitmesswert, gespeichert im Timerbereich 123 wird als Timerwert gesetzt und der Timer beginnt die Zeitmessung, womit die Verarbeitung endet.
  • Wird andererseits bei Schritt S206 festgestellt, dass die Vorrichtung nicht gestartet werden kann, so wird der Prozessstatus 75 des TCB eines Prozesses, der die Startanfrage ausgegeben hat auf "Ereigniserwarten" Status geschaltet, der Ablauf geht weiter zu Schritt S207 und der Prozess wird der Vorrichtungsstart – Warteschlangenliste hinzugefügt, womit die Verarbeitung endet.
  • 14 ist ein Flussdiagramm, das den Ablauf von Unterbrechungsverarbeitung zeigt, die am Ende der Zeitmessung durch den Stabilisierungswartetimer der Vorrichtung erzeugt wird. Zu beachten ist, dass diese Zeitmessung des Timers durch eine Hardwareschaltung oder ein Softwareprogramm erzielt werden kann.
  • Bei Schritt S210 wird ein Befehl für eine gewünschte Vorrichtung aus dem Puffer 120 geholt. Bei Schritt S211 wird in Übereinstimmung mit dem in Schritt S210 geholten Befehl Vorrichtungs I/O Verarbeitung durchgeführt. Bei Schritt S212 wird der Wert des Bereichs 122, der die Verbrauchsenergie beim Starten der Vorrichtung anzeigt, vom Wert des Gesamtenergieregisters 110 subtrahiert und der Wert des Bereichs 121, der die Verbrauchsenergie bei Normalbetrieb der Vorrichtung anzeigt, wird zur Differenz addiert. Bei Schritt S213 wird der erste Prozess in der Vorrichtungsstart – Warteschlangenliste 112 gelesen. Bei Schritt S214 wird geprüft, ob Vorrichtungen in der Vorrichtungsstart – Warteschlangenliste 112 registriert sind. Bei JA in Schritt S214 geht der Ablauf weiter zu Schritt S215; sonst endet die Verarbeitung. Bei Schritt S215 wird die Neustartroutine einer in der Vorrichtungsstart – Warteschlangenliste 112 registrierten Vorrichtung aufgerufen und die Verarbeitung endet.
  • 15 ist ein Flussdiagramm, das den Ablauf von Verarbeitung zum Neustarten einer in der Startwarteschlangenliste 112 registrierten Vorrichtung zeigt.
  • Bei Schritt S220 werden die ID 113 und dergleichen der entsprechenden Vorrichtung aus der Vorrichtungsstart – Warteschlangenliste 112 gelöscht. Bei Schritt S221 wird der Wert des Bereichs 122, der die Verbrauchsenergie beim Start der Vorrichtung zeigt, zum Wert des Gesamtenergieregisters 110 addiert. Bei Schritt S222 wird der Prozessstatus auf "ausführbar" geändert. Bei Schritt S223 wird dem Energiezufuhrkontroller 4 und einem Kontroller der Vorrichtung ein Befehl übermittelt und eine Energiezufuhrspannung wird der Vorrichtung zugeführt. Bei Schritt S225 wird der Stabilisierungswartetimer der Vorrichtung zurückgesetzt, ein Wert im Timerbereich 123 wird im Timer gesetzt und der Timer beginnt die Zeitmessung, womit die Verarbeitung endet.
  • Diese Verarbeitung kann verhindern, dass die Gesamtverbrauchsenergie einer Vielzahl von Vorrichtungen die maximale Verbrauchsenergie des Geräts übersteigt, wenn diese Vorrichtungen gleichzeitig gestartet werden.
  • Wie vorstehend beschrieben kann, gemäss diesem Ausführungsbeispiel durch Erfassen der Verbrauchsenergie einer von jedem Prozess benutzten Vorrichtung verhindert werden, dass die Gesamtverbrauchsenergie die maximal zulässige Energie des Geräts übersteigt, wenn eine Vielzahl von Geräten gleichzei tig gestartet werden. So kann die Stromspitze des Geräts unterdrückt werden und Grössenverringerung der Energiezufuhr und des Geräts können verwirklicht werden, womit die Kosten für das Gesamtgerät reduziert werden.
  • [Drittes Ausführungsbeispiel]
  • 17 ist ein Blockdiagramm, das die Hardwareanordnung eines elektronischen Geräts gemäss dem dritten bis sechsten Ausführungsbeispiel der vorliegenden Erfindung zeigt.
  • In 17 bezeichnet Bezugszeichen 130 eine CPU, die das gesamte Gerät in Übereinstimmung mit einem in einem Hauptspeicher 131 gespeicherten Steuerprogramm steuert. Bezugszeichen 132 bezeichnet eine Eingabeeinheit (Eingabevorrichtung) mit z. B. einer Tastatur, einer Zeigevorrichtung, wie einer Mouse oder dergleichen. Bezugszeichen 133 bezeichnet eine Eingabesteuerschaltung, die verschiedene, von der Eingabeeinheit 132 eingegebene Daten zur CPU 130 ausgibt. Bezugszeichen 134 bezeichnet eine Displayeinheit (Displayvorrichtung) wie ein Flüssigkristalldisplay, ein CRT oder dergleichen, das unter Steuerung der CPU 130 gesendete Daten unter Steuerung einer Displaysteuerschaltung 135 anzeigt. Bezugszeichen 136 bezeichnet ein ROM, das verschiedene Daten, wie Fontdaten speichert. Bezugszeichen 137 bezeichnet ein RAM, das als Arbeitsbereich zum zeitweiligen Speichern verschiedener Daten durch die CPU 130 verwendet wird. Bezugszeichen 138 bezeichnet eine Speichersteuerschaltung, die Lese/Schreibsteuerung des ROM 136 und des RAM 137 durchführt und Datenaustausch mit einer Festplattensteuerschaltung 139 steuert. Bezugszeichen 140 bezeichnet eine Festplattenantriebseinheit (HDD); und 139 eine Festplattensteuerschaltung zum Steuern von Lese/Schreibzugriffen auf die HDD 140. Bezugszeichen 141 bezeichnet eine Kommunikationseinheit (Kommunikationsvorrichtung), die Daten zwischen der CPU 130 und einer Steuerschaltung 142 über eine Kommunikationsleitung austauscht. Bezugszeichen 143 bezeichnet eine Energiezufuhr zum Zuführen einer Energiezufuhrspannung zum gesamten Gerät inklusive der erwähnten Einheiten. Bezugszeichen 131 bezeichnet einen Haupt speicher, der ein Steuerprogramm, ausgeführt von der CPU 130 (Flussdiagramme in 22 und 23) speichert und auch als Arbeitsbereich bei der Ausführung verschiedener Steuervorgänge durch die CPU 130 verwendet wird. Bezugszeichen 144 bezeichnet einen internen Timer der CPU 130. Der Timer 144 startet Zeitmessung mit dem Anschalten des Geräts und misst die vergangene Zeit und dergleichen.
  • Die vorstehend erwähnten Einheiten können unter Steuerung durch die jeweiligen Steuerschaltungen zwischen zwei Zuständen wechseln z. B. einem Modus H (Hochenergiemodus) und einem Modus L (Niedrigenergiemodus). Wird jede Einheit benutzt, so wird sie in den Modus H gesetzt; sonst wechselt sie zum Modus L. Beim Wechseln vom Modus H zu L oder umgekehrt ist eine bestimmte Zeit erforderlich. In einem Übergangszustand während des Wechselns erfordern manche Vorrichtungen eine grössere Energie als in ihrem Dauerzustand. Deshalb wird, wenn eine gegebene Vorrichtung unmittelbar nach ihrem Wechsel in den L Modus in den H Modus übergehen muss bestimmt, dass die Verbrauchsenergie reduziert werden kann, wenn die Vorrichtung im H Modus gehalten wird und ein solcher Wechsel wird überhaupt nicht durchgeführt.
  • Im elektronischen Gerät des dritten Ausführungsbeispiels wird, wenn auf eine Vorrichtung im H Modus für eine vorbestimmte Zeitdauer nicht zugegriffen wird, überprüft, ob ein Statuswechsel in den L Modus gemacht werden soll.
  • Der Statuswechsel im dritten Ausführungsbeispiel wird unter Bezug auf sein Beispiel nachstehend erklärt.
  • 18 ist ein Zeitdiagramm, das ein Beispiel des Statuswechsels zeigt. Wird ein Trigger, der das Ende der Benutzung einer Vorrichtung anzeigt, zur Zeit t1 erzeugt, wird ein Statuswechsel zum L Modus gestartet. Die Vorrichtung wird über einen Übergangszustand von Modus H zu L zur Zeit t2 in einen Dauerzustand im Modus L gesetzt. Weiter wird ein Wechsel zum Modus H in Reaktion auf einen Benützungstriggerzugriff zur Zeit t3 gestartet. Die Vorrichtung wird über einen Übergangszustand des Wechsels vom Modus L zu H zur Zeit t4 in einen Dauerzustand im Modus H gesetzt.
  • Die Verbrauchsenergie im Dauerzustand im Modus L, im Dauerzustand im Modus H, der Übergangszustand von Modus N zu L und der Übergangszustand von Modus L zu H werden jeweils durch P1, P2, P3 und P4 dargestellt.
  • Eine Verbrauchsenergie W1 von Zeit t1 bis t4 bei der Ausführung des obigen Statuswechsels ist gegeben durch: W1 = P3 × (t2 – t1) + P1 × (t3 – t2) + P4 × (t4 – t3) (3)
  • Andererseits ist eine Verbrauchsenergie W2 von Zeit t1 bis t4, ohne Wechsel (angezeigt durch eine gestrichelte Linie in 18) gegeben durch: W2 = P2 × (t4 – t1) (4)
  • Durch Berechnen der beiden Formeln kann bestimmt werden, welche der Energien mit oder ohne einen Wechsel grösser ist. Die Verbrauchsenergien P1, P2, P3 und P4 in den vorstehend erwähnten Zuständen und die Zeiten (t2 – t1) und (t4 – t3), erforderlich für Statuswechsel, werden in Vorrichtungseinheiten definiert.
  • Wird ein Endtrigger zur Zeit t1 erzeugt, wird Zeit t3 zur Zeit t1 vorhergesagt und es wird basierend darauf, welches Ergebnis der beiden Formeln (3) und (4) grösser ist, bestimmt, ob ein Wechsel zum L Modus gemacht werden soll oder nicht. Wenn Zeit t3 an der ein Benutzungstrigger erzeugt wird, die nachstehende Formel (5) erfüllt, wird bestimmt, dass nach Erzeugung eines Endtriggers im H Modus ein Wechsel zum L Modus stattfinden soll, um eine geringere Verbrauchsenergie zu erzielen; sonst wird, um eine geringere Verbrauchsenergie zu erzielen, bestimmt, dass auch nach Erzeugung eines Endtriggers im H Modus kein Wechsel zum L Modus stattfinden soll. Aus (t3 – t2) × (P2 – P1) > ) P3 – P2) × (t2 – t1) + (P4 – P2) × (t4 – t4), t3 > t2 + {(P3 – P2) × (t2 – t1) + (P4 – P2) × (t4 – t3)}/(P2 – P1) (5)
  • Wie vorstehend im dritten Ausführungsbeispiel beschrieben, wird durch Vorhersagen der Zeit t3 zur Zeit t1 bestimmt, ob ein Wechsel vom H zum L Modus stattfinden soll.
  • 19 ist ein Zeitdiagramm zum Erklären des herkömmlichen Statuswechsels. Dabei erfolgt ein Statuswechsel vom H zum L Modus nicht unmittelbar nach Erzeugen eines Endtriggers, sondern nach Vergehen einer Zeit (t1' – t1). Der Stauswechsel vom H in den L Modus wird innerhalb einer Zeit (t2' – t1') vollzogen und danach findet ein Statuswechsel vom L in den H Modus in Reaktion auf einen Benutzungstrigger, erzeugt zur Zeit t3 statt.
  • Wie aus einem Vergleich der 18 und 19 ersichtlich, bleibt die Zeit (t4 – t1) zwischen den Erzeugungszeiten eines Endtriggers im H Modus und eines Benutzungstriggers die gleiche, aber die Verbrauchsenergie der herkömmlichen Steuerung ist beträchtlich grösser als die im dritten Ausführungsbeispiel.
  • Nun wird nachstehend ein Fall als Beispiel genommen, in dem das vorstehend erwähnte Prinzip auf ein Mehrprozesssystem angewendet wird. Angenommen, eine Anwendung A greift alle a Sekunden auf eine bestimmte Vorrichtung zu, eine Anwendung B greift alle b Sekunden auf die Vorrichtung zu und eine Anwendung C greift alle c Sekunden auf die Vorrichtung zu, dann wird in einer Geschwindigkeit von {(1/a) + (1/b) + (1/c)} mal pro Sekunde auf die Vorrichtung zugegriffen. Mit anderen Worten es wird einmal pro 1/{(1/a) + (1/b) + (1/c)} Sekunde auf die Vorrichtung zugegriffen.
  • Dehalb kann Zeit t3, an der ein Benutzertrigger erzeugt wird, vorhergesagt werden als: t3 = t1 + 1/{(1/a) + (1/b) + (1/c)} (6)
  • Durch Ersetzen der Zeit t3 in Formel (5) wird bestimmt, ob ein Wechsel in den L Modus stattfinden soll.
  • Wie in 20 gezeigt, werden Zeitintervalle (zwischen früherem und nächstem Zugriff vergangene Zeit) von durch Anwendungen erfolgten Zugriffen auf die jeweiligen Vorrichtung, wie Eingabeeinheit 132, Displayeinheit 134, ROM 136, RAM 137, HDD 140, Kommunikationseinheit 141 und dergleichen in Form einer Tabelle gespeichert. Die obigen Werte a, b, c werden in Übereinstimmung mit diesen Zugriffszeitintervallen bestimmt. Die Werte in der Tabelle werden jedesmal, wenn Zeitanwendungen (A–E) tatsächlich auf die erwähnten Vorrichtungen zugreifen durch folgendes Verfahren aktualisiert.
  • 21 zeigt die Endzeiten der früheren Zugriffe der jeweiligen Anwendungen auf die entsprechenden Vorrichtungen. In 21 wird jede Endzeit ausgedrückt durch eine absolute Zeit (Sekunden) in Übereinstimmung mit der seit dem Beginn der Verwendung dieses Systems vergangenen Zeit (Sekunden). In der nachfolgenden Beschreibung werden diese Zeiten gleich ausgedrückt.
  • Angenommen, eine bestimmte Anwendung greift auf eine bestimmte Vorrichtung zu entspricht ein Wert, erzielt durch Subtraktion der Zeit (Endzeit des früheren Zugriffs), gezeigt in 21, von der gegenwärtigen Zeit dem Zeitintervall bis zum gegenwärtigen Zugriff. Um ein Zugriffszeitintervall bis zum nächsten Zugriff genauer vorherzusagen, werden nicht nur das gegenwärtige Zeitintervall, sondern vorzugsweise auch die früheren Zeitintervalle benutzt. Deshalb wird ein Durchschnittswert zwischen einem Zeitintervall (ein Wert, erzielt durch Subtraktion der Zeit in 21 von der gegenwärtigen Zeit) bis zu einem Zugriff auf eine bestimmte Vorrichtung durch eine bestimmte Anwendung und einem früheren Zugriffszeitintervall (dem in 20 gezeigten Wert) auf die Vorrichtung durch die Anwendung berechnet und der Tabellenwert (20), der der Anwendung und der Vorrichtung entspricht, wird unter Verwendung des berechneten Wertes als neues Zugriffszeitintervall aktualisiert.
  • Nach Ende eines Zugriffs auf eine bestimmte Vorrichtung durch eine bestimmte Anwendung wird der Zeitwert, der der in 21 gezeigten Anwendung und Vorrichtung entspricht, aktualisiert als die gegenwärtige Zeit.
  • 16 ist ein funktionelles Blockdiagramm des dritten Ausführungsbeispiels, das auf diesen Funktionen basiert.
  • Bezugszeichen 160 bezeichnet eine Vorrichtungssteuereinheit, die den in 17 gezeigten Steuerschaltungen 133, 135, 138, 139 und 142 der jeweiligen Einheiten entspricht. Bezugszeichen 161 bezeichnet eine Berechnungs/Unterscheidungseinheit 161, die der CPU 130, dem Hauptspeicher 131 und dergleichen, gezeigt in 17 entspricht. Die Berechnungs/Unterscheidungseinheit 161 berechnet die vorstehenden Formeln und unterscheidet auf der Grundlage des Berechnungsergebnisses, ob ein Statuswechsel vom Modus H zu L stattfinden soll. Bezugszeichen 162 bezeichnet eine Zeitzähleinheit, die dem Timer 144 in 17 entspricht und Zeit (absolute Zeit) misst, die seit dem Beginn der Verwendung des elektronischen Geräts des dritten Ausführungsbeispiels vergangen ist. Bezugszeichen 163 bezeichnet eine Zugriffszeit – Intervalltabelle, die die Zugriffszeitintervalle speichert, die benötigt werden, wenn Anwendungen auf die jeweiligen Einheiten (Vorrichtungen) im, in z. B. 20 gezeigten Format, zugreifen. Bezugszeichen 164 bezeichnet eine Zugriffzeittabelle, die die absoluten Zeiten speichert, an denen frühere Zugriffe auf die jeweiligen Vorrichtungen durch die Anwendungen zu Ende waren, wie in 21 gezeigt. Jedesmal, wenn eine neue Anwendung ausgeführt wird, werden der Zugriffszeit – Intervalltabelle 163 und der Zugriffszeittabelle 164 Werte hinzugefügt. Nach Ende der Ausführung der Anwendung wird Zeitinformation in der Zugriffszeittabelle 164 gespeichert. Bei der Berechnung der Formel (6) wird kein Bezug genommen auf die Werte in der Zugriffszeittabelle, die dieser Anwendung entspricht. Wird diese Anwendung erneut ausgeführt, dann wird die gegenwärtige Zeit, gemessen von der Zeitzähleinheit 162, in der Zugriffszeittabelle 164 entsprechend der Anwendung gespeichert. Zu beachten ist, dass diese Tabellen 163 und 164 auch im Hauptspeicher 131 oder im ROM 136 gespeichert werden können.
  • Der Vorgang, ausgeführt, wenn im dritten Ausführungsbeispiel eine bestimmte Anwendung auf eine bestimmte Vorrichtung (z. B. HDD 140) zugreift, wird nachstehend unter Verwendung detaillierter numerischer Werte unter Bezug auf das Flussdiagramm in 22 beschrieben. Zu beachten ist, dass das Steuerprogramm zum Ausführen dieser Verarbeitung im Hauptspeicher gespeichert ist und dass die CPU 130 die Verarbeitung in Übereinstimmung mit dem Steuerprogramm ausführt.
  • Angenommen, eine Anwendung A greift bei Schritt S1 auf das HDD 140 zur absoluten Zeit von 3.600 Sekunden zu. Der Ablauf geht weiter zu Schritt S2, die Endzeit des früheren Zugriffs auf das HDD 140 durch die Anwendung A wird aus der Zugriffszeittabelle 164, gezeigt in 21 gelesen. Beim HDD 140 entspricht der H Modus dem Rotationszustand eines Motors und der L Modus entspricht dem Stoppzustand des Motors. In 21 wird bei Schritt S3, da die Endzeit des früheren Zugriffs in diesem Fall 3.592 Sekunden ist, die zwischen Ende des früheren Zugriffs durch die Anwendung A und der Gegenwart vergangene Zeit berechnet durch (3.600–3.592). Als Ergebnis dieser Berechnung ist die vergangene Zeit 8 Sekunden. Der Ablauf geht weiter zu Schritt S4 und ein Durchschnitt aus gegenwärtigem Zugriffszeitintervall (8 Sekunden) und aus dem früheren Zugriffszeitintervall (der in der Tabelle in 20 gespeicherte Wert; 20 Sekunden) wird berechnet. Der Ablauf geht weiter zu Schritt S5 und der berechnete Wert wird in die Zugriffszeit – Intervalltabelle 163 gesetzt.
  • Genauer wird, da das Zeitintervall des früheren Zugriffs auf das HDD 140 durch die Anwendung A 20 Sekunden aus 20 ist, ein Schnitt aus 8 Sekunden, wie vorstehend beschrieben, und 20 Sekunden aus 20 berechnet und der berechnete Wert "14 Sekunden", als Durchschnittswert als neues Zugriffszeitintervall bestimmt. Basierend auf dem bestimmten Wert wird der Zugriffszeitwert auf HDD 140 durch die Anwendung A in der in 20 gezeigten Zugriffszeittabelle von "20 Sekunden" auf "14 Sekunden" aktualisiert.
  • Der Vorgang am Ende eines Zugriffs auf eine bestimmte Vorrichtung durch eine bestimmte Anwendung wird nachstehend unter Bezug auf das Flussdiagramm in 23 beschrieben. Diese Verarbeitung wird ebenfalls durch die CPU 130 ausgeführt und ein Steuerprogramm zum Ausführen dieser Verarbeitung ist im Hauptspeicher 131 gespeichert.
  • Angenommen, ein Zugriff auf das HDD 140 endet zur gegenwärtigen Zeit von 3.602 Sekunden in Schritt S11. Der Ablauf geht weiter zu Schritt S12 und die entsprechende Zeit in der Zugriffszeittabelle 164 wird aktualisiert. Genauer wird die Endzeit des Zugriffs auf das HDD 140 durch die Anwendung A in der in 21 gezeigten Tabelle aktualisiert von "3.592" auf "3602". Der Ablauf geht weiter zu Schritt S14 und Zeit t3 wird unter Verwendung der folgenden Formel, basierend auf der vorstehenden Formel (4) berechnet: t3 = t1 + 1/{(1/a) + (1/b) + (1/c) + (1/d) + (1/e)} (5)
  • Zu beachten ist, dass t1 = 3.602 Sekunden
  • Wie vorstehend beschrieben, wurde a bereits von "20" auf "14" aktualisiert. Andererseits sind b bis e jeweils b = 30, c = 30, d = 300 und e = 1.800 aus 20. Deshalb ist t3 3.609 Sekunden. So wird t3 = 3.609 in die obige Formel (5) eingesetzt und wenn t3 der Formel (5) genügt, wird das HDD 140 zum Wechsel in den L Modus gesteuert; sonst wird der Wechsel zum Modus L nicht durchgeführt.
  • Beim beschriebenen herkömmlichen Verfahren, wie in 19 gezeigt, wartet die Steuerung eine vorbestimmte Zeitdauer (t1') vom Endtrigger der Vorrichtung an ab und wenn während dieses Intervalls kein Benutzungstrigger erzeugt wird, wird die Vorrichtung zum Wechsel in Modus L gesteuert.
  • Im Gegensatz dazu kann, im dritten Ausführungsbeispiel, wenn die Vorrichtung zur Zeit t1 zum Wechsel zum Modus L gesteuert wird, die Energie von (P2 – P1) × (t1' – t1) eingespart werden.
  • Zu beachten ist, dass Formel (6) bedeutet, dass wenn eine grössere Anzahl von Anwendungen mit kurzen Zugriffsintervallen gleichzeitig ausgeführt wird, der Wert t3 kleiner wird. In einem solchen Fall ist es relativ schwer, der Formel (5) zu genügen und als Ergebnis davon treten Wechsel zu Modus L selten ein. Deshalb kann der Einfluss des Übergangszustandes während des Wechsels auf Verbrauchenergie und Verzögerungszeit unterdrückt werden.
  • Im dritten Ausführungsbeispiel wird beim Ende eines Zugriffs auf eine bestimmte Vorrichtung ohne Warten auf das Vergehen einer vorbestimmten Zeitdauer entschieden, ob der Wechsel in den Modus geringer Energie stattfinden soll.
  • Deshalb kann der Modus geringer Energie wirkungsvoll gesetzt werden und eine Abschaltfunktion kann verwirklicht werden.
  • [Viertes Ausführungsbeispiel]
  • Im vierten Ausführungsbeispiel wird eine Hysterese von Intervallen zwischen den früheren Zugriffen und den nächsten Zugriffen auf eine bestimmte Vorrichtung aufgezeichnet. Die Verbrauchsenergie W1 (t3) zur Zeit t3 wird für jeden nach n Zugriffen unter Verwendung der Formel (3) berechnet und diese Werte werden gemittelt, um einen erwarteten Wert W3 der Verbrauchsenergie zu erhalten. W3 = {Σ(P3 × (t2 – t1) + P1 × (t3 – t2) + P4 × (t4 – t3))}/n (8)wobei F die Summe von n Verbrauchsenergien ist.
  • Formel (4) und (8) werden berechnet und ob ein Wechsel in den Modus L stattfinden soll, wird durch Vergleich der berechneten Werte bestimmt. Wenn W3 < W2 findet ein Wechsel statt, sonst nicht.
  • In obiger Formel (8) ist, da die Werte P1, P3, P4, (t2 – t1) und (t4 – t3) in Einheiten von Vorrichtungen definiert sind, eine Tabelle zum Speichern von Werten (t3 – t2) (die Zeit im Modus L) bei Zugriffen auf Vorrichtungen in Übereinstimmung mit Anwendungen vorbereitet, wie in 24 gezeigt.
  • So werden die erwarteten Werte der Verbrauchsenergien mit und ohne Statuswechsel vom Modus H zu L verglichen und ob ein Wechsel stattfindeen soll, wird basierend auf dem Vergleichergebnis bestimmt. Als Ergebnis daraus, kann eine Möglichkeit der Wahl eines Wechsels mit geringerer Verbrauchsenergie vergrössert werden.
  • [Fünftes Ausführungsbeispiel]
  • Auf das Festplattenlaufwerk (HDD) 140 wird normalerweise als Datei zugegriffen. Auf das HDD 140 wird z. B. als virtuellen Speicher zugegriffen, um die Speicherinhalte zu sichern. Deshalb ändert sich das Zugriffszeitintervall des HDD abhängig von Zuständen, z. B. davon, ob eine Datei offen ist, ob der virtuelle Speicher eingeschaltet ist und so weiter 25 zeigt ein Beispiel von Zugriffszeitintervallen bei solchen Zuständen.
  • Wie aus 25 ersichtlich, ist das Zugriffszeitintervall des HDD 140 wenn der virtuelle Speicher AN ist kürzer als das, wenn der virtuelle Speicher AUS ist und das Zugriffszeitintervall auf eine offene Datei, ist beträchtlich kürzer, als das auf eine geschlossene Datei.
  • Wird 25 als Zeitintervalltabelle verwendet, wird wie im dritten Ausführungsbeispiel bestimmt, ob ein Statuswechsel stattfinden soll. Auf andere Vorrichtungen kann oft wie auf eine Datei zugegriffen werden und dasselbe gilt für diese Vorrichtungen.
  • Gemäss dem fünften Ausführungsbeispiel kann das Zugriffszeitintervall einer Vorrichtung nicht nur in Einheiten von Anwendungen vorhergesagt werden, sondern auch in Übereinstimmung mit Zeitintervallen in Einheiten von Systemstatus.
  • [Sechstes Ausführungsbeispiel]
  • Wenn in vorstehend beschriebener 18 die Verzögerungszeit für den Statuswechsel von dann, wenn ein Benutzertrigger zur Zeit t3 eingegeben wird, bis die Vorrichtung zur Zeit t4 wirklich verwendet werden kann, lang ist, muss ein Benutzer eine relativ lange Zeitdauer abwarten, was die Betriebsfähigkeit ungünstig beeinflusst.
  • Wie im Zeitdiagramm in 26 gezeigt, wird eine imaginäre Verbrauchsenergie zu der aktuellen Verbrauchsenergie P4 im Übergangszustand von Modus L zu Modus H addiert und die Summe wird durch P5 dargestellt. Ob ein Wechsel zum Modus L stattfinden soll, wird bestimmt durch Verwendung der nachstehenden Formel (9), anstelle der vorstehenden Formel (5): t3 > t2 + {(P3 – P2) × (t2 – t1) + (P5 – P2) × (t4 – t3)}/(P2 – P1) (9)
  • Da P5 > P4 ist eine Möglichkeit, dass der Ungleichheit (9) genügt wird, geringer als in Formel (5) und Wechsel zum Modus L finden selten statt.
  • Das sechste Ausführungsbeispiel wird wirksam, wenn Hochgeschwindigkeitswechsel vom Modus L zum Modus H erforderlich ist, auf Kosten eines geringen Anwachsens der Verbrauchsenergie.
  • Durch Anpassung des Wertes P5, kann eine Abwägung zwischen der Verbrauchsenergie und der Statuswechselgeschwindigkeit vom Modus L zum Modus H vollzogen werden.
  • Ein Informationsverarbeitungsgerät, das im Mehrprozessmodus arbeitet, berechnet eine Gesamtverbrauchsenergie von durch jeden Prozess benutzen Vorrichtungen und ordnet höhere Ausführungspriorität einem Prozess zu, der die grösste Verbrauchsenergie hat, wodurch die Ausführungszeit des Prozesses mit grösster Verbrauchsenergie verkürzt und die Gesamtverbrauchsenergie des Geräts verringert wird. Wird eine Vorrichtung durch Schalten von Prozessen gestartet, wenn die Gesamtverbrauchsenergie die zulässige Energie des Geräts durch Energieverbrauch bei Neustarten der Vorrichtung übersteigt, so wird der Prozess in einen Wartezustand gesetzt, bis der Betrieb anderer Vorrichtungen beendet ist, die Verbrauchsenergie wird verringert und das Gerät ist bereit, die Vorrichtung durch den Prozess zu verwenden.

Claims (6)

  1. Informationsverarbeitungsgerät zum zeitgeteilten Ausführen einer Vielzahl von Prozessen gekennzeichnet durch: Steuereinrichtung (1, 2) zum Steuern eines Ausführungsbefehls von Verarbeitungsvorgängen, basierend auf den Prozessen in Übereinstimmung mit Prioritätsinformation, die Prioritätsgrade der Prozesse bestimmt; Speichereinrichtung (77) zum Berechnen und Speichern eines Gesamtstromverbrauchs von Vorrichtungen, auf die bei jedem Prozess zugegriffen wird; und Änderungseinrichtung (S104, S113) zum Ändern der Prioritätsinformation des Prozesses in Übereinstimmung mit dem in der Speichereinrichtung gespeicherten Gesamtstromverbrauch des Prozesses, wobei die Änderungseinrichtung die Prioritätsinformation so ändert, dass höhere Priorität einem Prozess mit grösserem Stromverbrauch zugeordnet wird.
  2. Gerät nach Anspruch 1, darüber hinaus gekennzeichnet durch Stromversorgungssteuereinrichtung (1, 2, 4) zum Verringern von Strom, mit dem eine Vorrichtung versorgt werden soll, auf die für mindestens eine vorbestimmte Zeitdauer zugegriffen wird.
  3. Gerät nach Anspruch 2, darüber hinaus gekennzeichnet durch Einrichtung dafür, dass wenn ein Prozess eine Zugriffsanforderung an die Vorrichtung herausgibt, die mit dem verringerten Strom versorgt wird, diese Verringerung bei der Stromver sorgung an die Vorrichtung durch die Stromversorgungssteuereinrichtung aufgehoben wird.
  4. Verarbeitungsverfahren in einem Informationsverarbeitungsgerät zum zeitgeteilten Ausführen einer Vielzahl von Prozessen gekennzeichnet durch die Schritte: Berechnen (S103) eines Gesamtstropmverbrauchs von Vorrichtungen, auf die bei jedem Prozess zugegriffen wird; Ändern von Prioritätsgraden der Prozesse (S104) in Übereinstimmung mit dem Gesamtstromverbrauch jedes Prozesses, so dass einem Prozess mit grösserem Gesamtstromverbrauch höhere Priorität gegeben wird; und Steuern eines Ausführungsbefehls von Verarbeitungsvorgängen durch die Prozesse in Übereinstimmung mit Prioritätsinformation, die die Prioritätsgrade der Prozesse bestimmt.
  5. Verfahren nach Anspruch 4, darüber hinaus gekennzeichnet durch den Schritt des Verringerns von Strom (S122), mit dem eine Vorrichtung versorgt werden soll, auf die für mindestens eine vorbestimmte Zeitdauer zugegriffen wird.
  6. Verfahren nach Anspruch 5, darüber hinaus gekennzeichnet durch den Schritt des Aufhebens der Verringerung bei der Stromversorgung der Vorrichtung, wenn ein Prozess eine Zugriffsanforderung an die Vorrichtung herausgibt, die mit dem verringerten Strom versorgt wird.
DE69532596T 1994-05-09 1995-05-08 Verfahren zur Steuerung der Stromversorgung in einer Mehrprozessbetriebsumgebung Expired - Lifetime DE69532596T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP9518694 1994-05-09
JP09518694A JP3224473B2 (ja) 1994-05-09 1994-05-09 電子機器及び該機器における電源制御方法
JP06136953A JP3093928B2 (ja) 1994-06-20 1994-06-20 情報処理方法とその装置
JP13695394 1994-06-20

Publications (2)

Publication Number Publication Date
DE69532596D1 DE69532596D1 (de) 2004-04-01
DE69532596T2 true DE69532596T2 (de) 2004-08-05

Family

ID=26436458

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69532596T Expired - Lifetime DE69532596T2 (de) 1994-05-09 1995-05-08 Verfahren zur Steuerung der Stromversorgung in einer Mehrprozessbetriebsumgebung

Country Status (4)

Country Link
US (1) US5828568A (de)
EP (1) EP0683451B1 (de)
KR (1) KR0177536B1 (de)
DE (1) DE69532596T2 (de)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1159021A (zh) * 1996-03-06 1997-09-10 三菱电机株式会社 系统时钟确定装置
JPH10260628A (ja) 1997-03-18 1998-09-29 Canon Inc 地図表示方法及び装置並びに記憶媒体
US5963039A (en) * 1998-02-04 1999-10-05 Lucent Technologies Inc. Testing attachment reliability of devices
US6086628A (en) * 1998-02-17 2000-07-11 Lucent Technologies Inc. Power-related hardware-software co-synthesis of heterogeneous distributed embedded systems
JP2000020187A (ja) * 1998-07-07 2000-01-21 Fujitsu Ltd 情報処理装置及び電力制御方法並びに記録媒体
US7526767B1 (en) 1998-08-28 2009-04-28 Oracle International Corporation Methods for automatic group switching according to a resource plan
US7020878B1 (en) 1998-08-28 2006-03-28 Oracle International Corporation System for allocating resource using the weight that represents a limitation on number of allowance active sessions associated with each resource consumer group
US7451448B1 (en) 1998-08-28 2008-11-11 Oracle International Corporation Methods for selectively quiescing a computer system
EP1046979B1 (de) * 1998-11-09 2006-08-16 Seiko Epson Corporation Schnittstellengerät, verfahren zur steuerung eines schnittstellengeräts und informationsaufnahmegerät
JP4325817B2 (ja) 1999-04-05 2009-09-02 株式会社日立製作所 ディスクアレイ装置
US6999994B1 (en) 1999-07-01 2006-02-14 International Business Machines Corporation Hardware device for processing the tasks of an algorithm in parallel
JP4545884B2 (ja) 1999-07-22 2010-09-15 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータ可読メモリ
ATE277378T1 (de) * 1999-10-25 2004-10-15 Texas Instruments Inc Intelligente leistungssteuerung in verteilten verarbeitungssystemen
JP2001125797A (ja) * 1999-10-25 2001-05-11 Seiko Epson Corp マルチタスクシステム及びそのプログラムを記録した記録媒体並びに加工装置
JP2001142579A (ja) * 1999-11-16 2001-05-25 Fujitsu Ltd 電源制御装置およびそれを備えた情報処理装置、記録媒体
US7577958B1 (en) * 1999-12-09 2009-08-18 Nortel Networks Limited Expediting an operation in a computer system
EP1182556B1 (de) * 2000-08-21 2009-08-19 Texas Instruments France Auf Aufgaben basierte adaptive Profilerstellung und Fehlerbeseitigung
EP1182552A3 (de) * 2000-08-21 2003-10-01 Texas Instruments France Dynamische Hardware-Konfiguration für Energieverwaltungsysteme mit Aufgabenattributen
EP1182538B1 (de) * 2000-08-21 2010-04-07 Texas Instruments France Durch ein Temperaturfeld gesteuerte Regelung für Verarbeitungssysteme
EP1182548A3 (de) 2000-08-21 2003-10-15 Texas Instruments France Dynamische Hardware-Steuerung für Energieverwaltungsysteme mit Aufgabenattributen
EP1189442A3 (de) * 2000-09-13 2003-04-09 Dynamit Nobel GmbH Explosivstoff- und Systemtechnik Arealüberwachung mittels Standbildvergleich
US7174194B2 (en) 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
US7516334B2 (en) * 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
US6920540B2 (en) * 2001-10-22 2005-07-19 Rambus Inc. Timing calibration apparatus and method for a memory device signaling system
US7222071B2 (en) 2002-09-27 2007-05-22 Arbitron Inc. Audio data receipt/exposure measurement with code monitoring and signature extraction
US7191349B2 (en) * 2002-12-26 2007-03-13 Intel Corporation Mechanism for processor power state aware distribution of lowest priority interrupt
US7185215B2 (en) * 2003-02-24 2007-02-27 International Business Machines Corporation Machine code builder derived power consumption reduction
US7245946B2 (en) * 2003-07-07 2007-07-17 Texas Instruments Incorporated Optimal power saving scheduler for 802.11e APSD
WO2005038625A2 (en) 2003-10-17 2005-04-28 Nielsen Media Research, Inc. Et Al. Portable multi-purpose audience measurement system
JP4347190B2 (ja) * 2003-11-13 2009-10-21 コマツNtc株式会社 工作機械の制御装置
JP4486348B2 (ja) * 2003-11-26 2010-06-23 株式会社日立製作所 ドライブの稼働時間を抑止するディスクアレイ
JP4433782B2 (ja) * 2003-12-17 2010-03-17 株式会社日立製作所 情報処理装置及びオペレーティングシステム
US7802255B2 (en) * 2003-12-19 2010-09-21 Stmicroelectronics, Inc. Thread execution scheduler for multi-processing system and method
US8566828B2 (en) 2003-12-19 2013-10-22 Stmicroelectronics, Inc. Accelerator for multi-processing system and method
US20050228967A1 (en) * 2004-03-16 2005-10-13 Sony Computer Entertainment Inc. Methods and apparatus for reducing power dissipation in a multi-processor system
US8224639B2 (en) 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
US7360102B2 (en) * 2004-03-29 2008-04-15 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processor manipulation
JP2006195945A (ja) * 2004-12-14 2006-07-27 Matsushita Electric Ind Co Ltd 電子装置及びそのピーク電力制御方法
US20060265712A1 (en) * 2005-05-18 2006-11-23 Docomo Communications Laboratories Usa, Inc. Methods for supporting intra-document parallelism in XSLT processing on devices with multiple processors
JP4335181B2 (ja) * 2005-07-27 2009-09-30 シャープ株式会社 センサネットワークシステム及びそのセンサデバイス制御方法
US20070288476A1 (en) 2005-12-20 2007-12-13 Flanagan Eugene L Iii Methods and systems for conducting research operations
JP4372119B2 (ja) * 2006-05-19 2009-11-25 キヤノン株式会社 Web情報処理装置及びWeb情報処理方法
JP2007312250A (ja) * 2006-05-19 2007-11-29 Canon Inc Web情報処理装置及びWeb情報処理方法、情報処理装置及び情報処理装置の制御方法
JP5124989B2 (ja) * 2006-05-26 2013-01-23 日本電気株式会社 ストレージシステム及びデータ保護方法とプログラム
WO2007143394A2 (en) 2006-06-02 2007-12-13 Nielsen Media Research, Inc. Digital rights management systems and methods for audience measurement
JP2008234475A (ja) * 2007-03-22 2008-10-02 Toshiba Corp 情報処理装置
US8237447B2 (en) * 2007-05-11 2012-08-07 Panasonic Ev Energy Co., Ltd. Apparatus for detecting state of storage device
US10339227B1 (en) 2007-06-08 2019-07-02 Google Llc Data center design
US8813080B2 (en) * 2007-06-28 2014-08-19 Intel Corporation System and method to optimize OS scheduling decisions for power savings based on temporal characteristics of the scheduled entity and system workload
US9292303B2 (en) * 2008-07-22 2016-03-22 International Business Machines Corporation Suspend profiles and hinted suspending
JP5256925B2 (ja) * 2008-08-12 2013-08-07 富士通モバイルコミュニケーションズ株式会社 携帯端末装置
JP5131243B2 (ja) * 2009-05-11 2013-01-30 富士通株式会社 伝送装置及び伝送装置の休止方法
US8178997B2 (en) 2009-06-15 2012-05-15 Google Inc. Supplying grid ancillary services using controllable loads
WO2011066823A2 (de) * 2009-12-05 2011-06-09 Jens Mehnert Verfahren und vorrichtung zur analyse des energieeinsatzes beim betrieb eines produktionssystems
JP5052592B2 (ja) * 2009-12-28 2012-10-17 株式会社日立製作所 ストレージ管理システム、ストレージ階層管理方法及び管理サーバ
US8843774B2 (en) * 2010-08-20 2014-09-23 Qualcomm Incorporated Method and apparatus for managing battery power in response to an indication of an application being scheduled for immediate execution
US8924749B2 (en) * 2010-12-20 2014-12-30 Smsc Holdings S.A.R.L. Software controlled power limiting in USB to SATA bridge
JP5716474B2 (ja) * 2011-03-22 2015-05-13 富士ゼロックス株式会社 情報処理装置及びプログラム
US8315620B1 (en) 2011-05-27 2012-11-20 The Nielsen Company (Us), Llc Methods and apparatus to associate a mobile device with a panelist profile
JP6049047B2 (ja) 2011-09-30 2016-12-21 Necスペーステクノロジー株式会社 冗長化増幅器及びその切替方法
US9009500B1 (en) 2012-01-18 2015-04-14 Google Inc. Method of correlating power in a data center by fitting a function to a plurality of pairs of actual power draw values and estimated power draw values determined from monitored CPU utilization of a statistical sample of computers in the data center
JP2013168029A (ja) * 2012-02-15 2013-08-29 Canon Inc 電力管理サーバ、画像処理装置およびその制御方法、電力管理システム、電力管理方法、及びプログラム
US8988914B2 (en) 2012-04-18 2015-03-24 Strategic Patent Management, Llc Variable input control for improving switched power supplies
US9219559B2 (en) 2012-05-16 2015-12-22 The Nielsen Company (Us), Llc Methods and systems for audience measurement
JP6122682B2 (ja) * 2013-04-16 2017-04-26 ルネサスエレクトロニクス株式会社 半導体装置及びそれを備えたプロセッサシステム
US9710863B2 (en) * 2013-04-19 2017-07-18 Strategic Patent Management, Llc Method and apparatus for optimizing self-power consumption of a controller-based device
US9426525B2 (en) 2013-12-31 2016-08-23 The Nielsen Company (Us), Llc. Methods and apparatus to count people in an audience
US9551588B2 (en) 2014-08-29 2017-01-24 The Nielsen Company, LLC Methods and systems to determine consumer locations based on navigational voice cues
KR20200084987A (ko) 2019-01-03 2020-07-14 삼성전자주식회사 전력을 제어하기 위한 전자 회로
US11314558B2 (en) 2019-07-23 2022-04-26 Netapp, Inc. Methods for dynamic throttling to satisfy minimum throughput service level objectives and devices thereof
TWI743775B (zh) * 2020-05-07 2021-10-21 技嘉科技股份有限公司 電源切換裝置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3842249A (en) * 1971-10-19 1974-10-15 Westinghouse Electric Corp Electrical system with programmed computer control and manually initiated control means
US4612518A (en) * 1985-05-28 1986-09-16 At&T Bell Laboratories QPSK modulator or demodulator using subharmonic pump carrier signals
US5218704A (en) * 1989-10-30 1993-06-08 Texas Instruments Real-time power conservation for portable computers
JPH0776894B2 (ja) * 1991-02-25 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレイション プロセッサ用クロック信号の制御方法及び情報処理システム
US5339445A (en) * 1992-11-16 1994-08-16 Harris Corporation Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption
US5483656A (en) * 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5511203A (en) * 1994-02-02 1996-04-23 Advanced Micro Devices Power management system distinguishing between primary and secondary system activity
US5481733A (en) * 1994-06-15 1996-01-02 Panasonic Technologies, Inc. Method for managing the power distributed to a disk drive in a laptop computer

Also Published As

Publication number Publication date
US5828568A (en) 1998-10-27
DE69532596D1 (de) 2004-04-01
EP0683451A3 (de) 1997-04-16
KR950033774A (ko) 1995-12-26
EP0683451B1 (de) 2004-02-25
KR0177536B1 (ko) 1999-05-15
EP0683451A2 (de) 1995-11-22

Similar Documents

Publication Publication Date Title
DE69532596T2 (de) Verfahren zur Steuerung der Stromversorgung in einer Mehrprozessbetriebsumgebung
DE10296549T5 (de) Ein Verfahren zum Bestimmen von Überführungspunkten bei Mikroprozessoren mit mehreren Leistungszuständen
DE69327794T2 (de) Verfahren zur autonomen reduktion des leistungsverbrauchs in einem rechensystem
DE69522595T2 (de) Verfahren und Vorrichtung zur Stromverbrauchssteuerung in einem Rechnersystem
DE69529362T2 (de) System zur Steuerung eines Peripheriebustaktsignals
DE112007000446B4 (de) Verfahren und Vorrichtung zum Verwenden dynamischer Arbeitsmengenmerkmale, um die Skalierung von Frequenz und Spannung einer CPU zu steuern
DE60223555T2 (de) Verfahren und apparat zur takt- und leistungssteuerung in drahtlosen systemen
DE69524873T2 (de) Dynamische prozessorleistung und leitstungsverwaltung in einem rechnersystem
DE69202278T2 (de) Leistungsverbrauchreduzierung in einem digitalen Prozessor.
DE102008064368B4 (de) Wenigstens teilweise auf einem Leistungszustand eines integrierten Schaltkreises basierende Versorgungsspannungssteuerung
DE102014219905B4 (de) Konfiguration von Leistungsdomänen eines Mikrocontroller-Systems
DE10231668B4 (de) Multitaskingbetriebssystem zur Verringerung des Stromverbrauchs und elektronische Steuerung im Fahrzeug, die selbiges benutzt
DE69907512T2 (de) Gerät und verfahren zur automatischen frequenzregelung einer zentralen verarbeitungseinheit
DE69518604T2 (de) Steuerung verstellbarer Taktfrequenz für einen Mikroprozessor verwendende Rechnersysteme
DE102007048505B4 (de) Server, konfiguriert zum Verwalten von Leistung und Betriebsverhalten
EP2227727B1 (de) Datenprozessor-leistungsfähigkeitsvorhersage
DE69617110T2 (de) Plattenantrieb mit adaptiver anforderungsgesteuerter Leistungsverwaltung
DE102010002636B4 (de) Reduktion des Stromverbrauchs in einem Mikrocontroller
DE69225624T2 (de) Leistungssteuerungssystem für batteriebetriebenen Rechner
DE69905180T2 (de) Verfahren zur energieeinsparung ohne leistungsverminderung
DE69015084T2 (de) Rechnersystem mit Steuereinheit zur Steuerung der Energieversorgung einer Speichereinheit.
DE112008001223B4 (de) Datenverarbeitung mit einem Cache-Zugriffsmodus mit geringer Leistung
DE112008000603B4 (de) Verfahren zum Steuern von Kernarbeitsakten unter Verwendung von Niedrigleistungsmodi
DE102010029209B4 (de) Verfahren zur dynamischen Verteilung von einem oder mehreren Diensten in einem Netz aus einer Vielzahl von Rechnern
DE112007001713T5 (de) System und Verfahren zum Steuern von Zuständen niedriger Energie bei Prozessoren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition