very limited time.
A very few experiments have been done using spread-
sheets (A.El-Hajj et al., 2000; Smith, 2007; Seila,
2004) in which very often the spreadsheets are used
primarily as a way of displaying preprogrammed
blocks written in Visual Basic or its equivalent.
The proposed approach requires only a basic un-
derstanding of spreadsheets formulas use which is
considered as well known by all the students. The
main objective is to provide on each spreadsheet all
the elements necessary to understand the working of
each part by a direct access to the formula. A stu-
dent can access to everything, verify, modify and test
each part or the whole of a simulation. The main idea
is that absolutely nothing is hidden. Every component
being described by a visiblefunction or by a few func-
tions, a misunderstanding can only be a misreading of
a function.
3 COURSE AND TOOL
ROADMAP
The content of the course is based on the classical
hierarchy of any computer architecure course. The
practical (lab.) works use our simulators realized
using spreadsheets with no programming (at the VBA
or other level).
At least, one spreadsheet is dedicated to every
chapter and allows to construct, check and validate
a piece of hardware related to the chapter. The course
covers the following chapters :
1. From the transistor to the gate provides a
spreadsheet with a bunch of transistor based cir-
cuits for basic gates and the possibility to change
their input values or parameters to observe and an-
alyze the analog and digital signals.
2. Making functional blocks with gates and reg-
isters provides a spreadsheet containing gates,
some digital circuits examples which will be used
to construct functional blocks.
3. The Von Neuman computer approach, the data
and the control paths are detailed and illustrated
by a basic operational machine on a spreadsheet.
4. Study of a first simplistic microcoded machine
provided with both a simple code in memory and
the details of the microcode. The students can use
it to launch an execution at a micro instruction
level.
5. Enhancing the microcode by defining new in-
structions and their associated micro instructions
sets inspired by the initial instruction set mi-
crocode.
6. Assembly coding for simple problems, to load
and execute on the provided machine spreadsheet.
For this purpose we use both a manual assembly
method and an external C written assembler.
7. New addressing modes as indirect and indexed
are developed
8. Subroutines : making a software stack a branch
and link instruction is detailed, as well as the way
of handling a software stack.
9. I/O handling and interrupts A simple interrupt
logic is created and is associated to direct I/Os.
4 DEVELOPING MACHINE
SIMULATORS USING
SPREADSHEETS
The use of spreadsheets to make logic simulations or
CPU simulations is not new and we can cite (A.El-
Hajj et al., 2000) and (Seila, 2004) as two good exam-
ples of what can be done, by the use of a VBA pro-
gramming. Nevertheless, this type of realization has
two drawbacks: it is hardly portable from a spread-
sheet to another (for instance from EXCEL to Open
Office Calc) and the fact that macros hide a lot of in-
formations to the students.
We believethat using only formulas which are vis-
ible at anytime is much more educative even if the
work is a little bit harder to prepare. In this tool, each
input or output of an element (transistor, resistor, gate
or logic block) is associated with a cell. The inter-
connects between elements are done at two levels:
the component functional level and the components
interconnection level. At the component functional
level, the input of every element needs the address
of the output of the previous one to ensure a correct
execution of the implemented function by using the
right parameters. At the components interconnection
level, lines representing physical links can be imple-
mented either by hand drawing, or by the use of the
”trace precedent” function which exists at least in Ex-
cel and OpenOffice. It draws automatically a straight
line from the input to the previous output. Using such
a method, the student can simulate a circuit the level
he wishes (analog, binary or digital bus value for in-
stance).
CSEDU 2010 - 2nd International Conference on Computer Supported Education
102