On 1/7/2012 9:03 AM, John P. Baker wrote:
Benchmark tests have indicated that MVCL is less efficient than an MVC loop designed to perform the same function. I suggest that the inherent inefficiencies of interruptive instruction design could well be the cause.
Based on our own internal benchmarks of various instructions, I don't think MVCL runs any slower because it's interruptible. (In fact, it runs faster than looping MVC for larger moves. The slowness for shorter moves seems attributable to millicode instruction overhead. MVCLE performs similarly.) However, your point is well taken in the larger context of instruction complexity, so I think we are saying essentially the same thing. Supporting interruptible instructions is complex and expensive. Whether the goal is to minimize hardware engineering time, chip "real estate," or possible sub-standard performance, it's clear that the additional development costs required to make an instruction interruptible are simply not worth the end result: eliminating one software branch. -- Edward E Jaffe Phoenix Software International, Inc 831 Parkview Drive North El Segundo, CA 90245 310-338-0400 x318 [email protected] http://www.phoenixsoftware.com/
