

CSE220
| Course |
CSE220 |
| Title |
Computer Organization |
| Credits |
3 |
| Course Coordinator |
Shaunak Pawagi |
| Current Catalog Description |
Explores the physical structure of a computer; internal representation of information; processor organization, instruction cycle, and memory hierarchy. Introduces assembly/machine language programming and its relation to execution of high level language programs. Elementary digital logic design and its application to design of arithmetic and logic unit, and simple data paths. Input and output devices and their interface with processor and memory. |
| Prerequisite |
CSE 214 (Computer Science II) |
| Course Goals |
- To provide students with a basic understanding of processor organization and the memory hierarchy.
- To use assembly/machine language as a vehicle for understanding program execution and data representation in memory.
- To introduce students to the theory of digital logic design and its applications.
- To provide students with an introduction to input and output devices and their interface with processor and memory.
|
| Textbook |
Computer Organization & Design, By Patterson & Hennessy
Morgan Kaufmann , third edition, 2004. ISBN: 1558606041 |
| Major Topics Covered in Course |
- Review of programming in C: Basic types, Pointers to basic types, Arrays, Functions and parameter passing, String as an array of characters. (1 week)
- Internal Representation: Binary and decimal numbers, Octal and Hex representation. Addition and subtraction using two's complement system. Floating point numbers and their arithmetic, IEEE standard. Bits, bytes, words, and ASCII character code. (2.5 weeks)
- Processor-Memory Organization: Stored program computers, John von Neumann Machine, Instruction cycle, Random access memory, MAR and MDR, Evolution to modern computers that use memory buses, registers and cache memory. Reduced instruction set computing. (2.5 weeks)
- Assembly Language Programming: Assembly language instruction set, instruction formats, addressing modes. Implementation of loops, procedure calls and parameter passing. Macros, two pass assembly process, Independent compilation of program modules, Linking and loading. (3 weeks)
- Elementary Logic Design: Logic gates, Truth tables, 2-level AND-OR design, Decoder, Multiplexor, 1-bit full adder, 1-bit and n-it ALU, Concept of a clock, Sequential circuits, D flip-flop and its use in a register, Static RAMS, DRAMs, and ROMs, Design of simple data paths. (3 weeks)
- I/O Organization: Various I/O devices such as Disk drive, keyboard, monitor and modem. Concept of a bus, speed and width of a bus, multiple bus design of desk-top machines. Moving data from memory to I/O devices, Informal discussion of interrupts and DMA based I/O. (1 week)
|
| Laboratory Projects |
- A C program that involves pointer manipulation, accessing strings, integer arrays, and function calls. (0.3 weeks)
- A simple assembly language program that deals with strings, arrays, ASCII code, and simple arithmetic. (0.2 weeks)
- A rather involved assembly language program with nested function calls and parameter passing. (0.5 weeks)
- Another simple assembly language program that deals with bit manipulations using logical and shift instructions. (0.2 weeks)
|
| Course Webpage |
http://www.cs.sunysb.edu/~cse220 |
|
|