Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Abstract—Microprocessor (uP) Architecture and above tools, students still face significant understanding
Programming constitute core courses in computer science and difficulties in the corresponding courses. Thus, a totally new
electronic engineering departments. A variety of tools has been approach has to be adapted by students and professors. Recently,
used for gaining more knowledge and understanding the basic and a totally different educational methodology based on object
advanced concepts of the course. These tools (hardware platforms oriented approach has been proposed for the very first time in
and simulators) are focused mainly on assembly programming. the literature [1]. Current paper presents a new implementation
Despite the existing tools, students still face great learning of the simulator with advanced capabilities and new core
difficulties. On the other hand, key issues are the corresponding components based on the above educational concept and
architecture and the programming features of the uP under
discusses, (a) the capabilities of the hardware based simulator
studying. The above issues are not fully addressed by the existing
tool in contrast with disadvantages of the existing simulation
tools. In this paper, a customizable hardware based uP simulator
is presented and final proposed. Using this simulator, an
tools, (b) the new student role for increasing the resulting
experimental hypothetical educational uP can be built by students knowledge gain, (c) implementation issues and (d) educational
and the professors can create the corresponding learning scenario for the lab.
scenarios. Based on the proposed approach, the experimental uP
consists of identical hardware based blocks that can be
II. A NEW EDUCATIONAL CONCEPT
reprogrammed for representing registers, arithmetic and logic A. The object oriented approach
unit, etc. Thus, the students can act now as uP architecture and
assembly language designers gaining crucial knowledge in the Computer science students use simulation tools with
field. significant limitations such as, (a) Lack of tool adaptation to
custom uP architectures (only typical models can be simulated),
Keywords—Learning microprocessors, hardware based (b) Individual uP components cannot be studied, (c) Professors
simulator, designing microprocessors, educational computer/CPU cannot develop educational scenarios based on the
corresponding course requirements, (d) Students cannot be
I. INTRODUCTION familiarized with hardware level by using simulators.
It is a common ascertainment that microprocessor (uP) According to the proposed approach in [1], a hardware
courses are quite complicated for the students. Many hardware component collection is available. Based on the internal
based educational platforms have been used during past years software, each component behaves as a Register Block, Control
(e.g. Z80 boards such as the legendary MPF-I). Due to high cost Block or Master Block which is proposed for the very first time
and maintenance difficulties, these boards have been abandoned. in this paper. Thus, the desired custom uP architecture consists
These boards constitutes today only a historical era of of the selected components. Using this object oriented approach,
educational engineering. Today, the above educational tools the student selects the necessary components and builds the
have been replaced by visual software environments which desired architecture. The student has also to connect physical
simulate uP operation using well known architectures. channels for implementing the data and control bus respectively.
Simulators constitute low cost tools which offer great Finally, the new custom uP can be programmed using existing
capabilities for studding typical uP models [2]-[4]. In other assembly instructions (e.g. created by the professor) or by
approaches it is proposed, (a) the development of the creating new ones.
components that constitutes a computer at digital level [5] and
(b) the use of specialized training kits. The digital level B. A different role for the student
development is time consuming and does not involve the Using the proposed simulator, the students can now also act
software/assembly development and programming. Moreover, as block/object level designers and not only as
in other studies the FPGA technology has been used for building users/programmers. Note also that the students can create their
a uP with the desired architecture [6]. On the other hand, the own assembly instructions. This different role creates a new
training kits do not offer the required freedom to professors for knowledge path for the students. Due to the hardware based
designing educational scenarios. Despite the existence of the
the AVR code. Using 13bit for the block control, a system
Keyboard Screen
User Main Memoryy
User Input GUI/TEXT
Interface
1. Simulator
commands
Source Code
Simulator
scaling up can be achieved.
Supervision &
2. Hypothetical Control
CPU Instructions Simulator Control Unit
Control
Data Control
AVR Board Bus Bus AVR Board
Register Control Block
Block C Code (ALU) C Code
AVR Board
Register
Block C Code
Experimental/Hypothetical Computer
Experimental/Hypothetical uP
proper commands to the simulator for storing data and assembly ΑΤmega32Α
Fig.1 consists of the simulator environment and the D0-D7 iLED1 C0-C3
DATA CONTROL
experimental hypothetical computer model (gray area). The BUS
iLED2
BUS
INT0
source code of the hypothetical computer model is entered in the
main memory (within raspberry) and the Control Unit exchanges Fig. 3. AVR pin usage
signals (Data and Control) with other uP components such as C12
7bit 6bit
C0
C6 C5
registers (Register Blocks), ALU (Control Block), etc for Control
implementing assembly instruction execution. The software Address
command
within Raspberry Pi is written in Python and the software in
AVR boards in C. Control Word
B. Component Implementation
Fig. 4. Control Word (Address, Command)
Each RB/CB component is implemented as an autonomous
mini board with a 40pin AVR microcontroller, two seven
segment displays which show in real time the register contents
Assembly Instruction Execution Step 5: After the increment of the PC and the corresponding
instruction decoding, the contents of the registers A and
The first experimental hypothetical computer/uP model B must be read. This action is performed in two stages:
supports the following assembly commands (table 1): (a) read from Register-A (control word=address of
TABLE 1. SUPPORTED INSTRUCTION SET register A + control command for read), INT0 activation,
read contents through data bus, store register A contents
Instruction Operation OpCode Total length in the temporary register of ALU, (b) read from Register-
(bytes)
B (control word=address of register B + control
MOV A,X A=X 01 4 (X=1byte) command for read), INT0 activation, read contents