Originally Posted by J. Pierpont Finch
I was just wondering if my car was studying while we're driving.
Yes, it does, within reason. GM built a battery backed ram into the computer that stores tuning values and error codes. Disconnecting the battery will reset these values back to factory defaults.
This wasn't intended for modifications we have a habit of adding to the car, it was to account for wear and tear over the life of the drivetrain as well as variations in the actual motor installed (No two motors are ever "exactly" alike...even two built on the same day in the same plant will flow a little differently...it'* cummulative error in the manufacturing process)
The PCM is constantly computing pulsewidths for the injectors and ignition advance values for the spark based on how it sees the engine running. It uses the programmed calibration to start with. If the sensors tell it it'* doing a good job at guessing the correct values to keep the motor humming along, then the default values are just fine. If it is doing a poor job of guessing (i.e. the motor doesn't want to run at steady rpm and load, or it is puking emmissions) then it will start adding a fudge to the calculations till it gets it right. If it keeps using those fudged numbers all the time, it will store them in the memory of the PCM along with any error codes it picks up along the way. That'* Block Learn Mode in action.
Again, it can only account for a limited range of conditions. If you exceed them, the stored values will max out and it can't add or subtract any more fudge factor to the calculations. (This is what happens when you mod the heck out of the motor without adjusting the tables in the PCM that serve as the basis for computing injector pulsewidths and ignition advance....she mightta notta runna too good! )