Datapath & Contol 9.30 Introductie: datatransport via een bus 11.00 Vervolg: datatransport via een bus Finite State machines 13.30 uur college: Boek chapter 1 Wet van Moore Practicum: Hoofdstuk 4 syllabus
Data transport tussen registers/ALU via de databus Register voor data-opslag Bus voor data-overdracht ALU Sequencer Componenten nodig voor het bouwen van een rekenmachine
Data transport tussen registers/ALU via de databus Register voor data-opslag
Register, één bit & ³1 &
Register, één bit & 1 q ³1 & d
Register, één bit q & 1 q ³1 & d
Register, één bit q & 1 q q ³1 & d
Register, één bit q & 1 q q q ³1 & d
Register, één bit & q ³1 & d
Register, één bit q & q ³1 1 & d
Register, één bit q & q ³1 1 d & d
Register, één bit q & q d ³1 1 d & d
Register, twee bits & LOAD ³1 Q0 & D0 CLOCK & ³1 Q1 & D1 CLEAR
Data transport tussen registers/ALU via de databus Register voor data-opslag Bus voor data-overdracht
Register-register data-transfer Register C Load C CLOCK Register A Register B Load A Load B
Register-register data-transfer Register C Load C CLOCK Register A Register B Load A Load B
Register-register data-transfer Register C Load C CLOCK Register A Register B Load A Load B
Register-register data-transfer Van register D Van register E Register C Van register F Load C CLOCK Register A Register B Load A Load B
Alternatief “een databus!?”
Databus met registers Databus
Databus met registers
Three state buffer
Three state buffer 1
Three state buffer 1 zwevend x
PIDAC module
Register-register data-transfer
COPY(INV,A) A <= INV
COPY(A,B) B <= A
COPY(A,B) B <= A
Data transport tussen registers/ALU via de databus Register voor data-opslag Bus voor data-overdracht ALU
Rekenmachine Datapath
A <= Invoer I ENALU
B <= Invoer II LDA ENALU
A <= A + B ADD
Rekenmachine 05 02 05 03 02 03 ADD
Rekenmachine 08 02 08 03 05 03 ADD
Rekenmachine 0B 02 0B 03 08 03 ADD
Data transport tussen registers/ALU via de databus Register voor data-opslag Bus voor data-overdracht ALU Sequencer Pauze
Decoder Encoder Binaire code Niet binaire code Toepassing: Hexadecimaal display Encoder Niet binaire code Binaire code Toepassing: toetsenbord
Hexadecimaal 7 segment decoder
Decoder
Decoder 1 1
Decoder 1 1 1
Meganisme voor het achtereen-volgens uitvoeren van acties’ …… Sequencer
Time sequence diagram
Sequencer CLR
Accumulator machine Memory data register Datapath
Finite state machines
RS-latch Qn+1 toestand 1 set reset Qn behoud oude toestand
RS-latch als eindige automaat SR q Q1,Q2 = δ(SR,q) 01 10 01 01 10 10 10 01 11 10 11 01 10 01 Q1,Q2 ={01,10} verzameling toestanden. A = {01,10,11} invoeralfabet S,R = (0,0) mag niet voorkomen (0,1) Q is de initiële toestand. B = {01,10} uitvoeralfabet δ de overgangsfunctie als beschreven in tabel λ de uitvoerfunctie λ is de identietijdsfunctie
State diagram Set-Reset Latch q = 01 q =10 10 01,11 10,11 01
Finite State Machine
Voorbeeld stoplicht (CD B70)
Cur. State NScar EWcar Next State 0 (NSgreen) 1 1(EWgreen)
Traffic light control
State diagram
Finite State Machine
Branch predictor
Huiswerk (2 punten) Ontwerp met SIM-PL Finite State Machine voor Branch Prediction (zie boek bladz. 422) Gebruik Componenten Finite State machines Schrijf testprogramma