140 likes | 266 Views
LC-3, x86, or ???: The FIRST ISA for Students. Yale Patt The University of Texas at Austin WCAE Workshop, ISCA June 9,2007. What are the choices:. Mickey-mouse – the Art History model (Names withheld to protect the guilty) A rich but small ISA that students
E N D
LC-3, x86, or ???:The FIRST ISA for Students Yale Patt The University of Texas at Austin WCAE Workshop, ISCA June 9,2007
What are the choices: • Mickey-mouse – the Art History model (Names withheld to protect the guilty) • A rich but small ISA that students can really grok and use (LC-3) • A subset of an existing ISA (Tiny MC 68000) • A serious ISA (x86)
Not unlike: Which Programming Language FIRST? • A template language (not unlike C++, JAVA) • Good pedagogy (Pascal) • A subset of PL-1 • C
Objectives: • Valvano: Students are “wowed” by seeing things work. • Valvano: Students can build on their first ISA in later courses. • Bryant, O’Halloran: Students learn best by developing and evaluating real programs that run on real machines. • Me: Students can easily understand it. • Me: Students can sink their teeth into it.
Why we chose the LC-3 (and before that, the LC-2) • A subset of a real ISA is not without glitches • A clean sheet of paper lets us make every decision pedagogically • We can still get the “wow” effect (on a Simulator) [e.g.,NIM] • Students can debug their own programs • We can still build on this in later courses
LC-3: How it has evolved • LC-1: Single accumulator, one cc (N), 8 opcodes • LC-2 ( Initially): 4 registers, N,Z cc, 16 opcodes • LC-2 (Revised): 8 registers, N,Z,P cc, 16 opcodes • LC-3 (Initially): • Stack grows to zero • PC+offset, rather than PC’offset • Reg+sext offset, rather than Reg+zext offset • LC-3 (Revised): Privileged memory (two models – fixed, selectable)
LC-3: What we left out: • endian-ness • lots of data types (just one: 16 bit 2’s comp. integer) • No floating point • No bytes (ergo, no byte loads/stores) • lots of addressing modes
Continuing pressure to add: • a multiply instruction • shift instructions • carry bit, and ADDC instruction
What we have learned • Don’t succumb (Keep it lean) • One page ISA means Students learn • It can be rich without being complex • Simulation can create “Wow” (You don’t need a *real* machine) • Follow-on activity (already: LC-3b, VLSI, Compilers) • With “privilege”: O/S ??
The LC-3b • Senior/1st Yr Grad Architecture Course • Students add VM Support • Students add I/E handling Support • ISA • NOT XOR • Word addressing Byte addressing (ergo, endian-ness) • LDI, STI are scrapped • Comprehensive SHF instruction added
About students • Computer Architecture can begin with freshmen • Freshmen can handle serious stuff • Students don’t need glitz • Students will debug their own programs • Students are used to memorizing • BUT you can take them out of that comfort zone Engineering Education: No substitute for Design it wrong, Debug it yourself, Fix it, See the working result