### Thread: How is a byte formed from bits

1. No Profile Picture
Registered User
Devshed Newbie (0 - 499 posts)

Join Date
Aug 2013
Posts
6
Rep Power
0

#### How is a byte formed from bits

My understanding is computers can only 'understand' ones and zeros one at a time. So, in the case of a 'unit' of digital information such as a byte (which is made up of a group of ones and zeros) - how does the computer 'read' that? Since a byte is made up of a group of ones and zeros, I assume it would need to read those ones and zeros (bits) sequentially - one after the other - in order to know what the value of the byte is? Thanks.
2. Yes. It's more like "a series of eight consecutive bits" than a "group".
3. Originally Posted by dmac0505
My understanding is computers can only 'understand' ones and zeros one at a time. So, in the case of a 'unit' of digital information such as a byte (which is made up of a group of ones and zeros) - how does the computer 'read' that? Since a byte is made up of a group of ones and zeros, I assume it would need to read those ones and zeros (bits) sequentially - one after the other - in order to know what the value of the byte is? Thanks.
Actually, it reads them in parallel. It depends on the width of the data bus that the CPU has. What this means is that a CPU has multiple pins on the chip that it can use to read or write data, each pin corresponding to one bit.

For instance, a 16 bit CPU will usually have a 16-bit data bus (i.e. 16 different pins on the chip to read or write data), and a 32-bit CPU will have a 32 bit bus and a 64-bit CPU will usually have a 64-bit data bus. The 8088 chip is a notable exception to this rule -- it is a 16 bit CPU and has an 8 bit data bus because of the availability of cheap 8 bit parts when it was originally designed. So an 8088 reads/writes 16 bits of data to other parts 8 bits at a time.

When the CPU indicates that it wants to read the value at a particular address, it sends signals to a memory chip saying that it wants to read the data at address XXXX. The memory chip then returns signals in parallel on the data bus corresponding to the various bits.

Note that in some architectures, a 32-bit chip can read 8, 16 or 32 bits at a time.
Last edited by Scorpions4ever; December 6th, 2013 at 04:43 PM.
4. No Profile Picture
Registered User
Devshed Newbie (0 - 499 posts)

Join Date
Aug 2013
Posts
6
Rep Power
0
Originally Posted by Scorpions4ever
Actually, it reads them in parallel. It depends on the width of the data bus that the CPU has. What this means is that a CPU has multiple pins on the chip that it can use to read or write data, each pin corresponding to one bit.

For instance, a 16 bit CPU will usually have a 16-bit data bus (i.e. 16 different pins on the chip to read or write data), and a 32-bit CPU will have a 32 bit bus and a 64-bit CPU will usually have a 64-bit data bus. The 8088 chip is a notable exception to this rule -- it is a 16 bit CPU and has an 8 bit data bus because of the availability of cheap 8 bit parts when it was originally designed. So an 8088 reads/writes 16 bits of data to other parts 8 bits at a time.

When the CPU indicates that it wants to read the value at a particular address, it sends signals to a memory chip saying that it wants to read the data at address XXXX. The memory chip then returns signals in parallel on the data bus corresponding to the various bits.

Note that in some architectures, a 32-bit chip can read 8, 16 or 32 bits at a time.
Hey thanks Scorpions- that makes it somewhat easier to comprehend. I guess my next question would be ok, so all of the bits have arrived at the CPU via the data bus- so now how does the CPU read all those ones and zeros? Sequentially one after the other or as a group somehow?
5. Originally Posted by dmac0505
Hey thanks Scorpions- that makes it somewhat easier to comprehend. I guess my next question would be ok, so all of the bits have arrived at the CPU via the data bus- so now how does the CPU read all those ones and zeros? Sequentially one after the other or as a group somehow?
I posted some links at the other thread you made.

Have you tried to look at them?
6. No Profile Picture
Registered User
Devshed Newbie (0 - 499 posts)

Join Date
Aug 2013
Posts
6
Rep Power
0
Originally Posted by MrFujin
I posted some links at the other thread you made.

Have you tried to look at them?
Hi MrFujin. I did take a look at those thank you. Either I am not smart enough to understand it or I am not asking my question properly.
7. No Profile Picture
Registered User
Devshed Newbie (0 - 499 posts)

Join Date
Dec 2013
Location
Luton
Posts
1
Rep Power
0

#### Hi

Actually for this you must know about a little of Digital Electronics.
The easiest way to understand bits is to compare them to something you know: digits. A digit is a single place that can hold numerical values between 0 and 9. Digits are normally combined together in groups to create larger numbers. For example, 6357 has 4 digits. It is understood that in the number 6357 that the 7 is filling the "1s place", while the 5 is filling the 10s place, the 3 is filling the 100s place and the 6 is filling the 1000s place. So you could express things this way if you wanted to be explicit:

(6 * 1000) + (3 * 100) + (5 * 10) + (7 * 1) = 6000 + 300 + 50 + 7 = 6357