BAB 8
PEMROGRAMAN MIKRO
8.1
UNIT KENDALI LOGIKA
Unit kendali logika (CLU atau Control
logic unit) mengatur seluruh
aktivitas perangkat keras di dalam komputer. CLU menyebabkan suatu intruksi
di-fetch dari memori, memberi kode pada instruksi tersebut untuk menentukan
operasi yang akan dilaksanakan, menentukan sumber dan tujuan data, dan
menyebabkan perpindahan data dan eksekusi operasi yang diperlukan. CLU
mengulangi seluruh proses sampai sebuah operasi HALT secara tiba-tiba masuk ke
dalam program dan di eksekusi.
Intruksi-mikro merupakan operasi primitif tingkat
rendah yang bertindak secara langsung pada sirkuit logika suatu komputer.
Merekan memerinci fungsi-fungsi (sinyal-sinyal) seperti berikut:
1.
Membuka/menutup
suatu gerbang (gate) dari sebuah register ke sebuah bus.
2.
Mentransfer data
sepanjang sebuah bus.
3.
Memberi inisial
sinyal-sinyal kendali seperti READ, WRITE, SHIFT, CLEAR, dan SET.
4.
Mengirimkan
sinyal-sinyal waktu.
5.
Menunggu sejumlah
periode waktu tertentu.
6.
Menguji bit-bit
tertentu dalam sebuah register.
8.2
KENDALI HARD-WIRED
Sewaktu
sebuah instruksi ditempatkan dalam register instruksi(IR atau instruction
register), CLU men-decode instruksi itu dan menghasilkan serangkaian instruksi
mikro. Mnemonic-nya diperlihatkan berikut ini.
LDR(Load suatu register dari memori)
LDM(Load memori dari suatu register)
ADR(Add ke register)
BRU(Branch/percabangan tidak kondisional)
BRZ(Branch/percabangan pada nol)
8.3
KENDALI MICROPROGRAMMED
Istilah
program-mikro pertama kali
diungkapkan oleh M.V Wilkes pada awal tahun 1950-an ketika dia mengajukan suatu
pendekatan baru untuk mengendalikan perancangan unit. Ide ini menarik perhatian
banyak ahli dan insinyur komputer pada saat itu, walaupun hal itu tampak tidak
realistis karena adanya persyaratan untuk memori kendali yang sangat cepat dan
relatif tidak mahal. Situasi ini berubah secara dramatis dengan adanya
pengumuman keluarga komputer IBM System/360 pada bulan April 1964. Seluruh
model terbesar menyertakan memori kontrol yang cepat dan tidak mahal dan
merupakan microprogrammed. Sejak itu, pemrograman mikro menjadi hal yang umum
sejalan dengan peningkatan kecepatan dan penurunan harga memori kontrol.
8.4 EMULASI
Salah
satu fungsi pokok dari kendali microprogrammed adalah untuk menyediakan suatu
alat untuk pengendalian komputer yang relatif sederhana, fleksibel dan tidak
mahal. Dalam EMULASI suatu komputer diprogram secara mikro untuk mempunyai
kumpulan instruksi yang benar-benar sama dengan komputer lainnya dan dapat
mempunyai tingkah laku yang sama pula.
8.5 IRISAN BIT
Sistem
yang dapat diprogram secara mikro (microprogrammable) dapat dibuat dengan
menggunakan sirkuit terpadu yang khusus (IC atau intragted circuit) yang
disebut sebagai prosesor irisan-bit (bit-sliced), untuk merancang perangkat
keras perangkai-instruksi.
8.6 PERALATAN PENDUKUNG BAGI PROGRAM-MIKRO
Peralatan-peralatan uang akan kita bahas terdiri atas
empat kategori yaitu; Assembler-mikro, formatter, sistem pengembangan dan
instrumentasi, dan simulator perangkat keras.
Assembler-mikro
Merupakan program-program perangkat lunak yang
memungkinkan para perancang untuk meng-encode suatu program-mikro dalam suatu
bahasa simbolik (menggunakan mnemonics) dan menerjemahkan representasi ini
kedalam representasi absolut untuk di-load kedalam memori kendali.
Formatter
Adalah progra,-program yang memebri fasilitas bagi
pemrograman PROM yang digunakan untuk mengimplementasikan memori kendali. Pada
dasarnya, suatu formatter mengambil program-mikro yang harus ditulis ke dalam
memori kendali dan mengirisnya sedemikian rupa agar dapat dimuat ke dalam
berbagai macam chip PROM yang menyatakan memori kendali.
Sistem
Pengembangan
Kategori umum ini terdiri atas peralatan perangkat
keras dan perangkat lunak untuk mendukung perancangan sistem microprogrammed.
Peralatan pengembangan ini memungkinkan programer untuk menyimpan program-mikro
dan menguji data pada file disk, mengeditnya dari terminal dan mensimulasikan
memori kendali. Sistem pengembangan juga menyediakan dukungan debugging dan
layanan emulasi untuk sistem yang sedang dikembangkan.
Simulator
Perangkat Keras
Merupakan program-program yang mensimulasikan rincian
arus data di dalam perangkat keras yang sedang dirancang. Simulator ini
memungkinkan perancang untuk mengembangkan, mendebug dan menguji logika
program-mikro bersamaan dengan pengembangan sistem perangkat keras.
8.7 BIAYA DAN KEUNTUNGAN PEMROGRAMAN MIKRO
Kendali
microprogrammed menawarkan suatu pendekatan yang lebih terstruktur untuk
merancang unit kendali logika (CLU) dibandingkan dengan kendali hard-wired.
Rancangan microprogrammed relatif mudah diubah-ubah dan dibetulkan, menawarkan
kemampuan diagnostik yang lebih baik dan lebih dapat diandalkan daripada
rancangan hard-wired.
BAB 9
KOMPUTER PIPELINE
9.1
KONSEP PIPELINE
Konsep
pemrosesan pipeline dalam suatu komputer mirip dengan suatu baris perakitan
dalam suatu pabrik industri. Pemrosesan pipeline dalam suatu komputer diperoleh
dengan membagi suatu fungsi yang akan dijalankan menjadi beberapa subfungsi
yang lebih kecil dan merancang perangkat keras yang terpisah, disebut sebagai
tingkatan (stage), untuk setiap subfungsi. Stage-stage itu kemudian dihubungkan
bersama-sama dan membentuk sebuah pipeline tunggal (atau pipe) untuk
menjalankan fungsi asli tersebut.
9.2 SINKRONISASI
PADA PIPELINE
Pada
semua baris perakitan industri, efisiensi suatu pipeline dapat berkurang jauh
akibat suatu bottleneck. Suatu bottleneck terjadi sewaktu pemrosesan pada suatu
stasiun, atau stage, menghabiskan waktu lebih lama daripada stage lainnya.Untuk
menyamakan waktu yang diperlukan pada setiap stage maka stage-stage tersebut
harus disinkronisasikan.
9.3 EFISIENSI PIPELINE
Dalam
teori, suatu fungsi pipeline hampir selalu lebih baik daripada fungsi
non-pipeline. Satu-satunya hal yang tidak lebih baik adalah bahwa suatu fungsi
tidak dapat dibagi-bagi menjadi beberapa sub-fungsi yang berbeda. Namun dalam
kenyataannya, harga pipeline tersebut sangat mempengaruhi kapan dan apakah
fungsi-fungsi yang di pipelinekan lebih baik atau tidak.
9.4 KLASIFIKASI PIPELINE
Klasifikasi
Berdasarkan Fungsi
Pipelining
Aritmatika. Proses segmentasi
fungsi dari ALU dari sistem yang muncul dalam kategori ini.
Pipelining
Instruksi.
Pipelining
Prosesor.
Klasifikasi
Berdasarkan Konfigurasi
Unifungsi versus
multifungsi. Kemampuan suatu pipeline
menjalankan hanya satu jenis pokok operasi disebut sebagai pipeline unifungsi. Jika pipeline dapat menjalankan fungsi-fungsi
yang berbeda maka disebut sebagai pipeline
multifungsi.
Statis versus
dinamis. Ketika
instruksi-instruksi yang berjenis sama akan dijalankan secara bersamaan
waktunya maka digunakan pipeline statis.
Dengan pipeline dinamis, beberapa
konfigurasi fungsional dapat muncul sekaligus. Hal ini berarti harus digunakan
pipeline multifungsional.
9.5 CASCADING ATAS STAGE
Meskipun
kebanyakan pipeline dirancang dengan membagi-bagi suatu fungsi menjadi beberapa
stage, nemun kita dapat membuat sebuah pipeline yang kompleks tanpa salah satu
stage yang penting. Proses ini dikenal dengan cascading atas stage.
BAB 10
PEMROSESAN PARALEL
10.1 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 rentang waktu yang saling tumpang tindih.
10.2 TEKNIK-TEKNIK PEMROSESAN PARALEL
Beberapa
cara telah dikembangkan untuk memperkenalkan paralelisme kedalam arsitektur
komputer serial. Beberapa di antaranya adalah sebagai berikut:
1.
Pipeline
2.
Unit-unit
fungsional berganda (multiple)
3.
Tumpang tindih
antara operasi-operasi CPU dan I/O
4.
Interleaving memori
5.
Multiprograming
6.
Multiprosesing
10.3 PERCEPATAN KOMPUTER PARALEL
Bayangkan
tentang sebuah komputer paralel dengan n prosesor yang bekerja secara
berdampingan pada sebuah program tunggal. Pada awalnya, sepertinya kita dapat mengerjakan
semua permasalahan dengan n kali lebih cepat dari pada menggunakan sebuah
prosesor tunggal. Sayangnya hal ini tidak 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.
10.4 KLASIFIKASI PADA ARSITEKTUR KOMPUTER PARALEL
Parelelisme
dalam suatu komputer dapat diaplikasikan pada beberapa tingkatan, seperti berikut:
1.
Tingkat pekerjaan:
antara pekerjaan-pekerjaan atau fase-fase suatu pekerjaan. Hal ini menjadi
prinsip dasar dari multiprograming.
2.
Tingkat instruksi:
antara prosedur-prosedur dan di dalam loop. Hal ini harus tercakup sebagai hal
yang penting bagi suatu bahasa.
3.
Tingkat instruksi:
antara fase-fase sebuah siklus instruksi, yaitu fetch, decode dan eksekusi
suatu instruksi.
4.
Tingkat aritmatika
dan bit: antara bit-bit dalam sirkuit aritmatika. Salah satu contohnya adalah
adder paralel.
10.5 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:
1.
Operasi yang akan
dijalankan
2.
Operand yang akan
digunakan
3.
Status yang akan
direkam
4.
Instruksi
berikutnya yang akan dijalankan
10.6 PROSESOR ARRAY
Merupakan
sebuah komputer synchronous dengan lebih dari satu buah elemen pemrosesan yang beroperasi
secara paralel. Elemen pemrosesan, masing-masing terdiri atas sebuah ALU dan
register-register, semuanya dibawah kendali sebuah unit kendali logika tunggak
(CLU). ALU di dalam PE mungkin di pipelinekan, mungkin juga tidak. Sebuah
prosesor array memiliki dua karateristik yang berbeda:
1.
PE-PE tersebut
dirancang sebagai piranti yang pasif tanpa kemampuan decoding atau kendali atas
instruksi.
2.
Semua PE tersebut
menjalankan fungsi yang sama pada waktu yang sama pula, di bawah kendali sebuah
CLU tunggal.
10.7 SISTEM MULTIPROSESOR
Merupakan
sebuah sistem dimana sekumpulan prosesor dalam suatu komputer tunggal
berhubungan dan bekerja sama satu sama lain untuk memecahkan suatu
permasalahan.
10.8 ORGANISASI PARALEL SECARA UMUM
Dalam
bab ini kita telah membahas beberapa organisasi yang digunakan untuk
menghasilkan pemrosesan paralel. Suatu jenis organisasi paralel yang
benar-benar berbeda adalah arsitektur arus data. Dalam sebuah arsitektur arus
data, instruksi secara otomatis dimungkinkan untuk dieksekusi begitu operand
data yang mereka minta tersedia, bukannya sebuah program counter menentukan
kapan instruksi akan dilaksanakan.
Tidak ada komentar:
Posting Komentar