Learning Computer Organization and Assembly Language with the EasyCPU Visual Environment Cecile Yehezkel
Matzi Eliahu
Miky Ronen
Dept. of Science Teaching Weizmann Institute of Science Rehovot, 76 100 Israel
[email protected]
Dept. of Education Holon Academic Institute of Technology, 58 102 Israel
[email protected]
Dept. of Education Holon Academic Institute of Technology, 58 102 Israel
[email protected]
Abstract Several simulators currently available that teach computer organization are described in [1, 2, 3]. There are also professional tools, such as debuggers, available for the development of assembly language programs. However, these tools are generally too sophisticated and complex to meet the special needs of introductory-level students. This paper describes an interactive visual learning environment EasyCPU especially designed for teaching Computer Organization and Assembly Language at the introductory level.
The Advanced mode is designed for students with prior basic knowledge of Assembly language instructions. The advanced mode provides students with the development tools needed to write, run and debug their own programs and with the ability to visualize the details of the execution processes (figure 2).
Description of EasyCPU The EasyCPU environment is based on a simplified model of an 8-bit version of the Intel 80X86 microprocessor family. The model includes three main units: the CPU, memory segments, Input/Output, and the bus-connection between them. The CPU includes the essential general registers, instruction and stack pointers registers, flags, and the clock. The Memory is partitioned into three segments: Data, Stack, and Code. The environment offers two modes of operation. In the Basic Mode the student learns the internal structure of the computer, the processes, and information transactions involved during execution of single instructions in assembly language (figure 1).
Figure 2. A screenshot of the Advanced mode. The EasyCPU is incorporated in the National Computer Science curriculum and has been used until now by more than 5000 students. The widespread use of EasyCPU and its popularity among teachers and students support the need for a designated learning environment adapted to the specific needs of introductory level courses.
References
Figure 1. A screenshot of the EasyCPU Basic mode during the execution of “MOV CL, [1]”
[1] Cassel, L., Kumar, D., Bolding, K., Davies, J., Holliday, M., Impagliazzo, J., Pearson, M., Wolffe, G. and Yurcik, W., Distributed Expertise for Teaching Computer Organization and Architecture, ACM SIGCSE Bulletin 33 (2), 2001, pp. 111-126. [2] The ACM Journal on Educational Resources in computing. Special issue on simulators for teaching computer organization, March 2002. [3] The IEEE MICRO magazine, special issue on Computer Architecture and Education, 2000, 20(30).
Proceedings of the The 3rd IEEE International Conference on Advanced Learning Technologies (ICALT’03) 0-7695-1967-9/03 $17.00 © 2003 IEEE