You are on page 1of 2

DHA Suffa University

Course Out Line: Computer Organization and Assembly Language

Program: Bachelor of Computer Science. (BS-CS)


Semester: FALL – 2021
Course: Computer Organization and Assembly Language
Course-Code: CS-203
Prerequisite: Digital Logic Design CS-104
Faculty: Engr. Muhammad Farooq Shibli
Text-Book: Computer Organization and Design 5th Ed. By David A Patterson, John L. Hennessy
Reference-Books: 1. Structured Computer Organization 6th Ed. by Andrew S. Tanenbaum.
2. Computer System Architecture 4rd Ed. By M. Morris Mano
3. Assembly Language for Intel Based Computers 4th Ed. by Kip R. Irvine.

Course Description:
This course provides an overview of the architecture and organization of a computer, such as the CPU,
memory, I/O organization, peripherals and so on. Students will learn the basics of computer architecture
and low level programming. i.e. assembly code and hardware manipulation. It will focus on the basic
concepts of computer architecture and machine instructions; memory access and storage; instruction
execution; assembly language; computer organization; data representation and transfer; digital arithmetic;
memory storage and addressing methods; procedures and interrupts; conditional processing, and so on.
Assembly language is the foundation language for modern computer applications. This course will
introduce the Intel family of computers and its associated assembly language. As you learn assembly
language you will also learn about the components of a typical computer system and how the operating
system controls these components. Successfully completion of this course will provide students a
comprehensive understanding of computer organization and architecture and enable him/her analyze and
implement many practical problems with Assembly language

Course Objectives:
This course covers the basics of computer organization with emphasis on the lower level abstraction of a
computer system including digital logic, instruction set and assembly language programming. Topics
includes data representation, logic gates, simplification of logical expressions, design and analysis of simple
combinational circuit such as decoders and multiplexers, flip-flops and registers, design and analysis of
simple synchronous sequential circuit, random-access and read-only memories, instruction set architecture
and programming in assembly language. Understanding the relationship between high level compiled
language and assembly language. Understanding Memory organization including Cache and virtual
memory.
Learning Outcomes:
Upon successful completion of this course, the student will be able to
 Describe the operation of various logic gates and the theory (Boolean algebra) behind them.
 Distinguish between combinational and sequential logic and discuss the function of the clock.
 Describe how a CPU performs instructions during the fetch-decode-execute cycle and how the
memory supports its actions.
 Design digital logic for specific result by given inputs and/or to improve efficiency of a result.
 Describe how information of various data types are represented in a computer.
 Explain how standard arithmetic operations (+, -, *, and /) are performed by the hardware.
 Explain the uses of various machine addressing modes and why they are used.
 Use system services in a program.
 Explain workings of the machine on a procedure call and describe the structure of the call frame.
 Distinguish between situations in which procedures or macros are appropriate.
 Explain the functions of the various computer hardware components.
 Understand the Instruction execution stages.
DHA Suffa University
Course Out Line: Computer Organization and Assembly Language

 Understand the difference between High level languages and machine language.
 Write Assembly language programs.
Student Assessment and Marks Distribution:

Activity Marks
Assignments x 3 15
Quizzes x 3 15
Mid-Term x 1 30
Final Paper x 1 40

Session/Week wise Course Breakdown:


SN Week
O Computer Organization and Assembly Language
1 Pointers in C with memory understanding. W-01
2 Converting simple equations in Assembly instructions. W-02
3 Assignment of Von Neumann Architecture. W-03
4 Conversion of For and Do While loop in Assembly lang. W-03
5 Understanding OPCODE Variable address in Memory. W-04
6 Von Neumann Slides and Harvard Architecture. W-04
7 How RAM works? how data move in RAM and CPU. W-05
8 Shift Left Right, Circular Shift Left Right. W-05
9 7-Segment Decoder 4bit input. W-06
10 Concept of 2's Complement, Add, Sub, Mul, conversion of points numbers into binary. W-06
11 Practice of Arithmetic and Hex-to-decimal and decimal-to-hex. W-07
12 CPU Performance, Clock Cycle, Clock Rate, Instruction Per cycle. W-08
13 Instruction Format: 3-Address, 2-Address, 1-Addres, 0-Address(Stack) W-09
14 Polish Notations: Infix to Postfix and stack operation W-09
15 Addressing Modes (Direct, Indirect, Relative, Immediate, Indexed, Register) W-10
16 Data Transfer Instructions (Store, Load, MOV, Push, Pop, IN, OUT) W-10
17 Program control Flow: Branch, Jump, SKIP, Call, Return, CMP, Test W-11
18 Status Bit Register: Carry, Zero, Sign, and Overflow. W-11
19 Examples and Revision of Unsigned to Sign Conversation and Status-Bit values. W-12
20 Program Interrupt concept, Interrupt Handling Cycle. W-13
21 Program Interrupt types, Internal, External and Software. W-14
22 Pipeline Processing: Understanding Laundry case study. W-15
23 Pipeline Processing: Understanding Segments, Registers, Clock Cycles. W-15
24 Pipeline Processing: Solution of Equation with 5-values using Pipeline. W-16

You might also like