Download introduction to computer organization i,ii

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Distributed operating system wikipedia , lookup

Transcript
INTRODUCTION TO COMPUTER ORGANIZATION
CS 2505-2506
I – Catalog Description
An introduction to the design and operation of digital computers. 2505: Works up
from the logic gate level to combinational and sequential circuits, information
representation, computer arithmetic, arithmetic/logic units, control unit design,
basic computer organization, relationships between high level programming
languages and instruction set architectures. 2506: Instruction formats and
construction, addressing modes, instruction execution, memory hierarchy
operation and performance, pipelining, input/output, and the relationships
between high level programming languages and machine language. Pre (2505):
A grade of C or better in 1114 or 1124. Co (2505): Math 2534. Pre (2506): A
grade of C or better in CS prerequisites 2505, 2114; Math 2534. (3H, 3C)
Course Number:
2505-2506
ADP TITLE: Intro to Computer Organization
II - Learning Objectives
2505: Having successfully completed this course, the student will be able to:








Design combinational and sequential circuits that realize different aspects
of a digital computer, particularly the control unit,
Represent and manipulate information in arbitrary number systems,
including binary,
Design and analyze finite state automata,
Explain the different layers of abstraction in a computing system, i.e., logic
design, computer architecture, machine language, assembly language,
high level language,
Write simple programs in machine language, assembly language and C,
Describe the characteristics of an instruction set and how it maps to
underlying hardware,
Explain the basics of instruction execution on a computer, i.e., the
instruction cycle,
Define the relationship between hardware and software.
2506: Having successfully completed this course, the student will be able to:


Design and analyze instruction sets and their impact on processor design,
Identify and analyze the design and function of the basic instruction






execution elements of a modern processor,
Apply finite state automata to computer design,
Describe the basic elements of computer architecture and their impact on
the performance of a modern processor,
Explain the design and function of each element in a memory hierarchy,
Identify and explain the different methods of I/O in a computer system,
Explain the relationship between the computer hardware, the operating
system that runs on it, and the applications that are compiled to it,
Compare computer architectures and organizations based on quantifiable
performance metrics.
III - Justification
This course sequence provides the basic concepts that underlie computer design
and operation, both from a hardware and software perspective. Students need
the material from this sequence in order to build a proper understanding of
modern computer organization, including control pipelining, caches, translation
look-aside buffers, and I/O systems. Understanding computer organization aids
developing the software that controls computers in electronic devices. This
course sequence provides the fundamental knowledge needed to understand
the design, operation, and performance characteristics of a computer system.
This is necessary to successfully implement efficient software systems. Finally,
in preparation for later operating systems courses, this sequence lays out the
basic functions of an operating system as they relate to computer hardware.
This sequence is given at the sophomore level since it requires freshman and
sophomore-level programming and math courses as prerequisites.
IV - Prerequisites and Corequisites
2505: This course requires an understanding of the process of programming as
provided by an introductory programming course such as 1114 or 1124. A grade
of C or better is required in 1114 or 1124 because they provide an essential
foundation for the material covered in 2505. Students without sufficient mastery
of this essential material are at increased risk of failing 2505. Knowledge of
Boolean logic provided in Math 2534 is assumed later in the course, thus Math
2534 should be taken prior or during the semester in which 2505 is taken.
2506: A grade of C or better is required in 2505 because the material in that
course provides an essential foundation for the material covered in 2506.
Students without sufficient mastery of this essential material are at increased risk
of failing 2506. Content in Boolean logic, set theory, and induction proofs as
provided by Math 2534 is required. Experience with intermediate level
programming and basic data structures, as provided by 2114, also is required.
V - Texts and Special Teaching Aids
2505:
Patt, Yale and Sanjay Patel, INTRODUCTION TO COMPUTING SYSTEMS:
FROM BITS AND GATES TO C AND BEYOND, New York, NY: McGraw-Hill,
2003, iv, 656.
2506:
Patterson, D.A. and J. L. Hennessy, COMPUTER ORGANIZATION AND
DESIGN: THE HARDWARE/SOFTWARE INTERFACE, 3RD ED., San Francisco,
CA: Morgan Kaufmann, 2007, xvii, 621.
VI - Syllabus
2505:
1.
2.
3.
4.
5.
6.
7.
8.
Number systems, base conversion and codes
Boolean logic and combinational logic structures
Sequential logic circuits
Basic computer structure, instruction cycle
Instruction set architecture, assembly language
I/O, traps, and the run time stack
C language and its relationship to hardware
Bridging I/O, traps, and the run time stack for C
10%
10%
10%
10%
15%
10%
20%
15%
100%
2506:
1. Introduction to computer systems and performance evaluation 10%
2. Processor design and analysis
30%
a. single cycle implementation
b. multi cycle implementation
c. pipelined implementation
d. hazards
e. forwarding
3. Memory design and analysis
20%
a. cache block size and associativity
b. virtual memory
4. I/O design and analysis
20%
a. parity
b. ECC
c. scheduling
5. Basic OS functions
20%
100%
VII - Old (current) Syllabus
NA
VIII - Core Curriculum guidelines
NA