EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Can eieio PowerPC instruction be used on MPC5566?

Started by jani April 7, 2008
Hi,

We have been using PowerPC eieio(Enforce-In-Order Execution of I/O)
assembly language instruction on Freescale MPC500 Family
Microcontrollers.

Can we use this instruction on Freescale MPC5500 Family Microcontrollers,
for example MPC5566?  If yes, do we need to modify any registers to make
this instruction work?  

thanks.
jani wrote:
> Hi, > > We have been using PowerPC eieio(Enforce-In-Order Execution of I/O) > assembly language instruction on Freescale MPC500 Family > Microcontrollers. > > Can we use this instruction on Freescale MPC5500 Family Microcontrollers, > for example MPC5566? If yes, do we need to modify any registers to make > this instruction work? > > thanks.
It is mandatory to the architecture, so yes, you can use it. On some implementations (like the 603e) it is in effect a NOP, because the core does not do reordering anyway. But including it will guarantee code portability between platforms so it is a good idea. You do not have to alter any registers to use it nor will it have any direct effect on any registers. Dimiter ------------------------------------------------------ Dimiter Popoff Transgalactic Instruments http://www.tgi-sci.com ------------------------------------------------------ http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/
Didi wrote:
> jani wrote: >> Hi, >> >> We have been using PowerPC eieio(Enforce-In-Order Execution of I/O) >> assembly language instruction on Freescale MPC500 Family >> Microcontrollers. >> >> Can we use this instruction on Freescale MPC5500 Family Microcontrollers, >> for example MPC5566? If yes, do we need to modify any registers to make >> this instruction work? >> >> thanks. > > It is mandatory to the architecture, so yes, you can use it. > On some implementations (like the 603e) it is in effect a NOP, because > the > core does not do reordering anyway. But including it will guarantee > code portability > between platforms so it is a good idea. > You do not have to alter any registers to use it nor will it have any > direct effect on > any registers. >
I've always thought that "eieio" was the most musical opcode of any cpu. Do you think IBM picked the name first, then tried to figure out a plausible sounding effect for the instruction?
>jani wrote: >> Hi, >> >> We have been using PowerPC eieio(Enforce-In-Order Execution of I/O) >> assembly language instruction on Freescale MPC500 Family >> Microcontrollers. >> >> Can we use this instruction on Freescale MPC5500 Family
Microcontrollers,
>> for example MPC5566? If yes, do we need to modify any registers to
make
>> this instruction work? >> >> thanks. > >It is mandatory to the architecture, so yes, you can use it. >On some implementations (like the 603e) it is in effect a NOP, because >the >core does not do reordering anyway. But including it will guarantee >code portability >between platforms so it is a good idea. > You do not have to alter any registers to use it nor will it have any >direct effect on >any registers. > >Dimiter > >------------------------------------------------------ >Dimiter Popoff Transgalactic Instruments > >http://www.tgi-sci.com >------------------------------------------------------ >http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/ >
I think there is no eieio instruction in MPC5566. Check pages 3-20 and 3-21 of the e200z6 core reference manual. http://www.freescale.com/files/32bit...RM.pdf?fsrch=1 There is no eieio instruction listed in the list of instructions sorted alphabetically.
jani wrote:
> .... > I think there is no eieio instruction in MPC5566. > Check pages 3-20 and 3-21 of the e200z6 core reference manual. > > http://www.freescale.com/files/32bit...RM.pdf?fsrch=1 > > There is no eieio instruction listed in the list of instructions sorted > alphabetically.
The e500/e200 core does indeed treat eieio a bit differently, they call it "MBAR" there. The opcode is the same, and there is a HID register bit to switch the function of the eieio between traditional and e200/500 core like indeed. Using it wherever you would have used it formerly is still a good idea, though. Dimiter ------------------------------------------------------ Dimiter Popoff Transgalactic Instruments http://www.tgi-sci.com ------------------------------------------------------ http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/ Oroginal message: http://groups.google.com/group/comp.arch.embedded/msg/67e0dbb5c4fe74a5?dmode=source
David Brown wrote:
> ... > I've always thought that "eieio" was the most musical opcode of any cpu. > Do you think IBM picked the name first, then tried to figure out a > plausible sounding effect for the instruction?
No idea what the guy at IBM did, but I know how I make abbreviations. I got enough training on that during the up to 6 characters times of old Motorola assemblers; I still tend to make labels that short, although they can be longer. If something memorable, funny, or too ugly sounding to be memorized on the spot comes to mind, I just do not waste time and I use it... I also like the eieio name, does not need a second look at it to be remembered (unlike many of the PPC instructions from the architecture, the assembler in that form is not really usable for anything larger than a page or so). The 6809 syntax used to call "SEX" the sign extend opcode - not bad, hits you by surprise and here I still remember it after all these years. Dimiter ------------------------------------------------------ Dimiter Popoff Transgalactic Instruments http://www.tgi-sci.com ------------------------------------------------------ http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/ Original message: http://groups.google.com/group/comp.arch.embedded/msg/65e6f66494d92f99?dmode=source
On Tue, 8 Apr 2008 08:22:49 -0700 (PDT), Didi <dp@tgi-sci.com> wrote:

>David Brown wrote: >> ... >> I've always thought that "eieio" was the most musical opcode of any cpu. >> Do you think IBM picked the name first, then tried to figure out a >> plausible sounding effect for the instruction? > >The 6809 syntax used to call "SEX" the sign extend opcode - not bad, >hits >you by surprise and here I still remember it after all these years.
Ok, going off-topic: The Atari Jaguar CPU had nice a opcode : sharq (shift arithmetic right quick). BTW: Not only the "a label has max. 6 characters" influenced a lot. Also the good 8+3 filenames ;-) (I'd say 99% of my source files,still are 8+3 :-) Wasn't it the ancient masm which allowed an arbitrary length for the labels, but just took the first 8 into account: It did cost me some nightly hours. -- 42Bastian Do not email to bastian42@yahoo.com, it's a spam-only account :-) Use <same-name>@monlynx.de instead !

Memfault Beyond the Launch