5JJ55 / 5JJ65 - Computation
("Implementatie van rekenprocessen")
Up to date information about the current course can be found at the computation
website.
Program skeletons needed for several assignments, hints to assignments
and other material can be found below.
Some material is in Dutch.
C++ A
beginners guide by Herb Schildt (Microsoft site)
Online book. Note that individual chapters can be downloaded either in
xps format (requires xps viewer)
or pdf format (requires pdf reader like adobe reader).
Computation:
The aim is to introduce the information part of electrical engineering,
to provide insight in the relation between hardware and software of
computer systems, to learn to program in the language C, and to prepare
the student for the design of a processor(in the following trimester).
The student gets acquainted with a formal system for specifying and
manipulating switching functions, also to be able to work with a
synthesis program for transforming, simplifying and mapping switching
functions.
Computer Architecture:
The aim is to provide the basis skills for designing a general purpose
processor, more in particular a MIPS, the same processor that will be
the core of the control system to be designed in the design-oriented
part of this trimester. The organisation of such a computer has already
been introduced in the Lecture "Computation". Here the student will
learn the impact of choices in architecture and a methodology to
realize them in hardware.
Contents
Computation:
01: logistics and intro 02: information and computation 03: binary
representation 04: what is a program? (lab)05: the digital abstraction
06: switches and gates 07: binary decision diagram 08: logic calculus
(lab)09: logic synthesis: a glance 10: combinational devices: parity ,
convert (hlab)11: sequences and states 12: storage elements 13: von
neumann model 14: control flow (lab)15: models of computation 16:
datapaths 17:machine languages 18: compiling, running, debugging
(lab)19: asynchronous machines 20: sequential devices
controllers(hlab)21: stacks and procedures 22: functions (lab)23:
single cycle processors 24: multi-cycle processors 25: memory hierarchy
26: strings (lab)27: registers 28: pointers (lab)29: pipelining 30:
pipelined processors 31: 32: pointers and arrays (lab)33: computer
arithmetic 34: implementing operators abs & pipemult(hlab)35: main
memory 36: memory allocation(lab)37: synchronization 38: communication
39: virtual memory 40: structures (lab)41: interfacing peripherals42:
data structures: ll (lab)43: boolean algebra 44: switching theory 45:
46: recursion (lab)47: protocols 48: communicating state
machines(hlab)49: 50:trees and recursion (lab)51: switching structures
(regularity)52: 2- level logic reduction 53: 54: compiling big
programs(lab)55:56:I/O from files (lab)57: implementations (transistor
circuits)58: multilevel logic59: 60: the very best of C(lab) 61:
computer-aided design62: filters (SIS) (hlab)63: final assignments
64,65,66: consult the website
for further details.