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

Διαβάστε την περιγραφή του πρωτότυπου Υβριδικού Προσομοιωτή για τους μικροεπεξεργαστές

Cellular networks/Simulation/Channel allocation
(main research 2005-2010)


Channel allocation is one of the fundamental issues in wireless communications due to the fact that it determines how the available bandwidth will be managed. The limited channel availability and the increasing demands for advanced services such as real time video give to channel allocation strategies a special role. While bandwidth management in cellular communication systems has been thoroughly examined for voice channel admission by developing several DCA (Dynamic Channel Assignment) strategies, there are a few only efforts investigating assignment and management of multimedia enabling channels in wireless communications. However, the increasing demand for these advanced services in cellular networks such as data, MMS and video transfers raises the problem of efficient bandwidth management. Despite the thorough investigation of channel allocation strategies in the literature, significant drawbacks are still not faced effectively. For example, the existing channel allocation strategies do not take in consideration the user competition for the available radio resources and are focused only on finding free channels with acceptable signal quality. Moreover, the existing cellular network strategies do not take in consideration the concurrent user requests as they occurred in the competitive environment regarding the network performance. In this research, the proposed novel channel allocation strategies for voice, data and real time video are focused on the concurrent nature of the cellular network in order to achieve adaptability of network behaviour to current use needs. Additionally, the proposed channel allocation algorithms for multimedia services in this research take into consideration the signal measurements for the real offered capacity as compared to the state of the art algorithms, where channel capacity is assumed to be constant. Recently, various approaches have been proposed for more efficient channel allocation based on node-oriented advanced techniques such as multi-agent technology. Despite the results of the above approaches in terms of network performance the problem of network behaviour adaptation to current user needs still exists. Thus, a new strategy approach must be investigated regarding the efficient channel allocation, user request treatment by the network and service concurrency. This new strategy must take in consideration the following cellular network characteristics:


a) Competitive environment conditions for available radio resources.

b) User request-service concurrency.

c) Service-oriented network operation.

In large scale networks where the traffic conditions can not be predicted only intelligent channel allocation strategies can face more efficiently the user demands for free channels. Unfortunately, these strategies do not take also in consideration the above characteristics. Thus, new intelligent strategies must be applied for a concurrent and competitive services-oriented environment. Through this research, a new intelligent channel allocation approach based on ant colony optimization is presented for the very first time in the literature for achieving high adaptability of network behaviour to current traffic and user needs especially in large scale competitive environments.


On the other hand, the experimental cellular networks and the corresponding channel allocation algorithms are developed and evaluated within simulation environments which offer the opportunity for rapid development with low cost and without the need for field experiments. Due to the complexity of real cellular networks, the simulation model and software architecture development and implementation becomes a very critical factor that influences the resulting network model and performance.


Existing simulation models do not take in consideration important network environment attributes such as concurrency and radio resource competition. Moreover, an efficient model for reflecting the network services concurrency and competition focused on channel allocation does not exist in the literature. In this research a novel scheduling mechanism model for reflecting concurrency and resource competition is proposed and also it is shown how events structure and scheduling affect simulation model results in terms of network performance measured through specific statistical metrics. It is illustrated also that such an investigation is critical for cellular network simulation models designing, although these issues have been largely ignored so far in the literature. Additionally, a deep analysis of the simulation model architecture implementation is presented for the first time in the literature. Through the above analysis, important implementation issues are also discussed.


Regarding the simulation model behaviour, there is lack of standardized statistical metrics in literature for evaluating experimental network models. Through this research a set of existing and new statistical metrics for evaluating the simulation model behaviour is proposed.

It is clear that critical issues concerning event scheduling, multi-agent technology, implementation architectures and evaluation methodologies focused on cellular network simulation characteristics have not been investigated so far in the literature and must be further investigated especially for network concurrent events scheduling and simulation.


As a conclusion, a complete simulation framework with integrated channel allocation schemes for supporting voice, data and real time video services and a novel event scheduling mechanism in a concurrent and competitive network environment based on multi agent technology with new statistical methods for evaluation is analyzed and finally proposed in this research.


Objectives - Contributions

A new simulation framework for channel allocation is analysed and finally proposed in this research. Through this framework, a set of new channel allocation algorithms has been proposed and tested for supporting voice and multimedia services. These algorithms are evaluated with a new simulation model which integrates the multi agent technology in combination with a new proposed event scheduler for adapting the cellular network behaviour to current traffic and signal conditions. The whole modelling methodology is based on the offered network services and the multi agent technology gives to each network service the required autonomy and behaviour for servicing effectively the existing and the potential mobile users. The event scheduling mechanism reflects the network concurrency and introduces at the same time a new network policy for facing the service requests within the network.


On the other hand, additional statistical metrics are proposed for evaluating the network performance as well as the simulation model behaviour. More specifically, the objectives of this research are:


(a) Development of a new event scheduling mechanism for supporting channel allocation.

This mechanism reflects not only the network event concurrency but also the competition of the services for getting access to shared radio resources such as the radio channels. In the literature, an event scheduler focused on channel allocation does not exist. The event concurrency is controlled by assigning specific time slices to each service to complete its tasks. Based on the current network conditions, the time slice assignments may be different in order to achieve the desired network performance such as low dropping probability (low number of forced termination of ongoing calls). Additionally, this mechanism has been implemented at a multi threaded platform which offers a variety of tools for controlling the tasks’ time executions. Moreover, the major drawbacks of this technology regarding the implementation are also discussed.


(b) Design a new services oriented simulation model based on the multi agent technology.

The  whole  simulation  model  has  been  developed  according  to  mobile  users demands which are satisfied by the network services. In existing studies, the simulation models are concentrated only on network nodes. Multi agent technology offers a plethora of advanced features such as autonomy, collaboration, interactivity, etc. The offered network services have been integrated as agents in the designed simulation model in order to achieve high adaptability to mobile user demands. Based on the above features, each service agent acts for its own goals and has at the same time the capability for collaboration with another agent for achieving a common goal such as the balanced performance of the network. In this research, the network agent behaviour is formally analysed towards a fully controlled algorithm at the implementation phase. The implementation of the network agents is also presented and discussed.


(c) Develop new channel allocation algorithms for voice and multimedia services.

All  the  developed  and  proposed  algorithms  are  mainly  based  on  signal measurements in order to realize the wireless environment of the network for efficient channel allocation. Moreover, the corresponding algorithms take in consideration additional criteria for channel allocation such as the cell congestion and the strongest signal level between a mobile user and a BS in the neighbour. On the other hand, partial channel reallocation is supported in multimedia services for guaranteeing the desired Quality of Service (QoS) level during the call. The multiple channel allocation for real time video services of the developed algorithms is based on signal measurements and hence on variable channel capacity and not on constant channel capacity as found in most studies in the literature.


(d) Develop a new channel allocation algorithm based on ant colony optimization.

In large scale environments, the wireless conditions can not be predicted for applying a suitable channel allocation strategy. Thus, the corresponding channel allocation must be adapted to current network conditions. For that reason, a heuristic strategy must be applied. In this research an ant colony optimization algorithm is proposed for significant improvement of cellular network performance especially in a large scale environment as compared to existing classical Dynamic Channel Allocation (DCA).


(e) Develop and propose additional and new evaluation metrics.

Blocking and dropping probability represent the most known statistical metrics for measuring the network performance. At the same time, there are no standardized metrics for evaluating the network simulation model behaviour as well. Additionally, the method of confidence intervals is applied in simulation results for accurate evaluation and the corresponding data are produced mainly from Monte Carlo executions. In this research, existing statistical metrics are used for measuring the simulation model stability for example. Moreover, a new statistical metric is also proposed for evaluating the simulation model behaviour.


(f) Investigate the features and limitations of the multi-threading technology regarding the development of a cellular network simulator.

During this research, a new cellular network simulator based on the multi-threading technology has been built for evaluating the proposed approaches such as event scheduling, network modelling and channel allocation algorithms. The whole development process of the simulator is described in terms of software engineering analysis and the main drawbacks using the above implementation technology are discussed.