Winter 2015 SPO600 Platform Specific Code Presentation
Contents
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.
Deadlines
- Topic selection: 9:50 am, Tuesday, February 10 (End of the scheduled Tuesday class in Week 5)
- Presentation ready: 8:00 am, Tuesday, February 17 (You must be prepared to present before the scheduled Tuesday class in Week 6)
FAQ
- Q: How much detail should the presentation include?
- A: Each of these topics is pretty small and straightforward. Provide enough detail that your colleagues in this course will know what they need to know going forward -- the focus is practical knowledge necessary to understand, modify, and write code. Where appropriate, provide some type of resource for future reference -- a link to an existing web resource, a 1-page handout, or a blog post or wiki page about the topic.
- Q: How will this be marked?
- A: In week 6, I will ask you to write a short blog post summarizing your presentation.
- Q: What about the topics not selected by a student?
- A: Feel free to grab a second topic if you're interested. I'll teach the unclaimed topics.
- Q: Can we work with others preparing our topic?
- A: Yes. In many cases, one topic is complimentary to another topic, and it would be great if you coordinated on your presentations.
- Q: What resources should I use?
- A: There are resources on this wiki and on the web (for example, see the Assembly Language category on this wiki).
- Q: Are there any classes scheduled during Week 5?
- A: No. Your professor will be at Linaro Connect. However, the classroom is reserved for our use, and you're welcome to use it to discuss your presentation ideas with classmates.
Topics
Category | Topic | Presenter Name | Links to resources (Wiki page, handout, web resources) | Link to blog post on this topic |
---|---|---|---|---|
Access to features not available in some versions of C / C++ | Atomic operations | |||
Access to features not available in some versions of C / C++ | Memory barriers | |||
Access to features not available in some versions of C / C++ | Low-level device access | |||
Access to features not available in some versions of C / C++ | Interrupt handling | |||
Access to features not available in some versions of C / C++ | Cryptographic instructions | |||
Access to features not available in some versions of C / C++ | Single instruction multiple data (SIMD) instructions | |||
Access to features not available in some versions of C / C++ | Run-time CPU feature identification (cpuid) | |||
Access to features not available in some versions of C / C++ | High-resolution counter access | |||
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) | |||
Assumptions about the system which can vary between architectures | Layout of arrays in memory | |||
Assumptions about the system which can vary between architectures | Alignment requirements | |||
Assumptions about the system which can vary between architectures | Endianness (order of data stored in memory) | |||
Assumptions about the system which can vary between architectures | Direction of stack growth | |||
Assumptions about the system which can vary between architectures | Target triplet | |||
Assumptions about the system which can vary between architectures | Jiffies per second | |||
Assumptions about the system which can vary between architectures | Page size | |||
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 |