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:
Supplemental Textbook:
Supplemental Readings:
Grading
Midterm:
20%
Final Exam 40%
Assignments 20%
Extra Points and Quizzes 20%