Computer Architecture SWEN 2404

Course description:

This course is particularly designed to enhance students with the required Fundamentals of computer architecture, Basic components of computer, Hierarchy of memory, Types of memory (cache, internal and external), Data transmission within computer, Addressing and functioning of instruction set, Processor structure and pipelining, Parallelism and super scalar processor, Parallel processing, and one and Multicore computers.

Course Aims:

This course aims to:
• Help student to understand fundamentals of computer architecture.
• Student Be familiar with evolution of computer and basic components of computer.
• Help student to understand the hierarchy of memory and types of memory.
• Help student to understand data transmission between memory, CPU and I/O devices.
• Help student to understand the instruction set in computer (Addressing and functioning).
• Help student to understand processor structure and Pipelining.
• Help student to understand instruction level parallelism and super scalar processor.
• Student Be familiar with parallel processing.
• Help student to understand the mechanism of ne core and multicore computers.  

Course outcomes:

Upon completion of this course, the student should be able to:

• Knowledge and understanding 
  • Learn how the computer architecture be, and concentrate on processor, memory and data transmission protocols within system.
  • Know instruction set and parallelism in instruction execution.
  • Compare between single core and multicore computers and their performance and efficiency.

• Cognitive skills (thinking and analysis)
  • Develop skills in solution designs according to computer architecture.
  • Complete the general view of Interaction between the study of hardware structure of computer and software part of it .
  • Take the correct decision in designing big network of computers according to computers architecture.
• Practical skills 
  • Design, analyze and execute interaction between operating system, internal layers of computer and processor.
  • Obtain logical results in lab which match the theoretical results.
  • Educate and work effectively in team. 
• Transitional skills
  • Use previous knowledge in logic design to learn assembly language and processor operation.
  • Improve oral and engineering capabilities that related to  computer architecture.
  • Introduce different lab projects with high performance.