• rhombus@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    2
    ·
    2 months ago

    Saying an ISA is just a hardware API vastly oversimplifies what an architecture is. There is way more to it than just the instruction set, because you can’t have an instruction set without also defining the numbers and types of registers, the mapping of memory and how the CPU interacts with it, the input/output model for the system, and a bunch of other features like virtual memory, addressing modes etc. Just to give an idea, the ARM reference is 850 pages long.

    • CalcProgrammer1@lemmy.ml
      link
      fedilink
      English
      arrow-up
      8
      ·
      2 months ago

      APIs can be complex too. Look at how much stuff the Win32 API provides from all the kernel calls, defined data structures/types, libraries, etc. I would venture a guess that if you documented the Win32 API including all the needed system libraries to make something like Wine, it would also be 850 pages long. The fact remains that a documented prototype for a software implementation is free to reimplement but a documented prototype for a hardware implementation requires a license. This makes no sense from a fairness perspective. I’m fine with ARM not giving away their fully developed IP cores which are actual implementations of the ARM instruction set, but locking third parties from making their own compatible designs without a license is horribly anticompetitive. I wish standards organizations still had power. Letting corporations own de-facto “standards” is awful for everyone.