IS1500 Datorteknik och komponenter 6 apr -17 IS1500 Datorteknik och komponenter Föreläsning DC F2 Kretsar med återkoppling Minnen Här kan Du anteckna vad du vill .... 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik o k Digitala komponenter Assemblerprogram C DC F1 DC Ö1 DC F2 DC Ö2 lab dicom Digitala komponenter CE F1 CE F2 CE Ö1 CE F3 CE Ö2 CE F4 CE Ö3 lab nios2time Assemblerprogram CE F5 CE Ö4 hemlab C C CE F6 CE Ö5 CE Ö6 lab nios2io In- och utmatning CE F7 CE Ö1 lab nios2int Avbrott och "trap" CE F8 CE Ö2 hemlab cache Cacheminnen CE F9 CE Ö3 hemlab trådar Trådar, synkronisering 6 April 2017 CE F10 IS1500 Datorteknik och komponeneter, föreläsning DC-F2 CE Ö10 tentamen
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Från föreläsning DC-F1 Många olika grindar: AND, OR, INV NAND, NOR, XOR, XNOR, ... Avkodare Multiplexer Heladderare, Negativa heltal med 2-komplementrepr. Adderarkrets, även för subtraktion Komparator 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Exempel på grindar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Exempel på avkodare Insignaler anger binärt index för den utsignal som ska vara aktiv n-1 . m insignaler n utsignaler Kiselplats: Cirka m+n grindar m till n avkodare ( n är oftast 2m ) 2-4 avkodare, 3-8 avkodare, ... 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Exempel på multiplexer (väljare) Styrsignaler anger binärt index för den insignal som ska finnas på utsignalen n styrsignaler/adress ... . m st insignaler en utsignal Kiselplats: Cirka n+m+1 grindar m till 1 multiplexer ( m är oftast jämn 2-potens, 2n ) 2-1 mux, 4-1 mux, 8-1 mux, .. 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Heladderare Full Adder Adderar binärt en position inklusive carryin a b Cut FA cin Kiselplats: Cirka 9 grindar s 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Adderar-krets (för heltal i 2komplement) Adderar 2 st n-bitars heltal i 2 komplementrepresentation Det kan bli overflow/ spill !!! FA FA FA FA FA FA Kiselplats: Cirka n*9 grindar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Adderar-krets subtraktion Subtraktion utförs som addition av 2-komplement SUB/ADD FA FA FA FA FA FA Kiselplats: Cirka n*13 grindar (om XOR tar 4) A – B = A + ( -B ) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Komparator A B n n Komparator Kiselplats: Cirka 4*n + 1 grindar (om XOR tar 4) U=1 om A = B (för varje par av de n bitpositionerna) U=0 för alla andra fall (A är inte = B) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Föreläsning DC-F2 nya komponenter latch, flip-flop, vippa D-vippa, (T-vippa), ... Register (flera vippor) Register File (flera register) Minneskrets (lagrar många bitar) Minnesmodul (byggs av många minneskretsar) Sekvensnät = åtrkopplat kombinatoriskt nät 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Kombinatoriskt nät (nät utan återkoppling) X2 U1 X1 . . . U0 X0 med INV-NAND-NAND-nät kan varje Boolesk funktion byggas Utsignalernas värde beror på nuvarande värde på insignaler (inte på tidigare värden) En viss insignalkombination ger alltid samma utsignal 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Kombinatoriskt nät ett exempel Analysera detta NAND-nät x = ...... 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Nät med återkoppling R Q Q’ S återkoppling Rita om detta nät så får man figur som på nästa sida 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
SR-latch med NOR-grindar Q Q’ S R är en Reset-signal, S är en Set-signal Båda är aktivt höga 1 = Aktiv, 0 = Passiv 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
SR-latch med NOR-grindar 1 R Q 1 1 Q’ S Exempel på ”stabilt” läge med Q = 0 samt S och R är passiva/0 Vad händer om man ändrar S från 0 till 1 och tillbaks till 0 ? 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
SR-latch med NOR-grindar 1-0-0 R Q 1-0-0 0-1-1 0-1-1 1-0-0 0-1-0 Q’ S 0-1-1 Exempel på ”stabilt” läge med Q = 0 samt S och R är passiva/0 Vad händer om man ändrar S från 0 till 1 och tillbaks till 0 ? Latchen slår om från 0 till 1 (S = Set) ! 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
SR-latch med NOR-grindar R Q 1 1 Q’ S 1 Exempel på ”stabilt” läge med Q = 1 samt S och R är passiva/0 Vad händer om man ändrar R från 0 till 1 och tillbaks till 0 ? 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
SR-latch med NOR-grindar 0-1-1 0-1-0 R Q 0-1-1 1-0-0 1-0-0 0-1-1 Q’ S 1-0-0 Exempel på ”stabilt” läge med Q = 1 samt S och R är passiva/0 Vad händer om man ändrar R från 0 till 1 och tillbaks till 0 ? Latchen slår om från 1 till 0 (R = Reset) ! 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Klockad D-latch med NOR-grindar S Q Q’ D clock Utsignalen Q följer insignal D då clock är aktiv (hög) Utsignalen Q ”låses” då clock blir passiv (”går låg”) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
SR-latch med NAND-grindar Q Q’ R’ är en Reset-signal, S’ är en Set-signal Båda är aktivt låga, 0=aktiv och 1=passiv 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Klockad D-latch med NAND-grindar S’ D Q Q’ R’ C Utsignalen Q ”följer” insignal D då C är aktiv (hög) Utsignalen Q ”låses” då C blir passiv (”går låg”) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
D flip-flop omslag i Q-ut på negativ flank C Q D C Q-ut Master Slave C 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Flanktriggad D-vippa ”standard-vippa” C D preset Q Q’ clear preset Q Q’ clear Synkront omslag (till D) sker på positiv flank på C Asynkront (direkt) omslag vid låg signal på clear eller preset 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Flanktriggad D-vippa ”standard-vippa” Clock P4 P3 P1 P2 5 6 1 2 3 Q' Q 4 D Q Q' Clock R Utan preset och clear blir det 6 NAND-grindar. Även med preset och clear 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Synkron D-vippa preset D Q Dut Din 1 WR clock Q’ clear clock Kiselplats: Cirka 10 grindar Synkront omslag (till D) sker på positiv flank på clock om WR=1. Om WR=0 skrivs gamla värdet in i vippan (inget omslag). 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Synkron T-vippa (överkurs) preset D Q Dut 1 T clock Q’ clear clock Kiselplats: Cirka 10 grindar Synkront omslag (växling) sker på positiv flank på clock om T=1 Om T=0 skrivs gamla värdet in i vippan (inget omslag) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Synkront register, 32 bitar Din 32 bitars register 32 D-vippor clock Kiselplats: Cirka 192 grindar Dut Skrivning sker på varje positiv flank på clock Utsignal alltid tillgänglig 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Synkront register, 32 bitar med villkorlig skrivning Din 32 bitars register 32 D-vippor WR clock Kiselplats: Cirka 320 grindar Dut Skrivning sker på positiv flank på clock endast om WR=1 Utsignal alltid tillgänglig 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Synkront register, 32 bitar med tree-state busdrivkrets Din 32 bitars register WR clock 32 bitars busdrivkrets OE Kiselplats: Cirka 352 grindar Dut Utsignal endast om OE = 1 (annars tree-state = ”bortkopplat”) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Symbol för komponent WR Kiselplats: Cirka 350 grindar WR OE clock OE clock 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Register File Read from any register Datain Bus OE WR clock Register Read Address OE WR clock . . . . . . OE WR clock Adress- Avkodare Bus Dataut Kiselplats: Cirka 17+32*350 grindar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Register File Write to any register Datain Bus OE WR clock Register Write Address OE WR clock . . . . . . OE WR clock Adress- Avkodare clock Bus Dataut Kiselplats: Cirka 32*350 +17 grindar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Register File symbol om 1 Read 1 Write Din 32 bitar Write address 5 bitar clock 32 x 32 Kiselplats: Cirka 17+32*350 +17 grindar Cirka 10.000 grindar (oj!) Read address 5 bitar Dut 32 bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Register File Multi-ported: 2 Read 1 Write Din 32 bitar Write address 5 bitar clock 32 x 32 Kiselplats: Cirka 20.000 grindar (uj!) Read address 5 bitar Read address 5 bitar Dut 32 bitar Dut 32 bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Register File Multi-ported: 2 Read 1 Write Din 32 bitar Bus Write address 5 bitar 32 x 32 32 x 32 Read address 5 bitar Read address 5 bitar Dut 32 bitar Dut 32 bitar Bus Bus 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Minneskrets lagringsplats för bitar RWM 2m x n RWM = Read Write Memory t.ex. 1024 x 8 (1K x 8) 1024 x 8 bitar/celler 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Minneskrets vilka signaler behövs För läsning behövs 2m x n Address m bitar Read Dut n bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Minneskrets vilka signaler behövs Din n bitar För skrivning behövs dessutom Write 2m x n Address m bitar Read Dut n bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Minneskrets vilka signaler behövs Din n bitar För att spara energi behövs dessutom Write 2m x n CS – Chip Select Address m bitar Read Dut n bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Minneskrets vilka signaler behövs Din n bitar För att bygga större minnen behövs dessutom Write 2m x n CS – Chip Select Address m bitar Read OE Dut n bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Minneskrets vilka signaler brukar finnas Write/Read Address m bitar 2m x n CS – Chip Select OE Din och Dut n bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Stort minne av flera små kretsar läs från en ”rad” ut på busen med OE 7 1K x 8 . . . 7 . . . Read address 64 kretsar ger här 8K x 64 (8 rader 8 kolumner) . . . . . . . . . . . . . . . 1K x 8 Data-ut 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Stort minne av flera små kretsar skriv till en ”rad” 7 1K x 8 . . . 7 . . . Write address 64 kretsar ger här 8K x 64 (8 rader 8 kolumner) . . . . . . . . . . . . . . . 1K x 8 Data-in 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Bokstäver RWM = Read Write Memory RAM = Random Access Memory SRAM = Static RAM (6 transistorer per cell) DRAM = Dynamic RAM (2 transistorer per cell) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Fler Bokstäver DRAM = Dynamic RAM SDRAM = Synchronous DRAM DDR DRAM = Double Data Rate … 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Skiftregister ”Minns förra invärdet” nuvarande värde förra värdet förrförra värdet förrförrförra värdet in preset preset preset D Q D Q D Q clock Q’ clock Q’ clock Q’ clear clear clear 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Sekvensnät Starta med värde 000 ... återkoppling Q2 Q1 Q0 preset preset preset D Q D Q D Q 2 1 clock Q’ clock Q’ clock Q’ clear clear clear Hur förändras värden på Q2Q1Q0 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Sekvensnät Starta med värde 000 ... återkoppling Q2 Q1 Q0 preset preset preset D Q D Q D Q 2 1 clock Q’ clock Q’ clock Q’ clear clear clear Hur förändras värden på Q2Q1Q0 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Sekvensnät Starta med värde 000 ... återkoppling Q2 Q1 Q0 preset preset preset D Q D Q D Q 2 1 clock Q’ clock Q’ clock Q’ clear clear clear Hur förändras värden på Q2Q1Q0 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Kombinatoriskt nät nät utan återkoppling X2 U1 X1 . . . U0 X0 med NAND-nät kan varje Boolesk funktion byggas Utsignalernas värde beror på nuvarande värde på insignaler (inte på tidigare värden) En viss insignalkombination ger alltid samma utsignal (i går, i år) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Sekvens nät Kombinatoriskt nät med återkoppling X2 U1 ? ? ? X1 U0 X0 Utsignalernas värde beror på nuvarande värde på insignaler och på tidigare värden Utsignalernas värde beror på en sekvens av värden på insignalerna Samma insignalvärde kan ge olika utsignal (beroende på tidigare värden) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Sekvens nät Asynkrona nät Återkoppling i grindnät X2 U1 X1 U0 X0 Utsignalernas värde beror på nuvarande värde på insignaler och på tidigare värden Utsignalernas värde beror på en sekvens av värden på insignalerna Värden kan växla direkt då insignaler växlar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Sekvens nät Synkrona nät Återkoppling klockade vippor och grindnät X2 U1 X1 U0 X0 clock Utsignalernas värde beror på nuvarande värde på insignaler och på tidigare värden Utsignalernas värde beror på en sekvens av värden på insignalerna Värden kan växla direkt då insignaler växlar. Vippor växlar på clock-flank 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Sekvens nät delta X2 U1 X1 U0 X0 lambda clock Utsignalernas värde beror på nuvarande värde på insignaler och på tidigare värden Utsignalernas värde beror på en sekvens av värden på insignalerna Vippor i kretsen lagrar kretsens nuvarande ”tillstånd” (state) Vid varje klockflank kan kretsen byta tillstånd (vipporna ändrar värden) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Syntes av sekvensnät – räknare Exempel på tillståndsgraf u1u0 ska räkna 00 gå till 00 01 uppåt 10 nedåt 11 gå till 11 00 start 01 00 01 10 u1u0 m1m0 10 01 01 10 10 10 11 11 01 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Föreläsning DC-F2 nya komponenter latch, flip-flop, vippa D-vippa, (T-vippa), ... Register (flera vippor) Register File (flera register) Minneskrets (lagrar många bitar) Minnesmodul (byggs av många minneskretsar) Sekvensnät = återkopplat kombinatoriskt nät 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
FPGA Field Programmable Gate Array Innehåller många LE – Logic Elements 33.216 LE i kretsen på DE2-brädan I första labben används ett LE Nios2 processorn använder cirka ¼ Nästa blad visar schema för ett LE Sidan efter ger vägledning för analys 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Vad finns i ett Logic Element En flanktriggad D-vippa med lite finesser En Look-Up Table (16 bitar) för 4 variabler / insignaler varav en insignal kan väljas från vippan 8 stycken programmerbara 2-1 muxar som styr inkoppling av insignal data3 och om vippan ska användas eller ej samt val vilken utsignal som ska kunna routas vidare En hel del mera finesser / klurigheter 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Prova en krets på FPGA Steg som ingår i labben Create a new project Create a new Block Diagram/Schematic File Draw a schematic diagram. Compile the project Create a Vector Waveform File. Draw input waveforms. Simulate the project Assign Pins. Create a Block Symbol File. Download your design into the DE2 board. Test your design. 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Några ytterligare intressanta fakta Antal Transistorer per grind (i CMOS) Antal transistorer per cell i SRAM och DRAM Effektåtgång 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
NAND-grinden Area: ANAND= 4 Transistors VDD VOH VA VSS VB VA VB VOH William Sandqvist william@kth.se
William Sandqvist william@kth.se Three state ’Z’ William Sandqvist william@kth.se
William Sandqvist william@kth.se SRAM Varje bit i ett CMOS SRAM består av en låskrets uppbyggd av sex MOS-transistorer. William Sandqvist william@kth.se
William Sandqvist william@kth.se DRAM Varje bit i ett DRAM består av en transistor och en minneskonden-sator. En laddad kondensator läcker ut laddningen efter ett tag. Periodiskt måste alla kondensatorer under-sökas och de som har laddning kvar måste då återladdas. Detta kallas för Refresh. Det sköts av kretsar inuti minnet. William Sandqvist william@kth.se
CMOS - Dynamisk förlusteffekt ! Klassisk CMOS har bara förlusteffekt precis vid omslaget. Förlusteffekten PF blir proportionell mot klockfrekvensen! ”1” ”0” ”1” ”0” ”1” ”0” William Sandqvist william@kth.se