20471 Computer Organization 1

Credits: 3 intermediate credits in Computer Science

Prerequisites: none

Required: Digital Design

Recommended: Data Structures and Introduction to Algorithms (or Data Structures)

The course is based on chapters from Computer Organization and Design: The Hardware/Software Interface (4th ed.), by D.A. Patterson and J.L. Hennessy (Morgan Kaufmann, 2009), as well as on theoretical and practical exercises by Yair Wiseman and Hanita Lidor.

Chapters: Computer abstractions and technology, Assessing and understanding performance (chapter 1); Instructions: Language of the computer (chapter 2 and appendices B2, B3, B4 on assemblers, linkers, loaders); Constructing dedicated units in the CPU, the ALU and the register file (appendices C5, C11); The processor: Datapath and control, Enhancing performance with pipelining (chapter 4); Memory hierarchies (chapter 5).

Topics: Structure of the CPU; Principles of planning and implementation of current computers; Relationships between hardware and software; Experience with the assembly and machine language of a simple and common processor – MIPS; Understanding designers’ dilemmas: enhancing performance versus cost; Organization of cache memory.

1There is some overlap in the content of this and other courses. For details, see Overlapping Courses.