© Euromicro, 1977 North-Holland Publishing Co., Amsterdam
MICROPROCESSOR
STUDIES R. Parchoux,
Assistants
AT
CLAUDE
P. Desgoutte
& l~Universit6
BERNARD
UNIVERSITY
& J. P. Comte
Claude-Bernard
de Lyon
ABSTRACT
This paper describes how microprocessors have been adopted for use in a University laboratory and discusses the arguments which lead to the introduction of an appropriate educational program. A special course of study has been designed to enable electrical engineers and advanced technicians to find out about microprocessors. The reasons are presented why it was necessary to create a new teaching section together with the results of our experience. The details of both the theoretical and practical sides of the study program are discussed. KEYWORDS microprocessor, computer teaching, practical work,
science, education, engineering
INTRODUCTION The microprocessor has been creeping into our study programs gradually as a result of a logical development of several factors. Before the advent of microprocessors, electronics and control theory were taught by studying circuits (discrete components and integrated circuits), and methods for analysing and synthesizing their behaviour (linear systems, sampled and logic systems). Programming was only taught via high-level languages (FORTRAN) and only a limited number of students learned assembler (IRIS 80). An electronics student who used scratch-pad memories or ALU chips was considered to be advanced. Then, a group of university electronics assistants were commissioned to build a microprocessor system which could be used for the teaching program and practical work. During this time, the industry had to direct the efforts of those few capable of providing educational and technical support with microprocessors towards other industrial users, so we had to
solve all the p r o g r a m m i n g difficulties (which software people k n o w about) and the circuitry questions (which the electronics experts k n o w about) for ourselves. N o w that w e have done this, w e have been able to introduce m i c r o p r o c e s s o r studies into the syllabus for students following the " E E A m a ~ r i s e " syllabus (]) . OUR
STUDY
PROGRAM
At first, w e only taught the data flow aspects of m i c r o p r o c e s s o r s . W e studied the information m o v e m e n t s b e t w e e n C P U , m e m o r y , input/output ports, and h o w students w e r e to use instructions to invoke these. Study of the h a r d w a r e w a s limited to timing cycles and state transitions. Practieals w e r e designed to enable students to take a p r o b l e m and i m p l e m e n t a p r o g r a m to solve it, right f r o m a study of the algorithms involved to its being b l o w n in a R E P R O M after debugging. Other praticals w e r e designed to bring out the sequential aspacts of m i c r o p r o c e s s o r s m a c h i n e cycles, m e m o r y addressing, fetch and execute cycles. W e found, h o w e v e r , that this study p r o g r a m w a s not adequate for electronics students, and it soon b e c a m e apparent that there w a s a need to discuss the role of the m i c r o p r o cessor as an elech'onie circuit and to consider its applications. T h e 1974 L a u s a n n e conference '~Journ~es d'Electronique de l'Ecole Poljtechnique E @ d ~ r a l e '~ brought two trends to light in the g r o w i n g n u m b e r of m i c r o p r o c e s s o r users. S o m e users only consider the m i c r o p r o c e s sor as an information processing s y s t e m they are only c o n c e r n e d with software and h a r d w a r e . T h e s e people w e r e looking for m o r e and m o r e sophisticated and c o m p r e h e n s i v e d e v e l o p m e n t tools. O t h e r s see the m i c r o p r o cessor as the next generation of s y s t e m s c o m p o n e n t for use in logic circuits and industrial control systems.
32
R. PARCHOUX, P. DESGOUTTE, J.p. COMTE
For those looking for microprocessor training on the information processing side, the problem of education is fairly easy. Theoretical courses do, however, have to be supported by practicals needing expensive development systems - which makes them almost out of the bounds of possibility owing to the permanent shortage of university teaching funds. If these practicals are not available, on the other hand, the training the students receive can only be applied in a limited waY. We considered that it was more reasonable, considering the requirements of industry and the "EEA ma~rise 'r to adopt a more broad approach and to train the students to handle microprocessors from both an information processing and a hardware point of view. The microprocessor is not a simple integrated circuit - the electrical engineer cannot make use of it unless he is also familiar with information processing concepts. Our experience plainly shows, however, that it is easier to progress from a knowledge of electronics towards a knowledge of information processing than vice versa. To achieve our aim, we only had to fit the new hardware approach to microprocessors into our already established study program of information processing concepts. The best way to teach students to understand systems and to enable them to build them for themselves is to first study the individual system components and their relation to one another. The student is made to construct a minimal microprocessor system through which he gets to understand the workings of the CPU (since he has to synthesize the necessary control signals). At this level, expensive practicals can hardly be supported since they require too many resources both in the form of equipment and manpower needed to campaign for appropriate funding. We considered that a good study program should gain the interest of professionals in the electronics industry who wished to gain experience with microprocessors. The admission of these as part-time students into our full time programs would not only bring in some funds for equipment, but also enable all to gain from contact with the invaluable experience of professional engineers. Thus we came to set up the first program of theoretical and practical study of microprocessors withing the full-time syllabus at Claude Bernard University in Lyon. We set out to obtain applications from engineers and technicians who had experience with hard-wired logic, but had no knowledge r
of computer science. We sent our syllabus to all the local firms and we soon had to stop accepting applications owing to the enthusiastic response. THEORETICAL
WORK
The teaching program starts with revision in order to bring all the students to a common starting point. This consists of : - construction and workings of integrated circuits (TTL, static and dynamic MOS, CMOS) microprocessor technology and present developments - basic logic circuits : decoders, latches, multiplexors, busses with tri-state gates - semiconductor memories (RAM, ROM, PROM, and REPROM)illustrated by examples of complete microprocessor memory systems. Besides a theoretical introduction to microprocessors, the student is introduced to a general microprocessor model which enables him to understand the characteristics of all microprocessors. Discussion of this model includes : - general microcomputer organisation the function of instructions, routines, subroutines - control flow in microprocessor software (program counter, stack, instruction register, instruction decoder, microprogram, instruction memory, examples of instructions including conditional and unconditional jumps and subroutine calls. data transformations by software (accumulator, registers, flags, I/0, data memory) -
-
various possibilities are examined.
for addressing
modes
The students are then introduced to assembler l a n g u a g e p r o g r a m m i n g . They study c o m p l e t e l y t h e m n e m o n i c a s s e m b l e r of t h e microprocessor they will use in their practical work. The next step involves some s u p e r v i s e d s t u d y s e s s i o n s (one t e a c h e r f o r s i x s t u d e n t s ) to a l l o w s t u d e n t s t o l e a r n a b o u t computer science concepts behind programming. They study data manipulation in increas i n g d e g r e e s of d i f f i c u l t y - r e g i s t e r s , a c c u m u l a t o r s , I/O, m e m o r i e s , l o g i c a l a n d a r i t h m e t i c o p e r a t i o n s , u s e of f l a g s a n d s e m a p h o r e s , p r o g r a m m i n g of l o g i c a l c o n d i t i o n s , t i m e c o n s t a n t s a n d s o on.
MICROPROCESSOR
STUDIES AT CLAUDE BERNARD UNIVERSITY
The students then receive a detailed course on the workings of the microprocessor they will encounter in the practical sessions. This course emphasises the sequential aspect of the system - states, working cycles. Having already been introduced to assembler programming makes the understanding of this course easier and examples are more easily explained. The theoretical course is followed by some units on data acquisition and D/A and A/D conversion techniques and problems. P R A C T J C A L WORK The second part consists of eight four-hour practical sessions. Students work in pairs and make use of functional modules (memories, CPU's, latches, decoders) which are only the corresponding chips set into boxes for mechanical strength. On the front of each box is a picture of the dual-in-line representation of that chip and the interface pins are labelled for clarity. At first, students work on studying the microprocessor cycles and states, and have to construct (in the following order) : - the memory address decoding/latching an output port ,~nd its address decoder an input port and its address decoder - an input port to work in interrupt mode - a REPROM and a RAM memory together with their respective address decoders. When studying each function, the students are encouraged to pay particular attention to the generation of the necessary synchronisation signals. After allthese components have been statieallytested by simulation, the microprocessor is plugged in and each module is tested by appropriate software in the REPROM. When this has been done, the student can then load into the REPROM the program he has developed and debugged during a previous practical. These practical sessions form the most important part of an effective educational program, but they do need to be supported by a course about algebraic algorithms and by a series of lectures given by an engineer who is well conversant with industrial microprocessor applications. -
-
WHAT ARE OUR RESULTS
?
Our applicants consisted partly of students who had attended short courses (about 3 days long) given by microprocessor manufacturers. These students felt that there was a great
33
difference between the teaching techniques applied in these courses and the techniques we used in our university teaching, but they felt that our pedagogic manner was better suited to overcoming their lack of knowledge. We have concluded (based on feedback we get from new students from industry) that our course of study is efficient. Our current intake represent a very wide background - 17 firms and 4 state services. We introduced the same program into the syllabus for 5th year students as an option. 33 students admitted via the DEA scheme (2) or via the DESS scheme (3) have opted to take the course. Now that chips are coming into the market which have a CPU, I/0, RAM and REPROM on a chip, the trend that an electrical engineer will regard microprocessors as simply another logic systems component in his panoply can only be amplified. Our teaching program was based on our feelings that this would be the case. However, the microprocessor, despite its multi disciplinary nature (both electronics and information processing nature) cannot be substituted for all examples of hardwired logic, especially in high-speed applications. The situation is progressing very rapidly , however, and teaching techniques must follow this advance.
(i)
EEA
: Eleetronique, Automatique
Electrotechnique,
(2)
DEA
: D i p l S m e d'Etudes Approfondies
(3)
DESS
: D i p l S m e d'Etudes Sup~rieures Sp6eialis6es.