Jump to content

Enforce In-order Execution of I/O

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Enforce In-order Execution of I/O (EIEIO) is an assembly language instruction used on the PowerPC central processing unit (CPU) which prevents one memory or input/output (I/O) operation from starting until the previous memory or I/O operation completed. This instruction is needed as I/O controllers on the system bus require that accesses follow a particular order, while the CPU reorders accesses to optimize memory bandwidth usage. [1]

Where the name comes from

Notice the pun in the name; the old children's song goes "Old MacDonald had a farm, E-I-E-I-O!". In the book Expert C Programming, Peter van der Linden comments that this instruction is "Probably designed by some old farmer named McDonald" and "There’s nothing wrong with well-placed whimsy."[2]

References

  1. ^ "Help - AIX 6.1 Information Center". Archived from the original on 2013-06-29. Retrieved 2013-06-04.
  2. ^ Linden, Peter van der. Expert C Programming: Deep C Secrets (Prentice Hall, 1994) pg.xxii