Frances: A Tool For Understanding Computer Architecture and Assembly Language

By: Tyler Sondag, Kian L. Pokorny, and Hridesh Rajan

PDF Download Download Paper

Abstract

Students in all areas of computing require knowledge of the computing device including software implementation at the machine level. Several courses in computer science curricula address these low-level details such as computer architecture and assembly languages. For such courses, there are advantages to studying real architectures instead of simplified examples. However, real architectures and instruction sets introduce complexity that makes them difficult to grasp in a single semester course. Visualization techniques can help ease this burden, unfortunately existing tools are often difficult to use and consequently difficult to adopt in a course where time is already limited. To solve this problem, we present Frances. Frances graphically illustrates key differences between familiar high-level languages and unfamiliar low-level languages and also illustrates how familiar high-level programs behave on real architectures. Key to this tool is that we use a simple web interface that requires no setup, easing course adoption hurdles. We also include several features that further enhance its usefulness in a classroom setting. These features include graphical relationships between high-level code and machine code, clearly illustrated step by step machine state transitions, color coding to make instruction behavior clear, and illustration of pointers. We have used Frances in courses and performed experimental evaluation. Our experiences with Frances in the classroom demonstrate its usability. Most notably, in our experimental setting, students with no computer architecture course experience were able to complete lessons using Frances with no guidance.

ACM Reference

Sondag, T. et al. 2012. Frances: A Tool For Understanding Computer Architecture and Assembly Language. ACM Trans. Comput. Educ. 12, 4 (2012), 14:1–14:31. https://doi.org/10.1145/2382564.2382566.

BibTeX Reference

@article{SondagPokornyRajan2012,
  author = {Tyler Sondag and Kian L. Pokorny and Hridesh Rajan},
  title = {Frances: A Tool For Understanding Computer Architecture and Assembly Language},
  journal = {{ACM} Trans. Comput. Educ.},
  volume = {12},
  number = {4},
  pages = {14:1--14:31},
  year = {2012},
  doi = {10.1145/2382564.2382566},
  abstract = {
  Students in all areas of computing require knowledge of the computing device
  including software implementation at the machine level. Several courses in
  computer science curricula address these low-level details such as computer
  architecture and assembly languages. For such courses, there are advantages to
  studying real architectures instead of simplified examples. However, real
  architectures and instruction sets introduce complexity that makes them
  difficult to grasp in a single semester course. Visualization techniques can
  help ease this burden, unfortunately existing tools are often difficult to use
  and consequently difficult to adopt in a course where time is already limited.

  To solve this problem, we present Frances. Frances graphically illustrates key
  differences between familiar high-level languages and unfamiliar low-level
  languages and also illustrates how familiar high-level programs behave on real
  architectures. Key to this tool is that we use a simple web interface that
  requires no setup, easing course adoption hurdles. We also include several
  features that further enhance its usefulness in a classroom setting. These
  features include graphical relationships between high-level code and machine
  code, clearly illustrated step by step machine state transitions, color coding
  to make instruction behavior clear, and illustration of pointers.

  We have used Frances in courses and performed experimental evaluation. Our
  experiences with Frances in the classroom demonstrate its usability. Most
  notably, in our experimental setting, students with no computer architecture
  course experience were able to complete lessons using Frances with no
  guidance.},
}