Boško Nikolić, Jovan Đorđević Faculty of Electrical Engineering, University of Belgrade...

18
Bo Bo ško Nikolić, Jovan Đorđević ško Nikolić, Jovan Đorđević Faculty of Electrical Engineering, University of Faculty of Electrical Engineering, University of Belgrade Belgrade Web-Based Educational System for Teaching Web-Based Educational System for Teaching Computer Computer Architecture and Organization Architecture and Organization [email protected] [email protected]
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    218
  • download

    0

Transcript of Boško Nikolić, Jovan Đorđević Faculty of Electrical Engineering, University of Belgrade...

BoBoško Nikolić, Jovan Đorđevićško Nikolić, Jovan ĐorđevićFaculty of Electrical Engineering, University of BelgradeFaculty of Electrical Engineering, University of Belgrade

Web-Based Educational System for Teaching Web-Based Educational System for Teaching Computer Computer

Architecture and OrganizationArchitecture and Organization

[email protected]@etf.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

Computer Arithmetic

Main Memory

Interfacing and Communication

Registers and register file

Data types Instruction types Addressing

modes Instruction

formats Fetch, Decode,

Execution cycles I/O techniques

and interrupt

Single vs. multiple bus datapaths

Pipelined, non-pipelined

Control unit: hardwired vs. microprogrammed realization

Arithmetic units implementation

Representation of integers (signed, unsigned)

Basic arithmetic algorithms for integer addition, subtraction, multiplication, and division

Representation of real numbers

Basic arithmetic algorithms for operations on real numbers

Conversions between real and integer numbers

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

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 Complexity Instruction Set

Graphical presentation

Simulation granularity

Simulation Mode

Implement. Details

Distance Learning

HASE High User Yes Clock Interactive No Yes

ASF Medium User No Program Batch No No

ESCAPE Low Comm. Yes Clock Interactive Yes Yes

RM Low Comm. Yes Clock Interactive Yes No

SimpleCPU Low Comm. Yes Clock Batch Yes No

Easy CPU Low Comm. Yes Clock Interactive No Yes

ANT Medium Comm. No Instruction Batch No No

Newsport Medium Comm. No Clock Interactive No No

CASLE Medium Comm. No Instruction Batch Yes Yes

SimpleScalar High Comm. No Clock Batch No No

DLXview High Comm. Yes Clock Interactive Yes No

RSIM High Comm. No Clock Batch No No

SimOS High Comm. No Program Batch 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 systems1. 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 (PER3-PER8), 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

In itia liza tion

E d ito r

S et p rogram m ing registe rsIn itia lize m em oryS et c lock cycles, access tim esIn itia lize I/O devices

In teractivein itia liza tion S im ula tion

context

L inker &Loader

S im ula tionE ngine

R un {C lock|Instruction |P rogram }N aviga te th rough h ie rarchyInspect waveform sS ave s im u la tion context

A ssem bler

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 computer-based test aimed to verify whether the students understand the topic covered in the assignment

Laboratory Organization

Web Browser

mySQLDatabase

TomcatWeb Server

Java Classes(incl. Servlets)

JDBCDriver

HTML/XML JSP

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 PhD 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.