Computer Architecture & Assembly Language
General Information
Course Catalog# CSC-250
Credit Hours CH: 3 + 1
Prerequisite Digital Logic Design
Semester Spring 2025
Course Objectives / Description
Computer Architecture is an introduction to the organization and architecture of computer
systems. The course begins with the standard von Neumann model and moves toward more
recent architectural concepts. An introduction to the architecture of digital computer systems,
Topics include the organization of computer system processor, memory and I/O modules, plus
the interconnections among these major components; the subcomponents of the central
processing unit: control unit, registers, the arithmetic and logic unit, instruction execution unit,
and their interconnections; architectural issues, such as instruction-set design and data types;
organizational issues, such as pipelining; parallel organization: multiple processors and vector
processing organizations.
Course Learning Outcomes (CLOs)
No. Course LearningOutcome Domain Level Assessment Tool
C1 To learn the computer organization and C 1 Assignments,
architecture from the software standpoint Exams
C2 To learn how system performance can be C 1 Assignments,
enhanced through various ways from Exams
hardware standpoint
C3 To apply low-level (assembly) programming C 3 Lab Exam, Project
logic employed for problem solving with
respect to organization of computer system.
Domains: C=Cognitive, A=Affective, P=Psychomotor
Levels:
Cognitive = {1: Remembering, 2: Understanding, 3: Applying, 4: Analyzing, 5: Evaluating,
5: Creating}
Affective = {1: Receiving, 2: Responding, 3: Valuing, 4: Organizing, 5: Characterizing}
Psychomotor= {1: Imitation, 2: Manipulation, 3: Precision, 4: Articulation, 5: Naturalization}
Course Contents
Suggested
Week# Topic Topic Detail / Sub Topic CLO
Reading
1. Introduction to the 1.1 Organization and Architecture
1 Course & Subject 1.2 Structure & Function Book [1], 1
1.3 Why study computer organization and Chapter 1
architecture.
2. Computer 2.1 A Brief history of computers Book [1],
Evolution and 2.2 Designing for performance Chapter 2
2-3 Performance 2.3 Pentium and power PC evolution 1
3. A Top-Level 3.1 Computer components
View of 3.2 Computer Function Book [1],
4-5 Computer 3.3 Interconnection structures Chapter 3 1
Function and 3.4 Bus Interconnection
Interconnection
4.1 Computer Memory system
4. Cache Memory overviews Book [1],
6-7 4.2 Cache Memory Principles Chapter 4 1
4.3 Elements of Cache Design
5. Internal Memory 5.1 Semiconductor Main Memory Book [1],
5.2 Error Correction Chapter 5
8 5.3 Advanced DRAM Organization 1
Basic Structure of Assembly Language
Programming
• Program data
• Define Variables
• Basic Instructions(Mov, Xchg, Add,
Sub, Inc, Dec, Neg) Handouts
• Conversion of Code from high to low provided
level languages
• Program Structure(Memory Models,
Lab Activities
Data Segments, Stack Segment, Code
1-8 Segment) 3
• I/O instructions
• Interrupt(21h, 10h, 16h)
• First program (creating & running)
output
Flow Control Instruction
• An example of JUMP
• Conditional & Unconditional
JUMP
• The JMP instruction
• Branching and Looping structure
Midterm Examination
6.1 Magnetic Disk
6.2 RAID Book [1],
6. External Memory 6.3 Optical Memory Chapter 6
11-12 6.4 Magnetic Tape 2
6.5 Solid State Devices
6.6 Error Correction
7. Input / Output 7.1 External Devices
7.2 I/O Module Book [1],
13-14 7.3 Programmed I/O Chapter 7 2
7.4 Interrupt-Driven I/O
7.5 Direct Memory Access
8. Number System 9.1 Decimal Number System
and Computer 9.2 Binary Number System
Arithmetic 9.3 Octal Number System Book [1],
15-16 2
9.4 Hexadecimal Number System Chapter 9,10
9.5 ALU and Floating point representation
9.6 Data representation concepts
9. Processor 12.1 Processor Organization
Structure and 12.2 Register Organization Book [1],
17-18 Function 12.3 Instruction Cycle Chapter 14 2
12.4 Instruction Pipelining
Week The Logic, Shift and Rotate
11-18 instructions
Lab Activities • AND, OR & XOR instructions
• NOT instruction
• TEST instruction
• Shift Instruction(Left & Right)
• Rotate Instructions
Handouts 3
Introduction to STACK application provided
• The Application of STACK
• Push & Pop operations
• Understand the Procedure
• CALL & RET statements
• Examples of Stack & Procedures
Introduction to Array and String
• Application of array
• Two-dimensional array
- Direction Flag
• Sting
• Storing String
• Compare String
CLO-PLO Map
Graduate Attribute (PLOs)
CLOs
GA1 GA2 GA3 GA4 GA5 GA6 GA7 GA8 GA9 GA10 GA11 GA12
CLO1 0 0 0 0 0 0 0 0 0 0
1 0
0
CLO2 0 1 0 0 0 0 0 0 0 0 0
0
CLO3 0 1 0 0 0 0 0 0 0 0 0
Text Book
1. Computer Organization and Architecture (By William Stallings, Prentice Hall, Ninth Edition)
2. Ytha YU and Charles Marut, “Assembly Language Programming and Organization of the IBM PC”
Reference Material
1. Essentials of Computer Architecture (By: Douglas E. Comer 2004, Prentice Hall)
2. Computer System Architecture (By M.MORRIS MANO Third Edition)
Course Instructor
Name
Designation Lecturer
Department Computer Science
Computer Science/Software Engineering Program Learning
Outcomes
GA: Graduate Attributes
GA1 Computing Knowledge: An ability to apply knowledge of mathematics, science, computing fundamentals and computing specialization to
the solution of complex computing problems.
GA2 Problem Analysis: An ability to identify, formulate, research literature, and analyze complex computing problems reaching substantiated
conclusions using first principles of mathematics, natural sciences and computing sciences.
GA3 Design/Development of Solutions: An ability to design solutions for complex computing problems and design systems, components
or processes that meet specified needs with appropriate consideration for public health and safety, cultural, societal, and environmental
considerations.
GA4 Investigation: An ability to investigate complex computing problems in a methodical way including literature survey, design and
conduct of experiments, analysis and interpretation of experimental data, and synthesis of information to derive valid conclusions.
GA5 Modern Tool Usage: An ability to create, select and apply appropriate techniques, resources,
and modern IT tools, including prediction and modeling, to complex computing activities, with an understanding of the
limitations.
GA6 The Computer Scientist and Society: An ability to apply reasoning informed by contextual knowledge to assess
societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to professional computing
practice and solution to complex computing problems.
GA7 Environment and Sustainability: An ability to understand the impact of professional computing solutions in societal and
environmental contexts and demonstrate knowledge of and need for sustainable development.
GA8 Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of computing practice.
GA9 Individual and Team Work: An ability to work effectively, as an individual or in a team, on multifaceted and /or multidisciplinary
settings.
GA10 Communication: An ability to communicate effectively, orally as well as in writing, on complex computing activities
with the computing community and with society at large, such as being able to comprehend and write effective reports and
design documentation, make effective presentations, and give and receive clear instructions.
GA11 Project Management: An ability to demonstrate management skills and apply computing principles to one’s own work, as
a member and/or leader in a team, to manage projects in a multidisciplinary environment.
GA12 Lifelong Learning: An ability to recognize importance of, and pursue lifelong learning in the broader context of
innovation and technological developmen