CS220 01 Computer Architecture -- Fall, 2018

Contents

General Information

Instructor:

        Jiang B. Liu, jiangbo@bradley.edu
        Professor of Computer Science & Information Systems
        Phone: (309) 677-2386
Prerequisites:
       CS140 or equivalent
Lecture:
        3:00-4:15 pm, Mon, Wed at BR 180
Office Hours:
        4:15-5:15pm Mon, Wed; 3:00-5:00pm Tues, Thur. at BR 177
        or by appointment.

Course Materials

Topic Schedule

This is a undergraduate course in computer architecture for computer science and computer information systems majors and minors. The goal of the course is to provide students with a foundation of computer organization and architecture. Focus are on the basics of logic circuit design, modern processor architecture, and assembly language and overview of principle issues of internal system architecture, including memory, buses, and peripherals.

Unit 1

1. Introduction/Performance 
- Organization and Architecture
- Structure and Functions 

- Intel x86 Architecture and Arm Architecture

- Cloud Computing
- Design for Performance

- Multicore, MICs, and GPGPUs

- Ahmdahl’s Law and Little’s Law

- Basic Measure of Computer Performance.

Ch. 1, 2

Quiz on Ch. 1, 2

Unit 2

2. Computer Function and Interconnection
- Computer Components and function 
- Interconnection Structures
- Bus Interconnection/Point-to-point Interconnection 
- PCI Express 

Ch. 3

Unit 3

3. Cache Memory
- Cache Memory Principles 
- Elements of Cache Design

- Pentium 4 Cache organization 

Ch. 4

Quiz on Ch. 3, 4

Unit 4

4. Internal Memory/External Memory
- Semiconductor Main Memory
- DDR DRAM

- Flash Memory/Nonvolatile Solid-State Memory Technologies
- Magnetic Disk/RAID/Solid State Drives/Optical Memory

Ch 5, 6

Unit 5

5. I/O 
- External Devices; I/O Modules

- Programmed I/O; Interrupt-Driven I/O; Direct Memory Access/Direct Cache Access

- I/O Channels and Processor

- External Interconnection Standards

Ch. 7

Quiz on Ch. 5,6,7

Midterm Exam

Unit 6

6. OS Support/Number Systems 
- OS Overview/Scheduling
- Memory Management (Pentium and ARM)
- Position Number Systems/Binary System/Number Systems Conversions

Ch. 8,9

Unit 7

7. Computer Arithmetic/ Digital Logic
- The Arithmetic and Logic Unit

- Integer Representation and Arithmetic
- Floating-Point Representation and Arithmetic?
- Boolean Algebra

- Gates/Combinational and Sequential Circuits/Programmable Logic Devices

Ch. 10, 11

Quiz?on Ch. 10, 11

Unit 8

8. Instruction Sets I, II (Intel x86 and ARM)

- Machine Instruction

- Types of Operands/Type of Operations

- Address Modes/Instruction Format

- Assembly Language

Ch. 12, 13

Unit 9

9. Processor Structure & Function (Intel x86 and ARM)

- Processor Organization
- Register Organization
- Instruction Cycle and Instruction Pipelining

Ch. 14

Unit 10

(Optional)

10. RISC/Instruction Level Parallelism

- Reduced Instruction Set Architecture (MIPS R400 and SPARC)

- RISC versus CISC

- Superscalar Processors

- Instruction Level Parallelism Design Issues (Intel and ARM)

Ch. 15, 16

Final Exam

Assignments

There will be four group project assignments.

 

Grading

·         Project Assignments:        30%

·         Quizzes:                             20%

·         Test01:                               10%

·         Test02:                              10%

·         Final Exam:                       30%

(Final exam is scheduled on Dec 8, Saturday 2:30-4:30pm at Brd 180.)

(100-90 A; 89-80 B; 79-70 C; 69-60 D; below 60 F)

Policies & Procedures

All project assignments, lecture presentations, and grades will be posted to the class Sakai web page. Students are encouraged (and expected) to attend all classes and participate in all class activities. Students are expected to act professionally at all times.

 

1. Attendance: Regular attendance is expected. It is the student’s responsibility to notify the instructor when a class will be missed. If you know of a conflict ahead of time, you should plan accordingly and submit assignments early.

2. Project Assignments: Assignments should be submitted before the due date. If an assignment is submitted after the due date, it will be subjected to a 10% grade reduction penalty. Assignments will not be accepted more than 24 hours after the due date under any circumstance. Assignments must be submitted electronically via Sakai and will not be accepted in any other format.

3. Exams/Quizzes: Exams and quizzes must be taken on the scheduled dates. The student will receive no points for an exam or quiz if it is not taken on the scheduled date, unless the student has received approval from the instructor due to extremely special circumstances. In the rare case that a make-up quiz or exam is given, it is the student’s responsibility to make the appropriate arrangements with the instructor to have a test administered.

4. Integrity: Plagiarism and cheating are serious offenses and will be punished by failure on the exam, paper, or project in question; and the student will also be reported to the Center for Residential Living and Leadership. If the assignment is a final assignment, it will also result in failure in the course. For more information, refer to the academic catalog and student handbook. According to the student handbook:

·         "Cheating is officially defined as giving or attempting to give, obtaining or attempting to obtain, information relative to an examination or other work that the student is expected to do alone and not in collaboration with others..."

·         "A Zero, or whatever is the equivalent of the lowest failing grade possible, shall be assigned for that piece of work to any students cheating on a non-final examination or other piece of work."

·         "According to University Senate rules, all occasions of cheating and plagiarism must be reported to the Executive Director of the Center for Residential Living and Leadership..."

 

You may freely give and receive help with the computer facilities, editors, debugging techniques, the meaning and proper use of the Java language, and general concepts covered in the class. You should not discuss your design or implementation of the assignments with any classmate (other than your partner) until after they are graded. In particular, you should not view another person's program, or allow someone (other than your partner) to view any part of your program before the assignment has been graded. Obviously, copying any part of another person's program or allowing your program to be copied is not permitted. A variety of methods will be used to detect copying.

 

ALWAYS CITE YOUR SOURCES! If you consult with any source (other than the textbook or the instructor) to complete an assignment, you should credit that source with a citation. Sources that should be cited include friends, tutors, websites, and any books other than the textbook. You should never consult with a classmate (other than your partner) to complete an assignment. A friend or tutor should never complete an assignment for you. You should never copy and paste large segments of code from a website. It is sometimes acceptable to copy small segments of code from a website, but the website should be credited with a citation.

You can work as a group of 2-3 students to do the project assignments. For group assignments, all group members are expected to collaborate equally. It is not acceptable for a single person to complete an assignment that is meant to be completed as a group.