@Stefan Glienke And the existence of two byte data that cross cache lines shows that unaligned access is not atomic.
When arguing about non deterministic properties like atomic access or thread safety the language used is a little different. When we say code is. It threadsafe we don't mean that it will always fail. We mean that we can't guarantee that it will always succeed. When we say memory reads are not atomic we don't mean that they won't always be read with multiple bus reads. We mean that we can't guarantee that they will always be read with a single bus read.
Single bytes are aligned, because they can't straddle cache lines. Reads are therefore atomic, because they are aligned.
Two byte reads can straddle cache lines and unaligned reads are not atomic.
Actually both of these statements are wrong. Reading unaligned memory is not atomic for reads that straddle cache lines. And unaligned memory access is not slow on modern processors.