Anda di halaman 1dari 19

Materi 4

Cara Mikro Menghitung

1
Bagaimana Mikroprosesor
Menangani Angka
• Bentuk angka biner di dalam mikroprosesor
tergantung pada desain sistem dan pemrograman
perangkat lunak.
• Kita akan melihat alternatifnya, dimulai dengan
angka negatif.
• Dalam kehidupan nyata, itu mudah, kita cukup
meletakkan simbol – di depan angka dan itu
menjadi negatif. Sehingga +4 menjadi –4.
• Mudah, tetapi kita tidak memiliki cara untuk
meletakkan tanda minus di dalam mikroprosesor.
2
Cara Pertama
Signed magnitude numbers
• Cara pertama tampaknya mudah tetapi itu optimisme palsu.
• Yang kita lakukan adalah menggunakan bit pertama (msb) dari angka
untuk menunjukkan tanda 1 = minus, 0 = plus.
• Ini memiliki dua kelemahan:
1) Ini menggunakan salah satu bit sehingga kata 8-bit sekarang hanya bisa
menampung tujuh bit untuk mewakili angka dan satu bit untuk
mengatakan ‘plus’ atau ‘minus’. Tujuh bit sekarang hanya dapat
menghitung hingga 11111112 = 127 sedangkan delapan bit harus
dihitung hingga 255.
2) Jika kita menambahkan dua angka biner seperti +127 dan +2, kita akan
mendapatkan:

MSB menunjukkan
angka negatif

Bagian bernilai 1 3
Cara Pertama
Signed magnitude numbers
• MSB (most significant bit) dari 1 berarti itu adalah
angka minus dan angka aktual adalah 0000001 = 1. Jadi
hasil akhir +127 + 2 bukan 129 tetapi minus 1.
• Saat kita menggunakan mikroprosesor untuk
menangani aritmatika dengan masalah-masalah ini,
kita dapat memastikan bahwa mikroprosesor dapat
mengenali jenis angka negatif yang tidak disengaja ini.
• Kita dapat mengatur mikroprosesor untuk
mengompensasinya tetapi agak rumit dan lambat.
• Untungnya, ada sistem yang lebih baik muncul yang
telah teruji, dan telah digunakan selama bertahun-
tahun.

4
Cara Kedua
Complementary numbers
• Ini memiliki dua keunggulan signifikan:
1) Ini memungkinkan jumlah bit penuh untuk digunakan untuk
angka sehingga kata 8-bit dapat dihitung dari 0 hingga 111111112
atau 255.
2) Sangat mudah untuk menerapkan dengan penambahan dan
pengurangan menggunakan sirkuit yang sama secara substansial.
• Jadi, bagaimana kita mengatur untuk menggunakan semua delapan
bit untuk angka namun masih dapat menetapkan angka positif atau
negatif?
• Kita akan mulai dengan melihat angka positif terlebih dahulu karena
sangat mudah. Semua angka positif dari 0 hingga 255 sama dengan
yang kita dapatkan hanya dengan mengubah desimal menjadi
bilangan biner. Jadi sudah selesai.

5
Contoh Penjumlahan
• Tambahkan 01011010 + 00011011.
• Langkah-langkahnya sama dengan aritmatika desimal ‘normal’.
• Langkah 1, Tuliskan angkanya dan mulai menghitung dari LSB (least
significant bit) atau bit kanan

• Tambahkan kolom kanan dan kita mendapatkan 0 +1 = 1.


• Jadi kita punya

6
• Langkah 2, Selanjutnya kita tambahkan dua
angka 1 di kolom berikutnya. Ini menghasilkan 2,
atau 10 dalam bentuk biner. Masukkan 0 di kotak
jawaban dan bawa 1 maju ke kolom berikutnya.

7
• Langkah 3, Kolom berikutnya mudah 0+0+1= 1

8
• Langkah 4, Baris berikutnya seperti kolom
kedua, 1 + 1 = 10. Ini ditulis sebagai jawaban 0
dan 1 diteruskan ke kolom berikutnya.

9
• Langkah 5, Kita sekarang memiliki 1 di setiap
baris dan 1 dibawa ke depan sehingga kolom
berikutnya adalah 1 + 1 + 1 = 3 atau 11 dalam
biner. Ini adalah jawaban 1 dan 1 yang diteruskan
ke kolom berikutnya.

10
• Langkah 6, Kolom berikutnya adalah 0 + 0 + 1 = 1,
dan berikutnya adalah 1 + 0 = 1 dan bit atau msb
terakhir adalah 0 + 0 = 0, sehingga kita dapat
menyelesaikan jumlah

11
Pengurangan
• Angka berapa yang bisa kita tambahkan hingga 50 untuk memberikan
jawaban 28? Dalam istilah matematika ini akan ditulis sebagai
50 + x = 28.
• Angka apa yang bisa x wakili? Tentunya, apa pun yang kita tambahkan ke
50 harus membuat angka lebih besar kecuali jika itu adalah angka negatif
seperti –22:
50 + (–22) = 28
• Yang menakjubkan adalah bahwa ada angka yang dapat memiliki efek
yang sama dengan angka negatif, meskipun tidak memiliki tanda minus di
depannya. Ini disebut angka two’s complement.
• Jumlah kita sekarang menjadi:
50 + (two’s complement dari 22) = 28
• Angka ajaib ini adalah two’s complement dari 22 dan menemukannya
sangat sederhana.

12
Cara menemukan Two’s Complement
dari Angka Biner
• Yang harus kita lakukan adalah mengambil angka yang
ingin kita kurangi (dalam bentuk binernya) dan
membalikkan (inversi) setiap bit sehingga setiap bit
satu menjadi nol dan setiap nol menjadi satu.
• Catatan: secara teknis hasil inversi ini disebut one’s
complement dari 22.
• Mengubah 22 menjadi angka biner memberikan hasil
000101102 (menggunakan 8-bit).
• Kemudian balikkan setiap bit untuk memberikan angka
111010012 lalu tambahkan 1. Angka yang dihasilkan
kemudian disebut sebagai two’s complement dari 22.

13
• Dalam contoh ini, kita menggunakan angka
8-bit tetapi aritmatika akan persis sama
dengan 16 bit atau dalam 32 atau 64 bit atau
angka lainnya.

14
Penjumlahan
dengan Two’s Complement
• Kita sekarang cukup menambahkan 50 dan Two’s Complement dari 22:
50+ (Two’s Complement dari 22) = 28

• Jawabannya adalah 100011100.


• Hitung bitnya. Ada sembilan! Kita memiliki carry di kolom terakhir yang telah
membuat kolom kesembilan. Di dalam mikroprosesor, hanya ada ruang untuk
delapan bit sehingga yang kesembilan tidak digunakan. Jika kita meminta
mikroprosesor untuk jawaban untuk penambahan ini, itu hanya akan memberi kita
jawaban 8-bit: 000110112 atau dalam desimal, adalah 28.

15
Ringkasan
1) Konversi kedua angka menjadi biner.
2) Temukan Two’s Complement nomor yang
Anda ambil.
3) Tambahkan kedua angka.
4) Hapus MSB dari jawabannya.
5) Selesai

16
Catatan tambahan
1) Hanya temukan Two’s Complement dari nomor
yang Anda ambil - BUKAN kedua nomor.
2) Jika Anda telah melakukan aritmatika dengan
benar, jawabannya akan selalu memiliki kolom
tambahan yang akan dihapus.
3) Jika angkanya tidak memiliki jumlah bit yang
sama, tambahkan nol di depan seperlunya
sebagai pekerjaan pertama. Kedua angka harus
memiliki jumlah bit yang sama. Mereka bisa
berupa angka 8-bit seperti yang kita gunakan,
atau 16, atau 32 atau apa pun asalkan sama.

17
Referensi
John Crisp. 2004. Introduction to
Microprocessors and Microcontrollers. Newnes,
USA.

18
Sekian & Terima kasih

Muhammad Arfah Asis

19

Anda mungkin juga menyukai