2110250 Computer Organization Year 2003
Course director: Sartid Vongpradhip
Part III Assembly language level
lecturer: Prabhas Chongstitvatana
email me
office: Engineering building 4, floor 18, room 13, phone 02-218-6982
Aim
Scope
Behavioural goals
Topics by week
Assessment
Lecture note
Reading
Tools
etc
What's new
2 June S2
ISA Assembly
language History
5 June Instruction
Set Architecture
9 June Introduction
to computer organization
10 June Computer
arithmetic
17 June S2
assembly level tools set Jump
and call
S2
assembler and simulator (executable) with some examples
18 June Relationships
between a high level language and an assembly language
25 June Code optimisation
2 July Example
of function call
21 July Multi-media extension instructions
1 September More examples
on function call : fibonacci
Self-replicating program
2 September Control
flow : if..then simple call
Expression
...
Aim
1. Teach the basic components in a computer system
2. Discuss the basic theory and the design practice of a computer system
3. Teach one assembly langauge
Part III Topics by week
1. Assembly language level
2. Instruction set architecture of S2
3. High level langauge to assembly language
4. Instruction cycle of S2
5. Performance optimisation
Announcement
Quiz assembly language level (in S2)
4 September 8:30--9:00 am in the classroom
Time table
Tuesday, Thursday 8:30am - 10:00am
Starting date
Section |
Room |
Arthit |
Prabhas |
Sartid |
1 |
ENG3305 |
3 June |
14 Aug |
8 July |
2 |
ENG3404 |
8 July |
3 June |
14 Aug |
3 |
ENG2204 |
14 Aug |
8 July |
3 June |
Part I Arthit
Part II Sartid
Part III Prabhas
Assessment
Quiz 30% (each part 10%)
Final 70% (note that there is no mid-term) date 16 Sept.
Part III Assembly language level
Scope
1 Introduction
to computer organization
2 Abstraction level of assembly
language (from an assembly language programmer or compiler point of
view)
1.1 S2
ISA : addressing mode, instruction format
programmer's view
machine code (dec notation, hex notation)
Register vs Memory
Jump
and Call
1.2 Writing an assembly level program
hand assemble
meta commands
symbolic names
1.3 Using
simulator and assembler of S2
3 Relationships
between a high level language and an assembly language
2.1 Assignment statements: Reg to Mem, addressing
mode
2.2 Expression: Reverse Polish
Operations
2.3 Control flow: if...then,
while loop
2.4 Function call: parameter
passing, local variables, call/return
More examples
on function call : fibonacci
4 Performance optimization
3.1 Register Transfer Level of S2
3.2 Peep hole optimisation
3.3 Register allocation and compiler related topics
3.4 Multi-media extension instructions
Behavioural goals
-
Students can write a short assembly language, for example, solve arithmetic
expression, perform simple loop
-
Students can write an assembly language corresponded to a given simple
high level language program.
-
Students can use tools such as an assembler, a simulator to develop a program
in an assembly language.
-
Students can analyse and improve performance of a code sequence in assembly
level.
Reading
P. Chongstitvatana, Computer Architecture: A synthesis, 2001.
-
Chapter
1 Introduction, performance, history
-
Chapter
2 Instruction Set Architecture
-
Chapter
3 Computer
arithmetic
-
Self-replicating program
Tools
S2 assembly level tools set
RZ compiler tools kit page
: include S2 assembly and S2 simulator
S2
assembler and simulator (executable) with some examples
last update 1 September 2003