0% found this document useful (0 votes)
95 views

CAA Syllabus 3 Credits

This document provides a course syllabus for Computer Architecture and Assembly Language that includes: 1) An overview of the course content which will provide students with knowledge of computer architecture, assembly language programming, and debugging programs at the machine language level. 2) Learning objectives that aim to explain technical computer concepts, write and debug assembly code, and improve collaboration skills. 3) A weekly plan that outlines topics like computer organization, memory, CPU architecture, and labs/exercises for each chapter covering key principles and building programming skills.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views

CAA Syllabus 3 Credits

This document provides a course syllabus for Computer Architecture and Assembly Language that includes: 1) An overview of the course content which will provide students with knowledge of computer architecture, assembly language programming, and debugging programs at the machine language level. 2) Learning objectives that aim to explain technical computer concepts, write and debug assembly code, and improve collaboration skills. 3) A weekly plan that outlines topics like computer organization, memory, CPU architecture, and labs/exercises for each chapter covering key principles and building programming skills.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

HO CHI MINH CITY UNIVERSITY OF Major: Information Technology

TECHNOLOGY AND EDUCATION Level: Undegraduate


Faculty of Information Technology Program: Information Technology

COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE


COURSE SYLLABUS

1. Vietnamese name: Kiến trúc máy tính và Hợp ngữ


2. English name: Computer Architecture and Assembly Language Course number:
CAAL240180
3. Credit number: 3 credits (2/1/4) (2 credits on class, 1 credit on laboratory, 4 credits at home)
4. Instructors:
1. Nguyễn Đăng Quang
2. Đinh Công Đoan
5. Prerequisite:
Students have completed Introduction to Programming course
6. Course Description
This course provides students with basic knowledge of Computer Architecture, those attributes
that have direct impact on the logical execution of a program, the operational units and their
interconnection that realize the architectural specifications, memory organization, addressing
modes. understanding the stack frame when an assembly code is called from the high-level
language program.
This course is also to provide a comprehensive introduction to programming in assembly
language on x86-64 processor. The students will learn how a stack frame is organized when an
assembly code is called from the high-level language program. They will learn how to debug an
executable file with gdb.
7. Course Goals
Goals Goal description Goals Competency
(The course aims to provide students with:) level

G1 An ability to explain technical terms, concepts,


structural and functional view of computer, understand
the complex trade-offs between CPU clock speed, 3 3
cache size, bus organization, number of core
processors
Competency to assemble, debug programs at
G2 3 3
machine language level.
G3 3 3
Teamwork skill, presentation skill
G4
1.3 2
Ability to apply knowledge of computer architecture
to other areas of computing curriculum and real 1.4 3
environment. 3
1.5

1
8. Learning outcomes
Course Description ELO Competency
objectives (After completing program, students are able) levels
G1.1 To describe computer structural and functional
view of computer components, Understand the
complex trade-offs between CPU clock speed, 1.3 2
cache size, bus organization, number of core
processors
G1
G1.2 To describe the interaction among components,
1.3 2
peripherals, interrupt and I/Os
G1.3 To describe the x86-64 instruction set architecture 1.4 2
G1.4 To describe the structure of an assembly program, 1.5 3
G2.1 To write assembly code, to understand stack
frame and calling convention an assembly code 2.2 3
G2 from the high-level language program
G2.2 To improve programing skill and debug program
2.3 3
at machine language level
G3.1 To collaborate and sharing ideas among group
1.2 2
G3 members
G3.2 To improve English reading skill 1.2 3
G4.1 To enhance knowledge on other subjects in
1.3 3
curriculum
G4 G4.2 To explain various aspects of software
programming regarding the underlying hardware 1.4 3
technologies.
9. Ethics:
Students must demonstrate that they accomplished themselves all exercises and projects.
Those students who cheat or commit plagiarism will be imposed punishment.

2
10. Plan:
Wee Teaching Assess.
Content ELO
k Methods Methods
Chapter 1: Introduction (4/0/8)
Lecture’s content G1.1,
+ Computer Organization vs. Architecture G1.2
+ Start : Trang 2 - trang 13 G3.1
G3.2
+ Operational structures of computer
components
+
+ Multi-level machine
Questions
+ Evolution of Computer Presentatio & Case
+ Von Neuman (IAS) machine n studies
1,2 + Microprocessor speed techniques
+ Performance balance
+ Multi-core processor
+ Performance assessment (CPI, MIPS,
Execution time of program)
+ Amdahl’s law
Tasks for students at home: G1.1,
+ Group work on CISC and RISC G1.2
Computer
G3.1
+ Exercise on computer assessment and G3.2
speed enhancement when moving from
single-core to multi-core processor
Chapter 2: Top-level view of Computer
functions and interconnections (4/0/8)
Lecture’s content G2.1. Presentatio Questions
+ Computer functions G2.2 n & Case
studies
+ Instruction cycle G4.1
3 G4.2
+ Program execution
+ Interrupt
+ Instruction cycle with interrupt
+ Interrupt vector table
- Interconnections
+ Memory module
+ I/O module
+ Processor module
+ Buses
+ Bus arbiter

3
+ Bus hierarchy
+ Intel QPI
+ PCIe
- Practice Lab
+ Watch the fetch-decode-execute
video Fetch-Decode-Execute Cycle
+ Undertanding the MBR, MAR, PC,
IR and Program execution with MARIE
Simulator.
Tasks for students at home
+ Running simulation of programs with
G2.1,
MARIE Simulator
G2.2
+ Exercises on computing data transfer rate G4.1
for processors with various register bit-size,
G4.2
databus width and different clock speed:
3.3, 3,5, 3.6, 3.7, 3.11 – section 3 of [1]
4 Chapter 3: Computer Memory (8/0/16)
Lecture’s content G2.2 Presentatio
Computer memory overview G4.2 n
- Key characteristics
- Memory hierarchy
- Locality of reference
Cache memory
- Principle
- Mapping schemes
 Direct mapped cache
 Associative cache
 Set associative cache
- Replacement policies
- Cache write policies
Virtual Memory
- Paging
- Advantages & Disadvantages of Paging
and Virtual Memory
- Segmentation
- Paging combine with Segmentation
Practice lab:
+ Watch video from Dr. Harry Potter
+ Investigate cache strategies with
Memory Tutorial Simulator
- Internal memory
+ Semiconductor memory
+ SRAM, DRAM
+ ROM, PROM, EPROM, EEPROM,
4
flash memory
+ Chip logic
+ Memory packaging
- External memory
+ Magnetic disk
+ Disk performance parameter: seek
time, rotational latency, access time,
transfer time
+ RAID
+ SSDs, SSD practical issues
+ Optical memory
Tasks for students at home G2.2,
+ Watch video, review cache mapping G3.1
G3.2
+ Group work on Internal memory and
External memory G4.2
+ Excercises on building up memory
module from chips
Chapter 4: The Central Processing Unit
(4/0/8)
Lecture’s content G2.4
+ CPU Complexity
G4.3,
+ x86-64 Registers G4.4 Problem-
+ x86 Memory segmentation Based
+ x64 flat memory model
5
+ Addressing modes

Tasks for students at home G2.4


Lab
G4.2, Problem-
+ Registers & memory view with gdb Submis-
G4.3, Based
(tutorial) sion
G4.4
Practice lab (0/4/0)

6 Lab
- Practice registers & memory view with gdb Problem-
Submis-
Based
sion

Chapter 5: Data representation (2/1/4)


7 Lecture’s content Presentatio
+ Integer representation n
+ Unsigned & signed addition
+ Floating-point representation
+ Characters & Strings
+ Excercises

5
Tasks for students at home:
Doing Quiz in chapter 3.0 of [3]

Chapter 5: Assembly language

Lecture’s content
NASM assembler
+ Comments
+ Numeric values
+ Constants
Program Memory sections declarations
+ Memory layout
+ Data section
+ BSS section
+ Text section
+ Example program
8 + Excercises
Assemble/Link/Load
+ Assemble
+ Linker
+ Loader
+ Load in gdb
Console input/output
+ Calling system services
+ Input
+ Output
Practice lab
Practice compiling simple nasm programs then
watch in gdb

Tasks for students at home Lab


submisiso
Doing suggested projects from chapter 6 of [3]
n
Chapter 6: Instruction Set Overview
9, 10, Lecture’s Content
11 + Notational convention
+ Data movement
+ Addresses & Values
+ Conversion instructions
+ Integer arithmetic
+ Logical instructions
+ Control instructions
+ Iterations
Excercises: Quiz questions from chapter 7 of
6
[3]
Tasks for students at home: Lab
Doing all suggested projects in chapter 7.0 of Submis-
[3] sion

Chapter 7: Addressing Modes & Stack


processing

Lecture’s Content
Addressing modes
+ Addresses & values
+ Example: List summation
+ Example: Pyramid areas & Volumes
+ Excercises
Stack processing
+ Stack
+ Stack instructions
12 + Stack implementation
+ Examples
+ Excercises
Command line Arguments
+ Parsing Command line arguments
+ High-level language Example
+ Argument Count and Argument Vector
Tasks for students at home: Lab
Doing all suggested projects in chapter 8,9,16 Submis-
of [3] sion
Chapter 8: Macros & Functions P4 - 231

Lecture’s Content
Macros
+ Single-line macro
+ Multi-line macro
+ Example
+ Debugging macros
+ Excercises
Functions
+ Overview, declaration
13, + Debugger next, step commands
14 + Calling convention (parameters,
registers) from high-level programming
language
+ Stack frame
+ Examples
+ Excercises
Tasks for students at home: Lab
Doing quiz questions in chapter 11,12 of [3] Submis-
Doing all suggested projects in chapter 11,12 of sion
[3]

7
Chapter 9: System Services

Lecture’s Content
Overview
+ Calling system services
+ Newline Character
Console output
+ Example
15 Console input
+ Examples
File Operations
+ Excercises

Course Review

11. References
- Lecture notes:
Nguyễn Đăng Quang, Computer Architecture and Assembly language, 2017
- References:
1. William Stallings, Computer Organization and Architecture, 9th Edition, Pearson
Education, Prentice-Hall, 2013, ISBN-13: 978-0-13-293633-0
2. Linda Null, Julia Lobur, The Essentials of Computer Organization and Architecture,
Jones and Bartlett Publishers, 2003
3. x86-64 Assembly Language Programming with Ubuntu
4. nasm online:
https://www.jdoodle.com/compile-assembler-nasm-online
https://rextester.com/l/nasm_online_compiler
5. Ubuntu vmware machine for labs 16.04, 12.04
12. Assessesments:
- Grade scale: 10
- Plan for assessments:
13. Approval time:
14. Approved by:
Dean of faculty Head of Department Instructor

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy