Introduction to Computer Architecture

ECE 154A, Fall 2017

A.  Logistics

Instructor:                        Dmitri Strukov

Lectures:                          Tuesday, Thursday, 2:00 pm – 3:15 pm, Psychology 1902

Office hours:                    Tuesday, Thursday, 3:30 pm – 4:30 pm, Harold Frank Hall 5153

Required textbook:          Digital Design and Computer Architecture, David Harris and Sarah Harris, 2nd Ed., 2012

Recommended books:     (1) Computer Organization and Design: The Hardware/Software Interface, Patterson and Hennessy 4th Ed., 2009 (“P&H”)

(2) Computer Architecture: From Microprocessors to Supercomputers, Behrooz Parhami, 2005

Teaching Assistants:      

Ali Abbasinasab

Email:                              ali@eceDOTucsbDOTedu

Recitation and lab:          Friday, 11:00 am – 11:50 am, Phelps 3519

Office hours:                   Friday, 12:00 – 2:00 pm, CISL 

 

Michael Klachko

Email:                              michaelklachko@gmailDOTcom

Recitation and lab:           Friday, 10:00 am – 10:50 am, Phelps 3523

Office hours:                   Friday, 11:00 – 1:00 pm, CISL 

 

Xuan Wang

Email:                              xuanwang@umailDOTucsbDOTedu

Recitation and lab:           Friday, 9:00 am – 9:50 am, Phelps 3523

Office hours:                   Friday, 2:00 – 4:00 pm, CISL

 

B. Workload and Grading 

 

·         Projects (6 total)                     (30%)

·         HWs (6 total)                          (30%)

·         Midterms (2 total)                   (20%)

·         Final                                        (20%)

·         up to 3% extra for participation and attendance

 

Link to scoresheet [final scores]

 

C. Topics

Class logistics

Introduction

1. Digital building blocks     [~4 lectures, 1 homework]     

Arithmetic circuits slides:   1x, 3x with notes, 6x

Number systems slides (updated on 10/16):   1x, 3x with notes, 6x   

Memory and logic arrays:   1x, 3x with notes, 6x

 

2. Architecture and HW/SW interface [~4 lectures, 2 homeworks]         

Assembly and machine language slides:   1x, 3x with notes, 6x

Programming slides:   1x, 3x with notes, 6x

Addressing modes and program execution slides:  1x, 3x with notes, 6x 

Linked list vs array slides: 1x, 3x with notes, 6x

 

3. Microarchitecture [~6 lectures, 2 homeworks]

Single-cycle processor slides:   1x, 3x with notes, 6x

Multi-cycle (not pipelined) processor slides:   1x, 3x with notes, 6x

Pipelined processor slides:  1x, 3x with notes, 6x

Advanced concepts slides:  1x, 3x with notes, 6x  (to be covered at the end of class time permitted)

 

4. Memory systems [~4 lectures, 1 homework]

Memory cache slides: 1x, 3x with notes, 6x

Virtual memory slides: 1x, 3x with notes, 6x

I/O systems slides: 1x, 3x with notes, 6x

           

 

D. Tentative assignments and schedule

1)      Class schedule and reading (due beginning of class)

All reading assignments are from Harris and Harris book unless noted otherwise

Week #0:

-          September 28th:       Chapters 1-3 for pre-requisites material

Week #1:

-          October 3rd:               Chapter 5.1-5.2

-          October 5th:                Chapter 5.3, Optional reading: pages 242-258 from P&H

Week #2:

-          October 10th:              Chapter 5.4 - 5.6

-          October 12th:              Chapter 6.1 - 6.3   

Week #3:

-          October 17th:              Chapter 6.4 - 6.5   

-          October 19th:              Chapter 6.6 - 6.9

Week #4:

-          October 24th:              Midterm #1. The exam is open book / notes. Devices which allow access to the internet are not allowed. Previous year midterm with solutions. M#1 solutions

-          October 26th:              Chapter 7.1    

Week #5:

-          October 31st:             Chapter 7.2

-          November 2nd:           Chapter 7.3

Week #6:

-          November 7th:            Chapter 7.4.1    

-          November 9th:            Chapter 7.4.2.-7.4.4

Week #7:

-          November 14th:          Chapter 7.5.1-7.5.5

-          November 16th:          Chapter 7.7, Optional reading: Chapter 7.8 -7.9

Week #8:

-          November 21st:          Midterm #2. The exam is open book / notes. Devices which allow access to the internet are not allowed. Previous year midterm with solutions. M#2 solutions

-          November 23rd:          Holiday

Week #9:

-          November 28th:          Chapter 8.1-8.3

-          November 30th:          Additional material on caches: Sections 5.1 – 5.3 from P&H

Week #10:

-          December 5th:            Chapter 8.4 and section 5.4 from P&H    

-          December 7th:            Chapter 8.5 – 8.8

    

Final exam:  The exam will be open book / notes and will cover all topics discussed in class except for virtual memory.  Devices which allow access to the internet are not allowed.  Previous year exam with solutions.

 

2)      Lab assignments

Lab assignments can be performed in pairs, so find lab partner asap and, if needed, ask your TA for help with that. Doing it alone is also allowed.

-          Lab1 is due October 9th (Behavioral code would be sufficient to get full credit)

-          Lab2 is due October 20th. Skeleton codes: mult.s and div.s

-          Lab3 is due November 6th. Skeleton code: sort.s

-          Lab4 is due November 20th. Additional files for the lab: lab4.rar

-          Lab5 is due November 30th. Additional files for the lab: lab5.rar

-          Lab6 is due December 6th. Additional files for the lab: lab6.zip. If you are using 64-bit computer for lab #6 then use Makefile64bit instead, i.e. 1) delete Makefile and 2) rename Makefile64bit to Makefile

Lab reports should be submitted electronically to ucsb.ece.154a@gmail.com 

Additional materials for lab projects:

-          Tutorials on Verilog 1x, 4x, 6x, and 1x, 4x, 6x

-          MIPS32 simulator (“SPIM”):  (i)   software (ii)  documentation (iii)  Mac installation notes: SPIM_installation_mac.txt, exceptions.s

-          MIPSTER tool (very good free text editor for MIPS assembly language): software

-          Example of extracting vectors from a file in Verilog test bench (vectors.txt readfile.v)

-          Instructions to get ModelSim work on Mac: http://insights.sigasi.com/tech/tricking-your-mac-believing-it-can-run-modelsim.html

3)      HW assignments

All homeworks should be submitted to HW box at HFH 3rd floor.

-          HW1 is due 11:00 pm October 16th. Solutions

-          HW2 is due 11:00 pm October 23rd. Solutions

-          HW3 is due 11:00 pm November 1st. Solutions

-          HW4  is due 11:00 pm November 9th. Solutions

-          HW5  is due 11:00 pm November 28th. Solutions

-          HW6  is due 11:00 pm December 8th. Solutions

 

 

Last updated: December 19th, 2017