A dirty bit (a.k.a. modified bit) is a bit that is associated with a block of memory indicating the data in that block has been modified. When a block of memory needs to be replaced, the CPU checks to see if the dirty bit indicates that data having been changed. If the data has been changed, the CPU must write the updated data back to main memory.
Dirty bits are commonly used in cache memory implementations but also used in paging (operating systems) and incremental/delayed computing. In the latter case, the dirty bit can help avoid redundant computation based on the state of a selected memory segment.