Courses/Computer Science/CPSC 355.W2014/Lecture Notes/InstrFmt

From wiki.ucalgary.ca
Jump to: navigation, search

Machine Instruction Format Design Considerations

In this session will discuss some of the fundamental design issues that arise when trying to decide on the format (structure and content) of machine instructions. We can see machine instructions as a message, container, or protocol between the compiler and the CPU. Dedicating certain numbers of bits to specifying certain elements or actions is an inherent balancing act. We will look at the 8088/8086 instruction set format as (1) a simple example (2) an example of a CISC-style ISA and (3) a preview of the ISA your final project will focus on.

Announcements

  • HW6 eliminated. 50 points transferred to HW5 tasks and 50 free points awarded to everyone.
  • Preview final project.
  • Prof. Locasto travel (24 Feb, 7 March)

Topics

  • machine instructions
    • instruction formats
    • addressing modes
    • RISC vs. CISC styles
    • instruction "design"
    • opcodes
    • operands (and addressing modes)
  • in-depth look at the 8088 (as an example of the legacy of the x86, and a simplified CISC architecture)
    • also, your project is to build an assembler for this architecture
  • note ISA diagram
  • note how hardware-level features can be implemented transparently to the logical semantics of the assembly code/instructions
  • note variable length instructions

References