course_outline
This is an old revision of the document!
Learning Objectives and Course Outline
Learning Objectives
By the end of the course, the students will be able to:
- Translate high-level programs (such as those in Java or C) to assembly language and, finally, in machine language on an instruction-by-instruction basis.
- Write and debug simple programs involving input/output routines, arithmetic operations, decisions, repetitions, and procedures directly in an assembly language such as MIPS.
- Design a prototype Arithmetic Logic Unit (ALU) from basic building blocks such as gates and flip flops using elementary logic design concepts.
- Construct the datapath and control unit of the processor using either of the: (i) single cycle implementation; (ii) multiple cycle implementation, or (iii) pipelining; and explain how computer execute programs in these implementations.
- Abstract computer hardware by building modules in a hardware description language such as Verilog.
Course Outline
The course outline is a guideline to topics that will be discussed in the course, and when they will be discussed. The sequence in which topics wil be taught are subject to change. Instructors transparencies, if applicable, will also be made available here.
Week | Topics | Readings | Handouts | |
---|---|---|---|---|
Sep. 13, 2010 | Overview and Performance | Sections 1.0 - 1.6 | Handout # 1A | |
- | - | - | - | |
Sep. 20, 2010 | Data Translation: | Sections 2.1 - 2.4 | Handout # 2 (1 slide/page) | |
- | Code Translation | - | - | |
- | Basic MIPS Instructions | - | MIPS Instructions | |
Sep. 27, 2010 | Machine Language Programming I: | Sections 2.5 - 2.7 | Handout # 3 (1 slide/page) | |
- | Basic MIPS Instructions | - | Handout # 3 (4 slides/page) | |
Oct. 04, 2010 | Machine Language Programming II: | Sections 2.8 - 2.9 | Handout # 4 (1 slide/page) | |
- | Procedures; Stack; Branch and Jump Instructions | - | Handout # 4 (4 slides/page) | |
Oct. 11, 2010 | Reading week | Sum 1 to N Pgm | ||
Oct. 18, 2010 | Machine Language Programming III: | Sections 2.10 - 2.13 | Handout # 5A | |
- | Immediate Operands; Characters and Strings | - | Handout # 5B | |
Oct. 25, 2010 | Machine Language Programming IV: | Section 3.5 | Handout # 6 (1 slide/page) | |
- | Floating Point Instructions | - | Handout # 6 (4 slide/page) | |
Nov. 01, 2010 | Midterm Exam | |||
Nov. 08, 2010 | Boolean Algebra: | Appendix B.1 - B.7 | Handout # 7 (1 slide/page) | |
- | Designing a prototype SPIM ALU | - | Handout # 7 (4 slide/page) | |
Nov. 15, 2010 | Hardware: | Appendix B.1 - B.7 | Handout # 8 (1 slide/page) | |
- | Sequential and Combinational Circuits | - | Handout # 8 (4 slides/page) | |
Nov. 22, 2010 | Hardware: | Appendix C.7 | Handout # 9A (4 slide/page) | |
- | Building a Datapath | Sections 4.1 - 4.4 | Handout # 9B (4 slides/page) | |
Nov. 29, 2010 | Single and Multi Cycle Implementations: | Appendix C.2 | Handout # 10 | |
- | Datapath and Control | Section 4.4 | Handout # 10 | |
Dec. 06, 2010 | Pipelining: | Sections 4.5 - 4.9 | Handout # 11 | |
- | Hazards, Datapath, and Control | 4 | Handout # 11 |
course_outline.1291063140.txt.gz · Last modified: 2010/11/29 20:39 by asif