Last modified:
Sloop Cebollita
  CSE Home  About Us    Search    Contact Info 

 Example Model Construction
 Component Cost Definition File: smok.ini
 Component Reference Guide
 User Interface Guide (Windows)
 User Defined Component Types
 perl/Java Scripting
 System Requirements
 SMOK Download
   (Latest: V7.2.2, 1/30/06)
 Cebollita Documentation
 Cebollita Source Documentation
 Cebollita Download
   (Latest: V2.5 Build 48, 2/1/06)
Courses Using SMOK
 UVa CS/ECE 333
 UW CSE 378

SMOK (pronounced smOk) and 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 organization simulator. 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. SMOK provides a graphical interface to construct and debug machine models.

CEBOLLITA 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 SMOK. 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.

The SLOOP was the original inspiration for building SMOK. The Sloop was inspirational in deciding to build the SLOOP.

Department of Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to]