Jump to content

Enforce In-order Execution of I/O

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Citation bot (talk | contribs) at 04:23, 11 February 2021 (Misc citation tidying. | You can use this bot yourself. Report bugs here. | Suggested by Abductive | Category:Computing stubs‎ | via #UCB_Category 103/617). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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]

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 den 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. ^ "Archived copy". Archived from the original on 2013-06-29. Retrieved 2013-06-04.{{cite web}}: CS1 maint: archived copy as title (link)
  2. ^ Linden, Peter van der. Expert C Programming: Deep C Secrets (Prentice Hall, 1994) pg.xxii