Maximizing Processor

20
TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR 1 BAB I PENGENALAN 1.1 Latar Belakang Hampir seluruh aspek kehidupan manusia saat ini tidak dapat dilepaskan dari teknologi, khususnya teknologi komputer. Dapat dilihat bahwa untuk menuliskan suatu dokumen, orang cenderung sudah meninggalkan mesin ketik manual dan sudah digantikan perannya oleh komputer. Komputer sendiri terdiri dari banyak komponen, yang di dalamnya terjadi perkembangan teknologi yang begitu cepat. Dan pada akhirnya kita bisa memanfaatkan computer ini secara maksimal, efesien. Salah satu komponen yang paling penting yaitu prosesor, bagaimana kita bisa meningkatkan kinerjanya supaya proses yang terjadi semakin cepat dan bersifat parallel. Hal ini terkadang terbentur dengan sulitnya pengimplentasiannya dalam kehidupan sehari-hari, karena pada umumnya ini ada kaitannya dengan ketergantungan antar proses yang sedang dieksekusi. Akan tetapi kami akan coba membahas masalah ini dengan menggunakan metode Paralel dan Pipeling untuk meningkatkan kinerja prosesor itu sendiri, selamat mengikuti sajian kami dalam bab selanjutnya. 1.2 Rumusan Masalah 1. Apa saja konsep paralelisme? 2. Apa saja perangkat lunak dan perangkat keras pemrograman system paralel? 3. Apa yang dimaksud dengan penjadwalan system parallel? 4. Apa yang dimaksud dengan aliran intruksi dan data system parallel? 5. Apa yang dimaksud dengan arsitektur system parallel? 6. Apa yang dimaksud dengan Pipeling? 7. Apa yang dimaksud dengan Superscalar? 1.3 Tujuan Penulisan Tujuan dari penulisan ini adalah untuk: 1. Agar memahami cara mempercepat kinerja pada prosesor secara parallel 2. Agar mengetahui kerakteristik pada teknik pemaksimalan kinerja prosesor, sehingga computer kita bisa beroperasi lebih cepat dari biasanya.

description

MEMAKSIMALKAN KERJA PROSESOR MEMBUAT KOMPUTER ANDA MENJADI LEBIH CEPAT

Transcript of Maximizing Processor

Page 1: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

1

BAB I

PENGENALAN

1.1 Latar Belakang Hampir seluruh aspek kehidupan manusia saat ini tidak dapat dilepaskan dari teknologi,

khususnya teknologi komputer. Dapat dilihat bahwa untuk menuliskan suatu dokumen, orang

cenderung sudah meninggalkan mesin ketik manual dan sudah digantikan perannya oleh komputer.

Komputer sendiri terdiri dari banyak komponen, yang di dalamnya terjadi perkembangan teknologi

yang begitu cepat. Dan pada akhirnya kita bisa memanfaatkan computer ini secara maksimal, efesien.

Salah satu komponen yang paling penting yaitu prosesor, bagaimana kita bisa meningkatkan

kinerjanya supaya proses yang terjadi semakin cepat dan bersifat parallel. Hal ini terkadang terbentur

dengan sulitnya pengimplentasiannya dalam kehidupan sehari-hari, karena pada umumnya ini ada

kaitannya dengan ketergantungan antar proses yang sedang dieksekusi. Akan tetapi kami akan coba

membahas masalah ini dengan menggunakan metode Paralel dan Pipeling untuk meningkatkan

kinerja prosesor itu sendiri, selamat mengikuti sajian kami dalam bab selanjutnya.

1.2 Rumusan Masalah 1. Apa saja konsep paralelisme?

2. Apa saja perangkat lunak dan perangkat keras pemrograman system paralel?

3. Apa yang dimaksud dengan penjadwalan system parallel?

4. Apa yang dimaksud dengan aliran intruksi dan data system parallel?

5. Apa yang dimaksud dengan arsitektur system parallel?

6. Apa yang dimaksud dengan Pipeling?

7. Apa yang dimaksud dengan Superscalar?

1.3 Tujuan Penulisan Tujuan dari penulisan ini adalah untuk:

1. Agar memahami cara mempercepat kinerja pada prosesor secara parallel

2. Agar mengetahui kerakteristik pada teknik pemaksimalan kinerja prosesor, sehingga computer

kita bisa beroperasi lebih cepat dari biasanya.

Page 2: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

2

1.4 Manfaat Penulisan Kita bisa mendapatkan beberapa manfaat dari penulisan ini, diantaranya adalah:

1. Memahami cara mempercepat kinerja pada prosesor secara parallel.

2. Mengetahui cara merawat dan memaksimalkan komponen penting di computer yaitu prosesor.

3. mengetahui kerakteristik pada teknik pemaksimalan kinerja prosesor.

1.5 Batasan Masalah Batasan masalah yang kami cantumkan adalah sebagai berikut:

Kami menjelaskan tentang konsep paralelisme, perangkat lunak dan perangkat keras

pemrograman system parallel, pengertian penjadwalan system parallel, pengertian aliran intruksi dan

data system parallel, pengertian arsitektur system paralledan juga pengertian Pipeling dan

Superscalar.

1.6 Sistematika Penulisan Di bawah ini adalah sepintas sistematika penulisan makalah kami:

BAB I PENGENALAN

Bab ini bersi pengenalan latar belakang, rumusan masalah, tujuan dan manfaat penulisan,

batasan masalah dan sistematika penulisan.

BAB II DASAR TEORI

Dalam bab ini kami akan menjelaskan tentang konsep paralelisme, perangkat lunak dan

perangkat keras pemrograman system parallel, pengertian penjadwalan system parallel, pengertian

aliran intruksi dan data system parallel, pengertian arsitektur system paralledan juga pengertian

Pipeling dan Superscalar.

BAB III PENUTUP

Bab ini memaparkan tentang simpulan dan saran.

DAFTAR PUSTAKA

Page 3: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

3

BAB II

DASAR TEORI

2.1 KONSEP PARALELISME

A. Peningkatan Kecepatan Perangkat Keras

Perkembangan prosesor dalam beberapa tahun terakhir cenderung lebih mengarah pada

peningkatan jumlah core di dalamnya. Peningkatan jumlah core prosesor diharapkan dapat

meningkatkan kecepatan proses untuk eksekusi suatu program. Idealnya, peningkatan kecepatan

dalam memproses suatu program adalah sama dengan penambahan jumlah core prosesor yang

digunakan. Namun pada kenyataannya, peningkatan kecepatan proses tidak mencapai nilai ideal

tersebut dan bahkan nilai peningkatannya cenderung beragam apabila aplikasi yang diproses berbeda.

Hal ini dikarenakan tingkat paralelisme proses satu dengan proses lain bisa berbeda.

Di samping itu, untuk dapat mengeksekusi proses secara paralel dibutuhkan juga proses-

proses tambahan seperti kontrol eksekusi dan sinkronisasi. Dalam tugas akhir ini, diimplementasi

aplikasi-aplikasi digital signal processing (DSP) )dalam mikrokontroler multicore 32bit Parallax

Propeller P8X32A. Propeller P8X32A memiliki 8 buah Cog (prosesor) yang dapat bekerja secara

simultan. Pengukuran dilakukan untuk mengetahui nilai kinerja dari eksekusi suatu aplikasi, baik

secara serial maupun secara paralel dalam multicore. Aplikasi-aplikasi yang diukur terdiri atas operasi

perkalian matriks, operasi filter Finite Impulse Response (FIR), operasi deteksi tepi citra, operasi filter

median citra, operasi Fast Fourier Transform (FFT) radix2, dan operasi FFT 2 dimensi.

B. Peningkatan Kecepatan Perangkat Lunak

Awalnya program computer di handle oleh prosesor tunggal dalam hal penyediaan sederatan

operasi yang ingin di eksekusi, namun untuk kenyataannya sekarang dibutuhkan suatu mekanisme

computer parallel yang menyediakan sederetan operasi untuk beberapa prosesor yang dikerjakan

secara parallel pula. Sehingga terbentuklah alur komputasi yang koheren,, hal inilah yang menjadi

latar belakang bagi para programmer untuk membuat suatu perubahan di dalamnya. Terutama yang

dirubah adalah masalah algoritma, karenanya meskipun arsitektur multiprosesor dan multicomputer

banyak mendukung kinerja ini. Namun yang lebih penting lagi adalah peningkatan bahasa

pemograman parallel dan perancangan algoritma yang parallel perlu digiatkan lagi inovasinya. Dan di

bawah ini adalah gambaran perbedaan system serial dengan parallel.

Page 4: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

4

C. Tingkat Paralelisme

Berdasarkan tingkat paralelismenya prosesor parallel dibagi menjaadi beberapa tingkat:

1. Computer array

- Prosesor array = atau processor yang bekerjasama untuk mengolah set intruksi

yang sama dan data yang berbeda / SIMD (single instruction-stream multiple

data)

- Prosesor vector = beberapa prosesor yang disusun secara pipeline

2. Multiprocessor yaitu sebuah system yang memiliki 2 processor atau lebih yang

salaing berbagi memori

3. Multicomputer yaitu sebuah system yang mempunyai dua prosesor atau lebih

yang masing-masing prosesor mempunyai memori sendiri

Page 5: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

5

D. Jenis-jenis pemrosesan Parallel

Hal yang terkait dengan pemrosesan parallel dapat di bagi menjadi beberapa klsifikan,

diantaranya adalah:

1. Berdasarkan simetri penjadwalannya

- Asymmetric Multiprocessing

- Symmetric Multiprocessing

- Clustering

2. Berdasarkan aliran intruksi dan datanya

- SISD (single instruction on single data stream)

- SIMD (single instruction on multiple data stream)

- MISD (multiple instruction on single data stream)

- MIMD (multiple instruction on multiple data stream)

3. Berdasarkan kedekatan antar prosesor

- Multicomputer denagna memori yang terdistribusi

- Multiprosessor dengan memori yang digunakan bersamaan

2.2 PERANGKAT LUNAK PEMROGRAMAN SYSTEM PARALEL

A. PVM (Parallel Virtual Machine)

PVM (Parallel Virtual Machine) adalah paket software yang mendukung pengiriman pesan

untuk komputasi parallel antar komputer. PVM dapat berjalan diberbagai macam variasi UNIX atau

pun windows dan telah portable untuk banyak arsitektur seperti PC, workstation, multiprocessor dan

superkomputer.

Sistem PVM terbagi menjadi dua. Pertama adalah daemon, pvmd, yang berjalan pada mesin

virtual masing-masing komputer. Mesin virtual akan dibuat, ketika User mengeksekusi aplikasi PVM.

PVM dapat dieksekusi melalui prompt UNIX disemua host. Bagian kedua adalah library interface rutin

yang mempunyai banyak fungsi untuk komunikasi antar task . Library ini berisikan rutin yang dapat

dipanggil untuk pengiriman pesan, membuat proses baru, koordinasi task dan konfigurasi mesin

virtual.

Salah aturan main yang penting dalam PVM adalah adanya mekanisme program master dan

slave/worker. Programmer harus membuat Kode master yang menjadi koordinator proses dan Kode

slave yang menerima, menjalankan, dan mengembalikan hasil proses ke komputer master. Kode

master dieksekusi paling awal dan kemudian melahirkan proses lain dari kode master. Masing-masing

program ditulis menggunakan C atau Fortran dan dikompilasi dimasing-masing komputer. Jika

arsitektur komputer untuk komputasi paralel semua sama, (misalnya pentium 4 semua), maka

Page 6: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

6

program cukup dikompilasi pada satu komputer saja. Selanjutnya hasil kompilasi didistribusikan

kekomputer lain yang akan menjadi node komputasi parallel. Program master hanya berada pada satu

node sedangkan program slave berada pada semua node.

B. MPI (Message Passing Interface)

Bahasa pemrograman dengan basis pertukaran pesan, dalam menggunakan fungsi-fungsinya dalam

library dapat di panggil dari program C, C++, atau fortran. Untuk berbagi arsitekturnya juga MPI portable

untuk berbagai macam arsitektur. Dari segi aplikasi MPI dapat dimanfaatkan di SIMD dimana program

master dan slave yagn terpisah sehingga mereka dapat mengerjakan tugas yang berbeda-beda antara

satu node ke node lain.

2.3 PENJADWALAN SYSTEM PARALEL

Kita perlu mempelajari penjadwalan pada prosesor jamak berhubung system dengan prosesor

jamak akan semakin banyak digunakan karena kemampuannya yang lebih baik dari sistem dengan

prosesor tunggal. Seperti halnya pada prosesor tunggal, prosesor jamak juga membutuhkan

penjadwalan. Namun pada prosesor jamak, penjadwalannya jauh lebih kompleks dari pada prosesor

tunggal. Dalam penjadwalan prosesor jamak, tiap proses dapat mengakses memori dengan cara yang

sama [uniform memory access].

Page 7: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

7

Pembatasan dalam penjadwalan juga terjadi dalam multiprosesor. Hal ini disebabkan karena:

a) Kemungkinan adanya load sharing. Load sharing terjadi jika ada beberapa prosesor yang

identik. Untuk mengatasi hal itu maka tiap prosesor memiliki kemampuan penjadwalan

mandiri (self schedulling).

b) Kemungkinan terlewatinya sebuah proses dari antrian [ready queue] atau beberapa prosesor

memilih untuk mengeksekusi proses yang sama. permasalahan seperti itu bisa dijawab

dengan sebuah master-slave structure, yaitu suatu struktur dimana satu prosesor ditunjuk

sebagai master. Master inilah yang akan bertanggung jawab dalam hal penjadwalan,

memproses I/O, dan sebagainya. Sedangkan prosesor yang lain [slave] hanya bertugas untuk

mengeksekusi user code. Hal ini disebut juga sebagai Asymmetric Multiprocessing karena

hanya satu prosesor yang dapat mengakses struktur data dari sistem.

Ada beberapa jenis dari sistem penjadualan prosesor jamak, namun yang akan dibahas dalam

bab ini adalah penjadwalan pada sistem prosesor jamak yang memiliki fungsi-fungsi prosesor yang

memiliki fungsi yang sama (Homogeneous processors within a multiprocessor).

A. Penjadwalan Asymmetric Multiprocessing

Pendekatan pertama untuk penjadwalan prosesor jamak adalah penjadwalan asymmetric

multiprocessing atau biasa disebut juga sebagai penjadwalan Master Slave MultiProcessor. Dimana

pada metode ini satu prosesor bertindak sebagai master dan prosesor lainnya sebagai slave. Master

Processor bertugas untuk menjadualkan dan mengalokasikan proses yang akan dijalankan oleh Slave

Processors. Master Processor melakukan pekerjaan yang berhubungan dengan System, Slave

Processor melayani user requests dalam pengeksekusian program.

Pemrosesan yang banyak tidak menyebabkan penurunan performance. Metode ini sederhana

karena hanya satu prosesor yang mengakses struktur data sistem dan juga mengurangi data sharing.

Sebagai contoh, prosesor master memilih proses yang akan dieksekusi, kemudian mencari prosesor

yang available, dan memberikan instruksi start processor. Prosesor slave memulai eksekusi pada

lokasi memori yang dituju. Saat slave mengalami sebuah kondisi tertentu, prosesor slave memberi

interupsi kepada prosesor master dan berhenti untuk menunggu perintah selanjutnya.

Perlu diketahui bahwa prosesor slave yang berbeda dapat ditujukan untuk suatu proses yang

sama pada waktu yang berbeda. Master processor dapat mengeksekusi OS dan menangani I/O,

sedangkan sisanya processor tidak punya kemampuan I/O dan disebut sebagai Attached Processor

(Aps). APs mengeksekusi kodekode user dibawah pengawasan master processor.

Page 8: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

8

Gambar Master slave Multi Processor

B. Penjadwalan Symmetric Multiprocessing

Penjadwalan SMP adalah pendekatan kedua untuk penjadwalan prosesor jamak. Pada metode

ini setiap prosesor menjadwalkan dirinya sendiri (self scheduling). Penjadwalan terlaksana dengan

menjadwalkan setiap prosesor untuk memeriksa antrian ready dan memilih suatu proses untuk

dieksekusi. Jika suatu sistem prosesor jamak mencoba untuk mengakses dan mengupdate suatu

struktur data, penjadwal dari prosesor-prosesor tersebut harus diprogram dengan hati-hati, kita harus

yakin bahwa dua prosesor tidak memilih proses yang sama dan proses tersebut tidak hilang dari

antrian. Secara virtual, semua sistem operasi modern mendukung SMP, termasuk Windows XP,

Windows 2000, Windows Vista, Solaris, Linux, dan Mac OS X.

Gambar Multiprogramming dengan Symmetric Multiprocessing

Page 9: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

9

Gambar arsitektur Symmetric Multiprocessing

C. Clustering

Clustering adalah proses mengelompokkan objek berdasarkan informasi yang diperoleh dari

data yang menjelaskan hubungan antar objek dengan prinsip untuk memaksimalkan kesamaan antar

anggota satu kelas dan meminimumkan kesamaan antar kelas/cluster. Tujuannya menemukan cluster

yang berkualitas dalam waktu yang layak. Clustering dalam data mining berguna untuk menemukan

pola distribusi di dalam sebuah data set yang berguna untuk proses analisa data. Kesamaan objek

biasanya diperoleh dari kedekatan nilai-nilai atribut yang menjelaskan objek-objek data, sedangkan

objek-objek data biasanya direpresentasikan sebagai sebuah titik dalam ruang multidimensi.

Dengan menggunakan clustering, dapat diidentifikasi daerah yang padat, pola-pola distribusi

secara keseluruhan dan keterkaitan yang menarik antara atribut-atribut data. Dalam data mining

usaha difokuskan pada metode-metode penemuan untuk cluster pada basisdata berukuran besar

secara efektif dan efisien. Banyaknya pendekatan clustering menyulitkan dalam menentukan ukuran

kualitas yang universal. Namun, beberapa hal yang perlu diperhatikan adalah input parameter yang

tidak menyulitkan user, cluster hasil yang dapat dianalisa, dan skalabilitas terhadap penambahan

ukuran dimensi dan record dataset.

Page 10: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

10

2.4 ALIRAN INTRUKSI DAN DATA SYSTEM PARALEL

A. Komputer SSID

Gambar di bawah menyajikan arsitektur mesin komputer SISD (Single Instruction Single

Data) dari model Von Neumann. Jenis ini merupakan komputer sekuensial dengan cirri pokok hanya

memiliki satu prosesor (Schendel, 1984). Skema kerja prosesor menurut gambar tersebut

menunjukkan bahwa kemampuan mesin sekuensial dalam menjalankan eksekusi program, setiap

operasi aritmatika ataupun logika dilakukan dalam satu unit kalkulasi. Hal ini disebabkan dalam setiap

instruksi, mesin hanya mampu membaca data dalam sekali kerja. Oleh sebab itu dapat disimpulkan

bahwa penggunaan mesin ini pada bidang aplikasi sangat terbatas, sebab kemampuan dari

prosesornya terbatas. Contoh dari kelompok ini adalah jenis personal komputer (PC) dan mini

komputer.

Page 11: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

11

B. Komputer SIMD

Gambar di bawah menyajikan arsitektur mesin komputer SIMD (Single Instruction Multiple

Data) dari jenis komputer paralel. Dari skema dapat dicirikan bahwa tipe ini terdapat N prosesor yang

masing-masing prosesor dihubungkan dengan memori lokal sehingga data dan program dapat

disimpan. Selain itu semua prosesor dikendalikan oleh satu unit kontrol (Knob, 1990). Kemampuan

pokok yang dimiliki oleh mesin ini menunjukkan bahwa pada saat yang sama, setiap prosesor mampu

mengeksekusi instruksi-instruksi yang sama dari data yang berbeda. Mesin yang dapat dimasukkan

dalam tipe ini antara lain ILLIAC IV, STAR-100, DRAY-1, STARAN IV dan ILC (memiliki 4096 prosesor).

C. Komputer MISD

Jenis yang ketiga adalah komputer paralel MISD (Multiple Instruction Single Data). Dalam

gambar di bawah, mesin MISD memiliki satu unit memori. Kemampuan yang dimiliki untuk

mengeksekusi program menunjukkan bahwa pada setiap saat, satu data dari memori dioperasikan

oleh setiap prosesor menurut instruksi-instruksi dari setiap unit kontrol. Jadi secara paralel, satu data

yang sama dapat diproses oleh prosesor-prosesor yang berlainan.

Secara struktural, mesin ini nampak ekivalen dengan mesin SISD. Hanya karena memiliki

prosesor bebas lebih dari satu, maka mesin ini dapat dikatakan sebagai mesin multi-prosesor yang

kemampuannya relatif masih terbatas untuk digunakan di bidangbidang aplikasi.

Page 12: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

12

D. Komputer MIMD

Model komputer MIMD (Multiple Instruction Multiple Data) merupakan jenis komputer paralel

yang disajikan pada gambar di bawah. Mesin ini memiliki N prosesor bebas dan masing-masing

prosesor mempunyai satu unit kontrol, sehingga mesin ini dapat kita sebut sebagai mesin

multikomputer. Ciri lain yang ada pada mesin tersebut adalah prosesor-prosesornya saling bekerja

sama dalam unit Input-Output dan memori utama, sehingga mesin ini dapat dikategorikan sebagai

mesin multiprosesor.

Kemampuan mesin MIMD menunjukkan bahwa pada setiat saat, secara serentak prosesor-

prosesor dapat menjalankan instruksi-instruksi yang berlainan secara paralel. Dari model susunan

prosesornya, dapat disimpulkan bahwa komputer semacam ini dapat dimanfaatkan untuk aplikasi

khusus guna memecahkan masalah yang membutuhkan operasi-operasi resolusi tinggi dan sangat

kompleks.

Page 13: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

13

Model computer Arsitektur

2.5 ARSITEKTUR SYSTEM PARALEL

A. Multiprosesor

Multicore microprocessor adalah kombinasi dua atau lebih prosesor independen ke dalam sebuah

integrated circuit (IC). Pada umumnya, multicore mengizinkan perangkat komputasi untuk

memeragakan suatu bentuk thread-level paralelism (TLP) tanpa mengikutsertakan banyak prosesor

terpisah. TLP lebih dikenal sebagai chip-level multiprocessing.

Page 14: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

14

Gambar chip Processor DualCore

Keuntungan:

Meningkatkan performa dari operasi cache snoop (bus snooping). Bus snooping adalah suatu

teknik yang digunakan dalam sistem pembagian memori terdistribusi dan multiprocessor yang

ditujukan untuk mendapatkan koherensi pada cache. Hal ini dikarenakan sinyal antara CPU

yang berbeda mengalir pada jarak yang lebih dekat, sehingga kekuatan sinyal hanya

berkurang sedikit. Sinyal dengan kualitas baik ini memungkinkan lebih banyak data yang

dikirimkan dalam satu periode waktu dan tidak perlu sering di-repeat

Secara fisik, desain CPU multicore menggunakan ruang yang lebih kecil pada PCB (Printed

Circuit Board) dibandingkan dengan desain multichip SMP.

Prosesor dual-core menggunakan sumber daya lebih kecil dibandingkan dengan sepasang

prosesor dual-core.

Desain multicore memiliki resiko design error yang lebih rendah daripada desain single-core.

Kerugian:

Dalam hal sistem operasi, dibutuhkan penyesuaian pada software yang ada untuk

memaksimalkan kegunaan dari sumber daya komputasi yang disediakan oleh prosesor

multicore. Kemampuan prosesor multicore untuk meningkatkan performa aplikasi juga

bergantung pada jumlah penggunaan thread dalam aplikasi tersebut

Dari sudut pandang arsitektur, pemanfaatan daerah permukaan silikon dari desain single-core

lebih baik daripada desain multicore.

Page 15: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

15

Pengembangan chip multicore membuat produksinya menjadi turun karena bertambahnya

tingkat kesulitan untuk mengatur suhu pada chip yang padat.

Pengaruh multicore terhadap software

Keuntungan software dari arsitektur multicore adalah kode-kode dapat dieksekusi secara

paralel. Dalam sistem operasi, kode-kode tersebut dieksekusi dalam thread-thread atau proses-proses

yang terpisah. Setiap aplikasi pada sistem berjalan pada prosesnya sendiri sehingga aplikasi paralel

akan mendapatkan keuntungan dari arsitektur multicore. Setiap aplikasi harus tertulis secara spesifik

untuk memaksimalkan penggunaan dari banyak thread.

Banyak aplikasi software tidak dituliskan dengan menggunakan thread-thread yang concurrent

karena tingkat kesulitan yang tinggi dalam pembuatannya. Concurrency memegang peranan utama

dalam aplikasi paralel yang sebenarnya.

B. Multicomputer

2.6 PIPELING

A. Definisi Pipeling

Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara

bersamaan tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesan.

Pipeline pada dasarnya digunakan pada komputer bertujuan untuk meningkatkan kinerja dari

komputer.

Page 16: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

16

Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistem komputer, yaitu:

1. Bisa pada level yang tinggi, misalnya program aplikasi

2. Dan tingkat rendah, seperti pada instruksi yang dijalankan oleh microprocessor.

Ada perbedaan khusus antara model microprocessor yang tidak menggunakan arsitektur pipeline

dengan microprocessor yang menerapkan teknik ini, yaitu;

1. Pada microprocessor yang tidak menggunakan pipeline, satu instruksi dilakukan sampai

selesai, baru instruksi berikutnya dapat dilaksanakan.

2. Pada microprocessor yang menggunakan teknik pipeline, ketika satu instruksi sedangkan

diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang

bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses

yang berbeda. Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi

Gambar pipeling.

Sejumlah teknik pipeline yang harus diperhatikan agar dapat berjalan dengan baik, yaitu:

1. Terjadinya penggunaan resource yang bersamaan.

2. Ketergantungan terhadap data.

3. Pengaturan jump ke suatu lokasi memori.

Page 17: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

17

Gambar generic pipeling

B. Kekurangan Pipeling

- Kelebihan

1. Siklus waktu dalam prosesor berkurang, sehingga secara umum menilai instruksi-isu

2. Kombinasi beberapa sirkuit seperti adders atau multipliers dapat dibuat lebih cepat

dengan menambahkan lebih circuitry. Jika pipelining digunakan sebagai gantinya,ia

dapat menyimpan circuity melawan yang lebih kompleks atas kombinasi sirkuit.

- Kekurangan

1. Mencegah penundaan cabang ini (berlaku, setiap cabang yang tertunda) dan

masalah dengan serial instruksi yang dijalankan secara bersamaan,akibatnya desain

yang lebih sederhana dan murah untuk produksi.

2. Instruksi yang tersembunyi pada prosesor non pipelining tersebut sedikit lebih

rendah daripada di pipelining yang setara. Hal ini disebabkan oleh kenyataan bahwa

tiba-tiba harus ditambahkan ke jalur data dari prosesor pipelined

3. Prosesor non pipelining akan ada instruksi bandwith yang stabil. Kinerja prosesor

pipelined sangat sulit untuk memprediksi dan dapat bervariasi secara lebih luas di

antara berbagai program

Page 18: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

18

2.7 SUPERSCALAR

Superscalar adalah kemampuan prosesor yang dapat berjalan sekali putaran eksekusi intruksi

dan perintahnya dapat dilakukan sebanyak mungkin. Tentunya dengan teknik pipeling yang telah kita

bahas. Prosesor ini menggunakan beberapa unit fungsionalitas yang dieksekusi secara parallel, lihat

gambar.

Page 19: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

19

BAB III

PENUTUP

3.1 Simpulan Setelah menelaah lebih jauh dari pembahasan di atas kami dapat simpulkan bahwa:

.

3.2 Saran Untuk saran di penulisan selanjutnya mohon untuk menyertakan proses yangn lebih detail lagi

per bab yang ada di dalam bahasan materi, disertakan dengan analisa gambar dan audio visual bila

perlu. Untuk memudahkan pemahaman yang menyaksikan atau yang menyimak penjelasan ini.

Page 20: Maximizing Processor

TUGAS SISTEM KOMPUTER - MAXIMIZING PROCESSOR

20