ARSITEKTUR KOMPUTER
ALU (ARITHMETIC & LOGICAL UNIT)
Oleh : Warto, Ir., M.Kom
Minggu ke : IV
E-pos : warto.rm@gmail.com
1-Jan-09

Arsitektur Komputer

1

PENDAHULUAN
• Empat metoda komputasi dasar yang dilakukan
oleh ALU komputer : penjumlahan,
pengurangan, perkalian, dan pembagian.
• Rangkaian ALU dasar terdiri atas gerbang OR,
AND, dan rangkaian full adder 1 bit.
• Rangkaian full adder 1 bit pada rangkaian ALU
dasar pada awalnya hanya melakukan
penjumlahan unsigned number.
• Pengembangan lebih lanjut pada rangkaian ALU
dasar mampu melakukan operasi pengurangan.
1-Jan-09

Arsitektur Komputer

2

1
RANGKAIAN ALU DASAR KOMPUTER

1-Jan-09

Arsitektur Komputer

3

Operasi Aritmatika Dasar
• Addition / Penjumlahan
• Complements
• Subtraction / Pengurangan

1-Jan-09

Arsitektur Komputer

4

2
Penjumlah Biner dengan 1 dan 2 operand

1-Jan-09

Arsitektur Komputer

5

Hardware for Addition and Subtraction

1-Jan-09

Arsitektur Komputer

6

3
Binary Complement

1-Jan-09

Arsitektur Komputer

7

Pengurangan Biner

1-Jan-09

Arsitektur Komputer

8

4
RANGKAIAN PERKALIAN
• Dua Buah bilangan biner dapat dikalikan
dengan metoda yang sama dengan metoda
perkalian pada bilangan desimal.
• Sebagai pengantar akan ditunjukkan operasi
perkalian konvensional dengan bilangan tak
bertanda (unsigned number).
• Sebagai contoh akan ditunjukkan operasi
perkalian untuk operand Multiplicand (M) =
1110 dan Multiplier (Q) = 1011.
1-Jan-09

Arsitektur Komputer

9

Gambaran Proses Perkalian 4 Bit

1-Jan-09

Arsitektur Komputer

10

5
ARRAY MULTIPLIER UNTUK BILANGAN UNSIGNED
Perkalian
bilangan
bertanda

1-Jan-09

Arsitektur Komputer

11

Unsigned Binary Multiplication

1-Jan-09

Arsitektur Komputer

12

6
Execution of Example

+

1-Jan-09

Arsitektur Komputer

13

Flowchart for Unsigned Binary Multiplication

1-Jan-09

Arsitektur Komputer

14

7
Multiplying Negative Numbers
• This does not work!
• Solution 1
– Convert to positive if required
– Multiply as above
– If signs were different, negate answer

• Solution 2
– Booth’s algorithm

1-Jan-09

Arsitektur Komputer

15

Arsitektur Komputer

16

Booth’s Algorithm

1-Jan-09

8
Example of Booth’s Algorithm

1-Jan-09

Arsitektur Komputer

17

Division
• More complex than multiplication
• Negative numbers are really bad!
• Based on long division

1-Jan-09

Arsitektur Komputer

18

9
Division of Unsigned Binary Integers

00001101
Divisor
Partial
Remainders

Quotient

1011 10010011
1011
001110
1011

Dividend

001111
1011
100

1-Jan-09

Remainder

Arsitektur Komputer

Division Algorithm

19

start

A=0
M = Divisor
Q = Dividend
Count = n

Shift Left A,Q
A=A-M

N
Q0 = 1

Y

Q0 = 0
A=A+M

A<0
?

Count = Count - 1

N

Y
Count = 0
?

1-Jan-09

Arsitektur Komputer

Stop

20

10
Example
A

Q

0000

0111

Initial value

0000

1110

Shift

1101

M = 0011

Subtract

0000

1110

Restore

0001

1100

Shift

1110

Subtract

0001

1100

Restore

0011

1000

Shift

0000

Subtract

0000

1001

Set Q0 = 1

0001

0010

Shift

1110
0001
1-Jan-09

Subtract
0010

Restore

Arsitektur Komputer

21

Critical Delay Path Pada Array Multiplier

1-Jan-09

Arsitektur Komputer

22

11
Masalah & Pemecahan Pada Array Multiplier
• Critical Delay Path nya besar
• Untuk meningkatkan performansi multiplier
digunakan konsep pipelining
• Pipelining mampu mengurangi waktu siklus
tetapi tidak mengurangi waktu total proses
perkallian.
• Salah satu algoritma untuk mempercepat
perkalian ini adalah Booth encoding algorithm.
1-Jan-09

Arsitektur Komputer

23

Booth Encoding Algorithm
• Merupakan salah satu algoritma untuk
meningkatkan kecepatan proses perkalian
• Algoritma ini menggunakan ide dasar bahwa
proses adder-subtractor secara kecepatan dan
tingkat kesederhanaan rangkaian hampir sama
dengan adder sederhana.
• Bentuk umum algoritma ini berhubungan
dengan 3 bit pengali pada satu waktu yang
membentuk proses perkalian dua tingkat.
1-Jan-09

Arsitektur Komputer

24

12
Multiplying Negative Numbers
• This does not work!
• Solution 1
– Convert to positive if required
– Multiply as above
– If signs were different, negate answer

• Solution 2
– Booth’s algorithm

1-Jan-09

Arsitektur Komputer

25

1-Jan-09

Arsitektur Komputer

26

13

Arkom7

  • 1.
    ARSITEKTUR KOMPUTER ALU (ARITHMETIC& LOGICAL UNIT) Oleh : Warto, Ir., M.Kom Minggu ke : IV E-pos : warto.rm@gmail.com 1-Jan-09 Arsitektur Komputer 1 PENDAHULUAN • Empat metoda komputasi dasar yang dilakukan oleh ALU komputer : penjumlahan, pengurangan, perkalian, dan pembagian. • Rangkaian ALU dasar terdiri atas gerbang OR, AND, dan rangkaian full adder 1 bit. • Rangkaian full adder 1 bit pada rangkaian ALU dasar pada awalnya hanya melakukan penjumlahan unsigned number. • Pengembangan lebih lanjut pada rangkaian ALU dasar mampu melakukan operasi pengurangan. 1-Jan-09 Arsitektur Komputer 2 1
  • 2.
    RANGKAIAN ALU DASARKOMPUTER 1-Jan-09 Arsitektur Komputer 3 Operasi Aritmatika Dasar • Addition / Penjumlahan • Complements • Subtraction / Pengurangan 1-Jan-09 Arsitektur Komputer 4 2
  • 3.
    Penjumlah Biner dengan1 dan 2 operand 1-Jan-09 Arsitektur Komputer 5 Hardware for Addition and Subtraction 1-Jan-09 Arsitektur Komputer 6 3
  • 4.
  • 5.
    RANGKAIAN PERKALIAN • DuaBuah bilangan biner dapat dikalikan dengan metoda yang sama dengan metoda perkalian pada bilangan desimal. • Sebagai pengantar akan ditunjukkan operasi perkalian konvensional dengan bilangan tak bertanda (unsigned number). • Sebagai contoh akan ditunjukkan operasi perkalian untuk operand Multiplicand (M) = 1110 dan Multiplier (Q) = 1011. 1-Jan-09 Arsitektur Komputer 9 Gambaran Proses Perkalian 4 Bit 1-Jan-09 Arsitektur Komputer 10 5
  • 6.
    ARRAY MULTIPLIER UNTUKBILANGAN UNSIGNED Perkalian bilangan bertanda 1-Jan-09 Arsitektur Komputer 11 Unsigned Binary Multiplication 1-Jan-09 Arsitektur Komputer 12 6
  • 7.
    Execution of Example + 1-Jan-09 ArsitekturKomputer 13 Flowchart for Unsigned Binary Multiplication 1-Jan-09 Arsitektur Komputer 14 7
  • 8.
    Multiplying Negative Numbers •This does not work! • Solution 1 – Convert to positive if required – Multiply as above – If signs were different, negate answer • Solution 2 – Booth’s algorithm 1-Jan-09 Arsitektur Komputer 15 Arsitektur Komputer 16 Booth’s Algorithm 1-Jan-09 8
  • 9.
    Example of Booth’sAlgorithm 1-Jan-09 Arsitektur Komputer 17 Division • More complex than multiplication • Negative numbers are really bad! • Based on long division 1-Jan-09 Arsitektur Komputer 18 9
  • 10.
    Division of UnsignedBinary Integers 00001101 Divisor Partial Remainders Quotient 1011 10010011 1011 001110 1011 Dividend 001111 1011 100 1-Jan-09 Remainder Arsitektur Komputer Division Algorithm 19 start A=0 M = Divisor Q = Dividend Count = n Shift Left A,Q A=A-M N Q0 = 1 Y Q0 = 0 A=A+M A<0 ? Count = Count - 1 N Y Count = 0 ? 1-Jan-09 Arsitektur Komputer Stop 20 10
  • 11.
    Example A Q 0000 0111 Initial value 0000 1110 Shift 1101 M =0011 Subtract 0000 1110 Restore 0001 1100 Shift 1110 Subtract 0001 1100 Restore 0011 1000 Shift 0000 Subtract 0000 1001 Set Q0 = 1 0001 0010 Shift 1110 0001 1-Jan-09 Subtract 0010 Restore Arsitektur Komputer 21 Critical Delay Path Pada Array Multiplier 1-Jan-09 Arsitektur Komputer 22 11
  • 12.
    Masalah & PemecahanPada Array Multiplier • Critical Delay Path nya besar • Untuk meningkatkan performansi multiplier digunakan konsep pipelining • Pipelining mampu mengurangi waktu siklus tetapi tidak mengurangi waktu total proses perkallian. • Salah satu algoritma untuk mempercepat perkalian ini adalah Booth encoding algorithm. 1-Jan-09 Arsitektur Komputer 23 Booth Encoding Algorithm • Merupakan salah satu algoritma untuk meningkatkan kecepatan proses perkalian • Algoritma ini menggunakan ide dasar bahwa proses adder-subtractor secara kecepatan dan tingkat kesederhanaan rangkaian hampir sama dengan adder sederhana. • Bentuk umum algoritma ini berhubungan dengan 3 bit pengali pada satu waktu yang membentuk proses perkalian dua tingkat. 1-Jan-09 Arsitektur Komputer 24 12
  • 13.
    Multiplying Negative Numbers •This does not work! • Solution 1 – Convert to positive if required – Multiply as above – If signs were different, negate answer • Solution 2 – Booth’s algorithm 1-Jan-09 Arsitektur Komputer 25 1-Jan-09 Arsitektur Komputer 26 13