Catalog description:
This course examines the basic principles of computer systems
and how these concepts relate to the design of such systems. Both
hardware and software concepts and the interdependence between them are dealt with.
Detertmining basic tradeoffs and related decisions are covered. Logic level designs,
data representations, computer circuits, fundamental computer operations, program creation,
I/O programming, processing elements, links and interfaces, memory hierarchy, and
memory management are covered. Three lecture hours per week.
Prerequisites: CSC 202J
with grade of C+ or higher; CSC 200; PHS 205
Note: The addition of PHS 205 as a prerequisite is pending approval, and is
to become effective as of January 2006.
Goals:
The goals of this course are to introduce students to the concepts
of the organization and architecture of computer systems, from the physical and logic
levels through the intermediate levels to the higher-level-language level, and the
methodologies and problem-solving strategies used to define and implement the necessary
ingredients. Specific goals are:
- CG1: to present the concept of a computer system as a series of levels, each with
its own properties and methodologies;
- CG2: to present a series of problem-solving methodologies relating to the various
system levels;
- CG3: to present problem-solving techniques based on these methodologies.
Objectives:
Upon successful completion of this course, a student will have:
- CO1: demonstrated knowledge of the concepts of computer architecture and organization;
- CO2: practiced the use of various problem-solving strategies;
- CO3: demonstrated the ability to apply appropriate problem-solving strategies
to solve a selection of typical problems in computer architecture and organization.
Topics:
- Computers and their applications
- Data representations
- text
- numeric data types
- non-negative integers
- signed integers
- range and scaling
- real numbers
- evaluation of expressions
- Logic level design
- elementary logic gates
- combinational logic design
- elementary sequential circuits
- Computer circuits
- electrical properties
- combinational logic implementations
- important combinational circuits
- sequential circuits
- link connections
- integrated circuits and technologies
- Fundamental computer operations
- machine language and assembler language instructions
- stacks
- procedures
- macros
- instruction execution time
- Program creation
- assemblers
- compilers
- linking and address adjustment
- loading and address adjustment
- Input/output programming
- programmed I/O
- interrupt I/O
- direct memory access
- I/O elements
- Processing elements
- macroinstruction execution
- internal bus transfers
- detailed internal architecture example
- microcontrol
- reduced instruction set computers (RISC)
- packaging
- Links and interfaces
- system buses
- interfaces
- data links
- Memory hierarchy
- mass storage
- main memory
- multiple-port memory
- cache memory
- hierarchy design
- Memory management
- mass storage management
- main memory management
- memory management hardware
- virtual memory
- Operating systems
- uniprogramming systems
- multiprogramming systems
- organization of a multiprogramming system
- sharing resources
- Parallel processing
- multiprocessing
- pipelining
- vector and matrix processing
- high-performance computing
This course provides an implementation-independent treatment of
the subject, emphasizing general and widely-applicable principles rather than
focusing on implementation methods which may be specific to a particular type or
model of computer.
The course grade will be determined using the following
approximate weights: final examination - 35%, midterm examination - 35%, other
tests, quizzes, and written homework - 30%.
Bibliography:
- Carpinelli. Computer Systems Organization and Architecture.
Addison Wesley, 2001.
- Hamacher, Vranesic and Zaky. Computer Organization. Fourth Edition.
McGraw Hill, 1996.
- Hennesy and Patterson. Computer Organization and Design.
Second Edition. Morgan Kaufmann, 1998.
- Stallings. Computer Organization and Architecture. Principles
of Organization and Architecture. Third Edition. Macmillan, 1993.
- Tanenbaum. Structured Computer Organization. Prentice-Hall, 1990.