Remix.run Logo
smallstepforman 6 days ago

The elephant in the room nobody talks about is silicon cost (wires, gates, multiplexirs, AND and OR gates etc). With a 4th lane, you may as well go straight to 16 bits to a byte.

xpe 6 days ago | parent | next [-]

Would you lay out your logic (pun intended) a bit more? In what cases does doing from 8-bit bytes to 9-bit bytes result in something like a 2X penalty?

One possibility would be bit-indexed addressing. For the 9-bit case, yes, such an index would need 4 bits. If one wanted to keep nice instruction set encoding nice and clean, that would result in an underutilized 4th bit. Coming up with a more complex encoding would cost silicon.

What other cases are you thinking of?

xpe 6 days ago | parent [-]

> In what cases does doing from 8-bit bytes to 9-bit bytes result in something like a 2X penalty?

Self-correction: In what cases does going from 8-bit bytes to 9-bit bytes result in a penalty, and how much is it?

pratyahava 6 days ago | parent | prev [-]

This must be the real reason of using 8-bit. But then why did they make 9-bit machine instead of 16-bit?

AlotOfReading 6 days ago | parent [-]

The original meaning of byte was a variable number of bits to represent a character, joined into a larger word that reflected the machine's internal structure. The IBM STRETCH machines could change how many bits per character. This was originally only 1-6 bits [1] because they didn't see much need for 8 bit characters and it would have forced them to choose 64 bit words, when 60 bit words was faster and cheaper. A few months later they had a change of heart after considering how addressing interacted with memory paging [2] and added support for 8 bit bytes for futureproofing and 64 bit words, which became dominant with the 360.

[1] https://web.archive.org/web/20170404160423/http://archive.co...

[2] https://web.archive.org/web/20170404161611/http://archive.co...