CSE381 – Computer Architecture - Spring 2008

Syracuse University            L.C. Smith College Engineering and Computer Science

 

Description

CSE 381 Computer Architecture 3 Y: Data representation, memory hierarchies, protection, specialized processors, multiple computers, performance evaluation, and reliability.

Instructor

Dr. Ehat Ercanli, Assistant Professor of Electrical Engineering and Computer Science.

Office: CST 4-297. Email: eercanli@syr.edu. Phone: 443-3564. Office hours: T TH 11:30am - 1:30pm.

Times

8:00-9:20a.m. on Tuesdays and Thursdays at Bowne Hall 110.

Prereqs.

CSE 281, MAT 275 and 398.

Textbook

Computer Organization and Design by DA Patterson, JL Hennessy, 3rd Edition, 2005, MKP, ISBN: 1558606041.

Grading

Grading scale:

Grade weights:

As: 85-100
Bs: 70-84
Cs: 60-69
D: 50-59
F: Below 50

HWs/Quizzes
Exam 1
Exam 2
Final Exam

35%
20%
20%
25%

Homework

Homework assignments are to be submitted in lecture on the assigned due date. No late assignments will be accepted. You are expected to complete the homework individually. However, you can discuss assignments and solutions with each other, but all work submitted must be the sole work of the author. Course projects will be completed individually or in-groups of two. Answers to selected problems will be available on the class web page.

Exams

All exams must be taken at the scheduled time unless a previous arrangement (with a good reason) has been made with the instructor.

WWW

Our class web page will be updated frequently with lecture slides (when possible), homework assignments and solutions, and tests and solutions, and more interesting stuff.

Attendance

You are expected to attend each class punctually and remain for the entire class period; tardiness disturbs everyone. You need to inform the instructor in advance if you expect to miss a class or leave the course before the end of the semester. If you miss class your absence will be excused by the instructor only if a doctor's certificate or other evidence is submitted. If you have been absent and fail to submit an excuse to the instructor, your absence will be considered unexcused. Even if your absence is excused, you remain responsible for the work associated with the class you missed.  There will be a number of unannounced pop quizzes.

Academic Honesty

Cheating in any form is not tolerated, nor is assisting another person to cheat. The submission of any work by a student is taken as a guarantee that the thoughts and expressions in it are the student's own except when properly credited to another.

Violations of this principle include giving or receiving aid in an exam or where otherwise prohibited, fraud, plagiarism, the falsification or forgery of any record, and any other deceptive act in connection with academic work. Plagiarism is the representation of another's words, ideas, programs, formulae, options, or other products of work as one's own, either overtly or by failing to attribute them to their true source.

Always protect your own work from others, since it is often not possible to determine who the originator or the copier was. Such offense will result in a failing grade ‘F’ and a letter of reprimand in your permanent student file.

Required Knowledge and Skills

Recall:

§  You should be able to explain operations pertained to a basic electrical circuit, gate technologies, and memory systems.

§  You should be able to explain Boolean algebra and the design methods such as Combinational logic design and Sequential machine design.

§  You should be able to enumerate the basic components of a computer.

§  You should be able to enumerate the steps required to execute a program.

Comprehension:

§  When given an integer number in decimal, binary or hexadecimal representation, you should be able to translate it to any other base including two’s complement.

§  You should be able to translate between various formal representations for design and analysis, (e.g., translate state tables into a schematic of registers and logic, translate logic schematics into logic functions, etc.) and interpret the meaning of the various formal representations.

§  When given an abstract description or model of a component or system, you should be able to translate the description into an alternative abstract description or model.

§  You should be able to recognize the basic components of a computing system as ALU, Memory, and Input/Output Systems and explain their operations.

§  When given a computer architecture, you should be able to explain the Instruction Execution Cycle.

§  You should be able to describe a microprocessor architecture, memory management and input-output system, the assembly, linking and running processes.

Application:

§  When given English language descriptions of behavior, you should be able to translate them into the appropriate specification such as a Boolean equation or a state transition diagram.

§  When given a formal model specifying the behavior of a component or system such as a finite-state machine specification, you should be able to refine it into an implementation consisting of registers and combinational logic (encoders, decoders, multiplexers, adders, ALUs, and counters).

§  When given a flowchart, you should be able to write a program in assembly language that includes conditional processing, and integer and logic arithmetic.

Acquired Knowledge and Skills

Recall:

§  You should be able to explain layered computer architectures and digital logic layer defining the technology.

§  You should be able to define the differences between various classes of systems such as CISC & RISC, micro programmable & wired decoding, SIMD & MIMD systems, and distributed computing & parallel processing.

§  You should be able to explain bus structures existing in computer architectures and the layered memory system including cache and main memory.

Comprehension:

§  You should be able to translate between various formal representations for design and analysis, (e.g., translate instruction set architecture to data path and control path) and interpret the meaning of the various formal representations.

§  You should be able to recognize the pipelining hazards and means to avoid them.

Application:

§  When given a formal model specifying the behavior of a component or system such as a data path specification, you should be able to refine it into an implementation consisting of registers and combinational logic.

§  You should be able to modify a system to enhance its overall throughput using various techniques such as pipelining, dual-ported memory, and multiple execution units.

Analysis:

§  When given an abstract description of a component or system and an implementation, you should be able to determine if the implementation is faithful to the abstract description.

§  When presented an enhancement in a system, you should be able to analyze its effect on the overall performance and cost.

Synthesis:

§  When given an abstract description of computing system, you should be able to create a concrete implementation (such as data path and its controller) that is a faithful refinement of the specification.

Evaluation:

§  You should be able to judge the degree of correspondence between abstract behavioral specifications and the actual behavior of implementations.

§  When given a specification and implementation, you should be able to evaluate whether the implementation is correct with respect to its specification and meets performance requirements.

Course Outline

 

Tuesday – Thursday

1-14

Introduction. Components of a computer. Syllabus.

1-21

ISA. Performance analysis. HW1.

1-28

Technology, design, & cost considerations. Models.

2-04

Arithmetic & Floating point units. Single-cycle Datapath. Controller. HW2.

2-11

Multi-cycle Datapath.  Microprogramming Controller. HW3.

2-18

Exceptions. Pipelining. Pipelining Hazards.

2-25

Review. Samples 1. Samples 2. Exam 1.

3-03

Pipeline Control. Advanced pipelining. Exercises. HW4.

3-10

Spring Break

3-17

Superscalar architectures. ILP. HW5.

3-24

Memory systems. Caches.

3-31

Virtual Memory.

4-07

Exam 2 Review.  Exercises Exam 2 – Apr. 10.

4-14

Storage Systems. Busses, I/O systems. E2S. HW6.

4-21

Mayfest, 4/22, no classes.

4-28

Future Trends. Review.  Sample CPUs. E3 Exercises I. E3 Exercises II.

Notes.

FINAL EXAM: Monday, 5/5/07, 7:15-9:15pm, Bowne 110.

Discussion Group: Computer Architecture.

Intel. UltraSparc. HP/Alpha. Freescale.  IBM PowerPC. Benchmarking. TOP 500.

 

Tutoring Help: Diana Ryan, dimishryan@gmail.com, Link 108

Tue 5:30p -8:30p; Wed and Thr 11:00a-2:00p.

 

GRADES (Updated 4/17).