A. Pemrograman Mikro
Unit Kendali Logika
atau Control Logic Unit adalah bagian yang mengatur seluruh aktivitas perangkat
keras di dalam komputer. CLU menyebabkan suatu instruksi dapat diambil 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 menjalankan seluruh proses
sampai sebuah operasi HALT secara tiba-tiba masuk ke dalam program dan
dieksekusi.
Kode instruksi bersama data, tersimpan di dalam memori. Sebuah instruksi
merupakan entitas kompleks yang pelaksanaannya tidak dapat diselesaikan dalam
satu waktu/putaran. Karena itu setelah menginterpretasikan kode biner suatu
instruksi, CLU menghasilkan serangkaian perintah kendali yang disebut sebagai
instruksi-mikro (microinstruction) yang menjalankan instruksi tersebut. Untuk
membedakan sebuah instruksi dan sebuah instruksi-micro, seringkali
instruksi-instruksi disebut sebagai instruksi-makro (macroinstruction).
Durasi siklus
eksekusi tergantung pada jenis operasi yang akan dikerjakan, mode pengalamatan
data yang digunakan dan jumlah operand yang diperlukan. CLU mengerjakannya
dengan membagi setiap siklus instruksi menjadi serangkaian keadaan (state),
setiap state mempunyai panjang yang sama dan durasi setiap state sama dengan
periode clock/siklus komputer.
Instruksi-mikro
merupakan operasi primitif tingkat rendah yang bertindak secara langsung pada
sirkuit logika suatu komputer. Mereka memerinci fungsi-fungsi (sinyal-sinyal)
seperti berikut:
1.
Membuka/menutup suatu gerbang (gate)
dari sebuah register ke sebuah BUS.
2.
Mengirim 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.
Ada dua pendekatan
pokok bagi perancangan sebuah CLU yaitu: rancangan hard-wire (atau
logika acak) dan rancangan microprogrammed.
Pada
pendekatan hard-wired sejumlah gerbang (gate), counter,
dan register saling dihubungkan untuk menghasilkan
sinyal-sinyal kendali, setiap rancangan memerlukan piranti logika dan hubungan
yang berbeda-beda. Pada pendekatan microprogrammed untuk
setiap instruksi-mikro disebut sebagai sebuah program-mikro, untuk setiap
instruksi-mikro dan disimpan dalam sebuah memori kendali (biasanya ROM) dalam
CLU. Kemudian waktu yang diperlukan dan kendali dihasilkan dengan menjalankan
suatu program-mikro untuk masing-masing instruksi-makro.
Instruksi-mikro merupakan operasi
primitif tingkat rendah yang bertindak secara langsung pada sirkuit logika
suatu komputer. Mereka memerinci fungsi-fungsi (sinyal-sinyal) seperti berikut:
1.
Membuka/menutup suatu gerbang (gate) dari
sebuah register ke sebuah BUS.
2.
Mengirim 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.
Ada dua pendekatan pokok bagi
perancangan sebuah CLU yaitu: rancangan hard-wire (atau logika acak) dan
rancangan microprogrammed.
Pada pendekatan hard-wired
sejumlah gerbang (gate), counter, dan register saling
dihubungkan untuk menghasilkan sinyal-sinyal kendali, setiap rancangan
memerlukan piranti logika dan hubungan yang berbeda-beda. Pada pendekatan microprogrammed
untuk setiap instruksi-mikro disebut sebagai sebuah program-mikro, untuk setiap
instruksi-mikro dan disimpan dalam sebuah memori kendali (biasanya ROM) dalam
CLU. Kemudian waktu yang diperlukan dan kendali dihasilkan dengan menjalankan
suatu program-mikro untuk masing-masing instruksi-makro.
Berikut
ini adalah beberapa jenis komputer mikro yang pernah beredar (Daftar ini tidak
lengkap):
* Altair 8800
* Tandy TRS-80
* IBM PC/kompatibel (Desktop)
* IBM PC/kompatibel (Laptop)
* Apple I
* Apple II
* Apple Lisa
* Apple Macintosh
* Apple iMac
* Apple MacMini
* Apple PowerMac
* Apple PowerBook
* Apple iBook
* Apple MacBook
* Altair 8800
* Tandy TRS-80
* IBM PC/kompatibel (Desktop)
* IBM PC/kompatibel (Laptop)
* Apple I
* Apple II
* Apple Lisa
* Apple Macintosh
* Apple iMac
* Apple MacMini
* Apple PowerMac
* Apple PowerBook
* Apple iBook
* Apple MacBook
B. Format Instruksi-mikro
Pada dasarnya ada
dua jenis format instruksi-mikro: horisontal dan vertikal. Pada format
instruksi-mikro horisontal, satu bit diberikan untuk setiap sinyal logika yang
dapat dihasilkan oleh instruksi-mikro. Dengan demikian, jika dibutuhkan
sejumlah K sinyal kendali yang berbeda maka dibutuhkan
instruksi-mikro dengan word sepanjang K bit. Untuk
menghasilkan suatu sinyal tertentu, bit yang bersesuaian dalam instruksi mikro
diatur menjadi 1, kehadiran suatu sinyal kendali diindikasikan dengan
menempatkan sebuah nol pada posisi bit yang semestinya. Pendekatan ini
mempunyai keuntungan bahwa kita dapat menghasilkan sebanyak mungkin sinyal
kendali yang diperlukan secara beruntun, yang memungkinkan operasi yang sangat
cepat.
Namun demikian
kebanyakan operasi-mikro adalah mutual ekslusif dan tidak pernah dipanggil
secara bersamaan. Karena itu, kita dapat membagi mereka ke dalam
kelompok-kelompok dan menggunakan sejumlah bit (field) untuk memberi
kode sekumpulan intruksi-mikro yang mutual ekslusif. Kemudian digunakan suatu
dekoder untuk memilih operasi mikro tertentu yang akan dipanggil. Jika terbawa
ke dalam ekstrem (hanya satu field) maka proses mengode (coding)
dan mendekode (decoding) menghasilkan suatu format instruksi-mikro
vertikal, dimana hanya ada satu operasi-mikro yang dipanggil pada suatu waktu.
Karena itu instruksi-mikro vertikal menyerupai format sebuah interuksi-makro
dan terdiri atas suatu kode operasi tunggal, disebut sebagai opecode mikro,
satu operand atau lebih, dan berberapa field lain (misalnya
untuk percabangan kondisional).
C. Keuntungan Pemrograman Mikro
Kendali microprogrammed menawarkan
suatu pendekatan yang lebih terstruktur untuk merancang unit kendali logika
(CLU) dibandingkan dengan kendali hard-wired.
1.
Rancangan microprogrammed relative
mudah diubah-ubah dan dibetulkan
2. Menyediakan kemampuan diagnostic yang
lebih baik dan lebih dapat diandalkan daripada rancangan hard-wired
3. Utilisasi memori utama dalam computer
microprogrammed biasanya lebih baik Karena perangkat lunak yang seharusnya
menggunakan ruang memori utama justru ditempatkan pada memori kendali
4. Pengembangan ROM lebih lanjut(dalam
kaitan dengan harga dan waktu akses) secara lebih jauh justru menguatkan posisi
dominant pemrograman mikro, salah satunya dengan menyertakan unit memori ketiga
disebut sebagai nano-memory (tambahan bagi memori utama dan memori kendali).
Dalam mengerjakan hal ini, mungkin terjadi pertukaran (trade-off) yang menarik
antara pemrograman mikro horisontal dan vertikal.
D. Pemrosesan
Pararel
Pemrosesan Paralel adalah komputasi dua atau lebih tugas pada waktu bersamaan dengan tujuan untuk mempersingkat waktu penyelesaian tugas-tugas tersebut dengan cara mengoptimalkan resource pada sistem komputer yang ada untuk mencapai tujuan yang sama. Pemrosesan paralel dapat mempersingkat waktu ekseskusi suatu program dengan cara membagi suatu program menjadi bagian-bagian yang lebih kecil yang dapat dikerjakan pada masing-masing prosesor secara bersamaan.
Tujuan utama dari pemrosesan paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan. Analogi yang paling gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan (serial). Atau waktu yg anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua.
Sumber :