Ich habe mich gefragt, ob dies möglich ist und ob es in aktuellen Designs durchgeführt wird. Schien mir eine interessante Idee zu sein. Hier ist ein kleines Diagramm, das ich gemacht habe, um es zu versuchen und zu erklären:
Nehmen wir also an, ich bin schlau und baue ein bisschen Hardware, die die Anzahl der Gleitkommaoperationen verfolgt, die ich in letzter Zeit durchgeführt habe. Es sagt mir, hey, Sie haben in den letzten 2000 Anweisungen keine FP-Operationen durchgeführt! Und beschließt dann, die gesamte Gleitkomma-Pipeline-Hardware "herunterzufahren". Wenn eine FP-Operation in der Befehlswarteschlange auftaucht, muss sie diese Leistung natürlich wieder einschalten, möglicherweise mit einer Verzögerung.
Ist das sinnvoll? Können Sie bestimmte Teile Ihres Chips "herunterfahren" und echte Energieeinsparungen erzielen? Wie (physikalisch in Bezug auf Schaltkreise) können Sie Teile der Hardware ausschalten? Und wie schwer ist es, sie wieder hochzufahren?
Tut mir leid, wenn das keine gute traditionelle Frage ist! Ich weiß, es ist nicht sehr spezifisch.
Beifall.
Ja, Sie können bestimmte Bereiche eines Chips ausschalten. Im Allgemeinen sehen Sie dies nicht in CPUs, indem Sie Hardwareabschnitte wie die überschüssigen FP-Blöcke (wie Sie vorgeschlagen haben) herunterfahren, hauptsächlich weil dies zu seltsamen Verhaltensänderungen in der Logik führen würde, je nachdem, ob eine Anweisung das Ausschalten verwendet hat oder nicht Blöcke.
Wo Sie es sehen, ist es an zwei Stellen:
Wie Sie einen Abschnitt eines Chips "herunterfahren", ist ziemlich einfach: Sie haben einen Leistungstransistor, der die positive Eingangsschiene zu allen Transistoren in einem Abschnitt des Chips steuert, und Sie schalten diesen ein und aus.
JDS
Weißquark
davidcary