Scientific area
Computer architecture/Microprocessors/
Engineering Education

An object oriented approach for learning microprocessors /
A novel Hybrid Simulation Platform

Modern engineering applications are based on microprocessors and microcontrollers. Thus, the microprocessor (uP) architecture constitutes a core course component in engineering education. Many technologies have been used by the Universities in the past 30 years for learning uPs. In the 1980s, hardware platforms have been used (e.g., MPF-I) for learning assembly programming in hexadecimal mode of popular microprocessor models. The above platforms have been replaced by software simulators where the uP components are represented by visual objects. The software based approaches have lack of uP architecture customization and are limited only in assembly programming. On the other hand, the existing hardware based tools are low level and very complicated. Thus, the students do not work on uP design and assembly language development. In this research, a novel hybrid simulator platform which changes the educational point of view regarding the uP learning methodology is presented. The proposed hybrid simulation platform (HSP) consists of hardware components which represent the uP architectural units and software components for system operation and administration. Using the HSP, students freely select the uP hardware based components and build their own architecture. On the other hand, professors can create educational scenarios with customizable experimental architectures.
The hardware based tools are low level tools, do not involve the students at uP component level design, in assembly programming or in instruction set development. Additionally, the corresponding training kits restrict the professor and student freedom for implementing and testing educational experimental uP architectures. Moreover, despite the large number of the available software based simulators (free or commercial products), some critical drawbacks are still exist. These drawbacks affect the learning capabilities of the students as well as the simulation tool functionability, expandability and adaptability to knowledge needs. Some critical features of the existing simulation tools that introduce limitations, are:

Fixed Architecture. The uP architecture under investigationis always fixed and based mainly on a popular model. Thus, the uP model cannot be customized.

Only theoretical Approach. The uP is approached theoretically (assembly programming). The students do not have any view of the corresponding hardware. Additionally, professors or students cannot build an experimental uP architecture. 

Only System level simulation. Individual uP components cannot be simulated (e.g., the experimental behavior of a standalone register is too important for the corresponding knowledge gain).

No extendibility. Any possible extension is based on the source code intervention. Any source code development by professors or students for the existing simulators is almost impossible due to the high complexity or source code unavailability.

Fixed pedagogical approach. If the uP model architecture is fixed as well as the instruction set, the students just follow predefined steps for the corresponding programming.

PC based solution. The majority of the simulators are executed in PC based platforms, and thus, a uP laboratory cannot be built without traditional PCs.

The proposed solution Regarding the above limitations, a new point of view is needed for gaining more knowledge in the field by implementing a new approach and developing a new educational tool. A similar simulator has been proposed in Ref. [7] with many limitations such as: (i) lack of system administration; (ii) no user interface; (iii) the assembly instruction set has to be developed in binary mode; (iv) only low level operation; and (v) not ready for educational use. In Ref. [6] the preliminary and early version of the hardware based simulator has been presented. The proposed HSP system in this paper, is the complete and mature HSP system which is ready for the very first time for the educational practice within the engineering curriculum in higher education.
The new proposed tool combines software and hardware and the experimental uP components are implemented in hardware. The hardware behavior is defined by the corresponding software. The student or professor reuses the available hardware components like bricks for developing an experimental architecture. These components constitute the uP internal units which interact as a system for performing assembly instruction execution. The assembly instructions are also developed by students or professors.
The new features of the proposed approach can be summarized as follows:

Standalone tool.
The proposed Hybrid Simulation Platform (HSP) works as a standalone low cost solution without the need of a traditional PC (The HSP supervision and control is achieved by a Raspberry Pi). 

The HSP is an open source/hardware system where every component can be reproduced and reprogrammed. A variety of uP models can be implemented by developing/changing the component behavior, instruction set and system architecture. Different educational scenarios based on a variety of architectures, components and instructions can be created by professors.

Hardware approach. The students can now work on hardware level by connecting data, address and control buses and viewing the corresponding signals at bit level. 

Component investigation. Individual components can be investigated by students such as single registers, ALUs and more. This knowledge is more critical when the work flow is down-top.

Extendibility. The HSP can be extended by reproducing the same single hardware components for building different architectures or by developing new assembly instructions.

Open Source/Open architecture. The HSP is an open source and open architecture project. The source code (Python and
C) will be available in the internet for free as well as the PCB schematics for developing the needed hardware components. Thus, anyone can make changes and experimenting with the desired features.

Pedagogical approach. The proposed HSP tool is more suitable for inquiring learning which nowadays constitutes a crucial approach where the students discover the knowledge by studding data, experimenting with hardware/software objects in cooperation with other colleagues. Thus, the student skills will be emerged through a guided educational scenario.

The Multitech MPF-I is based on Z80 and the
corresponding assembly programming is performed only
through hexadecimal code. A great number of engineer
generations has been educated through these tools. In the
middle of 90's the above tools have been abandoned due to
model discontinuity, maintenance cost and student material
complexity. Moreover, the above hardware platforms do not
offer an architectural point of view for the corresponding uP
model. (photo by P. Papazoglou)

Software environments offer
great capabilities which include the selection of the uP
architecture under studding. (Screenshot by P. Papazoglou)

Physical view of a designed Experimental microprocessor
(Hybrid Simulation Platform)

2018 - A hybrid simulation platform for learning microprocessors - Wiley publication