Wykład 4 Realizacja logicznych bramek za pomocą tranzystorów W konwencjonalnych komputerach, jako klucze wykorzystują się tranzystory. Tranzystory są zbudowany na podstawie półprzewodników, zwykle to jest krzem, z małą ilością domieszek. Jeżeli domieszka dodaje elektrony (półprzewodnik typu), mamy dodatkowe swobodne elektrony w paśmie przewodnictwa (obszar dozwolonych energii dla elektronów, w którym możliwy jest strumień prądu). Jeżeli wprowadza deficyt elektronów (półprzewodnik typu p ), mamy dodatkowe „dziury” w paśmie walencyjnym, które zachowują się jak dodatkowe ładunki. Po złączeniu półprzewodników typu n i p , elektrony mogą przeciekać tylko z półprzewodnika n do półprzewodnika p . A zatem przez złącze dwóch półprzewodników będzie płynął prąd tylko wtedy, kiedy ujemny kontakt baterii będzie podłączony do półprzewodnika typu n (rys.4.1). Krzem jest klasycznym przykładem półprzewodnika. On ma cztery elektrony walencyjne. Załóżmy, dodajemy do krzemu małą ilość fosforu, który ma pięć elektronów walencyjnych. W sieci krystalicznej krzemu z tych elektronów, cztery elektrony utrzymują atom w sieci krystalicznej: każdy atom domieszki i cztery atomy krzemu są związane między sobą. Piąty elektron fosforu jest swobodny dla ruchu. A zatem mamy Rys.4.1. Złącze dwóch półprzewodników nadmiar swobodnych elektronów. To jest typu n i p półprzewodnik typu n . Jeżeli dodajemy bor, który ma trzy elektrony walencyjne, to on „chwyta” dodatkowy elektron. Taki atom domieszkowy związuje cztery atomy krzemu, jednak teraz mamy deficyt elektronów. To jest półprzewodnik typu p . W samoistnym krzemie, gęstość elektronów w paśmie przewodnictwa, ne , jest równa gęstości dziur w paśmie walencyjnym, n p . Obie gęstości zależą od temperatury. Jednak iloczyn ne n p pozostaje stały nawet wtedy, kiedy domieszkujemy półprzewodnik. 3 Załóżmy, że mamy półprzewodnik typu p i warstwę przewodzącą, która jest odseparowana od p - półprzewodnika cienką warstwą dielektryka. Na rys.4.2 „p” oznacza krem typu p , „c” – przewodnik. „n” oznacza półprzewodniki typu n . Jeżeli przyłożymy dodatni potencjał do warstwy przewodzącej „c”, elektrony z półprzewodników typu n zaczną przyciągać się ku dnu dielektryka i stworzą około dna dielektryka cienką warstwę elektronową. Jeżeli przyłożymy teraz napięcie między półprzewodnikami typu prąd, który płynie n , otrzymujemy przez tą warstwę elektronową. A zatem, mamy klucz, który jest Rys.4.2. Metal-oxide-semiconductor-fieldeffect-transistor (MOSFET); p jest p, typu n – magnetycznego, działającego w związanej półprzewodnikiem typu c – n, cewce. Półprzewodniki typu n w tym półprzewodnikiem przewodnikiem. Symbol ⊥ oznacza tranzystorze noszą nazwę „źródła” i „drenu” połączenie z ziemią. sterowany potencjałem +V zamiast pola (zlewu), a przewodnik nazywa się „bramką”. Cały układ nosi nazwę MOSFET (metal-oxidesemiconductor-field-effect-transistor). Prąd będzie płynął od źródła do drenu, jeżeli różnica potencjałów między źródłem i bramką przewyższy krytyczną wielkość. Umowny symbol MOSFETu jest pokazany na rys.4.3. Różnica potencjałów między drenem i źródłem jest dodatnia ( Vd > Vs ). Rys.4.4. Tranzystorowa NOT-bramka Rys.4.3. Symbol MOSFETa Różnica potencjałów między bramką i źródłem, Vg Vs , jaki było powiedziane wyżej musi przewyższać wartość krytyczną, dla tego żeby otworzyć bramkę. Zwykle, Vd a krytyczna wartość Vg Vs jest w przybliżeniu 0.2(Vd Vs ) . 4 Vs ~ 5V , Prosty schemat tranzystorowej NOT-bramki jest pokazany na rys.4.4. Tutaj + Vds napięcie między drenem i źródłem, R - rezystor. Zakładamy, że opór tranzystora jest znacznie mniejszy od oporu rezystora. Jeżeli napięcie między bramką i źródłem, Vgs , przewyższa wartość krytyczną, ( ai = 1), prąd płynie przez tranzystor, a napięcie na wyjściu (tj. różnica potencjałów między punktem „output” i ziemią) jest w przybliżeniu równe zeru ( b f = 0 ). W przeciwnym przypadku ( ai = 0 ), tranzystor nie przewodzi prąd i różnica potencjałów między output i ziemia jest równa w przybliżeniu Vds ( b f = 1 ). Tabela.4.1. Tabela prawdy dla NAND-bramki Tabela4.2. Tabela prawdy dla NOR-bramki Zamiast AND i OR-bramek, można łatwo skonstruować tranzystorowe NOT AND (NAND) i NOT OR (NOR) bramki. Tablica prawdy dla bramki NAND jest przedstawiona w tabele 4.1. Realizacja tranzystorowa bramki NAND jest pokazana na rys.4.5. Jak było wyżej, ai = 1 oznacza, że potencjał bramki ( Vgs ) przewyższa wartość krytyczną i tranzystor przewodzi prąd. Rys.4.6. Tranzystorowa NOR-bramka Rys.4.5. Tranzystorowa NAND-bramka 5 Jeżeli ai = 1 i bi = 1 obaj tranzystory są otwarte, a zatem c f = 0 (różnica potencjałów między punktami c f i ziemią jest bardzo mały). Dla pozostałych przypadków, albo obaj tranzystory są zamknięty, albo jeden z nich jest zamknięty, a więc c f = 1 . Tablica prawdy dla NOR-bramki jest przedstawiona w tabeli 4.2. Realizacja tranzystorowa NOR-bramki jest pokazana na rys.4.6. Jeżeli ai = bi = 0 na rys.4.6, tj. różnica potencjałów między punktami ai i bi jest mniejsza od krytycznej wartości, wtedy obaj tranzystory są zamknięte i c f = 1 , tj. różnica potencjałów między punktem c f i źródłem (ziemią) jest równa w przybliżeniu Vds . W innych przypadkach, albo obaj tranzystory albo jeden z nich są otwarte i c f = 0 . Dotychczas rozważaliśmy realizację logicznych bramek, które stosują różne bity dla początkowych i końcowych wartości. Na przykład, gdy rozważaliśmy N-bramku (rys.3.1), mieliśmy dwa bity, „a” i „b”. N-bramka transformuje wartość „a” (którą nazwaliśmy początkową wartością ai ) w wartość bitu „b” (którą nazwaliśmy końcową wartością b f ). Na rys.3.1 jeden obwód elektryczny odpowiada bitowi „a”, a drugi – bitowi „b”. Dalej rozważmy logiczne bramki dla których ten sam obwód odpowiada „a” i „b”, a „b” transformuje się w „a”. Te bramki są szeroko stosowane i są ważne w teorii obliczeń kwantowych. Na przykład, N-bramka może operować tylko z jednym bitem „a”. A zatem końcowa wartość tego bitu, a f , jest równa dopełnieniu do początkowej wartości a f = ai . Rewersyjne logiczne bramki Bramki logiczne nazywają rewersyjnymi (odwracalnymi), jeżeli wejście i wyjście mogą być zamienione miejscami. Na przykład, N-bramka jest odwracalna. Istotnie, jeżeli mamy na wyjściu a f = 0 , to wiemy, że na wejściu a f = 1 i odwrotnie. AND – bramka jest oczywiście nieodwracalną. Istotnie, jeżeli mamy na wyjściu a f = 0 nie możemy powiedzieć, czy para (ai , bi ) jest równa (0,0), (0,1) albo (1,0). To same jest słuszne dla OR, XOR i NOR bramek. W formalizmie Hamiltona mechanika klasyczna i kwantowa opisują tylko procesy odwracalne. A zatem komputer zbudowany na logice kwantowo-mechanicznej musi zawierać tylko odwracalne logiczne bramki. W tabeli 4.3 jest pokazana tablica prawdy dwukubitowej CONTROL-NOT (CN) odwracalnej bramki. Pierwszy bit a nazywa się bitem kontrolnym. Drugi bit b nosi nazwę bitu celowego (target bit). CN-bramka zmienia wartość celowego bitu jeżeli wartość bitu kontrolnego jest równa jeden. Dla CN-bramki możemy zapisać 6 a f = ai , bf = bi , gdy ai = 0, bi , gdy ai = 1, (4.1) albo b f = ai bi . Tablica.4.3. Tablica prawdy dla rewersyjnej CN-bramki (4.2) Ry s.4.7. Konwencjonalny graf CN-bramki Oczywiście, że informacja nie zostaje stracona po zastosowaniu CN-bramki: jeżeli wiemy wyjściowe a f i b f , to możemy znaleźć wejściowe ai i bi . Konwencjonalny graf bramki CN jest przedstawiony na rys.4.7. Strzałka z kółkiem na rys.4.7 wskazuje na to, że wartość b f zależy od ai = a f . W tabeli 4.4 jest pokazana tablica prawdy dla trzechbitowej odwracalnej bramki – CONTROL-CONTROL-NOT (CCN) –bramki. Tablica 4.4. Tablica prawdy dla CCN-bramki Rys.4.8. Graf CCN-bramki CCN-bramka zawiera dwa kontrolne bity a i b , które nie zmieniają swoich wartości i celowy bit c , który zmienia swoją wartość tylko, jeżeli ai = bi = 1 . Graf dla CCN-bramki jest przedstawiony na rys.4.8. CCN-bramka jest uniwersalną bramką. Jeżeli załóżmy, że 7 ai = bi = 1 , to c f = ci i mamy N-bramkę. Jeżeli załóżmy, że ai = 1, to otrzymujemy tablicę prawdy przedstawioną w tabeli 4.5. Tablica 4.5. Tablica prawdy dla CCNbramki, jeżeli ai = 1 Tablica 4.6. Tablica prawdy dla CCN-bramki, jeżeli ci = 0 Można widzieć, że b f = bi i c f = bi ci . A zatem mamy CN-bramkę. Jeżeli ci = 0 , otrzymujemy tablicę prawdy 4.6. Z tablicy 4.6 widzimy, że c f = ai bi , (4.3) a zatem otrzymaliśmy AND-bramkę. Korzystając z dwóch CCN-bramek i dwóch CN-bramek można stworzyć sumator. Istotnie, że a i b są bitami do sumowania, a c - przenoszenie (carry-over). Wykorzystując dodatkowy bit d , możemy stosując cztery operacji do stworzenia sumatora d = 0, CCN(abd ), CN (ab), CCN(bcd ), CN (bc) . (4.4) Na pierwszym etapie, ustawiamy wartość d = 0 . Na drugim, stosujemy CCN-bramkę do bitów a, b i d ( a i b - kontrolne bity, d - wynikowa (target) jednostka). Zatem, stosujemy CN-bramkę do bitów a i b ( a kontrolna jednostka, b - wynikowa (target) jednostka). Dalej, stosujemy CCN-bramkę do Tabela. 4.7. Kolejne wartości bitów dla sekwencji (4.4) b, c i d . 8 Ostatecznie, stosujemy CN-bramkę do b i c . Jako wynik, wartość bitu c jest równa sumie bitów, a wartość bitu d jest nowym przenośnikiem (carry-over). Sprawdzimy sekwencję bramek (4.4) jako sumatora na przykładzie początkowych wartości: a = b = c = 1 . Kolejne wartości bitów są przedstawione w tabeli 4.7. W tabeli 4.7 druga linia przedstawia początkowe wartości bitów. Po działaniu CCN(abd) –bramki, wartość wyjściowa bitu d zmieni się, ponieważ a = b = 1 . CN-bramka CN(ab) zmieni wartość b , ponieważ a = 1. CCN(bcd) – bramka nie zmieni wartości bitów, ponieważ jeden z kontrolnych bitów b = 0 . CN(bc) – bramka nie wpływa na wartości bitów, ponieważ wartość bitu kontrolnego b = 0 . A zatem mamy prawidłową wartość sumy i przełącznik: c = 1, d = 1 . Można przedstawić działanie sekwencji (4.4) stosując graf przedstawiony na rys. 4.9. Cztery strzałki na rysunku oznaczają działanie CN i CCN – bramek. Rys.4.10. Graf F-bramki Rys.4.9. Graf sekwencji operacji (4.9) Ostatecznie w tabeli 4.8 i rys.4.10 są przedstawione tabela i graf dla dobrze wiadomej trójbitowej odwracalnej FREDKIN (F) – bramki. F-bramka może być nazwana CONTROLEXCHANGE – bramką. Tabela 4.9. Tablica prawdy dla F-bramki, w przypadku ci = 0 Tabela 4.8. Tablica prawdy F-bramki Kontrolny bit ai nie zmienia jej wartości a celowe bity bi i ci wymieniają swoje wartości jeżeli ai = 1. F-bramka też jest uniwersalną bramką i może być zastosowana do wykonania 9 dowolnej operacji logicznej. Na przykład, zakładając ci = 0 , otrzymujemy tablicę prawdy pokazana w tabeli 4.8. Z tej tabeli widać, że wartość c f jest równa c f = ai bi , a zatem mamy AND-bramkę. 10 (4.5)