I've found the memory alignment is always equal to power of 2. Google said that such amount of alignment allows modern computers to perform read more fast. Ok, what exactly problem we would gain if we set amount of alignment is power of 3? To be more specific I would like to know what exact hardware architect aspect require the alignment to be a power of 2.
Modern computer memory is conceptually addressed as bytes, but the real hardware transfer is done in a multiple (a power of 2) of bytes. To do this, the last few bits of the address do not take part in the actual transfer, but are (optionally) used inside the CPU to select one (or more) of the transferred bytes.
A consequence of this scheme is that what is transferred is a block of bytes (the size is a power of 2) that is aligned at a multiple of the block size. If the CPU wants a data block that does not fit this constraint, more than one block read is needed, and the CPU must reshuffle the content of the blocks to get the data it needs. A CPU can do without such reshuffling hardware (and the associated loss of time) by requiring that data is suitably aligned.
In short: 2^N alignment matches what is easy and fast in hardware.
Try counting up in multiples of 10. It's very easy: 10, 20, 30, 40, 50, 60, ...
Now try counting up in multiples of some other number, like, say, 7: 7, 14, 21, 28, 35, 42, ...
You'll notice that, in base 10, it's a lot easier to count up in multiples of 10 (or 100 or 1000) because you can just count up in increments of one and append one or more zeros to the end of the numbers. Counting up in multiples of 7 is a lot harder, because there's no such easy rule, and you'll end up having to do some non-trivial arithmetic (especially after you get past the small multiples of 7 you may have memorized while learning the multiplication table in preliminary school).
It works the same way for computers, except that all modern computers use base 2 instead of base 10 internally (because binary digits are easy to represent electronically; you just have two states: 1/0, on/off, high/low). Thus, for computers, counting in steps of 2 (or 4 or 8 or 16, etc.) is very easy, whereas counting in steps that are not powers of 2 requires more complex arithmetic.