Computer Architecture and assembly language(1)
Computer Architecture and assembly language(1)
Course Objectives
Course Description
This course is intended to acquaint the student to the taxonomies of Computer Design, the basic
concerns of Computer Architecture, provide an overview of the technology trends that drive the
industry and how to use this information in the art of Computer Design. The course also
Introduces students about Programming micro-computers using assembly & machine Languages.
The course covers: computer evolution, classification of computers, number systems, Logic
gates, Boolean algebra, combinational circuits, sequential circuits, register transfer and micro-
operations, CPU-Organization, memory organization, organization of input and output
subsystems, parallel processing (including symmetric multiprocessing and clustering), and
organization of multi-core computers, assembly language programming, micro processor
assemblers.
Course Contents
1. Introduction to Computers
1.1. Concepts of Computer Organization and Architecture
1.2. Evolution(or history) of Computers (from year 1940 generation through year 2016+ )
1.3. Factors behind the need to design computers for higher performance
1.4. Example: Evolution of the Intel x86 architecture
1.5. Current classification of computers
2. Number systems
2.1 Decimal number system
2.2 Binary number system
2.3 Converting between binary and decimal numbers
2.4 Hexadecimal number system and its conversion to binary or decimal number system
2.5 Twos complement representation
2.6 Fixed ̶ Point representation
2.7 Floating ̶ Point representation
3. Introduction to Digital Logic circuits
3.1 Logic gates, symbols, and truth tables
Text book(s)
1. William Stalling; “Computer Organization and Architecture: Designing for Performance”,
9th Edition, Prentice Hall, 2013
2. Randall Hyde , The Art of Assembly Language, 2nd ed. (2010) , No Starch Press, USA