Кэша должно быть много либо он должен быть быстрым, оба варианта в среднем по производительности будут равны, если не брать самые крайние случаи совсем мало очень быстрого или очень много, но очень медленного. Быстрый кэш на большой локальности будет обгонять, но отставать на большом количестве нитей или используемой нитью памяти.
Сколько это нормально и достаточно в числах? Ну, не меньше чем на моделях предшественников, чтобы не ударить в грязь лицом перед тем, что снято с производства. Я не поленился и порылся в данных процессоров близких к временам кэша "со сквозной записью". В наихудшем для фенома и бульдозера вариантах использования:
CPU L1d L1c L2 L3
старый 16/4 16/4 256/8 -
феном Х4 64/2 64/2 512/16 1500/12
бульдозер 16/4wt 64/1 1024/8 1024/8
И феном и бульдозер в L1 явно пострадали по числу входов L1, фактически по числу независимо распределенных участков памяти, которые можно закэшировать.
А кэш L1 это быстрый вариант управляемого кэша, который имеет особое значение, поскольку программисты, которые пишут не на системно независимом Джава, уже смирились с тем, что память неоднородна и могут использовать технику вида: предвыборка строки кэша + работа с ней, для которой недостаток входов может приводить к постоянному кэш-промаху, при выполнении нескольких потоков на одном ядре также возрастает потребность в числе входов.
Все это разговоры философские, однако по аналогии ясно, что L2 не может заменить L1 если работает на более низкой скорости, вот график для фенома в одной из загруженных конфигураций
