- International Fees
International fees are typically three times the amount of domestic fees. The exact cost will be displayed prior to confirming registration.
Computer architecture and computer organization are fundamental topics for computer programmers and computer systems developers. This hands-on course follows on from Applied Mathematics for Computing and Java programming. COMP 2825 is a study of the rules and methods used to describe the functionality and implementation of computer systems. The hierarchy of computer levels and functions are discussed and analyzed in detail. Through exercises and labs students evaluate modern computer system hardware architectures. They are shown how to build performance into their software applications and computer systems. Topics include pipelining, error-correcting code in theory and in practice, performance enhancement, hard-disk drives and solid-state drives, cache and main memory, addressing, microprogramming the CPU, registers and circuits. Additional topics include the ALU and data path, logarithms, bus clocking, bus arbitration, and address decoding. COMP 2825 is required for the Computer Systems Certificate, CSC in PTS and it is equivalent to COMP 2721 in the full-time CST Diploma. Upon successful completion students will use software at the hardware level to optimize how code is managed by the datapath inside the CPU. They will have skills to evaluate and recommend the appropriate computer system architecture for specific applications. be able to optimize software for specific hardware, accounting for how code is managed inside the CPU. They will also have gained an introduction to lower-level assembly programming, in order to build better software applications in higher-level programming languages. COMP 2825 is offered in the January (Winter) and April (Spring) terms.
- Not offered this term
- This course is not offered this term. Please check back next term or subscribe to receive notifications of future course offerings and other opportunities to learn more about this course and related programs.
Upon successful completion of this course, the student will be able to:
- Explain the basic concepts and terminology related to computer architecture and organization.
- Discuss and compare modern machine architectures.
- Explain and describe the characteristics of current CPU architectures.
- Explain the three lowest levels of computer organization: digital logic level, microarchitecture level, and instruction set architecture level.
- Solve problems related to the design of each level.
- Evaluate modern computers from the point of view of performance.
- Determine the latency, bandwidth, and important relevant features of pipelines.
- Create codes capable of detecting and possibly correcting errors in code-words.
- Determine whether a Hamming code word contains errors, and possibly also fix the errors.
- Calculate the time required to read different hard-disk drives and compare them to solid-state drives.
- Create various circuits including adders, shifters, latches, and multiplexers.
- Determine the timing and negotiations necessary between the CPU and memory.
- Describe how computers handle bus arbitration.
- Describe in detail how computers fetch, decode, and execute instructions, including micropramming the datapath inside the CPU.
- Gain an introductory theoretical and practical knowledge of assembly-level programming.
Effective as of Winter 2022
Computer Architecture and Organization (COMP 2825) is offered as a part of the following programs:
School of Computing and Academic Studies
- Computer Systems
If you have a question or comment about this course, please complete and submit the form below.
Interested in being notified about future offerings of Computer Architecture and Organization (COMP 2825)? If so, fill out the information below and we'll notify you by email when courses for each new term are displayed here.
Programs and courses are subject to change without notice.