Changes

Jump to: navigation, search

Winter 2015 SPO600 Platform Specific Code Presentation

675 bytes added, 16:14, 28 February 2015
Topics
{{Chris Tyler Draft}}[[Category:Winter 2015 SPO600]]
== Assignment ==
# Select one of the topics below by placing your name in the "Student" column (first come, first served - one student per topic).
# During week 5, research the topic and prepare a '''3- to 5-minute''' presentation to teach the answer to the class.
# Be prepared to teach this presentation during week 6. You may want to draw whiteboard diagrams, use presentation slides, or have a 1-page handout. Please avoid taking more than 5 minutes in total for your presentation.
**# The Issue: A description of the type of platform-specific code that falls into this category - What it is and why programmers write code in this way. Include a short example of actual code.
**# The Problem: When code written in this particular way has problems (e.g., when moved to a platform that has...) and what issues appear (program crashes, wrong results, won't compile, ...). Include bug reports or other evidence of this problem actually surfacing.
**# The Solution: How code can be written in a portable way, avoiding platform-specific issues. Include a short example of actual code that solves the problem in a platform-neutral way. Consider advances in the language standards, [[Compiler Intrinsics]], and [[Compiler Optimizations]] as part of your solution.
* Q: '''How will this be marked?'''
* Q: '''What about the topics not selected by a student?'''
** A: Feel free to grab a second topic if you're interested. [[User:Chris Tyler|I'll]] teach the unclaimed topics, if there are any.
* Q: '''Can we work with others preparing our topic?'''
* Q: '''What resources should I use?'''
** A: There are resources on the web as well as on this wiki and on the web (for example, see the [[:Category:Assembly Language|Assembly Language category]] on this wiki).
* Q: '''Are there any classes scheduled during Week 5?'''
|Access to features not available in some versions of C / C++||Atomic operations|| Thana Annis || ||
|-
|Access to features not available in some versions of C / C++||Memory barriers|| Cha Li|| ||
|-
|Access to features not available in some versions of C / C++||Low-level device access|| James Boyer || ||
|-
|Access to features not available in some versions of C / C++||Interrupt handling|| Jan Ona || ||
|Access to features not available in some versions of C / C++||Cryptographic instructions|| Gary Chau || ||
|-
|Access to features not available in some versions of C / C++||Single instruction multiple data (SIMD) instructions|| Bradly Hoover || ||
|-
|Access to features not available in some versions of C / C++||Run-time CPU feature identification (cpuid)|| Bruno Pereira|| ||
|-
|Access to features not available in some versions of C / C++||High-resolution counter access|| Danylo Medinski || ||
|-
|Assumptions about the system which can vary between architectures||Default size of variable types|| Artem Luzyanin|| ||
|-
|Assumptions about the system which can vary between architectures||Equivalence between variable types (e.g., int and long)|| Alfred Tsang|| ||
|-
|Assumptions about the system which can vary between architectures||Layout of arrays in memory|| Hosung Hwang|| ||
|-
|Assumptions about the system which can vary between architectures||Alignment requirements|| Nicolas Ramkay|| ||
|-
|Assumptions about the system which can vary between architectures||Endianness (order of data stored in memory)|| Yan Song || ||
|-
|Assumptions about the system which can vary between architectures||Direction of stack growth|| Alan Lam || ||
|-
|Assumptions about the system which can vary between architectures||Target triplet|| Justin Grice|| ||
|-
|Assumptions about the system which can vary between architectures||Jiffies per second|| Stephen Ruthland || ||
|-
|Assumptions about the system which can vary between architectures||Page size|| Hong Zhan Huang || Refer to blog post for sources used || https://joulecpa.wordpress.com/2015/02/28/spo600-page-size-presentation/
|-
|Assumptions about the system which can vary between architectures||Pointer size vs. integer size|| Liam Martin || ||
|-
|Assumptions about the system which can vary between architectures||FPU rounding|| Max LeFevre || || |-|Assumptions about the system which can vary between architectures||Cost of alignment fixups||Dawood Shirzada || || |-|Assumptions about the system which can vary between architectures||Memory controller design || || |||-|Assumptions about the system which can vary between architectures||Syscall numbering || Anson Tang || ||
|-
|}

Navigation menu