dcrayf...@gmail.com (David Crayford) writes:
> http://www.redbooks.ibm.com/redbooks/pdfs/sg246515.pdf
>
> There is one programming aspect that is relevant, although only
> slightly linked to the use of a split cache. For many years, it has
> been an axiom among S/360 - S/390 users that assembly language
> programmers probably produce faster code than high-level language
> compilers.  This is no longer true. Processors that use pipelines
> (including z800 and z900 machines) require a certain amount of
> nonsequential code to obtain the best performance. For example, if an
> instruction loads a register and the next instruction uses the
> register, we do not have optimum code. This sequence will stall the
> pipeline for several processor cycles. (The instructions work
> correctly, of course, but they take longer than necessary.) The best
> technique is to interleave several unrelated instructions between
> loading a register and using the new contents of the register.
>
> This is not natural, sequential thinking for an assembly programmer,
> although he could learn to do it. IBM’s recent S/390 compilers contain
> logic to produce this sort of optimized code.

re:
http://www.garlic.com/~lynn/2011g.html#67 What is the current feeling for MVC 
loop vs. MVCL?

which makes highly optimized code start to look more like old-time
horizontal microcoding (high-end pok machines, 3830 controller, etc)
... where the programmer was dealing in concurrent operations with
various latencies ... and trying to maximize overlapped operation.

-- 
virtualization experience starting Jan1968, online at home since Mar1970

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to