CompSci 330,
Computer Organization

Index and Announcements

See "Course Information" for online course access!


Posting Date Item
(start of semester) Welcome to CompSci 330, Computer Organization!
Announcements, updates and grades will be added to this section throughout the semester, as they occur.

Check the links above for specific course materials. Check the Resources link for online versions of slides shown in class.

2020-01-22 Instructions for connecting a Hardware Lab (BFH 103) computer to a Raspberry Pi:

See "Course Information" for online course access!

2019-05-03 Midterm Exam 1 solution:

Class Notes

Date Item
2020-01-22 Slides from textbook:
  • chapter 1. Overview; design principles; circuit fabrication; measuring performance
  • Thermal image of a Raspberry Pi 3B+:
2020-02-03 Slides from textbook:
  • chapter 2 — Assembly/machine language.
  • LEGv8_Green_Card — Reference card for LEGv8 (ARMv8) assembly language


  • Sorting source code used in class.
  • Relationship of high-level language, to assembly, to machine code:


  • Makefile as developed in class.
  • chapter 3 — processor arithmetic; floating point.
2020-02-22 Solutions for assignment 1 (chapter 1): asn1.2020-01.pdf
2020-02-23 Solutions for assignment 2 (chapter 2): asn2 solution. or asn2 solution from the instructor's guide.

Take-home portion of Exam 1: take-home portion

Midterm Exam 1 supplied code:
fibolist.c or Download
leaf.c or Download
looper.s or Download
tester.c or Download
2020-03-24 IEEE-754 formats.
2020-03-24 – 2020-03-29 Chapter 4 presentation:
Some informative links about SSDs and Flash memory, and how they impact the traditional memory hierarchy:
2019-04-22 Gray code and FSM — example of a simple Finite State Machine.
  • chapter 6 — parallel processors
  • CERN hardware — excerpt from an article about computer systems at CERN scientific research center. Parallel systems are their big new thing.


SciTE — text editor — homepage for the SciTE software
The SciTE programmer's text editor. Cross-platform (Windows, Linux), a good replacement for "Notepad".
Vim — text editor — homepage for the Vim editor
Cross-platform (Windows, Linux, MacOS); an upgrade of the basic editor found on Linux and MacOS. For real "heavy lifting". Very powerful but takes some getting-used-to.
VisUAL — 32-bit ARM architecture visual simulator
bitbucket repository
Graphical simulation of an ARM-like processor with a subset of the 32-bit instruction set. Helpful for visualizing what assembly instructions do.