Als Embedded Controller (EC) wird ein spezieller Mikrocontroller in Notebooks bezeichnet, der verschiedene Steuerungsaufgaben unabhängig vom Betriebssystem übernimmt.
Ein Embedded Controller hat typischerweise folgende Aufgaben:
Der Embedded Controller ist bei Stromversorgung immer angeschaltet.
Häufig kann das eigentliche Computersystem mit dem Embedded Controller kommunizieren. Dafür wird oft eine der folgenden Kommunikationsformen verwendet:
Der Embedded Controller hat eigenes RAM und fast immer Flash-ROM, auf dem die auszuführende Software gespeichert ist. Diese Software wird je nach Hersteller unterschiedlich benannt:
Viele BIOS-Updates enthalten neben der Aktualisierung der eigentlichen BIOS-Software auch eine Aktualisierung der Embedded Controller Firmware.
In den Fällen, wo es keine jeweils separate Firmware für BIOS und Embedded Controller gibt, hat der Embedded Controller wahrscheinlich zusammen mit der eigentlichen CPU einen gemeinsamen Zugriff auf den einzigen Flash-Speicher des Systems. Dieser gemeinsame Zugriff bedeutet oft auch die Kommunikationsform Shared Memory.
Der Name „Keyboard Controller BIOS“ kommt daher, dass der Embedded Controller fast immer die Aufgabe der Tastatursteuerung der Notebook-Tastatur übernimmt. Auch historisch gesehen hat sich das zum Embedded Controller entwickelt, was früher lediglich der Tastatur-Controller war. Noch heute wird, wenn mit einem ACPI Embedded Controller kommuniziert wird, der gleiche Weg (Port 0x62 und Port 0x66) verwendet, wie es früher zur Kommunikation mit dem Tastatur-Controller üblich war.
Häufig verwendete Mikrocontroller-Architekturen für Embedded Controller sind:
Auch wenn der Embedded Controller sehr „tief“ im System ist, kann er für den Nutzer wegen der Steuerung der Kühlung dennoch wichtig sein. Häufig produzieren Notebooks (selbst mit Stromspar-Technologie) so viel Abwärme, dass die Steuerung anhand der Temperatur entscheidet, den Lüfter anzuschalten. Der Lüfter wird dabei nicht einfach angeschaltet, sondern für kurze Zeit „hochgedreht“ und dann auf einer niedrigeren Drehzahl belassen, bis eine gewünschte Temperatur unterschritten wurde. Dies kann für ergonomisches Arbeiten sehr unangenehm sein, insbesondere wenn dies regelmäßig auftritt und der Lüfter – besonders in ruhigen Räumen – deutlich hörbar ist.
Abhilfe schafft hier eine Änderung der Steuerung: Der Lüfter werde nicht mehr „hochgedreht“ und die Drehzahl bleibt – bei moderaten Temperaturen – sehr niedrig. In diesem Fall ist es wahrscheinlich, dass die resultierende Luftströmung nicht mehr turbulent, sondern laminar und der Lüfter damit kaum noch hörbar ist. Oft ist die Kühlleistung eines so modifizierten Systems fast genauso gut wie die des Original-Systems. Ist sie es aber nicht, dauert ein Lüftungsvorgang, bis die Zieltemperatur unterschritten wurde, länger.
Um eine solche Modifikation umzusetzen, ist in der Regel eine Änderung der Embedded Controller Firmware notwendig. Manchmal reicht eine Änderung der ACPI DSDT aus (nämlich dann, wenn die Lüftersteuerung nicht durch den Embedded Controller, sondern durch den ACPI-Interpreter des Systems durchgeführt wird).