Aritmatika Komputer
Arithmetic & Logic Unit
o
Tugas ALU: Melakukan kalkulasi biner
o
Semua komponen lain dalam komputer sebenarnya ada untuk melayani ALU
o
ALU hanya bisa menangani bilangan bulat (integer)
Representasi Integer
•
Meskipun secara matematis, dalam sistem bilangan biner bisa digunakan tanda minus dan radix point, di dalam komputer hanya ada bilangan 0 & 1 untuk merepresentasikan semua angka
•
128 64 32 16 8 4 2 1
Representasi Integer Positif
•
Misal data akan disimpan dalam reg. 8-bit:
00000000 = 0
00000001 = 1
00101001 = 41
10000000 = 128
11111111 = 255
Representasi Integer Negatif
•
Bit paling kiri menunjukkan magnitude integer (positif atau negatif) → sign bit
•
+18 = 00010010
- 18 = 10010010
•
Kekurangan: ada 2 buah angka nol: nol positif (00000000) dan negatif (10000000)
Konversi antara panjang bit yang berbeda
•
Mungkin saja antar register tidak memiliki panjang bit yang sama, misall dari 8 ke 16
•
Positive number pack with leading zeros
+18 =
00010010
+18 =
00000000 00010010
•
Negative numbers pack with leading ones
-18 =
10010010
-18 =
11111111 10010010
Contoh untuk 4-bit:
3 + 4
0011
= 3
+0100
= 4
0111
= 7
5 - 7
0101
= 5
+1001
= -7
1110
= -2
Latihan: -4 + 4, 4 – 1, 5 + 4, -7 – 6
Unit Kontrol
•
Bagian CPU yang menyebabkan fungsi komputer dapat tercapai.
•
Mengeluarkan sinyal-sinyal kontrol yang bersifat internal bagi CPU untuk memindahkan data antar register, agar ALU melakukan fungsinya dan untuk mengatur operasi-operasi internal lainnya.
•
Mengeluarkansinyal kontrol eksternal bagi pertukaran data memori dan modul-modul I/O.
Fungsi CPU
1.
Fungsi Operasi (opcode)
2.
Fungsi mode pengalamatan
3.
Fungsi register
4.
Fungsi antarmuka modul I/O
5.
Fungsi pengolahan interrupt
4 Register Operasi Pengambilan
1.
Memori Addres Register (MAR), dihubungkan pada bus alamat, untuk menspesifikasi alamat di dalam memori untuk operasi baca atau simpan.
2.
Memory Buffer aregister (MBR), dihubungkan pada bus data, untuk menyimpan data yang akan digunakan untuk operasi dan data akan disimpan ke memori.
3.
Program Counter (PC), untuk menampung alamat intruksi berikutnya yang akan diambil.
4.
Intuction Register (IR), untuk menampung intruksi terakhir yang diambil.
Representasi Floating Point
Untuk menuliskan bilangan floating point (bilangan
pecahan) dilakukan dengan menuliskan dalam bentuk
exponensial.
Sehingga bilangan tersebut memiliki bilangan dasar,
bilangan pemangkat dan basis bilangan tersebut
Penulisan Notasi Ilmiah
Contoh ; pada bil. Desimal
976.000.000.000.000 ditulis 9,76 x 1014
0,00000000000976 ditulis 9,76 x 10-12
•
Representasi :
±S * B ±E
Tanda : + atau –
Signifikan (S) disebut juga mantissa
Eksponen (E)
Base (B)
eksponensial
Contoh konversi bilangan ke format floating point IEEE
SET INSTRUKSI
A.
KARAKTERISTIK MESIN INSTRUKSI
Instruksi mesin (machine instruction) yang dieksekusi membentuk suatu operasi dan berbagai macam fungsi CPU.
Kumpulan fungsi yang dapat dieksekusi CPU disebut set instruksi (instruction set) CPU.
Mempelajari karakteristik instruksi mesin, meliputi :
-
Elemen-elemen instruksi mesin
-
Representasi instruksinya
-
Jenis-jenis instruksi
-
Penggunaan alamat
-
Rancangan set instruksi
1.
Elemen Instruksi Mesin
Untuk dapat dieksekusi CPU suatu instruksi harus berisi elemen informasi yang diperlukan CPU secara lengkap dan jelas, apa saja elemennya ?
a.
Operation code (Op code)
Menspesifikasi operasi yang akan dilakukan. Kode operasi berbentuk kode biner
b.
Source Operand reference
Operasi dapat berasal dari lebih satu sumber. Operand adalah input opersai
Operand dari operasi
Meluhat dari sembernya, operand suatu operasi dapat berada di salah satu dari ketiga daderah berikut ini :
-
Memori utama atau memori virtual
-
Register CPU
Perangkat I/O
1.
Representasi Instruksi
Instruksi computer direpresentasikan oleh sekumpulan bit. Instruksi dibagi menjadi beberapa field.
Field- field ini diisi oleh elemen – elemen instruksi yang membawa informasi bagi operasi CPU
Layout instruksi dikenal dengan format instruksi
2.
Jenis-jenis instruksi
Contoh suatu ekspresi bilangan :
X = X + Y
X dan Y berkorespondensi dengan lokasi 210 dan 211.
Pernyataan dalam bahasa tingkat tinggi tersebut menginstruksikan computer untuk melakukan langkah berikut ini :
Muatkan sebuah register dengan isi lokasi memori 210.
Tambahkan ini lokasi memori 211 ke register
Simpan ini register ke lokas memori
Terdapat kumpulan unik set instruksi, yang dapat digolongkan dalam jenis – jenisnya, yaitu :
-
Pengolahan data (data processing)
Meliputi operasi – operasi aritmatika dan logika. Operasi aritmatika memiliki kemampuan komputasi untuk pengolahan data numeric. Sedangkan instruksi logika beroperasi terhadap bit – bit word sebagai bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk pengolahan data lain.
-
Perpindahan data (data movement)
Berisi instruksi perpindahan data antar register maupun modul I/O. untuk dapat diolah oleh CPU maka diperlukan instruksi – instruksi yang bertugas memindahkan data operand yang diperlukan.
-
Penyimpanan data (data storage)
Berisi instruksi – instruksi penyimpanan ke memori. Instruksi penyimpanan sangat penting dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus diadakan penyimpanan walaupun sementara.
-
Control aliran program (program flow control)
Berisi instruksi pengontrolan operasi dan percabangan. Instruksi ini berguna untuk pengontrolan status dan mengoperasikan percabangan ke set instruksi lain.
3.
Penggunaan alamat
Jumlah register atau alamat yang digunakan dalam operasi CPU tergantung format operasi masing – masing CPU
Ada format operasi yang menggunakan 3, 2, 1 dan 0 register
Umumnya yang digunakan adlah 2 register dalam suatu operasi. Desain CPU saat ini telah menggunakan 3 alamat dalam suatu operasi, terutama dalam MIPS (million instruction per second)
Instruksi 1 alamat
4.
Rancangan set instruksi
Aspek paling menarik dalam arsitektur computer adalah perancangan set instruksi, karena rancangan ini berpengaruh banyak pada aspek lainnya.
Set instruksi menentukan banyak fungsi yang harus dilakukan CPU
Set instruksi merupakan alat bagi para pemrogram untuk mengontrol kerja CPU
Pertimbangan : Kebutuhan pemrogram menjadi bahan pertimbangan dalam merancang set instruksi.
Maslah rancangan yang fundamental meliputi :
-
Operation repertoire :
Berapa banyak dan operasi – operasi apa yang harus tersedia
Sekelompok apakah operasi itu seharusnya
-
Data types
Jenis data
Format data
-
Instruction format
Panjang instruksi
Jumlah alamat
Ukuran field
-
Register
Jumlah register CPU yang direferensikan oleh instruksi, dan fungsinya.
-
Addressing
Mode untuk menspesifikasi alamat suatu operand
B.
Tipe Operasi
Dalam perancangan arsitektur computer, jumlah kode operasi akan sangat berbeda untuk masing – masing computer, tetapi terdapat kemiripan dalam jenis operasinya.
a.
Jenis Operasi Komputer
Transfer data.
- konversi
Aritmatika.
- Input/Output
Logika.
- Kontrol system dan transfer control
b.
Transfer Data
Instruksi transfer data harus menetapkan :
-
Lokasi operand sumber
-
Lokasi operand tujuan
-
Panjang data yanga akan dipindahkan
-
Mode pengalamatannya
Apabila sebuah atau kedua operand berada didalam memori, maka CPU harus melakukan sebagian atau seluruh tindakan berikut :
1.
Menghitung memori, yang didasarkan pada mode alamatnya.
2.
Apabila alamat mengacu pada virtual memori harus dicari alamat memori sebenarnya.
3.
Menentukan apakah alamat berada cache memori
4.
Bila di cache tidak ada, dikeluarkan perintah ke modul memori.
C.
Arithmatika
Computer menyediakan operasi aritmatika seperti penjualan, pengurangan, perkalian, dan pembagian.
-
Operasi tersedia dalam bentuk fixed point maupun floting point.
-
Operasi lain, terutama untuk operand tunggal seperti : absolute, negate, increment, dan decrement disediakan untuk keperluan pembentukan fungsi operasi
D.
Logika
Arsitektur CPU menyediakan operasi Boolean.
Operasi ini untuk memenipulasi bit – bit word maupun alamat dalam membentuk operasi fungsi yang diinginkan
Contoh :
(R1)
= 1001 1101
(R2)
= 0011 1001
(R1) AND (R2)
= 0001 1001
>>goOd Luck friends....