An emulated computer with assembler for teaching undergraduate computer architecture

  • Authors:
  • Timothy Daryl Stanley;Mu Wang

  • Affiliations:
  • Brigham Young University Hawaii, Laie, Hawaii;Brigham Young University Hawaii, Laie, Hawaii

  • Venue:
  • WCAE '05 Proceedings of the 2005 workshop on Computer architecture education: held in conjunction with the 32nd International Symposium on Computer Architecture
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

An eight-bit computer has been designed using an open source logic emulation package called "Multimedia Logic" from www.softronix.com. The intent of the project was to make clear to computer science students how the data path and control lines work to provide computer functionality. This computer is an excellent teaching aid because: 1. All registers, ALU outputs, control lines, and memory outputs are instrumented. 2. Instructions can be executed with a single step switch or run with a clock. 3. The architecture is quite simple, with separate memory devices for data and instructions. 4. It is supported with an assembler patterned after the MIPS assembler used with the SPIM simulator. 5. An ASCII output display is available. The instruction set designed for this computer includes: Add from memory, Add immediate, Load from memory to the input register, save from the output register to memory, jump to the address given by the immediate, jump to the address given by the immediate if the last add produced a zero result, and halt. The design includes an instruction format of three bits of operation code followed by five bits of immediate. Using this design as a launching point, students have been encouraged to design their own computers. Some excellent designs have been submitted. These include an elaborate multi-cycle 16-bit design, and many application specific designs. This paper provides details of this computer design, assembler and example programs as well as descriptions of designs submitted by students.