pemrosesan paralel

23
NAMA : BAYU SETIAWAN NIM : K11110014 PEMROSESAN PARALEL 1. Membahas kebutuhan dan klasifikasi mesin paralel (SISD, SIMD, MISD, MIMD, SPMD), komunikasi antar prosesor, memori persekutuan (shared memory), pengiriman pesan (message passing), jaringan interkoneksi (interconnection network), konstruksi algoritma paralel, efisiensi dan percepatan pemrosesan paralel, dan contoh aplikasi pemprosesan paralel. 2. Jelaskan tentang cara kerja komputer von neumann seperti yang digambarkan pada gambar presentasi kel II Apa fungsi CU, REgister, ALU, Memori dan I/O dan bagaimana mereka bekerja sama ? 3. Apa yang dimaksud dengan mantissa, dan bagaimanakah cara kerjanya KOMPUTASI DAN PARALEL PROCESSING Apa komputasi Paralel dan Terdistribusi? Menyelesaikan satu masalah lebih cepat dengan menggunakan beberapa CPU Paralel Memory = Bersama antara semua CPU Terdistribusi = lokal Memory / CPU Masalah Umum: Partisi, Sinkronisasi, Dependensi Why Shared Memory programming? Easier conceptual environment 1 SISTEM KOMPUTER

Upload: bayu-setiawan

Post on 02-Feb-2016

239 views

Category:

Documents


0 download

DESCRIPTION

siskom

TRANSCRIPT

Page 1: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

1. Membahas kebutuhan dan klasifikasi mesin paralel (SISD, SIMD, MISD, MIMD,

SPMD), komunikasi antar prosesor, memori persekutuan (shared memory), pengiriman

pesan (message passing), jaringan interkoneksi (interconnection network), konstruksi

algoritma paralel, efisiensi dan percepatan pemrosesan paralel, dan contoh aplikasi

pemprosesan paralel.

2.  Jelaskan tentang cara kerja komputer von neumann seperti yang digambarkan pada

gambar presentasi kel II Apa fungsi CU, REgister, ALU, Memori dan I/O dan bagaimana

mereka bekerja sama ?

3.  Apa yang dimaksud dengan mantissa, dan bagaimanakah cara kerjanya

KOMPUTASI DAN PARALEL PROCESSING

Apa komputasi Paralel dan Terdistribusi?

Menyelesaikan satu masalah lebih cepat dengan menggunakan beberapa CPU

Paralel Memory = Bersama antara semua CPU

Terdistribusi = lokal Memory / CPU

Masalah Umum: Partisi, Sinkronisasi, Dependensi

Why Shared Memory programming?

Easier conceptual environment

Programmers typically familiar with concurrent threadsand processessharing address

space

OpenMP an application programming interface (API) for shared-memory systems

Supports higher performance parallel programming of symmetrical multiprocessors

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan

dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya

diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data

dalam jumlah besar (di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses

komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk

1SISTEM KOMPUTER

Page 2: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia

komputasi) dll.

Untuk melakukan berbagai jenis komputasi paralel diperlukan infrastruktur mesin paralel

yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja

secara paralel untuk menyelesaikan satu masalah. Untuk digunakan perangkat lunak

pendukung yang biasa disebut middleware yang berperan mengatur distribusi antar titik

dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk

merealisasikan komputasi. Salah satu middleware yang asli dikembangkan

di Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan diimplementasikan di LIPI

Public Center.

Pemrograman Paralel sendiri adalah teknik pemrograman komputer yang memungkinkan

eksekusi perintah/operasi secara bersamaan. Bila komputer yang digunakan secara bersamaan

tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam satu

jaringan komputer, biasanya disebut sistem terdistribusi. Bahasa pemrograman yang populer

digunakan dalam pemrograman paralel adalah MPI (Message Passing Interface) dan PVM

(Parallel Virtual Machine).

Yang perlu diingat adalah komputasi paralel berbeda dengan multitasking. Pengertian

multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara

bersamaan. Walaupun beberapa orang yang bergelut di bidang sistem operasi beranggapan

bahwa komputer tunggal tidak bisa melakukan beberapa pekerjaan sekaligus, melainkan

proses penjadwalan yang berlakukan pada sistem operasi membuat komputer seperti

mengerjakan tugas secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan

sebelumnya, bahwa komputasi paralel menggunakan beberapa processor atau komputer.

Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann.

2SISTEM KOMPUTER

Page 3: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi tunggal (menggunakan

1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus

mengetahui terlebih dahulu pengertian mengenai model dari komputasi. Ada 4 model

komputasi yang digunakan, yaitu:

1. SISD

Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang

menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1

processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi

tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan

beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah

UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.

2. SIMD

Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan

banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang

berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari

100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan

algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1

3SISTEM KOMPUTER

SISD

SIMD

MISD

MIMD

Page 4: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data

dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa

contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP,

Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).

3. MISD

Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan

banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun

mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh,

kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian

yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima

sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik

pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang

menggunakan model MISD.

4. MIMD

Juga disebut multiprocessors, dimana lebih dari satu proses dapat dieksekusi berikut

terhadap datanya masing-masing. Yaitu sebuah komputer yang memiliki beberapa prosesor

yang bersifat otonomus yang mampu melakukan instruksi yang berbeda pada data yang

berbeda. Sistem terdistribusi umumnya dikenal sebagai MIMD, entah itu menggunakan satu

ruangan memori secara bersama-sama atau sebuah ruangan memori yang terdistribusi.

 

 

4SISTEM KOMPUTER

Page 5: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

Hubungan antara Komputasi Modern dengan Paralel Processing

Hubungan antara komputasi modern dan parallel processing sangat berkaitan, karena

penggunaan komputer saat ini atau komputasi dianggap lebih cepat dibandingkan dengan

penyelesaian masalah secara manual. Dengan begitu peningkatan kinerja atau proses

komputasi semakin diterapkan, dan salah satu caranya adalah dengan meningkatkan

kecepatan perangkat keras. Dimana komponen utama dalam perangkat keras komputer adalah

processor. Sedangkan parallel processing adalah penggunaan beberapa processor

(multiprocessor atau arsitektur komputer dengan banyak processor) agar kinerja computer

semakin cepat.

Kinerja komputasi dengan menggunakan paralel processing itu menggunakan dan

memanfaatkan beberapa komputer atau CPU untuk menemukan suatu pemecahan masalah

dari masalah yang ada. Sehingga dapat diselesaikan dengan cepat daripada menggunakan satu

komputer saja. Komputasi dengan paralel processing akan menggabungkan beberapa CPU,

dan membagi-bagi tugas untuk masing-masing CPU tersebut. Jadi, satu masalah terbagi-bagi

penyelesaiannya. Tetapi ini untuk masalah yang besar saja, komputasi yang masalah kecil,

lebih murah menggunakan satu CPU saja.

5SISTEM KOMPUTER

Page 6: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

ARSITEKTUR VON NEUMANN

Arsitektur von Neumann (Mesin Von Neumann) adalah arsitektur yang diciptakan oleh John

von Neumann (1903-1957). Arsitektur ini digunakan oleh hampir semua komputer saat ini.

Dengan unit sederhana ini, sebuah software yang rumit, seperti software pengolah kata Dapat

dibuat. Arsitektur Von Neumann menyediakan fitur penyimpanan dan modifikasi program

secara mudah.

Mesin von Neumann mempunyai program dan data daerah memory yang sama. Model ini

membutuhkan berbagai pengumpulan program dan data untuk membentuk instruksi.

Pengumpulan program dan data diselesaikan menggunakan time division multiplexing yang

akan berpengaruh pada performa mikrokontroler itu sendiri.

Diagram Arsitektur von Neumann :

6SISTEM KOMPUTER

Page 7: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

Cara Kerja Von Neumann Nomor ( 1 – 2 )

Ada dua unit operasi dasar dalam mesin ini : ALU dan I/O,

ALU melakukan inti operasi : perkalian, penjumalahan, pengurangan, dll.

Unit I/O menangani aliran data eksternal.

Kunci utama arsitektur von Neumann adalah unit pemrosesan sentral (CPU), yang

memungkinkan seluruh fungsi komputer untuk dikoordinasikan melalui satu sumber tunggal.

Adapun cara kerja model Von Neumann, yaitu :

Main memory menyimpan data dan program BUS mentransfer data, alamat dan mengontrol signal. Baik itu dari atau ke memory maupun

dari atau ke perangkat lainnya. CPU Control Unit menangkap intruksi dan mengeksekusinya. ALU (Arithmetic Logic Unit) melakukan operasi (menambah, mengurangi, dll) Register 9Fast Memory) menyimpan hasil sementara dan informasi kontrol (alamat instruksi

berikutnya). Perangkat I/O menjadi tepat penghubung antara user dan komputer.

7SISTEM KOMPUTER

Page 8: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

Cara Kerja Von Neumann Nomor ( 3 )

Cara kerjanya adalah satu CPU mengeksekusi instruksi satu persatu dan menjemput atau

menyimpan data satu persatu. Adapun karakteristik model SIMD ini :

Mendistribusi proses ke sejumlah besar hardware

Beroperasi terhadap berbagai elemen data yang berbeda

Melaksanakan komputasi yang sama terhadap semua elemen data

Kelebihan & Kekurangan Model Von Neumann

Kelebihan Von Neumann adalah pada fleksibilitas pengalamatan program dan data.

Biasanya program selalu ada di (ROM=Read Only Memory ) dan data selalu ada di

(RAM=Random Access Memory). Arsitektur Von Neumann memungkinkan prosesor untuk

menjalankan program yang ada didalam memori data (RAM). Misalnya pada saat power on,

dibuat program inisialisasi yang mengisi byte di dalam RAM. Data di dalam RAM ini pada

gilirannya nanti akan dijalankan sebagai program. Sebaliknya data juga dapat disimpan di

dalam memori program (ROM).

Kekurangan Arsitektur Von Neumann adalah bus tunggalnya itu sendiri. Sehingga

instruksi untuk mengakses program dan data harus dijalankan secara sekuensial dan tidak

bisa dilakukan overlaping untuk menjalankan dua isntruksi yang berurutan. Selain itu

bandwidth program harus sama dengan banwitdh data. Jika memori data adalah 8 bits maka

program juga harus 8 bits. Satu instruksi biasanya terdiri dari opcode (instruksinya sendiri)

dan diikuti dengan operand (alamat atau data). Karena memori program terbatas hanya 8 bits,

maka instruksi yang panjang harus dilakukan dengan 2 atau 3 bytes. Misalnya byte pertama

adalah opcode dan byte berikutnya adalah operand. Secara umum prosesor Von Neumann

membutuhkan jumlah clock CPI (Clock per Instruction) yang relatif lebih banyak dan

walhasil eksekusi instruksi dapat menjadi relatif lebih lama.

8SISTEM KOMPUTER

Page 9: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

BILANGAN FLOATING POINT

Bilangan yang mempunyai nilai pecahan (misalnya 3.2575) dapat direpresentasikan dengan

dua format bilangan: fixed-point dan floating-point.

Bilangan pecahan fixed-point mempunyai jangkauan yang dibatasi oleh jumlah digit

signifikan yang digunakan untuk merepresentasikan bilangan tersebut. Misalnya bilangan

pecahan desimal sepuluh digit. Bilangan tersebut dinyatakan dengan fixed-point, yaitu satu

digit untuk tanda, empat digit untuk angka utuh dan lima digit untuk angka pecahan.

Jangkauan bilangan tersebut adalah 0 sampai 9999 untuk angka utuh dan 0.00001 sampai

0.99999 untuk angka pecahan, sehingga nilai bilangan yang mungkin adalah -9999.99999

sampai +9999.99999 dengan presisi 0.00001. Contoh bilangan tersebut yang valid adalah -

9.00102 dan 100.99998. Bilangan ±10000 tidak bisa dinyatakan dengan sistem bilangan

sepuluh digit ini. Sedangkan bilangan 0.000005 tidak memenuhi derajat presisi yang

diinginkan, walaupun berada dalam jangkauan bilangan. Bilangan tersebut akan dibulatkan

ke 0.00000 atau 0.00001, yang berarti ada selisih sebesar ±0.000005 dari nilai yang

diinginkan.

Dalam aplikasi saintifik, mungkin akan terdapat bilangan yang sangat besar atau sangat kecil.

Bilangan tersebut harus dapat direpresentasikan dengan tepat (presisi), yaitu

menggunakanfloating-point. Bilangan floating-point direpresentasikan dengan mantissa yang

berisi digit signifikan dan eksponen dari radix R

Format: mantisa × Reksponen

Represensasi bilangan floating-point seringkali dinormalisasi terhadap radixnya, misalnya 1, 

5 × 1044atau 1, 253 × 10 − 36

Format bilangan floating-point biner telah distandarkan oleh IEEE 754-2008 (atau

ISO/IEC/IEEE 60559:2011), yaitu meliputi format 16-bit (half), 32-bit (single-precision), 64-

bit (double-precision), 80-bit (double-extended) dan 128-bit (quad-precision). Di bab ini

hanya dibahas tentang format dasar, yaitu 32-bit dan 64-bit.

Bilangan Floating-Point 32-bit (single-precision)

Bilangan floating-point 32-bit tersusun atas (Gambar 0.1↓):

9SISTEM KOMPUTER

Page 10: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

1 bit tanda (S),

8 bit eksponen (E), dan

23 bit untuk mantisa (M)

Figure 0.1 Format bilangan floating-point 32-bit

Bit tanda (S) menyatakan bilangan positif jika S=0 dan negatif jika S=1.

Field eksponen adalah radix 2. Nilai eksponen bisa negatif atau positif untuk menyatakan

bilangan yang sangat kecil atau sangat besar. Format eksponen yang digunakan

adalah excess-127. Nilai 127 ditambahkan dari nilai eksponen sebenarnya (Exp), yaitu Exp = 

E − 127. Dengan excess-127, nilai E akan selalu positif dengan jangkauan 0 sampai 255.

Nilai ekstrem adalah untuk E=0 dan E=255

E=0 menyatakan bilangan NOL (jika M = 0) dan subnormal (jika M ≠ 0)

E=255 menyatakan bilangan TAK TERHINGGA (jika M = 0) dan NAN/not-a-

number (jika M ≠ 0);

Nilai normal adalah 1 ≤ E ≤ 254 yang menunjukkan nilai eksponen sebenarnya dari -126

sampai 127

Contoh: Emin(1) =  − 126, E(50) =  − 77 dan Emax(254) = 127;

Eksponen

(E)

Mantissa=0 Mantissa ≠ 0 Persamaan

0 0, -0 subnormal ( − 1)S × 0.bit signifikan × 2 − 

126

1-254 Nilai ternormalisasi ( − 1)S × 1.bit signifikan × 2E − 

127

255 ∞ bukan bilangan (NAN=not-a-

number)

Table 0.1 Nilai eksponen di format floating-point 32-bit

10SISTEM KOMPUTER

Page 11: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

Saat nilai mantisa (M) dinormalisasi, most significant bit (MSB) selalu 1. Namun, bit MSB

ini tidak perlu disertakan secara eksplisit di field mantisa (Tabel 0.1↑). Nilai mantisa yang

sebenarnya adalah 1.M, sehingga nilai bilangan floating-pointnya menjadi:

Di bilangan subnormal, nilai mantisa sebenarnya adalah 0.M, sehingga bilangan floating-

pointnya menjadi:

Dengan mantissa 23 bit ini ditambah 1 bit implisit, total presisi dari representasi floating-

point 32-bit ini adalah 24 bit atau sekitar 7 digit desimal (yaitu 24 × log10(2) = 7.225).

Dalam pemrograman, suatu bilangan single-precision ini dideklarasikan dengan tipe

data float(bahasa C, C++, Java) dan single (Pascal, VB, MATLAB).

float anumber; // 32-bit single precision number

int main(){

anumber = -1.1245;

...

return 0;

}

Contoh 1

Bilangan floating-point dinyatakan dengan B = 0x3E600000 . Nyatakan B sebagai bilangan

pecahan desimal.

Representasi bilangan floating-point 32-bit dapat dinyatakan seperti Gambar 0.2↓.

11SISTEM KOMPUTER

Page 12: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

Jadi, B = 0x3E6300000 menyatakan bilangan floating-point 0.21875

Figure 0.2 Contoh bilangan floating-point 32-bit B = 0x3E60000

Contoh 2

Tentukan nilai pecahan desimal dari bilangan floating-point B=0×00600000 (Gambar 0.3↓)

Bilangan B mempunyai E = 0 dan M ≠ 0, sehingga merupakan bilangan subnormal dan

berlaku persamaan bilangan subnormal. Nilai pecahan desimal dari bilangan subnormal B

adalah:

Figure 0.3 Contoh bilangan floating-point 32-bit B = 0x0060000

Contoh 3

Nyatakan bilangan pecahan desimal B=35.625 dalam format floating-point 32-bit

Bilangan B dipecah menjadi bilangan utuh dan bilangan pecahan. Bilangan utuh dan bilangan

pecahan dikonversikan ke biner (nyatakan bilangan seperti di fixed-point). Kedua bilangan

tersebut disatukan dan dinormalkan (geser) untuk mendapatkan nilai mantissa dan eksponen

akhir.

B = (35.625)10

12SISTEM KOMPUTER

Page 13: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

= (35)10 + (0.625)10

= (100011)2 + (0.1001)2

= (100011.1001)2

= (1.000111001)2 × 25

Dari perhitungan di atas, nilai eksponen E = 5 + 127 = 132 = 10000100 dan mantissa M = 

000111001, sehingga diperoleh B = 0x420E4000 (Gambar 0.4↓).

Figure 0.4 Contoh bilangan floating-point 32-bit B = 35.625

Bilangan floating-point negatif mempunyai bentuk sign-magnitude, yaitu nilai S

menunjukkan tanda sedangkan besar nilai ditunjukkan oleh mantissa dan eksponennya.

Contoh 4

Nyatakan format floating-point 32-bit dari bilangan A =  − 0.21875

Dari Contoh ↑, nilai bilangan − A =  + 0.21875 adalah 0x3E600000. Dengan mengubah field

S=1, maka bilangan A dinyatakan dengan 0xBE600000 (Gambar 0.5↓)

Figure 0.5 Bilangan negatif A =  − 0.21875 dinyatakan dengan 0xBE600000

Bilangan Floating-Point 64-bit (double-precision)

Bilangan floating-point 64-bit tersusun atas (Gambar 0.6↓):

1 bit tanda (S),

11 bit eksponen (E), dan

52 bit untuk mantisa (M)

13SISTEM KOMPUTER

Page 14: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

Figure 0.6 Format bilangan floating-point 64-bit

Seperti halnya dengan bilangan single-precission, bit tanda (S) menyatakan bilangan positif

jika S=0 dan negatif jika S=1. Field eksponen adalah radix 2. Nilai eksponen bisa negatif atau

positif untuk menyatakan bilangan yang sangat kecil atau sangat besar. Format eksponen

yang digunakan adalah excess-1023. Nilai 1023 ditambahkan dari nilai eksponen sebenarnya

(Exp), yaituExp = E − 1023. Dengan excess-1023, nilai E akan selalu positif dengan

jangkauan 0 sampai 2047.

Nilai ekstrem adalah untuk E = 0 dan E = 2047

E=0 menyatakan bilangan NOL (jika M = 0) dan subnormal (jika M ≠ 0)

E=2047 menyatakan bilangan TAK TERHINGGA (jika M = 0) dan NAN/not-a-

number (jika M≠ 0) (Tabel 0.2↓);

Nilai normal adalah 1 ≤ E ≤ 2046 yang menunjukkan nilai eksponen sebenarnya dari -1022

sampai 1023

Contoh: Emin(1) =  − 1022, E(100) =  − 923 dan Emax(2046) = 1023;

Eksponen

(E)

Mantissa=0 Mantissa ≠ 0 Persamaan

0 0, -0 subnormal ( − 1)S × 0.bit signifikan × 2 − 

1022

1-2046 Nilai ternormalisasi ( − 1)S × 1.bit signifikan × 2E − 

1023

2047 ∞ bukan bilangan (NAN=not-a-

number)

Table 0.2 Nilai eksponen di format floating-point 64-bit

Nilai mantisa (M) dinormalisasi, yang berarti most significant bit (MSB) selalu 1. Bit MSB

ini tidak perlu disertakan secara eksplisit di field mantisa. Nilai mantisa sebenarnya

adalah 1.M, sehingga nilai bilangan floating-pointnya menjadi:

14SISTEM KOMPUTER

Page 15: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

Dengan mantissa 52 bit ini ditambah 1 bit implisit, total presisi dari representasi floating-

point 32-bit ini adalah 53 bit atau sekitar 16 digit desimal (yaitu 53 × log10(2) = 15.995).

Dalam pemrograman, suatu bilangan single-precision ini dideklarasikan dengan tipe

data double(bahasa C, C++, Java).

double anumber; // 64-bit double precision number

int main(){

anumber = -1.1245;

...

return 0;

}

Contoh 5

Bilangan floating-point dinyatakan dengan B = 0x3FD5000000000000 . Nyatakan B sebagai

bilangan pecahan desimal.

Representasi bilangan floating-point 64-bit dapat dinyatakan seperti Gambar 0.7↓.

Jadi, B = 0x3FD5000000000000 menyatakan bilangan floating-point 0.328125

15SISTEM KOMPUTER

Page 16: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

Figure 0.7 Contoh bilangan floating-point 64-bit B = 0x3FD5000000000000 = 0.328125

Contoh 6

Nyatakan bilangan pecahan desimal B=35.625 dalam format floating-point 64-bit

Bilangan B dipecah menjadi bilangan utuh dan bilangan pecahan. Bilangan utuh dan bilangan

pecahan dikonversikan ke biner (nyatakan bilangan seperti di fixed-point). Kedua bilangan

tersebut disatukan dan dinormalkan (geser) untuk mendapatkan nilai mantissa dan eksponen

akhir.

B = (35.625)10

= (35)10 + (0.625)10

= (100011)2 + (0.1001)2

= (100011.1001)2

= (1.000111001)2 × 25

Dari perhitungan di atas, nilai eksponen E = 5 + 1023 = 1028 = 10000000100 dan

mantissa M = 000111001, sehingga diperoleh B = 0x4041C800000000 (Gambar 0.8↓).

Figure 0.8 Contoh bilangan floating-point 64-bit B = 35.625

Bilangan floating-point negatif mempunyai bentuk sign-magnitude, yaitu nilai S

menunjukkan tanda sedangkan besar nilai ditunjukkan oleh mantissa dan eksponennya.

Contoh 7

Nyatakan format floating-point 32-bit dari bilangan A =  − 0.328125

16SISTEM KOMPUTER

Page 17: pemrosesan paralel

NAMA : BAYU SETIAWANNIM : K11110014PEMROSESAN PARALEL

Dari Contoh 0.7↑, nilai bilangan − A =  + 0.328125 adalah 0x3FD5000000000000. Dengan

mengubah field S=1, maka bilangan A dinyatakan

dengan 0xBFD5000000000000 (Gambar 0.9↓)

Figure 0.9 Bilangan negatif A =  − 0.328125 dinyatakan dengan 0x3FD5000000000000

17SISTEM KOMPUTER