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