Lectures (Video)
- 1. Introduction
- 2. Number Representation
- 3. Introduction to the C Language
- 4. Introduction to C - Part II
- 5. Introduction to C - Part III - C Memory Management
- 6. C Memory Management
- 7. C Memory Management - cont
- 8. Introduction to MIPS Assembly Language - Arithmetic
- 9. Introduction to MIPS Data Transfer and Decisions I
- 10. Introduction to MIPS Decisions II
- 11. Introduction to MIPS Procedures I
- 12. Introduction to MIPS Procedures II and Logical Ops
- 13. MIPS Instruction Format I
- 14. MIPS Instruction Format II
- 15. Floating Point I
- 16. Floating Point II
- 17. MIPS Instruction Format III
- 18. Runniing a Program I - Coupling, Assembling, Linking, Loading
- 19. Compilation, Assembly, Linking II
- 20. Intro to Synch. Digital Systems
- 21. State Elements
- 22. Representations of Combinational Logic Circuits
- 23. Combinational Logic Blocks
- 24. Introduction to CPU Design
- 25. CPU Design (of a Single-Cycle CPU)
- 26. CPU Design: Single-Cycle II
- 27. CPU Design: Control
- 28. CPU Design: Pipelining I
- 29. CPU Design: Pipelining II
- 30. Caches I
- 31. Caches II
- 32. Caches III
- 33. Virtual Memory I
- 34. Virtual Memory II
- 35. IO Basics: Polling and Interrupts
- 36. IO Networks
- 37. IO Disks
- 38. Performance
- 39. Writing Really Fast Programs
- 40. Parallelism in Processor Design
- 41. Intra-machine Parallelism: pthreads
- 42. Inter-machine Parallelism: mpi-map reduce
- 43. Summary, Review, and Evaluation
Machine Structures
Course Summary
This course is based on CS 61C Machine Structures, Spring 2008 made available by University of California, Berkeley: Webcast.Berkeley under the Creative commons BY-NC-ND 2.5 license.
This course covers the internal organization and operation of digital computers. Topics include machine architecture, support for high-level languages (logic, arithmetic, instruction sequencing) and operating systems (I/O, interrupts, memory management, process switching). Elements of computer logic design. Tradeoffs involved in fundamental architectural design decisions. The course is taught by a dynamic lecturer Dan Garcia who managed to make a relatively dry subject very interesting. A good set of lecture notes is available.
Reading Material
1. Computer Organization and Design: The Hardware/software InterfaceDavid A. Patterson, John L. Hennessy, Peter J. Ashenden, James R. Larus, Computer Organization and Design: The Hardware/software Interface, 3rd Ed., Morgan Kaufmann, 2004, ISBN 9781558606043.
(Click the button below to see a preview of the book)
2. The C Programming Language: ANSI C Version, 2nd Ed
Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language: ANSI C Version, 2nd Ed., Prentice Hall, 1988, ISBN 9780131103627
Course Material
1. Storage Management notes (223 KB pdf)2. Reference card for GDB version 5 (84 KB pdf)
3. Notes on C - Brian Harvey (153KB pdf)
4. Notes on Synchronous Digital Systems (596 KB pdf)
5. Notes on State Elements (1.07 MB pdf)
6. Notes on Combinational Logic Blocks (496 KB pdf)
Other Resources
Not available.Software
Not available.Discussion Forum
For discussion on this topic, please go to the relevant forum for Machine Structures. Click the button below to open the forum page in a new window.