Jump to content

View more

Image of the Day

Adding some finishing touches...
Follow us for more
#screenshotsaturday #indiedev... by #MakeGoodGames https://t.co/Otbwywbm3a
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

Sign up now

Any interest in ARM CPU pipeline / programming article?

4: Adsense
  • You cannot reply to this topic
3 replies to this topic

#1 Cosmic314   Members   


Posted 09 September 2013 - 11:51 AM

I want to write an article but first I wanted to solicit my idea to see if it would get any interest.  I already read the article about the CPU pipeline, which focuses on the Intel architecture.  Would there be any interest in a similar article about the ARM pipeline and processor?  Mobile devices are heavy users of this architecture so it does have some direct relevance to Gamedev.net.  I work with ARM processors and know enough to convey the basics.


Anyways, I'm just putting some feelers out to see what people think.

#2 Ravyne   Members   


Posted 09 September 2013 - 01:13 PM

It could be interesting if you focus on differences between ARM and the x86/x64 processors most programmers are most familiar with. But its difficult to be too specific, ARM themselves maintains a handful of architecture implementations, and then there are their architectural licensees who themselves maintain one or two different architectural implementations. I think to be successful you'd need to focus in on what's common across all ARM architectures but different from x86/x64 -- off the top of my head, THUMB mode, register usage, the way that arm encodes short address literals for jumps, and the execution differences between ARM and x86/x64 that affect how C++ code behaves (all the places where the language standard waves its hands, and intel promptly went left, while ARM promptly went right--I wrote an article on that topic for the Visual C++ Team Blog that talks about 4-5 of those points). The advice in those situations is "stop relying on non-standard behavior you twit!" but still many people have code that relies on one behavior or the other, either intentionally or not.

throw table_exception("(ノ ゜Д゜)ノ ︵ ┻━┻");

#3 frob   Moderators   


Posted 09 September 2013 - 03:04 PM

The biggest thing that enabled me to write that article is that on the Intel family of chipsets, even though some of the implementation details have changed over the years, the fundamentals of the OOO core have been unchanged since 1995.


That is not true for ARM cores. Even if you look within a single family, the individual chips all rather different from each other. The companies with architectural licenses (Intel, Marvell, Qualcomm, Broadcomm) are free to create radically different chips as long as they satisfy the instruction set. To cover the major players would mean to include the popular third-party families like XScale and Tegra, making the landscape much more complex. Coprocessor support for VFP and Java/Jazelle can make things even more interesting.



I'm sure there are many ways to make a great article about the various ARM chip families used in mobile devices. The trick will be in finding a balance between chip-specific information and generally useful information.  Something that may be useful for the core ARM11 found on older iPhones may not equate well to a Snapdragon's Cortex-A8 or the Tegra's Cortex-A15 found on other popular phones. Keeping that balance may be a bit of a challenge.

Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.

Also check out my personal website at bryanwagstaff.com, where I occasionally write about assorted stuff.

#4 Cosmic314   Members   


Posted 09 September 2013 - 04:11 PM

Thank you for your feedback.  You're correct.  Covering the entire ARM family is probably too ambitious for one article.  Maybe it would serve the community best if the article was focused on getting the best return of processor performance without giving too much consideration to the underlying specific implementation.  If it's a bust, well then I've tried, but if it's successful it may spawn interest in looking at more specific implementations.