EEC70: Assembly Language and Computer Organization

Prof. Vojin G. Oklobdzija
Electrical and Computer Engineering Department
University of California
Davis

Content of the Course:

This course teaches assembly language through and example of a hypothetical machine DLX. However it is impossible to understand assembly language, the language closest to the machine instruction set, without at least basic knowledge of computer organization and architecture. Therefore, in order to start with assembly language one needs to learn and understand how the machine works and operates. Thus, this course is really a first course in series of courses that are teaching computer architecture and organization.

In order to get up to speed I urge you to read the two short articles found on your web page under Class Notes.

The  lectures will start explaining basic principles of computer organization  and how is data stored in memory. Once this is understood we will be able to understand instructions defined by the DLX architecture. We will be using them to write assembly language programs that will be performing certain tasks and operations. Once this is mastered the student should be able to learn any other more complex assembly languages such as MIPS (which is very similar to DLX) or any other machine specific language.

The course will cover the following topics: Basics of Computer Organization and Architecture, Number Representation, Data Representation, Characters, Arithmetic and Logical Operations, Memory Organization, Address Calculation,  The Assembly Process: Language, Code Generation, Program Relocation Interrupt and Exception Handling, Performance Issues, RISC, CISC Architecture
 
 

Textbook:
 

  1. P. M. Sailer, D. R. Kaeli, "The DLX Instruction Set Architecture Handbook", Morgan Kaufmann Publishers, 1996.
  2. W. Stallings, "Computer Organization and Architecture", Macmillan Publishing, 1993.

Supplemental Textbook:

  1. D. Patterson, J. Hennesssy, "Computer Organization and Design: The Hardware / Software Interface", Morgan Kaufmann Publishers, 1994.    (this textbook will be used for your EEC170 class)

Supplemental Readings:

  1. V. G. Oklobdzija, "Computers", class notes.
  2. V. G. Oklobdzija, "Computer Organization: Architecture" class notes.
 

Grading

            Midterm:                                     20%

                 Final Exam                                 40%

                 Assignments                               20%

                 Extra Points and Quizzes           20%