230 likes | 242 Views
Learn about computer architecture and how to design hardware and software interfaces to create efficient computing systems. Explore topics such as hardware organization, logic gates, memory hierarchy, and processor components.
E N D
CS161 – Design and Architecture of Computer Systems Spring 2019 Hodjat Asghari Esfeden, Ph.D. Candidate Department of Computer Science and Engineering, hodjat.asghariesfeden@email.ucr.edu, WCH 459
About me • Born and raised in Iran • UC Riverside, CA • PhD Computer Science ’15--present • MSc Computer Science ’17 • Sharif University of Technology, Tehran, Iran • BSc Computer Engineering ’15
About TA • Marcus Chow • UC Riverside, CA • PhD Computer Science ’16--present • MSc Computer Science ’18 • UC Merced, CA • BSc Computer Science ’16
Your turn • Who you are? • Homework 0 (absolutely required) • Your opportunity to tell us about yourself • Due this Thursday, April 4th (midnight) • It’s online on the class website (hodjat.me/teaching/cs161-s19) • Sign up & submit via Piazza (https://piazza.com/ucr/winter2019/cs161) • All grading predicated on receipt of Homework 0
What is Computer Architecture? • Hardware organization of computers • how to build computers • Layered view of computer systems • Role of the computer architect: • To make design trade-offs across the hw/sw interface to meet functional, performance and cost requirements
So, I hope you are here for: “C” as a model of computation Software • How does an assembly program end up executing as digital logic? • What happens in-between? • How is a computer designed using logic gates and wires to satisfy specific goals? Programmer’s view of how a computer system works Architect/microarchitect’s view: How to design a computer that meets system design goals. Choices critically affect both the SW programmer and the HW designer HW designer’s view of how a computer system works Hardware Digital logic as a model of computation
An example: Multi-Core Systems Multi-Core Chip CORE 0 CORE 1 L2 CACHE 1 L2 CACHE 0 SHARED L3 CACHE DRAM INTERFACE DRAM BANKS DRAM MEMORY CONTROLLER CORE 3 L2 CACHE 2 L2 CACHE 3 CORE 2 *Die photo credit: AMD Barcelona
Why Computer Architecture? • Again, Computer architecture is the science and art of designing, selecting, and interconnecting hardware components and designing the hardware/software interface to create a computing system that meets functional, performance, energy consumption, cost, and other specific goals.
Why Computer Architecture? • Computer Architecture is the glue that binds software and hardware • Enable better systems: make computers faster, cheaper, smaller, more reliable, … • By exploiting advances and changes in underlying technology/circuits • Enable better solutions to problems • Software innovation is built into trends and changes in computer architecture • Understand why computers work the way they do
CS161 Goal • Teach/enable/empower you to: • Understand how a computing platform (processor + memory + interconnect) works • Familiarity with processor components(pipeline, caches, registers, etc. ) • Understand how decisions made in hardware affect the software/programmer as well as hardware designer
CS161 Goal (cont’d) • Teach/enable/empower you to: • Think critically (in solving problems) • Understand how to analyze and make tradeoffs in design • Provide foundation for further comp arch courses • CS162 – Computer Architecture • CS203 – Advanced Computer Architecture • EE147 – GPU Programming • CS/EE 217 – GPU Architecture
Topics Covered • Prerequisite: CS/EE 120A • Background • Quantifying Performance, Technology Trends, … • Instruction Set Architecture (ISA) • CPU Design • Single cycle, Multi cycle • Processor Pipelining • 5-stage pipeline • Memory hierarchy • Memory, Cache, Virtual Memory
Logistics • Course Website • www.hodjat.me/teaching/cs161-s19/ • Check often for announcements • Assignments/Projects • Course website & iLearn (iLearn.ucr.edu) • Discussion/Help • Piazza(https://piazza.com/ucr/spring2019/cs161/home) • Don’t be afraid of asking questions, I will appreciate your curiosity • “S/He who asks a question remains a fool for five minutes. S/He who does not ask remains a fool forever” • There is a <15 minutes guarantee for the response time
Proof? Spring 2018
Proof? Winter 2019
Lecture and discussion location, times • Lectures: • MWF 8:10-9:00am @ Sproul Hall 1340 • Some days, we may have recitation sessions • Discussion sessions: • Tuesday 2:10-3:00pm @ Pierce Hall 3374 • Thursday 4:10-5:00am @ Life Sciences 2418 • Goals: to enhance your understanding of the lecture material and help you with the homeworks and exams
Tentative course schedule • Tentative schedule is posted in the class website • But don’t believe the “static” schedule • Systems that perform best are usually dynamically scheduled • Static vs. Dynamic scheduling
A note on HW vs. SW • This course is classified under “Computer Hardware” • However, you will be much more capable if you master both hardware and software (and the interface between them) • Can develop better software if you understand the underlying hardware • Can design better hardware if you understand what software it will execute • Can design a better computing system if you understand both • This course covers the HW/SW interface and microarchitecture • We will focus on tradeoffs and how they affect software
A Note on Books • None required • But, I expect you to be resourceful in finding and doing the assignments… • (Optional) Computer Organization and Design, 5th EditionBy Patterson and Hennessy
Attendance/Grading • Attendance • You are expected to attend all lectures and discussion. • Some slides only make sense in lecture. • Grade Breakdown • Homework: 20% • Quizzes: 10% • Midterm: 35% • Final: 35% • Participation: 5%
Assignment Policies • 10% penalty per late day • If it’s one minute late, it’s still late • No extensions will be given • Assignments: hardcopy of your assignment should be turned in in the class
Contact • Instructor: Hodjat Asghari Esfeden • Email: hodjat.asghariesfeden@email.ucr.edu • Homepage: http://hodjat.me • Office: WCH 459 • Office Hours: TBD or by appointment • TA: Marcus Chow • Email: mchow009@ucr.edu • Homepage: https://www.cs.ucr.edu/~mchow009/ • Office Hours: TBD or by appointment