1 / 68

Les 8: Datapad & Controle

Les 8: Datapad & Controle. “A man with a watch knows what time it is. A man with two watches is never sure.” Wet van Segal. Inhoud. Sequentiële logica Het datapad Een-cyclus-per-instructiemachine Meer-cycli-per-instructiemachine Microcodering RISC vs. CISC. s 1. …. s n. klok.

latif
Download Presentation

Les 8: Datapad & Controle

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. Les 8: Datapad & Controle “A man with a watch knows what time it is. A man with two watches is never sure.” Wet van Segal.

  2. Inhoud • Sequentiële logica • Het datapad • Een-cyclus-per-instructiemachine • Meer-cycli-per-instructiemachine • Microcodering • RISC vs. CISC

  3. s1 … sn klok Sequentiële logica i1 f1 Combinatorische functie … … ik fm

  4.  S-R Latch (NOR) S S Q R Q R Q A B A+B 0 0 1 0 1 0 1 0 0 1 1 0 Q

  5. S-R Latch Qt S R Qt+1 S 0 0 0 0 0 0 1 0 01 01 01 1- 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 - Q Q R

  6.  S-R Latch (NAND) S S Q R Q R Q A B AB 0 0 1 0 1 1 1 0 1 1 1 0 Q

  7. Geklokte S-R Latch S Q clk Q R

  8. D-Latch D Q clk Q D Q C Q

  9. D-Latch D C Q

  10. Q1 D1 s1 … Qn Dn sn klok Sequentiële logica i1 f1 Combinatorische functie … … ik fm

  11. D Q Q Master-Slave D-Latch(D-Flip Flop) D Q D Q C Q C Q Flip-flop: D

  12. D-Flip-Flop D C Q setup-tijd hold tijd

  13. Qt J K Qt+1 0 0 0 0 0 0 1 0 01 01 01 11 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 J-K Flip-Flop J Q K Q J S Q R Q K Flip-flop: JK

  14. Q T Q T Flip-Flop 1 S Q clk R Q 1 Flip-flop: T

  15. Register a31 a0 d31 d30 a30 d0 clk D Q D Q D Q Q Q Q w

  16. clk Registerbestand w Reg 1 Reg 0 Reg 1 d Dout1 decoder Reg 2 Multiplexer 1 … Din Reg 2 Reg n-1 1 schrijfpoort 2 leespoorten Dout2 Multiplexer 2

  17. Inhoud • Sequentiële logica • Het datapad • Een-cyclus-per-instructiemachine • Meer-cycli-per-instructiemachine • Microcodering • RISC vs. CISC

  18. BUS Von Neumann-machineFysiek zicht BUS adres adres CVE Controle controle cache data data klok klok controle controle ALU ALU registers registers Geheugen Geheugen:bau-cellen RAM Invoer/Uitvoer Invoer/Uitvoer

  19. De klok http://smoothspan.wordpress.com/2007/09/06/a-picture-of-the-multicore-crisis/

  20. Voorbeelden

  21. Processor Data-geheugen Datapad Controle-eenheid Instructie-geheugen

  22. Laden van een instructie + 4 PC geheugen leesadres instructie

  23. ALU-instructie: RRR Alu regW ra Register- bestand rb rd Din b.v. : add r1, r2, r3

  24. ALU-instructie: RRI Alu regW ra Register- bestand rb rd Din letterlijke operand b.v. : addi r1, 10, r3

  25. MEM-instructie MemW MemR add ra Register- bestand rb geheugen rd Din regW offset b.v. : ld r1, 10(r3)

  26. controletransferinstructie cmpge ra Register- bestand conditie 1 0 0 4 add b.v.: brge r1,16(pc) PC + Offset

  27. Inhoud • Sequentiële logica • Het datapad • Een cyclus-per-instructiemachine • Meer cycli-per-instructiemachine • Microcodering • RISC vs. CISC

  28. Eén cyclus-per-instructiemachine 0 Cmp Data geheugen 4 + instructie- geheugen ra PC Register- bestand rb 0 S1 rd decoder Res Alu Din MemW MemR offset S2 RegW PC Controle-eenheid

  29. Controletabel RegW S1 MemR PC S2 Alu MemW Res Cmp add 0 1 1 0 001 xxx 0 0 1 addi 0 1 1 1 001 xxx 0 0 1 load 0 1 1 1 001 xxx 0 1 0 store 0 0 1 1 001 xxx 1 0 x jump 1 0 0 1 001 111 0 0 1 brge 1 0 0 1 001 110 0 0 1

  30. 0110001xxx001 0111001xxx001 0111001xxx010 0011001xxx10x 1001001111001 1001001110001 Controle Add 000 Addi 001 Load 010 Store 011 Jump 100 Brge 101

  31. Inhoud • Sequentiële logica • Het datapad • Een-cyclus-per-instructiemachine • Meer-cycli-per-instructiemachine • Microcodering • RISC vs. CISC

  32. Meer-cycli-per-instructiemachine ra 0 PC IR Register- bestand geheugen rb A R S1 rd decoder B LMDR Din 4 PCSrc offset Alu S2 PCW Mar MemR RegW MemW IRW C cond Controle-eenheid

  33. Instructie: eerste cyclus ra 0 PC IR Register- bestand geheugen rb A R S1 rd decoder B LMDR Din 4 PCSrc offset Alu S2 PCW Mar MemR RegW MemW IRW C Cond Mar=0 MemR=1 IRW=1 S1=0 S2=1 Alu=add PCSrc=1 Cond=0, PCW=1

  34. Instructie: tweede cyclus ra 0 PC IR Register- bestand geheugen rb A R S1 rd decoder B LMDR Din 4 PCSrc offset Alu S2 PCW Mar MemR RegW MemW IRW C Cond S1=0 S2=2 Alu=add

  35. ADD: derde cyclus ra 0 PC IR Register- bestand geheugen rb A R S1 rd decoder B LMDR Din 4 PCSrc offset Alu S2 PCW Mar MemR RegW MemW IRW C Cond S1=2 S2=0 Alu=add

  36. ADDI: derde cyclus ra 0 PC IR Register- bestand geheugen rb A R S1 rd decoder B LMDR Din 4 PCSrc offset Alu S2 PCW Mar MemR RegW MemW IRW C Cond S1=2 S2=2 Alu=add

  37. ADD/ADDI: vierde cyclus ra 0 PC IR Register- bestand geheugen rb A R S1 rd decoder B LMDR Din 4 PCSrc offset Alu S2 PCW Mar MemR RegW MemW IRW C Cond C=1 RegW=1

  38. LOAD/STORE: derde cyclus ra 0 PC IR Register- bestand geheugen rb A R S1 rd decoder B LMDR Din 4 PCSrc offset Alu S2 PCW Mar MemR RegW MemW IRW C Cond S1=2 S2=2 Alu=add

  39. STORE: vierde cyclus ra 0 PC IR Register- bestand geheugen rb A R S1 rd decoder B LMDR Din 4 PCSrc offset Alu S2 PCW Mar MemR RegW MemW IRW C Cond Mar=1 MemW=1

  40. LOAD: vierde cyclus ra 0 PC IR Register- bestand geheugen rb A R S1 rd decoder B LMDR Din 4 PCSrc offset Alu S2 PCW Mar MemR RegW MemW IRW C Cond Mar=1 MemR=1

  41. LOAD: vijfde cyclus ra 0 PC IR Register- bestand geheugen rb A R S1 rd decoder B LMDR Din 4 PCSrc offset Alu S2 PCW Mar MemR RegW MemW IRW C Cond C=0 RegW=1

  42. JUMP: derde cyclus ra 0 PC IR Register- bestand geheugen rb A R S1 rd decoder B LMDR Din 4 PCSrc offset Alu S2 PCW Mar MemR RegW MemW IRW C Cond PCSrc=0 PCW=1 Cond=0

  43. BRGE: derde cyclus ra 0 PC IR Register- bestand geheugen rb A R S1 rd decoder B LMDR Din 4 PCSrc offset Alu S2 PCW Mar MemR RegW MemW IRW C Cond S1=1 S2=0 Alu=cmpge PCSrc=0 PCW=1 Cond=1

  44. Samenvatting controlesignalen Mar=0 MemR=1 IRW=1 S1=0 S2=1 Alu=add PCSrc=1 Cond=0, PCW=1 Cyclus 1 S1=0 S2=2 Alu=add Cyclus 2 S1=2 S2=0 Alu=add S1=2 S2=2 Alu=add S1=2 S2=2 Alu=add PCSrc=0 PCW=1 Cond=0 S1=1 S2=0 Alu=cmpge PCSrc=0 PCW=1 Cond=1 Cyclus 3 C=1 RegW=1 Mar=1 MemW=1 Mar=1 MemR=1 Cyclus 4 C=0 RegW=1 Cyclus 5

  45. Samenvatting controlesignalen 0 1 Mar=0 MemR=1 IRW=1 S1=0 S2=1 Alu=add PCSrc=1 Cond=0, PCW=1 S1=0 S2=2 Alu=add Load/store brge 10 S1=1 S2=0 Alu=cmpge PCSrc=0 PCW=1 Cond=1 addi 5 add S1=2 S2=2 Alu=add 2 3 S1=2 S2=0 Alu=add S1=2 S2=2 Alu=add load jump store 6 7 Mar=1 MemW=1 Mar=1 MemR=1 4 C=1 RegW=1 9 PCSrc=0 PCW=1 Cond=0 8 C=0 RegW=1

  46. Controle-uitgangen uitgang bijhorende toestanden PCW 0 9 10 Cond 0 9 10 Mar 0 6 7 MemW 6 MemR 0 7 IRW 0 C 4 8 RegW 4 8 S1 0 1 2 3 5 10 S2 0 1 2 3 5 10 Alu 0 1 2 3 5 10 PCSrc 0 9 10

  47. PCW Cond Mar MemW MemR IRW C RegW S1 S2 Alu PCSrc Controle-uitgangen toestand 0 0 0 0 1 0 0 0 1 1 X 0 00 01 001 1 0 0 0 1 0 X X 0 0 0 X 0 00 10 001 X 0 0 1 0 0 X X 0 0 0 X 0 10 00 001 X 0 0 1 1 0 X X 0 0 0 X 0 10 10 010 X 0 1 0 0 0 X X 0 0 0 1 1 XX XX 000 X 0 1 0 1 0 X X 0 0 0 X 0 10 10 001 X 0 1 1 0 0 X 1 1 0 0 X 0 XX XX 000 X 0 1 1 1 0 X 1 0 1 0 X 0 XX XX 000 X 1 0 0 0 0 X X 0 0 0 0 1 XX XX 000 X 1 0 0 1 1 0 X 0 0 0 X 0 XX XX 000 0 1 0 1 0 1 1 X 0 0 0 X 0 01 00 100 0

  48. Volgende-toestanduitgangen toestand voorwaarde volgende toestand 0 0 0 0 0 0 0 1 0 0 0 1 op = add 0 0 1 0 0 0 0 1 op = addi 0 0 1 1 0 0 0 1 op = load/store 0 1 0 1 0 0 0 1 op = jump 1 0 0 1 0 0 0 1 op = brge 1 0 1 0 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 1 op = store 0 1 1 0 0 1 0 1 op = load 0 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0

  49. Controle-eenheid PCW Cond Mar MemW MemR IRW C RegW S1 S2 Alu PCSrc NS3 NS2 NS1 NS0 output input Op3..Op0 S3..S0 IR toestand

  50. ROM-Implementatie ROM1 16x16 bits ROM2 256x4 bits toestand IR

More Related