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