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.