Improving the bubble replacement algorithm in multi-core with shared L1 instruction cache