Anda di halaman 1dari 4

CMOS = complementary metal-oxide- due

semiconductor 13 Stacks and procedures


ALU = arithmetic logic unit Lab 5
Non-pipelined Beta (Assembly
OS = operating system 14
implementation language)
due
Multilevel memories;
15 locality, performance,
LEC # TOPICS LABS QUIZZES
caches
Course overview and
16 Cache design issues Quiz 3
1 mechanics, basics of
information Virtual memory: mapping,
17
protection, contexts
Digital abstraction,
2 combinational logic, Virtual machines:
Lab 6
voltage-based encoding 18 timesharing, OS kernels,
(Beta) due
supervisor calls
CMOS technology, gate
3 Devices and interrupt
design, timing
handlers, preemptive
Canonical forms; 19
4 interrupts, real-time
synthesis, simplification
issues
Lab 1
Lab 7
5 Sequential logic (CMOS) Quiz 1 Communication issues:
(Trap
due 20 busses, networks, Quiz 4
handler)
Storage elements, finite protocols
6 due
state machines
Communicating processes:
Lab 2 semaphores,
Synchronization, 21
7 (Adder) synchronization, atomicity,
metastability
due deadlock
Pipelining; throughput and Pipelined Beta
8 22
latency implementation, bypassing
Lab 3 Pipeline issues: delay Lab 8
9 Case study: multipliers
(ALU) due 23 slots, annulment, (Tiny OS) Quiz 5
Beta instruction set exceptions due
10 Quiz 2
architecture, compilation Parallel processing, shared
Machine language 24 memory, cache coherence,
11
programming issues consistency criteria
Models of computation, Lab 4 Project
25 Wrapup lecture
12 programmable (Turing due
architectures machine)
Lectura notes

CMOS = complementary metal-oxide-semiconductor


ALU = arithmetic logic unit
OS = operating system

LEC # TOPICS LECTURE NOTES


Course overview and mechanics, basics of
1 (PDF)
information
Digital abstraction, combinational logic, voltage-
2 (PDF)
based encoding
3 CMOS technology, gate design, timing (PDF)
4 Canonical forms; synthesis, simplification (PDF)
5 Sequential logic (PDF)
6 Storage elements, finite state machines (PDF)
7 Synchronization, metastability (PDF)
8 Pipelining; throughput and latency (PDF)
9 Case study: multipliers (PDF)
10 Beta instruction set architecture, compilation (PDF)
11 Machine language programming issues (PDF)
Models of computation, programmable
12 (PDF)
architectures
13 Stacks and procedures (PDF)
14 Non-pipelined Beta implementation (PDF)
Multilevel memories; locality, performance,
15 (PDF)
caches
16 Cache design issues (PDF)
17 Virtual memory: mapping, protection, contexts (PDF)
Virtual machines: timesharing, OS kernels,
18 (PDF)
supervisor calls
Devices and interrupt handlers, preemptive
19 (PDF)
interrupts, real-time issues
Communication issues: busses, networks,
20 (PDF - 1.0MB)
protocols
Communicating processes: semaphores,
21 (PDF)
synchronization, atomicity, deadlock
22 Pipelined Beta implementation, bypassing (PDF)
Pipeline issues: delay slots, annulment,
23 (PDF)
exceptions
Parallel processing, shared memory, cache
24 (PDF)
coherence, consistency criteria
25 Wrapup lecture (PDF)

Tutorial problems
files, some questions are marked by stars. These are problems that have been selected
for discussion in section, time permitting.
Problems for quiz 3
Models of computation (PDF) (PDF)
TOPICS PROBLEMS SOLUTIONS Programmable machines (PDF) (PDF)
Problems for quiz 1 Machine language (PDF) (PDF)
Basics of information (PDF) (PDF) Stacks and procedures (PDF) (PDF)
The digital abstraction (PDF) (PDF) Building the Beta (PDF) (PDF)
CMOS technology (PDF) (PDF) Problems for quiz 4
Gates and Boolean logic (PDF) (PDF) Memory hierarchy (PDF) (PDF)
Synthesis of Caches (PDF) (PDF)
(PDF) (PDF)
combinational logic
Virtual memory (PDF) (PDF)
Problems for quiz 2
Operating system issues (PDF) (PDF)
Sequential logic (PDF) (PDF)
Interrupts and real time (PDF) (PDF)
Finite state machines (PDF) (PDF)
Problems for quiz 5
Synchronization and
(PDF) (PDF) Semaphores (PDF) (PDF)
metastability
Pipelining (PDF) (PDF) Pipelined Beta (PDF) (PDF)
Labs
CMOS = complementary metal-oxide-semiconductor
ALU = arithmetic logic unit
OS = operating system
LAB # TOPICS bsim.jar (JAR) Latest release of BSim
1 CMOS (PDF) (1.1.11) and include
beta.uasm (UASM)
2 Adder (PDF) files
3 ALU (PDF) Latest release of
tmsim.jar (JAR)
Turing machine TMSim (1.1.8)
4
(PDF) lab1checkoff.jsim (JSIM) Checkoff file for Lab 1
Assembly language lab2checkoff.jsim (JSIM) Checkoff file for Lab 2
5
(PDF) lab3checkoff_6.jsim (JSIM)
6 Beta (PDF)
lab3checkoff_10.jsim (JSIM)
7 Trap handler (PDF)
Tiny OS (PDF) lab3adder.jsim (JSIM)
8
Writeup (PDF) lab3boolean.jsim (JSIM) Checkoff files for Lab
3
Project (PDF) lab3compare.jsim (JSIM)

lab3multiply.jsim (JSIM)

lab3shifter.jsim (JSIM)
Tools
JSim documentation (PDF) lab4header (TXT) Header file for Lab 4
BSim documentation (PDF) lab5checkoff.uasm (UASM) Checkoff file for Lab 5
Beta References lab6basicblock.uasm
Beta documentation (PDF) (UASM)
Summary of instruction formats (PDF) lab6basicblock.jsim (JSIM)
Unpipelined Beta ( PDF)
lab6pc.jsim (JSIM)
5-stage pipelined Beta (PDF)
Checkoff files for Lab
lab6regfile.jsim (JSIM)
STUDY MATERIALS 6
C Overview (PDF) lab6ctl.jsim (JSIM)
A Student's Guide to lab6.uasm (UASM)
the Digital World (PDF)
lab6checkoff.jsim (JSIM)
Courtesy of Margaret
Jane Wong (née
lab7macros.uasm (UASM)
Chong). Used with
permission. lab7checkoff.uasm (UASM) Checkoff files for Lab
7
Tool swapregs.uasm (UASM)

lab8.uasm (UASM) File for Lab 8


projcheckoff.uasm (UASM)
FILES DESCRIPTIONS
Compressed tar projcheckoff.bin (BIN)
Files for design project
6004.tgz (TGZ) archive of all 6.004
files projcheckoff.jsim (JSIM)
jsim.jar (JAR)
Major Emacs mode for
jsim.el (EL)
nominal.jsim (JSIM) editing JSim netlists
Latest release of JSim
(2.0.28) and include Ant demo from lecture
8clocks.jsim (JSIM) ant.jar (JAR)
files 6 (just for fun!)

stdcell.jsim (JSIM)

Running JSim
First, you'll need to install a Java system. The Sun Java Runtime Environment, Standard Edition (J2SE), for Linux,
Solaris and Windows can be downloaded from Sun's official site. J2SE for Mac OS X is available from Apple's Web
site. On Linux, you'll want to change your PATH environment variable so that the "java" command is on your search
path. On Windows and OS X, double-clicking any of the 6.004 jar files will run the program (assuming you've installed
the Sun Java environment).
Once you've installed a Java environment and downloaded the 6.004 files, you can run JSim using the following
command:
java -jar jsim.jar -Xms8m -Xmx32m -reporterrors file...
You may have to specify complete pathnames for "java" and "jsim.jar" depending on your current search path and
working directory. Each of the arguments is explained below.
-jar jsim.jar adds the java archive jsim.jar to the list of files Java examines when trying to find classes. jsim.jar
contains the classes used by jsim for displaying/editing netlists, running simulations and browsing the results.
If you get an error of the form "Exception in thread "main" java.lang.NoClassDefFoundError:
jsim/JSim", the Java runtime didn't find the jsim.jar file — try giving its full pathname, e.g., C:\6.004\jsim.jar or
whatever is appropriate for your installation.
-Xms8m -Xmx32m sets the minimum heap size to 8MB and the maximum heap size to 32MB. Starting JSim with a
generous heap allocation avoids a lot of garbage collection overhead the first time your circuit is processed. If you run
out of memory, try specifying the -no-local-names option when running JSim. This will greatly reduce the size of the
node name hashtable JSim constructs when processing the netlist. The downside of using this option is that nodes
can only be referred to by using their name in the (sub)circuit where they were first defined.
-reporterrors asks JSim to provide a backtrace whenever it encounters an internal error.
file... are optional arguments specifying one or more JSim netlist files.

Editing Netlists
The netlist editor built into JSim is based on the JTextArea class in Swing. Many people find the editing facilities
provided by this class to be underwhelming and prefer to use an external editor. jsim.el defines a new major mode for
EMACS useful for editing JSim netlists. You can invoke the mode automatically when reading in a ".jsim" file by
adding the following to your .emacs file:
;;; jsim support, assumes jsim.el lives in your home directory
(autoload 'jsim-mode "~/jsim" nil t)
(setq auto-mode-alist (cons '("\.jsim$" . jsim-mode) auto-mode-alist))
(add-hook 'jsim-mode-hook 'turn-on-font-lock)

QUIZZES SOLUTIONS
Quiz 1 (PDF) (PDF)
Quiz 2 (PDF) (PDF)
Quiz 3 (PDF) (PDF)
Quiz 4 (PDF)
Quiz 5 (PDF) (PDF)

Anda mungkin juga menyukai