7ALU, Half-full Adder, Ripple Carry Adder

15
Teknik Mikroprosessor Arithmatic Logic Unit 115 7 ARITHMATIC LOGIC UNIT ( alu ) half - full adder , ripple carry adder Tujuan : Setelah mempelajari half-full adder, ripple carry adder diharapkan dapat, 1. Memahami aturan-aturan Penjumlahan bilangan biner 2. Memahami aturan-aturan Pengurang bilangan biner 3. Memahami prinsip kerja penjumlah setengah (Half Adder) 4. Mampu melakukan operasi penjumlah setengah (half Adder) 5. Memahami prinsip kerja penjumlah penuh (Full Adder) 6. Mampu melakukan operasi penjumlah penuh (Full Adder) 7. Mampu membedakan prinsip dasar antara penjumlah setengah (Half Adder) dan Penjumlah penuh (Full Adder). 8. Memahami prinsip kerja Rangkaian Penjumlah dan Pengurang (Ripple Carry Adder) 9. Mampu melakukan operasi Penjumlah dan Pengurang (Ripple Carry Adder) Prasyarat : Untuk mempelajari Pembelajaran 7 diperlukan kegiatan dan kemampuan seperti di bawah ini , 1. Telah mengerjakan latihan-latihan pada Pembelajaran 6. 2. Semua latihan pada Pembelajaran 6 dijawab dengan Benar. 7. 1. Rangkaian Penjumlah Penjumlahan bilangan biner telah dibahas pada pembelajaran 3, sedangkan pada pem belajaran inti kita akan membahas rangkaian penjumlah yang dibangun dari aturan - aturan penjumlahan bilangan biner. Pada sebuah mikrocomputer dan juga komputer, hanya memproses bilangan biner. Di bawah ini adalah hasil penjumlahan dua buah bilangan biner yang masing-masing terdiri dari 1 ( satu ) bit. A + B Hasil Carry 0 + 0 0 + 1 1 + 0 1 + 0 0 1 1 0 0 0 0 1

description

ooo

Transcript of 7ALU, Half-full Adder, Ripple Carry Adder

  • Teknik Mikroprosessor Arithmatic Logic Unit 115

    7 ARITHMATIC LOGIC UNIT ( alu ) half - full adder , ripple carry adder Tujuan : Setelah mempelajari half-full adder, ripple carry adder diharapkan dapat,

    1. Memahami aturan-aturan Penjumlahan bilangan biner

    2. Memahami aturan-aturan Pengurang bilangan biner

    3. Memahami prinsip kerja penjumlah setengah (Half Adder)

    4. Mampu melakukan operasi penjumlah setengah (half Adder)

    5. Memahami prinsip kerja penjumlah penuh (Full Adder)

    6. Mampu melakukan operasi penjumlah penuh (Full Adder)

    7. Mampu membedakan prinsip dasar antara penjumlah setengah (Half

    Adder) dan Penjumlah penuh (Full Adder).

    8. Memahami prinsip kerja Rangkaian Penjumlah dan Pengurang (Ripple

    Carry Adder)

    9. Mampu melakukan operasi Penjumlah dan Pengurang (Ripple Carry

    Adder)

    Prasyarat : Untuk mempelajari Pembelajaran 7 diperlukan kegiatan dan kemampuan

    seperti di bawah ini ,

    1. Telah mengerjakan latihan-latihan pada Pembelajaran 6.

    2. Semua latihan pada Pembelajaran 6 dijawab dengan Benar.

    7. 1. Rangkaian Penjumlah

    Penjumlahan bilangan biner telah dibahas pada pembelajaran 3, sedangkan pada pem

    belajaran inti kita akan membahas rangkaian penjumlah yang dibangun dari aturan -

    aturan penjumlahan bilangan biner. Pada sebuah mikrocomputer dan juga komputer,

    hanya memproses bilangan biner. Di bawah ini adalah hasil penjumlahan dua buah

    bilangan biner yang masing-masing terdiri dari 1 ( satu ) bit.

    A + B Hasil Carry

    0 + 0

    0 + 1

    1 + 0

    1 + 0

    0

    1

    1

    0

    0

    0

    0

    1

  • Suatu rangkaian digital yang mampu melaksanakan operasi penjumlahan seperti pada

    tabel di balik disebut Half Adder ( HA ).

    HA

    Carry U

    Hasil A

    B

    B A U

    0 0 0 0

    0 1 1 0

    1 0 1 0

    1 1 0 1

    Gambar Blok Half Adder Tabel Fungsi Half Adder

    Dari tabel di atas, perhatikanlah sinyal " 1 " pada Hasil dan Carry U dapat dikembangkan persamaan fungsi seperti di bawah ini.

    Hasil = ( A B ) v ( A B ) = A v B ( Ex - OR ) Carry U = A B ( AND ) Dari kedua persamaan di atas dapat dikembangkan rangkaian Half Adder seperti di

    bawah ini.

    AB

    A

    B

    B

    A

    ( A B )

    U = A B

    V ( A B )( A B )

    Rangkaian Half Adder

    Teknik Mikroprosessor Arithmatic Logic Unit 116

  • Contoh

    Dilakukan penjumlahan antara dua bilangan A + B

    H H

    Teknik Mikroprosessor Arithmatic Logic Unit 117

    AB

    ( A B )

    H

    H

    H

    L

    H

    H

    L L

    L

    L

    U = A B = H

    V( A B ) ( A B ) = L

    Perhitungan : 1 A ( Variabel Input ) + 1 B ( Variabel Input ) 1 U ( Carry ) 0 ( Hasil ) Half Adder tidak dapat digunakan untuk melakukan proses penjumlahan dua buah

    bilangan yang masing-masing terdiri dari beberapa digit ( multi digit ). Penjumlahan

    yang terdiri dari beberapa bit harus menyertakan carry pada digit yang lebih tinggi

    berikutnya dan solusi penjumlah yang demikian disebut Full Adder ( FA ), dimana

    disamping input A dan B disertakan juga Carry sebagai bagian dari input.

    FA

    Carry Out

    Hasil A

    B

    Carry In

    C B A U

    0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 1

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

    Untuk hasil penjumlahan berlaku persamaan ,

  • = ( A B C ) v ( A B C ) v ( A B C ) v ( A B C ) Sesuai Hukum Distributive pada Aljabar Boole, persamaan fungsi di atas menjadi,

    = [ ( A B ) v ( A B ) ] C v [ ( A B ) v ( A B ) ] C = [ ( A B ) v ( A B ) ] C v ( 1 C ) = [ ( A B ) v ( A B ) ] ( C v C )

    = ( A V B ) V C = A V B V C Setelah melalui penyederhanaan, rangkaian dapat dinyatakan seperti pada gambar di bawah.

    AB

    C

    A V B

    A V B V C

    Disamping persamaan Hasil juga terdapat persamaan untuk Carry seperti di bawah ini,

    U = ( A B C ) v ( A B C ) v ( A B C ) v ( A B C ) Persamaan ini dapat disederhanakan menjadi,

    U = ( A B ) v ( B C ) v ( A C ) Dari kedua persamaan di atas dapat dikembangkan menjadi rangkaian digital Full

    Adder .

    A

    B

    A

    C

    A

    B

    B

    C

    A V B

    A V B V C

    A C

    A B

    B C

    V( A B ) ( B C ) V ( A C ) U =

    C

    Rangkaian Full Adder

    Contoh

    Teknik Mikroprosesso Logic Unit 118Dilakukan penjumlahan antara dua bilangan A + B dengan memper -

    r Arithmatic

  • hatikan Input Carry C H H

    H

    A

    B

    A V B

    A V B V C = L

    A C

    A B

    B C

    V( A B ) ( B C ) V ( A C ) U =

    C

    H

    L

    H

    L

    H

    H

    HH

    H

    L

    L

    H

    H

    LH H

    U = H

    L

    Perhitungan : 1 A ( Variabel Input ) + 0 B ( Variabel Input ) + 1 C ( Input Carry ) 1 U ( Output Carry ) 0 ( Hasil ) Penjumlah dua buah bilangan biner yang terdiri dari N bit, sehingga memerlukan N bit

    Full Adder seperti pada contoh di bawah.

    23 22 21 20 Tempat Bilangan

    A2 A1 A0 Variabel A ( 3 Bit ) 1 0 1

    B2 B1 B0 Variabel B ( 3 Bit )

    1 1 1

    C3 C2 C1 C0 Carry U ( C )

    1 1 1 0

    1 1 0 0 Hasil

    Teknik Mikroprosessor Arithmatic Logic Unit 119

    Pada tempat 20 tidak terjadi Carry ( 0 ), sehingga pada tempat ini ( bit ini )

    memerlukam rangkaian Half Adder. Sedangkan pada tempat 21 dan 22 masing-

    masing diperlukan Full Adder. Jika pada tempat 20 digunakan FA, maka Carry

    inputnya harus di berikan logik " L " .

  • FA1

    H

    A0 B0

    H

    20

    H

    0L

    FA2

    H

    A1 B1

    H

    21

    H

    1L

    FA3

    H

    A2 B2

    H

    22

    H

    2HH

    C3 C2 C1 C0

    23

    U0U1U2

    L

    Gambar Full Adder 3 Bit

    Gambar di bawah adalah rangkaian penjumlah 8 Bit yang dibangun dari 4 buah

    gerbang TTL 7482 ( 2 Bit FA ) atau 2 buah gerbang TTL 7483 ( 4 Bit FA ).

    A2

    B2

    A3

    B3

    3

    U4

    U4

    FA

    A4

    B4

    A5

    B5

    5

    U6

    U6

    FA

    A6

    B6

    A7

    B7

    7

    U8

    FA

    246

    U0

    A0

    B0

    A1

    B1

    01

    U2

    U2

    FAFAFA FA FA

    UB

    2 - Bit FA 7482

    1

    A1

    B1 2

    A2

    B2

    Un Un+2

    Full Adder 8 Bit

    7. 2. Ripple Carry Adder

    Jika pada rangkaian penjumlah n Bit, input Carry C0 diberikan sinyal " 1 " maka hasil

    penjumlahan bilangan A dan B akan kelebihan 1 ( satu ), sehingga pada masukan C0

    ini disebut Incremant ( INC ). Suatu rangkaian penjumlah yang mempunyai incremant

    input disebut Ripple Carry Adder.

    Teknik Mikroprosessor Arithmatic Logic Unit 120

  • FAU0

    C0

    FAUn-1

    Cn-1

    FAU1

    C1

    0

    1

    n-1

    FAUn

    Cnn

    INC

    Output Carry Un

    An

    An-1

    A1

    A0

    Bn

    Bn-1

    B1

    B0 Logik Diagram Ripple Carry Adder

    n - Bit FA

    Carry Out Un

    0

    1

    n-1

    n

    INC

    AnAn-1

    A1A0

    BnBn-1

    B1B0

    Blok Diagram Ripple Carry Adder

    7. 3. Rangkaian Penjumlah - Pengurang

    Dengan mengembangkan rangkaian Ripple Carry Adder yaitu dengan jalan

    menambahkan beberapa gerbang AND dan EX-OR didepannya sehingga

    memungkinkan rangkaian tersebut digunakan untuk operasi penjumlahan dan

    pengurangan, maka rangkaian tersebut disebut Rangkaian Penjumlah - Pengurang.

    Teknik Mikroprosessor Arithmatic Logic Unit 121

  • Un

    INC

    B0

    =1

    =1

    =1

    =1

    =1

    =1

    =1

    =1

    B1

    B2

    B3

    A0

    A1

    A2

    S4 S0S3 S2 S1

    A3

    Input Pengontrol

    Logik Diagram Penjumlah - Pengurang

    Gambar rangkaian penjumlah - pengurang di atas digunakan untuk operasi

    penjumlahan dan pengurangan bilangan A dan Bilangan B yang masing-masing terdiri

    dari 4 Bit dan mempunyai 5 ( lima ) input pengontrol yaitu S0, S1, S2, S3 dan S4.

    Tergantung dari kombinasi input pengontrol ini, maka ada 32 macam kombinasi seperti

    diperlihatkan pada tabel fungsi dari penjumlah - pengurang dibalik ini.

    24 23 22 21 20

    Des. S4 S3 S2 S1 S0 Fungsi Output 0 0 0 0 0 0 0 1 0 0 0 0 1 1 2 0 0 0 1 0 -1 3 0 0 0 1 1 0

    Teknik Mikroprosessor Arithmatic Logic Unit 122

  • 4 0 0 1 0 0 -1 5 0 0 1 0 1 0 6 0 0 1 1 0 -2 7 0 0 1 1 1 -1 8 0 1 0 0 0 B 9 0 1 0 0 1 B + 1

    10 0 1 0 1 0 - B - 1 = B 11 0 1 0 1 1 - B 12 0 1 1 0 0 B -1 13 0 1 1 0 1 B 14 0 1 1 1 0 - B - 2 15 0 1 1 1 1 - B - 1 = B 16 1 0 0 0 0 A 17 1 0 0 0 1 A + 1 18 1 0 0 1 0 A - 1 19 1 0 0 1 1 A 20 1 0 1 0 0 - A - 1 = A 21 1 0 1 0 1 - A 22 1 0 1 1 0 - A - 2 23 1 0 1 1 1 - A - 1 = A 24 1 1 0 0 0 A + B 25 1 1 0 0 1 A + B + 1 26 1 1 0 1 0 A - B - 1 27 1 1 0 1 1 A - B 28 1 1 1 0 0 B - A - 1 29 1 1 1 0 1 B - A 30 1 1 1 1 0 - A - B - 2 31 1 1 1 1 1 - A - B - 1

    Teknik Mikroprosessor Arithmatic Logic Unit 123

    Tabel Fungsi Penjumlah - Pengurang

    Contoh

    Fungsi Output A + B Input A = 0 0 0 0 Input B = + 1 1 1 1

    Input INC = + 0

    Output = 1 1 1 1

  • Un

    INC

    B0

    =1

    =1

    =1

    =1

    =1

    =1

    =1

    =1

    B1

    B2

    B3

    A0

    A1

    A2

    S4 S0S3 S2 S1

    A3

    H

    H

    H

    H

    H

    H

    H

    H

    L

    L

    L

    L

    L

    L

    L

    L

    H

    H

    H

    H

    L

    L

    L

    L

    L

    L

    L

    L

    H

    H

    H

    H

    H H L L L

    L

    H

    H

    H

    H

    L

    L

    L

    L

    H

    H

    H

    H

    Sesuai dengan tabel fungsi, input pengontrol untuk fungsi output A + B adalah

    kombinasi S4 S3 S2 S1 S0 Dengan keadaan sinyal pada S4 S3

    H H L L L H H

    informasi yang ada pada input A dan input B akan dilalukan menuju input gerbang

    EX-OR ( A 1 = A ) . Dengan keadaan sinyal pada S2 S1 informasi yang ada L L

    Teknik Mikroprosessor Arithmatic Logic Unit 124

    pada gerbang EX-OR akan dilalukan ke input Ripple Carry Adder, tanpa mengalami

    perubahan ( A V 0 = A ). Didalam Ripple Carry Adder terjadi proses penjumlahan

    informasi yang ada pada inputnya. Dengan keadaan sinyal pada S0 maka hasil

    L

    penjumlahan bilangan tidak ditambah dengan 1 ( satu ), sehingga pada output Ripple

    Carry Adder adalah hasil A + B.

  • Contoh

    Fungsi Output A - B Input A = 1 1 1 1 = 15 1 1 1 1 Input B = 0 0 1 1 = 3 + 1 1 0 0

    Input INC = 1 = 1 + 1

    Output = 1 1 1 0 0 = 12

    Un

    INC

    B0

    =1

    =1

    =1

    =1

    =1

    =1

    =1

    =1

    B1

    B2

    B3

    A0

    A1

    A2

    S4 S0S3 S2 S1

    A3

    H

    H

    H

    H

    H

    H

    H

    H

    L

    L

    L

    L

    H

    H

    H

    H

    H H L H H

    H

    H

    H

    L

    L

    H

    H

    H

    H

    H

    H

    H

    H

    L

    L

    H

    H

    L

    L

    H

    H

    H

    H

    L

    L

    H

    H

    H

    H

    Sesuai dengan tabel fungsi, input pengontrol untuk fungsi output A - B adalah

    kombinasi S4 S3 S2 S1 S0 Dengan keadaan sinyal pada S4 S3

    H H L H H H H

    informasi yang ada pada input A dan input B akan dilalukan menuju input gerbang

    EX-OR ( A 1 = A ) . Dengan keadaan sinyal pada S2 informasi yang ada L

    Teknik Mikroprosessor Arithmatic Logic Unit 125

  • pada gerbang EX-OR yang berasal dari input A akan dilalukan ke input Ripple Carry

    Adder, tanpa mengalami perubahan ( A V 0 = A ). Dengan keadaan sinyal

    pada S1 informasi yang ada pada input B akan dikomplement menjadi B dan

    L berada pada input Ripple Carry Adder . Dengan keadaan sinyal pada

    S0 maka diperoleh harga komplemen dua dari input B ( B + 1 = - B ), sehingga

    L proses penjumlahan yang terjadi pada Ripple Carry Adder menjadi A + (-B )

    = A - B

    7. 4. Arithmatic Logic Unit ( ALU )

    Untuk semua microprosessor tidak hanya mampu melaksanakan operasi-operasi

    arithmatik saja, tetapi juga harus mampu melaksanakan operasi-operasi logik. Kedua

    operasi ini dilaksanakan di dalam Aritmatic Logic Unit ( ALU ) yang terdapat pada

    seluruh microprosessor. Ada tiga dasar operasi logik yaitu,

    A B ( Operasi AND ) A V B ( Operasi OR )

    A V B ( Operasi EX-OR )

    keluaran dari ALU diatur oleh kombinasi Input pengontrol tambahan S5 dan S6 seperti

    tabel dibawah ini,

    Input Pengontrol Output Fungsi

    S6 S5 Yn

    0 0 X0n Operasi Arithmatik

    0 1 X1n Operasi AND

    1 0 X2n Operasi OR

    1 1 X3n Operasi EX-OR

    Teknik Mikroprosessor Arithmatic Logic Unit 126

  • =1

    1

    X0n

    X1n

    X2n

    X3n

    YnOutput

    ( n - Bit )

    ( n - Bit )

    ( n - Bit )

    Input A

    Input B

    S4 S3 S2 S1 S0 S6 S5

    U

    Blok Diagram Arithmatic Logic Unit ( ALU )

    Untuk percobaan dapat digunakan komponen TTL ALU 74181 4 Bit, sedangkan untuk

    8 Bit dapat digunakan dua buah ALU 74181 seperti gambar dibawah.

    UB

    1 2 3 4 5 6 7 9 121110 8

    14 131516171920 18212324 22

    A L U74 18174S 181

    A1 B1 A2 B2 A3 B3 G P F3

    B0 A0 S3 S2 S1 S0 Cn M F0 F1 F2

    Kaki - kaki IC ALU 74181

    A0 - A3 4 Bit Data input ( Operand A )

    B0 - B3 4 Bit Data input ( Operand B )

    S0 - S3 Pemilih Fungsi

    M Mode Control ( 1, Op. Logik )

    Cn,Cn+4 Carry

    A = B Komparator Output ( 1, A=B )

    F0 - F2 Output hasil operasi di ALU

    Teknik Mikroprosessor Arithmatic Logic Unit 127

  • Perhatikan gambar Blok Diagram Arithmatic Logic Unit ( ALU ) di depan, jika

    pengontrol S5 = S6 = 0 maka rangkaian Penjumlah - Pengurang dihubungkan dengan

    Output demikian juga untuk operasi logik yang lain tergantung dari kombinasi input

    pengontrol S5 dan S6 . Input pengontrol S0 sampai dengan S4 tidak mempengaruhi

    proses operasi logik. Secara matematis bahwa jika ada 7 ( tujuh ) input pengontrol S0

    sampai dengan S6 menghasilkan 27 = 128 kombinasi, tetapi pada rangkaian ini hanya

    diambil kombinasi-kombinasi fungsi yang mempunyai arti untuk pemrosesan data di

    dalam ALU. Seperti halnya pada tabel fungsi penjumlah pengurang terdapat hasil 0

    sampai 3 kali atau juga hasil yang tidak mempunyai arti di dalam aplikasi praktik ( mis. :

    -A -B -2 ). Selanjutnya diantara fungsi-fungsi yang ada pada operasi arithmatik diambil

    10 ditambah 3 fungsi untuk opersi logik, sehingga hanya berjumlah 13 fungsi. Ke-13

    fungsi yang dihasilkan dari 7 buah input pengontrol ( S6 - S0 ) disimpan di dalam ROM

    sedangkan data outputnya digunakan untuk mengontrol ALU. Dengan 4 penghantar

    alamat ROM dapat menyimpan 24 = 16 kombinasi fungsi.

    Input Alamat ( Input ROM )

    Sinyal Pengontrol ( Output ROM ) Fungsi

    U3 U2 U1 U0 S6 S5 S4 S3 S2 S1 S0 Yn 0 0 0 0 0 0 1 0 0 0 0 A

    0 0 0 1 0 0 0 0 0 0 1 1

    0 0 1 0 0 0 1 0 1 0 0 A

    0 0 1 1 0 0 0 1 0 0 0 B

    0 1 0 0 0 0 0 0 0 0 0 0

    0 1 0 1 0 0 1 0 0 0 1 A + 1

    0 1 1 0 0 0 1 0 0 1 0 A - 1

    0 1 1 1 0 0 1 1 0 0 0 A + B

    1 0 0 0 0 0 1 1 0 1 1 A - B

    1 0 0 1 0 1 x x x x x A B 1 0 1 0 1 0 x x x x x A V B

    1 0 1 1 1 1 x x x x x A V B

    1 1 0 0 0 0 0 0 0 1 0 - 1

    1 1 0 1

    1 1 1 0 untuk langkah berikutnya

    1 1 1 1

    Teknik Mikroprosessor Arithmatic Logic Unit 128

  • S6 S5 S4 S3 S2 S1 S0

    U3U2U1U0

    Konversi Sinyal Pengontrol di ROM

    Contoh Pembahasan,

    Fungsi Yn = A + 1 Informasi pada input A akan di increment,

    =1

    ( n - Bit )

    Input A

    ( n - Bit )

    Input B

    U

    X0n

    X1n

    X2n

    X3n

    R O MS4 S3 S2 S1 S0 S6 S5

    U3 U2 U1 U0

    L H L H

    H L L L H L L

    Yn = A + 1 Output

    ( n - Bit )

    1

    Teknik Mikroprosessor Arithmatic Logic Unit 129