A gated store buffer is a component that temporarily holds all memory stores generated after the checkpoint. In speculative mode, it acts as a storage location to hold both the address and data for a memory store operation. Newer stores to the same address will overwrite the old data in the buffer.
After the buffer is filled up, the checkpoint has to be committed and data in the buffer will be transferred sequentially to the memory. The GSB can instantly roll back to the previous memory state by discarding the stored data and disabling the GSB.
This implementation allows quick checkpoint taking and rolling back. However checkpoint committing is expensive because all the data in the buffer need to be written into the memory. We could possibly pipeline the write-back operation so that the processor could resume normal execution earlier.
2008-05-03
2008-05-02
2008-04-18
2008-04-14
2008-04-07
2008-04-01
2007-11-18
2007-11-01