Live data from Hacker News

We'd be better off with 9-bit bytes

pavpanchekha.com

31–40 of 359 posts

Re: We'd be better off with 9-bit bytes

#31
post #13

> But in a world with 9-bit bytes IPv4 would have had 36-bit addresses, about 64 billion total. Or we would have had 27 bit addresses and ran into problems sooner.

That might've been better, actually. The author makes the mistake of "more time would've made this better", but we've had plenty of time to transition to IPv6. People simply don't because they are lazy and IPv4 works for them. More time wouldn't help that, any more than a procrastinating student benefits when the deadline for a paper gets extended.

But on the other hand, if we had run out sooner, perhaps IPv4 wouldn't be as entrenched and people would've been more willing to switch. Maybe not, of course, but it's at least a possibility.

Re: We'd be better off with 9-bit bytes

#32
I have thought for fun about a little RISC microcomputer with 6-bit bytes, and 4-byte words (12 MiB of addressable RAM). I think 6-bit bytes would have been great at a point in history, and in something crazy fun like Minecraft. (It's actually interesting question, if we were to design early microprocessors with today's knowledge of HW methods, things like RISC, caches or pipelining, what would we do differently?)

Re: We'd be better off with 9-bit bytes

#34

When you stop to think about it, it really doesn't make sense to have memory addresses map to 8-bit values, instead of bits directly. Storage, memory, and CPUs all deal with larger blocks of bits, which have names like "pages" and "sectors" and "words" depending on the context. If accessing a bit is really accessing a larger block and throwing away most of it in every case, then the additional byte grouping isn't rea…

It makes sense for the address to map to a value the same width as the data bus.

A one-bit wide bus ... er, wire, now, I guess ... Could work just fine, but now we are extremely limited with the number of operations achievable, as well as the amount of addressable data: an eight-bit address can now only reference a maximum of 32 bytes of data, which is so small as to be effectively useless.

Re: We'd be better off with 9-bit bytes

#35

Problem is, not only did we have decades of C code that unnecessarily assumed 8/16/32, this all-the-world-is-a-VAX view is now baked into newer languages. C is good for portability to this kind of machine. You can have a 36 bit int (for instance), CHAR_BIT is defined as 9 and so on. With a little bit of extra reasoning, you can make the code fit different machines sizes so that you use all the available bits.

Now a C++ proposal to define a byte as 8 bits

https://isocpp.org/files/papers/P3477R1.html

Re: We'd be better off with 9-bit bytes

#36
post #18

Earlier quoted context omitted.

One of the nice features of 8 bit bytes is being able to break them into two hex nibbles. 9 bits breaks that, though you could do three octal digits instead I suppose. 10 bit bytes would give us 5-bit nibbles. That would be 0-9a-v digits, which seems a bit extreme.

Crockford base32 would be great. it is 0–9, A–Z minus I, L, O, U.

The moment you feel the need to skip letters due to propensity for errors should also be the moment you realise you're doing something wrong, though. It's kind of fine if you want a case insensitive encoding scheme, but it's kind of nasty for human-first purposes (e.g. in source code).

Re: We'd be better off with 9-bit bytes

#37
post #3

Yeah, but hear me out - 10-bit bytes!

10 bit bytes would be awesome! Think of 20 bit microcontrollers and 40 bit workstations. 40 bits makes 5 byte words, that'd be rad. Also, CPUs could support "legacy" 32 bit integers and use a full 8 bits for tags, which are useful for implementing dynamic languages.

Re: We'd be better off with 9-bit bytes

#38
post #13

> But in a world with 9-bit bytes IPv4 would have had 36-bit addresses, about 64 billion total. Or we would have had 27 bit addresses and ran into problems sooner.

That might've been better, actually. The author makes the mistake of "more time would've made this better", but we've had plenty of time to transition to IPv6. People simply don't because they are lazy and IPv4 works for them. More time wouldn't help that, any more than a procrastinating student benefits when the deadline for a paper gets extended. But on the other hand, if we had run out sooner , perhaps IPv4 wouldn…

> simply don't because they are lazy and IPv4 works for them

Or because IPv6 was not a simple "add more bits to address" but a much larger in-places-unwanted change.

Re: We'd be better off with 9-bit bytes

#39
post #33

This is ignoring the natural fact that we have 8 bit bytes because programmers have 8 fingers.

Most have 10. That's the reason we use base 10 for numbers, even though 12 would make a lot of things easier: https://en.wikipedia.org/wiki/Duodecimal

ISO reserves programmers thumbs to LGTM on pull requests

Re: We'd be better off with 9-bit bytes

#40
post #15

Can you imagine the argument for 8bit bytes if we still lived in the original 6bit world of the 1950s? A big part of the move to 8bit systems was that it allowed expanded text systems with letter casing, punctuation and various ASCII stuff. We could move to the world of Fortran 36bit if really needed and solve all these problems while introducing a problem called Fortran.

There was already more than enough space for characters with 12-bit systems like the PDP-8. If anything, the convergence on 8-bit words just made it more efficient to use 7-bit codepages like ASCII.

As the UTF encodings have shown you can put any encoding in any bitform if need be.
Post reply on HN