0% found this document useful (0 votes)
16 views12 pages

Lecture Slides 03 031-Intro-Isa

The document provides an overview of Instruction Set Architecture (ISA) and its significance in computer architecture, detailing the evolution of Intel x86 processors and their features. It discusses the translation of user programs from high-level languages like C to machine code, and the impact of ISA on program performance. Additionally, it highlights the differences between CISC and RISC architectures and mentions AMD's role in the x86 market.

Uploaded by

yihuangece
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views12 pages

Lecture Slides 03 031-Intro-Isa

The document provides an overview of Instruction Set Architecture (ISA) and its significance in computer architecture, detailing the evolution of Intel x86 processors and their features. It discusses the translation of user programs from high-level languages like C to machine code, and the impact of ISA on program performance. Additionally, it highlights the differences between CISC and RISC architectures and mentions AMD's role in the x86 market.

Uploaded by

yihuangece
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

University

 of  Washington  

Roadmap   Memory  &  data  


Integers  &  floats  
Machine  code  &  C  
C:   Java:  
x86  assembly  
car *c = malloc(sizeof(car)); Car c = new Car(); Procedures  &  stacks  
c->miles = 100; c.setMiles(100); Arrays  &  structs  
c->gals = 17; c.setGals(17);
float mpg = get_mpg(c); float mpg =
Memory  &  caches  
free(c); c.getMPG(); Processes  
Virtual  memory  
Assembly   get_mpg: Memory  allocaAon  
language:   pushq %rbp Java  vs.  C  
movq %rsp, %rbp
...
popq %rbp
ret
OS:  
Machine   0111010000011000
100011010000010000000010
code:   1000100111000010
110000011111101000011111

Computer  
system:  

IntroducAon  to  ISA  


University  of  Washington  

SecAon  3:  Basics  of  architecture,  machine  


programming  
¢ What  is  an  ISA  (InstrucAon  Set  Architecture)?  
¢ A  brief  history  of  Intel  processors  and  architectures  
¢ C,  assembly,  machine  code  
¢ x86  basics:  registers  

IntroducAon  to  ISA  


University  of  Washington  

TranslaAon  
Code  Time   Compile  Time   Run  Time  

User
program C Assembler Hardware
in C compiler

.c file .exe file

What  makes  programs  run  fast?  

IntroducAon  to  ISA  


University  of  Washington  

TranslaAon  Impacts  Performance  


¢ The  Ame  required  to  execute  a  program  depends  on:  
§ The  program  (as  wri(en  in  C,  for  instance)  
§ The  compiler:  what  set  of  assembler  instruc8ons  it  translates  the  C  
program  into  
§ The  instruc2on  set  architecture  (ISA):  what  set  of  instruc8ons  it  makes  
available  to  the  compiler  
§ The  hardware  implementa2on:  how  much  8me  it  takes  to  execute  an  
instruc8on  
 

IntroducAon  to  ISA  


University  of  Washington  

InstrucAon  Set  Architectures  


¢ The  ISA  defines:  
§ The  system’s  state  (e.g.  registers,  memory,  program  counter)  
§ The  instruc8ons  the  CPU  can  execute  
§ The  effect  that  each  of  these  instruc8ons  will  have  on  the  system  state  

CPU  
PC
Memory  
Registers

IntroducAon  to  ISA  


University  of  Washington  

General  ISA  Design  Decisions  


¢ InstrucAons  
§ What  instruc8ons  are  available?  What  do  they  do?  
§ How  are  they  encoded?  

¢ Registers  
§ How  many  registers  are  there?  
§ How  wide  are  they?  

¢ Memory  
§ How  do  you  specify  a  memory  loca8on?  

IntroducAon  to  ISA  


University  of  Washington  

x86  
¢ Processors  that  implement  the  x86  ISA  completely  dominate  
the  server,  desktop  and  laptop  markets  

¢ EvoluAonary  design  
§ Backwards  compa8ble  up  un8l  8086,  introduced  in  1978  
§ Added  more  features  as  8me  goes  on  

¢ Complex  instrucAon  set  computer  (CISC)  


§ Many  different  instruc8ons  with  many  different  formats  
§ But,  only  small  subset  encountered  with  Linux  programs  
§ (as  opposed  to  Reduced  Instruc8on  Set  Computers  (RISC),  which  use  
simpler  instruc8ons)  

IntroducAon  to  ISA  


University  of  Washington  

Intel  x86  EvoluAon:  Milestones  


 Name  Date  Transistors  MHz  
¢ 8086  1978  29K  5-­‐10  
§ First  16-­‐bit  processor.  Basis  for  IBM  PC  &  DOS  
§ 1MB  address  space  
¢ 386  1985  275K  16-­‐33    
§ First  32  bit  processor,  referred  to  as  IA32  
§ Added  “flat  addressing”  
§ Capable  of  running  Unix  
§ 32-­‐bit  Linux/gcc  targets  i386  by  default  
¢ PenAum  4F  2005  230M  2800-­‐3800  
§ First  64-­‐bit  Intel  x86  processor,  referred  to  as  x86-­‐64  

IntroducAon  to  ISA  


University  of  Washington  

Intel  x86  Processors  


¢ Machine  EvoluAon   Intel  Core  i7  
§ 486  1989  1.9M    
§ Pen8um  1993  3.1M  
§ Pen8um/MMX  1997  4.5M  
§ Pen8umPro  1995  6.5M  
§ Pen8um  III  1999  8.2M  
§ Pen8um  4  2001  42M  
§ Core  2  Duo  2006  291M  
§ Core  i7  2008  731M  
¢ Added  Features  
§ Instruc8ons  to  support  mul8media  opera8ons  
Parallel  opera8ons  on  1,  2,  and  4-­‐byte  data  
§
§ Instruc8ons  to  enable  more  efficient  condi8onal  opera8ons  
§ More  cores!  
IntroducAon  to  ISA  
University  of  Washington  

More  informaAon  
¢ References  for  Intel  processor  specificaAons:  
§ Intel’s  “automated  rela8onal  knowledgebase”:  
§h(p://ark.intel.com/  
§ Wikipedia:  
§ h(p://en.wikipedia.org/wiki/List_of_Intel_microprocessors  

IntroducAon  to  ISA  


University  of  Washington  

x86  Clones:  Advanced  Micro  Devices  (AMD)  


¢ Historically  
§ AMD  has  followed  just  behind  Intel  
§ A  li(le  bit  slower,  a  lot  cheaper  
¢ Then  
§ Recruited  top  circuit  designers  from  Digital  Equipment  and  other  
downward  trending  companies  
§ Built  Opteron:  tough  compe8tor  to  Pen8um  4  
§ Developed  x86-­‐64,  their  own  extension  of  x86  to  64  bits  

IntroducAon  to  ISA  


University  of  Washington  

Our  Coverage  
¢ IA32  
§ The  tradi8onal  x86  

¢ x86-­‐64  
§ The  emerging  standard  –  all  lab  assignments  use  x86-­‐64!  

IntroducAon  to  ISA  

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy