>This thread has been curiously silent about one characteristic of >routines/instructions executed above the bar. Unsurprisingly, they >are measurably faster than their analogues executed below it. >z/Architecture is 64-bit architecture
>From subsequent appends, I know that, despite what John wrote, he was not referring to RMODE. It is not true that instructions executed above the bar execute faster than the same instructions executed below the bar As Jim Mulder wrote, if you are using the same instructions, AMODE does not matter. As far as I recall (and I'm not even sure it is still true), there is one instruction that was implemented to be "faster" in AMODE 64 than AMODE 31. That is "LG". And, similarly (or conversely), L is "faster" in AMODE 31. There is (or at least was) special hardware implemented to help. I've heard it referred to as a "load bypass". The fact that z/Architecture is a 64-bit architecture (actually, I'd say it's a hybrid architecture in that regard) has relatively little relevance to the speed. For example, STM is faster in saving 4-byte regs than STMG is in saving 8-byte regs. To a significant extent, it's just a question of the amount of data being moved. Getting back to the OP's original question, many find programming AMODE 64 to be simpler than programming AR mode. If using most high level languages this would be true if for no other reason than that many such languages do not even support AR mode. Still, it is a fact that there likely are a lot more services in z/OS that support AR mode callers (and parameter data in data spaces) than that support AMODE 64 callers (let alone data above the bar). That's not something to be "proud of", but it is a practical reality. Peter Relson z/OS Core Technology Design ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
