Readings for Quiz Review
This section will be updated as the semester progresses.
- Quiz 0 - Topics: combinational logic, truth tables, Boolean notation.
A few review questions.
Partial solutions to review questions.
- Quiz 1 - Topics: number representations, arithmetic, some bitwise operations (but not IEEE 754 floating point99).
A few review questions.
Partial solutions to review questions.
- Quiz 2 - Topics: clocks, flip-flops/registers, 1-bit sequential circuits, multi-bit sequential circuits.
A few hints and review questions.
Partial solutions to review questions.
- Quiz 3 - Topics: multi-bit sequential circuits and datapaths.
A few review questions.
Partial solutions to review questions.
- Quiz 4 - Topics: MIPS assembly programming.
A few review questions
Partial solutions to review questions.
- Quiz 5 - Topics: MIPS loops, conditionals, arrays, strings, and calling functions (but
not stack frames, prologues or epilogues).
A few review questions
Partial solutions to review questions.
- Quiz 6 - Topics: MIPS functions and program layout, including register usage, stacks and stack frames. Caching concepts. Performance concepts and calculations.
A few review questions
Partial solutions to review questions.
Circuit Simulators
There are several simple digital circuit simulators that you can use right in
your web browser. Here are two, plus a more full-featured offline simulator. The
browser-based simulators do not allow you to save or print your drawings.
Internet Explorer has trouble with these; use Firefox, Chrome, or another
browser instead.
- Logisim Evolution - This is a full-featured digital circuit
simulator. You have to download it to run it, but it can save your work, print out schematics, etc. With this you can
design quite complex circuits with thousands or millions of gates.
- http://logic.ly/demo - This one uses curvy blue and white lines for wires,
lights that look like light bulbs, and gates that have the same shape as we used in class. Two types of input
switches, called "Toggle Switches" or "Push Buttons", can be used.
Helpful Web Sites for C++, Emacs, Vim, etc.
- Emacs hints & cheat sheet - if you forget
the basic key combinations.
- Emacs tutorial for beginners - if you want a step-by-step
guide to using emacs.
- Vim tutorial for beginners - Vim is the major
alternative to Emacs (nearly all serious systems programmers use one or the other). If you grow tired and frustrated
with emacs, give vim a try. But beware: while emacs will drive you batty with command-shift-meta-whatever key
combinations, you will probably find vim to very unusual at first. So you should read a little about it before even
trying to run it.
- A good step-by-step C++ tutorial. There is a book too that
I have heard is pretty good.
- A rather dry but clear and concise C++ tutorial.
- Extensive C++ Reference - contains exhaustive details about most
every C++ library, function, operator, etc. that you will encounter in this course.
MIPS Documentation
Useful Software
- Remote access to logos: see instructions here
- Note: We won't use logos much this semester for CSCI 226.