CS 33003 Computer Organization and Assembly Language Programming
Instructor: Dr. Arvind Bansal
Office: Room 214, Mathematics and Computer Science Building
Contact: 672-4004 ext. 214, arvind@mcs.kent.edu
Motivation
Computer Organization is important to understand the internal functioning of computers. This course will allow you to understand the functioning of computer and low level programming used inside a computer. It will also allow you to interface with hardware engineers, develop better compilers, and provide necessary background for understanding operating systems.
Introduction to Boolean Algebra, Logical design of digital circuits: clocks, counters, synchronous and asynchronous circuits, multiplexes and demultiplexers, encoders and decoders, flip-flops, finite state machines and sequential circuit design, Adders and subtractors, shifters
Components of a computers: CPU, ALU, memory, IO Buses, and IO devices, Data transfer protocols, microprogramming and nanoprogramming, Direct memory transfer, Classification of multicomputers, RISC and CISC architecture, Address space and memory mapping, Associative memory, Case study of a modern PC based computer
Basic constructs of assembly languages, Memory addressing and data accessing mechanism, implementation of various control structures, Use of stacks, Subroutines
Text-Book:
Computer Systems by Arthur Maccabe, ISBN: 0-256-15613-1, Publisher: Richard Irwin Inc., 1993
Grading
Assignments (40 %), Two mid terms (30 %), Final (30 %). 80 % class attendance is needed. Any form of copying will result in ejection from the class. For every day of late submission 20 % of the points will be deducted.
Final Grades
A > 80% > B > 70% > C > 60% > D > 50% > F