ECE 154: Intro. to Computer Architecture

      


Behrooz Parhami: 2008/03/24  ||  E-mail: parhami at ece.ucsb.edu  ||  Other contact info at: Bottom of this page

Go up to: B. Parhami's course syllabi or his home page

      

Link to  previous offerings of ECE 154
Winter quarter 2008 offering of ECE 154

This area is reserved for important course announcements:  2008/03/24: Course grades have just been submitted to the registrar. Grade stats for HW6 and the final exam have been posted below on this page. The course is now officially over. Have a pleasant spring break!

2008/03/11: The final exam will be held in HSSB 1174 on Saturday, 3/22/2008, 12:00-2:30 PM. The exam will be closed book, but the use of a calculator is allowed.

2008/03/03: Homework 6 (the last one for the course) has been posted below, along with  grade stats for HW5 and MT2. Instructor and TA office hours will be held as usual during the final exams week. In addition, class times (MW 3:30-5:00) will be converted to instructor office hours in HFH 5155 and discussion times (F 10:00-1:00) will become TA office hours in Phelps 1435.

2008/02/22: As mentioned in class, HW5 and HW6 were merged into a single homework assignment so that the problems can be studied and solved before midterm 2. There will thus be one fewer homework than the 7 planned. The last homework, HW6, will be posted no later than W 3/5 (probably a few days earlier) and will be due on F 3/14.

2008/02/12 -- Homework 5 has been posted below, along with  grade stats for HW4 and MT1. Please note that grade stats have been moved to a separate section below the homework assignments. Presentations for part 4 of the book are now up to date.

2008/02/05: Due to several time conflicts with existing office hours, an extra instructor office hour has been added on Tuesdays 5:30-6:30.

2008/01/29 -- Homework 4 has been posted below. Presentations for part 3 of the textbook (ch. 9-12) are now up to date. Our first midterm exam will be held in class on Monday 2/4. The exam will be closed book and notes; use of a calculator is permitted.

2008/01/21 -- Homework 3 has been posted below. Homework 1 stats have also been posted.

2008/01/15 -- Homework 2 has been posted below. Presentations for parts 1 and 2 of the textbook (ch. 1-8) are now up to date.

2008/01/09 -- Homework 1 has been posted below. Please remember to attach a sheet with your name and perm number to the pretest. This sheet will be removed before grading. Its sole purpose is to verify that all enrolled students have turned in the pretest.

2008/01/06 -- The completed introductory course survey and the take-home pretest paper are due by 9:00 AM on Friday 1/11.

Course:   

ECE 154 – Introduction to Computer Architecture, University of California, Santa Barbara, Winter Quarter 2008. For enrollment codes, see "Meetings" below.

Catalog entry:   

154. Introduction to Computer Architecture. (4) PARHAMI. Prerequisite: ECE 152A with a minimum grade of C-; open to EE, computer engineering, and computer science majors only. Not open for credit to students who have completed Computer Science 154. Lecture, 3 hours; discussion, 1 hour.  The computer design space. Methods of performance evaluation. Machine instructions and assembly language. Variations in instruction set architecture. Design of arithmetic/logic units. Data path and control unit synthesis. Pipelining and multiple instruction issue. Hierarchical memory systems. Input/output and interfacing. High-performance systems, including multiprocessors and multicomputers.

Instructor:   

Behrooz Parhami, Room 5155 Harold Frank Hall (Engineering I), Phone 805-893-3211, E-mail  parhami at ece.ucsb.edu

TAs:   

Peter Lisherness, peter at ece.ucsb.edu; Crystal Wei, crystalwei at umail.ucsb.edu 

Meetings:   

Lectures  – MW 3:30-4:45, HSSB 1174

Discussion, option 1 – F 10:00-10:50, Phelps 3519 (Crystal, enrollment code 10587)

Discussion, option 2 – F 11:00-11:50, Bldg 387 Rm 104 (Crystal, enrollment code 10595)

Discussion, option 3 – F 12:00-12:50, Phelps 3519 (Peter, enrollment code 10603)

Consultation:   

Instructor’s office hours, held in Room 5155 HFH – M 11:30-1:00, T 5:30-6:30, W 12:30-2:00

TA office hours, held in Phelps 1435 – T 1:00-2:30 (Crystal); R 10:00-1:00 (Peter)

Motivation:   

Computer architecture is the study/specification of (digital) computer systems at the interface of hardware and software. Computer architecture is driven from the software side by user needs in terms of functions and speed and from the hardware side by technological innovations and constraints. ECE 154 introduces you to this exciting field and makes you an informed computer user who understands basic architectural features as well as their cost/performance implications. The programmer's view of the instruction set and user interface are considered along with memory organization, addressing methods, input/output, implementation of control, and a multitude of performance issues and computation speedup methods. ECE 154 also prepares you for participation in computer design efforts and for learning the advanced implementation methods and technologies used in vector supercomputers (ECE 254A), parallel processors (ECE 254B), and distributed systems (ECE 254C).

Prerequisite:   

Familiarity with logic design and digital circuits (ECE 152A or equivalent). Fundamentals of digital logic circuits will be reviewed in 1-2 refresher-type lecture(s).

References:   

Required textbook – B. Parhami, Computer Architecture: From Microprocessors to Supercomputers, Oxford University Press, 2005. Click on the textbook title to see the textbook's Web page which has downloadable PowerPoint and PDF presentations, a list of errors, and other material. Publisher's list price $86.95, UCSB Bookstore price $81.95/new, $61.45/used.

Useful book (not required) – D.A. Patterson & J.L. Hennessy, Computer Organization & Design: The Hardware/Software Interface, Morgan Kaufmann, 3rd ed., 2005.

Electronic Resources at UCSB

http://www.library.ucsb.edu/eresources/databases/ (electronic journals, collections, etc.)
http://www.library.ucsb.edu/subjects/engineering/ece.html (research guide in ECE)

Evaluation:   

Students will be evaluated based on these 3 components with the given weights:

   

20% -- Seven Six homework assignments posted on the course website by specified dates and due in a homework box in about one week. Homework descriptions appear below, after the course calendar.

   

40% -- Two closed-book midterm exams (see the course calendar for date, time, and coverage).

   

40% -- Closed-book final exam (see the course calendar for place, date, time, and coverage).

Calendar:

Course lectures, homework assignments, and exams have been scheduled as follows. This schedule will be strictly observed. About half of the lectures have been marked as important or very important. These lectures cover key concepts that constitute the core of ECE 154.

Day/Date

Chapters

Subject of Lecture or Discussion

HW (chap's)

Special Notes

M 1/7   

1-3   

Course intro, review of logic circuits  

Pretest

Introductory survey

W  1/9   

4

Computer performance

HW1 (1-3)

Very important lecture

F 1/11  

1-3  

(Discussion: Logic circuits + technology)

Pretest due

Introductory survey due

M 1/14   

5-6

MiniMIPS instructions and addressing

 

 

W 1/16   

6-7

MiniMIPS (cont.), assembly programs

HW2 (4)

 

F 1/18   

4  

(Discussion: Computer performance + HW1)

HW1 due

 

M 1/21 

 

No lecture: Martin Luther King Jr. Holiday

 

W 1/23  

8 ISA variations, CISC, RISC, URISC

HW3 (5-7)

 

F 1/25 5-8  (Discussion: Instruction sets + HW2) HW2 due  

M 1/28 

9

Number representation and basic adders

 

W 1/30   

10

Fast addition and multifunction ALUs

HW4 (8-10)

Important lecture

F 2/1 9-10 (Discussion: Number rep + addition + HW3) HW3 due  

M 2/4  

4-10   

1st midterm exam, in our regular classroom

 

 

W 2/6   

13   

Stages of instruction execution

 

Important lecture

F 2/8 4-10 (Discussion: 1st midterm exam + HW4) HW4 due  
M 2/11 14 Control unit synthesis   Important lecture
W 2/13 15 Pipelined data paths

HW5 (13-16)

Important lecture
F 2/15 13-14 (Discussion: Data path and control)     

M 2/18  

   

No Lecture: President's Day Holiday

W 2/20

16 

Pipeline performance limits

HW6 (15-16)

Important lecture

F 2/22   

15-16

(Discussion: Pipelining + HW5)

HW5 due

 

M 2/25   

13-16   

2nd midterm exam, in our regular classroom

 

 

W 2/27   

17, 19  

Main and mass  memory concepts

 

 

F 2/29

17, 19 

(Discussion: Memory system + HW6)

HW6 due  

M 3/3

18 

Cache memory

HW6 (17-20)

Very important lecture

W 3/5

20   

Virtual memory and paging

HW7 (17-20)

 

F 3/7

18, 20 

(Cache and virtual memory)

 

 

M 3/10 

21-22  

Input/output devices and programming

 

 

W 3/12 

23-24 

Buses, interfacing, and interrupts

 

Sample final handed out

F 3/14 21-24 (Discussion: I/O, buses, interrupts + HW7) HW6 due  
Sat 3/22

4-24

Final exam, 12:00-3:00 PM, HSSB 1174

 

 

Homework: General Requirements

Deposit solutions in ECE 154 homework box (Room 3120 HFH) before 9:00 AM on due date.

Because solutions will be handed out on the due date, no deadline extension can be granted.

Use a cover page that includes your name, course and assignment number for your solutions.

Staple the sheets and write your name on top of every sheet in case sheets are separated.

Although some cooperation is permitted, direct copying will have severe consequences.  

Take-home pretest: Prerequisites and probability (due F 1/11/2008, 9:00 AM)

This pretest, handed out in class on Monday 1/7/2008, provides you and the instructor with feedback about preparations for ECE 154. You should answer each question on a separate sheet, then staple everything together, using the question sheet as a cover page. The question sheet has a box in which you should make a unique mark or drawing that would allow you to recognize and retrieve your test paper. Papers will be graded anonymously, so please answer each question to the best of your ability, without help from any source, including TAs. To ensure that you are credited with handing in the pretest, attach a separate sheet with your name and Perm number (to be removed before grading). If you missed the first class, please ask the instructor or one of the TAs for the pretest and introductory course survey. Aggregate scores will be reported below after grading.

Homework 1: Logic design and computer technology (ch. 1-3, due F 1/18/2008, 9:00 AM)

Do the following problems from the textbook: 1.4b [20 pts], 1.17a [15 pts], 2.7ab [20 pts], 2.10 [20 pts], 3.8 [25 pts]

Homework 2: Computer performance (ch. 4, due F 1/25/2008, 9:00 AM)

Do the following problems from the textbook: 4.4 [15 pts], 4.8b [20 pts], 4.14 [20 pts], 4.15 [20 pts], 4.B, given below [25 pts]

Problem 4.B: RISC vs. CISC Performance --  A computer has class-A, class-B, and class-C instructions that take 0.5 ns, 1 ns, and 2 ns to execute, respectively. With single-cycle implementation (CPI = 1), the clock cycle must be set at 2 ns, yielding a CPU performance of 500 MIPS. Suppose that the execution of a particular set of programs involves the instruction mix: x class A, y class B, and 1 – x – y class C. It is possible to remove all class-B (class-C) instructions from the design, but each such instruction in our programs must then be replaced with an average of 2.5 (7.5) class-A instructions. (a) Derive the MIPS rating of a multicycle implementation for the original machine as a function of x and y. Assume that instruction execution stages can be divided, with no overhead, so that the pieces fit within a clock cycle of any given width. (b) Repeat part a for the new machine which has only class-A instructions. (c) Characterize an instruction mix for which the new machine would offer greater performance than the 500-MIPS single-cycle implementation.

Homework 3: Instructions and assembly language (ch. 5-7, due F 2/1/2008, 9:00 AM)

Do the following problems from the textbook: 5.10cd [15 pts], 5.15 [25 pts], 5.16b [15 pts], 6.1ab [10 pts], 6.3 [20 pts], 7.3abc [15 pts]

Homework 4: ISA variations and computer arithmetic (ch. 8-10, due F 2/8/2008, 9:00 AM)

Do the following problems from the textbook: 8.9 [20 pts], 9.1de [10 pts], 9.16abc [15 pts], 10.2 [20 pts], 10.6 [15 pts], 10.14a [20 pts]

Homework 5: Data path design and control unit (ch. 13-14 16, due F 2/22/2008, 9:00 AM)

Do the following problems from the textbook: 13.2c [10 pts], 13.11 [15 pts], 14.8 [20 pts], 15.1 [25 pts], 16.2 [15 pts], 16.11a [15 pts]

Homework 6: Memory system design (ch. 17-20, due F 3/14/2008, 9:00 AM)

The originally planned HW6, intended to cover chapters 15-16, was merged into HW5 to allow solutions to be provided and discussed before Midterm 2. The following (last homework assignment for the course) was HW7 in the syllabus distributed at the start of the winter term.

Do the following problems from the textbook: 17.5 [15 pts], 18.5bd [20 pts], 18.11 [20 pts], 19.4 [20 pts], 20.1b [10 pts], 20.12a [15 pts]

Suggested problems (ch. 21-24, for practice only, not to be turned in)

Do the following problems from the textbook: 21.8, 21.9 [Correction: Example 21.2 is intended], 22.1, 22.5, 22.9, 23.4, 24.2, 24.11

Grade stats

Pretest Grades -- Prob. 1: Range = [0, 100], Median = 50, Mean = 45, SD = 31; Prob. 2: Range = [0, 100], Median = 50, Mean = 52, SD = 24; Prob. 3: Range = [0, 100], Median = 50, Mean = 60, SD = 28; Prob. 4: Range = [0, 100], Median = 50, Mean = 44, SD = 29.

HW1 Grades: Range = [35, 99], Median = 85, Mean = 81, SD = 14

HW2 Grades: Range = [57, 100], Median = 77, Mean = 81, SD = 12

HW3 Grades: Range = [42, 93], Median = 85, Mean = 82, SD = 10

HW4 Grades: Range = [12, 100], Median = 75, Mean = 71, SD = 20

HW5 Grades: Range = [25, 100], Median = 83, Mean = 79, SD = 16

HW6 Grades: Range = [52, 93], Median = 75, Mean = 75, SD = 11

MT1 Grades: Range = [29, 87], Median = 60, Mean = 59, SD = 14

MT2 Grades: Range = [52, 98], Median = 78, Mean = 77, SD = 11

Final Exam Grades: Range = [27, 93], Median = 67, Mean = 66, SD = 13

Sample Midterm Exam

The following is meant to indicate the types and levels of problems in the midterm, rather than the coverage (which is outlined in the lecture schedule and below). This particular exam covered up to the end of Chapter 12 of the textbook and was 105 minutes long (our two midterms will be 75 minutes each). Table 6.2 of the text was appended to the end of the exam for reference in solving Problem 3.

Problem 1 [15 points]. Defining concepts and terms -- Define each of the following concepts/terms precisely and concisely within the space provided (about 1.5 inch per term) [3 points each]: Decoder; PC-relative addressing; Pseudoinstruction; Assembler directive; Directed rounding.

Problem 2 [25 points]. Amdahl's law -- Problem 4.16 in the text [part a, 15 points; part b, 10 points]

Problem 3 [20 points] Machine instructions -- Problem 7.3 in the text, parts d and g [10 points each]

Problem 4 [20 points] Multifunction ALU -- Consider the following multifunction ALU studied in class. Specify the control signal values that are needed for executing the following two instructions. [10 points each]  [Fig. 10.19 of the text goes here] (a) sll. (b) slt.

Problem 5 [20 points] Shift-add binary hardware multiplier -- In the following diagram of a radix-2 hardware multiplier, explain: [Fig. 11.4 of the text goes here] (a) [6 points] Why the register holding the multiplier y can be merged with the one holding the doublewidth partial product z(j). (b) [6 points] The role of the multiplexer. (c) [8 points] How separate cycles or phases for loading the doublewidth partial product register and shifting it to the right can be avoided.

Sample Final Exam

The following is meant to indicate the types and levels of problems in the final, rather than the coverage (which is outlined in the lecture schedule and below). This particular exam covered up to the end of Chapter 24 of the textbook and was 150 minutes long. The single midterm had included up to the end of Chapter 12 in the textbook.

Problem 1 [16 points]. Defining concepts and terms -- Define each of the following concepts/terms precisely and concisely within the space provided (about 1 inch per term) [2 points each]: Bus arbitration; Conflict miss; Delayed branch; Interrupt handler; Pseudoinstruction; Set-associative cache; TLB.

Problem 2 [15 points] Computer arithmetic -- Problem 11.10a in the text.

Problem 3 [12 points] Processor data path -- Problem 13.2b in the text.

Problem 4 [16 points] Control unit design -- The following diagram shows a microprogrammed implementation of control unit functions [Fig. 14.7 of the text goes here]. (a) Does this diagram represent a single-cycle or multicycle implementation? Why? (b) What are the roles of the dispatch ROMs? (c) How are the values of the "Sequence control" signals, that control the 4-input mux, decided? (d) Name and describe two of the control signals that go from the microinstruction register to the data path section (choose any two and describe their functions briefly).

Problem 5 [15 points] Pipelining -- In the following diagram, a pipelined data path for MicroMIPS and some of its controls are shown [Fig. 15.10 of the text goes here]. Explain the roles of: (a) The control signals that are stored in the bottom part of the pipeline registers. (b) The multiplexer that appears below the SE circle, next to the register file. (c) The multiplexer located above the program counter.

Problem 6 [16 points] Memory hierarchy -- Example 20.3 in the text.

Problem 7 [10 points] Input/Output -- Example 22.5 in the text.

Midterm and Final Exam Preparation

The following includes topics that will be emphasized, as well as list of exclusions from the midterm exams (Chapters 4-10 for midterm 1, Chapters 13-16 for midterm 2) and final exam (Chapters 4-24). All sections not specifically excluded are required, even if they are not covered in class.

Chapters 1-3 -- No direct problem or question, but you need to know (and be able to define) concepts such as tristate buffers, multiplexers, register files, and so on, used to explain the topics that follow.

Chapter 4 -- Computer performance: problem likely on CPI calculation, performance enhancement (Amdahl's law), instruction mix, and/or benchmarks.

Chapters 5-8 -- Instruction-set architecture: You do not need to memorize instruction codes or formats. Any problem in this area will be accompanied by a reference table providing a list of codes and formats if required. Ignore Sections 7.5, 7.6, and 8.4.

Chapters 9-10 -- Computer arithmetic: problem likely on 2's-complement numbers, number radix conversion, floating-point number formats, shift/logical operations (including distinction between arithmetic and logical shifts), adders and ALUs.

Chapters 13-14 -- Data path and control: problem very likely on control unit structure, control signal generation, multicycle instruction execution, and control state machine. Section 14.5 is excluded.

Chapter 15-16 -- Pipelining: problem very likely on pipeline bubbles (how to insert or avoid them), pipeline control, data hazards, data forwarding, control hazards, delayed branch, and/or branch prediction.

The following apply to the final exam, which will include material from the preceding chapters as well, but to a lesser degree.

Chapters 17-20 -- Memory hierarchy: problem very likely on the need for memory hierarchy, cache memory concepts (levels 1 and 2), miss/hit rate, average memory access time, compulsory/capacity/conflict misses, mapping schemes, virtual memory, page table, and/or TLB. Sections 17.5, 19.5, and 19.6 are excluded.

Chapters 21-24 -- Input/output and interfacing: problem possible on memory-mapped, polled, or interrupt-driven I/O, buses, and interrupts. Sections 21.5, 21.6, 22.6, 23.5, 23.6, 24.5, and 24.6 are excluded.

Chapters 25-28 -- Advanced architectures: no problem or question.  

Return to: Top of this page  ||  Go up to: B. Parhami's course syllabi or his home page

      


Dr. Behrooz Parhami, Professor Office phone: +1 805 893 3211
Dept. Electrical & Computer Engineering Departmental fax: +1 805 893 3262
University of California, Santa Barbara Office: Rm 5155 Harold Frank Hall
Santa Barbara, CA  93106-9560  USA Deliveries: Rm 4155 Harold Frank Hall
http://www.ece.ucsb.edu/~parhami/ E-mail: parhami at ece.ucsb.edu