User Tools

Site Tools


meet_the_families

Meet the Families

This lecture takes a closer look at the instruction families. In addition to examining syntactical issues (such as allowed addressing modes and immediate sizes), we also study the implied algorithms (i.e. how the CPU executes the instruction). Furthermore, we also explore design choices by asking why certain instructions were (or were not) added to the ISA.

Outline

  • Design Principles
  • Instructions versus Pseudo Instructions
  • The Arithmetic Family
  • The Branch Family
  • The Jump Family
  • The Logical Family

Big Ideas

  • Given a design choice, optimize the common case
  • The two's complement fuses addition and subtraction and thus eliminates the need for separate hardware for each
  • Don't subtract in order to compare
  • You need to store one return address per method invocation
  • Bit-level manipulation is doable even with 32-bit level instructions
  • MIPS designers opted for regularity in instruction size, all instructions are 32 bit wide. The led to simplicity and catered for the common case. And to support the odd case, they introduced lui.

Slides from Lecture

To Do

  • Start reading and performing the tasks of Lab-B.
  • Read Sections 2.9, 2.10, 3.1-3.5 of our textbook. Note, however, that we did not cover the multiplication/division circuits of sections 3.4 and 3.5, only the MIPS multiply and divide instructions.
  • If you are using the older edition of the textbook, read pages 146-147 and sections 4.1-4.4, 4.6-4.7. Note, however, that we did not cover the the Booth algorithm or the multiplication/division circuits of sections 4.6 and 4.7, only the MIPS multiply and divide instructions.
meet_the_families.txt · Last modified: 2007/10/02 18:48 by roumani