Todays Lecture Slides for Lecture 1 ENCM 501: Principles of - - PDF document

today s lecture slides for lecture 1
SMART_READER_LITE
LIVE PREVIEW

Todays Lecture Slides for Lecture 1 ENCM 501: Principles of - - PDF document

slide 2/25 ENCM 501 W14 Slides for Lecture 1 Todays Lecture Slides for Lecture 1 ENCM 501: Principles of Computer Architecture Winter 2014 Term introduction to ENCM 501 course organization Steve Norman, PhD, PEng review of


slide-1
SLIDE 1

Slides for Lecture 1

ENCM 501: Principles of Computer Architecture Winter 2014 Term Steve Norman, PhD, PEng

Electrical & Computer Engineering Schulich School of Engineering University of Calgary

9 January, 2014

ENCM 501 W14 Slides for Lecture 1

slide 2/25

Today’s Lecture

◮ introduction to ENCM 501 ◮ course organization ◮ review of computer organization basics ◮ what does “computer architecture” mean?

Related material in Hennessy & Patterson (our course textbook): Sections 1.1–1.3..

ENCM 501 W14 Slides for Lecture 1

slide 3/25

Contacting Steve Norman (your instructor)

Office: ICT 411. This is near the north end of the 4th floor. You should be able to use your U of C ID cards to access the hallways outside academic offices on the 4th floor—ask at the ECE main office (ICT 402) if have trouble. I will post some office hours on the Course Home Page soon. Email: norman@ucalgary.ca Please try to come up with a detailed subject line. “Question about ENCM 501 Assignment 3 Exercise 5” is a good

  • example. “ENCM 501” and “Problem with course” are

examples of what not to do! I will try to answer all emails within 24 hours, except weekends and holidays.

ENCM 501 W14 Slides for Lecture 1

slide 4/25

Course Web site

Most course information will NOT be on Blackboard. Instead, please go to www.enel.ucalgary.ca/People/Norman/encm501winter2014

ENCM 501 W14 Slides for Lecture 1

slide 5/25

In the Classroom

Lectures will start at 12:30pm sharp (except today). Please try hard to be on time, and enter as non-disruptively as possible if you’re late. If you need to leave early, please notify your instructor at the beginning of class, and pick a seat that allows an easy exit. Please, no conversations! Please ask questions! Call out, “Question!” if I don’t see your raised hand.

ENCM 501 W14 Slides for Lecture 1

slide 6/25

Tutorial Periods

These start Wednesday, January 15. There will be several small pencil-and-paper exercises each week. There are NO marks for tutorial exercises, but the exercises will be helpful toward assignments, tests, and final exam.

slide-2
SLIDE 2

ENCM 501 W14 Slides for Lecture 1

slide 7/25

Assignments

There will be assignments just about every week in ENCM

  • 501. Assignments will consist of several small- to medium-size

problems; there will be no large projects in this course. Some assignment problems will involve programming and

  • thers will be exercises that can be solved with pencil and

paper, possibly also a simple calculator. Assignment 1 will be posted on the Course home page sometime Monday, January 13.

ENCM 501 W14 Slides for Lecture 1

slide 8/25

Lab Periods

Lab periods start Tuesday, January 14. They are for drop-in help with assignments, and may also be used to ask general questions about lecture content. It’s best to have done some work on the current assignment before the lab period. That way you can ask good questions starting at the beginning of lab period.

ENCM 501 W14 Slides for Lecture 1

slide 9/25

The ENCM 501 Course Outline

A link to the complete course outline can be found on the course Web site. Please read the whole thing carefully!

ENCM 501 W14 Slides for Lecture 1

slide 10/25

Course Outline: Exams

Quizzes (2): 40 minutes each, to be held in lecture periods,

  • ne in early February and one in late March.

Midterm test: 75 minutes, to be held in a lecture period in late February or early March. Final exam: Duration 3 hours, to be scheduled by the Registrar’s Office. All quizzes, tests and exams will be closed-book and closed-notes. There will likely be instructor-provided reference material with formulas, instruction set documentation, etc., provided along with question papers.

ENCM 501 W14 Slides for Lecture 1

slide 11/25

Course Outline: Grading

Assignments: 20% Quizzes: 15% Midterm test: 25% Final exam: 40% Attention: There is no minimum score on the final exam that you must obtain to pass the course. (But you will get an F if both your term work and your final exam are very weak.) Read the Course Outline for more details about how letter grades will be determined.

ENCM 501 W14 Slides for Lecture 1

slide 12/25

Course outline: Textbook

Computer Architecture: A Quantitative Approach, Fifth Edition, by John L. Hennessy and David A. Patterson. This book is by the same authors who wrote the textbook used for many years in ENCM 369, but it’s a completely different and significantly more advanced book. It’s really important to have this textbook—students will be expected to do some serious reading, as there is no reasonable way to put so much detail into lecture notes. Attention: We will not cover everything in the book in this course! There is way too much material in the book for a single course!

slide-3
SLIDE 3

ENCM 501 W14 Slides for Lecture 1

slide 13/25

About ENCM 501 slides

Reading these slides online is not a good substitute for attending lectures—in most lectures I will do some important hand-written work using the document camera. Please come to lectures prepared to take some notes.

ENCM 501 W14 Slides for Lecture 1

slide 14/25

Typographical conventions

Either bold text or bright red text will be used for emphasis. The typewriter font will usually be used for code in assembly language, C, or C++. (I might not use the typewriter font for code if it makes the code too wide to fit in a slide.) Text in a box is a general description of what could appear within a piece of code. Example: A C do statement has this syntax . . . do statement while ( expression ); (Usually statement is a compound statement that starts with { and ends with } .)

ENCM 501 W14 Slides for Lecture 1

slide 15/25

Typographical conventions: Italics

Italics will be used two different ways. One word or a few words in italics will be used to formally or informally define a term. Example: A bit is the basic unit of information in a digital system; the value of a bit is either 0 or 1. An entire sentence in italics indicates a pause to elaborate a concept or solve a problem under the document camera. Example: Let’s translate the C statement into a sequence of assembly language instructions.

ENCM 501 W14 Slides for Lecture 1

slide 16/25

Review of Computer Organization Basics

The next several slides will review concepts covered early in ENCM 369, and make comments about how those concepts are related to current computer design.

ENCM 501 W14 Slides for Lecture 1

slide 17/25

Organization of a Simple Computer

. . . . . . Bus Processor Main Memory I/O Device I/O Device

◮ What is a bus? ◮ What is the role of the

processor?

◮ What is the role of the

main memory?

◮ What does I/O stand

for?

◮ What are important

categories of I/O devices?

ENCM 501 W14 Slides for Lecture 1

slide 18/25

Operation of our Simple Computer

Within the processor, there is a special-purpose register called the program counter (or PC). The PC holds the memory address of the next instruction to be executed. When our computer is powered up, some kind of initialization circuit puts a specific address into the PC. After that, the processor repeats two steps, Step 1 and Step 2, over and over, until the computer is powered down.

slide-4
SLIDE 4

ENCM 501 W14 Slides for Lecture 1

slide 19/25

Operation of our Simple Computer, continued

Step 1: Fetch an instruction and update the PC. Copy

  • ne or more bytes, starting at the address in the PC, into the

processor, then make the PC point at the next byte in memory that wasn’t part of the instruction. Remark: Step 1 is simple if all instructions are the same size, but quite messy if some instructions occupy more memory than other instructions. Step 2: Execute the instruction. Perform whatever tiny, simple task is specified by the instruction. Let’s make an informal list of the kinds of instructions we’ve seen in various computer instruction sets, with one or more specific examples of each kind of instruction.

ENCM 501 W14 Slides for Lecture 1

slide 20/25

Step 1, then Step 2, then Step 1, then Step 2 . . .

This model for computer operation is simultaneously seriously misleading regarding current computer systems (except perhaps the very “lowest-end” embedded computers) and supremely important. Let’s make a list of reasons why the model is seriously misleading. But why then is the model still supremely important?

ENCM 501 W14 Slides for Lecture 1

slide 21/25

What does “Computer Architecture” mean? (1)

It is surprisingly hard to come up with a simple, short definition of computer architecture. It’s kind of an “umbrella” term that includes a bunch of related ideas and activities. Let’s start at the level of instructions . . .

◮ What instructions are available to applications

programmers? This is often called instruction set architecture, or ISA.

◮ What additional instructions are provided to operating

system kernel programmers? (Examples: Instructions to query system state when an interrupt occurs, to manage virtual memory hardware, to control I/O devices, and so

  • n.)

ENCM 501 W14 Slides for Lecture 1

slide 22/25

What does “Computer Architecture” mean? (2)

Now let’s move a down one or two levels of abstraction . . .

◮ Given the ISA, how exactly are instructions handled by

processors—how deep are pipelines; can instructions be executed out-of-order? How is the memory system organized to minimize loss of clock cycles in fetching instructions and reading and writing data? This category of concern is sometimes called microarchitecture or organization.

◮ Given a microarchitecture, what are good ways to

implement it at the integrated circuit and printed circuit board level? These are hardware design problems.

ENCM 501 W14 Slides for Lecture 1

slide 23/25

It’s good to have a broad perspective on architecture

Obviously, ISA choice dictates much about microarchitecture, and microarchitecture dictates much about hardware. But the influences also work in the opposite direction, from lower to higher levels of abstraction. Cost of fabrication (a hardware issue) makes some microarchitectures attractive and others less attractive. Physical size of components may also matter. Aspects of microarchitecture matter when a new ISA is designed or an existing ISA is extended. Preference for relatively simple, clean microarchitecture might rule out some useful instructions.

ENCM 501 W14 Slides for Lecture 1

slide 24/25

ENCM 501 Course Topics

◮ introduction to computer system design goals and

performance measurement (textbook, Chapter 1)

◮ brief overview of ISA principles (parts of Appendix A) ◮ memory system design and performance assessment

(parts of Appendix B and Chapter 2)

◮ aspects of instruction-level parallelism (parts of

Appendix C and Chapter 3)

◮ aspects of thread-level parallelism (TLP) (parts of

Chapter 5)

◮ introduction to programming with TLP (not covered in

textbook)

slide-5
SLIDE 5

ENCM 501 W14 Slides for Lecture 1

slide 25/25

Next Lecture

◮ overview of computer technology ◮ trends in technology, energy use, and cost

Related reading in Hennessy & Patterson: Sections 1.1–1.6