On 2018-08-02, at 08:22:52, Alan Atkinson wrote:

> "Inline data is no more expensive than data in another page. In either case, 
> the reference to the data requires a cache line load to the D-cache, but does 
> not invalidate/disturb the I-cache"
> 
> Is that also now true for the target of an execute perchance?
>  
Surely this is model-dependent.  On S/360, I doubt it mattered.

> We went through a whole exercise to get rid of all the
> 
> EX *+8
> J *+??
> <target of execute>
>  
A principal use of EX is to be able to use a register mask to modify the
target.  CDC 3800 had a clever alternative to this, a modify-next-instruction
instruction (I forget what it was called).  The target was always the following
instruction; execution continued after that instruction -- no need to branch
around.  Its principal use was to enable CDC 3800 extended addressing in old
CDC 3600 short-address instructions.  Addressing was not otherwise modal.

IBM might have done well to provide a modify-next rather than a long-address,
pipeline breaking, dreadfully expensive, EX.

(They probably had the discussion and had good reasons not to do it.)

(Can EX modify the CC mask in a target branch instruction?  A sure
branch prediction breaker.)

-- gil

Reply via email to