<This is an updated post from the old IBM community.>Around early 2016, I was asked by the LinuxOne ecosystem team if we had any documentation to help development teams outside of IBM, that are working with LinuxOne and its related open source ecosystems, in terms of understanding and optimizing for our z microprocessors. Across the development teams, we have published presentations and detail papers in IEEE Micro magazines, IBM's Journal of Research and Development, and other conferences. However, we didn't have any readily available documentation for external use in this specific area. So, I put together a presentation (from various sources that I could get my hands on) in this area.
Performance comes from a combination of hardware and software, and best performance is achieved when these are well-matched. The goal of this presentation is to be easily understood by anyone interested in writing/generating code (binary code) for programs that are / will be running in the latest z System mainframes. And as a result of reading this presentation, the reader can have an understanding of the basic mechanics behind the z-microprocessors and the z/Architecture that they run on, and where/how to work the optimizations.
The presentation was initially written for z13, and the latest version now covers z14, but also included references back to the prior 3 generations: z10, z196, zEC12. It is by no means a comprehensive document and should only be used as an introduction to our architecture and design. The revision for z14 included a lot of new and updated materials. Please feel free to add your feedback here.
Another revision to z15 is planned. If any readers / users of the primer have a topic that you would like to get covered, or covered more, please let me know through this forum, or contact me directly at firstname.lastname@example.org.
You can also find me at Linkedin: https://www.linkedin.com/in/ckevinshum/