Boško Nikolić, Jovan Đorđević Faculty of Electrical Engineering, University of Belgrade...
-
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
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.
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.