Was mich halt wundert: Warum ist sie "so" warm? Sie macht ja im Prinzip nichts, d.h. sie ist eigentlich "idle".
Wenn der ST läuft, und du nichts daran machst, und auch kein Programm rechnet, bedeutet das lange nicht, dass die CPU nichts macht.
Denn auch auf Benutzereingaben warten, ist für die 68000 CPU Arbeit, in dem sie Programmcode ausführt, da läuft eine Warteschleife ab, innerhalb einer Sekunde wird die vielleicht sogar mehrere Millionen male durchlaufen:
schleifenanfang
.. passiert was, wenn ja, springe da hin
schleifenende (d.h. springe wieder an schleifenanfang)
:da
... mach was (irgendein programmcode)
springe zurück zu schleifenanfang
Erst wesentlich modernere Prozessoren haben Stromsparmodis, in denen sie den Prozessortakt herunterschalten oder gar anhalten können. Anhalten ist besonders interessant, denn der Prozessor muss regelmäßig wieder kurz aufwachen, und abfragen, ob der Benutzer etwas gemacht hat. Ist nix passier, schläft die CPU wieder für einen Moment ein. Oder ein Serviceprozessor muss den Prozessor aufwecken, wenn etwas passiert.
Und jetzt die Antwort auf die Frage: Warum wird der Prozessor warm. Die einfachste Antwort ist : P=U*I
Das ist die elektrische Leistung, Spanmnung mal Strom, nicht die Rechenleistung. Und elektrische Leistung wird ganz banal in Wärme abgegeben.
Und jetzt erkläre ich dir, warum ein Prozessor mehr Strom braucht, wenn er ausgelastet ist. Dazu muss man sich die niedrigste Ebene der Prozessorlogik anschauen, das ist ein sogenanntes CMOS-Gate. Das CMOS-Gate besteht aus zwei Transistoren, die zwischen Versorgungsspannung und Masse in Reihe geschaltet sind. An der Verbbindung der beiden Transistoren in der Mitte, das ist das elektrische Signal, welches verarbeitet werden soll. Du kannst dir einfach zwei Kippschalter vorstellen, die in Reihe geschaltet sind, und in der Mitte ist das Signal. Damit ergeben sich folgende Betriebssituationen:
Oberer Schalter offen
Unterer Schalter offen
Signal weder mit Betriebsspannung noch mit Masse verbunden, ohne weitere Beschaltung ist die Spannung des Signals undefiniert, so etwas kann man nicht gebrauchen, die Konstellation darf also nicht passieren
Oberer Schalter geschlossen
Unterer Schalter geschlossen
Signal ist gleichzeitig mit Versorgungsspannung und Masse verbunden, Kurzschluß! Auch diese Konstellation darf nicht passieren
Oberer Schalter geschlossen
Unterer Schalter offen
Signal ist mit Versorgungsspannung verbunden, nicht aber mit Masse. Das heißt, das Signal hat die selbe Spannung wie Versorgungssignal. High-Zustand, oder kurz binär "1"
Oberer Schalter offen
Unterer Schalter geschlossen
Signal ist mit der Masse verbunden, nicht aber mit der Versorgungsspannung. Das heißt, das Signal steht auf Low-Zustand, bzw. "0"
Die beiden letzteren Zustände, damit arbeiten alle logischen Gatter, die beiden anderen Zustände wo beide Schalter gleichzeitig offen oder geschlossen sind, die sind verboten. Wenn aber immer ein Schalter geschlossen ist, und ein Schalter immer offen ist, kann kein Strom von Versorgungsspannung nach Masse abfließen, das heißt, es wird keine Leistung verbraucht, es kann keine Wärme entstehen. Das erklärt den Stromverbrauch des Prozessor noch nicht.
Nun ersetzen wir gedanklich aber die Kippschalter wieder durch Transistoren, und die haben im Gegensatz zum Kippschalter ein paar unangenehme Eigenschaften:
- Kriechströme (Silizium ist ein elektrisch leitendes Material!)
- Elementarkondensatoren durch sich gegenüberstehende unterschiedliche Ladungen zwischen P- und N-dotiertem Silizium, jeder Kondensator hat Kriechströme zwischen + und -.
- Transistoren schalten nicht schlagartig schnell zwischen "Offen" und "geschlossen", sondern durchwandern beim Schalten eine Grauzohne, wo der Widerstand kurzzeitiug irgendwo zwischen 0 und maximal liegt.
Das heißt, es gibt zum einen ständig Kriechströme durch die einzelnen Gatter und während ein Gatter seinen Ausgang von 0 nach 1 oder von 1 nach 0 umschaltet, sind beide Transistoren kurzzeitig hochohmig leitend, das heißt während des Umschalten gibts kurzzeitig einen kurzen Stromimpuls von Versorgungsspannung nach Masse, man nennt das "Querstrom".
Und es wird klar sein, je mehr solcher Schaltvorgänge pro Zeiteinheit passieren, dass es um so mehr dieser Querströme pro Zeiteinheit gibt. Das heißt, je mehr Funktionseinheiten des Prozessors gleichzeitig arbeiten müssen, um so mehr Stromverbrauch. Wenn der 68000er tatsächlich aus 68000 Gattern bestehen sollte, was ich für ein Gerücht halte*, wären das im schlimmsten Falle 32000 Querströme gleichzeitig... Hinzu kommt noch folgender Merksatz aus dem Basiswisen E-Technik, Parallelschaltung zweier oder mehrerer Widerstände: Der Gesamtwiderstand ist kleiner als der kleinste Einzelwiderstand.
Was kann man nun tun, um diese Querströme beim Schalten zu minimieren:
- Die einfachste Antwort ist wieder P=U*I, daraus ergeben sich zwei Konsequenzen:
--- Man kann die Versorgungsspannung verkleinern. Der 68000er braucht 5V, ein moderner Intel Core i-Prozessor hat eine Core-Spannung von weniger als 1,5V. Gewisse physikalische Größen kann man aber nicht unterschreiten, z.B. benötigen bipolar-Transistoren eine Schaltspannung zwischen 0 Volt (Transistor geschlossen) bis 0,6V (offen). Würde man mit der Betriebsspannung unter 0,6V gehen, würde der Transistor nicht mehr funktionieren. Hier könnte man allerdings auf Germanium ausweichen, das braucht nur 0,3V.
--- Man macht die Strukturen kleiner, damit weniger Elektronen (Strom) durch die Leiterbahnen passen
- Eine weitere Verbesserung bringen kleinere Strukturen auch in Bezug auf die Elemntarkondensatoren, werden diese nämlich kleiner, und damit auch die Kriechströme.
- Man lässt die Transistiren schneller schalten, dadurch wird die Zeit, in der dieser Querstrom fließt, kürzer. Dazu braucht man steilere Signalpegel am Eingang des Gatters.
- Isolierschichten aus anderen Materialien zwischen verschiedenen Schaltungsbereichen, Leiterbahnen usw.
- Taktverlangsammungen, Schlafmodis, etc.
- usw.
*Das originale Handbuch von Motorola zum 68000 liegt mir vor. Darin Motorolas offizielle Beschreibung, man schreibt für die Namensgenung, dass der 68000 der Nachfolger des 8-Bit-Prozessors 6800 ist, aus dessem Repertoire auch die beiden 6850-Bausteine für Midi und Tastatur/Serielleschnisttelle (Ih will jetzt nicht im Schaltpan nachgucken...) im ST stammen.Daher einfach eine 0 mehr in der Bezeichnung. Der 6800 ist übrigens weitestgehend befehlskompatibel zum 6502/6510 im Atari XL bzw. Commodore 64. Befehlsmäßig hat der 68000 aber kaum etwas gemeinsam mit dem 6800, der 68000 war eher ein kompletter Neuanfang.