Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due
Course Description
Inner workings of modern digital computer systems and tradeoffs at the hardware-software interface. Topics include: instructions set design, memory systems, input-output systems, interrupts and exceptions, pipelining, performance and cost analysis, assembly language programming, and a survey of advanced architectures. Prerequisite(s): COMP 2011 OR COMP 2012H. Exclusion(s): ELEC 2300, ELEC 2350
List of Topics
Introduction of digital logic
Data representation
MIPS ISA and assembly
Computer Arithmetic
Processor: Datapath and Control
Pipelined Processor
Memory System
Textbooks
Computer Organization and Design MIPS Edition: The Hardware/Software Interface 6th Edition
Reference books
N/A
Grading Scheme
4 Homework |
15% |
1 Individual Programming Project |
15% |
Mid-term Exam |
30% |
Final Exam |
40% |
Total |
100% |
Course Intended Learning Outcomes
Understand the basic concepts of digital logic and build the small circuits involved in computer systems
Describe the interaction between software and hardware and instruction set architecture
Write and execute small programs of a few hundred lines in assembly language
Define the basic concepts of modern computer hardware, including datapath, control, memory and input/output
Describe the organizational paradigms that determine the capability and performance of computer systems
Assessment Rubrics
Course Learning Outcome |
Exemplary (Ato A+) |
Competent (C to B+) |
Needs Work (D to C-) |
Unsatisfactory (F) |
1. Use the basic concepts of digital logic and build the small circuits involved in computer systems |
Demonstrates thorough theoretic knowledge of digital logic design principles. Has a high degree of correctness in designing small circuits |
Demonstrates sufficient theoretic knowledge of digital logic design principles. Has a considerable degree of correctness in designing small circuits. |
Demonstrates some theoretic knowledge of digital logic design principles Has some degree of correctness in designing small circuits. |
Demonstrates limited theoretic knowledge of digital logic design principles. Has a low degree of correctness in designing small circuits. |
2. Describe the interaction between software and hardware and instruction set architecture |
Demonstrates thorough knowledge and understanding of the design principles of instruction set architecture |
Demonstrates sufficient knowledge and understanding of the design principles of instruction set architecture |
Demonstrates some knowledge and understanding of the design principles of instruction set architecture |
Demonstrates limited knowledge and understanding of the design principles of instruction set architecture |
3. Write and execute small programs of a few hundred lines in assembly language |
Program correctly handles all specified test cases. The code is very efficient with clear logic, easy to read and understand. |
Program correctly handles majority of test cases The code is fairly efficient, easy to read and understand. |
Program correctly handles around half of test cases The code works because of brute force; it’s not easy to read and understand |
Program fails majority of test cases The code is huge and appears to be patched together without logic. |
4. Define the basic concepts of modern computer hardware, including datapath, control, memory and input/output |
Demonstrates thorough theoretic knowledge of computer hardware and design principles Has a high degree of correctness in describing datapath and control of given machine instruction, and memory structure |
Demonstrates sufficient theoretic knowledge of computer hardware and design principles Has a considerable degree of correctness in describing datapath and control of given machine instruction, and memory structure |
Demonstrates some theoretic knowledge of computer hardware and design principles Has some degree of correctness in describing datapath and control of given machine instruction, and memory structure |
Demonstrates limited theoretic knowledge of computer hardware and design principles Has a low degree of correctness in describing datapath and control of given machine instruction, and memory structure |
5. Describe the organizational paradigms that determine the capability and performance of computer systems |
Able to clearly analyze and compare computer performance in all given circumstance |
Able to analyze and compare computer performance in most given circumstances. |
Able to analyze and compare computer performance in some given circumstances. |
Fails to analyze and compare computer performance in most given circumstances. |