SMOK (pronounced smOk)
CEBOLLITA are tools
designed to improve the student design experience in an
undergraduate machine organization course.
Their purpose is to improve the relevance of homework assignments to
machine organization in general,
and to emphasize some fundamental concepts not well addressed previously,
particularly in the area of the hardware-software interface,
SMOK is a general-purpose software machine
The components of a
SMOK model are at the level
of detail found in typical machine
organization texts: ALUs, register
files, logic gates, and the like.
provides a graphical interface to construct and debug machine models.
is a "complete system" - a C-like language (C--), a compiler, a linker, a loader, a utility to format a raw disk, a primitive operating
system and shell, and a MIPS-like ISA. Students implement the ISA in
Cebollita exposes them to the interactions among all these components. Each
component is simple enough that it can be modified easily, allowing design
tradeoffs to be experienced, rather than just discussed.
SLOOP was the original
inspiration for building
The Sloop was inspirational
in deciding to build the