ECE 109 / CSCI 255 What’s next.

Slides:



Advertisements
Similar presentations
© 2006 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2006 Lecture 1 An Overview of High-Performance Computer Architecture ECE 463/521 Spring 2006.
Advertisements

Intel Multi-Core Technology. New Energy Efficiency by Parallel Processing – Multi cores in a single package – Second generation high k + metal gate 32nm.
Appendix B. Memory Hierarchy CSCI/ EENG – W01 Computer Architecture 1 Dr. Babak Beheshti Slides based on the PowerPoint Presentations created by.
Computer Organization and Architecture
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 19 - Pipelined.
Operating System Support Focus on Architecture
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 23 - Course.
Review CPSC 321 Andreas Klappenecker Announcements Tuesday, November 30, midterm exam.
Computer Organization and Architecture The CPU Structure.
CS 300 – Lecture 23 Intro to Computer Architecture / Assembly Language Virtual Memory Pipelining.
Computer Organization and Architecture
7/2/ _23 1 Pipelining ECE-445 Computer Organization Dr. Ron Hayne Electrical and Computer Engineering.
Virtual Memory Topics Virtual Memory Access Page Table, TLB Programming for locality Memory Mountain Revisited.
COMP25212 SYSTEM ARCHITECTURE Antoniu Pop Jan/Feb 2015COMP25212 Lecture 1.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Memory Hierarchy 2.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
CS364 CH08 Operating System Support TECH Computer Science Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management.
Computer Organization and Assembly language
CS 152 Computer Architecture and Engineering Lecture 23: Putting it all together: Intel Nehalem Krste Asanovic Electrical Engineering and Computer Sciences.
Computer performance.
Semiconductor Memory 1970 Fairchild Size of a single core –i.e. 1 bit of magnetic core storage Holds 256 bits Non-destructive read Much faster than core.
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Introduction CSE 410, Spring 2008 Computer Systems
CSE431 L22 TLBs.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 22. Virtual Memory Hardware Support Mary Jane Irwin (
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
What have mr aldred’s dirty clothes got to do with the cpu
Cosc 2150: Computer Organization Chapter 6, Part 2 Virtual Memory.
University of Washington Roadmap 1 car *c = malloc(sizeof(car)); c->miles = 100; c->gals = 17; float mpg = get_mpg(c); free(c); Car c = new Car(); c.setMiles(100);
10/27: Lecture Topics Survey results Current Architectural Trends Operating Systems Intro –What is an OS? –Issues in operating systems.
(1) ECE 3056: Architecture, Concurrency and Energy in Computation Lecture Notes by MKP and Sudhakar Yalamanchili Sudhakar Yalamanchili (Some small modifications.
COMP25212: System Architecture Lecturers Alasdair Rawsthorne Daniel Goodman
Hyper Threading (HT) and  OPs (Micro-Operations) Department of Computer Science Southern Illinois University Edwardsville Summer, 2015 Dr. Hiroshi Fujinoki.
1 How will execution time grow with SIZE? int array[SIZE]; int sum = 0; for (int i = 0 ; i < ; ++ i) { for (int j = 0 ; j < SIZE ; ++ j) { sum +=
Processor Level Parallelism. Improving the Pipeline Pipelined processor – Ideal speedup = num stages – Branches / conflicts mean limited returns after.
Paging (continued) & Caching CS-3013 A-term Paging (continued) & Caching CS-3013 Operating Systems A-term 2008 (Slides include materials from Modern.
ECE 15B Computer Organization Spring 2011 Dmitri Strukov Partially adapted from Computer Organization and Design, 4 th edition, Patterson and Hennessy,
Performance Tuning John Black CS 425 UNR, Fall 2000.
Chapter 5: Computer Systems Design and Organization Dr Mohamed Menacer Taibah University
Memory Hierarchy How to improve memory access. Outline Locality Structure of memory hierarchy Cache Virtual memory.
Lecture 17 Final Review Prof. Mike Schulte Computer Architecture ECE 201.
CS 1308 Exam 2 Review. Exam Format 110 Total Points 24 Points Short Answer 28 Points Fill in the Blank 16 Points T/F 36 Points Multiple Choice The above.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
CPU Design and Pipelining – Page 1CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: CPU Operations and Pipelining Reading:
Page 1 Computer Architecture and Organization 55:035 Final Exam Review Spring 2011.
Carnegie Mellon /18-243: Introduction to Computer Systems Instructors: Anthony Rowe and Gregory Kesden 27 th (and last) Lecture, 28 April 2011 Multi-Core.
Lecture 1: Introduction CprE 585 Advanced Computer Architecture, Fall 2004 Zhao Zhang.
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University.
PipeliningPipelining Computer Architecture (Fall 2006)
Introduction CSE 410, Spring 2005 Computer Systems
ECE232: Hardware Organization and Design
Computer Architecture
Visit for more Learning Resources
Roadmap C: Java: Assembly language: OS: Machine code: Computer system:
CSE 410, Spring 2006 Computer Systems
Part IV Data Path and Control
Chapter 8: Main Memory.
Part IV Data Path and Control
CSCI206 - Computer Organization & Programming
Central Processing Unit
COSC121: Computer Systems
Overview Prof. Eric Rotenberg
CS 286 Computer Organization and Architecture
Lecture 1 An Overview of High-Performance Computer Architecture
The University of Adelaide, School of Computer Science
Intel CPU for Desktop PC: Past, Present, Future
Chapter Contents 7.1 The Memory Hierarchy 7.2 Random Access Memory
Presentation transcript:

ECE 109 / CSCI 255 What’s next

Some gradable events CSCI 255 final lab meeting Assignment 6 Monday, May 6 for all CSCI 255 students With four simple what-does-this-do questions With the appropriate “cheat sheet” Assignment 6 Due Monday, May 6 No Homework 7 It will only distract from the LC-3

Exam 4 Logistics Tuesday, May 5, 1:00 to ~3:00 NCSU ECE 109 exam slot UNCA no class day In Robinson 217 Weighs equally with other 3 exams Planned for 75 minutes If there is a problem with this time, You should have emailed yesterday

Exam 4 topics Some old favorites One from each of the previous exams Short answers about computer architecture Why does a cache make a computer faster? Programming the LC-3

After this course I Digital logic (first third of course) Topics include Circuit optimization Data paths System building Verilog NCSU ECE 212 and UNCA CSCI 311 Generally in Spring

After this course II Assembly language programming Rest of Patt and Patel Function implementation Arrays Structures Realization of C NCSU ECE 209 Fall

After this course III Computer architecture How to build real computers That are fast And can support operating systems UNCA CSCI 320 and NCSU ECE 463 And a little of NCSU ECE 212 ECE 463 has ECE 406 as prerequisite The textbook Hennessey and Patterson, Computer Architecture

Virtual memory Wikipedia Program memory is not necessary RAM Allows programs to run on lots of computers Programs can also use the same address space Picture from Wikimedia Commons

Address translation Wikipedia Translates virtual to real Pentium paging In gory detail Power PC paging Too gory From Wikipedia Commons

TLB Translation Lookaside Buffer Didn’t the Pentium just get 3 times slower From Wikipedia Commons

Caching Wikipedia Keeping frequently accessed items nearby Examples Keys are kept on the kitchen table People on your phone contacts list Favorite music is on the top of the stack Comfortable shirt is in the closet Suit is in the basement Recently used web pages are kept on your disk

CPU cache Wikipedia Greatly improves system performance AMD Athlon 64 cache 64 byte cache lines From Wikipedia Commons

Pipelining Wikipedia Execute many instructions at once Efficient use of CPU resources Complicates the jobs of compiler designers Instructions goes through stages Some Pentiums had over 30 stages The less you do per stage The faster you can make the clock

Other common speedups Hyperthreading Multiple issues Data parallelism Two virtual “processors” on a chip Share some pipeline segments Multiple issues Start more than one instruction at a time Data parallelism Intel MMX Matrix Multiplication or Multi-Media Very useful in graphics applications Aka, gaming applications

Branch prediction Wikipedia Branches can “stall” the pipeline Speculative executive is necessary Forms of branch prediction Static prediction Predict backward branches taken Predict forward branches fail Dynamic prediction Pentium branch tables

How do they make it fast Use some math And common sense Gather lots of significant algorithms And simulate and simulate and simulate Listen to the compiler designers And make them listen to you Especially about the cache Same thing with the operating system designers In the long run two things matter SPEC Marketing