Skip navigation

Site Map | College of Engineering | UC Davis | MyUCDavis

ECS 50 COMPUTER ORGANIZATION AND MACHINE-DEPENDENT PROGRAMMING (4) I, II, III

Lecture: 3 hours

Discussion: 1 hour

Prerequisite: Course 40

Grading: Letter; two midterms (20% each), final exam (40%) and programming work (20%)

Catalog Description:
Comparative study of different hardware architectures, via programming in the assembly languages of various machines. Role of system software in producing an abstract machine. Only one unit credit allowed for students who have taken EEC 70.

Expanded Course Description:

I. Basic Memory Architecture

Review of ECS 40 C-language material on bits, bytes and memory addresses. Linear versus segmented address forms.

II. Introduction to Processor Architecture
Introduction to instruction sets, addressing modes and register sets, and their variation from one machine to another. Comparison of at least one CISC architecture and at least one RISC architecture, via extensive assembly-language programming on each. Effects of RISC on program size.

iII. The Role of System Software in Producing an Abstract Machine
Distinction between the roles of hardware and software. The use of compilers and operating systems in providing abstractions and machine independence to the programmer. Compiler implementation of C/Pascal data types, and storage allocation of variables in memory. Role of the operating system in helping the programmer to create, store and execute his/her programs, and in managing system resources.

IV. Machine Capability and Speed
Transportability/nontransportability of programs on different machines, and under different operating systems and compilers. Efficiency of compiled vs. handcoded programs. Writing mixed C-language/assembly language programs for extra efficiency or for special capabilities. Tradeoffs between the speed of hardware implementation of a function and the flexibility of software implementation.

Textbook:
Jaran and Bryant, Principles of Computer Systems, Prentice Hall, 1992

Computer Usage:
Extensive programming assignments, using assembly language and C.

Engineering Design Statement:
Students in the course write sophisticated, systems-level programs according to their own design. Many of the programs involve analysis of tradeoffs between efficient use of the hardware and ease of programming.

ABET Category Content:
Engineering Science: 2 units
Engineering Design: 2 units

Goals:

Student Outcomes:

Instructors: M. Farrens, N. Matloff

Prepared by: M. Farrens, N. Matloff, R. Olsson (Nov. 1996)

Overlap Statement:

This course does not duplicate any existing course.

5/06

Back to Course Descriptions