You are here
Laboratory 7
In laboratory 7 you will be investigating the the Application Binary Interface (ABI) specifications for several different architectures. To complete this laboratory you will need to find out the following information about three different processor architectures:
- Basic information
- What is the native bit-width of the processor?
- Is the processor a RISC or a CISC architecture?
- What is the bit-width of processor instructions?
- What does the memory architecture of the processor look like?
- How are instructions encoded by the processor?
- Supported data-types
- What data types are supported?
- What are the bit-widths of those data types?
- Are the data types stored in big-endian, little-endian, or some other format?
- Register set
- What registers are in the machine?
- What is the bit-width of each register?
- What kind of register is each register?
- Register conventions
- What are the ABI conventions for each register?
- For each register, are the conventions hardware enforced or software guidelines?
- Calling conventions
- What are the minimum and recommended byte-alignments for function definitions?
- What does the ABI stack layout look like for the architecture?
- How are values passed into a function?
- How are values returned from a function?
- How to functions return to their callers?
- How are functions invoked?
You can choose any three of the following processor architectures to investigate: x86, x86-64, Power, Sparc, ARM, Mips, Cell, Alpha, Itanium, 68000. For your report you must give references and citations for each piece of information collected above. Wikipedia is not a valid reference for this lab, thought it may be a good place to start your investigation. Be sure to write up your investigation as a report, not as a series of questions and answers. Tables and pictures will be useful when making this report.
Additionally, include a section for each of the three architectures that you investigate that discusses which parts of the ABI conventions would be useful to compiler writers and why.
