last update: 6 April 2005

CSC 295 Computer Architecture and Organization 3 cr.

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
    • hardware and software
  • 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.


Salem State Home Computer Science Home Faculty Computer Studies Major Flow Sheet
Computer Studies Minor Courses Course Sequence Diagram Computer Laboratories