30
ECE 462/562: COMPUTER ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: http://www.ece.arizona.edu/~hpcat Website for course: http://www.ece.arizona.edu/~ece462 Course Syllabus August 27, 2013 The University of Arizona

ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

Embed Size (px)

Citation preview

Page 1: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

ECE 462/562: COMPUTER ECE 462/562: COMPUTER ARCHITECTURE AND ARCHITECTURE AND

DESIGNDESIGN Fall 2013Professor Ahmed Louri

ECE DepartmentWebsite for Professor:

http://www.ece.arizona.edu/~hpcatWebsite for course:

http://www.ece.arizona.edu/~ece462

Course SyllabusAugust 27, 2013

The University of Arizona

Page 2: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

ECE 462/562 – Fall 2013

• The is being offered for both in-class students as well as on-line.

• In class students section 001 and on-line it is section 910.

• The class is being recorded using Panapto software (you will be getting some info about the software from UITS shortly).

• It is in D2L and you can login to the course that way as well.

• There will be a separate website for the course which will be password-protected.

Page 3: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

TOPICSTOPICS

Introduce myself Course Administration Pre-requisites For ECE 462/562 Office Hours & Textbook Course Syllabus Course Workload Attendance & Grading Policy Communication Between Students-

TA-Instructor Other

Page 4: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

InstructorInstructor Prof. Ahmed Louri Ph.D. in Computer Engineering From University of

Southern California, USC 1988. Full Professor, ECE Department for last 25 years. Areas of Interest: Computer Architecture, Parallel

Processing, Interconnection Networks, Multicore Architectures, and Emerging Computing and Interconnect Technologies.

Introduced and taught ECE 462/562 more than 15 years ago.

Last few years (2010 – to – 2013) I was invited by the National Science Foundation as a Program Director to direct the national programs on computer architecture, HPC, trustworthy computing, among several others.

Website: www.ece.arizona.edu/~hpcat

Page 5: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

What is Computer Architecture?

Page 6: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

What is “Computer Architecture”?

I/O systemInstr. Set Proc.

Compiler

OperatingSystem

Application

Digital DesignCircuit Design

Instruction Set Architecture

Firmware

• (1) Functional organization, (2) Instruction set design, (3) Hardware Implementation (integrated circuit design, packaging, power, etc) Technology AND

• (4) Quantitative measurement, evaluation, and reporting.

Datapath & Control

Layout

Page 7: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

ECE 462/562 Course ECE 462/562 Course FocusFocusUnderstanding the design techniques, machine structures,

technology factors, and evaluation methods that will determine the form of computers in 21st Century, be it for mobile, desktop, server, embedded, supercomputing, datacenter, etc.

Computer Architecture is at the heart of this!

Technology ProgrammingLanguages

OperatingSystems Eco-system

ApplicationsInterface Design

(ISA)

Performance Evaluation

Parallelism

Computer Architecture:• Instruction Set Design• Organization• Hardware•Performance evaluation

Page 8: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

COURSE OBJECTIVES (1/3)COURSE OBJECTIVES (1/3) This course aims to provide a strong foundation

for students to understand modern computer system architecture and to apply these insights and principles to future computer designs.

It provides basic knowledge, fundamental concepts, design techniques and trade-offs, machine structures, technology factors, software implications, and evaluation methods and tools required for understanding and designing modern computer architectures ranging from mobile systems, to desktops, to servers, to clusters, to large datacenters, with emphasis on multicores, embedded systems, and parallel systems.

Page 9: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

COURSE OBJECTIVES (2/3)COURSE OBJECTIVES (2/3) The course is structured into three parts: The first part of the course focuses on the fundamentals of

each building blocks of general-purpose computing systems building block: processor, memory, and interconnect (networks). Topics include processor micro-coding and pipelining; cache microarchitecture and optimization; and network topology, routing, and flow control.

The second part goes into more advanced techniques and will enable students to understand how these three building blocks can be integrated to build a modern computing system, and how software interacts with hardware. Topics include superscalar execution, branch prediction, out-of-order execution, register renaming and memory disambiguation; VLIW, vector, GPU, and multithreaded processors; memory protection, translation, and virtualization; and memory synchronization, consistency, and coherence.

The third part addresses parallel computing principles, including multicore architectures, datacenters and cloud computing

Page 10: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

COURSE OBJECTIVES (3/3)COURSE OBJECTIVES (3/3)At the end of this course, students will : (1) know the fundamentals of computer

architecture and system design.

(2) be able to appreciate the various design issues and tradeoffs of computer design.

(3) be able to apply this knowledge to new computer architecture design problems with the context of balancing application requirements against technology constraints.

(4) be able to understand current trends and future directions of computer architecture.

Page 11: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

In-depth understanding of the inner-workings of computers, their evolution, design trade-offs, and where the computer field is heading.

Gain experience with the design process in the context of a large hardware system: computer design, from the functional specs to physical implementation.

Computer architecture impacts EVERY other aspect of computer engineering and computer science.

It is a unifying field for hardware and software.

COURSE OBJECTIVES COURSE OBJECTIVES (continued)(continued)

Page 12: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

PREREQUISITESPREREQUISITES Digital Logic (ECE 274 or equivalent) . Basic Machine Structure/Organization:

CPU, memory, virtual memory, caches, buses, I/O : ECE 369 or equivalent).

Some assembly language programming. Some basic programming concepts in a

high-level language such as C, C++, or similar.

Use of basic Unix (Linux) commands. Please come see me if you have

questions.

Page 13: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

OFFICE HOURS & OFFICE HOURS & TEXTBOOKTEXTBOOK Instructor: Prof. Ahmed Louri

– Office Hours: 3:30 – 4:30pm, Tuesday, Thursday, in ECE Room 456S

– email: [email protected] Assistant: Pavan Poluri Email: [email protected] Hours: Wednesday 3pm - 4pm, Thursday 3pm - 4pm, Carell

556.Lab Hours: Tuesdays 2pm - 4pm, Room ECE 250.

Textbook Required: “Computer Architecture a Quantitative Approach” J.L. Hennessy and

D. A. Patterson, Morgan Kaufmann Publishers, Fifth Edition. You are highly discouraged from using previous versions as they outdated.

Additional reading: this course includes a number of reading papers from recent conferences and journals. Such papers are very important and are required reading for this course. These will be provided or posted on the website.

There are many optional books on computer architecture. You can consult them for specific topics to gain a better understanding if you wish. You can see me for a list of books.

Page 14: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

COURSE OUTLINECOURSE OUTLINE (a sample (a sample only)only) Fundamentals of computer design (building blocks, technology,

cost, performance measures, evolution, etc.) Processor design (all aspect): datapaths and control

mechanisms Pipelining: principles and advanced topics (super-pipelining,

superscalar, VLIW, etc.) Instruction Level Parallelism and Data-level Parallelism Thread-level Parallelism (Multithreading) and Task-level

Parallelism Speculative execution, out-of-order execution, scheduling,

branch prediction, hazards, etc.) Multicore design Memory Design: hierarchical memory design, virtual memory,

cache design, cache coherence protocols, memory technologies. Interconnects and communications: buses, networks, network-

on-chip I/O and Storage Parallel Processing Principles: multi-processors, multi-

computers, distributed computing, cloud computing.

Page 15: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

RELATED GRADUATE RELATED GRADUATE COURSESCOURSES

ECE 462/562: Computer Architecture : not only how to build a computer but also how to evaluate, analyze, compare it, and possibly improve it.

ECE 568: Introduction to Parallel Processing: It concentrates on exploitation of parallelism in the computing process and provides state-of-the-art knowledge about design of parallel computing systems from all aspects: hardware, architecture, algorithm design, programming, scheduling, etc.

ECE 569: High-Performance Computing Systems : advanced parallel processing systems

ECE 596: Network-on-chips for Multicore Architectures and SOCs.

ECE 462/562 – ECE 568 – ECE 569 (or ECE 596) - etc

Page 16: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

What will you get out of What will you get out of ECE462/562ECE462/562 Formal Evaluation Techniques

Critical performance measures and benchmarks Processor design techniques (principles & state-of-the-

art concepts) Memory hierarchy design techniques and critical design

issues Pipelining and Parallelism Static / Dynamic Scheduling Multithreading Multi-core processor design Interconnection schemes and networks Understanding Technology Trends and limitation: power,

reliability, scalability, etc. Experience in designing an entire system (through

modeling and simulation only) Ability to pursue advanced graduate degrees (MS, Ph.D)

in computer architecture, high-performance computing, and networking

Increase you chances of getting s highly-paid job and career in computer systems design

Page 17: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

COURSE WORKLOAD (1/2)COURSE WORKLOAD (1/2) Class consists of lectures, homework, lab assignments, exams,

and a Term Paper (TP for graduate students only, it is optional for undergraduates).

Two lectures per week. Lab/discussion sessions (optional but highly encouraged to

attend) Lectures delivered by Instructor, lab/discussion sessions

delivered by Lab Assistant (LA). Homework problems: theoretical in nature (problems similar to

the ones at the end of each chapter in the book) about 4 - 5 problem sets.

Lab assignments provide hands-on experience and require programming. There will be about 4 - 5 assignments.

two types f exams: unannounced quizzes and scheduled exams. Quizzes: short quizzes at the beginning of lectures (random

selection). Require previewing material from previous lectures. Two scheduled exams: a midterm covering the first part of the

course and a second exam at the end of semester covering the entire class with a focus on the parts covered after the first exam.

Term Paper on a specific topic of computer architecture (more later).

Page 18: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

COURSE WORKLOADCOURSE WORKLOAD (2/2)(2/2)

Class attendance is REQUIRED and taken into consideration for final grade.

Note on Lecture Attendance: You are required to attend the lectures. This is your opportunity to ask questions, contribute answers and insights, and affect the nature of the class. Lecture notes and textbook are not guaranteed to capture 100% of every topic and details covered in class.

Any extenuating circumstances that would prevent you from attending the class must be discussed with me in advance (e.g. Death in the family, illness, traveling for interview, …). Written documentation required.

It is not compulsory to attend all lab sessions, but highly recommended that you show up.

Readings: Students are expected to complete all of the assigned reading, including the textbook and the papers provided. These will be also subject to exam questions as well.

Page 19: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

Course Policies and Course Policies and ProceduresProcedures

Collaboration: Studying and discussing course material with

classmates is ok but : Work handed in for grade (homework, lab

assignment, term paper, etc.) MUST BE YOUR OWN effort only.

Online solutions from other sources etc.: Students are not allowed to use online solutions from previous course offerings, commercial websites, etc. This will be strictly checked and enforced.

You should adhere to the UofA policies and procedures on Code of Academic Integrity.

Page 20: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

Course Policies and ProceduresCourse Policies and Procedures I have to explicitly state this per University policy:

Cheating in ECE 462/562 will automatically result in failure and possible expulsion from the ECE and the University.

Examples of cheating include: - Submitting someone’s work (homework, lab

assignment), or something very similar (both assignments will result in zero, both students will fail the class)

- Downloading a solution/program from somewhere and submitting it as your own.

- Plagiarizing someone’s work and submitting it as your own for the term paper.

If you use someone’s work as a reference or a starting point, it MUST be cited and clearly indicated. Please see me for this.

Page 21: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

Course Policies and Course Policies and ProceduresProcedures Auditor policy: Casual listeners that attend lectures but do not

enroll are not allowed. You must enroll in the class to attend the lectures and have access to course material. This will be enforced.

Cellular Phones, Laptops, Tablets and Lecture Policy: Students are prohibited from using cellular phones, laptops and tablets during lectures. It is not practical to take notes with a laptop or a tablet for this course due to the math, extensive micro-architectural diagrams and drawings, illustrations, etc. Also, the distraction caused by a few students using (or misusing) laptops, tablets during lecture far outweigh any benefits in this class.

Late Assignment Policy: NO late assignment will be accepted! No exception. All assignments will be submitted electronically and therefore no room for being late due to automatic checking.

No partial credits on assignments, be it homework or lab assignment:

- if program runs and produces the required results you get a grade

- if its does not work to the problem specs, you get zero. NO MAKE-UP EXAMS! (except for special extenuating

circumstances)

Page 22: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

Grading Policy for Grading Policy for UndergraduatesUndergraduates

For Undergraduate students: Two Exams + Quizzes 45% (20,

20, 5). Assignments (Homework/Lab: 8 to 10) 45%

Class participation/discussion 10% Credit for the optional term paper. Homework assignment are weighted equally

but lab assignment are not. Lab assignment weight will be provided when the assignment is handed out.

Page 23: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

Grading Policy Graduate Grading Policy Graduate StudentsStudents

For graduate students: Two exams + Quizzes 35% (15, 15,

5) Homework/Lab (8 to 10) 45% Term Paper 15% Class participation 10%

For graduate students this course has a larger significance, next slide

Page 24: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

Graduate StudentsGraduate StudentsFor graduate students, this course represents a transition

from coursework to the research world. You can consider yourself a researcher now. In research, you are supposed to be able to: 1) do investigative work on a particular topic: ability to

read and understand research papers (key to your

success) 2) document your findings (in terms of technical papers) 3) disseminate your findings through conference and

journal publications 4) present it and defend it in front of a scientific

community of your peers.

This course and the term paper will significantly help in this transition.

We will talk more about the term paper later on.

Page 25: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

Grading Policy Grading Policy (continued)(continued)

Homework/Lab assignments must be turned in electronically.

You will use a turn-in program to submit the homework and lab assignments.

PLEASE DO NOT E-MAIL ME YOUR HOMEWORK, LAB, OR EXAM, it may get lost and not be graded (like everybody else, I receive tons of emails a day).

Please refer to the course website for how to use electronic submission and other important information.

Page 26: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

Lab Info.Lab Info. The lab sessions will be held in Room no. ECE 250. The

other lab which can be used by the students is Room no. ECE 232.

Room ECE 250 (open between 8am-5pm, unless reserved) Room ECE 232 (open between 8am-5pm)

PLEASE locate the rooms and the resources available. Do not wait until due date.

Website will be password-protected: once we verify you

are registered for the class, you will be provided with a password.

Simulators – WinMIPS64 (on Windows based machines), Dinero4 (on Unix based machines) more on this later.

(You can follow instructions on the class website for accessing these tools).

E-mail ([email protected]) in case of any problems!

Page 27: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

CLASS FORMAT (Prof. CLASS FORMAT (Prof. Louri)Louri)

The lectures will be on PowerPoint. Occasional writing on the board.

Please arrive on time to the class! Quizzes will start at the beginning of the lectures.

The PowerPoint presentations are only main bullets of the lecture. Details and explanations are given in class.

Suggestion 1: print the class material beforehand, and try to write down what I say in class on the ppt printout. Also, I would encourage you to read the relevant chapter before the lecture

Questions are allowed and highly encouraged during the lecture. Please do not hesitate to ask questions anytime during the lecture.

PLEASE DO NOT SLEEP IN CLASS! It is disturbing to the instructor as well as to your classmates.

Suggestion 2: please have a light lunch or a snack only before class. Having a heavy lunch will definitely interfere with your ability to follow the entire lecture!

Need to check the website daily. Important announcements related to the course will be posted on the course website.

Page 28: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

CLASS INTERACTIONCLASS INTERACTION My goal is :

– To show you how to understand the fundamentals of computer architecture in its present form and its evolution in the future.

– To show you how to design by leading you through the process on challenging problems.

– To open the door of learning for you: you need to walk through the door!

I want you to succeed in achieving your goals– easy transition from undergrad to grad studies– easy transition to work environment– well prepared for graduate studies

Page 29: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

CLASS INTERACTION CLASS INTERACTION (continued)(continued) So please:

– Show initiative– Ask questions during class– Read class material– Come to office hours– Find me in the lab, or my office if you can’t make it

to office hours– Don’t be intimidated, keep in mind that in the

learning process EVERY QUESTION IS A VALID QUESTION !!! There is no such a thing as a stupid question!

– If you don’t understand ask, ask, ask!– Be proactive and you will succeed !

Page 30: ECE 462/562: COMPUTER ARCHITECTURE AND DESIGN Fall 2013 Professor Ahmed Louri ECE Department Website for Professor: hpcat Website

Homework #0 Homework #0

Design Your Own web site with your picture in the page.

Protect access via a password (if you like). Upload the information sheet on YOUR

website by downloading it from the class website, include name, Major & Year, a picture of yourself, something about yourself (brief), and how you can be reached.

Send the URL to the LA along with the password.

Due September 9, 2013.