PEMROGRAMAN MIKRO
A. Unit Kendali Logika
Unit
kendali logika (CLU ATAU Control Logic
Unit) mengatur seluruh aktifitas perangkat keras di dalam computer. CLU
menghasilkan serangkaian perintah kendali yang disebut intruksi-mikro (microinstruction) yang menjalankan intruksi
tersebut. Ada dua pendekatan pokok bagi perancangan sebuah CLU yaitu rancangan hard-wired (atau logika random) dan
rancangan microprogrammed.
1.
Kendali
Hard-Wired
Sewaktu
sebuah instruksi ditempatkan dalam register instruksi (IR atau instruction
register), CLU men-decode instruksi itu dan menghasilkan serangkaian instruksi
mikro. Setiap output decoder dapat digunakan untuk menghasilkan serangkaian
instruksi-mikro. Instruksi-mikro ini dikendalikan oleh sinyal waktu dan
beberapa kondisi status di dalam system. Pada pokoknya, sebuah CLU yang
hard-wired bisa sinkron dan bisa pula tidak sinkron. Pada CLU yang sinkron
(synchronous CLU), setiap operasi dikendalikan oleh clock. Pada CLU yang tidak
sinkron (asynchronous CLU), penyelesaian suatu operasi memicu operasi
berikutnya dan karena itu tidak diperlukan clock.
2.
Kendali
microprogrammed
Pada
CLU microprogrammed, serangkaian instruksi mikro yang berhubungan dengan
masing-masing instruksi dalam kelompok instruksi tersimpan di dalam memori hanya-baca
(ROM) yang disebut memori kendali.
B. Emulsi
Dalam
emulsi (emulation), suatu computer deprogram secara mikro (microprogrammed)
untuk mempunyai kumpulan instruksi yang benar-benar sama dengan computer
lainnya dan dapat mempunyai tingkah laku yang sama pula. Oleh karena itu,
program-program yang ditulis untuk computer beremulasi akan berjalan pada
computer microprogrammed.
C. Peralatan Pendukung Bagi Program Mikro
a.
Assembler-mikro
: program-program perangkat lunak yang memungkinkan para perancang untuk meng-encode
suatu program-mikro dalam suatu Bahasa simbolik dan menterjemahkan representasi
ini kedalam representasi absolut untuk di-load ke dalam memori kendali.
b.
Formatter
: program-program yang memberi fasilitas bagi pemrograman PROM yang digunakan
untuk mengimplementasikan memori kendali
c.
System
pengenbangan : terdiri atas peralatan perangka keras dan perangkat lunak untuk
mendukung perancangan system micro-programmed.
d.
Simulator
perangkat keras : program-program yang mensimulasikan rincian arus data di dalam
prangkat keras yang sedang dirancang.
KONSEP
PIPELINE
Throughput,sebagai jumlah
pemrosesan yang dapat dikerjakan dalam suatu interval waktu tertentu.
Salah satu teknik yang mendorong peningkatan suatu sistem throughput yang cukup
hebat disebut sebagai pemrosesan pipeline. Konsep pemrosesan dalam suatu
komputer mirip dengan suatu baris perakitan dalam suatu pabrik industri.
Pemrosesan pipieline dalam suatu komputer diperoleh
dengan membagi suatu fungsi yang akan dijalankan menjadi beberapa subfungsi
yang lebih kecil dan merancang perangkat keras yang terpisah,disebut sabagai
tingkatan(stage) untuk setiap subfungsi. Stage-stage itu kemudian dihubungkan
bersama-sama dan membentuk sebush pipeline tunggal(pipe) untuk menjalankan
fungsi asli tersebut.
Keuntungan proses penambahan secara pipeline ini adalah
bahwa dua input yang baru dapat dimulai melalui pipa tersebut segera sesudah
dua input sebelumnya melewatu stage. Hal ini berarti bahwa jumlah penambahan
akan tersedia dengan kecepatan yang sama dengan kecepatan input.
Dengan menggunakan pipeline jumlah selisih waktu antara
hasil pertama dan kedua merupakan jumlah waktu yang diperlukan untuk
menormalisir sebuah angka. Tanpa suatu pipeline, waktu antara hasil-hasil tersebut
merupakan waktu kumulatif yang diperlukan untuk semua ketiga subfungsi
tersebut. Komputer pipeline sebagai suatu komputer dengan komponen perangkat
keras pipeline.
Pada semua baris perakitan industri ,efisien suatu
pipeline dapat berkurang jauh akibat suatu bottleneck. Suatu bottleneck terjadi
sewaktu pemrosesan pada suatu stasiun atau stage memnghabiskan waktu lebih lama
daripada stage lainnya.
Untuk menyamakan waktu yang diperlukan pada setiap stage
maka stage-stage tersebut harus disinkronisasikan dengan cara menyisipkan
kunci-kunci(latch) sederhana antar stage-stage tersebut.Penangguhan clock
adalah waktu yang diperlukan untuk lewat dari suatu latch melalui stage ke
latch berikutnya.
Suatu prinsip perancangan yang berhubungan dengan
efiseinsi adalah membagi suatu fungsi yang sedang di pipeline menjadi beberapa
subfungsi yang memiliki implementasi perangkat keras dengan waktu proses yang
relatif sama.
1.
Efiseinsi
Pipeline
Untuk mengilustrasikan operasi-operasi yang saling tumpang
tindih dalam pipeline linier digunakan suatu diagram ruang waktu. Untuk
menghitung throughput itu,pada umumnya kita mengabaikan waktu startup awal yang
diperlukan untuk mengisi pipe,yaitu waktu yang diperlukan agara kelompok input
pertama memenuhi seluruh pipe tersebut.
Fungsi :
a.
aritmatika,proses
segmentasi fungsi dari ALU dari sistem yang muncul dalam kategori ini.
b.
Instruksi
: proses pipelining instruksi,disebut juga instruction lihat ke-muka ,mem fetch
instruksi secara beurutan.jika suatu instruksi menyebabkan percabangan keluar
dari urutan itu maka pipe akan dikosongkan dari seluruh instruksi yang telah di
fetch sebelumnya dan instruksi percabangan tersebut di fetch.proses pipelining
instruksi dikerjakan pada hampir semua komputer berkemampuan tinggi.
c.
Prosecor
: sewaktu stage dari suatu pipeline merupakan suatu prosecor aktual dan
latch-latch saling berbagi memori antara prosecor-prosecor tersebut maka
pipeline itu disebut sebagai pipeline prosecor.Dalam pipeline ini,setiap
prosecor mempunyai suatu tugas tertentu yang aka dijalankan pada aliran
data.Pipelining banyak prosecor merupakan konsep yang relatif baru dan belum
umum.
Konsigurasi
a.
Unifungsi
: kemampuan suatu pipeline menjalankan hanya satu jenis pokok operasi.
b.
Multifungsi
: dapat menjalankan fungsi-fungsi yang berbeda.
c.
Statis
: ketika instruksi-instruksi yang berjenis sama akan dijalankan secara
bersamaan waktunya.Suatu pipeline
multifungsi statis dapat bekerja paling baik jika fungsi yanng akan dijalankan
tidak sering berubah,unifungsi kebalikan dari multifungsi.
d.
Dinamis
: beberapa konsigurasi fungsional dapat muncul sekaligus.hal ini harus
menggunakan pipeline multifungsi.
e.
Skalar
: memproses serangkaian operasi skalar
pada operand skalar seperti ditunjukan oleh program.
f.
Vektor
: dirancang untuk memproses instruksi vektor dengan menggunakan operand
vektor.Komputer yang mempunyai instruksi vektor disebut sebagai prosecor
vektor.
Proses membuat sebuah pipeline yang kompleks tanpa salah
satu stage yang penting. Dapat digunakan untuk membuat unit pipeline unifungsu
maupun multifungsi. Prinsip pipelining secara umum
1.
tabel
reservasi
a.
Umpan
balik : hubungan dari suatu stage dengan stage sebelumnya
b.
Umpan
maju : hubungan dari suuatu stage dengan
stage berikutnya
Untuk memberi karakteristik pada struktur antarhubungan dan arus data flow
pada suatu pipeline umum digunakan tabel resverasi,tabel tersebut menunjukan
bagaimana stage-stage tersebut diproses secara berurutan untuk suatu evaluasi
fungsi tertentu. Waktu evaluasi,fungsi
ini adalah 6 panangguhan clock yaitu total jumlah unit waktu dalam tabel
resverasi. Pipeline multifungsi,suatu implementasi yang dapat dikonfigurasikan
untuk menerapkan lebih dari satu fungsi.
4. Penjadwalan Dan Pencegahan Adanya Tubrukan
Inisiasi dari suatu tabel resverasi berhubungan dengan
permulaan suatu evaluasi fungsi tunggal yang akan mengikuti path yang dinamai
oleh tabel. Jika suatu inisiasi dibuat
maka pengendali pipeline harus mencadangkan stage pada pipeline yang teapat bagu
data inisiasi tersebut dengan waktu yang relatis yang ditentukan oleh tabel
resverasi. Jika data dari dua inisiasi yang berbeda akan masuk ke dalam stage
yang sama pada waktu yang sama maka akan terjadi tubrukan.
Jumlah dua unit waktu anatara dua inisiasi dalam suatu
pipeline disebut sebagai latensi. Seranngkaian latensi diantara inisiasi yang
berdamppingan disebut sebagai rangkaian latensi. Jika rangkaian latensi
mengulangi dirinya sendiri disebut siklus latensi. Vektor tubrukan merupakan
suatu representasi vektor biner dari kumpulan latensi yang terlarang. Suatu
diagram keadaan dapat diturunkan untuk menandai inisiasi tugas yang
berdampingan dalam sebuah pipeline.
Suatu siklus terdiri atas sekelompok state yang berurutan dan latensi
transisinya yang berasal dari sembarang state pada siklus,rangkaian transisi
siklis menuntut kita melalui state lainnya dalam siklus tersebut dan kembali ke
state awal. Jika suatu siklus terdiri atas state state yang tidak berulang maka
disebut sebagai suatu siklus sederhana. Untuk mengoptimalkan strategi
pengendalian pada pipeline tersebut ,siklus latensi terbaik yang akan digunakan
adalah siklus latensi yang mempunyai latensi rata-rata paling rendah. Pemilihan
path latensi terpendek dari setiap
state,dikenal sebagai siklus serakah.
5.
Contoh
Pipeline Multi Fungsi
Control data corportation cyber 205 merupakan komputer
yang banyak memakai piperline. Diantara pipeline-pipeline aritmatikanya
terdapat pipeline perkalian floating-point. Ia merupakan pipeline multifungsi
yang menjalankan operasi perkalian,pembagian dan akar pagkat dua.
PEMROSESAN PARALEL
A. Kebutuhan akan pemrosesan paralel
Pemrosesan paralel dalam sebuah komputer dapat
didefinisikan sebagai pelaksanaan instruksi-instruksi secara bersamaan waktunya.
Hal ini dapat menyebabkan pelaksanaan kejadian-kejadian (1) dalam interval
waktu yang sama, (2) dalam waktu yang bersamaan atau (3) dalam rentan waktu
yang saling tumpang tindih.
Komputer yang cepat dan efisien banyak dibutuhkan oleh
berbagai bidang dewasa ini. Sebagian menyertakan simulasi numerik bagi
field-field yang berkesinambungan. Masalah-masalah- semacam itu membutuhkan
banyak perhitungan dan dapat ditemukan pada disiplin-disiplin ilmu seperti
oceanografi, astrofisik, seismologi, meteorologi, atomik, nuklir dan fisika
plasma. Jumlah “pengolahan angka-angka” baik secara volume data dan jumlah
perhitungan, sangat besar.
Sebagai contoh, salah satu jenis eksplorasi seismik
melibatkan prosespembuatan gelombang sonik di dalam tanah. Pantulan-pantulan
(echo) ini ditangkap oleh beratus-ratus geophone di area tersebut. Kemudian
data ini digunakan untuk membuat bagian-bagian perpotongan geometris dua
dimensiuntuk lapisan-lapisan bawah tanah. Dalam contoh ini, 3.000 nilai waktu
yang berbeda , disimpan untuk masing-masinggelombang sonik. Perhtiungan ini
melibatkan 5 sampai 8 juta angka-angka floating-point per mil untuk satu garis
survei.
B. Teknik-teknik pemrosesan paralel
Komputer paralel mempunyai kemampuan untuk saling tumpang
tindih atau menjalankan beberapa operasi ini secara bersamaan waktunya.
Beberapa cara telah dikembangkan untuk memperkenalkan
paralelisme ke dalam arsitektur komputer serial. Beberapa dinataranya adalah
sebagai berikut:
1.
Pipelining,
dapat kita anggap sebagai paralelisme.
2.
Unit-unit
fungsional berganda (multiple), dapat membangun unit-unit yang terpisah untuk
menjalankan fungsi-fungsi yang berbeda. Kita dapat juga memiliki lebih dari
satu unit untuk menjalankan suatu fungsi tertentu. Kedua pendekatan itu
memungkinkan terjadinya perhitungan paralel.
3.
Tumpang
tindih antara operasi-operasi CPU dan I/O. Pada komputer-komputer terdahulu,
CPU bertanggung jawab untuk mengarahkan semua operasi I/O dan untuk menjalankan
instruksi-instruksi program di dalam
memori.
4.
Interleaving
memori. Memungkinkan lebih dari satu word yang di-fetch dari memori pada suatu
waktu. Dalam hubungannya dengan teknik-teknik paralelisme lainnya, cara ini
dapat digunakan untuk menyediakan instruksi dan data dalam kecepatan yang
tinggi.
5.
Multiprogramming.
Dari titik pandang sistem komputer, kejadiannya merupakan program-program yang
dijalankan secara sekuensial pada interval waktu yang sama.
6.
Multiprosesing.
Daripada kita memiliki sebuah CPU dalam sebuah sistem, kita dapat menggunakan
beberapa prosesor yang bekerja bersama-sama pada permasalahan yang sama dan
mengahasilkan paralelisme. Dalam kasus ini, kejadian-kejadian itu dapat berupa
bagian dari suatu program tunggal atau suatu program yang benar-benar terpisah.
Kejadian yang pertama lebih sulit , kecuali jika program-program tersebut
ditulis dalam suatu bahasa yang sama.
C. Percepatan komputer paralel
Bayangkan sebuah komputer paralel dengan n prosesor identik yang bekerja secara berdampingan pada sebuah program tunggal. Pada, awalnya sepertinya kita dapat mengerjakan semua permasalahan dengan n kali lebih cepat daripada menggunkan sebuah prosesor tunggal. Sayangnya hal ini tidak dapat selalu demikian. Karena, alasan-alasan tertentu, seperti konflik atas akses memori, konflik atas jalur komunikasi dan algoritma yang tidak efisien untuk implementasi yang sesungguhnya atas kesejajaran masalah-masalah tersebut, percepatan yang dihasilkan jauh lebih kecil daripada n.
Bayangkan sebuah komputer paralel dengan n prosesor identik yang bekerja secara berdampingan pada sebuah program tunggal. Pada, awalnya sepertinya kita dapat mengerjakan semua permasalahan dengan n kali lebih cepat daripada menggunkan sebuah prosesor tunggal. Sayangnya hal ini tidak dapat selalu demikian. Karena, alasan-alasan tertentu, seperti konflik atas akses memori, konflik atas jalur komunikasi dan algoritma yang tidak efisien untuk implementasi yang sesungguhnya atas kesejajaran masalah-masalah tersebut, percepatan yang dihasilkan jauh lebih kecil daripada n.
Suatu batas bawah, dikenal sebagai konjektur Minsky,
memperkirakan percepatan yang sesungguhnya yaitu sebesal log2n. Sedangkan batas
atas tergantung dari apakah keseluruhan program tersebut menyertakan bagian I/O
(biasanya berupa kode sekuensial). Jika ya, batas atas umum kita hitung sebagai
n/ln n (Hwang dan Briggs, 1984).
Akibat adanya kedua batas tersebut, dapat kita lihat
bahwa penambahan lebih banyak prosesor tidak selalu menjadi cara terbaik untuk
membuat suatu komputer bekerja lebih cepat. Untuk setiap prosesor yang
ditambahkan, semakin sedikit percepatan dan semakin kompleks bagi kita untuk
mengatur semua prosesor tersebut.
D. Klasifikasi pada arsitektur komputer paralel
Paralelisme
dalam suatu komputer dapat diaplikasikan pada beberapa tingkatan, seperti
berikut:
1.
Tingkat
pekerjaan, antara pekerjaan atau fase-fase suatu pekerjaan.
2.
Tingkat
prosedur, antara prosedur-prosedur dan di dalam loop.
3.
Tingkat
instruksi, antara fase-fase sebuah siklus instruksi, yaitu fetch, decode dan
eksekusi atau instruksi.
4.
Tingkat
aritmatika dan bit, antara bit-bit dalan sirkuit aritmatika.
Paralelisme
pada tingkat aritmatika dan bit sudah menjadi standar komputer-komputer dewasa
ini. Penekanannya sekarang adalah untuk menerapkan paralelisme pada ketiga
tingkat lainnya. Meskipun beberapa penerapan dilakukan dengan perangkat lunak,
pada bab ini kita akan memfokuskan diri pada penerapan perangkat keras.
Klasifikasi Flynn
Michael
J. Flynn (1966) memperkenalkan suatu skema untuk mengkalasifikasikan arsitektur
suatu komputer denga melihat bagaimana mesinnya menghubungkan
instruksi-instruksinya ke data yang sedang diproses. Ia menyatukan suatu aliran
(stream) sebagai suatu rangkaian item-item, baik berupa instruksi maupun data
yang dijalankan atau dioperasikan oleh sebuah prosesor. Berikut ini
klasifikasinya:
1.
SISD
(single instruction stream, single data stream), merupakan suatu komputer serial
konvensiona, dimana instruksi-instruksi dijalankan satu persatu dan sebuah
instruksi tunggal berhubungan dengan paling banyak satu operasi data dan dapat
menggunakan pipelining untuk mempercepat pemrosesan.
2.
SIMD
(single instruction stream, multiple data stream), dalam sebuah komputer SIMD
suatu instruksi tunggal mungkin mengawali sejumlah besar operasi. Instruksi
vektor ini, seperti nama mereka, dilakukan satu persatuan waktu namun mampu
bekerja pada beberapa aliran data sekaligus. Juga, kita dapat menggunakan
pipelining untuk mempercepat pemrosesan.
3.
MISD
(multiple instruction stream, single data stream), melaksanakan beberapa
operasi instruksi secara bersamaan pada suatu item data tunggal.
4.
MIMD
(multiple instruction stream, multiple data stream,dicirikan oleh eksekusi
lebih dari satu instruksi pada saat yang bersamaan, dimana setiap instruksi
beroperasi pada beberapa aliran data. Kelas ini mencakup sistem multiprosesor,
mulai dari komputer mainframe yang dihubungkan ke suatu jaringan (linked) sampai
array mikroprosesor yang besar.
Klasifikasi Shore
J.E. Shore (1973)
membuat suatu klasifikasi arsitektur komputer yang didasarkan pada organisasi
bagian-bagian penyusun suatu komputer dan membedakannya menjadi enam jenis
mesin.
Mesin
I. Pada komputer ini, suatu instruksi dikerjakan pada suatu waktu dan
masing-masing beroperasi pada satu word dalam suatu waktu. Unit pengolahan bisa
berupa pipeline atau tidak.
Mesin II. Menjalankan satu instruksi pada suatu waktu, namun ia
beroperasi pada sebuah irisan dari satu bit dalam suatu waktu, bukannya semua
bit dalam suatu word data.
Mesin III. Memiliki dua unit pengolahan yang dapat beroperasi pada
data, satu word dalam suatu waktu atau satu irisan bit dalam suatu waktu.
(Irisan bit ke-i dan n word merupakan bit ke-i dari masing-masing n word, jika dianggap sebagai suatu
keseluruhan). Mesin ini juga dikenal sebagai komputer orthogonal.
Mesin IV. Dicirikan oleh sejumlah elemen pengolahan (unit
pengolahan dan unit memori), semua dibawah kendali sebuah uni kendali logika
(CLU).
Mesin
V. Dihasilkan dengan mengubah mesin IV sedemikian sehingga elemen-elemen
pengolahan dapat berkomunikasi dengan tetangga terdekat mereka.
Mesin VI. Komputer ini, disebut sebagai array
logika-dalam-memori, merupakan
sebuah mesin dengan logika prosesor yang tersebar dalam memori.
Klasifikasi Feng
Tse-yum Feng (1972) menyarankan pengklasifikasian arsitektur komputer atas tingktan paralelisme mereka. Tingkatan paralelisme (degree of parallelism) diwakili oleh pasangan (n, m) dimana n merupakan panjang word dan m adalah panjang irisan bit. Pasangan ini diklasifikasikan menjadi empat kelompok sebagai berikut:
Tse-yum Feng (1972) menyarankan pengklasifikasian arsitektur komputer atas tingktan paralelisme mereka. Tingkatan paralelisme (degree of parallelism) diwakili oleh pasangan (n, m) dimana n merupakan panjang word dan m adalah panjang irisan bit. Pasangan ini diklasifikasikan menjadi empat kelompok sebagai berikut:
1.
Jika
n =1 dan m =1 maka tidak terjadi parlelisme. Hal ini disebut sebagai word
serial/bit serial (WSBS)
2.
Jika
n > 1 dan m=1 maka paralelisme itu disebut sebagai word paralel/bit serial (WPBS)
3.
Paralelisme
word serial/bit paralel (WSBP) terjadi
jika n=1 dan m> 1.
4.
Kategori
terakhir disebut sebagai word
paralel/bit paralel (WPBP) dan merupakan suatu paralelisme dimana n >1 dan m> 1.
Perbandingan Klasifikasi
Klasifikasi Mesin I
Shore berhubungan dengan kelas SSID Flynn dan Mesin II sampai IV dapat dianggap
sebagai subdivisi kelas SIMD. Pada klasifikasi Feng, Mesin I merupakan WSBP,
Mesin II merupakan WPBS dan Mesin II sampai VI merupakan WPBP.
E.
Pemrosesan
vektor
Sebuah vektor
adalah kumpulan sejumlah n elemen
yang berurutan. Jumlah elemen tersebut, n
disebut panjang vektor. Suatu
operasi yang bekerja pada paling sedikit satu operand vektor disebut sebagai instruksi vektor.
Karakteristik instruksi vektor
Semua instruksi
komputer harus memerinci informasi tertentu untuk eksekusi. Informasi ini harus
mencakup hal-hal dibawah ini, baik secara eksplisit maupun implisit:
1.
Operasi
yang dijalankan
2.
Operand
yang digunakan
3.
Status
yang akan direkam
4.
Instruksi
berikutnya yang akan dijalankan
Sebagai tambahan
bagi pemerincian address operand, sebuah instruksi vektor juga harus memerinci
operasi sebagai berikut:
1.
Dimensi
vektor tersebut (sebuah matriks dianggap sebagai suatu vektor 2-dimensi dalam
konteks ini).
2.
Panjang
masing-masing dimensi vektor tersebut.
3.
Jenis
data pada masing-masing dimensi vektor tersebut.
4.
Penyusunan
elemen-elemen vektor tersebut di dalam memori.
Contoh arsitektur perangkat keras
Dalam suatu prosesor vektor paralel, untuk setiap operasi digunakan sejumlah elemen perhitungan (CE atau computational element). Daripada memiliki beberapa CE yang terpisah untuk elemen operand vektor yang terpisah-pisah, suatu prosesor vektor pipeline hanya memiliki sedikit CE namun masing-masing dari mereka pipeline-kan.
Dalam suatu prosesor vektor paralel, untuk setiap operasi digunakan sejumlah elemen perhitungan (CE atau computational element). Daripada memiliki beberapa CE yang terpisah untuk elemen operand vektor yang terpisah-pisah, suatu prosesor vektor pipeline hanya memiliki sedikit CE namun masing-masing dari mereka pipeline-kan.
Perhatikan terhadap pengalamatan vektor
Pengalaman rapat-rapat (teratur). Salah satu karakteristik umun pada pengalam rapat-rapat (dense) atau teratur (regular) adalah bahwa pada didalam memori kurang lebih telah kita ketahui sebelumnya.
Pengalaman rapat-rapat (teratur). Salah satu karakteristik umun pada pengalam rapat-rapat (dense) atau teratur (regular) adalah bahwa pada didalam memori kurang lebih telah kita ketahui sebelumnya.
Prosesor Array
Prosesor array
merupakan sebuah computer synchrous dengan lebih dari satu buah elemen
pemrosesan yang beroperasi secara paralel. Elemen pemrosesan (PE atau processing element) masing-masing
terdiri atas ALU dan register-register, semuanya dibawah kendali sebuah unit
kendali logika tunggal (CLU). ALU di dalam PE mungkin di pipeline kan, mungkin
juga tidak. Karena PE beroperasi secara paralel, prosesor array mampu melakukan
pemrosesan vector. Sebuah prosesor array memiliki 2 karateristik yang berbeda,
yaitu :
1.
PE-PE
tersebut dirancang sebagai piranti yang pasif tanpa kemapuan decoding atau
kendali atas instruksi.
2.
Semua
PE tersebut menjalankan fungsi yang sama pada waktu yang sama pula , dibawah
kendali sebuah CLU tunggal.
Setiap PE dalam prosesor array dapat dihubungkan untuk
berkomunikasi dengan suatu bagian memori tertentu ataupun secara dinamis ke
bagian memori yang diatur oleh CLU. Pada dasarnya, kedua organisasi tersebut
saling dibedakan oleh kepemilikan PE-nya.
Jaringan penghubung suatu array SIMD pada dasarnya adalah
sebuah jaringan routing data untuk register tertentu antar PE-PE. Kita dapat
membagi jaringa routing data menjadi dua kelas yaitu statis dan dinamis.
Jaringan statis ditandai oleh hubungan yang tetap sedangkan jaringan dinamis
mempunyai hubungan variabel yang dihubungkan pada saat di perlukan.
Jenis memori lain yang sangat cocok untuk arsitektur
parallel adalah memori asosiatif. Memori ini berbeda dengan sebuah RAM, dimana
memori ini isinya dapay dialamati dan seluruh memori dapat di telusuri secara
bersamaan waktunya . Jika suatu memori asosiatif digunakan dalam sebuah
prosesor array, maka dinamakan komputer asosiatif.
Kerugian utama prosesor asosiatif adalah harga unit
memori. Komputer PEPE untuk aplikasi pemrosesan sinyak radar. Komputer STARAN
untuk pemrosesan citra digital.
Sistem
Multi Prosesor
Sistem
multiprosesor merupakan sebuah system dimana sekumpulan prosesor dalam suatu
computer tunggal berhubungan dan bekerja sama satu sama lain untuk memecahkan
suatu masalah.
Sistem prosesor dengan memori pribadi merujuk pada sebuah
konfigurasi dimana prosesor itu memiliki memori lokal yang besar dan mungkin
juga I/O mereka. Saling berkomunikasi melalui suatu sistem transfer pesan.
Untuk memori terbagi semua prosesor membagi-bagi sebuah memori utama umum.
Setiap prosesor dihubungkan ke memori utama computer via sebuah jaringan
penghubung.
Keuntungan sistem multiprosesor : kehandalan yang tinggi,
meningkatnya ketersediaan unit memori dan I/O dan meningkatnya kemampuan
hitung. Organisasinya berikut :
-
Bus
umum : skema hubungan yang paling sederhana, suatu piranti pasif, dimana
operasi transfer dikendalikan oleh interface bus dalam komponen tersebut. Keuntungan nya adalah relative sederhananya
kita untuk menambahkan atau melepaskan komponen-komponennya. Dapat dengan mudah
dimodifikasi. Jika bus gagal maka seluruh sistem akan ikut gagal.
- Saklar crossbar : jalur yang terpisah menghubungkan
setiap prosesor ke setiap unit memori. Karena setiap unit memori diakses oleh
jalur-jalur yang berbeda, tidak akan terjadi bloking yang disebabkan oleh adanya transmisi-transmisi yang
bersamaan waktunya.
- Memori multiport : mengeluarkan logika kendali, logika
saklar arbitrasi prioritas dari saklar crossbar dan meletakkan mereka di dalam
interface masing-masing unit memori.
Perpautan cache adalah kehadiran cache pribadi dalam
sistem multiprosesor yang menimbulkan masalah bagi konsistensi data.
-
Pengujian
perpautan statis : memisahkan data menjadi kelas terbagi dan pribadi.
-
Pengujian
perpautan dinamis : beberapa salinan dari sembarang data diperbolehkan,
kapanpun prosesor mengubah data didalam cachenya sendiri, ia harus membuat
semua salinan data dalam cache lainnya menjadi tidak valid.
Organisasi parallel secara umum :
a.
Sistem
prosesor array.
b.
Sistem
multiprosesor : terdiri dari sejumlah prosesor lengkap yang dapat memproses
data secara independen.
c.
Arus
data : instruksi secara otomatis dimungkinkan untuk dieksekusi begitu operand
data yang mereka minta tersedia.
0 komentar:
Posting Komentar