Ed,
 
I want to ask a question, in this day/age and processing power is it really 
worth
being concerned about Assembler instructions speed ? Unless there is some 
application that is very time sensitive, that I understand
 
 
Regards,

Scott J Ford
Software Engineer
http://www.identityforge.com/
 
 

________________________________
 From: Ed Jaffe <edja...@phoenixsoftware.com>
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU 
Sent: Tuesday, April 16, 2013 6:13 PM
Subject: Re: Millicode Instructions
  

On 4/16/2013 12:43 PM, Gibney, Dave wrote:
> I don't get to work at this level often, but I am always interested.
> How can Millicode be faster than the equivalent using the hardware
> instructions? As I understand Millicode, that is really all it is
> (using the hardware instructions) plus any overhead in context
> switching to the Millicode "environment". For the MVC/MVCL option, I
> can imagine a macro which generates an MVC loop, or unroll the loop
> into a sequence of MVC, or generate the MVCL depending on several
> criteria. I currently don't have the knowledge to determine the
> criteria and I would expect the criteria to change over time

Some millicode instructions will outperform their PoOp-code counterparts
because millicode has access to hardware features not available to
ordinary code. For example, MVCL(E) has the ability to move data under
certain conditions without loading it into cache. (You can't do that
with looping MVC.) Millicode routines also have access to the MVCX
instruction which performs a variable-length MVC -- something ordinary
programs cannot do without using the EXecute instruction.

Furthermore, a millicode instruction is perceived by the architecture as
a single instruction. This allows millicode to do things that cannot be
simulated in ordinary code. For example, it would be impossible to write
a simulation of the PLO instruction.

--
Edward E Jaffe
Phoenix Software International, Inc
831 Parkview Drive North
El Segundo, CA 90245
http://www.phoenixsoftware.com/

Reply via email to