One interesting point that many individuals do not realize is that the TPM is not an active device. Let me explain. For this purpose an active device is one that gets to make a "decision" on the platform and interrupt what else is going on. A passive device only responds to requests.



The TPM, on the PC, currently resides on the Low Pin Count (LPC) bus. The LPC bus, as it's name implies, has just a few pins and wires and is very limited on the amount of data that moves across the bus. In fact the LPC bus operates at the blazing (tongue in cheek here) speed of 33 MHz. One property of the LPC bus is that the devices that attach to the bus are supposed to, by specification, to be passive devices. That is each device on the LPC bus only responds to commands.



The TPM design also only contemplates a passive device. The entire command set is designed to respond to requests. There are no commands that work on interrupts or initiate an action. Each TPM command is a response to a specific request from either the platform itself or the users of the platform.



The reason why this distinction is important is that with the TPM being a passive device, using the TPM requires software to request the TPM to perform an operation. The TPM has no mechanism to act independently on it's own.



Now you know why the TPM is a passive device.



PS sorry for not posting for a few days but life can get busy at times.