# Boko Nikoli Jovan orevi Faculty of Electrical Engineering

• Slides: 18

Boško Nikolić, Jovan Đorđević Faculty of Electrical Engineering, University of Belgrade Web-Based Educational System for Teaching Computer Architecture and Organization bosko. [email protected] bg. ac. yu

Introduction § Computer architecture and organization courses play a central role in the Computer Engineering curriculum § While computer architecture encompasses the programmer’s or abstract view of the machine, computer organization deals with implementation details. § The joint IEEE Computer Society and ACM Computer Engineering Task Force has identified the core topics in computer architecture and organization

Introduction Fundamentals Organization of the CPU Registers and register file Data types Instructio n types Addressi ng modes Instructio n formats Fetch, Decode, Executio n cycles I/O techniqu es and interrupt Single vs. multiple bus datapath s Pipeline d, nonpipelined Control unit: hardwire d vs. micropro gramme d realizatio n Arithmeti c units impleme ntation Computer Arithmetic Representatio n of integers (signed, unsigned) Basic arithmetic algorithms for integer addition, subtraction, multiplication, and division Representatio n of real numbers Basic arithmetic algorithms for operations on real numbers Conversions between real and integer numbers Main Memory Memory hierarchies Main memory organization Latency, bandwidth, cycle time, performance Virtual memory system Cache memories Memory interleaving Memory technologies (SRAM, DRAM, EPROM, Flash) Reliability and error correction Interfacing and Communicatio n I/O fundamentals: handshaking, buffering I/O techniques: programmed I/O, interrupt driven, DMA Interrupt structures: vectored and prioritized, interrupt overhead, interrupts and reentrant code Buses: clock, control, address and data buses, arbitration Parallel and serial interfaces Timers

Introduction § The laboratory where students get hands-on experience is crucial in helping the students to bridge the gap between theoretical knowledge and the practical problems architects face in designing various computer system modules § Software simulators have several advantages over “real” microcomputer platforms: they are less expensive, more flexible and more appropriate for lower division courses, which typically include a large number of students § This paper presents one Web-based educational system for teaching computer architecture and organization

Background and motivation § A variety of educational simulators aimed to support teaching courses in computer architecture and organization have been proposed and developed. § They differ greatly in • • scope and complexity (rudimentary, medium, complex), type of instruction set (commercial, custom), user interface, simulation granularity (program, instruction, clock), simulation mode (batch, interactive), level of implementational details, support for distance learning.

Background and motivation System Complex it y Instruc Graphic al pr e s e nt at io n Simula t i o n g r a n u l a r i t y Simula Imple Distance t m Le i e ar o n ni n t ng M. o D d e e t a i l s HASE High User Yes Clock Interac t i v e No Yes ASF Medium User No Progra Batch No No t i o n S e t m ESCAPE Low Comm. Yes Clock Interac t i v e Yes RM Low Comm. Yes Clock Interac t i v e Yes No Simple. CPU Low Comm. Yes Clock Batch Yes No Easy CPU Low Comm. Yes Clock Interac t i v e No Yes

Background and motivation § Ideally, the simulators should support examples for a wide range of relevant topics, § allow students to write their own assembly and/or high-level language programs, § allow simulation and graphic animation of the program execution at the various levels of hierarchy. § Graphical representation and animation of computer system operation has proved to be a quite powerful tool § Simulator must be user friendly with a minimal learning curve and configurable, § allowing instructors to adapt them to a number of various laboratory experiments and various courses’ curricula. § Should support distance learning

Background and motivation § The initial version of the simulator was developed as a standalone application in Java. § After several years of use, it was decided to pursue a transition to a Web-based environment § Web-based environment allows students to prepare for lab at home, at their own pace, thus reducing time needed for successful completion of lab exercises. § The Web-based technology also offers seamless integration with knowledge assessment and administrative tasks and cost reductions for installations, updates, and maintenance

Computer systems § 3 different systems 1. processor with CISC architecture - processor PRO, a main memory MEM, an input/output subsystem with a DMA controller, a non-DMA controller and six dummy peripheral controllers (PER 3 -PER 8), and an arbitrator ARB 2. processor with RISC architecture and the pipelined organization - pipeline with five stages, load/store architecture, interrupt mechanism 3. Hierarchically memory system - three separate functional parts: virtual memory and translation lookaside buffer, the cache memory and the interleaved memory

Visual Simulator Capabilities

Initialization

Simulation § The simulator graphically presents parts of the computer system and signal values, § simulates the behavior of computer system, § displays simulation results in a user-friendly manner. § During a simulation run, two windows are present on the screen § The larger window in the upper part of the screen, shows parts of the computer system. § The Main Window in the lower part of the screen shows the status of simulation, the control signals generated for that clock period, and a brief explanation of the actions to take place during that clock period in the Sequence box.

Simulation

Laboratory Organization § Each exercise has four components: • • prelab preparation, in-lab knowledge assessment, in-lab assignment, and written report. § To prepare for a particular lab, the students must review related material from lectures and the textbook, and read the related sections from the lab manual. § They can also access simulator from home and use it for self-study. § Each lab assignment is preceded by a short computerbased test aimed to verify whether the students understand the topic covered in the assignment

Laboratory Organization

Assessment § The qualitative evaluation included a number of student surveys and discussions with fellow instructors who teach courses that directly or indirectly have this course as a prerequisite. § The surveys were aimed to learn what students perceived as a good educational tool and how they assessed the overall effectiveness of this approach. § The students were also asked to specify things they liked the most and least. § Majority of students praised graphical representation and found user interface easy to use. § The fellow instructors reported that students who used system were better prepared and had deeper understanding of basic concepts, so the time needed for revision could be reduced.

Assessment The quantitative evaluation included laboratory exit test and final exam scores, collected through several generations of students. § Overall student success in this course has increased since the introduction of this environment. § More important, the percentage of students passing this course increased. § Another indication of effectiveness is an increased number of students being admitted to graduate programs and obtaining Ph. D degrees at the top universities in the USA, working in the area of Computer Engineering. §

Conclusion § § § Students’ work results in the final course with the creation of a computer system with defined characteristics. At the beginning of the course every student is given a project that contains description of the computer system architecture. During the course a software system which is supposed to satisfy the required conditions is created At the oral defend test programs which run within the system are defined, and the students explain their decisions made during the project realization. This way everything learned during the studies integrates into an actual computer system that performs its given operations.