Prinsip ALU
-
Upload
zull-mkself-archer -
Category
Documents
-
view
246 -
download
0
description
Transcript of Prinsip ALU
TUGAS 1
SISTIM BASIS DATA
DOSEN : Ir. AKHMAD TOYIB RAHARJO M.Sc
* OLEH *NO NIM NAMA MAHASISWA TANDA TANGAN
1 2004 03 0002 INDRAWATI 1
2 2004 03 0004 ANTENG YTI 2
3 2004 03 0007 IMRAN ALGAZALI HASAN 3
4 2004 03 0012 ANDRIE EKA P 4
5 2004 03 0017 FITRIANI 5
6 2004 03 0024 FIRMAN SM SOMALA 6
7 2004 03 0032 ADNAN PERDANA 7
8 2005 03 0048 YOEL RUPANG 8
JURUSAN TEHNIK KOMPUTERSTMIK HANDAYANI
19-Apr-2006
III. Prinsip ALUa). Penjumlah (Adder) - Half Adder biasa disebut penjumlah tak lengkap, Penjumlah setengah, penjumlah paru.
A S (Sum = Jumlah) B C C (Carry = bawaan)
S = A + B + C = ABC + ABC + ABC + ABC
AB
AC C= AB+AC+BC
BC
A B C S Carry0 0 0 0 0 * Sum (s) akan mengeluarkan logika 10 0 1 1 0 apabila jumlah masukan 1-nya ganjil0 1 0 1 00 1 1 0 1 * Carry © akan mengeluarkan logika 11 0 0 1 0 apabila jumlah masukan 1-nya lebih1 0 1 0 1 dari satu.1 1 0 0 11 1 1 1 1
A C = Carry
B
C
- Paralel Adder = Penjumlah Paralel = Jajar
Penjumlah paralel 4 bit A4 B4 A3 B3 A2 B2 A1 B1 A0 B0
S5
S4
HA
HA
HA
FA
FA FAFA FA
<-----Rangkaian Full Adder
FA
u/ 5 bit
<--------
A B C
Bawaan
BawaanS=SUM (jumlah)
Jumlah
<----- Simbol full adderS
C
A
B
C
7483 <--------- Penambah biner 4 Bit
0
1 1 00 0
0
1 00
11
1
0 0 0
C3 C2 C1 C00 0 0
S0S1S2S3S4
A3 A2 A1 A0 B3 B2 B1 B0 + S4 S3 S2 S1 S0
Penjumlah B C D
0 1 1
Contoh :
9 1 0 0 13 + 0 0 1 1 +
0 12 1 1 0 0
0 1 1 0 +1 0 0 1 0
Catatan : - Persamaan biner pada BCD hanya sampai pada angka 9 - Setiap penjumlahan lebih dari 9 ditambah dg 6 = 0110 (Faktor koreksi)
b). Pengurang - Pengurang Komplemen 1.
Sebagai hasil = 0 0 1 0
9 1 0 0 1 1 0 0 17 - 0 1 1 1 - 1 0 0 0 +2 0 0 1 0 1 0 0 0 1
1+ 0 0 1 0
Catatan :
FA FAFA FA
11 0 S1S2S3
Bawaan dari penjumlah sebelumnya
FA HA
11
1
0
0
0
0
1
1 1
1
11
1
1
1
Z4 Z3 Z2Z1 Z0
Catatan : utk 8 bit, buat 8 kotak !
0
1
0
0
11
1
1
11 0
1 0 0 1 0
Faktor koreksi
Bawaanpenjumlahanbersangkutan
0001 0010
faktor koreksi ---->
1
1
1 10
1
1
11
0
000
0
10
0
000
FA FA FA FA
0
0
0 0 0
11
1
00
A0A1A2A3
<----- Pertama0 00 0
B3 B2 B1 B0
--------><------- Hasil
0
0 0 0 0
1
1 1 1
B0B3 B2 B1A4 A2 A1 A0
S0
1
1
*) Jika carry terakhir = 0 , maka ada rangkaian tertentu (dlm mesin) yang mengkomplemen 1-kan hasil pertamanya
7 0 1 1 1 0 1 1 19 - 1 0 0 1- 0 1 1 0 +-2 0 0 1 1 1 0 1
0 0 1 0
Catatan :Sub = 0 -----> Sebagai penjumlahSub = 1 -----> Sebagai pengurang komp 2
Contoh : Sub = 1 7 0 1 1 1 0 1 1 1
2- 0 0 1 0 - 1 1 1 0 +5 0 1 0 1 0 1 0 1
c). Pengali
9 13
Catatan : Suatu perkalian memerlukan n langkah dasar, dimana n adalah banyaknya bit pada bilangan yang akan dikalikan,
Langkah - langkah Dasar :1) Jika Bit yang paling kanan pada register B adalah 0, maka Akumulator kombinasi register B
digeser kekanan satu kedudukan / satu tempat2) Jika bit yang paling kanan pd register B adalah 1, maka bilangan didalam register Y dijumlahkan kedalam isi Akumulator & Akumulator kombinasi register B digeser kekanan satu kedudukan (satu tempat)
dan kemudian/terakhir, menggeser ke kanan 1 kedudukan pada akumulator kombinasi register B
10
1
-------->
-------->komplemenkan
Hasilnya
1
1
1
01
1
1 11
0
10
010
FA FA FA FA
1 10
0 00 0
S3S2 S1 S0S1 S0
0
1
1 1 1 1
11 0
0 0 0
SUB
0 0
0 0
A3A2 A1 A0B3 B2 B1
B0
tdk dipakai
Penjumlah ------->
1
1
1
1
0 0 0
0 0
<------- Pengurang komp 2
1<---- komplemen 2
dibuang
A d d e r sadder ---->
Register Y
Masukan informasi dari memori
Y4 Y3 Y2 Y1 Y0
X4 X3 X2 X1 X0 B4 B3 B2 B0B1
Hub geser Kanan
Accumulator Register BGeser kanan --->
Reset ----->Geser kiri ----->
Hub geser kiri
<------ Kinali dimasukkan ke dlm Register Y
1 0 0 11 1 0 1 x
1 0 0 1 0 0 0 0 . 1 0 0 1 . .1 0 0 1 . . .
1 1 1 0 1 0 1
Jumlah parsil
<------ Multiplican = Kinali<-------- Multiplier = Pengali
* Kondisi mula-2/Pertama :
Acc Reg B
Reg Y
Pengali
Kinali
* Setelah proses terakhir
0 ------- 0
Hasil kali Hasil kali
Kinali
Pengali dimasukkan kedalam register B
1
1
1
contoh :Mengalikan 1001 X 1101 e
Step 1:
Step 2 :
Step 3 :
Step 4 :
Setelah langkah terakhir dikerjakan, maka hasilnya harus digeser kekanansatu kedudukan:
0 0 0 0 0 0 1 1 0 1
0 1 0 0 1
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0
0 1 1 0 1
0 1 0 0 1
0 1 0 0 1
0 1 0 0 1
1 0 1 1 0
0 1 0 0 1
0 0 0 1 0
0 1 0 0 1
0 0 1 0 0
1 0 1 0 1
0 1 0 1 1
0 1 0 1 1
0 0 1 0 1
0 1 0 0 1
0 1 0 0 1
0 1 0 1 1
a)
b)
a)
b)
a)
a)
b)
0 0 1 1 1
0 1 0 0 1
0 1 0 1 0
0 1 1 1 0
0 1 0 0 1
1 0 1 0 1
0 1 0 0 1
<-------Lalu geser ke kanan 1x
<-------Bit terkanan Reg B=1; Jumlahkan Acc dg Reg Y
<-------Bit terkanan Reg B masih = 0 geser ke kanan 1x lagi
<-------Bit terkanan Reg B = 1;+kan Reg Y dgn acc
<-------Lalu geser 1x ke kanan
<-------Bit terkanan Reg. B = 1;+kan Reg. Y dgn acc
<-------Lalu geser 1x ke kanan
0 0 0 0 0
0 0 0 1 1
0 1 0 0 1
1 0 1 0 1
Acc B
Y
------------> 4 langkah dasar
Acc B
Y
Jawabannya ada pd Accumulator kombinasi Register B = 1 1 1 0 1 0 1
d. PembagiTerdapat 2 teknik umum u/melakukan pembagian dalam mesin biner :Teknik pemulihan dan teknik tanpa pemulihan . Contoh yang akan kitagunakan memakai teknik pemulihan.Seperti dalam perkalian, teknik pemulihan u/pembagian memerlukanlangkah dasar dilaksanakan berkali-2 (dlm kasus ini sebanyak digitberperan dalam kinurang).Catatan: - Suatu pembagian memerlukan M + 1 langkah dasar dimana Madalah Banyaknya pergeseran yg diperlukan pembagi (Register Y)untuk menjajarkan bit 1 nya dg bit 1 paling kiri pd Akumulator (binagi). Langkah dasar:Dalam teknik pemulihan langkah dasarnya terdiri dari"pembagian percobaan"yg dibuat dg melakukan pengurangan register Y dari akumulator.Setelah pengurangan, salah satu butir berikut ini dilaksanakan.*) Jika hasil negatip pembagi tidak masuk sehingga 0 ditempatkan / diletakkan dlm bit paling kanan dari register B, dan Binagi (Akumulator) dipulihkan dgn melakukan penjumlahan pd hasil pengurangan. Setelah itu kombinasi register B & Akumulator digeser ke kiri.*) Jika hasil pengurangan adalah Positip atau nol, akumulator & register B langsung digeser ke kiri, kemudian 1 letakkan dlm bit paling kanan dari register B. - Akhirnya, untuk mengatur sisanya, Akumulator harus digeser kekanan(M + 1) kali setelah langkah dasar dilaksanakan.
Contoh :Membagi 01011 : 00100 ------> 4 bit + 1 bit tandaJawab : - Kondisi Mula - mula : - Setelah Pembagian
Contoh Soal : 1. Membagi 1 0 1 1 : 0 1 0 0
Jawab :
Binagi
Pembagi
0 1 0 1 1 0 0 0 0 0
0 0 1 0 0
Acc
Reg Y
Reg B
0 0 0 1 1 0 0 0 1 0
0 0 1 0 0
Sisa
Pembagi
Hasil
Acc B
Y
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 1
0 1 0 1 1
0 1 0 1 1
0 0 1 0 0
0 1 0 0 0
0 1 0 0 0
0 0 0 1 1
0 0 1 1 0
------> 2 Langkah dasar
<------- geser 1 langkah ke kiri
<------ Kurangkan
Acc B
Y
Langkah 1
<----geser kekiri 1x & t4 1 pd bit terkanan Register B
a)
*)
0 0 0 0 1
0 0 0 0 1
0 0 0 0 1
0 0 0 1 0
0 0 0 1 0
0 1 1 0 0
0 0 1 1 0
0 0 1 1 0
0 1 0 0 0
1 1 1 1 0
0 1 0 0 0
0 1 0 0 0
0 1 0 0 0
0 1 0 0 0
0 0 0 1 1
Langkah 2
<----geser kekiri 1x & t4 1 pd bit terkanan Register B
<----- Kurangkan lagi, hasilnya negatip
<----- Jumlahkan
<----geser kekiri 1x & t4 0 pd bit terkanan Register B
<----- Langkah terakhir, geser kekanan Acc 2x ( = 2 langkah dasar )
sisa Hasil
0 0 1 0 0
a)
<-----Pembagi
Suatu perkalian memerlukan n langkah dasar, dimana n adalah banyaknya bit pada bilangan yang akan dikalikan,
Langkah - langkah Dasar :1) Jika Bit yang paling kanan pada register B adalah 0, maka Akumulator kombinasi register B digeser kekanan satu kedudukan / satu tempat2) Jika bit yang paling kanan pd register B adalah 1, maka bilangan didalam register Y dijumlahkan kedalam isi Akumulator & Akumulator kombinasi register B digeser kekanan satu kedudukan (satu tempat)
dan kemudian/terakhir, menggeser ke kanan 1 kedudukan pada akumulator kombinasi register B
Pengali dimasukkan kedalam register B