PDF_4up - Chalmers tekniska högskola

LEU431 – Digital- och datorteknik, Chalmers, 2015/2016
Uppdaterad 28 september, 2015
Föreläsning #10
Vippor
1S
&
Digital- och datorteknik
Q
C1
Q
Funktions- och excitationstabell& för 1RJK-vippa:
1S
&
J
Q
1J
Q
K
Q
1R
&
Q
C1
C1
CP
Q
1K
Q
Föreläsning #10
Funktionstabell
1J för JK-vippa
Q
J
K C1
Q+
0
01K Q Q
Biträdande professor Jan Jonsson
Institutionen för data- och informationsteknik
Chalmers tekniska högskola
Excitationstabell för JK-vippa
Q
Q+
J
K
0
0
0
−
0
1
0
0
1
1
−
1
0
1
1
0
−
1
1
1
Q
1
1
−
0
Vippor
Vippor
1J
Q
C1
Q
Vippa med alternerande tillstånd:
1K T-vippa:
Funktions- och excitationstabell för
Med JK-vippan fick vi en ny funktion (när J = 1 och K = 1) som kan
användas för att enkelt växla mellan två logiska tillstånd. Om vi kopplar
ihop J och K kan vi med en signal styra den alternerande funktionen.
T
1J
Q
Q
C1
CP
1T
1K
Q
C1
Q
1K
1T
Q
Q
Q
C1
Q
1
Q
Q
Q
Q
1T
C1
CP
1J
Detta kallas för en T-vippa.
Q
T-vippan är en grundläggande komponent som viC1
litet senare kommer
Q
att använda vid konstruktion av tillståndsmaskiner,
1K t ex räknare och
styrenheten i vår dator.
T
1J
Q
C1
Q
Excitationstabell för
T-vippa
1T för
Funktionstabell
Q
T-vippa C1
Q
Q+
T
Q
0
0
0
T
Q+
0
Q
0
1
1
1
Q
1
0
1
1
1
0
LEU431 – Digital- och datorteknik, Chalmers, 2015/2016
Uppdaterad 28 september, 2015
Föreläsning #10
Vippor
Vippor
1S
Q
C1
Q
Vippa för lagring av en bit:
Funktions- och excitationstabell1 för1RD-vippa:
Vi har sett att JK-vippan kan förhindra att det icke-önskvärda tillståndet
i en SR-vippa uppträder. Ett annat sätt att åstadkomma detta är att,
med en inverterare, se till att S och R alltid är varandras negationer.
Detta kallas för en D-vippa.
1S
Q
D-vippan är som klippt och skuren för att lagra en C1
bit, och blir därför ett
viktigt byggblock vid konstruktion av de register som skall
lagra dataord
Q
1R
1
i vår dator.
1S
D
Q
Q
C1
CP
1D
Q
Q
Q
Q
Q
1D
C1
1R
1
Q
Q
Q
C1
Q
Excitationstabell för
T-vippa
Funktionstabell1D
för Q
D-vippa
C1
C1
Q
1R
1
1D
1S
D
CP
Q
Q+
D
0
0
0
0
0
1
1
1
1
0
0
1
1
1
D
Q+
0
1
Q
Q
C1
Q
Vippor
Vippor
Vippa med villkorlig lagring av en bit:
Vippa med villkorlig lagring av en bit:
När vi ansluter register till vår dators dataväg kommer klocksignalen
att vara gemensam för alla D-vippor. För att undvika att tillståndet för
alla vippor uppdateras vid varje klockpuls behöver vi en extra ingång
0
som anger om vippan skall laddas med nytt
värde
1D eller ej. Genom att
Q
1
låta den extra ingången styra en 1-av-2-väljare kan vi välja om vippan
C1
skall laddas med ett nytt (D) värde eller med sitt gamla (Q) värde.
När vi ansluter register till vår dators dataväg kommer klocksignalen
att vara gemensam för alla D-vippor. För att undvika att tillståndet för
alla vippor uppdateras vid varje klockpuls behöver vi en extra ingång
0
som anger om vippan skall laddas med nytt
värde
1D eller ej. Genom att
Q
1
Jämför
för följande
vippor:
låta den
extratidsdiagram
ingången styra
en 1-av-2-väljare
kan vi välja om vippan
C1
skall laddas
med ett
nytt (D) värde
eller med sitt gamla (Q) värde.
a)  positivt
flanktriggad
D-vippa
Q
positivt
D-vippa
Detta b) 
kallas
för enflanktriggad
D-vippa med
grind. med grind
Q
Detta kallas för en D-vippa med grind.
0
D
1
1D
Q
Q
Q
G
2D
0
Q
D
C1
C1
CP
2D
Q
1G2
1D
Q
Q
2D
Q
1C2
Q
2
G1
Q
2D
Q
C1
Q
G
Q
Q
C1
CP
1C2
G1
1
Q
1G2
Q
LEU431 – Digital- och datorteknik, Chalmers, 2015/2016
Föreläsning #10
Uppdaterad 28 september, 2015
Register
Register
Register med gemensam klock- och grindsignal:
Dataöverföring mellan register:
Vi kan nu bygga upp ett register för att lagra flera bitar,
anpassat
till
2D
2D
Q
Q
behovet i vårt digitala system. Vår dator kommer t exC1att
använda
C1
Q
Q
1G2
8-bitars register. För att alla vippor i ett register skall1G2uppdateras
samtidigt har de en gemensam klocksignal (CP). Dessutom
D
har de en gemensam grindsignal, kallad load (LD),
som gör det möjligt att uppdatera vipporna i just
Register
CP
detta register.
LD
2D
Q
C1
1G2 Q
2D
För att möjliggöra överföring av data mellan olika register måste de
kopplas ihop på lämpligt sätt. En metod för detta är att överföra data
via en väljare. Väljarens selektorsignaler avgör då från vilket register
data skall hämtas. Data skrivs till de register vars LD-signal är aktiv.
Q
C1
1G2 Q
buss
in
CP
Din7
Dut7 Din6
2D
C1
1G2
Dut6 Din5
2D
Q
C1
Q
1G2
Dut5 Din4
2D
Q
C1
Q
1G2
Dut4 Din3
2D
Q
C1
Q
1G2
Dut2 Din1
2D
Q
C1
Q
1G2
Dut3 Din2
2D
Q
C1
Q
1G2
Dut1 Din0
2D
Q
Q
C1
Q
1G2
CP
LDC
Register B
CP
LDD
Register C
RegisterD
Dut0
2D
Q
0
C1
Q
CP
LDB
Register A
LDA
Dut
1G2
1
2
3
MUX
Val av register: s1s0
Q
CP
LD
Figur 7.17 Registerutgångars anslutning till buss via väljare.
buss
buss
CP
CP
LDA
LDA
Register
Register A
CP
LDB
CP
LDC
Register B
Register B
CP
LDC
Register C
Register C
CP
LDD
Register
1
OEA
Dataöverföring mellan register:
CP
LDB
Register A
1
OEB
OEC
RegisterD
CP
LDD
1
Register D
1
OED
MUX
Val av register:
ss
Dataöverföring
mellan
register:
1 0
För att möjliggöra överföring av data mellan olika register måste de
kopplas ihop på lämpligt sätt. En metod för detta är att överföra data
via en väljare. Väljarens selektorsignaler avgör då från vilket register
data skall hämtas. Data skrivs till de register vars LD-signal är aktiv.
Figur
Registerutgångars
anslutning
till buss via
three-state
Den7.23
vanligaste
metoden
att överföra
data
mellanbuffertar.
register använder
däremot inte en väljare. Denna metod utnyttjar istället ett sätt att
Figur 7.17
Registerutgångars
anslutning
buss via väljare.
ansluta
registrens
utgångar
till entill
databuss
utan att riskera att de
får elektrisk kontakt (och därmed skulle kunna förstöras).
buss
buss
CP
Register A
LDA
CP
LDB
1
CP
LDC
Register B
0
Register C
0
0
Val av register: s1s0
1
CP
LDD
RegisterD
CP
LDA
1
2
Exempel: Överföring
från register C till
register A och D.
3
MUX
OEA
Register A
1
CP
LDB
OEB
Register B
CP
LDC
1
???
OE
Register C
C
1
CP
LDD
Register D
OED
10
Figur 7.23 Registerutgångars anslutning till buss via three-state buffertar.
Figur 7.17 Registerutgångars anslutning till buss via väljare.
buss
CP
LDA
OE
Register A
1
CP
LDB
OE
Register B
1
CP
LDC
OE
Register C
1
CP
LDD
OE
3
Register D
1
1
LEU431 – Digital- och datorteknik, Chalmers, 2015/2016
Uppdaterad 28 september, 2015
Föreläsning #10
Register
Register
Transmissiongrinden:
Register med gemensam klock- och grindsignal:
För att undvika att utgångarna på två eller fler vippor får elektrisk
kontakt måste en vippas utgångar kunna isoleras från databussen
2D
2D
2D
2D
när vippans
kan åstadkommas
med
Q data inte skall
Q användas. Detta
Q
Q
C1
C1ett CMOS-transistorpar
C1
en transmissionsgrind,
somC1
har kanalerna
Q
Q
parallellkopplade.
När
EN =Q1 är båda1G2
kanalerna
öppna
1G2 Q
1G2styrsignalen
1G2
och grinden släpper igenom signalen på ingång g till utgång f. När
EN = 0 är kanalerna stängda och utgång f blir isolerad från ingång g.
Vi ansluter nu en transmissionsgrind på varje vippas utgång. Alla
2D
2D
2D
2D
Q vippor i ett register
Q
Q ytterligare en
Q gemensam
samhörande
får därefter
C1
C1
C1
C1
grindsignal,Qkallad output enable
(OE),
som
gör
det
möjligt
att ansluta
Q
Q
1G2 på vipporna
1G2 till databussen.
1G2
1G2 Q
utgångarna
Funktionstabell för
transmissionsgrind
EN
g
f
EN
EN
g
f
0
0
Z
0
1
Z
1
0
0
1
1
1
Din
EN
Högimpedanstillstånd
med logiknivå ’Z’ =
varken ’1’ eller ’0’
CP
Register
LD
g
f
Grindens utgång kan
anta tre olika tillstånd
= ’three-state logic’
g
1
OE
EN
1
f
1
EN
OE
1
Dut
EN
buss
buss
Register A
LDA
CP
CP
LDB
Register B
CP
LDC
Register C
CP
LDD
CP
RegisterD
Register
MUX
Val av register: s s
Dataöverföring
mellan
register:
Register B
CP
LDC
Register C
CP
LDD
RegisterD
Register
1 0
Vi har nu fått ett sätt att överföra data via en transmissionsgrindar.
Data läses från till det register vars OE-signal är aktiv, och data
Figur
7.17 Registerutgångars
till buss viaär
väljare.
skrivs
till de registeranslutning
vars LD-signal
aktiv.
buss
buss
OEA
CP
LDB
MUX
Val av register: s s
Dataöverföring
mellan
register:
1 0
Vi har nu fått ett sätt att överföra data via en transmissionsgrindar.
Data läses från till det register vars OE-signal är aktiv, och data
Figur
7.17 Registerutgångars
till buss viaär
väljare.
skrivs
till de registeranslutning
vars LD-signal
aktiv.
CP
LDA
Register A
LDA
Register A
1
CP
LDB
OEB
Register B
1
CP
LDC
OEC
Register C
1
CP
LDD
CP
LDA
Register D
OED
Register A
1
1
OEA
0
CP
LDB
Register B
0
1
OEB
0
CP
LDC
Register C
0
1
OEC
1
CP
LDD
Register D
1
1
OED
0
Figur 7.23 Registerutgångars anslutning till buss via three-state buffertar.
Figur 7.23 Registerutgångars anslutning till buss via three-state buffertar.
4
1
Exempel: Överföring
från register C till
register A och D.
LEU431 – Digital- och datorteknik, Chalmers, 2015/2016
Uppdaterad 28 september, 2015
Föreläsning #10
Register Transfer Notation (RTN)
Uppgift 6.1:
Använd figurens dataväg och ange styrsignalssekvenser för följande
registeröverföringar beskrivna enligt RTN.
Parallella operationer
a)  T → A
b)  T → A ; T → R
c)  R → T , A → R , T → A (= A ↔ R)
Sekventiella operationer
5