A Contribution to Innovation in the Field of Microprocessor Systems: Evaluation of the Use of SIMRA Simulator in Teaching

This paper describes and evaluates an application which provides the simulation of the functioning of the central processor (CPU). The simulation provides visual representation of anything occurring both at the level of arithmetic logic units (ALU) for different arithmetic and logical operations and at the level of bits. The evaluation of the application of this simulator in teaching was also conducted. The sample included 95 students from the Faculty of Technical Sciences in Čačak, study program – Information Technologies. The method with parallel groups was applied in this research. One group of students mastered the contents of the ALU in traditional way of teaching, while the other group used the simulator. Their advancement in ALU knowledge was measured by knowledge test specially designed for this research. In the end, the students of both groups evaluated the use of the simulator in teaching. The results of the research showed that students who studied with simulators were more motivated and achieved better results than students who learned the same content in a traditional way.


INTRODUCTION
We live in a time where prosperity is directly dependent on the performance of knowledge. Knowledge management is a key platform to help fulfill these requirements. The application of new technologies (primarily IT) enables the potential creation of knowledge management systems (KMS) which could be used in education and economy. The results of such systems would be changes in the way of learning and working, as well as the creation and distribution of new knowledge.
According to International Classification for Standards (ICS) [1], Information technologies are classified as ICS1 = 35. Since 2015 [2], there are 14 areas on the second level of classification within IT.
This classification was obtained through several researches of one of this paper's authors [3][4][5][6] and it is of strategic significance for knowledge management.
In the field 35 of ICS (IT), the pace of knowledge innovation and vocational training is very intense. Experts in this area are faced with the issue of staying competitive, implying new, serious challenges: lifelong learning and maintaining the level of knowledge necessary for success in one's profession.
The trend of innovation in the subfield Microprocessor systems (ICS2=35.160) reached a plateau which lasted from 2010 to 2015. The authors of this paper, who in their teaching process are engaged in this area, came up with the idea to create a simulator that would be modular in character and that could be updated in accordance with standards. This simulator would also make it easier for students to master the materials in this field. Practically, we tried to create a win-win situationto facilitate and modernize the material for students, as well as to try to encourage their creativity regarding future development of this area, as there is a clear decline in innovation.
Thus, the aims of this research were the following: (1) to describe the developed simulator; (2) to evaluate its efficiency in teaching; (3) to direct possible future use in teaching; and (4) to encourage the reading TEHNIKA -ELEKTROTEHNIKA 70 (2021) 1 audience think about the possibilities of innovation in this area that is currently in stagnation.
For example, Alnoukari et al. [8] clarified the use of simulation tools in Computer Sciences courses. However, they only described some existing simulators unlike the authors of this research.
Prasad et al. [11,17] also evaluated a range of freely available simulators for teaching Computer Architecture and Organization (CO&CA), suitable for laboratory use. What is interesting in comparison with this research is that one of their ideas for future work is "to measure the effectiveness of some of the freely available simulators for teaching" which "will be achieved by utilizing some of the simulators in a few universities and compare student learning with the ones that do not use the simulators".
Smith's simulator [13] and the one presented in this paper both provide interactive execution of instructions but the main difference is in implementation. Smith implemented an off-the-shelf copy of the Microsoft Excel spreadsheet, while in this research, the created simulator is a stand-alone program.
A research similar to this one was conducted by Van Campenhout et al. [16]. They "developed ES-CAPE, an easy-to-use, highly interactive portable PCbased simulation environment aimed at the support of computer architecture education". The main difference is that they "only briefly evaluated the preliminary results obtained." Namely, there is no evaluation of students' knowledge or survey of their attitudes provided in the paper. However, the authors have stated the following; "Based upon our limited experience with the material so far, we can state that the results are excellent. Students invariantly responded very positively, and the evaluations indicate a far deeper understanding than it was previously attainable by using only the traditional textbook-and paper-problems approach." Similarly, Radivojević et al. [18] developed "a novel visual educational configurable simulator for computer architecture and organization (COCONUT)". The evaluation of its use was conducted at the School of Electrical Engineering (University of Belgrade) on two courses for two consecutive school years. The results "showed that 80% of the students stated that the simulator helped them to better understand the course material and that they had a positive user experience with the simulator".
Surveys of existing simulators were a matter of research in many papers as well. Along with survey results, papers by Nikolic et al. [19], Akram and Sawalha [20], etc. provide a comprehensive overview of related literature in this field. In the following chapter, we described the developed simulator including its 5 parts, i.e. levels. We stated advantages and disadvantages of each level, whereas the disadvantage of the simulator's first level is removed on the second level and so on.

DESCRIPTION OF THE SIMULATOR
SIMRA simulator was created at the Faculty of Technical Sciences in Čačak, University of Kragujevac. It is an assemblage of five applications i.e. simulators (SIM1, SIM2, SIM3, SIM4 and SIM5) which offer a visual presentation of the way the central processor works using the principle from simpler to more complex. The first two applications are simulators intended for users with elementary knowledge, and they visualize the synthesis of the computer architecture. The third and the fourth applications are demonstrations of how the program sequence works with and without memory. The fifth application is a simulator intended for advanced students. It represents the solution to processor TFaCo architecture created by the authors of this paper. All these applications offer a graphic interface for the users and provide plenty of commentary and visual effects. The program was created in Microsoft Visual Basic programming language. Minimum hardware requirements are: a Pentium 4 based computer with 512 MB of RAM and an integrated graphics card.

SIM1 -Arithmetic operations
This is a simulator that does not require previous knowledge and its task is to explain how CPU executes arithmetic operations at the level of bits. It should familiarize users with the binary language of computers. The user enters the selected whole 16-bit binary numbers, selects one of three mathematical operations (addition ADD, subtraction SUB or multiplication MUL), clicks on WRITE button and then selects an arithmetic operation. In order to execute these arithmetic operations, the numbers are first moved to the first complement and then to the second one. Figure 1 presents the layout of the window after the selection of arithmetic operation of addition (ADD) and moving the numbers A and B into the first, or the second complement. After the confirmation of the button MAKE, we access the other part of the simulation in which the addition of the two numbers (written in the second operand) is simulated in three steps (figure 2).

Figure 2 -SIM 1 -Arithmetic Operation ADD (Final Result) (Source: authors)
In the first step (STEP1), numbers are written in the registers; in the second step (STEP2) the digits of the same weight are added, including the transfer. After the completion of the second step the button STEP3 is confirmed, which gives the layout of the final result. The final result is obtained by removing the transfer bit from the result whereupon it is checked whether any exceeding occurred.
Advantages: introducing a binary number system; getting to know the basic arithmetic operations in the assembly record; Knowing that the computer has limitations.
Shortcomings: the numbers that are entered are unmarked (positive); the result, which is negative, is recorded as a marked number using the character and the absolute value; only arithmetic operations are simulated.
Required improvements: enable working with marked numbers by using another complement; simulate logical operations; it is necessary to show at bit level how basic arithmetic logic operations are performed.

SIM2 -Logical operations
This simulator should explain to the user how the CPU performs logical operations at bit level. The table of truthfulness appears for the selected operation, along with its graphic symbol, and the process of simulation begins. The bit of the number (operand) A is illuminated whereupon the corresponding result of the selected logical operation from the table of truthfulness (column Z) is illuminated. Finally, the value equal to the previously illuminated result is written in the register Z. Figure 3 shows the final result of the logical operation OR, which is applied to operands A and B. Shortcomings: the user is not given an explanation where the data to be used is entered; the user does not know where subscores are stored during the operation of data; it is not shown how the operations are performed in the arithmetic-logical unit (ALU); it is not explained where the final result is displayed.
Required improvements: introduce I/O devices; introduce ALU; clarify work with registers.

SIM3 -Program sequence without memory
Using the example of addition of two numbers, this simulator demonstrates to users stepwise transfer of data from the input devices, via ALU, to the output devices. Addition is carried out using two registers (A and B) without the use of memory. The result of the addition is stored in the register A ( Figure 4). TEHNIKA -ELEKTROTEHNIKA 70 (2021) 1 shown where all the data should "pass" in order to perform an addition operation over them; each step is documented and numbered on the simulator image; if we want to explain a step, the visualization can be paused (by confirming the Alt key), and then continued (confirming the same key).
Shortcomings: this is a demonstration (animation) of adding two numbers, i.e. the user cannot enter numbers and enter instructions; in this example, four instructions (IN, MOV, ADD, OUT) are used; there is neither an explanation of where the program is recorded nor the order of these instructions; More frequent cases are that the numbers are loaded from the memory, that is, the result is stored in the memory, but via the I/O device.
Required improvements: introduce memory; introduce a program counter (PC); introduce a memory address register (MAR); Introduce an instruction register (IR).

SIM4 -Program sequence from memory
Using the example of the addition of the same numbers, as in the case of the SIM3, SIM4 provides more detailed visualization of how CPU works, introducing memory, instruction register (IR), programming counter (PC) and memory address register (MAR). Figure 5 gives the final view after the realization of the program.
Level: Advanced. Advantages: memory, program counter PC, memory address register MAR and register of IR instructions are introduced; the data being processed is in memory; the program (instruction string) executed over the data is also written in the memory; processing results are stored in memory; the procedure of loading instructions from memory, decoding and executing them is visually demonstrated; possibility of stopping/continuing simulation for discussion.
Shortcomings: the user still cannot enter data and enter instructions; operational memory has low capacity; limited number of instructions (only 4); The instruction code (the length of the instruction's operating part) is 8 bits, and this takes up unnecessary storage, since with 8 bits 2 8 (256) instructions can be coded; only two registers are used.

SIM5 -Simulator TFaCo
Simulator TFaCo is intended for advanced students, and represents a solution to one processor architecture, designed by the authors of this paper. All simulations offer a graphic interface for users and provide plenty of commentary and visual effects.
In order to provide proper work, it is necessary to enter instructions (program) which the processor should execute and write in the memory. Two input methods are offered: input instruction by instruction (STEP TO STEP) or loading the program from the textual database (FILE). After the instructions have been written in the memory, they should be obtained and interpreted. The execution of the simulation can be described in several steps: calculating the instruction address, reading the instruction from the memory, decoding the instruction's operational code, executing the operation which is required by the operational code, determining the value of the indicator in the status register. After the operation has been executed and the indicator has been written in the register RS, the procedure is repeated for the following instruction (reading, decoding, executing, and writing). The simulation proceeds according to the sequence of the instructions written in the memory.
The layout of the window after the execution of the last instruction is given in the Figure 6.

Figure 6 -SIM 5 -Simulator TFaCo (Source: authors)
Level: Advanced. Advantages: The TFaCo simulator removes most of the shortcomings of the previous simulators and provides great opportunities for its users: the ability to choose the explanation of the basic parts of the simulator; the number of instructions to be simulated is increased; the ability to simulate only one instruction; In an assembly program, instructions can be entered by instruction or can be loaded from files; the data processed is entered by the user; the ability to work with 16-bit data, getting to know the role of the battery; By visualizing the phase of calculating the address of the instruction, the user is acquainted with the roles of the registers RD, RC, PC and MAR; owing to the visualization of memory work, the user realizes the principles of direct memory addressing, register addressing and immediate addressing; the user is familiar with the decoding procedure of the instruction and the role of the IR registry; During the visualization of data transfer from memory to registers and vice versa, the user becomes acquainted with the role of the bus; while performing various instructions, a two-way data transfer between registers and ALU is simulated and their role is clarified to the user; the user learns how the instructions affect the indicators in the RS registry; the ability to temporarily stop, accelerate, or slow down the simulation.
Possible improvements: create a more robust simulator that will include even more instructions, increase the number of executable lines of the program that the user can enter (due to the transparency of the visualization of the memory operation, the number of lines is limited to ten).

MATERIALS AND METHODS
In different teaching conditions (independent variable: traditional direct teaching and interactive teaching using the simulator), students' attitude towards teaching with the assistance of the simulator (dependent variable) was examined. The hypotheses of the research were: (1) students who master the material with the help of the simulator achieve higher level of knowledge; (2) students who master lessons in the field of computer architecture with the help of the simulator are more interested in this content than students who learned it in the traditional way.
The research was carried out during the winter semester of 2016/17. Following chapters describe the sample and the course of this research as well as the evaluation questionnaire and knowledge test used for data collection, as well as techniques used for the data collection process.
The remainder of this chapter consists of three parts which describe the following: the sample and the course of the research, knowledge tests and questionnaireboth used to gather the necessary data.

Sample and the course of research
The sample of the research included 95 1 st year students from the Information Technology study program at the Faculty of Technical Sciences in Čačak, University of Kragujevac, Serbia.
This study program can be taken by students who have had a wide spectrum of high school academic profiles in which they studied the Computer Architecture at different levels, or those who have not studied it at all. Therefore, at the very beginning of their attendance at this very program, a consolidation of 'input' knowledge in this area is of outmost importance. That can be achieved during the first semester in the course entitled Information Technologies, where one of the central topics is Computer Architecture. In the following semesters, students master their skills in the field of Computer Architecture through the following courses: Basics of Computer Technology (2 nd semester); Computer Architecture (4 th semester); Organization of computer systems (5 th semester).
In the first class of the Information Technology course, students' knowledge of basic arithmetic logic operations was examined by the initial knowledge test. On the basis of test results, two uniform groups were created (Acontrol group and Bexperimental group). Then, for group A (48 students), lectures on ALU architecture were carried out in a traditional way, and for group B (47 students), they were carried out using simulators. After the realization of the content of the lectures, the second final knowledge test was applied to determine the degree of adoption of the presented content.
In the final year of bachelor studies (7 th semester), the students took a course in Computer Simulation. Studying this subject, student should adopt theoretical and practical use of various possibilities of computer simulation, to get acquainted with the processes and modeling techniques.
Within this subject, the students' assignment is to design a simulator of their own choice, using the software of their own choice. 25 students of the 2016/17 generation, who took part in research in the winter of 2016 (26% of the total number of students who took part in research), decided to design a simulator in Computer Architecture (winter semester of 2019/20). More than 75% of students (19 students), who designed these simulators were students from the experimental group, i.e. B. All of these students were referencing the simulators they were using in the Information technology course during the 1 st semester. The remaining 6 students in the research conducted in the end of 2016 were in control group A. The simulators from the students in group B were much more elaborate and in turn received higher marks than the simulators designed by A group students.

Knowledge tests
Both the initial and final knowledge tests were developed specifically for the purposes of this research. The initial test was relatively short. It consisted of 10 questions and its purpose was to put the students in two equal groups.
The final test was more detailed and it was used to obtain an answer to the second hypothesiswhether the students who master the material with the help of the simulator would achieve a higher level of knowledge.

Questionnaire
In the end, students evaluated the effectiveness of teaching and their interest in this type of teaching by the evaluation questionnaire. The questionnaire consisted of two parts.
In the first part, students estimated (with grades from 1 to 5): their pre-knowledge from the field of ALU architecture; their interest in the content; the accordance with the activity in classes according to their needs; classes in general.
The second part of the questionnaire was filled out only by group B students and they estimated how much the material was more presentable to them owing to the simulator, and how interested they were to learn similar materials in the same way (using simulators).

RESULTS AND DISCUSSION
This chapter is divided into two parts: the first provides the results and discussion of students' achievement on knowledge tests; the second is related to students' attitudes regarding the simulator.

Students` knowledge progress
Descriptive statistics of the students' achievements from both groups on the final knowledge test is shown in table 1. Means and standard deviation which are used to describe central tendency and variation of the data, as well as skewness and kurtosis which can, to some extent, enable computing of the uniformity of the distribution are also given in the table in addition to the minimum and maximum values. As for the achievement on the final knowledge test, the students from the control group (A) achieved an average of 5.94 points on the test, while the students from the experimental group (B) had an average of 7.05 (out of 10 points). Also, it is interesting that the minimum score in the experimental group was 1.9, while the control group's minimum score was 0 points.
Uniformity of the distribution of results was calculated using the Shapiro-Wilk's test (0.05 significance level). It provides the conclusion that the results obtained from both groups follow the normal distribution (table 2). The analysis of the distribution of the control group's knowledge test results determined that they were slightly negatively or left skewed ( figure 7). The kurtosis of distribution is light tailed (lack of outliers) and shows that the results are homogeneous and grouped around the mean value.
As for the experimental group, the analysis of the distribution of the final knowledge test results is graphically represented on figure 8. These group's results are also slightly left skewed and kurtosis is slightly negative which means that there is no tendency to group students' results around the average value.   Table 3 shows the results of T-test, in which we examined differences between the achievements of students on the final knowledge test as two independent samples of comparison.
According to T-test results, they showed a statistically significant difference between the control and experimental group.
Thus, the first hypothesis was confirmed.
Effect size was determined by calculation of eta squared (Eq. 1). Eta squared value was 0.06, which indicates on moderate influence (Cohen in [21]). (1) Table 4 shows the assessments of examined students in questions from the evaluation questionnaire. The research confirmed the second hypothesis, i.e. that students who learned ALU content with the aid of the created simulator (group B) were more interested and motivated to work than their colleagues who listened to the same material in a traditional way (group A) (questions 2, 3 and 4).Students from group B gave better ratings to the classes (question 5). Also, students have a positive opinion on the use of the simulator in teaching and would like to listen and learn similar content using the simulator (questions 6 and 7).

Students' satisfaction with the simulator
The main cause of internal invalidity is the artificial environment in which the subjects are. Such a thing has been overcome in this research since the students of both groups were in a standard environment and situation.
Other validity threats were eliminated by including a control group, as well as randomizing and uniforming the groups. The validity threat which refers to the communication between groups could not be eliminated. In the extreme validity domain, it can be TEHNIKA -ELEKTROTEHNIKA 70 (2021) 1 checked by conducting the research again but on other generations of students.
Under normal circumstances, meaning when the pandemic comes to an end, as well as remote-teaching, the suggested approach gives satisfactory results.

CONCLUSION
The idea for this research was based on the previously collected data on the stagnation of the innovation trend in the field of Micropocessor systems (ICS2 = 35.160). The primary research goal was to evaluate the use of the ALU simulator in teaching.
Data for this particular research was collected using a custom-made evaluation questionnaire and knowledge test. 95 first year IT students from the Faculty of Technical Sciences in Čačak, Serbia, were first divided into two uniform groups (Acontrol group and Bexperimental group) and then their knowledge and attitudes were examined.
Based on the results on the knowledge test in both groups, we can conclude that students who have learned about ALU with the simulator (group B) achieved a higher level of knowledge and better test results than students who listened to the same content in a traditional manner (group A).
What supports this assertion is that the minimum score in the experimental group was 1.9, while in the control group it was 0 points. From this it can be concluded that even the worst students have nevertheless adopted some knowledge through the use of simulator.
Second hypothesis was also confirmed: students from group B (experimental group) are more interested in the content of the subject after the experimental period and they seemed to be pleased with this kind of teaching