cara kerja processor

21

Click here to load reader

Upload: panjiismail

Post on 04-Jul-2015

3.719 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: CARA KERJA PROCESSOR

1

KATA PENGANTAR

            Puji syukur penulis haturkan kehadirat Allah SWT, atas limpahan rahmat dan karunia-Nya penulis dapat menyelesaikan makalah yang berjudul “Sistem Kerja Processor Dalam Memproses dan Menjalankan Aplikasi ”.

            Makalah ini membahas tentang bagaimana processor memproses aplikasi baik satu aplikasi maupun lebih serta menjelaskan tentang bagaimana processor membagi banyak aplikasi dan membedakanya. Penulis sangat berharap makalah ini dapat bermanfaat bagi kita semua sehingga kita dapat mengetahui apa saja yang menjadi manfaat positif dan negatif dari teknologi dan informasi yang semakin berkembang pesat dewasa ini khususnya pada bidang pendidikan.

           Dalam proses pendalaman materi pengantar Mikroprocessor ini, tentunya kami mendapatkan bimbingan, arahan, koreksi dan saran, untuk itu rasa terima kasih yang dalam-dalamnya kami sampaikan :

Allah Subhanahuwataala dan Nabiyullah Muhammad Salallahualaihi Wassalam Bapak Satyo Nuryadi, ST selaku dosen mata kuliah “Mikroprocessor” Rekan-rekan mahasiwa yang telah banyak memberikan masukan untuk makalah ini.

Demikian makalah ini saya buat semoga bermanfaat,

Yogyakarta, 14 Maret 2011

Penyusun

Page 2: CARA KERJA PROCESSOR

2

DAFTAR ISI

KATA PENGANTAR................................................................................................................1

DAFTAR ISI..............................................................................................................................2

BAB I.........................................................................................................................................3

1. PENDAHULUAN..............................................................................................................31.1 Latar Belakang Masalah...............................................................................................3

1.2 Tujuan Penulisan Masalah............................................................................................4

1.3 Rumusan Masalah.........................................................................................................4

BAB II........................................................................................................................................5

2. PEMBAHASAN.................................................................................................................52.1 Bagaimana Cara Kerja Processor Dalam Memproses Sebuah Aplikasi.......................5

2.2. Bagaimana Cara Kerja Processor Dalam Memproses Banyak Aplikasi......................6

2.3. Bagaimana Processor Membagi Tugas Dalam Menjalankan Banyak Aplikasi.........11

2.4. Bagaimana Processor Membedakan Suatu Aplikasi Dengan Aplikasi lain...............11

PENUTUP................................................................................................................................13

3.1. Kesimpulan..................................................................................................................13

DAFTAR PUSTAKA..............................................................................................................14

Page 3: CARA KERJA PROCESSOR

3

BAB IPENDAHULUAN

1.1 Latar belakang masalah

Processor merupakan pengolah utama dari komputer, dan merupakan bagian dari central processing unit(CPU). Melakukan proses data dengan berbagai perangkat pendukung. Alat ini digunakan sebagai pusat atau otak dari komputer yang berfungsi untuk melakukan perhitungan dan menjalankan tugas.

Ada dua hal yang berperan penting dalam prosesor, yaitu register dan system clock. Register berfungsi sebagai penyimpan data, pengingat perintah-perintah yang diterima oleh prosesor, dan menarik data tadi ketika dibutuhkan. Kemampuan prosesor diukur dari seberapa banyak perintah dikerjakan dalam waktu bersamaan. Dalam bahasa brosur ditunjukkan lewat jenis prosesor 16 bit, 32 bit atau 64 bit. Artinya masing-masing prosesor ini mampu mengerjakan perintah 0 dan 1 tadi, ada yang 16, 32 atau 64 perintah secara bersamaan.

Prosesor membutuhkan waktu untuk mengerjakan setiap perintah. Jika perintah datang mengalir deras, maka prosesor akan mengatur perintah-perintah itu dalam sebuah antrian yang rapi. Waktu penyelesaian satu perintah diukur dalam satu siklus. Seberapa cepat satu siklus itu bergantung pada desain prosesornya. Itulah yang menyebabkan mengapa satu PC dan PC lainnya membutuhkan waktu yang berbeda untuk menjalankan sebuat software.

Saat pertama kali ditemukanya processor, dalam processor semua penghitungan tersebut dilakukan sendirian dengan satu otak. processor menerima serangkaian instruksi yang harus dilakukannya, mengeksekusi, kemudian memilah bagian mana yang harus disimpannya di dalam cache untuk memudahkan penghitungan kembali jika diperlukan.

Jika dibutuhkan data dari luar cache, processor akan mengambilnya melalui system bus dari random access memory (RAM) atau dari media penyimpanan seperti hard disk. Pengambilan data dari luar cache ini akan menurunkan kinerja processor dari kecepatan maksimum yang dimilikinya. RAM atau media penyimpanan bekerja lebih lambat daripada kecepatan processor.

Situasi di atas akan bertambah parah saat processor harus mengerjakan banyak tugas dalam waktu bersamaan (multitasking). Processor harus bolak-balik mengakses aliran data atau aplikasi yang akan menguras resource dan menurunkan kinerjanya.

Aplikasi-aplikasi sekarang ternyata lebih memberatkan kinerja komponen lain, seperti memory. Dan tidak jarang aplikasi-aplikasi tersebut bekerja dalam waktu yang bersamaan. Untuk menjawab Keterbatasan kinerja processor tradisiona dan pertumbuhan yang tidak sinkron antara kecepatan core processor dengan kebutuhan aplikasi inilah multiproscessor hadir.

Page 4: CARA KERJA PROCESSOR

4

1.2. Tujuan Penulisan Makalah 

 Makalah ini ditulis dengan beberapa tujuan sebagai berikut :

1. Mengetahui Sistem kerja processor dalam memproses suatu data;2. Mengetahui pemrosesan data dalam memori dengan melalui berbagai macam algoritma

penjadwalan;

1.3. Rumusan Masalah 

1. Bagaimana cara kerja processor dalam memproses sebuah aplikasi2. Bagaimana cara kerja processor dalam memproses banyak aplikasi

3. Bagaimana processor membagi tugas dalam menjalankan banyak aplikasi4. Bagaimana processor membedakan suatu aplikasi dengan aplikasi lainnya

Page 5: CARA KERJA PROCESSOR

5

BAB II

PEMBAHASAN

2.1 Cara kerja prosesor dalam memproses sebuah aplikasi

Dalam memproses sebuah aplikasi, processor melakukan operasi aritmatika dan logika terhadap data. Data tersebut diambil dari memori atau diperoleh dari alat input yang dioperasikan oleh operator seperti papan ketik (keyboard), mouse dan lainnya. Kerja prosesor ini dikontrol oleh sekumpulan instruksi software. Software tersebut diperoleh atau dibaca dari media penyimpan seperti harddisk, disket, CD, dan lainnya. Kemudian instruksi-instruksi tadi disimpan dalam RAM. Setiap instruksi diberi alamat unik yang disebut alamat memori. Untuk selanjutnya, prosesor akan mengakses data-data yang ada pada RAM, dengan cara menentukan alamat data yang dikehendaki.

Prosesor dan RAM dihubungkan oleh unit yang disebut bus. Saat sebuah program dijalankan, data akan mengalir dari RAM melalui bus, menuju ke prosesor. Di dalam prosesor, data ini di-dekode, kemudian berjalan ke ALU yang bertugas melakukan kalkulasi dan perbandingan. Kadang-kadang data disimpan sementara di register agar dapat diambil kembali dengan cepat untuk diolah. Setelah selesai, hasil pemrosesannya mengalir kembali ke RAM atau ke media penyimpan. Apabila data hasil perosesan tadi akan diolah lagi, maka data tersebut akan disimpan dalam register. Demikian seterusnya.

Sebagai contoh fungsi dari processor dalam menjalankan sebuah aplikasi adalah ketika Anda hendak menjalankan sebuah aplikasi seperti memutar lagu pada sebuah player seperti Winamp. Pertama-tama tentunya Anda akan mengklik icon Winamp untuk memainkan lagu yang Anda inginkan. Ketika Anda klik Winamp, mouse memberikan sinyal kepada komputer Anda melalui kabel mouse menuju mainboard Anda. Kemudian mainboard melalui jalur khusus, sinyal tersebut diteruskan melalui sebuah jalur BUS yang akan menuju ke Memori Utama, setelah diregister di memori utama, baru kemudian diteruskan menuju Processor untuk diolah sinyal yang dikirimkan tersebut. Setelah processor memproses sinyal tersebut (pengecekan request sinyal tersebut dapat dipenuhi atau tidak), processor akan mengirimkan sinyal kembali kepada komponen-komponen lainnya yang diperlukan untuk menjalankan program Winamp tersebut (seperti harddisk, memory dan sebagainya). Barulah program Winamp akan tampil di monitor Anda.

Page 6: CARA KERJA PROCESSOR

6

2.2 Cara kerja prosesor dalam memproses banyak aplikasi

Untuk memproses banyak aplikasi , computer harus mempunyai prosesor lebih dari satu atau lebih dikenal dengan multiprocessor. Multiprocessor atau multi CPU adalah sebuah sistem yang terdiri dari 2 atau lebih CPU (Processor), selain itu masing-masing CPU pada multiprocessor bisa jadi merupakan multicore processor. Sistem ini dikenal juga sebagai SMP (Simultaneous Multiprocessing). Pada multiprocessor system, computer atau sistem tersebut dapat melakukan 2 pekerjaan (task/process) secara bersamaan, tentunya bila ada 2 CPU, bila terdapat 3 CPU maka akan ada 3 pekerjaan yang dapat dilakukan secara bersamaan dan seterusnya. Jadi suatu system multiprocessor bisa saja juga merupakan multicore processor, namun multicore processor tidak dapat termasuk sebagai multiprocessor. Selain itu multicore processor lebih membutuhkan sedikit resources dibanding dengan multiprocessor, seperti space atau tempat pada motherboard, fan untuk mengatasi heat yang dihasilkan dan biaya untuk membangun sistem itu sendiri.Selain itu ada juga sistem yang lain yaitu SMT (Simultaneous Multithreading), sebagai contoh adalah Hyperthreading dari Intel. Pada hyperthreading hanya bagian yang mengandung architectural-state saja yang mengalami duplikasi atau ada lebih dari satu pada sebuah processor, namun bagian yang lain dari processor tersebut seperti execution unit dan cache-nya tetap ada 1 buah. Karena architectural-state-nya diduplikasi, maka sistem operasi akan  melihat processor ini sebagai duah buah logical processor, dengan kata lain hanya ada 1 processor, namun terlihat sebagai 2 buah processor bagi sistem operasi, dengan demikian sistem operasi dapat men-schedule 2 buah threads atau process secara bersamaan.

untuk lebih jelasnya dapat melihat gambar berikut ini:

Page 7: CARA KERJA PROCESSOR

7

Multiprocessor mempunyai kemampuan untuk mengeksekusi beberapa proses perangkat lunak dalam sebuah system secara serentak. Dan untuk memproses banyak aplikasi, multiprocessor mempunyai sisitem penjadwalan dan tentunya penjadualannya lebih rumit karena mempunyai banyak kemungkinan yang dicoba tidak seperti pada processor tunngal. Tapi saat ini kita hanya fokus pada processor yang homogen (sama) sesuai dengan fungsi masing-masing dari processor tersebut. Dan juga kita dapat menggunakan processor yang tersedia untuk menjalankan proses didalam antrian. Ada 3 macam penjadwalan untuk memproses banyak aplikasi yaitu:

1. Penjadwalan CPUKriteria penjadwalan

1. Algoritma penjadwalan CPU yang berbeda akan memiliki perbedaan properti. Sehingga untuk memilih algoritma ini harus dipertimbangkan dulu properti-properti algoritma tersebut. Ada beberapa kriteria yang digunakan untuk melakukan pembandingan algoritma penjadwalan CPU, antara lain:

2. CPU utilization. Diharapkan agar CPU selalu dalam keadaan sibuk. Utilitas CPU dinyatakan dalam bentuk prosen yaitu 0-100%. Namun dalam kenyataannya hanya berkisar antara 40-90%.

3. Throughput. Adalah banyaknya proses yang selesai dikerjakan dalam satu satuan waktu.

4. Turnaround time. Banyaknya waktu yang diperlukan untuk mengeksekusi proses, dari mulai menunggu untuk meminta tempat di memori utama, menunggu di ready queue, eksekusi oleh CPU, dan mengerjakan I/O.

5. Waiting time. Waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak mempengaruhi eksekusi proses dan penggunaan I/O.

6. Response time. Waktu yang dibutuhkan oleh suatu proses dari minta dilayani hingga ada respon pertama yang menanggapi permintaan tersebut.

7. Fairness. Meyakinkan bahwa tiap-tiap proses akan mendapatkan pembagian waktupenggunaan CPU secara terbuka (fair).

Algoritma penjadwalanPenjadual CPU berurusan dengan permasalahan memutuskan proses mana yang akan dillaksanakan, oleh karena itu banyak bermacam algoritma penjadual, di seksi ini kita akan mendiskripsikan beberapa algoritma.1. First Come, First Served

Ini merupakan algoritma yang paling sederhana, dengan skema proses yang meminta CPU mendapat prioritas. Implementasi dari FCFS mudah diatasi dengan FIFO queue.

2. Shortest Job FirstSalah satu algoritma yang lain adalah Shortest Job First. Algoritma ini berkaitan dengan waktu setiap proses. Ketika CPU bebas proses yang mempunyai waktu terpendek untuk menyelesaikannya mendapat prioritas. Seandainya dua proses

Page 8: CARA KERJA PROCESSOR

8

atau lebih mempunyai waktu yang sama maka FCFS algoritma digunakan untuk menyelsaikan masalah tersebut.Ada dua skema dalam SJFS ini yaitu:1. Nonpremptive

ketika CPU memberikan kepada proses itu tidak bisa ditunda hingga selesai.2. Preemptive

bila sebuah proses datang dengan waktu prose lebih rendah dibandingkan dengan waktu proses yang sedang dieksekusi oleh CPU maka proses yang waktunya lebih rendah mendapatkan prioritas. Skema ini disebut juga Short – Remaining Time First (SRTF).

3. PrioritasPenjadualan SJF (Shortest Job First) adalah kasus khusus untuk algoritma penjadual Prioritas. Prioritas dapat diasosiasikan masing-masing proses dan CPU dialokasikan untuk proses dengan prioritas tertinggi.Ada pun algoritma penjadual prioritas adalah sebagai berikut:

1. Setiap proses akan mempunyai prioritas (bilangan integer). Beberapa sistem menggunakan integerdengan urutan kecil untuk proses dengan prioritas rendah, dan sistem lain juga bisa menggunakaninteger urutan kecil untuk proses dengan prioritas tinggi. Tetapi dalam teks ini diasumsikan bahwa integer kecil merupakan prioritas tertinggi.

2. CPU diberikan ke proses dengan prioritas tertinggi (integer kecil adalah prioritas tertinggi).

Dalam algoritma ini ada dua skema yaitu:1. Preemptive: proses dapat di interupsi jika terdapat prioritas lebih tinggi yang

memerlukan CPU.2. Nonpreemptive: proses dengan prioritas tinggi akan mengganti pada saat

pemakain time-slice habis.

SJF adalah contoh penjadual prioritas dimana prioritas ditentukan oleh waktu pemakaian CPU berikutnya. Permasalahan yang muncul dalam penjadualan prioritas adalah indefinite blocking atau starvation.

4. Round RobinAlgoritma Round Robin (RR) dirancang untuk sistem time sharing. Algoritma ini mirip dengan penjadwal FCFS, namun preemption ditambahkan untuk switch antara proses. Antrian ready diperlakukan atau dianggap sebagai antrian sirkular. CPU menglilingi antrian ready dan mengalokasikan masing-masing proses untuk interval waktu tertentu sampai satu time slice/ quantum.Berikut algritma untuk penjadual Round Robin:

1. Setiap proses mendapat jatah waktu CPU (time slice/ quantum) tertentu Time slice/quantum umumnya antara 10 – 100 milidetik. Setelah time slice/ quantum maka proses akan di-preempt dan dipindahkan ke antrian ready.

2. Proses ini adil dan sangat sederhana.

Page 9: CARA KERJA PROCESSOR

9

Jika terdapat n proses di “antrian ready” dan waktu quantum q (milidetik), maka:1. Maka setiap proses akan mendapatkan 1/n dari waktu CPU.2. Proses tidak akan menunggu lebih lama dari: (n-1)q time units.

Kinerja dari algoritma ini tergantung dari ukuran time quantum1. Time Quantum dengan ukuran yang besar maka akan sama dengan FCFS2. Time Quantum dengan ukuran yang kecil maka time quantum harus

diubah ukurannya lebih besar dengan respek pada alih konteks sebaliknya akan memerlukan ongkos yang besar.

2. Penjadwalan SMP (Symmetric multiprocessing)

Penjadwalan SMP ( Symmetric multiprocessing) adalah pendekatan kedua untuk penjadwalan prosesor jamak. Dimana setiap prosesor menjadwalkan dirinya sendiri ( self scheduling). Semua proses mungkin berada pada antrian ready yang biasa, atau mungkin setiap prosesor memiliki antrian ready tersendiri. Bagaimanapun juga, 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 meng- update 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, Solaris, Linux, dan Mac OS X.

1. Load Balancing

Dalam sistem SMP, sangat penting untuk menjaga keseimbangan workload antara semua prosesor untuk memaksimalkan keuntungan memiliki multiprocessor. Jika tidak, mungkin satu atau lebih prosesor idle disaat prosesor lain harus bekerja keras dengan workload yang tinggi. Load balancing adalah usaha untuk menjagaworkload terdistribusi sama rata untuk semua prosesor dalam sistem SMP. Perlu diperhatikan bahwa load balancing hanya perlu dilakukan pada sistem dimana setiap prosesor memiliki antrian tersendiri( private queue) untuk proses-proses yang berstatus ready. Pada sistem dengan antrian yang biasa ( common queue), load balancing tidak diperlukan karena sekali prosesor menjadi idle, prosesor tersebut segera mengerjakan proses yang dapat dilaksanakan dari antrian biasa tersebut. Perlu juga diperhatikan bahwa pada sebagian besar sistem operasi kontemporer mendukung SMP, jadi setiap prosesor bisa memiliki private queue.

Ada dua jenis load balancing, yaitu:

1. Push migration, pada kondisi ini ada suatu task spesifik yang secara berkala memeriksa load dari tiap-tiap prosesor. Jika terdapat ketidakseimbangan, maka dilakukan perataan dengan memindahkan( pushing) proses dari yang kelebihan muatan ke prosesor yang idle atau yang memiliki muatan lebih sedikit.

Page 10: CARA KERJA PROCESSOR

10

2. Pull migration, kondisi ini terjadi saat prosesor yang idle menarik( pulling) proses yang sedang menunggu dari prosesor yang sibuk.

Kedua pendekatan tersebut tidak harus mutually exclusive dan dalam kenyataannya sering diimplementasikan secara paralel pada sistem load-balancing.

Keuntungan dari affinity berlawanan dengan keuntungan dari load balancing, yaitu keuntungan menjaga suatu proses berjalan pada satu prosesor yang sama dimana proses dapat memanfaatkan data yang sudah ada pada memori cache prosesor tersebut berkebalikan dengan keuntungan menarik atau memindahkan proses dari satu prosesor ke prosesor lain. Dalam kasus system engineering, tidak ada aturan tetap keuntungan yang mana yang lebih baik. Walaupun pada beberapa sistem, prosesor idle selalu menarik proses dari prosesor non-idlesedangkan pada sistem yang lain, proses dipindahkan hanya jika terjadi ketidakseimbangan yang besar antara prosesor.

2. Symetric Multithreading

Sistem SMP mengizinkan beberapa thread untuk berjalan secara bersamaan dengan menyediakan banyak physical processor. Ada sebuah strategi alternatif yang lebih cenderung untuk menyediakan logical processor daripada physical processor. Strategi ini dikenal sebagai SMT ( Symetric Multithreading). SMT juga biasa disebut teknologi hyperthreading dalam prosesor intel. Ide dari SMT adalah untuk menciptakan banyak logical processor dalam suatu physical processor yang sama dan mempresentasikan beberapa prosesor kepada sistem operasi.

Setiap logical processor mempunyai state arsitekturnya sendiri yang mencangkup general purpose dan machine state register. Lebih jauh lagi, setiap logical prosesor bertanggung jawab pada penanganan interupsinya sendiri, yang berarti bahwa interupsi cenderung dikirimkan ke logical processor dan ditangani oleh logical processor bukan physical processor. Dengan kata lain, setiap logical processor men- share resource dari physical processor-nya, seperti chace dan bus.

3. Penjadwalan AMP (Asymmetric Multiprocessing)

Pendekatan pertama untuk penjadwalan prosesor jamak adalah penjadwalan asymmetric multiprocessing atau biasa disebut juga sebagai penjadwalan master/slave. Dimana pada metode ini hanya satu prosesor (master) yang menangani semua keputusan penjadwalan pemrosesan M/K, dan aktivitas sistem lainnya dan prosesor lainnya (slave) hanya mengeksekusi proses.

Metode ini sederhana karena hanya satu prosesor yang mengakses struktur data sistem dan juga mengurangi data sharing. Dalam teknik penjadwalan master/slave, satu prosesor menjaga status dari semua proses dalam sistem dan menjadwalkan kinerja untuk semua prosesor slave.

Sebagai contoh, prosesor master memilih proses yang akan dieksekusi, kemudian mencari prosesor yang available, dan memberikan instruksi start processor. Prosesor slave memulai

Page 11: CARA KERJA PROCESSOR

11

eksekusi pada lokasi memori yang dituju. Saat slave mengalami sebuah kondisi tertentu seperti meminta M/K, 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.

2.3 Cara processor membagi tugas dalam menjalankan banyak aplikasi

Untuk membagi tugas-tugas dalam menjalankan banyak aplikasi, maka digunakan intruksi SIMD (Single Instruction on Multiple Data Stream)

1. SIMD merupakan salah satu bentuk dari paralel sinkron yang memproses satu instruksi dengan banyak prosesor elemen pada waktu yang sama. Di dalam paradigma SIMD yang paling penting bukanlah kontrol prosesor melainkan data. Data diproses oleh masing-masing elemen pemroses yang berbeda dari satu prosesor ke prosesor lainnya. Sehingga satu program dan satu kontrol unit bekerja secara bersamaan pada kumpulan data yang berbeda. Untuk memproses data secara efisien, SIMD membuat pengaturan proses menjadi dua phase, yaitu :

1. Memilah dan mendistribusikan data (data partitioning and distribution) 2. Memproses data secara paralel (data paralel prosesing).

Jadi efisiensi akan tergantung kepada banyaknya permasalahan yang harus diselesaikan secara paralel. Cara terbaik dalam menggunakan SIMD adalah dengan mencocokan banyaknya permasalahan dengan banyaknya prosesor paralel. Banyaknya permasalahan berarti seberapa banyak jumlah data yang akan di perbaharui dan banyaknya prosesor paralel berarti jumlah prosesor yang tersedia. Jadi jika permasalahanya sebanding dengan prosesor paralel maka kecepatan tertinggi dapat terjadi, sebaliknya apabila permasalahan hanya satu dengan prosesor paralel yang banyak menyebabkan sistem SIMD menjadi tidak efektif. SIMD sering diidentikan sebagai permasalahan paralel yang sederhana, padahal tidaklah benar karena paradigma SIMD sangat berguna dalam menyelesaikan permasalahan yang memiliki beberapa data yang perlu diperbaharui secara serempak. Khususnya sangat berguna untuk perhitungan numerik biasa seperti perhitungan matrix dan vektor.

2.4 Cara processor membedakan suatu aplikasi dengan aplikasi lainnya

Untuk membedakan suatu aplikasi dengan aplikasi lainnya, maka digunakan intruksi MIMD (Multiple Instruction on Multiple Data Stream). MIMD merupakan banyak prosesor yang dapat mengeksekusi instruksi dan data yang berbeda-beda secara bersamaan. Lebih lanjut sebagai bagian dari komputer, prosesor memiliki otonom yang besar dalam melakukan operasinya.

Secara umum MIMD digunakan ketika banyak permasalahan heterogen yang harus diselesaikan pada waktu yang sama. MIMD sangat baik digunkan untuk meneyelesaikan permasalahan yang besar, sebab melebihi data dan kontrol yang harus dilewatkan dari task ke task. Sebagai contoh dalam analogi sebuah Bank, MIMD akan menampilkan kerja terbaiknya ketika masing-masing teller memiliki beberapa transaksi yang harus diselesaikan satu persatu

Page 12: CARA KERJA PROCESSOR

12

tanpa ada pembuangan waktu dan penghentian dari beberapa bagian transaksi. Tetapi pada sistem MIMD akan dibingungkan oleh aliran data (dataflow) paralel, karena aliran data tersebut harus dikerjakan oleh mesin MIMD secara terus menerus.

Kegunakan sistem MIMD

Pertama, bahwa tiap-tiap prosesor bekerja secara independen kecuali untuk sistem sinkoron tertentu harus menunggu. Prosesor menjalankan task yang pendek sebagai contoh selesainya mengevaluasi vektor satu elemen sebelum prosesor memproses task lebih jauh. Tentu saja prosesor dalam waktu yang singkat dapat melakukan beberapa pekerjaan yang berbeda, seperti waiting, comparing dan sending data.

Kedua, bahwa pada program paralel untuk menyelesaikan suatu task baik jumlahnya diketahui ataupun tidak, menggunakan prosesor yang jumlahnya tidak diketahui pula.

Hal tersebut menggambarkan dua ciri mendasar dari sistem MIMD, yaitu :

1. Kelamahan pada sentralisasi dan mekanisme sistem sinkron secara umum

2. Penggeneralisasian task yang heterogen yang dioperasikan secara bersamaan, contohnya dalam memproses operasi yang berbeda dengan data berbeda dan dalam jangka waktu yang berbeda pula.

Secara umum MIMD meliputi paradigma reduksi/dataflow. Pada kenyataannya juga secara umum meliputi SIMD, sebab kita dapat menemui sifat SIMD pada sebagian sifat MIMD. Sehingga menghasilkan Kinerja akhir dari simulasi satu bentuk mesin dengan bentuk lainnya. Untuk menggabungkannya, mesin MIMD mengubah SIMD prosesor dimana masing-masing prosesornya mampu mengerjakan banyak task dari aplikasi yang berbeda pada waktu yang sama.

Page 13: CARA KERJA PROCESSOR

13

PENUTUP

Kesimpulan

Mrocessor merupakan bagian utama dari computer karena processor berfungsi untuk mengatur semua aktivitas yang ada pada computer. Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di RAM (melalui Input-storage); apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage). Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register). Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Accumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke output-devices.

Dalam Taksonomi Flynn, untuk menjalankan dan memproses aplikasi komputer dibagi

menjadi empat buah kelas, yakni

Single Instruction Single Data Stream (SISD), yaitu sebuah komputer yang tidak

memiliki cara untuk melakukan paralelisasi terhadap instruksi atau data. Contoh mesin

SISD adalah PC tradisional atau mainframe yang tua.

Multiple Instruction, Single Data Sream (MISD), yaitu sebuah komputer yang dapat

melakukan banyak instruksi terhadap satu aliran data. Komputer ini, tidak memiliki

contoh, karena meski pernah dibuat, hal itu dibuat sebagai purwarupa (prototipe), dan

tidak pernah dirilis secara massal.

Single Instruction, Multiple Data Stream (SIMD), yaitu sebuah komputer yang mampu

memproses banyak aliran data dengan hanya satu instruksi, sehingga operasi yang

dilakukan adalah operasi paralel. Contoh dari SIMD adalah prosesor larik (array

processor), atau GPU.

Multiple Instruction, Multiple Data stream (MIMD), 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.

Page 14: CARA KERJA PROCESSOR

14

DAFTAR PUSTAKA

Bambang Harianto, Ir.,2002, System Operasi, Penerbit Informatika Bandung.

Burd. Stephen., 2003, System Architecture, Penerbit Thomson Course Technology.

Dali S. Naga., 1993, Sistem Operasi Komputer, Teori dan Soal, Penerbit Gunadarma

D. Suryadi H.S., 1996, Pengenalan Komputer, Seri Diktat Kuliah, Penerbit Gunadarma

Hamacher, Carl,. Et al., 2002, Organisasi Komputer, Edisi Internasional, Penerbit Andi Yogyakarta.

http://expolusion.blogspot.com/2010/02/dma-memahami-interface-yang-ada-pada.html

http://kaptenworld.mywapblog.com/mengenal-processor-atau-microprocessor-p.xhtml

http://library.gunadarma.ac.id/files/disk1/6/jbtgunadarma-gdl-course-2005-timpengaja-281-orkom1.ppt

http://ncca.bournemouth.ac.uk

http://en.wikipedia.org/wiki/computer

Jogiyanto HM, MBA, Akt., Ph.D., 2003, Sistem Teknologi Informasi, Penerbit Andi, Yogyakarta.

Lynn, Paul A., Wolfgang Fuerst (1989), Introductory Digital Signal Processing with Computer Applications, England: John Willey and Sons Ltd.

Stalling. William., 2003, Organisasi dan Arsitektur Komputer Perancangan Kinerja, Penerbit PT. Indeks Kelompok Gramedia.