Bevezetés az informatikába 4. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 1 / 32
1 Logikai kapcsolások Elemi logikai kapuk Egyszerű logikai kapcsolások 2 Vezérlő egység megvalósítása "Ütemezés", "kapuzás" Huzalozott vezérlő Mikroprogramozott vezérlő Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 2 / 32
Tartalom Logikai kapcsolások 1 Logikai kapcsolások Elemi logikai kapuk Egyszerű logikai kapcsolások 2 Vezérlő egység megvalósítása "Ütemezés", "kapuzás" Huzalozott vezérlő Mikroprogramozott vezérlő Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 3 / 32
Logikai kapcsolások "kapcsoló elemek..." vákumcső (elektroncső) tranzisztor integrált áramkör (Jack Kilby, 1958) Brattain, Brattain, Shockley (1947) ( 1940 1950) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 4 / 32
Logikai kapcsolások integrált áramkörök fejlődése..." Intel 8742 mikrovezérlő 8bit CPU @12MHz, 128B RAM, 2KB EPROM, IO A tranzisztorok számának ( számítási teljesítmény) növekedésének az üteme 18 hónaponként duplázódik Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 5 / 32
Tartalom Logikai kapcsolások Elemi logikai kapuk 1 Logikai kapcsolások Elemi logikai kapuk Egyszerű logikai kapcsolások 2 Vezérlő egység megvalósítása "Ütemezés", "kapuzás" Huzalozott vezérlő Mikroprogramozott vezérlő Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 6 / 32
Logikai kapcsolások ÉS, VAGY, NEM logikai kapuk Elemi logikai kapuk ÉS (AND) x y z 0 0 0 0 1 0 1 0 0 1 1 1 x y A B z VAGY (OR) x y z 0 0 0 0 1 1 1 0 1 1 1 1 x y A + B z NEM (NOT) x z 0 1 1 0 x A z Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 7 / 32
Logikai kapcsolások Elemi logikai kapuk NEM-ÉS, NEM-VAGY, KIZÁRÓ-VAGY logikai kapuk NEM-ÉS (NAND) x y z 0 0 1 0 1 1 1 0 1 1 1 0 NEM-VAGY (NOR) x y z 0 0 1 0 1 0 1 0 0 1 1 0 kizáró vagy (XOR) x y z 0 0 0 0 1 1 1 0 1 1 1 0 x A B z x A + B z x A B z y y y Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 8 / 32
Logikai kapcsolások Elemi logikai kapuk Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 9 / 32
Tartalom Logikai kapcsolások Egyszerű logikai kapcsolások 1 Logikai kapcsolások Elemi logikai kapuk Egyszerű logikai kapcsolások 2 Vezérlő egység megvalósítása "Ütemezés", "kapuzás" Huzalozott vezérlő Mikroprogramozott vezérlő Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 10 / 32
Multiplexer Logikai kapcsolások Egyszerű logikai kapcsolások d0 multiplexer s d0 d1 z 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 d1 s d0 d1 MUX s z s z 0 d0 1 d1 z Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 11 / 32
Logikai kapcsolások Egyszerű logikai kapcsolások 4x2 bemenetű és 4 bemenetű multiplexer s z 0 x 1 y s0 s1 z 0 0 d0 0 1 d2 1 0 d1 1 1 d3 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 12 / 32
Logikai kapcsolások Egyszerű logikai kapcsolások 4x2 bemenetű és 4 bemenetű multiplexer x3 y3 MUX z3 x2 y2 x1 y1 x0 y0 MUX MUX MUX z2 z1 z0 s z 0 x 1 y s0 s1 z 0 0 d0 0 1 d2 1 0 d1 1 1 d3 s Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 12 / 32
Logikai kapcsolások Egyszerű logikai kapcsolások 4x2 bemenetű és 4 bemenetű multiplexer x3 y3 x2 y2 x1 y1 x0 y0 s MUX MUX MUX MUX z3 z2 z1 z0 d0 d1 d2 d3 s z 0 x 1 y s0 MUX MUX s0 s1 z 0 0 d0 0 1 d2 1 0 d1 1 1 d3 MUX s1 z Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 12 / 32
Logikai kapcsolások Egyszerű logikai kapcsolások 4 bites AND/XOR művelet (logikai egység) x3 y3 MUX z3 x2 y2 x1 y1 MUX MUX z2 z1 s z 0 x AND y 1 x XOR y x0 y0 MUX z0 s Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 13 / 32
Tartalom Logikai kapcsolások 1 Logikai kapcsolások Elemi logikai kapuk Egyszerű logikai kapcsolások 2 Vezérlő egység megvalósítása "Ütemezés", "kapuzás" Huzalozott vezérlő Mikroprogramozott vezérlő Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 14 / 32
Összeadás Logikai kapcsolások Reprezentáció?! 0+0=0 0+1=1 1+0=1 1+1=... Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 15 / 32
Összeadás Logikai kapcsolások Reprezentáció?! 0+0=0 0+1=1 1+0=1 1+1=... Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 15 / 32
Összeadás Logikai kapcsolások Reprezentáció?! 0+0=0 0+1=1 1+0=1 1+1=... Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 15 / 32
Összeadás Logikai kapcsolások Reprezentáció?! 0+0=0 0+1=1 1+0=1 1+1=... Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 15 / 32
Összeadás Logikai kapcsolások Reprezentáció?! 0+0=0 0+1=1 1+0=1 1+1=... Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 15 / 32
Félösszeadó Logikai kapcsolások félösszeadó x y c s 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 s = sum = összeg c = carry = átvitel Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 16 / 32
Félösszeadó Logikai kapcsolások félösszeadó x y c s 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 s = sum = összeg c = carry = átvitel x y x y 1/2+ s c s c Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 16 / 32
Logikai kapcsolások Többbites számok összeadása 1000 +0110 1110 1100 átvitel (carry) 1011 +0110 10001 fix pontosság... Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 17 / 32
Logikai kapcsolások Többbites számok összeadása 1000 +0110 1110 1100 átvitel (carry) 1011 +0110 10001 fix pontosság... Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 17 / 32
Logikai kapcsolások Többbites számok összeadása 1000 +0110 1110 1100 átvitel (carry) 1011 +0110 10001 fix pontosság... Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 17 / 32
Logikai kapcsolások 1 bites teljes összeadó teljes összeadó x y cin cout s 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 cin = carry in = bemeneti átvitel cout = carry out = kimeneti átvitel Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 18 / 32
Logikai kapcsolások 1 bites teljes összeadó teljes összeadó x y cin cout s 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 x y cin x y cin 1/2+ 1+ s cout 1/2+ cin = carry in = bemeneti átvitel cout = carry out = kimeneti átvitel c s cout Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 18 / 32
4 bites összeadó Logikai kapcsolások y3 x3 cin3 y2 x2 cin2 y1 x1 cin1 y0 x0 c0 1+ 1+ 1+ 1+ cout3 cout2 cout1 cout0 s3 s2 s1 s0 terjedő átvitel (ripple carry) s = x + y Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 19 / 32
Logikai kapcsolások Kivonás kettes komplemensel 5 0101 +2 +0010 7 0111 2 0010 bináris -2 1101 egyes komplemens -2 1110 kettes komplemens 5 0101 +-2 +1110 kivonás helyett, negált összeadás 3 10011 túlcsordulás (overflow) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 20 / 32
Logikai kapcsolások Kivonás kettes komplemensel 5 0101 +2 +0010 7 0111 2 0010 bináris -2 1101 egyes komplemens -2 1110 kettes komplemens 5 0101 +-2 +1110 kivonás helyett, negált összeadás 3 10011 túlcsordulás (overflow) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 20 / 32
Logikai kapcsolások Kivonás kettes komplemensel 5 0101 +2 +0010 7 0111 2 0010 bináris -2 1101 egyes komplemens -2 1110 kettes komplemens 5 0101 +-2 +1110 kivonás helyett, negált összeadás 3 10011 túlcsordulás (overflow) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 20 / 32
Logikai kapcsolások 4 bites összeadó-kivonó kapcsolás x3 x2 x1 x0 y3 y2 y1 MUX MUX MUX z3 z2 z1 z0 s z 0 x+y 1 x-y y0 MUX cin cout s Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 21 / 32
Logikai kapcsolások 4 bites aritmetikai-logikai kapcsolás x0..3 y0..3 4 4 aritmetikai (+/-) logikai (and/xor) 4 4 4x2 MUX 4 z0..3 s0 s0 s1 z 0 0 x+y 0 1 x AND y 1 0 x-y 1 1 x XOR y s1 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 22 / 32
Tartalom Vezérlő egység megvalósítása 1 Logikai kapcsolások Elemi logikai kapuk Egyszerű logikai kapcsolások 2 Vezérlő egység megvalósítása "Ütemezés", "kapuzás" Huzalozott vezérlő Mikroprogramozott vezérlő Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 23 / 32
Tartalom Vezérlő egység megvalósítása "Ütemezés", "kapuzás" 1 Logikai kapcsolások Elemi logikai kapuk Egyszerű logikai kapcsolások 2 Vezérlő egység megvalósítása "Ütemezés", "kapuzás" Huzalozott vezérlő Mikroprogramozott vezérlő Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 24 / 32
Vezérlő egység megvalósítása "Ütemezés", "kapuzás" kapuzó áramkör és demultiplexer x z x z0 s z1 kapuzó áramkör x s z 0 0 hi-z 0 1 0 1 0 hi-z 1 1 1 hi-z = high impedance s demultiplexer x s z0 z1 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 25 / 32
Kapuzás Vezérlő egység megvalósítása "Ütemezés", "kapuzás" 1 utasításelérés: 0,1,2,3 2 dekódolás: 4 3 operandusok beolvasása: 5,1,2,6 4 műveletvégzés: 7,8,9 5 eredmény tárolása, következő: 10,11 k1 k9 k5 k0 k10 ALU Vez/Dek PC k7 k8 k4 MEM ACC TMP mk op k11 k2 k6 k3 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 26 / 32
Kapuzás Vezérlő egység megvalósítása "Ütemezés", "kapuzás" 1 utasításelérés: 0,1,2,3 2 dekódolás: 4 3 operandusok beolvasása: 5,1,2,6 4 műveletvégzés: 7,8,9 5 eredmény tárolása, következő: 10,11 k1 k9 k5 k0 k10 ALU Vez/Dek PC k7 k8 k4 MEM ACC TMP mk op k11 k2 k6 k3 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 26 / 32
Kapuzás Vezérlő egység megvalósítása "Ütemezés", "kapuzás" 1 utasításelérés: 0,1,2,3 2 dekódolás: 4 3 operandusok beolvasása: 5,1,2,6 4 műveletvégzés: 7,8,9 5 eredmény tárolása, következő: 10,11 k1 k9 k5 k0 k10 ALU Vez/Dek PC k7 k8 k4 MEM ACC TMP mk op k11 k2 k6 k3 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 26 / 32
Kapuzás Vezérlő egység megvalósítása "Ütemezés", "kapuzás" 1 utasításelérés: 0,1,2,3 2 dekódolás: 4 3 operandusok beolvasása: 5,1,2,6 4 műveletvégzés: 7,8,9 5 eredmény tárolása, következő: 10,11 k1 k9 k5 k0 k10 ALU Vez/Dek PC k7 k8 k4 MEM ACC TMP mk op k11 k2 k6 k3 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 26 / 32
Kapuzás Vezérlő egység megvalósítása "Ütemezés", "kapuzás" 1 utasításelérés: 0,1,2,3 2 dekódolás: 4 3 operandusok beolvasása: 5,1,2,6 4 műveletvégzés: 7,8,9 5 eredmény tárolása, következő: 10,11 k1 k9 k5 k0 k10 ALU Vez/Dek PC k7 k8 k4 MEM ACC TMP mk op k11 k2 k6 k3 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 26 / 32
Kapuzás Vezérlő egység megvalósítása "Ütemezés", "kapuzás" 1 utasításelérés: 0,1,2,3 2 dekódolás: 4 3 operandusok beolvasása: 5,1,2,6 4 műveletvégzés: 7,8,9 5 eredmény tárolása, következő: 10,11 k1 k9 k5 k0 k10 ALU Vez/Dek PC k7 k8 k4 MEM ACC TMP mk op k11 k2 k6 k3 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 26 / 32
Vezérlő egység megvalósítása Kapuzás összehasonlítás "Ütemezés", "kapuzás" k1 k9 k5 k0 k10 ALU Vez/Dek PC k7 k8 k4 MEM ACC TMP mk op k11 k2 k6 k3 k2 k1 k9 k5 k0 k10 ALU Vez/Dek PC k7 k8 k4 MEM ACC TMP mk op k6 k3 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 27 / 32
Tartalom Vezérlő egység megvalósítása Huzalozott vezérlő 1 Logikai kapcsolások Elemi logikai kapuk Egyszerű logikai kapcsolások 2 Vezérlő egység megvalósítása "Ütemezés", "kapuzás" Huzalozott vezérlő Mikroprogramozott vezérlő Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 28 / 32
Vezérlő egység megvalósítása Huzalozott vezérlő egység Huzalozott vezérlő clock counter DEMUX mk DEMUX DEMUX k0 k1 k2 k3 k4 1 utasításelérés: 0,1,2,3 2 dekódolás: 4 3 operandusok beolvasása: 5,1,2,6 4... 1 2 3 4 5 k5 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 29 / 32
Tartalom Vezérlő egység megvalósítása Mikroprogramozott vezérlő 1 Logikai kapcsolások Elemi logikai kapuk Egyszerű logikai kapcsolások 2 Vezérlő egység megvalósítása "Ütemezés", "kapuzás" Huzalozott vezérlő Mikroprogramozott vezérlő Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 30 / 32
Vezérlő egység megvalósítása Mikroprogramozott vezérlő Mikroprogramozott vezérlő egység mikroprogramtár... 111100000000 000010000000 011001100000 000000011100 000000000011... mikroutasítás vezérlő jelek 1 utasításelérés: 0,1,2,3 2 dekódolás: 4 3 operandusok beolvasása: 5,1,2,6 4 műveletvégzés: 7,8,9 5 eredmény tárolása, következő: 10,11 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 31 / 32
Vezérlő egység megvalósítása Összefoglalás, fogalmak Mikroprogramozott vezérlő elemi logikai kapuk egyszerű logikai kapcsolások, multiplexer, demultiplexer összeadás, félösszeadó, teljes összeadó, többbites összeadó "kapuzás" vezérlő egység huzalozott vezérlő mikroprogramozott vezérlő Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 32 / 32