1 / 23

CS161 – Design and Architecture of Computer Systems

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.

rubene
Télécharger la présentation

CS161 – Design and Architecture of Computer Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Welcome!

  3. 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

  4. About TA • Marcus Chow • UC Riverside, CA • PhD Computer Science ’16--present • MSc Computer Science ’18 • UC Merced, CA • BSc Computer Science ’16

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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.

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. Proof? Spring 2018

  16. Proof? Winter 2019

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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%

  22. 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

  23. 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

More Related