Anda di halaman 1dari 32

MAKALAH

MULTIPROCESING AND ALTERNATIVE


ARCHITECTURE

Disusun Untuk Memenuhi Tugas


Mata Kuliah Organisasi dan Arsitektur Komputer

Disusun Oleh :
RIZWAN GUSTAMA
NIM : 20180040068

Dosen Pengajar :
HERMANTO, M. Kom

PROGRAM STUDY TEKNIK INFORMATIKA


FAKULTAS ILMU KOMPUTER
UNIVERSITAS NUSA PUTRA
2018

1
KATA PENGANTAR

Dengan mengucapkan puji syukur kehadirat Tuhan Yang Maha Esa dan berkat rahmat
dan izinya sehingga tugas Makalah Mata Kuliah Organisasi dan Arsitektur Komputer yang
mengambil tema “Multiprocesing and alternative architecture” dapat kami selesaikan tepat
pada waktunya. Dalam penulisan Makalah ini tidak terlepas dari dukungan dan partisipasi dari
berbagai pihak. Sehubungan dengan hal itu, kami mengucapkan terima kasih kepada pihak-
pihak yang telah membantu dalam kegiatan ini.

Kami menyadari makalah ini masih jauh dari kesempurnaan oleh karena itu, kami
sangat mengharapkan masukan, kritik dan saran untuk kesempurnaan penulisan makalah ini
pada masa yang akan datang. Demikianlah Makalah yang dapat kami sajikan, mudah-mudahan
dapat bermanfaat bagi tim penulis khususnya dan pada pembaca umumnya.

Tim Penulis,

2
DAFTAR ISI

KATA PENGANTAR .......................................................................................................... 2


DAFTAR ISI ......................................................................................................................... 3
BAB I PENDAHULUAN
1.1 Latar Belakang Penulis Makalah .............................................................................. 4
1.2 Rumusan Msalah ...................................................................................................... 5
1.3 Tujuan Penulis Makalah ........................................................................................... 5
1.4 Manfaat Penulisan Makalah ...................................................................................... 6
BAB II PEMBAHASAN
2.1 Pengertian Multiprocesing ........................................................................................ 7
2.2 Keuntungan Multiprocesing ...................................................................................... 7
2.3 Jenis-Jenis Multiprocesing ........................................................................................ 8
2.4 Penjadwalan Multiprocesing ..................................................................................... 14
2.5 Affinity ...................................................................................................................... 15
2.6 Multithreding ............................................................................................................ 16
2.7 Multicore ................................................................................................................... 24
BAB III PENUTUP
3.1 Simpulan ................................................................................................................... 31
3.2 Saran ..........................................................................................................................31
DAFTAR PUSTAKA .......................................................................................................... 32

3
BAB I

PENDAHULUAN

1.1 Latar Belakang Penulisan Makalah


Dalam sistem multiprocessing, semua CPU mungkin sama, atau beberapa
mungkin disediakan untuk tujuan khusus. Sebuah kombinasi antara perangkat lunak,
perangkat keras dan pertimbangan desain sistem operasi sangat menentukan pola simetri
dalam sistem Control Unit. Sebagai contoh, perangkat keras atau perangkat lunak mungkin
memerlukan pertimbangan bahwa hanya satu
CPU menanggapi semua hardware interrupts, sedangkan semua pekerjaan lain
dalam sistem boleh didistribusikan merata antara CPU, atau eksekusi kode kernel-

mode dapat dibatasi hanya satu prosesor (baik prosesor tertentu, atau hanya satu
prosesor pada satu waktu), sedangkan kode pengguna-mode mungkin dijalankan dalam
setiap kombinasi prosesor. Sistem Multiprocessing sering difungsikan sebagai jalan
pemecahannya, tetapi fungsi ini terkadang cenderung kurang efisien dibandingkan dengan
sistem di mana semua CPU yang digunakan.

Multiprocessing merupakan penggunaan dua atau lebih unit pengolahan pusat


(CPU) dalam satu sistem komputer. Istilah ini juga merujuk pada kemampuan sistem untuk
mendukung lebih dari satu prosesor dan/atau kemampuan untuk mengalokasikan tugas
antara mereka. Ada banyak variasi pada tema dasar, dan definisi multiprocessing dapat
bervariasi dengan konteks, sebagian besar sebagai fungsi dari seberapa CPU.

Dalam makalah ini tim penulis menyajikan beberapa ulasan singkat tentang
“Multiprocesing” secara terstruktur. Meskipun hanya ulasan singkat, tetapi tim penulis
berharap makalah ini dapat bermanfaat baik bagi pembaca maupun bagi penulis sendiri.
Arsitektur Komputer membahas hal-hal yang berkaitan dengan atribut-atribut
yang terlihat atau di pertimbangkan oleh pemrogram yang memiliki dampak langsung pada
eksekusi logis pada sebuah program. Dengan kata lain arsiterktur komputer membahas
masalah masalah yang berkaitan dengan dengan fungsi komponen komponen komputer.
Contoh atribut arsitektural adalah:

4
a. Set instruksi
b. Reprsentasi data atau jumlah bit yang digunakan untuk mempresentasikan jenis
data (missal: bilangan, karakter, dll)
c. Mekanisme input output (I/O)
d. Teknik pengalamatan memori

Organisasi Komputer membahas bagaimana semua fungsi-fungsi komputer tersebut


dapat diimplementasikan. Jadi, organisasi komputer membahas hal-hal yang berkaitan
dengan unit-unit operasional dan interkoneksinya yang mereliasasikan spesifikasi
arsitektural. Dengan kata lain, organisasi komputer membahas masalah-masalah yang
berkaitan dengan struktur komputer

1.2 Rumusan Masalah


Dengan keterbatasan waktu, dan kesempatan, serta untuk lebih jelas dan
akuratnya hasil dari makalah ini maka kami merasa perlu untuk merumuskan
permasalahan sebagai berikut :
1.2.1 Apa pengertian multiprocessing?
1.2.2 Apa saja keuntungan multiprocessing?
1.2.3 Apa saja jenis-jenis multiprocessing?
1.2.4 Apa saja jenis penjadwalan yang ada dalam multiprocessing?
1.2.5 Apa itu affinity dan load balancing?
1.2.6 Apa itu multithreading?
1.2.7 Apa itu multicore?
1.2.8 Konsep dasar arsitektur computer
1.2.9 Organisasi dan arsitektur computer
1.2.10 Evolusi dan perkembangan computer
1.2.11 Interup
1.2.12 Arermatika komputer (system bilangan)
1.2.13 Set instruksi
1.2.14 Struktur dan fungsi cpu
1.2.15 Penyimpanan (memory)

5
1.3 Tujuan Penulisan Makalah
Adapun yang menjadi tujuan penulis dalam penulisan makalah ini adalah :

1.3.1 Untuk mengetahui tentang pengertian multiprocessing.


1.3.2 Untuk dapat mendeskripsikan tentang keuntungan multiprocessing.
1.3.3 Untuk dapat mendeskripsikan jenis-jenis multiprocessing alternative
architecture.
1.3.4 Untuk dapat mengetahui tentang jenis-jenis penjadwalan yang ada dalam
multiprocessing.
1.3.5 Untuk mengetahui istilah affinity dan load balancing dalam
multiprocessing alternative architecture.
1.3.6 Untuk mengetahui tentang multithreading dan alternative architecture.
1.3.7 Untuk mengetahui tentang multicore dan alternative architecture.

1.4 Manfaat Penulisan Makalah


Adapun yang menjadi tujuan kami tim penulis dalam penulisan makalah ini
adalah untuk menjelaskan tentang pengertian, keuntungan, tipe dan jenis, dasar-dasar
penjadwalan, dan istilah-istilah seperti multithreading and alternative architecture serta
istilah multicore yang berkaitan dengan multiprocessing dalam organisasi pararel.
Disamping itu penulisan makalah ini juga bertujuan untuk melengkapi tugas mata
kuliah “Mata Kuliah Organisasi dan Arsitektur Komputer ”.

6
BAB II

PEMBAHASAN

2.1 Pengertian Multiprocessing


Multiprocessing adalah istilah teknologi informasi dalam bahasa Inggris yang
memiliki arti: kemampuan pemrosesan komputer yang dilakukan secara serentak.
Hal ini dimungkinkan dengan menggunakan dua CPU atau lebih dalam sebuah
sistem komputer. Istilah ini juga dapat diartikan sebagai dukungan sebuah sistem
untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada
prosesor-prosesor tersebut.

Multiprocessing adalah kemampuan eksekusi terhadap beberapa proses


perangkat lunak dalam sebuah sistem secara serentak, jika dibandingkan dengan
sebuah proses dalam satu waktu, meski istilah multiprogramming lebih sesuai
untuk konsep ini. Multiprocessing sering diimplementasikan dalam perangkat
keras (dengan menggunakan beberapa CPU sekaligus), sementara
multiprogramming sering digunakan dalam perangkat lunak. Sebuah system
mungkin dapat memiliki dua kemampuan tersebut, salah satu di antaranya, atau
tidak sama sekali.

Jadi yang dimaksud dengan Multiprocessing adalah penggunaan dua atau


lebih unit pengolahan pusat (CPU) dalam satu sistem komputer. Hal ini berarti
kemampuan sistem untuk mendukung lebih dari satu prosesor dan/atau
kemampuan untuk mengalokasikan tugas antara mereka. Ada banyak variasi pada
tema dasar, dan definisi multiprocessing dapat bervariasi dengan konteks, sebagian
besar sebagai fungsi dari seberapa CPU.
2.1.1 Architecture

2.2 Keuntungan Multiprocesing.


Beberapa keuntungan multiprocessing antara lain:

a. Peningkatan throughput.

7
Yang meningkat adalah peningkatan jumlah pekerjaan yang dapat dilakukan
dalam waktu tertentu.

b. Lebih ekonomis.
Dari pada sistem dengan banyak prosesor tunggal, karena bisa berbagi memori,
storage, dan power supply.

c. Peningkatan kehandalan.
Jika pekerjaan terbagi rata, maka kegagalan salah satu prosesor bisa
ditanggulangi oleh prosesor-prosesor yang lain.

2.3 Jenis-jenis Multiprocesing


2.3.1 Berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam :
2.3.1.1 Asymmentric Multiprocesing (ASMP)
Setiap prosesor diberikan suatu tugas yang spesifik. Sebuah
prosesor bertindak sebagai master processor yang bertugas
menjadwalkan dan mengalokasikan pekerjaan pada prosesor lain yang
disebut slave processor.

Sayangnya, model ini memiliki beberapa kelemahan, seperti


: Kegagalan prosesor utama bisa menyebabkan kegagalan keseluruhan
sistem.

Bisa terjadi penurunan performa, yaitu terjadi bottleneck di


prosesor utama karena dialah yang bertanggung jawab atas
penjadwalan dan manajenem proses.

8
2.3.1.2 Symmentric Multiprocesing (SMP)
Setiap prosesor menjalankan salinan identik dari sistem operasi dan
banyak job yang dapat berjalan pada suatu waktu tanpa mengurangi
kinerja.

Keuntungan SMP:
Performance
Availability
Incremental growth

2.3.2 Berdasarkan jumlah instruksi dan datanya, dapat dibagi ke dalam


(Taksonomi Flynn).
2.3.2.1 SISD (Single Instruction on Single Data Stream)
Satu prosesor
Satu instruksi stream
Data disimpan di satu memori
Disebut uni-prosessor

9
2.3.2.2 SIMD (Single Instruction on Multiple Data Stream)
Instruksi mesin tunggal Eksekusi dikendalikan secara
simultan Terdapat sejumlah elemen proses Setiap instruksi
dieksekusi dalam set data yang berbeda oleh proses yang berbeda

2.3.2.3 MISD (Multiple Instruction on Single Data Stream)


Satu Aliran Instruksi Banyak Aliran Data Belum dapat
diimplementasikan dengan baik

10
2.3.2.4 MIMD (Multiple Instruction on Multiple Data Stream)
Terdiri dari sejumlah set prosesor
Terdiri dari sejumlah set data yang berbeda
Secara simultan mengeksekusi urutan instruksi yang
berbeda Sifat komputer MIMD :
Mendistribusikan pemrosesan ke sejumlah prosesor
independen.
Membagikan sumber termasuk memori utama ke
prosesor independen.
Setiap prosesor menjalankan programnya sendiri. Setiap
prosesor berfungsi secara independen dan bersama-sama.

11
2.3.3 Berdasarkan kedekatan antar processor, dapat dibagi ke dalam :
2.3.3.1 Loosely Coupled
Setiap site memiliki processor, memori lokal dan clock sendiri namun
semua resource dapat diakses dari setiap site.

Proses yang dijalankan pada komputer yang berbeda modul saling


berkomunikasi dengan bertukar pesan melalui Message Transfer
System (MTS).

2.3.3.2 Tightly Coupled


Prosesor berkomunikasi antara satu dengan yang lain dengan
cara berbagi memori utama, sehingga kecepatan komunikasi dari satu
prosesor ke yang lain tergantung pada bandwidth memori.
Sebuah memori lokal kecil atau buffer (cache) kemungkinan
terdapat pada setiap prosesor untuk memperbaiki kinerja.

12
2.4 Penjadwalan Multiprocesing
2.4.1 Penjadwalan Assymmentric Multiprocesing (Penjadwalan ASMP) 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 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.

13
Gambar diatas mengilustrasikan perilaku dari multiprocessor
yang digunakan untuk multiprogramming. Beberapa proses terpisah dialokasikan
didalam memori. Ruang alamat proses terdiri dari halaman-halaman sehingga
hanya sebagian saja dari proses tersebut yang berada dalam memori pada satu
waktu. Hal ini memungkinkan banyak proses dapat aktif dalam sistem.

2.4.2 Penjadwalan Symmentric Multiprocesing (Penjadwalan SMP)


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, Windows Vista, Solaris, Linux, dan Mac OS X..

14
2.5 Affinity dan Load Balancing
2.5.1 Affinity
Data yang paling sering diakses oleh beberapa proses akan memadati cache pada
prosesor,sehingga akses memori yang sukses biasanya terjadi di memori cache.
Namun, jika suatu proses . berpindah dari satu prosesor ke prosesor lainnya akan
mengakibatkan isi dari cache memori yang dituju menjadi tidak valid, sedangkan
cache memori dari prosesor asal harus disusun kembali populasi datanya. Karena
mahalnya invalidating dan re-populating dari cache, kebanyakan sistem SMP
mencoba untuk mencegah migrasi proses antar prosesor sehingga menjaga proses
tersebut untuk berjalan di prosesor yang sama. Hal ini disebut afinitas prosesor
(processor affinity).

Ada dua jenis afinitas prosesor, yakni:

Soft affinity yang memungkinkan proses berpindah dari satu prosesor ke prosesor
yang lain, dan Hard affinity yang menjamin bahwa suatu proses akan berjalan pada
prosesor yang sama dan tidak berpindah. Contoh sistem yang menyediakan system
calls yang mendukung hard affinity adalah Linux.

2.5.2 Load Balancing


Dalam sistem SMP, sangat penting untuk menjaga keseimbangan
workload (banyaknya task yang harus diselesaikan oleh prosesor) antara semua

15
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 menjaga
workload 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, yakni:
• Push migration, pada kondisi ini ada suatu task spesifik yang secara
berkala memeriksaload 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.
• 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

16
non- idle sedangkan pada sistem yang lain, proses dipindahkan
hanya jika terjadi ketidakseimbangan yang besar antara prosesor.

2.6 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 mencakup
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 cache dan bus.

Gambar di atas mengilustrasikan suatu tipe arsitektur SMT dengan dua physical
processor dengan masing-masing punya dua logical processor. Dari sudut pandang sistem
operasi, pada sistem ini terdapat empat prosesor.

17
Perlu diketahui bahwa SMT adalah fitur yang disediakan dalam hardware, bukan
software, sehingga hardware harus menyediakan representasi state arsitektur dari setiap
logical processor sebagaimana representasi dari penanganan interupsinya. Sistem operasi
tidak perlu didesain khusus jika berjalan pada sistem SMT, akan tetapi performa yang
diharapkan tidak selalu terjadi pada sistem operasi yang berjalan pada SMT. Misalnya,
suatu sistem memiliki 2 physical processor, keduanya idle, penjadwal pertama kali akan
lebih memilih untuk membagi thread ke physical processor daripada membaginya ke
logical processor dalam physical processor yang sama, sehingga logical processor pada
satu physical processor bisa menjadi sibuk sedangkan physical processor yang lain
menjadi idle.
2.7 Multicore
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.

2.7.1 Keuntungan Multicore


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

18
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

2.7.2 Kerugian Multicore


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.
Pengembangan chip multicore membuat produksinya menjadi turun karena
bertambahnya tingkat kesulitan untuk mengatur suhu pada chip yang padat.

2.7.3 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 system
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.

19
Langkah-langkah dalam mendesain aplikasi paralel adalah sebagai berikut:
2.7.3.1 Partioning
Tahap desain ini dimaksudkan untuk membuka peluang awal
pengeksekusian secara paralel. Fokus dari tahap ini adalah mempartisi
sejumlah besar tugas dalam ukuran kecil dengan tujuan menguraikan
suatu masalah menjadi butiran- butiran kecil.

2.7.3.2 Communication
Tugas-tugas yang telah terpartisi diharapkan dapat langsung dieksekusi
secara parallel. Akan tetapi, pada umumnya tidak bisa, karena eksekusi
berjalan secara independen. Pelaksanaan komputasi dalam satu tugas
membutuhkan asosiasi data antara masing-masing tugas. Kemudian
data harus berpindah-pindah antar tugas dalam melangsungkan
komputasi. Aliran informasi inilah yang dispesifikasi dalam fase
communication.

2.7.3.3 Agglomeration
Pada tahap ini kita pindah dari sesuatu yang abstrak ke sesuatu yang
konkret. Kita tinjau kembali kedua tahap di atas dengan tujuan untuk
mendapatkan algoritma pengeksekusian yang lebih efisien. Kita
pertimbangkan juga apakah perlu untuk menggumpalkan (agglomerate)
tugas-tugas pada fase partition menjadi lebih sedikit, dengan masing-
masing tugas berukuran lebih besar.

2.7.3.4 Mapping
Dalam tahap yang keempat dan terakhir ini, kita
menspesifikasi di mana tiap tugas akan dieksekusi. Masalah
mapping ini tidak muncul pada uniprocessor yang
menyediakan penjadwalan tugas.

Pada sisi server, prosesor multicore menjadi ideal


karena server mengizinkan banyak user untuk melakukan
koneksi ke server secara simultan. Oleh karena itu, Web

20
server dan application server mempunyai throughput yang
lebih baik.
2.8 Pengertian Architecture
Architecture Adalah konsep perencanaan dan struktur pengoperasian dasar dari
suatu sistem komputer. Arsitektur komputer ini merupakan rencana cetak-biru dan
deskripsi fungsional dari kebutuhan bagian perangkat keras yang didesain (kecepatan
proses dan sistem interkoneksinya). Dalam hal ini, implementasi perencanaan dari
masing–masing bagian akan lebih difokuskan terutama, mengenai bagaimana CPU akan
bekerja, dan mengenai cara pengaksesan data dan alamat dari dan ke memori cache, RAM,
ROM, cakram keras, dll). Beberapa contoh dari arsitektur komputer ini adalah Arsitektur
von Neumann, CISC, RISC, blue gene, dll.

2.9 Interrupt
Interrupt adalah suatu kejadian atau peristiwa yang menyebabkan mikrokontroler
berhenti sejenak untuk melayani interrupt tersebut. Program yang dijalankan pada saat
melayani interrupt disebut Interrupt Service Routine.

Analoginya adalah sebagai berikut, seseorang sedang mengetik laporan,


mendadak telephone berdering dan menginterrupsi orang tersebut sehingga menghentikan
pekerjaan mengetik dan mengangkat telephone. Setelah pembicaraan telephone yang
dalam hal ini adalah merupakan analogi dari Interrupt Service Routine selesai maka orang
tersebut kembali meneruskan pekerjaanya mengetik.

Demikian pula pada sistem mikrokontroler yang sedang menjalankan


programnya, saat terjadi interrupt, program akan berhenti sesaat, melayani interrupt
tersebut dengan menjalankan program yang berada pada alamat yang ditunjuk oleh vektor
dari interrupt yang terjadi hingga selesai dan kembali meneruskan program yang terhenti
oleh interrupt tadi.

Seperti yang terlihat Gambar dibawah ini, sebuah program yang seharusnya
berjalan terus lurus, tiba-tiba terjadi interrupt dan harus melayani interrupt tersebut terlebih
dahulu hingga selesai sebelum ia kembali meneruskan pekerjaannya.

21
Proses yang dilakukan oleh mikrokontroler saat melayani interrupt adalah sebagai
berikut:
Instruksi terakhir yang sedang dijalankan diselesaikan terlebih dahulu
Program Counter (alamat dari instruksi yang sedang berjalan) disimpan ke stack
Interrupt Status disimpan secara internal
Interrupt dilayani sesuai peringkat dari interrupt (lihat Interrupt Priority)
Program Counter terisi dengan alamat dari vector interrupt (lihat Interrupt Vector)

sehingga mikrokontroler langsung menjalankan program yang terletak pada


vector interrupt. Program pada vector interrupt biasanya diakhiri dengan instruksi RETI di
mana pada saat ini proses yang terjadi pada mikrokontroler adalah sebagai berikut:

Program Counter diisi dengan alamat yang tersimpan dalam stack pada saat
interrupt terjadi sehingga mikrokontroler kembali meneruskan program di lokasi saat
interrupt terjadi. Interrupt Status dikembalikan ke kondisi terakhir sebelum terjadi
interrupt

2.10 Set Interuksi

Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat di
mengerti oleh sebuah CPU, set instruksi sering juga disebut sebagai bahasa mesin
(machine code), karna aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa

22
assembly, untuk konsumsi manusia (programmer), biasanya digunakan representasi yang
lebih mudah dimengerti oleh manusia.

Sebuah instruksi terdiri dari sebuah opcode, biasanya bersama dengan beberapa
informasi tambahan seperti darimana asal operand-operand dan kemana hasil-hasil akan
ditempatkan. Subyek umum untuk menspesifikasikan di mana operand-operand berada
(yaitu, alamat-alamatnya) disebut pengalamatan

Pada beberapa mesin, semua instruksi memiliki panjang yang sama, pada mesin-
mesin yang lain mungkin terdapat banyak panjang berbeda. Instruksi-instruksi mungkin
lebih pendek dari, memiliki panjang yang sama seperti, atau lebih panjang dari panjang
word. Membuat semua instruksi memiliki panjang yang sama lebih muda dilakukan dan
membuat pengkodean lebih mudah tetapi sering memboroskan ruang, karena semua
instruksi dengan demikian harus sama panjang seperti instruksi yang paling panjang.

Di dalam sebuah instruksi terdapat beberapa elemen-elemen instruksi:

1. Operation code (op code)


2. Source operand reference
3. Result operand reference
4. Xext instruction preference

Format instruksi (biner):

Missal instruksi dengan 2 alamat operand : ADD A,B A dan B adalah suatu alamat
register. Beberapa simbolik instruksi:

ADD : Add (Jumlahkan)

SUB : Subtract (Kurangkan)

MPY/MUL : Multiply (Kalikan)

DIV : Divide (Bagi)

LOAD : Load data dari register/memory

STOR : Simpan data ke register/memory

MOVE : pindahkan data dari satu tempat ke tempat lain

23
Cakupan jenis instruksi :

Data processing : Aritmetik (ADD, SUB, dsb); Logic (AND, OR, NOT, SHR,
dsb); konversidata
Data storage (Memory) : Transfer data (STOR, LOAD, MOVE, dsb)
Data movement : Input dan Output ke modul I/O
Program flow control : JUMP, HALT, dsb.

Bentuk instruksi:

o Format instruksi 3 alamat

Mempunyai bentuk umum seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari


satu alamt hasil, dan dua alamat operand, misal SUB Y,A,B Yang mempunyai arti
dalam bentuk algoritmik : Y := A – B dan arti dalam bentuk penjelasan : kurangkan
isi reg a dengan isi reg B, kemudian simpan hasilnya di reg Y. bentuk bentuk pada
format ini tidak umum digunakan di dalam computer, tetapi tidak dimungkinkan
ada pengunaanya, dalam peongoprasianya banyak register sekaligus dan program
lebih pendek.

Contoh:
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
SUB Y, A, B Y := A – B
MPY T, D, E T := D × E
ADD T, T, C T := T + C
DIV Y, Y, T Y := Y / T
Memerlukan 4 operasi

o Format instruksi 2 alamat

Mempunyai bentuk umum : [OPCODE][AH],[AO]. Terdiri dari satu alamat hasil


merangkap operand, satu alamat operand, missal : SUB Y,B yang mempunyai arti
dalam algoritmik : Y:= Y – B dan arti dalam bentuk penjelasan : kurangkan isi
reg Y dengan isi reg B, kemudian simpan hasillnya di reg Y. bentuk bentuk

24
format ini masih digunakan di computer sekarang, untuk mengoprasikan lebih
sedikit register, tapi panjang program tidak bertambah terlalu banyak.

Contoh :
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
MOVE Y, A Y := A
SUB Y, B Y := Y – B
MOVE T, D T := D
MPY T, E T := T × E
ADD T, C T := T + C
DIV Y, T Y:= Y / T
Memerlukan 6 operasi

o Format instruksi 1 alamat


Mempunyai bentuk umum : [OPCODE][AO]. Terdiri dari satu alamat operand,
hasil disimpan di accumulator, missal : SUB B yang mempunyai arti dalam
algoritmik : AC:= AC – B dan arti dalam bentuk penjelasan : kurangkan isi Acc
dengan isi reg B, kemudian simpan hasillnya di reg Acc. bentuk bentuk format ini
masih digunakan di computer jaman dahulu, untuk mengoprasikan di perlukan
satu register, tapi panjang program semakin bertambah.

Contoh :
A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
LOAD D AC := D
MPY E AC := AC × E
ADD C AC := AC + C
STOR Y Y := AC
LOAD A AC := A
SUB B AC := AC – B
DIV Y AC := AC / Y
STOR Y Y := AC
Memerlukan 8 operasi

25
o Format instruksi 0 alamat
Mempunyai bentuk umum : [OPCODE]. Terdiri dari semua alamat operand
implicit, disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2
operand, akan mengambil isi stack paling atas dan dibawahnya missal : SUB yang
mempunyai arti dalam algoritmik : S[top]:=S[top-1]-S[top] dan arti dalam bentuk
penjelasan : kurangkan isi stack no2 dari atas dengan isi stack paling atas,
kemudian simpan hasilnya di stack paling atas, untuk mengoprasikan ada beberapa
instruksi khusus stack PUSH dan POP.

Contoh :

A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
PUSH A S[top] := A
PUSH B S[top] := B
SUB S[top] := A – B
PUSH C S[top] := C
PUSH D S[top] := D
PUSH E S[top] := E
MPY S[top] := D × E
ADD S[top] := C + S[top]
DIV S[top] := (A – B) /S[top]
POP Y Out := S[top]
Memerlukan 10 operasi

Set instruksi pada CISC:

Berikut ini merupakan karakteristik set instruksi yang digunakan pada beberapa
computer yang memiliki arsitektur CISC

2.11 Struktur dan fungsi CPU


CPU merupakan komponen terpenting dari sistem komputer. CPU adalah komponen
pengolah data berdasarkan instruksi – instruksi yang diberikan kepadanya. CPU terdiri
dari dua bagian utama yaitu unit kendali (control unit) dan unit aritmatika dan logika
(ALU). CPU atau Central Processing Unit dapat dikatakan juga otak dari komputer itu
sendiri Sebuah komputer paling canggih sekalipun tidak akan berarti tanpa adanya CPU
yang terpasang di dalamnya. Dalam kesehariannya CPU memiliki tugas utama untuk
mengolah data berdasarkan instruksi yang ia peroleh. CPU sendiri sebenarnya masih
terbagi atas beberapa komponen yang saling bekerja sama untuk membentuk suatu unit

26
pengolahan Disamping itu, CPU mempunyai beberapa alat penyimpan yang berukuran
kecil yang disebut register. Terdapat empat komponen utama penyusun CPU, yaitu

1. Arithmetic and Logic Unit (ALU)


2. Control Unit
3. Registers
4. CPU Interconnections

• Arithmetic and Logic Unit (ALU)

Arithmetic and Logic Unit atau sering disingkat ALU saja dalam bahasa
Indonesia kira-kira berarti Unit Logika dan Aritmatika. Bagian ini mempunyai tugas
utama untuk membentuk berbagai fungsi pengolahan data komputer. Sering juga
disebut sebagai bahasa mesin, karena terdiri dari berbagai instruksi yang
menggunakan bahasa mesin.

ALU sendiri juga masih terbagi menjadi dua komponen utama, yaitu
arithmetic unit (unit aritmatika), bertugas untuk menangani pengolahan data yang
berhubungan dengan perhitungan, dan boolean logic unit (unit logika boolean),
bertugas menangani berbagai operasi logika.

• Control Unit

Control Unit atau Unit Kendali, mempunyai tugas utama untuk


mengendalikan operasi dalam CPU dan juga mengontrol komputer secara
keseluruhan untuk menciptakan sebuah sinkronisasi kerja antar komponen dalam
melakukan fungsinya masing-masing. Di samping itu, control unit juga bertugas
untuk mengambil instruksi-instruksi dari memori utama dan menentukan jenis
instruksi tersebut.

• CPU Interconections

CPU Interconnections merupakan sistem koneksi dan bus yang menghubungkan


komponen internal CPU dengan bus-bus eksternal CPU.

• Sedangkan komponen eksternal CPU diantaranya

1. Sistem Memori Utama,


2. Sistem Masukan/Keluaran (input/output),

27
3. dan sistem-sistem lainnya.

Berikut ini adalah gambar dari arsitektur CPU

2.12 Penyimpana (memory)


• Memori Internal (Primary storage)
Memori internal merupakan memori yang dapat diakses secara langsung oleh
processor. Memori Internal dibedakan menjadi 3 macam yaitu:
1. ROM (Read Only Memory)
ROM adalah memori yang hanya bias dibaca saja dan tidak dapat
dirubah dan dihapus karena sudah diisi oleh pabrik pembuat komputer.Rom
berfungsi untuk menyimpan program operasi komputer seperti program BIOS
dan program booting.

2. RAM (Random Access Memory)


RAM adalah memori yang dapat diakses secara random (acak).RAM berfungsi
untuk menyimpan program yang kita olah untuk sementara waktu (power on /
sedang hidup).
3. Cache Memory
Cache memory adalah memory berukuran kecil yang berkecepatan tinggi dan
berfungsi untuk menyimpan sementara intsruksi dan data (informasi) yang
diperlukan processor.Boleh dikatakan bahwa cache memory ini adalah memory
internal processor.Pada saat ini, Cache memory ada tiga jenis, yaitu L1 cache,
L2 cache, dan L3 cache.
• Memory eksternal

28
Memory eksternal adalah memory tambahan yang berfungsi untuk menyimpan
menyimpan data atau program.Konsep dasar memori eksternal adalah menyimpan
data bersifat tetap , baik pada saat komputer aktif atau tidak.Memori eksternal
berfungsi untuk melakukan operasi penulisan ,pembacaan,dan penyimpanan data di
luar memori utama.
Beberapa Memori eksternal yang sering digunakan adalah sebagai berikut:
1. Harddisk
Harddisk merupakan media penyimpanan Internal dengan kapasitas besar yang
digunakan sebagai alat booting dan penyimpan data.Untuk saat ini kapasitas
penyimpanan pada harddisk mencapai 1 TB atau sekitar 1.000 MB.

2. CD (Compact Disk

CD merupakan media penyimpanan yang memiliki format seperti Compact disc


Audio.CD dibagi menjadi dua,yaitu CD-R dan CD-RW yang bisa dipakai ulang.

3. Disket
Disket merupakan media penyimpanan eksternal dengan kapasitas kecil, yaitu
sekitar 1,44 MB.Untuk menggunakan media ini diperlukan flopy disk
drive.Seiring perkembangan teknologi, beragam media penyimpanan data
bermunculan dengan menawarkan kapasitas lebih besar dan kemudahan
penggunaan, dengan demikian Disket perlahan mulai punah.
4. Flashdisk
Flashdisk memiliki bentuk yang jauh lebih kecil dibandingkan dengan
disket.Tingkat ketahanannya juga jauh lebih bagus dibandingkan disket dan
CD.Flashdisk tidak memerlukan drive khusus tetapi hanya memerlukan port
USB.Kapasitas penyimpanan flashdisk hingga saat ini sudah mencapai 16 GB.

5. Blue-Ray
Blue-Ray merupakan media penyimpanan data yang dikelurakan oleh
perusahaan Sony.Satu keping Blue-Ray disc single layer bisa menampung 25
GB.Sementara untuk dual layer bisa menampung 50 GB.
6. Harddisk Eksternal
Harddisk eksternal merupakan perangkat penyimpanan yang mana fungsi dan
kapasitasnya hamper sama dengan harddisk internal.Kapasitas simpan harddisk

29
eksternal sangat bervariasi,mulai dari 40 GB samapi 50 GB.Namun kini juga
sudah muncul harddisk eksternal yang daya tampungnya mencapi 1,5 TB atau
sama dengan 1500 GB.

30
BAB III

PENUTUP

3.1 Simpulan
Multiprocessing adalah penggunaan dua atau lebih unit pengolahan pusat (CPU)
dalam satu sistem komputer. Hal ini berarti kemampuan sistem untuk mendukung lebih
dari satu prosesor dan/atau kemampuan untuk mengalokasikan tugas antara mereka.
Keuntungan multiprocessing antara lain :
a). Dapat meningkatkan throughput, maksudnya adalah peningkatan jumlah
pekerjaan yang dapat dilakukan dalam waktu tertentu;
b). Lebih ekonomis, maksudnya adalah dibandingkan sebuah sistem dengan
banyak prosesor tunggal, metode multiprocessing dapat mengoptimalkan
alokasi hardware seperti memori, storage, dan power supply (hal ini
dikarenakan dapat di shared);
c). Dapat meningkatkan performa/kehandalan, hal ini dikarenakan jika
pekerjaan (instruksi) terbagi secara merata, maka kegagalan salah satu
prosesor bisa ditanggulangi oleh prosesor-prosesor yang lain.

Mengingat begitu pentingnya teknologi multiprocecing ini, maka beberapa


pengembang chipset berlomba-lomba untuk mengembangkan teknologi ini. Melalui
tulisan dalam makalah ini, kami mengajak para pembaca untuk mencoba memahami
bagian-bagian dari kinerja CPU, khususnya manajemen proses yang diantaranya terdapat
multiprocessing control unit.

Isi dari makalah ini tidak lepas dari kata sempurna, maka dari itu melalui tulisan
ini kami selaku tim penulis dari makalah ini mengundang masukan baik itu berupa saran,
kritik, ataupun pertanyaan guna melengkapi kajian makalah ini.

3.2 Saran
Pesatnya perkembangan teknologi telah merambah ke segala bidang kehidupan
manusia terutama pada bidang informasi. Untuk menghadapi perkembangan yang
sedemikian pesatnya maka diharapkan kepada kita semua untuk mengimbangi dan
mengikuti perkembangan itu. Maka yang menjadi tujuan

31
DAFTAR PUSTAKA

• Kadir Abdul dan Terra Ch.Triwahyuni,Pengenalan Teknologi Informasi,Andi Riyanto


Yogyakarta :2005.
• Stallings William, Organisasi & Arsitektur Komputer Edisi 6, 2004, PT.INDEKS
Kelompok GRAMEDIA.
• Naskan, S.Kom. Pertemuan II - Evolusi dan Kinerja Komputer, Organisasi & Arsitektur
Komputer,2009.
• http://indrarmcf.blogspot.com/2014/01/penjelasan-organisasi-arsitektur.html
• http://sutondoscript.blogspot.com/2012/02/pengertian-definisi-interrupt-adalah.html
• http://sistem-bilangan.blogspot.com/p/materi.html
• https://ekofitriyanto.wordpress.com/2013/10/30/177/

32

Anda mungkin juga menyukai