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
© Copyright 2024