Course: EEE230 First Term: 2006 Fall
Final Term: Current
Final Term: 2018 Summer
|
Lec + Lab 4 Credit(s) 5 Period(s) 4.7 Load
Credit(s) Period(s)
Load
Subject Type: AcademicLoad Formula: S |
MCCCD Official Course Competencies | |||
---|---|---|---|
1. Identify the five major components of a computer system and describe how the components interact and the effect on the system as a whole. (I)
2. Describe data representation, the instruction set, addressing modes, and register organization. (II, IV, XI, XIII) 3. Describe execution of instructions and hardware components used in each step. (II) 4. Manipulate data to perform arithmetic operations and floating point. (III) 5. Measure, report, and summarize performance of a computer and describe the major factors that determine it. (IV) 6. Describe three approaches to processor implementations: single-cycle, multi-cycle, and superscalar. (V) 7. Describe how pipelining enhances processor performance. (VI) 8. Describe data path, control, and branch hazards. VI) 9. Describe virtual memory and cache organization structures. (VII) 10. Describe data storage, networks, and peripherals. (VIII) 11. Describe what busses are and their role in connecting the major system components. (VIII) 12. Describe how the processor identifies different sources of interrupts and exceptions, and invokes the corresponding handler to deal with the interrupt or exception. (IX) 13. Use all registers in assembly language programs. (X) 14. Determine appropriate registers to use with specific assembly language commands. (X) 15. Use addressing modes to move information and perform computations. (XI) 16. Use conditional and unconditional branches to create loop, if-then, and case branching structures. (XII) 17. Write call procedures with parameter passing. (XIII) 18. Use input/output interrupts to control a hardware device. (XIV) | |||
MCCCD Official Course Competencies must be coordinated with the content outline so that each major point in the outline serves one or more competencies. MCCCD faculty retains authority in determining the pedagogical approach, methodology, content sequencing, and assessment metrics for student work. Please see individual course syllabi for additional information, including specific course requirements. | |||
MCCCD Official Course Outline | |||
I. Computer Components and Interaction
A. Component types 1. Data path 2. Control 3. Memory 4. Input 5. Output B. Interaction C. System effects II. Instructions A. Operations and operands of computer hardware B. Instructions in the computer including logical operations and making decisions C. Addressing for 32-bit immediates and addresses D. Assembling, starting a program, assembler function, and optimization E. Implementing an object-oriented language and arrays versus pointers III. Arithmetic for Computers A. Signed and unsigned numbers B. Addition, subtraction, multiplication, division C. Floating point IV. Assessing and Understanding Performance A. Central Processing Unit (CPU) performance and its factors B. Evaluating performance V. Processor: Data Path and Control A. Logic design conventions and building a data path B. Single, multicycle, and superscalar implementation and exceptions C. Microprogramming: simplifying control design D. Introduction to digital design using a hardware design language E. Organization of a microprocessor implementation VI. Enhancing Performance with Pipelining A. Pipelined data path and pipelined control B. Control, data hazards, forwarding, and stalls C. Branch hazards and using a hardware description language to describe and model a pipeline D. Exceptions VII. Exploiting Memory Hierarchy A. Measuring and improving cache performance B. Virtual memory and common framework for memory hierarchies VIII. Storage, Networks, and Peripherals A. Disk storage, dependability, and networks B. Busses and other communications between processors, memory, and input/output (I/O) devices C. Interfacing I/O devices to the processor, memory, and operating system D. I/O performance measures and designing an I/O system IX. Processor, Assemblers, Linkers, and a Simulator A. Assemblers, linkers, loading, and memory usage B. Procedure call convention, exceptions, and interrupts C. Use of a simulator to program an assembly language X. Data and Register A. Memory sizes and layout B. Data elements and size C. Register set organization XI. Addressing Modes A. Direct, absolute, and immediate modes B. Index modes and applications to records C. Register indirect and other available addressing modes XII. Control-flow Instructions and Applications A. Unconditional branches, self-relative B. Flag-based conditional branches 1. Application to if-then-else structures 2. Application to loops C. Indexed jumps, indirect branches, case branching XIII. Procedure Calls and Parameter Passing A. Call, return B. Register, stack C. Pointers, indirection XIV. Introductory input/output A. Introductory device control B. Interrupt handling | |||
MCCCD Governing Board Approval Date:
4/25/2006 |