• Shuffling the Headers Around

    From John Savard@quadibloc@invalid.invalid to comp.arch on Wed Aug 27 13:35:50 2025
    From Newsgroup: comp.arch

    Some additional tweaks have been made to the Concertina II instruction set.

    The Type I header has had one capability removed from it in order to make
    room for the Type Ia header.

    Now, in addition to a zero-overhead header which has an operate
    instruction built in, zero-overhead headers which have a memory-reference instruction built in are also available.

    The format of those memory-reference instructions is extremely limited,
    but at least it makes it _possible_ to have pseudo-immediates in a
    sequence where a memory-reference instruction goes in the leading spot of
    the block involved. One just has to allocate registers correctly to get
    this zero reference.

    Also, a while back, the ability to have 64-bit instructions in code
    without block headers was removed. It wasn't intneded to actually remove
    this from the ISA, but at the time, significant changes and re-
    organizations of the block headers were taking place, and I didn't want to keep these instructions updated to correspond.

    Now that this phase is over, they have been put back in.

    These changes, and some recent ones preceding them, have been aimed at enhancing either the ability to do without headers, or, if headers are
    needed, to increase the options to avoid their overhead cost if possible.

    Block headers are needed, because I can't figure out how to do pseudo- immediates without them, but as they are painful, I'm trying to both
    minimize their overhead and reduce the number of cases where there is need
    for them as much as I can.

    John Savard
    --- Synchronet 3.21a-Linux NewsLink 1.2