캐시 block size = (2^m) * (word 크기)라 하자. 정렬제약이 있어서 모든 word 주소가 4의 배수이면(word 크기 = 4Byte 가정), 메모리 주소의 최하위 2bit는 워드 내의 Byte 순서를 나타낸다. 따라서 주소의 최하위 2bit는 캐시 block을 선택이나 캐시 block 내 word 선택에 일체 사용하지 않는다.
block size가 더 크면 spatial locality를 더 잘 활용해서 miss rate가 낮아진다. 하지만 block이 너무 커서 block 하나가 캐시의 상당부분을 차지하게 되면 miss rate가 오히려 커질 수도 있다. 왜냐하면 캐시 내의 block 개수가 너무 적어서 block에 대한 경쟁이 심해지기 때문이다. 결과적으로 block 내의 word를 별로 사용하지도 못했는데 그 block이 캐시에서 쫓겨나게 된다. 다시 말해 block size가 매우 클 경우, block 내 word 간의 spatial locality가 감소하게 되어 miss rate의 이득이 줄어든다.
The miss penalty is determined by the time required to fetch the block from the next lower level of the hierarchy and load it into the cache. The time to fetch the block has two parts: the latency to the first word and the transfer time for the rest of the block.
Clearly, unless we change the memory system, the transfer time—and hence the miss penalty—will likely increase as the block size expands. Furthermore, the improvement in the miss rate starts to decrease as the blocks become larger. The result is that the increase in the miss penalty overwhelms the decrease in the miss rate for blocks that are too large, and cache performance thus decreases.