Basit bir deyişle, banka çakışması, herhangi bir bellek erişim modelinin IO'yu bellek sisteminde bulunan bankalar arasında dağıtamadığı bir durumdur. Aşağıdaki örnekler kavramı detaylandırmaktadır: -
Diyelim ki iki boyutlu 512x512 tamsayı dizisi var ve DRAM veya bellek sistemimizde 512 banka var. Varsayılan olarak dizi verisi, arr [0] [0] bank 0'a, arr [0] [1] bank 1'e, arr [0] [2] bank 2'ye ... arr [0] [511], bank 511'e gider. arr [x] [y], banka numarası y'yi kullanır. Şimdi bazı kodlar (aşağıda gösterildiği gibi) verilere ana sütun tarzında erişmeye başlar. y'yi sabit tutarken x'i değiştirirseniz, sonuç, tüm ardışık bellek erişiminin aynı kümeye çarpmasıdır - dolayısıyla banka çakışması.
int arr[512][512];
for ( j = 0; j < 512; j++ ) // outer loop
for ( i = 0; i < 512; i++ ) // inner loop
arr[i][j] = 2 * arr[i][j]; // column major processing
Bu tür problemler, genellikle, diziyi arabelleğe alarak veya dizideki elemanların asal sayısını kullanarak derleyiciler tarafından önlenir.