#1
  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. #2
  3. Did you steal it?
    Devshed Supreme Being (6500+ posts)

    Join Date
    Mar 2007
    Location
    Washington, USA
    Posts
    13,965
    Rep Power
    9397
    Yes. It's more like "a series of eight consecutive bits" than a "group".
  4. #3
  5. Banned ;)
    Devshed Supreme Being (6500+ posts)

    Join Date
    Nov 2001
    Location
    Woodland Hills, Los Angeles County, California, USA
    Posts
    9,607
    Rep Power
    4247
    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.
    Up the Irons
    What Would Jimi Do? Smash amps. Burn guitar. Take the groupies home.
    "Death Before Dishonour, my Friends!!" - Bruce D ickinson, Iron Maiden Aug 20, 2005 @ OzzFest
    Down with Sharon Osbourne

    "I wouldn't hire a butcher to fix my car. I also wouldn't hire a marketing firm to build my website." - Nilpo
  6. #4
  7. 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?
  8. #5
  9. Lord of the Dance
    Devshed Expert (3500 - 3999 posts)

    Join Date
    Oct 2003
    Posts
    3,581
    Rep Power
    1906
    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?
  10. #6
  11. 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.
  12. #7
  13. 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

IMN logo majestic logo threadwatch logo seochat tools logo