cocs312

advertisement
COCS 312
Course Name
Code/No
Computer Organization
COCS 312
Units
Lecture
Lab
Training
3
0
0
Credit Units
Prerequisite
3
COCS 203
Course Objectives:






To understand how a CPU’s control unit interprets a machine-level instruction either directly or as a micro
program
To understand the difference between processor performance and system performance
To understand how computer performance is measured by measurements such as MIPS or SPEC marks and
the limitations of such measurements.
To understand how performance can be increased by incorporating multiple processors on a single chip.
To understand how special-purpose graphics processors, GPUs, can accelerate performance in graphics
applications
To understand the organization of computer structures that can be electronically configured and
reconfigured
Course Description:

This course teaches the organization of the computer at the cache, and bus level. Students should also
understand the complex tradeoffs between CPU clock speed, cache size, bus organization and number of
core processors
Course Outline:
















Functional Organization
Review of register transfer language to describe internal operations in a computer
Micro architectures - hardwired and micro programmed realizations
Instruction pipelining and instruction-level parallelism (ILP)
Overview of superscalar architectures
Processor and system performance
Performance – their measures and their limitations
The significance of power dissipation and its effects on computing structures
Multiprocessing
Amdahl’s law
Short vector processing (multimedia operations)
Multi core and multithreaded processors
Flynn’s taxonomy: Multiprocessor structures and architectures
Programming multiprocessor systems
GPU and special-purpose graphics processors
Introduction to reconfigurable logic and special-purpose processors
Course Outcomes:
Upon finishing this course, the students should:














Review of the use of register transfer language to describe internal operations in a computer
Understand how a CPU’s control unit interprets a machine-level instruction – either directly or as a micro
program.
Appreciate how processor performance can be improved by overlapping the execution of instruction by
pipelining.
Understand the difference between processor performance and system performance (i.e., the effects of
memory systems, buses and software on overall performance
Appreciate how superscalar architectures use multiple arithmetic units to execute more than one instruction
per clock cycle.
Understand how computer performance is measured by measurements such as MIPS or SPEC marks and
the limitations of such measurements.
Appreciate the relationship between power dissipation and computer performance and the need to minimize
power consumption in mobile applications.
Discuss the concept of parallel processing and the relationship between parallelism and performance.
Appreciate that multimedia values (e.g. 8-/16-bit audio and visual data) can be operated on in parallel in
64-bit registers to enhance performance.
Understand how performance can be increased by incorporating multiple processors on a single chip.
Appreciate the need to express algorithms in a form suitable for execution on parallel processors.
Understand how special-purpose graphics processors, GPUs, can accelerate performance in graphics
applications
Understand the organization of computer structures that can be electronically configured and reconfigured
Discuss the concept of parallel processing and the relationship between parallelism and performance.
Assessment Strategy:

Students will be assessed in this course based on a set of exams, quizzes and practical parts of it.
Text Book:

W. Stallings. "Computer Organization and Architecture: Designing for Performance ", 8th Ed., Prentice Hall,
2009, ISBN 0131856448
Other References:



M. M. Mano, "Digital Design", 4th Edition, Prentice Hall, 2006, ISBN 0130621216.
C. H. Roth, "Fundamentals of Logic Design", 6th Ed., Thomson-Engineering, 2009, ISBN 0534378048
M. J. Murdocca and V. P. Heuring. "Principles of Computer Architecture", Prentice Hall, 1999, ISBN
0201436647.
Time table for distributing theoretical course contents
Week
1
2
Theoretical course contents
Introduction to Computer Organization
Review of register transfer language to describe internal operations in a
Remarks
computer
Micro architectures - hardwired and micro programmed realizations
Instruction pipelining and instruction-level parallelism (ILP)
Overview of superscalar architectures
Processor and system performance
Performance – their measures and their limitations
Exam 1
The significance of power dissipation and its effects on computing
structures
Amdahl’s law
Short vector processing (multimedia operations)
Multi core and multithreaded processors
Flynn’s taxonomy: Multiprocessor structures and architectures
3
4
5
6
7
8
9
10
11
12
13
14
15
Programming multiprocessor systems
GPU and special-purpose graphics processors
Introduction to reconfigurable logic and special-purpose processors
Final Exam
Grading:
Homework 1
Homework 2
Homework 3
Project
Exam 1
Exam 2
Final Exam
TOTAL
3
3
4
10
20
20
40
100
Exam 2
Download