在计算机架构课上,我学到了写缓冲区的功能;它可以保存等待写入内存的数据。我的教授只是说它可以提高时间性能。
然而,我真的很好奇“它如何提高时间性能”? 您能更精确地解释一下写缓冲区是如何工作的吗?
然而,我真的很好奇“它如何提高时间性能”? 您能更精确地解释一下写缓冲区是如何工作的吗?
这篇论文《写入缓冲区的设计问题和权衡》描述了写入缓冲区的目的:
在一个具有写回式一级缓存的系统中,写入缓冲区有两个基本功能:它可以以比下一级缓存更快的速度吸收处理器写操作(store指令),从而防止处理器停顿;并且它可以将对同一缓存块的写操作聚合起来,从而减少对下一级缓存的流量。
换句话说,其两个主要优点是:
如果处理器有一连串的写操作,这些写操作比缓存响应速度更快,那么写入缓冲区可以存储多个等待进入缓存的未完成写操作。这提高了性能,因为其中一些其他指令不必是写操作,因此它们可以继续执行而不被阻塞。
如果写入缓冲区中有对不同单词的多次写操作,这些操作将进入相同的缓存行,那么这些写操作可以合并成单一的对缓存行的写操作。这提高了性能,因为它减少了需要进入缓存的总写操作数(因为缓存行包含多个单词)。