Originariamente inviato da
UnixMan
non "spazio", ma numero di operazioni di basso livello (linguaggio macchina) e quindi cicli di clock. In effetti potrebbe essere anche spazio (RAM/cache/registri), laddove si utilizzasse una intera word per ciascun byte (quindi ben 3 word per ogni sample!).
Le CPU, i bus, la memoria, ecc, lavorano a "parole" (oggi di 32 o 64 bit), non sul singolo bit o byte. Ovviamente in caso di necessità c'è modo di fare anche quello (tipicamente con operazioni binarie sulle word: SHIFT, OR, XOR, ecc), ma è molto più complesso e.g. di una banale "
MOV" tra un registro ed una locazione di memoria, o tra due registri, ecc.
Un singolo sample da 24bit rappresentato con una singola parola viene processato (copiato/trasferito/ecc) con un numero minimo di operazioni, possibilmente una sola. Al contrario, gestire 3 bytes "singolarmente" (e/o "estrarli" da una word) è più complesso e richiede più operazioni.
In effetti è probabile che "internamente" tutti i formati vengano sempre rappresentati con una singola word "nativa" del sistema (32 o 64 bit) e l'eventuale conversione verso formati con word di lunghezze diverse (e.g. 24bit) venga fatta solo se/quando necessario all'inizio e/o alla fine (I/O).