MICPRO 1283
Microprocessors and Microsystems 23 (1999) 255–256 www.elsevier.nl/locate/micpro
Computer architecture education A. Clements* University of Teesside, School of Computing & Mathematics, Borough Road, Middlesbrough TS1 3BA, UK.
In the past two decades immense strides have been made in the field of computer architecture, as readers of Microprocessors and Microsystems will appreciate. This progress has to be reflected in the teaching of computer architecture if the next generation of computer scientists and engineers are to build on the foundations of the previous generations. In the four articles in this special edition we look not only at the changing curriculum, but also at the changing ways in which the material is delivered to students. Computer scientists in the 1980s began to reevaluate architectural principles and were responsible for the development of a new generation of computers that exploited instruction-level parallelism, the so-called RISC machines. Executing instructions in parallel led to the development of techniques that could predict the outcome of branches before they were executed in order to prefetch instructions from the branch target address. Pipelined, superscalar processor design and speculative execution have provided a rich source of educational material over the past few years. All these developments are forcing computer architecture educators to examine what they teach and how they teach it. Emphasis is gradually moving from the low level (gates and digital logic) to the higher levels (e.g. instruction level parallelism). The advent of powerful PCs, the Internet and Java have all contributed to a new environment in which teaching is no longer performed solely by “chalk and talk”. Web pages, animated presentations and simulators are now widely used in and out of the classroom. This special edition looks at some of the ways in which the teaching of computer architecture is changing. These articles range from the classroom-based design of computer architectures to the use of Java-based simulation environments in teaching advanced concepts. Bernd Ulmann at the University of Mainz in Germany presents an article on the architectural design and implementation of a processor called NICE. Most academics would agree that the best way to learn is by “doing” because only by constructing software or hardware of their own can a student appreciate all the factors involved. Ulmann’s * Tel. 1 44-1642218121. E-mail address:
[email protected] (A. Clements)
article looks at the architectural factors affecting the designer of a classic von Neumann architecture such as the instruction format, instruction types, and the need for primitives to implement stack operations. Dante del Corso at the Politecnico di Torino in Italy provides an example of how the new educational technology can be applied to the teaching of one of the more difficult areas of computer engineering, signal integrity and transmission line effects in high-speed digital systems. Del Corso examines the educational aspects of interactive multimedia technology and describes the implementation of a project to teach signal integrity. A particularly interesting part of del Corso’s article is the section dealing with transmission lines and the effects of impairments such as crosstalk. These topics are relatively difficult to teach in a conventional fashion. Multimedia technology enables a student to vary parameters in the model of a bus and to observe the effects of these changes on pulses on the bus. Alan Clements at the University of Teesside in the UK discusses the selection of a computer as a vehicle for teaching computer architecture in a first-level course. One approach is to construct a hypothetical processor, as Ulmann does to remove all extraneous elements that get in the way of teaching. However, both students and academics also need to appreciate real-world architectures with their good and bad features. Clements looks at two architectures used in teaching computer architecture. The first is Motorola 68 K family with its relatively streamlined CISC architecture and the special features incorporated in this family that make it so suitable for teaching areas such as operating systems. The second is the ARM family that incorporates the RISC ideal of a simplified instruction set but which has many interesting features such as conditional execution. In many ways the ARM is similar to a microprogrammed computer because its instruction set allows you to perform multiple actions per instruction (e.g. conditional operation, condition code updating operand shifting). The ARM processor is particularly attractive because ARM Ltd provides an (unsupported) set of development tools via its University Support Program. Until relatively recently, students had to understand computer architectures either by reading books or programming the actual computer itself. Over the last decade or so,
0141-9331/99/$ - see front matter q 1999 Elsevier Science B.V. All rights reserved. PII: S0141-933 1(99)00020-4
256
A. Clements / Microprocessors and Microsystems 23 (1999) 255–256
computer simulation has become more popular. By simulating one machine on another, you can easily observe the execution of a program at the machine level and collect data and statistics at will. Even more recently, graphically based computer simulations are being used to give students a greater insight into the architecture of processors. Roland
Ibbett at the University of Edinburgh in Scotland provides an article on computer architecture visualization techniques and describes the simulation environment (based on Java) that has been developed at Edinburgh. In particular, Ibbett shows how visual simulation can be used to illustrate the operation of cache memory.