Senin, 13 Juni 2016

Organisasi Komputer



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.