this post was submitted on 23 Jun 2024
278 points (95.1% liked)

Technology

58133 readers
4456 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] -1 points 2 months ago (1 children)

I see it as the number of possible instructions.

As in, 8 bit 8085 had 2^8^ possible instructions, 32 bit ones had 2^32^ and already had enough possible combinations that we couldn't come up with enough functions to fill the provided space.

CC BY-NC-SA

[–] [email protected] 5 points 2 months ago (1 children)

So "instruction encoding length".

I don't think that works though. For something like RISC-V, RV64 has a maximum 32-bit instruction encoding. For x86-64 those original 8-bit intructions still exist, and take up a huge part of the encoding space, cutting the number of n-bit instructions to more like 2^(n-7)

[–] [email protected] 0 points 2 months ago (1 children)

RV64 has a maximum 32-bit instruction encoding

I kinda expected that to happen, since there's already enough to fit all required functions. So yeah, even this is not a good enough criteria for bit rating.

those original 8-bit intructions still exist, and take up a huge part of the encoding space, cutting the number of n-bit instructions to more like 2^(n-7)

err... they are still instructions, right? And they are implemented. I don't see why you would negate that from the number of instructions.

[–] [email protected] 2 points 2 months ago (1 children)

If the 8088 had used all but one 256 8-bit values as legal instructions, all your new instructions after that point would need to start with that unused value and then you can add a maximum of 256 instructions by using the next byte. End result is 511 instructions can be encoded in 16-bits.

[–] [email protected] 0 points 2 months ago

Ah right! I forgot about that.

So you either have to pad all instructions in all previous binaries, or reduce the amount of available instructions in the arch update.