lecture05 datapath design - university of maryland...lecture05_datapath_design.pptx author: anwar...

11
2/19/15 1 Single Cycle Datapath Design 1 Datapath design steps Analyze ISA, Obtain datapath requirements Select modules for datapath Connect the modules and build and datapath Generate control signals for each instrucDon Combine control signals, create control logic 2

Upload: others

Post on 05-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: lecture05 Datapath Design - University Of Maryland...lecture05_Datapath_Design.pptx Author: Anwar Mamat Created Date: 2/19/2015 10:00:31 PM

2/19/15  

1  

Single  Cycle  Datapath  Design      

1  

Datapath  design  steps  

•  Analyze  ISA,  Obtain  datapath  requirements  •  Select  modules  for  datapath  •  Connect  the  modules  and  build  and  datapath  •  Generate  control  signals  for  each  instrucDon  •  Combine  control  signals,  create  control  logic  

2  

Page 2: lecture05 Datapath Design - University Of Maryland...lecture05_Datapath_Design.pptx Author: Anwar Mamat Created Date: 2/19/2015 10:00:31 PM

2/19/15  

2  

MIPS  Instruc6ons  (1)  •  Unsigned  addi6on  and  Subtrac6on  

•  Format  

•  Opera6on  

3  

MIPS  Instruc6ons  (2)  •  Immediate  type  instruc6on  

•  Opera6on  

•  Format  

4  

Page 3: lecture05 Datapath Design - University Of Maryland...lecture05_Datapath_Design.pptx Author: Anwar Mamat Created Date: 2/19/2015 10:00:31 PM

2/19/15  

3  

Hardware  components  

•  ALU  –  OperaDons:  add,  sub,  compare  etc  –  Operands:  Two  32-­‐bit  numbers  from  

registers  or  extended  immediate  number  

•  Immediate  number  extender    •  Program  Counter  

–  One  32-­‐bit  register  –  Add  4  or  an  immediate  number  

5  

Hardware  components  

•  Register  File  –  32  32-­‐bit  register  –  Read  rs,  rt    –  Write  rt,  rd  

•  Memory  –  Read  only  InstrucDons  memory,  32-­‐bit  address  –  Data  memory,  read&write,  32-­‐bit  address    

 •  Program  Counter  

–  One  32-­‐bit  register  –  Add  4  or  an  immediate  number  

6  

Page 4: lecture05 Datapath Design - University Of Maryland...lecture05_Datapath_Design.pptx Author: Anwar Mamat Created Date: 2/19/2015 10:00:31 PM

2/19/15  

4  

Register  File  

•  OrganizaDon  –  32  32-­‐bit  registers  

•  Data  Ports  –  busA,busB:  Two  32-­‐bit  data  output  –  busW:  one  32-­‐bit  data  input  

•  Read/Write  Control  –  Ra(5-­‐bit):  select  the  register,  copy  content  to  busA  –  Rb(5-­‐bit):  select  the  register,  copy  content  to  busb  –  Rw(5-­‐bit):  select  the  register,    at  clock  (clk)  rising  edge,    if  writeEnable==1,  write  the  

content  of  busW  to  selected  register    

7  

Memory  

•  Data  Port  – Data  In:  32-­‐bit  data  input  – Data-­‐out:  32-­‐bit  data  output  

•  Read/Write  Control  – Address:  32-­‐bit  address  signal.  Send  the  specified  memory  content  to  data-­‐out  

– Write-­‐Enable:  at  clock  rising  edge,  if  write-­‐enable  is  set,  writes  data-­‐in  content  to  specified  address  

8  

Page 5: lecture05 Datapath Design - University Of Maryland...lecture05_Datapath_Design.pptx Author: Anwar Mamat Created Date: 2/19/2015 10:00:31 PM

2/19/15  

5  

Instruc6on  Requirements  

•  Fetch  Instruc6on  –  PC:  instrucDon  address  –  Fetch  instrucDon  using  PC  

specified  address    •  Update  PC  

–  SequenDal    •  PC  =  PC  +  4  

–  Branch  •  PC=Branch  Target  address  

9  

Instruc6on  Requirements  

•  Fetch  Instruc6on  –  PC:  instrucDon  address  –  Fetch  instrucDon  using  PC  

specified  address    •  Update  PC  

–  SequenDal    •  PC  =  PC  +  4  

–  Branch  •  PC=Branch  Target  address  

10  

Page 6: lecture05 Datapath Design - University Of Maryland...lecture05_Datapath_Design.pptx Author: Anwar Mamat Created Date: 2/19/2015 10:00:31 PM

2/19/15  

6  

Instruc6on  Requirements  

•  Fetch  Instruc6on  –  PC:  instrucDon  address  –  Fetch  instrucDon  using  PC  

specified  address    •  Update  PC  

–  SequenDal    •  PC  =  PC  +  4  

–  Branch  •  PC=Branch  Target  address  

11  

Instruc6on  Requirements  

•  Fetch  Instruc6on  –  PC:  instrucDon  address  –  Fetch  instrucDon  using  PC  

specified  address    •  Update  PC  

–  SequenDal    •  PC  =  PC  +  4  

–  Branch  •  PC=Branch  Target  address  

12  

Page 7: lecture05 Datapath Design - University Of Maryland...lecture05_Datapath_Design.pptx Author: Anwar Mamat Created Date: 2/19/2015 10:00:31 PM

2/19/15  

7  

Add,  Sub  Requirements    

Decoder  generate  RegWr,  ALUCtr  control  signals    

13  

ori  Requirements    

•  Des6na6on  is  rt,  not  rd  •  ALU  input  is  immediate  number  •  Immediate  number  is  16-­‐bit  

 

14  

Page 8: lecture05 Datapath Design - University Of Maryland...lecture05_Datapath_Design.pptx Author: Anwar Mamat Created Date: 2/19/2015 10:00:31 PM

2/19/15  

8  

ori  Requirements    

Solu6on:  Add  two  mul6plexer  

•  Des6na6on  is  rt,  not  rd  •  ALU  input  is  immediate  number  •  Immediate  number  is  16-­‐bit  

 

15  

•  Load  and  Store  a  word  (32-­‐bit)  

•  Format  

•  OperaDon  

MIPS  Instruc6ons  (3)  

16  

Page 9: lecture05 Datapath Design - University Of Maryland...lecture05_Datapath_Design.pptx Author: Anwar Mamat Created Date: 2/19/2015 10:00:31 PM

2/19/15  

9  

Load  Instruc6on  Requirements  

•  How  to  sign  extend?  •  Load  data  from  where?  

17  

Load  Instruc6on  Requirements  

•  ZeroExtender  •  -­‐>  Extender  •  Add  memory  

18  

Page 10: lecture05 Datapath Design - University Of Maryland...lecture05_Datapath_Design.pptx Author: Anwar Mamat Created Date: 2/19/2015 10:00:31 PM

2/19/15  

10  

Store  Instruc6on  Requirements  

19  

So  far  we  have  

20  

Page 11: lecture05 Datapath Design - University Of Maryland...lecture05_Datapath_Design.pptx Author: Anwar Mamat Created Date: 2/19/2015 10:00:31 PM

2/19/15  

11  

Datapath  design  steps  

•  Analyze  ISA,  Obtain  datapath  requirements  •  Select  modules  for  datapath      •  Connect  the  modules  and  build  and  datapath  •  Generate  control  signals  for  each  instrucDon  •  Combine  control  signals,  create  control  logic  

21