17
ECSE 425 Lecture 1: Course Introduc5on © 2011 Bre9 H. Meyer

ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

ECSE  425  Lecture  1:  Course  Introduc5on  

©  2011  Bre9  H.  Meyer  

Page 2: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

Staff  •  Instructor:  – Bre9  H.  Meyer,  Professor  of  ECE  – Email:  bre9  dot  meyer  at  mcgill.ca  – Phone:  514-­‐398-­‐4210  – Office:  McConnell  525  – OHs:  M  14h00-­‐15h00;  R  11h00-­‐12h00;  

       or,  by  appointment  

•  Teaching  Assistant:  – Alexandre  Raymond    – Email:  alexandre  dot  raymond  at  mail.mcgill.ca    

©  2011  B.  H.  Meyer   2  ECSE  425,  Fall  2011,  Lecture  1    

Page 3: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

What  ECSE  425  is  •  A  course  on  the  architecture  of  modern,  high-­‐performance  computers  

•  What  is  computer  architecture?  – The  art  and  science  of  selec5ng  and  interconnec5ng  hardware  components  to  create  a  computer  that  sa5sfies  applica5on  requirements  

•  What  we’ll  learn  – How  to  organize  a  processor  for  performance    – How  other  constraints  (e.g.,  cost,  power,  etc.)  influence  computer  design  

– How  to  judge  the  resul5ng  trade-­‐offs  quan%ta%vely  

©  2011  B.  H.  Meyer   3  ECSE  425,  Fall  2011,  Lecture  1    

Page 4: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

What  ECSE  425  isn’t  

©  2011  B.  H.  Meyer   4  ECSE  425,  Fall  2011,  Lecture  1     [Credit:  xkcd.com]  

Page 5: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

Why  is  Architecture  Interes5ng?  •  Comp.  architecture  is  the  heart  of  comp.  engineering  

•  Bigger,  stronger,  faster!  – Semiconductor  industry  relies  on  constant  improvement  

– Architects  must  take  growing  resources  and  deliver!  

•  Clever  design  and  organiza5on  

•  Remarkable  insights  and  algorithms  

©  2011  B.  H.  Meyer  

[Source:  Sun;  IBM]  

UltraSPARC  T2,  64  threads,  342  mm2  

Power7,  32  threads,  576  mm2   5  ECSE  425,  Fall  2011,  Lecture  1    

Page 6: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

Why  is  Architecture  Challenging?  •  Constraints  conspire  to  make  con5nual  improvement  difficult  –  Cost:  can’t  just  make  chips  bigger  –  Power:  can’t  just  make  chips  do  more  in  the  same  5me  

–  Reliability:  must  ensure  chips  do  things  right  

•  The  effects  of  new  architectural  features  are  complex  

•  Evalua5on  is  complex,  too!  •  A  good  idea  isn’t  enough:  –  Implementable?  – Used  enough  to  change  metrics?  

©  2011  B.  H.  Meyer  

[Source:  IBM;  AnandTech]  

6  ECSE  425,  Fall  2011,  Lecture  1    

Page 7: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

In  This  Course  

•  Fundamentals  of  computer  design  •  Pipelining  •  Instruc5on-­‐level  parallelism  (ILP)  

•  Memory  hierarchy  

•  Mul5processor  architecture  and  thread-­‐level  parallelism  (TLP)  

©  2011  B.  H.  Meyer  

Material  based  on  H&P,  4th  edi%on  7  ECSE  425,  Fall  2011,  Lecture  1    

Page 8: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

Grading  

•  6  homework  assignments  (10%)  – Pencil  and  paper,  some  programming  

•  1  project  (30%)  – Evaluate  architectural  effects  using  SimpleScalar  – Significant  C/C++  programming  

•  2  midterm  exams  (30%)  –  In  class,  closed  book,  1  page  of  notes  allowed  

•  1  final  exam  (30%)  – Closed  book,  2  pages  of  notes  allowed  

©  2011  B.  H.  Meyer   8  ECSE  425,  Fall  2011,  Lecture  1    

Page 9: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

Homework  

•  Distributed  on  the  course  website  – h9p://www.info425.ece.mcgill.ca  

•  Due  at  the  beginning  of  class  •  No  credit  for  late  work!  – Without  prior  permission,  of  course  – And  …  

©  2011  B.  H.  Meyer   9  ECSE  425,  Fall  2011,  Lecture  1    

Page 10: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

Project  

•  Simulate  the  effect  of  architectural  changes  to  a  superscalar,  out-­‐of-­‐order  processor  

•  Simula5on  framework  – SimpleScalar  – Wri9en  in  C  

– Evalua5on  using  real  benchmarks  

•  Work  in  pairs;  consider  early  who  to  work  with!  

•  Proposal  ⇒  Implementa5on  ⇒  Evalua5on  ⇒  Presenta5on  ⇒  Report  

©  2011  B.  H.  Meyer   10  ECSE  425,  Fall  2011,  Lecture  1    

Page 11: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

Historical  perspec5ves  on  processors  •  Late  1970s:  “Birth  of  microprocessor”  –  Single-­‐chip  processor,  programmable  controllers  

•  The  decade  of  1980s:  “Instruc%on  set  architecture”  –  RISC  (Reduced  Instruc5on  Set  Computer)  –  Instruc5on  pipelining,  cache  memories,  compliers  – Worksta5ons  

•  The  decade  of  1990s:  “Instruc%on  level  parallelism”  –  Superscalar,  specula5ve  micro-­‐architectures  –  Low-­‐cost  desktop  (super)computers  

•  The  decade  of  2000s:  “Mul%-­‐core  era”  – Mul5-­‐core  architectures,  power  constrained  designs  – Mobile/portable  compu5ng,  large  servers  /  data  centers  

Source:  Stanford  EE382a  course  slides  by  Prof.  Christos  Kozyrakis  ©  2011  B.  H.  Meyer   11  ECSE  425,  Fall  2011,  Lecture  1    

Page 12: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

Fundamentals  of  Computer  Design  •  Three  principles  – Make  the  common  case  fast  (Amdahl’s  law)  – Exploit  parallelism  (at  all  levels)  – Exploit  locality  (caches  /  memory  hierarchy)  

•  How  should  performance  be  measured?  •  What  other  factors  affect  an  architecture?  – Latency  – Cost  – Power  – Reliability  

©  2011  B.  H.  Meyer   12  ECSE  425,  Fall  2011,  Lecture  1    

Page 13: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

Pipelining  

•  Just  like  an  assembly  line  •  Ideally:  one  instruc5on  per  clock  cycle  

©  2011  B.  H.  Meyer  

Reality:  overheads;  hazards,  dependencies  ⇒  stalls!  13  ECSE  425,  Fall  2011,  Lecture  1    

Page 14: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

Instruc5on-­‐Level  Parallelism  (ILP)  

•  Goal:  exploit  instruc5on  independence  to  improve  performance  

•  Challenge:  hazards,  dependencies  ⇒  stalls  

•  Branch  predic5on:  guess  which  execu5on  path  •  Instruc5on  scheduling:  reorder  instruc5ons  •  Specula5ve  instruc5on  execu5on  •  Superscalar  instruc5on  execu5on:  allow  more  than  one  instruc5on  to  complete  at  a  5me  

©  2011  B.  H.  Meyer   14  ECSE  425,  Fall  2011,  Lecture  1    

Page 15: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

Memory  Hierarchy  

•  Maintaining  the  illusion  of  fast,  infinite  memory  •  Mul5ple-­‐level  memory  system  

•  Cache  performance  and  op5miza5on  – Size,  internal  organiza5on,  behavior,  etc.  

•  Virtual  memory  organiza5on  

©  2011  B.  H.  Meyer   15  ECSE  425,  Fall  2011,  Lecture  1    

Page 16: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

Mul5processor  Architecture  •  ILP  has  limits;  boost  performance  with  thread-­‐level  parallelism!  (TLP)  

•  Mul5ple-­‐instruc5on,  mul5ple-­‐data  machines  (MIMD)  – Concurrently  execute  mul5ple  threads  in  parallel  – New  overheads:  communica5on,  synchroniza5on  

•  Two  classes  (physical  memory  structure)  – centralized  memory  mul5processors  – physically  distributed-­‐memory  mul5processors  

•  Two  models  (memory  architecture  and  communica5ons)  – shared  memory  mul5processors  – message-­‐passing  mul5processors  

©  2011  B.  H.  Meyer   16  ECSE  425,  Fall  2011,  Lecture  1    

Page 17: ECSE$425$Lecture$1:$ Course$Introduc5on$ · WhatECSE$425$isn’t ECSE$425,$Fall$2011,$Lecture$1$$ ©$2011$B.$H.$Meyer$ [Credit:$xkcd.com] 4

Next  Time  

•  Fundamentals  of  Computer  Design  – Read  Chapter  1!  

•  No  class  Monday  

•  First  homework  out  on  Wednesday  

•  First  tutorial  the  end  of  next  week  

©  2011  B.  H.  Meyer   17  ECSE  425,  Fall  2011,  Lecture  1