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", 6th Edition, Macmillan Publishing, 2003.
    Student Resources

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)
  2. "A Programmer's View of Computer Architecture : With Assembly Language Examples from the MIPS  RISC Architecture", by J. Goodman, K. Miller. This book however does not explain computer organization.

Supplemental Readings:

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

Grading

                Midterm                                      20%

                Final Exam                                  20%

                Programing Assignments              30%

                Homeworks                                15%

                Quizzes                                       15%

                Extra Points