New i, lub, nie - fulmanski.pl · 2017. 4. 4. · Sumator 1-bitowy Model dziaªania. Sumator...

17

Transcript of New i, lub, nie - fulmanski.pl · 2017. 4. 4. · Sumator 1-bitowy Model dziaªania. Sumator...

  • i, lub, nieCegieªki buduj¡ce wspóªczesne procesory.

    Piotr Fulma«ski

    Uniwersytet ódzki, Wydziaª Matematyki i Informatyki [email protected]

    http://fulmanski.pl/zajecia/prezentacje/festiwalnauki2017/festiwal_wmii_2017_

    fulmanp.pdf

    5 kwietnia 2017

    mailto:[email protected]://fulmanski.pl/zajecia/prezentacje/festiwalnauki2017/festiwal_wmii_2017_fulmanp.pdfhttp://fulmanski.pl/zajecia/prezentacje/festiwalnauki2017/festiwal_wmii_2017_fulmanp.pdf

  • Table of contents

    1 Algebra Boole'a

    2 Bramki

    3 Liczby dwójkowe

    4 Sumator 1-bitowy

  • Algebra Boole'aDe�nicja

    Niech b¦dzie dana szóstka uporz¡dkowanaT = (B,AND,OR,NOT , 0, 1), gdzie

    B � pewien zbiór,

    AND (·) oraz OR (+) � dwa binarne operatory (dziaªania)okre±lone na elementach zbioru B,

    NOT (linia nad symbolem, jak np. x) � unarny operator (dziaªanie)okre±lone na elementach zbioru B,

    0, 1 � dwa wyró»nione elementy ze zbioru B.

  • Algebra Boole'aDe�nicja

    Dla dowolnych elementów a, b oraz c nale»¡cych do B okre±lamynast¦puj¡cy zbiór aksjomatów A

    a+ (b + c) = (a+ b) + c a · (b · c) = (a · b) · c ª¡czno±¢a+ b = b + a a · b = b · a przemienno±¢

    a+ (a · b) = a a · (a+ b) = a pochªanianiea+ 0 = a a · 1 = a identyczno±¢

    a+ (b · c) = (a+ b) · (a+ c) a · (b + c) = (a · b) + (a · c) rozdzielno±¢a+ a = 1 a · a = 0 dopeªnienie

  • Algebra Boole'aKonsekwencje � twierdzenia

    Z podanych powy»ej aksomatów mo»na wyprowadzi¢ wiele ró»nychtwierdze«, z których jednym z najpowszechniej u»ywanych s¡ prawa DeMorgana

    x + y = x · yx · y = x + y

  • Algebra Boole'aDwuelementowa algebra Boole'a

    Z informatycznego punktu widzenia istotna dla nas jest najprostszaalgebra Boole'a, tzn. tak, w której zbiót B jest dwuelementowy a wi¦cskªada si¦ tylko z elementów 0 i 1.Na podstawie podanych wcze±niej aksjomatów mo»na wyprowadzi¢ zbiórreguª charakteryzuj¡cych operacje AND, OR oraz NOT. Zwykle reguªy tezapisujemy w postaci tzw. tabel prawdy

    a b AND(a, b) OR(a, b) NOT(a)

    0 0 0 0 10 1 0 1 11 0 0 1 01 1 1 1 0

  • Algebra Boole'aDlaczego to nas interesuje?

    Algebra Boole'a ma zastosowania w logice, gdzie 0 mo»emy interpretowa¢jako FASZ (FALSE), 1 za± jako PRAWD (TRUE). Dwuprzedmiotowaalgebra Boole'a jest równie» wykorzystywana do projektowania obwodóww elektrotechnice. W takim przypadku 0 i 1 reprezentuj¡ dwa ró»ne stanyjednego bitu w obwodzie cyfrowym, zazwyczaj wysokie i niskie napi¦cie.Obwody s¡ opisywane przez wyra»enia zawieraj¡ce zmienne, a dwa takiewyra»enia s¡ równe, wtedy i tylko wtedy, gdy dla wszystkich warto±cizmiennych, odpowiednie obwody generuj¡ takie same sygnaªy wyj±ciowe.Ponadto, ka»dy mo»liwy zwi¡zek pomi¦dzy wej±ciem a wyj±ciem mo»eby¢ modelowany przez odpowiednie wyra»enie boolowskie. To sprawia, »ealgebra Boole'a jest idealnym narz¦dziem, które mo»emy wykorzysta¢podczas projektowania obwodów logicznych.

  • Bramki

    Cho¢ funkcje logiczne AND, OR, NOT uwa»ane s¡ za podstawowe, to wpraktyce w informatyce wykorzystuje si¦ tak»e, a cz¦sto przedewszystkim, inne tj. NAND, NOR, XOR.W elektronice powy»sze funkcje logiczne implementowane s¡ za pomoc¡bramek

    Maj¡c okre±lony schemta logiczny (sposób poª¡czenia bramek ze sob¡)bez trudu mo»na okre±li¢ stan wyj±¢ ukªadu w odpowiedzi na okre±lon¡kombinacj¦ sygnaªow wej±ciowych.

  • BramkiZwi¡zek wej±cia z wyj±ciem

    Przyjrzyjmy si¦ jak reaguje ukªad nazywany komparatorem

  • Liczby dwójkowe

  • Dodawanie liczb dwójkowych

    bit przeniesienia

    |

    1

    0 0 1 1

    0 + 1 + 0 + 1 +

    ===== ===== ===== ======

    0 1 1 10

  • Dodawanie liczb dwójkowych � troch¦ praktyki

    bit przeniesienia

    |

    1

    0 0 1 1

    0 + 1 + 0 + 1 +

    ===== ===== ===== ======

    0 1 1 10

    11 1 11 1

    01101100101100 6956

    01100101101010 + 6506 +

    ================== =========

    11010010010110 13462

  • Sumator 1-bitowy

    Ukªad realizuj¡cy dodawanie dwóch cyfr dwójkowych na jednej pozycji wliczbie dwójkowej.

    cin x y value cout0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 1 01 1 1 1 1

  • Sumator 1-bitowyModel dziaªania

  • Sumator 1-bitowySchemat

  • Sumator 1-bitowySymulacja

  • Sumator 1-bitowyRealny ukªad

    Algebra Boole'aBramkiLiczby dwójkoweSumator 1-bitowy