|
Example:
00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001001 00001010 00001011 00001100 00001101 00001110 00001111 00010000 00010001 00010010 00010011 00010100 00010101 00010110 00010111 00011000 00011001 00011010 00011011 00011100 00011101 00011110 00011111 00100000 00100001 00100010 00100011 00100100 00100101 00100110 00100111 00101000 00101001 00101010 00101011 00101100 00101101 00101110 00101111 00110000 00110001 00110010 00110011 00110100 00110101 00110110 00110111 00111000 00111001 00111010 00111011 00111100 00111101 00111110 00111111 .... (And so on...) 1 bit can hold 21 = 2 different patterns: 0 1 2 bits can hold 22 = 4 different patterns: 00 01 10 11 .. 8 bits can hold 28 = 256 different patterns: see above |
00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 0 1 2 3 4 5 6 7 00001000 00001001 00001010 00001011 00001100 00001101 00001110 00001111 8 9 10 11 12 13 14 15 00010000 00010001 00010010 00010011 00010100 00010101 00010110 00010111 16 17 18 19 20 21 22 23 00011000 00011001 00011010 00011011 00011100 00011101 00011110 00011111 24 25 26 27 28 29 30 31 00100000 00100001 00100010 00100011 00100100 00100101 00100110 00100111 32 33 34 35 36 37 38 39 .... (And so on...) The corresponding decimal value is computed using this formula: dn×2n + dn-1×2n-1 ... + d1×21 + d0×20 (see: click here) |
|
|
I use mailboxes because you are familiar to use mailbox addresses to identify a mailbox uniquely:
|
However, unlike "traditional mailboxes", these mail boxes "operate differently" than the ones you find in a post office.
I will describe the analogy next....
|
For CS255, it suffices to say that the cause of this phenomenon is the way that the memory bytes are connected onto the data bus that limits the possible combinations. Recall that the CPU and memory inter-connected by 3 buses (address bus, data bus and control bus):
The limitation that:
|
is caused by the manner the bits of the memory are connected to to the wires of the data bus
Until around 2010, the databus contain 32 wires
Today's computer have databuses that contain 64 wires
I will use a databus with 16 wires to explain the "byte combination" behavior of the memory.
The computer will always transfer 16 bits when the computer read or write to the memory
|
However, due to the internal structure the of the memory (that you will learn in CS355), the memory can only activate the following combinations of memory cells:
|
In other words, the memory can only combine adjacent consecutive memory cell where:
|
That's why only bytes that is located at an even address can be combined with the byte at the next address
Due to this organization, only a group of 4 bytes that start as an address that is divisible by 4 can be combined