直接映射,缓存中的关联映射

要构建大小为S的缓存,其中Cl为缓存行数,B为块大小,S,Cl和B具有2的幂。编写一个程序,允许使用以下方法加载到缓存中并搜索缓存:

1)直接映射 2)联想记忆 3)n路集合联想记忆

需要编程代码。请提供完整代码。