14
AC 2008-1410: PRACTICAL EXERCISE FOR EFFICIENT EDUCATION OF COMPUTER SYSTEM ARCHITECTURE Soonghwan Ro, Kongju University, Rep. of Korea He received an B.S., M.S. and PhD degrees from the Department of Electronics Engineering at Korea University in 1987, 1989, and 1993 respectively. He was a research engineer of Electronics and Telecommunications Research Institute and University of Birmingham in 1997 and 2003 repectively. Since March 1994 he has been an professor at Kongju National University, Korea. His research interests include pervasive computing, embedded systems and mobile communication. © American Society for Engineering Education, 2008 Page 13.989.1

Practical Exercise For Efficient Education Of Computer

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Practical Exercise For Efficient Education Of Computer

AC 2008-1410: PRACTICAL EXERCISE FOR EFFICIENT EDUCATION OFCOMPUTER SYSTEM ARCHITECTURE

Soonghwan Ro, Kongju University, Rep. of KoreaHe received an B.S., M.S. and PhD degrees from the Department of Electronics Engineering atKorea University in 1987, 1989, and 1993 respectively. He was a research engineer of Electronicsand Telecommunications Research Institute and University of Birmingham in 1997 and 2003repectively. Since March 1994 he has been an professor at Kongju National University, Korea.His research interests include pervasive computing, embedded systems and mobilecommunication.

© American Society for Engineering Education, 2008

Page 13.989.1

Page 2: Practical Exercise For Efficient Education Of Computer

Practical Exercise for Efficient Education of Computer System Architecture

Abstract

Computer System Architecture, written by M. Morris Mano, has been the most widely used

teaching material for training and understanding computer operation since its publication. This

teaching material provides an understanding of computer operation, assembly language and

assemblers, and enhances ability in hardware design and software programming.

However, it is very difficult for students to learn this subject through theoretical lectures alone.

Therefore, in order to help students to understand, the lessons were followed with the design

project “A Simple Computer,” which was introduced in the teaching material. However, not

many students could have completed the above term project during the period when this subject

was taught. Those who succeeded learned a lot, but others maintained a lack of understanding of

the subject regardless of the time they invested.

DigiCom, which operates in the same manner as the system introduced in the teaching material,

was designed. DigiCom was developed with VHDL using the ALTERA design software Quartus

II and implemented on the ALTERA Cyclone FPGA. This kit is a not general digital design kit,

but it has the same features that “A Simple Computer” introduced in Computer System

Architecture.

DigiCom was utilized in the 2007 term. The learning performance and improvements of the

students were analyzed by comparing the course evaluation, examination marks and term project

results between the year 2007 and previous years.

The effectiveness of the new kit could be confirmed by quantitative analysis, and also

qualitatively in the class. It could also be seen that the students’ interest in the course improved.

1. Overview

Computer System Architecture, [1]

written by M. Morris Mano, has been the most widely used

teaching material for training and understanding computer operation since its publication. This

teaching material provides an understanding of computer operation, assembly language and

assemblers, and enhances ability in hardware design and software programming.

However, it is very difficult for students to learn this subject through theoretical lectures alone.

Therefore, in order to help students to understand, a term project to design and implement “A

Simple Computer (ASC)” was assigned according to the following process:

- Design and implement “A Simple Computer” into the teaching material with VHDL

- Program an assembler to assemble the example program.

- Assemble the example program with the developed assembler and run that on the

developed “A Simple Computer.”

Page 13.989.2

Page 3: Practical Exercise For Efficient Education Of Computer

Fortunately, since the text describes all of the instructions and micro-operations in detail and free

design software such as the QuartusII[5]

WebEdition of ALTERA and the ISE Webpac[7]

of

Xilnx are available, the above design and practice are possible.

However, not many students were able to complete the term project during the period when this

subject was taught. Those who succeeded would have learned a lot, but it was found that the

others maintained a lack of understanding on the subject, regardless of time they invested.

It was concluded that another teaching method was necessary, and DigiCom[2]

, which operates in

the same manner as the system introduced in the teaching material, was designed and developed.

DigiCom was developed with VHDL[3, 4]

using the ALTERA design software Quartus II and

implemented on the ALTERA Cyclone FPGA[6]

. This kit is not a general digital design kit, but it

has the same features that “A Simple Computer (ASC) [1]

” introduced in Computer System

Architecture.

DigiCom was utilized in the 2007 term. The learning performance and improvements of the

students were analyzed by comparing the course evaluation, examination marks and term project

result between the year 2007 and the previous years.

The rest of the paper is organized as follows. Section 2 provides the result of analysis on the

learning performance before 2007 and the motivation for developing DigiCom. Then, in section

3, we discuss the general features of the educational kit to improve the educational effect. In

section 4, we describe the implementation and operation of DigiCom, and we analyze the

learning performance when DigiCom is utilized during the course work in section 5. Finally we

conclude this paper in section 6.

2. Analysis of the learning performance during previous courses

The learning objective and contents of the “Computer Architecture” course are “to understand

the basic structure and operational principle of a computer system, the concept of assembly

language, and the process of software execution by a computer system.” In order to accomplish

the goals of this course, the term project of implementing “A Simple Computer (ASC)” and the

programming of an assembler were conducted after the intermediate examination, in addition to

the lectures on theory. The process of the term project included design with VHDL using the

ALTERA QuartusII software, verifying the design by simulation, downloading to the digital

design kit and execution. The assembler was programmed in Windows or Linux OS. The

assembly program was converted by the assembler, and executable binary code was included in

the ASC memory as the initialization data for execution.

The evaluation result of the term project was classified into 4 grades, each of which was as

follows:

Grade 1: the assembly program can be executed on the kit

Grade 2: design was finished but the assembly program cannot be executed, and debugging

was not completed

Grade 3: functional blocks were implemented, but not integrated

Grade 4: even functional blocks were not implemented

Page 13.989.3

Page 4: Practical Exercise For Efficient Education Of Computer

In the above Grades, Grade 1 includes the case that design can execute the assembly program,

though not perfectly, and the students who achieved Grade 1 were considered to fully understand

ASC and to have performed their tasks successfully. Table 1 below presents the ratio of students

with Grade 1 for several years.

Table 1. The success rate of term project

Year 2001 2002 2004 2005 2006

Success Rate (%) 11 12 12 13 20

As shown in Table 1, many students were unsuccessful in completing the above term project

during the period when this subject was taught. Those who succeeded would have learned a lot.

However, others still lacked understanding despite the amount of time spent on the term project.

To analyze the learning performance of the students of the subject before 2007, the marks of the

students of all the terms with the course were classified into the 4 Grades above, and the average

marks of the students of each Grade in the final exam after the term project were compared.

Table 2 presents the analysis results.

Table 2. The average marks of final exam classified into 4 Grades by year

Year

Grade 2001 2002 2004 2005 2006

1st grade group 73.2 70.6 45.6 63.0 61.3

2nd

grade group 43.4 42.2 32.5 36.5 47.5

3rd

grade group 42.0 40.8 24.0 41.5 22.5

4th

grade group 16.0 28.0 11.1 20.0 20.8

As shown in the Table 2, the differences in the marks between 1st grade groups and other groups

are large. This means that the deviation between the students who succeeded in the term project

and those who did not is large. In the course evaluation, the suggestions of the students on the

improvement of the lesson were surveyed. Several students commented that the term project was

too difficult.

It was concluded that another teaching method was necessary, and DigiCom, which operates

similarly to the system, was introduced into the teaching material and was designed and

implemented.

3. Features of the general educational kit to improve educational effect

Generally, educational kits are developed to be available for multiple courses. They may look

economical, but they are not desirable for learning efficiency. In this course, in order to execute

ASC after implementing it with VHDL, it must be downloaded to FPGA. At this time, general

digital design kits using FPGA can be used. For this course, the term project had been conducted

using a general digital design kit before using the DigiCom.

Page 13.989.4

Page 5: Practical Exercise For Efficient Education Of Computer

The general purpose digital design kit was developed to be useful in all the courses where digital

circuitry is used, which means it is used for 3-4 courses on average. However, not all

departments have a course where the kit can be used. In my department, it is used partially in the

“Digital Engineering” and “Computer Architecture” courses, which are theory-centered courses.

Therefore, it cannot be utilized 100%. Due to its diversified functions, it takes time for students

to learn how to use a general purpose kit, and students cannot focus on the course study.

Furthermore, its high price compels several students to use one kit. Finally, its physical heavy

weight is also a problem because students cannot carry it for the practice at hand.

The following were taken into consideration, on the basis of the results of the comparison above,

in the development of the DigiCom to improve learning performance.

� Same functionalities as the ASC

The most important consideration was that the developed kit functions in the same way as the

ASC introduced in Computer System Architecture. This concept is based on the fact that a

beginner can understand software programming easily by executing well-programmed

software. “Computer Architecture” can be understood easily by running the ASC.

� Economy

In the economic consideration, as shown in the above comparison, a kit can be used in

multiple courses with diversified functionalities, even though it is expensive. In addition, it

is not guaranteed that all courses that can utilize the kit will utilize it. Because the structure

of DigiCom is very simple, the manufacturing cost is inexpensive.

� Ease of use

Conventional kits could not be carried by students due to their large volume. The volume of

DigiCom is one tenth of conventional kits, enabling portability. The power is supplied via a

USB port; therefore, it can be used anywhere a desktop or laptop PC is available.

Page 13.989.5

Page 6: Practical Exercise For Efficient Education Of Computer

4. Development and operation of DigiCom

4.1. ASC and hardware structure

The ASC structure is shown in Fig. 1 and implemented in the ALTERA Cyclone device.

LD(TR), LD(AR), INR(AR), CLR(AR), LD(PC), INR(PC), CLR(PC)

LD(DR), INR(DR), LD(AC), INR(AC), CLR(AC), LD(IR)

X[ 7..0]

T[15..0]

CB[15..0]

AC_IN[ 15..0]

M_EN, M_RD, M_WR

AND, ADD, DR, INPR, COM,

SHR, SHL, E_CLR, E_CME, INR

CB[ 7..0]

INTERRUPT

AC[ 15..0] , DR[ 15..0]

SC_CLR

SC_STOP

AC[ 15..0] , DR[ 15..0] , IR[ 15..0]

CARRY

FGI, FGO

IR[ 14..12]ENABLE_DECODE

R, T[ 15..0]

RESET, CLK

R, T[ 15..0]

T[ 15..0]

M_CLK

AR[ 11..0]

RESET input

Clock input

RESET

CLK_IN

CLK

M_T[15..0]

S_bit

M_CLK

INDIRECT

DEBOUNCE_CLK

OUTR_LD, INP_RD, I_EN, I_DI

RESET, CLK

RESET, CLK

FGO_SW KEY_IN(0~ F)

INP_REG[ 7..0]

7SEG_OUT[ a~ g]

INP_REG[ 7..0]

INP_REG[ 7..0]

RESET, CLK

SELECT_SW AC[ 15..0] , DR[ 15..0] , IR[ 15..0] , TR[ 15..0] , PC[ 11..0] , AR[ 11..0]

REG_OUT[31..0]

FF_OUT[7..0]

RESET, CLK

Fig. 1. Structure of “A Simple Computer” implemented in Cyclone FPGA

Each component is designed with VHDL in functional units, and designed functional units are

created into BSFs (Block Symbol Files). Created BSFs are called by the QuartusII Block Editor

and integrated into ASC. DigiCom was implemented using Cyclone FPGA, in which ASC was

configured. The structure and implemented DigiCom are shown in Fig. 2.

Page 13.989.6

Page 7: Practical Exercise For Efficient Education Of Computer

FPGA

0 1 2 3

4 5 6 7

8 9 A B

C D E F

0 ~ F

a ~ g

switch

Run

Step by instruction

Step by clock

Flip-flops(LEDs)

I, S, E, R, IEN, FGI, FGOclock

FGO

switch

Output 7-Seg.

Register 7-Seg.

(AR, PC, DR, AC, INPR, IR, TR, OUTR)

(a) Structure of DigiCom (b) Implemented DigiCom

Fig. 2. DigiCom

The hardware consists of the FPGA, including ASC; 7-segment LEDs which display output and

register values; LEDs which show each flip-flop that stores the internal states of the ASC; and

the switches that control the running mode. The switches control the program execution by the

program unit, the instruction unit, or the clock unit. The ASC has 8 registers. Many 7-segment

LEDs are required to display all of these register values; therefore, four 7-segment LEDs display

register values sequentially by the switch operation.

The input device is a 16-keyboard from 0 to F in hexadecimal and the output device is two 7-

segments which display 8-bit unit output register. However, when the ASC output is continuous,

the value is transmitted to the output buffer when the output flag (FGO) is set. Therefore,

continuous output is made by setting the FGO by pressing the external switch.

This kit is not a general digital design kit, but it has the same features that “A Simple Computer”

introduced in “Computer System Architecture”. Because of the following features, the developed

system is expected to help students to more fully understand computer architecture. The key

features of DigiCom are as follows;

- Assembly programs can be executed by clock step or instruction step mode. Register and

flag values can be monitored.

- Since it was developed on a functional block unit basis, functionalities can be verified by

implementing partial functions for practice.

- New commands can be developed and applied in the circuit for improvement.

4.2. Practice

How to use the implemented kit is described step by step. The description below is for the

understanding of ASC operation. It is important to learn how to use the kit and the concept of

assembly program executed by the processor before carrying out the following instructions.

4.2.1. Understanding of micro-operation

Page 13.989.7

Page 8: Practical Exercise For Efficient Education Of Computer

In this practice step, students run a simple assembly program which sums two operands in the

memory and saves the sum into the memory. After executing each instruction in instruction step

mode, students fill the register-flipflop table shown in Table 3.

Table 3. The example program and result of instruction step mode operation

After the execution in the instruction step mode, the same program is executed in the clock step

mode. After each T-clock unit execution, students fill the register-flipflop table shown in Table 4.

Table 4. Result of clock step mode operation Register & Flip Flops

Instruction Micro operations AR PC DR AC INPR IR TR OUTR I S E R IEN FGI

FGO

ORG 100 0 100 0 0 0 0 0 0 0 0 0 0 0 0 1

R’T0 : AR←PC 100 100 0 0 0 0 0 0 0 0 0 0 0 0 1

R’T1 : IR←M[AR], PC←PC +1 100 101 0 0 0 2104 0 0 0 0 0 0 0 0 1

R’T2 : D0, …,D7←Decode IR (12-14)

AR←IR(0-11), I←IR(15)

104 101 0 0 0 2104 0 0 0 0 0 0 0 0 1

D’7IT3 : AR←M[AR] 104 101 0 0 0 2104 0 0 0 0 0 0 0 0 1

D2T4 : DR←M[AR] 104 101 53 0 0 2104 0 0 0 0 0 0 0 0 1

LDA A

D2T5 : AC←DR, SC←0 104 101 53 53 0 2104 0 0 0 0 0 0 0 0 1

R’T0 : AR←PC 101 101 53 53 0 2104 0 0 0 0 0 0 0 0 1

R’T1 : IR←M[AR], PC←PC +1 101 102 53 53 0 1105 0 0 0 0 0 0 0 0 1

R’T2 : D0, …,D7←Decode IR(12-14)

AR←IR(0-11), I←IR(15)

105 102 53 53 0 1105 0 0 0 0 0 0 0 0 1

D’7IT3 : AR←M[AR] 105 102 53 53 0 1105 0 0 0 0 0 0 0 0 1

D1T4 : DR←M[AR] 105 102 FFE9 53 0 1105 0 0 0 0 0 0 0 0 1

ADD B

D1T5 : AC← AC+DR, E←Cout, SC←0 105 102 FFE9 3C 0 1105 0 0 0 0 1 0 0 0 1

R’T0 : AR←PC 102 102 FFE9 3C 0 1105 0 0 0 0 1 0 0 0 1

R’T1 : IR←M[AR], PC← C +1 102 103 FFE9 3C 0 3106 0 0 0 0 1 0 0 0 1

R’T2 : D0, …,D7←Decode IR (12-14)

AR←IR(0-11), I←IR(15)

106 103 FFE9 3C 0 3106 0 0 0 0 1 0 0 0 1

D’7IT3 : AR←M[AR] 106 103 FFE9 3C 0 3106 0 0 0 0 1 0 0 0 1

STA C

D3T4 : M[AR]←AC, SC←0 106 103 FFE9 3C 0 3106 0 0 0 0 1 0 0 0 1

R’T0 : AR←PC 103 103 FFE9 3C 0 3106 0 0 0 0 1 0 0 0 1

R’T1 : IR←M[AR], PC←PC +1 103 104 FFE9 3C 0 7001 0 0 0 0 1 0 0 0 1

R’T2 : D0, …,D7←DecodeIR(12-14)

AR←IR(0-11), I←IR(15)

1 104 FFE9 3C 0 7001 0 0 0 0 1 0 0 0 1 HLT

rB0 : S←0 1 104 FFE9 3C 0 7001 0 0 0 0 1 0 0 0 1

While students fill the register-flipflop table, they find the VHDL code in which a control signal

is generated, which enables a corresponding micro-operation at each T-cycle in ASC VHDL

design. For example, the instruction “STA C” in the example program of Table 3 consists of 5 T-

clocks. Memory-write and memory-enable signals have to be generated to save the result of the

summation at the last T4 clock, and the signal which clears the SC must be generated to initialize

the SC (Sequence Counter). By repeating this practice, the micro-operation can be easily

understood.

Register(HEX) Flip Flop Register,FF Instruction AR PC DR AC INPR IR TR OUTR I S E R IEN FGI FGO

ORG 100 000 100 0000 0000 00 0000 0000 00 0 0 0 0 0 0 1

LDA A 104 101 0053 0053 00 2104 0000 00 0 0 0 0 0 0 1

ADD B 105 102 FFE9 003C 00 1105 0000 00 0 0 1 0 0 0 1

STA C 106 103 FFE9 003C 00 3106 0000 00 0 0 1 0 0 0 1

HLT 001 104 FFE9 003C 00 7001 0000 00 0 0 1 0 0 0 1

Page 13.989.8

Page 9: Practical Exercise For Efficient Education Of Computer

Table 5. VHDL code which generate control signals at T4 clock of “STA C” instruction M[AR]←AC M_write <= (int_R and M_t1 and clk2) -- interrupt cycle

or (d(3) and M_t4 and clk2) -- memory STA

or (d(5) and M_t4 and clk2) -- memory BSA

or (d(6) and M_t6 and clk2); -- memory ISZ

M_enable <= (M_t1 and clk2) -- interrupt cycle

or (d(3) and M_t4 and clk2) -- memory STA

or (d(5) and M_t4 and clk2) -- memory BSA

or (d(6) and M_t6 and clk2) -- memory ISZ

or (not d(7) and i and M_t3 and clk2) -- decode

or (d(0) and M_t4 and clk2) -- memory AND

or (d(1) and M_t4 and clk2) -- memory ADD

or (d(2) and M_t4 and clk2) -- memory LDA

or (d(6) and M_t4 and clk2); -- memory ISZ

SC←0 sc_clr <= p_buf -- I/O reference instruction

or r_buf -- register reference instruction

or (int_R and t(2)) -- interrupt cycle

or (d(0) and t(5)) -- memory AND

or (d(1) and t(5)) -- memory ADD

or (d(2) and t(5)) -- memory LDA

or (d(3) and t(4)) -- memory STA

or (d(4) and t(4)) -- memory BUN

or (d(5) and t(5)) -- memory BSA

or (d(6) and t(6)); -- memory ISZ

4.2.2. Adding new instructions

As described in the Chapter 5 problems in the text, the existing instructions are replaced with

new memory-reference instructions, as listed in Table 6. In order to replace existing instructions,

students should define the micro-operations for that instruction, modify the VHDL code, and run

it on the kit with a simple program to confirm the result.

Table 6. New memory-reference instructions which replace existing instructions(Problem 5-13) Symbol Opcode Symbolic designation Description in words

XOR

ADM

SUB

XCH

SEQ

BPA

000

001

010

011

100

101

AC�AC XOR M[EA]

M[EA]�M[EA] + AC

AC�AC – M[EA]

AC�M[EA], M[EA]�AC

If(M[EA]=AC) then (PC�PC + 1)

If(AC > 0) then (PC�EA)

Exclusive-OR to AC

Add AC to memory

Subtract memory from AC

Exchange AC and memory

Skip on equal

Branch if AC positive and non-zero

For example, among the instructions above, one might replace the existing instruction with a new

one which performs the exchange of the two operands stored in AC and memory. The micro-

operation is defined as shown below. The STA instruction corresponding to the opcode “011”

with the XCH instruction in the instruction set must be replaced, and the register transfer

statement has to be defined for each T-clock as shown in Table 7.

Page 13.989.9

Page 10: Practical Exercise For Efficient Education Of Computer

Table 7. Definition of register transfer statement for XCH instruction

Instruction Register Transfer Statement

XCH

R’T0 : AR←PC

R’T1 : IR←M[AR], PC←PC +1

R’T2 : D0, …,D7←Decode IR(12-14), AR←IR(0-11), I←IR(15)

D3T4 : DR � M[AR]

D3T5 : M[AR] � AC, AC � DR, SC � 0

To verify the micro-operation defined above after implementation with VHDL, a simple program

which can confirm the operation of the instruction is prepared and executed on the kit. To repeat

this practice, the software has to be programmed, assembled, and included in memory as initial

data. Next, the VHDL code has to be compiled and downloaded repeatedly. The binary machine

code can be created by a manual assemble with the defined instruction set; however, this takes

time and may lead to an error while assembling. Therefore, an assembler was developed to

simplify the execution of the program. Since the QuartusII design can include memory which

can be initialized with executable binary machine code, memory can easily be initialized by

making the developed assembler have the same output format as that of the QuartusII memory

initialization file (MIF). Fig. 3 shows the simple program assembled by the assembler to test the

XCH instruction.

(a) Source program (b) Assembled result with MIF format

Fig. 3. Test program XCH and assembled result with MIF format

4.2.3. ASC design

As mentioned in the introduction, designing the whole system will be of great help for

understanding computer operation principle and practicing VHDL. With the practice described

above, understanding of the execution procedure of instructions in processor and computer

system operation can be greatly enhanced. However, it will take too much time to acquire the

desired learning performance for this course. For the students who have great interest in this

course, an optional term project which implements a new ASC was conducted.

4.3. Other kinds of practices for improving learning performance

We surveyed other teachers who use the same teaching material by email and phone calls to

investigate other methods to improve learning performance. We found that some are teaching a

Page 13.989.10

Page 11: Practical Exercise For Efficient Education Of Computer

purely theoretical course because their departments are software-based or they believe the term

design project is too difficult for students to perform. In addition to theoretical lectures, there are

other methods.

� Designing ASC and executing on a general digital training kit:

After designing ASC with VHDL or schematic, the designed ASC is executed on a general

digital training kit. The problem with this method is that the difference in the learning

performance between the students who succeeded in the term project and those who did not

is large, as mentioned in section 2. Also the implementation and interworking method of

external I/O are not described in the text in detail. In some cases, the ASC cannot be

implemented on the kit because the FPGA is too small.

� Designing ASC and confirm the operation by simulation:

The operation of ASC is confirmed by simulation. If memory is not designed, execution of

only one instruction can be simulated, but if the design includes memory, one program can

be simulated. In order to verify the result of simulation one should observe waveforms and

this is very boring. Also, because it is impossible to interwork with the external I/O device,

it is difficult to execute I/O instructions.

� Theoretical lecture and practice with commercial processors:

Because ASC differs greatly from currently used processors, practice is given with

commercial processors like AVR[8]

or PIC[9]

. In this case, students can be confused because

the theory they learned in lecture and the practice are different.

5. Effectiveness analysis

In order to evaluate the effectiveness of the developed DigiCom in education, the course

evaluation carried out after the completion of the term, examination papers and term project

results were analyzed by comparison. The course evaluation term was from 2004 to 2007, and

the exam paper and term project analysis term were from 2001 to 2007, excluding 2003.

5.1. Survey analysis

The course evaluation is to be entered after the term before knowing the credit for the

corresponding course. Ten common questions are provided for all the courses. Among these

questions, the questions with which the quality of the course in relation with the kit can be

evaluated are as follows:

Q1. Were the contents and level of the teaching materials appropriate for the object of the

course?

Q2. Were the lectures material and substantial?

Q3. Were the guides and instruction for experiment/practice substantial?

Q4. Did the professor proceed with the experiment/practice in efficient manner?

Q5. Through the experiment/practice, could principles and methodology be understood and

could the ability of operating equipments/devices be enhanced?

Page 13.989.11

Page 12: Practical Exercise For Efficient Education Of Computer

The highest point of each question is 5. The Table 8 below presents the marks of above

questions by year.

Table 8. Marks of survey questions

Year

Questions 2004 2005 2006

Average

(2004~2006) 2007

Q1 4.38 3.81 3.95 4.05 3.92

Q2 4.42 3.78 4.00 4.07 4.08

Q3 4.35 3.63 3.95 3.98 4.00

Q4 4.31 3.59 3.68 3.86 4.08

Q5 4.23 3.67 3.74 3.88 4.08

Table 8 shows that average marks between 2004 and 2006 increased compared to those of 2007

excluding Q1.

In addition to above questions, a question reading “Was it helpful for understanding the lectures

to use the DigiCom in the class?” was evaluated in 2007. The mark was 4.35/5 which was higher

than the other questions. However, comparative evaluation was not possible since the question

was given in 2007 for the first time.

5.2. Comparative analysis of the examination papers

Of the exam questions given in the 2007 term, the types of the questions which can be

considered to reflect the effectiveness of the practice, by comparing with those in the previous

terms, are as follows. The exam questions below are similar types, but the same questions were

not always given.

Table 9. Questions for exam used for analysis

Number Question type Years

Question 1 The initial values of registers are as follows. Which values

will be stored after execution of following micro operations.

2001, 2002,

2004, 2005, 2006

Question 2 Explain why each of the following micro operations cannot

be executed during a single clock pulse.

2001, 2002, 2006

Question 3 Give the sequence of register transfer statement needed to

execute each of the listed instructions.

2001, 2002, 2005

The marks of each year were normalized to a maximum of 10 and averaged. The results are

described in Table 10.

Table 10. Normalized marks of each questions by year

Year

Number 2001 2002 2004 2005 2006

Average

(2001~2006) 2007

Question 1 6.63 6.86 6.43 6.28 6.47 6.53 7.26

Question 2 4.38 4.01 - - 3.97 4.12 4,80

Question 3 2.56 2.04 - 2.53 - 2.38 2.49

Page 13.989.12

Page 13: Practical Exercise For Efficient Education Of Computer

Table 10 shows that the marks on Q1 and Q2 were improved greatly, but Q3 was still difficult

for students. In particular, the average mark on Q2 was improved more than Q1. One of reason

may be that students could make a mistake while they wrote the exam paper. Q1 required the

exact answer, while Q2 did not.

5.3. Analysis on the term project result

Since all the already-implemented VHDL are open in the course of the practice, the optional

term project, which implements a new ASC, was conducted by the students who have great

interest in this course. Table 11 shows the evaluation result of the term project classified into 4

grades.

Table 11. The success rate of term project classified into 4 grades (%)

Year

Grade 2001 2002 2004 2005 2006

Average

(2001~2006) 2007

1st grade group 11.4 10.7 11.5 13.6 20 13.44 16.7

2nd

grade group 27.2 27.3 26.0 18.2 20 23.74 25.0

3rd

grade group 29.0 21.9 30.4 12.8 30 24.82 16.7

4th

grade group 32.4 40.1 32.1 55.4 30 38 41.6

However, the percentage of the 1st grade group was not increased compared to the year 2006

term, although it was improved compared to the average percentage from 2001 to 2006. Because

new exercises had been added into the course as mentioned above, the term project had not been

provided with sufficient time, and the result does not show great improvement. However, the

reason for an unimproved success rate was not that the understandings of the students on the

computer architecture were not improved.

The most important reasons of the failure in the improvement of the success rate were: first, the

duration of the term project was too short; second, the lack of techniques in using the VHDL

casts large influence on the process of completion.

The following are the technical factors required for the students in the course of implementing

the ASC. The success rate is expected to be improved by providing students with the solutions

and a longer time period to complete the project.

� VHDL data type conversion: it is often required to convert some data types into the port

signal type after processing the declared integer type. The type conversion examples are

provided, such as integer to signal data type conversion.

� Bi-directional bus implementation: the memory data bus should be a bidirectional bus to

enable read and write. A method of implementing a bi-directional bus in VHDL is

provided.

� QuartusII memory implementation: a method of including the memory provided by the

QuartusII into design is provided, in addition to the method of initializing memory using

MIF file.

Page 13.989.13

Page 14: Practical Exercise For Efficient Education Of Computer

We cannot conclude that the developed DigiCom contributed greatly with only the analyses

above, because it was applied during only one term and the variations of assessments is were too

large before the 2007 term. In order to observe the effectiveness of a newly developed teaching

method, the learning performance should be traced for several years and collected from many

lecturers.

6. Conclusion

M. Morris Mano’s Computer System Architecture is a good teaching material for learning

computer operation principles and has been used for a long time. However, it is not easy for

students to learn through theoretical lectures. To this end, DigiCom, which has the same

operational principles as “A Simple Computer” in the text, was developed exclusively for this

course and is different from other digital design kits.

To evaluate the effectiveness of the DigiCom in learning, the course evaluation carried out after

the completion of the term, examination papers and project results from the term which made use

of the kit were compared with those of the terms which did not. The effectiveness of the new kit

could be confirmed by quantitative analysis, and also qualitatively in the class. It could also be

seen that the students’ interests in the course were improved.

However, further analyses would be required to confirm the effectiveness, since the new kit was

used in 2007 for the first time and only one term’s data was available.

7. Acknowledgements

This work was supported by the MIC (Ministry of Information and Communication, Korea),

under the NEXT(Nurturing Excellent engineers in information Technology) supervised by the

IITA (Institute of Information Technology Advancement).

Bibliography

1. M. Morris Mano, “Computer System Architecture 3

rd Edition,” Prentice Hall.

2. S. Ro, “The Training Kit for Computer Architecture,” Project Report, Korea Research Foundation, 2007. 10.

3. Douglas L. Perry, “VHDL 2nd

Edition,” McGraw-Hill, 1994.

4. Jean Michel Berge, et al., “ VHDL Designer’s Reference,” Kluwer Academic Publishers, 1992.

5. “Quartus II Development Software Handbook v7.2,” ALTERA, 2007.

6. “Cyclone Device Handbook,” ALTERA, Jan., 2007.

7. “Xilinx ISE 9.2i Software Manuals and Help,” http://www.xilinx.com. 8. “AVR® 8-bit RISC,” http://www.atmel.com. 9. “8-bit PIC

® Microcontrollers,” http://www.microchip.com.

Page 13.989.14