CSCE 513: COMPUTER ARCHITECTURE
Catalog Description:
513—Computer
Architecture.
(3) (Prereq: CSCE 211, 212) Design methodologies; processor design; computer
arithmetic: algorithms for addition, multiplication, floating point arithmetic;
microprogrammed control; memory organization; introduction to parallel
architectures.
Prerequisite(s) By Topic:
Basic computer organization
Data structures and algorithms
Programming languages
Textbook(s) and Other
Required Material:
Computer
Architecture: A Quantitative Approach, 2d ed., John L. Hennessey and David A. Patterson,
Morgan Kaufman, 1995.
Computing Platform: Not applicable
Course Objectives: {Assessment Methods Shown in
Braces}
1. Describe the principles
of computer architecture and organization. {tests}
2. Describe the
techniques and principles for the development of high performance computer
systems. {tests}
3. Describe the
details of extant computer architectures. {tests}
4. Quantitatively
analyze aspects of computer architecture and draw conclusions about their
performance. {homework, tests}
Topics Covered:
1. Design methodology: system modeling, design levels, hierarchical
design (3 hours)
2. Processor design:
instruction sets, arithmetic operations (5 hours)
3. Microprogrammed control (3
hours)
4. Algorithms for computer
arithmetic: addition, fast addition,
multiplication, fast multiplication, division, floating point numbers and
operations (8 hours)
5. Memory organization (8
hours)
6. I/O organization (4 hours)
7. Multiprocessor and parallel
computer architecture (4 hours)
8. RISC architectures (4 hours)
9. Review and examinations (3
hours)
Laboratory Projects:
Course project involving both implementation and
theoretical comparison of system performance.
Syllabus
Flexibility: Moderate. The instructor
may select any textbook that covers the topics listed.
Relationship of Course to
Program Outcomes:
The contribution of each course objective to meeting
the program outcomes is indicated with the following scale: 3 = major contributor, 2 = moderate
contributor, 1 = minor contributor.
Blank if not related.
|
|
Program Outcomes |
||||||||||
|
1.
Logic & Math |
2.
Computing Fundamentals |
3.
Apply Computing Principles |
4.
Work on teams |
5.
Communicate Effectively |
6.
Liberal arts & Soc. Sciences |
7.
Basic Science and Lab Procedures |
8.
Learn New Tools & Processes |
9.
Employed upon Graduation |
10.
Application Area |
11.
Electronics and Digital Sys Design |
|
|
1. Describe the principles of computer organization. |
|
|
3 |
|
|
|
|
|
2 |
|
1 |
|
2. Describe the techniques and principles for the development of
high performance computer systems. |
|
|
3 |
|
|
|
|
2 |
1 |
|
1 |
|
3. Describe the details of extant computer architectures. |
|
|
3 |
|
|
|
|
|
1 |
|
1 |
|
4. Quantitatively analyze aspects of computer architecture and
draw conclusions about their performance. |
|
3 |
2 |
|
2 |
|
2 |
2 |
2 |
|
2 |
Estimated CSAB Category
Content:
Algorithms: 0
Data Structures: 0
Software Design: 0
Concepts of
Programming Languages 0
Organization and
Architecture 3
hr
Oral and Written
Communication: Written report on course project
Social and
Ethical Issues: none
Theoretical
Content: none
Analysis and
Design:
The emphasis is on an analytical
enumeration of computer architecture and how that examination can be used to
understand and improve performance.
Class/Laboratory Schedule:
Lecture: 3 periods of 50 minutes or 2 periods of 75
minutes per week
Difference between Undergraduate and Graduate Work:
Students enrolled for graduate credit
will have to do a more substantive project including a literature review to
justify the receipt of graduate credit for this course.
Course
Coordinator: Duncan Buell
Modification and
Approval History:
Initial description, April 1999
Revised, December 2000
Revised July 2002 to include statement
on graduate work