CODEMILL: A GRAPHICS-ORIENTED
INSTRUCTION SET ARCHITECTURE
AND VISUAL COMPUTER ARCHITECTURE
One of the challenges of teaching
computer architecture courses is to illustrate the operations in lower layers of
computers dynamically. Microarchitecture simulation tools are useful for
generating statistical information and validating architectural innovations but
they are not suitable for teaching computer architecture in a classroom setting.
An alternative, widely-used, approach is to employ microarchitecture design and
simulation projects as a vehicle to involve students in the process of
architecting a contemporary computer in a simulated environment if not one in
silicon. One problem with this approach is that such simulation projects are
typically written in programming languages such as Pascal, C and C++ that do not
readily support graphics operations in their native syntax. One can only
visualize so much with line-oriented commands such as "printf" and "writeln". To
be sure, Java and other visual programming languages have provided some relief
in this regard, but the price is that students have to conquer yet another
high-level programming language to learn computer architecture.
In this talk, I will present an instruction set architecture with native graphics instructions and illustrate how it can be used to teach machine-level concepts effectively with the help of assembly language programs. This architecture, called CodeMill, was conceived at the University of Maryland when I was asked to teach a computer organization course in 1995. Since then, it has gone from an idea on a piece of paper to thousands of lines of C code, and it is still growing at a healthy pace. The talk will also provide a roadmap for future versions of CodeMill. In particular, I will discuss how CodeMill might be extended into a comprehensive learning system to help teach core computer architecture concepts with hands-on tools.
DATE: November 27, 2002, Wednesday @ 13:40