Embedded controller: Difference between revisions

Content deleted Content added
Tasks: Debugging implies stepping through code and reading memory contents to find a bug in a program. Remediation is repair of a computer. Also, beef up the stuff about thermal measurement.
Tasks: Embedded controllers can be used to control the power system. Generally, the embedded controller that does crypto is in the TPM and not the general purpose embedded controller.
Line 8:
== Tasks ==
 
AnA generic embedded controller often has the following tasks:
*Receiving signals from the keyboard and other buttons and switches (e.g., power button, laptop lid switch)
*Turning the computer on and off
*Controlling charging of the computer's [[battery]]
*Controlling access to the [[A20 line]]
*Thermal measurement and response including fan control, [[Dynamic frequency scaling|CPU throttling]], and emergency shutdown in response to rising temperatures
*Placing the computer into ([[standby]]) or resuming from standby
*Controlling indicator [[LED]]s
*Power management
*Performing [[Cryptography|cryptographic]] functions
*Allowing remote diagnostics and remediation
 
As a core system component, the embedded controller is always on when power is supplied to the mainboard. To communicate with the main computer system, several forms of communication can be used, including [[Advanced Configuration and Power Interface|ACPI]], [[SMBus]], or [[Shared memory|shared memory]].
 
The embedded controller has its own [[RAM]], independent of that used by the main computer system, and almost always its own [[flash ROM]] on which the controller's [[software]] is stored. Many BIOS updates also include upgrades for the embedded controller firmware.
 
An embedded controller is sometimes known as a "Keyboard Controller BIOS", which comes from the fact that the embedded controller evolved from the keyboard controller and often still is used as a keyboard controller. Even today, an ACPI embedded controller communicates with the CPU by using the same I/O ports that keyboard controllers used in the past.
 
[[Trusted Platform Module]]s contain an embedded controller that performs [[Cryptography|cryptographic]] functions and nothing else.
 
== Ergonomics ==